[med-svn] [rsem] 04/13: Imported Upstream version 1.2.19+dfsg
Michael Crusoe
misterc-guest at moszumanska.debian.org
Tue Feb 17 00:26:25 UTC 2015
This is an automated email from the git hooks/post-receive script.
misterc-guest pushed a commit to branch master
in repository rsem.
commit 26faaeda23d3dc303980906b6283ed3d1b399394
Author: Michael R. Crusoe <mcrusoe at msu.edu>
Date: Mon Feb 16 18:31:22 2015 -0500
Imported Upstream version 1.2.19+dfsg
---
.gitignore | 20 +
boost/aligned_storage.hpp | 181 -
boost/array.hpp | 446 ---
boost/assert.hpp | 141 -
boost/blank.hpp | 106 -
boost/blank_fwd.hpp | 22 -
boost/checked_delete.hpp | 69 -
boost/concept/assert.hpp | 46 -
boost/concept/detail/backward_compatibility.hpp | 16 -
boost/concept/detail/borland.hpp | 30 -
boost/concept/detail/concept_def.hpp | 51 -
boost/concept/detail/concept_undef.hpp | 5 -
boost/concept/detail/general.hpp | 75 -
boost/concept/detail/has_constraints.hpp | 50 -
boost/concept/detail/msvc.hpp | 114 -
boost/concept/usage.hpp | 44 -
boost/concept_check.hpp | 1083 ------
boost/config.hpp | 63 -
boost/config/abi/borland_prefix.hpp | 27 -
boost/config/abi/borland_suffix.hpp | 12 -
boost/config/abi/msvc_prefix.hpp | 22 -
boost/config/abi/msvc_suffix.hpp | 8 -
boost/config/abi_prefix.hpp | 25 -
boost/config/abi_suffix.hpp | 27 -
boost/config/auto_link.hpp | 429 ---
boost/config/compiler/borland.hpp | 287 --
boost/config/compiler/clang.hpp | 180 -
boost/config/compiler/codegear.hpp | 189 -
boost/config/compiler/comeau.hpp | 59 -
boost/config/compiler/common_edg.hpp | 112 -
boost/config/compiler/compaq_cxx.hpp | 19 -
boost/config/compiler/cray.hpp | 65 -
boost/config/compiler/digitalmars.hpp | 93 -
boost/config/compiler/gcc.hpp | 261 --
boost/config/compiler/gcc_xml.hpp | 64 -
boost/config/compiler/greenhills.hpp | 28 -
boost/config/compiler/hp_acc.hpp | 144 -
boost/config/compiler/intel.hpp | 323 --
boost/config/compiler/kai.hpp | 33 -
boost/config/compiler/metrowerks.hpp | 148 -
boost/config/compiler/mpw.hpp | 90 -
boost/config/compiler/nvcc.hpp | 16 -
boost/config/compiler/pathscale.hpp | 83 -
boost/config/compiler/pgi.hpp | 125 -
boost/config/compiler/sgi_mipspro.hpp | 29 -
boost/config/compiler/sunpro_cc.hpp | 153 -
boost/config/compiler/vacpp.hpp | 131 -
boost/config/compiler/visualc.hpp | 276 --
boost/config/no_tr1/cmath.hpp | 28 -
boost/config/no_tr1/complex.hpp | 28 -
boost/config/no_tr1/functional.hpp | 28 -
boost/config/no_tr1/memory.hpp | 28 -
boost/config/no_tr1/utility.hpp | 28 -
boost/config/platform/aix.hpp | 33 -
boost/config/platform/amigaos.hpp | 15 -
boost/config/platform/beos.hpp | 26 -
boost/config/platform/bsd.hpp | 86 -
boost/config/platform/cray.hpp | 18 -
boost/config/platform/cygwin.hpp | 58 -
boost/config/platform/hpux.hpp | 87 -
boost/config/platform/irix.hpp | 31 -
boost/config/platform/linux.hpp | 103 -
boost/config/platform/macos.hpp | 87 -
boost/config/platform/qnxnto.hpp | 31 -
boost/config/platform/solaris.hpp | 28 -
boost/config/platform/symbian.hpp | 97 -
boost/config/platform/vms.hpp | 25 -
boost/config/platform/vxworks.hpp | 369 --
boost/config/platform/win32.hpp | 73 -
boost/config/posix_features.hpp | 95 -
boost/config/requires_threads.hpp | 92 -
boost/config/select_compiler_config.hpp | 114 -
boost/config/select_platform_config.hpp | 105 -
boost/config/select_stdlib_config.hpp | 85 -
boost/config/stdlib/dinkumware.hpp | 157 -
boost/config/stdlib/libcomo.hpp | 72 -
boost/config/stdlib/libcpp.hpp | 37 -
boost/config/stdlib/libstdcpp3.hpp | 166 -
boost/config/stdlib/modena.hpp | 56 -
boost/config/stdlib/msl.hpp | 84 -
boost/config/stdlib/roguewave.hpp | 186 -
boost/config/stdlib/sgi.hpp | 148 -
boost/config/stdlib/stlport.hpp | 243 --
boost/config/stdlib/vacpp.hpp | 54 -
boost/config/suffix.hpp | 941 -----
boost/config/user.hpp | 124 -
boost/config/warning_disable.hpp | 47 -
boost/container/container_fwd.hpp | 182 -
boost/cstdint.hpp | 545 ---
boost/current_function.hpp | 68 -
boost/detail/endian.hpp | 11 -
boost/detail/fenv.hpp | 74 -
boost/detail/indirect_traits.hpp | 487 ---
boost/detail/interlocked.hpp | 210 --
boost/detail/is_function_ref_tester.hpp | 136 -
boost/detail/iterator.hpp | 494 ---
boost/detail/lcast_precision.hpp | 184 -
boost/detail/reference_content.hpp | 141 -
boost/detail/sp_typeinfo.hpp | 135 -
boost/detail/templated_streams.hpp | 74 -
boost/detail/workaround.hpp | 267 --
boost/exception/detail/attribute_noreturn.hpp | 17 -
boost/exception/exception.hpp | 483 ---
boost/format.hpp | 59 -
boost/format/alt_sstream.hpp | 176 -
boost/format/alt_sstream_impl.hpp | 313 --
boost/format/detail/compat_workarounds.hpp | 86 -
boost/format/detail/config_macros.hpp | 97 -
boost/format/detail/msvc_disambiguater.hpp | 56 -
boost/format/detail/unset_macros.hpp | 34 -
boost/format/detail/workarounds_gcc-2_95.hpp | 162 -
boost/format/detail/workarounds_stlport.hpp | 42 -
boost/format/exceptions.hpp | 103 -
boost/format/feed_args.hpp | 277 --
boost/format/format_class.hpp | 168 -
boost/format/format_fwd.hpp | 49 -
boost/format/format_implementation.hpp | 329 --
boost/format/free_funcs.hpp | 70 -
boost/format/group.hpp | 684 ----
boost/format/internals.hpp | 201 -
boost/format/internals_fwd.hpp | 60 -
boost/format/parsing.hpp | 504 ---
boost/functional/hash/hash_fwd.hpp | 40 -
boost/functional/hash_fwd.hpp | 7 -
boost/fusion/adapted/mpl/detail/begin_impl.hpp | 45 -
boost/fusion/adapted/mpl/detail/end_impl.hpp | 45 -
boost/fusion/adapted/mpl/mpl_iterator.hpp | 113 -
boost/fusion/adapted/std_pair.hpp | 19 -
boost/fusion/adapted/struct/adapt_struct.hpp | 71 -
boost/fusion/adapted/struct/detail/adapt_base.hpp | 245 --
boost/fusion/adapted/struct/detail/at_impl.hpp | 38 -
boost/fusion/adapted/struct/detail/begin_impl.hpp | 67 -
.../adapted/struct/detail/category_of_impl.hpp | 42 -
boost/fusion/adapted/struct/detail/deref_impl.hpp | 41 -
boost/fusion/adapted/struct/detail/end_impl.hpp | 67 -
boost/fusion/adapted/struct/detail/extension.hpp | 57 -
.../adapted/struct/detail/is_sequence_impl.hpp | 35 -
.../fusion/adapted/struct/detail/is_view_impl.hpp | 33 -
boost/fusion/adapted/struct/detail/size_impl.hpp | 33 -
.../fusion/adapted/struct/detail/value_at_impl.hpp | 33 -
.../fusion/adapted/struct/detail/value_of_impl.hpp | 29 -
.../fusion/algorithm/transformation/push_back.hpp | 46 -
.../fusion/algorithm/transformation/push_front.hpp | 46 -
boost/fusion/container/generation/ignore.hpp | 32 -
boost/fusion/container/list/cons.hpp | 144 -
boost/fusion/container/list/cons_fwd.hpp | 23 -
boost/fusion/container/list/cons_iterator.hpp | 89 -
boost/fusion/container/list/detail/at_impl.hpp | 132 -
boost/fusion/container/list/detail/begin_impl.hpp | 49 -
boost/fusion/container/list/detail/deref_impl.hpp | 52 -
boost/fusion/container/list/detail/empty_impl.hpp | 37 -
boost/fusion/container/list/detail/end_impl.hpp | 51 -
.../fusion/container/list/detail/equal_to_impl.hpp | 39 -
boost/fusion/container/list/detail/next_impl.hpp | 59 -
.../list/detail/preprocessed/list10_fwd.hpp | 16 -
.../list/detail/preprocessed/list20_fwd.hpp | 16 -
.../list/detail/preprocessed/list30_fwd.hpp | 16 -
.../list/detail/preprocessed/list40_fwd.hpp | 16 -
.../list/detail/preprocessed/list50_fwd.hpp | 16 -
.../list/detail/preprocessed/list_fwd.hpp | 22 -
.../fusion/container/list/detail/reverse_cons.hpp | 43 -
.../fusion/container/list/detail/value_at_impl.hpp | 42 -
.../fusion/container/list/detail/value_of_impl.hpp | 36 -
boost/fusion/container/list/limits.hpp | 21 -
boost/fusion/container/list/list_fwd.hpp | 50 -
.../container/vector/detail/advance_impl.hpp | 42 -
boost/fusion/container/vector/detail/at_impl.hpp | 56 -
.../fusion/container/vector/detail/begin_impl.hpp | 39 -
.../fusion/container/vector/detail/deref_impl.hpp | 54 -
.../container/vector/detail/distance_impl.hpp | 41 -
boost/fusion/container/vector/detail/end_impl.hpp | 40 -
.../container/vector/detail/equal_to_impl.hpp | 39 -
boost/fusion/container/vector/detail/next_impl.hpp | 43 -
.../vector/detail/preprocessed/vector.hpp | 22 -
.../vector/detail/preprocessed/vector10.hpp | 1004 -----
.../vector/detail/preprocessed/vector10_fwd.hpp | 33 -
.../vector/detail/preprocessed/vector20.hpp | 1004 -----
.../vector/detail/preprocessed/vector20_fwd.hpp | 33 -
.../vector/detail/preprocessed/vector30.hpp | 1004 -----
.../vector/detail/preprocessed/vector30_fwd.hpp | 33 -
.../vector/detail/preprocessed/vector40.hpp | 1004 -----
.../vector/detail/preprocessed/vector40_fwd.hpp | 33 -
.../vector/detail/preprocessed/vector50.hpp | 1004 -----
.../vector/detail/preprocessed/vector50_fwd.hpp | 33 -
.../vector/detail/preprocessed/vector_chooser.hpp | 21 -
.../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 | 22 -
.../vector/detail/preprocessed/vvector10.hpp | 122 -
.../vector/detail/preprocessed/vvector10_fwd.hpp | 16 -
.../vector/detail/preprocessed/vvector20.hpp | 142 -
.../vector/detail/preprocessed/vvector20_fwd.hpp | 16 -
.../vector/detail/preprocessed/vvector30.hpp | 162 -
.../vector/detail/preprocessed/vvector30_fwd.hpp | 16 -
.../vector/detail/preprocessed/vvector40.hpp | 182 -
.../vector/detail/preprocessed/vvector40_fwd.hpp | 16 -
.../vector/detail/preprocessed/vvector50.hpp | 202 -
.../vector/detail/preprocessed/vvector50_fwd.hpp | 16 -
.../fusion/container/vector/detail/prior_impl.hpp | 43 -
.../container/vector/detail/value_at_impl.hpp | 33 -
.../container/vector/detail/value_of_impl.hpp | 37 -
.../vector/detail/vector_forward_ctor.hpp | 51 -
boost/fusion/container/vector/detail/vector_n.hpp | 240 --
.../container/vector/detail/vector_n_chooser.hpp | 107 -
boost/fusion/container/vector/limits.hpp | 23 -
boost/fusion/container/vector/vector.hpp | 220 --
boost/fusion/container/vector/vector10.hpp | 97 -
boost/fusion/container/vector/vector10_fwd.hpp | 63 -
boost/fusion/container/vector/vector20.hpp | 78 -
boost/fusion/container/vector/vector20_fwd.hpp | 58 -
boost/fusion/container/vector/vector30.hpp | 77 -
boost/fusion/container/vector/vector30_fwd.hpp | 58 -
boost/fusion/container/vector/vector40.hpp | 78 -
boost/fusion/container/vector/vector40_fwd.hpp | 58 -
boost/fusion/container/vector/vector50.hpp | 77 -
boost/fusion/container/vector/vector50_fwd.hpp | 58 -
boost/fusion/container/vector/vector_fwd.hpp | 65 -
boost/fusion/container/vector/vector_iterator.hpp | 50 -
boost/fusion/include/std_pair.hpp | 12 -
boost/fusion/include/tuple.hpp | 12 -
boost/fusion/iterator/advance.hpp | 92 -
boost/fusion/iterator/basic_iterator.hpp | 141 -
boost/fusion/iterator/deref.hpp | 72 -
boost/fusion/iterator/deref_data.hpp | 49 -
.../fusion/iterator/detail/adapt_deref_traits.hpp | 34 -
.../fusion/iterator/detail/adapt_value_traits.hpp | 28 -
boost/fusion/iterator/detail/advance.hpp | 102 -
boost/fusion/iterator/detail/distance.hpp | 64 -
boost/fusion/iterator/detail/segment_sequence.hpp | 71 -
.../fusion/iterator/detail/segmented_equal_to.hpp | 41 -
.../fusion/iterator/detail/segmented_iterator.hpp | 144 -
.../fusion/iterator/detail/segmented_next_impl.hpp | 254 --
boost/fusion/iterator/distance.hpp | 78 -
boost/fusion/iterator/equal_to.hpp | 103 -
boost/fusion/iterator/iterator_facade.hpp | 57 -
boost/fusion/iterator/key_of.hpp | 42 -
boost/fusion/iterator/mpl/convert_iterator.hpp | 58 -
boost/fusion/iterator/mpl/fusion_iterator.hpp | 79 -
boost/fusion/iterator/next.hpp | 63 -
boost/fusion/iterator/prior.hpp | 63 -
boost/fusion/iterator/segmented_iterator.hpp | 15 -
boost/fusion/iterator/value_of.hpp | 57 -
boost/fusion/iterator/value_of_data.hpp | 42 -
boost/fusion/mpl/begin.hpp | 31 -
boost/fusion/mpl/end.hpp | 31 -
boost/fusion/sequence/comparison.hpp | 17 -
.../fusion/sequence/comparison/detail/equal_to.hpp | 61 -
.../fusion/sequence/comparison/detail/greater.hpp | 51 -
.../sequence/comparison/detail/greater_equal.hpp | 51 -
boost/fusion/sequence/comparison/detail/less.hpp | 51 -
.../sequence/comparison/detail/less_equal.hpp | 51 -
.../sequence/comparison/detail/not_equal_to.hpp | 61 -
.../sequence/comparison/enable_comparison.hpp | 34 -
boost/fusion/sequence/comparison/equal_to.hpp | 56 -
boost/fusion/sequence/comparison/greater.hpp | 52 -
boost/fusion/sequence/comparison/greater_equal.hpp | 52 -
boost/fusion/sequence/comparison/less.hpp | 43 -
boost/fusion/sequence/comparison/less_equal.hpp | 81 -
boost/fusion/sequence/comparison/not_equal_to.hpp | 55 -
boost/fusion/sequence/intrinsic/at.hpp | 111 -
boost/fusion/sequence/intrinsic/begin.hpp | 95 -
.../sequence/intrinsic/detail/segmented_begin.hpp | 43 -
.../intrinsic/detail/segmented_begin_impl.hpp | 92 -
.../sequence/intrinsic/detail/segmented_end.hpp | 39 -
.../intrinsic/detail/segmented_end_impl.hpp | 59 -
.../sequence/intrinsic/detail/segmented_size.hpp | 54 -
boost/fusion/sequence/intrinsic/empty.hpp | 61 -
boost/fusion/sequence/intrinsic/end.hpp | 95 -
boost/fusion/sequence/intrinsic/segments.hpp | 76 -
boost/fusion/sequence/intrinsic/size.hpp | 88 -
boost/fusion/sequence/intrinsic/value_at.hpp | 68 -
boost/fusion/sequence/intrinsic_fwd.hpp | 203 -
boost/fusion/sequence/io.hpp | 13 -
boost/fusion/sequence/io/detail/in.hpp | 85 -
boost/fusion/sequence/io/detail/manip.hpp | 320 --
boost/fusion/sequence/io/detail/out.hpp | 85 -
boost/fusion/sequence/io/in.hpp | 42 -
boost/fusion/sequence/io/out.hpp | 44 -
boost/fusion/support/as_const.hpp | 26 -
boost/fusion/support/category_of.hpp | 112 -
boost/fusion/support/detail/access.hpp | 64 -
boost/fusion/support/detail/as_fusion_element.hpp | 47 -
boost/fusion/support/detail/category_of.hpp | 19 -
boost/fusion/support/detail/is_mpl_sequence.hpp | 27 -
boost/fusion/support/detail/is_view.hpp | 19 -
.../support/detail/mpl_iterator_category.hpp | 66 -
boost/fusion/support/detail/pp_round.hpp | 71 -
.../support/detail/segmented_fold_until_impl.hpp | 389 --
boost/fusion/support/is_iterator.hpp | 20 -
boost/fusion/support/is_segmented.hpp | 54 -
boost/fusion/support/is_sequence.hpp | 76 -
boost/fusion/support/is_view.hpp | 66 -
boost/fusion/support/iterator_base.hpp | 31 -
boost/fusion/support/sequence_base.hpp | 54 -
boost/fusion/support/tag_of.hpp | 82 -
boost/fusion/support/tag_of_fwd.hpp | 20 -
boost/fusion/support/void.hpp | 15 -
boost/fusion/tuple.hpp | 15 -
.../tuple/detail/preprocessed/make_tuple.hpp | 21 -
.../tuple/detail/preprocessed/make_tuple10.hpp | 81 -
.../tuple/detail/preprocessed/make_tuple20.hpp | 151 -
.../tuple/detail/preprocessed/make_tuple30.hpp | 221 --
.../tuple/detail/preprocessed/make_tuple40.hpp | 291 --
.../tuple/detail/preprocessed/make_tuple50.hpp | 361 --
boost/fusion/tuple/detail/preprocessed/tuple.hpp | 21 -
boost/fusion/tuple/detail/preprocessed/tuple10.hpp | 173 -
.../tuple/detail/preprocessed/tuple10_fwd.hpp | 16 -
boost/fusion/tuple/detail/preprocessed/tuple20.hpp | 283 --
.../tuple/detail/preprocessed/tuple20_fwd.hpp | 16 -
boost/fusion/tuple/detail/preprocessed/tuple30.hpp | 393 --
.../tuple/detail/preprocessed/tuple30_fwd.hpp | 16 -
boost/fusion/tuple/detail/preprocessed/tuple40.hpp | 503 ---
.../tuple/detail/preprocessed/tuple40_fwd.hpp | 16 -
boost/fusion/tuple/detail/preprocessed/tuple50.hpp | 613 ----
.../tuple/detail/preprocessed/tuple50_fwd.hpp | 16 -
.../fusion/tuple/detail/preprocessed/tuple_fwd.hpp | 21 -
.../fusion/tuple/detail/preprocessed/tuple_tie.hpp | 21 -
.../tuple/detail/preprocessed/tuple_tie10.hpp | 81 -
.../tuple/detail/preprocessed/tuple_tie20.hpp | 151 -
.../tuple/detail/preprocessed/tuple_tie30.hpp | 221 --
.../tuple/detail/preprocessed/tuple_tie40.hpp | 291 --
.../tuple/detail/preprocessed/tuple_tie50.hpp | 361 --
boost/fusion/tuple/detail/tuple_expand.hpp | 50 -
boost/fusion/tuple/make_tuple.hpp | 85 -
boost/fusion/tuple/tuple.hpp | 114 -
boost/fusion/tuple/tuple_fwd.hpp | 50 -
boost/fusion/tuple/tuple_tie.hpp | 75 -
boost/fusion/view/iterator_range.hpp | 12 -
.../fusion/view/iterator_range/detail/at_impl.hpp | 44 -
.../view/iterator_range/detail/begin_impl.hpp | 39 -
.../fusion/view/iterator_range/detail/end_impl.hpp | 39 -
.../iterator_range/detail/is_segmented_impl.hpp | 66 -
.../detail/segmented_iterator_range.hpp | 532 ---
.../view/iterator_range/detail/segments_impl.hpp | 52 -
.../view/iterator_range/detail/size_impl.hpp | 37 -
.../view/iterator_range/detail/value_at_impl.hpp | 38 -
.../fusion/view/iterator_range/iterator_range.hpp | 61 -
boost/fusion/view/joint_view/detail/begin_impl.hpp | 67 -
.../view/joint_view/detail/deref_data_impl.hpp | 37 -
boost/fusion/view/joint_view/detail/deref_impl.hpp | 29 -
boost/fusion/view/joint_view/detail/end_impl.hpp | 40 -
.../fusion/view/joint_view/detail/key_of_impl.hpp | 28 -
boost/fusion/view/joint_view/detail/next_impl.hpp | 71 -
.../view/joint_view/detail/value_of_data_impl.hpp | 28 -
.../view/joint_view/detail/value_of_impl.hpp | 29 -
boost/fusion/view/joint_view/joint_view.hpp | 78 -
boost/fusion/view/joint_view/joint_view_fwd.hpp | 18 -
.../fusion/view/joint_view/joint_view_iterator.hpp | 59 -
.../view/single_view/detail/advance_impl.hpp | 47 -
boost/fusion/view/single_view/detail/at_impl.hpp | 44 -
.../fusion/view/single_view/detail/begin_impl.hpp | 45 -
.../fusion/view/single_view/detail/deref_impl.hpp | 45 -
.../view/single_view/detail/distance_impl.hpp | 43 -
boost/fusion/view/single_view/detail/end_impl.hpp | 45 -
.../view/single_view/detail/equal_to_impl.hpp | 39 -
boost/fusion/view/single_view/detail/next_impl.hpp | 50 -
.../fusion/view/single_view/detail/prior_impl.hpp | 46 -
boost/fusion/view/single_view/detail/size_impl.hpp | 33 -
.../view/single_view/detail/value_at_impl.hpp | 39 -
.../view/single_view/detail/value_of_impl.hpp | 39 -
boost/fusion/view/single_view/single_view.hpp | 68 -
.../view/single_view/single_view_iterator.hpp | 58 -
boost/integer.hpp | 261 --
boost/integer/integer_mask.hpp | 126 -
boost/integer/static_log2.hpp | 127 -
boost/integer_fwd.hpp | 164 -
boost/integer_traits.hpp | 261 --
boost/iterator.hpp | 59 -
boost/iterator/detail/config_def.hpp | 137 -
boost/iterator/detail/config_undef.hpp | 25 -
boost/iterator/detail/enable_if.hpp | 86 -
boost/iterator/detail/facade_iterator_category.hpp | 200 -
boost/iterator/interoperable.hpp | 50 -
boost/iterator/iterator_adaptor.hpp | 365 --
boost/iterator/iterator_categories.hpp | 188 -
boost/iterator/iterator_concepts.hpp | 284 --
boost/iterator/iterator_facade.hpp | 874 -----
boost/iterator/iterator_traits.hpp | 92 -
boost/iterator/reverse_iterator.hpp | 69 -
boost/lexical_cast.hpp | 2748 --------------
boost/limits.hpp | 146 -
boost/math/constants/calculate_constants.hpp | 968 -----
boost/math/constants/constants.hpp | 334 --
boost/math/distributions/complement.hpp | 195 -
.../distributions/detail/common_error_handling.hpp | 194 -
.../distributions/detail/derived_accessors.hpp | 163 -
boost/math/distributions/fwd.hpp | 146 -
boost/math/distributions/normal.hpp | 321 --
boost/math/policies/error_handling.hpp | 719 ----
boost/math/policies/policy.hpp | 992 -----
boost/math/special_functions.hpp | 64 -
boost/math/special_functions/acosh.hpp | 115 -
boost/math/special_functions/airy.hpp | 437 ---
boost/math/special_functions/asinh.hpp | 117 -
boost/math/special_functions/atanh.hpp | 128 -
boost/math/special_functions/bessel.hpp | 766 ----
boost/math/special_functions/beta.hpp | 1490 --------
boost/math/special_functions/binomial.hpp | 81 -
boost/math/special_functions/cbrt.hpp | 180 -
boost/math/special_functions/cos_pi.hpp | 68 -
.../special_functions/detail/airy_ai_bi_zero.hpp | 160 -
boost/math/special_functions/detail/bessel_i0.hpp | 132 -
boost/math/special_functions/detail/bessel_i1.hpp | 136 -
boost/math/special_functions/detail/bessel_ik.hpp | 445 ---
boost/math/special_functions/detail/bessel_j0.hpp | 193 -
boost/math/special_functions/detail/bessel_j1.hpp | 199 -
boost/math/special_functions/detail/bessel_jn.hpp | 134 -
boost/math/special_functions/detail/bessel_jy.hpp | 578 ---
.../special_functions/detail/bessel_jy_asym.hpp | 205 --
.../special_functions/detail/bessel_jy_series.hpp | 261 --
.../special_functions/detail/bessel_jy_zero.hpp | 617 ----
boost/math/special_functions/detail/bessel_k0.hpp | 152 -
boost/math/special_functions/detail/bessel_k1.hpp | 148 -
boost/math/special_functions/detail/bessel_kn.hpp | 85 -
boost/math/special_functions/detail/bessel_y0.hpp | 224 --
boost/math/special_functions/detail/bessel_y1.hpp | 196 -
boost/math/special_functions/detail/bessel_yn.hpp | 104 -
boost/math/special_functions/detail/erf_inv.hpp | 521 ---
boost/math/special_functions/detail/fp_traits.hpp | 570 ---
boost/math/special_functions/detail/gamma_inva.hpp | 233 --
.../math/special_functions/detail/ibeta_inv_ab.hpp | 324 --
.../special_functions/detail/ibeta_inverse.hpp | 993 -----
boost/math/special_functions/detail/iconv.hpp | 42 -
.../special_functions/detail/igamma_inverse.hpp | 551 ---
.../math/special_functions/detail/igamma_large.hpp | 768 ----
.../math/special_functions/detail/lanczos_sse2.hpp | 204 --
.../math/special_functions/detail/lgamma_small.hpp | 522 ---
boost/math/special_functions/detail/round_fwd.hpp | 93 -
.../detail/t_distribution_inv.hpp | 549 ---
.../detail/unchecked_factorial.hpp | 435 ---
boost/math/special_functions/digamma.hpp | 479 ---
boost/math/special_functions/ellint_1.hpp | 188 -
boost/math/special_functions/ellint_2.hpp | 169 -
boost/math/special_functions/ellint_3.hpp | 319 --
boost/math/special_functions/ellint_rc.hpp | 115 -
boost/math/special_functions/ellint_rd.hpp | 130 -
boost/math/special_functions/ellint_rf.hpp | 132 -
boost/math/special_functions/ellint_rj.hpp | 180 -
boost/math/special_functions/erf.hpp | 1155 ------
boost/math/special_functions/expint.hpp | 1671 ---------
boost/math/special_functions/expm1.hpp | 343 --
boost/math/special_functions/factorials.hpp | 239 --
boost/math/special_functions/fpclassify.hpp | 606 ---
boost/math/special_functions/gamma.hpp | 1704 ---------
boost/math/special_functions/hankel.hpp | 179 -
boost/math/special_functions/hermite.hpp | 76 -
boost/math/special_functions/hypot.hpp | 86 -
boost/math/special_functions/jacobi_elliptic.hpp | 320 --
boost/math/special_functions/laguerre.hpp | 139 -
boost/math/special_functions/lanczos.hpp | 1296 -------
boost/math/special_functions/legendre.hpp | 194 -
boost/math/special_functions/log1p.hpp | 503 ---
boost/math/special_functions/math_fwd.hpp | 1408 -------
boost/math/special_functions/modf.hpp | 70 -
boost/math/special_functions/next.hpp | 490 ---
boost/math/special_functions/owens_t.hpp | 1061 ------
boost/math/special_functions/pow.hpp | 140 -
boost/math/special_functions/powm1.hpp | 61 -
boost/math/special_functions/round.hpp | 93 -
boost/math/special_functions/sign.hpp | 150 -
boost/math/special_functions/sin_pi.hpp | 70 -
boost/math/special_functions/sinc.hpp | 145 -
boost/math/special_functions/sinhc.hpp | 167 -
.../math/special_functions/spherical_harmonic.hpp | 204 --
boost/math/special_functions/sqrt1pm1.hpp | 48 -
boost/math/special_functions/trunc.hpp | 96 -
boost/math/special_functions/zeta.hpp | 995 -----
boost/math/tools/big_constant.hpp | 67 -
boost/math/tools/config.hpp | 352 --
boost/math/tools/detail/polynomial_horner1_10.hpp | 84 -
boost/math/tools/detail/polynomial_horner1_11.hpp | 90 -
boost/math/tools/detail/polynomial_horner1_12.hpp | 96 -
boost/math/tools/detail/polynomial_horner1_13.hpp | 102 -
boost/math/tools/detail/polynomial_horner1_14.hpp | 108 -
boost/math/tools/detail/polynomial_horner1_15.hpp | 114 -
boost/math/tools/detail/polynomial_horner1_16.hpp | 120 -
boost/math/tools/detail/polynomial_horner1_17.hpp | 126 -
boost/math/tools/detail/polynomial_horner1_18.hpp | 132 -
boost/math/tools/detail/polynomial_horner1_19.hpp | 138 -
boost/math/tools/detail/polynomial_horner1_2.hpp | 36 -
boost/math/tools/detail/polynomial_horner1_20.hpp | 144 -
boost/math/tools/detail/polynomial_horner1_3.hpp | 42 -
boost/math/tools/detail/polynomial_horner1_4.hpp | 48 -
boost/math/tools/detail/polynomial_horner1_5.hpp | 54 -
boost/math/tools/detail/polynomial_horner1_6.hpp | 60 -
boost/math/tools/detail/polynomial_horner1_7.hpp | 66 -
boost/math/tools/detail/polynomial_horner1_8.hpp | 72 -
boost/math/tools/detail/polynomial_horner1_9.hpp | 78 -
boost/math/tools/detail/polynomial_horner2_10.hpp | 90 -
boost/math/tools/detail/polynomial_horner2_11.hpp | 97 -
boost/math/tools/detail/polynomial_horner2_12.hpp | 104 -
boost/math/tools/detail/polynomial_horner2_13.hpp | 111 -
boost/math/tools/detail/polynomial_horner2_14.hpp | 118 -
boost/math/tools/detail/polynomial_horner2_15.hpp | 125 -
boost/math/tools/detail/polynomial_horner2_16.hpp | 132 -
boost/math/tools/detail/polynomial_horner2_17.hpp | 139 -
boost/math/tools/detail/polynomial_horner2_18.hpp | 146 -
boost/math/tools/detail/polynomial_horner2_19.hpp | 153 -
boost/math/tools/detail/polynomial_horner2_2.hpp | 48 -
boost/math/tools/detail/polynomial_horner2_20.hpp | 160 -
boost/math/tools/detail/polynomial_horner2_3.hpp | 48 -
boost/math/tools/detail/polynomial_horner2_4.hpp | 48 -
boost/math/tools/detail/polynomial_horner2_5.hpp | 55 -
boost/math/tools/detail/polynomial_horner2_6.hpp | 62 -
boost/math/tools/detail/polynomial_horner2_7.hpp | 69 -
boost/math/tools/detail/polynomial_horner2_8.hpp | 76 -
boost/math/tools/detail/polynomial_horner2_9.hpp | 83 -
boost/math/tools/detail/polynomial_horner3_10.hpp | 156 -
boost/math/tools/detail/polynomial_horner3_11.hpp | 181 -
boost/math/tools/detail/polynomial_horner3_12.hpp | 208 --
boost/math/tools/detail/polynomial_horner3_13.hpp | 237 --
boost/math/tools/detail/polynomial_horner3_14.hpp | 268 --
boost/math/tools/detail/polynomial_horner3_15.hpp | 301 --
boost/math/tools/detail/polynomial_horner3_16.hpp | 336 --
boost/math/tools/detail/polynomial_horner3_17.hpp | 373 --
boost/math/tools/detail/polynomial_horner3_18.hpp | 412 ---
boost/math/tools/detail/polynomial_horner3_19.hpp | 453 ---
boost/math/tools/detail/polynomial_horner3_2.hpp | 48 -
boost/math/tools/detail/polynomial_horner3_20.hpp | 496 ---
boost/math/tools/detail/polynomial_horner3_3.hpp | 48 -
boost/math/tools/detail/polynomial_horner3_4.hpp | 48 -
boost/math/tools/detail/polynomial_horner3_5.hpp | 61 -
boost/math/tools/detail/polynomial_horner3_6.hpp | 76 -
boost/math/tools/detail/polynomial_horner3_7.hpp | 93 -
boost/math/tools/detail/polynomial_horner3_8.hpp | 112 -
boost/math/tools/detail/polynomial_horner3_9.hpp | 133 -
boost/math/tools/detail/rational_horner1_10.hpp | 138 -
boost/math/tools/detail/rational_horner1_11.hpp | 150 -
boost/math/tools/detail/rational_horner1_12.hpp | 162 -
boost/math/tools/detail/rational_horner1_13.hpp | 174 -
boost/math/tools/detail/rational_horner1_14.hpp | 186 -
boost/math/tools/detail/rational_horner1_15.hpp | 198 -
boost/math/tools/detail/rational_horner1_16.hpp | 210 --
boost/math/tools/detail/rational_horner1_17.hpp | 222 --
boost/math/tools/detail/rational_horner1_18.hpp | 234 --
boost/math/tools/detail/rational_horner1_19.hpp | 246 --
boost/math/tools/detail/rational_horner1_2.hpp | 42 -
boost/math/tools/detail/rational_horner1_20.hpp | 258 --
boost/math/tools/detail/rational_horner1_3.hpp | 54 -
boost/math/tools/detail/rational_horner1_4.hpp | 66 -
boost/math/tools/detail/rational_horner1_5.hpp | 78 -
boost/math/tools/detail/rational_horner1_6.hpp | 90 -
boost/math/tools/detail/rational_horner1_7.hpp | 102 -
boost/math/tools/detail/rational_horner1_8.hpp | 114 -
boost/math/tools/detail/rational_horner1_9.hpp | 126 -
boost/math/tools/detail/rational_horner2_10.hpp | 144 -
boost/math/tools/detail/rational_horner2_11.hpp | 160 -
boost/math/tools/detail/rational_horner2_12.hpp | 176 -
boost/math/tools/detail/rational_horner2_13.hpp | 192 -
boost/math/tools/detail/rational_horner2_14.hpp | 208 --
boost/math/tools/detail/rational_horner2_15.hpp | 224 --
boost/math/tools/detail/rational_horner2_16.hpp | 240 --
boost/math/tools/detail/rational_horner2_17.hpp | 256 --
boost/math/tools/detail/rational_horner2_18.hpp | 272 --
boost/math/tools/detail/rational_horner2_19.hpp | 288 --
boost/math/tools/detail/rational_horner2_2.hpp | 48 -
boost/math/tools/detail/rational_horner2_20.hpp | 304 --
boost/math/tools/detail/rational_horner2_3.hpp | 48 -
boost/math/tools/detail/rational_horner2_4.hpp | 48 -
boost/math/tools/detail/rational_horner2_5.hpp | 64 -
boost/math/tools/detail/rational_horner2_6.hpp | 80 -
boost/math/tools/detail/rational_horner2_7.hpp | 96 -
boost/math/tools/detail/rational_horner2_8.hpp | 112 -
boost/math/tools/detail/rational_horner2_9.hpp | 128 -
boost/math/tools/detail/rational_horner3_10.hpp | 396 --
boost/math/tools/detail/rational_horner3_11.hpp | 482 ---
boost/math/tools/detail/rational_horner3_12.hpp | 576 ---
boost/math/tools/detail/rational_horner3_13.hpp | 678 ----
boost/math/tools/detail/rational_horner3_14.hpp | 788 ----
boost/math/tools/detail/rational_horner3_15.hpp | 906 -----
boost/math/tools/detail/rational_horner3_16.hpp | 1032 ------
boost/math/tools/detail/rational_horner3_17.hpp | 1166 ------
boost/math/tools/detail/rational_horner3_18.hpp | 1308 -------
boost/math/tools/detail/rational_horner3_19.hpp | 1458 --------
boost/math/tools/detail/rational_horner3_2.hpp | 48 -
boost/math/tools/detail/rational_horner3_20.hpp | 1616 --------
boost/math/tools/detail/rational_horner3_3.hpp | 48 -
boost/math/tools/detail/rational_horner3_4.hpp | 48 -
boost/math/tools/detail/rational_horner3_5.hpp | 86 -
boost/math/tools/detail/rational_horner3_6.hpp | 132 -
boost/math/tools/detail/rational_horner3_7.hpp | 186 -
boost/math/tools/detail/rational_horner3_8.hpp | 248 --
boost/math/tools/detail/rational_horner3_9.hpp | 318 --
boost/math/tools/fraction.hpp | 252 --
boost/math/tools/precision.hpp | 335 --
boost/math/tools/promotion.hpp | 175 -
boost/math/tools/rational.hpp | 333 --
boost/math/tools/real_cast.hpp | 29 -
boost/math/tools/roots.hpp | 542 ---
boost/math/tools/series.hpp | 158 -
boost/math/tools/toms748_solve.hpp | 585 ---
boost/math/tools/tuple.hpp | 112 -
boost/math/tools/user.hpp | 97 -
boost/math/tools/workaround.hpp | 38 -
boost/memory_order.hpp | 53 -
boost/mpl/O1_size.hpp | 40 -
boost/mpl/O1_size_fwd.hpp | 24 -
boost/mpl/advance.hpp | 76 -
boost/mpl/advance_fwd.hpp | 28 -
boost/mpl/always.hpp | 39 -
boost/mpl/and.hpp | 60 -
boost/mpl/apply.hpp | 229 --
boost/mpl/apply_fwd.hpp | 107 -
boost/mpl/apply_wrap.hpp | 234 --
boost/mpl/arg.hpp | 131 -
boost/mpl/arg_fwd.hpp | 28 -
boost/mpl/assert.hpp | 438 ---
boost/mpl/at.hpp | 52 -
boost/mpl/at_fwd.hpp | 24 -
boost/mpl/aux_/O1_size_impl.hpp | 87 -
boost/mpl/aux_/adl_barrier.hpp | 48 -
boost/mpl/aux_/advance_backward.hpp | 128 -
boost/mpl/aux_/advance_forward.hpp | 127 -
boost/mpl/aux_/arg_typedef.hpp | 31 -
boost/mpl/aux_/arithmetic_op.hpp | 92 -
boost/mpl/aux_/arity.hpp | 39 -
boost/mpl/aux_/arity_spec.hpp | 67 -
boost/mpl/aux_/at_impl.hpp | 45 -
boost/mpl/aux_/begin_end_impl.hpp | 101 -
boost/mpl/aux_/clear_impl.hpp | 35 -
boost/mpl/aux_/common_name_wknd.hpp | 34 -
boost/mpl/aux_/comparison_op.hpp | 83 -
boost/mpl/aux_/config/adl.hpp | 40 -
boost/mpl/aux_/config/arrays.hpp | 30 -
boost/mpl/aux_/config/bcc.hpp | 28 -
boost/mpl/aux_/config/bind.hpp | 33 -
boost/mpl/aux_/config/compiler.hpp | 66 -
boost/mpl/aux_/config/ctps.hpp | 30 -
boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp | 27 -
boost/mpl/aux_/config/dtp.hpp | 46 -
boost/mpl/aux_/config/eti.hpp | 47 -
boost/mpl/aux_/config/forwarding.hpp | 27 -
boost/mpl/aux_/config/gcc.hpp | 23 -
boost/mpl/aux_/config/has_apply.hpp | 32 -
boost/mpl/aux_/config/has_xxx.hpp | 34 -
boost/mpl/aux_/config/integral.hpp | 38 -
boost/mpl/aux_/config/intel.hpp | 21 -
boost/mpl/aux_/config/lambda.hpp | 32 -
boost/mpl/aux_/config/msvc.hpp | 21 -
boost/mpl/aux_/config/msvc_typename.hpp | 26 -
boost/mpl/aux_/config/nttp.hpp | 41 -
boost/mpl/aux_/config/overload_resolution.hpp | 29 -
boost/mpl/aux_/config/pp_counter.hpp | 26 -
boost/mpl/aux_/config/preprocessor.hpp | 39 -
boost/mpl/aux_/config/static_constant.hpp | 25 -
boost/mpl/aux_/config/ttp.hpp | 41 -
boost/mpl/aux_/config/typeof.hpp | 38 -
boost/mpl/aux_/config/use_preprocessed.hpp | 19 -
boost/mpl/aux_/config/workaround.hpp | 19 -
boost/mpl/aux_/contains_impl.hpp | 61 -
boost/mpl/aux_/count_args.hpp | 105 -
boost/mpl/aux_/find_if_pred.hpp | 31 -
boost/mpl/aux_/fold_impl.hpp | 43 -
boost/mpl/aux_/fold_impl_body.hpp | 365 --
boost/mpl/aux_/full_lambda.hpp | 354 --
boost/mpl/aux_/has_apply.hpp | 32 -
boost/mpl/aux_/has_begin.hpp | 23 -
boost/mpl/aux_/has_rebind.hpp | 99 -
boost/mpl/aux_/has_size.hpp | 23 -
boost/mpl/aux_/has_tag.hpp | 23 -
boost/mpl/aux_/has_type.hpp | 23 -
boost/mpl/aux_/include_preprocessed.hpp | 42 -
boost/mpl/aux_/inserter_algorithm.hpp | 159 -
boost/mpl/aux_/integral_wrapper.hpp | 93 -
boost/mpl/aux_/is_msvc_eti_arg.hpp | 64 -
boost/mpl/aux_/iter_apply.hpp | 47 -
boost/mpl/aux_/iter_fold_if_impl.hpp | 210 --
boost/mpl/aux_/iter_fold_impl.hpp | 42 -
boost/mpl/aux_/lambda_arity_param.hpp | 25 -
boost/mpl/aux_/lambda_no_ctps.hpp | 193 -
boost/mpl/aux_/lambda_spec.hpp | 49 -
boost/mpl/aux_/lambda_support.hpp | 169 -
boost/mpl/aux_/largest_int.hpp | 63 -
boost/mpl/aux_/logical_op.hpp | 165 -
boost/mpl/aux_/msvc_dtw.hpp | 68 -
boost/mpl/aux_/msvc_eti_base.hpp | 77 -
boost/mpl/aux_/msvc_is_class.hpp | 58 -
boost/mpl/aux_/msvc_never_true.hpp | 34 -
boost/mpl/aux_/msvc_type.hpp | 62 -
boost/mpl/aux_/na.hpp | 95 -
boost/mpl/aux_/na_assert.hpp | 34 -
boost/mpl/aux_/na_fwd.hpp | 31 -
boost/mpl/aux_/na_spec.hpp | 175 -
boost/mpl/aux_/nested_type_wknd.hpp | 48 -
boost/mpl/aux_/nttp_decl.hpp | 35 -
boost/mpl/aux_/numeric_cast_utils.hpp | 77 -
boost/mpl/aux_/numeric_op.hpp | 315 --
.../mpl/aux_/preprocessed/bcc/advance_backward.hpp | 97 -
.../mpl/aux_/preprocessed/bcc/advance_forward.hpp | 97 -
boost/mpl/aux_/preprocessed/bcc/and.hpp | 69 -
boost/mpl/aux_/preprocessed/bcc/apply.hpp | 169 -
boost/mpl/aux_/preprocessed/bcc/apply_fwd.hpp | 52 -
boost/mpl/aux_/preprocessed/bcc/apply_wrap.hpp | 461 ---
boost/mpl/aux_/preprocessed/bcc/arg.hpp | 117 -
boost/mpl/aux_/preprocessed/bcc/basic_bind.hpp | 300 --
boost/mpl/aux_/preprocessed/bcc/bind.hpp | 397 --
boost/mpl/aux_/preprocessed/bcc/bind_fwd.hpp | 46 -
boost/mpl/aux_/preprocessed/bcc/bitand.hpp | 147 -
boost/mpl/aux_/preprocessed/bcc/bitor.hpp | 147 -
boost/mpl/aux_/preprocessed/bcc/bitxor.hpp | 147 -
boost/mpl/aux_/preprocessed/bcc/deque.hpp | 323 --
boost/mpl/aux_/preprocessed/bcc/divides.hpp | 146 -
boost/mpl/aux_/preprocessed/bcc/equal_to.hpp | 94 -
boost/mpl/aux_/preprocessed/bcc/fold_impl.hpp | 180 -
boost/mpl/aux_/preprocessed/bcc/full_lambda.hpp | 558 ---
boost/mpl/aux_/preprocessed/bcc/greater.hpp | 94 -
boost/mpl/aux_/preprocessed/bcc/greater_equal.hpp | 94 -
boost/mpl/aux_/preprocessed/bcc/inherit.hpp | 139 -
.../aux_/preprocessed/bcc/iter_fold_if_impl.hpp | 133 -
boost/mpl/aux_/preprocessed/bcc/iter_fold_impl.hpp | 180 -
boost/mpl/aux_/preprocessed/bcc/lambda_no_ctps.hpp | 229 --
boost/mpl/aux_/preprocessed/bcc/less.hpp | 94 -
boost/mpl/aux_/preprocessed/bcc/less_equal.hpp | 94 -
boost/mpl/aux_/preprocessed/bcc/list.hpp | 323 --
boost/mpl/aux_/preprocessed/bcc/list_c.hpp | 328 --
boost/mpl/aux_/preprocessed/bcc/map.hpp | 323 --
boost/mpl/aux_/preprocessed/bcc/minus.hpp | 146 -
boost/mpl/aux_/preprocessed/bcc/modulus.hpp | 101 -
boost/mpl/aux_/preprocessed/bcc/not_equal_to.hpp | 94 -
boost/mpl/aux_/preprocessed/bcc/or.hpp | 69 -
boost/mpl/aux_/preprocessed/bcc/placeholders.hpp | 105 -
boost/mpl/aux_/preprocessed/bcc/plus.hpp | 146 -
boost/mpl/aux_/preprocessed/bcc/quote.hpp | 119 -
.../aux_/preprocessed/bcc/reverse_fold_impl.hpp | 295 --
.../preprocessed/bcc/reverse_iter_fold_impl.hpp | 295 --
boost/mpl/aux_/preprocessed/bcc/set.hpp | 323 --
boost/mpl/aux_/preprocessed/bcc/set_c.hpp | 328 --
boost/mpl/aux_/preprocessed/bcc/shift_left.hpp | 99 -
boost/mpl/aux_/preprocessed/bcc/shift_right.hpp | 99 -
boost/mpl/aux_/preprocessed/bcc/template_arity.hpp | 40 -
boost/mpl/aux_/preprocessed/bcc/times.hpp | 146 -
boost/mpl/aux_/preprocessed/bcc/unpack_args.hpp | 97 -
boost/mpl/aux_/preprocessed/bcc/vector.hpp | 323 --
boost/mpl/aux_/preprocessed/bcc/vector_c.hpp | 309 --
.../aux_/preprocessed/bcc551/advance_backward.hpp | 97 -
.../aux_/preprocessed/bcc551/advance_forward.hpp | 97 -
boost/mpl/aux_/preprocessed/bcc551/and.hpp | 69 -
boost/mpl/aux_/preprocessed/bcc551/apply.hpp | 169 -
boost/mpl/aux_/preprocessed/bcc551/apply_fwd.hpp | 52 -
boost/mpl/aux_/preprocessed/bcc551/apply_wrap.hpp | 456 ---
boost/mpl/aux_/preprocessed/bcc551/arg.hpp | 123 -
boost/mpl/aux_/preprocessed/bcc551/basic_bind.hpp | 306 --
boost/mpl/aux_/preprocessed/bcc551/bind.hpp | 403 --
boost/mpl/aux_/preprocessed/bcc551/bind_fwd.hpp | 46 -
boost/mpl/aux_/preprocessed/bcc551/bitand.hpp | 147 -
boost/mpl/aux_/preprocessed/bcc551/bitor.hpp | 147 -
boost/mpl/aux_/preprocessed/bcc551/bitxor.hpp | 147 -
boost/mpl/aux_/preprocessed/bcc551/deque.hpp | 323 --
boost/mpl/aux_/preprocessed/bcc551/divides.hpp | 146 -
boost/mpl/aux_/preprocessed/bcc551/equal_to.hpp | 94 -
boost/mpl/aux_/preprocessed/bcc551/fold_impl.hpp | 180 -
boost/mpl/aux_/preprocessed/bcc551/full_lambda.hpp | 558 ---
boost/mpl/aux_/preprocessed/bcc551/greater.hpp | 94 -
.../mpl/aux_/preprocessed/bcc551/greater_equal.hpp | 94 -
boost/mpl/aux_/preprocessed/bcc551/inherit.hpp | 141 -
.../aux_/preprocessed/bcc551/iter_fold_if_impl.hpp | 133 -
.../aux_/preprocessed/bcc551/iter_fold_impl.hpp | 180 -
.../aux_/preprocessed/bcc551/lambda_no_ctps.hpp | 229 --
boost/mpl/aux_/preprocessed/bcc551/less.hpp | 94 -
boost/mpl/aux_/preprocessed/bcc551/less_equal.hpp | 94 -
boost/mpl/aux_/preprocessed/bcc551/list.hpp | 323 --
boost/mpl/aux_/preprocessed/bcc551/list_c.hpp | 328 --
boost/mpl/aux_/preprocessed/bcc551/map.hpp | 323 --
boost/mpl/aux_/preprocessed/bcc551/minus.hpp | 146 -
boost/mpl/aux_/preprocessed/bcc551/modulus.hpp | 101 -
.../mpl/aux_/preprocessed/bcc551/not_equal_to.hpp | 94 -
boost/mpl/aux_/preprocessed/bcc551/or.hpp | 69 -
.../mpl/aux_/preprocessed/bcc551/placeholders.hpp | 105 -
boost/mpl/aux_/preprocessed/bcc551/plus.hpp | 146 -
boost/mpl/aux_/preprocessed/bcc551/quote.hpp | 11 -
.../aux_/preprocessed/bcc551/reverse_fold_impl.hpp | 295 --
.../preprocessed/bcc551/reverse_iter_fold_impl.hpp | 295 --
boost/mpl/aux_/preprocessed/bcc551/set.hpp | 323 --
boost/mpl/aux_/preprocessed/bcc551/set_c.hpp | 328 --
boost/mpl/aux_/preprocessed/bcc551/shift_left.hpp | 99 -
boost/mpl/aux_/preprocessed/bcc551/shift_right.hpp | 99 -
.../aux_/preprocessed/bcc551/template_arity.hpp | 40 -
boost/mpl/aux_/preprocessed/bcc551/times.hpp | 146 -
boost/mpl/aux_/preprocessed/bcc551/unpack_args.hpp | 97 -
boost/mpl/aux_/preprocessed/bcc551/vector.hpp | 323 --
boost/mpl/aux_/preprocessed/bcc551/vector_c.hpp | 309 --
.../preprocessed/bcc_pre590/advance_backward.hpp | 97 -
.../preprocessed/bcc_pre590/advance_forward.hpp | 97 -
boost/mpl/aux_/preprocessed/bcc_pre590/and.hpp | 69 -
boost/mpl/aux_/preprocessed/bcc_pre590/apply.hpp | 169 -
.../mpl/aux_/preprocessed/bcc_pre590/apply_fwd.hpp | 52 -
.../aux_/preprocessed/bcc_pre590/apply_wrap.hpp | 456 ---
boost/mpl/aux_/preprocessed/bcc_pre590/arg.hpp | 117 -
.../aux_/preprocessed/bcc_pre590/basic_bind.hpp | 300 --
boost/mpl/aux_/preprocessed/bcc_pre590/bind.hpp | 397 --
.../mpl/aux_/preprocessed/bcc_pre590/bind_fwd.hpp | 46 -
boost/mpl/aux_/preprocessed/bcc_pre590/bitand.hpp | 147 -
boost/mpl/aux_/preprocessed/bcc_pre590/bitor.hpp | 147 -
boost/mpl/aux_/preprocessed/bcc_pre590/bitxor.hpp | 147 -
boost/mpl/aux_/preprocessed/bcc_pre590/deque.hpp | 323 --
boost/mpl/aux_/preprocessed/bcc_pre590/divides.hpp | 146 -
.../mpl/aux_/preprocessed/bcc_pre590/equal_to.hpp | 94 -
.../mpl/aux_/preprocessed/bcc_pre590/fold_impl.hpp | 180 -
.../aux_/preprocessed/bcc_pre590/full_lambda.hpp | 558 ---
boost/mpl/aux_/preprocessed/bcc_pre590/greater.hpp | 94 -
.../aux_/preprocessed/bcc_pre590/greater_equal.hpp | 94 -
boost/mpl/aux_/preprocessed/bcc_pre590/inherit.hpp | 139 -
.../preprocessed/bcc_pre590/iter_fold_if_impl.hpp | 133 -
.../preprocessed/bcc_pre590/iter_fold_impl.hpp | 180 -
.../preprocessed/bcc_pre590/lambda_no_ctps.hpp | 229 --
boost/mpl/aux_/preprocessed/bcc_pre590/less.hpp | 94 -
.../aux_/preprocessed/bcc_pre590/less_equal.hpp | 94 -
boost/mpl/aux_/preprocessed/bcc_pre590/list.hpp | 323 --
boost/mpl/aux_/preprocessed/bcc_pre590/list_c.hpp | 328 --
boost/mpl/aux_/preprocessed/bcc_pre590/map.hpp | 323 --
boost/mpl/aux_/preprocessed/bcc_pre590/minus.hpp | 146 -
boost/mpl/aux_/preprocessed/bcc_pre590/modulus.hpp | 101 -
.../aux_/preprocessed/bcc_pre590/not_equal_to.hpp | 94 -
boost/mpl/aux_/preprocessed/bcc_pre590/or.hpp | 69 -
.../aux_/preprocessed/bcc_pre590/placeholders.hpp | 105 -
boost/mpl/aux_/preprocessed/bcc_pre590/plus.hpp | 146 -
boost/mpl/aux_/preprocessed/bcc_pre590/quote.hpp | 11 -
.../preprocessed/bcc_pre590/reverse_fold_impl.hpp | 295 --
.../bcc_pre590/reverse_iter_fold_impl.hpp | 295 --
boost/mpl/aux_/preprocessed/bcc_pre590/set.hpp | 323 --
boost/mpl/aux_/preprocessed/bcc_pre590/set_c.hpp | 328 --
.../aux_/preprocessed/bcc_pre590/shift_left.hpp | 99 -
.../aux_/preprocessed/bcc_pre590/shift_right.hpp | 99 -
.../preprocessed/bcc_pre590/template_arity.hpp | 40 -
boost/mpl/aux_/preprocessed/bcc_pre590/times.hpp | 146 -
.../aux_/preprocessed/bcc_pre590/unpack_args.hpp | 97 -
boost/mpl/aux_/preprocessed/bcc_pre590/vector.hpp | 323 --
.../mpl/aux_/preprocessed/bcc_pre590/vector_c.hpp | 309 --
.../mpl/aux_/preprocessed/dmc/advance_backward.hpp | 97 -
.../mpl/aux_/preprocessed/dmc/advance_forward.hpp | 97 -
boost/mpl/aux_/preprocessed/dmc/and.hpp | 69 -
boost/mpl/aux_/preprocessed/dmc/apply.hpp | 169 -
boost/mpl/aux_/preprocessed/dmc/apply_fwd.hpp | 52 -
boost/mpl/aux_/preprocessed/dmc/apply_wrap.hpp | 84 -
boost/mpl/aux_/preprocessed/dmc/arg.hpp | 123 -
boost/mpl/aux_/preprocessed/dmc/basic_bind.hpp | 406 --
boost/mpl/aux_/preprocessed/dmc/bind.hpp | 515 ---
boost/mpl/aux_/preprocessed/dmc/bind_fwd.hpp | 53 -
boost/mpl/aux_/preprocessed/dmc/bitand.hpp | 147 -
boost/mpl/aux_/preprocessed/dmc/bitor.hpp | 147 -
boost/mpl/aux_/preprocessed/dmc/bitxor.hpp | 147 -
boost/mpl/aux_/preprocessed/dmc/deque.hpp | 323 --
boost/mpl/aux_/preprocessed/dmc/divides.hpp | 146 -
boost/mpl/aux_/preprocessed/dmc/equal_to.hpp | 94 -
boost/mpl/aux_/preprocessed/dmc/fold_impl.hpp | 180 -
boost/mpl/aux_/preprocessed/dmc/full_lambda.hpp | 536 ---
boost/mpl/aux_/preprocessed/dmc/greater.hpp | 94 -
boost/mpl/aux_/preprocessed/dmc/greater_equal.hpp | 94 -
boost/mpl/aux_/preprocessed/dmc/inherit.hpp | 141 -
.../aux_/preprocessed/dmc/iter_fold_if_impl.hpp | 133 -
boost/mpl/aux_/preprocessed/dmc/iter_fold_impl.hpp | 180 -
boost/mpl/aux_/preprocessed/dmc/lambda_no_ctps.hpp | 229 --
boost/mpl/aux_/preprocessed/dmc/less.hpp | 94 -
boost/mpl/aux_/preprocessed/dmc/less_equal.hpp | 94 -
boost/mpl/aux_/preprocessed/dmc/list.hpp | 323 --
boost/mpl/aux_/preprocessed/dmc/list_c.hpp | 328 --
boost/mpl/aux_/preprocessed/dmc/map.hpp | 323 --
boost/mpl/aux_/preprocessed/dmc/minus.hpp | 146 -
boost/mpl/aux_/preprocessed/dmc/modulus.hpp | 101 -
boost/mpl/aux_/preprocessed/dmc/not_equal_to.hpp | 94 -
boost/mpl/aux_/preprocessed/dmc/or.hpp | 69 -
boost/mpl/aux_/preprocessed/dmc/placeholders.hpp | 105 -
boost/mpl/aux_/preprocessed/dmc/plus.hpp | 146 -
boost/mpl/aux_/preprocessed/dmc/quote.hpp | 123 -
.../aux_/preprocessed/dmc/reverse_fold_impl.hpp | 231 --
.../preprocessed/dmc/reverse_iter_fold_impl.hpp | 231 --
boost/mpl/aux_/preprocessed/dmc/set.hpp | 323 --
boost/mpl/aux_/preprocessed/dmc/set_c.hpp | 328 --
boost/mpl/aux_/preprocessed/dmc/shift_left.hpp | 99 -
boost/mpl/aux_/preprocessed/dmc/shift_right.hpp | 99 -
boost/mpl/aux_/preprocessed/dmc/template_arity.hpp | 11 -
boost/mpl/aux_/preprocessed/dmc/times.hpp | 146 -
boost/mpl/aux_/preprocessed/dmc/unpack_args.hpp | 94 -
boost/mpl/aux_/preprocessed/dmc/vector.hpp | 323 --
boost/mpl/aux_/preprocessed/dmc/vector_c.hpp | 309 --
.../mpl/aux_/preprocessed/gcc/advance_backward.hpp | 97 -
.../mpl/aux_/preprocessed/gcc/advance_forward.hpp | 97 -
boost/mpl/aux_/preprocessed/gcc/and.hpp | 69 -
boost/mpl/aux_/preprocessed/gcc/apply.hpp | 169 -
boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp | 52 -
boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp | 84 -
boost/mpl/aux_/preprocessed/gcc/arg.hpp | 123 -
boost/mpl/aux_/preprocessed/gcc/basic_bind.hpp | 440 ---
boost/mpl/aux_/preprocessed/gcc/bind.hpp | 561 ---
boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp | 52 -
boost/mpl/aux_/preprocessed/gcc/bitand.hpp | 147 -
boost/mpl/aux_/preprocessed/gcc/bitor.hpp | 147 -
boost/mpl/aux_/preprocessed/gcc/bitxor.hpp | 147 -
boost/mpl/aux_/preprocessed/gcc/deque.hpp | 323 --
boost/mpl/aux_/preprocessed/gcc/divides.hpp | 146 -
boost/mpl/aux_/preprocessed/gcc/equal_to.hpp | 94 -
boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp | 180 -
boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp | 558 ---
boost/mpl/aux_/preprocessed/gcc/greater.hpp | 94 -
boost/mpl/aux_/preprocessed/gcc/greater_equal.hpp | 94 -
boost/mpl/aux_/preprocessed/gcc/inherit.hpp | 141 -
.../aux_/preprocessed/gcc/iter_fold_if_impl.hpp | 133 -
boost/mpl/aux_/preprocessed/gcc/iter_fold_impl.hpp | 180 -
boost/mpl/aux_/preprocessed/gcc/lambda_no_ctps.hpp | 229 --
boost/mpl/aux_/preprocessed/gcc/less.hpp | 94 -
boost/mpl/aux_/preprocessed/gcc/less_equal.hpp | 94 -
boost/mpl/aux_/preprocessed/gcc/list.hpp | 323 --
boost/mpl/aux_/preprocessed/gcc/list_c.hpp | 328 --
boost/mpl/aux_/preprocessed/gcc/map.hpp | 323 --
boost/mpl/aux_/preprocessed/gcc/minus.hpp | 146 -
boost/mpl/aux_/preprocessed/gcc/modulus.hpp | 101 -
boost/mpl/aux_/preprocessed/gcc/not_equal_to.hpp | 94 -
boost/mpl/aux_/preprocessed/gcc/or.hpp | 69 -
boost/mpl/aux_/preprocessed/gcc/placeholders.hpp | 105 -
boost/mpl/aux_/preprocessed/gcc/plus.hpp | 146 -
boost/mpl/aux_/preprocessed/gcc/quote.hpp | 123 -
.../aux_/preprocessed/gcc/reverse_fold_impl.hpp | 231 --
.../preprocessed/gcc/reverse_iter_fold_impl.hpp | 231 --
boost/mpl/aux_/preprocessed/gcc/set.hpp | 323 --
boost/mpl/aux_/preprocessed/gcc/set_c.hpp | 328 --
boost/mpl/aux_/preprocessed/gcc/shift_left.hpp | 99 -
boost/mpl/aux_/preprocessed/gcc/shift_right.hpp | 99 -
boost/mpl/aux_/preprocessed/gcc/template_arity.hpp | 97 -
boost/mpl/aux_/preprocessed/gcc/times.hpp | 146 -
boost/mpl/aux_/preprocessed/gcc/unpack_args.hpp | 94 -
boost/mpl/aux_/preprocessed/gcc/vector.hpp | 323 --
boost/mpl/aux_/preprocessed/gcc/vector_c.hpp | 309 --
.../aux_/preprocessed/msvc60/advance_backward.hpp | 132 -
.../aux_/preprocessed/msvc60/advance_forward.hpp | 132 -
boost/mpl/aux_/preprocessed/msvc60/and.hpp | 73 -
boost/mpl/aux_/preprocessed/msvc60/apply.hpp | 166 -
boost/mpl/aux_/preprocessed/msvc60/apply_fwd.hpp | 46 -
boost/mpl/aux_/preprocessed/msvc60/apply_wrap.hpp | 247 --
boost/mpl/aux_/preprocessed/msvc60/arg.hpp | 123 -
boost/mpl/aux_/preprocessed/msvc60/basic_bind.hpp | 328 --
boost/mpl/aux_/preprocessed/msvc60/bind.hpp | 432 ---
boost/mpl/aux_/preprocessed/msvc60/bind_fwd.hpp | 46 -
boost/mpl/aux_/preprocessed/msvc60/bitand.hpp | 149 -
boost/mpl/aux_/preprocessed/msvc60/bitor.hpp | 149 -
boost/mpl/aux_/preprocessed/msvc60/bitxor.hpp | 149 -
boost/mpl/aux_/preprocessed/msvc60/deque.hpp | 556 ---
boost/mpl/aux_/preprocessed/msvc60/divides.hpp | 148 -
boost/mpl/aux_/preprocessed/msvc60/equal_to.hpp | 102 -
boost/mpl/aux_/preprocessed/msvc60/fold_impl.hpp | 293 --
boost/mpl/aux_/preprocessed/msvc60/full_lambda.hpp | 554 ---
boost/mpl/aux_/preprocessed/msvc60/greater.hpp | 102 -
.../mpl/aux_/preprocessed/msvc60/greater_equal.hpp | 102 -
boost/mpl/aux_/preprocessed/msvc60/inherit.hpp | 166 -
.../aux_/preprocessed/msvc60/iter_fold_if_impl.hpp | 133 -
.../aux_/preprocessed/msvc60/iter_fold_impl.hpp | 293 --
.../aux_/preprocessed/msvc60/lambda_no_ctps.hpp | 229 --
boost/mpl/aux_/preprocessed/msvc60/less.hpp | 102 -
boost/mpl/aux_/preprocessed/msvc60/less_equal.hpp | 102 -
boost/mpl/aux_/preprocessed/msvc60/list.hpp | 556 ---
boost/mpl/aux_/preprocessed/msvc60/list_c.hpp | 534 ---
boost/mpl/aux_/preprocessed/msvc60/map.hpp | 556 ---
boost/mpl/aux_/preprocessed/msvc60/minus.hpp | 148 -
boost/mpl/aux_/preprocessed/msvc60/modulus.hpp | 115 -
.../mpl/aux_/preprocessed/msvc60/not_equal_to.hpp | 102 -
boost/mpl/aux_/preprocessed/msvc60/or.hpp | 73 -
.../mpl/aux_/preprocessed/msvc60/placeholders.hpp | 105 -
boost/mpl/aux_/preprocessed/msvc60/plus.hpp | 148 -
boost/mpl/aux_/preprocessed/msvc60/quote.hpp | 11 -
.../aux_/preprocessed/msvc60/reverse_fold_impl.hpp | 343 --
.../preprocessed/msvc60/reverse_iter_fold_impl.hpp | 343 --
boost/mpl/aux_/preprocessed/msvc60/set.hpp | 556 ---
boost/mpl/aux_/preprocessed/msvc60/set_c.hpp | 534 ---
boost/mpl/aux_/preprocessed/msvc60/shift_left.hpp | 114 -
boost/mpl/aux_/preprocessed/msvc60/shift_right.hpp | 114 -
.../aux_/preprocessed/msvc60/template_arity.hpp | 46 -
boost/mpl/aux_/preprocessed/msvc60/times.hpp | 148 -
boost/mpl/aux_/preprocessed/msvc60/unpack_args.hpp | 109 -
boost/mpl/aux_/preprocessed/msvc60/vector.hpp | 556 ---
boost/mpl/aux_/preprocessed/msvc60/vector_c.hpp | 534 ---
.../aux_/preprocessed/msvc70/advance_backward.hpp | 97 -
.../aux_/preprocessed/msvc70/advance_forward.hpp | 97 -
boost/mpl/aux_/preprocessed/msvc70/and.hpp | 71 -
boost/mpl/aux_/preprocessed/msvc70/apply.hpp | 160 -
boost/mpl/aux_/preprocessed/msvc70/apply_fwd.hpp | 46 -
boost/mpl/aux_/preprocessed/msvc70/apply_wrap.hpp | 138 -
boost/mpl/aux_/preprocessed/msvc70/arg.hpp | 123 -
boost/mpl/aux_/preprocessed/msvc70/basic_bind.hpp | 328 --
boost/mpl/aux_/preprocessed/msvc70/bind.hpp | 432 ---
boost/mpl/aux_/preprocessed/msvc70/bind_fwd.hpp | 46 -
boost/mpl/aux_/preprocessed/msvc70/bitand.hpp | 151 -
boost/mpl/aux_/preprocessed/msvc70/bitor.hpp | 151 -
boost/mpl/aux_/preprocessed/msvc70/bitxor.hpp | 151 -
boost/mpl/aux_/preprocessed/msvc70/deque.hpp | 556 ---
boost/mpl/aux_/preprocessed/msvc70/divides.hpp | 150 -
boost/mpl/aux_/preprocessed/msvc70/equal_to.hpp | 102 -
boost/mpl/aux_/preprocessed/msvc70/fold_impl.hpp | 245 --
boost/mpl/aux_/preprocessed/msvc70/full_lambda.hpp | 554 ---
boost/mpl/aux_/preprocessed/msvc70/greater.hpp | 102 -
.../mpl/aux_/preprocessed/msvc70/greater_equal.hpp | 102 -
boost/mpl/aux_/preprocessed/msvc70/inherit.hpp | 166 -
.../aux_/preprocessed/msvc70/iter_fold_if_impl.hpp | 133 -
.../aux_/preprocessed/msvc70/iter_fold_impl.hpp | 245 --
.../aux_/preprocessed/msvc70/lambda_no_ctps.hpp | 229 --
boost/mpl/aux_/preprocessed/msvc70/less.hpp | 102 -
boost/mpl/aux_/preprocessed/msvc70/less_equal.hpp | 102 -
boost/mpl/aux_/preprocessed/msvc70/list.hpp | 556 ---
boost/mpl/aux_/preprocessed/msvc70/list_c.hpp | 534 ---
boost/mpl/aux_/preprocessed/msvc70/map.hpp | 556 ---
boost/mpl/aux_/preprocessed/msvc70/minus.hpp | 150 -
boost/mpl/aux_/preprocessed/msvc70/modulus.hpp | 115 -
.../mpl/aux_/preprocessed/msvc70/not_equal_to.hpp | 102 -
boost/mpl/aux_/preprocessed/msvc70/or.hpp | 71 -
.../mpl/aux_/preprocessed/msvc70/placeholders.hpp | 105 -
boost/mpl/aux_/preprocessed/msvc70/plus.hpp | 150 -
boost/mpl/aux_/preprocessed/msvc70/quote.hpp | 116 -
.../aux_/preprocessed/msvc70/reverse_fold_impl.hpp | 295 --
.../preprocessed/msvc70/reverse_iter_fold_impl.hpp | 295 --
boost/mpl/aux_/preprocessed/msvc70/set.hpp | 556 ---
boost/mpl/aux_/preprocessed/msvc70/set_c.hpp | 534 ---
boost/mpl/aux_/preprocessed/msvc70/shift_left.hpp | 114 -
boost/mpl/aux_/preprocessed/msvc70/shift_right.hpp | 114 -
.../aux_/preprocessed/msvc70/template_arity.hpp | 46 -
boost/mpl/aux_/preprocessed/msvc70/times.hpp | 150 -
boost/mpl/aux_/preprocessed/msvc70/unpack_args.hpp | 109 -
boost/mpl/aux_/preprocessed/msvc70/vector.hpp | 556 ---
boost/mpl/aux_/preprocessed/msvc70/vector_c.hpp | 534 ---
.../aux_/preprocessed/mwcw/advance_backward.hpp | 97 -
.../mpl/aux_/preprocessed/mwcw/advance_forward.hpp | 97 -
boost/mpl/aux_/preprocessed/mwcw/and.hpp | 69 -
boost/mpl/aux_/preprocessed/mwcw/apply.hpp | 169 -
boost/mpl/aux_/preprocessed/mwcw/apply_fwd.hpp | 52 -
boost/mpl/aux_/preprocessed/mwcw/apply_wrap.hpp | 456 ---
boost/mpl/aux_/preprocessed/mwcw/arg.hpp | 123 -
boost/mpl/aux_/preprocessed/mwcw/basic_bind.hpp | 440 ---
boost/mpl/aux_/preprocessed/mwcw/bind.hpp | 561 ---
boost/mpl/aux_/preprocessed/mwcw/bind_fwd.hpp | 52 -
boost/mpl/aux_/preprocessed/mwcw/bitand.hpp | 147 -
boost/mpl/aux_/preprocessed/mwcw/bitor.hpp | 147 -
boost/mpl/aux_/preprocessed/mwcw/bitxor.hpp | 147 -
boost/mpl/aux_/preprocessed/mwcw/deque.hpp | 323 --
boost/mpl/aux_/preprocessed/mwcw/divides.hpp | 146 -
boost/mpl/aux_/preprocessed/mwcw/equal_to.hpp | 94 -
boost/mpl/aux_/preprocessed/mwcw/fold_impl.hpp | 180 -
boost/mpl/aux_/preprocessed/mwcw/full_lambda.hpp | 554 ---
boost/mpl/aux_/preprocessed/mwcw/greater.hpp | 94 -
boost/mpl/aux_/preprocessed/mwcw/greater_equal.hpp | 94 -
boost/mpl/aux_/preprocessed/mwcw/inherit.hpp | 141 -
.../aux_/preprocessed/mwcw/iter_fold_if_impl.hpp | 133 -
.../mpl/aux_/preprocessed/mwcw/iter_fold_impl.hpp | 180 -
.../mpl/aux_/preprocessed/mwcw/lambda_no_ctps.hpp | 229 --
boost/mpl/aux_/preprocessed/mwcw/less.hpp | 94 -
boost/mpl/aux_/preprocessed/mwcw/less_equal.hpp | 94 -
boost/mpl/aux_/preprocessed/mwcw/list.hpp | 323 --
boost/mpl/aux_/preprocessed/mwcw/list_c.hpp | 328 --
boost/mpl/aux_/preprocessed/mwcw/map.hpp | 323 --
boost/mpl/aux_/preprocessed/mwcw/minus.hpp | 146 -
boost/mpl/aux_/preprocessed/mwcw/modulus.hpp | 101 -
boost/mpl/aux_/preprocessed/mwcw/not_equal_to.hpp | 94 -
boost/mpl/aux_/preprocessed/mwcw/or.hpp | 69 -
boost/mpl/aux_/preprocessed/mwcw/placeholders.hpp | 105 -
boost/mpl/aux_/preprocessed/mwcw/plus.hpp | 146 -
boost/mpl/aux_/preprocessed/mwcw/quote.hpp | 123 -
.../aux_/preprocessed/mwcw/reverse_fold_impl.hpp | 231 --
.../preprocessed/mwcw/reverse_iter_fold_impl.hpp | 231 --
boost/mpl/aux_/preprocessed/mwcw/set.hpp | 323 --
boost/mpl/aux_/preprocessed/mwcw/set_c.hpp | 328 --
boost/mpl/aux_/preprocessed/mwcw/shift_left.hpp | 99 -
boost/mpl/aux_/preprocessed/mwcw/shift_right.hpp | 99 -
.../mpl/aux_/preprocessed/mwcw/template_arity.hpp | 11 -
boost/mpl/aux_/preprocessed/mwcw/times.hpp | 146 -
boost/mpl/aux_/preprocessed/mwcw/unpack_args.hpp | 94 -
boost/mpl/aux_/preprocessed/mwcw/vector.hpp | 323 --
boost/mpl/aux_/preprocessed/mwcw/vector_c.hpp | 309 --
.../aux_/preprocessed/no_ctps/advance_backward.hpp | 97 -
.../aux_/preprocessed/no_ctps/advance_forward.hpp | 97 -
boost/mpl/aux_/preprocessed/no_ctps/and.hpp | 73 -
boost/mpl/aux_/preprocessed/no_ctps/apply.hpp | 268 --
boost/mpl/aux_/preprocessed/no_ctps/apply_fwd.hpp | 50 -
boost/mpl/aux_/preprocessed/no_ctps/apply_wrap.hpp | 78 -
boost/mpl/aux_/preprocessed/no_ctps/arg.hpp | 123 -
boost/mpl/aux_/preprocessed/no_ctps/basic_bind.hpp | 486 ---
boost/mpl/aux_/preprocessed/no_ctps/bind.hpp | 590 ---
boost/mpl/aux_/preprocessed/no_ctps/bind_fwd.hpp | 52 -
boost/mpl/aux_/preprocessed/no_ctps/bitand.hpp | 134 -
boost/mpl/aux_/preprocessed/no_ctps/bitor.hpp | 134 -
boost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp | 134 -
boost/mpl/aux_/preprocessed/no_ctps/deque.hpp | 556 ---
boost/mpl/aux_/preprocessed/no_ctps/divides.hpp | 133 -
boost/mpl/aux_/preprocessed/no_ctps/equal_to.hpp | 94 -
boost/mpl/aux_/preprocessed/no_ctps/fold_impl.hpp | 245 --
.../mpl/aux_/preprocessed/no_ctps/full_lambda.hpp | 554 ---
boost/mpl/aux_/preprocessed/no_ctps/greater.hpp | 94 -
.../aux_/preprocessed/no_ctps/greater_equal.hpp | 94 -
boost/mpl/aux_/preprocessed/no_ctps/inherit.hpp | 166 -
.../preprocessed/no_ctps/iter_fold_if_impl.hpp | 133 -
.../aux_/preprocessed/no_ctps/iter_fold_impl.hpp | 245 --
.../aux_/preprocessed/no_ctps/lambda_no_ctps.hpp | 229 --
boost/mpl/aux_/preprocessed/no_ctps/less.hpp | 94 -
boost/mpl/aux_/preprocessed/no_ctps/less_equal.hpp | 94 -
boost/mpl/aux_/preprocessed/no_ctps/list.hpp | 556 ---
boost/mpl/aux_/preprocessed/no_ctps/list_c.hpp | 534 ---
boost/mpl/aux_/preprocessed/no_ctps/map.hpp | 556 ---
boost/mpl/aux_/preprocessed/no_ctps/minus.hpp | 133 -
boost/mpl/aux_/preprocessed/no_ctps/modulus.hpp | 101 -
.../mpl/aux_/preprocessed/no_ctps/not_equal_to.hpp | 94 -
boost/mpl/aux_/preprocessed/no_ctps/or.hpp | 73 -
.../mpl/aux_/preprocessed/no_ctps/placeholders.hpp | 105 -
boost/mpl/aux_/preprocessed/no_ctps/plus.hpp | 133 -
boost/mpl/aux_/preprocessed/no_ctps/quote.hpp | 116 -
.../preprocessed/no_ctps/reverse_fold_impl.hpp | 295 --
.../no_ctps/reverse_iter_fold_impl.hpp | 295 --
boost/mpl/aux_/preprocessed/no_ctps/set.hpp | 556 ---
boost/mpl/aux_/preprocessed/no_ctps/set_c.hpp | 534 ---
boost/mpl/aux_/preprocessed/no_ctps/shift_left.hpp | 99 -
.../mpl/aux_/preprocessed/no_ctps/shift_right.hpp | 99 -
.../aux_/preprocessed/no_ctps/template_arity.hpp | 40 -
boost/mpl/aux_/preprocessed/no_ctps/times.hpp | 133 -
.../mpl/aux_/preprocessed/no_ctps/unpack_args.hpp | 109 -
boost/mpl/aux_/preprocessed/no_ctps/vector.hpp | 556 ---
boost/mpl/aux_/preprocessed/no_ctps/vector_c.hpp | 534 ---
.../aux_/preprocessed/no_ttp/advance_backward.hpp | 97 -
.../aux_/preprocessed/no_ttp/advance_forward.hpp | 97 -
boost/mpl/aux_/preprocessed/no_ttp/and.hpp | 69 -
boost/mpl/aux_/preprocessed/no_ttp/apply.hpp | 169 -
boost/mpl/aux_/preprocessed/no_ttp/apply_fwd.hpp | 52 -
boost/mpl/aux_/preprocessed/no_ttp/apply_wrap.hpp | 84 -
boost/mpl/aux_/preprocessed/no_ttp/arg.hpp | 123 -
boost/mpl/aux_/preprocessed/no_ttp/basic_bind.hpp | 369 --
boost/mpl/aux_/preprocessed/no_ttp/bind.hpp | 466 ---
boost/mpl/aux_/preprocessed/no_ttp/bind_fwd.hpp | 52 -
boost/mpl/aux_/preprocessed/no_ttp/bitand.hpp | 157 -
boost/mpl/aux_/preprocessed/no_ttp/bitor.hpp | 157 -
boost/mpl/aux_/preprocessed/no_ttp/bitxor.hpp | 157 -
boost/mpl/aux_/preprocessed/no_ttp/deque.hpp | 323 --
boost/mpl/aux_/preprocessed/no_ttp/divides.hpp | 156 -
boost/mpl/aux_/preprocessed/no_ttp/equal_to.hpp | 98 -
boost/mpl/aux_/preprocessed/no_ttp/fold_impl.hpp | 180 -
boost/mpl/aux_/preprocessed/no_ttp/full_lambda.hpp | 554 ---
boost/mpl/aux_/preprocessed/no_ttp/greater.hpp | 98 -
.../mpl/aux_/preprocessed/no_ttp/greater_equal.hpp | 98 -
boost/mpl/aux_/preprocessed/no_ttp/inherit.hpp | 141 -
.../aux_/preprocessed/no_ttp/iter_fold_if_impl.hpp | 133 -
.../aux_/preprocessed/no_ttp/iter_fold_impl.hpp | 180 -
.../aux_/preprocessed/no_ttp/lambda_no_ctps.hpp | 229 --
boost/mpl/aux_/preprocessed/no_ttp/less.hpp | 98 -
boost/mpl/aux_/preprocessed/no_ttp/less_equal.hpp | 98 -
boost/mpl/aux_/preprocessed/no_ttp/list.hpp | 323 --
boost/mpl/aux_/preprocessed/no_ttp/list_c.hpp | 328 --
boost/mpl/aux_/preprocessed/no_ttp/map.hpp | 323 --
boost/mpl/aux_/preprocessed/no_ttp/minus.hpp | 156 -
boost/mpl/aux_/preprocessed/no_ttp/modulus.hpp | 111 -
.../mpl/aux_/preprocessed/no_ttp/not_equal_to.hpp | 98 -
boost/mpl/aux_/preprocessed/no_ttp/or.hpp | 69 -
.../mpl/aux_/preprocessed/no_ttp/placeholders.hpp | 105 -
boost/mpl/aux_/preprocessed/no_ttp/plus.hpp | 156 -
boost/mpl/aux_/preprocessed/no_ttp/quote.hpp | 11 -
.../aux_/preprocessed/no_ttp/reverse_fold_impl.hpp | 231 --
.../preprocessed/no_ttp/reverse_iter_fold_impl.hpp | 231 --
boost/mpl/aux_/preprocessed/no_ttp/set.hpp | 323 --
boost/mpl/aux_/preprocessed/no_ttp/set_c.hpp | 328 --
boost/mpl/aux_/preprocessed/no_ttp/shift_left.hpp | 110 -
boost/mpl/aux_/preprocessed/no_ttp/shift_right.hpp | 110 -
.../aux_/preprocessed/no_ttp/template_arity.hpp | 40 -
boost/mpl/aux_/preprocessed/no_ttp/times.hpp | 156 -
boost/mpl/aux_/preprocessed/no_ttp/unpack_args.hpp | 94 -
boost/mpl/aux_/preprocessed/no_ttp/vector.hpp | 323 --
boost/mpl/aux_/preprocessed/no_ttp/vector_c.hpp | 309 --
.../aux_/preprocessed/plain/advance_backward.hpp | 97 -
.../aux_/preprocessed/plain/advance_forward.hpp | 97 -
boost/mpl/aux_/preprocessed/plain/and.hpp | 64 -
boost/mpl/aux_/preprocessed/plain/apply.hpp | 139 -
boost/mpl/aux_/preprocessed/plain/apply_fwd.hpp | 52 -
boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp | 84 -
boost/mpl/aux_/preprocessed/plain/arg.hpp | 123 -
boost/mpl/aux_/preprocessed/plain/basic_bind.hpp | 440 ---
boost/mpl/aux_/preprocessed/plain/bind.hpp | 561 ---
boost/mpl/aux_/preprocessed/plain/bind_fwd.hpp | 52 -
boost/mpl/aux_/preprocessed/plain/bitand.hpp | 142 -
boost/mpl/aux_/preprocessed/plain/bitor.hpp | 142 -
boost/mpl/aux_/preprocessed/plain/bitxor.hpp | 142 -
boost/mpl/aux_/preprocessed/plain/deque.hpp | 323 --
boost/mpl/aux_/preprocessed/plain/divides.hpp | 141 -
boost/mpl/aux_/preprocessed/plain/equal_to.hpp | 92 -
boost/mpl/aux_/preprocessed/plain/fold_impl.hpp | 180 -
boost/mpl/aux_/preprocessed/plain/full_lambda.hpp | 554 ---
boost/mpl/aux_/preprocessed/plain/greater.hpp | 92 -
.../mpl/aux_/preprocessed/plain/greater_equal.hpp | 92 -
boost/mpl/aux_/preprocessed/plain/inherit.hpp | 125 -
.../aux_/preprocessed/plain/iter_fold_if_impl.hpp | 133 -
.../mpl/aux_/preprocessed/plain/iter_fold_impl.hpp | 180 -
.../mpl/aux_/preprocessed/plain/lambda_no_ctps.hpp | 228 --
boost/mpl/aux_/preprocessed/plain/less.hpp | 92 -
boost/mpl/aux_/preprocessed/plain/less_equal.hpp | 92 -
boost/mpl/aux_/preprocessed/plain/list.hpp | 323 --
boost/mpl/aux_/preprocessed/plain/list_c.hpp | 328 --
boost/mpl/aux_/preprocessed/plain/map.hpp | 323 --
boost/mpl/aux_/preprocessed/plain/minus.hpp | 141 -
boost/mpl/aux_/preprocessed/plain/modulus.hpp | 99 -
boost/mpl/aux_/preprocessed/plain/not_equal_to.hpp | 92 -
boost/mpl/aux_/preprocessed/plain/or.hpp | 64 -
boost/mpl/aux_/preprocessed/plain/placeholders.hpp | 105 -
boost/mpl/aux_/preprocessed/plain/plus.hpp | 141 -
boost/mpl/aux_/preprocessed/plain/quote.hpp | 123 -
.../aux_/preprocessed/plain/reverse_fold_impl.hpp | 231 --
.../preprocessed/plain/reverse_iter_fold_impl.hpp | 231 --
boost/mpl/aux_/preprocessed/plain/set.hpp | 323 --
boost/mpl/aux_/preprocessed/plain/set_c.hpp | 328 --
boost/mpl/aux_/preprocessed/plain/shift_left.hpp | 97 -
boost/mpl/aux_/preprocessed/plain/shift_right.hpp | 97 -
.../mpl/aux_/preprocessed/plain/template_arity.hpp | 11 -
boost/mpl/aux_/preprocessed/plain/times.hpp | 141 -
boost/mpl/aux_/preprocessed/plain/unpack_args.hpp | 94 -
boost/mpl/aux_/preprocessed/plain/vector.hpp | 323 --
boost/mpl/aux_/preprocessed/plain/vector_c.hpp | 309 --
boost/mpl/aux_/preprocessor/add.hpp | 65 -
boost/mpl/aux_/preprocessor/def_params_tail.hpp | 105 -
boost/mpl/aux_/preprocessor/default_params.hpp | 67 -
boost/mpl/aux_/preprocessor/enum.hpp | 62 -
boost/mpl/aux_/preprocessor/ext_params.hpp | 78 -
boost/mpl/aux_/preprocessor/filter_params.hpp | 28 -
boost/mpl/aux_/preprocessor/params.hpp | 65 -
.../mpl/aux_/preprocessor/partial_spec_params.hpp | 32 -
boost/mpl/aux_/preprocessor/range.hpp | 23 -
boost/mpl/aux_/preprocessor/repeat.hpp | 51 -
boost/mpl/aux_/preprocessor/sub.hpp | 65 -
boost/mpl/aux_/preprocessor/tuple.hpp | 29 -
boost/mpl/aux_/push_back_impl.hpp | 70 -
boost/mpl/aux_/push_front_impl.hpp | 71 -
boost/mpl/aux_/reverse_fold_impl.hpp | 44 -
boost/mpl/aux_/reverse_fold_impl_body.hpp | 412 ---
boost/mpl/aux_/sequence_wrapper.hpp | 292 --
boost/mpl/aux_/size_impl.hpp | 52 -
boost/mpl/aux_/static_cast.hpp | 27 -
boost/mpl/aux_/template_arity.hpp | 189 -
boost/mpl/aux_/template_arity_fwd.hpp | 23 -
boost/mpl/aux_/traits_lambda_spec.hpp | 63 -
boost/mpl/aux_/type_wrapper.hpp | 47 -
boost/mpl/aux_/value_wknd.hpp | 89 -
boost/mpl/aux_/yes_no.hpp | 58 -
boost/mpl/back_fwd.hpp | 24 -
boost/mpl/back_inserter.hpp | 34 -
boost/mpl/begin.hpp | 19 -
boost/mpl/begin_end.hpp | 57 -
boost/mpl/begin_end_fwd.hpp | 27 -
boost/mpl/bind.hpp | 551 ---
boost/mpl/bind_fwd.hpp | 99 -
boost/mpl/bool.hpp | 39 -
boost/mpl/bool_fwd.hpp | 33 -
boost/mpl/clear.hpp | 39 -
boost/mpl/clear_fwd.hpp | 24 -
boost/mpl/comparison.hpp | 24 -
boost/mpl/contains.hpp | 41 -
boost/mpl/contains_fwd.hpp | 25 -
boost/mpl/copy.hpp | 58 -
boost/mpl/deref.hpp | 41 -
boost/mpl/distance.hpp | 78 -
boost/mpl/distance_fwd.hpp | 28 -
boost/mpl/divides.hpp | 21 -
boost/mpl/empty_base.hpp | 59 -
boost/mpl/empty_fwd.hpp | 24 -
boost/mpl/end.hpp | 19 -
boost/mpl/equal_to.hpp | 21 -
boost/mpl/eval_if.hpp | 71 -
boost/mpl/find.hpp | 38 -
boost/mpl/find_if.hpp | 50 -
boost/mpl/fold.hpp | 48 -
boost/mpl/front_fwd.hpp | 24 -
boost/mpl/front_inserter.hpp | 33 -
boost/mpl/greater.hpp | 21 -
boost/mpl/greater_equal.hpp | 21 -
boost/mpl/has_xxx.hpp | 640 ----
boost/mpl/identity.hpp | 45 -
boost/mpl/if.hpp | 135 -
boost/mpl/inherit.hpp | 229 --
boost/mpl/inserter.hpp | 32 -
boost/mpl/int.hpp | 22 -
boost/mpl/int_fwd.hpp | 27 -
boost/mpl/integral_c.hpp | 51 -
boost/mpl/integral_c_fwd.hpp | 32 -
boost/mpl/integral_c_tag.hpp | 26 -
boost/mpl/is_placeholder.hpp | 67 -
boost/mpl/is_sequence.hpp | 112 -
boost/mpl/iter_fold.hpp | 49 -
boost/mpl/iter_fold_if.hpp | 117 -
boost/mpl/iterator_range.hpp | 42 -
boost/mpl/iterator_tags.hpp | 27 -
boost/mpl/lambda.hpp | 29 -
boost/mpl/lambda_fwd.hpp | 57 -
boost/mpl/less.hpp | 21 -
boost/mpl/less_equal.hpp | 21 -
boost/mpl/limits/arity.hpp | 21 -
boost/mpl/limits/list.hpp | 21 -
boost/mpl/limits/unrolling.hpp | 21 -
boost/mpl/limits/vector.hpp | 21 -
boost/mpl/list.hpp | 57 -
boost/mpl/list/aux_/O1_size.hpp | 33 -
boost/mpl/list/aux_/begin_end.hpp | 44 -
boost/mpl/list/aux_/clear.hpp | 34 -
boost/mpl/list/aux_/empty.hpp | 34 -
boost/mpl/list/aux_/front.hpp | 33 -
boost/mpl/list/aux_/include_preprocessed.hpp | 35 -
boost/mpl/list/aux_/item.hpp | 55 -
boost/mpl/list/aux_/iterator.hpp | 76 -
boost/mpl/list/aux_/numbered.hpp | 68 -
boost/mpl/list/aux_/numbered_c.hpp | 71 -
boost/mpl/list/aux_/pop_front.hpp | 34 -
boost/mpl/list/aux_/preprocessed/plain/list10.hpp | 149 -
.../mpl/list/aux_/preprocessed/plain/list10_c.hpp | 164 -
boost/mpl/list/aux_/preprocessed/plain/list20.hpp | 169 -
.../mpl/list/aux_/preprocessed/plain/list20_c.hpp | 173 -
boost/mpl/list/aux_/preprocessed/plain/list30.hpp | 189 -
.../mpl/list/aux_/preprocessed/plain/list30_c.hpp | 183 -
boost/mpl/list/aux_/preprocessed/plain/list40.hpp | 209 --
.../mpl/list/aux_/preprocessed/plain/list40_c.hpp | 193 -
boost/mpl/list/aux_/preprocessed/plain/list50.hpp | 229 --
.../mpl/list/aux_/preprocessed/plain/list50_c.hpp | 203 -
boost/mpl/list/aux_/push_back.hpp | 36 -
boost/mpl/list/aux_/push_front.hpp | 39 -
boost/mpl/list/aux_/size.hpp | 33 -
boost/mpl/list/aux_/tag.hpp | 24 -
boost/mpl/list/list0.hpp | 42 -
boost/mpl/list/list0_c.hpp | 31 -
boost/mpl/list/list10.hpp | 43 -
boost/mpl/list/list10_c.hpp | 43 -
boost/mpl/list/list20.hpp | 43 -
boost/mpl/list/list20_c.hpp | 43 -
boost/mpl/list/list30.hpp | 43 -
boost/mpl/list/list30_c.hpp | 43 -
boost/mpl/list/list40.hpp | 43 -
boost/mpl/list/list40_c.hpp | 43 -
boost/mpl/list/list50.hpp | 43 -
boost/mpl/list/list50_c.hpp | 43 -
boost/mpl/logical.hpp | 21 -
boost/mpl/long.hpp | 22 -
boost/mpl/long_fwd.hpp | 27 -
boost/mpl/minus.hpp | 21 -
boost/mpl/multiplies.hpp | 53 -
boost/mpl/negate.hpp | 81 -
boost/mpl/next.hpp | 19 -
boost/mpl/next_prior.hpp | 49 -
boost/mpl/not.hpp | 51 -
boost/mpl/not_equal_to.hpp | 21 -
boost/mpl/numeric_cast.hpp | 41 -
boost/mpl/or.hpp | 61 -
boost/mpl/pair.hpp | 70 -
boost/mpl/placeholders.hpp | 100 -
boost/mpl/plus.hpp | 21 -
boost/mpl/pop_back_fwd.hpp | 24 -
boost/mpl/pop_front_fwd.hpp | 24 -
boost/mpl/prior.hpp | 19 -
boost/mpl/protect.hpp | 55 -
boost/mpl/push_back.hpp | 53 -
boost/mpl/push_back_fwd.hpp | 24 -
boost/mpl/push_front.hpp | 52 -
boost/mpl/push_front_fwd.hpp | 24 -
boost/mpl/quote.hpp | 151 -
boost/mpl/remove_if.hpp | 83 -
boost/mpl/reverse_fold.hpp | 50 -
boost/mpl/same_as.hpp | 55 -
boost/mpl/sequence_tag.hpp | 124 -
boost/mpl/sequence_tag_fwd.hpp | 26 -
boost/mpl/size.hpp | 42 -
boost/mpl/size_fwd.hpp | 24 -
boost/mpl/size_t.hpp | 25 -
boost/mpl/size_t_fwd.hpp | 28 -
boost/mpl/tag.hpp | 52 -
boost/mpl/times.hpp | 21 -
boost/mpl/vector.hpp | 57 -
boost/mpl/vector/aux_/O1_size.hpp | 56 -
boost/mpl/vector/aux_/at.hpp | 116 -
boost/mpl/vector/aux_/back.hpp | 59 -
boost/mpl/vector/aux_/begin_end.hpp | 49 -
boost/mpl/vector/aux_/clear.hpp | 55 -
boost/mpl/vector/aux_/empty.hpp | 68 -
boost/mpl/vector/aux_/front.hpp | 56 -
boost/mpl/vector/aux_/include_preprocessed.hpp | 55 -
boost/mpl/vector/aux_/item.hpp | 103 -
boost/mpl/vector/aux_/iterator.hpp | 130 -
boost/mpl/vector/aux_/numbered.hpp | 218 --
boost/mpl/vector/aux_/numbered_c.hpp | 77 -
boost/mpl/vector/aux_/pop_back.hpp | 40 -
boost/mpl/vector/aux_/pop_front.hpp | 40 -
.../vector/aux_/preprocessed/no_ctps/vector10.hpp | 1528 --------
.../aux_/preprocessed/no_ctps/vector10_c.hpp | 149 -
.../vector/aux_/preprocessed/no_ctps/vector20.hpp | 1804 ---------
.../aux_/preprocessed/no_ctps/vector20_c.hpp | 195 -
.../vector/aux_/preprocessed/no_ctps/vector30.hpp | 2124 -----------
.../aux_/preprocessed/no_ctps/vector30_c.hpp | 238 --
.../vector/aux_/preprocessed/no_ctps/vector40.hpp | 2444 ------------
.../aux_/preprocessed/no_ctps/vector40_c.hpp | 281 --
.../vector/aux_/preprocessed/no_ctps/vector50.hpp | 2764 --------------
.../aux_/preprocessed/no_ctps/vector50_c.hpp | 325 --
.../vector/aux_/preprocessed/plain/vector10.hpp | 829 -----
.../vector/aux_/preprocessed/plain/vector10_c.hpp | 149 -
.../vector/aux_/preprocessed/plain/vector20.hpp | 1144 ------
.../vector/aux_/preprocessed/plain/vector20_c.hpp | 195 -
.../vector/aux_/preprocessed/plain/vector30.hpp | 1464 --------
.../vector/aux_/preprocessed/plain/vector30_c.hpp | 238 --
.../vector/aux_/preprocessed/plain/vector40.hpp | 1784 ---------
.../vector/aux_/preprocessed/plain/vector40_c.hpp | 281 --
.../vector/aux_/preprocessed/plain/vector50.hpp | 2104 -----------
.../vector/aux_/preprocessed/plain/vector50_c.hpp | 325 --
.../aux_/preprocessed/typeof_based/vector10.hpp | 139 -
.../aux_/preprocessed/typeof_based/vector10_c.hpp | 154 -
.../aux_/preprocessed/typeof_based/vector20.hpp | 159 -
.../aux_/preprocessed/typeof_based/vector20_c.hpp | 163 -
.../aux_/preprocessed/typeof_based/vector30.hpp | 179 -
.../aux_/preprocessed/typeof_based/vector30_c.hpp | 173 -
.../aux_/preprocessed/typeof_based/vector40.hpp | 199 -
.../aux_/preprocessed/typeof_based/vector40_c.hpp | 183 -
.../aux_/preprocessed/typeof_based/vector50.hpp | 219 --
.../aux_/preprocessed/typeof_based/vector50_c.hpp | 193 -
boost/mpl/vector/aux_/push_back.hpp | 40 -
boost/mpl/vector/aux_/push_front.hpp | 40 -
boost/mpl/vector/aux_/size.hpp | 49 -
boost/mpl/vector/aux_/tag.hpp | 32 -
boost/mpl/vector/aux_/vector0.hpp | 52 -
boost/mpl/vector/vector0.hpp | 34 -
boost/mpl/vector/vector0_c.hpp | 31 -
boost/mpl/vector/vector10.hpp | 45 -
boost/mpl/vector/vector10_c.hpp | 46 -
boost/mpl/vector/vector20.hpp | 45 -
boost/mpl/vector/vector20_c.hpp | 46 -
boost/mpl/vector/vector30.hpp | 45 -
boost/mpl/vector/vector30_c.hpp | 47 -
boost/mpl/vector/vector40.hpp | 45 -
boost/mpl/vector/vector40_c.hpp | 46 -
boost/mpl/vector/vector50.hpp | 45 -
boost/mpl/vector/vector50_c.hpp | 46 -
boost/mpl/void.hpp | 76 -
boost/mpl/void_fwd.hpp | 26 -
boost/next_prior.hpp | 51 -
boost/non_type.hpp | 27 -
boost/noncopyable.hpp | 48 -
boost/none.hpp | 28 -
boost/none_t.hpp | 24 -
boost/numeric/conversion/bounds.hpp | 24 -
boost/numeric/conversion/cast.hpp | 61 -
boost/numeric/conversion/conversion_traits.hpp | 39 -
boost/numeric/conversion/converter.hpp | 68 -
boost/numeric/conversion/converter_policies.hpp | 194 -
boost/numeric/conversion/detail/bounds.hpp | 58 -
.../conversion/detail/conversion_traits.hpp | 97 -
boost/numeric/conversion/detail/converter.hpp | 602 ---
.../conversion/detail/int_float_mixture.hpp | 72 -
boost/numeric/conversion/detail/is_subranged.hpp | 234 --
boost/numeric/conversion/detail/meta.hpp | 120 -
.../conversion/detail/numeric_cast_traits.hpp | 138 -
.../numeric/conversion/detail/old_numeric_cast.hpp | 339 --
.../preprocessed/numeric_cast_traits_common.hpp | 1741 ---------
.../preprocessed/numeric_cast_traits_long_long.hpp | 347 --
boost/numeric/conversion/detail/sign_mixture.hpp | 72 -
.../conversion/detail/udt_builtin_mixture.hpp | 69 -
.../numeric/conversion/int_float_mixture_enum.hpp | 29 -
boost/numeric/conversion/numeric_cast_traits.hpp | 31 -
boost/numeric/conversion/sign_mixture_enum.hpp | 29 -
.../conversion/udt_builtin_mixture_enum.hpp | 26 -
boost/optional.hpp | 18 -
boost/optional/optional.hpp | 991 -----
boost/optional/optional_fwd.hpp | 29 -
boost/pending/integer_log2.hpp | 112 -
boost/predef/architecture.h | 30 -
boost/predef/architecture/alpha.h | 60 -
boost/predef/architecture/arm.h | 58 -
boost/predef/architecture/blackfin.h | 47 -
boost/predef/architecture/convex.h | 67 -
boost/predef/architecture/ia64.h | 49 -
boost/predef/architecture/m68k.h | 83 -
boost/predef/architecture/mips.h | 74 -
boost/predef/architecture/parisc.h | 65 -
boost/predef/architecture/ppc.h | 73 -
boost/predef/architecture/pyramid.h | 43 -
boost/predef/architecture/rs6k.h | 56 -
boost/predef/architecture/sparc.h | 55 -
boost/predef/architecture/superh.h | 68 -
boost/predef/architecture/sys370.h | 44 -
boost/predef/architecture/sys390.h | 44 -
boost/predef/architecture/x86.h | 38 -
boost/predef/architecture/x86/32.h | 87 -
boost/predef/architecture/x86/64.h | 50 -
boost/predef/architecture/z.h | 43 -
boost/predef/detail/_cassert.h | 17 -
boost/predef/detail/endian_compat.h | 26 -
boost/predef/detail/os_detected.h | 10 -
boost/predef/detail/test.h | 17 -
boost/predef/library/c/_prefix.h | 13 -
boost/predef/library/c/gnu.h | 62 -
boost/predef/make.h | 87 -
boost/predef/os/bsd.h | 95 -
boost/predef/os/bsd/bsdi.h | 48 -
boost/predef/os/bsd/dragonfly.h | 50 -
boost/predef/os/bsd/free.h | 60 -
boost/predef/os/bsd/net.h | 84 -
boost/predef/os/bsd/open.h | 171 -
boost/predef/os/macos.h | 58 -
boost/predef/os/windows.h | 51 -
boost/predef/other/endian.h | 205 --
boost/predef/version_number.h | 54 -
boost/preprocessor/arithmetic/add.hpp | 51 -
boost/preprocessor/arithmetic/dec.hpp | 288 --
boost/preprocessor/arithmetic/inc.hpp | 288 --
boost/preprocessor/arithmetic/sub.hpp | 50 -
boost/preprocessor/array/data.hpp | 28 -
boost/preprocessor/array/elem.hpp | 29 -
boost/preprocessor/array/size.hpp | 28 -
boost/preprocessor/cat.hpp | 35 -
boost/preprocessor/comma_if.hpp | 17 -
boost/preprocessor/comparison/less.hpp | 46 -
boost/preprocessor/comparison/less_equal.hpp | 39 -
boost/preprocessor/comparison/not_equal.hpp | 814 ----
boost/preprocessor/config/config.hpp | 105 -
boost/preprocessor/control/detail/dmc/while.hpp | 536 ---
boost/preprocessor/control/detail/edg/while.hpp | 534 ---
boost/preprocessor/control/detail/msvc/while.hpp | 277 --
boost/preprocessor/control/detail/while.hpp | 536 ---
boost/preprocessor/control/expr_if.hpp | 30 -
boost/preprocessor/control/expr_iif.hpp | 31 -
boost/preprocessor/control/if.hpp | 30 -
boost/preprocessor/control/iif.hpp | 34 -
boost/preprocessor/control/while.hpp | 312 --
boost/preprocessor/debug/error.hpp | 33 -
boost/preprocessor/dec.hpp | 17 -
boost/preprocessor/detail/auto_rec.hpp | 293 --
boost/preprocessor/detail/check.hpp | 48 -
boost/preprocessor/detail/dmc/auto_rec.hpp | 286 --
boost/preprocessor/detail/is_binary.hpp | 30 -
boost/preprocessor/detail/is_unary.hpp | 30 -
boost/preprocessor/empty.hpp | 17 -
boost/preprocessor/enum.hpp | 17 -
boost/preprocessor/enum_params.hpp | 17 -
boost/preprocessor/enum_params_with_a_default.hpp | 17 -
boost/preprocessor/enum_shifted_params.hpp | 17 -
boost/preprocessor/expr_if.hpp | 17 -
boost/preprocessor/facilities/empty.hpp | 21 -
boost/preprocessor/facilities/identity.hpp | 23 -
boost/preprocessor/facilities/intercept.hpp | 277 --
boost/preprocessor/facilities/overload.hpp | 25 -
boost/preprocessor/identity.hpp | 17 -
boost/preprocessor/if.hpp | 17 -
boost/preprocessor/inc.hpp | 17 -
boost/preprocessor/iterate.hpp | 17 -
.../iteration/detail/bounds/lower1.hpp | 99 -
.../iteration/detail/bounds/lower2.hpp | 99 -
.../iteration/detail/bounds/lower3.hpp | 99 -
.../iteration/detail/bounds/lower4.hpp | 99 -
.../iteration/detail/bounds/lower5.hpp | 99 -
.../iteration/detail/bounds/upper1.hpp | 99 -
.../iteration/detail/bounds/upper2.hpp | 99 -
.../iteration/detail/bounds/upper3.hpp | 99 -
.../iteration/detail/bounds/upper4.hpp | 99 -
.../iteration/detail/bounds/upper5.hpp | 99 -
boost/preprocessor/iteration/detail/finish.hpp | 99 -
.../iteration/detail/iter/forward1.hpp | 1342 -------
.../iteration/detail/iter/forward2.hpp | 1338 -------
.../iteration/detail/iter/forward3.hpp | 1338 -------
.../iteration/detail/iter/forward4.hpp | 1338 -------
.../iteration/detail/iter/forward5.hpp | 1338 -------
.../iteration/detail/iter/reverse1.hpp | 1296 -------
.../iteration/detail/iter/reverse2.hpp | 1296 -------
.../iteration/detail/iter/reverse3.hpp | 1296 -------
.../iteration/detail/iter/reverse4.hpp | 1296 -------
.../iteration/detail/iter/reverse5.hpp | 1296 -------
boost/preprocessor/iteration/detail/local.hpp | 812 ----
boost/preprocessor/iteration/detail/rlocal.hpp | 782 ----
boost/preprocessor/iteration/detail/self.hpp | 21 -
boost/preprocessor/iteration/detail/start.hpp | 99 -
boost/preprocessor/iteration/iterate.hpp | 82 -
boost/preprocessor/iteration/local.hpp | 26 -
boost/preprocessor/iteration/self.hpp | 19 -
boost/preprocessor/list/adt.hpp | 73 -
boost/preprocessor/list/append.hpp | 40 -
boost/preprocessor/list/detail/dmc/fold_left.hpp | 279 --
boost/preprocessor/list/detail/edg/fold_left.hpp | 536 ---
boost/preprocessor/list/detail/edg/fold_right.hpp | 794 ----
boost/preprocessor/list/detail/fold_left.hpp | 279 --
boost/preprocessor/list/detail/fold_right.hpp | 277 --
boost/preprocessor/list/fold_left.hpp | 303 --
boost/preprocessor/list/fold_right.hpp | 40 -
boost/preprocessor/list/for_each_i.hpp | 65 -
boost/preprocessor/list/reverse.hpp | 40 -
boost/preprocessor/list/transform.hpp | 49 -
boost/preprocessor/logical/and.hpp | 30 -
boost/preprocessor/logical/bitand.hpp | 38 -
boost/preprocessor/logical/bitor.hpp | 38 -
boost/preprocessor/logical/bool.hpp | 288 --
boost/preprocessor/logical/compl.hpp | 36 -
boost/preprocessor/logical/not.hpp | 30 -
boost/preprocessor/logical/or.hpp | 30 -
boost/preprocessor/punctuation/comma.hpp | 21 -
boost/preprocessor/punctuation/comma_if.hpp | 31 -
boost/preprocessor/punctuation/paren.hpp | 23 -
boost/preprocessor/repeat.hpp | 17 -
boost/preprocessor/repeat_from_to.hpp | 17 -
boost/preprocessor/repetition/detail/dmc/for.hpp | 536 ---
boost/preprocessor/repetition/detail/edg/for.hpp | 534 ---
boost/preprocessor/repetition/detail/for.hpp | 536 ---
boost/preprocessor/repetition/detail/msvc/for.hpp | 277 --
boost/preprocessor/repetition/enum.hpp | 66 -
.../preprocessor/repetition/enum_binary_params.hpp | 54 -
boost/preprocessor/repetition/enum_params.hpp | 41 -
.../repetition/enum_params_with_a_default.hpp | 25 -
boost/preprocessor/repetition/enum_shifted.hpp | 68 -
.../repetition/enum_shifted_params.hpp | 44 -
boost/preprocessor/repetition/enum_trailing.hpp | 63 -
.../repetition/enum_trailing_params.hpp | 38 -
boost/preprocessor/repetition/for.hpp | 306 --
boost/preprocessor/repetition/repeat.hpp | 825 -----
boost/preprocessor/repetition/repeat_from_to.hpp | 87 -
boost/preprocessor/seq/cat.hpp | 49 -
boost/preprocessor/seq/detail/split.hpp | 284 --
boost/preprocessor/seq/elem.hpp | 304 --
boost/preprocessor/seq/enum.hpp | 288 --
boost/preprocessor/seq/first_n.hpp | 30 -
boost/preprocessor/seq/fold_left.hpp | 1070 ------
boost/preprocessor/seq/for_each.hpp | 60 -
boost/preprocessor/seq/for_each_i.hpp | 61 -
boost/preprocessor/seq/rest_n.hpp | 30 -
boost/preprocessor/seq/seq.hpp | 44 -
boost/preprocessor/seq/size.hpp | 547 ---
boost/preprocessor/seq/subseq.hpp | 28 -
boost/preprocessor/seq/transform.hpp | 48 -
boost/preprocessor/slot/detail/counter.hpp | 269 --
boost/preprocessor/slot/detail/def.hpp | 49 -
boost/preprocessor/slot/detail/shared.hpp | 247 --
boost/preprocessor/slot/detail/slot1.hpp | 267 --
boost/preprocessor/slot/detail/slot2.hpp | 267 --
boost/preprocessor/slot/detail/slot3.hpp | 267 --
boost/preprocessor/slot/detail/slot4.hpp | 267 --
boost/preprocessor/slot/detail/slot5.hpp | 267 --
boost/preprocessor/slot/slot.hpp | 32 -
boost/preprocessor/stringize.hpp | 33 -
boost/preprocessor/tuple/eat.hpp | 106 -
boost/preprocessor/tuple/elem.hpp | 191 -
boost/preprocessor/tuple/rem.hpp | 135 -
boost/preprocessor/tuple/to_list.hpp | 116 -
boost/preprocessor/variadic/elem.hpp | 94 -
boost/preprocessor/variadic/size.hpp | 30 -
boost/random.hpp | 85 -
boost/random/additive_combine.hpp | 283 --
boost/random/bernoulli_distribution.hpp | 197 -
boost/random/binomial_distribution.hpp | 422 ---
boost/random/cauchy_distribution.hpp | 214 --
boost/random/chi_squared_distribution.hpp | 209 --
boost/random/detail/config.hpp | 18 -
boost/random/detail/const_mod.hpp | 216 --
boost/random/detail/disable_warnings.hpp | 23 -
boost/random/detail/enable_warnings.hpp | 18 -
boost/random/detail/generator_bits.hpp | 36 -
boost/random/detail/generator_seed_seq.hpp | 40 -
boost/random/detail/integer_log2.hpp | 84 -
boost/random/detail/large_arithmetic.hpp | 122 -
boost/random/detail/operators.hpp | 84 -
boost/random/detail/ptr_helper.hpp | 94 -
boost/random/detail/seed.hpp | 114 -
boost/random/detail/seed_impl.hpp | 397 --
boost/random/detail/signed_unsigned_tools.hpp | 89 -
boost/random/detail/uniform_int_float.hpp | 76 -
boost/random/detail/vector_io.hpp | 75 -
boost/random/discard_block.hpp | 240 --
boost/random/discrete_distribution.hpp | 453 ---
boost/random/exponential_distribution.hpp | 182 -
boost/random/extreme_value_distribution.hpp | 177 -
boost/random/fisher_f_distribution.hpp | 183 -
boost/random/gamma_distribution.hpp | 292 --
boost/random/generate_canonical.hpp | 97 -
boost/random/geometric_distribution.hpp | 267 --
boost/random/independent_bits.hpp | 260 --
boost/random/inversive_congruential.hpp | 267 --
boost/random/lagged_fibonacci.hpp | 536 ---
boost/random/linear_congruential.hpp | 466 ---
boost/random/linear_feedback_shift.hpp | 217 --
boost/random/lognormal_distribution.hpp | 254 --
boost/random/mersenne_twister.hpp | 545 ---
boost/random/negative_binomial_distribution.hpp | 220 --
boost/random/normal_distribution.hpp | 223 --
boost/random/piecewise_constant_distribution.hpp | 466 ---
boost/random/piecewise_linear_distribution.hpp | 530 ---
boost/random/poisson_distribution.hpp | 360 --
boost/random/random_number_generator.hpp | 73 -
boost/random/ranlux.hpp | 99 -
boost/random/seed_seq.hpp | 118 -
boost/random/shuffle_order.hpp | 269 --
boost/random/shuffle_output.hpp | 51 -
boost/random/student_t_distribution.hpp | 180 -
boost/random/subtract_with_carry.hpp | 613 ----
boost/random/taus88.hpp | 45 -
boost/random/triangle_distribution.hpp | 232 --
boost/random/uniform_01.hpp | 277 --
boost/random/uniform_int.hpp | 99 -
boost/random/uniform_int_distribution.hpp | 400 --
boost/random/uniform_on_sphere.hpp | 229 --
boost/random/uniform_real.hpp | 82 -
boost/random/uniform_real_distribution.hpp | 239 --
boost/random/uniform_smallint.hpp | 288 --
boost/random/variate_generator.hpp | 122 -
boost/random/weibull_distribution.hpp | 177 -
boost/random/xor_combine.hpp | 207 --
boost/range/algorithm/equal.hpp | 198 -
boost/range/begin.hpp | 143 -
boost/range/concepts.hpp | 366 --
boost/range/config.hpp | 54 -
boost/range/const_iterator.hpp | 67 -
boost/range/detail/begin.hpp | 94 -
boost/range/detail/common.hpp | 117 -
boost/range/detail/const_iterator.hpp | 71 -
boost/range/detail/end.hpp | 101 -
boost/range/detail/extract_optional_type.hpp | 52 -
boost/range/detail/implementation_help.hpp | 103 -
boost/range/detail/iterator.hpp | 78 -
boost/range/detail/misc_concept.hpp | 33 -
boost/range/detail/remove_extent.hpp | 157 -
boost/range/detail/safe_bool.hpp | 72 -
boost/range/detail/sfinae.hpp | 77 -
boost/range/detail/size_type.hpp | 55 -
boost/range/detail/vc6/end.hpp | 170 -
boost/range/difference_type.hpp | 29 -
boost/range/distance.hpp | 34 -
boost/range/empty.hpp | 34 -
boost/range/end.hpp | 136 -
boost/range/functions.hpp | 27 -
boost/range/iterator.hpp | 72 -
boost/range/iterator_range_core.hpp | 653 ----
boost/range/mutable_iterator.hpp | 67 -
boost/range/rbegin.hpp | 65 -
boost/range/rend.hpp | 65 -
boost/range/result_iterator.hpp | 33 -
boost/range/reverse_iterator.hpp | 40 -
boost/range/size.hpp | 52 -
boost/range/size_type.hpp | 89 -
boost/range/value_type.hpp | 34 -
boost/ref.hpp | 189 -
boost/shared_ptr.hpp | 19 -
boost/smart_ptr/bad_weak_ptr.hpp | 59 -
boost/smart_ptr/detail/atomic_count.hpp | 119 -
boost/smart_ptr/detail/atomic_count_gcc.hpp | 72 -
boost/smart_ptr/detail/atomic_count_gcc_x86.hpp | 77 -
boost/smart_ptr/detail/atomic_count_pthreads.hpp | 96 -
boost/smart_ptr/detail/atomic_count_sync.hpp | 61 -
boost/smart_ptr/detail/atomic_count_win32.hpp | 63 -
boost/smart_ptr/detail/lightweight_mutex.hpp | 42 -
boost/smart_ptr/detail/lwm_nop.hpp | 37 -
boost/smart_ptr/detail/lwm_pthreads.hpp | 87 -
boost/smart_ptr/detail/lwm_win32_cs.hpp | 108 -
boost/smart_ptr/detail/operator_bool.hpp | 63 -
boost/smart_ptr/detail/quick_allocator.hpp | 199 -
boost/smart_ptr/detail/shared_count.hpp | 603 ---
boost/smart_ptr/detail/shared_ptr_nmt.hpp | 182 -
boost/smart_ptr/detail/sp_convertible.hpp | 91 -
boost/smart_ptr/detail/sp_counted_base.hpp | 79 -
.../smart_ptr/detail/sp_counted_base_acc_ia64.hpp | 151 -
boost/smart_ptr/detail/sp_counted_base_aix.hpp | 143 -
boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp | 171 -
.../smart_ptr/detail/sp_counted_base_gcc_ia64.hpp | 158 -
.../smart_ptr/detail/sp_counted_base_gcc_mips.hpp | 182 -
boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp | 182 -
.../smart_ptr/detail/sp_counted_base_gcc_sparc.hpp | 167 -
boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp | 174 -
boost/smart_ptr/detail/sp_counted_base_nt.hpp | 108 -
boost/smart_ptr/detail/sp_counted_base_pt.hpp | 136 -
boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp | 162 -
boost/smart_ptr/detail/sp_counted_base_spin.hpp | 132 -
boost/smart_ptr/detail/sp_counted_base_sync.hpp | 156 -
.../smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp | 151 -
boost/smart_ptr/detail/sp_counted_base_w32.hpp | 131 -
boost/smart_ptr/detail/sp_counted_impl.hpp | 254 --
boost/smart_ptr/detail/sp_has_sync.hpp | 69 -
boost/smart_ptr/detail/sp_nullptr_t.hpp | 45 -
boost/smart_ptr/detail/spinlock.hpp | 56 -
boost/smart_ptr/detail/spinlock_gcc_arm.hpp | 120 -
boost/smart_ptr/detail/spinlock_nt.hpp | 89 -
boost/smart_ptr/detail/spinlock_pool.hpp | 91 -
boost/smart_ptr/detail/spinlock_pt.hpp | 79 -
boost/smart_ptr/detail/spinlock_sync.hpp | 87 -
boost/smart_ptr/detail/spinlock_w32.hpp | 113 -
boost/smart_ptr/detail/yield_k.hpp | 148 -
boost/smart_ptr/shared_ptr.hpp | 1035 ------
boost/static_assert.hpp | 195 -
boost/swap.hpp | 12 -
boost/throw_exception.hpp | 103 -
boost/tr1/detail/config.hpp | 169 -
boost/tr1/detail/config_all.hpp | 168 -
boost/tr1/tuple.hpp | 82 -
boost/tuple/detail/tuple_basic.hpp | 980 -----
boost/tuple/detail/tuple_basic_no_partial_spec.hpp | 865 -----
boost/tuple/tuple.hpp | 90 -
boost/tuple/tuple_comparison.hpp | 175 -
boost/type.hpp | 18 -
boost/type_traits.hpp | 101 -
boost/type_traits/add_const.hpp | 47 -
boost/type_traits/add_cv.hpp | 48 -
boost/type_traits/add_lvalue_reference.hpp | 26 -
boost/type_traits/add_pointer.hpp | 72 -
boost/type_traits/add_reference.hpp | 107 -
boost/type_traits/add_rvalue_reference.hpp | 66 -
boost/type_traits/add_volatile.hpp | 47 -
boost/type_traits/aligned_storage.hpp | 13 -
boost/type_traits/alignment_of.hpp | 128 -
boost/type_traits/broken_compiler_spec.hpp | 117 -
boost/type_traits/common_type.hpp | 157 -
boost/type_traits/conditional.hpp | 25 -
boost/type_traits/config.hpp | 76 -
boost/type_traits/conversion_traits.hpp | 17 -
boost/type_traits/cv_traits.hpp | 24 -
boost/type_traits/decay.hpp | 44 -
boost/type_traits/detail/bool_trait_def.hpp | 196 -
boost/type_traits/detail/bool_trait_undef.hpp | 28 -
boost/type_traits/detail/common_type_imp.hpp | 333 --
boost/type_traits/detail/cv_traits_impl.hpp | 97 -
boost/type_traits/detail/false_result.hpp | 28 -
boost/type_traits/detail/has_binary_operator.hpp | 229 --
boost/type_traits/detail/has_postfix_operator.hpp | 202 -
boost/type_traits/detail/has_prefix_operator.hpp | 210 --
boost/type_traits/detail/ice_and.hpp | 35 -
boost/type_traits/detail/ice_eq.hpp | 36 -
boost/type_traits/detail/ice_not.hpp | 31 -
boost/type_traits/detail/ice_or.hpp | 34 -
.../type_traits/detail/is_function_ptr_helper.hpp | 220 --
.../type_traits/detail/is_function_ptr_tester.hpp | 654 ----
.../type_traits/detail/is_mem_fun_pointer_impl.hpp | 817 -----
.../detail/is_mem_fun_pointer_tester.hpp | 2759 --------------
boost/type_traits/detail/size_t_trait_def.hpp | 60 -
boost/type_traits/detail/size_t_trait_undef.hpp | 16 -
boost/type_traits/detail/template_arity_spec.hpp | 31 -
boost/type_traits/detail/type_trait_def.hpp | 67 -
boost/type_traits/detail/type_trait_undef.hpp | 19 -
boost/type_traits/detail/wrap.hpp | 18 -
boost/type_traits/detail/yes_no_type.hpp | 26 -
boost/type_traits/extent.hpp | 145 -
boost/type_traits/floating_point_promotion.hpp | 91 -
boost/type_traits/function_traits.hpp | 236 --
boost/type_traits/has_bit_and.hpp | 49 -
boost/type_traits/has_bit_and_assign.hpp | 55 -
boost/type_traits/has_bit_or.hpp | 49 -
boost/type_traits/has_bit_or_assign.hpp | 55 -
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 | 31 -
boost/type_traits/has_divides.hpp | 40 -
boost/type_traits/has_divides_assign.hpp | 47 -
boost/type_traits/has_equal_to.hpp | 49 -
boost/type_traits/has_greater.hpp | 49 -
boost/type_traits/has_greater_equal.hpp | 49 -
boost/type_traits/has_left_shift.hpp | 49 -
boost/type_traits/has_left_shift_assign.hpp | 55 -
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 | 23 -
boost/type_traits/has_logical_or.hpp | 40 -
boost/type_traits/has_minus.hpp | 60 -
boost/type_traits/has_minus_assign.hpp | 65 -
boost/type_traits/has_modulus.hpp | 49 -
boost/type_traits/has_modulus_assign.hpp | 55 -
boost/type_traits/has_multiplies.hpp | 40 -
boost/type_traits/has_multiplies_assign.hpp | 47 -
boost/type_traits/has_negate.hpp | 25 -
boost/type_traits/has_new_operator.hpp | 140 -
boost/type_traits/has_not_equal_to.hpp | 49 -
boost/type_traits/has_nothrow_assign.hpp | 44 -
boost/type_traits/has_nothrow_constructor.hpp | 53 -
boost/type_traits/has_nothrow_copy.hpp | 53 -
boost/type_traits/has_nothrow_destructor.hpp | 25 -
boost/type_traits/has_operator.hpp | 51 -
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 -
boost/type_traits/has_right_shift_assign.hpp | 55 -
boost/type_traits/has_trivial_assign.hpp | 57 -
boost/type_traits/has_trivial_constructor.hpp | 51 -
boost/type_traits/has_trivial_copy.hpp | 64 -
boost/type_traits/has_trivial_destructor.hpp | 49 -
boost/type_traits/has_trivial_move_assign.hpp | 57 -
boost/type_traits/has_trivial_move_constructor.hpp | 57 -
boost/type_traits/has_unary_minus.hpp | 25 -
boost/type_traits/has_unary_plus.hpp | 23 -
boost/type_traits/has_virtual_destructor.hpp | 29 -
boost/type_traits/ice.hpp | 20 -
boost/type_traits/integral_constant.hpp | 53 -
boost/type_traits/integral_promotion.hpp | 195 -
boost/type_traits/intrinsics.hpp | 305 --
boost/type_traits/is_abstract.hpp | 153 -
boost/type_traits/is_arithmetic.hpp | 51 -
boost/type_traits/is_array.hpp | 91 -
boost/type_traits/is_base_and_derived.hpp | 254 --
boost/type_traits/is_base_of.hpp | 51 -
boost/type_traits/is_class.hpp | 140 -
boost/type_traits/is_complex.hpp | 34 -
boost/type_traits/is_compound.hpp | 46 -
boost/type_traits/is_const.hpp | 165 -
boost/type_traits/is_convertible.hpp | 492 ---
boost/type_traits/is_copy_constructible.hpp | 122 -
boost/type_traits/is_empty.hpp | 229 --
boost/type_traits/is_enum.hpp | 189 -
boost/type_traits/is_float.hpp | 27 -
boost/type_traits/is_floating_point.hpp | 27 -
boost/type_traits/is_function.hpp | 111 -
boost/type_traits/is_fundamental.hpp | 45 -
boost/type_traits/is_integral.hpp | 89 -
boost/type_traits/is_lvalue_reference.hpp | 118 -
boost/type_traits/is_member_function_pointer.hpp | 136 -
boost/type_traits/is_member_object_pointer.hpp | 46 -
boost/type_traits/is_member_pointer.hpp | 116 -
boost/type_traits/is_nothrow_move_assignable.hpp | 84 -
.../type_traits/is_nothrow_move_constructible.hpp | 84 -
boost/type_traits/is_object.hpp | 53 -
boost/type_traits/is_pod.hpp | 145 -
boost/type_traits/is_pointer.hpp | 162 -
boost/type_traits/is_polymorphic.hpp | 114 -
boost/type_traits/is_reference.hpp | 45 -
boost/type_traits/is_rvalue_reference.hpp | 29 -
boost/type_traits/is_same.hpp | 103 -
boost/type_traits/is_scalar.hpp | 55 -
boost/type_traits/is_signed.hpp | 140 -
boost/type_traits/is_stateless.hpp | 48 -
boost/type_traits/is_union.hpp | 57 -
boost/type_traits/is_unsigned.hpp | 135 -
boost/type_traits/is_virtual_base_of.hpp | 104 -
boost/type_traits/is_void.hpp | 38 -
boost/type_traits/is_volatile.hpp | 152 -
boost/type_traits/make_signed.hpp | 153 -
boost/type_traits/make_unsigned.hpp | 153 -
boost/type_traits/msvc/remove_all_extents.hpp | 47 -
boost/type_traits/msvc/remove_bounds.hpp | 43 -
boost/type_traits/msvc/remove_const.hpp | 143 -
boost/type_traits/msvc/remove_cv.hpp | 190 -
boost/type_traits/msvc/remove_extent.hpp | 43 -
boost/type_traits/msvc/remove_pointer.hpp | 42 -
boost/type_traits/msvc/remove_reference.hpp | 42 -
boost/type_traits/msvc/remove_volatile.hpp | 143 -
boost/type_traits/msvc/typeof.hpp | 50 -
boost/type_traits/promote.hpp | 40 -
boost/type_traits/rank.hpp | 89 -
boost/type_traits/remove_all_extents.hpp | 48 -
boost/type_traits/remove_bounds.hpp | 48 -
boost/type_traits/remove_const.hpp | 90 -
boost/type_traits/remove_cv.hpp | 84 -
boost/type_traits/remove_extent.hpp | 48 -
boost/type_traits/remove_pointer.hpp | 92 -
boost/type_traits/remove_reference.hpp | 70 -
boost/type_traits/remove_volatile.hpp | 88 -
boost/type_traits/type_with_alignment.hpp | 399 --
boost/typeof/dmc/typeof_impl.hpp | 100 -
boost/typeof/encode_decode.hpp | 61 -
boost/typeof/encode_decode_params.hpp | 34 -
boost/typeof/int_encoding.hpp | 118 -
boost/typeof/integral_template_param.hpp | 80 -
boost/typeof/message.hpp | 8 -
boost/typeof/modifiers.hpp | 121 -
boost/typeof/msvc/typeof_impl.hpp | 283 --
boost/typeof/native.hpp | 60 -
boost/typeof/pointers_data_members.hpp | 38 -
boost/typeof/register_functions.hpp | 50 -
boost/typeof/register_functions_iterate.hpp | 135 -
boost/typeof/register_fundamental.hpp | 62 -
boost/typeof/register_mem_functions.hpp | 32 -
boost/typeof/template_encoding.hpp | 160 -
boost/typeof/template_template_param.hpp | 149 -
boost/typeof/type_encoding.hpp | 27 -
boost/typeof/type_template_param.hpp | 37 -
boost/typeof/typeof.hpp | 218 --
boost/typeof/typeof_impl.hpp | 186 -
boost/typeof/unsupported.hpp | 29 -
boost/typeof/vector.hpp | 166 -
boost/typeof/vector100.hpp | 321 --
boost/typeof/vector150.hpp | 471 ---
boost/typeof/vector200.hpp | 621 ----
boost/typeof/vector50.hpp | 171 -
boost/utility/addressof.hpp | 102 -
boost/utility/base_from_member.hpp | 158 -
boost/utility/compare_pointees.hpp | 68 -
boost/utility/declval.hpp | 44 -
boost/utility/detail/in_place_factory_prefix.hpp | 36 -
boost/utility/detail/in_place_factory_suffix.hpp | 23 -
boost/utility/detail/result_of_iterate.hpp | 221 --
boost/utility/enable_if.hpp | 119 -
boost/utility/in_place_factory.hpp | 88 -
boost/utility/result_of.hpp | 207 --
boost/utility/swap.hpp | 55 -
boost/version.hpp | 32 -
sam/.DS_Store | Bin 21508 -> 0 bytes
sam/.gitignore | 4 -
sam/AUTHORS | 20 -
sam/COPYING | 21 -
sam/ChangeLog.old | 3875 --------------------
sam/INSTALL | 30 -
sam/Makefile | 105 -
sam/Makefile.mingw | 63 -
sam/NEWS | 836 -----
sam/bam.c | 474 ---
sam/bam.h | 793 ----
sam/bam2bcf.c | 467 ---
sam/bam2bcf.h | 67 -
sam/bam2bcf_indel.c | 498 ---
sam/bam2depth.c | 143 -
sam/bam_aux.c | 217 --
sam/bam_cat.c | 185 -
sam/bam_color.c | 145 -
sam/bam_endian.h | 42 -
sam/bam_import.c | 489 ---
sam/bam_index.c | 726 ----
sam/bam_lpileup.c | 198 -
sam/bam_mate.c | 128 -
sam/bam_md.c | 389 --
sam/bam_pileup.c | 437 ---
sam/bam_plcmd.c | 606 ---
sam/bam_reheader.c | 62 -
sam/bam_rmdup.c | 206 --
sam/bam_rmdupse.c | 159 -
sam/bam_sort.c | 571 ---
sam/bam_stat.c | 77 -
sam/bam_tview.c | 368 --
sam/bam_tview.h | 75 -
sam/bam_tview_curses.c | 297 --
sam/bam_tview_html.c | 349 --
sam/bamshuf.c | 141 -
sam/bamtk.c | 119 -
sam/bcftools/._Makefile | Bin 222 -> 0 bytes
sam/bcftools/._README | Bin 222 -> 0 bytes
sam/bcftools/._bcf.c | Bin 222 -> 0 bytes
sam/bcftools/._bcf.h | Bin 222 -> 0 bytes
sam/bcftools/._bcf.tex | Bin 222 -> 0 bytes
sam/bcftools/._bcf2qcall.c | Bin 222 -> 0 bytes
sam/bcftools/._bcfutils.c | Bin 222 -> 0 bytes
sam/bcftools/._call1.c | Bin 222 -> 0 bytes
sam/bcftools/._em.c | Bin 222 -> 0 bytes
sam/bcftools/._fet.c | Bin 222 -> 0 bytes
sam/bcftools/._index.c | Bin 222 -> 0 bytes
sam/bcftools/._kfunc.c | Bin 222 -> 0 bytes
sam/bcftools/._kmin.c | Bin 222 -> 0 bytes
sam/bcftools/._kmin.h | Bin 222 -> 0 bytes
sam/bcftools/._main.c | Bin 222 -> 0 bytes
sam/bcftools/._mut.c | Bin 222 -> 0 bytes
sam/bcftools/._prob1.c | Bin 222 -> 0 bytes
sam/bcftools/._prob1.h | Bin 222 -> 0 bytes
sam/bcftools/._vcf.c | Bin 222 -> 0 bytes
sam/bcftools/._vcfutils.pl | Bin 222 -> 0 bytes
sam/bcftools/Makefile | 51 -
sam/bcftools/README | 36 -
sam/bcftools/bcf.c | 396 --
sam/bcftools/bcf.h | 197 -
sam/bcftools/bcf.tex | 77 -
sam/bcftools/bcf2qcall.c | 91 -
sam/bcftools/bcfutils.c | 504 ---
sam/bcftools/call1.c | 633 ----
sam/bcftools/em.c | 310 --
sam/bcftools/fet.c | 112 -
sam/bcftools/index.c | 336 --
sam/bcftools/kfunc.c | 162 -
sam/bcftools/kmin.c | 209 --
sam/bcftools/kmin.h | 46 -
sam/bcftools/main.c | 191 -
sam/bcftools/mut.c | 127 -
sam/bcftools/prob1.c | 988 -----
sam/bcftools/prob1.h | 49 -
sam/bcftools/vcf.c | 249 --
sam/bcftools/vcfutils.pl | 567 ---
sam/bedcov.c | 127 -
sam/bedidx.c | 162 -
sam/bgzf.c | 694 ----
sam/bgzf.h | 207 --
sam/bgzip.c | 206 --
sam/cut_target.c | 193 -
sam/errmod.c | 130 -
sam/errmod.h | 24 -
sam/examples/._00README.txt | Bin 222 -> 0 bytes
sam/examples/._Makefile | Bin 222 -> 0 bytes
sam/examples/._bam2bed.c | Bin 222 -> 0 bytes
sam/examples/._calDepth.c | Bin 222 -> 0 bytes
sam/examples/._chk_indel.c | Bin 222 -> 0 bytes
sam/examples/._ex1.fa | Bin 222 -> 0 bytes
sam/examples/._ex1.sam.gz | Bin 222 -> 0 bytes
sam/examples/._toy.fa | Bin 222 -> 0 bytes
sam/examples/._toy.sam | Bin 222 -> 0 bytes
sam/examples/00README.txt | 23 -
sam/examples/Makefile | 50 -
sam/examples/bam2bed.c | 51 -
sam/examples/calDepth.c | 62 -
sam/examples/chk_indel.c | 83 -
sam/examples/ex1.fa | 56 -
sam/examples/ex1.sam.gz | Bin 114565 -> 0 bytes
sam/examples/toy.fa | 4 -
sam/examples/toy.sam | 14 -
sam/faidx.c | 437 ---
sam/faidx.h | 103 -
sam/kaln.c | 486 ---
sam/kaln.h | 67 -
sam/khash.h | 528 ---
sam/klist.h | 96 -
sam/knetfile.c | 632 ----
sam/knetfile.h | 75 -
sam/kprobaln.c | 280 --
sam/kprobaln.h | 49 -
sam/kseq.h | 235 --
sam/ksort.h | 285 --
sam/kstring.c | 212 --
sam/kstring.h | 169 -
sam/misc/._HmmGlocal.java | Bin 222 -> 0 bytes
sam/misc/._Makefile | Bin 222 -> 0 bytes
sam/misc/._ace2sam.c | Bin 222 -> 0 bytes
sam/misc/._bamcheck.c | Bin 222 -> 0 bytes
sam/misc/._blast2sam.pl | Bin 222 -> 0 bytes
sam/misc/._bowtie2sam.pl | Bin 222 -> 0 bytes
sam/misc/._export2sam.pl | Bin 222 -> 0 bytes
sam/misc/._interpolate_sam.pl | Bin 222 -> 0 bytes
sam/misc/._maq2sam.c | Bin 222 -> 0 bytes
sam/misc/._md5.c | Bin 222 -> 0 bytes
sam/misc/._md5.h | Bin 222 -> 0 bytes
sam/misc/._md5fa.c | Bin 222 -> 0 bytes
sam/misc/._novo2sam.pl | Bin 222 -> 0 bytes
sam/misc/._plot-bamcheck | Bin 222 -> 0 bytes
sam/misc/._psl2sam.pl | Bin 222 -> 0 bytes
sam/misc/._r2plot.lua | Bin 222 -> 0 bytes
sam/misc/._sam2vcf.pl | Bin 222 -> 0 bytes
sam/misc/._samtools.pl | Bin 222 -> 0 bytes
sam/misc/._soap2sam.pl | Bin 222 -> 0 bytes
sam/misc/._varfilter.py | Bin 222 -> 0 bytes
sam/misc/._vcfutils.lua | Bin 222 -> 0 bytes
sam/misc/._wgsim.c | Bin 222 -> 0 bytes
sam/misc/._wgsim_eval.pl | Bin 222 -> 0 bytes
sam/misc/._zoom2sam.pl | Bin 222 -> 0 bytes
sam/misc/HmmGlocal.java | 178 -
sam/misc/Makefile | 69 -
sam/misc/ace2sam.c | 249 --
sam/misc/bamcheck.c | 1521 --------
sam/misc/blast2sam.pl | 92 -
sam/misc/bowtie2sam.pl | 92 -
sam/misc/export2sam.pl | 545 ---
sam/misc/interpolate_sam.pl | 125 -
sam/misc/maq2sam.c | 173 -
sam/misc/md5.c | 296 --
sam/misc/md5.h | 57 -
sam/misc/md5fa.c | 58 -
sam/misc/novo2sam.pl | 281 --
sam/misc/plot-bamcheck | 882 -----
sam/misc/psl2sam.pl | 65 -
sam/misc/r2plot.lua | 83 -
sam/misc/sam2vcf.pl | 270 --
sam/misc/samtools.pl | 528 ---
sam/misc/soap2sam.pl | 109 -
sam/misc/varfilter.py | 205 --
sam/misc/vcfutils.lua | 694 ----
sam/misc/wgsim.c | 419 ---
sam/misc/wgsim_eval.pl | 91 -
sam/misc/zoom2sam.pl | 97 -
sam/padding.c | 479 ---
sam/phase.c | 687 ----
sam/razf.c | 853 -----
sam/razf.h | 134 -
sam/razip.c | 141 -
sam/sam.c | 186 -
sam/sam.h | 99 -
sam/sam_header.c | 810 ----
sam/sam_header.h | 48 -
sam/sam_view.c | 441 ---
sam/sample.c | 107 -
sam/sample.h | 17 -
sam/samtools.1 | 1066 ------
sam/win32/._xcurses.h | Bin 222 -> 0 bytes
sam/win32/._zconf.h | Bin 222 -> 0 bytes
sam/win32/._zlib.h | Bin 222 -> 0 bytes
sam/win32/xcurses.h | 1377 -------
sam/win32/zconf.h | 332 --
sam/win32/zlib.h | 1357 -------
2161 files changed, 20 insertions(+), 379410 deletions(-)
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..794b993
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,20 @@
+*.o
+*.a
+*~
+rsem-bam2readdepth
+rsem-bam2wig
+rsem-build-read-index
+rsem-calculate-credibility-intervals
+rsem-extract-reference-transcripts
+rsem-get-unique
+rsem-parse-alignments
+rsem-preref
+rsem-run-em
+rsem-run-gibbs
+rsem-simulate-reads
+rsem-synthesis-reference-transcripts
+rsem-tbam2gbam
+rsem-sam-validator
+rsem-scan-for-paired-end-reads
+EBSeq/rsem-for-ebseq-calculate-clustering-info
+sam/samtools
diff --git a/boost/aligned_storage.hpp b/boost/aligned_storage.hpp
deleted file mode 100644
index ce277ab..0000000
--- a/boost/aligned_storage.hpp
+++ /dev/null
@@ -1,181 +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 <cstddef> // 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<max_align>::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 mpl::eval_if_c<
- alignment_ == std::size_t(-1)
- , mpl::identity<detail::max_align>
- , type_with_alignment<alignment_>
- >::type align_;
- } data_;
- void* address() const { return const_cast<aligned_storage_imp*>(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
- detail::aligned_storage::aligned_storage_imp<size_, alignment_>
-{
-
-public: // constants
-
- typedef detail::aligned_storage::aligned_storage_imp<size_, alignment_> 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_
- )
- );
-
-#if defined(__GNUC__) &&\
- (__GNUC__ > 3) ||\
- (__GNUC__ == 3 && (__GNUC_MINOR__ > 2 ||\
- (__GNUC_MINOR__ == 2 && __GNUC_PATCHLEVEL__ >=3)))
-
-private: // noncopyable
-
- aligned_storage(const aligned_storage&);
- aligned_storage& operator=(const aligned_storage&);
-
-#else // gcc less than 3.2.3
-
-public: // _should_ be noncopyable, but GCC compiler emits error
-
- aligned_storage(const aligned_storage&);
- aligned_storage& operator=(const aligned_storage&);
-
-#endif // gcc < 3.2.3 workaround
-
-public: // structors
-
- aligned_storage()
- {
- }
-
- ~aligned_storage()
- {
- }
-
-public: // accessors
-
- void* address()
- {
- return static_cast<type*>(this)->address();
- }
-
-#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-
- const void* address() const
- {
- return static_cast<const type*>(this)->address();
- }
-
-#else // MSVC6
-
- const void* address() const;
-
-#endif // MSVC6 workaround
-
-};
-
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-
-// MSVC6 seems not to like inline functions with const void* returns, so we
-// declare the following here:
-
-template <std::size_t S, std::size_t A>
-const void* aligned_storage<S,A>::address() const
-{
- return const_cast< aligned_storage<S,A>* >(this)->address();
-}
-
-#endif // MSVC6 workaround
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-//
-// Make sure that is_pod recognises aligned_storage<>::type
-// as a POD (Note that aligned_storage<> itself is not a POD):
-//
-template <std::size_t size_, std::size_t alignment_>
-struct is_pod<boost::detail::aligned_storage::aligned_storage_imp<size_,alignment_> >
- BOOST_TT_AUX_BOOL_C_BASE(true)
-{
- BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(true)
-};
-#endif
-
-
-} // namespace boost
-
-#include "boost/type_traits/detail/bool_trait_undef.hpp"
-
-#endif // BOOST_ALIGNED_STORAGE_HPP
diff --git a/boost/array.hpp b/boost/array.hpp
deleted file mode 100644
index fa06fa9..0000000
--- a/boost/array.hpp
+++ /dev/null
@@ -1,446 +0,0 @@
-/* The following code declares class array,
- * an STL container (as wrapper) for arrays of constant size.
- *
- * See
- * http://www.boost.org/libs/array/
- * for documentation.
- *
- * The original author site is at: http://www.josuttis.com/
- *
- * (C) Copyright Nicolai M. Josuttis 2001.
- *
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * 14 Apr 2012 - (mtc) Added support for boost::hash
- * 28 Dec 2010 - (mtc) Added cbegin and cend (and crbegin and crend) for C++Ox compatibility.
- * 10 Mar 2010 - (mtc) fill method added, matching resolution of the standard library working group.
- * See <http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#776> or Trac issue #3168
- * Eventually, we should remove "assign" which is now a synonym for "fill" (Marshall Clow)
- * 10 Mar 2010 - added workaround for SUNCC and !STLPort [trac #3893] (Marshall Clow)
- * 29 Jan 2004 - c_array() added, BOOST_NO_PRIVATE_IN_AGGREGATE removed (Nico Josuttis)
- * 23 Aug 2002 - fix for Non-MSVC compilers combined with MSVC libraries.
- * 05 Aug 2001 - minor update (Nico Josuttis)
- * 20 Jan 2001 - STLport fix (Beman Dawes)
- * 29 Sep 2000 - Initial Revision (Nico Josuttis)
- *
- * Jan 29, 2004
- */
-#ifndef BOOST_ARRAY_HPP
-#define BOOST_ARRAY_HPP
-
-#include <boost/detail/workaround.hpp>
-
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-# pragma warning(push)
-# pragma warning(disable:4996) // 'std::equal': Function call with parameters that may be unsafe
-# pragma warning(disable:4510) // boost::array<T,N>' : default constructor could not be generated
-# pragma warning(disable:4610) // warning C4610: class 'boost::array<T,N>' can never be instantiated - user defined constructor required
-#endif
-
-#include <cstddef>
-#include <stdexcept>
-#include <boost/assert.hpp>
-#include <boost/swap.hpp>
-
-// Handles broken standard libraries better than <iterator>
-#include <boost/detail/iterator.hpp>
-#include <boost/throw_exception.hpp>
-#include <boost/functional/hash_fwd.hpp>
-#include <algorithm>
-
-// FIXES for broken compilers
-#include <boost/config.hpp>
-
-
-namespace boost {
-
- template<class T, std::size_t N>
- class array {
- public:
- T elems[N]; // fixed-size array of elements of type T
-
- public:
- // type definitions
- typedef T value_type;
- typedef T* iterator;
- typedef const T* const_iterator;
- typedef T& reference;
- typedef const T& const_reference;
- typedef std::size_t size_type;
- typedef std::ptrdiff_t difference_type;
-
- // iterator support
- iterator begin() { return elems; }
- const_iterator begin() const { return elems; }
- const_iterator cbegin() const { return elems; }
-
- iterator end() { return elems+N; }
- const_iterator end() const { return elems+N; }
- const_iterator cend() const { return elems+N; }
-
- // reverse iterator support
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_MSVC_STD_ITERATOR) && !defined(BOOST_NO_STD_ITERATOR_TRAITS)
- typedef std::reverse_iterator<iterator> reverse_iterator;
- typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
-#elif defined(_MSC_VER) && (_MSC_VER == 1300) && defined(BOOST_DINKUMWARE_STDLIB) && (BOOST_DINKUMWARE_STDLIB == 310)
- // workaround for broken reverse_iterator in VC7
- typedef std::reverse_iterator<std::_Ptrit<value_type, difference_type, iterator,
- reference, iterator, reference> > reverse_iterator;
- typedef std::reverse_iterator<std::_Ptrit<value_type, difference_type, const_iterator,
- const_reference, iterator, reference> > const_reverse_iterator;
-#elif defined(_RWSTD_NO_CLASS_PARTIAL_SPEC)
- typedef std::reverse_iterator<iterator, std::random_access_iterator_tag,
- value_type, reference, iterator, difference_type> reverse_iterator;
- typedef std::reverse_iterator<const_iterator, std::random_access_iterator_tag,
- value_type, const_reference, const_iterator, difference_type> const_reverse_iterator;
-#else
- // workaround for broken reverse_iterator implementations
- typedef std::reverse_iterator<iterator,T> reverse_iterator;
- typedef std::reverse_iterator<const_iterator,T> const_reverse_iterator;
-#endif
-
- 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());
- }
-
- // operator[]
- reference operator[](size_type i)
- {
- BOOST_ASSERT_MSG( i < N, "out of range" );
- return elems[i];
- }
-
- const_reference operator[](size_type i) const
- {
- BOOST_ASSERT_MSG( i < N, "out of range" );
- return elems[i];
- }
-
- // at() with range check
- reference at(size_type i) { rangecheck(i); return elems[i]; }
- const_reference at(size_type i) const { rangecheck(i); return elems[i]; }
-
- // front() and back()
- reference front()
- {
- return elems[0];
- }
-
- const_reference front() const
- {
- return elems[0];
- }
-
- reference back()
- {
- return elems[N-1];
- }
-
- const_reference back() const
- {
- return elems[N-1];
- }
-
- // size is constant
- static size_type size() { return N; }
- static bool empty() { return false; }
- static size_type max_size() { return N; }
- enum { static_size = N };
-
- // swap (note: linear complexity)
- void swap (array<T,N>& y) {
- for (size_type i = 0; i < N; ++i)
- boost::swap(elems[i],y.elems[i]);
- }
-
- // direct access to data (read-only)
- const T* data() const { return elems; }
- T* data() { return elems; }
-
- // use array as C array (direct read/write access to data)
- T* c_array() { return elems; }
-
- // assignment with type conversion
- template <typename T2>
- array<T,N>& operator= (const array<T2,N>& rhs) {
- std::copy(rhs.begin(),rhs.end(), begin());
- return *this;
- }
-
- // assign one value to all elements
- void assign (const T& value) { fill ( value ); } // A synonym for fill
- void fill (const T& value)
- {
- std::fill_n(begin(),size(),value);
- }
-
- // check range (may be private because it is static)
- static void rangecheck (size_type i) {
- if (i >= size()) {
- std::out_of_range e("array<>: index out of range");
- boost::throw_exception(e);
- }
- }
-
- };
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
- template< class T >
- class array< T, 0 > {
-
- public:
- // type definitions
- typedef T value_type;
- typedef T* iterator;
- typedef const T* const_iterator;
- typedef T& reference;
- typedef const T& const_reference;
- typedef std::size_t size_type;
- typedef std::ptrdiff_t difference_type;
-
- // iterator support
- iterator begin() { return iterator( reinterpret_cast< T * >( this ) ); }
- const_iterator begin() const { return const_iterator( reinterpret_cast< const T * >( this ) ); }
- const_iterator cbegin() const { return const_iterator( reinterpret_cast< const T * >( this ) ); }
-
- iterator end() { return begin(); }
- const_iterator end() const { return begin(); }
- const_iterator cend() const { return cbegin(); }
-
- // reverse iterator support
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_MSVC_STD_ITERATOR) && !defined(BOOST_NO_STD_ITERATOR_TRAITS)
- typedef std::reverse_iterator<iterator> reverse_iterator;
- typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
-#elif defined(_MSC_VER) && (_MSC_VER == 1300) && defined(BOOST_DINKUMWARE_STDLIB) && (BOOST_DINKUMWARE_STDLIB == 310)
- // workaround for broken reverse_iterator in VC7
- typedef std::reverse_iterator<std::_Ptrit<value_type, difference_type, iterator,
- reference, iterator, reference> > reverse_iterator;
- typedef std::reverse_iterator<std::_Ptrit<value_type, difference_type, const_iterator,
- const_reference, iterator, reference> > const_reverse_iterator;
-#elif defined(_RWSTD_NO_CLASS_PARTIAL_SPEC)
- typedef std::reverse_iterator<iterator, std::random_access_iterator_tag,
- value_type, reference, iterator, difference_type> reverse_iterator;
- typedef std::reverse_iterator<const_iterator, std::random_access_iterator_tag,
- value_type, const_reference, const_iterator, difference_type> const_reverse_iterator;
-#else
- // workaround for broken reverse_iterator implementations
- typedef std::reverse_iterator<iterator,T> reverse_iterator;
- typedef std::reverse_iterator<const_iterator,T> const_reverse_iterator;
-#endif
-
- 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());
- }
-
- // operator[]
- reference operator[](size_type /*i*/)
- {
- return failed_rangecheck();
- }
-
- const_reference operator[](size_type /*i*/) const
- {
- return failed_rangecheck();
- }
-
- // at() with range check
- reference at(size_type /*i*/) { return failed_rangecheck(); }
- const_reference at(size_type /*i*/) const { return failed_rangecheck(); }
-
- // front() and back()
- reference front()
- {
- return failed_rangecheck();
- }
-
- const_reference front() const
- {
- return failed_rangecheck();
- }
-
- reference back()
- {
- return failed_rangecheck();
- }
-
- const_reference back() const
- {
- return failed_rangecheck();
- }
-
- // size is constant
- static size_type size() { return 0; }
- static bool empty() { return true; }
- static size_type max_size() { return 0; }
- enum { static_size = 0 };
-
- void swap (array<T,0>& /*y*/) {
- }
-
- // direct access to data (read-only)
- const T* data() const { return 0; }
- T* data() { return 0; }
-
- // use array as C array (direct read/write access to data)
- T* c_array() { return 0; }
-
- // assignment with type conversion
- template <typename T2>
- array<T,0>& operator= (const array<T2,0>& ) {
- return *this;
- }
-
- // assign one value to all elements
- void assign (const T& value) { fill ( value ); }
- void fill (const T& ) {}
-
- // check range (may be private because it is static)
- static reference failed_rangecheck () {
- std::out_of_range e("attempt to access element of an empty array");
- boost::throw_exception(e);
-#if defined(BOOST_NO_EXCEPTIONS) || (!defined(BOOST_MSVC) && !defined(__PATHSCALE__))
- //
- // We need to return something here to keep
- // some compilers happy: however we will never
- // actually get here....
- //
- static T placeholder;
- return placeholder;
-#endif
- }
- };
-#endif
-
- // comparisons
- template<class T, std::size_t N>
- bool operator== (const array<T,N>& x, const array<T,N>& y) {
- return std::equal(x.begin(), x.end(), y.begin());
- }
- template<class T, std::size_t N>
- bool operator< (const array<T,N>& x, const array<T,N>& y) {
- return std::lexicographical_compare(x.begin(),x.end(),y.begin(),y.end());
- }
- template<class T, std::size_t N>
- bool operator!= (const array<T,N>& x, const array<T,N>& y) {
- return !(x==y);
- }
- template<class T, std::size_t N>
- bool operator> (const array<T,N>& x, const array<T,N>& y) {
- return y<x;
- }
- template<class T, std::size_t N>
- bool operator<= (const array<T,N>& x, const array<T,N>& y) {
- return !(y<x);
- }
- template<class T, std::size_t N>
- bool operator>= (const array<T,N>& x, const array<T,N>& y) {
- return !(x<y);
- }
-
- // global swap()
- template<class T, std::size_t N>
- inline void swap (array<T,N>& x, array<T,N>& y) {
- x.swap(y);
- }
-
-#if defined(__SUNPRO_CC)
-// Trac ticket #4757; the Sun Solaris compiler can't handle
-// syntax like 'T(&get_c_array(boost::array<T,N>& arg))[N]'
-//
-// We can't just use this for all compilers, because the
-// borland compilers can't handle this form.
- namespace detail {
- template <typename T, std::size_t N> struct c_array
- {
- typedef T type[N];
- };
- }
-
- // Specific for boost::array: simply returns its elems data member.
- template <typename T, std::size_t N>
- typename detail::c_array<T,N>::type& get_c_array(boost::array<T,N>& arg)
- {
- return arg.elems;
- }
-
- // Specific for boost::array: simply returns its elems data member.
- template <typename T, std::size_t N>
- typename const detail::c_array<T,N>::type& get_c_array(const boost::array<T,N>& arg)
- {
- return arg.elems;
- }
-#else
-// Specific for boost::array: simply returns its elems data member.
- template <typename T, std::size_t N>
- T(&get_c_array(boost::array<T,N>& arg))[N]
- {
- return arg.elems;
- }
-
- // Const version.
- template <typename T, std::size_t N>
- const T(&get_c_array(const boost::array<T,N>& arg))[N]
- {
- return arg.elems;
- }
-#endif
-
-#if 0
- // Overload for std::array, assuming that std::array will have
- // explicit conversion functions as discussed at the WG21 meeting
- // in Summit, March 2009.
- template <typename T, std::size_t N>
- T(&get_c_array(std::array<T,N>& arg))[N]
- {
- return static_cast<T(&)[N]>(arg);
- }
-
- // Const version.
- template <typename T, std::size_t N>
- const T(&get_c_array(const std::array<T,N>& arg))[N]
- {
- return static_cast<T(&)[N]>(arg);
- }
-#endif
-
-
- template<class T, std::size_t N>
- std::size_t hash_value(const array<T,N>& arr)
- {
- return boost::hash_range(arr.begin(), arr.end());
- }
-
-} /* namespace boost */
-
-
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-# pragma warning(pop)
-#endif
-
-#endif /*BOOST_ARRAY_HPP*/
diff --git a/boost/assert.hpp b/boost/assert.hpp
deleted file mode 100644
index ccc776a..0000000
--- a/boost/assert.hpp
+++ /dev/null
@@ -1,141 +0,0 @@
-//
-// boost/assert.hpp - BOOST_ASSERT(expr)
-// BOOST_ASSERT_MSG(expr, msg)
-// BOOST_VERIFY(expr)
-//
-// Copyright (c) 2001, 2002 Peter Dimov and Multi Media Ltd.
-// Copyright (c) 2007 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/utility/assert.html for documentation.
-//
-
-//
-// Stop inspect complaining about use of 'assert':
-//
-// boostinspect:naassert_macro
-//
-
-//--------------------------------------------------------------------------------------//
-// BOOST_ASSERT //
-//--------------------------------------------------------------------------------------//
-
-#undef BOOST_ASSERT
-
-#if defined(BOOST_DISABLE_ASSERTS)
-
-# define BOOST_ASSERT(expr) ((void)0)
-
-#elif defined(BOOST_ENABLE_ASSERT_HANDLER)
-
-#include <boost/config.hpp>
-#include <boost/current_function.hpp>
-
-namespace boost
-{
- void assertion_failed(char const * expr,
- 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__))
-
-#else
-# include <assert.h> // .h to support old libraries w/o <cassert> - effect is the same
-# define BOOST_ASSERT(expr) assert(expr)
-#endif
-
-//--------------------------------------------------------------------------------------//
-// BOOST_ASSERT_MSG //
-//--------------------------------------------------------------------------------------//
-
-# undef BOOST_ASSERT_MSG
-
-#if defined(BOOST_DISABLE_ASSERTS) || defined(NDEBUG)
-
- #define BOOST_ASSERT_MSG(expr, msg) ((void)0)
-
-#elif defined(BOOST_ENABLE_ASSERT_HANDLER)
-
- #include <boost/config.hpp>
- #include <boost/current_function.hpp>
-
- namespace boost
- {
- 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_MSG(expr, msg) (BOOST_LIKELY(!!(expr)) \
- ? ((void)0) \
- : ::boost::assertion_failed_msg(#expr, msg, BOOST_CURRENT_FUNCTION, __FILE__, __LINE__))
-
-#else
- #ifndef BOOST_ASSERT_HPP
- #define BOOST_ASSERT_HPP
- #include <cstdlib>
- #include <iostream>
- #include <boost/config.hpp>
- #include <boost/current_function.hpp>
-
- // IDE's like Visual Studio perform better if output goes to std::cout or
- // some other stream, so allow user to configure output stream:
- #ifndef BOOST_ASSERT_MSG_OSTREAM
- # define BOOST_ASSERT_MSG_OSTREAM std::cerr
- #endif
-
- namespace boost
- {
- namespace assertion
- {
- namespace detail
- {
- // Note: The template is needed to make the function non-inline and avoid linking errors
- template< typename CharT >
- BOOST_NOINLINE void assertion_failed_msg(CharT const * expr, char const * msg, char const * function,
- char const * file, long line)
- {
- BOOST_ASSERT_MSG_OSTREAM
- << "***** Internal Program Error - assertion (" << expr << ") failed in "
- << function << ":\n"
- << file << '(' << line << "): " << msg << std::endl;
-#ifdef UNDER_CE
- // The Windows CE CRT library does not have abort() so use exit(-1) instead.
- std::exit(-1);
-#else
- std::abort();
-#endif
- }
- } // detail
- } // assertion
- } // detail
- #endif
-
- #define BOOST_ASSERT_MSG(expr, msg) (BOOST_LIKELY(!!(expr)) \
- ? ((void)0) \
- : ::boost::assertion::detail::assertion_failed_msg(#expr, msg, \
- BOOST_CURRENT_FUNCTION, __FILE__, __LINE__))
-#endif
-
-//--------------------------------------------------------------------------------------//
-// BOOST_VERIFY //
-//--------------------------------------------------------------------------------------//
-
-#undef BOOST_VERIFY
-
-#if defined(BOOST_DISABLE_ASSERTS) || ( !defined(BOOST_ENABLE_ASSERT_HANDLER) && defined(NDEBUG) )
-
-# define BOOST_VERIFY(expr) ((void)(expr))
-
-#else
-
-# define BOOST_VERIFY(expr) BOOST_ASSERT(expr)
-
-#endif
diff --git a/boost/blank.hpp b/boost/blank.hpp
deleted file mode 100644
index d0fe5ab..0000000
--- a/boost/blank.hpp
+++ /dev/null
@@ -1,106 +0,0 @@
-//-----------------------------------------------------------------------------
-// boost blank.hpp header file
-// See http://www.boost.org for updates, documentation, and revision history.
-//-----------------------------------------------------------------------------
-//
-// Copyright (c) 2003
-// Eric Friedman
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_BLANK_HPP
-#define BOOST_BLANK_HPP
-
-#include "boost/blank_fwd.hpp"
-
-#if !defined(BOOST_NO_IOSTREAM)
-#include <iosfwd> // for std::basic_ostream forward declare
-#include "boost/detail/templated_streams.hpp"
-#endif // BOOST_NO_IOSTREAM
-
-#include "boost/mpl/bool.hpp"
-#include "boost/type_traits/is_empty.hpp"
-#include "boost/type_traits/is_pod.hpp"
-#include "boost/type_traits/is_stateless.hpp"
-
-namespace boost {
-
-struct blank
-{
-};
-
-// type traits specializations
-//
-
-template <>
-struct is_pod< blank >
- : mpl::true_
-{
-};
-
-template <>
-struct is_empty< blank >
- : mpl::true_
-{
-};
-
-template <>
-struct is_stateless< blank >
- : mpl::true_
-{
-};
-
-// relational operators
-//
-
-inline bool operator==(const blank&, const blank&)
-{
- return true;
-}
-
-inline bool operator<=(const blank&, const blank&)
-{
- return true;
-}
-
-inline bool operator>=(const blank&, const blank&)
-{
- return true;
-}
-
-inline bool operator!=(const blank&, const blank&)
-{
- return false;
-}
-
-inline bool operator<(const blank&, const blank&)
-{
- return false;
-}
-
-inline bool operator>(const blank&, const blank&)
-{
- return false;
-}
-
-// streaming support
-//
-#if !defined(BOOST_NO_IOSTREAM)
-
-BOOST_TEMPLATED_STREAM_TEMPLATE(E,T)
-inline BOOST_TEMPLATED_STREAM(ostream, E,T)& operator<<(
- BOOST_TEMPLATED_STREAM(ostream, E,T)& out
- , const blank&
- )
-{
- // (output nothing)
- return out;
-}
-
-#endif // BOOST_NO_IOSTREAM
-
-} // namespace boost
-
-#endif // BOOST_BLANK_HPP
diff --git a/boost/blank_fwd.hpp b/boost/blank_fwd.hpp
deleted file mode 100644
index 8bfe97c..0000000
--- a/boost/blank_fwd.hpp
+++ /dev/null
@@ -1,22 +0,0 @@
-//-----------------------------------------------------------------------------
-// boost blank_fwd.hpp header file
-// See http://www.boost.org for updates, documentation, and revision history.
-//-----------------------------------------------------------------------------
-//
-// Copyright (c) 2003
-// Eric Friedman
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_BLANK_FWD_HPP
-#define BOOST_BLANK_FWD_HPP
-
-namespace boost {
-
-struct blank;
-
-} // namespace boost
-
-#endif // BOOST_BLANK_FWD_HPP
diff --git a/boost/checked_delete.hpp b/boost/checked_delete.hpp
deleted file mode 100644
index 9bb84e8..0000000
--- a/boost/checked_delete.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-#ifndef BOOST_CHECKED_DELETE_HPP_INCLUDED
-#define BOOST_CHECKED_DELETE_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// boost/checked_delete.hpp
-//
-// Copyright (c) 2002, 2003 Peter Dimov
-// Copyright (c) 2003 Daniel Frey
-// Copyright (c) 2003 Howard Hinnant
-//
-// Distributed under the Boost Software License, Version 1.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/checked_delete.html for documentation.
-//
-
-namespace boost
-{
-
-// verify that types are complete for increased safety
-
-template<class T> inline void checked_delete(T * x)
-{
- // intentionally complex - simplification causes regressions
- typedef char type_must_be_complete[ sizeof(T)? 1: -1 ];
- (void) sizeof(type_must_be_complete);
- delete x;
-}
-
-template<class T> inline void checked_array_delete(T * x)
-{
- typedef char type_must_be_complete[ sizeof(T)? 1: -1 ];
- (void) sizeof(type_must_be_complete);
- delete [] x;
-}
-
-template<class T> struct checked_deleter
-{
- typedef void result_type;
- typedef T * argument_type;
-
- void operator()(T * x) const
- {
- // boost:: disables ADL
- boost::checked_delete(x);
- }
-};
-
-template<class T> struct checked_array_deleter
-{
- typedef void result_type;
- typedef T * argument_type;
-
- void operator()(T * x) const
- {
- boost::checked_array_delete(x);
- }
-};
-
-} // namespace boost
-
-#endif // #ifndef BOOST_CHECKED_DELETE_HPP_INCLUDED
diff --git a/boost/concept/assert.hpp b/boost/concept/assert.hpp
deleted file mode 100644
index 80eca81..0000000
--- a/boost/concept/assert.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright David Abrahams 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_CONCEPT_ASSERT_DWA2006430_HPP
-# define BOOST_CONCEPT_ASSERT_DWA2006430_HPP
-
-# include <boost/config.hpp>
-# include <boost/detail/workaround.hpp>
-
-// The old protocol used a constraints() member function in concept
-// checking classes. If the compiler supports SFINAE, we can detect
-// that function and seamlessly support the old concept checking
-// classes. In this release, backward compatibility with the old
-// concept checking classes is enabled by default, where available.
-// The old protocol is deprecated, though, and backward compatibility
-// will no longer be the default in the next release.
-
-# if !defined(BOOST_NO_OLD_CONCEPT_SUPPORT) \
- && !defined(BOOST_NO_SFINAE) \
- \
- && !(BOOST_WORKAROUND(__GNUC__, == 3) && BOOST_WORKAROUND(__GNUC_MINOR__, < 4)) \
- && !(BOOST_WORKAROUND(__GNUC__, == 2))
-
-// Note: gcc-2.96 through 3.3.x have some SFINAE, but no ability to
-// check for the presence of particularmember functions.
-
-# define BOOST_OLD_CONCEPT_SUPPORT
-
-# endif
-
-# ifdef BOOST_MSVC
-# include <boost/concept/detail/msvc.hpp>
-# elif BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-# include <boost/concept/detail/borland.hpp>
-# else
-# include <boost/concept/detail/general.hpp>
-# endif
-
- // Usage, in class or function context:
- //
- // BOOST_CONCEPT_ASSERT((UnaryFunctionConcept<F,bool,int>));
- //
-# define BOOST_CONCEPT_ASSERT(ModelInParens) \
- BOOST_CONCEPT_ASSERT_FN(void(*)ModelInParens)
-
-#endif // BOOST_CONCEPT_ASSERT_DWA2006430_HPP
diff --git a/boost/concept/detail/backward_compatibility.hpp b/boost/concept/detail/backward_compatibility.hpp
deleted file mode 100644
index 66d573e..0000000
--- a/boost/concept/detail/backward_compatibility.hpp
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright David Abrahams 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)
-#ifndef BOOST_CONCEPT_BACKWARD_COMPATIBILITY_DWA200968_HPP
-# define BOOST_CONCEPT_BACKWARD_COMPATIBILITY_DWA200968_HPP
-
-namespace boost
-{
- namespace concepts {}
-
-# if defined(BOOST_HAS_CONCEPTS) && !defined(BOOST_CONCEPT_NO_BACKWARD_KEYWORD)
- namespace concept = concepts;
-# endif
-} // namespace boost::concept
-
-#endif // BOOST_CONCEPT_BACKWARD_COMPATIBILITY_DWA200968_HPP
diff --git a/boost/concept/detail/borland.hpp b/boost/concept/detail/borland.hpp
deleted file mode 100644
index 300d5d4..0000000
--- a/boost/concept/detail/borland.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright David Abrahams 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_CONCEPT_DETAIL_BORLAND_DWA2006429_HPP
-# define BOOST_CONCEPT_DETAIL_BORLAND_DWA2006429_HPP
-
-# include <boost/preprocessor/cat.hpp>
-# include <boost/concept/detail/backward_compatibility.hpp>
-
-namespace boost { namespace concepts {
-
-template <class ModelFnPtr>
-struct require;
-
-template <class Model>
-struct require<void(*)(Model)>
-{
- enum { instantiate = sizeof((((Model*)0)->~Model()), 3) };
-};
-
-# define BOOST_CONCEPT_ASSERT_FN( ModelFnPtr ) \
- enum \
- { \
- BOOST_PP_CAT(boost_concept_check,__LINE__) = \
- boost::concepts::require<ModelFnPtr>::instantiate \
- }
-
-}} // namespace boost::concept
-
-#endif // BOOST_CONCEPT_DETAIL_BORLAND_DWA2006429_HPP
diff --git a/boost/concept/detail/concept_def.hpp b/boost/concept/detail/concept_def.hpp
deleted file mode 100644
index 79f628e..0000000
--- a/boost/concept/detail/concept_def.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-// Copyright David Abrahams 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_CONCEPT_DETAIL_CONCEPT_DEF_DWA200651_HPP
-# define BOOST_CONCEPT_DETAIL_CONCEPT_DEF_DWA200651_HPP
-# include <boost/preprocessor/seq/for_each_i.hpp>
-# include <boost/preprocessor/seq/enum.hpp>
-# include <boost/preprocessor/comma_if.hpp>
-# include <boost/preprocessor/cat.hpp>
-#endif // BOOST_CONCEPT_DETAIL_CONCEPT_DEF_DWA200651_HPP
-
-// BOOST_concept(SomeName, (p1)(p2)...(pN))
-//
-// Expands to "template <class p1, class p2, ...class pN> struct SomeName"
-//
-// Also defines an equivalent SomeNameConcept for backward compatibility.
-// Maybe in the next release we can kill off the "Concept" suffix for good.
-#if BOOST_WORKAROUND(__GNUC__, <= 3)
-# define BOOST_concept(name, params) \
- template < BOOST_PP_SEQ_FOR_EACH_I(BOOST_CONCEPT_typename,~,params) > \
- struct name; /* forward declaration */ \
- \
- template < BOOST_PP_SEQ_FOR_EACH_I(BOOST_CONCEPT_typename,~,params) > \
- struct BOOST_PP_CAT(name,Concept) \
- : name< BOOST_PP_SEQ_ENUM(params) > \
- { \
- /* at least 2.96 and 3.4.3 both need this */ \
- BOOST_PP_CAT(name,Concept)(); \
- }; \
- \
- template < BOOST_PP_SEQ_FOR_EACH_I(BOOST_CONCEPT_typename,~,params) > \
- struct name
-#else
-# define BOOST_concept(name, params) \
- template < BOOST_PP_SEQ_FOR_EACH_I(BOOST_CONCEPT_typename,~,params) > \
- struct name; /* forward declaration */ \
- \
- template < BOOST_PP_SEQ_FOR_EACH_I(BOOST_CONCEPT_typename,~,params) > \
- struct BOOST_PP_CAT(name,Concept) \
- : name< BOOST_PP_SEQ_ENUM(params) > \
- { \
- }; \
- \
- template < BOOST_PP_SEQ_FOR_EACH_I(BOOST_CONCEPT_typename,~,params) > \
- struct name
-#endif
-
-// Helper for BOOST_concept, above.
-# define BOOST_CONCEPT_typename(r, ignored, index, t) \
- BOOST_PP_COMMA_IF(index) typename t
-
diff --git a/boost/concept/detail/concept_undef.hpp b/boost/concept/detail/concept_undef.hpp
deleted file mode 100644
index 713db89..0000000
--- a/boost/concept/detail/concept_undef.hpp
+++ /dev/null
@@ -1,5 +0,0 @@
-// Copyright David Abrahams 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)
-# undef BOOST_concept_typename
-# undef BOOST_concept
diff --git a/boost/concept/detail/general.hpp b/boost/concept/detail/general.hpp
deleted file mode 100644
index e3014c1..0000000
--- a/boost/concept/detail/general.hpp
+++ /dev/null
@@ -1,75 +0,0 @@
-// Copyright David Abrahams 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_CONCEPT_DETAIL_GENERAL_DWA2006429_HPP
-# define BOOST_CONCEPT_DETAIL_GENERAL_DWA2006429_HPP
-
-# include <boost/preprocessor/cat.hpp>
-# include <boost/concept/detail/backward_compatibility.hpp>
-
-# ifdef BOOST_OLD_CONCEPT_SUPPORT
-# include <boost/concept/detail/has_constraints.hpp>
-# include <boost/mpl/if.hpp>
-# endif
-
-// This implementation works on Comeau and GCC, all the way back to
-// 2.95
-namespace boost { namespace concepts {
-
-template <class ModelFn>
-struct requirement_;
-
-namespace detail
-{
- template <void(*)()> struct instantiate {};
-}
-
-template <class Model>
-struct requirement
-{
- static void failed() { ((Model*)0)->~Model(); }
-};
-
-struct failed {};
-
-template <class Model>
-struct requirement<failed ************ Model::************>
-{
- static void failed() { ((Model*)0)->~Model(); }
-};
-
-# ifdef BOOST_OLD_CONCEPT_SUPPORT
-
-template <class Model>
-struct constraint
-{
- static void failed() { ((Model*)0)->constraints(); }
-};
-
-template <class Model>
-struct requirement_<void(*)(Model)>
- : mpl::if_<
- concepts::not_satisfied<Model>
- , constraint<Model>
- , requirement<failed ************ Model::************>
- >::type
-{};
-
-# else
-
-// For GCC-2.x, these can't have exactly the same name
-template <class Model>
-struct requirement_<void(*)(Model)>
- : requirement<failed ************ Model::************>
-{};
-
-# endif
-
-# define BOOST_CONCEPT_ASSERT_FN( ModelFnPtr ) \
- typedef ::boost::concepts::detail::instantiate< \
- &::boost::concepts::requirement_<ModelFnPtr>::failed> \
- BOOST_PP_CAT(boost_concept_check,__LINE__)
-
-}}
-
-#endif // BOOST_CONCEPT_DETAIL_GENERAL_DWA2006429_HPP
diff --git a/boost/concept/detail/has_constraints.hpp b/boost/concept/detail/has_constraints.hpp
deleted file mode 100644
index a309db3..0000000
--- a/boost/concept/detail/has_constraints.hpp
+++ /dev/null
@@ -1,50 +0,0 @@
-// Copyright David Abrahams 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_CONCEPT_DETAIL_HAS_CONSTRAINTS_DWA2006429_HPP
-# define BOOST_CONCEPT_DETAIL_HAS_CONSTRAINTS_DWA2006429_HPP
-
-# include <boost/mpl/bool.hpp>
-# include <boost/detail/workaround.hpp>
-# include <boost/concept/detail/backward_compatibility.hpp>
-
-namespace boost { namespace concepts {
-
-namespace detail
-{
-
-// Here we implement the metafunction that detects whether a
-// constraints metafunction exists
- typedef char yes;
- typedef char (&no)[2];
-
- template <class Model, void (Model::*)()>
- struct wrap_constraints {};
-
-#if BOOST_WORKAROUND(__SUNPRO_CC, <= 0x580) || defined(__CUDACC__)
- // Work around the following bogus error in Sun Studio 11, by
- // turning off the has_constraints function entirely:
- // Error: complex expression not allowed in dependent template
- // argument expression
- inline no has_constraints_(...);
-#else
- template <class Model>
- inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
- inline no has_constraints_(...);
-#endif
-}
-
-// This would be called "detail::has_constraints," but it has a strong
-// tendency to show up in error messages.
-template <class Model>
-struct not_satisfied
-{
- BOOST_STATIC_CONSTANT(
- bool
- , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
- typedef mpl::bool_<value> type;
-};
-
-}} // namespace boost::concepts::detail
-
-#endif // BOOST_CONCEPT_DETAIL_HAS_CONSTRAINTS_DWA2006429_HPP
diff --git a/boost/concept/detail/msvc.hpp b/boost/concept/detail/msvc.hpp
deleted file mode 100644
index 9fbd250..0000000
--- a/boost/concept/detail/msvc.hpp
+++ /dev/null
@@ -1,114 +0,0 @@
-// Copyright David Abrahams 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_CONCEPT_CHECK_MSVC_DWA2006429_HPP
-# define BOOST_CONCEPT_CHECK_MSVC_DWA2006429_HPP
-
-# include <boost/preprocessor/cat.hpp>
-# include <boost/concept/detail/backward_compatibility.hpp>
-
-# ifdef BOOST_OLD_CONCEPT_SUPPORT
-# include <boost/concept/detail/has_constraints.hpp>
-# include <boost/mpl/if.hpp>
-# endif
-
-
-namespace boost { namespace concepts {
-
-
-template <class Model>
-struct check
-{
- virtual void failed(Model* x)
- {
- x->~Model();
- }
-};
-
-# ifndef BOOST_NO_PARTIAL_SPECIALIZATION
-struct failed {};
-template <class Model>
-struct check<failed ************ Model::************>
-{
- virtual void failed(Model* x)
- {
- x->~Model();
- }
-};
-# endif
-
-# ifdef BOOST_OLD_CONCEPT_SUPPORT
-
-namespace detail
-{
- // No need for a virtual function here, since evaluating
- // not_satisfied below will have already instantiated the
- // constraints() member.
- struct constraint {};
-}
-
-template <class Model>
-struct require
- : mpl::if_c<
- not_satisfied<Model>::value
- , detail::constraint
-# ifndef BOOST_NO_PARTIAL_SPECIALIZATION
- , check<Model>
-# else
- , check<failed ************ Model::************>
-# endif
- >::type
-{};
-
-# else
-
-template <class Model>
-struct require
-# ifndef BOOST_NO_PARTIAL_SPECIALIZATION
- : check<Model>
-# else
- : check<failed ************ Model::************>
-# endif
-{};
-
-# endif
-
-# if BOOST_WORKAROUND(BOOST_MSVC, == 1310)
-
-//
-// The iterator library sees some really strange errors unless we
-// do things this way.
-//
-template <class Model>
-struct require<void(*)(Model)>
-{
- virtual void failed(Model*)
- {
- require<Model>();
- }
-};
-
-# define BOOST_CONCEPT_ASSERT_FN( ModelFnPtr ) \
-enum \
-{ \
- BOOST_PP_CAT(boost_concept_check,__LINE__) = \
- sizeof(::boost::concepts::require<ModelFnPtr>) \
-}
-
-# else // Not vc-7.1
-
-template <class Model>
-require<Model>
-require_(void(*)(Model));
-
-# define BOOST_CONCEPT_ASSERT_FN( ModelFnPtr ) \
-enum \
-{ \
- BOOST_PP_CAT(boost_concept_check,__LINE__) = \
- sizeof(::boost::concepts::require_((ModelFnPtr)0)) \
-}
-
-# endif
-}}
-
-#endif // BOOST_CONCEPT_CHECK_MSVC_DWA2006429_HPP
diff --git a/boost/concept/usage.hpp b/boost/concept/usage.hpp
deleted file mode 100644
index 21547c3..0000000
--- a/boost/concept/usage.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright David Abrahams 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_CONCEPT_USAGE_DWA2006919_HPP
-# define BOOST_CONCEPT_USAGE_DWA2006919_HPP
-
-# include <boost/concept/assert.hpp>
-# include <boost/detail/workaround.hpp>
-# include <boost/concept/detail/backward_compatibility.hpp>
-
-namespace boost { namespace concepts {
-
-# if BOOST_WORKAROUND(__GNUC__, == 2)
-
-# define BOOST_CONCEPT_USAGE(model) ~model()
-
-# else
-
-template <class Model>
-struct usage_requirements
-{
- ~usage_requirements() { ((Model*)0)->~Model(); }
-};
-
-# if BOOST_WORKAROUND(__GNUC__, <= 3)
-
-# define BOOST_CONCEPT_USAGE(model) \
- model(); /* at least 2.96 and 3.4.3 both need this :( */ \
- BOOST_CONCEPT_ASSERT((boost::concepts::usage_requirements<model>)); \
- ~model()
-
-# else
-
-# define BOOST_CONCEPT_USAGE(model) \
- BOOST_CONCEPT_ASSERT((boost::concepts::usage_requirements<model>)); \
- ~model()
-
-# endif
-
-# endif
-
-}} // namespace boost::concepts
-
-#endif // BOOST_CONCEPT_USAGE_DWA2006919_HPP
diff --git a/boost/concept_check.hpp b/boost/concept_check.hpp
deleted file mode 100644
index bf5a2af..0000000
--- a/boost/concept_check.hpp
+++ /dev/null
@@ -1,1083 +0,0 @@
-//
-// (C) Copyright Jeremy Siek 2000.
-// Copyright 2002 The Trustees of Indiana University.
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// Revision History:
-// 05 May 2001: Workarounds for HP aCC from Thomas Matelich. (Jeremy Siek)
-// 02 April 2001: Removed limits header altogether. (Jeremy Siek)
-// 01 April 2001: Modified to use new <boost/limits.hpp> header. (JMaddock)
-//
-
-// See http://www.boost.org/libs/concept_check for documentation.
-
-#ifndef BOOST_CONCEPT_CHECKS_HPP
-# define BOOST_CONCEPT_CHECKS_HPP
-
-# include <boost/concept/assert.hpp>
-
-# include <boost/iterator.hpp>
-# include <boost/type_traits/conversion_traits.hpp>
-# include <utility>
-# include <boost/type_traits/is_same.hpp>
-# include <boost/type_traits/is_void.hpp>
-# include <boost/mpl/assert.hpp>
-# include <boost/mpl/bool.hpp>
-# include <boost/detail/workaround.hpp>
-# include <boost/detail/iterator.hpp>
-
-# include <boost/concept/usage.hpp>
-# include <boost/concept/detail/concept_def.hpp>
-
-namespace boost
-{
-
- //
- // Backward compatibility
- //
-
- template <class Model>
- inline void function_requires(Model* = 0)
- {
- BOOST_CONCEPT_ASSERT((Model));
- }
- template <class T> inline void ignore_unused_variable_warning(T const&) {}
-
-# define BOOST_CLASS_REQUIRE(type_var, ns, concept) \
- BOOST_CONCEPT_ASSERT((ns::concept<type_var>))
-
-# define BOOST_CLASS_REQUIRE2(type_var1, type_var2, ns, concept) \
- BOOST_CONCEPT_ASSERT((ns::concept<type_var1,type_var2>))
-
-# define BOOST_CLASS_REQUIRE3(tv1, tv2, tv3, ns, concept) \
- BOOST_CONCEPT_ASSERT((ns::concept<tv1,tv2,tv3>))
-
-# define BOOST_CLASS_REQUIRE4(tv1, tv2, tv3, tv4, ns, concept) \
- BOOST_CONCEPT_ASSERT((ns::concept<tv1,tv2,tv3,tv4>))
-
-
- //
- // Begin concept definitions
- //
- BOOST_concept(Integer, (T))
- {
- BOOST_CONCEPT_USAGE(Integer)
- {
- x.error_type_must_be_an_integer_type();
- }
- private:
- T x;
- };
-
- template <> struct Integer<char> {};
- template <> struct Integer<signed char> {};
- template <> struct Integer<unsigned char> {};
- template <> struct Integer<short> {};
- template <> struct Integer<unsigned short> {};
- template <> struct Integer<int> {};
- template <> struct Integer<unsigned int> {};
- template <> struct Integer<long> {};
- template <> struct Integer<unsigned long> {};
-# if defined(BOOST_HAS_LONG_LONG)
- template <> struct Integer< ::boost::long_long_type> {};
- template <> struct Integer< ::boost::ulong_long_type> {};
-# elif defined(BOOST_HAS_MS_INT64)
- template <> struct Integer<__int64> {};
- template <> struct Integer<unsigned __int64> {};
-# endif
-
- BOOST_concept(SignedInteger,(T)) {
- BOOST_CONCEPT_USAGE(SignedInteger) {
- x.error_type_must_be_a_signed_integer_type();
- }
- private:
- T x;
- };
- template <> struct SignedInteger<signed char> { };
- template <> struct SignedInteger<short> {};
- template <> struct SignedInteger<int> {};
- template <> struct SignedInteger<long> {};
-# if defined(BOOST_HAS_LONG_LONG)
- template <> struct SignedInteger< ::boost::long_long_type> {};
-# elif defined(BOOST_HAS_MS_INT64)
- template <> struct SignedInteger<__int64> {};
-# endif
-
- BOOST_concept(UnsignedInteger,(T)) {
- BOOST_CONCEPT_USAGE(UnsignedInteger) {
- x.error_type_must_be_an_unsigned_integer_type();
- }
- private:
- T x;
- };
-
- template <> struct UnsignedInteger<unsigned char> {};
- template <> struct UnsignedInteger<unsigned short> {};
- template <> struct UnsignedInteger<unsigned int> {};
- template <> struct UnsignedInteger<unsigned long> {};
-# if defined(BOOST_HAS_LONG_LONG)
- template <> struct UnsignedInteger< ::boost::ulong_long_type> {};
-# elif defined(BOOST_HAS_MS_INT64)
- template <> struct UnsignedInteger<unsigned __int64> {};
-# endif
-
- //===========================================================================
- // Basic Concepts
-
- BOOST_concept(DefaultConstructible,(TT))
- {
- BOOST_CONCEPT_USAGE(DefaultConstructible) {
- TT a; // require default constructor
- ignore_unused_variable_warning(a);
- }
- };
-
- BOOST_concept(Assignable,(TT))
- {
- BOOST_CONCEPT_USAGE(Assignable) {
-#if !defined(_ITERATOR_) // back_insert_iterator broken for VC++ STL
- a = b; // require assignment operator
-#endif
- const_constraints(b);
- }
- private:
- void const_constraints(const TT& x) {
-#if !defined(_ITERATOR_) // back_insert_iterator broken for VC++ STL
- a = x; // const required for argument to assignment
-#else
- ignore_unused_variable_warning(x);
-#endif
- }
- private:
- TT a;
- TT b;
- };
-
-
- BOOST_concept(CopyConstructible,(TT))
- {
- BOOST_CONCEPT_USAGE(CopyConstructible) {
- TT a(b); // require copy constructor
- TT* ptr = &a; // require address of operator
- const_constraints(a);
- ignore_unused_variable_warning(ptr);
- }
- private:
- void const_constraints(const TT& a) {
- TT c(a); // require const copy constructor
- const TT* ptr = &a; // require const address of operator
- ignore_unused_variable_warning(c);
- ignore_unused_variable_warning(ptr);
- }
- TT b;
- };
-
-#if (defined _MSC_VER)
-# pragma warning( push )
-# pragma warning( disable : 4510 ) // default constructor could not be generated
-# pragma warning( disable : 4610 ) // object 'class' can never be instantiated - user-defined constructor required
-#endif
- // The SGI STL version of Assignable requires copy constructor and operator=
- BOOST_concept(SGIAssignable,(TT))
- {
- BOOST_CONCEPT_USAGE(SGIAssignable) {
- TT c(a);
-#if !defined(_ITERATOR_) // back_insert_iterator broken for VC++ STL
- a = b; // require assignment operator
-#endif
- const_constraints(b);
- ignore_unused_variable_warning(c);
- }
- private:
- void const_constraints(const TT& x) {
- TT c(x);
-#if !defined(_ITERATOR_) // back_insert_iterator broken for VC++ STL
- a = x; // const required for argument to assignment
-#endif
- ignore_unused_variable_warning(c);
- }
- TT a;
- TT b;
- };
-#if (defined _MSC_VER)
-# pragma warning( pop )
-#endif
-
- BOOST_concept(Convertible,(X)(Y))
- {
- BOOST_CONCEPT_USAGE(Convertible) {
- Y y = x;
- ignore_unused_variable_warning(y);
- }
- private:
- X x;
- };
-
- // The C++ standard requirements for many concepts talk about return
- // types that must be "convertible to bool". The problem with this
- // requirement is that it leaves the door open for evil proxies that
- // define things like operator|| with strange return types. Two
- // possible solutions are:
- // 1) require the return type to be exactly bool
- // 2) stay with convertible to bool, and also
- // specify stuff about all the logical operators.
- // For now we just test for convertible to bool.
- template <class TT>
- void require_boolean_expr(const TT& t) {
- bool x = t;
- ignore_unused_variable_warning(x);
- }
-
- BOOST_concept(EqualityComparable,(TT))
- {
- BOOST_CONCEPT_USAGE(EqualityComparable) {
- require_boolean_expr(a == b);
- require_boolean_expr(a != b);
- }
- private:
- TT a, b;
- };
-
- BOOST_concept(LessThanComparable,(TT))
- {
- BOOST_CONCEPT_USAGE(LessThanComparable) {
- require_boolean_expr(a < b);
- }
- private:
- TT a, b;
- };
-
- // This is equivalent to SGI STL's LessThanComparable.
- BOOST_concept(Comparable,(TT))
- {
- BOOST_CONCEPT_USAGE(Comparable) {
- require_boolean_expr(a < b);
- require_boolean_expr(a > b);
- require_boolean_expr(a <= b);
- require_boolean_expr(a >= b);
- }
- private:
- TT a, b;
- };
-
-#define BOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(OP,NAME) \
- BOOST_concept(NAME, (First)(Second)) \
- { \
- BOOST_CONCEPT_USAGE(NAME) { (void)constraints_(); } \
- private: \
- bool constraints_() { return a OP b; } \
- First a; \
- Second b; \
- }
-
-#define BOOST_DEFINE_BINARY_OPERATOR_CONSTRAINT(OP,NAME) \
- BOOST_concept(NAME, (Ret)(First)(Second)) \
- { \
- BOOST_CONCEPT_USAGE(NAME) { (void)constraints_(); } \
- private: \
- Ret constraints_() { return a OP b; } \
- First a; \
- Second b; \
- }
-
- BOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(==, EqualOp);
- BOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(!=, NotEqualOp);
- BOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(<, LessThanOp);
- BOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(<=, LessEqualOp);
- BOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(>, GreaterThanOp);
- BOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(>=, GreaterEqualOp);
-
- BOOST_DEFINE_BINARY_OPERATOR_CONSTRAINT(+, PlusOp);
- BOOST_DEFINE_BINARY_OPERATOR_CONSTRAINT(*, TimesOp);
- BOOST_DEFINE_BINARY_OPERATOR_CONSTRAINT(/, DivideOp);
- BOOST_DEFINE_BINARY_OPERATOR_CONSTRAINT(-, SubtractOp);
- BOOST_DEFINE_BINARY_OPERATOR_CONSTRAINT(%, ModOp);
-
- //===========================================================================
- // Function Object Concepts
-
- BOOST_concept(Generator,(Func)(Return))
- {
- BOOST_CONCEPT_USAGE(Generator) { test(is_void<Return>()); }
-
- private:
- void test(boost::mpl::false_)
- {
- // Do we really want a reference here?
- const Return& r = f();
- ignore_unused_variable_warning(r);
- }
-
- void test(boost::mpl::true_)
- {
- f();
- }
-
- Func f;
- };
-
- BOOST_concept(UnaryFunction,(Func)(Return)(Arg))
- {
- BOOST_CONCEPT_USAGE(UnaryFunction) { test(is_void<Return>()); }
-
- private:
- void test(boost::mpl::false_)
- {
- f(arg); // "priming the pump" this way keeps msvc6 happy (ICE)
- Return r = f(arg);
- ignore_unused_variable_warning(r);
- }
-
- void test(boost::mpl::true_)
- {
- f(arg);
- }
-
-#if (BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4) \
- && BOOST_WORKAROUND(__GNUC__, > 3)))
- // Declare a dummy construktor to make gcc happy.
- // It seems the compiler can not generate a sensible constructor when this is instantiated with a refence type.
- // (warning: non-static reference "const double& boost::UnaryFunction<YourClassHere>::arg"
- // in class without a constructor [-Wuninitialized])
- UnaryFunction();
-#endif
-
- Func f;
- Arg arg;
- };
-
- BOOST_concept(BinaryFunction,(Func)(Return)(First)(Second))
- {
- BOOST_CONCEPT_USAGE(BinaryFunction) { test(is_void<Return>()); }
- private:
- void test(boost::mpl::false_)
- {
- f(first,second);
- Return r = f(first, second); // require operator()
- (void)r;
- }
-
- void test(boost::mpl::true_)
- {
- f(first,second);
- }
-
-#if (BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4) \
- && BOOST_WORKAROUND(__GNUC__, > 3)))
- // Declare a dummy constructor to make gcc happy.
- // It seems the compiler can not generate a sensible constructor when this is instantiated with a refence type.
- // (warning: non-static reference "const double& boost::BinaryFunction<YourClassHere>::arg"
- // in class without a constructor [-Wuninitialized])
- BinaryFunction();
-#endif
-
- Func f;
- First first;
- Second second;
- };
-
- BOOST_concept(UnaryPredicate,(Func)(Arg))
- {
- BOOST_CONCEPT_USAGE(UnaryPredicate) {
- require_boolean_expr(f(arg)); // require operator() returning bool
- }
- private:
-#if (BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4) \
- && BOOST_WORKAROUND(__GNUC__, > 3)))
- // Declare a dummy constructor to make gcc happy.
- // It seems the compiler can not generate a sensible constructor when this is instantiated with a refence type.
- // (warning: non-static reference "const double& boost::UnaryPredicate<YourClassHere>::arg"
- // in class without a constructor [-Wuninitialized])
- UnaryPredicate();
-#endif
-
- Func f;
- Arg arg;
- };
-
- BOOST_concept(BinaryPredicate,(Func)(First)(Second))
- {
- BOOST_CONCEPT_USAGE(BinaryPredicate) {
- require_boolean_expr(f(a, b)); // require operator() returning bool
- }
- private:
-#if (BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4) \
- && BOOST_WORKAROUND(__GNUC__, > 3)))
- // Declare a dummy constructor to make gcc happy.
- // It seems the compiler can not generate a sensible constructor when this is instantiated with a refence type.
- // (warning: non-static reference "const double& boost::BinaryPredicate<YourClassHere>::arg"
- // in class without a constructor [-Wuninitialized])
- BinaryPredicate();
-#endif
- Func f;
- First a;
- Second b;
- };
-
- // use this when functor is used inside a container class like std::set
- BOOST_concept(Const_BinaryPredicate,(Func)(First)(Second))
- : BinaryPredicate<Func, First, Second>
- {
- BOOST_CONCEPT_USAGE(Const_BinaryPredicate) {
- const_constraints(f);
- }
- private:
- void const_constraints(const Func& fun) {
- // operator() must be a const member function
- require_boolean_expr(fun(a, b));
- }
-#if (BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4) \
- && BOOST_WORKAROUND(__GNUC__, > 3)))
- // Declare a dummy constructor to make gcc happy.
- // It seems the compiler can not generate a sensible constructor when this is instantiated with a refence type.
- // (warning: non-static reference "const double& boost::Const_BinaryPredicate<YourClassHere>::arg"
- // in class without a constructor [-Wuninitialized])
- Const_BinaryPredicate();
-#endif
-
- Func f;
- First a;
- Second b;
- };
-
- BOOST_concept(AdaptableGenerator,(Func)(Return))
- : Generator<Func, typename Func::result_type>
- {
- typedef typename Func::result_type result_type;
-
- BOOST_CONCEPT_USAGE(AdaptableGenerator)
- {
- BOOST_CONCEPT_ASSERT((Convertible<result_type, Return>));
- }
- };
-
- BOOST_concept(AdaptableUnaryFunction,(Func)(Return)(Arg))
- : UnaryFunction<Func, typename Func::result_type, typename Func::argument_type>
- {
- typedef typename Func::argument_type argument_type;
- typedef typename Func::result_type result_type;
-
- ~AdaptableUnaryFunction()
- {
- BOOST_CONCEPT_ASSERT((Convertible<result_type, Return>));
- BOOST_CONCEPT_ASSERT((Convertible<Arg, argument_type>));
- }
- };
-
- BOOST_concept(AdaptableBinaryFunction,(Func)(Return)(First)(Second))
- : BinaryFunction<
- Func
- , typename Func::result_type
- , typename Func::first_argument_type
- , typename Func::second_argument_type
- >
- {
- typedef typename Func::first_argument_type first_argument_type;
- typedef typename Func::second_argument_type second_argument_type;
- typedef typename Func::result_type result_type;
-
- ~AdaptableBinaryFunction()
- {
- BOOST_CONCEPT_ASSERT((Convertible<result_type, Return>));
- BOOST_CONCEPT_ASSERT((Convertible<First, first_argument_type>));
- BOOST_CONCEPT_ASSERT((Convertible<Second, second_argument_type>));
- }
- };
-
- BOOST_concept(AdaptablePredicate,(Func)(Arg))
- : UnaryPredicate<Func, Arg>
- , AdaptableUnaryFunction<Func, bool, Arg>
- {
- };
-
- BOOST_concept(AdaptableBinaryPredicate,(Func)(First)(Second))
- : BinaryPredicate<Func, First, Second>
- , AdaptableBinaryFunction<Func, bool, First, Second>
- {
- };
-
- //===========================================================================
- // Iterator Concepts
-
- BOOST_concept(InputIterator,(TT))
- : Assignable<TT>
- , EqualityComparable<TT>
- {
- typedef typename boost::detail::iterator_traits<TT>::value_type value_type;
- typedef typename boost::detail::iterator_traits<TT>::difference_type difference_type;
- typedef typename boost::detail::iterator_traits<TT>::reference reference;
- typedef typename boost::detail::iterator_traits<TT>::pointer pointer;
- typedef typename boost::detail::iterator_traits<TT>::iterator_category iterator_category;
-
- BOOST_CONCEPT_USAGE(InputIterator)
- {
- BOOST_CONCEPT_ASSERT((SignedInteger<difference_type>));
- BOOST_CONCEPT_ASSERT((Convertible<iterator_category, std::input_iterator_tag>));
-
- TT j(i);
- (void)*i; // require dereference operator
- ++j; // require preincrement operator
- i++; // require postincrement operator
- }
- private:
- TT i;
- };
-
- BOOST_concept(OutputIterator,(TT)(ValueT))
- : Assignable<TT>
- {
- BOOST_CONCEPT_USAGE(OutputIterator) {
-
- ++i; // require preincrement operator
- i++; // require postincrement operator
- *i++ = t; // require postincrement and assignment
- }
- private:
- TT i, j;
- ValueT t;
- };
-
- BOOST_concept(ForwardIterator,(TT))
- : InputIterator<TT>
- {
- BOOST_CONCEPT_USAGE(ForwardIterator)
- {
- BOOST_CONCEPT_ASSERT((Convertible<
- BOOST_DEDUCED_TYPENAME ForwardIterator::iterator_category
- , std::forward_iterator_tag
- >));
-
- typename InputIterator<TT>::reference r = *i;
- ignore_unused_variable_warning(r);
- }
-
- private:
- TT i;
- };
-
- BOOST_concept(Mutable_ForwardIterator,(TT))
- : ForwardIterator<TT>
- {
- BOOST_CONCEPT_USAGE(Mutable_ForwardIterator) {
- *i++ = *i; // require postincrement and assignment
- }
- private:
- TT i;
- };
-
- BOOST_concept(BidirectionalIterator,(TT))
- : ForwardIterator<TT>
- {
- BOOST_CONCEPT_USAGE(BidirectionalIterator)
- {
- BOOST_CONCEPT_ASSERT((Convertible<
- BOOST_DEDUCED_TYPENAME BidirectionalIterator::iterator_category
- , std::bidirectional_iterator_tag
- >));
-
- --i; // require predecrement operator
- i--; // require postdecrement operator
- }
- private:
- TT i;
- };
-
- BOOST_concept(Mutable_BidirectionalIterator,(TT))
- : BidirectionalIterator<TT>
- , Mutable_ForwardIterator<TT>
- {
- BOOST_CONCEPT_USAGE(Mutable_BidirectionalIterator)
- {
- *i-- = *i; // require postdecrement and assignment
- }
- private:
- TT i;
- };
-
- BOOST_concept(RandomAccessIterator,(TT))
- : BidirectionalIterator<TT>
- , Comparable<TT>
- {
- BOOST_CONCEPT_USAGE(RandomAccessIterator)
- {
- BOOST_CONCEPT_ASSERT((Convertible<
- BOOST_DEDUCED_TYPENAME BidirectionalIterator<TT>::iterator_category
- , std::random_access_iterator_tag
- >));
-
- i += n; // require assignment addition operator
- i = i + n; i = n + i; // require addition with difference type
- i -= n; // require assignment subtraction operator
- i = i - n; // require subtraction with difference type
- n = i - j; // require difference operator
- (void)i[n]; // require element access operator
- }
-
- private:
- TT a, b;
- TT i, j;
- typename boost::detail::iterator_traits<TT>::difference_type n;
- };
-
- BOOST_concept(Mutable_RandomAccessIterator,(TT))
- : RandomAccessIterator<TT>
- , Mutable_BidirectionalIterator<TT>
- {
- BOOST_CONCEPT_USAGE(Mutable_RandomAccessIterator)
- {
- i[n] = *i; // require element access and assignment
- }
- private:
- TT i;
- typename boost::detail::iterator_traits<TT>::difference_type n;
- };
-
- //===========================================================================
- // Container s
-
- BOOST_concept(Container,(C))
- : Assignable<C>
- {
- typedef typename C::value_type value_type;
- typedef typename C::difference_type difference_type;
- typedef typename C::size_type size_type;
- typedef typename C::const_reference const_reference;
- typedef typename C::const_pointer const_pointer;
- typedef typename C::const_iterator const_iterator;
-
- BOOST_CONCEPT_USAGE(Container)
- {
- BOOST_CONCEPT_ASSERT((InputIterator<const_iterator>));
- const_constraints(c);
- }
-
- private:
- void const_constraints(const C& cc) {
- i = cc.begin();
- i = cc.end();
- n = cc.size();
- n = cc.max_size();
- b = cc.empty();
- }
- C c;
- bool b;
- const_iterator i;
- size_type n;
- };
-
- BOOST_concept(Mutable_Container,(C))
- : Container<C>
- {
- typedef typename C::reference reference;
- typedef typename C::iterator iterator;
- typedef typename C::pointer pointer;
-
- BOOST_CONCEPT_USAGE(Mutable_Container)
- {
- BOOST_CONCEPT_ASSERT((
- Assignable<typename Mutable_Container::value_type>));
-
- BOOST_CONCEPT_ASSERT((InputIterator<iterator>));
-
- i = c.begin();
- i = c.end();
- c.swap(c2);
- }
-
- private:
- iterator i;
- C c, c2;
- };
-
- BOOST_concept(ForwardContainer,(C))
- : Container<C>
- {
- BOOST_CONCEPT_USAGE(ForwardContainer)
- {
- BOOST_CONCEPT_ASSERT((
- ForwardIterator<
- typename ForwardContainer::const_iterator
- >));
- }
- };
-
- BOOST_concept(Mutable_ForwardContainer,(C))
- : ForwardContainer<C>
- , Mutable_Container<C>
- {
- BOOST_CONCEPT_USAGE(Mutable_ForwardContainer)
- {
- BOOST_CONCEPT_ASSERT((
- Mutable_ForwardIterator<
- typename Mutable_ForwardContainer::iterator
- >));
- }
- };
-
- BOOST_concept(ReversibleContainer,(C))
- : ForwardContainer<C>
- {
- typedef typename
- C::const_reverse_iterator
- const_reverse_iterator;
-
- BOOST_CONCEPT_USAGE(ReversibleContainer)
- {
- BOOST_CONCEPT_ASSERT((
- BidirectionalIterator<
- typename ReversibleContainer::const_iterator>));
-
- BOOST_CONCEPT_ASSERT((BidirectionalIterator<const_reverse_iterator>));
-
- const_constraints(c);
- }
- private:
- void const_constraints(const C& cc)
- {
- const_reverse_iterator i = cc.rbegin();
- i = cc.rend();
- }
- C c;
- };
-
- BOOST_concept(Mutable_ReversibleContainer,(C))
- : Mutable_ForwardContainer<C>
- , ReversibleContainer<C>
- {
- typedef typename C::reverse_iterator reverse_iterator;
-
- BOOST_CONCEPT_USAGE(Mutable_ReversibleContainer)
- {
- typedef typename Mutable_ForwardContainer<C>::iterator iterator;
- BOOST_CONCEPT_ASSERT((Mutable_BidirectionalIterator<iterator>));
- BOOST_CONCEPT_ASSERT((Mutable_BidirectionalIterator<reverse_iterator>));
-
- reverse_iterator i = c.rbegin();
- i = c.rend();
- }
- private:
- C c;
- };
-
- BOOST_concept(RandomAccessContainer,(C))
- : ReversibleContainer<C>
- {
- typedef typename C::size_type size_type;
- typedef typename C::const_reference const_reference;
-
- BOOST_CONCEPT_USAGE(RandomAccessContainer)
- {
- BOOST_CONCEPT_ASSERT((
- RandomAccessIterator<
- typename RandomAccessContainer::const_iterator
- >));
-
- const_constraints(c);
- }
- private:
- void const_constraints(const C& cc)
- {
- const_reference r = cc[n];
- ignore_unused_variable_warning(r);
- }
-
- C c;
- size_type n;
- };
-
- BOOST_concept(Mutable_RandomAccessContainer,(C))
- : Mutable_ReversibleContainer<C>
- , RandomAccessContainer<C>
- {
- private:
- typedef Mutable_RandomAccessContainer self;
- public:
- BOOST_CONCEPT_USAGE(Mutable_RandomAccessContainer)
- {
- BOOST_CONCEPT_ASSERT((Mutable_RandomAccessIterator<typename self::iterator>));
- BOOST_CONCEPT_ASSERT((Mutable_RandomAccessIterator<typename self::reverse_iterator>));
-
- typename self::reference r = c[i];
- ignore_unused_variable_warning(r);
- }
-
- private:
- typename Mutable_ReversibleContainer<C>::size_type i;
- C c;
- };
-
- // A Sequence is inherently mutable
- BOOST_concept(Sequence,(S))
- : Mutable_ForwardContainer<S>
- // Matt Austern's book puts DefaultConstructible here, the C++
- // standard places it in Container --JGS
- // ... so why aren't we following the standard? --DWA
- , DefaultConstructible<S>
- {
- BOOST_CONCEPT_USAGE(Sequence)
- {
- S
- c(n),
- c2(n, t),
- c3(first, last);
-
- c.insert(p, t);
- c.insert(p, n, t);
- c.insert(p, first, last);
-
- c.erase(p);
- c.erase(p, q);
-
- typename Sequence::reference r = c.front();
-
- ignore_unused_variable_warning(c);
- ignore_unused_variable_warning(c2);
- ignore_unused_variable_warning(c3);
- ignore_unused_variable_warning(r);
- const_constraints(c);
- }
- private:
- void const_constraints(const S& c) {
- typename Sequence::const_reference r = c.front();
- ignore_unused_variable_warning(r);
- }
-
- typename S::value_type t;
- typename S::size_type n;
- typename S::value_type* first, *last;
- typename S::iterator p, q;
- };
-
- BOOST_concept(FrontInsertionSequence,(S))
- : Sequence<S>
- {
- BOOST_CONCEPT_USAGE(FrontInsertionSequence)
- {
- c.push_front(t);
- c.pop_front();
- }
- private:
- S c;
- typename S::value_type t;
- };
-
- BOOST_concept(BackInsertionSequence,(S))
- : Sequence<S>
- {
- BOOST_CONCEPT_USAGE(BackInsertionSequence)
- {
- c.push_back(t);
- c.pop_back();
- typename BackInsertionSequence::reference r = c.back();
- ignore_unused_variable_warning(r);
- const_constraints(c);
- }
- private:
- void const_constraints(const S& cc) {
- typename BackInsertionSequence::const_reference
- r = cc.back();
- ignore_unused_variable_warning(r);
- };
- S c;
- typename S::value_type t;
- };
-
- BOOST_concept(AssociativeContainer,(C))
- : ForwardContainer<C>
- , DefaultConstructible<C>
- {
- typedef typename C::key_type key_type;
- typedef typename C::key_compare key_compare;
- typedef typename C::value_compare value_compare;
- typedef typename C::iterator iterator;
-
- BOOST_CONCEPT_USAGE(AssociativeContainer)
- {
- i = c.find(k);
- r = c.equal_range(k);
- c.erase(k);
- c.erase(i);
- c.erase(r.first, r.second);
- const_constraints(c);
- BOOST_CONCEPT_ASSERT((BinaryPredicate<key_compare,key_type,key_type>));
-
- typedef typename AssociativeContainer::value_type value_type_;
- BOOST_CONCEPT_ASSERT((BinaryPredicate<value_compare,value_type_,value_type_>));
- }
-
- // Redundant with the base concept, but it helps below.
- typedef typename C::const_iterator const_iterator;
- private:
- void const_constraints(const C& cc)
- {
- ci = cc.find(k);
- n = cc.count(k);
- cr = cc.equal_range(k);
- }
-
- C c;
- iterator i;
- std::pair<iterator,iterator> r;
- const_iterator ci;
- std::pair<const_iterator,const_iterator> cr;
- typename C::key_type k;
- typename C::size_type n;
- };
-
- BOOST_concept(UniqueAssociativeContainer,(C))
- : AssociativeContainer<C>
- {
- BOOST_CONCEPT_USAGE(UniqueAssociativeContainer)
- {
- C c(first, last);
-
- pos_flag = c.insert(t);
- c.insert(first, last);
-
- ignore_unused_variable_warning(c);
- }
- private:
- std::pair<typename C::iterator, bool> pos_flag;
- typename C::value_type t;
- typename C::value_type* first, *last;
- };
-
- BOOST_concept(MultipleAssociativeContainer,(C))
- : AssociativeContainer<C>
- {
- BOOST_CONCEPT_USAGE(MultipleAssociativeContainer)
- {
- C c(first, last);
-
- pos = c.insert(t);
- c.insert(first, last);
-
- ignore_unused_variable_warning(c);
- ignore_unused_variable_warning(pos);
- }
- private:
- typename C::iterator pos;
- typename C::value_type t;
- typename C::value_type* first, *last;
- };
-
- BOOST_concept(SimpleAssociativeContainer,(C))
- : AssociativeContainer<C>
- {
- BOOST_CONCEPT_USAGE(SimpleAssociativeContainer)
- {
- typedef typename C::key_type key_type;
- typedef typename C::value_type value_type;
- BOOST_MPL_ASSERT((boost::is_same<key_type,value_type>));
- }
- };
-
- BOOST_concept(PairAssociativeContainer,(C))
- : AssociativeContainer<C>
- {
- BOOST_CONCEPT_USAGE(PairAssociativeContainer)
- {
- typedef typename C::key_type key_type;
- typedef typename C::value_type value_type;
- typedef typename C::mapped_type mapped_type;
- typedef std::pair<const key_type, mapped_type> required_value_type;
- BOOST_MPL_ASSERT((boost::is_same<value_type,required_value_type>));
- }
- };
-
- BOOST_concept(SortedAssociativeContainer,(C))
- : AssociativeContainer<C>
- , ReversibleContainer<C>
- {
- BOOST_CONCEPT_USAGE(SortedAssociativeContainer)
- {
- C
- c(kc),
- c2(first, last),
- c3(first, last, kc);
-
- p = c.upper_bound(k);
- p = c.lower_bound(k);
- r = c.equal_range(k);
-
- c.insert(p, t);
-
- ignore_unused_variable_warning(c);
- ignore_unused_variable_warning(c2);
- ignore_unused_variable_warning(c3);
- const_constraints(c);
- }
-
- void const_constraints(const C& c)
- {
- kc = c.key_comp();
- vc = c.value_comp();
-
- cp = c.upper_bound(k);
- cp = c.lower_bound(k);
- cr = c.equal_range(k);
- }
-
- private:
- typename C::key_compare kc;
- typename C::value_compare vc;
- typename C::value_type t;
- typename C::key_type k;
- typedef typename C::iterator iterator;
- typedef typename C::const_iterator const_iterator;
-
- typedef SortedAssociativeContainer self;
- iterator p;
- const_iterator cp;
- std::pair<typename self::iterator,typename self::iterator> r;
- std::pair<typename self::const_iterator,typename self::const_iterator> cr;
- typename C::value_type* first, *last;
- };
-
- // HashedAssociativeContainer
-
- BOOST_concept(Collection,(C))
- {
- BOOST_CONCEPT_USAGE(Collection)
- {
- boost::function_requires<boost::InputIteratorConcept<iterator> >();
- boost::function_requires<boost::InputIteratorConcept<const_iterator> >();
- boost::function_requires<boost::CopyConstructibleConcept<value_type> >();
- const_constraints(c);
- i = c.begin();
- i = c.end();
- c.swap(c);
- }
-
- void const_constraints(const C& cc) {
- ci = cc.begin();
- ci = cc.end();
- n = cc.size();
- b = cc.empty();
- }
-
- private:
- typedef typename C::value_type value_type;
- typedef typename C::iterator iterator;
- typedef typename C::const_iterator const_iterator;
- typedef typename C::reference reference;
- typedef typename C::const_reference const_reference;
- // typedef typename C::pointer pointer;
- typedef typename C::difference_type difference_type;
- typedef typename C::size_type size_type;
-
- C c;
- bool b;
- iterator i;
- const_iterator ci;
- size_type n;
- };
-} // namespace boost
-
-# include <boost/concept/detail/concept_undef.hpp>
-
-#endif // BOOST_CONCEPT_CHECKS_HPP
-
diff --git a/boost/config.hpp b/boost/config.hpp
deleted file mode 100644
index 6ec3645..0000000
--- a/boost/config.hpp
+++ /dev/null
@@ -1,63 +0,0 @@
-// Boost config.hpp configuration header file ------------------------------//
-
-// (C) Copyright John Maddock 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/libs/config for most recent version.
-
-// Boost config.hpp policy and rationale documentation has been moved to
-// http://www.boost.org/libs/config
-//
-// CAUTION: This file is intended to be completely stable -
-// DO NOT MODIFY THIS FILE!
-//
-
-#ifndef BOOST_CONFIG_HPP
-#define BOOST_CONFIG_HPP
-
-// if we don't have a user config, then use the default location:
-#if !defined(BOOST_USER_CONFIG) && !defined(BOOST_NO_USER_CONFIG)
-# define BOOST_USER_CONFIG <boost/config/user.hpp>
-#endif
-// include it first:
-#ifdef BOOST_USER_CONFIG
-# include BOOST_USER_CONFIG
-#endif
-
-// if we don't have a compiler config set, try and find one:
-#if !defined(BOOST_COMPILER_CONFIG) && !defined(BOOST_NO_COMPILER_CONFIG) && !defined(BOOST_NO_CONFIG)
-# include <boost/config/select_compiler_config.hpp>
-#endif
-// if we have a compiler config, include it now:
-#ifdef BOOST_COMPILER_CONFIG
-# include BOOST_COMPILER_CONFIG
-#endif
-
-// if we don't have a std library config set, try and find one:
-#if !defined(BOOST_STDLIB_CONFIG) && !defined(BOOST_NO_STDLIB_CONFIG) && !defined(BOOST_NO_CONFIG) && defined(__cplusplus)
-# include <boost/config/select_stdlib_config.hpp>
-#endif
-// if we have a std library config, include it now:
-#ifdef BOOST_STDLIB_CONFIG
-# include BOOST_STDLIB_CONFIG
-#endif
-
-// if we don't have a platform config set, try and find one:
-#if !defined(BOOST_PLATFORM_CONFIG) && !defined(BOOST_NO_PLATFORM_CONFIG) && !defined(BOOST_NO_CONFIG)
-# include <boost/config/select_platform_config.hpp>
-#endif
-// if we have a platform config, include it now:
-#ifdef BOOST_PLATFORM_CONFIG
-# include BOOST_PLATFORM_CONFIG
-#endif
-
-// get config suffix code:
-#include <boost/config/suffix.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#endif // BOOST_CONFIG_HPP
diff --git a/boost/config/abi/borland_prefix.hpp b/boost/config/abi/borland_prefix.hpp
deleted file mode 100644
index 3a0e5ae..0000000
--- a/boost/config/abi/borland_prefix.hpp
+++ /dev/null
@@ -1,27 +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)
-
-// for C++ Builder the following options effect the ABI:
-//
-// -b (on or off - effect emum sizes)
-// -Vx (on or off - empty members)
-// -Ve (on or off - empty base classes)
-// -aX (alignment - 5 options).
-// -pX (Calling convention - 4 options)
-// -VmX (member pointer size and layout - 5 options)
-// -VC (on or off, changes name mangling)
-// -Vl (on or off, changes struct layout).
-
-// In addition the following warnings are sufficiently annoying (and
-// unfixable) to have them turned off by default:
-//
-// 8027 - functions containing [for|while] loops are not expanded inline
-// 8026 - functions taking class by value arguments are not expanded inline
-
-#pragma nopushoptwarn
-# pragma option push -a8 -Vx- -Ve- -b- -pc -Vmv -VC- -Vl- -w-8027 -w-8026
-
-
-
diff --git a/boost/config/abi/borland_suffix.hpp b/boost/config/abi/borland_suffix.hpp
deleted file mode 100644
index 940535f..0000000
--- a/boost/config/abi/borland_suffix.hpp
+++ /dev/null
@@ -1,12 +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)
-
-# pragma option pop
-#pragma nopushoptwarn
-
-
-
-
-
diff --git a/boost/config/abi/msvc_prefix.hpp b/boost/config/abi/msvc_prefix.hpp
deleted file mode 100644
index 97f06cd..0000000
--- a/boost/config/abi/msvc_prefix.hpp
+++ /dev/null
@@ -1,22 +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)
-
-//
-// Boost binaries are built with the compiler's default ABI settings,
-// if the user changes their default alignment in the VS IDE then their
-// code will no longer be binary compatible with the bjam built binaries
-// unless this header is included to force Boost code into a consistent ABI.
-//
-// Note that inclusion of this header is only necessary for libraries with
-// separate source, header only libraries DO NOT need this as long as all
-// translation units are built with the same options.
-//
-#if defined(_M_X64)
-# pragma pack(push,16)
-#else
-# pragma pack(push,8)
-#endif
-
-
diff --git a/boost/config/abi/msvc_suffix.hpp b/boost/config/abi/msvc_suffix.hpp
deleted file mode 100644
index a64d783..0000000
--- a/boost/config/abi/msvc_suffix.hpp
+++ /dev/null
@@ -1,8 +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)
-
-#pragma pack(pop)
-
-
diff --git a/boost/config/abi_prefix.hpp b/boost/config/abi_prefix.hpp
deleted file mode 100644
index 3b13474..0000000
--- a/boost/config/abi_prefix.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-// abi_prefix header -------------------------------------------------------//
-
-// (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).
-
-#ifndef BOOST_CONFIG_ABI_PREFIX_HPP
-# define BOOST_CONFIG_ABI_PREFIX_HPP
-#else
-# error double inclusion of header boost/config/abi_prefix.hpp is an error
-#endif
-
-#include <boost/config.hpp>
-
-// this must occur after all other includes and before any code appears:
-#ifdef BOOST_HAS_ABI_HEADERS
-# include BOOST_ABI_PREFIX
-#endif
-
-#if defined( __BORLANDC__ )
-#pragma nopushoptwarn
-#endif
-
diff --git a/boost/config/abi_suffix.hpp b/boost/config/abi_suffix.hpp
deleted file mode 100644
index 9391616..0000000
--- a/boost/config/abi_suffix.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-// abi_sufffix header -------------------------------------------------------//
-
-// (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).
-
-// This header should be #included AFTER code that was preceded by a #include
-// <boost/config/abi_prefix.hpp>.
-
-#ifndef BOOST_CONFIG_ABI_PREFIX_HPP
-# error Header boost/config/abi_suffix.hpp must only be used after boost/config/abi_prefix.hpp
-#else
-# undef BOOST_CONFIG_ABI_PREFIX_HPP
-#endif
-
-// the suffix header occurs after all of our code:
-#ifdef BOOST_HAS_ABI_HEADERS
-# include BOOST_ABI_SUFFIX
-#endif
-
-#if defined( __BORLANDC__ )
-#pragma nopushoptwarn
-#endif
-
-
diff --git a/boost/config/auto_link.hpp b/boost/config/auto_link.hpp
deleted file mode 100644
index 13cbad4..0000000
--- a/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 <boost/version.hpp>
- * 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 <boost/config.hpp>
-# 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 <boost/version.hpp>
-#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/boost/config/compiler/borland.hpp b/boost/config/compiler/borland.hpp
deleted file mode 100644
index a8f5baa..0000000
--- a/boost/config/compiler/borland.hpp
+++ /dev/null
@@ -1,287 +0,0 @@
-// (C) Copyright John Maddock 2001 - 2003.
-// (C) Copyright David Abrahams 2002 - 2003.
-// (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.
-
-// Borland C++ compiler setup:
-
-//
-// versions check:
-// we don't support Borland prior to version 5.4:
-#if __BORLANDC__ < 0x540
-# error "Compiler not supported or configured - please reconfigure"
-#endif
-
-// last known compiler version:
-#if (__BORLANDC__ > 0x613)
-//# if defined(BOOST_ASSERT_CONFIG)
-# error "Unknown compiler version - please run the configure tests and report the results"
-//# else
-//# pragma message( "Unknown compiler version - please run the configure tests and report the results")
-//# endif
-#elif (__BORLANDC__ == 0x600)
-# error "CBuilderX preview compiler is no longer supported"
-#endif
-
-//
-// Support macros to help with standard library detection
-#if (__BORLANDC__ < 0x560) || defined(_USE_OLD_RW_STL)
-# define BOOST_BCB_WITH_ROGUE_WAVE
-#elif __BORLANDC__ < 0x570
-# define BOOST_BCB_WITH_STLPORT
-#else
-# define BOOST_BCB_WITH_DINKUMWARE
-#endif
-
-//
-// Version 5.0 and below:
-# if __BORLANDC__ <= 0x0550
-// Borland C++Builder 4 and 5:
-# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-# if __BORLANDC__ == 0x0550
-// Borland C++Builder 5, command-line compiler 5.5:
-# define BOOST_NO_OPERATORS_IN_NAMESPACE
-# endif
-// Variadic macros do not exist for C++ Builder versions 5 and below
-#define BOOST_NO_CXX11_VARIADIC_MACROS
-# endif
-
-// Version 5.51 and below:
-#if (__BORLANDC__ <= 0x551)
-# define BOOST_NO_CV_SPECIALIZATIONS
-# define BOOST_NO_CV_VOID_SPECIALIZATIONS
-# define BOOST_NO_DEDUCED_TYPENAME
-// workaround for missing WCHAR_MAX/WCHAR_MIN:
-#ifdef __cplusplus
-#include <climits>
-#include <cwchar>
-#else
-#include <limits.h>
-#include <wchar.h>
-#endif // __cplusplus
-#ifndef WCHAR_MAX
-# define WCHAR_MAX 0xffff
-#endif
-#ifndef WCHAR_MIN
-# define WCHAR_MIN 0
-#endif
-#endif
-
-// Borland C++ Builder 6 and below:
-#if (__BORLANDC__ <= 0x564)
-
-# if defined(NDEBUG) && defined(__cplusplus)
- // fix broken <cstring> so that Boost.test works:
-# include <cstring>
-# undef strcmp
-# endif
- // fix broken errno declaration:
-# include <errno.h>
-# ifndef errno
-# define errno errno
-# endif
-
-#endif
-
-//
-// new bug in 5.61:
-#if (__BORLANDC__ >= 0x561) && (__BORLANDC__ <= 0x580)
- // this seems to be needed by the command line compiler, but not the IDE:
-# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
-#endif
-
-// Borland C++ Builder 2006 Update 2 and below:
-#if (__BORLANDC__ <= 0x582)
-# define BOOST_NO_SFINAE
-# define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
-# define BOOST_NO_TEMPLATE_TEMPLATES
-
-# define BOOST_NO_PRIVATE_IN_AGGREGATE
-
-# ifdef _WIN32
-# define BOOST_NO_SWPRINTF
-# elif defined(linux) || defined(__linux__) || defined(__linux)
- // we should really be able to do without this
- // but the wcs* functions aren't imported into std::
-# define BOOST_NO_STDC_NAMESPACE
- // _CPPUNWIND doesn't get automatically set for some reason:
-# pragma defineonoption BOOST_CPPUNWIND -x
-# endif
-#endif
-
-#if (__BORLANDC__ <= 0x613) // Beman has asked Alisdair for more info
- // we shouldn't really need this - but too many things choke
- // without it, this needs more investigation:
-# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-# define BOOST_NO_IS_ABSTRACT
-# define BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS
-# define BOOST_NO_USING_TEMPLATE
-# define BOOST_SP_NO_SP_CONVERTIBLE
-
-// Temporary workaround
-#define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif
-
-// Borland C++ Builder 2008 and below:
-# define BOOST_NO_INTEGRAL_INT64_T
-# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
-# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
-# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-# define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
-# define BOOST_NO_NESTED_FRIENDSHIP
-# define BOOST_NO_TYPENAME_WITH_CTOR
-#if (__BORLANDC__ < 0x600)
-# define BOOST_ILLEGAL_CV_REFERENCES
-#endif
-
-//
-// Positive Feature detection
-//
-// Borland C++ Builder 2008 and below:
-#if (__BORLANDC__ >= 0x599)
-# pragma defineonoption BOOST_CODEGEAR_0X_SUPPORT -Ax
-#endif
-//
-// C++0x Macros:
-//
-#if !defined( BOOST_CODEGEAR_0X_SUPPORT ) || (__BORLANDC__ < 0x610)
-# define BOOST_NO_CXX11_CHAR16_T
-# define BOOST_NO_CXX11_CHAR32_T
-# define BOOST_NO_CXX11_DECLTYPE
-# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-# define BOOST_NO_CXX11_EXTERN_TEMPLATE
-# define BOOST_NO_CXX11_RVALUE_REFERENCES
-# define BOOST_NO_CXX11_SCOPED_ENUMS
-# define BOOST_NO_CXX11_STATIC_ASSERT
-#else
-# define BOOST_HAS_ALIGNOF
-# define BOOST_HAS_CHAR16_T
-# define BOOST_HAS_CHAR32_T
-# define BOOST_HAS_DECLTYPE
-# define BOOST_HAS_EXPLICIT_CONVERSION_OPS
-# define BOOST_HAS_REF_QUALIFIER
-# define BOOST_HAS_RVALUE_REFS
-# define BOOST_HAS_STATIC_ASSERT
-#endif
-
-#define BOOST_NO_CXX11_AUTO_DECLARATIONS
-#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#define BOOST_NO_CXX11_CONSTEXPR
-#define BOOST_NO_CXX11_DECLTYPE_N3276
-#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#define BOOST_NO_CXX11_DELETED_FUNCTIONS
-#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_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_TEMPLATE_ALIASES
-#define BOOST_NO_CXX11_UNICODE_LITERALS // UTF-8 still not supported
-#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-#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
-
-#if __BORLANDC__ >= 0x590
-# define BOOST_HAS_TR1_HASH
-
-# define BOOST_HAS_MACRO_USE_FACET
-#endif
-
-//
-// Post 0x561 we have long long and stdint.h:
-#if __BORLANDC__ >= 0x561
-# ifndef __NO_LONG_LONG
-# define BOOST_HAS_LONG_LONG
-# else
-# define BOOST_NO_LONG_LONG
-# endif
- // On non-Win32 platforms let the platform config figure this out:
-# ifdef _WIN32
-# define BOOST_HAS_STDINT_H
-# endif
-#endif
-
-// Borland C++Builder 6 defaults to using STLPort. If _USE_OLD_RW_STL is
-// defined, then we have 0x560 or greater with the Rogue Wave implementation
-// which presumably has the std::DBL_MAX bug.
-#if defined( BOOST_BCB_WITH_ROGUE_WAVE )
-// <climits> is partly broken, some macros define symbols that are really in
-// namespace std, so you end up having to use illegal constructs like
-// std::DBL_MAX, as a fix we'll just include float.h and have done with:
-#include <float.h>
-#endif
-//
-// __int64:
-//
-#if (__BORLANDC__ >= 0x530) && !defined(__STRICT_ANSI__)
-# define BOOST_HAS_MS_INT64
-#endif
-//
-// check for exception handling support:
-//
-#if !defined(_CPPUNWIND) && !defined(BOOST_CPPUNWIND) && !defined(__EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS)
-# define BOOST_NO_EXCEPTIONS
-#endif
-//
-// all versions have a <dirent.h>:
-//
-#ifndef __STRICT_ANSI__
-# define BOOST_HAS_DIRENT_H
-#endif
-//
-// all versions support __declspec:
-//
-#if defined(__STRICT_ANSI__)
-// config/platform/win32.hpp will define BOOST_SYMBOL_EXPORT, etc., unless already defined
-# define BOOST_SYMBOL_EXPORT
-#endif
-//
-// ABI fixing headers:
-//
-#if __BORLANDC__ != 0x600 // not implemented for version 6 compiler yet
-#ifndef BOOST_ABI_PREFIX
-# define BOOST_ABI_PREFIX "boost/config/abi/borland_prefix.hpp"
-#endif
-#ifndef BOOST_ABI_SUFFIX
-# define BOOST_ABI_SUFFIX "boost/config/abi/borland_suffix.hpp"
-#endif
-#endif
-//
-// Disable Win32 support in ANSI mode:
-//
-#if __BORLANDC__ < 0x600
-# pragma defineonoption BOOST_DISABLE_WIN32 -A
-#elif defined(__STRICT_ANSI__)
-# define BOOST_DISABLE_WIN32
-#endif
-//
-// MSVC compatibility mode does some nasty things:
-// TODO: look up if this doesn't apply to the whole 12xx range
-//
-#if defined(_MSC_VER) && (_MSC_VER <= 1200)
-# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
-# define BOOST_NO_VOID_RETURNS
-#endif
-
-// Borland did not implement value-initialization completely, as I reported
-// in 2007, Borland Report 51854, "Value-initialization: POD struct should be
-// zero-initialized", http://qc.embarcadero.com/wc/qcmain.aspx?d=51854
-// See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues
-// (Niels Dekker, LKEB, April 2010)
-#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
-
-#define BOOST_COMPILER "Borland C++ version " BOOST_STRINGIZE(__BORLANDC__)
diff --git a/boost/config/compiler/clang.hpp b/boost/config/compiler/clang.hpp
deleted file mode 100644
index b57e26c..0000000
--- a/boost/config/compiler/clang.hpp
+++ /dev/null
@@ -1,180 +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
-
-#if !__has_feature(cxx_exceptions) && !defined(BOOST_NO_EXCEPTIONS)
-# define BOOST_NO_EXCEPTIONS
-#endif
-
-#if !__has_feature(cxx_rtti) && !defined(BOOST_NO_RTTI)
-# define BOOST_NO_RTTI
-#endif
-
-#if !__has_feature(cxx_rtti) && !defined(BOOST_NO_TYPEID)
-# define BOOST_NO_TYPEID
-#endif
-
-#if defined(__int64) && !defined(__GNUC__)
-# define BOOST_HAS_MS_INT64
-#endif
-
-#define BOOST_HAS_NRVO
-
-// Branch prediction hints
-#if defined(__has_builtin)
-#if __has_builtin(__builtin_expect)
-#define BOOST_LIKELY(x) __builtin_expect(x, 1)
-#define BOOST_UNLIKELY(x) __builtin_expect(x, 0)
-#endif
-#endif
-
-// Clang supports "long long" in all compilation modes.
-#define BOOST_HAS_LONG_LONG
-
-//
-// Dynamic shared object (DSO) and dynamic-link library (DLL) support
-//
-#if !defined(_WIN32) && !defined(__WIN32__) && !defined(WIN32)
-# define BOOST_SYMBOL_EXPORT __attribute__((__visibility__("default")))
-# define BOOST_SYMBOL_IMPORT
-# define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default")))
-#endif
-
-//
-// The BOOST_FALLTHROUGH macro can be used to annotate implicit fall-through
-// between switch labels.
-//
-#if __cplusplus >= 201103L && defined(__has_warning)
-# if __has_feature(cxx_attributes) && __has_warning("-Wimplicit-fallthrough")
-# define BOOST_FALLTHROUGH [[clang::fallthrough]]
-# endif
-#endif
-
-#if !__has_feature(cxx_auto_type)
-# define BOOST_NO_CXX11_AUTO_DECLARATIONS
-# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#endif
-
-#if !(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_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/boost/config/compiler/codegear.hpp b/boost/config/compiler/codegear.hpp
deleted file mode 100644
index 00e0bb9..0000000
--- a/boost/config/compiler/codegear.hpp
+++ /dev/null
@@ -1,189 +0,0 @@
-// (C) Copyright John Maddock 2001 - 2003.
-// (C) Copyright David Abrahams 2002 - 2003.
-// (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.
-
-// CodeGear C++ compiler setup:
-
-#if !defined( BOOST_WITH_CODEGEAR_WARNINGS )
-// these warnings occur frequently in optimized template code
-# pragma warn -8004 // var assigned value, but never used
-# pragma warn -8008 // condition always true/false
-# pragma warn -8066 // dead code can never execute
-# pragma warn -8104 // static members with ctors not threadsafe
-# pragma warn -8105 // reference member in class without ctors
-#endif
-//
-// versions check:
-// last known and checked version is 0x621
-#if (__CODEGEARC__ > 0x621)
-# if defined(BOOST_ASSERT_CONFIG)
-# error "Unknown compiler version - please run the configure tests and report the results"
-# else
-# pragma message( "Unknown compiler version - please run the configure tests and report the results")
-# endif
-#endif
-
-// CodeGear C++ Builder 2009
-#if (__CODEGEARC__ <= 0x613)
-# define BOOST_NO_INTEGRAL_INT64_T
-# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
-# define BOOST_NO_PRIVATE_IN_AGGREGATE
-# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
- // we shouldn't really need this - but too many things choke
- // without it, this needs more investigation:
-# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-# define BOOST_SP_NO_SP_CONVERTIBLE
-#endif
-
-// CodeGear C++ Builder 2010
-#if (__CODEGEARC__ <= 0x621)
-# define BOOST_NO_TYPENAME_WITH_CTOR // Cannot use typename keyword when making temporaries of a dependant type
-# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
-# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-# define BOOST_NO_NESTED_FRIENDSHIP // TC1 gives nested classes access rights as any other member
-# define BOOST_NO_USING_TEMPLATE
-# define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-// Temporary hack, until specific MPL preprocessed headers are generated
-# define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-// CodeGear has not yet completely implemented value-initialization, for
-// example for array types, as I reported in 2010: Embarcadero Report 83751,
-// "Value-initialization: arrays should have each element value-initialized",
-// http://qc.embarcadero.com/wc/qcmain.aspx?d=83751
-// Last checked version: Embarcadero C++ 6.21
-// See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues
-// (Niels Dekker, LKEB, April 2010)
-# define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
-
-# if defined(NDEBUG) && defined(__cplusplus)
- // fix broken <cstring> so that Boost.test works:
-# include <cstring>
-# undef strcmp
-# endif
- // fix broken errno declaration:
-# include <errno.h>
-# ifndef errno
-# define errno errno
-# endif
-
-#endif
-
-// Reportedly, #pragma once is supported since C++ Builder 2010
-#if (__CODEGEARC__ >= 0x620)
-# define BOOST_HAS_PRAGMA_ONCE
-#endif
-
-//
-// C++0x macros:
-//
-#if (__CODEGEARC__ <= 0x620)
-#define BOOST_NO_CXX11_STATIC_ASSERT
-#else
-#define BOOST_HAS_STATIC_ASSERT
-#endif
-#define BOOST_HAS_CHAR16_T
-#define BOOST_HAS_CHAR32_T
-#define BOOST_HAS_LONG_LONG
-// #define BOOST_HAS_ALIGNOF
-#define BOOST_HAS_DECLTYPE
-#define BOOST_HAS_EXPLICIT_CONVERSION_OPS
-// #define BOOST_HAS_RVALUE_REFS
-#define BOOST_HAS_SCOPED_ENUM
-// #define BOOST_HAS_STATIC_ASSERT
-#define BOOST_HAS_STD_TYPE_TRAITS
-
-#define BOOST_NO_CXX11_AUTO_DECLARATIONS
-#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#define BOOST_NO_CXX11_CONSTEXPR
-#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-#define BOOST_NO_CXX11_DELETED_FUNCTIONS
-#define BOOST_NO_CXX11_EXTERN_TEMPLATE
-#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#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_SFINAE_EXPR
-#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
-
-//
-// TR1 macros:
-//
-#define BOOST_HAS_TR1_HASH
-#define BOOST_HAS_TR1_TYPE_TRAITS
-#define BOOST_HAS_TR1_UNORDERED_MAP
-#define BOOST_HAS_TR1_UNORDERED_SET
-
-#define BOOST_HAS_MACRO_USE_FACET
-
-#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-
-// On non-Win32 platforms let the platform config figure this out:
-#ifdef _WIN32
-# define BOOST_HAS_STDINT_H
-#endif
-
-//
-// __int64:
-//
-#if !defined(__STRICT_ANSI__)
-# define BOOST_HAS_MS_INT64
-#endif
-//
-// check for exception handling support:
-//
-#if !defined(_CPPUNWIND) && !defined(BOOST_CPPUNWIND) && !defined(__EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS)
-# define BOOST_NO_EXCEPTIONS
-#endif
-//
-// all versions have a <dirent.h>:
-//
-#if !defined(__STRICT_ANSI__)
-# define BOOST_HAS_DIRENT_H
-#endif
-//
-// all versions support __declspec:
-//
-#if defined(__STRICT_ANSI__)
-// config/platform/win32.hpp will define BOOST_SYMBOL_EXPORT, etc., unless already defined
-# define BOOST_SYMBOL_EXPORT
-#endif
-//
-// ABI fixing headers:
-//
-#ifndef BOOST_ABI_PREFIX
-# define BOOST_ABI_PREFIX "boost/config/abi/borland_prefix.hpp"
-#endif
-#ifndef BOOST_ABI_SUFFIX
-# define BOOST_ABI_SUFFIX "boost/config/abi/borland_suffix.hpp"
-#endif
-//
-// Disable Win32 support in ANSI mode:
-//
-# pragma defineonoption BOOST_DISABLE_WIN32 -A
-//
-// MSVC compatibility mode does some nasty things:
-// TODO: look up if this doesn't apply to the whole 12xx range
-//
-#if defined(_MSC_VER) && (_MSC_VER <= 1200)
-# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
-# define BOOST_NO_VOID_RETURNS
-#endif
-
-#define BOOST_COMPILER "CodeGear C++ version " BOOST_STRINGIZE(__CODEGEARC__)
-
diff --git a/boost/config/compiler/comeau.hpp b/boost/config/compiler/comeau.hpp
deleted file mode 100644
index 278222d..0000000
--- a/boost/config/compiler/comeau.hpp
+++ /dev/null
@@ -1,59 +0,0 @@
-// (C) Copyright John Maddock 2001.
-// (C) Copyright Douglas Gregor 2001.
-// (C) Copyright Peter Dimov 2001.
-// (C) Copyright Aleksey Gurtovoy 2003.
-// (C) Copyright Beman Dawes 2003.
-// (C) Copyright Jens Maurer 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.
-
-// Comeau C++ compiler setup:
-
-#include "boost/config/compiler/common_edg.hpp"
-
-#if (__COMO_VERSION__ <= 4245)
-
-# if defined(_MSC_VER) && _MSC_VER <= 1300
-# if _MSC_VER > 100
- // only set this in non-strict mode:
-# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
-# endif
-# endif
-
-// Void returns don't work when emulating VC 6 (Peter Dimov)
-// TODO: look up if this doesn't apply to the whole 12xx range
-# if defined(_MSC_VER) && (_MSC_VER < 1300)
-# define BOOST_NO_VOID_RETURNS
-# endif
-
-#endif // version 4245
-
-//
-// enable __int64 support in VC emulation mode
-//
-# if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# define BOOST_HAS_MS_INT64
-# endif
-
-#define BOOST_COMPILER "Comeau compiler version " BOOST_STRINGIZE(__COMO_VERSION__)
-
-//
-// versions check:
-// we don't know Comeau prior to version 4245:
-#if __COMO_VERSION__ < 4245
-# error "Compiler not configured - please reconfigure"
-#endif
-//
-// last known and checked version is 4245:
-#if (__COMO_VERSION__ > 4245)
-# if defined(BOOST_ASSERT_CONFIG)
-# error "Unknown compiler version - please run the configure tests and report the results"
-# endif
-#endif
-
-
-
-
diff --git a/boost/config/compiler/common_edg.hpp b/boost/config/compiler/common_edg.hpp
deleted file mode 100644
index 70e7efa..0000000
--- a/boost/config/compiler/common_edg.hpp
+++ /dev/null
@@ -1,112 +0,0 @@
-// (C) Copyright John Maddock 2001 - 2002.
-// (C) Copyright Jens Maurer 2001.
-// (C) Copyright David Abrahams 2002.
-// (C) Copyright Aleksey Gurtovoy 2002.
-// (C) Copyright Markus Schoepflin 2005.
-// 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.
-
-//
-// Options common to all edg based compilers.
-//
-// This is included from within the individual compiler mini-configs.
-
-#ifndef __EDG_VERSION__
-# error This file requires that __EDG_VERSION__ be defined.
-#endif
-
-#if (__EDG_VERSION__ <= 238)
-# define BOOST_NO_INTEGRAL_INT64_T
-# define BOOST_NO_SFINAE
-#endif
-
-#if (__EDG_VERSION__ <= 240)
-# define BOOST_NO_VOID_RETURNS
-#endif
-
-#if (__EDG_VERSION__ <= 241) && !defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP)
-# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
-#endif
-
-#if (__EDG_VERSION__ <= 244) && !defined(BOOST_NO_TEMPLATE_TEMPLATES)
-# define BOOST_NO_TEMPLATE_TEMPLATES
-#endif
-
-#if (__EDG_VERSION__ < 300) && !defined(BOOST_NO_IS_ABSTRACT)
-# define BOOST_NO_IS_ABSTRACT
-#endif
-
-#if (__EDG_VERSION__ <= 303) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL)
-# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
-#endif
-
-// See also kai.hpp which checks a Kai-specific symbol for EH
-# if !defined(__KCC) && !defined(__EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS)
-# define BOOST_NO_EXCEPTIONS
-# endif
-
-# if !defined(__NO_LONG_LONG)
-# define BOOST_HAS_LONG_LONG
-# else
-# define BOOST_NO_LONG_LONG
-# endif
-
-// Not sure what version was the first to support #pragma once, but
-// different EDG-based compilers (e.g. Intel) supported it for ages.
-// Add a proper version check if it causes problems.
-#define BOOST_HAS_PRAGMA_ONCE
-
-//
-// C++0x features
-//
-// See above for BOOST_NO_LONG_LONG
-//
-#if (__EDG_VERSION__ < 310)
-# define BOOST_NO_CXX11_EXTERN_TEMPLATE
-#endif
-#if (__EDG_VERSION__ <= 310)
-// No support for initializer lists
-# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#endif
-#if (__EDG_VERSION__ < 400)
-# define BOOST_NO_CXX11_VARIADIC_MACROS
-#endif
-
-#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_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#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
-
-#ifdef c_plusplus
-// EDG has "long long" in non-strict mode
-// However, some libraries have insufficient "long long" support
-// #define BOOST_HAS_LONG_LONG
-#endif
diff --git a/boost/config/compiler/compaq_cxx.hpp b/boost/config/compiler/compaq_cxx.hpp
deleted file mode 100644
index b44486c..0000000
--- a/boost/config/compiler/compaq_cxx.hpp
+++ /dev/null
@@ -1,19 +0,0 @@
-// (C) Copyright John Maddock 2001 - 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.
-
-// Tru64 C++ compiler setup (now HP):
-
-#define BOOST_COMPILER "HP Tru64 C++ " BOOST_STRINGIZE(__DECCXX_VER)
-
-#include "boost/config/compiler/common_edg.hpp"
-
-//
-// versions check:
-// Nothing to do here?
-
-
-
diff --git a/boost/config/compiler/cray.hpp b/boost/config/compiler/cray.hpp
deleted file mode 100644
index 3ce29f0..0000000
--- a/boost/config/compiler/cray.hpp
+++ /dev/null
@@ -1,65 +0,0 @@
-// (C) Copyright John Maddock 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.
-
-// Greenhills C compiler setup:
-
-#define BOOST_COMPILER "Cray C version " BOOST_STRINGIZE(_RELEASE)
-
-#if _RELEASE < 7
-# error "Boost is not configured for Cray compilers prior to version 7, please try the configure script."
-#endif
-
-//
-// Check this is a recent EDG based compiler, otherwise we don't support it here:
-//
-#ifndef __EDG_VERSION__
-# error "Unsupported Cray compiler, please try running the configure script."
-#endif
-
-#include "boost/config/compiler/common_edg.hpp"
-
-//
-// Cray peculiarities, probably version 7 specific:
-//
-#undef BOOST_NO_CXX11_AUTO_DECLARATIONS
-#undef BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#define BOOST_HAS_NRVO
-#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
-#define BOOST_NO_CXX11_UNICODE_LITERALS
-#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#define BOOST_HAS_NRVO
-#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_NOEXCEPT
-#define BOOST_NO_CXX11_LAMBDAS
-#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#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_N3276
-#define BOOST_NO_CXX11_DECLTYPE
-#define BOOST_NO_CXX11_CONSTEXPR
-#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
-#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
-#define BOOST_NO_CXX11_CHAR32_T
-#define BOOST_NO_CXX11_CHAR16_T
-#define BOOST_NO_CXX11_ALIGNAS
-//#define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
-#define BOOST_MATH_DISABLE_STD_FPCLASSIFY
-//#define BOOST_HAS_FPCLASSIFY
-
-#define BOOST_SP_USE_PTHREADS
-#define BOOST_AC_USE_PTHREADS
-
diff --git a/boost/config/compiler/digitalmars.hpp b/boost/config/compiler/digitalmars.hpp
deleted file mode 100644
index 7de6adb..0000000
--- a/boost/config/compiler/digitalmars.hpp
+++ /dev/null
@@ -1,93 +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 <cstddef>
-#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
-
-#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/boost/config/compiler/gcc.hpp b/boost/config/compiler/gcc.hpp
deleted file mode 100644
index aa628e5..0000000
--- a/boost/config/compiler/gcc.hpp
+++ /dev/null
@@ -1,261 +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"
-//
-#define BOOST_HAS_LONG_LONG
-
-//
-// 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
-#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/boost/config/compiler/gcc_xml.hpp b/boost/config/compiler/gcc_xml.hpp
deleted file mode 100644
index d2e0c74..0000000
--- a/boost/config/compiler/gcc_xml.hpp
+++ /dev/null
@@ -1,64 +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_COMPILER "GCC-XML C++ version " __GCCXML__
-
-
diff --git a/boost/config/compiler/greenhills.hpp b/boost/config/compiler/greenhills.hpp
deleted file mode 100644
index 038b6b2..0000000
--- a/boost/config/compiler/greenhills.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-// (C) Copyright John Maddock 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.
-
-// Greenhills C++ compiler setup:
-
-#define BOOST_COMPILER "Greenhills C++ version " BOOST_STRINGIZE(__ghs)
-
-#include "boost/config/compiler/common_edg.hpp"
-
-//
-// versions check:
-// we don't support Greenhills prior to version 0:
-#if __ghs < 0
-# error "Compiler not supported or configured - please reconfigure"
-#endif
-//
-// last known and checked version is 0:
-#if (__ghs > 0)
-# if defined(BOOST_ASSERT_CONFIG)
-# error "Unknown compiler version - please run the configure tests and report the results"
-# endif
-#endif
-
-
diff --git a/boost/config/compiler/hp_acc.hpp b/boost/config/compiler/hp_acc.hpp
deleted file mode 100644
index f08dca4..0000000
--- a/boost/config/compiler/hp_acc.hpp
+++ /dev/null
@@ -1,144 +0,0 @@
-// (C) Copyright John Maddock 2001 - 2003.
-// (C) Copyright Jens Maurer 2001 - 2003.
-// (C) Copyright Aleksey Gurtovoy 2002.
-// (C) Copyright David Abrahams 2002 - 2003.
-// (C) Copyright Toon Knapen 2003.
-// (C) Copyright Boris Gubenko 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)
-
-// See http://www.boost.org for most recent version.
-
-// HP aCC C++ compiler setup:
-
-#if defined(__EDG__)
-#include "boost/config/compiler/common_edg.hpp"
-#endif
-
-#if (__HP_aCC <= 33100)
-# define BOOST_NO_INTEGRAL_INT64_T
-# define BOOST_NO_OPERATORS_IN_NAMESPACE
-# if !defined(_NAMESPACE_STD)
-# define BOOST_NO_STD_LOCALE
-# define BOOST_NO_STRINGSTREAM
-# endif
-#endif
-
-#if (__HP_aCC <= 33300)
-// member templates are sufficiently broken that we disable them for now
-# define BOOST_NO_MEMBER_TEMPLATES
-# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
-# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
-#endif
-
-#if (__HP_aCC <= 38000)
-# define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#endif
-
-#if (__HP_aCC > 50000) && (__HP_aCC < 60000)
-# define BOOST_NO_UNREACHABLE_RETURN_DETECTION
-# define BOOST_NO_TEMPLATE_TEMPLATES
-# define BOOST_NO_SWPRINTF
-# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
-# define BOOST_NO_IS_ABSTRACT
-# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-#endif
-
-// optional features rather than defects:
-#if (__HP_aCC >= 33900)
-# define BOOST_HAS_LONG_LONG
-# define BOOST_HAS_PARTIAL_STD_ALLOCATOR
-#endif
-
-#if (__HP_aCC >= 50000 ) && (__HP_aCC <= 53800 ) || (__HP_aCC < 31300 )
-# define BOOST_NO_MEMBER_TEMPLATE_KEYWORD
-#endif
-
-// This macro should not be defined when compiling in strict ansi
-// mode, but, currently, we don't have the ability to determine
-// what standard mode we are compiling with. Some future version
-// of aCC6 compiler will provide predefined macros reflecting the
-// compilation options, including the standard mode.
-#if (__HP_aCC >= 60000) || ((__HP_aCC > 38000) && defined(__hpxstd98))
-# define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#endif
-
-#define BOOST_COMPILER "HP aCC version " BOOST_STRINGIZE(__HP_aCC)
-
-//
-// versions check:
-// we don't support HP aCC prior to version 33000:
-#if __HP_aCC < 33000
-# error "Compiler not supported or configured - please reconfigure"
-#endif
-
-//
-// Extended checks for supporting aCC on PA-RISC
-#if __HP_aCC > 30000 && __HP_aCC < 50000
-# if __HP_aCC < 38000
- // versions prior to version A.03.80 not supported
-# error "Compiler version not supported - version A.03.80 or higher is required"
-# elif !defined(__hpxstd98)
- // must compile using the option +hpxstd98 with version A.03.80 and above
-# error "Compiler option '+hpxstd98' is required for proper support"
-# endif //PA-RISC
-#endif
-
-//
-// C++0x features
-//
-// See boost\config\suffix.hpp for BOOST_NO_LONG_LONG
-//
-#if !defined(__EDG__)
-
-#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_USER_DEFINED_LITERALS
-#define BOOST_NO_CXX11_ALIGNAS
-#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
-#define BOOST_NO_CXX11_INLINE_NAMESPACES
-
-/*
- See https://forums13.itrc.hp.com/service/forums/questionanswer.do?threadId=1443331 and
- https://forums13.itrc.hp.com/service/forums/questionanswer.do?threadId=1443436
-*/
-
-#if (__HP_aCC < 62500) || !defined(HP_CXX0x_SOURCE)
- #define BOOST_NO_CXX11_VARIADIC_MACROS
-#endif
-
-#endif
-
-//
-// last known and checked version for HP-UX/ia64 is 61300
-// last known and checked version for PA-RISC is 38000
-#if ((__HP_aCC > 61300) || ((__HP_aCC > 38000) && defined(__hpxstd98)))
-# if defined(BOOST_ASSERT_CONFIG)
-# error "Unknown compiler version - please run the configure tests and report the results"
-# endif
-#endif
diff --git a/boost/config/compiler/intel.hpp b/boost/config/compiler/intel.hpp
deleted file mode 100644
index 3f0eaa1..0000000
--- a/boost/config/compiler/intel.hpp
+++ /dev/null
@@ -1,323 +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 <cwchar>
-template< typename T > struct assert_no_intrinsic_wchar_t;
-template<> struct assert_no_intrinsic_wchar_t<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<unsigned short>::type assert_no_intrinsic_wchar_t_;
-#else
-template< typename T > struct assert_intrinsic_wchar_t;
-template<> struct assert_intrinsic_wchar_t<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<unsigned short> {};
-#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
-#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 <tuple> seems to be broken in this release as well as <future> :
-# 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/boost/config/compiler/kai.hpp b/boost/config/compiler/kai.hpp
deleted file mode 100644
index 2337e6a..0000000
--- a/boost/config/compiler/kai.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-// (C) Copyright John Maddock 2001.
-// (C) Copyright David Abrahams 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.
-
-// Kai C++ compiler setup:
-
-#include "boost/config/compiler/common_edg.hpp"
-
-# if (__KCC_VERSION <= 4001) || !defined(BOOST_STRICT_CONFIG)
- // at least on Sun, the contents of <cwchar> is not in namespace std
-# define BOOST_NO_STDC_NAMESPACE
-# endif
-
-// see also common_edg.hpp which needs a special check for __KCC
-# if !defined(_EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS)
-# define BOOST_NO_EXCEPTIONS
-# endif
-
-//
-// last known and checked version is 4001:
-#if (__KCC_VERSION > 4001)
-# if defined(BOOST_ASSERT_CONFIG)
-# error "Unknown compiler version - please run the configure tests and report the results"
-# endif
-#endif
-
-
-
diff --git a/boost/config/compiler/metrowerks.hpp b/boost/config/compiler/metrowerks.hpp
deleted file mode 100644
index e172786..0000000
--- a/boost/config/compiler/metrowerks.hpp
+++ /dev/null
@@ -1,148 +0,0 @@
-// (C) Copyright John Maddock 2001.
-// (C) Copyright Darin Adler 2001.
-// (C) Copyright Peter Dimov 2001.
-// (C) Copyright David Abrahams 2001 - 2002.
-// (C) Copyright Beman Dawes 2001 - 2003.
-// (C) Copyright Stefan Slapeta 2004.
-// 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.
-
-// Metrowerks C++ compiler setup:
-
-// locale support is disabled when linking with the dynamic runtime
-# ifdef _MSL_NO_LOCALE
-# define BOOST_NO_STD_LOCALE
-# endif
-
-# if __MWERKS__ <= 0x2301 // 5.3
-# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-# define BOOST_NO_POINTER_TO_MEMBER_CONST
-# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
-# define BOOST_NO_MEMBER_TEMPLATE_KEYWORD
-# endif
-
-# if __MWERKS__ <= 0x2401 // 6.2
-//# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-# endif
-
-# if(__MWERKS__ <= 0x2407) // 7.x
-# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
-# define BOOST_NO_UNREACHABLE_RETURN_DETECTION
-# endif
-
-# if(__MWERKS__ <= 0x3003) // 8.x
-# define BOOST_NO_SFINAE
-# endif
-
-// the "|| !defined(BOOST_STRICT_CONFIG)" part should apply to the last
-// tested version *only*:
-# if(__MWERKS__ <= 0x3207) || !defined(BOOST_STRICT_CONFIG) // 9.6
-# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-# define BOOST_NO_IS_ABSTRACT
-# endif
-
-#if !__option(wchar_type)
-# define BOOST_NO_INTRINSIC_WCHAR_T
-#endif
-
-#if !__option(exceptions) && !defined(BOOST_NO_EXCEPTIONS)
-# define BOOST_NO_EXCEPTIONS
-#endif
-
-#if (__INTEL__ && _WIN32) || (__POWERPC__ && macintosh)
-# if __MWERKS__ == 0x3000
-# define BOOST_COMPILER_VERSION 8.0
-# elif __MWERKS__ == 0x3001
-# define BOOST_COMPILER_VERSION 8.1
-# elif __MWERKS__ == 0x3002
-# define BOOST_COMPILER_VERSION 8.2
-# elif __MWERKS__ == 0x3003
-# define BOOST_COMPILER_VERSION 8.3
-# elif __MWERKS__ == 0x3200
-# define BOOST_COMPILER_VERSION 9.0
-# elif __MWERKS__ == 0x3201
-# define BOOST_COMPILER_VERSION 9.1
-# elif __MWERKS__ == 0x3202
-# define BOOST_COMPILER_VERSION 9.2
-# elif __MWERKS__ == 0x3204
-# define BOOST_COMPILER_VERSION 9.3
-# elif __MWERKS__ == 0x3205
-# define BOOST_COMPILER_VERSION 9.4
-# elif __MWERKS__ == 0x3206
-# define BOOST_COMPILER_VERSION 9.5
-# elif __MWERKS__ == 0x3207
-# define BOOST_COMPILER_VERSION 9.6
-# else
-# define BOOST_COMPILER_VERSION __MWERKS__
-# endif
-#else
-# define BOOST_COMPILER_VERSION __MWERKS__
-#endif
-
-//
-// C++0x features
-//
-// See boost\config\suffix.hpp for BOOST_NO_LONG_LONG
-//
-#if __MWERKS__ > 0x3206 && __option(rvalue_refs)
-# define BOOST_HAS_RVALUE_REFS
-#else
-# define BOOST_NO_CXX11_RVALUE_REFERENCES
-#endif
-#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_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_COMPILER "Metrowerks CodeWarrior C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION)
-
-//
-// versions check:
-// we don't support Metrowerks prior to version 5.3:
-#if __MWERKS__ < 0x2301
-# error "Compiler not supported or configured - please reconfigure"
-#endif
-//
-// last known and checked version:
-#if (__MWERKS__ > 0x3205)
-# if defined(BOOST_ASSERT_CONFIG)
-# error "Unknown compiler version - please run the configure tests and report the results"
-# endif
-#endif
-
-
-
-
-
-
-
diff --git a/boost/config/compiler/mpw.hpp b/boost/config/compiler/mpw.hpp
deleted file mode 100644
index 6910467..0000000
--- a/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
-
-//
-// 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/boost/config/compiler/nvcc.hpp b/boost/config/compiler/nvcc.hpp
deleted file mode 100644
index bbe81f6..0000000
--- a/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/boost/config/compiler/pathscale.hpp b/boost/config/compiler/pathscale.hpp
deleted file mode 100644
index 567d83c..0000000
--- a/boost/config/compiler/pathscale.hpp
+++ /dev/null
@@ -1,83 +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
-#endif
diff --git a/boost/config/compiler/pgi.hpp b/boost/config/compiler/pgi.hpp
deleted file mode 100644
index d50cbef..0000000
--- a/boost/config/compiler/pgi.hpp
+++ /dev/null
@@ -1,125 +0,0 @@
-// (C) Copyright Noel Belcourt 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)
-
-// See http://www.boost.org for most recent version.
-
-// PGI C++ compiler setup:
-
-#define BOOST_COMPILER_VERSION __PGIC__##__PGIC_MINOR__
-#define BOOST_COMPILER "PGI compiler version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION)
-
-//
-// Threading support:
-// Turn this on unconditionally here, it will get turned off again later
-// if no threading API is detected.
-//
-
-#if __PGIC__ >= 11
-
-// options requested by configure --enable-test
-#define BOOST_HAS_PTHREADS
-#define BOOST_HAS_THREADS
-#define BOOST_HAS_PTHREAD_YIELD
-#define BOOST_HAS_NRVO
-#define BOOST_HAS_LONG_LONG
-
-// options --enable-test wants undefined
-#undef BOOST_NO_STDC_NAMESPACE
-#undef BOOST_NO_EXCEPTION_STD_NAMESPACE
-#undef BOOST_DEDUCED_TYPENAME
-
-#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
-#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#define BOOST_NO_CXX11_AUTO_DECLARATIONS
-
-#elif __PGIC__ >= 10
-
-// options requested by configure --enable-test
-#define BOOST_HAS_THREADS
-#define BOOST_HAS_NRVO
-#define BOOST_HAS_LONG_LONG
-#if defined(linux) || defined(__linux) || defined(__linux__)
-# define BOOST_HAS_STDINT_H
-#endif
-
-// options --enable-test wants undefined
-#undef BOOST_NO_STDC_NAMESPACE
-#undef BOOST_NO_EXCEPTION_STD_NAMESPACE
-#undef BOOST_DEDUCED_TYPENAME
-
-#elif __PGIC__ >= 7
-
-#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
-#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#define BOOST_NO_SWPRINTF
-#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-#define BOOST_NO_CXX11_AUTO_DECLARATIONS
-
-#else
-
-# error "Pgi compiler not configured - please reconfigure"
-
-#endif
-//
-// C++0x features
-//
-// See boost\config\suffix.hpp for BOOST_NO_LONG_LONG
-//
-#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_LAMBDAS
-#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#define BOOST_NO_CXX11_NOEXCEPT
-#define BOOST_NO_CXX11_NULLPTR
-#define BOOST_NO_CXX11_NUMERIC_LIMITS
-#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_SWPRINTF
-#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_HDR_UNORDERED_SET
-#define BOOST_NO_CXX11_HDR_UNORDERED_MAP
-#define BOOST_NO_CXX11_HDR_TYPEINDEX
-#define BOOST_NO_CXX11_HDR_TYPE_TRAITS
-#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_HDR_ARRAY
-#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
-
-//
-// version check:
-// probably nothing to do here?
-
diff --git a/boost/config/compiler/sgi_mipspro.hpp b/boost/config/compiler/sgi_mipspro.hpp
deleted file mode 100644
index 9068831..0000000
--- a/boost/config/compiler/sgi_mipspro.hpp
+++ /dev/null
@@ -1,29 +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.
-
-// SGI C++ compiler setup:
-
-#define BOOST_COMPILER "SGI Irix compiler version " BOOST_STRINGIZE(_COMPILER_VERSION)
-
-#include "boost/config/compiler/common_edg.hpp"
-
-//
-// Threading support:
-// Turn this on unconditionally here, it will get turned off again later
-// if no threading API is detected.
-//
-#define BOOST_HAS_THREADS
-#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-
-#undef BOOST_NO_SWPRINTF
-#undef BOOST_DEDUCED_TYPENAME
-
-//
-// version check:
-// probably nothing to do here?
-
-
diff --git a/boost/config/compiler/sunpro_cc.hpp b/boost/config/compiler/sunpro_cc.hpp
deleted file mode 100644
index 486d5c4..0000000
--- a/boost/config/compiler/sunpro_cc.hpp
+++ /dev/null
@@ -1,153 +0,0 @@
-// (C) Copyright John Maddock 2001.
-// (C) Copyright Jens Maurer 2001 - 2003.
-// (C) Copyright Peter Dimov 2002.
-// (C) Copyright Aleksey Gurtovoy 2002 - 2003.
-// (C) Copyright David Abrahams 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.
-
-// Sun C++ compiler setup:
-
-# if __SUNPRO_CC <= 0x500
-# define BOOST_NO_MEMBER_TEMPLATES
-# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-# endif
-
-# if (__SUNPRO_CC <= 0x520)
- //
- // Sunpro 5.2 and earler:
- //
- // although sunpro 5.2 supports the syntax for
- // inline initialization it often gets the value
- // wrong, especially where the value is computed
- // from other constants (J Maddock 6th May 2001)
-# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-
- // Although sunpro 5.2 supports the syntax for
- // partial specialization, it often seems to
- // bind to the wrong specialization. Better
- // to disable it until suppport becomes more stable
- // (J Maddock 6th May 2001).
-# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-# endif
-
-# if (__SUNPRO_CC <= 0x530)
- // Requesting debug info (-g) with Boost.Python results
- // in an internal compiler error for "static const"
- // initialized in-class.
- // >> Assertion: (../links/dbg_cstabs.cc, line 611)
- // while processing ../test.cpp at line 0.
- // (Jens Maurer according to Gottfried Ganssauge 04 Mar 2002)
-# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-
- // SunPro 5.3 has better support for partial specialization,
- // but breaks when compiling std::less<shared_ptr<T> >
- // (Jens Maurer 4 Nov 2001).
-
- // std::less specialization fixed as reported by George
- // Heintzelman; partial specialization re-enabled
- // (Peter Dimov 17 Jan 2002)
-
-//# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
- // integral constant expressions with 64 bit numbers fail
-# define BOOST_NO_INTEGRAL_INT64_T
-# endif
-
-# if (__SUNPRO_CC < 0x570)
-# define BOOST_NO_TEMPLATE_TEMPLATES
- // see http://lists.boost.org/MailArchives/boost/msg47184.php
- // and http://lists.boost.org/MailArchives/boost/msg47220.php
-# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-# define BOOST_NO_SFINAE
-# define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS
-# endif
-# if (__SUNPRO_CC <= 0x580)
-# define BOOST_NO_IS_ABSTRACT
-# endif
-
-# if (__SUNPRO_CC <= 0x5100)
- // Sun 5.10 may not correctly value-initialize objects of
- // some user defined types, as was reported in April 2010
- // (CR 6947016), and confirmed by Steve Clamage.
- // (Niels Dekker, LKEB, May 2010).
-# define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
-# endif
-
-//
-// Dynamic shared object (DSO) and dynamic-link library (DLL) support
-//
-#if __SUNPRO_CC > 0x500
-# define BOOST_SYMBOL_EXPORT __global
-# define BOOST_SYMBOL_IMPORT __global
-# define BOOST_SYMBOL_VISIBLE __global
-#endif
-
-
-
-//
-// Issues that effect all known versions:
-//
-#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#define BOOST_NO_ADL_BARRIER
-
-//
-// C++0x features
-//
-# define BOOST_HAS_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
-
-//
-// Version
-//
-
-#define BOOST_COMPILER "Sun compiler version " BOOST_STRINGIZE(__SUNPRO_CC)
-
-//
-// versions check:
-// we don't support sunpro prior to version 4:
-#if __SUNPRO_CC < 0x400
-#error "Compiler not supported or configured - please reconfigure"
-#endif
-//
-// last known and checked version is 0x590:
-#if (__SUNPRO_CC > 0x590)
-# if defined(BOOST_ASSERT_CONFIG)
-# error "Unknown compiler version - please run the configure tests and report the results"
-# endif
-#endif
diff --git a/boost/config/compiler/vacpp.hpp b/boost/config/compiler/vacpp.hpp
deleted file mode 100644
index 17c02f9..0000000
--- a/boost/config/compiler/vacpp.hpp
+++ /dev/null
@@ -1,131 +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
diff --git a/boost/config/compiler/visualc.hpp b/boost/config/compiler/visualc.hpp
deleted file mode 100644
index 695fa94..0000000
--- a/boost/config/compiler/visualc.hpp
+++ /dev/null
@@ -1,276 +0,0 @@
-// (C) Copyright John Maddock 2001 - 2003.
-// (C) Copyright Darin Adler 2001 - 2002.
-// (C) Copyright Peter Dimov 2001.
-// (C) Copyright Aleksey Gurtovoy 2002.
-// (C) Copyright David Abrahams 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.
-//
-// Microsoft Visual C++ compiler setup:
-//
-// We need to be careful with the checks in this file, as contrary
-// to popular belief there are versions with _MSC_VER with the final
-// digit non-zero (mainly the MIPS cross compiler).
-//
-// So we either test _MSC_VER >= XXXX or else _MSC_VER < XXXX.
-// No other comparisons (==, >, or <=) are safe.
-//
-
-#define BOOST_MSVC _MSC_VER
-
-//
-// Helper macro BOOST_MSVC_FULL_VER for use in Boost code:
-//
-#if _MSC_FULL_VER > 100000000
-# define BOOST_MSVC_FULL_VER _MSC_FULL_VER
-#else
-# define BOOST_MSVC_FULL_VER (_MSC_FULL_VER * 10)
-#endif
-
-// Attempt to suppress VC6 warnings about the length of decorated names (obsolete):
-#pragma warning( disable : 4503 ) // warning: decorated name length exceeded
-
-#define BOOST_HAS_PRAGMA_ONCE
-
-//
-// versions check:
-// we don't support Visual C++ prior to version 7.1:
-#if _MSC_VER < 1310
-# error "Compiler not supported or configured - please reconfigure"
-#endif
-
-#if _MSC_FULL_VER < 180020827
-# define BOOST_NO_FENV_H
-#endif
-
-#if _MSC_VER < 1400
-// although a conforming signature for swprint exists in VC7.1
-// it appears not to actually work:
-# define BOOST_NO_SWPRINTF
-// Our extern template tests also fail for this compiler:
-# define BOOST_NO_CXX11_EXTERN_TEMPLATE
-// Variadic macros do not exist for VC7.1 and lower
-# define BOOST_NO_CXX11_VARIADIC_MACROS
-#endif
-
-#if defined(UNDER_CE)
-// Windows CE does not have a conforming signature for swprintf
-# define BOOST_NO_SWPRINTF
-#endif
-
-#if _MSC_VER < 1500 // 140X == VC++ 8.0
-# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-#endif
-
-#if _MSC_VER < 1600 // 150X == VC++ 9.0
- // A bug in VC9:
-# define BOOST_NO_ADL_BARRIER
-#endif
-
-
-// MSVC (including the latest checked version) has not yet completely
-// implemented value-initialization, as is reported:
-// "VC++ does not value-initialize members of derived classes without
-// user-declared constructor", reported in 2009 by Sylvester Hesp:
-// https://connect.microsoft.com/VisualStudio/feedback/details/484295
-// "Presence of copy constructor breaks member class initialization",
-// reported in 2009 by Alex Vakulenko:
-// https://connect.microsoft.com/VisualStudio/feedback/details/499606
-// "Value-initialization in new-expression", reported in 2005 by
-// Pavel Kuznetsov (MetaCommunications Engineering):
-// https://connect.microsoft.com/VisualStudio/feedback/details/100744
-// See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues
-// (Niels Dekker, LKEB, May 2010)
-# define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
-
-#ifndef _NATIVE_WCHAR_T_DEFINED
-# define BOOST_NO_INTRINSIC_WCHAR_T
-#endif
-
-#if defined(_WIN32_WCE) || defined(UNDER_CE)
-# define BOOST_NO_SWPRINTF
-#endif
-
-// we have ThreadEx or GetSystemTimeAsFileTime unless we're running WindowsCE
-#if !defined(_WIN32_WCE) && !defined(UNDER_CE)
-# define BOOST_HAS_THREADEX
-# define BOOST_HAS_GETSYSTEMTIMEASFILETIME
-#endif
-
-//
-// check for exception handling support:
-#if !defined(_CPPUNWIND) && !defined(BOOST_NO_EXCEPTIONS)
-# define BOOST_NO_EXCEPTIONS
-#endif
-
-//
-// __int64 support:
-//
-#define BOOST_HAS_MS_INT64
-#if defined(_MSC_EXTENSIONS) || (_MSC_VER >= 1400)
-# define BOOST_HAS_LONG_LONG
-#else
-# define BOOST_NO_LONG_LONG
-#endif
-#if (_MSC_VER >= 1400) && !defined(_DEBUG)
-# define BOOST_HAS_NRVO
-#endif
-//
-// disable Win32 API's if compiler extentions are
-// turned off:
-//
-#if !defined(_MSC_EXTENSIONS) && !defined(BOOST_DISABLE_WIN32)
-# define BOOST_DISABLE_WIN32
-#endif
-#if !defined(_CPPRTTI) && !defined(BOOST_NO_RTTI)
-# define BOOST_NO_RTTI
-#endif
-
-//
-// TR1 features:
-//
-#if _MSC_VER >= 1700
-// # define BOOST_HAS_TR1_HASH // don't know if this is true yet.
-// # define BOOST_HAS_TR1_TYPE_TRAITS // don't know if this is true yet.
-# define BOOST_HAS_TR1_UNORDERED_MAP
-# define BOOST_HAS_TR1_UNORDERED_SET
-#endif
-
-//
-// C++0x features
-//
-// See above for BOOST_NO_LONG_LONG
-
-// C++ features supported by VC++ 10 (aka 2010)
-//
-#if _MSC_VER < 1600
-# define BOOST_NO_CXX11_AUTO_DECLARATIONS
-# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
-# define BOOST_NO_CXX11_LAMBDAS
-# define BOOST_NO_CXX11_RVALUE_REFERENCES
-# define BOOST_NO_CXX11_STATIC_ASSERT
-# define BOOST_NO_CXX11_NULLPTR
-# define BOOST_NO_CXX11_DECLTYPE
-#endif // _MSC_VER < 1600
-
-#if _MSC_VER >= 1600
-# define BOOST_HAS_STDINT_H
-#endif
-
-// C++11 features supported by VC++ 11 (aka 2012)
-//
-#if _MSC_VER < 1700
-# define BOOST_NO_CXX11_RANGE_BASED_FOR
-# define BOOST_NO_CXX11_SCOPED_ENUMS
-#endif // _MSC_VER < 1700
-
-// C++11 features supported by VC++ 12 (aka 2013).
-//
-#if _MSC_FULL_VER < 180020827
-# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
-# define BOOST_NO_CXX11_DELETED_FUNCTIONS
-# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
-# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
-# define BOOST_NO_CXX11_RAW_LITERALS
-# define BOOST_NO_CXX11_TEMPLATE_ALIASES
-# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
-# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
-# define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
-#endif
-
-// C++11 features not supported by any versions
-#define BOOST_NO_CXX11_CHAR16_T
-#define BOOST_NO_CXX11_CHAR32_T
-#define BOOST_NO_CXX11_CONSTEXPR
-#define BOOST_NO_CXX11_DECLTYPE_N3276
-#define BOOST_NO_CXX11_NOEXCEPT
-#define BOOST_NO_CXX11_UNICODE_LITERALS
-#define BOOST_NO_SFINAE_EXPR
-#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
-#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
-#define BOOST_NO_CXX11_ALIGNAS
-#define BOOST_NO_CXX11_INLINE_NAMESPACES
-
-//
-// prefix and suffix headers:
-//
-#ifndef BOOST_ABI_PREFIX
-# define BOOST_ABI_PREFIX "boost/config/abi/msvc_prefix.hpp"
-#endif
-#ifndef BOOST_ABI_SUFFIX
-# define BOOST_ABI_SUFFIX "boost/config/abi/msvc_suffix.hpp"
-#endif
-
-#ifndef BOOST_COMPILER
-// TODO:
-// these things are mostly bogus. 1200 means version 12.0 of the compiler. The
-// artificial versions assigned to them only refer to the versions of some IDE
-// these compilers have been shipped with, and even that is not all of it. Some
-// were shipped with freely downloadable SDKs, others as crosscompilers in eVC.
-// IOW, you can't use these 'versions' in any sensible way. Sorry.
-# if defined(UNDER_CE)
-# if _MSC_VER < 1400
- // Note: I'm not aware of any CE compiler with version 13xx
-# if defined(BOOST_ASSERT_CONFIG)
-# error "Unknown EVC++ compiler version - please run the configure tests and report the results"
-# else
-# pragma message("Unknown EVC++ compiler version - please run the configure tests and report the results")
-# endif
-# elif _MSC_VER < 1500
-# define BOOST_COMPILER_VERSION evc8
-# elif _MSC_VER < 1600
-# define BOOST_COMPILER_VERSION evc9
-# elif _MSC_VER < 1700
-# define BOOST_COMPILER_VERSION evc10
-# elif _MSC_VER < 1800
-# define BOOST_COMPILER_VERSION evc11
-# elif _MSC_VER < 1900
-# define BOOST_COMPILER_VERSION evc12
-# else
-# if defined(BOOST_ASSERT_CONFIG)
-# error "Unknown EVC++ compiler version - please run the configure tests and report the results"
-# else
-# pragma message("Unknown EVC++ compiler version - please run the configure tests and report the results")
-# endif
-# endif
-# else
-# if _MSC_VER < 1310
- // Note: Versions up to 7.0 aren't supported.
-# define BOOST_COMPILER_VERSION 5.0
-# elif _MSC_VER < 1300
-# define BOOST_COMPILER_VERSION 6.0
-# elif _MSC_VER < 1310
-# define BOOST_COMPILER_VERSION 7.0
-# elif _MSC_VER < 1400
-# define BOOST_COMPILER_VERSION 7.1
-# elif _MSC_VER < 1500
-# define BOOST_COMPILER_VERSION 8.0
-# elif _MSC_VER < 1600
-# define BOOST_COMPILER_VERSION 9.0
-# elif _MSC_VER < 1700
-# define BOOST_COMPILER_VERSION 10.0
-# elif _MSC_VER < 1800
-# define BOOST_COMPILER_VERSION 11.0
-# elif _MSC_VER < 1900
-# define BOOST_COMPILER_VERSION 12.0
-# else
-# define BOOST_COMPILER_VERSION _MSC_VER
-# endif
-# endif
-
-# define BOOST_COMPILER "Microsoft Visual C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION)
-#endif
-
-//
-// last known and checked version is 18.00.20827.3 (VC12 RC, aka 2013 RC):
-#if (_MSC_VER > 1800 && _MSC_FULL_VER > 180020827)
-# if defined(BOOST_ASSERT_CONFIG)
-# error "Unknown compiler version - please run the configure tests and report the results"
-# else
-# pragma message("Unknown compiler version - please run the configure tests and report the results")
-# endif
-#endif
diff --git a/boost/config/no_tr1/cmath.hpp b/boost/config/no_tr1/cmath.hpp
deleted file mode 100644
index d8268d8..0000000
--- a/boost/config/no_tr1/cmath.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-// (C) Copyright John Maddock 2008.
-// 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)
-//
-// The aim of this header is just to include <cmath> but to do
-// so in a way that does not result in recursive inclusion of
-// the Boost TR1 components if boost/tr1/tr1/cmath is in the
-// include search path. We have to do this to avoid circular
-// dependencies:
-//
-
-#ifndef BOOST_CONFIG_CMATH
-# define BOOST_CONFIG_CMATH
-
-# ifndef BOOST_TR1_NO_RECURSION
-# define BOOST_TR1_NO_RECURSION
-# define BOOST_CONFIG_NO_CMATH_RECURSION
-# endif
-
-# include <cmath>
-
-# ifdef BOOST_CONFIG_NO_CMATH_RECURSION
-# undef BOOST_TR1_NO_RECURSION
-# undef BOOST_CONFIG_NO_CMATH_RECURSION
-# endif
-
-#endif
diff --git a/boost/config/no_tr1/complex.hpp b/boost/config/no_tr1/complex.hpp
deleted file mode 100644
index ca20092..0000000
--- a/boost/config/no_tr1/complex.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-// (C) Copyright John Maddock 2005.
-// 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)
-//
-// The aim of this header is just to include <complex> but to do
-// so in a way that does not result in recursive inclusion of
-// the Boost TR1 components if boost/tr1/tr1/complex is in the
-// include search path. We have to do this to avoid circular
-// dependencies:
-//
-
-#ifndef BOOST_CONFIG_COMPLEX
-# define BOOST_CONFIG_COMPLEX
-
-# ifndef BOOST_TR1_NO_RECURSION
-# define BOOST_TR1_NO_RECURSION
-# define BOOST_CONFIG_NO_COMPLEX_RECURSION
-# endif
-
-# include <complex>
-
-# ifdef BOOST_CONFIG_NO_COMPLEX_RECURSION
-# undef BOOST_TR1_NO_RECURSION
-# undef BOOST_CONFIG_NO_COMPLEX_RECURSION
-# endif
-
-#endif
diff --git a/boost/config/no_tr1/functional.hpp b/boost/config/no_tr1/functional.hpp
deleted file mode 100644
index e395efc..0000000
--- a/boost/config/no_tr1/functional.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-// (C) Copyright John Maddock 2005.
-// 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)
-//
-// The aim of this header is just to include <functional> but to do
-// so in a way that does not result in recursive inclusion of
-// the Boost TR1 components if boost/tr1/tr1/functional is in the
-// include search path. We have to do this to avoid circular
-// dependencies:
-//
-
-#ifndef BOOST_CONFIG_FUNCTIONAL
-# define BOOST_CONFIG_FUNCTIONAL
-
-# ifndef BOOST_TR1_NO_RECURSION
-# define BOOST_TR1_NO_RECURSION
-# define BOOST_CONFIG_NO_FUNCTIONAL_RECURSION
-# endif
-
-# include <functional>
-
-# ifdef BOOST_CONFIG_NO_FUNCTIONAL_RECURSION
-# undef BOOST_TR1_NO_RECURSION
-# undef BOOST_CONFIG_NO_FUNCTIONAL_RECURSION
-# endif
-
-#endif
diff --git a/boost/config/no_tr1/memory.hpp b/boost/config/no_tr1/memory.hpp
deleted file mode 100644
index 2b5d208..0000000
--- a/boost/config/no_tr1/memory.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-// (C) Copyright John Maddock 2005.
-// 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)
-//
-// The aim of this header is just to include <memory> but to do
-// so in a way that does not result in recursive inclusion of
-// the Boost TR1 components if boost/tr1/tr1/memory is in the
-// include search path. We have to do this to avoid circular
-// dependencies:
-//
-
-#ifndef BOOST_CONFIG_MEMORY
-# define BOOST_CONFIG_MEMORY
-
-# ifndef BOOST_TR1_NO_RECURSION
-# define BOOST_TR1_NO_RECURSION
-# define BOOST_CONFIG_NO_MEMORY_RECURSION
-# endif
-
-# include <memory>
-
-# ifdef BOOST_CONFIG_NO_MEMORY_RECURSION
-# undef BOOST_TR1_NO_RECURSION
-# undef BOOST_CONFIG_NO_MEMORY_RECURSION
-# endif
-
-#endif
diff --git a/boost/config/no_tr1/utility.hpp b/boost/config/no_tr1/utility.hpp
deleted file mode 100644
index dea8f11..0000000
--- a/boost/config/no_tr1/utility.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-// (C) Copyright John Maddock 2005.
-// 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)
-//
-// The aim of this header is just to include <utility> but to do
-// so in a way that does not result in recursive inclusion of
-// the Boost TR1 components if boost/tr1/tr1/utility is in the
-// include search path. We have to do this to avoid circular
-// dependencies:
-//
-
-#ifndef BOOST_CONFIG_UTILITY
-# define BOOST_CONFIG_UTILITY
-
-# ifndef BOOST_TR1_NO_RECURSION
-# define BOOST_TR1_NO_RECURSION
-# define BOOST_CONFIG_NO_UTILITY_RECURSION
-# endif
-
-# include <utility>
-
-# ifdef BOOST_CONFIG_NO_UTILITY_RECURSION
-# undef BOOST_TR1_NO_RECURSION
-# undef BOOST_CONFIG_NO_UTILITY_RECURSION
-# endif
-
-#endif
diff --git a/boost/config/platform/aix.hpp b/boost/config/platform/aix.hpp
deleted file mode 100644
index 894ef42..0000000
--- a/boost/config/platform/aix.hpp
+++ /dev/null
@@ -1,33 +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.
-
-// IBM/Aix specific config options:
-
-#define BOOST_PLATFORM "IBM Aix"
-
-#define BOOST_HAS_UNISTD_H
-#define BOOST_HAS_NL_TYPES_H
-#define BOOST_HAS_NANOSLEEP
-#define BOOST_HAS_CLOCK_GETTIME
-
-// This needs support in "boost/cstdint.hpp" exactly like FreeBSD.
-// This platform has header named <inttypes.h> which includes all
-// the things needed.
-#define BOOST_HAS_STDINT_H
-
-// Threading API's:
-#define BOOST_HAS_PTHREADS
-#define BOOST_HAS_PTHREAD_DELAY_NP
-#define BOOST_HAS_SCHED_YIELD
-//#define BOOST_HAS_PTHREAD_YIELD
-
-// boilerplate code:
-#include <boost/config/posix_features.hpp>
-
-
-
-
diff --git a/boost/config/platform/amigaos.hpp b/boost/config/platform/amigaos.hpp
deleted file mode 100644
index 34bcf41..0000000
--- a/boost/config/platform/amigaos.hpp
+++ /dev/null
@@ -1,15 +0,0 @@
-// (C) Copyright John Maddock 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.
-
-#define BOOST_PLATFORM "AmigaOS"
-
-#define BOOST_DISABLE_THREADS
-#define BOOST_NO_CWCHAR
-#define BOOST_NO_STD_WSTRING
-#define BOOST_NO_INTRINSIC_WCHAR_T
-
-
diff --git a/boost/config/platform/beos.hpp b/boost/config/platform/beos.hpp
deleted file mode 100644
index 48c3d8d..0000000
--- a/boost/config/platform/beos.hpp
+++ /dev/null
@@ -1,26 +0,0 @@
-// (C) Copyright John Maddock 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.
-
-// BeOS specific config options:
-
-#define BOOST_PLATFORM "BeOS"
-
-#define BOOST_NO_CWCHAR
-#define BOOST_NO_CWCTYPE
-#define BOOST_HAS_UNISTD_H
-
-#define BOOST_HAS_BETHREADS
-
-#ifndef BOOST_DISABLE_THREADS
-# define BOOST_HAS_THREADS
-#endif
-
-// boilerplate code:
-#include <boost/config/posix_features.hpp>
-
-
-
diff --git a/boost/config/platform/bsd.hpp b/boost/config/platform/bsd.hpp
deleted file mode 100644
index a014297..0000000
--- a/boost/config/platform/bsd.hpp
+++ /dev/null
@@ -1,86 +0,0 @@
-// (C) Copyright John Maddock 2001 - 2003.
-// (C) Copyright Darin Adler 2001.
-// (C) Copyright Douglas Gregor 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.
-
-// generic BSD config options:
-
-#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(__DragonFly__)
-#error "This platform is not BSD"
-#endif
-
-#ifdef __FreeBSD__
-#define BOOST_PLATFORM "FreeBSD " BOOST_STRINGIZE(__FreeBSD__)
-#elif defined(__NetBSD__)
-#define BOOST_PLATFORM "NetBSD " BOOST_STRINGIZE(__NetBSD__)
-#elif defined(__OpenBSD__)
-#define BOOST_PLATFORM "OpenBSD " BOOST_STRINGIZE(__OpenBSD__)
-#elif defined(__DragonFly__)
-#define BOOST_PLATFORM "DragonFly " BOOST_STRINGIZE(__DragonFly__)
-#endif
-
-//
-// is this the correct version check?
-// FreeBSD has <nl_types.h> but does not
-// advertise the fact in <unistd.h>:
-//
-#if (defined(__FreeBSD__) && (__FreeBSD__ >= 3)) || defined(__DragonFly__)
-# define BOOST_HAS_NL_TYPES_H
-#endif
-
-//
-// FreeBSD 3.x has pthreads support, but defines _POSIX_THREADS in <pthread.h>
-// and not in <unistd.h>
-//
-#if (defined(__FreeBSD__) && (__FreeBSD__ <= 3))\
- || defined(__OpenBSD__) || defined(__DragonFly__)
-# define BOOST_HAS_PTHREADS
-#endif
-
-//
-// No wide character support in the BSD header files:
-//
-#if defined(__NetBSD__)
-#define __NetBSD_GCC__ (__GNUC__ * 1000000 \
- + __GNUC_MINOR__ * 1000 \
- + __GNUC_PATCHLEVEL__)
-// XXX - the following is required until c++config.h
-// defines _GLIBCXX_HAVE_SWPRINTF and friends
-// or the preprocessor conditionals are removed
-// from the cwchar header.
-#define _GLIBCXX_HAVE_SWPRINTF 1
-#endif
-
-#if !((defined(__FreeBSD__) && (__FreeBSD__ >= 5)) \
- || (defined(__NetBSD_GCC__) && (__NetBSD_GCC__ >= 2095003)) || defined(__DragonFly__))
-# define BOOST_NO_CWCHAR
-#endif
-//
-// The BSD <ctype.h> has macros only, no functions:
-//
-#if !defined(__OpenBSD__) || defined(__DragonFly__)
-# define BOOST_NO_CTYPE_FUNCTIONS
-#endif
-
-//
-// thread API's not auto detected:
-//
-#define BOOST_HAS_SCHED_YIELD
-#define BOOST_HAS_NANOSLEEP
-#define BOOST_HAS_GETTIMEOFDAY
-#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-#define BOOST_HAS_SIGACTION
-
-// boilerplate code:
-#define BOOST_HAS_UNISTD_H
-#include <boost/config/posix_features.hpp>
-
-
-
-
-
-
diff --git a/boost/config/platform/cray.hpp b/boost/config/platform/cray.hpp
deleted file mode 100644
index 5c476e4..0000000
--- a/boost/config/platform/cray.hpp
+++ /dev/null
@@ -1,18 +0,0 @@
-// (C) Copyright John Maddock 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.
-
-// SGI Irix specific config options:
-
-#define BOOST_PLATFORM "Cray"
-
-// boilerplate code:
-#define BOOST_HAS_UNISTD_H
-#include <boost/config/posix_features.hpp>
-
-
-
diff --git a/boost/config/platform/cygwin.hpp b/boost/config/platform/cygwin.hpp
deleted file mode 100644
index b7ef572..0000000
--- a/boost/config/platform/cygwin.hpp
+++ /dev/null
@@ -1,58 +0,0 @@
-// (C) Copyright John Maddock 2001 - 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.
-
-// cygwin specific config options:
-
-#define BOOST_PLATFORM "Cygwin"
-#define BOOST_HAS_DIRENT_H
-#define BOOST_HAS_LOG1P
-#define BOOST_HAS_EXPM1
-
-//
-// Threading API:
-// See if we have POSIX threads, if we do use them, otherwise
-// revert to native Win threads.
-#define BOOST_HAS_UNISTD_H
-#include <unistd.h>
-#if defined(_POSIX_THREADS) && (_POSIX_THREADS+0 >= 0) && !defined(BOOST_HAS_WINTHREADS)
-# define BOOST_HAS_PTHREADS
-# define BOOST_HAS_SCHED_YIELD
-# define BOOST_HAS_GETTIMEOFDAY
-# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-# define BOOST_HAS_SIGACTION
-#else
-# if !defined(BOOST_HAS_WINTHREADS)
-# define BOOST_HAS_WINTHREADS
-# endif
-# define BOOST_HAS_FTIME
-#endif
-
-//
-// find out if we have a stdint.h, there should be a better way to do this:
-//
-#include <sys/types.h>
-#ifdef _STDINT_H
-#define BOOST_HAS_STDINT_H
-#endif
-
-/// Cygwin has no fenv.h
-#define BOOST_NO_FENV_H
-
-// boilerplate code:
-#include <boost/config/posix_features.hpp>
-
-//
-// Cygwin lies about XSI conformance, there is no nl_types.h:
-//
-#ifdef BOOST_HAS_NL_TYPES_H
-# undef BOOST_HAS_NL_TYPES_H
-#endif
-
-
-
-
-
diff --git a/boost/config/platform/hpux.hpp b/boost/config/platform/hpux.hpp
deleted file mode 100644
index 19ce68e..0000000
--- a/boost/config/platform/hpux.hpp
+++ /dev/null
@@ -1,87 +0,0 @@
-// (C) Copyright John Maddock 2001 - 2003.
-// (C) Copyright Jens Maurer 2001 - 2003.
-// (C) Copyright David Abrahams 2002.
-// (C) Copyright Toon Knapen 2003.
-// (C) Copyright Boris Gubenko 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)
-
-// See http://www.boost.org for most recent version.
-
-// hpux specific config options:
-
-#define BOOST_PLATFORM "HP-UX"
-
-// In principle, HP-UX has a nice <stdint.h> under the name <inttypes.h>
-// However, it has the following problem:
-// Use of UINT32_C(0) results in "0u l" for the preprocessed source
-// (verifyable with gcc 2.95.3)
-#if (defined(__GNUC__) && (__GNUC__ >= 3)) || defined(__HP_aCC)
-# define BOOST_HAS_STDINT_H
-#endif
-
-#if !(defined(__HP_aCC) || !defined(_INCLUDE__STDC_A1_SOURCE))
-# define BOOST_NO_SWPRINTF
-#endif
-#if defined(__HP_aCC) && !defined(_INCLUDE__STDC_A1_SOURCE)
-# define BOOST_NO_CWCTYPE
-#endif
-
-#if defined(__GNUC__)
-# if (__GNUC__ < 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ < 3))
- // GNU C on HP-UX does not support threads (checked up to gcc 3.3)
-# define BOOST_DISABLE_THREADS
-# elif !defined(BOOST_DISABLE_THREADS)
- // threads supported from gcc-3.3 onwards:
-# define BOOST_HAS_THREADS
-# define BOOST_HAS_PTHREADS
-# endif
-#elif defined(__HP_aCC) && !defined(BOOST_DISABLE_THREADS)
-# define BOOST_HAS_PTHREADS
-#endif
-
-// boilerplate code:
-#define BOOST_HAS_UNISTD_H
-#include <boost/config/posix_features.hpp>
-
-// the following are always available:
-#ifndef BOOST_HAS_GETTIMEOFDAY
-# define BOOST_HAS_GETTIMEOFDAY
-#endif
-#ifndef BOOST_HAS_SCHED_YIELD
-# define BOOST_HAS_SCHED_YIELD
-#endif
-#ifndef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-#endif
-#ifndef BOOST_HAS_NL_TYPES_H
-# define BOOST_HAS_NL_TYPES_H
-#endif
-#ifndef BOOST_HAS_NANOSLEEP
-# define BOOST_HAS_NANOSLEEP
-#endif
-#ifndef BOOST_HAS_GETTIMEOFDAY
-# define BOOST_HAS_GETTIMEOFDAY
-#endif
-#ifndef BOOST_HAS_DIRENT_H
-# define BOOST_HAS_DIRENT_H
-#endif
-#ifndef BOOST_HAS_CLOCK_GETTIME
-# define BOOST_HAS_CLOCK_GETTIME
-#endif
-#ifndef BOOST_HAS_SIGACTION
-# define BOOST_HAS_SIGACTION
-#endif
-#ifndef BOOST_HAS_NRVO
-# ifndef __parisc
-# define BOOST_HAS_NRVO
-# endif
-#endif
-#ifndef BOOST_HAS_LOG1P
-# define BOOST_HAS_LOG1P
-#endif
-#ifndef BOOST_HAS_EXPM1
-# define BOOST_HAS_EXPM1
-#endif
-
diff --git a/boost/config/platform/irix.hpp b/boost/config/platform/irix.hpp
deleted file mode 100644
index aeae49c..0000000
--- a/boost/config/platform/irix.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-// (C) Copyright John Maddock 2001 - 2003.
-// (C) Copyright Jens Maurer 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.
-
-// SGI Irix specific config options:
-
-#define BOOST_PLATFORM "SGI Irix"
-
-#define BOOST_NO_SWPRINTF
-//
-// these are not auto detected by POSIX feature tests:
-//
-#define BOOST_HAS_GETTIMEOFDAY
-#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-
-#ifdef __GNUC__
- // GNU C on IRIX does not support threads (checked up to gcc 3.3)
-# define BOOST_DISABLE_THREADS
-#endif
-
-// boilerplate code:
-#define BOOST_HAS_UNISTD_H
-#include <boost/config/posix_features.hpp>
-
-
-
diff --git a/boost/config/platform/linux.hpp b/boost/config/platform/linux.hpp
deleted file mode 100644
index a02aff7..0000000
--- a/boost/config/platform/linux.hpp
+++ /dev/null
@@ -1,103 +0,0 @@
-// (C) Copyright John Maddock 2001 - 2003.
-// (C) Copyright Jens Maurer 2001 - 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.
-
-// linux specific config options:
-
-#define BOOST_PLATFORM "linux"
-
-// make sure we have __GLIBC_PREREQ if available at all
-#ifdef __cplusplus
-#include <cstdlib>
-#else
-#include <stdlib.h>
-#endif
-
-//
-// <stdint.h> added to glibc 2.1.1
-// We can only test for 2.1 though:
-//
-#if defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 1)))
- // <stdint.h> defines int64_t unconditionally, but <sys/types.h> defines
- // int64_t only if __GNUC__. Thus, assume a fully usable <stdint.h>
- // only when using GCC.
-# if defined __GNUC__
-# define BOOST_HAS_STDINT_H
-# endif
-#endif
-
-#if defined(__LIBCOMO__)
- //
- // como on linux doesn't have std:: c functions:
- // NOTE: versions of libcomo prior to beta28 have octal version numbering,
- // e.g. version 25 is 21 (dec)
- //
-# if __LIBCOMO_VERSION__ <= 20
-# define BOOST_NO_STDC_NAMESPACE
-# endif
-
-# if __LIBCOMO_VERSION__ <= 21
-# define BOOST_NO_SWPRINTF
-# endif
-
-#endif
-
-//
-// If glibc is past version 2 then we definitely have
-// gettimeofday, earlier versions may or may not have it:
-//
-#if defined(__GLIBC__) && (__GLIBC__ >= 2)
-# define BOOST_HAS_GETTIMEOFDAY
-#endif
-
-#ifdef __USE_POSIX199309
-# define BOOST_HAS_NANOSLEEP
-#endif
-
-#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
-// __GLIBC_PREREQ is available since 2.1.2
-
- // swprintf is available since glibc 2.2.0
-# if !__GLIBC_PREREQ(2,2) || (!defined(__USE_ISOC99) && !defined(__USE_UNIX98))
-# define BOOST_NO_SWPRINTF
-# endif
-#else
-# define BOOST_NO_SWPRINTF
-#endif
-
-// boilerplate code:
-#define BOOST_HAS_UNISTD_H
-#include <boost/config/posix_features.hpp>
-#define BOOST_HAS_PTHREAD_YIELD
-
-#ifndef __GNUC__
-//
-// if the compiler is not gcc we still need to be able to parse
-// the GNU system headers, some of which (mainly <stdint.h>)
-// use GNU specific extensions:
-//
-# ifndef __extension__
-# define __extension__
-# endif
-# ifndef __const__
-# define __const__ const
-# endif
-# ifndef __volatile__
-# define __volatile__ volatile
-# endif
-# ifndef __signed__
-# define __signed__ signed
-# endif
-# ifndef __typeof__
-# define __typeof__ typeof
-# endif
-# ifndef __inline__
-# define __inline__ inline
-# endif
-#endif
-
-
diff --git a/boost/config/platform/macos.hpp b/boost/config/platform/macos.hpp
deleted file mode 100644
index 6d876b1..0000000
--- a/boost/config/platform/macos.hpp
+++ /dev/null
@@ -1,87 +0,0 @@
-// (C) Copyright John Maddock 2001 - 2003.
-// (C) Copyright Darin Adler 2001 - 2002.
-// (C) Copyright Bill Kempf 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.
-
-// Mac OS specific config options:
-
-#define BOOST_PLATFORM "Mac OS"
-
-#if __MACH__ && !defined(_MSL_USING_MSL_C)
-
-// Using the Mac OS X system BSD-style C library.
-
-# ifndef BOOST_HAS_UNISTD_H
-# define BOOST_HAS_UNISTD_H
-# endif
-//
-// Begin by including our boilerplate code for POSIX
-// feature detection, this is safe even when using
-// the MSL as Metrowerks supply their own <unistd.h>
-// to replace the platform-native BSD one. G++ users
-// should also always be able to do this on MaxOS X.
-//
-# include <boost/config/posix_features.hpp>
-# ifndef BOOST_HAS_STDINT_H
-# define BOOST_HAS_STDINT_H
-# endif
-
-//
-// BSD runtime has pthreads, sigaction, sched_yield and gettimeofday,
-// of these only pthreads are advertised in <unistd.h>, so set the
-// other options explicitly:
-//
-# define BOOST_HAS_SCHED_YIELD
-# define BOOST_HAS_GETTIMEOFDAY
-# define BOOST_HAS_SIGACTION
-
-# if (__GNUC__ < 3) && !defined( __APPLE_CC__)
-
-// GCC strange "ignore std" mode works better if you pretend everything
-// is in the std namespace, for the most part.
-
-# define BOOST_NO_STDC_NAMESPACE
-# endif
-
-# if (__GNUC__ == 4)
-
-// Both gcc and intel require these.
-# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-# define BOOST_HAS_NANOSLEEP
-
-# endif
-
-#else
-
-// Using the MSL C library.
-
-// We will eventually support threads in non-Carbon builds, but we do
-// not support this yet.
-# if ( defined(TARGET_API_MAC_CARBON) && TARGET_API_MAC_CARBON ) || ( defined(TARGET_CARBON) && TARGET_CARBON )
-
-# if !defined(BOOST_HAS_PTHREADS)
-// MPTasks support is deprecated/removed from Boost:
-//# define BOOST_HAS_MPTASKS
-# elif ( __dest_os == __mac_os_x )
-// We are doing a Carbon/Mach-O/MSL build which has pthreads, but only the
-// gettimeofday and no posix.
-# define BOOST_HAS_GETTIMEOFDAY
-# endif
-
-#ifdef BOOST_HAS_PTHREADS
-# define BOOST_HAS_THREADS
-#endif
-
-// The remote call manager depends on this.
-# define BOOST_BIND_ENABLE_PASCAL
-
-# endif
-
-#endif
-
-
-
diff --git a/boost/config/platform/qnxnto.hpp b/boost/config/platform/qnxnto.hpp
deleted file mode 100644
index b1377c8..0000000
--- a/boost/config/platform/qnxnto.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-// (C) Copyright Jim Douglas 2005.
-// 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.
-
-// QNX specific config options:
-
-#define BOOST_PLATFORM "QNX"
-
-#define BOOST_HAS_UNISTD_H
-#include <boost/config/posix_features.hpp>
-
-// QNX claims XOpen version 5 compatibility, but doesn't have an nl_types.h
-// or log1p and expm1:
-#undef BOOST_HAS_NL_TYPES_H
-#undef BOOST_HAS_LOG1P
-#undef BOOST_HAS_EXPM1
-
-#define BOOST_HAS_PTHREADS
-#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-
-#define BOOST_HAS_GETTIMEOFDAY
-#define BOOST_HAS_CLOCK_GETTIME
-#define BOOST_HAS_NANOSLEEP
-
-
-
-
-
diff --git a/boost/config/platform/solaris.hpp b/boost/config/platform/solaris.hpp
deleted file mode 100644
index 9f92566..0000000
--- a/boost/config/platform/solaris.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-// (C) Copyright John Maddock 2001 - 2003.
-// (C) Copyright Jens Maurer 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.
-
-// sun specific config options:
-
-#define BOOST_PLATFORM "Sun Solaris"
-
-#define BOOST_HAS_GETTIMEOFDAY
-
-// boilerplate code:
-#define BOOST_HAS_UNISTD_H
-#include <boost/config/posix_features.hpp>
-
-//
-// pthreads don't actually work with gcc unless _PTHREADS is defined:
-//
-#if defined(__GNUC__) && defined(_POSIX_THREADS) && !defined(_PTHREADS)
-# undef BOOST_HAS_PTHREADS
-#endif
-
-
-
-
diff --git a/boost/config/platform/symbian.hpp b/boost/config/platform/symbian.hpp
deleted file mode 100644
index e02a778..0000000
--- a/boost/config/platform/symbian.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-// (C) Copyright Yuriy Krasnoschek 2009.
-// (C) Copyright John Maddock 2001 - 2003.
-// (C) Copyright Jens Maurer 2001 - 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.
-
-// symbian specific config options:
-
-
-#define BOOST_PLATFORM "Symbian"
-#define BOOST_SYMBIAN 1
-
-
-#if defined(__S60_3X__)
-// Open C / C++ plugin was introdused in this SDK, earlier versions don't have CRT / STL
-# define BOOST_S60_3rd_EDITION_FP2_OR_LATER_SDK
-// make sure we have __GLIBC_PREREQ if available at all
-#ifdef __cplusplus
-#include <cstdlib>
-#else
-#include <stdlib.h>
-#endif// boilerplate code:
-# define BOOST_HAS_UNISTD_H
-# include <boost/config/posix_features.hpp>
-// S60 SDK defines _POSIX_VERSION as POSIX.1
-# ifndef BOOST_HAS_STDINT_H
-# define BOOST_HAS_STDINT_H
-# endif
-# ifndef BOOST_HAS_GETTIMEOFDAY
-# define BOOST_HAS_GETTIMEOFDAY
-# endif
-# ifndef BOOST_HAS_DIRENT_H
-# define BOOST_HAS_DIRENT_H
-# endif
-# ifndef BOOST_HAS_SIGACTION
-# define BOOST_HAS_SIGACTION
-# endif
-# ifndef BOOST_HAS_PTHREADS
-# define BOOST_HAS_PTHREADS
-# endif
-# ifndef BOOST_HAS_NANOSLEEP
-# define BOOST_HAS_NANOSLEEP
-# endif
-# ifndef BOOST_HAS_SCHED_YIELD
-# define BOOST_HAS_SCHED_YIELD
-# endif
-# ifndef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-# endif
-# ifndef BOOST_HAS_LOG1P
-# define BOOST_HAS_LOG1P
-# endif
-# ifndef BOOST_HAS_EXPM1
-# define BOOST_HAS_EXPM1
-# endif
-# ifndef BOOST_POSIX_API
-# define BOOST_POSIX_API
-# endif
-// endianess support
-# include <sys/endian.h>
-// Symbian SDK provides _BYTE_ORDER instead of __BYTE_ORDER
-# ifndef __LITTLE_ENDIAN
-# ifdef _LITTLE_ENDIAN
-# define __LITTLE_ENDIAN _LITTLE_ENDIAN
-# else
-# define __LITTLE_ENDIAN 1234
-# endif
-# endif
-# ifndef __BIG_ENDIAN
-# ifdef _BIG_ENDIAN
-# define __BIG_ENDIAN _BIG_ENDIAN
-# else
-# define __BIG_ENDIAN 4321
-# endif
-# endif
-# ifndef __BYTE_ORDER
-# define __BYTE_ORDER __LITTLE_ENDIAN // Symbian is LE
-# endif
-// Known limitations
-# define BOOST_ASIO_DISABLE_SERIAL_PORT
-# define BOOST_DATE_TIME_NO_LOCALE
-# define BOOST_NO_STD_WSTRING
-# define BOOST_EXCEPTION_DISABLE
-# define BOOST_NO_EXCEPTIONS
-
-#else // TODO: More platform support e.g. UIQ
-# error "Unsuppoted Symbian SDK"
-#endif
-
-#if defined(__WINSCW__) && !defined(BOOST_DISABLE_WIN32)
-# define BOOST_DISABLE_WIN32 // winscw defines WIN32 macro
-#endif
-
-
diff --git a/boost/config/platform/vms.hpp b/boost/config/platform/vms.hpp
deleted file mode 100644
index f70efcf..0000000
--- a/boost/config/platform/vms.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-// (C) Copyright Artyom Beilis 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_CONFIG_PLATFORM_VMS_HPP
-#define BOOST_CONFIG_PLATFORM_VMS_HPP
-
-#define BOOST_PLATFORM "OpenVMS"
-
-#undef BOOST_HAS_STDINT_H
-#define BOOST_HAS_UNISTD_H
-#define BOOST_HAS_NL_TYPES_H
-#define BOOST_HAS_GETTIMEOFDAY
-#define BOOST_HAS_DIRENT_H
-#define BOOST_HAS_PTHREADS
-#define BOOST_HAS_NANOSLEEP
-#define BOOST_HAS_CLOCK_GETTIME
-#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-#define BOOST_HAS_LOG1P
-#define BOOST_HAS_EXPM1
-#define BOOST_HAS_THREADS
-#undef BOOST_HAS_SCHED_YIELD
-
-#endif
diff --git a/boost/config/platform/vxworks.hpp b/boost/config/platform/vxworks.hpp
deleted file mode 100644
index cdda015..0000000
--- a/boost/config/platform/vxworks.hpp
+++ /dev/null
@@ -1,369 +0,0 @@
-// (C) Copyright Dustin Spicuzza 2009.
-// Adapted to vxWorks 6.9 by Peter Brockamp 2012.
-// 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.
-
-// Since WRS does not yet properly support boost under vxWorks
-// and this file was badly outdated, but I was keen on using it,
-// I patched boost myself to make things work. This has been tested
-// and adapted by me for vxWorks 6.9 *only*, as I'm lacking access
-// to earlier 6.X versions! The only thing I know for sure is that
-// very old versions of vxWorks (namely everything below 6.x) are
-// absolutely unable to use boost. This is mainly due to the completely
-// outdated libraries and ancient compiler (GCC 2.96 or worse). Do
-// not even think of getting this to work, a miserable failure will
-// be guaranteed!
-// Equally, this file has been tested for RTPs (Real Time Processes)
-// only, not for DKMs (Downloadable Kernel Modules). These two types
-// of executables differ largely in the available functionality of
-// the C-library, STL, and so on. A DKM uses a library similar to those
-// of vxWorks 5.X - with all its limitations and incompatibilities
-// with respect to ANSI C++ and STL. So probably there might be problems
-// with the usage of boost from DKMs. WRS or any voluteers are free to
-// prove the opposite!
-
-// ====================================================================
-//
-// Some important information regarding the usage of POSIX semaphores:
-// -------------------------------------------------------------------
-//
-// VxWorks as a real time operating system handles threads somewhat
-// different from what "normal" OSes do, regarding their scheduling!
-// This could lead to a scenario called "priority inversion" when using
-// semaphores, see http://en.wikipedia.org/wiki/Priority_inversion.
-//
-// Now, VxWorks POSIX-semaphores for DKM's default to the usage of
-// priority inverting semaphores, which is fine. On the other hand,
-// for RTP's it defaults to using non priority inverting semaphores,
-// which could easily pose a serious problem for a real time process,
-// i.e. deadlocks! To overcome this two possibilities do exist:
-//
-// a) Patch every piece of boost that uses semaphores to instanciate
-// the proper type of semaphores. This is non-intrusive with respect
-// to the OS and could relatively easy been done by giving all
-// semaphores attributes deviating from the default (for in-depth
-// information see the POSIX functions pthread_mutexattr_init()
-// and pthread_mutexattr_setprotocol()). However this breaks all
-// too easily, as with every new version some boost library could
-// all in a sudden start using semaphores, resurrecting the very
-// same, hard to locate problem over and over again!
-//
-// b) We could change the default properties for POSIX-semaphores
-// that VxWorks uses for RTP's and this is being suggested here,
-// as it will more or less seamlessly integrate with boost. I got
-// the following information from WRS how to do this, compare
-// Wind River TSR# 1209768:
-//
-// Instructions for changing the default properties of POSIX-
-// semaphores for RTP's in VxWorks 6.9:
-// - Edit the file /vxworks-6.9/target/usr/src/posix/pthreadLib.c
-// in the root of your Workbench-installation.
-// - Around line 917 there should be the definition of the default
-// mutex attributes:
-//
-// LOCAL pthread_mutexattr_t defaultMutexAttr =
-// {
-// PTHREAD_INITIALIZED_OBJ, PTHREAD_PRIO_NONE, 0,
-// PTHREAD_MUTEX_DEFAULT
-// };
-//
-// Here, replace PTHREAD_PRIO_NONE by PTHREAD_PRIO_INHERIT.
-// - Around line 1236 there should be a definition for the function
-// pthread_mutexattr_init(). A couple of lines below you should
-// find a block of code like this:
-//
-// pAttr->mutexAttrStatus = PTHREAD_INITIALIZED_OBJ;
-// pAttr->mutexAttrProtocol = PTHREAD_PRIO_NONE;
-// pAttr->mutexAttrPrioceiling = 0;
-// pAttr->mutexAttrType = PTHREAD_MUTEX_DEFAULT;
-//
-// Here again, replace PTHREAD_PRIO_NONE by PTHREAD_PRIO_INHERIT.
-// - Finally, rebuild your VSB. This will create a new VxWorks kernel
-// with the changed properties. That's it! Now, using boost should
-// no longer cause any problems with task deadlocks!
-//
-// And here's another useful piece of information concerning VxWorks'
-// POSIX-functionality in general:
-// VxWorks is not a genuine POSIX-OS in itself, rather it is using a
-// kind of compatibility layer (sort of a wrapper) to emulate the
-// POSIX-functionality by using its own resources and functions.
-// At the time a task (thread) calls it's first POSIX-function during
-// runtime it is being transformed by the OS into a POSIX-thread.
-// This transformation does include a call to malloc() to allocate the
-// memory required for the housekeeping of POSIX-threads. In a high
-// priority RTP this malloc() call may be highly undesirable, as its
-// timing is more or less unpredictable (depending on what your actual
-// heap looks like). You can circumvent this problem by calling the
-// function thread_self() at a well defined point in the code of the
-// task, e.g. shortly after the task spawns up. Thereby you are able
-// to define the time when the task-transformation will take place and
-// you could shift it to an uncritical point where a malloc() call is
-// tolerable. So, if this could pose a problem for your code, remember
-// to call thread_self() from the affected task at an early stage.
-//
-// ====================================================================
-
-// Block out all versions before vxWorks 6.x, as these don't work:
-// Include header with the vxWorks version information and query them
-#include <version.h>
-#if !defined(_WRS_VXWORKS_MAJOR) || (_WRS_VXWORKS_MAJOR < 6)
-# error "The vxWorks version you're using is so badly outdated,\
- it doesn't work at all with boost, sorry, no chance!"
-#endif
-
-// Handle versions above 5.X but below 6.9
-#if (_WRS_VXWORKS_MAJOR == 6) && (_WRS_VXWORKS_MINOR < 9)
-// TODO: Starting from what version does vxWorks work with boost?
-// We can't reasonably insert a #warning "" as a user hint here,
-// as this will show up with every file including some boost header,
-// badly bugging the user... So for the time being we just leave it.
-#endif
-
-// vxWorks specific config options:
-// --------------------------------
-#define BOOST_PLATFORM "vxWorks"
-
-// Special behaviour for DKMs:
-#ifdef _WRS_KERNEL
- // DKMs do not have the <cwchar>-header,
- // but apparently they do have an intrinsic wchar_t meanwhile!
-# define BOOST_NO_CWCHAR
-
- // Lots of wide-functions and -headers are unavailable for DKMs as well:
-# define BOOST_NO_CWCTYPE
-# define BOOST_NO_SWPRINTF
-# define BOOST_NO_STD_WSTRING
-# define BOOST_NO_STD_WSTREAMBUF
-#endif
-
-// Generally available headers:
-#define BOOST_HAS_UNISTD_H
-#define BOOST_HAS_STDINT_H
-#define BOOST_HAS_DIRENT_H
-#define BOOST_HAS_SLIST
-
-// vxWorks does not have installed an iconv-library by default,
-// so unfortunately no Unicode support from scratch is available!
-// Thus, instead it is suggested to switch to ICU, as this seems
-// to be the most complete and portable option...
-#define BOOST_LOCALE_WITH_ICU
-
-// Generally available functionality:
-#define BOOST_HAS_THREADS
-#define BOOST_HAS_NANOSLEEP
-#define BOOST_HAS_GETTIMEOFDAY
-#define BOOST_HAS_CLOCK_GETTIME
-#define BOOST_HAS_MACRO_USE_FACET
-
-// Generally unavailable functionality, delivered by boost's test function:
-//#define BOOST_NO_DEDUCED_TYPENAME // Commented this out, boost's test gives an errorneous result!
-#define BOOST_NO_CXX11_EXTERN_TEMPLATE
-#define BOOST_NO_CXX11_VARIADIC_MACROS
-
-// Generally available threading API's:
-#define BOOST_HAS_PTHREADS
-#define BOOST_HAS_SCHED_YIELD
-#define BOOST_HAS_SIGACTION
-
-// Functionality available for RTPs only:
-#ifdef __RTP__
-# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-# define BOOST_HAS_LOG1P
-# define BOOST_HAS_EXPM1
-#endif
-
-// Functionality available for DKMs only:
-#ifdef _WRS_KERNEL
- // Luckily, at the moment there seems to be none!
-#endif
-
-// These #defines allow posix_features to work, since vxWorks doesn't
-// #define them itself for DKMs (for RTPs on the contrary it does):
-#ifdef _WRS_KERNEL
-# ifndef _POSIX_TIMERS
-# define _POSIX_TIMERS 1
-# endif
-# ifndef _POSIX_THREADS
-# define _POSIX_THREADS 1
-# endif
-#endif
-
-// vxWorks doesn't work with asio serial ports:
-#define BOOST_ASIO_DISABLE_SERIAL_PORT
-// TODO: The problem here seems to bee that vxWorks uses its own, very specific
-// ways to handle serial ports, incompatible with POSIX or anything...
-// Maybe a specific implementation would be possible, but until the
-// straight need arises... This implementation would presumably consist
-// of some vxWorks specific ioctl-calls, etc. Any voluteers?
-
-// vxWorks-around: <time.h> #defines CLOCKS_PER_SEC as sysClkRateGet() but
-// miserably fails to #include the required <sysLib.h> to make
-// sysClkRateGet() available! So we manually include it here.
-#ifdef __RTP__
-# include <time.h>
-# include <sysLib.h>
-#endif
-
-// vxWorks-around: In <stdint.h> the macros INT32_C(), UINT32_C(), INT64_C() and
-// UINT64_C() are defined errorneously, yielding not a signed/
-// unsigned long/long long type, but a signed/unsigned int/long
-// type. Eventually this leads to compile errors in ratio_fwd.hpp,
-// when trying to define several constants which do not fit into a
-// long type! We correct them here by redefining.
-#include <cstdint>
-
-// Some macro-magic to do the job
-#define VX_JOIN(X, Y) VX_DO_JOIN(X, Y)
-#define VX_DO_JOIN(X, Y) VX_DO_JOIN2(X, Y)
-#define VX_DO_JOIN2(X, Y) X##Y
-
-// Correctly setup the macros
-#undef INT32_C
-#undef UINT32_C
-#undef INT64_C
-#undef UINT64_C
-#define INT32_C(x) VX_JOIN(x, L)
-#define UINT32_C(x) VX_JOIN(x, UL)
-#define INT64_C(x) VX_JOIN(x, LL)
-#define UINT64_C(x) VX_JOIN(x, ULL)
-
-// #include Libraries required for the following function adaption
-#include <ioLib.h>
-#include <tickLib.h>
-#include <sys/time.h>
-
-// Use C-linkage for the following helper functions
-extern "C" {
-
-// vxWorks-around: The required functions getrlimit() and getrlimit() are missing.
-// But we have the similar functions getprlimit() and setprlimit(),
-// which may serve the purpose.
-// Problem: The vxWorks-documentation regarding these functions
-// doesn't deserve its name! It isn't documented what the first two
-// parameters idtype and id mean, so we must fall back to an educated
-// guess - null, argh... :-/
-
-// TODO: getprlimit() and setprlimit() do exist for RTPs only, for whatever reason.
-// Thus for DKMs there would have to be another implementation.
-#ifdef __RTP__
- inline int getrlimit(int resource, struct rlimit *rlp){
- return getprlimit(0, 0, resource, rlp);
- }
-
- inline int setrlimit(int resource, const struct rlimit *rlp){
- return setprlimit(0, 0, resource, const_cast<struct rlimit*>(rlp));
- }
-#endif
-
-// vxWorks has ftruncate() only, so we do simulate truncate():
-inline int truncate(const char *p, off_t l){
- int fd = open(p, O_WRONLY);
- if (fd == -1){
- errno = EACCES;
- return -1;
- }
- if (ftruncate(fd, l) == -1){
- close(fd);
- errno = EACCES;
- return -1;
- }
- return close(fd);
-}
-
-// Fake symlink handling by dummy functions:
-inline int symlink(const char*, const char*){
- // vxWorks has no symlinks -> always return an error!
- errno = EACCES;
- return -1;
-}
-
-inline ssize_t readlink(const char*, char*, size_t){
- // vxWorks has no symlinks -> always return an error!
- errno = EACCES;
- return -1;
-}
-
-// vxWorks claims to implement gettimeofday in sys/time.h
-// but nevertheless does not provide it! See
-// https://support.windriver.com/olsPortal/faces/maintenance/techtipDetail_noHeader.jspx?docId=16442&contentId=WR_TECHTIP_006256
-// We implement a surrogate version here via clock_gettime:
-inline int gettimeofday(struct timeval *tv, void * /*tzv*/) {
- struct timespec ts;
- clock_gettime(CLOCK_MONOTONIC, &ts);
- tv->tv_sec = ts.tv_sec;
- tv->tv_usec = ts.tv_nsec / 1000;
- return 0;
-}
-
-// vxWorks does provide neither struct tms nor function times()!
-// We implement an empty dummy-function, simply setting the user
-// and system time to the half of thew actual system ticks-value
-// and the child user and system time to 0.
-// Rather ugly but at least it suppresses compiler errors...
-// Unfortunately, this of course *does* have an severe impact on
-// dependant libraries, actually this is chrono only! Here it will
-// not be possible to correctly use user and system times! But
-// as vxWorks is lacking the ability to calculate user and system
-// process times there seems to be no other possible solution.
-struct tms{
- clock_t tms_utime; // User CPU time
- clock_t tms_stime; // System CPU time
- clock_t tms_cutime; // User CPU time of terminated child processes
- clock_t tms_cstime; // System CPU time of terminated child processes
-};
-
-inline clock_t times(struct tms *t){
- struct timespec ts;
- clock_gettime(CLOCK_THREAD_CPUTIME_ID, &ts);
- clock_t ticks(static_cast<clock_t>(static_cast<double>(ts.tv_sec) * CLOCKS_PER_SEC +
- static_cast<double>(ts.tv_nsec) * CLOCKS_PER_SEC / 1000000.0));
- t->tms_utime = ticks/2U;
- t->tms_stime = ticks/2U;
- t->tms_cutime = 0; // vxWorks is lacking the concept of a child process!
- t->tms_cstime = 0; // -> Set the wait times for childs to 0
- return ticks;
-}
-
-} // extern "C"
-
-// Put the selfmade functions into the std-namespace, just in case
-namespace std {
-# ifdef __RTP__
- using ::getrlimit;
- using ::setrlimit;
-# endif
- using ::truncate;
- using ::symlink;
- using ::readlink;
- using ::times;
- using ::gettimeofday;
-}
-
-// Some more macro-magic:
-// vxWorks-around: Some functions are not present or broken in vxWorks
-// but may be patched to life via helper macros...
-
-// Include signal.h which might contain a typo to be corrected here
-#include <signal.h>
-
-#define getpagesize() sysconf(_SC_PAGESIZE) // getpagesize is deprecated anyway!
-#ifndef S_ISSOCK
-# define S_ISSOCK(mode) ((mode & S_IFMT) == S_IFSOCK) // Is file a socket?
-#endif
-#define lstat(p, b) stat(p, b) // lstat() == stat(), as vxWorks has no symlinks!
-#ifndef FPE_FLTINV
-# define FPE_FLTINV (FPE_FLTSUB+1) // vxWorks has no FPE_FLTINV, so define one as a dummy
-#endif
-#if !defined(BUS_ADRALN) && defined(BUS_ADRALNR)
-# define BUS_ADRALN BUS_ADRALNR // Correct a supposed typo in vxWorks' <signal.h>
-#endif
-//typedef int locale_t; // locale_t is a POSIX-extension, currently unpresent in vxWorks!
-
-// #include boilerplate code:
-#include <boost/config/posix_features.hpp>
-
-// vxWorks lies about XSI conformance, there is no nl_types.h:
-#undef BOOST_HAS_NL_TYPES_H
diff --git a/boost/config/platform/win32.hpp b/boost/config/platform/win32.hpp
deleted file mode 100644
index 6ab59f4..0000000
--- a/boost/config/platform/win32.hpp
+++ /dev/null
@@ -1,73 +0,0 @@
-// (C) Copyright John Maddock 2001 - 2003.
-// (C) Copyright Bill Kempf 2001.
-// (C) Copyright Aleksey Gurtovoy 2003.
-// (C) Copyright Rene Rivera 2005.
-// 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.
-
-// Win32 specific config options:
-
-#define BOOST_PLATFORM "Win32"
-
-// Get the information about the MinGW runtime, i.e. __MINGW32_*VERSION.
-#if defined(__MINGW32__)
-# include <_mingw.h>
-#endif
-
-#if defined(__GNUC__) && !defined(BOOST_NO_SWPRINTF)
-# define BOOST_NO_SWPRINTF
-#endif
-
-// Default defines for BOOST_SYMBOL_EXPORT and BOOST_SYMBOL_IMPORT
-// If a compiler doesn't support __declspec(dllexport)/__declspec(dllimport),
-// its boost/config/compiler/ file must define BOOST_SYMBOL_EXPORT and
-// BOOST_SYMBOL_IMPORT
-#ifndef BOOST_SYMBOL_EXPORT
-# define BOOST_HAS_DECLSPEC
-# define BOOST_SYMBOL_EXPORT __declspec(dllexport)
-# define BOOST_SYMBOL_IMPORT __declspec(dllimport)
-#endif
-
-#if defined(__MINGW32__) && ((__MINGW32_MAJOR_VERSION > 2) || ((__MINGW32_MAJOR_VERSION == 2) && (__MINGW32_MINOR_VERSION >= 0)))
-# define BOOST_HAS_STDINT_H
-# ifndef __STDC_LIMIT_MACROS
-# define __STDC_LIMIT_MACROS
-# endif
-# define BOOST_HAS_DIRENT_H
-# define BOOST_HAS_UNISTD_H
-#endif
-
-#if defined(__MINGW32__) && (__GNUC__ >= 4)
-# define BOOST_HAS_EXPM1
-# define BOOST_HAS_LOG1P
-# define BOOST_HAS_GETTIMEOFDAY
-#endif
-//
-// Win32 will normally be using native Win32 threads,
-// but there is a pthread library avaliable as an option,
-// we used to disable this when BOOST_DISABLE_WIN32 was
-// defined but no longer - this should allow some
-// files to be compiled in strict mode - while maintaining
-// a consistent setting of BOOST_HAS_THREADS across
-// all translation units (needed for shared_ptr etc).
-//
-
-#ifdef _WIN32_WCE
-# define BOOST_NO_ANSI_APIS
-#else
-# define BOOST_HAS_GETSYSTEMTIMEASFILETIME
-#endif
-
-#ifndef BOOST_HAS_PTHREADS
-# define BOOST_HAS_WINTHREADS
-#endif
-
-#ifndef BOOST_DISABLE_WIN32
-// WEK: Added
-#define BOOST_HAS_FTIME
-#define BOOST_WINDOWS 1
-
-#endif
diff --git a/boost/config/posix_features.hpp b/boost/config/posix_features.hpp
deleted file mode 100644
index d129547..0000000
--- a/boost/config/posix_features.hpp
+++ /dev/null
@@ -1,95 +0,0 @@
-// (C) Copyright John Maddock 2001 - 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.
-
-// All POSIX feature tests go in this file,
-// Note that we test _POSIX_C_SOURCE and _XOPEN_SOURCE as well
-// _POSIX_VERSION and _XOPEN_VERSION: on some systems POSIX API's
-// may be present but none-functional unless _POSIX_C_SOURCE and
-// _XOPEN_SOURCE have been defined to the right value (it's up
-// to the user to do this *before* including any header, although
-// in most cases the compiler will do this for you).
-
-# if defined(BOOST_HAS_UNISTD_H)
-# include <unistd.h>
-
- // XOpen has <nl_types.h>, but is this the correct version check?
-# if defined(_XOPEN_VERSION) && (_XOPEN_VERSION >= 3)
-# define BOOST_HAS_NL_TYPES_H
-# endif
-
- // POSIX version 6 requires <stdint.h>
-# if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 200100)
-# define BOOST_HAS_STDINT_H
-# endif
-
- // POSIX version 2 requires <dirent.h>
-# if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 199009L)
-# define BOOST_HAS_DIRENT_H
-# endif
-
- // POSIX version 3 requires <signal.h> to have sigaction:
-# if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 199506L)
-# define BOOST_HAS_SIGACTION
-# endif
- // POSIX defines _POSIX_THREADS > 0 for pthread support,
- // however some platforms define _POSIX_THREADS without
- // a value, hence the (_POSIX_THREADS+0 >= 0) check.
- // Strictly speaking this may catch platforms with a
- // non-functioning stub <pthreads.h>, but such occurrences should
- // occur very rarely if at all.
-# if defined(_POSIX_THREADS) && (_POSIX_THREADS+0 >= 0) && !defined(BOOST_HAS_WINTHREADS) && !defined(BOOST_HAS_MPTASKS)
-# define BOOST_HAS_PTHREADS
-# endif
-
- // BOOST_HAS_NANOSLEEP:
- // This is predicated on _POSIX_TIMERS or _XOPEN_REALTIME:
-# if (defined(_POSIX_TIMERS) && (_POSIX_TIMERS+0 >= 0)) \
- || (defined(_XOPEN_REALTIME) && (_XOPEN_REALTIME+0 >= 0))
-# define BOOST_HAS_NANOSLEEP
-# endif
-
- // BOOST_HAS_CLOCK_GETTIME:
- // This is predicated on _POSIX_TIMERS (also on _XOPEN_REALTIME
- // but at least one platform - linux - defines that flag without
- // defining clock_gettime):
-# if (defined(_POSIX_TIMERS) && (_POSIX_TIMERS+0 >= 0))
-# define BOOST_HAS_CLOCK_GETTIME
-# endif
-
- // BOOST_HAS_SCHED_YIELD:
- // This is predicated on _POSIX_PRIORITY_SCHEDULING or
- // on _POSIX_THREAD_PRIORITY_SCHEDULING or on _XOPEN_REALTIME.
-# if defined(_POSIX_PRIORITY_SCHEDULING) && (_POSIX_PRIORITY_SCHEDULING+0 > 0)\
- || (defined(_POSIX_THREAD_PRIORITY_SCHEDULING) && (_POSIX_THREAD_PRIORITY_SCHEDULING+0 > 0))\
- || (defined(_XOPEN_REALTIME) && (_XOPEN_REALTIME+0 >= 0))
-# define BOOST_HAS_SCHED_YIELD
-# endif
-
- // BOOST_HAS_GETTIMEOFDAY:
- // BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE:
- // These are predicated on _XOPEN_VERSION, and appears to be first released
- // in issue 4, version 2 (_XOPEN_VERSION > 500).
- // Likewise for the functions log1p and expm1.
-# if defined(_XOPEN_VERSION) && (_XOPEN_VERSION+0 >= 500)
-# define BOOST_HAS_GETTIMEOFDAY
-# if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE+0 >= 500)
-# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-# endif
-# ifndef BOOST_HAS_LOG1P
-# define BOOST_HAS_LOG1P
-# endif
-# ifndef BOOST_HAS_EXPM1
-# define BOOST_HAS_EXPM1
-# endif
-# endif
-
-# endif
-
-
-
-
diff --git a/boost/config/requires_threads.hpp b/boost/config/requires_threads.hpp
deleted file mode 100644
index cfaff23..0000000
--- a/boost/config/requires_threads.hpp
+++ /dev/null
@@ -1,92 +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)
-
-
-#ifndef BOOST_CONFIG_REQUIRES_THREADS_HPP
-#define BOOST_CONFIG_REQUIRES_THREADS_HPP
-
-#ifndef BOOST_CONFIG_HPP
-# include <boost/config.hpp>
-#endif
-
-#if defined(BOOST_DISABLE_THREADS)
-
-//
-// special case to handle versions of gcc which don't currently support threads:
-//
-#if defined(__GNUC__) && ((__GNUC__ < 3) || (__GNUC_MINOR__ <= 3) || !defined(BOOST_STRICT_CONFIG))
-//
-// this is checked up to gcc 3.3:
-//
-#if defined(__sgi) || defined(__hpux)
-# error "Multi-threaded programs are not supported by gcc on HPUX or Irix (last checked with gcc 3.3)"
-#endif
-
-#endif
-
-# error "Threading support unavaliable: it has been explicitly disabled with BOOST_DISABLE_THREADS"
-
-#elif !defined(BOOST_HAS_THREADS)
-
-# if defined __COMO__
-// Comeau C++
-# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -D_MT (Windows) or -D_REENTRANT (Unix)"
-
-#elif defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC)
-// Intel
-#ifdef _WIN32
-# error "Compiler threading support is not turned on. Please set the correct command line options for threading: either /MT /MTd /MD or /MDd"
-#else
-# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -openmp"
-#endif
-
-# elif defined __GNUC__
-// GNU C++:
-# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -pthread (Linux), -pthreads (Solaris) or -mthreads (Mingw32)"
-
-#elif defined __sgi
-// SGI MIPSpro C++
-# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -D_SGI_MP_SOURCE"
-
-#elif defined __DECCXX
-// Compaq Tru64 Unix cxx
-# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -pthread"
-
-#elif defined __BORLANDC__
-// Borland
-# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -tWM"
-
-#elif defined __MWERKS__
-// Metrowerks CodeWarrior
-# error "Compiler threading support is not turned on. Please set the correct command line options for threading: either -runtime sm, -runtime smd, -runtime dm, or -runtime dmd"
-
-#elif defined __SUNPRO_CC
-// Sun Workshop Compiler C++
-# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -mt"
-
-#elif defined __HP_aCC
-// HP aCC
-# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -mt"
-
-#elif defined(__IBMCPP__)
-// IBM Visual Age
-# error "Compiler threading support is not turned on. Please compile the code with the xlC_r compiler"
-
-#elif defined _MSC_VER
-// Microsoft Visual C++
-//
-// Must remain the last #elif since some other vendors (Metrowerks, for
-// example) also #define _MSC_VER
-# error "Compiler threading support is not turned on. Please set the correct command line options for threading: either /MT /MTd /MD or /MDd"
-
-#else
-
-# error "Compiler threading support is not turned on. Please consult your compiler's documentation for the appropriate options to use"
-
-#endif // compilers
-
-#endif // BOOST_HAS_THREADS
-
-#endif // BOOST_CONFIG_REQUIRES_THREADS_HPP
diff --git a/boost/config/select_compiler_config.hpp b/boost/config/select_compiler_config.hpp
deleted file mode 100644
index 0eeb7ad..0000000
--- a/boost/config/select_compiler_config.hpp
+++ /dev/null
@@ -1,114 +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
diff --git a/boost/config/select_platform_config.hpp b/boost/config/select_platform_config.hpp
deleted file mode 100644
index 2af61d2..0000000
--- a/boost/config/select_platform_config.hpp
+++ /dev/null
@@ -1,105 +0,0 @@
-// Boost compiler configuration selection header file
-
-// (C) Copyright John Maddock 2001 - 2002.
-// (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.
-
-// locate which platform we are on and define BOOST_PLATFORM_CONFIG as needed.
-// Note that we define the headers to include using "header_name" not
-// <header_name> in order to prevent macro expansion within the header
-// name (for example "linux" is a macro on linux systems).
-
-#if (defined(linux) || defined(__linux) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__)) && !defined(_CRAYC)
-// linux, also other platforms (Hurd etc) that use GLIBC, should these really have their own config headers though?
-# define BOOST_PLATFORM_CONFIG "boost/config/platform/linux.hpp"
-
-#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)
-// BSD:
-# define BOOST_PLATFORM_CONFIG "boost/config/platform/bsd.hpp"
-
-#elif defined(sun) || defined(__sun)
-// solaris:
-# define BOOST_PLATFORM_CONFIG "boost/config/platform/solaris.hpp"
-
-#elif defined(__sgi)
-// SGI Irix:
-# define BOOST_PLATFORM_CONFIG "boost/config/platform/irix.hpp"
-
-#elif defined(__hpux)
-// hp unix:
-# define BOOST_PLATFORM_CONFIG "boost/config/platform/hpux.hpp"
-
-#elif defined(__CYGWIN__)
-// cygwin is not win32:
-# define BOOST_PLATFORM_CONFIG "boost/config/platform/cygwin.hpp"
-
-#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
-// win32:
-# define BOOST_PLATFORM_CONFIG "boost/config/platform/win32.hpp"
-
-#elif defined(__BEOS__)
-// BeOS
-# define BOOST_PLATFORM_CONFIG "boost/config/platform/beos.hpp"
-
-#elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)
-// MacOS
-# define BOOST_PLATFORM_CONFIG "boost/config/platform/macos.hpp"
-
-#elif defined(__IBMCPP__) || defined(_AIX)
-// IBM
-# define BOOST_PLATFORM_CONFIG "boost/config/platform/aix.hpp"
-
-#elif defined(__amigaos__)
-// AmigaOS
-# define BOOST_PLATFORM_CONFIG "boost/config/platform/amigaos.hpp"
-
-#elif defined(__QNXNTO__)
-// QNX:
-# define BOOST_PLATFORM_CONFIG "boost/config/platform/qnxnto.hpp"
-
-#elif defined(__VXWORKS__)
-// vxWorks:
-# define BOOST_PLATFORM_CONFIG "boost/config/platform/vxworks.hpp"
-
-#elif defined(__SYMBIAN32__)
-// Symbian:
-# define BOOST_PLATFORM_CONFIG "boost/config/platform/symbian.hpp"
-
-#elif defined(_CRAYC)
-// Cray:
-# define BOOST_PLATFORM_CONFIG "boost/config/platform/cray.hpp"
-
-#elif defined(__VMS)
-// VMS:
-# define BOOST_PLATFORM_CONFIG "boost/config/platform/vms.hpp"
-#else
-
-# if defined(unix) \
- || defined(__unix) \
- || defined(_XOPEN_SOURCE) \
- || defined(_POSIX_SOURCE)
-
- // generic unix platform:
-
-# ifndef BOOST_HAS_UNISTD_H
-# define BOOST_HAS_UNISTD_H
-# endif
-
-# include <boost/config/posix_features.hpp>
-
-# endif
-
-# if defined (BOOST_ASSERT_CONFIG)
- // this must come last - generate an error if we don't
- // recognise the platform:
-# error "Unknown platform - please configure and report the results to boost.org"
-# endif
-
-#endif
-
-
-
diff --git a/boost/config/select_stdlib_config.hpp b/boost/config/select_stdlib_config.hpp
deleted file mode 100644
index 96ede00..0000000
--- a/boost/config/select_stdlib_config.hpp
+++ /dev/null
@@ -1,85 +0,0 @@
-// Boost compiler configuration selection header file
-
-// (C) Copyright John Maddock 2001 - 2003.
-// (C) Copyright Jens Maurer 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.
-
-// locate which std lib we are using and define BOOST_STDLIB_CONFIG as needed:
-
-// First include <cstddef> to determine if some version of STLport is in use as the std lib
-// (do not rely on this header being included since users can short-circuit this header
-// if they know whose std lib they are using.)
-#ifdef __cplusplus
-# include <cstddef>
-#else
-# include <stddef.h>
-#endif
-
-#if defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
-// STLPort library; this _must_ come first, otherwise since
-// STLport typically sits on top of some other library, we
-// can end up detecting that first rather than STLport:
-# define BOOST_STDLIB_CONFIG "boost/config/stdlib/stlport.hpp"
-
-#else
-
-// If our std lib was not some version of STLport, then include <utility> as it is about
-// the smallest of the std lib headers that includes real C++ stuff. (Some std libs do not
-// include their C++-related macros in <cstddef> so this additional include makes sure
-// we get those definitions)
-// (again do not rely on this header being included since users can short-circuit this
-// header if they know whose std lib they are using.)
-#include <boost/config/no_tr1/utility.hpp>
-
-#if defined(__LIBCOMO__)
-// Comeau STL:
-#define BOOST_STDLIB_CONFIG "boost/config/stdlib/libcomo.hpp"
-
-#elif defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER)
-// Rogue Wave library:
-# define BOOST_STDLIB_CONFIG "boost/config/stdlib/roguewave.hpp"
-
-#elif defined(_LIBCPP_VERSION)
-// libc++
-# define BOOST_STDLIB_CONFIG "boost/config/stdlib/libcpp.hpp"
-
-#elif defined(__GLIBCPP__) || defined(__GLIBCXX__)
-// GNU libstdc++ 3
-# define BOOST_STDLIB_CONFIG "boost/config/stdlib/libstdcpp3.hpp"
-
-#elif defined(__STL_CONFIG_H)
-// generic SGI STL
-# define BOOST_STDLIB_CONFIG "boost/config/stdlib/sgi.hpp"
-
-#elif defined(__MSL_CPP__)
-// MSL standard lib:
-# define BOOST_STDLIB_CONFIG "boost/config/stdlib/msl.hpp"
-
-#elif defined(__IBMCPP__)
-// take the default VACPP std lib
-# define BOOST_STDLIB_CONFIG "boost/config/stdlib/vacpp.hpp"
-
-#elif defined(MSIPL_COMPILE_H)
-// Modena C++ standard library
-# define BOOST_STDLIB_CONFIG "boost/config/stdlib/modena.hpp"
-
-#elif (defined(_YVALS) && !defined(__IBMCPP__)) || defined(_CPPLIB_VER)
-// Dinkumware Library (this has to appear after any possible replacement libraries):
-# define BOOST_STDLIB_CONFIG "boost/config/stdlib/dinkumware.hpp"
-
-#elif defined (BOOST_ASSERT_CONFIG)
-// this must come last - generate an error if we don't
-// recognise the library:
-# error "Unknown standard library - please configure and report the results to boost.org"
-
-#endif
-
-#endif
-
-
-
diff --git a/boost/config/stdlib/dinkumware.hpp b/boost/config/stdlib/dinkumware.hpp
deleted file mode 100644
index a8b68be..0000000
--- a/boost/config/stdlib/dinkumware.hpp
+++ /dev/null
@@ -1,157 +0,0 @@
-// (C) Copyright John Maddock 2001 - 2003.
-// (C) Copyright Jens Maurer 2001.
-// (C) Copyright Peter Dimov 2001.
-// (C) Copyright David Abrahams 2002.
-// (C) Copyright Guillaume Melquiond 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.
-
-// Dinkumware standard library config:
-
-#if !defined(_YVALS) && !defined(_CPPLIB_VER)
-#include <boost/config/no_tr1/utility.hpp>
-#if !defined(_YVALS) && !defined(_CPPLIB_VER)
-#error This is not the Dinkumware lib!
-#endif
-#endif
-
-
-#if defined(_CPPLIB_VER) && (_CPPLIB_VER >= 306)
- // full dinkumware 3.06 and above
- // fully conforming provided the compiler supports it:
-# if !(defined(_GLOBAL_USING) && (_GLOBAL_USING+0 > 0)) && !defined(__BORLANDC__) && !defined(_STD) && !(defined(__ICC) && (__ICC >= 700)) // can be defined in yvals.h
-# define BOOST_NO_STDC_NAMESPACE
-# endif
-# if !(defined(_HAS_MEMBER_TEMPLATES_REBIND) && (_HAS_MEMBER_TEMPLATES_REBIND+0 > 0)) && !(defined(_MSC_VER) && (_MSC_VER > 1300)) && defined(BOOST_MSVC)
-# define BOOST_NO_STD_ALLOCATOR
-# endif
-# define BOOST_HAS_PARTIAL_STD_ALLOCATOR
-# if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
- // if this lib version is set up for vc6 then there is no std::use_facet:
-# define BOOST_NO_STD_USE_FACET
-# define BOOST_HAS_TWO_ARG_USE_FACET
- // C lib functions aren't in namespace std either:
-# define BOOST_NO_STDC_NAMESPACE
- // and nor is <exception>
-# define BOOST_NO_EXCEPTION_STD_NAMESPACE
-# endif
-// There's no numeric_limits<long long> support unless _LONGLONG is defined:
-# if !defined(_LONGLONG) && (_CPPLIB_VER <= 310)
-# define BOOST_NO_MS_INT64_NUMERIC_LIMITS
-# endif
-// 3.06 appears to have (non-sgi versions of) <hash_set> & <hash_map>,
-// and no <slist> at all
-#else
-# define BOOST_MSVC_STD_ITERATOR 1
-# define BOOST_NO_STD_ITERATOR
-# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
-# define BOOST_NO_STD_ALLOCATOR
-# define BOOST_NO_STDC_NAMESPACE
-# define BOOST_NO_STD_USE_FACET
-# define BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN
-# define BOOST_HAS_MACRO_USE_FACET
-# ifndef _CPPLIB_VER
- // Updated Dinkum library defines this, and provides
- // its own min and max definitions, as does MTA version.
-# ifndef __MTA__
-# define BOOST_NO_STD_MIN_MAX
-# endif
-# define BOOST_NO_MS_INT64_NUMERIC_LIMITS
-# endif
-#endif
-
-//
-// std extension namespace is stdext for vc7.1 and later,
-// the same applies to other compilers that sit on top
-// of vc7.1 (Intel and Comeau):
-//
-#if defined(_MSC_VER) && (_MSC_VER >= 1310) && !defined(__BORLANDC__)
-# define BOOST_STD_EXTENSION_NAMESPACE stdext
-#endif
-
-
-#if (defined(_MSC_VER) && (_MSC_VER <= 1300) && !defined(__BORLANDC__)) || !defined(_CPPLIB_VER) || (_CPPLIB_VER < 306)
- // if we're using a dinkum lib that's
- // been configured for VC6/7 then there is
- // no iterator traits (true even for icl)
-# define BOOST_NO_STD_ITERATOR_TRAITS
-#endif
-
-#if defined(__ICL) && (__ICL < 800) && defined(_CPPLIB_VER) && (_CPPLIB_VER <= 310)
-// Intel C++ chokes over any non-trivial use of <locale>
-// this may be an overly restrictive define, but regex fails without it:
-# define BOOST_NO_STD_LOCALE
-#endif
-
-#include <typeinfo>
-#if ( (!_HAS_EXCEPTIONS && !defined(__ghs__)) || (!_HAS_NAMESPACE && defined(__ghs__)) ) && !defined(__TI_COMPILER_VERSION__)
-# define BOOST_NO_STD_TYPEINFO
-#endif
-
-// C++0x headers implemented in 520 (as shipped by Microsoft)
-//
-#if !defined(_CPPLIB_VER) || _CPPLIB_VER < 520
-# define BOOST_NO_CXX11_HDR_ARRAY
-# define BOOST_NO_CXX11_HDR_CODECVT
-# define BOOST_NO_CXX11_HDR_FORWARD_LIST
-# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-# define BOOST_NO_CXX11_HDR_RANDOM
-# define BOOST_NO_CXX11_HDR_REGEX
-# define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
-# define BOOST_NO_CXX11_HDR_UNORDERED_MAP
-# define BOOST_NO_CXX11_HDR_UNORDERED_SET
-# define BOOST_NO_CXX11_HDR_TUPLE
-# define BOOST_NO_CXX11_HDR_TYPEINDEX
-# define BOOST_NO_CXX11_HDR_FUNCTIONAL
-# define BOOST_NO_CXX11_NUMERIC_LIMITS
-# define BOOST_NO_CXX11_SMART_PTR
-#endif
-
-#if ((!defined(_HAS_TR1_IMPORTS) || (_HAS_TR1_IMPORTS+0 == 0)) && !defined(BOOST_NO_CXX11_HDR_TUPLE)) \
- && (!defined(_CPPLIB_VER) || _CPPLIB_VER < 610)
-# define BOOST_NO_CXX11_HDR_TUPLE
-#endif
-
-// C++0x headers implemented in 540 (as shipped by Microsoft)
-//
-#if !defined(_CPPLIB_VER) || _CPPLIB_VER < 540
-# define BOOST_NO_CXX11_HDR_TYPE_TRAITS
-# define BOOST_NO_CXX11_HDR_CHRONO
-# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
-# define BOOST_NO_CXX11_HDR_FUTURE
-# define BOOST_NO_CXX11_HDR_MUTEX
-# define BOOST_NO_CXX11_HDR_RATIO
-# define BOOST_NO_CXX11_HDR_THREAD
-# define BOOST_NO_CXX11_ALLOCATOR
-# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
-#endif
-
-// C++0x headers implemented in 610 (as shipped by Microsoft)
-//
-#if !defined(_CPPLIB_VER) || _CPPLIB_VER < 610
-# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#endif
-
-#ifdef _CPPLIB_VER
-# define BOOST_DINKUMWARE_STDLIB _CPPLIB_VER
-#else
-# define BOOST_DINKUMWARE_STDLIB 1
-#endif
-
-#ifdef _CPPLIB_VER
-# define BOOST_STDLIB "Dinkumware standard library version " BOOST_STRINGIZE(_CPPLIB_VER)
-#else
-# define BOOST_STDLIB "Dinkumware standard library version 1.x"
-#endif
-
-
-
-
-
-
-
-
-
diff --git a/boost/config/stdlib/libcomo.hpp b/boost/config/stdlib/libcomo.hpp
deleted file mode 100644
index 29490f1..0000000
--- a/boost/config/stdlib/libcomo.hpp
+++ /dev/null
@@ -1,72 +0,0 @@
-// (C) Copyright John Maddock 2002 - 2003.
-// (C) Copyright Jens Maurer 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.
-
-// Comeau STL:
-
-#if !defined(__LIBCOMO__)
-# include <boost/config/no_tr1/utility.hpp>
-# if !defined(__LIBCOMO__)
-# error "This is not the Comeau STL!"
-# endif
-#endif
-
-//
-// std::streambuf<wchar_t> is non-standard
-// NOTE: versions of libcomo prior to beta28 have octal version numbering,
-// e.g. version 25 is 21 (dec)
-#if __LIBCOMO_VERSION__ <= 22
-# define BOOST_NO_STD_WSTREAMBUF
-#endif
-
-#if (__LIBCOMO_VERSION__ <= 31) && defined(_WIN32)
-#define BOOST_NO_SWPRINTF
-#endif
-
-#if __LIBCOMO_VERSION__ >= 31
-# define BOOST_HAS_HASH
-# define BOOST_HAS_SLIST
-#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
-
-//
-// Intrinsic type_traits support.
-// The SGI STL has it's own __type_traits class, which
-// has intrinsic compiler support with SGI's compilers.
-// Whatever map SGI style type traits to boost equivalents:
-//
-#define BOOST_HAS_SGI_TYPE_TRAITS
-
-#define BOOST_STDLIB "Comeau standard library " BOOST_STRINGIZE(__LIBCOMO_VERSION__)
-
-
diff --git a/boost/config/stdlib/libcpp.hpp b/boost/config/stdlib/libcpp.hpp
deleted file mode 100644
index 3d57440..0000000
--- a/boost/config/stdlib/libcpp.hpp
+++ /dev/null
@@ -1,37 +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 <ciso646>
-# 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
-
-//
-// 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
-
-// libc++ uses a non-standard messages_base
-#define BOOST_NO_STD_MESSAGES
-
-// --- end ---
diff --git a/boost/config/stdlib/libstdcpp3.hpp b/boost/config/stdlib/libstdcpp3.hpp
deleted file mode 100644
index 976ab76..0000000
--- a/boost/config/stdlib/libstdcpp3.hpp
+++ /dev/null
@@ -1,166 +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 <unistd.h>
-#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 <ext/slist>
-# if !defined(__GNUC__) || __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3)
-# define BOOST_HASH_SET_HEADER <ext/hash_set>
-# define BOOST_HASH_MAP_HEADER <ext/hash_map>
-# else
-# define BOOST_HASH_SET_HEADER <backward/hash_set>
-# define BOOST_HASH_MAP_HEADER <backward/hash_map>
-# 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_REGEX
-# 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
-#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 <chrono> existed prior to 4.7, "stead_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 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
-
-// --- end ---
diff --git a/boost/config/stdlib/modena.hpp b/boost/config/stdlib/modena.hpp
deleted file mode 100644
index b483b6e..0000000
--- a/boost/config/stdlib/modena.hpp
+++ /dev/null
@@ -1,56 +0,0 @@
-// (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.
-
-// Modena C++ standard library (comes with KAI C++)
-
-#if !defined(MSIPL_COMPILE_H)
-# include <boost/config/no_tr1/utility.hpp>
-# if !defined(__MSIPL_COMPILE_H)
-# error "This is not the Modena C++ library!"
-# endif
-#endif
-
-#ifndef MSIPL_NL_TYPES
-#define BOOST_NO_STD_MESSAGES
-#endif
-
-#ifndef MSIPL_WCHART
-#define BOOST_NO_STD_WSTRING
-#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_STDLIB "Modena C++ standard library"
-
-
-
-
-
diff --git a/boost/config/stdlib/msl.hpp b/boost/config/stdlib/msl.hpp
deleted file mode 100644
index 4f9a2da..0000000
--- a/boost/config/stdlib/msl.hpp
+++ /dev/null
@@ -1,84 +0,0 @@
-// (C) Copyright John Maddock 2001.
-// (C) Copyright Darin Adler 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.
-
-// Metrowerks standard library:
-
-#ifndef __MSL_CPP__
-# include <boost/config/no_tr1/utility.hpp>
-# ifndef __MSL_CPP__
-# error This is not the MSL standard library!
-# endif
-#endif
-
-#if __MSL_CPP__ >= 0x6000 // Pro 6
-# define BOOST_HAS_HASH
-# define BOOST_STD_EXTENSION_NAMESPACE Metrowerks
-#endif
-#define BOOST_HAS_SLIST
-
-#if __MSL_CPP__ < 0x6209
-# define BOOST_NO_STD_MESSAGES
-#endif
-
-// check C lib version for <stdint.h>
-#include <cstddef>
-
-#if defined(__MSL__) && (__MSL__ >= 0x5000)
-# define BOOST_HAS_STDINT_H
-# if !defined(__PALMOS_TRAPS__)
-# define BOOST_HAS_UNISTD_H
-# endif
- // boilerplate code:
-# include <boost/config/posix_features.hpp>
-#endif
-
-#if defined(_MWMT) || _MSL_THREADSAFE
-# define BOOST_HAS_THREADS
-#endif
-
-#ifdef _MSL_NO_EXPLICIT_FUNC_TEMPLATE_ARG
-# define BOOST_NO_STD_USE_FACET
-# define BOOST_HAS_TWO_ARG_USE_FACET
-#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_STDLIB "Metrowerks Standard Library version " BOOST_STRINGIZE(__MSL_CPP__)
-
-
-
-
-
-
-
-
-
diff --git a/boost/config/stdlib/roguewave.hpp b/boost/config/stdlib/roguewave.hpp
deleted file mode 100644
index cb80f57..0000000
--- a/boost/config/stdlib/roguewave.hpp
+++ /dev/null
@@ -1,186 +0,0 @@
-// (C) Copyright John Maddock 2001 - 2003.
-// (C) Copyright Jens Maurer 2001.
-// (C) Copyright David Abrahams 2003.
-// (C) Copyright Boris Gubenko 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)
-
-// See http://www.boost.org for most recent version.
-
-// Rogue Wave std lib:
-
-#define BOOST_RW_STDLIB 1
-
-#if !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER)
-# include <boost/config/no_tr1/utility.hpp>
-# if !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER)
-# error This is not the Rogue Wave standard library
-# endif
-#endif
-//
-// figure out a consistent version number:
-//
-#ifndef _RWSTD_VER
-# define BOOST_RWSTD_VER 0x010000
-#elif _RWSTD_VER < 0x010000
-# define BOOST_RWSTD_VER (_RWSTD_VER << 8)
-#else
-# define BOOST_RWSTD_VER _RWSTD_VER
-#endif
-
-#ifndef _RWSTD_VER
-# define BOOST_STDLIB "Rogue Wave standard library version (Unknown version)"
-#elif _RWSTD_VER < 0x04010200
- # define BOOST_STDLIB "Rogue Wave standard library version " BOOST_STRINGIZE(_RWSTD_VER)
-#else
-# ifdef _RWSTD_VER_STR
-# define BOOST_STDLIB "Apache STDCXX standard library version " _RWSTD_VER_STR
-# else
-# define BOOST_STDLIB "Apache STDCXX standard library version " BOOST_STRINGIZE(_RWSTD_VER)
-# endif
-#endif
-
-//
-// Prior to version 2.2.0 the primary template for std::numeric_limits
-// does not have compile time constants, even though specializations of that
-// template do:
-//
-#if BOOST_RWSTD_VER < 0x020200
-# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-#endif
-
-// Sun CC 5.5 patch 113817-07 adds long long specialization, but does not change the
-// library version number (http://sunsolve6.sun.com/search/document.do?assetkey=1-21-113817):
-#if BOOST_RWSTD_VER <= 0x020101 && (!defined(__SUNPRO_CC) || (__SUNPRO_CC < 0x550))
-# define BOOST_NO_LONG_LONG_NUMERIC_LIMITS
-# endif
-
-//
-// Borland version of numeric_limits lacks __int64 specialisation:
-//
-#ifdef __BORLANDC__
-# define BOOST_NO_MS_INT64_NUMERIC_LIMITS
-#endif
-
-//
-// No std::iterator if it can't figure out default template args:
-//
-#if defined(_RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES) || defined(RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES) || (BOOST_RWSTD_VER < 0x020000)
-# define BOOST_NO_STD_ITERATOR
-#endif
-
-//
-// No iterator traits without partial specialization:
-//
-#if defined(_RWSTD_NO_CLASS_PARTIAL_SPEC) || defined(RWSTD_NO_CLASS_PARTIAL_SPEC)
-# define BOOST_NO_STD_ITERATOR_TRAITS
-#endif
-
-//
-// Prior to version 2.0, std::auto_ptr was buggy, and there were no
-// new-style iostreams, and no conformant std::allocator:
-//
-#if (BOOST_RWSTD_VER < 0x020000)
-# define BOOST_NO_AUTO_PTR
-# define BOOST_NO_STRINGSTREAM
-# define BOOST_NO_STD_ALLOCATOR
-# define BOOST_NO_STD_LOCALE
-#endif
-
-//
-// No template iterator constructors without member template support:
-//
-#if defined(RWSTD_NO_MEMBER_TEMPLATES) || defined(_RWSTD_NO_MEMBER_TEMPLATES)
-# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
-#endif
-
-//
-// RW defines _RWSTD_ALLOCATOR if the allocator is conformant and in use
-// (the or _HPACC_ part is a hack - the library seems to define _RWSTD_ALLOCATOR
-// on HP aCC systems even though the allocator is in fact broken):
-//
-#if !defined(_RWSTD_ALLOCATOR) || (defined(__HP_aCC) && __HP_aCC <= 33100)
-# define BOOST_NO_STD_ALLOCATOR
-#endif
-
-//
-// If we have a std::locale, we still may not have std::use_facet:
-//
-#if defined(_RWSTD_NO_TEMPLATE_ON_RETURN_TYPE) && !defined(BOOST_NO_STD_LOCALE)
-# define BOOST_NO_STD_USE_FACET
-# define BOOST_HAS_TWO_ARG_USE_FACET
-#endif
-
-//
-// There's no std::distance prior to version 2, or without
-// partial specialization support:
-//
-#if (BOOST_RWSTD_VER < 0x020000) || defined(_RWSTD_NO_CLASS_PARTIAL_SPEC)
- #define BOOST_NO_STD_DISTANCE
-#endif
-
-//
-// Some versions of the rogue wave library don't have assignable
-// OutputIterators:
-//
-#if BOOST_RWSTD_VER < 0x020100
-# define BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN
-#endif
-
-//
-// Disable BOOST_HAS_LONG_LONG when the library has no support for it.
-//
-#if !defined(_RWSTD_LONG_LONG) && defined(BOOST_HAS_LONG_LONG)
-# undef BOOST_HAS_LONG_LONG
-#endif
-
-//
-// check that on HP-UX, the proper RW library is used
-//
-#if defined(__HP_aCC) && !defined(_HP_NAMESPACE_STD)
-# error "Boost requires Standard RW library. Please compile and link with -AA"
-#endif
-
-//
-// Define macros specific to RW V2.2 on HP-UX
-//
-#if defined(__HP_aCC) && (BOOST_RWSTD_VER == 0x02020100)
-# ifndef __HP_TC1_MAKE_PAIR
-# define __HP_TC1_MAKE_PAIR
-# endif
-# ifndef _HP_INSTANTIATE_STD2_VL
-# define _HP_INSTANTIATE_STD2_VL
-# endif
-#endif
-
-#if _RWSTD_VER < 0x05000000
-# define BOOST_NO_CXX11_HDR_ARRAY
-#endif
-// type_traits header is incomplete:
-# define BOOST_NO_CXX11_HDR_TYPE_TRAITS
-//
-// C++0x headers not yet implemented
-//
-# 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_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
-
diff --git a/boost/config/stdlib/sgi.hpp b/boost/config/stdlib/sgi.hpp
deleted file mode 100644
index ae9b6ad..0000000
--- a/boost/config/stdlib/sgi.hpp
+++ /dev/null
@@ -1,148 +0,0 @@
-// (C) Copyright John Maddock 2001 - 2003.
-// (C) Copyright Darin Adler 2001.
-// (C) Copyright Jens Maurer 2001 - 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.
-
-// generic SGI STL:
-
-#if !defined(__STL_CONFIG_H)
-# include <boost/config/no_tr1/utility.hpp>
-# if !defined(__STL_CONFIG_H)
-# error "This is not the SGI STL!"
-# endif
-#endif
-
-//
-// No std::iterator traits without partial specialisation:
-//
-#if !defined(__STL_CLASS_PARTIAL_SPECIALIZATION)
-# define BOOST_NO_STD_ITERATOR_TRAITS
-#endif
-
-//
-// No std::stringstream with gcc < 3
-//
-#if defined(__GNUC__) && (__GNUC__ < 3) && \
- ((__GNUC_MINOR__ < 95) || (__GNUC_MINOR__ == 96)) && \
- !defined(__STL_USE_NEW_IOSTREAMS) || \
- defined(__APPLE_CC__)
- // Note that we only set this for GNU C++ prior to 2.95 since the
- // latest patches for that release do contain a minimal <sstream>
- // If you are running a 2.95 release prior to 2.95.3 then this will need
- // setting, but there is no way to detect that automatically (other
- // than by running the configure script).
- // Also, the unofficial GNU C++ 2.96 included in RedHat 7.1 doesn't
- // have <sstream>.
-# define BOOST_NO_STRINGSTREAM
-#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 <unistd.h>
-#endif
-
-
-//
-// Assume no std::locale without own iostreams (this may be an
-// incorrect assumption in some cases):
-//
-#if !defined(__SGI_STL_OWN_IOSTREAMS) && !defined(__STL_USE_NEW_IOSTREAMS)
-# define BOOST_NO_STD_LOCALE
-#endif
-
-//
-// Original native SGI streams have non-standard std::messages facet:
-//
-#if defined(__sgi) && (_COMPILER_VERSION <= 650) && !defined(__SGI_STL_OWN_IOSTREAMS)
-# define BOOST_NO_STD_LOCALE
-#endif
-
-//
-// SGI's new iostreams have missing "const" in messages<>::open
-//
-#if defined(__sgi) && (_COMPILER_VERSION <= 740) && defined(__STL_USE_NEW_IOSTREAMS)
-# define BOOST_NO_STD_MESSAGES
-#endif
-
-//
-// No template iterator constructors, or std::allocator
-// without member templates:
-//
-#if !defined(__STL_MEMBER_TEMPLATES)
-# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
-# define BOOST_NO_STD_ALLOCATOR
-#endif
-
-//
-// We always have SGI style hash_set, hash_map, and slist:
-//
-#define BOOST_HAS_HASH
-#define BOOST_HAS_SLIST
-
-//
-// If this is GNU libstdc++2, then no <limits> and no std::wstring:
-//
-#if (defined(__GNUC__) && (__GNUC__ < 3))
-# include <string>
-# if defined(__BASTRING__)
-# define BOOST_NO_LIMITS
-// Note: <boost/limits.hpp> will provide compile-time constants
-# undef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-# define BOOST_NO_STD_WSTRING
-# endif
-#endif
-
-//
-// There is no standard iterator unless we have namespace support:
-//
-#if !defined(__STL_USE_NAMESPACES)
-# define BOOST_NO_STD_ITERATOR
-#endif
-
-//
-// Intrinsic type_traits support.
-// The SGI STL has it's own __type_traits class, which
-// has intrinsic compiler support with SGI's compilers.
-// Whatever map SGI style type traits to boost equivalents:
-//
-#define BOOST_HAS_SGI_TYPE_TRAITS
-
-// 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_STDLIB "SGI standard library"
-
-
-
diff --git a/boost/config/stdlib/stlport.hpp b/boost/config/stdlib/stlport.hpp
deleted file mode 100644
index bcc30b9..0000000
--- a/boost/config/stdlib/stlport.hpp
+++ /dev/null
@@ -1,243 +0,0 @@
-// (C) Copyright John Maddock 2001 - 2002.
-// (C) Copyright Darin Adler 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.
-
-// STLPort standard library config:
-
-#if !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION)
-# include <cstddef>
-# if !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION)
-# error "This is not STLPort!"
-# endif
-#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 <unistd.h>
-#endif
-
-//
-// __STL_STATIC_CONST_INIT_BUG implies BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-// for versions prior to 4.1(beta)
-//
-#if (defined(__STL_STATIC_CONST_INIT_BUG) || defined(_STLP_STATIC_CONST_INIT_BUG)) && (__SGI_STL_PORT <= 0x400)
-# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-#endif
-
-//
-// If STLport thinks that there is no partial specialisation, then there is no
-// std::iterator traits:
-//
-#if !(defined(_STLP_CLASS_PARTIAL_SPECIALIZATION) || defined(__STL_CLASS_PARTIAL_SPECIALIZATION))
-# define BOOST_NO_STD_ITERATOR_TRAITS
-#endif
-
-//
-// No new style iostreams on GCC without STLport's iostreams enabled:
-//
-#if (defined(__GNUC__) && (__GNUC__ < 3)) && !(defined(__SGI_STL_OWN_IOSTREAMS) || defined(_STLP_OWN_IOSTREAMS))
-# define BOOST_NO_STRINGSTREAM
-#endif
-
-//
-// No new iostreams implies no std::locale, and no std::stringstream:
-//
-#if defined(__STL_NO_IOSTREAMS) || defined(__STL_NO_NEW_IOSTREAMS) || defined(_STLP_NO_IOSTREAMS) || defined(_STLP_NO_NEW_IOSTREAMS)
-# define BOOST_NO_STD_LOCALE
-# define BOOST_NO_STRINGSTREAM
-#endif
-
-//
-// If the streams are not native, and we have a "using ::x" compiler bug
-// then the io stream facets are not available in namespace std::
-//
-#ifdef _STLPORT_VERSION
-# if !(_STLPORT_VERSION >= 0x500) && !defined(_STLP_OWN_IOSTREAMS) && defined(_STLP_USE_NAMESPACES) && defined(BOOST_NO_USING_TEMPLATE) && !defined(__BORLANDC__)
-# define BOOST_NO_STD_LOCALE
-# endif
-#else
-# if !defined(__SGI_STL_OWN_IOSTREAMS) && defined(__STL_USE_NAMESPACES) && defined(BOOST_NO_USING_TEMPLATE) && !defined(__BORLANDC__)
-# define BOOST_NO_STD_LOCALE
-# endif
-#endif
-
-#if defined(_STLPORT_VERSION) && (_STLPORT_VERSION >= 0x520)
-# define BOOST_HAS_TR1_UNORDERED_SET
-# define BOOST_HAS_TR1_UNORDERED_MAP
-#endif
-//
-// Without member template support enabled, their are no template
-// iterate constructors, and no std::allocator:
-//
-#if !(defined(__STL_MEMBER_TEMPLATES) || defined(_STLP_MEMBER_TEMPLATES))
-# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
-# define BOOST_NO_STD_ALLOCATOR
-#endif
-//
-// however we always have at least a partial allocator:
-//
-#define BOOST_HAS_PARTIAL_STD_ALLOCATOR
-
-#if !defined(_STLP_MEMBER_TEMPLATE_CLASSES) || defined(_STLP_DONT_SUPPORT_REBIND_MEMBER_TEMPLATE)
-# define BOOST_NO_STD_ALLOCATOR
-#endif
-
-#if defined(_STLP_NO_MEMBER_TEMPLATE_KEYWORD) && defined(BOOST_MSVC) && (BOOST_MSVC <= 1300)
-# define BOOST_NO_STD_ALLOCATOR
-#endif
-
-//
-// If STLport thinks there is no wchar_t at all, then we have to disable
-// the support for the relevant specilazations of std:: templates.
-//
-#if !defined(_STLP_HAS_WCHAR_T) && !defined(_STLP_WCHAR_T_IS_USHORT)
-# ifndef BOOST_NO_STD_WSTRING
-# define BOOST_NO_STD_WSTRING
-# endif
-# ifndef BOOST_NO_STD_WSTREAMBUF
-# define BOOST_NO_STD_WSTREAMBUF
-# endif
-#endif
-
-//
-// We always have SGI style hash_set, hash_map, and slist:
-//
-#ifndef _STLP_NO_EXTENSIONS
-#define BOOST_HAS_HASH
-#define BOOST_HAS_SLIST
-#endif
-
-//
-// STLport does a good job of importing names into namespace std::,
-// but doesn't always get them all, define BOOST_NO_STDC_NAMESPACE, since our
-// workaround does not conflict with STLports:
-//
-//
-// Harold Howe says:
-// Borland switched to STLport in BCB6. Defining BOOST_NO_STDC_NAMESPACE with
-// BCB6 does cause problems. If we detect C++ Builder, then don't define
-// BOOST_NO_STDC_NAMESPACE
-//
-#if !defined(__BORLANDC__) && !defined(__DMC__)
-//
-// If STLport is using it's own namespace, and the real names are in
-// the global namespace, then we duplicate STLport's using declarations
-// (by defining BOOST_NO_STDC_NAMESPACE), we do this because STLport doesn't
-// necessarily import all the names we need into namespace std::
-//
-# if (defined(__STL_IMPORT_VENDOR_CSTD) \
- || defined(__STL_USE_OWN_NAMESPACE) \
- || defined(_STLP_IMPORT_VENDOR_CSTD) \
- || defined(_STLP_USE_OWN_NAMESPACE)) \
- && (defined(__STL_VENDOR_GLOBAL_CSTD) || defined (_STLP_VENDOR_GLOBAL_CSTD))
-# define BOOST_NO_STDC_NAMESPACE
-# define BOOST_NO_EXCEPTION_STD_NAMESPACE
-# endif
-#elif defined(__BORLANDC__) && __BORLANDC__ < 0x560
-// STLport doesn't import std::abs correctly:
-#include <stdlib.h>
-namespace std { using ::abs; }
-// and strcmp/strcpy don't get imported either ('cos they are macros)
-#include <string.h>
-#ifdef strcpy
-# undef strcpy
-#endif
-#ifdef strcmp
-# undef strcmp
-#endif
-#ifdef _STLP_VENDOR_CSTD
-namespace std{ using _STLP_VENDOR_CSTD::strcmp; using _STLP_VENDOR_CSTD::strcpy; }
-#endif
-#endif
-
-//
-// std::use_facet may be non-standard, uses a class instead:
-//
-#if defined(__STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS) || defined(_STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS)
-# define BOOST_NO_STD_USE_FACET
-# define BOOST_HAS_STLP_USE_FACET
-#endif
-
-//
-// If STLport thinks there are no wide functions, <cwchar> etc. is not working; but
-// only if BOOST_NO_STDC_NAMESPACE is not defined (if it is then we do the import
-// into std:: ourselves).
-//
-#if defined(_STLP_NO_NATIVE_WIDE_FUNCTIONS) && !defined(BOOST_NO_STDC_NAMESPACE)
-# define BOOST_NO_CWCHAR
-# define BOOST_NO_CWCTYPE
-#endif
-
-//
-// If STLport for some reason was configured so that it thinks that wchar_t
-// is not an intrinsic type, then we have to disable the support for it as
-// well (we would be missing required specializations otherwise).
-//
-#if !defined( _STLP_HAS_WCHAR_T) || defined(_STLP_WCHAR_T_IS_USHORT)
-# undef BOOST_NO_INTRINSIC_WCHAR_T
-# define BOOST_NO_INTRINSIC_WCHAR_T
-#endif
-
-//
-// Borland ships a version of STLport with C++ Builder 6 that lacks
-// hashtables and the like:
-//
-#if defined(__BORLANDC__) && (__BORLANDC__ == 0x560)
-# undef BOOST_HAS_HASH
-#endif
-
-//
-// gcc-2.95.3/STLPort does not like the using declarations we use to get ADL with std::min/max
-//
-#if defined(__GNUC__) && (__GNUC__ < 3)
-# include <algorithm> // for std::min and std::max
-# define BOOST_USING_STD_MIN() ((void)0)
-# define BOOST_USING_STD_MAX() ((void)0)
-namespace boost { using std::min; using std::max; }
-#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_STDLIB "STLPort standard library version " BOOST_STRINGIZE(__SGI_STL_PORT)
-
-
-
-
-
-
-
-
diff --git a/boost/config/stdlib/vacpp.hpp b/boost/config/stdlib/vacpp.hpp
deleted file mode 100644
index 9d16946..0000000
--- a/boost/config/stdlib/vacpp.hpp
+++ /dev/null
@@ -1,54 +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 <unistd.h>
-#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_STDLIB "Visual Age default standard library"
-
-
-
diff --git a/boost/config/suffix.hpp b/boost/config/suffix.hpp
deleted file mode 100644
index c55579e..0000000
--- a/boost/config/suffix.hpp
+++ /dev/null
@@ -1,941 +0,0 @@
-// Boost config.hpp configuration header file ------------------------------//
-// boostinspect:ndprecated_macros -- tell the inspect tool to ignore this file
-
-// Copyright (c) 2001-2003 John Maddock
-// Copyright (c) 2001 Darin Adler
-// Copyright (c) 2001 Peter Dimov
-// Copyright (c) 2002 Bill Kempf
-// Copyright (c) 2002 Jens Maurer
-// Copyright (c) 2002-2003 David Abrahams
-// Copyright (c) 2003 Gennaro Prota
-// Copyright (c) 2003 Eric Friedman
-// Copyright (c) 2010 Eric Jourdanneau, Joel Falcou
-// Distributed under the Boost Software License, Version 1.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.
-
-// Boost config.hpp policy and rationale documentation has been moved to
-// http://www.boost.org/libs/config/
-//
-// This file is intended to be stable, and relatively unchanging.
-// It should contain boilerplate code only - no compiler specific
-// code unless it is unavoidable - no changes unless unavoidable.
-
-#ifndef BOOST_CONFIG_SUFFIX_HPP
-#define BOOST_CONFIG_SUFFIX_HPP
-
-#if defined(__GNUC__) && (__GNUC__ >= 4)
-//
-// Some GCC-4.x versions issue warnings even when __extension__ is used,
-// so use this as a workaround:
-//
-#pragma GCC system_header
-#endif
-
-//
-// ensure that visibility macros are always defined, thus symplifying use
-//
-#ifndef BOOST_SYMBOL_EXPORT
-# define BOOST_SYMBOL_EXPORT
-#endif
-#ifndef BOOST_SYMBOL_IMPORT
-# define BOOST_SYMBOL_IMPORT
-#endif
-#ifndef BOOST_SYMBOL_VISIBLE
-# define BOOST_SYMBOL_VISIBLE
-#endif
-
-//
-// look for long long by looking for the appropriate macros in <limits.h>.
-// Note that we use limits.h rather than climits for maximal portability,
-// remember that since these just declare a bunch of macros, there should be
-// no namespace issues from this.
-//
-#if !defined(BOOST_HAS_LONG_LONG) && !defined(BOOST_NO_LONG_LONG) \
- && !defined(BOOST_MSVC) && !defined(__BORLANDC__)
-# include <limits.h>
-# if (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX))
-# define BOOST_HAS_LONG_LONG
-# else
-# define BOOST_NO_LONG_LONG
-# endif
-#endif
-
-// GCC 3.x will clean up all of those nasty macro definitions that
-// BOOST_NO_CTYPE_FUNCTIONS is intended to help work around, so undefine
-// it under GCC 3.x.
-#if defined(__GNUC__) && (__GNUC__ >= 3) && defined(BOOST_NO_CTYPE_FUNCTIONS)
-# undef BOOST_NO_CTYPE_FUNCTIONS
-#endif
-
-//
-// Assume any extensions are in namespace std:: unless stated otherwise:
-//
-# ifndef BOOST_STD_EXTENSION_NAMESPACE
-# define BOOST_STD_EXTENSION_NAMESPACE std
-# endif
-
-//
-// If cv-qualified specializations are not allowed, then neither are cv-void ones:
-//
-# if defined(BOOST_NO_CV_SPECIALIZATIONS) \
- && !defined(BOOST_NO_CV_VOID_SPECIALIZATIONS)
-# define BOOST_NO_CV_VOID_SPECIALIZATIONS
-# endif
-
-//
-// If there is no numeric_limits template, then it can't have any compile time
-// constants either!
-//
-# if defined(BOOST_NO_LIMITS) \
- && !defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS)
-# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-# define BOOST_NO_MS_INT64_NUMERIC_LIMITS
-# define BOOST_NO_LONG_LONG_NUMERIC_LIMITS
-# endif
-
-//
-// if there is no long long then there is no specialisation
-// for numeric_limits<long long> either:
-//
-#if !defined(BOOST_HAS_LONG_LONG) && !defined(BOOST_NO_LONG_LONG_NUMERIC_LIMITS)
-# define BOOST_NO_LONG_LONG_NUMERIC_LIMITS
-#endif
-
-//
-// if there is no __int64 then there is no specialisation
-// for numeric_limits<__int64> either:
-//
-#if !defined(BOOST_HAS_MS_INT64) && !defined(BOOST_NO_MS_INT64_NUMERIC_LIMITS)
-# define BOOST_NO_MS_INT64_NUMERIC_LIMITS
-#endif
-
-//
-// if member templates are supported then so is the
-// VC6 subset of member templates:
-//
-# if !defined(BOOST_NO_MEMBER_TEMPLATES) \
- && !defined(BOOST_MSVC6_MEMBER_TEMPLATES)
-# define BOOST_MSVC6_MEMBER_TEMPLATES
-# endif
-
-//
-// Without partial specialization, can't test for partial specialisation bugs:
-//
-# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
- && !defined(BOOST_BCB_PARTIAL_SPECIALIZATION_BUG)
-# define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
-# endif
-
-//
-// Without partial specialization, we can't have array-type partial specialisations:
-//
-# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
- && !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
-# define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS
-# endif
-
-//
-// Without partial specialization, std::iterator_traits can't work:
-//
-# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
- && !defined(BOOST_NO_STD_ITERATOR_TRAITS)
-# define BOOST_NO_STD_ITERATOR_TRAITS
-# endif
-
-//
-// Without partial specialization, partial
-// specialization with default args won't work either:
-//
-# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
- && !defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS)
-# define BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
-# endif
-
-//
-// Without member template support, we can't have template constructors
-// in the standard library either:
-//
-# if defined(BOOST_NO_MEMBER_TEMPLATES) \
- && !defined(BOOST_MSVC6_MEMBER_TEMPLATES) \
- && !defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS)
-# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
-# endif
-
-//
-// Without member template support, we can't have a conforming
-// std::allocator template either:
-//
-# if defined(BOOST_NO_MEMBER_TEMPLATES) \
- && !defined(BOOST_MSVC6_MEMBER_TEMPLATES) \
- && !defined(BOOST_NO_STD_ALLOCATOR)
-# define BOOST_NO_STD_ALLOCATOR
-# endif
-
-//
-// without ADL support then using declarations will break ADL as well:
-//
-#if defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL)
-# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
-#endif
-
-//
-// Without typeid support we have no dynamic RTTI either:
-//
-#if defined(BOOST_NO_TYPEID) && !defined(BOOST_NO_RTTI)
-# define BOOST_NO_RTTI
-#endif
-
-//
-// If we have a standard allocator, then we have a partial one as well:
-//
-#if !defined(BOOST_NO_STD_ALLOCATOR)
-# define BOOST_HAS_PARTIAL_STD_ALLOCATOR
-#endif
-
-//
-// We can't have a working std::use_facet if there is no std::locale:
-//
-# if defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_USE_FACET)
-# define BOOST_NO_STD_USE_FACET
-# endif
-
-//
-// We can't have a std::messages facet if there is no std::locale:
-//
-# if defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_MESSAGES)
-# define BOOST_NO_STD_MESSAGES
-# endif
-
-//
-// We can't have a working std::wstreambuf if there is no std::locale:
-//
-# if defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_WSTREAMBUF)
-# define BOOST_NO_STD_WSTREAMBUF
-# endif
-
-//
-// We can't have a <cwctype> if there is no <cwchar>:
-//
-# if defined(BOOST_NO_CWCHAR) && !defined(BOOST_NO_CWCTYPE)
-# define BOOST_NO_CWCTYPE
-# endif
-
-//
-// We can't have a swprintf if there is no <cwchar>:
-//
-# if defined(BOOST_NO_CWCHAR) && !defined(BOOST_NO_SWPRINTF)
-# define BOOST_NO_SWPRINTF
-# endif
-
-//
-// If Win32 support is turned off, then we must turn off
-// threading support also, unless there is some other
-// thread API enabled:
-//
-#if defined(BOOST_DISABLE_WIN32) && defined(_WIN32) \
- && !defined(BOOST_DISABLE_THREADS) && !defined(BOOST_HAS_PTHREADS)
-# define BOOST_DISABLE_THREADS
-#endif
-
-//
-// Turn on threading support if the compiler thinks that it's in
-// multithreaded mode. We put this here because there are only a
-// limited number of macros that identify this (if there's any missing
-// from here then add to the appropriate compiler section):
-//
-#if (defined(__MT__) || defined(_MT) || defined(_REENTRANT) \
- || defined(_PTHREADS) || defined(__APPLE__) || defined(__DragonFly__)) \
- && !defined(BOOST_HAS_THREADS)
-# define BOOST_HAS_THREADS
-#endif
-
-//
-// Turn threading support off if BOOST_DISABLE_THREADS is defined:
-//
-#if defined(BOOST_DISABLE_THREADS) && defined(BOOST_HAS_THREADS)
-# undef BOOST_HAS_THREADS
-#endif
-
-//
-// Turn threading support off if we don't recognise the threading API:
-//
-#if defined(BOOST_HAS_THREADS) && !defined(BOOST_HAS_PTHREADS)\
- && !defined(BOOST_HAS_WINTHREADS) && !defined(BOOST_HAS_BETHREADS)\
- && !defined(BOOST_HAS_MPTASKS)
-# undef BOOST_HAS_THREADS
-#endif
-
-//
-// Turn threading detail macros off if we don't (want to) use threading
-//
-#ifndef BOOST_HAS_THREADS
-# undef BOOST_HAS_PTHREADS
-# undef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-# undef BOOST_HAS_PTHREAD_YIELD
-# undef BOOST_HAS_PTHREAD_DELAY_NP
-# undef BOOST_HAS_WINTHREADS
-# undef BOOST_HAS_BETHREADS
-# undef BOOST_HAS_MPTASKS
-#endif
-
-//
-// If the compiler claims to be C99 conformant, then it had better
-// have a <stdint.h>:
-//
-# if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901)
-# define BOOST_HAS_STDINT_H
-# ifndef BOOST_HAS_LOG1P
-# define BOOST_HAS_LOG1P
-# endif
-# ifndef BOOST_HAS_EXPM1
-# define BOOST_HAS_EXPM1
-# endif
-# endif
-
-//
-// Define BOOST_NO_SLIST and BOOST_NO_HASH if required.
-// Note that this is for backwards compatibility only.
-//
-# if !defined(BOOST_HAS_SLIST) && !defined(BOOST_NO_SLIST)
-# define BOOST_NO_SLIST
-# endif
-
-# if !defined(BOOST_HAS_HASH) && !defined(BOOST_NO_HASH)
-# define BOOST_NO_HASH
-# endif
-
-//
-// Set BOOST_SLIST_HEADER if not set already:
-//
-#if defined(BOOST_HAS_SLIST) && !defined(BOOST_SLIST_HEADER)
-# define BOOST_SLIST_HEADER <slist>
-#endif
-
-//
-// Set BOOST_HASH_SET_HEADER if not set already:
-//
-#if defined(BOOST_HAS_HASH) && !defined(BOOST_HASH_SET_HEADER)
-# define BOOST_HASH_SET_HEADER <hash_set>
-#endif
-
-//
-// Set BOOST_HASH_MAP_HEADER if not set already:
-//
-#if defined(BOOST_HAS_HASH) && !defined(BOOST_HASH_MAP_HEADER)
-# define BOOST_HASH_MAP_HEADER <hash_map>
-#endif
-
-// BOOST_HAS_ABI_HEADERS
-// This macro gets set if we have headers that fix the ABI,
-// and prevent ODR violations when linking to external libraries:
-#if defined(BOOST_ABI_PREFIX) && defined(BOOST_ABI_SUFFIX) && !defined(BOOST_HAS_ABI_HEADERS)
-# define BOOST_HAS_ABI_HEADERS
-#endif
-
-#if defined(BOOST_HAS_ABI_HEADERS) && defined(BOOST_DISABLE_ABI_HEADERS)
-# undef BOOST_HAS_ABI_HEADERS
-#endif
-
-// BOOST_NO_STDC_NAMESPACE workaround --------------------------------------//
-// Because std::size_t usage is so common, even in boost headers which do not
-// otherwise use the C library, the <cstddef> workaround is included here so
-// that ugly workaround code need not appear in many other boost headers.
-// NOTE WELL: This is a workaround for non-conforming compilers; <cstddef>
-// must still be #included in the usual places so that <cstddef> inclusion
-// works as expected with standard conforming compilers. The resulting
-// double inclusion of <cstddef> is harmless.
-
-# if defined(BOOST_NO_STDC_NAMESPACE) && defined(__cplusplus)
-# include <cstddef>
- namespace std { using ::ptrdiff_t; using ::size_t; }
-# endif
-
-// Workaround for the unfortunate min/max macros defined by some platform headers
-
-#define BOOST_PREVENT_MACRO_SUBSTITUTION
-
-#ifndef BOOST_USING_STD_MIN
-# define BOOST_USING_STD_MIN() using std::min
-#endif
-
-#ifndef BOOST_USING_STD_MAX
-# define BOOST_USING_STD_MAX() using std::max
-#endif
-
-// BOOST_NO_STD_MIN_MAX workaround -----------------------------------------//
-
-# if defined(BOOST_NO_STD_MIN_MAX) && defined(__cplusplus)
-
-namespace std {
- template <class _Tp>
- inline const _Tp& min BOOST_PREVENT_MACRO_SUBSTITUTION (const _Tp& __a, const _Tp& __b) {
- return __b < __a ? __b : __a;
- }
- template <class _Tp>
- inline const _Tp& max BOOST_PREVENT_MACRO_SUBSTITUTION (const _Tp& __a, const _Tp& __b) {
- return __a < __b ? __b : __a;
- }
-}
-
-# endif
-
-// BOOST_STATIC_CONSTANT workaround --------------------------------------- //
-// On compilers which don't allow in-class initialization of static integral
-// constant members, we must use enums as a workaround if we want the constants
-// to be available at compile-time. This macro gives us a convenient way to
-// declare such constants.
-
-# ifdef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-# define BOOST_STATIC_CONSTANT(type, assignment) enum { assignment }
-# else
-# define BOOST_STATIC_CONSTANT(type, assignment) static const type assignment
-# endif
-
-// BOOST_USE_FACET / HAS_FACET workaround ----------------------------------//
-// When the standard library does not have a conforming std::use_facet there
-// are various workarounds available, but they differ from library to library.
-// The same problem occurs with has_facet.
-// These macros provide a consistent way to access a locale's facets.
-// Usage:
-// replace
-// std::use_facet<Type>(loc);
-// with
-// BOOST_USE_FACET(Type, loc);
-// Note do not add a std:: prefix to the front of BOOST_USE_FACET!
-// Use for BOOST_HAS_FACET is analogous.
-
-#if defined(BOOST_NO_STD_USE_FACET)
-# ifdef BOOST_HAS_TWO_ARG_USE_FACET
-# define BOOST_USE_FACET(Type, loc) std::use_facet(loc, static_cast<Type*>(0))
-# define BOOST_HAS_FACET(Type, loc) std::has_facet(loc, static_cast<Type*>(0))
-# elif defined(BOOST_HAS_MACRO_USE_FACET)
-# define BOOST_USE_FACET(Type, loc) std::_USE(loc, Type)
-# define BOOST_HAS_FACET(Type, loc) std::_HAS(loc, Type)
-# elif defined(BOOST_HAS_STLP_USE_FACET)
-# define BOOST_USE_FACET(Type, loc) (*std::_Use_facet<Type >(loc))
-# define BOOST_HAS_FACET(Type, loc) std::has_facet< Type >(loc)
-# endif
-#else
-# define BOOST_USE_FACET(Type, loc) std::use_facet< Type >(loc)
-# define BOOST_HAS_FACET(Type, loc) std::has_facet< Type >(loc)
-#endif
-
-// BOOST_NESTED_TEMPLATE workaround ------------------------------------------//
-// Member templates are supported by some compilers even though they can't use
-// the A::template member<U> syntax, as a workaround replace:
-//
-// typedef typename A::template rebind<U> binder;
-//
-// with:
-//
-// typedef typename A::BOOST_NESTED_TEMPLATE rebind<U> binder;
-
-#ifndef BOOST_NO_MEMBER_TEMPLATE_KEYWORD
-# define BOOST_NESTED_TEMPLATE template
-#else
-# define BOOST_NESTED_TEMPLATE
-#endif
-
-// BOOST_UNREACHABLE_RETURN(x) workaround -------------------------------------//
-// Normally evaluates to nothing, unless BOOST_NO_UNREACHABLE_RETURN_DETECTION
-// is defined, in which case it evaluates to return x; Use when you have a return
-// statement that can never be reached.
-
-#ifdef BOOST_NO_UNREACHABLE_RETURN_DETECTION
-# define BOOST_UNREACHABLE_RETURN(x) return x;
-#else
-# define BOOST_UNREACHABLE_RETURN(x)
-#endif
-
-// BOOST_DEDUCED_TYPENAME workaround ------------------------------------------//
-//
-// Some compilers don't support the use of `typename' for dependent
-// types in deduced contexts, e.g.
-//
-// template <class T> void f(T, typename T::type);
-// ^^^^^^^^
-// Replace these declarations with:
-//
-// template <class T> void f(T, BOOST_DEDUCED_TYPENAME T::type);
-
-#ifndef BOOST_NO_DEDUCED_TYPENAME
-# define BOOST_DEDUCED_TYPENAME typename
-#else
-# define BOOST_DEDUCED_TYPENAME
-#endif
-
-#ifndef BOOST_NO_TYPENAME_WITH_CTOR
-# define BOOST_CTOR_TYPENAME typename
-#else
-# define BOOST_CTOR_TYPENAME
-#endif
-
-// long long workaround ------------------------------------------//
-// On gcc (and maybe other compilers?) long long is alway supported
-// but it's use may generate either warnings (with -ansi), or errors
-// (with -pedantic -ansi) unless it's use is prefixed by __extension__
-//
-#if defined(BOOST_HAS_LONG_LONG) && defined(__cplusplus)
-namespace boost{
-# ifdef __GNUC__
- __extension__ typedef long long long_long_type;
- __extension__ typedef unsigned long long ulong_long_type;
-# else
- typedef long long long_long_type;
- typedef unsigned long long ulong_long_type;
-# endif
-}
-#endif
-// same again for __int128:
-#if defined(BOOST_HAS_INT128) && defined(__cplusplus)
-namespace boost{
-# ifdef __GNUC__
- __extension__ typedef __int128 int128_type;
- __extension__ typedef unsigned __int128 uint128_type;
-# else
- typedef __int128 int128_type;
- typedef unsigned __int128 uint128_type;
-# endif
-}
-#endif
-
-// BOOST_[APPEND_]EXPLICIT_TEMPLATE_[NON_]TYPE macros --------------------------//
-
-// These macros are obsolete. Port away and remove.
-
-# define BOOST_EXPLICIT_TEMPLATE_TYPE(t)
-# define BOOST_EXPLICIT_TEMPLATE_TYPE_SPEC(t)
-# define BOOST_EXPLICIT_TEMPLATE_NON_TYPE(t, v)
-# define BOOST_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v)
-
-# define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(t)
-# define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(t)
-# define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(t, v)
-# define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v)
-
-// When BOOST_NO_STD_TYPEINFO is defined, we can just import
-// the global definition into std namespace:
-#if defined(BOOST_NO_STD_TYPEINFO) && defined(__cplusplus)
-#include <typeinfo>
-namespace std{ using ::type_info; }
-#endif
-
-// ---------------------------------------------------------------------------//
-
-//
-// Helper macro BOOST_STRINGIZE:
-// Converts the parameter X to a string after macro replacement
-// on X has been performed.
-//
-#define BOOST_STRINGIZE(X) BOOST_DO_STRINGIZE(X)
-#define BOOST_DO_STRINGIZE(X) #X
-
-//
-// Helper macro BOOST_JOIN:
-// The following piece of macro magic joins the two
-// arguments together, even when one of the arguments is
-// itself a macro (see 16.3.1 in C++ standard). The key
-// is that macro expansion of macro arguments does not
-// occur in BOOST_DO_JOIN2 but does in BOOST_DO_JOIN.
-//
-#define BOOST_JOIN( X, Y ) BOOST_DO_JOIN( X, Y )
-#define BOOST_DO_JOIN( X, Y ) BOOST_DO_JOIN2(X,Y)
-#define BOOST_DO_JOIN2( X, Y ) X##Y
-
-//
-// Set some default values for compiler/library/platform names.
-// These are for debugging config setup only:
-//
-# ifndef BOOST_COMPILER
-# define BOOST_COMPILER "Unknown ISO C++ Compiler"
-# endif
-# ifndef BOOST_STDLIB
-# define BOOST_STDLIB "Unknown ISO standard library"
-# endif
-# ifndef BOOST_PLATFORM
-# if defined(unix) || defined(__unix) || defined(_XOPEN_SOURCE) \
- || defined(_POSIX_SOURCE)
-# define BOOST_PLATFORM "Generic Unix"
-# else
-# define BOOST_PLATFORM "Unknown"
-# endif
-# endif
-
-//
-// Set some default values GPU support
-//
-# ifndef BOOST_GPU_ENABLED
-# define BOOST_GPU_ENABLED
-# endif
-
-// BOOST_FORCEINLINE ---------------------------------------------//
-// Macro to use in place of 'inline' to force a function to be inline
-#if !defined(BOOST_FORCEINLINE)
-# if defined(_MSC_VER)
-# define BOOST_FORCEINLINE __forceinline
-# elif defined(__GNUC__) && __GNUC__ > 3
- // Clang also defines __GNUC__ (as 4)
-# define BOOST_FORCEINLINE inline __attribute__ ((__always_inline__))
-# else
-# define BOOST_FORCEINLINE inline
-# endif
-#endif
-
-// BOOST_NOINLINE ---------------------------------------------//
-// Macro to use in place of 'inline' to prevent a function to be inlined
-#if !defined(BOOST_NOINLINE)
-# if defined(_MSC_VER)
-# define BOOST_NOINLINE __declspec(noinline)
-# elif defined(__GNUC__) && __GNUC__ > 3
- // Clang also defines __GNUC__ (as 4)
-# define BOOST_NOINLINE __attribute__ ((__noinline__))
-# else
-# define BOOST_NOINLINE
-# endif
-#endif
-
-// Branch prediction hints
-// These macros are intended to wrap conditional expressions that yield true or false
-//
-// if (BOOST_LIKELY(var == 10))
-// {
-// // the most probable code here
-// }
-//
-#if !defined(BOOST_LIKELY)
-# define BOOST_LIKELY(x) x
-#endif
-#if !defined(BOOST_UNLIKELY)
-# define BOOST_UNLIKELY(x) x
-#endif
-
-// Type and data alignment specification
-//
-#if !defined(BOOST_NO_CXX11_ALIGNAS)
-# define BOOST_ALIGNMENT(x) alignas(x)
-#elif defined(_MSC_VER)
-# define BOOST_ALIGNMENT(x) __declspec(align(x))
-#elif defined(__GNUC__)
-# define BOOST_ALIGNMENT(x) __attribute__ ((__aligned__(x)))
-#else
-# define BOOST_NO_ALIGNMENT
-# define BOOST_ALIGNMENT(x)
-#endif
-
-// Defaulted and deleted function declaration helpers
-// These macros are intended to be inside a class definition.
-// BOOST_DEFAULTED_FUNCTION accepts the function declaration and its
-// body, which will be used if the compiler doesn't support defaulted functions.
-// BOOST_DELETED_FUNCTION only accepts the function declaration. It
-// will expand to a private function declaration, if the compiler doesn't support
-// deleted functions. Because of this it is recommended to use BOOST_DELETED_FUNCTION
-// in the end of the class definition.
-//
-// class my_class
-// {
-// public:
-// // Default-constructible
-// BOOST_DEFAULTED_FUNCTION(my_class(), {})
-// // Copying prohibited
-// BOOST_DELETED_FUNCTION(my_class(my_class const&))
-// BOOST_DELETED_FUNCTION(my_class& operator= (my_class const&))
-// };
-//
-#if !(defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) || defined(BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS))
-# define BOOST_DEFAULTED_FUNCTION(fun, body) fun = default;
-#else
-# define BOOST_DEFAULTED_FUNCTION(fun, body) fun body
-#endif
-
-#if !defined(BOOST_NO_CXX11_DELETED_FUNCTIONS)
-# define BOOST_DELETED_FUNCTION(fun) fun = delete;
-#else
-# define BOOST_DELETED_FUNCTION(fun) private: fun;
-#endif
-
-//
-// Set BOOST_NO_DECLTYPE_N3276 when BOOST_NO_DECLTYPE is defined
-//
-#if defined(BOOST_NO_CXX11_DECLTYPE) && !defined(BOOST_NO_CXX11_DECLTYPE_N3276)
-#define BOOST_NO_CXX11_DECLTYPE_N3276 BOOST_NO_CXX11_DECLTYPE
-#endif
-
-// -------------------- Deprecated macros for 1.50 ---------------------------
-// These will go away in a future release
-
-// Use BOOST_NO_CXX11_HDR_UNORDERED_SET or BOOST_NO_CXX11_HDR_UNORDERED_MAP
-// instead of BOOST_NO_STD_UNORDERED
-#if defined(BOOST_NO_CXX11_HDR_UNORDERED_MAP) || defined (BOOST_NO_CXX11_HDR_UNORDERED_SET)
-# ifndef BOOST_NO_CXX11_STD_UNORDERED
-# define BOOST_NO_CXX11_STD_UNORDERED
-# endif
-#endif
-
-// Use BOOST_NO_CXX11_HDR_INITIALIZER_LIST instead of BOOST_NO_INITIALIZER_LISTS
-#if defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) && !defined(BOOST_NO_INITIALIZER_LISTS)
-# define BOOST_NO_INITIALIZER_LISTS
-#endif
-
-// Use BOOST_NO_CXX11_HDR_ARRAY instead of BOOST_NO_0X_HDR_ARRAY
-#if defined(BOOST_NO_CXX11_HDR_ARRAY) && !defined(BOOST_NO_0X_HDR_ARRAY)
-# define BOOST_NO_0X_HDR_ARRAY
-#endif
-// Use BOOST_NO_CXX11_HDR_CHRONO instead of BOOST_NO_0X_HDR_CHRONO
-#if defined(BOOST_NO_CXX11_HDR_CHRONO) && !defined(BOOST_NO_0X_HDR_CHRONO)
-# define BOOST_NO_0X_HDR_CHRONO
-#endif
-// Use BOOST_NO_CXX11_HDR_CODECVT instead of BOOST_NO_0X_HDR_CODECVT
-#if defined(BOOST_NO_CXX11_HDR_CODECVT) && !defined(BOOST_NO_0X_HDR_CODECVT)
-# define BOOST_NO_0X_HDR_CODECVT
-#endif
-// Use BOOST_NO_CXX11_HDR_CONDITION_VARIABLE instead of BOOST_NO_0X_HDR_CONDITION_VARIABLE
-#if defined(BOOST_NO_CXX11_HDR_CONDITION_VARIABLE) && !defined(BOOST_NO_0X_HDR_CONDITION_VARIABLE)
-# define BOOST_NO_0X_HDR_CONDITION_VARIABLE
-#endif
-// Use BOOST_NO_CXX11_HDR_FORWARD_LIST instead of BOOST_NO_0X_HDR_FORWARD_LIST
-#if defined(BOOST_NO_CXX11_HDR_FORWARD_LIST) && !defined(BOOST_NO_0X_HDR_FORWARD_LIST)
-# define BOOST_NO_0X_HDR_FORWARD_LIST
-#endif
-// Use BOOST_NO_CXX11_HDR_FUTURE instead of BOOST_NO_0X_HDR_FUTURE
-#if defined(BOOST_NO_CXX11_HDR_FUTURE) && !defined(BOOST_NO_0X_HDR_FUTURE)
-# define BOOST_NO_0X_HDR_FUTURE
-#endif
-
-// Use BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-// instead of BOOST_NO_0X_HDR_INITIALIZER_LIST or BOOST_NO_INITIALIZER_LISTS
-#ifdef BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-# ifndef BOOST_NO_0X_HDR_INITIALIZER_LIST
-# define BOOST_NO_0X_HDR_INITIALIZER_LIST
-# endif
-# ifndef BOOST_NO_INITIALIZER_LISTS
-# define BOOST_NO_INITIALIZER_LISTS
-# endif
-#endif
-
-// Use BOOST_NO_CXX11_HDR_MUTEX instead of BOOST_NO_0X_HDR_MUTEX
-#if defined(BOOST_NO_CXX11_HDR_MUTEX) && !defined(BOOST_NO_0X_HDR_MUTEX)
-# define BOOST_NO_0X_HDR_MUTEX
-#endif
-// Use BOOST_NO_CXX11_HDR_RANDOM instead of BOOST_NO_0X_HDR_RANDOM
-#if defined(BOOST_NO_CXX11_HDR_RANDOM) && !defined(BOOST_NO_0X_HDR_RANDOM)
-# define BOOST_NO_0X_HDR_RANDOM
-#endif
-// Use BOOST_NO_CXX11_HDR_RATIO instead of BOOST_NO_0X_HDR_RATIO
-#if defined(BOOST_NO_CXX11_HDR_RATIO) && !defined(BOOST_NO_0X_HDR_RATIO)
-# define BOOST_NO_0X_HDR_RATIO
-#endif
-// Use BOOST_NO_CXX11_HDR_REGEX instead of BOOST_NO_0X_HDR_REGEX
-#if defined(BOOST_NO_CXX11_HDR_REGEX) && !defined(BOOST_NO_0X_HDR_REGEX)
-# define BOOST_NO_0X_HDR_REGEX
-#endif
-// Use BOOST_NO_CXX11_HDR_SYSTEM_ERROR instead of BOOST_NO_0X_HDR_SYSTEM_ERROR
-#if defined(BOOST_NO_CXX11_HDR_SYSTEM_ERROR) && !defined(BOOST_NO_0X_HDR_SYSTEM_ERROR)
-# define BOOST_NO_0X_HDR_SYSTEM_ERROR
-#endif
-// Use BOOST_NO_CXX11_HDR_THREAD instead of BOOST_NO_0X_HDR_THREAD
-#if defined(BOOST_NO_CXX11_HDR_THREAD) && !defined(BOOST_NO_0X_HDR_THREAD)
-# define BOOST_NO_0X_HDR_THREAD
-#endif
-// Use BOOST_NO_CXX11_HDR_TUPLE instead of BOOST_NO_0X_HDR_TUPLE
-#if defined(BOOST_NO_CXX11_HDR_TUPLE) && !defined(BOOST_NO_0X_HDR_TUPLE)
-# define BOOST_NO_0X_HDR_TUPLE
-#endif
-// Use BOOST_NO_CXX11_HDR_TYPE_TRAITS instead of BOOST_NO_0X_HDR_TYPE_TRAITS
-#if defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS) && !defined(BOOST_NO_0X_HDR_TYPE_TRAITS)
-# define BOOST_NO_0X_HDR_TYPE_TRAITS
-#endif
-// Use BOOST_NO_CXX11_HDR_TYPEINDEX instead of BOOST_NO_0X_HDR_TYPEINDEX
-#if defined(BOOST_NO_CXX11_HDR_TYPEINDEX) && !defined(BOOST_NO_0X_HDR_TYPEINDEX)
-# define BOOST_NO_0X_HDR_TYPEINDEX
-#endif
-// Use BOOST_NO_CXX11_HDR_UNORDERED_MAP instead of BOOST_NO_0X_HDR_UNORDERED_MAP
-#if defined(BOOST_NO_CXX11_HDR_UNORDERED_MAP) && !defined(BOOST_NO_0X_HDR_UNORDERED_MAP)
-# define BOOST_NO_0X_HDR_UNORDERED_MAP
-#endif
-// Use BOOST_NO_CXX11_HDR_UNORDERED_SET instead of BOOST_NO_0X_HDR_UNORDERED_SET
-#if defined(BOOST_NO_CXX11_HDR_UNORDERED_SET) && !defined(BOOST_NO_0X_HDR_UNORDERED_SET)
-# define BOOST_NO_0X_HDR_UNORDERED_SET
-#endif
-
-// ------------------ End of deprecated macros for 1.50 ---------------------------
-
-// -------------------- Deprecated macros for 1.51 ---------------------------
-// These will go away in a future release
-
-// Use BOOST_NO_CXX11_AUTO_DECLARATIONS instead of BOOST_NO_AUTO_DECLARATIONS
-#if defined(BOOST_NO_CXX11_AUTO_DECLARATIONS) && !defined(BOOST_NO_AUTO_DECLARATIONS)
-# define BOOST_NO_AUTO_DECLARATIONS
-#endif
-// Use BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS instead of BOOST_NO_AUTO_MULTIDECLARATIONS
-#if defined(BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS) && !defined(BOOST_NO_AUTO_MULTIDECLARATIONS)
-# define BOOST_NO_AUTO_MULTIDECLARATIONS
-#endif
-// Use BOOST_NO_CXX11_CHAR16_T instead of BOOST_NO_CHAR16_T
-#if defined(BOOST_NO_CXX11_CHAR16_T) && !defined(BOOST_NO_CHAR16_T)
-# define BOOST_NO_CHAR16_T
-#endif
-// Use BOOST_NO_CXX11_CHAR32_T instead of BOOST_NO_CHAR32_T
-#if defined(BOOST_NO_CXX11_CHAR32_T) && !defined(BOOST_NO_CHAR32_T)
-# define BOOST_NO_CHAR32_T
-#endif
-// Use BOOST_NO_CXX11_TEMPLATE_ALIASES instead of BOOST_NO_TEMPLATE_ALIASES
-#if defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) && !defined(BOOST_NO_TEMPLATE_ALIASES)
-# define BOOST_NO_TEMPLATE_ALIASES
-#endif
-// Use BOOST_NO_CXX11_CONSTEXPR instead of BOOST_NO_CONSTEXPR
-#if defined(BOOST_NO_CXX11_CONSTEXPR) && !defined(BOOST_NO_CONSTEXPR)
-# define BOOST_NO_CONSTEXPR
-#endif
-// Use BOOST_NO_CXX11_DECLTYPE_N3276 instead of BOOST_NO_DECLTYPE_N3276
-#if defined(BOOST_NO_CXX11_DECLTYPE_N3276) && !defined(BOOST_NO_DECLTYPE_N3276)
-# define BOOST_NO_DECLTYPE_N3276
-#endif
-// Use BOOST_NO_CXX11_DECLTYPE instead of BOOST_NO_DECLTYPE
-#if defined(BOOST_NO_CXX11_DECLTYPE) && !defined(BOOST_NO_DECLTYPE)
-# define BOOST_NO_DECLTYPE
-#endif
-// Use BOOST_NO_CXX11_DEFAULTED_FUNCTIONS instead of BOOST_NO_DEFAULTED_FUNCTIONS
-#if defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) && !defined(BOOST_NO_DEFAULTED_FUNCTIONS)
-# define BOOST_NO_DEFAULTED_FUNCTIONS
-#endif
-// Use BOOST_NO_CXX11_DELETED_FUNCTIONS instead of BOOST_NO_DELETED_FUNCTIONS
-#if defined(BOOST_NO_CXX11_DELETED_FUNCTIONS) && !defined(BOOST_NO_DELETED_FUNCTIONS)
-# define BOOST_NO_DELETED_FUNCTIONS
-#endif
-// Use BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS instead of BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
-#if defined(BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS) && !defined(BOOST_NO_EXPLICIT_CONVERSION_OPERATORS)
-# define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
-#endif
-// Use BOOST_NO_CXX11_EXTERN_TEMPLATE instead of BOOST_NO_EXTERN_TEMPLATE
-#if defined(BOOST_NO_CXX11_EXTERN_TEMPLATE) && !defined(BOOST_NO_EXTERN_TEMPLATE)
-# define BOOST_NO_EXTERN_TEMPLATE
-#endif
-// Use BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS instead of BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#if defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS) && !defined(BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS)
-# define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
-#endif
-// Use BOOST_NO_CXX11_LAMBDAS instead of BOOST_NO_LAMBDAS
-#if defined(BOOST_NO_CXX11_LAMBDAS) && !defined(BOOST_NO_LAMBDAS)
-# define BOOST_NO_LAMBDAS
-#endif
-// Use BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS instead of BOOST_NO_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#if defined(BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS) && !defined(BOOST_NO_LOCAL_CLASS_TEMPLATE_PARAMETERS)
-# define BOOST_NO_LOCAL_CLASS_TEMPLATE_PARAMETERS
-#endif
-// Use BOOST_NO_CXX11_NOEXCEPT instead of BOOST_NO_NOEXCEPT
-#if defined(BOOST_NO_CXX11_NOEXCEPT) && !defined(BOOST_NO_NOEXCEPT)
-# define BOOST_NO_NOEXCEPT
-#endif
-// Use BOOST_NO_CXX11_NULLPTR instead of BOOST_NO_NULLPTR
-#if defined(BOOST_NO_CXX11_NULLPTR) && !defined(BOOST_NO_NULLPTR)
-# define BOOST_NO_NULLPTR
-#endif
-// Use BOOST_NO_CXX11_RAW_LITERALS instead of BOOST_NO_RAW_LITERALS
-#if defined(BOOST_NO_CXX11_RAW_LITERALS) && !defined(BOOST_NO_RAW_LITERALS)
-# define BOOST_NO_RAW_LITERALS
-#endif
-// Use BOOST_NO_CXX11_RVALUE_REFERENCES instead of BOOST_NO_RVALUE_REFERENCES
-#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_NO_RVALUE_REFERENCES)
-# define BOOST_NO_RVALUE_REFERENCES
-#endif
-// Use BOOST_NO_CXX11_SCOPED_ENUMS instead of BOOST_NO_SCOPED_ENUMS
-#if defined(BOOST_NO_CXX11_SCOPED_ENUMS) && !defined(BOOST_NO_SCOPED_ENUMS)
-# define BOOST_NO_SCOPED_ENUMS
-#endif
-// Use BOOST_NO_CXX11_STATIC_ASSERT instead of BOOST_NO_STATIC_ASSERT
-#if defined(BOOST_NO_CXX11_STATIC_ASSERT) && !defined(BOOST_NO_STATIC_ASSERT)
-# define BOOST_NO_STATIC_ASSERT
-#endif
-// Use BOOST_NO_CXX11_STD_UNORDERED instead of BOOST_NO_STD_UNORDERED
-#if defined(BOOST_NO_CXX11_STD_UNORDERED) && !defined(BOOST_NO_STD_UNORDERED)
-# define BOOST_NO_STD_UNORDERED
-#endif
-// Use BOOST_NO_CXX11_UNICODE_LITERALS instead of BOOST_NO_UNICODE_LITERALS
-#if defined(BOOST_NO_CXX11_UNICODE_LITERALS) && !defined(BOOST_NO_UNICODE_LITERALS)
-# define BOOST_NO_UNICODE_LITERALS
-#endif
-// Use BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX instead of BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
-#if defined(BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX) && !defined(BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX)
-# define BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
-#endif
-// Use BOOST_NO_CXX11_VARIADIC_TEMPLATES instead of BOOST_NO_VARIADIC_TEMPLATES
-#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_VARIADIC_TEMPLATES)
-# define BOOST_NO_VARIADIC_TEMPLATES
-#endif
-// Use BOOST_NO_CXX11_VARIADIC_MACROS instead of BOOST_NO_VARIADIC_MACROS
-#if defined(BOOST_NO_CXX11_VARIADIC_MACROS) && !defined(BOOST_NO_VARIADIC_MACROS)
-# define BOOST_NO_VARIADIC_MACROS
-#endif
-// Use BOOST_NO_CXX11_NUMERIC_LIMITS instead of BOOST_NO_NUMERIC_LIMITS_LOWEST
-#if defined(BOOST_NO_CXX11_NUMERIC_LIMITS) && !defined(BOOST_NO_NUMERIC_LIMITS_LOWEST)
-# define BOOST_NO_NUMERIC_LIMITS_LOWEST
-#endif
-// ------------------ End of deprecated macros for 1.51 ---------------------------
-
-
-
-//
-// Helper macros BOOST_NOEXCEPT, BOOST_NOEXCEPT_IF, BOOST_NOEXCEPT_EXPR
-// These aid the transition to C++11 while still supporting C++03 compilers
-//
-#ifdef BOOST_NO_CXX11_NOEXCEPT
-# define BOOST_NOEXCEPT
-# define BOOST_NOEXCEPT_OR_NOTHROW throw()
-# define BOOST_NOEXCEPT_IF(Predicate)
-# define BOOST_NOEXCEPT_EXPR(Expression) false
-#else
-# define BOOST_NOEXCEPT noexcept
-# define BOOST_NOEXCEPT_OR_NOTHROW noexcept
-# define BOOST_NOEXCEPT_IF(Predicate) noexcept((Predicate))
-# define BOOST_NOEXCEPT_EXPR(Expression) noexcept((Expression))
-#endif
-//
-// Helper macro BOOST_FALLTHROUGH
-// Fallback definition of BOOST_FALLTHROUGH macro used to mark intended
-// fall-through between case labels in a switch statement. We use a definition
-// that requires a semicolon after it to avoid at least one type of misuse even
-// on unsupported compilers.
-//
-#ifndef BOOST_FALLTHROUGH
-# define BOOST_FALLTHROUGH ((void)0)
-#endif
-
-//
-// constexpr workarounds
-//
-#if defined(BOOST_NO_CXX11_CONSTEXPR)
-#define BOOST_CONSTEXPR
-#define BOOST_CONSTEXPR_OR_CONST const
-#else
-#define BOOST_CONSTEXPR constexpr
-#define BOOST_CONSTEXPR_OR_CONST constexpr
-#endif
-
-#define BOOST_STATIC_CONSTEXPR static BOOST_CONSTEXPR_OR_CONST
-
-//
-// Set BOOST_HAS_STATIC_ASSERT when BOOST_NO_CXX11_STATIC_ASSERT is not defined
-//
-#if !defined(BOOST_NO_CXX11_STATIC_ASSERT) && !defined(BOOST_HAS_STATIC_ASSERT)
-# define BOOST_HAS_STATIC_ASSERT
-#endif
-
-//
-// Set BOOST_HAS_RVALUE_REFS when BOOST_NO_CXX11_RVALUE_REFERENCES is not defined
-//
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_HAS_RVALUE_REFS)
-#define BOOST_HAS_RVALUE_REFS
-#endif
-
-//
-// Set BOOST_HAS_VARIADIC_TMPL when BOOST_NO_CXX11_VARIADIC_TEMPLATES is not defined
-//
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_HAS_VARIADIC_TMPL)
-#define BOOST_HAS_VARIADIC_TMPL
-#endif
-
-
-#endif
diff --git a/boost/config/user.hpp b/boost/config/user.hpp
deleted file mode 100644
index 5a4a9d4..0000000
--- a/boost/config/user.hpp
+++ /dev/null
@@ -1,124 +0,0 @@
-// boost/config/user.hpp ---------------------------------------------------//
-
-// (C) Copyright John Maddock 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)
-
-// Do not check in modified versions of this file,
-// This file may be customized by the end user, but not by boost.
-
-//
-// Use this file to define a site and compiler specific
-// configuration policy:
-//
-
-// define this to locate a compiler config file:
-// #define BOOST_COMPILER_CONFIG <myheader>
-
-// define this to locate a stdlib config file:
-// #define BOOST_STDLIB_CONFIG <myheader>
-
-// define this to locate a platform config file:
-// #define BOOST_PLATFORM_CONFIG <myheader>
-
-// define this to disable compiler config,
-// use if your compiler config has nothing to set:
-// #define BOOST_NO_COMPILER_CONFIG
-
-// define this to disable stdlib config,
-// use if your stdlib config has nothing to set:
-// #define BOOST_NO_STDLIB_CONFIG
-
-// define this to disable platform config,
-// use if your platform config has nothing to set:
-// #define BOOST_NO_PLATFORM_CONFIG
-
-// define this to disable all config options,
-// excluding the user config. Use if your
-// setup is fully ISO compliant, and has no
-// useful extensions, or for autoconf generated
-// setups:
-// #define BOOST_NO_CONFIG
-
-// define this to make the config "optimistic"
-// about unknown compiler versions. Normally
-// unknown compiler versions are assumed to have
-// all the defects of the last known version, however
-// setting this flag, causes the config to assume
-// that unknown compiler versions are fully conformant
-// with the standard:
-// #define BOOST_STRICT_CONFIG
-
-// define this to cause the config to halt compilation
-// with an #error if it encounters anything unknown --
-// either an unknown compiler version or an unknown
-// compiler/platform/library:
-// #define BOOST_ASSERT_CONFIG
-
-
-// define if you want to disable threading support, even
-// when available:
-// #define BOOST_DISABLE_THREADS
-
-// define when you want to disable Win32 specific features
-// even when available:
-// #define BOOST_DISABLE_WIN32
-
-// BOOST_DISABLE_ABI_HEADERS: Stops boost headers from including any
-// prefix/suffix headers that normally control things like struct
-// packing and alignment.
-// #define BOOST_DISABLE_ABI_HEADERS
-
-// BOOST_ABI_PREFIX: A prefix header to include in place of whatever
-// boost.config would normally select, any replacement should set up
-// struct packing and alignment options as required.
-// #define BOOST_ABI_PREFIX my-header-name
-
-// BOOST_ABI_SUFFIX: A suffix header to include in place of whatever
-// boost.config would normally select, any replacement should undo
-// the effects of the prefix header.
-// #define BOOST_ABI_SUFFIX my-header-name
-
-// BOOST_ALL_DYN_LINK: Forces all libraries that have separate source,
-// to be linked as dll's rather than static libraries on Microsoft Windows
-// (this macro is used to turn on __declspec(dllimport) modifiers, so that
-// the compiler knows which symbols to look for in a dll rather than in a
-// static library). Note that there may be some libraries that can only
-// be statically linked (Boost.Test for example) and others which may only
-// be dynamically linked (Boost.Threads for example), in these cases this
-// macro has no effect.
-// #define BOOST_ALL_DYN_LINK
-
-// BOOST_WHATEVER_DYN_LINK: Forces library "whatever" to be linked as a dll
-// rather than a static library on Microsoft Windows: replace the WHATEVER
-// part of the macro name with the name of the library that you want to
-// dynamically link to, for example use BOOST_DATE_TIME_DYN_LINK or
-// BOOST_REGEX_DYN_LINK etc (this macro is used to turn on __declspec(dllimport)
-// modifiers, so that the compiler knows which symbols to look for in a dll
-// rather than in a static library).
-// Note that there may be some libraries that can only be statically linked
-// (Boost.Test for example) and others which may only be dynamically linked
-// (Boost.Threads for example), in these cases this macro is unsupported.
-// #define BOOST_WHATEVER_DYN_LINK
-
-// BOOST_ALL_NO_LIB: Tells the config system not to automatically select
-// which libraries to link against.
-// Normally if a compiler supports #pragma lib, then the correct library
-// build variant will be automatically selected and linked against,
-// simply by the act of including one of that library's headers.
-// This macro turns that feature off.
-// #define BOOST_ALL_NO_LIB
-
-// BOOST_WHATEVER_NO_LIB: Tells the config system not to automatically
-// select which library to link against for library "whatever",
-// replace WHATEVER in the macro name with the name of the library;
-// for example BOOST_DATE_TIME_NO_LIB or BOOST_REGEX_NO_LIB.
-// Normally if a compiler supports #pragma lib, then the correct library
-// build variant will be automatically selected and linked against, simply
-// by the act of including one of that library's headers. This macro turns
-// that feature off.
-// #define BOOST_WHATEVER_NO_LIB
-
-
-
diff --git a/boost/config/warning_disable.hpp b/boost/config/warning_disable.hpp
deleted file mode 100644
index fea8e82..0000000
--- a/boost/config/warning_disable.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright John Maddock 2008
-// Use, modification, and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// This file exists to turn off some overly-pedantic warning emitted
-// by certain compilers. You should include this header only in:
-//
-// * A test case, before any other headers, or,
-// * A library source file before any other headers.
-//
-// IT SHOULD NOT BE INCLUDED BY ANY BOOST HEADER.
-//
-// YOU SHOULD NOT INCLUDE IT IF YOU CAN REASONABLY FIX THE WARNING.
-//
-// The only warnings disabled here are those that are:
-//
-// * Quite unreasonably pedantic.
-// * Generally only emitted by a single compiler.
-// * Can't easily be fixed: for example if the vendors own std lib
-// code emits these warnings!
-//
-// Note that THIS HEADER MUST NOT INCLUDE ANY OTHER HEADERS:
-// not even std library ones! Doing so may turn the warning
-// off too late to be of any use. For example the VC++ C4996
-// warning can be emitted from <iosfwd> if that header is included
-// before or by this one :-(
-//
-
-#ifndef BOOST_CONFIG_WARNING_DISABLE_HPP
-#define BOOST_CONFIG_WARNING_DISABLE_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1400)
- // Error 'function': was declared deprecated
- // http://msdn2.microsoft.com/en-us/library/ttcz0bys(VS.80).aspx
- // This error is emitted when you use some perfectly conforming
- // std lib functions in a perfectly correct way, and also by
- // some of Microsoft's own std lib code !
-# pragma warning(disable:4996)
-#endif
-#if defined(__INTEL_COMPILER) || defined(__ICL)
- // As above: gives warning when a "deprecated"
- // std library function is encountered.
-# pragma warning(disable:1786)
-#endif
-
-#endif // BOOST_CONFIG_WARNING_DISABLE_HPP
diff --git a/boost/container/container_fwd.hpp b/boost/container/container_fwd.hpp
deleted file mode 100644
index 271cc8b..0000000
--- a/boost/container/container_fwd.hpp
+++ /dev/null
@@ -1,182 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2005-2012. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/container for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_CONTAINER_CONTAINER_FWD_HPP
-#define BOOST_CONTAINER_CONTAINER_FWD_HPP
-
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-//////////////////////////////////////////////////////////////////////////////
-// Standard predeclarations
-//////////////////////////////////////////////////////////////////////////////
-
-/// @cond
-
-namespace boost{
-namespace intrusive{
- //Create namespace to avoid compilation errors
-}}
-
-namespace boost{ namespace container{ namespace container_detail{
-
-namespace bi = boost::intrusive;
-
-}}}
-
-#include <utility>
-#include <memory>
-#include <functional>
-#include <iosfwd>
-#include <string>
-
-/// @endcond
-
-//////////////////////////////////////////////////////////////////////////////
-// Containers
-//////////////////////////////////////////////////////////////////////////////
-
-namespace boost {
-namespace container {
-
-//vector class
-template <class T
- ,class Allocator = std::allocator<T> >
-class vector;
-
-//vector class
-template <class T
- ,class Allocator = std::allocator<T> >
-class stable_vector;
-
-//vector class
-template <class T
- ,class Allocator = std::allocator<T> >
-class deque;
-
-//list class
-template <class T
- ,class Allocator = std::allocator<T> >
-class list;
-
-//slist class
-template <class T
- ,class Allocator = std::allocator<T> >
-class slist;
-
-//set class
-template <class Key
- ,class Compare = std::less<Key>
- ,class Allocator = std::allocator<Key> >
-class set;
-
-//multiset class
-template <class Key
- ,class Compare = std::less<Key>
- ,class Allocator = std::allocator<Key> >
-class multiset;
-
-//map class
-template <class Key
- ,class T
- ,class Compare = std::less<Key>
- ,class Allocator = std::allocator<std::pair<const Key, T> > >
-class map;
-
-//multimap class
-template <class Key
- ,class T
- ,class Compare = std::less<Key>
- ,class Allocator = std::allocator<std::pair<const Key, T> > >
-class multimap;
-
-//flat_set class
-template <class Key
- ,class Compare = std::less<Key>
- ,class Allocator = std::allocator<Key> >
-class flat_set;
-
-//flat_multiset class
-template <class Key
- ,class Compare = std::less<Key>
- ,class Allocator = std::allocator<Key> >
-class flat_multiset;
-
-//flat_map class
-template <class Key
- ,class T
- ,class Compare = std::less<Key>
- ,class Allocator = std::allocator<std::pair<Key, T> > >
-class flat_map;
-
-//flat_multimap class
-template <class Key
- ,class T
- ,class Compare = std::less<Key>
- ,class Allocator = std::allocator<std::pair<Key, T> > >
-class flat_multimap;
-
-//basic_string class
-template <class CharT
- ,class Traits = std::char_traits<CharT>
- ,class Allocator = std::allocator<CharT> >
-class basic_string;
-
-//! 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 input range is
-//! guaranteed to be ordered and unique
-struct default_init_t
-{};
-
-//! Value used to tag that the input range is
-//! guaranteed to be ordered and unique
-static const default_init_t default_init = default_init_t();
-/// @cond
-
-namespace 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 {
-
-/// @endcond
-
-}} //namespace boost { namespace container {
-
-#endif //#ifndef BOOST_CONTAINER_CONTAINER_FWD_HPP
diff --git a/boost/cstdint.hpp b/boost/cstdint.hpp
deleted file mode 100644
index 98faeae..0000000
--- a/boost/cstdint.hpp
+++ /dev/null
@@ -1,545 +0,0 @@
-// boost cstdint.hpp header file ------------------------------------------//
-
-// (C) Copyright Beman Dawes 1999.
-// (C) Copyright Jens Mauer 2001
-// (C) Copyright John Maddock 2001
-// Distributed under the Boost
-// Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-// See http://www.boost.org/libs/integer for documentation.
-
-// Revision History
-// 31 Oct 01 use BOOST_HAS_LONG_LONG to check for "long long" (Jens M.)
-// 16 Apr 01 check LONGLONG_MAX when looking for "long long" (Jens Maurer)
-// 23 Jan 01 prefer "long" over "int" for int32_t and intmax_t (Jens Maurer)
-// 12 Nov 00 Merged <boost/stdint.h> (Jens Maurer)
-// 23 Sep 00 Added INTXX_C macro support (John Maddock).
-// 22 Sep 00 Better 64-bit support (John Maddock)
-// 29 Jun 00 Reimplement to avoid including stdint.h within namespace boost
-// 8 Aug 99 Initial version (Beman Dawes)
-
-
-#ifndef BOOST_CSTDINT_HPP
-#define BOOST_CSTDINT_HPP
-
-//
-// Since we always define the INT#_C macros as per C++0x,
-// define __STDC_CONSTANT_MACROS so that <stdint.h> does the right
-// thing if possible, and so that the user knows that the macros
-// are actually defined as per C99.
-//
-#ifndef __STDC_CONSTANT_MACROS
-# define __STDC_CONSTANT_MACROS
-#endif
-
-#include <boost/config.hpp>
-
-//
-// Note that GLIBC is a bit inconsistent about whether int64_t is defined or not
-// depending upon what headers happen to have been included first...
-// so we disable use of stdint.h when GLIBC does not define __GLIBC_HAVE_LONG_LONG.
-// See https://svn.boost.org/trac/boost/ticket/3548 and http://sources.redhat.com/bugzilla/show_bug.cgi?id=10990
-//
-#if defined(BOOST_HAS_STDINT_H) \
- && (!defined(__GLIBC__) \
- || defined(__GLIBC_HAVE_LONG_LONG) \
- || (defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 17)))))
-
-// The following #include is an implementation artifact; not part of interface.
-# ifdef __hpux
-// HP-UX has a vaguely nice <stdint.h> in a non-standard location
-# include <inttypes.h>
-# ifdef __STDC_32_MODE__
- // this is triggered with GCC, because it defines __cplusplus < 199707L
-# define BOOST_NO_INT64_T
-# endif
-# elif defined(__FreeBSD__) || defined(__IBMCPP__) || defined(_AIX)
-# include <inttypes.h>
-# else
-# include <stdint.h>
-
-// There is a bug in Cygwin two _C macros
-# if defined(__STDC_CONSTANT_MACROS) && defined(__CYGWIN__)
-# undef INTMAX_C
-# undef UINTMAX_C
-# define INTMAX_C(c) c##LL
-# define UINTMAX_C(c) c##ULL
-# endif
-
-# endif
-
-#ifdef __QNX__
-
-// QNX (Dinkumware stdlib) defines these as non-standard names.
-// Reflect to the standard names.
-
-typedef ::intleast8_t int_least8_t;
-typedef ::intfast8_t int_fast8_t;
-typedef ::uintleast8_t uint_least8_t;
-typedef ::uintfast8_t uint_fast8_t;
-
-typedef ::intleast16_t int_least16_t;
-typedef ::intfast16_t int_fast16_t;
-typedef ::uintleast16_t uint_least16_t;
-typedef ::uintfast16_t uint_fast16_t;
-
-typedef ::intleast32_t int_least32_t;
-typedef ::intfast32_t int_fast32_t;
-typedef ::uintleast32_t uint_least32_t;
-typedef ::uintfast32_t uint_fast32_t;
-
-# ifndef BOOST_NO_INT64_T
-
-typedef ::intleast64_t int_least64_t;
-typedef ::intfast64_t int_fast64_t;
-typedef ::uintleast64_t uint_least64_t;
-typedef ::uintfast64_t uint_fast64_t;
-
-# endif
-
-#endif
-
-namespace boost
-{
-
- using ::int8_t;
- using ::int_least8_t;
- using ::int_fast8_t;
- using ::uint8_t;
- using ::uint_least8_t;
- using ::uint_fast8_t;
-
- using ::int16_t;
- using ::int_least16_t;
- using ::int_fast16_t;
- using ::uint16_t;
- using ::uint_least16_t;
- using ::uint_fast16_t;
-
- using ::int32_t;
- using ::int_least32_t;
- using ::int_fast32_t;
- using ::uint32_t;
- using ::uint_least32_t;
- using ::uint_fast32_t;
-
-# ifndef BOOST_NO_INT64_T
-
- using ::int64_t;
- using ::int_least64_t;
- using ::int_fast64_t;
- using ::uint64_t;
- using ::uint_least64_t;
- using ::uint_fast64_t;
-
-# endif
-
- using ::intmax_t;
- using ::uintmax_t;
-
-} // namespace boost
-
-#elif defined(__FreeBSD__) && (__FreeBSD__ <= 4) || defined(__osf__) || defined(__VMS)
-// FreeBSD and Tru64 have an <inttypes.h> that contains much of what we need.
-# include <inttypes.h>
-
-namespace boost {
-
- using ::int8_t;
- typedef int8_t int_least8_t;
- typedef int8_t int_fast8_t;
- using ::uint8_t;
- typedef uint8_t uint_least8_t;
- typedef uint8_t uint_fast8_t;
-
- using ::int16_t;
- typedef int16_t int_least16_t;
- typedef int16_t int_fast16_t;
- using ::uint16_t;
- typedef uint16_t uint_least16_t;
- typedef uint16_t uint_fast16_t;
-
- using ::int32_t;
- typedef int32_t int_least32_t;
- typedef int32_t int_fast32_t;
- using ::uint32_t;
- typedef uint32_t uint_least32_t;
- typedef uint32_t uint_fast32_t;
-
-# ifndef BOOST_NO_INT64_T
-
- using ::int64_t;
- typedef int64_t int_least64_t;
- typedef int64_t int_fast64_t;
- using ::uint64_t;
- typedef uint64_t uint_least64_t;
- typedef uint64_t uint_fast64_t;
-
- typedef int64_t intmax_t;
- typedef uint64_t uintmax_t;
-
-# else
-
- typedef int32_t intmax_t;
- typedef uint32_t uintmax_t;
-
-# endif
-
-} // namespace boost
-
-#else // BOOST_HAS_STDINT_H
-
-# include <boost/limits.hpp> // implementation artifact; not part of interface
-# include <limits.h> // needed for limits macros
-
-
-namespace boost
-{
-
-// These are fairly safe guesses for some 16-bit, and most 32-bit and 64-bit
-// platforms. For other systems, they will have to be hand tailored.
-//
-// Because the fast types are assumed to be the same as the undecorated types,
-// it may be possible to hand tailor a more efficient implementation. Such
-// an optimization may be illusionary; on the Intel x86-family 386 on, for
-// example, byte arithmetic and load/stores are as fast as "int" sized ones.
-
-// 8-bit types ------------------------------------------------------------//
-
-# if UCHAR_MAX == 0xff
- typedef signed char int8_t;
- typedef signed char int_least8_t;
- typedef signed char int_fast8_t;
- typedef unsigned char uint8_t;
- typedef unsigned char uint_least8_t;
- typedef unsigned char uint_fast8_t;
-# else
-# error defaults not correct; you must hand modify boost/cstdint.hpp
-# endif
-
-// 16-bit types -----------------------------------------------------------//
-
-# if USHRT_MAX == 0xffff
-# if defined(__crayx1)
- // The Cray X1 has a 16-bit short, however it is not recommend
- // for use in performance critical code.
- typedef short int16_t;
- typedef short int_least16_t;
- typedef int int_fast16_t;
- typedef unsigned short uint16_t;
- typedef unsigned short uint_least16_t;
- typedef unsigned int uint_fast16_t;
-# else
- typedef short int16_t;
- typedef short int_least16_t;
- typedef short int_fast16_t;
- typedef unsigned short uint16_t;
- typedef unsigned short uint_least16_t;
- typedef unsigned short uint_fast16_t;
-# endif
-# elif (USHRT_MAX == 0xffffffff) && defined(__MTA__)
- // On MTA / XMT short is 32 bits unless the -short16 compiler flag is specified
- // MTA / XMT does support the following non-standard integer types
- typedef __short16 int16_t;
- typedef __short16 int_least16_t;
- typedef __short16 int_fast16_t;
- typedef unsigned __short16 uint16_t;
- typedef unsigned __short16 uint_least16_t;
- typedef unsigned __short16 uint_fast16_t;
-# elif (USHRT_MAX == 0xffffffff) && defined(CRAY)
- // no 16-bit types on Cray:
- typedef short int_least16_t;
- typedef short int_fast16_t;
- typedef unsigned short uint_least16_t;
- typedef unsigned short uint_fast16_t;
-# else
-# error defaults not correct; you must hand modify boost/cstdint.hpp
-# endif
-
-// 32-bit types -----------------------------------------------------------//
-
-# if UINT_MAX == 0xffffffff
- typedef int int32_t;
- typedef int int_least32_t;
- typedef int int_fast32_t;
- typedef unsigned int uint32_t;
- typedef unsigned int uint_least32_t;
- typedef unsigned int uint_fast32_t;
-# elif (USHRT_MAX == 0xffffffff)
- typedef short int32_t;
- typedef short int_least32_t;
- typedef short int_fast32_t;
- typedef unsigned short uint32_t;
- typedef unsigned short uint_least32_t;
- typedef unsigned short uint_fast32_t;
-# elif ULONG_MAX == 0xffffffff
- typedef long int32_t;
- typedef long int_least32_t;
- typedef long int_fast32_t;
- typedef unsigned long uint32_t;
- typedef unsigned long uint_least32_t;
- typedef unsigned long uint_fast32_t;
-# elif (UINT_MAX == 0xffffffffffffffff) && defined(__MTA__)
- // Integers are 64 bits on the MTA / XMT
- typedef __int32 int32_t;
- typedef __int32 int_least32_t;
- typedef __int32 int_fast32_t;
- typedef unsigned __int32 uint32_t;
- typedef unsigned __int32 uint_least32_t;
- typedef unsigned __int32 uint_fast32_t;
-# else
-# error defaults not correct; you must hand modify boost/cstdint.hpp
-# endif
-
-// 64-bit types + intmax_t and uintmax_t ----------------------------------//
-
-# if defined(BOOST_HAS_LONG_LONG) && \
- !defined(BOOST_MSVC) && !defined(__BORLANDC__) && \
- (!defined(__GLIBCPP__) || defined(_GLIBCPP_USE_LONG_LONG)) && \
- (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX))
-# if defined(__hpux)
- // HP-UX's value of ULONG_LONG_MAX is unusable in preprocessor expressions
-# elif (defined(ULLONG_MAX) && ULLONG_MAX == 18446744073709551615ULL) || (defined(ULONG_LONG_MAX) && ULONG_LONG_MAX == 18446744073709551615ULL) || (defined(ULONGLONG_MAX) && ULONGLONG_MAX == 18446744073709551615ULL)
- // 2**64 - 1
-# else
-# error defaults not correct; you must hand modify boost/cstdint.hpp
-# endif
-
- typedef ::boost::long_long_type intmax_t;
- typedef ::boost::ulong_long_type uintmax_t;
- typedef ::boost::long_long_type int64_t;
- typedef ::boost::long_long_type int_least64_t;
- typedef ::boost::long_long_type int_fast64_t;
- typedef ::boost::ulong_long_type uint64_t;
- typedef ::boost::ulong_long_type uint_least64_t;
- typedef ::boost::ulong_long_type uint_fast64_t;
-
-# elif ULONG_MAX != 0xffffffff
-
-# if ULONG_MAX == 18446744073709551615 // 2**64 - 1
- typedef long intmax_t;
- typedef unsigned long uintmax_t;
- typedef long int64_t;
- typedef long int_least64_t;
- typedef long int_fast64_t;
- typedef unsigned long uint64_t;
- typedef unsigned long uint_least64_t;
- typedef unsigned long uint_fast64_t;
-# else
-# error defaults not correct; you must hand modify boost/cstdint.hpp
-# endif
-# elif defined(__GNUC__) && defined(BOOST_HAS_LONG_LONG)
- __extension__ typedef long long intmax_t;
- __extension__ typedef unsigned long long uintmax_t;
- __extension__ typedef long long int64_t;
- __extension__ typedef long long int_least64_t;
- __extension__ typedef long long int_fast64_t;
- __extension__ typedef unsigned long long uint64_t;
- __extension__ typedef unsigned long long uint_least64_t;
- __extension__ typedef unsigned long long uint_fast64_t;
-# elif defined(BOOST_HAS_MS_INT64)
- //
- // we have Borland/Intel/Microsoft __int64:
- //
- typedef __int64 intmax_t;
- typedef unsigned __int64 uintmax_t;
- typedef __int64 int64_t;
- typedef __int64 int_least64_t;
- typedef __int64 int_fast64_t;
- typedef unsigned __int64 uint64_t;
- typedef unsigned __int64 uint_least64_t;
- typedef unsigned __int64 uint_fast64_t;
-# else // assume no 64-bit integers
-# define BOOST_NO_INT64_T
- typedef int32_t intmax_t;
- typedef uint32_t uintmax_t;
-# endif
-
-} // namespace boost
-
-
-#endif // BOOST_HAS_STDINT_H
-
-// intptr_t/uintptr_t are defined separately because they are optional and not universally available
-#if defined(BOOST_WINDOWS) && !defined(_WIN32_WCE) && !defined(BOOST_HAS_STDINT_H)
-// Older MSVC don't have stdint.h and have intptr_t/uintptr_t defined in stddef.h
-#include <stddef.h>
-#endif
-
-// PGI seems to not support intptr_t/uintptr_t properly. BOOST_HAS_STDINT_H is not defined for this compiler by Boost.Config.
-#if !defined(__PGIC__)
-
-#if (defined(BOOST_WINDOWS) && !defined(_WIN32_WCE)) \
- || (defined(_XOPEN_UNIX) && (_XOPEN_UNIX+0 > 0) && !defined(__UCLIBC__)) \
- || defined(__CYGWIN__) \
- || defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) \
- || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)
-
-namespace boost {
- using ::intptr_t;
- using ::uintptr_t;
-}
-#define BOOST_HAS_INTPTR_T
-
-// Clang pretends to be GCC, so it'll match this condition
-#elif defined(__GNUC__) && defined(__INTPTR_TYPE__) && defined(__UINTPTR_TYPE__)
-
-namespace boost {
- typedef __INTPTR_TYPE__ intptr_t;
- typedef __UINTPTR_TYPE__ uintptr_t;
-}
-#define BOOST_HAS_INTPTR_T
-
-#endif
-
-#endif // !defined(__PGIC__)
-
-#endif // BOOST_CSTDINT_HPP
-
-
-/****************************************************
-
-Macro definition section:
-
-Added 23rd September 2000 (John Maddock).
-Modified 11th September 2001 to be excluded when
-BOOST_HAS_STDINT_H is defined (John Maddock).
-Modified 11th Dec 2009 to always define the
-INT#_C macros if they're not already defined (John Maddock).
-
-******************************************************/
-
-#if !defined(BOOST__STDC_CONSTANT_MACROS_DEFINED) && \
- (!defined(INT8_C) || !defined(INT16_C) || !defined(INT32_C) || !defined(INT64_C))
-//
-// For the following code we get several warnings along the lines of:
-//
-// boost/cstdint.hpp:428:35: error: use of C99 long long integer constant
-//
-// So we declare this a system header to suppress these warnings.
-//
-#if defined(__GNUC__) && (__GNUC__ >= 4)
-#pragma GCC system_header
-#endif
-
-#include <limits.h>
-# define BOOST__STDC_CONSTANT_MACROS_DEFINED
-# if defined(BOOST_HAS_MS_INT64)
-//
-// Borland/Intel/Microsoft compilers have width specific suffixes:
-//
-#ifndef INT8_C
-# define INT8_C(value) value##i8
-#endif
-#ifndef INT16_C
-# define INT16_C(value) value##i16
-#endif
-#ifndef INT32_C
-# define INT32_C(value) value##i32
-#endif
-#ifndef INT64_C
-# define INT64_C(value) value##i64
-#endif
-# ifdef __BORLANDC__
- // Borland bug: appending ui8 makes the type a signed char
-# define UINT8_C(value) static_cast<unsigned char>(value##u)
-# else
-# define UINT8_C(value) value##ui8
-# endif
-#ifndef UINT16_C
-# define UINT16_C(value) value##ui16
-#endif
-#ifndef UINT32_C
-# define UINT32_C(value) value##ui32
-#endif
-#ifndef UINT64_C
-# define UINT64_C(value) value##ui64
-#endif
-#ifndef INTMAX_C
-# define INTMAX_C(value) value##i64
-# define UINTMAX_C(value) value##ui64
-#endif
-
-# else
-// do it the old fashioned way:
-
-// 8-bit types ------------------------------------------------------------//
-
-# if (UCHAR_MAX == 0xff) && !defined(INT8_C)
-# define INT8_C(value) static_cast<boost::int8_t>(value)
-# define UINT8_C(value) static_cast<boost::uint8_t>(value##u)
-# endif
-
-// 16-bit types -----------------------------------------------------------//
-
-# if (USHRT_MAX == 0xffff) && !defined(INT16_C)
-# define INT16_C(value) static_cast<boost::int16_t>(value)
-# define UINT16_C(value) static_cast<boost::uint16_t>(value##u)
-# endif
-
-// 32-bit types -----------------------------------------------------------//
-#ifndef INT32_C
-# if (UINT_MAX == 0xffffffff)
-# define INT32_C(value) value
-# define UINT32_C(value) value##u
-# elif ULONG_MAX == 0xffffffff
-# define INT32_C(value) value##L
-# define UINT32_C(value) value##uL
-# endif
-#endif
-
-// 64-bit types + intmax_t and uintmax_t ----------------------------------//
-#ifndef INT64_C
-# if defined(BOOST_HAS_LONG_LONG) && \
- (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX) || defined(_LLONG_MAX))
-
-# if defined(__hpux)
- // HP-UX's value of ULONG_LONG_MAX is unusable in preprocessor expressions
-# define INT64_C(value) value##LL
-# define UINT64_C(value) value##uLL
-# elif (defined(ULLONG_MAX) && ULLONG_MAX == 18446744073709551615ULL) || \
- (defined(ULONG_LONG_MAX) && ULONG_LONG_MAX == 18446744073709551615ULL) || \
- (defined(ULONGLONG_MAX) && ULONGLONG_MAX == 18446744073709551615ULL) || \
- (defined(_LLONG_MAX) && _LLONG_MAX == 18446744073709551615ULL)
-
-# define INT64_C(value) value##LL
-# define UINT64_C(value) value##uLL
-# else
-# error defaults not correct; you must hand modify boost/cstdint.hpp
-# endif
-# elif ULONG_MAX != 0xffffffff
-
-# if ULONG_MAX == 18446744073709551615U // 2**64 - 1
-# define INT64_C(value) value##L
-# define UINT64_C(value) value##uL
-# else
-# error defaults not correct; you must hand modify boost/cstdint.hpp
-# endif
-# elif defined(BOOST_HAS_LONG_LONG)
- // Usual macros not defined, work things out for ourselves:
-# if(~0uLL == 18446744073709551615ULL)
-# define INT64_C(value) value##LL
-# define UINT64_C(value) value##uLL
-# else
-# error defaults not correct; you must hand modify boost/cstdint.hpp
-# endif
-# else
-# error defaults not correct; you must hand modify boost/cstdint.hpp
-# endif
-
-# ifdef BOOST_NO_INT64_T
-# define INTMAX_C(value) INT32_C(value)
-# define UINTMAX_C(value) UINT32_C(value)
-# else
-# define INTMAX_C(value) INT64_C(value)
-# define UINTMAX_C(value) UINT64_C(value)
-# endif
-#endif
-# endif // Borland/Microsoft specific width suffixes
-
-#endif // INT#_C macros.
-
-
-
-
diff --git a/boost/current_function.hpp b/boost/current_function.hpp
deleted file mode 100644
index cb36e35..0000000
--- a/boost/current_function.hpp
+++ /dev/null
@@ -1,68 +0,0 @@
-#ifndef BOOST_CURRENT_FUNCTION_HPP_INCLUDED
-#define BOOST_CURRENT_FUNCTION_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// boost/current_function.hpp - BOOST_CURRENT_FUNCTION
-//
-// 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)
-//
-// http://www.boost.org/libs/utility/current_function.html
-//
-
-namespace boost
-{
-
-namespace detail
-{
-
-inline void current_function_helper()
-{
-
-#if defined(__GNUC__) || (defined(__MWERKS__) && (__MWERKS__ >= 0x3000)) || (defined(__ICC) && (__ICC >= 600)) || defined(__ghs__)
-
-# define BOOST_CURRENT_FUNCTION __PRETTY_FUNCTION__
-
-#elif defined(__DMC__) && (__DMC__ >= 0x810)
-
-# define BOOST_CURRENT_FUNCTION __PRETTY_FUNCTION__
-
-#elif defined(__FUNCSIG__)
-
-# define BOOST_CURRENT_FUNCTION __FUNCSIG__
-
-#elif (defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 600)) || (defined(__IBMCPP__) && (__IBMCPP__ >= 500))
-
-# define BOOST_CURRENT_FUNCTION __FUNCTION__
-
-#elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x550)
-
-# define BOOST_CURRENT_FUNCTION __FUNC__
-
-#elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901)
-
-# define BOOST_CURRENT_FUNCTION __func__
-
-#else
-
-# define BOOST_CURRENT_FUNCTION "(unknown)"
-
-#endif
-
-}
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_CURRENT_FUNCTION_HPP_INCLUDED
-
diff --git a/boost/detail/endian.hpp b/boost/detail/endian.hpp
deleted file mode 100644
index 3e37db9..0000000
--- a/boost/detail/endian.hpp
+++ /dev/null
@@ -1,11 +0,0 @@
-// Copyright 2013 Redshift Software Inc
-// 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_DETAIL_ENDIAN_HPP
-#define BOOST_DETAIL_ENDIAN_HPP
-
-// Use the Predef library for the detection of endianess.
-#include <boost/predef/detail/endian_compat.h>
-
-#endif
diff --git a/boost/detail/fenv.hpp b/boost/detail/fenv.hpp
deleted file mode 100644
index f048706..0000000
--- a/boost/detail/fenv.hpp
+++ /dev/null
@@ -1,74 +0,0 @@
-/*=============================================================================
- Copyright (c) 2010 Bryce Lelbach
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-
-#include <boost/config.hpp>
-
-#if defined(BOOST_NO_FENV_H)
- #error This platform does not have a floating point environment
-#endif
-
-#if !defined(BOOST_DETAIL_FENV_HPP)
-#define BOOST_DETAIL_FENV_HPP
-
-/* If we're using clang + glibc, we have to get hacky.
- * See http://llvm.org/bugs/show_bug.cgi?id=6907 */
-#if defined(__clang__) && (__clang_major__ < 3) && \
- defined(__GNU_LIBRARY__) && /* up to version 5 */ \
- defined(__GLIBC__) && /* version 6 + */ \
- !defined(_FENV_H)
- #define _FENV_H
-
- #include <features.h>
- #include <bits/fenv.h>
-
- extern "C" {
- extern int fegetexceptflag (fexcept_t*, int) __THROW;
- extern int fesetexceptflag (__const fexcept_t*, int) __THROW;
- extern int feclearexcept (int) __THROW;
- extern int feraiseexcept (int) __THROW;
- extern int fetestexcept (int) __THROW;
- extern int fegetround (void) __THROW;
- extern int fesetround (int) __THROW;
- extern int fegetenv (fenv_t*) __THROW;
- extern int fesetenv (__const fenv_t*) __THROW;
- extern int feupdateenv (__const fenv_t*) __THROW;
- extern int feholdexcept (fenv_t*) __THROW;
-
- #ifdef __USE_GNU
- extern int feenableexcept (int) __THROW;
- extern int fedisableexcept (int) __THROW;
- extern int fegetexcept (void) __THROW;
- #endif
- }
-
- namespace std { namespace tr1 {
- using ::fenv_t;
- using ::fexcept_t;
- using ::fegetexceptflag;
- using ::fesetexceptflag;
- using ::feclearexcept;
- using ::feraiseexcept;
- using ::fetestexcept;
- using ::fegetround;
- using ::fesetround;
- using ::fegetenv;
- using ::fesetenv;
- using ::feupdateenv;
- using ::feholdexcept;
- } }
-
-#else /* if we're not using GNU's C stdlib, fenv.h should work with clang */
- #if defined(__SUNPRO_CC) /* lol suncc */
- #include <stdio.h>
- #endif
-
- #include <fenv.h>
-
-#endif
-
-#endif /* BOOST_DETAIL_FENV_HPP */
-
diff --git a/boost/detail/indirect_traits.hpp b/boost/detail/indirect_traits.hpp
deleted file mode 100644
index f9c0cd6..0000000
--- a/boost/detail/indirect_traits.hpp
+++ /dev/null
@@ -1,487 +0,0 @@
-// 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 INDIRECT_TRAITS_DWA2002131_HPP
-# define INDIRECT_TRAITS_DWA2002131_HPP
-# include <boost/type_traits/is_function.hpp>
-# include <boost/type_traits/is_reference.hpp>
-# include <boost/type_traits/is_pointer.hpp>
-# include <boost/type_traits/is_class.hpp>
-# include <boost/type_traits/is_const.hpp>
-# include <boost/type_traits/is_volatile.hpp>
-# include <boost/type_traits/is_member_function_pointer.hpp>
-# include <boost/type_traits/is_member_pointer.hpp>
-# include <boost/type_traits/remove_cv.hpp>
-# include <boost/type_traits/remove_reference.hpp>
-# include <boost/type_traits/remove_pointer.hpp>
-
-# include <boost/type_traits/detail/ice_and.hpp>
-# include <boost/detail/workaround.hpp>
-
-# include <boost/mpl/eval_if.hpp>
-# include <boost/mpl/if.hpp>
-# include <boost/mpl/bool.hpp>
-# include <boost/mpl/and.hpp>
-# include <boost/mpl/not.hpp>
-# include <boost/mpl/aux_/lambda_support.hpp>
-
-# ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-# include <boost/detail/is_function_ref_tester.hpp>
-# endif
-
-namespace boost { namespace detail {
-
-namespace indirect_traits {
-
-# ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-template <class T>
-struct is_reference_to_const : mpl::false_
-{
-};
-
-template <class T>
-struct is_reference_to_const<T const&> : mpl::true_
-{
-};
-
-# if defined(BOOST_MSVC) && _MSC_FULL_VER <= 13102140 // vc7.01 alpha workaround
-template<class T>
-struct is_reference_to_const<T const volatile&> : mpl::true_
-{
-};
-# endif
-
-template <class T>
-struct is_reference_to_function : mpl::false_
-{
-};
-
-template <class T>
-struct is_reference_to_function<T&> : is_function<T>
-{
-};
-
-template <class T>
-struct is_pointer_to_function : mpl::false_
-{
-};
-
-// There's no such thing as a pointer-to-cv-function, so we don't need
-// specializations for those
-template <class T>
-struct is_pointer_to_function<T*> : is_function<T>
-{
-};
-
-template <class T>
-struct is_reference_to_member_function_pointer_impl : mpl::false_
-{
-};
-
-template <class T>
-struct is_reference_to_member_function_pointer_impl<T&>
- : is_member_function_pointer<typename remove_cv<T>::type>
-{
-};
-
-
-template <class T>
-struct is_reference_to_member_function_pointer
- : is_reference_to_member_function_pointer_impl<T>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_member_function_pointer,(T))
-};
-
-template <class T>
-struct is_reference_to_function_pointer_aux
- : mpl::and_<
- is_reference<T>
- , is_pointer_to_function<
- typename remove_cv<
- typename remove_reference<T>::type
- >::type
- >
- >
-{
- // There's no such thing as a pointer-to-cv-function, so we don't need specializations for those
-};
-
-template <class T>
-struct is_reference_to_function_pointer
- : mpl::if_<
- is_reference_to_function<T>
- , mpl::false_
- , is_reference_to_function_pointer_aux<T>
- >::type
-{
-};
-
-template <class T>
-struct is_reference_to_non_const
- : mpl::and_<
- is_reference<T>
- , mpl::not_<
- is_reference_to_const<T>
- >
- >
-{
-};
-
-template <class T>
-struct is_reference_to_volatile : mpl::false_
-{
-};
-
-template <class T>
-struct is_reference_to_volatile<T volatile&> : mpl::true_
-{
-};
-
-# if defined(BOOST_MSVC) && _MSC_FULL_VER <= 13102140 // vc7.01 alpha workaround
-template <class T>
-struct is_reference_to_volatile<T const volatile&> : mpl::true_
-{
-};
-# endif
-
-
-template <class T>
-struct is_reference_to_pointer : mpl::false_
-{
-};
-
-template <class T>
-struct is_reference_to_pointer<T*&> : mpl::true_
-{
-};
-
-template <class T>
-struct is_reference_to_pointer<T* const&> : mpl::true_
-{
-};
-
-template <class T>
-struct is_reference_to_pointer<T* volatile&> : mpl::true_
-{
-};
-
-template <class T>
-struct is_reference_to_pointer<T* const volatile&> : mpl::true_
-{
-};
-
-template <class T>
-struct is_reference_to_class
- : mpl::and_<
- is_reference<T>
- , is_class<
- typename remove_cv<
- typename remove_reference<T>::type
- >::type
- >
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_class,(T))
-};
-
-template <class T>
-struct is_pointer_to_class
- : mpl::and_<
- is_pointer<T>
- , is_class<
- typename remove_cv<
- typename remove_pointer<T>::type
- >::type
- >
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_pointer_to_class,(T))
-};
-
-# else
-
-using namespace boost::detail::is_function_ref_tester_;
-
-typedef char (&inner_yes_type)[3];
-typedef char (&inner_no_type)[2];
-typedef char (&outer_no_type)[1];
-
-template <typename V>
-struct is_const_help
-{
- typedef typename mpl::if_<
- is_const<V>
- , inner_yes_type
- , inner_no_type
- >::type type;
-};
-
-template <typename V>
-struct is_volatile_help
-{
- typedef typename mpl::if_<
- is_volatile<V>
- , inner_yes_type
- , inner_no_type
- >::type type;
-};
-
-template <typename V>
-struct is_pointer_help
-{
- typedef typename mpl::if_<
- is_pointer<V>
- , inner_yes_type
- , inner_no_type
- >::type type;
-};
-
-template <typename V>
-struct is_class_help
-{
- typedef typename mpl::if_<
- is_class<V>
- , inner_yes_type
- , inner_no_type
- >::type type;
-};
-
-template <class T>
-struct is_reference_to_function_aux
-{
- static T t;
- BOOST_STATIC_CONSTANT(
- bool, value = sizeof(detail::is_function_ref_tester(t,0)) == sizeof(::boost::type_traits::yes_type));
- typedef mpl::bool_<value> type;
- };
-
-template <class T>
-struct is_reference_to_function
- : mpl::if_<is_reference<T>, is_reference_to_function_aux<T>, mpl::bool_<false> >::type
-{
-};
-
-template <class T>
-struct is_pointer_to_function_aux
-{
- static T t;
- BOOST_STATIC_CONSTANT(
- bool, value
- = sizeof(::boost::type_traits::is_function_ptr_tester(t)) == sizeof(::boost::type_traits::yes_type));
- typedef mpl::bool_<value> type;
-};
-
-template <class T>
-struct is_pointer_to_function
- : mpl::if_<is_pointer<T>, is_pointer_to_function_aux<T>, mpl::bool_<false> >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_pointer_to_function,(T))
-};
-
-struct false_helper1
-{
- template <class T>
- struct apply : mpl::false_
- {
- };
-};
-
-template <typename V>
-typename is_const_help<V>::type reference_to_const_helper(V&);
-outer_no_type
-reference_to_const_helper(...);
-
-struct true_helper1
-{
- template <class T>
- struct apply
- {
- static T t;
- BOOST_STATIC_CONSTANT(
- bool, value
- = sizeof(reference_to_const_helper(t)) == sizeof(inner_yes_type));
- typedef mpl::bool_<value> type;
- };
-};
-
-template <bool ref = true>
-struct is_reference_to_const_helper1 : true_helper1
-{
-};
-
-template <>
-struct is_reference_to_const_helper1<false> : false_helper1
-{
-};
-
-
-template <class T>
-struct is_reference_to_const
- : is_reference_to_const_helper1<is_reference<T>::value>::template apply<T>
-{
-};
-
-
-template <bool ref = true>
-struct is_reference_to_non_const_helper1
-{
- template <class T>
- struct apply
- {
- static T t;
- BOOST_STATIC_CONSTANT(
- bool, value
- = sizeof(reference_to_const_helper(t)) == sizeof(inner_no_type));
-
- typedef mpl::bool_<value> type;
- };
-};
-
-template <>
-struct is_reference_to_non_const_helper1<false> : false_helper1
-{
-};
-
-
-template <class T>
-struct is_reference_to_non_const
- : is_reference_to_non_const_helper1<is_reference<T>::value>::template apply<T>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_non_const,(T))
-};
-
-
-template <typename V>
-typename is_volatile_help<V>::type reference_to_volatile_helper(V&);
-outer_no_type
-reference_to_volatile_helper(...);
-
-template <bool ref = true>
-struct is_reference_to_volatile_helper1
-{
- template <class T>
- struct apply
- {
- static T t;
- BOOST_STATIC_CONSTANT(
- bool, value
- = sizeof(reference_to_volatile_helper(t)) == sizeof(inner_yes_type));
- typedef mpl::bool_<value> type;
- };
-};
-
-template <>
-struct is_reference_to_volatile_helper1<false> : false_helper1
-{
-};
-
-
-template <class T>
-struct is_reference_to_volatile
- : is_reference_to_volatile_helper1<is_reference<T>::value>::template apply<T>
-{
-};
-
-template <typename V>
-typename is_pointer_help<V>::type reference_to_pointer_helper(V&);
-outer_no_type reference_to_pointer_helper(...);
-
-template <class T>
-struct reference_to_pointer_impl
-{
- static T t;
- BOOST_STATIC_CONSTANT(
- bool, value
- = (sizeof((reference_to_pointer_helper)(t)) == sizeof(inner_yes_type))
- );
-
- typedef mpl::bool_<value> type;
-};
-
-template <class T>
-struct is_reference_to_pointer
- : mpl::eval_if<is_reference<T>, reference_to_pointer_impl<T>, mpl::false_>::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_pointer,(T))
-};
-
-template <class T>
-struct is_reference_to_function_pointer
- : mpl::eval_if<is_reference<T>, is_pointer_to_function_aux<T>, mpl::false_>::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_function_pointer,(T))
-};
-
-
-template <class T>
-struct is_member_function_pointer_help
- : mpl::if_<is_member_function_pointer<T>, inner_yes_type, inner_no_type>
-{};
-
-template <typename V>
-typename is_member_function_pointer_help<V>::type member_function_pointer_helper(V&);
-outer_no_type member_function_pointer_helper(...);
-
-template <class T>
-struct is_pointer_to_member_function_aux
-{
- static T t;
- BOOST_STATIC_CONSTANT(
- bool, value
- = sizeof((member_function_pointer_helper)(t)) == sizeof(inner_yes_type));
- typedef mpl::bool_<value> type;
-};
-
-template <class T>
-struct is_reference_to_member_function_pointer
- : mpl::if_<
- is_reference<T>
- , is_pointer_to_member_function_aux<T>
- , mpl::bool_<false>
- >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_member_function_pointer,(T))
-};
-
-template <typename V>
-typename is_class_help<V>::type reference_to_class_helper(V const volatile&);
-outer_no_type reference_to_class_helper(...);
-
-template <class T>
-struct is_reference_to_class
-{
- static T t;
- BOOST_STATIC_CONSTANT(
- bool, value
- = (is_reference<T>::value
- & (sizeof(reference_to_class_helper(t)) == sizeof(inner_yes_type)))
- );
- typedef mpl::bool_<value> type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_class,(T))
-};
-
-template <typename V>
-typename is_class_help<V>::type pointer_to_class_helper(V const volatile*);
-outer_no_type pointer_to_class_helper(...);
-
-template <class T>
-struct is_pointer_to_class
-{
- static T t;
- BOOST_STATIC_CONSTANT(
- bool, value
- = (is_pointer<T>::value
- && sizeof(pointer_to_class_helper(t)) == sizeof(inner_yes_type))
- );
- typedef mpl::bool_<value> type;
-};
-# endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-}
-
-using namespace indirect_traits;
-
-}} // namespace boost::python::detail
-
-#endif // INDIRECT_TRAITS_DWA2002131_HPP
diff --git a/boost/detail/interlocked.hpp b/boost/detail/interlocked.hpp
deleted file mode 100644
index 1152f71..0000000
--- a/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 <boost/config.hpp>
-
-// MS compatible compilers support #pragma once
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if defined( BOOST_USE_WINDOWS_H )
-
-# include <windows.h>
-
-# 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 <intrin.h>
-
-# 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 <intrin.h>
-
-#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 <intrin.h>
-
-# 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/boost/detail/is_function_ref_tester.hpp b/boost/detail/is_function_ref_tester.hpp
deleted file mode 100644
index 8e7d1d7..0000000
--- a/boost/detail/is_function_ref_tester.hpp
+++ /dev/null
@@ -1,136 +0,0 @@
-
-// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes,
-// Aleksey Gurtovoy, Howard Hinnant & John Maddock 2000.
-// Distributed under the Boost Software 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_IS_ITERATING)
-
-///// header body
-
-#ifndef BOOST_DETAIL_IS_FUNCTION_REF_TESTER_HPP_INCLUDED
-#define BOOST_DETAIL_IS_FUNCTION_REF_TESTER_HPP_INCLUDED
-
-#include "boost/type_traits/detail/yes_no_type.hpp"
-#include "boost/type_traits/config.hpp"
-
-#if defined(BOOST_TT_PREPROCESSING_MODE)
-# include "boost/preprocessor/iterate.hpp"
-# include "boost/preprocessor/enum_params.hpp"
-# include "boost/preprocessor/comma_if.hpp"
-#endif
-
-namespace boost {
-namespace detail {
-namespace is_function_ref_tester_ {
-
-template <class T>
-boost::type_traits::no_type BOOST_TT_DECL is_function_ref_tester(T& ...);
-
-#if !defined(BOOST_TT_PREPROCESSING_MODE)
-// preprocessor-generated part, don't edit by hand!
-
-template <class R>
-boost::type_traits::yes_type is_function_ref_tester(R (&)(), int);
-
-template <class R,class T0 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0), int);
-
-template <class R,class T0,class T1 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1), int);
-
-template <class R,class T0,class T1,class T2 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2), int);
-
-template <class R,class T0,class T1,class T2,class T3 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3), int);
-
-template <class R,class T0,class T1,class T2,class T3,class T4 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4), int);
-
-template <class R,class T0,class T1,class T2,class T3,class T4,class T5 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5), int);
-
-template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6), int);
-
-template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7), int);
-
-template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8), int);
-
-template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9), int);
-
-template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10), int);
-
-template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11), int);
-
-template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12), int);
-
-template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13), int);
-
-template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14), int);
-
-template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15), int);
-
-template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15,class T16 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16), int);
-
-template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15,class T16,class T17 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17), int);
-
-template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15,class T16,class T17,class T18 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18), int);
-
-template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15,class T16,class T17,class T18,class T19 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19), int);
-
-template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15,class T16,class T17,class T18,class T19,class T20 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20), int);
-
-template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15,class T16,class T17,class T18,class T19,class T20,class T21 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21), int);
-
-template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15,class T16,class T17,class T18,class T19,class T20,class T21,class T22 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22), int);
-
-template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15,class T16,class T17,class T18,class T19,class T20,class T21,class T22,class T23 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23), int);
-
-template <class R,class T0,class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10,class T11,class T12,class T13,class T14,class T15,class T16,class T17,class T18,class T19,class T20,class T21,class T22,class T23,class T24 >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24), int);
-
-#else
-
-#define BOOST_PP_ITERATION_PARAMS_1 \
- (3, (0, 25, "boost/detail/is_function_ref_tester.hpp"))
-#include BOOST_PP_ITERATE()
-
-#endif // BOOST_TT_PREPROCESSING_MODE
-
-} // namespace detail
-} // namespace python
-} // namespace boost
-
-#endif // BOOST_DETAIL_IS_FUNCTION_REF_TESTER_HPP_INCLUDED
-
-///// iteration
-
-#else
-#define i BOOST_PP_FRAME_ITERATION(1)
-
-template <class R BOOST_PP_COMMA_IF(i) BOOST_PP_ENUM_PARAMS(i,class T) >
-boost::type_traits::yes_type is_function_ref_tester(R (&)(BOOST_PP_ENUM_PARAMS(i,T)), int);
-
-#undef i
-#endif // BOOST_PP_IS_ITERATING
-
diff --git a/boost/detail/iterator.hpp b/boost/detail/iterator.hpp
deleted file mode 100644
index 5bb9c62..0000000
--- a/boost/detail/iterator.hpp
+++ /dev/null
@@ -1,494 +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)
-
-// Boost versions of
-//
-// std::iterator_traits<>::iterator_category
-// std::iterator_traits<>::difference_type
-// std::distance()
-//
-// ...for all compilers and iterators
-//
-// Additionally, if X is a pointer
-// std::iterator_traits<X>::pointer
-
-// Otherwise, if partial specialization is supported or X is not a pointer
-// std::iterator_traits<X>::value_type
-// std::iterator_traits<X>::pointer
-// std::iterator_traits<X>::reference
-//
-// See http://www.boost.org for most recent version including documentation.
-
-// Revision History
-// 04 Mar 2001 - More attempted fixes for Intel C++ (David Abrahams)
-// 03 Mar 2001 - Put all implementation into namespace
-// boost::detail::iterator_traits_. Some progress made on fixes
-// for Intel compiler. (David Abrahams)
-// 02 Mar 2001 - Changed BOOST_MSVC to BOOST_MSVC_STD_ITERATOR in a few
-// places. (Jeremy Siek)
-// 19 Feb 2001 - Improved workarounds for stock MSVC6; use yes_type and
-// no_type from type_traits.hpp; stopped trying to remove_cv
-// before detecting is_pointer, in honor of the new type_traits
-// semantics. (David Abrahams)
-// 13 Feb 2001 - Make it work with nearly all standard-conforming iterators
-// under raw VC6. The one category remaining which will fail is
-// that of iterators derived from std::iterator but not
-// boost::iterator and which redefine difference_type.
-// 11 Feb 2001 - Clean away code which can never be used (David Abrahams)
-// 09 Feb 2001 - Always have a definition for each traits member, even if it
-// can't be properly deduced. These will be incomplete types in
-// some cases (undefined<void>), but it helps suppress MSVC errors
-// elsewhere (David Abrahams)
-// 07 Feb 2001 - Support for more of the traits members where possible, making
-// this useful as a replacement for std::iterator_traits<T> when
-// used as a default template parameter.
-// 06 Feb 2001 - Removed useless #includes of standard library headers
-// (David Abrahams)
-
-#ifndef ITERATOR_DWA122600_HPP_
-# define ITERATOR_DWA122600_HPP_
-
-# include <boost/config.hpp>
-# include <iterator>
-
-// STLPort 4.0 and betas have a bug when debugging is enabled and there is no
-// partial specialization: instead of an iterator_category typedef, the standard
-// container iterators have _Iterator_category.
-//
-// Also, whether debugging is enabled or not, there is a broken specialization
-// of std::iterator<output_iterator_tag,void,void,void,void> which has no
-// typedefs but iterator_category.
-# if defined(__SGI_STL_PORT)
-
-# if (__SGI_STL_PORT <= 0x410) && !defined(__STL_CLASS_PARTIAL_SPECIALIZATION) && defined(__STL_DEBUG)
-# define BOOST_BAD_CONTAINER_ITERATOR_CATEGORY_TYPEDEF
-# endif
-
-# define BOOST_BAD_OUTPUT_ITERATOR_SPECIALIZATION
-
-# endif // STLPort <= 4.1b4 && no partial specialization
-
-# if !defined(BOOST_NO_STD_ITERATOR_TRAITS) \
- && !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
- && !defined(BOOST_MSVC_STD_ITERATOR)
-
-namespace boost { namespace detail {
-
-// Define a new template so it can be specialized
-template <class Iterator>
-struct iterator_traits
- : std::iterator_traits<Iterator>
-{};
-using std::distance;
-
-}} // namespace boost::detail
-
-# else
-
-# if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
- && !defined(BOOST_MSVC_STD_ITERATOR)
-
-// This is the case where everything conforms except BOOST_NO_STD_ITERATOR_TRAITS
-
-namespace boost { namespace detail {
-
-// Rogue Wave Standard Library fools itself into thinking partial
-// specialization is missing on some platforms (e.g. Sun), so fails to
-// supply iterator_traits!
-template <class Iterator>
-struct iterator_traits
-{
- typedef typename Iterator::value_type value_type;
- typedef typename Iterator::reference reference;
- typedef typename Iterator::pointer pointer;
- typedef typename Iterator::difference_type difference_type;
- typedef typename Iterator::iterator_category iterator_category;
-};
-
-template <class T>
-struct iterator_traits<T*>
-{
- typedef T value_type;
- typedef T& reference;
- typedef T* pointer;
- typedef std::ptrdiff_t difference_type;
- typedef std::random_access_iterator_tag iterator_category;
-};
-
-template <class T>
-struct iterator_traits<T const*>
-{
- typedef T value_type;
- typedef T const& reference;
- typedef T const* pointer;
- typedef std::ptrdiff_t difference_type;
- typedef std::random_access_iterator_tag iterator_category;
-};
-
-}} // namespace boost::detail
-
-# else
-
-# include <boost/type_traits/remove_const.hpp>
-# include <boost/type_traits/detail/yes_no_type.hpp>
-# include <boost/type_traits/is_pointer.hpp>
-
-# ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-# include <boost/type_traits/is_same.hpp>
-# include <boost/type_traits/remove_pointer.hpp>
-# endif
-# ifdef BOOST_BAD_OUTPUT_ITERATOR_SPECIALIZATION
-# include <boost/type_traits/is_base_and_derived.hpp>
-# endif
-
-# include <boost/mpl/if.hpp>
-# include <boost/mpl/has_xxx.hpp>
-# include <cstddef>
-
-// should be the last #include
-# include "boost/type_traits/detail/bool_trait_def.hpp"
-
-namespace boost { namespace detail {
-
-BOOST_MPL_HAS_XXX_TRAIT_DEF(value_type)
-BOOST_MPL_HAS_XXX_TRAIT_DEF(reference)
-BOOST_MPL_HAS_XXX_TRAIT_DEF(pointer)
-BOOST_MPL_HAS_XXX_TRAIT_DEF(difference_type)
-BOOST_MPL_HAS_XXX_TRAIT_DEF(iterator_category)
-
-// is_mutable_iterator --
-//
-// A metafunction returning true iff T is a mutable iterator type
-// with a nested value_type. Will only work portably with iterators
-// whose operator* returns a reference, but that seems to be OK for
-// the iterators supplied by Dinkumware. Some input iterators may
-// compile-time if they arrive here, and if the compiler is strict
-// about not taking the address of an rvalue.
-
-// This one detects ordinary mutable iterators - the result of
-// operator* is convertible to the value_type.
-template <class T>
-type_traits::yes_type is_mutable_iterator_helper(T const*, BOOST_DEDUCED_TYPENAME T::value_type*);
-
-// Since you can't take the address of an rvalue, the guts of
-// is_mutable_iterator_impl will fail if we use &*t directly. This
-// makes sure we can still work with non-lvalue iterators.
-template <class T> T* mutable_iterator_lvalue_helper(T& x);
-int mutable_iterator_lvalue_helper(...);
-
-
-// This one detects output iterators such as ostream_iterator which
-// return references to themselves.
-template <class T>
-type_traits::yes_type is_mutable_iterator_helper(T const*, T const*);
-
-type_traits::no_type is_mutable_iterator_helper(...);
-
-template <class T>
-struct is_mutable_iterator_impl
-{
- static T t;
-
- BOOST_STATIC_CONSTANT(
- bool, value = sizeof(
- detail::is_mutable_iterator_helper(
- (T*)0
- , mutable_iterator_lvalue_helper(*t) // like &*t
- ))
- == sizeof(type_traits::yes_type)
- );
-};
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(
- is_mutable_iterator,T,::boost::detail::is_mutable_iterator_impl<T>::value)
-
-
-// is_full_iterator_traits --
-//
-// A metafunction returning true iff T has all the requisite nested
-// types to satisfy the requirements for a fully-conforming
-// iterator_traits implementation.
-template <class T>
-struct is_full_iterator_traits_impl
-{
- enum { value =
- has_value_type<T>::value
- & has_reference<T>::value
- & has_pointer<T>::value
- & has_difference_type<T>::value
- & has_iterator_category<T>::value
- };
-};
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(
- is_full_iterator_traits,T,::boost::detail::is_full_iterator_traits_impl<T>::value)
-
-
-# ifdef BOOST_BAD_CONTAINER_ITERATOR_CATEGORY_TYPEDEF
-BOOST_MPL_HAS_XXX_TRAIT_DEF(_Iterator_category)
-
-// is_stlport_40_debug_iterator --
-//
-// A metafunction returning true iff T has all the requisite nested
-// types to satisfy the requirements of an STLPort 4.0 debug iterator
-// iterator_traits implementation.
-template <class T>
-struct is_stlport_40_debug_iterator_impl
-{
- enum { value =
- has_value_type<T>::value
- & has_reference<T>::value
- & has_pointer<T>::value
- & has_difference_type<T>::value
- & has__Iterator_category<T>::value
- };
-};
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(
- is_stlport_40_debug_iterator,T,::boost::detail::is_stlport_40_debug_iterator_impl<T>::value)
-
-template <class T>
-struct stlport_40_debug_iterator_traits
-{
- typedef typename T::value_type value_type;
- typedef typename T::reference reference;
- typedef typename T::pointer pointer;
- typedef typename T::difference_type difference_type;
- typedef typename T::_Iterator_category iterator_category;
-};
-# endif // BOOST_BAD_CONTAINER_ITERATOR_CATEGORY_TYPEDEF
-
-template <class T> struct pointer_iterator_traits;
-
-# ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-template <class T>
-struct pointer_iterator_traits<T*>
-{
- typedef typename remove_const<T>::type value_type;
- typedef T* pointer;
- typedef T& reference;
- typedef std::random_access_iterator_tag iterator_category;
- typedef std::ptrdiff_t difference_type;
-};
-# else
-
-// In case of no template partial specialization, and if T is a
-// pointer, iterator_traits<T>::value_type can still be computed. For
-// some basic types, remove_pointer is manually defined in
-// type_traits/broken_compiler_spec.hpp. For others, do it yourself.
-
-template<class P> class please_invoke_BOOST_TT_BROKEN_COMPILER_SPEC_on_cv_unqualified_pointee;
-
-template<class P>
-struct pointer_value_type
- : mpl::if_<
- is_same<P, typename remove_pointer<P>::type>
- , please_invoke_BOOST_TT_BROKEN_COMPILER_SPEC_on_cv_unqualified_pointee<P>
- , typename remove_const<
- typename remove_pointer<P>::type
- >::type
- >
-{
-};
-
-
-template<class P>
-struct pointer_reference
- : mpl::if_<
- is_same<P, typename remove_pointer<P>::type>
- , please_invoke_BOOST_TT_BROKEN_COMPILER_SPEC_on_cv_unqualified_pointee<P>
- , typename remove_pointer<P>::type&
- >
-{
-};
-
-template <class T>
-struct pointer_iterator_traits
-{
- typedef T pointer;
- typedef std::random_access_iterator_tag iterator_category;
- typedef std::ptrdiff_t difference_type;
-
- typedef typename pointer_value_type<T>::type value_type;
- typedef typename pointer_reference<T>::type reference;
-};
-
-# endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-// We'll sort iterator types into one of these classifications, from which we
-// can determine the difference_type, pointer, reference, and value_type
-template <class Iterator>
-struct standard_iterator_traits
-{
- typedef typename Iterator::difference_type difference_type;
- typedef typename Iterator::value_type value_type;
- typedef typename Iterator::pointer pointer;
- typedef typename Iterator::reference reference;
- typedef typename Iterator::iterator_category iterator_category;
-};
-
-template <class Iterator>
-struct msvc_stdlib_mutable_traits
- : std::iterator_traits<Iterator>
-{
- typedef typename std::iterator_traits<Iterator>::distance_type difference_type;
- typedef typename std::iterator_traits<Iterator>::value_type* pointer;
- typedef typename std::iterator_traits<Iterator>::value_type& reference;
-};
-
-template <class Iterator>
-struct msvc_stdlib_const_traits
- : std::iterator_traits<Iterator>
-{
- typedef typename std::iterator_traits<Iterator>::distance_type difference_type;
- typedef const typename std::iterator_traits<Iterator>::value_type* pointer;
- typedef const typename std::iterator_traits<Iterator>::value_type& reference;
-};
-
-# ifdef BOOST_BAD_OUTPUT_ITERATOR_SPECIALIZATION
-template <class Iterator>
-struct is_bad_output_iterator
- : is_base_and_derived<
- std::iterator<std::output_iterator_tag,void,void,void,void>
- , Iterator>
-{
-};
-
-struct bad_output_iterator_traits
-{
- typedef void value_type;
- typedef void difference_type;
- typedef std::output_iterator_tag iterator_category;
- typedef void pointer;
- typedef void reference;
-};
-# endif
-
-// If we're looking at an MSVC6 (old Dinkumware) ``standard''
-// iterator, this will generate an appropriate traits class.
-template <class Iterator>
-struct msvc_stdlib_iterator_traits
- : mpl::if_<
- is_mutable_iterator<Iterator>
- , msvc_stdlib_mutable_traits<Iterator>
- , msvc_stdlib_const_traits<Iterator>
- >::type
-{};
-
-template <class Iterator>
-struct non_pointer_iterator_traits
- : mpl::if_<
- // if the iterator contains all the right nested types...
- is_full_iterator_traits<Iterator>
- // Use a standard iterator_traits implementation
- , standard_iterator_traits<Iterator>
-# ifdef BOOST_BAD_CONTAINER_ITERATOR_CATEGORY_TYPEDEF
- // Check for STLPort 4.0 broken _Iterator_category type
- , mpl::if_<
- is_stlport_40_debug_iterator<Iterator>
- , stlport_40_debug_iterator_traits<Iterator>
-# endif
- // Otherwise, assume it's a Dinkum iterator
- , msvc_stdlib_iterator_traits<Iterator>
-# ifdef BOOST_BAD_CONTAINER_ITERATOR_CATEGORY_TYPEDEF
- >::type
-# endif
- >::type
-{
-};
-
-template <class Iterator>
-struct iterator_traits_aux
- : mpl::if_<
- is_pointer<Iterator>
- , pointer_iterator_traits<Iterator>
- , non_pointer_iterator_traits<Iterator>
- >::type
-{
-};
-
-template <class Iterator>
-struct iterator_traits
-{
- // Explicit forwarding from base class needed to keep MSVC6 happy
- // under some circumstances.
- private:
-# ifdef BOOST_BAD_OUTPUT_ITERATOR_SPECIALIZATION
- typedef
- typename mpl::if_<
- is_bad_output_iterator<Iterator>
- , bad_output_iterator_traits
- , iterator_traits_aux<Iterator>
- >::type base;
-# else
- typedef iterator_traits_aux<Iterator> base;
-# endif
- public:
- typedef typename base::value_type value_type;
- typedef typename base::pointer pointer;
- typedef typename base::reference reference;
- typedef typename base::difference_type difference_type;
- typedef typename base::iterator_category iterator_category;
-};
-
-// This specialization cuts off ETI (Early Template Instantiation) for MSVC.
-template <> struct iterator_traits<int>
-{
- typedef int value_type;
- typedef int pointer;
- typedef int reference;
- typedef int difference_type;
- typedef int iterator_category;
-};
-
-}} // namespace boost::detail
-
-# endif // workarounds
-
-namespace boost { namespace detail {
-
-namespace iterator_traits_
-{
- template <class Iterator, class Difference>
- struct distance_select
- {
- static Difference execute(Iterator i1, const Iterator i2, ...)
- {
- Difference result = 0;
- while (i1 != i2)
- {
- ++i1;
- ++result;
- }
- return result;
- }
-
- static Difference execute(Iterator i1, const Iterator i2, std::random_access_iterator_tag*)
- {
- return i2 - i1;
- }
- };
-} // namespace boost::detail::iterator_traits_
-
-template <class Iterator>
-inline typename iterator_traits<Iterator>::difference_type
-distance(Iterator first, Iterator last)
-{
- typedef typename iterator_traits<Iterator>::difference_type diff_t;
- typedef typename ::boost::detail::iterator_traits<Iterator>::iterator_category iterator_category;
-
- return iterator_traits_::distance_select<Iterator,diff_t>::execute(
- first, last, (iterator_category*)0);
-}
-
-}}
-
-# endif
-
-
-# undef BOOST_BAD_CONTAINER_ITERATOR_CATEGORY_TYPEDEF
-# undef BOOST_BAD_OUTPUT_ITERATOR_SPECIALIZATION
-
-#endif // ITERATOR_DWA122600_HPP_
diff --git a/boost/detail/lcast_precision.hpp b/boost/detail/lcast_precision.hpp
deleted file mode 100644
index 93abce1..0000000
--- a/boost/detail/lcast_precision.hpp
+++ /dev/null
@@ -1,184 +0,0 @@
-// Copyright Alexander Nasonov & Paul A. Bristow 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_DETAIL_LCAST_PRECISION_HPP_INCLUDED
-#define BOOST_DETAIL_LCAST_PRECISION_HPP_INCLUDED
-
-#include <climits>
-#include <ios>
-#include <limits>
-
-#include <boost/config.hpp>
-#include <boost/integer_traits.hpp>
-
-#ifndef BOOST_NO_IS_ABSTRACT
-// Fix for SF:1358600 - lexical_cast & pure virtual functions & VC 8 STL
-#include <boost/mpl/if.hpp>
-#include <boost/type_traits/is_abstract.hpp>
-#endif
-
-#if defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS) || \
- (defined(BOOST_MSVC) && (BOOST_MSVC<1310))
-
-#define BOOST_LCAST_NO_COMPILE_TIME_PRECISION
-#endif
-
-#ifdef BOOST_LCAST_NO_COMPILE_TIME_PRECISION
-#include <boost/assert.hpp>
-#else
-#include <boost/static_assert.hpp>
-#endif
-
-namespace boost { namespace detail {
-
-class lcast_abstract_stub {};
-
-#ifndef BOOST_LCAST_NO_COMPILE_TIME_PRECISION
-// Calculate an argument to pass to std::ios_base::precision from
-// lexical_cast. See alternative implementation for broken standard
-// libraries in lcast_get_precision below. Keep them in sync, please.
-template<class T>
-struct lcast_precision
-{
-#ifdef BOOST_NO_IS_ABSTRACT
- typedef std::numeric_limits<T> limits; // No fix for SF:1358600.
-#else
- typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_<
- boost::is_abstract<T>
- , std::numeric_limits<lcast_abstract_stub>
- , std::numeric_limits<T>
- >::type limits;
-#endif
-
- BOOST_STATIC_CONSTANT(bool, use_default_precision =
- !limits::is_specialized || limits::is_exact
- );
-
- BOOST_STATIC_CONSTANT(bool, is_specialized_bin =
- !use_default_precision &&
- limits::radix == 2 && limits::digits > 0
- );
-
- BOOST_STATIC_CONSTANT(bool, is_specialized_dec =
- !use_default_precision &&
- limits::radix == 10 && limits::digits10 > 0
- );
-
- BOOST_STATIC_CONSTANT(std::streamsize, streamsize_max =
- boost::integer_traits<std::streamsize>::const_max
- );
-
- BOOST_STATIC_CONSTANT(unsigned int, precision_dec = limits::digits10 + 1U);
-
- BOOST_STATIC_ASSERT(!is_specialized_dec ||
- precision_dec <= streamsize_max + 0UL
- );
-
- BOOST_STATIC_CONSTANT(unsigned long, precision_bin =
- 2UL + limits::digits * 30103UL / 100000UL
- );
-
- BOOST_STATIC_ASSERT(!is_specialized_bin ||
- (limits::digits + 0UL < ULONG_MAX / 30103UL &&
- precision_bin > limits::digits10 + 0UL &&
- precision_bin <= streamsize_max + 0UL)
- );
-
- BOOST_STATIC_CONSTANT(std::streamsize, value =
- is_specialized_bin ? precision_bin
- : is_specialized_dec ? precision_dec : 6
- );
-};
-#endif
-
-template<class T>
-inline std::streamsize lcast_get_precision(T* = 0)
-{
-#ifndef BOOST_LCAST_NO_COMPILE_TIME_PRECISION
- return lcast_precision<T>::value;
-#else // Follow lcast_precision algorithm at run-time:
-
-#ifdef BOOST_NO_IS_ABSTRACT
- typedef std::numeric_limits<T> limits; // No fix for SF:1358600.
-#else
- typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_<
- boost::is_abstract<T>
- , std::numeric_limits<lcast_abstract_stub>
- , std::numeric_limits<T>
- >::type limits;
-#endif
-
- bool const use_default_precision =
- !limits::is_specialized || limits::is_exact;
-
- if(!use_default_precision)
- { // Includes all built-in floating-point types, float, double ...
- // and UDT types for which digits (significand bits) is defined (not zero)
-
- bool const is_specialized_bin =
- limits::radix == 2 && limits::digits > 0;
- bool const is_specialized_dec =
- limits::radix == 10 && limits::digits10 > 0;
- std::streamsize const streamsize_max =
- (boost::integer_traits<std::streamsize>::max)();
-
- if(is_specialized_bin)
- { // Floating-point types with
- // limits::digits defined by the specialization.
-
- unsigned long const digits = limits::digits;
- unsigned long const precision = 2UL + digits * 30103UL / 100000UL;
- // unsigned long is selected because it is at least 32-bits
- // and thus ULONG_MAX / 30103UL is big enough for all types.
- BOOST_ASSERT(
- digits < ULONG_MAX / 30103UL &&
- precision > limits::digits10 + 0UL &&
- precision <= streamsize_max + 0UL
- );
- return precision;
- }
- else if(is_specialized_dec)
- { // Decimal Floating-point type, most likely a User Defined Type
- // rather than a real floating-point hardware type.
- unsigned int const precision = limits::digits10 + 1U;
- BOOST_ASSERT(precision <= streamsize_max + 0UL);
- return precision;
- }
- }
-
- // Integral type (for which precision has no effect)
- // or type T for which limits is NOT specialized,
- // so assume stream precision remains the default 6 decimal digits.
- // Warning: if your User-defined Floating-point type T is NOT specialized,
- // then you may lose accuracy by only using 6 decimal digits.
- // To avoid this, you need to specialize T with either
- // radix == 2 and digits == the number of significand bits,
- // OR
- // radix = 10 and digits10 == the number of decimal digits.
-
- return 6;
-#endif
-}
-
-template<class T>
-inline void lcast_set_precision(std::ios_base& stream, T*)
-{
- stream.precision(lcast_get_precision<T>());
-}
-
-template<class Source, class Target>
-inline void lcast_set_precision(std::ios_base& stream, Source*, Target*)
-{
- std::streamsize const s = lcast_get_precision(static_cast<Source*>(0));
- std::streamsize const t = lcast_get_precision(static_cast<Target*>(0));
- stream.precision(s > t ? s : t);
-}
-
-}}
-
-#endif // BOOST_DETAIL_LCAST_PRECISION_HPP_INCLUDED
-
diff --git a/boost/detail/reference_content.hpp b/boost/detail/reference_content.hpp
deleted file mode 100644
index daf56a8..0000000
--- a/boost/detail/reference_content.hpp
+++ /dev/null
@@ -1,141 +0,0 @@
-//-----------------------------------------------------------------------------
-// boost detail/reference_content.hpp header file
-// See http://www.boost.org for updates, documentation, and revision history.
-//-----------------------------------------------------------------------------
-//
-// Copyright (c) 2003
-// Eric Friedman
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_DETAIL_REFERENCE_CONTENT_HPP
-#define BOOST_DETAIL_REFERENCE_CONTENT_HPP
-
-#include "boost/config.hpp"
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-# include "boost/mpl/bool.hpp"
-# include "boost/type_traits/has_nothrow_copy.hpp"
-#else
-# include "boost/mpl/if.hpp"
-# include "boost/type_traits/is_reference.hpp"
-#endif
-
-#include "boost/mpl/void.hpp"
-
-namespace boost {
-
-namespace detail {
-
-///////////////////////////////////////////////////////////////////////////////
-// (detail) class template reference_content
-//
-// Non-Assignable wrapper for references.
-//
-template <typename RefT>
-class reference_content
-{
-private: // representation
-
- RefT content_;
-
-public: // structors
-
- ~reference_content()
- {
- }
-
- reference_content(RefT r)
- : content_( r )
- {
- }
-
- reference_content(const reference_content& operand)
- : content_( operand.content_ )
- {
- }
-
-private: // non-Assignable
-
- reference_content& operator=(const reference_content&);
-
-public: // queries
-
- RefT get() const
- {
- return content_;
- }
-
-};
-
-///////////////////////////////////////////////////////////////////////////////
-// (detail) metafunction make_reference_content
-//
-// Wraps with reference_content if specified type is reference.
-//
-
-template <typename T = mpl::void_> struct make_reference_content;
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template <typename T>
-struct make_reference_content
-{
- typedef T type;
-};
-
-template <typename T>
-struct make_reference_content< T& >
-{
- typedef reference_content<T&> type;
-};
-
-#else // defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template <typename T>
-struct make_reference_content
- : mpl::if_<
- is_reference<T>
- , reference_content<T>
- , T
- >
-{
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION workaround
-
-template <>
-struct make_reference_content< mpl::void_ >
-{
- template <typename T>
- struct apply
- : make_reference_content<T>
- {
- };
-
- typedef mpl::void_ type;
-};
-
-} // namespace detail
-
-///////////////////////////////////////////////////////////////////////////////
-// reference_content<T&> type traits specializations
-//
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template <typename T>
-struct has_nothrow_copy<
- ::boost::detail::reference_content< T& >
- >
- : mpl::true_
-{
-};
-
-#endif // !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-} // namespace boost
-
-#endif // BOOST_DETAIL_REFERENCE_CONTENT_HPP
diff --git a/boost/detail/sp_typeinfo.hpp b/boost/detail/sp_typeinfo.hpp
deleted file mode 100644
index 43fae78..0000000
--- a/boost/detail/sp_typeinfo.hpp
+++ /dev/null
@@ -1,135 +0,0 @@
-#ifndef BOOST_DETAIL_SP_TYPEINFO_HPP_INCLUDED
-#define BOOST_DETAIL_SP_TYPEINFO_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-// detail/sp_typeinfo.hpp
-//
-// Copyright 2007 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 <boost/config.hpp>
-
-#if defined( BOOST_NO_TYPEID )
-
-#include <boost/current_function.hpp>
-#include <functional>
-
-namespace boost
-{
-
-namespace detail
-{
-
-class sp_typeinfo
-{
-private:
-
- sp_typeinfo( sp_typeinfo const& );
- sp_typeinfo& operator=( sp_typeinfo const& );
-
- char const * name_;
-
-public:
-
- explicit sp_typeinfo( char const * name ): name_( name )
- {
- }
-
- bool operator==( sp_typeinfo const& rhs ) const
- {
- return this == &rhs;
- }
-
- bool operator!=( sp_typeinfo const& rhs ) const
- {
- return this != &rhs;
- }
-
- bool before( sp_typeinfo const& rhs ) const
- {
- return std::less< sp_typeinfo const* >()( this, &rhs );
- }
-
- char const* name() const
- {
- return name_;
- }
-};
-
-template<class T> struct sp_typeid_
-{
- static sp_typeinfo ti_;
-
- static char const * name()
- {
- return BOOST_CURRENT_FUNCTION;
- }
-};
-
-#if defined(__SUNPRO_CC)
-// see #4199, the Sun Studio compiler gets confused about static initialization
-// constructor arguments. But an assignment works just fine.
-template<class T> sp_typeinfo sp_typeid_< T >::ti_ = sp_typeid_< T >::name();
-#else
-template<class T> sp_typeinfo sp_typeid_< T >::ti_(sp_typeid_< T >::name());
-#endif
-
-template<class T> struct sp_typeid_< T & >: sp_typeid_< T >
-{
-};
-
-template<class T> struct sp_typeid_< T const >: sp_typeid_< T >
-{
-};
-
-template<class T> struct sp_typeid_< T volatile >: sp_typeid_< T >
-{
-};
-
-template<class T> struct sp_typeid_< T const volatile >: sp_typeid_< T >
-{
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#define BOOST_SP_TYPEID(T) (boost::detail::sp_typeid_<T>::ti_)
-
-#else
-
-#include <typeinfo>
-
-namespace boost
-{
-
-namespace detail
-{
-
-#if defined( BOOST_NO_STD_TYPEINFO )
-
-typedef ::type_info sp_typeinfo;
-
-#else
-
-typedef std::type_info sp_typeinfo;
-
-#endif
-
-} // namespace detail
-
-} // namespace boost
-
-#define BOOST_SP_TYPEID(T) typeid(T)
-
-#endif
-
-#endif // #ifndef BOOST_DETAIL_SP_TYPEINFO_HPP_INCLUDED
diff --git a/boost/detail/templated_streams.hpp b/boost/detail/templated_streams.hpp
deleted file mode 100644
index 1fa6ee3..0000000
--- a/boost/detail/templated_streams.hpp
+++ /dev/null
@@ -1,74 +0,0 @@
-//-----------------------------------------------------------------------------
-// boost detail/templated_streams.hpp header file
-// See http://www.boost.org for updates, documentation, and revision history.
-//-----------------------------------------------------------------------------
-//
-// Copyright (c) 2003
-// Eric Friedman
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_DETAIL_TEMPLATED_STREAMS_HPP
-#define BOOST_DETAIL_TEMPLATED_STREAMS_HPP
-
-#include "boost/config.hpp"
-
-///////////////////////////////////////////////////////////////////////////////
-// (detail) BOOST_TEMPLATED_STREAM_* macros
-//
-// Provides workaround platforms without stream class templates.
-//
-
-#if !defined(BOOST_NO_STD_LOCALE)
-
-#define BOOST_TEMPLATED_STREAM_TEMPLATE(E,T) \
- template < typename E , typename T >
-
-#define BOOST_TEMPLATED_STREAM_TEMPLATE_ALLOC(E,T,A) \
- template < typename E , typename T , typename A >
-
-#define BOOST_TEMPLATED_STREAM_ARGS(E,T) \
- typename E , typename T
-
-#define BOOST_TEMPLATED_STREAM_ARGS_ALLOC(E,T,A) \
- typename E , typename T , typename A
-
-#define BOOST_TEMPLATED_STREAM_COMMA ,
-
-#define BOOST_TEMPLATED_STREAM_ELEM(E) E
-#define BOOST_TEMPLATED_STREAM_TRAITS(T) T
-#define BOOST_TEMPLATED_STREAM_ALLOC(A) A
-
-#define BOOST_TEMPLATED_STREAM(X,E,T) \
- BOOST_JOIN(std::basic_,X)< E , T >
-
-#define BOOST_TEMPLATED_STREAM_WITH_ALLOC(X,E,T,A) \
- BOOST_JOIN(std::basic_,X)< E , T , A >
-
-#else // defined(BOOST_NO_STD_LOCALE)
-
-#define BOOST_TEMPLATED_STREAM_TEMPLATE(E,T) /**/
-
-#define BOOST_TEMPLATED_STREAM_TEMPLATE_ALLOC(E,T,A) /**/
-
-#define BOOST_TEMPLATED_STREAM_ARGS(E,T) /**/
-
-#define BOOST_TEMPLATED_STREAM_ARGS_ALLOC(E,T,A) /**/
-
-#define BOOST_TEMPLATED_STREAM_COMMA /**/
-
-#define BOOST_TEMPLATED_STREAM_ELEM(E) char
-#define BOOST_TEMPLATED_STREAM_TRAITS(T) std::char_traits<char>
-#define BOOST_TEMPLATED_STREAM_ALLOC(A) std::allocator<char>
-
-#define BOOST_TEMPLATED_STREAM(X,E,T) \
- std::X
-
-#define BOOST_TEMPLATED_STREAM_WITH_ALLOC(X,E,T,A) \
- std::X
-
-#endif // BOOST_NO_STD_LOCALE
-
-#endif // BOOST_DETAIL_TEMPLATED_STREAMS_HPP
diff --git a/boost/detail/workaround.hpp b/boost/detail/workaround.hpp
deleted file mode 100644
index 40b3423..0000000
--- a/boost/detail/workaround.hpp
+++ /dev/null
@@ -1,267 +0,0 @@
-// 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 WORKAROUND_DWA2002126_HPP
-# define WORKAROUND_DWA2002126_HPP
-
-// Compiler/library version workaround macro
-//
-// Usage:
-//
-// #if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-// // workaround for eVC4 and VC6
-// ... // workaround code here
-// #endif
-//
-// When BOOST_STRICT_CONFIG is defined, expands to 0. Otherwise, the
-// first argument must be undefined or expand to a numeric
-// value. The above expands to:
-//
-// (BOOST_MSVC) != 0 && (BOOST_MSVC) < 1300
-//
-// When used for workarounds that apply to the latest known version
-// and all earlier versions of a compiler, the following convention
-// should be observed:
-//
-// #if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1301))
-//
-// The version number in this case corresponds to the last version in
-// which the workaround was known to have been required. When
-// BOOST_DETECT_OUTDATED_WORKAROUNDS is not the defined, the macro
-// BOOST_TESTED_AT(x) expands to "!= 0", which effectively activates
-// the workaround for any version of the compiler. When
-// BOOST_DETECT_OUTDATED_WORKAROUNDS is defined, a compiler warning or
-// error will be issued if the compiler version exceeds the argument
-// to BOOST_TESTED_AT(). This can be used to locate workarounds which
-// may be obsoleted by newer versions.
-
-# ifndef BOOST_STRICT_CONFIG
-
-#include <boost/config.hpp>
-
-#ifndef __BORLANDC__
-#define __BORLANDC___WORKAROUND_GUARD 1
-#else
-#define __BORLANDC___WORKAROUND_GUARD 0
-#endif
-#ifndef __CODEGEARC__
-#define __CODEGEARC___WORKAROUND_GUARD 1
-#else
-#define __CODEGEARC___WORKAROUND_GUARD 0
-#endif
-#ifndef _MSC_VER
-#define _MSC_VER_WORKAROUND_GUARD 1
-#else
-#define _MSC_VER_WORKAROUND_GUARD 0
-#endif
-#ifndef _MSC_FULL_VER
-#define _MSC_FULL_VER_WORKAROUND_GUARD 1
-#else
-#define _MSC_FULL_VER_WORKAROUND_GUARD 0
-#endif
-#ifndef BOOST_MSVC
-#define BOOST_MSVC_WORKAROUND_GUARD 1
-#else
-#define BOOST_MSVC_WORKAROUND_GUARD 0
-#endif
-#ifndef BOOST_MSVC_FULL_VER
-#define BOOST_MSVC_FULL_VER_WORKAROUND_GUARD 1
-#else
-#define BOOST_MSVC_FULL_VER_WORKAROUND_GUARD 0
-#endif
-#ifndef __GNUC__
-#define __GNUC___WORKAROUND_GUARD 1
-#else
-#define __GNUC___WORKAROUND_GUARD 0
-#endif
-#ifndef __GNUC_MINOR__
-#define __GNUC_MINOR___WORKAROUND_GUARD 1
-#else
-#define __GNUC_MINOR___WORKAROUND_GUARD 0
-#endif
-#ifndef __GNUC_PATCHLEVEL__
-#define __GNUC_PATCHLEVEL___WORKAROUND_GUARD 1
-#else
-#define __GNUC_PATCHLEVEL___WORKAROUND_GUARD 0
-#endif
-#ifndef __IBMCPP__
-#define __IBMCPP___WORKAROUND_GUARD 1
-#else
-#define __IBMCPP___WORKAROUND_GUARD 0
-#endif
-#ifndef __SUNPRO_CC
-#define __SUNPRO_CC_WORKAROUND_GUARD 1
-#else
-#define __SUNPRO_CC_WORKAROUND_GUARD 0
-#endif
-#ifndef __DECCXX_VER
-#define __DECCXX_VER_WORKAROUND_GUARD 1
-#else
-#define __DECCXX_VER_WORKAROUND_GUARD 0
-#endif
-#ifndef __MWERKS__
-#define __MWERKS___WORKAROUND_GUARD 1
-#else
-#define __MWERKS___WORKAROUND_GUARD 0
-#endif
-#ifndef __EDG__
-#define __EDG___WORKAROUND_GUARD 1
-#else
-#define __EDG___WORKAROUND_GUARD 0
-#endif
-#ifndef __EDG_VERSION__
-#define __EDG_VERSION___WORKAROUND_GUARD 1
-#else
-#define __EDG_VERSION___WORKAROUND_GUARD 0
-#endif
-#ifndef __HP_aCC
-#define __HP_aCC_WORKAROUND_GUARD 1
-#else
-#define __HP_aCC_WORKAROUND_GUARD 0
-#endif
-#ifndef __hpxstd98
-#define __hpxstd98_WORKAROUND_GUARD 1
-#else
-#define __hpxstd98_WORKAROUND_GUARD 0
-#endif
-#ifndef _CRAYC
-#define _CRAYC_WORKAROUND_GUARD 1
-#else
-#define _CRAYC_WORKAROUND_GUARD 0
-#endif
-#ifndef __DMC__
-#define __DMC___WORKAROUND_GUARD 1
-#else
-#define __DMC___WORKAROUND_GUARD 0
-#endif
-#ifndef MPW_CPLUS
-#define MPW_CPLUS_WORKAROUND_GUARD 1
-#else
-#define MPW_CPLUS_WORKAROUND_GUARD 0
-#endif
-#ifndef __COMO__
-#define __COMO___WORKAROUND_GUARD 1
-#else
-#define __COMO___WORKAROUND_GUARD 0
-#endif
-#ifndef __COMO_VERSION__
-#define __COMO_VERSION___WORKAROUND_GUARD 1
-#else
-#define __COMO_VERSION___WORKAROUND_GUARD 0
-#endif
-#ifndef __INTEL_COMPILER
-#define __INTEL_COMPILER_WORKAROUND_GUARD 1
-#else
-#define __INTEL_COMPILER_WORKAROUND_GUARD 0
-#endif
-#ifndef __ICL
-#define __ICL_WORKAROUND_GUARD 1
-#else
-#define __ICL_WORKAROUND_GUARD 0
-#endif
-#ifndef _COMPILER_VERSION
-#define _COMPILER_VERSION_WORKAROUND_GUARD 1
-#else
-#define _COMPILER_VERSION_WORKAROUND_GUARD 0
-#endif
-
-#ifndef _RWSTD_VER
-#define _RWSTD_VER_WORKAROUND_GUARD 1
-#else
-#define _RWSTD_VER_WORKAROUND_GUARD 0
-#endif
-#ifndef BOOST_RWSTD_VER
-#define BOOST_RWSTD_VER_WORKAROUND_GUARD 1
-#else
-#define BOOST_RWSTD_VER_WORKAROUND_GUARD 0
-#endif
-#ifndef __GLIBCPP__
-#define __GLIBCPP___WORKAROUND_GUARD 1
-#else
-#define __GLIBCPP___WORKAROUND_GUARD 0
-#endif
-#ifndef _GLIBCXX_USE_C99_FP_MACROS_DYNAMIC
-#define _GLIBCXX_USE_C99_FP_MACROS_DYNAMIC_WORKAROUND_GUARD 1
-#else
-#define _GLIBCXX_USE_C99_FP_MACROS_DYNAMIC_WORKAROUND_GUARD 0
-#endif
-#ifndef __SGI_STL_PORT
-#define __SGI_STL_PORT_WORKAROUND_GUARD 1
-#else
-#define __SGI_STL_PORT_WORKAROUND_GUARD 0
-#endif
-#ifndef _STLPORT_VERSION
-#define _STLPORT_VERSION_WORKAROUND_GUARD 1
-#else
-#define _STLPORT_VERSION_WORKAROUND_GUARD 0
-#endif
-#ifndef __LIBCOMO_VERSION__
-#define __LIBCOMO_VERSION___WORKAROUND_GUARD 1
-#else
-#define __LIBCOMO_VERSION___WORKAROUND_GUARD 0
-#endif
-#ifndef _CPPLIB_VER
-#define _CPPLIB_VER_WORKAROUND_GUARD 1
-#else
-#define _CPPLIB_VER_WORKAROUND_GUARD 0
-#endif
-
-#ifndef BOOST_INTEL_CXX_VERSION
-#define BOOST_INTEL_CXX_VERSION_WORKAROUND_GUARD 1
-#else
-#define BOOST_INTEL_CXX_VERSION_WORKAROUND_GUARD 0
-#endif
-#ifndef BOOST_INTEL_WIN
-#define BOOST_INTEL_WIN_WORKAROUND_GUARD 1
-#else
-#define BOOST_INTEL_WIN_WORKAROUND_GUARD 0
-#endif
-#ifndef BOOST_DINKUMWARE_STDLIB
-#define BOOST_DINKUMWARE_STDLIB_WORKAROUND_GUARD 1
-#else
-#define BOOST_DINKUMWARE_STDLIB_WORKAROUND_GUARD 0
-#endif
-#ifndef BOOST_INTEL
-#define BOOST_INTEL_WORKAROUND_GUARD 1
-#else
-#define BOOST_INTEL_WORKAROUND_GUARD 0
-#endif
-// Always define to zero, if it's used it'll be defined my MPL:
-#define BOOST_MPL_CFG_GCC_WORKAROUND_GUARD 0
-
-# define BOOST_WORKAROUND(symbol, test) \
- ((symbol ## _WORKAROUND_GUARD + 0 == 0) && \
- (symbol != 0) && (1 % (( (symbol test) ) + 1)))
-// ^ ^ ^ ^
-// The extra level of parenthesis nesting above, along with the
-// BOOST_OPEN_PAREN indirection below, is required to satisfy the
-// broken preprocessor in MWCW 8.3 and earlier.
-//
-// The basic mechanism works as follows:
-// (symbol test) + 1 => if (symbol test) then 2 else 1
-// 1 % ((symbol test) + 1) => if (symbol test) then 1 else 0
-//
-// The complication with % is for cooperation with BOOST_TESTED_AT().
-// When "test" is BOOST_TESTED_AT(x) and
-// BOOST_DETECT_OUTDATED_WORKAROUNDS is #defined,
-//
-// symbol test => if (symbol <= x) then 1 else -1
-// (symbol test) + 1 => if (symbol <= x) then 2 else 0
-// 1 % ((symbol test) + 1) => if (symbol <= x) then 1 else divide-by-zero
-//
-
-# ifdef BOOST_DETECT_OUTDATED_WORKAROUNDS
-# define BOOST_OPEN_PAREN (
-# define BOOST_TESTED_AT(value) > value) ?(-1): BOOST_OPEN_PAREN 1
-# else
-# define BOOST_TESTED_AT(value) != ((value)-(value))
-# endif
-
-# else
-
-# define BOOST_WORKAROUND(symbol, test) 0
-
-# endif
-
-#endif // WORKAROUND_DWA2002126_HPP
diff --git a/boost/exception/detail/attribute_noreturn.hpp b/boost/exception/detail/attribute_noreturn.hpp
deleted file mode 100644
index ae9f031..0000000
--- a/boost/exception/detail/attribute_noreturn.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-//Copyright (c) 2009 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_61531AB0680611DEADD5846855D89593
-#define UUID_61531AB0680611DEADD5846855D89593
-
-#if defined(_MSC_VER)
-#define BOOST_ATTRIBUTE_NORETURN __declspec(noreturn)
-#elif defined(__GNUC__)
-#define BOOST_ATTRIBUTE_NORETURN __attribute__((__noreturn__))
-#else
-#define BOOST_ATTRIBUTE_NORETURN
-#endif
-
-#endif
diff --git a/boost/exception/exception.hpp b/boost/exception/exception.hpp
deleted file mode 100644
index 31d4317..0000000
--- a/boost/exception/exception.hpp
+++ /dev/null
@@ -1,483 +0,0 @@
-//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef UUID_274DA366004E11DCB1DDFE2E56D89593
-#define UUID_274DA366004E11DCB1DDFE2E56D89593
-#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
-
-namespace
-boost
- {
- namespace
- exception_detail
- {
- template <class T>
- class
- refcount_ptr
- {
- public:
-
- refcount_ptr():
- px_(0)
- {
- }
-
- ~refcount_ptr()
- {
- release();
- }
-
- refcount_ptr( refcount_ptr const & x ):
- px_(x.px_)
- {
- add_ref();
- }
-
- refcount_ptr &
- operator=( refcount_ptr const & x )
- {
- adopt(x.px_);
- return *this;
- }
-
- void
- adopt( T * px )
- {
- release();
- px_=px;
- add_ref();
- }
-
- T *
- get() const
- {
- return px_;
- }
-
- private:
-
- T * px_;
-
- void
- add_ref()
- {
- if( px_ )
- px_->add_ref();
- }
-
- void
- release()
- {
- if( px_ && px_->release() )
- px_=0;
- }
- };
- }
-
- ////////////////////////////////////////////////////////////////////////
-
- template <class Tag,class T>
- class error_info;
-
- typedef error_info<struct throw_function_,char const *> throw_function;
- typedef error_info<struct throw_file_,char const *> throw_file;
- typedef error_info<struct throw_line_,int> throw_line;
-
- template <>
- class
- error_info<throw_function_,char const *>
- {
- public:
- typedef char const * value_type;
- value_type v_;
- explicit
- error_info( value_type v ):
- v_(v)
- {
- }
- };
-
- template <>
- class
- error_info<throw_file_,char const *>
- {
- public:
- typedef char const * value_type;
- value_type v_;
- explicit
- error_info( value_type v ):
- v_(v)
- {
- }
- };
-
- template <>
- class
- error_info<throw_line_,int>
- {
- public:
- typedef int value_type;
- value_type v_;
- explicit
- error_info( value_type v ):
- v_(v)
- {
- }
- };
-
-#if defined(__GNUC__)
-# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)
-# pragma GCC visibility push (default)
-# endif
-#endif
- class exception;
-#if defined(__GNUC__)
-# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)
-# pragma GCC visibility pop
-# endif
-#endif
-
- template <class T>
- class shared_ptr;
-
- namespace
- exception_detail
- {
- class error_info_base;
- struct type_info_;
-
- struct
- error_info_container
- {
- virtual char const * diagnostic_information( char const * ) const = 0;
- virtual shared_ptr<error_info_base> get( type_info_ const & ) const = 0;
- virtual void set( shared_ptr<error_info_base> const &, type_info_ const & ) = 0;
- virtual void add_ref() const = 0;
- virtual bool release() const = 0;
- virtual refcount_ptr<exception_detail::error_info_container> clone() const = 0;
-
- protected:
-
- ~error_info_container() throw()
- {
- }
- };
-
- template <class>
- struct get_info;
-
- template <>
- struct get_info<throw_function>;
-
- template <>
- struct get_info<throw_file>;
-
- template <>
- struct get_info<throw_line>;
-
- char const * get_diagnostic_information( exception const &, char const * );
-
- void copy_boost_exception( exception *, exception const * );
-
- template <class E,class Tag,class T>
- E const & set_info( E const &, error_info<Tag,T> const & );
-
- template <class E>
- E const & set_info( E const &, throw_function const & );
-
- template <class E>
- E const & set_info( E const &, throw_file const & );
-
- template <class E>
- E const & set_info( E const &, throw_line const & );
- }
-
-#if defined(__GNUC__)
-# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)
-# pragma GCC visibility push (default)
-# endif
-#endif
- class
- exception
- {
- protected:
-
- exception():
- throw_function_(0),
- throw_file_(0),
- throw_line_(-1)
- {
- }
-
-#ifdef __HP_aCC
- //On HP aCC, this protected copy constructor prevents throwing boost::exception.
- //On all other platforms, the same effect is achieved by the pure virtual destructor.
- exception( exception const & x ) throw():
- data_(x.data_),
- throw_function_(x.throw_function_),
- throw_file_(x.throw_file_),
- throw_line_(x.throw_line_)
- {
- }
-#endif
-
- virtual ~exception() throw()
-#ifndef __HP_aCC
- = 0 //Workaround for HP aCC, =0 incorrectly leads to link errors.
-#endif
- ;
-
-#if (defined(__MWERKS__) && __MWERKS__<=0x3207) || (defined(_MSC_VER) && _MSC_VER<=1310)
- public:
-#else
- private:
-
- template <class E>
- friend E const & exception_detail::set_info( E const &, throw_function const & );
-
- template <class E>
- friend E const & exception_detail::set_info( E const &, throw_file const & );
-
- template <class E>
- friend E const & exception_detail::set_info( E const &, throw_line const & );
-
- template <class E,class Tag,class T>
- friend E const & exception_detail::set_info( E const &, error_info<Tag,T> const & );
-
- friend char const * exception_detail::get_diagnostic_information( exception const &, char const * );
-
- template <class>
- friend struct exception_detail::get_info;
- friend struct exception_detail::get_info<throw_function>;
- friend struct exception_detail::get_info<throw_file>;
- friend struct exception_detail::get_info<throw_line>;
- friend void exception_detail::copy_boost_exception( exception *, exception const * );
-#endif
- mutable exception_detail::refcount_ptr<exception_detail::error_info_container> data_;
- mutable char const * throw_function_;
- mutable char const * throw_file_;
- mutable int throw_line_;
- };
-#if defined(__GNUC__)
-# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)
-# pragma GCC visibility pop
-# endif
-#endif
-
- inline
- exception::
- ~exception() throw()
- {
- }
-
- namespace
- exception_detail
- {
- template <class E>
- E const &
- set_info( E const & x, throw_function const & y )
- {
- x.throw_function_=y.v_;
- return x;
- }
-
- template <class E>
- E const &
- set_info( E const & x, throw_file const & y )
- {
- x.throw_file_=y.v_;
- return x;
- }
-
- template <class E>
- E const &
- set_info( E const & x, throw_line const & y )
- {
- x.throw_line_=y.v_;
- return x;
- }
- }
-
- ////////////////////////////////////////////////////////////////////////
-
- namespace
- exception_detail
- {
-#if defined(__GNUC__)
-# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)
-# pragma GCC visibility push (default)
-# endif
-#endif
- template <class T>
- struct
- error_info_injector:
- public T,
- public exception
- {
- explicit
- error_info_injector( T const & x ):
- T(x)
- {
- }
-
- ~error_info_injector() throw()
- {
- }
- };
-#if defined(__GNUC__)
-# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)
-# pragma GCC visibility pop
-# endif
-#endif
-
- struct large_size { char c[256]; };
- large_size dispatch_boost_exception( exception const * );
-
- struct small_size { };
- small_size dispatch_boost_exception( void const * );
-
- template <class,int>
- struct enable_error_info_helper;
-
- template <class T>
- struct
- enable_error_info_helper<T,sizeof(large_size)>
- {
- typedef T type;
- };
-
- template <class T>
- struct
- enable_error_info_helper<T,sizeof(small_size)>
- {
- typedef error_info_injector<T> type;
- };
-
- template <class T>
- struct
- enable_error_info_return_type
- {
- typedef typename enable_error_info_helper<T,sizeof(exception_detail::dispatch_boost_exception(static_cast<T *>(0)))>::type type;
- };
- }
-
- template <class T>
- inline
- typename
- exception_detail::enable_error_info_return_type<T>::type
- enable_error_info( T const & x )
- {
- typedef typename exception_detail::enable_error_info_return_type<T>::type rt;
- return rt(x);
- }
-
- ////////////////////////////////////////////////////////////////////////
-
- namespace
- exception_detail
- {
-#if defined(__GNUC__)
-# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)
-# pragma GCC visibility push (default)
-# endif
-#endif
- class
- clone_base
- {
- public:
-
- virtual clone_base const * clone() const = 0;
- virtual void rethrow() const = 0;
-
- virtual
- ~clone_base() throw()
- {
- }
- };
-#if defined(__GNUC__)
-# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)
-# pragma GCC visibility pop
-# endif
-#endif
-
- inline
- void
- copy_boost_exception( exception * a, exception const * b )
- {
- refcount_ptr<error_info_container> data;
- if( error_info_container * d=b->data_.get() )
- data = d->clone();
- a->throw_file_ = b->throw_file_;
- a->throw_line_ = b->throw_line_;
- a->throw_function_ = b->throw_function_;
- a->data_ = data;
- }
-
- inline
- void
- copy_boost_exception( void *, void const * )
- {
- }
-
- template <class T>
- class
- clone_impl:
- public T,
- public virtual clone_base
- {
- struct clone_tag { };
- clone_impl( clone_impl const & x, clone_tag ):
- T(x)
- {
- copy_boost_exception(this,&x);
- }
-
- public:
-
- explicit
- clone_impl( T const & x ):
- T(x)
- {
- copy_boost_exception(this,&x);
- }
-
- ~clone_impl() throw()
- {
- }
-
- private:
-
- clone_base const *
- clone() const
- {
- return new clone_impl(*this,clone_tag());
- }
-
- void
- rethrow() const
- {
- throw*this;
- }
- };
- }
-
- template <class T>
- inline
- exception_detail::clone_impl<T>
- enable_current_exception( T const & x )
- {
- return exception_detail::clone_impl<T>(x);
- }
- }
-
-#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
-#pragma warning(pop)
-#endif
-#endif
diff --git a/boost/format.hpp b/boost/format.hpp
deleted file mode 100644
index 73464a8..0000000
--- a/boost/format.hpp
+++ /dev/null
@@ -1,59 +0,0 @@
-// ----------------------------------------------------------------------------
-// format.hpp : primary header
-// ----------------------------------------------------------------------------
-
-// Copyright Samuel Krempp 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/libs/format for library home page
-
-
-// ----------------------------------------------------------------------------
-
-#ifndef BOOST_FORMAT_HPP
-#define BOOST_FORMAT_HPP
-
-#include <vector>
-#include <string>
-#include <boost/detail/workaround.hpp>
-#include <boost/config.hpp>
-
-#ifndef BOOST_NO_STD_LOCALE
-#include <locale>
-#endif
-
-// *** Compatibility framework
-#include <boost/format/detail/compat_workarounds.hpp>
-
-#ifdef BOOST_NO_LOCALE_ISIDIGIT
-#include <cctype> // we'll use the non-locale <cctype>'s std::isdigit(int)
-#endif
-
-// **** Forward declarations ----------------------------------
-#include <boost/format/format_fwd.hpp> // basic_format<Ch,Tr>, and other frontends
-#include <boost/format/internals_fwd.hpp> // misc forward declarations for internal use
-
-// **** Auxiliary structs (stream_format_state<Ch,Tr> , and format_item<Ch,Tr> )
-#include <boost/format/internals.hpp>
-
-// **** Format class interface --------------------------------
-#include <boost/format/format_class.hpp>
-
-// **** Exceptions -----------------------------------------------
-#include <boost/format/exceptions.hpp>
-
-// **** Implementation -------------------------------------------
-#include <boost/format/format_implementation.hpp> // member functions
-#include <boost/format/group.hpp> // class for grouping arguments
-#include <boost/format/feed_args.hpp> // argument-feeding functions
-#include <boost/format/parsing.hpp> // format-string parsing (member-)functions
-
-// **** Implementation of the free functions ----------------------
-#include <boost/format/free_funcs.hpp>
-
-
-// *** Undefine 'local' macros :
-#include <boost/format/detail/unset_macros.hpp>
-
-#endif // BOOST_FORMAT_HPP
diff --git a/boost/format/alt_sstream.hpp b/boost/format/alt_sstream.hpp
deleted file mode 100644
index e236be3..0000000
--- a/boost/format/alt_sstream.hpp
+++ /dev/null
@@ -1,176 +0,0 @@
-// ----------------------------------------------------------------------------
-// alt_sstream.hpp : alternative stringstream
-// ----------------------------------------------------------------------------
-
-// Copyright Samuel Krempp 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/libs/format for library home page
-
-// ----------------------------------------------------------------------------
-
-
-
-#ifndef BOOST_SK_ALT_SSTREAM_HPP
-#define BOOST_SK_ALT_SSTREAM_HPP
-
-#include <string>
-#include <boost/format/detail/compat_workarounds.hpp>
-#include <boost/utility/base_from_member.hpp>
-#include <boost/shared_ptr.hpp>
-#include <boost/assert.hpp>
-
-namespace boost {
- namespace io {
-
- template<class Ch, class Tr=::std::char_traits<Ch>,
- class Alloc=::std::allocator<Ch> >
- class basic_altstringbuf;
-
- template<class Ch, class Tr =::std::char_traits<Ch>,
- class Alloc=::std::allocator<Ch> >
- class basic_oaltstringstream;
-
-
- template<class Ch, class Tr, class Alloc>
- class basic_altstringbuf
- : public ::std::basic_streambuf<Ch, Tr>
- {
- typedef ::std::basic_streambuf<Ch, Tr> streambuf_t;
- typedef typename CompatAlloc<Alloc>::compatible_type compat_allocator_type;
- typedef typename CompatTraits<Tr>::compatible_type compat_traits_type;
- public:
- typedef Ch char_type;
- typedef Tr traits_type;
- typedef typename compat_traits_type::int_type int_type;
- typedef typename compat_traits_type::pos_type pos_type;
- typedef typename compat_traits_type::off_type off_type;
- typedef Alloc allocator_type;
- typedef ::std::basic_string<Ch, Tr, Alloc> string_type;
- typedef typename string_type::size_type size_type;
-
- typedef ::std::streamsize streamsize;
-
-
- explicit basic_altstringbuf(std::ios_base::openmode mode
- = std::ios_base::in | std::ios_base::out)
- : putend_(NULL), is_allocated_(false), mode_(mode)
- {}
- explicit basic_altstringbuf(const string_type& s,
- ::std::ios_base::openmode mode
- = ::std::ios_base::in | ::std::ios_base::out)
- : putend_(NULL), is_allocated_(false), mode_(mode)
- { dealloc(); str(s); }
- virtual ~basic_altstringbuf()
- { dealloc(); }
- using streambuf_t::pbase;
- using streambuf_t::pptr;
- using streambuf_t::epptr;
- using streambuf_t::eback;
- using streambuf_t::gptr;
- using streambuf_t::egptr;
-
- void clear_buffer();
- void str(const string_type& s);
-
- // 0-copy access :
- Ch * begin() const;
- size_type size() const;
- size_type cur_size() const; // stop at current pointer
- Ch * pend() const // the highest position reached by pptr() since creation
- { return ((putend_ < pptr()) ? pptr() : putend_); }
- size_type pcount() const
- { return static_cast<size_type>( pptr() - pbase()) ;}
-
- // copy buffer to string :
- string_type str() const
- { return string_type(begin(), size()); }
- string_type cur_str() const
- { return string_type(begin(), cur_size()); }
- protected:
- explicit basic_altstringbuf (basic_altstringbuf * s,
- ::std::ios_base::openmode mode
- = ::std::ios_base::in | ::std::ios_base::out)
- : putend_(NULL), is_allocated_(false), mode_(mode)
- { dealloc(); str(s); }
-
- virtual pos_type seekoff(off_type off, ::std::ios_base::seekdir way,
- ::std::ios_base::openmode which
- = ::std::ios_base::in | ::std::ios_base::out);
- virtual pos_type seekpos (pos_type pos,
- ::std::ios_base::openmode which
- = ::std::ios_base::in | ::std::ios_base::out);
- virtual int_type underflow();
- virtual int_type pbackfail(int_type meta = compat_traits_type::eof());
- virtual int_type overflow(int_type meta = compat_traits_type::eof());
- void dealloc();
- private:
- enum { alloc_min = 256}; // minimum size of allocations
-
- Ch *putend_; // remembers (over seeks) the highest value of pptr()
- bool is_allocated_;
- ::std::ios_base::openmode mode_;
- compat_allocator_type alloc_; // the allocator object
- };
-
-
-// --- class basic_oaltstringstream ----------------------------------------
- template <class Ch, class Tr, class Alloc>
- class basic_oaltstringstream
- : private base_from_member< shared_ptr< basic_altstringbuf< Ch, Tr, Alloc> > >,
- public ::std::basic_ostream<Ch, Tr>
- {
- class No_Op {
- // used as no-op deleter for (not-owner) shared_pointers
- public:
- template<class T>
- const T & operator()(const T & arg) { return arg; }
- };
- typedef ::std::basic_ostream<Ch, Tr> stream_t;
- typedef boost::base_from_member<boost::shared_ptr<
- basic_altstringbuf<Ch,Tr, Alloc> > >
- pbase_type;
- typedef ::std::basic_string<Ch, Tr, Alloc> string_type;
- typedef typename string_type::size_type size_type;
- typedef basic_altstringbuf<Ch, Tr, Alloc> stringbuf_t;
- public:
- typedef Alloc allocator_type;
- basic_oaltstringstream()
- : pbase_type(new stringbuf_t), stream_t(rdbuf())
- { }
- basic_oaltstringstream(::boost::shared_ptr<stringbuf_t> buf)
- : pbase_type(buf), stream_t(rdbuf())
- { }
- basic_oaltstringstream(stringbuf_t * buf)
- : pbase_type(buf, No_Op() ), stream_t(rdbuf())
- { }
- stringbuf_t * rdbuf() const
- { return pbase_type::member.get(); }
- void clear_buffer()
- { rdbuf()->clear_buffer(); }
-
- // 0-copy access :
- Ch * begin() const
- { return rdbuf()->begin(); }
- size_type size() const
- { return rdbuf()->size(); }
- size_type cur_size() const // stops at current position
- { return rdbuf()->cur_size(); }
-
- // copy buffer to string :
- string_type str() const // [pbase, epptr[
- { return rdbuf()->str(); }
- string_type cur_str() const // [pbase, pptr[
- { return rdbuf()->cur_str(); }
- void str(const string_type& s)
- { rdbuf()->str(s); }
- };
-
- } // N.S. io
-} // N.S. boost
-
-#include <boost/format/alt_sstream_impl.hpp>
-
-#endif // include guard
-
diff --git a/boost/format/alt_sstream_impl.hpp b/boost/format/alt_sstream_impl.hpp
deleted file mode 100644
index 9975e4f..0000000
--- a/boost/format/alt_sstream_impl.hpp
+++ /dev/null
@@ -1,313 +0,0 @@
-// ----------------------------------------------------------------------------
-// alt_sstream_impl.hpp : alternative stringstream, templates implementation
-// ----------------------------------------------------------------------------
-
-// Copyright Samuel Krempp 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/libs/format for library home page
-
-// ----------------------------------------------------------------------------
-
-#ifndef BOOST_SK_ALT_SSTREAM_IMPL_HPP
-#define BOOST_SK_ALT_SSTREAM_IMPL_HPP
-
-namespace boost {
- namespace io {
-// --- Implementation ------------------------------------------------------//
-
- template<class Ch, class Tr, class Alloc>
- void basic_altstringbuf<Ch, Tr, Alloc>::
- clear_buffer () {
- const Ch * p = pptr();
- const Ch * b = pbase();
- if(p != NULL && p != b) {
- seekpos(0, ::std::ios_base::out);
- }
- p = gptr();
- b = eback();
- if(p != NULL && p != b) {
- seekpos(0, ::std::ios_base::in);
- }
- }
-
- template<class Ch, class Tr, class Alloc>
- void basic_altstringbuf<Ch, Tr, Alloc>::
- str (const string_type& s) {
- size_type sz=s.size();
- if(sz != 0 && mode_ & (::std::ios_base::in | ::std::ios_base::out) ) {
-#ifdef _RWSTD_NO_CLASS_PARTIAL_SPEC
- void *vd_ptr = alloc_.allocate(sz, is_allocated_? eback() : 0);
- Ch *new_ptr = static_cast<Ch *>(vd_ptr);
-#else
- Ch *new_ptr = alloc_.allocate(sz, is_allocated_? eback() : 0);
-#endif
- // if this didnt throw, we're safe, update the buffer
- dealloc();
- sz = s.copy(new_ptr, sz);
- putend_ = new_ptr + sz;
- if(mode_ & ::std::ios_base::in)
- streambuf_t::setg(new_ptr, new_ptr, new_ptr + sz);
- if(mode_ & ::std::ios_base::out) {
- streambuf_t::setp(new_ptr, new_ptr + sz);
- if(mode_ & (::std::ios_base::app | ::std::ios_base::ate))
- streambuf_t::pbump(static_cast<int>(sz));
- if(gptr() == NULL)
- streambuf_t::setg(new_ptr, NULL, new_ptr);
- }
- is_allocated_ = true;
- }
- else
- dealloc();
- }
- template<class Ch, class Tr, class Alloc>
- Ch* basic_altstringbuf<Ch, Tr, Alloc>::
- begin () const {
- if(mode_ & ::std::ios_base::out && pptr() != NULL)
- return pbase();
- else if(mode_ & ::std::ios_base::in && gptr() != NULL)
- return eback();
- return NULL;
- }
-
- template<class Ch, class Tr, class Alloc>
- typename std::basic_string<Ch,Tr,Alloc>::size_type
- basic_altstringbuf<Ch, Tr, Alloc>::
- size () const {
- if(mode_ & ::std::ios_base::out && pptr())
- return static_cast<size_type>(pend() - pbase());
- else if(mode_ & ::std::ios_base::in && gptr())
- return static_cast<size_type>(egptr() - eback());
- else
- return 0;
- }
-
- template<class Ch, class Tr, class Alloc>
- typename std::basic_string<Ch,Tr,Alloc>::size_type
- basic_altstringbuf<Ch, Tr, Alloc>::
- cur_size () const {
- if(mode_ & ::std::ios_base::out && pptr())
- return static_cast<streamsize>( pptr() - pbase());
- else if(mode_ & ::std::ios_base::in && gptr())
- return static_cast<streamsize>( gptr() - eback());
- else
- return 0;
- }
-
- template<class Ch, class Tr, class Alloc>
- typename basic_altstringbuf<Ch, Tr, Alloc>::pos_type
- basic_altstringbuf<Ch, Tr, Alloc>::
- seekoff (off_type off, ::std::ios_base::seekdir way, ::std::ios_base::openmode which) {
- if(pptr() != NULL && putend_ < pptr())
- putend_ = pptr();
- if(which & ::std::ios_base::in && gptr() != NULL) {
- // get area
- if(way == ::std::ios_base::end)
- off += static_cast<off_type>(putend_ - gptr());
- else if(way == ::std::ios_base::beg)
- off += static_cast<off_type>(eback() - gptr());
- else if(way != ::std::ios_base::cur || (which & ::std::ios_base::out) )
- // (altering in&out is only supported if way is beg or end, not cur)
- return pos_type(off_type(-1));
- if(eback() <= off+gptr() && off+gptr() <= putend_ ) {
- // set gptr
- streambuf_t::gbump(static_cast<int>(off));
- if(which & ::std::ios_base::out && pptr() != NULL)
- // update pptr to match gptr
- streambuf_t::pbump(static_cast<int>(gptr()-pptr()));
- }
- else
- off = off_type(-1);
- }
- else if(which & ::std::ios_base::out && pptr() != NULL) {
- // put area
- if(way == ::std::ios_base::end)
- off += static_cast<off_type>(putend_ - pptr());
- else if(way == ::std::ios_base::beg)
- off += static_cast<off_type>(pbase() - pptr());
- else if(way != ::std::ios_base::beg)
- return pos_type(off_type(-1));
- if(pbase() <= off+pptr() && off+pptr() <= putend_)
- // set pptr
- streambuf_t::pbump(static_cast<int>(off));
- else
- off = off_type(-1);
- }
- else // neither in nor out
- off = off_type(-1);
- return (pos_type(off));
- }
- //- end seekoff(..)
-
-
- template<class Ch, class Tr, class Alloc>
- typename basic_altstringbuf<Ch, Tr, Alloc>::pos_type
- basic_altstringbuf<Ch, Tr, Alloc>::
- seekpos (pos_type pos, ::std::ios_base::openmode which) {
- off_type off = off_type(pos); // operation guaranteed by 27.4.3.2 table 88
- if(pptr() != NULL && putend_ < pptr())
- putend_ = pptr();
- if(off != off_type(-1)) {
- if(which & ::std::ios_base::in && gptr() != NULL) {
- // get area
- if(0 <= off && off <= putend_ - eback()) {
- streambuf_t::gbump(static_cast<int>(eback() - gptr() + off));
- if(which & ::std::ios_base::out && pptr() != NULL) {
- // update pptr to match gptr
- streambuf_t::pbump(static_cast<int>(gptr()-pptr()));
- }
- }
- else
- off = off_type(-1);
- }
- else if(which & ::std::ios_base::out && pptr() != NULL) {
- // put area
- if(0 <= off && off <= putend_ - eback())
- streambuf_t::pbump(static_cast<int>(eback() - pptr() + off));
- else
- off = off_type(-1);
- }
- else // neither in nor out
- off = off_type(-1);
- return (pos_type(off));
- }
- else {
- BOOST_ASSERT(0); // �27.4.3.2 allows undefined-behaviour here
- return pos_type(off_type(-1));
- }
- }
- // -end seekpos(..)
-
-
- template<class Ch, class Tr, class Alloc>
- typename basic_altstringbuf<Ch, Tr, Alloc>::int_type
- basic_altstringbuf<Ch, Tr, Alloc>::
- underflow () {
- if(gptr() == NULL) // no get area -> nothing to get.
- return (compat_traits_type::eof());
- else if(gptr() < egptr()) // ok, in buffer
- return (compat_traits_type::to_int_type(*gptr()));
- else if(mode_ & ::std::ios_base::in && pptr() != NULL
- && (gptr() < pptr() || gptr() < putend_) )
- { // expand get area
- if(putend_ < pptr())
- putend_ = pptr(); // remember pptr reached this far
- streambuf_t::setg(eback(), gptr(), putend_);
- return (compat_traits_type::to_int_type(*gptr()));
- }
- else // couldnt get anything. EOF.
- return (compat_traits_type::eof());
- }
- // -end underflow(..)
-
-
- template<class Ch, class Tr, class Alloc>
- typename basic_altstringbuf<Ch, Tr, Alloc>::int_type
- basic_altstringbuf<Ch, Tr, Alloc>::
- pbackfail (int_type meta) {
- if(gptr() != NULL && (eback() < gptr())
- && (mode_ & (::std::ios_base::out)
- || compat_traits_type::eq_int_type(compat_traits_type::eof(), meta)
- || compat_traits_type::eq(compat_traits_type::to_char_type(meta), gptr()[-1]) ) ) {
- streambuf_t::gbump(-1); // back one character
- if(!compat_traits_type::eq_int_type(compat_traits_type::eof(), meta))
- // put-back meta into get area
- *gptr() = compat_traits_type::to_char_type(meta);
- return (compat_traits_type::not_eof(meta));
- }
- else
- return (compat_traits_type::eof()); // failed putback
- }
- // -end pbackfail(..)
-
-
- template<class Ch, class Tr, class Alloc>
- typename basic_altstringbuf<Ch, Tr, Alloc>::int_type
- basic_altstringbuf<Ch, Tr, Alloc>::
- overflow (int_type meta) {
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4996)
-#endif
- if(compat_traits_type::eq_int_type(compat_traits_type::eof(), meta))
- return compat_traits_type::not_eof(meta); // nothing to do
- else if(pptr() != NULL && pptr() < epptr()) {
- streambuf_t::sputc(compat_traits_type::to_char_type(meta));
- return meta;
- }
- else if(! (mode_ & ::std::ios_base::out))
- // no write position, and cant make one
- return compat_traits_type::eof();
- else { // make a write position available
- std::size_t prev_size = pptr() == NULL ? 0 : epptr() - eback();
- std::size_t new_size = prev_size;
- // exponential growth : size *= 1.5
- std::size_t add_size = new_size / 2;
- if(add_size < alloc_min)
- add_size = alloc_min;
- Ch * newptr = NULL, *oldptr = eback();
-
- // make sure adding add_size wont overflow size_t
- while (0 < add_size && ((std::numeric_limits<std::size_t>::max)()
- - add_size < new_size) )
- add_size /= 2;
- if(0 < add_size) {
- new_size += add_size;
-#ifdef _RWSTD_NO_CLASS_PARTIAL_SPEC
- void *vdptr = alloc_.allocate(new_size, is_allocated_? oldptr : 0);
- newptr = static_cast<Ch *>(vdptr);
-#else
- newptr = alloc_.allocate(new_size, is_allocated_? oldptr : 0);
-#endif
- }
-
- if(0 < prev_size)
- compat_traits_type::copy(newptr, oldptr, prev_size);
- if(is_allocated_)
- alloc_.deallocate(oldptr, prev_size);
- is_allocated_=true;
-
- if(prev_size == 0) { // first allocation
- putend_ = newptr;
- streambuf_t::setp(newptr, newptr + new_size);
- if(mode_ & ::std::ios_base::in)
- streambuf_t::setg(newptr, newptr, newptr + 1);
- else
- streambuf_t::setg(newptr, 0, newptr);
- }
- else { // update pointers
- putend_ = putend_ - oldptr + newptr;
- int pptr_count = static_cast<int>(pptr()-pbase());
- int gptr_count = static_cast<int>(gptr()-eback());
- streambuf_t::setp(pbase() - oldptr + newptr, newptr + new_size);
- streambuf_t::pbump(pptr_count);
- if(mode_ & ::std::ios_base::in)
- streambuf_t::setg(newptr, newptr + gptr_count, pptr() + 1);
- else
- streambuf_t::setg(newptr, 0, newptr);
- }
- streambuf_t::sputc(compat_traits_type::to_char_type(meta));
- return meta;
- }
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
- }
- // -end overflow(..)
-
- template<class Ch, class Tr, class Alloc>
- void basic_altstringbuf<Ch, Tr, Alloc>:: dealloc() {
- if(is_allocated_)
- alloc_.deallocate(eback(), (pptr() != NULL ? epptr() : egptr()) - eback());
- is_allocated_ = false;
- streambuf_t::setg(0, 0, 0);
- streambuf_t::setp(0, 0);
- putend_ = NULL;
- }
-
- }// N.S. io
-} // N.S. boost
-
-#endif // include guard
-
diff --git a/boost/format/detail/compat_workarounds.hpp b/boost/format/detail/compat_workarounds.hpp
deleted file mode 100644
index 8e51514..0000000
--- a/boost/format/detail/compat_workarounds.hpp
+++ /dev/null
@@ -1,86 +0,0 @@
-// ----------------------------------------------------------------------------
-// compat_workarounds : general framework for non-conformance workarounds
-// ----------------------------------------------------------------------------
-
-// Copyright Samuel Krempp 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/libs/format for library home page
-
-// ----------------------------------------------------------------------------
-
-
-// this file defines wrapper classes to hide non-conforming
-// std::char_traits<> and std::allocator<> traits
-// and Includes : config_macros.hpp (defines config macros
-// and compiler-specific switches)
-
-// Non-conformant Std-libs fail to supply conformant traits (std::char_traits,
-// std::allocator) and/or the std::string doesnt support them.
-// We don't want to have hundreds of #ifdef workarounds, so we define
-// replacement traits.
-// But both char_traits and allocator traits are visible in the interface,
-// (inside the final string type), thus we need to keep both
-// the replacement type (typedefed to 'compatible_type') for real use,
-// and the original stdlib type (typedef to 'type_for_string') for interface
-// visibility. This is what Compat* classes do (as well as be transparent
-// when good allocator and char traits are present)
-
-#ifndef BOOST_FORMAT_COMPAT_WORKAROUNDS_HPP
-#define BOOST_FORMAT_COMPAT_WORKAROUNDS_HPP
-
-namespace boost {
- namespace io {
-
- // gcc-2.95 char traits (non-conformantly named string_char_traits)
- // lack several functions so we extend them in a replacement class.
- template<class Tr>
- class CompatTraits;
-
- // std::allocator<Ch> in gcc-2.95 is ok, but basic_string only works
- // with plain 'std::alloc' still, alt_stringbuf requires a functionnal
- // alloc template argument, so we need a replacement allocator
- template<class Alloc>
- class CompatAlloc;
- } // N.S. io
-}// N.S. boost
-
-
-#include <boost/format/detail/config_macros.hpp>
- // sets-up macros and load compiler-specific workarounds headers.
-
-#if !defined(BOOST_FORMAT_STREAMBUF_DEFINED)
-// workarounds-gcc-2.95 might have defined own streambuf
-#include <streambuf>
-#endif
-
-#if !defined(BOOST_FORMAT_OSTREAM_DEFINED)
-// workarounds-gcc-2.95 might already have included <iostream>
-#include <ostream>
-#endif
-
-
-
-namespace boost {
- namespace io {
-
- // **** CompatTraits general definitions : ----------------------------
- template<class Tr>
- class CompatTraits
- { // general case : be transparent
- public:
- typedef Tr compatible_type;
- };
-
- // **** CompatAlloc general definitions : -----------------------------
- template<class Alloc>
- class CompatAlloc
- { // general case : be transparent
- public:
- typedef Alloc compatible_type;
- };
-
- } //N.S. io
-} // N.S. boost
-#endif // include guard
diff --git a/boost/format/detail/config_macros.hpp b/boost/format/detail/config_macros.hpp
deleted file mode 100644
index 1f01b17..0000000
--- a/boost/format/detail/config_macros.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-// -*- C++ -*-
-// ----------------------------------------------------------------------------
-// config_macros.hpp : configuration macros for the format library
-// only BOOST_IO_STD is absolutely needed (it should be 'std::' in general)
-// others are compiler-specific workaround macros used in #ifdef switches
-// ----------------------------------------------------------------------------
-
-// Copyright Samuel Krempp 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/libs/format for library home page
-
-
-// ----------------------------------------------------------------------------
-
-#ifndef BOOST_FORMAT_CONFIG_MACROS_HPP
-#define BOOST_FORMAT_CONFIG_MACROS_HPP
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-// make sure our local macros wont override something :
-#if defined(BOOST_NO_LOCALE_ISDIGIT) || defined(BOOST_OVERLOAD_FOR_NON_CONST) \
- || defined(BOOST_IO_STD) || defined( BOOST_IO_NEEDS_USING_DECLARATION ) \
- || defined(BOOST_NO_TEMPLATE_STD_STREAM) \
- || defined(BOOST_FORMAT_STREAMBUF_DEFINED) || defined(BOOST_FORMAT_OSTREAM_DEFINED)
-#error "boost::format uses a local macro that is already defined."
-#endif
-
-// specific workarounds. each header can define BOOS_IO_STD if it
-// needs. (e.g. because of IO_NEEDS_USING_DECLARATION)
-#include <boost/format/detail/workarounds_gcc-2_95.hpp>
-#include <boost/format/detail/workarounds_stlport.hpp>
-
-#ifndef BOOST_IO_STD
-# define BOOST_IO_STD ::std::
-#endif
-
-#if defined(BOOST_NO_STD_LOCALE) || \
- ( BOOST_WORKAROUND(__BORLANDC__, <= 0x564) \
- || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT( 0x570 ) ) )
-// some future __BORLANDC__ >0x564 versions might not need this
-// 0x570 is Borland's kylix branch
-#define BOOST_NO_LOCALE_ISDIGIT
-#endif
-
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x570) ) || BOOST_WORKAROUND( BOOST_MSVC, BOOST_TESTED_AT(1300))
-#define BOOST_NO_OVERLOAD_FOR_NON_CONST
-#endif
-
-// gcc-2.95's native stringstream is not usable
-#if BOOST_WORKAROUND(__GNUC__, < 3) && !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION)
-#define BOOST_FORMAT_IGNORE_STRINGSTREAM
-#endif
-
-
-// **** Workaround for io streams, stlport and msvc.
-#ifdef BOOST_IO_NEEDS_USING_DECLARATION
-namespace boost {
- using std::char_traits;
- using std::basic_ostream;
- namespace io {
- using std::basic_ostream;
- namespace detail {
- using std::basic_ios;
- using std::basic_ostream;
- }
- }
-#if ! defined(BOOST_NO_STD_LOCALE)
- using std::locale;
- namespace io {
- using std::locale;
- namespace detail {
- using std::locale;
- }
- }
-#endif // locale
-}
- // -end N.S. boost
-#endif // needs_using_declaration
-
-
-// *** hide std::locale if it doesnt exist.
-// this typedef is either std::locale or int, avoids placing ifdefs everywhere
-namespace boost { namespace io { namespace detail {
-#if ! defined(BOOST_NO_STD_LOCALE)
- typedef BOOST_IO_STD locale locale_t;
-#else
- typedef int locale_t;
-#endif
-} } }
-
-
-// ----------------------------------------------------------------------------
-
-#endif // BOOST_FORMAT_MACROS_DEFAULT_HPP
diff --git a/boost/format/detail/msvc_disambiguater.hpp b/boost/format/detail/msvc_disambiguater.hpp
deleted file mode 100644
index f12e5e9..0000000
--- a/boost/format/detail/msvc_disambiguater.hpp
+++ /dev/null
@@ -1,56 +0,0 @@
-// ----------------------------------------------------------------------------
-// msvc_disambiguater.hpp : msvc workarounds. (for put_{head|last} overloads)
-// the trick was described in boost's list by Aleksey Gurtovoy
-// ----------------------------------------------------------------------------
-
-// Copyright Samuel Krempp 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/libs/format for library home page
-
-// ----------------------------------------------------------------------------
-
-#ifndef BOOST_MSVC_DISAMBIGUATER_HPP
-#define BOOST_MSVC_DISAMBIGUATER_HPP
-
-#if BOOST_WORKAROUND( BOOST_MSVC, <= 1300) || \
- BOOST_WORKAROUND(__DECCXX_VER, BOOST_TESTED_AT(60590042))
- // this whole header is specifically for msvc up to 7.0
-
-#include <boost/format/group.hpp>
-#include <ostream>
-
-namespace boost {
-namespace io {
-namespace detail {
-
-template< class Ch, class Tr, class T >
-struct disambiguater
-{
- template< typename U >
- static void put_head(BOOST_IO_STD basic_ostream<Ch, Tr>& os, group1<U> const& x, long)
- {
- os << group_head(x.a1_);
- }
- static void put_head(BOOST_IO_STD basic_ostream<Ch, Tr>& os, T const& x, int)
- {
- }
- template< typename U >
- static void put_last(BOOST_IO_STD basic_ostream<Ch, Tr>& os, group1<U> const& x, long)
- {
- os << group_last(x.a1_);
- }
- static void put_last(BOOST_IO_STD basic_ostream<Ch, Tr>& os, T const& x, int)
- {
- os << x;
- }
-};
-
-} // namespace detail
-} // namespace io
-} // namespace boost
-
-#endif // -BOOST_MSVC
-
-#endif // -BOOST_MSVC_DISAMBIGUATER_HPP
diff --git a/boost/format/detail/unset_macros.hpp b/boost/format/detail/unset_macros.hpp
deleted file mode 100644
index b3ac47b..0000000
--- a/boost/format/detail/unset_macros.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-// ----------------------------------------------------------------------------
-// unset_macros.hpp
-// ----------------------------------------------------------------------------
-
-// Copyright Samuel Krempp 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/libs/format for library home page
-
-// ----------------------------------------------------------------------------
-
-// *** Undefine 'local' macros :
-#ifdef BOOST_NO_OVERLOAD_FOR_NON_CONST
-#undef BOOST_NO_OVERLOAD_FOR_NON_CONST
-#endif
-#ifdef BOOST_NO_LOCALE_ISDIGIT
-#undef BOOST_NO_LOCALE_ISDIGIT
-#endif
-#ifdef BOOST_IO_STD
-#undef BOOST_IO_STD
-#endif
-#ifdef BOOST_IO_NEEDS_USING_DECLARATION
-#undef BOOST_IO_NEEDS_USING_DECLARATION
-#endif
-#ifdef BOOST_NO_TEMPLATE_STD_STREAM
-#undef BOOST_NO_TEMPLATE_STD_STREAM
-#endif
-#ifdef BOOST_FORMAT_STREAMBUF_DEFINED
-#undef BOOST_FORMAT_STREAMBUF_DEFINED
-#endif
-#ifdef BOOST_FORMAT_OSTREAM_DEFINED
-#undef BOOST_FORMAT_OSTREAM_DEFINED
-#endif
diff --git a/boost/format/detail/workarounds_gcc-2_95.hpp b/boost/format/detail/workarounds_gcc-2_95.hpp
deleted file mode 100644
index 8c49d42..0000000
--- a/boost/format/detail/workarounds_gcc-2_95.hpp
+++ /dev/null
@@ -1,162 +0,0 @@
-// ----------------------------------------------------------------------------
-// workarounds for gcc < 3.0.
-// ----------------------------------------------------------------------------
-
-// Copyright Samuel Krempp 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/libs/format for library home page
-
-
-// ----------------------------------------------------------------------------
-
-// There's a lot to do, the stdlib shipped with gcc prior to 3.x
-// was terribly non-conforming.
-// . defines macros switches
-// . supplies template classes basic_foo<char,Tr> where gcc only supplies foo.
-// i.e :
-// - basic_ios<char, Tr> from ios
-// - basic_ostream<char, Tr> from ostream
-// - basic_srteambuf<char, Tr> from streambuf
-// these can be used transparently. (it obviously does not work for wchar_t)
-// . specialise CompatAlloc and CompatTraits to wrap gcc-2.95's
-// string_char_traits and std::alloc
-
-#if BOOST_WORKAROUND(__GNUC__, < 3) && !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION)
- // only for gcc-2.95's native stdlib
-
-#ifndef BOOST_FORMAT_WORKAROUNDS_GCC295_H
-#define BOOST_FORMAT_WORKAROUNDS_GCC295_H
-
-// SGI STL doesnt have <ostream> and others, so we need iostream.
-#include <iostream>
-#define BOOST_FORMAT_OSTREAM_DEFINED
-
-#include <streambuf.h>
-#define BOOST_FORMAT_STREAMBUF_DEFINED
-
-#define BOOST_NO_TEMPLATE_STD_STREAM
-
-#ifndef BOOST_IO_STD
-# define BOOST_IO_STD std::
-#endif
-
-
-
-// ***
-// gcc's simple classes turned into standard-like template classes :
-
-namespace std {
-
-
- // gcc has string_char_traits, it's incomplete.
- // we declare a std::char_traits, and specialize CompatTraits<..> on it
- // to do what is required
- template<class Ch>
- class char_traits; // no definition here, we will just use it as a tag.
-
- template <class Ch, class Tr>
- class basic_streambuf;
-
- template <class Tr>
- class basic_streambuf<char, Tr> : public streambuf {
- };
-
- template <class Ch, class Tr=::std::char_traits<Ch> >
- class basic_ios;
-
- template <class Tr>
- class basic_ios<char, Tr> : public ostream {
- public:
- basic_ios(streambuf * p) : ostream(p) {};
- char fill() const { return ios::fill(); } // gcc returns wchar..
- char fill(char c) { return ios::fill(c); } // gcc takes wchar..
- char widen(char c) { return c; }
- char narrow(char c, char def) { return c; }
- basic_ios& copyfmt(const ios& right) {
- fill(right.fill());
- flags(right.flags() );
- exceptions(right.exceptions());
- width(right.width());
- precision(right.precision());
- return *this;
- }
- };
-
-
- typedef ios ios_base;
-
- template <class Ch, class Tr>
- class basic_ostream;
-
- template <class Tr>
- class basic_ostream<char, Tr> : public basic_ios<char, Tr>
- {
- public:
- basic_ostream(streambuf * p) : basic_ios<char,Tr> (p) {}
- };
-
-} // namespace std
-
-
-namespace boost {
- namespace io {
-
-
- // ** CompatTraits gcc2.95 specialisations ----------------------------
- template<class Ch>
- class CompatTraits< ::std::string_char_traits<Ch> >
- : public ::std::string_char_traits<Ch>
- {
- public:
- typedef CompatTraits compatible_type;
-
- typedef Ch char_type;
- typedef int int_type;
- typedef ::std::streampos pos_type;
- typedef ::std::streamoff off_type;
-
- static char_type
- to_char_type(const int_type& meta) {
- return static_cast<char_type>(meta); }
- static int_type
- to_int_type(const char_type& ch) {
- return static_cast<int_type>(static_cast<unsigned char>(ch) );}
- static bool
- eq_int_type(const int_type& left, const int_type& right) {
- return left == right; }
- static int_type
- eof() {
- return static_cast<int_type>(EOF);
- }
- static int_type
- not_eof(const int_type& meta) {
- return (meta == eof()) ? 0 : meta;
- }
- };
-
- template<class Ch>
- class CompatTraits< ::std::char_traits<Ch> > {
- public:
- typedef CompatTraits< ::std::string_char_traits<Ch> > compatible_type;
- };
-
- // ** CompatAlloc gcc-2.95 specialisations ---------------------------
- template<>
- class CompatAlloc< ::std::alloc>
- {
- public:
- typedef ::std::allocator<char> compatible_type;
- };
-
- } // N.S. io
-} // N.S. boost
-
-
-
-
-
-#endif // include guard
-
-#endif // if workaround
diff --git a/boost/format/detail/workarounds_stlport.hpp b/boost/format/detail/workarounds_stlport.hpp
deleted file mode 100644
index eb35dc1..0000000
--- a/boost/format/detail/workarounds_stlport.hpp
+++ /dev/null
@@ -1,42 +0,0 @@
-// ----------------------------------------------------------------------------
-// workarounds_stlport.hpp : workaround STLport issues
-// ----------------------------------------------------------------------------
-
-// Copyright Samuel Krempp 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/libs/format for library home page
-
-// ----------------------------------------------------------------------------
-
-#ifndef BOOST_MACROS_STLPORT_HPP
-#define BOOST_MACROS_STLPORT_HPP
-
-#if defined(_STLPORT_VERSION) && BOOST_WORKAROUND( BOOST_MSVC, <= 1300)
-// msvc-6-stlport fails to find basic_string::append( iterator, iterator) when linking
-// might affect other MSwindows compilers
-#define BOOST_NO_STRING_APPEND
-#endif
-
-// *** This should go to "boost/config/stdlib/stlport.hpp".
-
-// If the streams are not native and there are problems with using templates
-// accross namespaces, we define some macros to enable a workaround for this.
-
-// STLport 4.5
-#if !defined(_STLP_OWN_IOSTREAMS) && defined(_STLP_USE_NAMESPACES) && defined(BOOST_NO_USING_TEMPLATE)
-# define BOOST_IO_STD
-# define BOOST_IO_NEEDS_USING_DECLARATION
-#endif
-
-// STLport 4.0
-#if !defined(__SGI_STL_OWN_IOSTREAMS) && defined(__STL_USE_OWN_NAMESPACE) && defined(BOOST_NO_USING_TEMPLATE)
-# define BOOST_IO_STD
-# define BOOST_IO_NEEDS_USING_DECLARATION
-#endif
-
-
-// ----------------------------------------------------------------------------
-
-#endif // BOOST_MACROS_STLPORT_HPP
diff --git a/boost/format/exceptions.hpp b/boost/format/exceptions.hpp
deleted file mode 100644
index 9b2de83..0000000
--- a/boost/format/exceptions.hpp
+++ /dev/null
@@ -1,103 +0,0 @@
-// ----------------------------------------------------------------------------
-// boost/format/exceptions.hpp
-// ----------------------------------------------------------------------------
-
-// Copyright Samuel Krempp 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/format/ for library home page
-
-// ----------------------------------------------------------------------------
-
-#ifndef BOOST_FORMAT_EXCEPTIONS_HPP
-#define BOOST_FORMAT_EXCEPTIONS_HPP
-
-
-#include <stdexcept>
-
-
-namespace boost {
-
- namespace io {
-
-// **** exceptions -----------------------------------------------
-
- class format_error : public std::exception
- {
- public:
- format_error() {}
- virtual const char *what() const throw() {
- return "boost::format_error: "
- "format generic failure";
- }
- };
-
- class bad_format_string : public format_error
- {
- std::size_t pos_, next_;
- public:
- bad_format_string(std::size_t pos, std::size_t size)
- : pos_(pos), next_(size) {}
- std::size_t get_pos() const { return pos_; }
- std::size_t get_next() const { return next_; }
- virtual const char *what() const throw() {
- return "boost::bad_format_string: format-string is ill-formed";
- }
- };
-
- class too_few_args : public format_error
- {
- std::size_t cur_, expected_;
- public:
- too_few_args(std::size_t cur, std::size_t expected)
- : cur_(cur), expected_(expected) {}
- std::size_t get_cur() const { return cur_; }
- std::size_t get_expected() const { return expected_; }
- virtual const char *what() const throw() {
- return "boost::too_few_args: "
- "format-string referred to more arguments than were passed";
- }
- };
-
- class too_many_args : public format_error
- {
- std::size_t cur_, expected_;
- public:
- too_many_args(std::size_t cur, std::size_t expected)
- : cur_(cur), expected_(expected) {}
- std::size_t get_cur() const { return cur_; }
- std::size_t get_expected() const { return expected_; }
- virtual const char *what() const throw() {
- return "boost::too_many_args: "
- "format-string referred to less arguments than were passed";
- }
- };
-
-
- class out_of_range : public format_error
- {
- int index_, beg_, end_; // range is [ beg, end [
- public:
- out_of_range(int index, int beg, int end)
- : index_(index), beg_(beg), end_(end) {}
- int get_index() const { return index_; }
- int get_beg() const { return beg_; }
- int get_end() const { return end_; }
- virtual const char *what() const throw() {
- return "boost::out_of_range: "
- "tried to refer to an argument (or item) number which"
- " is out of range, according to the format string";
- }
- };
-
-
- } // namespace io
-
-} // namespace boost
-
-
-#endif // BOOST_FORMAT_EXCEPTIONS_HPP
diff --git a/boost/format/feed_args.hpp b/boost/format/feed_args.hpp
deleted file mode 100644
index 53243dc..0000000
--- a/boost/format/feed_args.hpp
+++ /dev/null
@@ -1,277 +0,0 @@
-// ----------------------------------------------------------------------------
-// feed_args.hpp : functions for processing each argument
-// (feed, feed_manip, and distribute)
-// ----------------------------------------------------------------------------
-
-// Copyright Samuel Krempp 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/libs/format for library home page
-
-// ----------------------------------------------------------------------------
-
-#ifndef BOOST_FORMAT_FEED_ARGS_HPP
-#define BOOST_FORMAT_FEED_ARGS_HPP
-
-#include <boost/config.hpp>
-#include <boost/assert.hpp>
-#include <boost/throw_exception.hpp>
-
-#include <boost/format/format_class.hpp>
-#include <boost/format/group.hpp>
-#include <boost/format/detail/msvc_disambiguater.hpp>
-
-namespace boost {
-namespace io {
-namespace detail {
-
- template<class Ch, class Tr, class Alloc>
- void mk_str( std::basic_string<Ch,Tr, Alloc> & res,
- const Ch * beg,
- typename std::basic_string<Ch,Tr,Alloc>::size_type size,
- std::streamsize w,
- const Ch fill_char,
- std::ios_base::fmtflags f,
- const Ch prefix_space, // 0 if no space-padding
- bool center)
- // applies centered/left/right padding to the string [beg, beg+size[
- // Effects : the result is placed in res.
- {
- typedef typename std::basic_string<Ch,Tr,Alloc>::size_type size_type;
- res.resize(0);
- if(w<=0 || static_cast<size_type>(w) <=size) {
- // no need to pad.
- res.reserve(size + !!prefix_space);
- if(prefix_space)
- res.append(1, prefix_space);
- if (size)
- res.append(beg, size);
- }
- else {
- std::streamsize n=static_cast<std::streamsize>(w-size-!!prefix_space);
- std::streamsize n_after = 0, n_before = 0;
- res.reserve(static_cast<size_type>(w)); // allocate once for the 2 inserts
- if(center)
- n_after = n/2, n_before = n - n_after;
- else
- if(f & std::ios_base::left)
- n_after = n;
- else
- n_before = n;
- // now make the res string :
- if(n_before) res.append(static_cast<size_type>(n_before), fill_char);
- if(prefix_space)
- res.append(1, prefix_space);
- if (size)
- res.append(beg, size);
- if(n_after) res.append(static_cast<size_type>(n_after), fill_char);
- }
- } // -mk_str(..)
-
-
-#if BOOST_WORKAROUND( BOOST_MSVC, <= 1300) || \
- BOOST_WORKAROUND(__DECCXX_VER, BOOST_TESTED_AT(60590042))
-// MSVC needs to be tricked to disambiguate this simple overload..
-// the trick is in "boost/format/msvc_disambiguater.hpp"
-
- template< class Ch, class Tr, class T> inline
- void put_head (BOOST_IO_STD basic_ostream<Ch, Tr> & os, const T& x ) {
- disambiguater<Ch, Tr, T>::put_head(os, x, 1L);
- }
- template< class Ch, class Tr, class T> inline
- void put_last (BOOST_IO_STD basic_ostream<Ch, Tr> & os, const T& x ) {
- disambiguater<Ch, Tr, T>::put_last(os, x, 1L);
- }
-
-#else
-
- template< class Ch, class Tr, class T> inline
- void put_head (BOOST_IO_STD basic_ostream<Ch, Tr> &, const T& ) {
- }
-
- template< class Ch, class Tr, class T> inline
- void put_head( BOOST_IO_STD basic_ostream<Ch, Tr> & os, const group1<T>& x ) {
- os << group_head(x.a1_); // send the first N-1 items, not the last
- }
-
- template< class Ch, class Tr, class T> inline
- void put_last( BOOST_IO_STD basic_ostream<Ch, Tr> & os, const T& x ) {
- os << x ;
- }
-
- template< class Ch, class Tr, class T> inline
- void put_last( BOOST_IO_STD basic_ostream<Ch, Tr> & os, const group1<T>& x ) {
- os << group_last(x.a1_); // this selects the last element
- }
-
-#ifndef BOOST_NO_OVERLOAD_FOR_NON_CONST
- template< class Ch, class Tr, class T> inline
- void put_head( BOOST_IO_STD basic_ostream<Ch, Tr> &, T& ) {
- }
-
- template< class Ch, class Tr, class T> inline
- void put_last( BOOST_IO_STD basic_ostream<Ch, Tr> & os, T& x) {
- os << x ;
- }
-#endif
-#endif // -msvc workaround
-
-
- template< class Ch, class Tr, class Alloc, class T>
- void put( T x,
- const format_item<Ch, Tr, Alloc>& specs,
- typename basic_format<Ch, Tr, Alloc>::string_type& res,
- typename basic_format<Ch, Tr, Alloc>::internal_streambuf_t & buf,
- io::detail::locale_t *loc_p = NULL)
- {
-#ifdef BOOST_MSVC
- // If std::min<unsigned> or std::max<unsigned> are already instantiated
- // at this point then we get a blizzard of warning messages when we call
- // those templates with std::size_t as arguments. Weird and very annoyning...
-#pragma warning(push)
-#pragma warning(disable:4267)
-#endif
- // does the actual conversion of x, with given params, into a string
- // using the supplied stringbuf.
-
- typedef typename basic_format<Ch, Tr, Alloc>::string_type string_type;
- typedef typename basic_format<Ch, Tr, Alloc>::format_item_t format_item_t;
- typedef typename string_type::size_type size_type;
-
- basic_oaltstringstream<Ch, Tr, Alloc> oss( &buf);
- specs.fmtstate_.apply_on(oss, loc_p);
-
- // the stream format state can be modified by manipulators in the argument :
- put_head( oss, x );
- // in case x is a group, apply the manip part of it,
- // in order to find width
-
- const std::ios_base::fmtflags fl=oss.flags();
- const bool internal = (fl & std::ios_base::internal) != 0;
- const std::streamsize w = oss.width();
- const bool two_stepped_padding= internal && (w!=0);
-
- res.resize(0);
- if(! two_stepped_padding) {
- if(w>0) // handle padding via mk_str, not natively in stream
- oss.width(0);
- put_last( oss, x);
- const Ch * res_beg = buf.pbase();
- Ch prefix_space = 0;
- if(specs.pad_scheme_ & format_item_t::spacepad)
- if(buf.pcount()== 0 ||
- (res_beg[0] !=oss.widen('+') && res_beg[0] !=oss.widen('-') ))
- prefix_space = oss.widen(' ');
- size_type res_size = (std::min)(
- static_cast<size_type>(specs.truncate_ - !!prefix_space),
- buf.pcount() );
- mk_str(res, res_beg, res_size, w, oss.fill(), fl,
- prefix_space, (specs.pad_scheme_ & format_item_t::centered) !=0 );
- }
- else { // 2-stepped padding
- // internal can be implied by zeropad, or user-set.
- // left, right, and centered alignment overrule internal,
- // but spacepad or truncate might be mixed with internal (using manipulator)
- put_last( oss, x); // may pad
- const Ch * res_beg = buf.pbase();
- size_type res_size = buf.pcount();
- bool prefix_space=false;
- if(specs.pad_scheme_ & format_item_t::spacepad)
- if(buf.pcount()== 0 ||
- (res_beg[0] !=oss.widen('+') && res_beg[0] !=oss.widen('-') ))
- prefix_space = true;
- if(res_size == static_cast<size_type>(w) && w<=specs.truncate_ && !prefix_space) {
- // okay, only one thing was printed and padded, so res is fine
- res.assign(res_beg, res_size);
- }
- else { // length w exceeded
- // either it was multi-output with first output padding up all width..
- // either it was one big arg and we are fine.
- // Note that res_size<w is possible (in case of bad user-defined formatting)
- res.assign(res_beg, res_size);
- res_beg=NULL; // invalidate pointers.
-
- // make a new stream, to start re-formatting from scratch :
- buf.clear_buffer();
- basic_oaltstringstream<Ch, Tr, Alloc> oss2( &buf);
- specs.fmtstate_.apply_on(oss2, loc_p);
- put_head( oss2, x );
-
- oss2.width(0);
- if(prefix_space)
- oss2 << ' ';
- put_last(oss2, x );
- if(buf.pcount()==0 && specs.pad_scheme_ & format_item_t::spacepad) {
- prefix_space =true;
- oss2 << ' ';
- }
- // we now have the minimal-length output
- const Ch * tmp_beg = buf.pbase();
- size_type tmp_size = (std::min)(static_cast<size_type>(specs.truncate_),
- buf.pcount() );
-
-
- if(static_cast<size_type>(w) <= tmp_size) {
- // minimal length is already >= w, so no padding (cool!)
- res.assign(tmp_beg, tmp_size);
- }
- else { // hum.. we need to pad (multi_output, or spacepad present)
- //find where we should pad
- size_type sz = (std::min)(res_size + (prefix_space ? 1 : 0), tmp_size);
- size_type i = prefix_space;
- for(; i<sz && tmp_beg[i] == res[i - (prefix_space ? 1 : 0)]; ++i) {}
- if(i>=tmp_size) i=prefix_space;
- res.assign(tmp_beg, i);
- std::streamsize d = w - static_cast<std::streamsize>(tmp_size);
- BOOST_ASSERT(d>0);
- res.append(static_cast<size_type>( d ), oss2.fill());
- res.append(tmp_beg+i, tmp_size-i);
- BOOST_ASSERT(i+(tmp_size-i)+(std::max)(d,(std::streamsize)0)
- == static_cast<size_type>(w));
- BOOST_ASSERT(res.size() == static_cast<size_type>(w));
- }
- }
- }
- buf.clear_buffer();
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
- } // end- put(..)
-
-
- template< class Ch, class Tr, class Alloc, class T>
- void distribute (basic_format<Ch,Tr, Alloc>& self, T x) {
- // call put(x, ..) on every occurence of the current argument :
- if(self.cur_arg_ >= self.num_args_) {
- if( self.exceptions() & too_many_args_bit )
- boost::throw_exception(too_many_args(self.cur_arg_, self.num_args_));
- else return;
- }
- for(unsigned long i=0; i < self.items_.size(); ++i) {
- if(self.items_[i].argN_ == self.cur_arg_) {
- put<Ch, Tr, Alloc, T> (x, self.items_[i], self.items_[i].res_,
- self.buf_, boost::get_pointer(self.loc_) );
- }
- }
- }
-
- template<class Ch, class Tr, class Alloc, class T>
- basic_format<Ch, Tr, Alloc>&
- feed (basic_format<Ch,Tr, Alloc>& self, T x) {
- if(self.dumped_) self.clear();
- distribute<Ch, Tr, Alloc, T> (self, x);
- ++self.cur_arg_;
- if(self.bound_.size() != 0) {
- while( self.cur_arg_ < self.num_args_ && self.bound_[self.cur_arg_] )
- ++self.cur_arg_;
- }
- return self;
- }
-
-} // namespace detail
-} // namespace io
-} // namespace boost
-
-
-#endif // BOOST_FORMAT_FEED_ARGS_HPP
diff --git a/boost/format/format_class.hpp b/boost/format/format_class.hpp
deleted file mode 100644
index 4555e56..0000000
--- a/boost/format/format_class.hpp
+++ /dev/null
@@ -1,168 +0,0 @@
-// ----------------------------------------------------------------------------
-// format_class.hpp : class interface
-// ----------------------------------------------------------------------------
-
-// Copyright Samuel Krempp 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/libs/format for library home page
-
-// ----------------------------------------------------------------------------
-
-#ifndef BOOST_FORMAT_CLASS_HPP
-#define BOOST_FORMAT_CLASS_HPP
-
-
-#include <vector>
-#include <string>
-
-#include <boost/optional.hpp> // to store locale when needed
-
-#include <boost/format/format_fwd.hpp>
-#include <boost/format/internals_fwd.hpp>
-#include <boost/format/internals.hpp>
-#include <boost/format/alt_sstream.hpp>
-
-namespace boost {
-
- template<class Ch, class Tr, class Alloc>
- class basic_format
- {
- typedef typename io::CompatTraits<Tr>::compatible_type compat_traits;
- public:
- typedef Ch CharT; // borland fails in operator% if we use Ch and Tr directly
- typedef std::basic_string<Ch, Tr, Alloc> string_type;
- typedef typename string_type::size_type size_type;
- typedef io::detail::format_item<Ch, Tr, Alloc> format_item_t;
- typedef io::basic_altstringbuf<Ch, Tr, Alloc> internal_streambuf_t;
-
-
- explicit basic_format(const Ch* str=NULL);
- explicit basic_format(const string_type& s);
- basic_format(const basic_format& x);
- basic_format& operator= (const basic_format& x);
- void swap(basic_format& x);
-
-#if !defined(BOOST_NO_STD_LOCALE)
- explicit basic_format(const Ch* str, const std::locale & loc);
- explicit basic_format(const string_type& s, const std::locale & loc);
-#endif
- io::detail::locale_t getloc() const;
-
- basic_format& clear(); // empty all converted string buffers (except bound items)
- basic_format& clear_binds(); // unbind all bound items, and call clear()
- basic_format& parse(const string_type&); // resets buffers and parse a new format string
-
- // ** formatted result ** //
- size_type size() const; // sum of the current string pieces sizes
- string_type str() const; // final string
-
- // ** arguments passing ** //
- template<class T>
- basic_format& operator%(const T& x)
- { return io::detail::feed<CharT, Tr, Alloc, const T&>(*this,x); }
-
-#ifndef BOOST_NO_OVERLOAD_FOR_NON_CONST
- template<class T> basic_format& operator%(T& x)
- { return io::detail::feed<CharT, Tr, Alloc, T&>(*this,x); }
-#endif
-
-#if defined(__GNUC__)
- // GCC can't handle anonymous enums without some help
- // ** arguments passing ** //
- basic_format& operator%(const int& x)
- { return io::detail::feed<CharT, Tr, Alloc, const int&>(*this,x); }
-
-#ifndef BOOST_NO_OVERLOAD_FOR_NON_CONST
- basic_format& operator%(int& x)
- { return io::detail::feed<CharT, Tr, Alloc, int&>(*this,x); }
-#endif
-#endif
-
- // The total number of arguments expected to be passed to the format objectt
- int expected_args() const
- { return num_args_; }
- // The number of arguments currently bound (see bind_arg(..) )
- int bound_args() const;
- // The number of arguments currently fed to the format object
- int fed_args() const;
- // The index (1-based) of the current argument (i.e. next to be formatted)
- int cur_arg() const;
- // The number of arguments still required to be fed
- int remaining_args() const; // same as expected_args() - bound_args() - fed_args()
-
-
- // ** object modifying **//
- template<class T>
- basic_format& bind_arg(int argN, const T& val)
- { return io::detail::bind_arg_body(*this, argN, val); }
- basic_format& clear_bind(int argN);
- template<class T>
- basic_format& modify_item(int itemN, T manipulator)
- { return io::detail::modify_item_body<Ch,Tr, Alloc, T> (*this, itemN, manipulator);}
-
- // Choosing which errors will throw exceptions :
- unsigned char exceptions() const;
- unsigned char exceptions(unsigned char newexcept);
-
-#if !defined( BOOST_NO_MEMBER_TEMPLATE_FRIENDS ) \
- && !BOOST_WORKAROUND(__BORLANDC__, <= 0x570) \
- && !BOOST_WORKAROUND( _CRAYC, != 0) \
- && !BOOST_WORKAROUND(__DECCXX_VER, BOOST_TESTED_AT(60590042))
- // use friend templates and private members only if supported
-
-#ifndef BOOST_NO_TEMPLATE_STD_STREAM
- template<class Ch2, class Tr2, class Alloc2>
- friend std::basic_ostream<Ch2, Tr2> &
- operator<<( std::basic_ostream<Ch2, Tr2> & ,
- const basic_format<Ch2, Tr2, Alloc2>& );
-#else
- template<class Ch2, class Tr2, class Alloc2>
- friend std::ostream &
- operator<<( std::ostream & ,
- const basic_format<Ch2, Tr2, Alloc2>& );
-#endif
-
- template<class Ch2, class Tr2, class Alloc2, class T>
- friend basic_format<Ch2, Tr2, Alloc2>&
- io::detail::feed (basic_format<Ch2, Tr2, Alloc2>&, T);
-
- template<class Ch2, class Tr2, class Alloc2, class T> friend
- void io::detail::distribute (basic_format<Ch2, Tr2, Alloc2>&, T);
-
- template<class Ch2, class Tr2, class Alloc2, class T> friend
- basic_format<Ch2, Tr2, Alloc2>&
- io::detail::modify_item_body (basic_format<Ch2, Tr2, Alloc2>&, int, T);
-
- template<class Ch2, class Tr2, class Alloc2, class T> friend
- basic_format<Ch2, Tr2, Alloc2>&
- io::detail::bind_arg_body (basic_format<Ch2, Tr2, Alloc2>&, int, const T&);
-
- private:
-#endif
- typedef io::detail::stream_format_state<Ch, Tr> stream_format_state;
- // flag bits, used for style_
- enum style_values { ordered = 1, // set only if all directives are positional
- special_needs = 4 };
-
- void make_or_reuse_data(std::size_t nbitems);// used for (re-)initialisation
-
- // member data --------------------------------------------//
- std::vector<format_item_t> items_; // each '%..' directive leads to a format_item
- std::vector<bool> bound_; // stores which arguments were bound. size() == 0 || num_args
-
- int style_; // style of format-string : positional or not, etc
- int cur_arg_; // keep track of wich argument is current
- int num_args_; // number of expected arguments
- mutable bool dumped_; // true only after call to str() or <<
- string_type prefix_; // piece of string to insert before first item
- unsigned char exceptions_;
- internal_streambuf_t buf_; // the internal stream buffer.
- boost::optional<io::detail::locale_t> loc_;
- }; // class basic_format
-
-} // namespace boost
-
-
-#endif // BOOST_FORMAT_CLASS_HPP
diff --git a/boost/format/format_fwd.hpp b/boost/format/format_fwd.hpp
deleted file mode 100644
index be3228a..0000000
--- a/boost/format/format_fwd.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-// ----------------------------------------------------------------------------
-// format_fwd.hpp : forward declarations
-// ----------------------------------------------------------------------------
-
-// Copyright Samuel Krempp 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/libs/format for library home page
-
-// ----------------------------------------------------------------------------
-
-#ifndef BOOST_FORMAT_FWD_HPP
-#define BOOST_FORMAT_FWD_HPP
-
-#include <string>
-#include <iosfwd>
-
-#include <boost/format/detail/compat_workarounds.hpp>
-
-namespace boost {
-
- template <class Ch,
-#if !( BOOST_WORKAROUND(__GNUC__, <3) && !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION) )
- // gcc-2.95's native stdlid needs special treatment
- class Tr = BOOST_IO_STD char_traits<Ch>, class Alloc = std::allocator<Ch> >
-#else
- class Tr = std::string_char_traits<Ch>, class Alloc = std::alloc >
-#endif
- class basic_format;
-
- typedef basic_format<char > format;
-
-#if !defined(BOOST_NO_STD_WSTRING) && !defined(BOOST_NO_STD_WSTREAMBUF) \
- && !defined(BOOST_FORMAT_IGNORE_STRINGSTREAM)
- typedef basic_format<wchar_t > wformat;
-#endif
-
- namespace io {
- enum format_error_bits { bad_format_string_bit = 1,
- too_few_args_bit = 2, too_many_args_bit = 4,
- out_of_range_bit = 8,
- all_error_bits = 255, no_error_bits=0 };
-
- } // namespace io
-
-} // namespace boost
-
-#endif // BOOST_FORMAT_FWD_HPP
diff --git a/boost/format/format_implementation.hpp b/boost/format/format_implementation.hpp
deleted file mode 100644
index 2abb5c4..0000000
--- a/boost/format/format_implementation.hpp
+++ /dev/null
@@ -1,329 +0,0 @@
-// ----------------------------------------------------------------------------
-// format_implementation.hpp Implementation of the basic_format class
-// ----------------------------------------------------------------------------
-
-// Copyright Samuel Krempp 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/libs/format for library home page
-
-
-// ----------------------------------------------------------------------------
-
-#ifndef BOOST_FORMAT_IMPLEMENTATION_HPP
-#define BOOST_FORMAT_IMPLEMENTATION_HPP
-
-#include <boost/config.hpp>
-#include <boost/throw_exception.hpp>
-#include <boost/assert.hpp>
-#include <boost/format/format_class.hpp>
-#include <algorithm> // std::swap
-
-namespace boost {
-
-// --- basic_format implementation -----------------------------------------//
-
- template< class Ch, class Tr, class Alloc>
- basic_format<Ch, Tr, Alloc>:: basic_format(const Ch* s)
- : style_(0), cur_arg_(0), num_args_(0), dumped_(false),
- exceptions_(io::all_error_bits)
- {
- if( s)
- parse( s );
- }
-
-#if !defined(BOOST_NO_STD_LOCALE)
- template< class Ch, class Tr, class Alloc>
- basic_format<Ch, Tr, Alloc>:: basic_format(const Ch* s, const std::locale & loc)
- : style_(0), cur_arg_(0), num_args_(0), dumped_(false),
- exceptions_(io::all_error_bits), loc_(loc)
- {
- if(s) parse( s );
- }
-
- template< class Ch, class Tr, class Alloc>
- basic_format<Ch, Tr, Alloc>:: basic_format(const string_type& s, const std::locale & loc)
- : style_(0), cur_arg_(0), num_args_(0), dumped_(false),
- exceptions_(io::all_error_bits), loc_(loc)
- {
- parse(s);
- }
-#endif // ! BOOST_NO_STD_LOCALE
- template< class Ch, class Tr, class Alloc>
- io::detail::locale_t basic_format<Ch, Tr, Alloc>::
- getloc() const {
- return loc_ ? loc_.get() : io::detail::locale_t();
- }
-
- template< class Ch, class Tr, class Alloc>
- basic_format<Ch, Tr, Alloc>:: basic_format(const string_type& s)
- : style_(0), cur_arg_(0), num_args_(0), dumped_(false),
- exceptions_(io::all_error_bits)
- {
- parse(s);
- }
-
- template< class Ch, class Tr, class Alloc> // just don't copy the buf_ member
- basic_format<Ch, Tr, Alloc>:: basic_format(const basic_format& x)
- : items_(x.items_), bound_(x.bound_), style_(x.style_),
- cur_arg_(x.cur_arg_), num_args_(x.num_args_), dumped_(x.dumped_),
- prefix_(x.prefix_), exceptions_(x.exceptions_), loc_(x.loc_)
- {
- }
-
- template< class Ch, class Tr, class Alloc> // just don't copy the buf_ member
- basic_format<Ch, Tr, Alloc>& basic_format<Ch, Tr, Alloc>::
- operator= (const basic_format& x) {
- if(this == &x)
- return *this;
- (basic_format<Ch, Tr, Alloc>(x)).swap(*this);
- return *this;
- }
- template< class Ch, class Tr, class Alloc>
- void basic_format<Ch, Tr, Alloc>::
- swap (basic_format & x) {
- std::swap(exceptions_, x.exceptions_);
- std::swap(style_, x.style_);
- std::swap(cur_arg_, x.cur_arg_);
- std::swap(num_args_, x.num_args_);
- std::swap(dumped_, x.dumped_);
-
- items_.swap(x.items_);
- prefix_.swap(x.prefix_);
- bound_.swap(x.bound_);
- }
-
- template< class Ch, class Tr, class Alloc>
- unsigned char basic_format<Ch,Tr, Alloc>:: exceptions() const {
- return exceptions_;
- }
-
- template< class Ch, class Tr, class Alloc>
- unsigned char basic_format<Ch,Tr, Alloc>:: exceptions(unsigned char newexcept) {
- unsigned char swp = exceptions_;
- exceptions_ = newexcept;
- return swp;
- }
-
- template<class Ch, class Tr, class Alloc>
- void basic_format<Ch, Tr, Alloc>::
- make_or_reuse_data (std::size_t nbitems) {
-#if !defined(BOOST_NO_STD_LOCALE)
- Ch fill = ( BOOST_USE_FACET(std::ctype<Ch>, getloc()) ). widen(' ');
-#else
- Ch fill = ' ';
-#endif
- if(items_.size() == 0)
- items_.assign( nbitems, format_item_t(fill) );
- else {
- if(nbitems>items_.size())
- items_.resize(nbitems, format_item_t(fill));
- bound_.resize(0);
- for(std::size_t i=0; i < nbitems; ++i)
- items_[i].reset(fill); // strings are resized, instead of reallocated
- }
- prefix_.resize(0);
- }
-
- template< class Ch, class Tr, class Alloc>
- basic_format<Ch,Tr, Alloc>& basic_format<Ch,Tr, Alloc>::
- clear () {
- // empty the string buffers (except bound arguments)
- // and make the format object ready for formatting a new set of arguments
-
- BOOST_ASSERT( bound_.size()==0 || num_args_ == static_cast<int>(bound_.size()) );
-
- for(unsigned long i=0; i<items_.size(); ++i) {
- // clear converted strings only if the corresponding argument is not bound :
- if( bound_.size()==0 || items_[i].argN_<0 || !bound_[ items_[i].argN_ ] )
- items_[i].res_.resize(0);
- }
- cur_arg_=0; dumped_=false;
- // maybe first arg is bound:
- if(bound_.size() != 0) {
- for(; cur_arg_ < num_args_ && bound_[cur_arg_]; ++cur_arg_)
- {}
- }
- return *this;
- }
-
- template< class Ch, class Tr, class Alloc>
- basic_format<Ch,Tr, Alloc>& basic_format<Ch,Tr, Alloc>::
- clear_binds () {
- // remove all binds, then clear()
- bound_.resize(0);
- clear();
- return *this;
- }
-
- template< class Ch, class Tr, class Alloc>
- basic_format<Ch,Tr, Alloc>& basic_format<Ch,Tr, Alloc>::
- clear_bind (int argN) {
- // remove the bind of ONE argument then clear()
- if(argN<1 || argN > num_args_ || bound_.size()==0 || !bound_[argN-1] ) {
- if( exceptions() & io::out_of_range_bit)
- boost::throw_exception(io::out_of_range(argN, 1, num_args_+1 ) );
- else return *this;
- }
- bound_[argN-1]=false;
- clear();
- return *this;
- }
-
- template< class Ch, class Tr, class Alloc>
- int basic_format<Ch,Tr, Alloc>::
- bound_args() const {
- if(bound_.size()==0)
- return 0;
- int n=0;
- for(int i=0; i<num_args_ ; ++i)
- if(bound_[i])
- ++n;
- return n;
- }
-
- template< class Ch, class Tr, class Alloc>
- int basic_format<Ch,Tr, Alloc>::
- fed_args() const {
- if(bound_.size()==0)
- return cur_arg_;
- int n=0;
- for(int i=0; i<cur_arg_ ; ++i)
- if(!bound_[i])
- ++n;
- return n;
- }
-
- template< class Ch, class Tr, class Alloc>
- int basic_format<Ch,Tr, Alloc>::
- cur_arg() const {
- return cur_arg_+1; }
-
- template< class Ch, class Tr, class Alloc>
- int basic_format<Ch,Tr, Alloc>::
- remaining_args() const {
- if(bound_.size()==0)
- return num_args_-cur_arg_;
- int n=0;
- for(int i=cur_arg_; i<num_args_ ; ++i)
- if(!bound_[i])
- ++n;
- return n;
- }
-
- template< class Ch, class Tr, class Alloc>
- typename basic_format<Ch, Tr, Alloc>::string_type
- basic_format<Ch,Tr, Alloc>::
- str () const {
- if(items_.size()==0)
- return prefix_;
- if( cur_arg_ < num_args_)
- if( exceptions() & io::too_few_args_bit )
- // not enough variables supplied
- boost::throw_exception(io::too_few_args(cur_arg_, num_args_));
-
- unsigned long i;
- string_type res;
- res.reserve(size());
- res += prefix_;
- for(i=0; i < items_.size(); ++i) {
- const format_item_t& item = items_[i];
- res += item.res_;
- if( item.argN_ == format_item_t::argN_tabulation) {
- BOOST_ASSERT( item.pad_scheme_ & format_item_t::tabulation);
- if( static_cast<size_type>(item.fmtstate_.width_) > res.size() )
- res.append( static_cast<size_type>(item.fmtstate_.width_) - res.size(),
- item.fmtstate_.fill_ );
- }
- res += item.appendix_;
- }
- dumped_=true;
- return res;
- }
- template< class Ch, class Tr, class Alloc>
- typename std::basic_string<Ch, Tr, Alloc>::size_type basic_format<Ch,Tr, Alloc>::
- size () const {
-#ifdef BOOST_MSVC
- // If std::min<unsigned> or std::max<unsigned> are already instantiated
- // at this point then we get a blizzard of warning messages when we call
- // those templates with std::size_t as arguments. Weird and very annoyning...
-#pragma warning(push)
-#pragma warning(disable:4267)
-#endif
- BOOST_USING_STD_MAX();
- size_type sz = prefix_.size();
- unsigned long i;
- for(i=0; i < items_.size(); ++i) {
- const format_item_t& item = items_[i];
- sz += item.res_.size();
- if( item.argN_ == format_item_t::argN_tabulation)
- sz = max BOOST_PREVENT_MACRO_SUBSTITUTION (sz,
- static_cast<size_type>(item.fmtstate_.width_) );
- sz += item.appendix_.size();
- }
- return sz;
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
- }
-
-namespace io {
-namespace detail {
-
- template<class Ch, class Tr, class Alloc, class T>
- basic_format<Ch, Tr, Alloc>&
- bind_arg_body (basic_format<Ch, Tr, Alloc>& self, int argN, const T& val) {
- // bind one argument to a fixed value
- // this is persistent over clear() calls, thus also over str() and <<
- if(self.dumped_)
- self.clear(); // needed because we will modify cur_arg_
- if(argN<1 || argN > self.num_args_) {
- if( self.exceptions() & io::out_of_range_bit )
- boost::throw_exception(io::out_of_range(argN, 1, self.num_args_+1 ) );
- else return self;
- }
- if(self.bound_.size()==0)
- self.bound_.assign(self.num_args_,false);
- else
- BOOST_ASSERT( self.num_args_ == static_cast<signed int>(self.bound_.size()) );
- int o_cur_arg = self.cur_arg_;
- self.cur_arg_ = argN-1; // arrays begin at 0
-
- self.bound_[self.cur_arg_]=false; // if already set, we unset and re-sets..
- self.operator%(val); // put val at the right place, because cur_arg is set
-
-
- // Now re-position cur_arg before leaving :
- self.cur_arg_ = o_cur_arg;
- self.bound_[argN-1]=true;
- if(self.cur_arg_ == argN-1 ) {
- // hum, now this arg is bound, so move to next free arg
- while(self.cur_arg_ < self.num_args_ && self.bound_[self.cur_arg_])
- ++self.cur_arg_;
- }
- // In any case, we either have all args, or are on an unbound arg :
- BOOST_ASSERT( self.cur_arg_ >= self.num_args_ || ! self.bound_[self.cur_arg_]);
- return self;
- }
-
- template<class Ch, class Tr, class Alloc, class T> basic_format<Ch, Tr, Alloc>&
- modify_item_body (basic_format<Ch, Tr, Alloc>& self, int itemN, T manipulator) {
- // applies a manipulator to the format_item describing a given directive.
- // this is a permanent change, clear or reset won't cancel that.
- if(itemN<1 || itemN > static_cast<signed int>(self.items_.size() )) {
- if( self.exceptions() & io::out_of_range_bit )
- boost::throw_exception(io::out_of_range(itemN, 1, static_cast<int>(self.items_.size()) ));
- else return self;
- }
- self.items_[itemN-1].fmtstate_. template apply_manip<T> ( manipulator );
- return self;
- }
-
-} // namespace detail
-} // namespace io
-} // namespace boost
-
-
-
-#endif // BOOST_FORMAT_IMPLEMENTATION_HPP
diff --git a/boost/format/free_funcs.hpp b/boost/format/free_funcs.hpp
deleted file mode 100644
index 3a51545..0000000
--- a/boost/format/free_funcs.hpp
+++ /dev/null
@@ -1,70 +0,0 @@
-// ----------------------------------------------------------------------------
-// free_funcs.hpp : implementation of the free functions of boost::format
-// ----------------------------------------------------------------------------
-
-// Copyright Samuel Krempp 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/libs/format for library home page
-
-// ----------------------------------------------------------------------------
-
-#ifndef BOOST_FORMAT_FUNCS_HPP
-#define BOOST_FORMAT_FUNCS_HPP
-
-#include <boost/format/format_class.hpp>
-#include <boost/throw_exception.hpp>
-
-namespace boost {
-
- template<class Ch, class Tr, class Alloc> inline
- std::basic_string<Ch, Tr, Alloc> str(const basic_format<Ch, Tr, Alloc>& f) {
- // adds up all pieces of strings and converted items, and return the formatted string
- return f.str();
- }
- namespace io {
- using ::boost::str; // keep compatibility with when it was defined in this N.S.
- } // - namespace io
-
-#ifndef BOOST_NO_TEMPLATE_STD_STREAM
- template<class Ch, class Tr, class Alloc>
- std::basic_ostream<Ch, Tr> &
- operator<<( std::basic_ostream<Ch, Tr> & os,
- const basic_format<Ch, Tr, Alloc>& f)
-#else
- template<class Ch, class Tr, class Alloc>
- std::ostream &
- operator<<( std::ostream & os,
- const basic_format<Ch, Tr, Alloc>& f)
-#endif
- // effect: "return os << str(f);" but we can do it faster
- {
- typedef boost::basic_format<Ch, Tr, Alloc> format_t;
- if(f.items_.size()==0)
- os << f.prefix_;
- else {
- if(f.cur_arg_ < f.num_args_)
- if( f.exceptions() & io::too_few_args_bit )
- // not enough variables supplied
- boost::throw_exception(io::too_few_args(f.cur_arg_, f.num_args_));
- if(f.style_ & format_t::special_needs)
- os << f.str();
- else {
- // else we dont have to count chars output, so we dump directly to os :
- os << f.prefix_;
- for(unsigned long i=0; i<f.items_.size(); ++i) {
- const typename format_t::format_item_t& item = f.items_[i];
- os << item.res_;
- os << item.appendix_;
- }
- }
- }
- f.dumped_=true;
- return os;
- }
-
-} // namespace boost
-
-
-#endif // BOOST_FORMAT_FUNCS_HPP
diff --git a/boost/format/group.hpp b/boost/format/group.hpp
deleted file mode 100644
index c586b2a..0000000
--- a/boost/format/group.hpp
+++ /dev/null
@@ -1,684 +0,0 @@
-
-// ----------------------------------------------------------------------------
-// group.hpp : encapsulates a group of manipulators along with an argument
-// ----------------------------------------------------------------------------
-
-// Copyright Samuel Krempp 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/libs/format for library home page
-
-// ----------------------------------------------------------------------------
-
-
-// group_head : cut the last element of a group out.
-// (is overloaded below on each type of group)
-
-// group_last : returns the last element of a group
-// (is overloaded below on each type of group)
-// ----------------------------------------------------------------------------
-
-
-#ifndef BOOST_FORMAT_GROUP_HPP
-#define BOOST_FORMAT_GROUP_HPP
-
-#include <boost/config.hpp>
-
-
-namespace boost {
-namespace io {
-
-
-namespace detail {
-
-
-// empty group, but useful even though.
-struct group0
-{
- group0() {}
-};
-
-template <class Ch, class Tr>
-inline
-BOOST_IO_STD basic_ostream<Ch, Tr>&
-operator << ( BOOST_IO_STD basic_ostream<Ch, Tr>& os,
- const group0& )
-{
- return os;
-}
-
-template <class T1>
-struct group1
-{
- T1 a1_;
- group1(T1 a1)
- : a1_(a1)
- {}
-private:
- group1& operator=(const group1&);
-};
-
-template <class Ch, class Tr, class T1>
-inline
-BOOST_IO_STD basic_ostream<Ch, Tr>&
-operator << (BOOST_IO_STD basic_ostream<Ch, Tr>& os,
- const group1<T1>& x)
-{
- os << x.a1_;
- return os;
-}
-
-
-
-
-template <class T1,class T2>
-struct group2
-{
- T1 a1_;
- T2 a2_;
- group2(T1 a1,T2 a2)
- : a1_(a1),a2_(a2)
- {}
-private:
- group2& operator=(const group2&);
-};
-
-template <class Ch, class Tr, class T1,class T2>
-inline
-BOOST_IO_STD basic_ostream<Ch, Tr>&
-operator << (BOOST_IO_STD basic_ostream<Ch, Tr>& os,
- const group2<T1,T2>& x)
-{
- os << x.a1_<< x.a2_;
- return os;
-}
-
-template <class T1,class T2,class T3>
-struct group3
-{
- T1 a1_;
- T2 a2_;
- T3 a3_;
- group3(T1 a1,T2 a2,T3 a3)
- : a1_(a1),a2_(a2),a3_(a3)
- {}
-private:
- group3& operator=(const group3&);
-};
-
-template <class Ch, class Tr, class T1,class T2,class T3>
-inline
-BOOST_IO_STD basic_ostream<Ch, Tr>&
-operator << (BOOST_IO_STD basic_ostream<Ch, Tr>& os,
- const group3<T1,T2,T3>& x)
-{
- os << x.a1_<< x.a2_<< x.a3_;
- return os;
-}
-
-template <class T1,class T2,class T3,class T4>
-struct group4
-{
- T1 a1_;
- T2 a2_;
- T3 a3_;
- T4 a4_;
- group4(T1 a1,T2 a2,T3 a3,T4 a4)
- : a1_(a1),a2_(a2),a3_(a3),a4_(a4)
- {}
-private:
- group4& operator=(const group4&);
-};
-
-template <class Ch, class Tr, class T1,class T2,class T3,class T4>
-inline
-BOOST_IO_STD basic_ostream<Ch, Tr>&
-operator << (BOOST_IO_STD basic_ostream<Ch, Tr>& os,
- const group4<T1,T2,T3,T4>& x)
-{
- os << x.a1_<< x.a2_<< x.a3_<< x.a4_;
- return os;
-}
-
-template <class T1,class T2,class T3,class T4,class T5>
-struct group5
-{
- T1 a1_;
- T2 a2_;
- T3 a3_;
- T4 a4_;
- T5 a5_;
- group5(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5)
- : a1_(a1),a2_(a2),a3_(a3),a4_(a4),a5_(a5)
- {}
-};
-
-template <class Ch, class Tr, class T1,class T2,class T3,class T4,class T5>
-inline
-BOOST_IO_STD basic_ostream<Ch, Tr>&
-operator << (BOOST_IO_STD basic_ostream<Ch, Tr>& os,
- const group5<T1,T2,T3,T4,T5>& x)
-{
- os << x.a1_<< x.a2_<< x.a3_<< x.a4_<< x.a5_;
- return os;
-}
-
-template <class T1,class T2,class T3,class T4,class T5,class T6>
-struct group6
-{
- T1 a1_;
- T2 a2_;
- T3 a3_;
- T4 a4_;
- T5 a5_;
- T6 a6_;
- group6(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6)
- : a1_(a1),a2_(a2),a3_(a3),a4_(a4),a5_(a5),a6_(a6)
- {}
-};
-
-template <class Ch, class Tr, class T1,class T2,class T3,class T4,class T5,class T6>
-inline
-BOOST_IO_STD basic_ostream<Ch, Tr>&
-operator << (BOOST_IO_STD basic_ostream<Ch, Tr>& os,
- const group6<T1,T2,T3,T4,T5,T6>& x)
-{
- os << x.a1_<< x.a2_<< x.a3_<< x.a4_<< x.a5_<< x.a6_;
- return os;
-}
-
-template <class T1,class T2,class T3,class T4,class T5,class T6,class T7>
-struct group7
-{
- T1 a1_;
- T2 a2_;
- T3 a3_;
- T4 a4_;
- T5 a5_;
- T6 a6_;
- T7 a7_;
- group7(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6,T7 a7)
- : a1_(a1),a2_(a2),a3_(a3),a4_(a4),a5_(a5),a6_(a6),a7_(a7)
- {}
-};
-
-template <class Ch, class Tr, class T1,class T2,class T3,class T4,class T5,class T6,class T7>
-inline
-BOOST_IO_STD basic_ostream<Ch, Tr>&
-operator << (BOOST_IO_STD basic_ostream<Ch, Tr>& os,
- const group7<T1,T2,T3,T4,T5,T6,T7>& x)
-{
- os << x.a1_<< x.a2_<< x.a3_<< x.a4_<< x.a5_<< x.a6_<< x.a7_;
- return os;
-}
-
-template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8>
-struct group8
-{
- T1 a1_;
- T2 a2_;
- T3 a3_;
- T4 a4_;
- T5 a5_;
- T6 a6_;
- T7 a7_;
- T8 a8_;
- group8(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6,T7 a7,T8 a8)
- : a1_(a1),a2_(a2),a3_(a3),a4_(a4),a5_(a5),a6_(a6),a7_(a7),a8_(a8)
- {}
-};
-
-template <class Ch, class Tr, class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8>
-inline
-BOOST_IO_STD basic_ostream<Ch, Tr>&
-operator << (BOOST_IO_STD basic_ostream<Ch, Tr>& os,
- const group8<T1,T2,T3,T4,T5,T6,T7,T8>& x)
-{
- os << x.a1_<< x.a2_<< x.a3_<< x.a4_<< x.a5_<< x.a6_<< x.a7_<< x.a8_;
- return os;
-}
-
-template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9>
-struct group9
-{
- T1 a1_;
- T2 a2_;
- T3 a3_;
- T4 a4_;
- T5 a5_;
- T6 a6_;
- T7 a7_;
- T8 a8_;
- T9 a9_;
- group9(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6,T7 a7,T8 a8,T9 a9)
- : a1_(a1),a2_(a2),a3_(a3),a4_(a4),a5_(a5),a6_(a6),a7_(a7),a8_(a8),a9_(a9)
- {}
-};
-
-template <class Ch, class Tr, class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9>
-inline
-BOOST_IO_STD basic_ostream<Ch, Tr>&
-operator << (BOOST_IO_STD basic_ostream<Ch, Tr>& os,
- const group9<T1,T2,T3,T4,T5,T6,T7,T8,T9>& x)
-{
- os << x.a1_<< x.a2_<< x.a3_<< x.a4_<< x.a5_<< x.a6_<< x.a7_<< x.a8_<< x.a9_;
- return os;
-}
-
-template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10>
-struct group10
-{
- T1 a1_;
- T2 a2_;
- T3 a3_;
- T4 a4_;
- T5 a5_;
- T6 a6_;
- T7 a7_;
- T8 a8_;
- T9 a9_;
- T10 a10_;
- group10(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6,T7 a7,T8 a8,T9 a9,T10 a10)
- : a1_(a1),a2_(a2),a3_(a3),a4_(a4),a5_(a5),a6_(a6),a7_(a7),a8_(a8),a9_(a9),a10_(a10)
- {}
-};
-
-template <class Ch, class Tr, class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10>
-inline
-BOOST_IO_STD basic_ostream<Ch, Tr>&
-operator << (BOOST_IO_STD basic_ostream<Ch, Tr>& os,
- const group10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>& x)
-{
- os << x.a1_<< x.a2_<< x.a3_<< x.a4_<< x.a5_<< x.a6_<< x.a7_<< x.a8_<< x.a9_<< x.a10_;
- return os;
-}
-
-
-
-
-template <class T1,class T2>
-inline
-group1<T1>
-group_head( group2<T1,T2> const& x)
-{
- return group1<T1> (x.a1_);
-}
-
-template <class T1,class T2>
-inline
-group1<T2>
-group_last( group2<T1,T2> const& x)
-{
- return group1<T2> (x.a2_);
-}
-
-
-
-template <class T1,class T2,class T3>
-inline
-group2<T1,T2>
-group_head( group3<T1,T2,T3> const& x)
-{
- return group2<T1,T2> (x.a1_,x.a2_);
-}
-
-template <class T1,class T2,class T3>
-inline
-group1<T3>
-group_last( group3<T1,T2,T3> const& x)
-{
- return group1<T3> (x.a3_);
-}
-
-
-
-template <class T1,class T2,class T3,class T4>
-inline
-group3<T1,T2,T3>
-group_head( group4<T1,T2,T3,T4> const& x)
-{
- return group3<T1,T2,T3> (x.a1_,x.a2_,x.a3_);
-}
-
-template <class T1,class T2,class T3,class T4>
-inline
-group1<T4>
-group_last( group4<T1,T2,T3,T4> const& x)
-{
- return group1<T4> (x.a4_);
-}
-
-
-
-template <class T1,class T2,class T3,class T4,class T5>
-inline
-group4<T1,T2,T3,T4>
-group_head( group5<T1,T2,T3,T4,T5> const& x)
-{
- return group4<T1,T2,T3,T4> (x.a1_,x.a2_,x.a3_,x.a4_);
-}
-
-template <class T1,class T2,class T3,class T4,class T5>
-inline
-group1<T5>
-group_last( group5<T1,T2,T3,T4,T5> const& x)
-{
- return group1<T5> (x.a5_);
-}
-
-
-
-template <class T1,class T2,class T3,class T4,class T5,class T6>
-inline
-group5<T1,T2,T3,T4,T5>
-group_head( group6<T1,T2,T3,T4,T5,T6> const& x)
-{
- return group5<T1,T2,T3,T4,T5> (x.a1_,x.a2_,x.a3_,x.a4_,x.a5_);
-}
-
-template <class T1,class T2,class T3,class T4,class T5,class T6>
-inline
-group1<T6>
-group_last( group6<T1,T2,T3,T4,T5,T6> const& x)
-{
- return group1<T6> (x.a6_);
-}
-
-
-
-template <class T1,class T2,class T3,class T4,class T5,class T6,class T7>
-inline
-group6<T1,T2,T3,T4,T5,T6>
-group_head( group7<T1,T2,T3,T4,T5,T6,T7> const& x)
-{
- return group6<T1,T2,T3,T4,T5,T6> (x.a1_,x.a2_,x.a3_,x.a4_,x.a5_,x.a6_);
-}
-
-template <class T1,class T2,class T3,class T4,class T5,class T6,class T7>
-inline
-group1<T7>
-group_last( group7<T1,T2,T3,T4,T5,T6,T7> const& x)
-{
- return group1<T7> (x.a7_);
-}
-
-
-
-template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8>
-inline
-group7<T1,T2,T3,T4,T5,T6,T7>
-group_head( group8<T1,T2,T3,T4,T5,T6,T7,T8> const& x)
-{
- return group7<T1,T2,T3,T4,T5,T6,T7> (x.a1_,x.a2_,x.a3_,x.a4_,x.a5_,x.a6_,x.a7_);
-}
-
-template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8>
-inline
-group1<T8>
-group_last( group8<T1,T2,T3,T4,T5,T6,T7,T8> const& x)
-{
- return group1<T8> (x.a8_);
-}
-
-
-
-template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9>
-inline
-group8<T1,T2,T3,T4,T5,T6,T7,T8>
-group_head( group9<T1,T2,T3,T4,T5,T6,T7,T8,T9> const& x)
-{
- return group8<T1,T2,T3,T4,T5,T6,T7,T8> (x.a1_,x.a2_,x.a3_,x.a4_,x.a5_,x.a6_,x.a7_,x.a8_);
-}
-
-template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9>
-inline
-group1<T9>
-group_last( group9<T1,T2,T3,T4,T5,T6,T7,T8,T9> const& x)
-{
- return group1<T9> (x.a9_);
-}
-
-
-
-template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10>
-inline
-group9<T1,T2,T3,T4,T5,T6,T7,T8,T9>
-group_head( group10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10> const& x)
-{
- return group9<T1,T2,T3,T4,T5,T6,T7,T8,T9> (x.a1_,x.a2_,x.a3_,x.a4_,x.a5_,x.a6_,x.a7_,x.a8_,x.a9_);
-}
-
-template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10>
-inline
-group1<T10>
-group_last( group10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10> const& x)
-{
- return group1<T10> (x.a10_);
-}
-
-
-
-
-
-} // namespace detail
-
-
-
-// helper functions
-
-
-inline detail::group1< detail::group0 >
-group() { return detail::group1< detail::group0 > ( detail::group0() ); }
-
-template <class T1, class Var>
-inline
-detail::group1< detail::group2<T1, Var const&> >
- group(T1 a1, Var const& var)
-{
- return detail::group1< detail::group2<T1, Var const&> >
- ( detail::group2<T1, Var const&>
- (a1, var)
- );
-}
-
-template <class T1,class T2, class Var>
-inline
-detail::group1< detail::group3<T1,T2, Var const&> >
- group(T1 a1,T2 a2, Var const& var)
-{
- return detail::group1< detail::group3<T1,T2, Var const&> >
- ( detail::group3<T1,T2, Var const&>
- (a1,a2, var)
- );
-}
-
-template <class T1,class T2,class T3, class Var>
-inline
-detail::group1< detail::group4<T1,T2,T3, Var const&> >
- group(T1 a1,T2 a2,T3 a3, Var const& var)
-{
- return detail::group1< detail::group4<T1,T2,T3, Var const&> >
- ( detail::group4<T1,T2,T3, Var const&>
- (a1,a2,a3, var)
- );
-}
-
-template <class T1,class T2,class T3,class T4, class Var>
-inline
-detail::group1< detail::group5<T1,T2,T3,T4, Var const&> >
- group(T1 a1,T2 a2,T3 a3,T4 a4, Var const& var)
-{
- return detail::group1< detail::group5<T1,T2,T3,T4, Var const&> >
- ( detail::group5<T1,T2,T3,T4, Var const&>
- (a1,a2,a3,a4, var)
- );
-}
-
-template <class T1,class T2,class T3,class T4,class T5, class Var>
-inline
-detail::group1< detail::group6<T1,T2,T3,T4,T5, Var const&> >
- group(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5, Var const& var)
-{
- return detail::group1< detail::group6<T1,T2,T3,T4,T5, Var const&> >
- ( detail::group6<T1,T2,T3,T4,T5, Var const&>
- (a1,a2,a3,a4,a5, var)
- );
-}
-
-template <class T1,class T2,class T3,class T4,class T5,class T6, class Var>
-inline
-detail::group1< detail::group7<T1,T2,T3,T4,T5,T6, Var const&> >
- group(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6, Var const& var)
-{
- return detail::group1< detail::group7<T1,T2,T3,T4,T5,T6, Var const&> >
- ( detail::group7<T1,T2,T3,T4,T5,T6, Var const&>
- (a1,a2,a3,a4,a5,a6, var)
- );
-}
-
-template <class T1,class T2,class T3,class T4,class T5,class T6,class T7, class Var>
-inline
-detail::group1< detail::group8<T1,T2,T3,T4,T5,T6,T7, Var const&> >
- group(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6,T7 a7, Var const& var)
-{
- return detail::group1< detail::group8<T1,T2,T3,T4,T5,T6,T7, Var const&> >
- ( detail::group8<T1,T2,T3,T4,T5,T6,T7, Var const&>
- (a1,a2,a3,a4,a5,a6,a7, var)
- );
-}
-
-template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8, class Var>
-inline
-detail::group1< detail::group9<T1,T2,T3,T4,T5,T6,T7,T8, Var const&> >
- group(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6,T7 a7,T8 a8, Var const& var)
-{
- return detail::group1< detail::group9<T1,T2,T3,T4,T5,T6,T7,T8, Var const&> >
- ( detail::group9<T1,T2,T3,T4,T5,T6,T7,T8, Var const&>
- (a1,a2,a3,a4,a5,a6,a7,a8, var)
- );
-}
-
-template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9, class Var>
-inline
-detail::group1< detail::group10<T1,T2,T3,T4,T5,T6,T7,T8,T9, Var const&> >
- group(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6,T7 a7,T8 a8,T9 a9, Var const& var)
-{
- return detail::group1< detail::group10<T1,T2,T3,T4,T5,T6,T7,T8,T9, Var const&> >
- ( detail::group10<T1,T2,T3,T4,T5,T6,T7,T8,T9, Var const&>
- (a1,a2,a3,a4,a5,a6,a7,a8,a9, var)
- );
-}
-
-
-#ifndef BOOST_NO_OVERLOAD_FOR_NON_CONST
-
-template <class T1, class Var>
-inline
-detail::group1< detail::group2<T1, Var&> >
- group(T1 a1, Var& var)
-{
- return detail::group1< detail::group2<T1, Var&> >
- ( detail::group2<T1, Var&>
- (a1, var)
- );
-}
-
-template <class T1,class T2, class Var>
-inline
-detail::group1< detail::group3<T1,T2, Var&> >
- group(T1 a1,T2 a2, Var& var)
-{
- return detail::group1< detail::group3<T1,T2, Var&> >
- ( detail::group3<T1,T2, Var&>
- (a1,a2, var)
- );
-}
-
-template <class T1,class T2,class T3, class Var>
-inline
-detail::group1< detail::group4<T1,T2,T3, Var&> >
- group(T1 a1,T2 a2,T3 a3, Var& var)
-{
- return detail::group1< detail::group4<T1,T2,T3, Var&> >
- ( detail::group4<T1,T2,T3, Var&>
- (a1,a2,a3, var)
- );
-}
-
-template <class T1,class T2,class T3,class T4, class Var>
-inline
-detail::group1< detail::group5<T1,T2,T3,T4, Var&> >
- group(T1 a1,T2 a2,T3 a3,T4 a4, Var& var)
-{
- return detail::group1< detail::group5<T1,T2,T3,T4, Var&> >
- ( detail::group5<T1,T2,T3,T4, Var&>
- (a1,a2,a3,a4, var)
- );
-}
-
-template <class T1,class T2,class T3,class T4,class T5, class Var>
-inline
-detail::group1< detail::group6<T1,T2,T3,T4,T5, Var&> >
- group(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5, Var& var)
-{
- return detail::group1< detail::group6<T1,T2,T3,T4,T5, Var&> >
- ( detail::group6<T1,T2,T3,T4,T5, Var&>
- (a1,a2,a3,a4,a5, var)
- );
-}
-
-template <class T1,class T2,class T3,class T4,class T5,class T6, class Var>
-inline
-detail::group1< detail::group7<T1,T2,T3,T4,T5,T6, Var&> >
- group(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6, Var& var)
-{
- return detail::group1< detail::group7<T1,T2,T3,T4,T5,T6, Var&> >
- ( detail::group7<T1,T2,T3,T4,T5,T6, Var&>
- (a1,a2,a3,a4,a5,a6, var)
- );
-}
-
-template <class T1,class T2,class T3,class T4,class T5,class T6,class T7, class Var>
-inline
-detail::group1< detail::group8<T1,T2,T3,T4,T5,T6,T7, Var&> >
- group(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6,T7 a7, Var& var)
-{
- return detail::group1< detail::group8<T1,T2,T3,T4,T5,T6,T7, Var&> >
- ( detail::group8<T1,T2,T3,T4,T5,T6,T7, Var&>
- (a1,a2,a3,a4,a5,a6,a7, var)
- );
-}
-
-template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8, class Var>
-inline
-detail::group1< detail::group9<T1,T2,T3,T4,T5,T6,T7,T8, Var&> >
- group(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6,T7 a7,T8 a8, Var& var)
-{
- return detail::group1< detail::group9<T1,T2,T3,T4,T5,T6,T7,T8, Var&> >
- ( detail::group9<T1,T2,T3,T4,T5,T6,T7,T8, Var&>
- (a1,a2,a3,a4,a5,a6,a7,a8, var)
- );
-}
-
-template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9, class Var>
-inline
-detail::group1< detail::group10<T1,T2,T3,T4,T5,T6,T7,T8,T9, Var&> >
- group(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6,T7 a7,T8 a8,T9 a9, Var& var)
-{
- return detail::group1< detail::group10<T1,T2,T3,T4,T5,T6,T7,T8,T9, Var&> >
- ( detail::group10<T1,T2,T3,T4,T5,T6,T7,T8,T9, Var&>
- (a1,a2,a3,a4,a5,a6,a7,a8,a9, var)
- );
-}
-
-
-#endif // - BOOST_NO_OVERLOAD_FOR_NON_CONST
-
-
-} // namespace io
-
-} // namespace boost
-
-
-#endif // BOOST_FORMAT_GROUP_HPP
diff --git a/boost/format/internals.hpp b/boost/format/internals.hpp
deleted file mode 100644
index b0d874a..0000000
--- a/boost/format/internals.hpp
+++ /dev/null
@@ -1,201 +0,0 @@
-// ----------------------------------------------------------------------------
-// internals.hpp : internal structs : stream_format_state, format_item.
-// included by format.hpp
-// ----------------------------------------------------------------------------
-
-// Copyright Samuel Krempp 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/libs/format for library home page
-
-// ----------------------------------------------------------------------------
-
-#ifndef BOOST_FORMAT_INTERNALS_HPP
-#define BOOST_FORMAT_INTERNALS_HPP
-
-
-#include <string>
-#include <boost/assert.hpp>
-#include <boost/optional.hpp>
-#include <boost/limits.hpp>
-#include <boost/format/detail/compat_workarounds.hpp>
-#include <boost/format/alt_sstream.hpp> // used as a dummy stream
-
-namespace boost {
-namespace io {
-namespace detail {
-
-
-//---- stream_format_state --------------------------------------------------//
-
-// set of params that define the format state of a stream
- template<class Ch, class Tr>
- struct stream_format_state
- {
- typedef BOOST_IO_STD basic_ios<Ch, Tr> basic_ios;
-
- stream_format_state(Ch fill) { reset(fill); }
-// stream_format_state(const basic_ios& os) { set_by_stream(os); }
-
- void reset(Ch fill); //- sets to default state.
- void set_by_stream(const basic_ios& os); //- sets to os's state.
- void apply_on(basic_ios & os, //- applies format_state to the stream
- boost::io::detail::locale_t * loc_default = 0) const;
- template<class T>
- void apply_manip(T manipulator) //- modifies state by applying manipulator
- { apply_manip_body<Ch, Tr, T>( *this, manipulator) ; }
-
- // --- data ---
- std::streamsize width_;
- std::streamsize precision_;
- Ch fill_;
- std::ios_base::fmtflags flags_;
- std::ios_base::iostate rdstate_;
- std::ios_base::iostate exceptions_;
- boost::optional<boost::io::detail::locale_t> loc_;
- };
-
-
-//---- format_item ---------------------------------------------------------//
-
-// stores all parameters that can be specified in format strings
- template<class Ch, class Tr, class Alloc>
- struct format_item
- {
- enum pad_values { zeropad = 1, spacepad =2, centered=4, tabulation = 8 };
- // 1. if zeropad is set, all other bits are not,
- // 2. if tabulation is set, all others are not.
- // centered and spacepad can be mixed freely.
- enum arg_values { argN_no_posit = -1, // non-positional directive. will set argN later
- argN_tabulation = -2, // tabulation directive. (no argument read)
- argN_ignored = -3 // ignored directive. (no argument read)
- };
- typedef BOOST_IO_STD basic_ios<Ch, Tr> basic_ios;
- typedef detail::stream_format_state<Ch, Tr> stream_format_state;
- typedef ::std::basic_string<Ch, Tr, Alloc> string_type;
-
- format_item(Ch fill) :argN_(argN_no_posit), fmtstate_(fill),
- truncate_(max_streamsize()), pad_scheme_(0) {}
- void reset(Ch fill);
- void compute_states(); // sets states according to truncate and pad_scheme.
-
- static std::streamsize max_streamsize() {
- return (std::numeric_limits<std::streamsize>::max)();
- }
-
- // --- data ---
- int argN_; //- argument number (starts at 0, eg : %1 => argN=0)
- // negative values for items that don't process an argument
- string_type res_; //- result of the formatting of this item
- string_type appendix_; //- piece of string between this item and the next
-
- stream_format_state fmtstate_;// set by parsing, is only affected by modify_item
-
- std::streamsize truncate_;//- is set for directives like %.5s that ask truncation
- unsigned int pad_scheme_;//- several possible padding schemes can mix. see pad_values
- };
-
-
-
-//--- Definitions ------------------------------------------------------------
-
-// - stream_format_state:: -------------------------------------------------
- template<class Ch, class Tr>
- void stream_format_state<Ch,Tr>:: apply_on (basic_ios & os,
- boost::io::detail::locale_t * loc_default) const {
- // set the state of this stream according to our params
- if(width_ != -1)
- os.width(width_);
- if(precision_ != -1)
- os.precision(precision_);
- if(fill_ != 0)
- os.fill(fill_);
- os.flags(flags_);
- os.clear(rdstate_);
- os.exceptions(exceptions_);
-#if !defined(BOOST_NO_STD_LOCALE)
- if(loc_)
- os.imbue(loc_.get());
- else if(loc_default)
- os.imbue(*loc_default);
-#else
- (void) loc_default; // keep compiler quiet if we don't support locales
-#endif
- }
-
- template<class Ch, class Tr>
- void stream_format_state<Ch,Tr>:: set_by_stream(const basic_ios& os) {
- // set our params according to the state of this stream
- flags_ = os.flags();
- width_ = os.width();
- precision_ = os.precision();
- fill_ = os.fill();
- rdstate_ = os.rdstate();
- exceptions_ = os.exceptions();
- }
-
-
- template<class Ch, class Tr, class T>
- void apply_manip_body( stream_format_state<Ch, Tr>& self,
- T manipulator) {
- // modify our params according to the manipulator
- basic_oaltstringstream<Ch, Tr> ss;
- self.apply_on( ss );
- ss << manipulator;
- self.set_by_stream( ss );
- }
-
- template<class Ch, class Tr> inline
- void stream_format_state<Ch,Tr>:: reset(Ch fill) {
- // set our params to standard's default state. cf 27.4.4.1 of the C++ norm
- width_=0; precision_=6;
- fill_=fill; // default is widen(' '), but we cant compute it without the locale
- flags_ = std::ios_base::dec | std::ios_base::skipws;
- // the adjust_field part is left equal to 0, which means right.
- exceptions_ = std::ios_base::goodbit;
- rdstate_ = std::ios_base::goodbit;
- }
-
-
-// --- format_item:: --------------------------------------------------------
-
- template<class Ch, class Tr, class Alloc>
- void format_item<Ch, Tr, Alloc>::
- reset (Ch fill) {
- argN_=argN_no_posit; truncate_ = max_streamsize(); pad_scheme_ =0;
- res_.resize(0); appendix_.resize(0);
- fmtstate_.reset(fill);
- }
-
- template<class Ch, class Tr, class Alloc>
- void format_item<Ch, Tr, Alloc>::
- compute_states() {
- // reflect pad_scheme_ on fmt_state_
- // because some pad_schemes has complex consequences on several state params.
- if(pad_scheme_ & zeropad) {
- // ignore zeropad in left alignment :
- if(fmtstate_.flags_ & std::ios_base::left) {
- BOOST_ASSERT(!(fmtstate_.flags_ &(std::ios_base::adjustfield ^std::ios_base::left)));
- // only left bit might be set. (not right, nor internal)
- pad_scheme_ = pad_scheme_ & (~zeropad);
- }
- else {
- pad_scheme_ &= ~spacepad; // printf ignores spacepad when zeropadding
- fmtstate_.fill_='0';
- fmtstate_.flags_ = (fmtstate_.flags_ & ~std::ios_base::adjustfield)
- | std::ios_base::internal;
- // removes all adjustfield bits, and adds internal.
- }
- }
- if(pad_scheme_ & spacepad) {
- if(fmtstate_.flags_ & std::ios_base::showpos)
- pad_scheme_ &= ~spacepad;
- }
- }
-
-
-} } } // namespaces boost :: io :: detail
-
-
-#endif // BOOST_FORMAT_INTERNALS_HPP
diff --git a/boost/format/internals_fwd.hpp b/boost/format/internals_fwd.hpp
deleted file mode 100644
index e44eb3c..0000000
--- a/boost/format/internals_fwd.hpp
+++ /dev/null
@@ -1,60 +0,0 @@
-// ----------------------------------------------------------------------------
-// internals_fwd.hpp : forward declarations, for internal headers
-// ----------------------------------------------------------------------------
-
-// Copyright Samuel Krempp 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/libs/format for library home page
-
-// ----------------------------------------------------------------------------
-
-#ifndef BOOST_FORMAT_INTERNAL_FWD_HPP
-#define BOOST_FORMAT_INTERNAL_FWD_HPP
-
-#include <boost/format/format_fwd.hpp>
-#include <boost/config.hpp>
-
-
-namespace boost {
-namespace io {
-
-namespace detail {
- template<class Ch, class Tr> struct stream_format_state;
- template<class Ch, class Tr, class Alloc> struct format_item;
-
-
- // these functions were intended as methods,
- // but MSVC have problems with template member functions :
- // defined in format_implementation.hpp :
- template<class Ch, class Tr, class Alloc, class T>
- basic_format<Ch, Tr, Alloc>&
- modify_item_body (basic_format<Ch, Tr, Alloc>& self,
- int itemN, T manipulator);
-
- template<class Ch, class Tr, class Alloc, class T>
- basic_format<Ch, Tr, Alloc>&
- bind_arg_body (basic_format<Ch, Tr, Alloc>& self,
- int argN, const T& val);
-
- // in internals.hpp :
- template<class Ch, class Tr, class T>
- void apply_manip_body (stream_format_state<Ch, Tr>& self,
- T manipulator);
-
- // argument feeding (defined in feed_args.hpp ) :
- template<class Ch, class Tr, class Alloc, class T>
- void distribute (basic_format<Ch,Tr, Alloc>& self, T x);
-
- template<class Ch, class Tr, class Alloc, class T>
- basic_format<Ch, Tr, Alloc>&
- feed (basic_format<Ch,Tr, Alloc>& self, T x);
-
-} // namespace detail
-
-} // namespace io
-} // namespace boost
-
-
-#endif // BOOST_FORMAT_INTERNAL_FWD_HPP
diff --git a/boost/format/parsing.hpp b/boost/format/parsing.hpp
deleted file mode 100644
index b14ca82..0000000
--- a/boost/format/parsing.hpp
+++ /dev/null
@@ -1,504 +0,0 @@
-// ----------------------------------------------------------------------------
-// parsing.hpp : implementation of the parsing member functions
-// ( parse, parse_printf_directive)
-// ----------------------------------------------------------------------------
-
-// Copyright Samuel Krempp 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/libs/format for library home page
-
-// ----------------------------------------------------------------------------
-
-#ifndef BOOST_FORMAT_PARSING_HPP
-#define BOOST_FORMAT_PARSING_HPP
-
-
-#include <boost/format/format_class.hpp>
-#include <boost/format/exceptions.hpp>
-#include <boost/throw_exception.hpp>
-#include <boost/assert.hpp>
-
-
-namespace boost {
-namespace io {
-namespace detail {
-
-#if defined(BOOST_NO_STD_LOCALE)
- // streams will be used for narrow / widen. but these methods are not const
- template<class T>
- T& const_or_not(const T& x) {
- return const_cast<T&> (x);
- }
-#else
- template<class T>
- const T& const_or_not(const T& x) {
- return x;
- }
-#endif
-
- template<class Ch, class Facet> inline
- char wrap_narrow(const Facet& fac, Ch c, char deflt) {
- return const_or_not(fac).narrow(c, deflt);
- }
-
- template<class Ch, class Facet> inline
- bool wrap_isdigit(const Facet& fac, Ch c) {
-#if ! defined( BOOST_NO_LOCALE_ISDIGIT )
- return fac.is(std::ctype<Ch>::digit, c);
-# else
- (void) fac; // remove "unused parameter" warning
- using namespace std;
- return isdigit(c);
-#endif
- }
-
- template<class Iter, class Facet>
- Iter wrap_scan_notdigit(const Facet & fac, Iter beg, Iter end) {
- using namespace std;
- for( ; beg!=end && wrap_isdigit(fac, *beg); ++beg) ;
- return beg;
- }
-
-
- // Input : [start, last) iterators range and a
- // a Facet to use its widen/narrow member function
- // Effects : read sequence and convert digits into integral n, of type Res
- // Returns : n
- template<class Res, class Iter, class Facet>
- Iter str2int (const Iter & start, const Iter & last, Res & res,
- const Facet& fac)
- {
- using namespace std;
- Iter it;
- res=0;
- for(it=start; it != last && wrap_isdigit(fac, *it); ++it ) {
- char cur_ch = wrap_narrow(fac, *it, 0); // cant fail.
- res *= 10;
- res += cur_ch - '0'; // 22.2.1.1.2.13 of the C++ standard
- }
- return it;
- }
-
- // skip printf's "asterisk-fields" directives in the format-string buf
- // Input : char string, with starting index *pos_p
- // a Facet merely to use its widen/narrow member function
- // Effects : advance *pos_p by skipping printf's asterisk fields.
- // Returns : nothing
- template<class Iter, class Facet>
- Iter skip_asterisk(Iter start, Iter last, const Facet& fac)
- {
- using namespace std;
- ++ start;
- start = wrap_scan_notdigit(fac, start, last);
- if(start!=last && *start== const_or_not(fac).widen( '$') )
- ++start;
- return start;
- }
-
-
- // auxiliary func called by parse_printf_directive
- // for centralising error handling
- // it either throws if user sets the corresponding flag, or does nothing.
- inline void maybe_throw_exception(unsigned char exceptions,
- std::size_t pos, std::size_t size)
- {
- if(exceptions & io::bad_format_string_bit)
- boost::throw_exception(io::bad_format_string(pos, size) );
- }
-
-
- // Input: the position of a printf-directive in the format-string
- // a basic_ios& merely to use its widen/narrow member function
- // a bitset'exceptions' telling whether to throw exceptions on errors.
- // Returns:
- // true if parse succeeded (ignore some errors if exceptions disabled)
- // false if it failed so bad that the directive should be printed verbatim
- // Effects:
- // start is incremented so that *start is the first char after
- // this directive
- // *fpar is set with the parameters read in the directive
- template<class Ch, class Tr, class Alloc, class Iter, class Facet>
- bool parse_printf_directive(Iter & start, const Iter& last,
- detail::format_item<Ch, Tr, Alloc> * fpar,
- const Facet& fac,
- std::size_t offset, unsigned char exceptions)
- {
- typedef typename basic_format<Ch, Tr, Alloc>::format_item_t format_item_t;
-
- fpar->argN_ = format_item_t::argN_no_posit; // if no positional-directive
- bool precision_set = false;
- bool in_brackets=false;
- Iter start0 = start;
- std::size_t fstring_size = last-start0+offset;
-
- if(start>= last) { // empty directive : this is a trailing %
- maybe_throw_exception(exceptions, start-start0 + offset, fstring_size);
- return false;
- }
-
- if(*start== const_or_not(fac).widen( '|')) {
- in_brackets=true;
- if( ++start >= last ) {
- maybe_throw_exception(exceptions, start-start0 + offset, fstring_size);
- return false;
- }
- }
-
- // the flag '0' would be picked as a digit for argument order, but here it's a flag :
- if(*start== const_or_not(fac).widen( '0'))
- goto parse_flags;
-
- // handle argument order (%2$d) or possibly width specification: %2d
- if(wrap_isdigit(fac, *start)) {
- int n;
- start = str2int(start, last, n, fac);
- if( start >= last ) {
- maybe_throw_exception(exceptions, start-start0+offset, fstring_size);
- return false;
- }
-
- // %N% case : this is already the end of the directive
- if( *start == const_or_not(fac).widen( '%') ) {
- fpar->argN_ = n-1;
- ++start;
- if( in_brackets)
- maybe_throw_exception(exceptions, start-start0+offset, fstring_size);
- // but don't return. maybe "%" was used in lieu of '$', so we go on.
- else
- return true;
- }
-
- if ( *start== const_or_not(fac).widen( '$') ) {
- fpar->argN_ = n-1;
- ++start;
- }
- else {
- // non-positionnal directive
- fpar->fmtstate_.width_ = n;
- fpar->argN_ = format_item_t::argN_no_posit;
- goto parse_precision;
- }
- }
-
- parse_flags:
- // handle flags
- while ( start != last) { // as long as char is one of + - = _ # 0 l h or ' '
- // misc switches
- switch ( wrap_narrow(fac, *start, 0)) {
- case '\'' : break; // no effect yet. (painful to implement)
- case 'l':
- case 'h': // short/long modifier : for printf-comaptibility (no action needed)
- break;
- case '-':
- fpar->fmtstate_.flags_ |= std::ios_base::left;
- break;
- case '=':
- fpar->pad_scheme_ |= format_item_t::centered;
- break;
- case '_':
- fpar->fmtstate_.flags_ |= std::ios_base::internal;
- break;
- case ' ':
- fpar->pad_scheme_ |= format_item_t::spacepad;
- break;
- case '+':
- fpar->fmtstate_.flags_ |= std::ios_base::showpos;
- break;
- case '0':
- fpar->pad_scheme_ |= format_item_t::zeropad;
- // need to know alignment before really setting flags,
- // so just add 'zeropad' flag for now, it will be processed later.
- break;
- case '#':
- fpar->fmtstate_.flags_ |= std::ios_base::showpoint | std::ios_base::showbase;
- break;
- default:
- goto parse_width;
- }
- ++start;
- } // loop on flag.
-
- if( start>=last) {
- maybe_throw_exception(exceptions, start-start0+offset, fstring_size);
- return true;
- }
- parse_width:
- // handle width spec
- // first skip 'asterisk fields' : *, or *N$
- if(*start == const_or_not(fac).widen( '*') )
- start = skip_asterisk(start, last, fac);
- if(start!=last && wrap_isdigit(fac, *start))
- start = str2int(start, last, fpar->fmtstate_.width_, fac);
-
- parse_precision:
- if( start>= last) {
- maybe_throw_exception(exceptions, start-start0+offset, fstring_size);
- return true;
- }
- // handle precision spec
- if (*start== const_or_not(fac).widen( '.')) {
- ++start;
- if(start != last && *start == const_or_not(fac).widen( '*') )
- start = skip_asterisk(start, last, fac);
- if(start != last && wrap_isdigit(fac, *start)) {
- start = str2int(start, last, fpar->fmtstate_.precision_, fac);
- precision_set = true;
- }
- else
- fpar->fmtstate_.precision_ =0;
- }
-
- // handle formatting-type flags :
- while( start != last && ( *start== const_or_not(fac).widen( 'l')
- || *start== const_or_not(fac).widen( 'L')
- || *start== const_or_not(fac).widen( 'h')) )
- ++start;
- if( start>=last) {
- maybe_throw_exception(exceptions, start-start0+offset, fstring_size);
- return true;
- }
-
- if( in_brackets && *start== const_or_not(fac).widen( '|') ) {
- ++start;
- return true;
- }
- switch ( wrap_narrow(fac, *start, 0) ) {
- case 'X':
- fpar->fmtstate_.flags_ |= std::ios_base::uppercase;
- case 'p': // pointer => set hex.
- case 'x':
- fpar->fmtstate_.flags_ &= ~std::ios_base::basefield;
- fpar->fmtstate_.flags_ |= std::ios_base::hex;
- break;
-
- case 'o':
- fpar->fmtstate_.flags_ &= ~std::ios_base::basefield;
- fpar->fmtstate_.flags_ |= std::ios_base::oct;
- break;
-
- case 'E':
- fpar->fmtstate_.flags_ |= std::ios_base::uppercase;
- case 'e':
- fpar->fmtstate_.flags_ &= ~std::ios_base::floatfield;
- fpar->fmtstate_.flags_ |= std::ios_base::scientific;
-
- fpar->fmtstate_.flags_ &= ~std::ios_base::basefield;
- fpar->fmtstate_.flags_ |= std::ios_base::dec;
- break;
-
- case 'f':
- fpar->fmtstate_.flags_ &= ~std::ios_base::floatfield;
- fpar->fmtstate_.flags_ |= std::ios_base::fixed;
- case 'u':
- case 'd':
- case 'i':
- fpar->fmtstate_.flags_ &= ~std::ios_base::basefield;
- fpar->fmtstate_.flags_ |= std::ios_base::dec;
- break;
-
- case 'T':
- ++start;
- if( start >= last)
- maybe_throw_exception(exceptions, start-start0+offset, fstring_size);
- else
- fpar->fmtstate_.fill_ = *start;
- fpar->pad_scheme_ |= format_item_t::tabulation;
- fpar->argN_ = format_item_t::argN_tabulation;
- break;
- case 't':
- fpar->fmtstate_.fill_ = const_or_not(fac).widen( ' ');
- fpar->pad_scheme_ |= format_item_t::tabulation;
- fpar->argN_ = format_item_t::argN_tabulation;
- break;
-
- case 'G':
- fpar->fmtstate_.flags_ |= std::ios_base::uppercase;
- break;
- case 'g': // 'g' conversion is default for floats.
- fpar->fmtstate_.flags_ &= ~std::ios_base::basefield;
- fpar->fmtstate_.flags_ |= std::ios_base::dec;
-
- // CLEAR all floatield flags, so stream will CHOOSE
- fpar->fmtstate_.flags_ &= ~std::ios_base::floatfield;
- break;
-
- case 'C':
- case 'c':
- fpar->truncate_ = 1;
- break;
- case 'S':
- case 's':
- if(precision_set) // handle truncation manually, with own parameter.
- fpar->truncate_ = fpar->fmtstate_.precision_;
- fpar->fmtstate_.precision_ = 6; // default stream precision.
- break;
- case 'n' :
- fpar->argN_ = format_item_t::argN_ignored;
- break;
- default:
- maybe_throw_exception(exceptions, start-start0+offset, fstring_size);
- }
- ++start;
-
- if( in_brackets ) {
- if( start != last && *start== const_or_not(fac).widen( '|') ) {
- ++start;
- return true;
- }
- else maybe_throw_exception(exceptions, start-start0+offset, fstring_size);
- }
- return true;
- }
- // -end parse_printf_directive()
-
- template<class String, class Facet>
- int upper_bound_from_fstring(const String& buf,
- const typename String::value_type arg_mark,
- const Facet& fac,
- unsigned char exceptions)
- {
- // quick-parsing of the format-string to count arguments mark (arg_mark, '%')
- // returns : upper bound on the number of format items in the format strings
- using namespace boost::io;
- typename String::size_type i1=0;
- int num_items=0;
- while( (i1=buf.find(arg_mark,i1)) != String::npos ) {
- if( i1+1 >= buf.size() ) {
- if(exceptions & bad_format_string_bit)
- boost::throw_exception(bad_format_string(i1, buf.size() )); // must not end in ".. %"
- else {
- ++num_items;
- break;
- }
- }
- if(buf[i1+1] == buf[i1] ) {// escaped "%%"
- i1+=2; continue;
- }
-
- ++i1;
- // in case of %N% directives, dont count it double (wastes allocations..) :
- i1 = detail::wrap_scan_notdigit(fac, buf.begin()+i1, buf.end()) - buf.begin();
- if( i1 < buf.size() && buf[i1] == arg_mark )
- ++i1;
- ++num_items;
- }
- return num_items;
- }
- template<class String> inline
- void append_string(String& dst, const String& src,
- const typename String::size_type beg,
- const typename String::size_type end) {
-#if !defined(BOOST_NO_STRING_APPEND)
- dst.append(src.begin()+beg, src.begin()+end);
-#else
- dst += src.substr(beg, end-beg);
-#endif
- }
-
-} // detail namespace
-} // io namespace
-
-
-
-// -----------------------------------------------
-// format :: parse(..)
-
- template<class Ch, class Tr, class Alloc>
- basic_format<Ch, Tr, Alloc>& basic_format<Ch, Tr, Alloc>::
- parse (const string_type& buf) {
- // parse the format-string
- using namespace std;
-#if !defined(BOOST_NO_STD_LOCALE)
- const std::ctype<Ch> & fac = BOOST_USE_FACET( std::ctype<Ch>, getloc());
-#else
- io::basic_oaltstringstream<Ch, Tr, Alloc> fac;
- //has widen and narrow even on compilers without locale
-#endif
-
- const Ch arg_mark = io::detail::const_or_not(fac).widen( '%');
- bool ordered_args=true;
- int max_argN=-1;
-
- // A: find upper_bound on num_items and allocates arrays
- int num_items = io::detail::upper_bound_from_fstring(buf, arg_mark, fac, exceptions());
- make_or_reuse_data(num_items);
-
- // B: Now the real parsing of the format string :
- num_items=0;
- typename string_type::size_type i0=0, i1=0;
- typename string_type::const_iterator it;
- bool special_things=false;
- int cur_item=0;
- while( (i1=buf.find(arg_mark,i1)) != string_type::npos ) {
- string_type & piece = (cur_item==0) ? prefix_ : items_[cur_item-1].appendix_;
- if( buf[i1+1] == buf[i1] ) { // escaped mark, '%%'
- io::detail::append_string(piece, buf, i0, i1+1);
- i1+=2; i0=i1;
- continue;
- }
- BOOST_ASSERT( static_cast<unsigned int>(cur_item) < items_.size() || cur_item==0);
-
- if(i1!=i0) {
- io::detail::append_string(piece, buf, i0, i1);
- i0=i1;
- }
- ++i1;
- it = buf.begin()+i1;
- bool parse_ok = io::detail::parse_printf_directive(
- it, buf.end(), &items_[cur_item], fac, i1, exceptions());
- i1 = it - buf.begin();
- if( ! parse_ok ) // the directive will be printed verbatim
- continue;
- i0=i1;
- items_[cur_item].compute_states(); // process complex options, like zeropad, into params
-
- int argN=items_[cur_item].argN_;
- if(argN == format_item_t::argN_ignored)
- continue;
- if(argN ==format_item_t::argN_no_posit)
- ordered_args=false;
- else if(argN == format_item_t::argN_tabulation) special_things=true;
- else if(argN > max_argN) max_argN = argN;
- ++num_items;
- ++cur_item;
- } // loop on %'s
- BOOST_ASSERT(cur_item == num_items);
-
- // store the final piece of string
- {
- string_type & piece = (cur_item==0) ? prefix_ : items_[cur_item-1].appendix_;
- io::detail::append_string(piece, buf, i0, buf.size());
- }
-
- if( !ordered_args) {
- if(max_argN >= 0 ) { // dont mix positional with non-positionnal directives
- if(exceptions() & io::bad_format_string_bit)
- boost::throw_exception(io::bad_format_string(max_argN, 0));
- // else do nothing. => positionnal arguments are processed as non-positionnal
- }
- // set things like it would have been with positional directives :
- int non_ordered_items = 0;
- for(int i=0; i< num_items; ++i)
- if(items_[i].argN_ == format_item_t::argN_no_posit) {
- items_[i].argN_ = non_ordered_items;
- ++non_ordered_items;
- }
- max_argN = non_ordered_items-1;
- }
-
- // C: set some member data :
- items_.resize(num_items, format_item_t(io::detail::const_or_not(fac).widen( ' ')) );
-
- if(special_things) style_ |= special_needs;
- num_args_ = max_argN + 1;
- if(ordered_args) style_ |= ordered;
- else style_ &= ~ordered;
- return *this;
- }
-
-} // namespace boost
-
-
-#endif // BOOST_FORMAT_PARSING_HPP
diff --git a/boost/functional/hash/hash_fwd.hpp b/boost/functional/hash/hash_fwd.hpp
deleted file mode 100644
index 1d51b07..0000000
--- a/boost/functional/hash/hash_fwd.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-
-// Copyright 2005-2009 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.
-
-#if !defined(BOOST_FUNCTIONAL_HASH_FWD_HPP)
-#define BOOST_FUNCTIONAL_HASH_FWD_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#include <boost/config.hpp>
-#include <cstddef>
-#include <boost/detail/workaround.hpp>
-
-namespace boost
-{
- template <class T> struct hash;
-
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
- template <class T> void hash_combine(std::size_t& seed, T& v);
-#else
- template <class T> void hash_combine(std::size_t& seed, T const& v);
-#endif
-
- template <class It> std::size_t hash_range(It, It);
- template <class It> void hash_range(std::size_t&, It, It);
-
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551))
- template <class T> inline std::size_t hash_range(T*, T*);
- template <class T> inline void hash_range(std::size_t&, T*, T*);
-#endif
-}
-
-#endif
diff --git a/boost/functional/hash_fwd.hpp b/boost/functional/hash_fwd.hpp
deleted file mode 100644
index b640988..0000000
--- a/boost/functional/hash_fwd.hpp
+++ /dev/null
@@ -1,7 +0,0 @@
-
-// Copyright 2005-2009 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)
-
-#include <boost/functional/hash/hash_fwd.hpp>
-
diff --git a/boost/fusion/adapted/mpl/detail/begin_impl.hpp b/boost/fusion/adapted/mpl/detail/begin_impl.hpp
deleted file mode 100644
index ef274ba..0000000
--- a/boost/fusion/adapted/mpl/detail/begin_impl.hpp
+++ /dev/null
@@ -1,45 +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 <boost/fusion/adapted/mpl/mpl_iterator.hpp>
-#include <boost/mpl/begin.hpp>
-#include <boost/type_traits/remove_const.hpp>
-
-namespace boost { namespace fusion {
-
- struct mpl_sequence_tag;
-
- namespace extension
- {
- template <typename Tag>
- struct begin_impl;
-
- template <>
- struct begin_impl<mpl_sequence_tag>
- {
- template <typename Sequence>
- struct apply
- {
- typedef typename mpl::begin<
- typename remove_const<Sequence>::type
- >::type iterator;
- typedef mpl_iterator<iterator> type;
-
- static type
- call(Sequence)
- {
- return type();
- }
- };
- };
- }
-}}
-
-#endif
diff --git a/boost/fusion/adapted/mpl/detail/end_impl.hpp b/boost/fusion/adapted/mpl/detail/end_impl.hpp
deleted file mode 100644
index 613ab63..0000000
--- a/boost/fusion/adapted/mpl/detail/end_impl.hpp
+++ /dev/null
@@ -1,45 +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 <boost/fusion/adapted/mpl/mpl_iterator.hpp>
-#include <boost/mpl/end.hpp>
-#include <boost/type_traits/add_const.hpp>
-
-namespace boost { namespace fusion
-{
- struct mpl_sequence_tag;
-
- namespace extension
- {
- template <typename Tag>
- struct end_impl;
-
- template <>
- struct end_impl<mpl_sequence_tag>
- {
- template <typename Sequence>
- struct apply
- {
- typedef typename mpl::end<
- typename remove_const<Sequence>::type
- >::type iterator;
- typedef mpl_iterator<iterator> type;
-
- static type
- call(Sequence)
- {
- return type();
- }
- };
- };
- }
-}}
-
-#endif
diff --git a/boost/fusion/adapted/mpl/mpl_iterator.hpp b/boost/fusion/adapted/mpl/mpl_iterator.hpp
deleted file mode 100644
index 7caa8ea..0000000
--- a/boost/fusion/adapted/mpl/mpl_iterator.hpp
+++ /dev/null
@@ -1,113 +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_MPL_ITERATOR_05052005_0731)
-#define FUSION_MPL_ITERATOR_05052005_0731
-
-#include <boost/fusion/support/detail/mpl_iterator_category.hpp>
-#include <boost/fusion/iterator/iterator_facade.hpp>
-#include <boost/type_traits/remove_const.hpp>
-#include <boost/mpl/deref.hpp>
-#include <boost/mpl/next.hpp>
-#include <boost/mpl/prior.hpp>
-#include <boost/mpl/advance.hpp>
-#include <boost/mpl/distance.hpp>
-
-namespace boost { namespace fusion
-{
- template <typename Iterator_>
- struct mpl_iterator
- : iterator_facade<
- mpl_iterator<Iterator_>
- , typename detail::mpl_iterator_category<typename Iterator_::category>::type
- >
- {
- typedef typename remove_const<Iterator_>::type iterator_type;
-
- template <typename Iterator>
- struct value_of : mpl::deref<typename Iterator::iterator_type> {};
-
- template <typename Iterator>
- struct deref
- {
- typedef typename mpl::deref<
- typename Iterator::iterator_type>::type
- type;
-
- static type
- call(Iterator)
- {
- return type();
- }
- };
-
- template <typename Iterator>
- struct next
- {
- typedef mpl_iterator<
- typename mpl::next<typename Iterator::iterator_type>::type>
- type;
-
- static type
- call(Iterator)
- {
- return type();
- }
- };
-
- template <typename Iterator>
- struct prior
- {
- typedef mpl_iterator<
- typename mpl::prior<typename Iterator::iterator_type>::type>
- type;
-
- static type
- call(Iterator)
- {
- return type();
- }
- };
-
- template <typename Iterator, typename N>
- struct advance
- {
- typedef mpl_iterator<
- typename mpl::advance<typename Iterator::iterator_type, N>::type>
- type;
-
- static type
- call(Iterator const& /*i*/)
- {
- return type();
- }
- };
-
- template <typename I1, typename I2>
- struct distance :
- mpl::distance<
- typename I1::iterator_type
- , typename I2::iterator_type>
- {
- typedef typename
- mpl::distance<
- typename I1::iterator_type
- , typename I2::iterator_type
- >::type
- type;
-
- static type
- call(I1 const&, I2 const&)
- {
- return type();
- }
- };
- };
-}}
-
-#endif
-
-
diff --git a/boost/fusion/adapted/std_pair.hpp b/boost/fusion/adapted/std_pair.hpp
deleted file mode 100644
index 4263e00..0000000
--- a/boost/fusion/adapted/std_pair.hpp
+++ /dev/null
@@ -1,19 +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_STD_PAIR_HPP
-#define BOOST_FUSION_ADAPTED_STD_PAIR_HPP
-
-#include <boost/fusion/adapted/struct/adapt_struct.hpp>
-#include <utility>
-
-BOOST_FUSION_ADAPT_TPL_STRUCT(
- (T1)(T2),(std::pair)(T1)(T2),(T1, first)(T2, second))
-
-#endif
diff --git a/boost/fusion/adapted/struct/adapt_struct.hpp b/boost/fusion/adapted/struct/adapt_struct.hpp
deleted file mode 100644
index f20533c..0000000
--- a/boost/fusion/adapted/struct/adapt_struct.hpp
+++ /dev/null
@@ -1,71 +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 <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/empty.hpp>
-#include <boost/type_traits/add_reference.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/add_const.hpp>
-#include <boost/type_traits/remove_const.hpp>
-
-#include <boost/fusion/adapted/struct/detail/extension.hpp>
-#include <boost/fusion/adapted/struct/detail/adapt_base.hpp>
-#include <boost/fusion/adapted/struct/detail/at_impl.hpp>
-#include <boost/fusion/adapted/struct/detail/is_view_impl.hpp>
-#include <boost/fusion/adapted/struct/detail/is_sequence_impl.hpp>
-#include <boost/fusion/adapted/struct/detail/value_at_impl.hpp>
-#include <boost/fusion/adapted/struct/detail/category_of_impl.hpp>
-#include <boost/fusion/adapted/struct/detail/size_impl.hpp>
-#include <boost/fusion/adapted/struct/detail/begin_impl.hpp>
-#include <boost/fusion/adapted/struct/detail/end_impl.hpp>
-#include <boost/fusion/adapted/struct/detail/value_of_impl.hpp>
-#include <boost/fusion/adapted/struct/detail/deref_impl.hpp>
-
-#define BOOST_FUSION_ADAPT_STRUCT_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/boost/fusion/adapted/struct/detail/adapt_base.hpp b/boost/fusion/adapted/struct/detail/adapt_base.hpp
deleted file mode 100644
index 1c8f040..0000000
--- a/boost/fusion/adapted/struct/detail/adapt_base.hpp
+++ /dev/null
@@ -1,245 +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 <boost/config.hpp>
-#include <boost/fusion/support/tag_of_fwd.hpp>
-
-#include <boost/preprocessor/empty.hpp>
-#include <boost/preprocessor/stringize.hpp>
-#include <boost/preprocessor/control/if.hpp>
-#include <boost/preprocessor/seq/size.hpp>
-#include <boost/preprocessor/seq/for_each.hpp>
-#include <boost/preprocessor/seq/for_each_i.hpp>
-#include <boost/preprocessor/seq/enum.hpp>
-#include <boost/preprocessor/seq/seq.hpp>
-#include <boost/preprocessor/tuple/eat.hpp>
-#include <boost/preprocessor/tuple/elem.hpp>
-#include <boost/preprocessor/arithmetic/dec.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/tag.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/type_traits/add_const.hpp>
-
-#define BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME_TEMPLATE_PARAMS(SEQ) \
- BOOST_PP_SEQ_HEAD(SEQ)<BOOST_PP_SEQ_ENUM(BOOST_PP_SEQ_TAIL(SEQ))> \
- BOOST_PP_EMPTY()
-
-#define BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(SEQ) \
- BOOST_PP_IF( \
- BOOST_PP_SEQ_HEAD(SEQ), \
- BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME_TEMPLATE_PARAMS, \
- BOOST_PP_SEQ_HEAD)(BOOST_PP_SEQ_TAIL(SEQ))
-
-#define BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS_IMPL_C(R, _, ELEM) \
- (typename ELEM)
-#define BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS_IMPL(SEQ) \
- BOOST_PP_SEQ_ENUM( \
- BOOST_PP_SEQ_FOR_EACH( \
- BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS_IMPL_C, \
- _, \
- BOOST_PP_SEQ_TAIL(SEQ)))
-#define BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(SEQ) \
- BOOST_PP_IF( \
- BOOST_PP_SEQ_HEAD(SEQ), \
- BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS_IMPL, \
- BOOST_PP_TUPLE_EAT(1))(SEQ)
-
-#ifdef BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
-# define BOOST_FUSION_ADAPT_STRUCT_TAG_OF_SPECIALIZATION( \
- MODIFIER, TEMPLATE_PARAMS_SEQ, NAME_SEQ, TAG) \
- \
- template< \
- BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \
- > \
- struct tag_of< \
- BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) MODIFIER \
- , void \
- > \
- { \
- typedef TAG type; \
- };
-#else
-# define BOOST_FUSION_ADAPT_STRUCT_TAG_OF_SPECIALIZATION( \
- MODIFIER, TEMPLATE_PARAMS_SEQ, NAME_SEQ, TAG) \
- \
- template< \
- BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \
- > \
- struct tag_of<BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) MODIFIER> \
- { \
- typedef TAG type; \
- };
-#endif
-
-#define BOOST_FUSION_ADAPT_STRUCT_BASE_UNPACK_AND_CALL(R,DATA,I,ATTRIBUTE) \
- BOOST_PP_TUPLE_ELEM(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<typename Seq> \
- struct apply \
- { \
- typedef typename \
- add_reference< \
- typename mpl::eval_if< \
- is_const<Seq> \
- , add_const<attribute_type> \
- , mpl::identity<attribute_type> \
- >::type \
- >::type \
- type; \
- \
- 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; \
- \
- 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<BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)> \
- : mpl::int_<BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(ATTRIBUTES_SEQ))> \
- {}; \
- \
- template< \
- BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS( \
- TEMPLATE_PARAMS_SEQ) \
- > \
- struct struct_is_view< \
- BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \
- > \
- : mpl::BOOST_PP_IF(IS_VIEW,true_,false_) \
- {}; \
- } \
- } \
- \
- namespace mpl \
- { \
- template<typename> \
- struct sequence_tag; \
- \
- template< \
- BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS( \
- TEMPLATE_PARAMS_SEQ) \
- > \
- struct sequence_tag<BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)> \
- { \
- typedef fusion::fusion_sequence_tag type; \
- }; \
- \
- template< \
- BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS( \
- TEMPLATE_PARAMS_SEQ) \
- > \
- struct sequence_tag< \
- BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) const \
- > \
- { \
- typedef fusion::fusion_sequence_tag type; \
- }; \
- } \
-}
-
-#endif
diff --git a/boost/fusion/adapted/struct/detail/at_impl.hpp b/boost/fusion/adapted/struct/detail/at_impl.hpp
deleted file mode 100644
index 68fd241..0000000
--- a/boost/fusion/adapted/struct/detail/at_impl.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2005-2006 Dan Marsden
- Copyright (c) 2009-2010 Christopher Schmidt
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_AT_IMPL_HPP
-#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_AT_IMPL_HPP
-
-#include <boost/mpl/int.hpp>
-
-namespace boost { namespace fusion { namespace extension
-{
- template<typename>
- struct at_impl;
-
- template <>
- struct at_impl<struct_tag>
- {
- template <typename Seq, typename N>
- struct apply
- : access::struct_member<
- typename remove_const<Seq>::type
- , N::value
- >::template apply<Seq>
- {};
- };
-
- template <>
- struct at_impl<assoc_struct_tag>
- : at_impl<struct_tag>
- {};
-}}}
-
-#endif
diff --git a/boost/fusion/adapted/struct/detail/begin_impl.hpp b/boost/fusion/adapted/struct/detail/begin_impl.hpp
deleted file mode 100644
index a7901fc..0000000
--- a/boost/fusion/adapted/struct/detail/begin_impl.hpp
+++ /dev/null
@@ -1,67 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2005-2006 Dan Marsden
- Copyright (c) 2009-2010 Christopher Schmidt
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_BEGIN_IMPL_HPP
-#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_BEGIN_IMPL_HPP
-
-#include <boost/fusion/iterator/basic_iterator.hpp>
-
-namespace boost { namespace fusion { namespace extension
-{
- template<typename>
- struct begin_impl;
-
- template <>
- struct begin_impl<struct_tag>
- {
- template <typename Seq>
- struct apply
- {
- typedef
- basic_iterator<
- struct_iterator_tag
- , random_access_traversal_tag
- , Seq
- , 0
- >
- type;
-
- static type
- call(Seq& seq)
- {
- return type(seq,0);
- }
- };
- };
-
- template <>
- struct begin_impl<assoc_struct_tag>
- {
- template <typename Seq>
- struct apply
- {
- typedef
- basic_iterator<
- struct_iterator_tag
- , assoc_struct_category
- , Seq
- , 0
- >
- type;
-
- static type
- call(Seq& seq)
- {
- return type(seq,0);
- }
- };
- };
-}}}
-
-#endif
diff --git a/boost/fusion/adapted/struct/detail/category_of_impl.hpp b/boost/fusion/adapted/struct/detail/category_of_impl.hpp
deleted file mode 100644
index b98e824..0000000
--- a/boost/fusion/adapted/struct/detail/category_of_impl.hpp
+++ /dev/null
@@ -1,42 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2005-2006 Dan Marsden
- Copyright (c) 2009-2010 Christopher Schmidt
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_CATEGORY_OF_IMPL_HPP
-#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_CATEGORY_OF_IMPL_HPP
-
-namespace boost { namespace fusion
-{
- namespace extension
- {
- template<typename>
- struct category_of_impl;
-
- template<>
- struct category_of_impl<struct_tag>
- {
- template<typename Seq>
- struct apply
- {
- typedef random_access_traversal_tag type;
- };
- };
-
- template<>
- struct category_of_impl<assoc_struct_tag>
- {
- template<typename Seq>
- struct apply
- {
- typedef assoc_struct_category type;
- };
- };
- }
-}}
-
-#endif
diff --git a/boost/fusion/adapted/struct/detail/deref_impl.hpp b/boost/fusion/adapted/struct/detail/deref_impl.hpp
deleted file mode 100644
index 3f25efe..0000000
--- a/boost/fusion/adapted/struct/detail/deref_impl.hpp
+++ /dev/null
@@ -1,41 +0,0 @@
-/*=============================================================================
- Copyright (c) 2009-2010 Christopher Schmidt
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_DEREF_IMPL_HPP
-#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_DEREF_IMPL_HPP
-
-namespace boost { namespace fusion { namespace extension
-{
- template <typename>
- struct deref_impl;
-
- template <>
- struct deref_impl<struct_iterator_tag>
- {
- template <typename It>
- struct apply
- {
- typedef typename
- access::struct_member<
- typename remove_const<typename It::seq_type>::type
- , It::index::value
- >::template apply<typename It::seq_type>
- impl;
-
- typedef typename impl::type type;
-
- static
- type
- call(It const& it)
- {
- return impl::call(*it.seq);
- }
- };
- };
-}}}
-
-#endif
diff --git a/boost/fusion/adapted/struct/detail/end_impl.hpp b/boost/fusion/adapted/struct/detail/end_impl.hpp
deleted file mode 100644
index 0d09092..0000000
--- a/boost/fusion/adapted/struct/detail/end_impl.hpp
+++ /dev/null
@@ -1,67 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2005-2006 Dan Marsden
- Copyright (c) 2009-2010 Christopher Schmidt
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_END_IMPL_HPP
-#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_END_IMPL_HPP
-
-#include <boost/fusion/iterator/basic_iterator.hpp>
-
-namespace boost { namespace fusion { namespace extension
-{
- template <typename>
- struct end_impl;
-
- template <>
- struct end_impl<struct_tag>
- {
- template <typename Seq>
- struct apply
- {
- typedef
- basic_iterator<
- struct_iterator_tag
- , random_access_traversal_tag
- , Seq
- , struct_size<typename remove_const<Seq>::type>::value
- >
- type;
-
- static type
- call(Seq& seq)
- {
- return type(seq,0);
- }
- };
- };
-
- template <>
- struct end_impl<assoc_struct_tag>
- {
- template <typename Seq>
- struct apply
- {
- typedef
- basic_iterator<
- struct_iterator_tag
- , assoc_struct_category
- , Seq
- , struct_size<typename remove_const<Seq>::type>::value
- >
- type;
-
- static type
- call(Seq& seq)
- {
- return type(seq,0);
- }
- };
- };
-}}}
-
-#endif
diff --git a/boost/fusion/adapted/struct/detail/extension.hpp b/boost/fusion/adapted/struct/detail/extension.hpp
deleted file mode 100644
index 17edb89..0000000
--- a/boost/fusion/adapted/struct/detail/extension.hpp
+++ /dev/null
@@ -1,57 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2007 Joel de Guzman
- Copyright (c) 2005-2006 Dan Marsden
- Copyright (c) 2009-2010 Christopher Schmidt
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_EXTENSION_HPP
-#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_EXTENSION_HPP
-
-#include <boost/fusion/support/category_of.hpp>
-
-namespace boost { namespace fusion
-{
- struct struct_tag;
- struct struct_iterator_tag;
- struct assoc_struct_tag;
- struct fusion_sequence_tag;
-
- struct assoc_struct_category
- : random_access_traversal_tag, associative_tag
- {};
-
- namespace extension
- {
- struct no_such_member;
-
- struct access
- {
- template<typename Seq, int N>
- struct struct_member;
-
- template<typename Seq, int N>
- struct adt_attribute_access;
- };
-
- template <typename T, int N, bool Const>
- struct adt_attribute_proxy;
-
- template<typename Seq, int N>
- struct struct_member_name;
-
- template<typename Seq>
- struct struct_size;
-
- template<typename Seq>
- struct struct_is_view;
-
- template<typename Seq, int N>
- struct struct_assoc_key;
-
- }
-}}
-
-#endif
diff --git a/boost/fusion/adapted/struct/detail/is_sequence_impl.hpp b/boost/fusion/adapted/struct/detail/is_sequence_impl.hpp
deleted file mode 100644
index c32222f..0000000
--- a/boost/fusion/adapted/struct/detail/is_sequence_impl.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2005-2006 Dan Marsden
- Copyright (c) 2009-2010 Christopher Schmidt
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_IS_SEQUENCE_IMPL_HPP
-#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_IS_SEQUENCE_IMPL_HPP
-
-#include <boost/mpl/bool.hpp>
-
-namespace boost { namespace fusion { namespace extension
-{
- template<typename>
- struct is_sequence_impl;
-
- template<>
- struct is_sequence_impl<struct_tag>
- {
- template<typename Seq>
- struct apply
- : mpl::true_
- {};
- };
-
- template <>
- struct is_sequence_impl<assoc_struct_tag>
- : is_sequence_impl<struct_tag>
- {};
-}}}
-
-#endif
diff --git a/boost/fusion/adapted/struct/detail/is_view_impl.hpp b/boost/fusion/adapted/struct/detail/is_view_impl.hpp
deleted file mode 100644
index 71d2840..0000000
--- a/boost/fusion/adapted/struct/detail/is_view_impl.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2005-2006 Dan Marsden
- Copyright (c) 2009-2010 Christopher Schmidt
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_IS_VIEW_IMPL_HPP
-#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_IS_VIEW_IMPL_HPP
-
-namespace boost { namespace fusion { namespace extension
-{
- template<typename>
- struct is_view_impl;
-
- template<>
- struct is_view_impl<struct_tag>
- {
- template<typename Seq>
- struct apply
- : struct_is_view<typename remove_const<Seq>::type>
- {};
- };
-
- template <>
- struct is_view_impl<assoc_struct_tag>
- : is_view_impl<struct_tag>
- {};
-}}}
-
-#endif
diff --git a/boost/fusion/adapted/struct/detail/size_impl.hpp b/boost/fusion/adapted/struct/detail/size_impl.hpp
deleted file mode 100644
index baf411b..0000000
--- a/boost/fusion/adapted/struct/detail/size_impl.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2005-2006 Dan Marsden
- Copyright (c) 2009-2010 Christopher Schmidt
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_SIZE_IMPL_HPP
-#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_SIZE_IMPL_HPP
-
-namespace boost { namespace fusion { namespace extension
-{
- template<typename>
- struct size_impl;
-
- template <>
- struct size_impl<struct_tag>
- {
- template <typename Seq>
- struct apply
- : struct_size<typename remove_const<Seq>::type>
- {};
- };
-
- template <>
- struct size_impl<assoc_struct_tag>
- : size_impl<struct_tag>
- {};
-}}}
-
-#endif
diff --git a/boost/fusion/adapted/struct/detail/value_at_impl.hpp b/boost/fusion/adapted/struct/detail/value_at_impl.hpp
deleted file mode 100644
index f820475..0000000
--- a/boost/fusion/adapted/struct/detail/value_at_impl.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2005-2006 Dan Marsden
- Copyright (c) 2009-2010 Christopher Schmidt
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_VALUE_AT_IMPL_HPP
-#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_VALUE_AT_IMPL_HPP
-
-namespace boost { namespace fusion { namespace extension
-{
- template<typename>
- struct value_at_impl;
-
- template <>
- struct value_at_impl<struct_tag>
- {
- template <typename Seq, typename N>
- struct apply
- : access::struct_member<typename remove_const<Seq>::type, N::value>
- {};
- };
-
- template <>
- struct value_at_impl<assoc_struct_tag>
- : value_at_impl<struct_tag>
- {};
-}}}
-
-#endif
diff --git a/boost/fusion/adapted/struct/detail/value_of_impl.hpp b/boost/fusion/adapted/struct/detail/value_of_impl.hpp
deleted file mode 100644
index 63dcbe5..0000000
--- a/boost/fusion/adapted/struct/detail/value_of_impl.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-/*=============================================================================
- Copyright (c) 2009-2010 Christopher Schmidt
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_VALUE_OF_IMPL_HPP
-#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_VALUE_OF_IMPL_HPP
-
-namespace boost { namespace fusion { namespace extension
-{
- template <typename>
- struct value_of_impl;
-
- template <>
- struct value_of_impl<struct_iterator_tag>
- {
- template <typename It>
- struct apply
- : access::struct_member<
- typename remove_const<typename It::seq_type>::type
- , It::index::value
- >
- {};
- };
-}}}
-
-#endif
diff --git a/boost/fusion/algorithm/transformation/push_back.hpp b/boost/fusion/algorithm/transformation/push_back.hpp
deleted file mode 100644
index 9afe538..0000000
--- a/boost/fusion/algorithm/transformation/push_back.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_PUSH_BACK_07162005_0235)
-#define FUSION_PUSH_BACK_07162005_0235
-
-#include <boost/fusion/support/detail/as_fusion_element.hpp>
-#include <boost/fusion/view/joint_view/joint_view.hpp>
-#include <boost/fusion/view/single_view/single_view.hpp>
-#include <boost/fusion/support/is_sequence.hpp>
-#include <boost/utility/enable_if.hpp>
-
-namespace boost { namespace fusion
-{
- namespace result_of
- {
- template <typename Sequence, typename T>
- struct push_back
- {
- typedef fusion::single_view<typename detail::as_fusion_element<T>::type> single_view;
- typedef joint_view<Sequence, single_view const> type;
- };
- }
-
- template <typename Sequence, typename T>
- inline
- typename
- lazy_enable_if<
- traits::is_sequence<Sequence>
- , result_of::push_back<Sequence const, T>
- >::type
- push_back(Sequence const& seq, T const& x)
- {
- typedef typename result_of::push_back<Sequence const, T> 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/boost/fusion/algorithm/transformation/push_front.hpp b/boost/fusion/algorithm/transformation/push_front.hpp
deleted file mode 100644
index abe7faa..0000000
--- a/boost/fusion/algorithm/transformation/push_front.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_PUSH_FRONT_07162005_0749)
-#define FUSION_PUSH_FRONT_07162005_0749
-
-#include <boost/fusion/support/detail/as_fusion_element.hpp>
-#include <boost/fusion/view/joint_view/joint_view.hpp>
-#include <boost/fusion/view/single_view/single_view.hpp>
-#include <boost/fusion/support/is_sequence.hpp>
-#include <boost/utility/enable_if.hpp>
-
-namespace boost { namespace fusion
-{
- namespace result_of
- {
- template <typename Sequence, typename T>
- struct push_front
- {
- typedef fusion::single_view<typename detail::as_fusion_element<T>::type> single_view;
- typedef joint_view<single_view const, Sequence> type;
- };
- }
-
- template <typename Sequence, typename T>
- inline
- typename
- lazy_enable_if<
- traits::is_sequence<Sequence>
- , result_of::push_front<Sequence const, T>
- >::type
- push_front(Sequence const& seq, T const& x)
- {
- typedef typename result_of::push_front<Sequence const, T> 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/boost/fusion/container/generation/ignore.hpp b/boost/fusion/container/generation/ignore.hpp
deleted file mode 100644
index 8e1b00c..0000000
--- a/boost/fusion/container/generation/ignore.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001 Doug Gregor
- 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_IGNORE_07192005_0329)
-#define FUSION_IGNORE_07192005_0329
-
-namespace boost { namespace fusion
-{
- // Swallows any assignment (by Doug Gregor)
- namespace detail
- {
- struct swallow_assign
- {
- template<typename T>
- swallow_assign const&
- operator=(const T&) const
- {
- return *this;
- }
- };
- }
-
- // "ignore" allows tuple positions to be ignored when using "tie".
- detail::swallow_assign const ignore = detail::swallow_assign();
-}}
-
-#endif
diff --git a/boost/fusion/container/list/cons.hpp b/boost/fusion/container/list/cons.hpp
deleted file mode 100644
index 8a04049..0000000
--- a/boost/fusion/container/list/cons.hpp
+++ /dev/null
@@ -1,144 +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 <boost/fusion/container/list/cons_fwd.hpp>
-#include <boost/fusion/support/detail/access.hpp>
-#include <boost/fusion/sequence/intrinsic/begin.hpp>
-#include <boost/fusion/sequence/intrinsic/end.hpp>
-#include <boost/fusion/iterator/next.hpp>
-#include <boost/fusion/iterator/deref.hpp>
-#include <boost/fusion/container/list/cons_iterator.hpp>
-#include <boost/fusion/container/list/detail/begin_impl.hpp>
-#include <boost/fusion/container/list/detail/end_impl.hpp>
-#include <boost/fusion/container/list/detail/at_impl.hpp>
-#include <boost/fusion/container/list/detail/value_at_impl.hpp>
-#include <boost/fusion/container/list/detail/empty_impl.hpp>
-#include <boost/type_traits/is_convertible.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <boost/fusion/support/sequence_base.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/or.hpp>
-
-namespace boost { namespace fusion
-{
- struct void_;
- struct cons_tag;
- struct forward_traversal_tag;
- struct fusion_sequence_tag;
-
- struct nil_ : sequence_base<nil_>
- {
- typedef mpl::int_<0> 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 void_ car_type;
- typedef void_ cdr_type;
-
- nil_() {}
-
- template <typename Iterator>
- nil_(Iterator const& /*iter*/, mpl::true_ /*this_is_an_iterator*/)
- {}
-
- template <typename Iterator>
- void assign_from_iter(Iterator const& /*iter*/)
- {
- }
- };
-
- template <typename Car, typename Cdr /*= nil_*/>
- struct cons : sequence_base<cons<Car, Cdr> >
- {
- typedef mpl::int_<Cdr::size::value+1> 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;
-
- cons()
- : car(), cdr() {}
-
- explicit cons(typename detail::call_param<Car>::type in_car)
- : car(in_car), cdr() {}
-
- cons(
- typename detail::call_param<Car>::type in_car
- , typename detail::call_param<Cdr>::type in_cdr)
- : car(in_car), cdr(in_cdr) {}
-
- template <typename Car2, typename Cdr2>
- cons(cons<Car2, Cdr2> const& rhs)
- : car(rhs.car), cdr(rhs.cdr) {}
-
- cons(cons const& rhs)
- : car(rhs.car), cdr(rhs.cdr) {}
-
- template <typename Sequence>
- cons(
- Sequence const& seq
- , typename boost::disable_if<
- mpl::or_<
- is_convertible<Sequence, cons> // use copy ctor instead
- , is_convertible<Sequence, Car> // use copy to car instead
- >
- >::type* /*dummy*/ = 0
- )
- : car(*fusion::begin(seq))
- , cdr(fusion::next(fusion::begin(seq)), mpl::true_()) {}
-
- template <typename Iterator>
- cons(Iterator const& iter, mpl::true_ /*this_is_an_iterator*/)
- : car(*iter)
- , cdr(fusion::next(iter), mpl::true_()) {}
-
- template <typename Car2, typename Cdr2>
- cons& operator=(cons<Car2, Cdr2> const& rhs)
- {
- car = rhs.car;
- cdr = rhs.cdr;
- return *this;
- }
-
- cons& operator=(cons const& rhs)
- {
- car = rhs.car;
- cdr = rhs.cdr;
- return *this;
- }
-
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, Car>, cons&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type Iterator;
- Iterator iter = fusion::begin(seq);
- this->assign_from_iter(iter);
- return *this;
- }
-
- template <typename Iterator>
- 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/boost/fusion/container/list/cons_fwd.hpp b/boost/fusion/container/list/cons_fwd.hpp
deleted file mode 100644
index 4ec558f..0000000
--- a/boost/fusion/container/list/cons_fwd.hpp
+++ /dev/null
@@ -1,23 +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(BOOST_FUSION_CONS_FWD_HPP_INCLUDED)
-#define BOOST_FUSION_CONS_FWD_HPP_INCLUDED
-
-namespace boost { namespace fusion
-{
- struct nil_;
- #ifndef nil
- typedef nil_ nil;
- #endif
-
- template <typename Car, typename Cdr = nil_>
- struct cons;
-}}
-
-#endif
-
diff --git a/boost/fusion/container/list/cons_iterator.hpp b/boost/fusion/container/list/cons_iterator.hpp
deleted file mode 100644
index 834651d..0000000
--- a/boost/fusion/container/list/cons_iterator.hpp
+++ /dev/null
@@ -1,89 +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 <boost/type_traits/add_const.hpp>
-#include <boost/fusion/support/iterator_base.hpp>
-#include <boost/fusion/container/list/detail/deref_impl.hpp>
-#include <boost/fusion/container/list/detail/next_impl.hpp>
-#include <boost/fusion/container/list/detail/value_of_impl.hpp>
-#include <boost/fusion/container/list/detail/equal_to_impl.hpp>
-#include <boost/fusion/container/list/list_fwd.hpp>
-
-namespace boost { namespace fusion
-{
- struct nil_;
- struct cons_iterator_tag;
- struct forward_traversal_tag;
-
- template <typename Cons>
- struct cons_iterator_identity;
-
- template <typename Cons = nil_>
- struct cons_iterator : iterator_base<cons_iterator<Cons> >
- {
- typedef cons_iterator_tag fusion_tag;
- typedef forward_traversal_tag category;
- typedef Cons cons_type;
- typedef cons_iterator_identity<
- typename add_const<Cons>::type>
- identity;
-
- 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<nil_iterator>
- {
- typedef forward_traversal_tag category;
- typedef cons_iterator_tag fusion_tag;
- typedef nil_ cons_type;
- typedef cons_iterator_identity<
- add_const<nil_>::type>
- identity;
- nil_iterator() {}
- explicit nil_iterator(nil_ const&) {}
- };
-
- template <>
- struct cons_iterator<nil_> : nil_iterator
- {
- cons_iterator() {}
- explicit cons_iterator(nil_ const&) {}
- };
-
- template <>
- struct cons_iterator<nil_ const> : nil_iterator
- {
- cons_iterator() {}
- explicit cons_iterator(nil_ const&) {}
- };
-
- template <>
- struct cons_iterator<list<> > : nil_iterator
- {
- cons_iterator() {}
- explicit cons_iterator(nil_ const&) {}
- };
-
- template <>
- struct cons_iterator<list<> const> : nil_iterator
- {
- cons_iterator() {}
- explicit cons_iterator(nil_ const&) {}
- };
-}}
-
-#endif
diff --git a/boost/fusion/container/list/detail/at_impl.hpp b/boost/fusion/container/list/detail/at_impl.hpp
deleted file mode 100644
index 7574639..0000000
--- a/boost/fusion/container/list/detail/at_impl.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_AT_IMPL_07172005_0726)
-#define FUSION_AT_IMPL_07172005_0726
-
-#include <boost/fusion/support/detail/access.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/add_const.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/bool.hpp>
-
-namespace boost { namespace fusion
-{
- namespace detail
- {
- template <typename Cons>
- struct cons_deref
- {
- typedef typename Cons::car_type type;
- };
-
- template <typename Cons, int I>
- struct cons_advance
- {
- typedef typename
- cons_advance<Cons, I-1>::type::cdr_type
- type;
- };
-
- template <typename Cons>
- struct cons_advance<Cons, 0>
- {
- typedef Cons type;
- };
-
- template <typename Cons>
- struct cons_advance<Cons, 1>
- {
- typedef typename Cons::cdr_type type;
- };
-
- template <typename Cons>
- struct cons_advance<Cons, 2>
- {
-#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 <typename Cons>
- struct cons_advance<Cons, 3>
- {
-#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 <typename Cons>
- struct cons_advance<Cons, 4>
- {
-#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 <typename Tag>
- struct at_impl;
-
- template <>
- struct at_impl<cons_tag>
- {
- template <typename Sequence, typename N>
- struct apply
- {
- typedef typename detail::cons_deref<
- typename detail::cons_advance<Sequence, N::value>::type>::type
- element;
-
- typedef typename
- mpl::if_<
- is_const<Sequence>
- , typename detail::cref_result<element>::type
- , typename detail::ref_result<element>::type
- >::type
- type;
-
- template <typename Cons, int N2>
- static type
- call(Cons& s, mpl::int_<N2>)
- {
- return call(s.cdr, mpl::int_<N2-1>());
- }
-
- template <typename Cons>
- static type
- call(Cons& s, mpl::int_<0>)
- {
- return s.car;
- }
-
- static type
- call(Sequence& s)
- {
- return call(s, mpl::int_<N::value>());
- }
- };
- };
- }
-}}
-
-#endif
diff --git a/boost/fusion/container/list/detail/begin_impl.hpp b/boost/fusion/container/list/detail/begin_impl.hpp
deleted file mode 100644
index 27a7342..0000000
--- a/boost/fusion/container/list/detail/begin_impl.hpp
+++ /dev/null
@@ -1,49 +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 <boost/mpl/if.hpp>
-#include <boost/type_traits/is_const.hpp>
-
-namespace boost { namespace fusion
-{
- struct nil_;
-
- struct cons_tag;
-
- template <typename Car, typename Cdr>
- struct cons;
-
- template <typename Cons>
- struct cons_iterator;
-
- namespace extension
- {
- template <typename Tag>
- struct begin_impl;
-
- template <>
- struct begin_impl<cons_tag>
- {
- template <typename Sequence>
- struct apply
- {
- typedef cons_iterator<Sequence> type;
-
- static type
- call(Sequence& t)
- {
- return type(t);
- }
- };
- };
- }
-}}
-
-#endif
diff --git a/boost/fusion/container/list/detail/deref_impl.hpp b/boost/fusion/container/list/detail/deref_impl.hpp
deleted file mode 100644
index a5f75ea..0000000
--- a/boost/fusion/container/list/detail/deref_impl.hpp
+++ /dev/null
@@ -1,52 +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 <boost/mpl/eval_if.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/add_const.hpp>
-#include <boost/type_traits/add_reference.hpp>
-
-namespace boost { namespace fusion
-{
- struct cons_iterator_tag;
-
- namespace extension
- {
- template <typename Tag>
- struct deref_impl;
-
- template <>
- struct deref_impl<cons_iterator_tag>
- {
- template <typename Iterator>
- struct apply
- {
- typedef typename Iterator::cons_type cons_type;
- typedef typename cons_type::car_type value_type;
-
- typedef typename mpl::eval_if<
- is_const<cons_type>
- , add_reference<typename add_const<value_type>::type>
- , add_reference<value_type> >::type
- type;
-
- static type
- call(Iterator const& i)
- {
- return i.cons.car;
- }
- };
- };
- }
-}}
-
-#endif
-
-
diff --git a/boost/fusion/container/list/detail/empty_impl.hpp b/boost/fusion/container/list/detail/empty_impl.hpp
deleted file mode 100644
index 2392dd7..0000000
--- a/boost/fusion/container/list/detail/empty_impl.hpp
+++ /dev/null
@@ -1,37 +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_SEQUENCE_EMPTY_IMPL_HPP_INCLUDED)
-#define BOOST_FUSION_SEQUENCE_EMPTY_IMPL_HPP_INCLUDED
-
-#include <boost/type_traits/is_convertible.hpp>
-
-namespace boost { namespace fusion
-{
- struct cons_tag;
-
- struct nil_;
-
- template <typename Car, typename Cdr>
- struct cons;
-
- namespace extension
- {
- template <typename Tag>
- struct empty_impl;
-
- template <>
- struct empty_impl<cons_tag>
- {
- template <typename Sequence>
- struct apply
- : boost::is_convertible<Sequence, nil_>
- {};
- };
- }
-}}
-
-#endif
diff --git a/boost/fusion/container/list/detail/end_impl.hpp b/boost/fusion/container/list/detail/end_impl.hpp
deleted file mode 100644
index a2eafba..0000000
--- a/boost/fusion/container/list/detail/end_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_END_IMPL_07172005_0828)
-#define FUSION_END_IMPL_07172005_0828
-
-#include <boost/mpl/if.hpp>
-#include <boost/type_traits/is_const.hpp>
-
-namespace boost { namespace fusion
-{
- struct nil_;
-
- struct cons_tag;
-
- template <typename Car, typename Cdr>
- struct cons;
-
- template <typename Cons>
- struct cons_iterator;
-
- namespace extension
- {
- template <typename Tag>
- struct end_impl;
-
- template <>
- struct end_impl<cons_tag>
- {
- template <typename Sequence>
- struct apply
- {
- typedef cons_iterator<
- typename mpl::if_<is_const<Sequence>, nil_ const, nil_>::type>
- type;
-
- static type
- call(Sequence&)
- {
- return type();
- }
- };
- };
- }
-}}
-
-#endif
diff --git a/boost/fusion/container/list/detail/equal_to_impl.hpp b/boost/fusion/container/list/detail/equal_to_impl.hpp
deleted file mode 100644
index a4d5929..0000000
--- a/boost/fusion/container/list/detail/equal_to_impl.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)
-==============================================================================*/
-#if !defined(FUSION_EQUAL_TO_IMPL_09172005_1120)
-#define FUSION_EQUAL_TO_IMPL_09172005_1120
-
-#include <boost/type_traits/is_same.hpp>
-#include <boost/mpl/equal_to.hpp>
-#include <boost/mpl/and.hpp>
-
-namespace boost { namespace fusion
-{
- struct cons_iterator_tag;
-
- namespace extension
- {
- template <typename Tag>
- struct equal_to_impl;
-
- template <>
- struct equal_to_impl<cons_iterator_tag>
- {
- template <typename I1, typename I2>
- struct apply
- : is_same<
- typename I1::identity
- , typename I2::identity
- >
- {
- };
- };
- }
-}}
-
-#endif
-
diff --git a/boost/fusion/container/list/detail/next_impl.hpp b/boost/fusion/container/list/detail/next_impl.hpp
deleted file mode 100644
index 71006e5..0000000
--- a/boost/fusion/container/list/detail/next_impl.hpp
+++ /dev/null
@@ -1,59 +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 <boost/fusion/iterator/next.hpp>
-#include <boost/fusion/iterator/equal_to.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/add_const.hpp>
-
-namespace boost { namespace fusion
-{
- struct cons_iterator_tag;
-
- template <typename Cons>
- struct cons_iterator;
-
- namespace extension
- {
- template <typename Tag>
- struct next_impl;
-
- template <>
- struct next_impl<cons_iterator_tag>
- {
- template <typename Iterator>
- 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<cons_type>
- , add_const<cdr_type>
- , mpl::identity<cdr_type>
- >::type>
- type;
-
- static type
- call(Iterator const& i)
- {
- return type(i.cons.cdr);
- }
- };
- };
- }
-}}
-
-#endif
-
-
diff --git a/boost/fusion/container/list/detail/preprocessed/list10_fwd.hpp b/boost/fusion/container/list/detail/preprocessed/list10_fwd.hpp
deleted file mode 100644
index f513a99..0000000
--- a/boost/fusion/container/list/detail/preprocessed/list10_fwd.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)
-
- This is an auto-generated file. Do not edit!
-==============================================================================*/
-namespace boost { namespace fusion
-{
- struct void_;
- template <
- typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_
- >
- struct list;
-}}
diff --git a/boost/fusion/container/list/detail/preprocessed/list20_fwd.hpp b/boost/fusion/container/list/detail/preprocessed/list20_fwd.hpp
deleted file mode 100644
index 2eedc8b..0000000
--- a/boost/fusion/container/list/detail/preprocessed/list20_fwd.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)
-
- This is an auto-generated file. Do not edit!
-==============================================================================*/
-namespace boost { namespace fusion
-{
- struct void_;
- template <
- typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_
- >
- struct list;
-}}
diff --git a/boost/fusion/container/list/detail/preprocessed/list30_fwd.hpp b/boost/fusion/container/list/detail/preprocessed/list30_fwd.hpp
deleted file mode 100644
index 32bfc60..0000000
--- a/boost/fusion/container/list/detail/preprocessed/list30_fwd.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)
-
- This is an auto-generated file. Do not edit!
-==============================================================================*/
-namespace boost { namespace fusion
-{
- struct void_;
- template <
- typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T2 [...]
- >
- struct list;
-}}
diff --git a/boost/fusion/container/list/detail/preprocessed/list40_fwd.hpp b/boost/fusion/container/list/detail/preprocessed/list40_fwd.hpp
deleted file mode 100644
index 5d0da6d..0000000
--- a/boost/fusion/container/list/detail/preprocessed/list40_fwd.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)
-
- This is an auto-generated file. Do not edit!
-==============================================================================*/
-namespace boost { namespace fusion
-{
- struct void_;
- template <
- typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T2 [...]
- >
- struct list;
-}}
diff --git a/boost/fusion/container/list/detail/preprocessed/list50_fwd.hpp b/boost/fusion/container/list/detail/preprocessed/list50_fwd.hpp
deleted file mode 100644
index 2b3ae66..0000000
--- a/boost/fusion/container/list/detail/preprocessed/list50_fwd.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)
-
- This is an auto-generated file. Do not edit!
-==============================================================================*/
-namespace boost { namespace fusion
-{
- struct void_;
- template <
- typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T2 [...]
- >
- struct list;
-}}
diff --git a/boost/fusion/container/list/detail/preprocessed/list_fwd.hpp b/boost/fusion/container/list/detail/preprocessed/list_fwd.hpp
deleted file mode 100644
index b9be347..0000000
--- a/boost/fusion/container/list/detail/preprocessed/list_fwd.hpp
+++ /dev/null
@@ -1,22 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
- This is an auto-generated file. Do not edit!
-==============================================================================*/
-
-#if FUSION_MAX_LIST_SIZE <= 10
-#include <boost/fusion/container/list/detail/preprocessed/list10_fwd.hpp>
-#elif FUSION_MAX_LIST_SIZE <= 20
-#include <boost/fusion/container/list/detail/preprocessed/list20_fwd.hpp>
-#elif FUSION_MAX_LIST_SIZE <= 30
-#include <boost/fusion/container/list/detail/preprocessed/list30_fwd.hpp>
-#elif FUSION_MAX_LIST_SIZE <= 40
-#include <boost/fusion/container/list/detail/preprocessed/list40_fwd.hpp>
-#elif FUSION_MAX_LIST_SIZE <= 50
-#include <boost/fusion/container/list/detail/preprocessed/list50_fwd.hpp>
-#else
-#error "FUSION_MAX_LIST_SIZE out of bounds for preprocessed headers"
-#endif
diff --git a/boost/fusion/container/list/detail/reverse_cons.hpp b/boost/fusion/container/list/detail/reverse_cons.hpp
deleted file mode 100644
index 5083e0c..0000000
--- a/boost/fusion/container/list/detail/reverse_cons.hpp
+++ /dev/null
@@ -1,43 +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_REVERSE_CONS_HPP_INCLUDED)
-#define BOOST_FUSION_REVERSE_CONS_HPP_INCLUDED
-
-#include <boost/fusion/container/list/cons_fwd.hpp>
-
-namespace boost { namespace fusion { namespace detail
-{
- ////////////////////////////////////////////////////////////////////////////
- template<typename Cons, typename State = nil_>
- struct reverse_cons;
-
- template<typename Car, typename Cdr, typename State>
- struct reverse_cons<cons<Car, Cdr>, State>
- {
- typedef reverse_cons<Cdr, cons<Car, State> > impl;
- typedef typename impl::type type;
-
- static type call(cons<Car, Cdr> const &cons, State const &state = State())
- {
- typedef fusion::cons<Car, State> cdr_type;
- return impl::call(cons.cdr, cdr_type(cons.car, state));
- }
- };
-
- template<typename State>
- struct reverse_cons<nil_, State>
- {
- typedef State type;
-
- static State const &call(nil_ const &, State const &state = State())
- {
- return state;
- }
- };
-}}}
-
-#endif
diff --git a/boost/fusion/container/list/detail/value_at_impl.hpp b/boost/fusion/container/list/detail/value_at_impl.hpp
deleted file mode 100644
index 353f8d5..0000000
--- a/boost/fusion/container/list/detail/value_at_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_VALUE_AT_IMPL_07172005_0952)
-#define FUSION_VALUE_AT_IMPL_07172005_0952
-
-#include <boost/fusion/support/detail/access.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/bool.hpp>
-
-namespace boost { namespace fusion
-{
- struct cons_tag;
-
- namespace extension
- {
- template <typename Tag>
- struct value_at_impl;
-
- template <>
- struct value_at_impl<cons_tag>
- {
- template <typename Sequence, typename N>
- struct apply
- {
- typedef typename
- mpl::eval_if<
- mpl::bool_<N::value == 0>
- , mpl::identity<typename Sequence::car_type>
- , apply<typename Sequence::cdr_type, mpl::int_<N::value-1> >
- >::type
- type;
- };
- };
- }
-}}
-
-#endif
diff --git a/boost/fusion/container/list/detail/value_of_impl.hpp b/boost/fusion/container/list/detail/value_of_impl.hpp
deleted file mode 100644
index daabe41..0000000
--- a/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 <typename Tag>
- struct value_of_impl;
-
- template <>
- struct value_of_impl<cons_iterator_tag>
- {
- template <typename Iterator>
- struct apply
- {
- typedef typename Iterator::cons_type cons_type;
- typedef typename cons_type::car_type type;
- };
- };
- }
-
-}}
-
-#endif
-
-
diff --git a/boost/fusion/container/list/limits.hpp b/boost/fusion/container/list/limits.hpp
deleted file mode 100644
index 1d545ba..0000000
--- a/boost/fusion/container/list/limits.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-#if !defined(FUSION_LIST_LIMITS_07172005_0112)
-#define FUSION_LIST_LIMITS_07172005_0112
-
-#if !defined(FUSION_MAX_LIST_SIZE)
-# define FUSION_MAX_LIST_SIZE 10
-#else
-# if FUSION_MAX_LIST_SIZE < 3
-# undef FUSION_MAX_LIST_SIZE
-# define FUSION_MAX_LIST_SIZE 10
-# endif
-#endif
-
-#define FUSION_MAX_LIST_SIZE_STR BOOST_PP_STRINGIZE(BOOST_FUSION_PP_ROUND_UP(FUSION_MAX_LIST_SIZE))
-
-#endif
diff --git a/boost/fusion/container/list/list_fwd.hpp b/boost/fusion/container/list/list_fwd.hpp
deleted file mode 100644
index a142689..0000000
--- a/boost/fusion/container/list/list_fwd.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_LIST_FORWARD_07172005_0224)
-#define FUSION_LIST_FORWARD_07172005_0224
-
-#include <boost/fusion/container/list/limits.hpp>
-#include <boost/preprocessor/repetition/enum_params_with_a_default.hpp>
-
-#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES)
-#include <boost/fusion/container/list/detail/preprocessed/list_fwd.hpp>
-#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/boost/fusion/container/vector/detail/advance_impl.hpp b/boost/fusion/container/vector/detail/advance_impl.hpp
deleted file mode 100644
index cded8f4..0000000
--- a/boost/fusion/container/vector/detail/advance_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_ADVANCE_IMPL_09172005_1156)
-#define FUSION_ADVANCE_IMPL_09172005_1156
-
-namespace boost { namespace fusion
-{
- struct vector_iterator_tag;
-
- template <typename Vector, int N>
- struct vector_iterator;
-
- namespace extension
- {
- template <typename Tag>
- struct advance_impl;
-
- template <>
- struct advance_impl<vector_iterator_tag>
- {
- template <typename Iterator, typename N>
- struct apply
- {
- typedef typename Iterator::index index;
- typedef typename Iterator::vector vector;
- typedef vector_iterator<vector, index::value+N::value> type;
-
- static type
- call(Iterator const& i)
- {
- return type(i.vec);
- }
- };
- };
- }
-}}
-
-#endif
diff --git a/boost/fusion/container/vector/detail/at_impl.hpp b/boost/fusion/container/vector/detail/at_impl.hpp
deleted file mode 100644
index 0017d9c..0000000
--- a/boost/fusion/container/vector/detail/at_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_AT_IMPL_05042005_0741)
-#define FUSION_AT_IMPL_05042005_0741
-
-#include <boost/fusion/support/detail/access.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/mpl/at.hpp>
-#include <boost/mpl/int.hpp>
-
-namespace boost { namespace fusion
-{
- struct vector_tag;
-
- namespace extension
- {
- template <typename Tag>
- struct at_impl;
-
- template <>
- struct at_impl<vector_tag>
- {
- template <typename Sequence, typename N>
- struct apply
- {
- typedef typename mpl::at<typename Sequence::types, N>::type element;
- typedef typename detail::ref_result<element>::type type;
-
- static type
- call(Sequence& v)
- {
- return v.at_impl(N());
- }
- };
-
- template <typename Sequence, typename N>
- struct apply <Sequence const, N>
- {
- typedef typename mpl::at<typename Sequence::types, N>::type element;
- typedef typename detail::cref_result<element>::type type;
-
- static type
- call(Sequence const& v)
- {
- return v.at_impl(N());
- }
- };
- };
- }
-}}
-
-#endif
diff --git a/boost/fusion/container/vector/detail/begin_impl.hpp b/boost/fusion/container/vector/detail/begin_impl.hpp
deleted file mode 100644
index f5583ba..0000000
--- a/boost/fusion/container/vector/detail/begin_impl.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)
-==============================================================================*/
-#if !defined(FUSION_BEGIN_IMPL_05042005_1136)
-#define FUSION_BEGIN_IMPL_05042005_1136
-
-#include <boost/fusion/container/vector/vector_iterator.hpp>
-
-namespace boost { namespace fusion
-{
- struct vector_tag;
-
- namespace extension
- {
- template <typename Tag>
- struct begin_impl;
-
- template <>
- struct begin_impl<vector_tag>
- {
- template <typename Sequence>
- struct apply
- {
- typedef vector_iterator<Sequence, 0> type;
-
- static type
- call(Sequence& v)
- {
- return type(v);
- }
- };
- };
- }
-}}
-
-#endif
diff --git a/boost/fusion/container/vector/detail/deref_impl.hpp b/boost/fusion/container/vector/detail/deref_impl.hpp
deleted file mode 100644
index 8c5fb94..0000000
--- a/boost/fusion/container/vector/detail/deref_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(FUSION_DEREF_IMPL_05042005_1037)
-#define FUSION_DEREF_IMPL_05042005_1037
-
-#include <boost/mpl/at.hpp>
-#include <boost/fusion/support/detail/access.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/mpl/if.hpp>
-
-namespace boost { namespace fusion
-{
- struct vector_iterator_tag;
-
- namespace extension
- {
- template <typename Tag>
- struct deref_impl;
-
- template <>
- struct deref_impl<vector_iterator_tag>
- {
- template <typename Iterator>
- 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<vector>
- , typename fusion::detail::cref_result<element>::type
- , typename fusion::detail::ref_result<element>::type
- >::type
- type;
-
- static type
- call(Iterator const& i)
- {
- return i.vec.at_impl(index());
- }
- };
- };
- }
-}}
-
-#endif
diff --git a/boost/fusion/container/vector/detail/distance_impl.hpp b/boost/fusion/container/vector/detail/distance_impl.hpp
deleted file mode 100644
index 146d5ba..0000000
--- a/boost/fusion/container/vector/detail/distance_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_DISTANCE_IMPL_09172005_0751)
-#define FUSION_DISTANCE_IMPL_09172005_0751
-
-#include <boost/mpl/minus.hpp>
-
-namespace boost { namespace fusion
-{
- struct vector_iterator_tag;
-
- namespace extension
- {
- template <typename Tag>
- struct distance_impl;
-
- template <>
- struct distance_impl<vector_iterator_tag>
- {
- template <typename First, typename Last>
- struct apply : mpl::minus<typename Last::index, typename First::index>
- {
- 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/boost/fusion/container/vector/detail/end_impl.hpp b/boost/fusion/container/vector/detail/end_impl.hpp
deleted file mode 100644
index fde365c..0000000
--- a/boost/fusion/container/vector/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_05042005_1142)
-#define FUSION_END_IMPL_05042005_1142
-
-#include <boost/fusion/container/vector/vector_iterator.hpp>
-
-namespace boost { namespace fusion
-{
- struct vector_tag;
-
- namespace extension
- {
- template <typename Tag>
- struct end_impl;
-
- template <>
- struct end_impl<vector_tag>
- {
- template <typename Sequence>
- struct apply
- {
- typedef typename Sequence::size size;
- typedef vector_iterator<Sequence, size::value> type;
-
- static type
- call(Sequence& v)
- {
- return type(v);
- }
- };
- };
- }
-}}
-
-#endif
diff --git a/boost/fusion/container/vector/detail/equal_to_impl.hpp b/boost/fusion/container/vector/detail/equal_to_impl.hpp
deleted file mode 100644
index 3c6fcbd..0000000
--- a/boost/fusion/container/vector/detail/equal_to_impl.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)
-==============================================================================*/
-#if !defined(FUSION_EQUAL_TO_IMPL_05052005_1215)
-#define FUSION_EQUAL_TO_IMPL_05052005_1215
-
-#include <boost/type_traits/is_same.hpp>
-#include <boost/mpl/equal_to.hpp>
-#include <boost/mpl/and.hpp>
-
-namespace boost { namespace fusion
-{
- struct vector_iterator_tag;
-
- namespace extension
- {
- template <typename Tag>
- struct equal_to_impl;
-
- template <>
- struct equal_to_impl<vector_iterator_tag>
- {
- template <typename I1, typename I2>
- struct apply
- : is_same<
- typename I1::identity
- , typename I2::identity
- >
- {
- };
- };
- }
-}}
-
-#endif
-
diff --git a/boost/fusion/container/vector/detail/next_impl.hpp b/boost/fusion/container/vector/detail/next_impl.hpp
deleted file mode 100644
index 169297d..0000000
--- a/boost/fusion/container/vector/detail/next_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_NEXT_IMPL_05042005_1058)
-#define FUSION_NEXT_IMPL_05042005_1058
-
-#include <boost/fusion/container/vector/vector_iterator.hpp>
-
-namespace boost { namespace fusion
-{
- struct vector_iterator_tag;
- template <typename Vector, int N>
- struct vector_iterator;
-
- namespace extension
- {
- template <typename Tag>
- struct next_impl;
-
- template <>
- struct next_impl<vector_iterator_tag>
- {
- template <typename Iterator>
- struct apply
- {
- typedef typename Iterator::vector vector;
- typedef typename Iterator::index index;
- typedef vector_iterator<vector, index::value+1> type;
-
- static type
- call(Iterator const& i)
- {
- return type(i.vec);
- }
- };
- };
- }
-}}
-
-#endif
diff --git a/boost/fusion/container/vector/detail/preprocessed/vector.hpp b/boost/fusion/container/vector/detail/preprocessed/vector.hpp
deleted file mode 100644
index 040fff9..0000000
--- a/boost/fusion/container/vector/detail/preprocessed/vector.hpp
+++ /dev/null
@@ -1,22 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
- This is an auto-generated file. Do not edit!
-==============================================================================*/
-
-#if FUSION_MAX_VECTOR_SIZE <= 10
-#include <boost/fusion/container/vector/detail/preprocessed/vvector10.hpp>
-#elif FUSION_MAX_VECTOR_SIZE <= 20
-#include <boost/fusion/container/vector/detail/preprocessed/vvector20.hpp>
-#elif FUSION_MAX_VECTOR_SIZE <= 30
-#include <boost/fusion/container/vector/detail/preprocessed/vvector30.hpp>
-#elif FUSION_MAX_VECTOR_SIZE <= 40
-#include <boost/fusion/container/vector/detail/preprocessed/vvector40.hpp>
-#elif FUSION_MAX_VECTOR_SIZE <= 50
-#include <boost/fusion/container/vector/detail/preprocessed/vvector50.hpp>
-#else
-#error "FUSION_MAX_VECTOR_SIZE out of bounds for preprocessed headers"
-#endif
diff --git a/boost/fusion/container/vector/detail/preprocessed/vector10.hpp b/boost/fusion/container/vector/detail/preprocessed/vector10.hpp
deleted file mode 100644
index 8ef9947..0000000
--- a/boost/fusion/container/vector/detail/preprocessed/vector10.hpp
+++ /dev/null
@@ -1,1004 +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 <typename T0>
- struct vector_data1
- {
- vector_data1()
- : m0() {}
- vector_data1(
- typename detail::call_param<T0 >::type _0)
- : m0(_0) {}
- vector_data1(
- vector_data1 const& other)
- : m0(other.m0) {}
- vector_data1&
- operator=(vector_data1 const& vec)
- {
- this->m0 = vec.m0;
- return *this;
- }
- template <typename Sequence>
- static vector_data1
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
-
- return vector_data1(*i0);
- }
- template <typename Sequence>
- static vector_data1
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
-
- return vector_data1(*i0);
- }
- T0 m0;
- };
- template <typename T0>
- struct vector1
- : vector_data1<T0>
- , sequence_base<vector1<T0> >
- {
- typedef vector1<T0> this_type;
- typedef vector_data1<T0> base_type;
- typedef mpl::vector1<T0> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<1> size;
- vector1() {}
- explicit
- vector1(
- typename detail::call_param<T0 >::type _0)
- : base_type(_0) {}
- template <typename U0>
- vector1(
- vector1<U0> const& vec)
- : base_type(vec.m0) {}
- template <typename Sequence>
- vector1(
- Sequence const& seq
- , typename boost::disable_if<is_convertible<Sequence, T0> >::type* = 0
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector1(
- Sequence& seq
- , typename boost::disable_if<is_convertible<Sequence, T0> >::type* = 0
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0>
- vector1&
- operator=(vector1<U0> const& vec)
- {
- this->m0 = vec.m0;
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
-
- this->m0 = *i0;
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; }
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1>
- struct vector_data2
- {
- vector_data2()
- : m0() , m1() {}
- vector_data2(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1)
- : m0(_0) , m1(_1) {}
- vector_data2(
- vector_data2 const& other)
- : m0(other.m0) , m1(other.m1) {}
- vector_data2&
- operator=(vector_data2 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1;
- return *this;
- }
- template <typename Sequence>
- static vector_data2
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0);
- return vector_data2(*i0 , *i1);
- }
- template <typename Sequence>
- static vector_data2
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0);
- return vector_data2(*i0 , *i1);
- }
- T0 m0; T1 m1;
- };
- template <typename T0 , typename T1>
- struct vector2
- : vector_data2<T0 , T1>
- , sequence_base<vector2<T0 , T1> >
- {
- typedef vector2<T0 , T1> this_type;
- typedef vector_data2<T0 , T1> base_type;
- typedef mpl::vector2<T0 , T1> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<2> size;
- vector2() {}
- vector2(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1)
- : base_type(_0 , _1) {}
- template <typename U0 , typename U1>
- vector2(
- vector2<U0 , U1> const& vec)
- : base_type(vec.m0 , vec.m1) {}
- template <typename Sequence>
- vector2(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector2(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1>
- vector2&
- operator=(vector2<U0 , U1> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1;
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0);
- this->m0 = *i0; this->m1 = *i1;
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; }
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2>
- struct vector_data3
- {
- vector_data3()
- : m0() , m1() , m2() {}
- vector_data3(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2)
- : m0(_0) , m1(_1) , m2(_2) {}
- vector_data3(
- vector_data3 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) {}
- vector_data3&
- operator=(vector_data3 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2;
- return *this;
- }
- template <typename Sequence>
- static vector_data3
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1);
- return vector_data3(*i0 , *i1 , *i2);
- }
- template <typename Sequence>
- static vector_data3
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1);
- return vector_data3(*i0 , *i1 , *i2);
- }
- T0 m0; T1 m1; T2 m2;
- };
- template <typename T0 , typename T1 , typename T2>
- struct vector3
- : vector_data3<T0 , T1 , T2>
- , sequence_base<vector3<T0 , T1 , T2> >
- {
- typedef vector3<T0 , T1 , T2> this_type;
- typedef vector_data3<T0 , T1 , T2> base_type;
- typedef mpl::vector3<T0 , T1 , T2> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<3> size;
- vector3() {}
- vector3(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2)
- : base_type(_0 , _1 , _2) {}
- template <typename U0 , typename U1 , typename U2>
- vector3(
- vector3<U0 , U1 , U2> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2) {}
- template <typename Sequence>
- vector3(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector3(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2>
- vector3&
- operator=(vector3<U0 , U1 , U2> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2;
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1);
- this->m0 = *i0; this->m1 = *i1; this->m2 = *i2;
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } typename add_reference<typename add_cons [...]
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3>
- struct vector_data4
- {
- vector_data4()
- : m0() , m1() , m2() , m3() {}
- vector_data4(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3)
- : m0(_0) , m1(_1) , m2(_2) , m3(_3) {}
- vector_data4(
- vector_data4 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) {}
- vector_data4&
- operator=(vector_data4 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3;
- return *this;
- }
- template <typename Sequence>
- static vector_data4
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2);
- return vector_data4(*i0 , *i1 , *i2 , *i3);
- }
- template <typename Sequence>
- static vector_data4
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2);
- return vector_data4(*i0 , *i1 , *i2 , *i3);
- }
- T0 m0; T1 m1; T2 m2; T3 m3;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3>
- struct vector4
- : vector_data4<T0 , T1 , T2 , T3>
- , sequence_base<vector4<T0 , T1 , T2 , T3> >
- {
- typedef vector4<T0 , T1 , T2 , T3> this_type;
- typedef vector_data4<T0 , T1 , T2 , T3> base_type;
- typedef mpl::vector4<T0 , T1 , T2 , T3> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<4> size;
- vector4() {}
- vector4(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3)
- : base_type(_0 , _1 , _2 , _3) {}
- template <typename U0 , typename U1 , typename U2 , typename U3>
- vector4(
- vector4<U0 , U1 , U2 , U3> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3) {}
- template <typename Sequence>
- vector4(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector4(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3>
- vector4&
- operator=(vector4<U0 , U1 , U2 , U3> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3;
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2);
- this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3;
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } typename add_reference<typename add_cons [...]
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4>
- struct vector_data5
- {
- vector_data5()
- : m0() , m1() , m2() , m3() , m4() {}
- vector_data5(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4)
- : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) {}
- vector_data5(
- vector_data5 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) {}
- vector_data5&
- operator=(vector_data5 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4;
- return *this;
- }
- template <typename Sequence>
- static vector_data5
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3);
- return vector_data5(*i0 , *i1 , *i2 , *i3 , *i4);
- }
- template <typename Sequence>
- static vector_data5
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3);
- return vector_data5(*i0 , *i1 , *i2 , *i3 , *i4);
- }
- T0 m0; T1 m1; T2 m2; T3 m3; T4 m4;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4>
- struct vector5
- : vector_data5<T0 , T1 , T2 , T3 , T4>
- , sequence_base<vector5<T0 , T1 , T2 , T3 , T4> >
- {
- typedef vector5<T0 , T1 , T2 , T3 , T4> this_type;
- typedef vector_data5<T0 , T1 , T2 , T3 , T4> base_type;
- typedef mpl::vector5<T0 , T1 , T2 , T3 , T4> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<5> size;
- vector5() {}
- vector5(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4)
- : base_type(_0 , _1 , _2 , _3 , _4) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4>
- vector5(
- vector5<U0 , U1 , U2 , U3 , U4> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4) {}
- template <typename Sequence>
- vector5(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector5(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4>
- vector5&
- operator=(vector5<U0 , U1 , U2 , U3 , U4> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4;
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3);
- this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4;
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } typename add_reference<typename add_cons [...]
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5>
- struct vector_data6
- {
- vector_data6()
- : m0() , m1() , m2() , m3() , m4() , m5() {}
- vector_data6(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5)
- : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) {}
- vector_data6(
- vector_data6 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) {}
- vector_data6&
- operator=(vector_data6 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5;
- return *this;
- }
- template <typename Sequence>
- static vector_data6
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4);
- return vector_data6(*i0 , *i1 , *i2 , *i3 , *i4 , *i5);
- }
- template <typename Sequence>
- static vector_data6
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4);
- return vector_data6(*i0 , *i1 , *i2 , *i3 , *i4 , *i5);
- }
- T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5>
- struct vector6
- : vector_data6<T0 , T1 , T2 , T3 , T4 , T5>
- , sequence_base<vector6<T0 , T1 , T2 , T3 , T4 , T5> >
- {
- typedef vector6<T0 , T1 , T2 , T3 , T4 , T5> this_type;
- typedef vector_data6<T0 , T1 , T2 , T3 , T4 , T5> base_type;
- typedef mpl::vector6<T0 , T1 , T2 , T3 , T4 , T5> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<6> size;
- vector6() {}
- vector6(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5)
- : base_type(_0 , _1 , _2 , _3 , _4 , _5) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5>
- vector6(
- vector6<U0 , U1 , U2 , U3 , U4 , U5> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5) {}
- template <typename Sequence>
- vector6(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector6(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5>
- vector6&
- operator=(vector6<U0 , U1 , U2 , U3 , U4 , U5> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5;
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4);
- this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5;
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } typename add_reference<typename add_cons [...]
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6>
- struct vector_data7
- {
- vector_data7()
- : m0() , m1() , m2() , m3() , m4() , m5() , m6() {}
- vector_data7(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6)
- : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) {}
- vector_data7(
- vector_data7 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) {}
- vector_data7&
- operator=(vector_data7 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6;
- return *this;
- }
- template <typename Sequence>
- static vector_data7
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5);
- return vector_data7(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6);
- }
- template <typename Sequence>
- static vector_data7
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5);
- return vector_data7(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6);
- }
- T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6>
- struct vector7
- : vector_data7<T0 , T1 , T2 , T3 , T4 , T5 , T6>
- , sequence_base<vector7<T0 , T1 , T2 , T3 , T4 , T5 , T6> >
- {
- typedef vector7<T0 , T1 , T2 , T3 , T4 , T5 , T6> this_type;
- typedef vector_data7<T0 , T1 , T2 , T3 , T4 , T5 , T6> base_type;
- typedef mpl::vector7<T0 , T1 , T2 , T3 , T4 , T5 , T6> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<7> size;
- vector7() {}
- vector7(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6)
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6>
- vector7(
- vector7<U0 , U1 , U2 , U3 , U4 , U5 , U6> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6) {}
- template <typename Sequence>
- vector7(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector7(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6>
- vector7&
- operator=(vector7<U0 , U1 , U2 , U3 , U4 , U5 , U6> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6;
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5);
- this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6;
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } typename add_reference<typename add_cons [...]
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7>
- struct vector_data8
- {
- vector_data8()
- : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() {}
- vector_data8(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7)
- : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) {}
- vector_data8(
- vector_data8 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) {}
- vector_data8&
- operator=(vector_data8 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7;
- return *this;
- }
- template <typename Sequence>
- static vector_data8
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data8(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7);
- }
- template <typename Sequence>
- static vector_data8
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data8(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7);
- }
- T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7>
- struct vector8
- : vector_data8<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7>
- , sequence_base<vector8<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7> >
- {
- typedef vector8<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7> this_type;
- typedef vector_data8<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7> base_type;
- typedef mpl::vector8<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<8> size;
- vector8() {}
- vector8(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7)
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7>
- vector8(
- vector8<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7) {}
- template <typename Sequence>
- vector8(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector8(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7>
- vector8&
- operator=(vector8<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7;
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7;
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } typename add_reference<typename add_cons [...]
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8>
- struct vector_data9
- {
- vector_data9()
- : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() {}
- vector_data9(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8)
- : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) {}
- vector_data9(
- vector_data9 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) {}
- vector_data9&
- operator=(vector_data9 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8;
- return *this;
- }
- template <typename Sequence>
- static vector_data9
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data9(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8);
- }
- template <typename Sequence>
- static vector_data9
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data9(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8);
- }
- T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8>
- struct vector9
- : vector_data9<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8>
- , sequence_base<vector9<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8> >
- {
- typedef vector9<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8> this_type;
- typedef vector_data9<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8> base_type;
- typedef mpl::vector9<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<9> size;
- vector9() {}
- vector9(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8)
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8>
- vector9(
- vector9<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8) {}
- template <typename Sequence>
- vector9(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector9(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8>
- vector9&
- operator=(vector9<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8;
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8;
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } typename add_reference<typename add_cons [...]
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
- struct vector_data10
- {
- vector_data10()
- : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() {}
- vector_data10(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9)
- : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) {}
- vector_data10(
- vector_data10 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) {}
- vector_data10&
- operator=(vector_data10 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9;
- return *this;
- }
- template <typename Sequence>
- static vector_data10
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data10(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9);
- }
- template <typename Sequence>
- static vector_data10
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data10(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9);
- }
- T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
- struct vector10
- : vector_data10<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9>
- , sequence_base<vector10<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> >
- {
- typedef vector10<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> this_type;
- typedef vector_data10<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> base_type;
- typedef mpl::vector10<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<10> size;
- vector10() {}
- vector10(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9)
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9>
- vector10(
- vector10<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9) {}
- template <typename Sequence>
- vector10(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector10(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9>
- vector10&
- operator=(vector10<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9;
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9;
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } typename add_reference<typename add_cons [...]
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
-}}
diff --git a/boost/fusion/container/vector/detail/preprocessed/vector10_fwd.hpp b/boost/fusion/container/vector/detail/preprocessed/vector10_fwd.hpp
deleted file mode 100644
index 33f817f..0000000
--- a/boost/fusion/container/vector/detail/preprocessed/vector10_fwd.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-/*=============================================================================
- Copyright (c) 2011 Eric Niebler
- Copyright (c) 2001-2011 Joel de Guzman
-
- Distributed under the 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 <typename T0>
- struct vector1;
- template <typename T0 , typename T1>
- struct vector2;
- template <typename T0 , typename T1 , typename T2>
- struct vector3;
- template <typename T0 , typename T1 , typename T2 , typename T3>
- struct vector4;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4>
- struct vector5;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5>
- struct vector6;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6>
- struct vector7;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7>
- struct vector8;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8>
- struct vector9;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
- struct vector10;
-}}
diff --git a/boost/fusion/container/vector/detail/preprocessed/vector20.hpp b/boost/fusion/container/vector/detail/preprocessed/vector20.hpp
deleted file mode 100644
index 151acbb..0000000
--- a/boost/fusion/container/vector/detail/preprocessed/vector20.hpp
+++ /dev/null
@@ -1,1004 +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 vector_tag;
- struct fusion_sequence_tag;
- struct random_access_traversal_tag;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10>
- struct vector_data11
- {
- vector_data11()
- : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() {}
- vector_data11(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _10)
- : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) {}
- vector_data11(
- vector_data11 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) {}
- vector_data11&
- operator=(vector_data11 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10;
- return *this;
- }
- template <typename Sequence>
- static vector_data11
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data11(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10);
- }
- template <typename Sequence>
- static vector_data11
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data11(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10);
- }
- T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10>
- struct vector11
- : vector_data11<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10>
- , sequence_base<vector11<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10> >
- {
- typedef vector11<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10> this_type;
- typedef vector_data11<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10> base_type;
- typedef mpl::vector11<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<11> size;
- vector11() {}
- vector11(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _10)
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10>
- vector11(
- vector11<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10) {}
- template <typename Sequence>
- vector11(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector11(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10>
- vector11&
- operator=(vector11<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10;
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10;
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } typename add_reference<typename add_cons [...]
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11>
- struct vector_data12
- {
- vector_data12()
- : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() {}
- vector_data12(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) {}
- vector_data12(
- vector_data12 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) {}
- vector_data12&
- operator=(vector_data12 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11;
- return *this;
- }
- template <typename Sequence>
- static vector_data12
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data12(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11);
- }
- template <typename Sequence>
- static vector_data12
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data12(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11);
- }
- T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11>
- struct vector12
- : vector_data12<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11>
- , sequence_base<vector12<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11> >
- {
- typedef vector12<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11> this_type;
- typedef vector_data12<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11> base_type;
- typedef mpl::vector12<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<12> size;
- vector12() {}
- vector12(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11>
- vector12(
- vector12<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11) {}
- template <typename Sequence>
- vector12(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector12(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11>
- vector12&
- operator=(vector12<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11;
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11;
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } typename add_reference<typename add_cons [...]
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12>
- struct vector_data13
- {
- vector_data13()
- : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() {}
- vector_data13(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) {}
- vector_data13(
- vector_data13 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) {}
- vector_data13&
- operator=(vector_data13 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12;
- return *this;
- }
- template <typename Sequence>
- static vector_data13
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data13(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12);
- }
- template <typename Sequence>
- static vector_data13
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data13(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12);
- }
- T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12>
- struct vector13
- : vector_data13<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12>
- , sequence_base<vector13<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12> >
- {
- typedef vector13<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12> this_type;
- typedef vector_data13<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12> base_type;
- typedef mpl::vector13<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<13> size;
- vector13() {}
- vector13(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12>
- vector13(
- vector13<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12) {}
- template <typename Sequence>
- vector13(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector13(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12>
- vector13&
- operator=(vector13<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12;
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12;
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } typename add_reference<typename add_cons [...]
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13>
- struct vector_data14
- {
- vector_data14()
- : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() {}
- vector_data14(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) {}
- vector_data14(
- vector_data14 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) {}
- vector_data14&
- operator=(vector_data14 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13;
- return *this;
- }
- template <typename Sequence>
- static vector_data14
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data14(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13);
- }
- template <typename Sequence>
- static vector_data14
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data14(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13);
- }
- T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13>
- struct vector14
- : vector_data14<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13>
- , sequence_base<vector14<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13> >
- {
- typedef vector14<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13> this_type;
- typedef vector_data14<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13> base_type;
- typedef mpl::vector14<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<14> size;
- vector14() {}
- vector14(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13>
- vector14(
- vector14<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13) {}
- template <typename Sequence>
- vector14(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector14(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13>
- vector14&
- operator=(vector14<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13;
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13;
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } typename add_reference<typename add_cons [...]
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14>
- struct vector_data15
- {
- vector_data15()
- : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() {}
- vector_data15(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) {}
- vector_data15(
- vector_data15 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) {}
- vector_data15&
- operator=(vector_data15 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14;
- return *this;
- }
- template <typename Sequence>
- static vector_data15
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data15(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14);
- }
- template <typename Sequence>
- static vector_data15
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data15(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14);
- }
- T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14>
- struct vector15
- : vector_data15<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14>
- , sequence_base<vector15<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14> >
- {
- typedef vector15<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14> this_type;
- typedef vector_data15<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14> base_type;
- typedef mpl::vector15<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<15> size;
- vector15() {}
- vector15(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14>
- vector15(
- vector15<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14) {}
- template <typename Sequence>
- vector15(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector15(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14>
- vector15&
- operator=(vector15<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14;
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14;
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } typename add_reference<typename add_cons [...]
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15>
- struct vector_data16
- {
- vector_data16()
- : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() {}
- vector_data16(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) {}
- vector_data16(
- vector_data16 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) {}
- vector_data16&
- operator=(vector_data16 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15;
- return *this;
- }
- template <typename Sequence>
- static vector_data16
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data16(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15);
- }
- template <typename Sequence>
- static vector_data16
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data16(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15);
- }
- T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15>
- struct vector16
- : vector_data16<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15>
- , sequence_base<vector16<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15> >
- {
- typedef vector16<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15> this_type;
- typedef vector_data16<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15> base_type;
- typedef mpl::vector16<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<16> size;
- vector16() {}
- vector16(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15>
- vector16(
- vector16<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15) {}
- template <typename Sequence>
- vector16(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector16(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15>
- vector16&
- operator=(vector16<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15;
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15;
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } typename add_reference<typename add_cons [...]
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16>
- struct vector_data17
- {
- vector_data17()
- : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() {}
- vector_data17(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) {}
- vector_data17(
- vector_data17 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) {}
- vector_data17&
- operator=(vector_data17 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16;
- return *this;
- }
- template <typename Sequence>
- static vector_data17
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data17(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16);
- }
- template <typename Sequence>
- static vector_data17
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data17(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16);
- }
- T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16>
- struct vector17
- : vector_data17<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16>
- , sequence_base<vector17<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16> >
- {
- typedef vector17<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16> this_type;
- typedef vector_data17<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16> base_type;
- typedef mpl::vector17<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<17> size;
- vector17() {}
- vector17(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16>
- vector17(
- vector17<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16) {}
- template <typename Sequence>
- vector17(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector17(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16>
- vector17&
- operator=(vector17<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16;
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16;
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } typename add_reference<typename add_cons [...]
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17>
- struct vector_data18
- {
- vector_data18()
- : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() {}
- vector_data18(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) {}
- vector_data18(
- vector_data18 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) {}
- vector_data18&
- operator=(vector_data18 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17;
- return *this;
- }
- template <typename Sequence>
- static vector_data18
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data18(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17);
- }
- template <typename Sequence>
- static vector_data18
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data18(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17);
- }
- T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17>
- struct vector18
- : vector_data18<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17>
- , sequence_base<vector18<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17> >
- {
- typedef vector18<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17> this_type;
- typedef vector_data18<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17> base_type;
- typedef mpl::vector18<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<18> size;
- vector18() {}
- vector18(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17>
- vector18(
- vector18<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17) {}
- template <typename Sequence>
- vector18(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector18(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17>
- vector18&
- operator=(vector18<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17;
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17;
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } typename add_reference<typename add_cons [...]
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18>
- struct vector_data19
- {
- vector_data19()
- : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() {}
- vector_data19(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) {}
- vector_data19(
- vector_data19 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) {}
- vector_data19&
- operator=(vector_data19 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18;
- return *this;
- }
- template <typename Sequence>
- static vector_data19
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data19(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18);
- }
- template <typename Sequence>
- static vector_data19
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data19(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18);
- }
- T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18>
- struct vector19
- : vector_data19<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18>
- , sequence_base<vector19<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18> >
- {
- typedef vector19<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18> this_type;
- typedef vector_data19<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18> base_type;
- typedef mpl::vector19<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<19> size;
- vector19() {}
- vector19(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18>
- vector19(
- vector19<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18) {}
- template <typename Sequence>
- vector19(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector19(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18>
- vector19&
- operator=(vector19<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18;
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18;
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } typename add_reference<typename add_cons [...]
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19>
- struct vector_data20
- {
- vector_data20()
- : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() {}
- vector_data20(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) {}
- vector_data20(
- vector_data20 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) {}
- vector_data20&
- operator=(vector_data20 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19;
- return *this;
- }
- template <typename Sequence>
- static vector_data20
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data20(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19);
- }
- template <typename Sequence>
- static vector_data20
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data20(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19);
- }
- T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19>
- struct vector20
- : vector_data20<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19>
- , sequence_base<vector20<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19> >
- {
- typedef vector20<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19> this_type;
- typedef vector_data20<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19> base_type;
- typedef mpl::vector20<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<20> size;
- vector20() {}
- vector20(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19>
- vector20(
- vector20<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19) {}
- template <typename Sequence>
- vector20(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector20(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19>
- vector20&
- operator=(vector20<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19;
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19;
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } typename add_reference<typename add_cons [...]
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
-}}
diff --git a/boost/fusion/container/vector/detail/preprocessed/vector20_fwd.hpp b/boost/fusion/container/vector/detail/preprocessed/vector20_fwd.hpp
deleted file mode 100644
index b167285..0000000
--- a/boost/fusion/container/vector/detail/preprocessed/vector20_fwd.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-/*=============================================================================
- Copyright (c) 2011 Eric Niebler
- Copyright (c) 2001-2011 Joel de Guzman
-
- Distributed under the 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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10>
- struct vector11;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11>
- struct vector12;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12>
- struct vector13;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13>
- struct vector14;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14>
- struct vector15;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15>
- struct vector16;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16>
- struct vector17;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17>
- struct vector18;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18>
- struct vector19;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19>
- struct vector20;
-}}
diff --git a/boost/fusion/container/vector/detail/preprocessed/vector30.hpp b/boost/fusion/container/vector/detail/preprocessed/vector30.hpp
deleted file mode 100644
index 3810091..0000000
--- a/boost/fusion/container/vector/detail/preprocessed/vector30.hpp
+++ /dev/null
@@ -1,1004 +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 vector_tag;
- struct fusion_sequence_tag;
- struct random_access_traversal_tag;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20>
- struct vector_data21
- {
- vector_data21()
- : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() {}
- vector_data21(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) {}
- vector_data21(
- vector_data21 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) {}
- vector_data21&
- operator=(vector_data21 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20;
- return *this;
- }
- template <typename Sequence>
- static vector_data21
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data21(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20);
- }
- template <typename Sequence>
- static vector_data21
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data21(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20);
- }
- T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20>
- struct vector21
- : vector_data21<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20>
- , sequence_base<vector21<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20> >
- {
- typedef vector21<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20> this_type;
- typedef vector_data21<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20> base_type;
- typedef mpl::vector21<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<21> size;
- vector21() {}
- vector21(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20>
- vector21(
- vector21<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20) {}
- template <typename Sequence>
- vector21(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector21(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20>
- vector21&
- operator=(vector21<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20;
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20;
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } typename add_reference<typename add_cons [...]
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21>
- struct vector_data22
- {
- vector_data22()
- : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() {}
- vector_data22(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) {}
- vector_data22(
- vector_data22 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) {}
- vector_data22&
- operator=(vector_data22 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21;
- return *this;
- }
- template <typename Sequence>
- static vector_data22
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data22(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21);
- }
- template <typename Sequence>
- static vector_data22
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data22(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21);
- }
- T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21>
- struct vector22
- : vector_data22<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21>
- , sequence_base<vector22<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21> >
- {
- typedef vector22<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21> this_type;
- typedef vector_data22<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21> base_type;
- typedef mpl::vector22<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<22> size;
- vector22() {}
- vector22(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21>
- vector22(
- vector22<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21) {}
- template <typename Sequence>
- vector22(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector22(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21>
- vector22&
- operator=(vector22<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21;
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21;
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } typename add_reference<typename add_cons [...]
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22>
- struct vector_data23
- {
- vector_data23()
- : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() {}
- vector_data23(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) {}
- vector_data23(
- vector_data23 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) {}
- vector_data23&
- operator=(vector_data23 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22;
- return *this;
- }
- template <typename Sequence>
- static vector_data23
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data23(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22);
- }
- template <typename Sequence>
- static vector_data23
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data23(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22);
- }
- T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22>
- struct vector23
- : vector_data23<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22>
- , sequence_base<vector23<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22> >
- {
- typedef vector23<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22> this_type;
- typedef vector_data23<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22> base_type;
- typedef mpl::vector23<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<23> size;
- vector23() {}
- vector23(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22>
- vector23(
- vector23<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22) {}
- template <typename Sequence>
- vector23(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector23(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22>
- vector23&
- operator=(vector23<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22;
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22;
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } typename add_reference<typename add_cons [...]
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23>
- struct vector_data24
- {
- vector_data24()
- : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() {}
- vector_data24(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) {}
- vector_data24(
- vector_data24 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) {}
- vector_data24&
- operator=(vector_data24 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23;
- return *this;
- }
- template <typename Sequence>
- static vector_data24
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data24(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23);
- }
- template <typename Sequence>
- static vector_data24
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data24(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23);
- }
- T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23>
- struct vector24
- : vector_data24<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23>
- , sequence_base<vector24<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23> >
- {
- typedef vector24<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23> this_type;
- typedef vector_data24<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23> base_type;
- typedef mpl::vector24<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<24> size;
- vector24() {}
- vector24(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23>
- vector24(
- vector24<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23) {}
- template <typename Sequence>
- vector24(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector24(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23>
- vector24&
- operator=(vector24<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23;
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23;
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } typename add_reference<typename add_cons [...]
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24>
- struct vector_data25
- {
- vector_data25()
- : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() {}
- vector_data25(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) {}
- vector_data25(
- vector_data25 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) {}
- vector_data25&
- operator=(vector_data25 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- static vector_data25
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data25(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24);
- }
- template <typename Sequence>
- static vector_data25
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data25(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24);
- }
- T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24>
- struct vector25
- : vector_data25<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24>
- , sequence_base<vector25<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24> >
- {
- typedef vector25<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24> this_type;
- typedef vector_data25<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24> base_type;
- typedef mpl::vector25<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<25> size;
- vector25() {}
- vector25(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24>
- vector25(
- vector25<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24) {}
- template <typename Sequence>
- vector25(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector25(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24>
- vector25&
- operator=(vector25<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24;
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } typename add_reference<typename add_cons [...]
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25>
- struct vector_data26
- {
- vector_data26()
- : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() {}
- vector_data26(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) {}
- vector_data26(
- vector_data26 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) {}
- vector_data26&
- operator=(vector_data26 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- static vector_data26
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data26(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25);
- }
- template <typename Sequence>
- static vector_data26
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data26(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25);
- }
- T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25>
- struct vector26
- : vector_data26<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25>
- , sequence_base<vector26<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25> >
- {
- typedef vector26<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25> this_type;
- typedef vector_data26<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25> base_type;
- typedef mpl::vector26<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<26> size;
- vector26() {}
- vector26(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25>
- vector26(
- vector26<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25) {}
- template <typename Sequence>
- vector26(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector26(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25>
- vector26&
- operator=(vector26<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25;
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } typename add_reference<typename add_cons [...]
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26>
- struct vector_data27
- {
- vector_data27()
- : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() {}
- vector_data27(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) , m26(_26) {}
- vector_data27(
- vector_data27 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) {}
- vector_data27&
- operator=(vector_data27 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- static vector_data27
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data27(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26);
- }
- template <typename Sequence>
- static vector_data27
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data27(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26);
- }
- T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26>
- struct vector27
- : vector_data27<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26>
- , sequence_base<vector27<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26> >
- {
- typedef vector27<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26> this_type;
- typedef vector_data27<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26> base_type;
- typedef mpl::vector27<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<27> size;
- vector27() {}
- vector27(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26>
- vector27(
- vector27<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26) {}
- template <typename Sequence>
- vector27(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector27(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26>
- vector27&
- operator=(vector27<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26;
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } typename add_reference<typename add_cons [...]
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27>
- struct vector_data28
- {
- vector_data28()
- : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() {}
- vector_data28(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) , m26(_26) , m27(_27) {}
- vector_data28(
- vector_data28 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) {}
- vector_data28&
- operator=(vector_data28 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- static vector_data28
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data28(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27);
- }
- template <typename Sequence>
- static vector_data28
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data28(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27);
- }
- T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27>
- struct vector28
- : vector_data28<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27>
- , sequence_base<vector28<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27> >
- {
- typedef vector28<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27> this_type;
- typedef vector_data28<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27> base_type;
- typedef mpl::vector28<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<28> size;
- vector28() {}
- vector28(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27>
- vector28(
- vector28<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27) {}
- template <typename Sequence>
- vector28(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector28(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27>
- vector28&
- operator=(vector28<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27;
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } typename add_reference<typename add_cons [...]
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28>
- struct vector_data29
- {
- vector_data29()
- : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() {}
- vector_data29(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) , m26(_26) , m27(_27) , m28(_28) {}
- vector_data29(
- vector_data29 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) {}
- vector_data29&
- operator=(vector_data29 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- static vector_data29
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data29(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28);
- }
- template <typename Sequence>
- static vector_data29
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data29(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28);
- }
- T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28>
- struct vector29
- : vector_data29<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28>
- , sequence_base<vector29<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28> >
- {
- typedef vector29<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28> this_type;
- typedef vector_data29<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28> base_type;
- typedef mpl::vector29<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<29> size;
- vector29() {}
- vector29(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28>
- vector29(
- vector29<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28) {}
- template <typename Sequence>
- vector29(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector29(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28>
- vector29&
- operator=(vector29<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i [...]
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } typename add_reference<typename add_cons [...]
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29>
- struct vector_data30
- {
- vector_data30()
- : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() {}
- vector_data30(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) , m26(_26) , m27(_27) , m28(_28) , m29(_29) {}
- vector_data30(
- vector_data30 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(o [...]
- vector_data30&
- operator=(vector_data30 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- static vector_data30
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data30(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29);
- }
- template <typename Sequence>
- static vector_data30
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data30(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29);
- }
- T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29>
- struct vector30
- : vector_data30<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29>
- , sequence_base<vector30<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29> >
- {
- typedef vector30<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29> this_type;
- typedef vector_data30<T0 , T1 , T2 , T3 , T4 , T5 , 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;
- typedef mpl::vector30<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<30> size;
- vector30() {}
- vector30(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29>
- vector30(
- vector30<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29) {}
- template <typename Sequence>
- vector30(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector30(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29>
- vector30&
- operator=(vector30<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i [...]
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } typename add_reference<typename add_cons [...]
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
-}}
diff --git a/boost/fusion/container/vector/detail/preprocessed/vector30_fwd.hpp b/boost/fusion/container/vector/detail/preprocessed/vector30_fwd.hpp
deleted file mode 100644
index 39f96aa..0000000
--- a/boost/fusion/container/vector/detail/preprocessed/vector30_fwd.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-/*=============================================================================
- Copyright (c) 2011 Eric Niebler
- Copyright (c) 2001-2011 Joel de Guzman
-
- Distributed under the 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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20>
- struct vector21;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21>
- struct vector22;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22>
- struct vector23;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23>
- struct vector24;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24>
- struct vector25;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25>
- struct vector26;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26>
- struct vector27;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27>
- struct vector28;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28>
- struct vector29;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29>
- struct vector30;
-}}
diff --git a/boost/fusion/container/vector/detail/preprocessed/vector40.hpp b/boost/fusion/container/vector/detail/preprocessed/vector40.hpp
deleted file mode 100644
index 07fac8d..0000000
--- a/boost/fusion/container/vector/detail/preprocessed/vector40.hpp
+++ /dev/null
@@ -1,1004 +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 vector_tag;
- struct fusion_sequence_tag;
- struct random_access_traversal_tag;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30>
- struct vector_data31
- {
- vector_data31()
- : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() {}
- vector_data31(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) , m26(_26) , m27(_27) , m28(_28) , m29(_29) , m30(_30) {}
- vector_data31(
- vector_data31 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(o [...]
- vector_data31&
- operator=(vector_data31 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- static vector_data31
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data31(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30);
- }
- template <typename Sequence>
- static vector_data31
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data31(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30);
- }
- T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30>
- struct vector31
- : vector_data31<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30>
- , sequence_base<vector31<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30> >
- {
- typedef vector31<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30> this_type;
- typedef vector_data31<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30> base_type;
- typedef mpl::vector31<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<31> size;
- vector31() {}
- vector31(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30>
- vector31(
- vector31<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30) {}
- template <typename Sequence>
- vector31(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector31(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30>
- vector31&
- operator=(vector31<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i [...]
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } typename add_reference<typename add_cons [...]
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31>
- struct vector_data32
- {
- vector_data32()
- : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() {}
- vector_data32(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) , m26(_26) , m27(_27) , m28(_28) , m29(_29) , m30(_30) , m31(_31) {}
- vector_data32(
- vector_data32 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(o [...]
- vector_data32&
- operator=(vector_data32 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- static vector_data32
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data32(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31);
- }
- template <typename Sequence>
- static vector_data32
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data32(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31);
- }
- T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31>
- struct vector32
- : vector_data32<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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>
- , sequence_base<vector32<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> >
- {
- typedef vector32<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> this_type;
- typedef vector_data32<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> base_type;
- typedef mpl::vector32<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<32> size;
- vector32() {}
- vector32(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31>
- vector32(
- vector32<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31) {}
- template <typename Sequence>
- vector32(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector32(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31>
- vector32&
- operator=(vector32<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i [...]
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } typename add_reference<typename add_cons [...]
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32>
- struct vector_data33
- {
- vector_data33()
- : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() {}
- vector_data33(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) , m26(_26) , m27(_27) , m28(_28) , m29(_29) , m30(_30) , m31(_31) , m32(_32) {}
- vector_data33(
- vector_data33 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(o [...]
- vector_data33&
- operator=(vector_data33 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- static vector_data33
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data33(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32);
- }
- template <typename Sequence>
- static vector_data33
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data33(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32);
- }
- T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32>
- struct vector33
- : vector_data33<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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>
- , sequence_base<vector33<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> >
- {
- typedef vector33<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> this_type;
- typedef vector_data33<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> base_type;
- typedef mpl::vector33<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<33> size;
- vector33() {}
- vector33(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , type [...]
- vector33(
- vector33<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32) {}
- template <typename Sequence>
- vector33(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector33(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , type [...]
- vector33&
- operator=(vector33<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i [...]
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } typename add_reference<typename add_cons [...]
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector_data34
- {
- vector_data34()
- : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() {}
- vector_data34(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) , m26(_26) , m27(_27) , m28(_28) , m29(_29) , m30(_30) , m31(_31) , m32(_32) , m33(_33) {}
- vector_data34(
- vector_data34 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(o [...]
- vector_data34&
- operator=(vector_data34 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- static vector_data34
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data34(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33);
- }
- template <typename Sequence>
- static vector_data34
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data34(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33);
- }
- T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector34
- : vector_data34<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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>
- , sequence_base<vector34<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> >
- {
- typedef vector34<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> this_type;
- typedef vector_data34<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> base_type;
- typedef mpl::vector34<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<34> size;
- vector34() {}
- vector34(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , type [...]
- vector34(
- vector34<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33) {}
- template <typename Sequence>
- vector34(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector34(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , type [...]
- vector34&
- operator=(vector34<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i [...]
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } typename add_reference<typename add_cons [...]
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector_data35
- {
- vector_data35()
- : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() {}
- vector_data35(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) , m26(_26) , m27(_27) , m28(_28) , m29(_29) , m30(_30) , m31(_31) , m32(_32) , m33(_33) , m34(_34) {}
- vector_data35(
- vector_data35 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(o [...]
- vector_data35&
- operator=(vector_data35 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- static vector_data35
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data35(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34);
- }
- template <typename Sequence>
- static vector_data35
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data35(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34);
- }
- T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector35
- : vector_data35<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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>
- , sequence_base<vector35<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> >
- {
- typedef vector35<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> this_type;
- typedef vector_data35<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> base_type;
- typedef mpl::vector35<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<35> size;
- vector35() {}
- vector35(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , type [...]
- vector35(
- vector35<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34) {}
- template <typename Sequence>
- vector35(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector35(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , type [...]
- vector35&
- operator=(vector35<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i [...]
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } typename add_reference<typename add_cons [...]
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector_data36
- {
- vector_data36()
- : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() {}
- vector_data36(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) , m26(_26) , m27(_27) , m28(_28) , m29(_29) , m30(_30) , m31(_31) , m32(_32) , m33(_33) , m34(_34) , m35(_35) {}
- vector_data36(
- vector_data36 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(o [...]
- vector_data36&
- operator=(vector_data36 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- static vector_data36
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data36(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35);
- }
- template <typename Sequence>
- static vector_data36
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data36(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35);
- }
- T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector36
- : vector_data36<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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>
- , sequence_base<vector36<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> >
- {
- typedef vector36<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> this_type;
- typedef vector_data36<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> base_type;
- typedef mpl::vector36<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<36> size;
- vector36() {}
- vector36(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , type [...]
- vector36(
- vector36<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35) {}
- template <typename Sequence>
- vector36(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector36(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , type [...]
- vector36&
- operator=(vector36<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i [...]
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } typename add_reference<typename add_cons [...]
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector_data37
- {
- vector_data37()
- : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() {}
- vector_data37(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) , m26(_26) , m27(_27) , m28(_28) , m29(_29) , m30(_30) , m31(_31) , m32(_32) , m33(_33) , m34(_34) , m35(_35) , m36(_36) {}
- vector_data37(
- vector_data37 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(o [...]
- vector_data37&
- operator=(vector_data37 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- static vector_data37
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data37(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36);
- }
- template <typename Sequence>
- static vector_data37
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data37(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36);
- }
- T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector37
- : vector_data37<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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>
- , sequence_base<vector37<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> >
- {
- typedef vector37<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> this_type;
- typedef vector_data37<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> base_type;
- typedef mpl::vector37<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<37> size;
- vector37() {}
- vector37(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , type [...]
- vector37(
- vector37<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36) {}
- template <typename Sequence>
- vector37(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector37(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , type [...]
- vector37&
- operator=(vector37<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i [...]
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } typename add_reference<typename add_cons [...]
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector_data38
- {
- vector_data38()
- : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() {}
- vector_data38(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) , m26(_26) , m27(_27) , m28(_28) , m29(_29) , m30(_30) , m31(_31) , m32(_32) , m33(_33) , m34(_34) , m35(_35) , m36(_36) , m37(_37) {}
- vector_data38(
- vector_data38 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(o [...]
- vector_data38&
- operator=(vector_data38 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- static vector_data38
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data38(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37);
- }
- template <typename Sequence>
- static vector_data38
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data38(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37);
- }
- T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector38
- : vector_data38<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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>
- , sequence_base<vector38<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> >
- {
- typedef vector38<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> this_type;
- typedef vector_data38<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> base_type;
- typedef mpl::vector38<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<38> size;
- vector38() {}
- vector38(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , type [...]
- vector38(
- vector38<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37) {}
- template <typename Sequence>
- vector38(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector38(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , type [...]
- vector38&
- operator=(vector38<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i [...]
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } typename add_reference<typename add_cons [...]
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector_data39
- {
- vector_data39()
- : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() {}
- vector_data39(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) , m26(_26) , m27(_27) , m28(_28) , m29(_29) , m30(_30) , m31(_31) , m32(_32) , m33(_33) , m34(_34) , m35(_35) , m36(_36) , m37(_37) , m38(_38) {}
- vector_data39(
- vector_data39 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(o [...]
- vector_data39&
- operator=(vector_data39 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- static vector_data39
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data39(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38);
- }
- template <typename Sequence>
- static vector_data39
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data39(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38);
- }
- T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; T38 m38;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector39
- : vector_data39<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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>
- , sequence_base<vector39<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> >
- {
- typedef vector39<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> this_type;
- typedef vector_data39<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> base_type;
- typedef mpl::vector39<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<39> size;
- vector39() {}
- vector39(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , type [...]
- vector39(
- vector39<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38) {}
- template <typename Sequence>
- vector39(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector39(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , type [...]
- vector39&
- operator=(vector39<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i [...]
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } typename add_reference<typename add_cons [...]
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector_data40
- {
- vector_data40()
- : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() {}
- vector_data40(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) , m26(_26) , m27(_27) , m28(_28) , m29(_29) , m30(_30) , m31(_31) , m32(_32) , m33(_33) , m34(_34) , m35(_35) , m36(_36) , m37(_37) , m38(_38) , m39(_39) {}
- vector_data40(
- vector_data40 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(o [...]
- vector_data40&
- operator=(vector_data40 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- static vector_data40
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data40(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39);
- }
- template <typename Sequence>
- static vector_data40
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data40(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39);
- }
- T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; T38 m38; T39 m39;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector40
- : vector_data40<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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>
- , sequence_base<vector40<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> >
- {
- typedef vector40<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> this_type;
- typedef vector_data40<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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;
- typedef mpl::vector40<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<40> size;
- vector40() {}
- vector40(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , type [...]
- vector40(
- vector40<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39) {}
- template <typename Sequence>
- vector40(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector40(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , type [...]
- vector40&
- operator=(vector40<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i [...]
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } typename add_reference<typename add_cons [...]
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
-}}
diff --git a/boost/fusion/container/vector/detail/preprocessed/vector40_fwd.hpp b/boost/fusion/container/vector/detail/preprocessed/vector40_fwd.hpp
deleted file mode 100644
index e1d6e09..0000000
--- a/boost/fusion/container/vector/detail/preprocessed/vector40_fwd.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-/*=============================================================================
- Copyright (c) 2011 Eric Niebler
- Copyright (c) 2001-2011 Joel de Guzman
-
- Distributed under the 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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30>
- struct vector31;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31>
- struct vector32;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32>
- struct vector33;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector34;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector35;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector36;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector37;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector38;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector39;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector40;
-}}
diff --git a/boost/fusion/container/vector/detail/preprocessed/vector50.hpp b/boost/fusion/container/vector/detail/preprocessed/vector50.hpp
deleted file mode 100644
index 7ef9402..0000000
--- a/boost/fusion/container/vector/detail/preprocessed/vector50.hpp
+++ /dev/null
@@ -1,1004 +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 vector_tag;
- struct fusion_sequence_tag;
- struct random_access_traversal_tag;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector_data41
- {
- vector_data41()
- : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() {}
- vector_data41(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) , m26(_26) , m27(_27) , m28(_28) , m29(_29) , m30(_30) , m31(_31) , m32(_32) , m33(_33) , m34(_34) , m35(_35) , m36(_36) , m37(_37) , m38(_38) , m39(_39) , m40(_40) {}
- vector_data41(
- vector_data41 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(o [...]
- vector_data41&
- operator=(vector_data41 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- static vector_data41
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data41(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40);
- }
- template <typename Sequence>
- static vector_data41
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data41(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40);
- }
- T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; T38 m38; T39 m39; T40 m40;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector41
- : vector_data41<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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>
- , sequence_base<vector41<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> >
- {
- typedef vector41<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> this_type;
- typedef vector_data41<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> base_type;
- typedef mpl::vector41<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<41> size;
- vector41() {}
- vector41(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , type [...]
- vector41(
- vector41<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39 , U40> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40) {}
- template <typename Sequence>
- vector41(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector41(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , type [...]
- vector41&
- operator=(vector41<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39 , U40> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i [...]
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } typename add_reference<typename add_cons [...]
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector_data42
- {
- vector_data42()
- : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() , m41() {}
- vector_data42(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) , m26(_26) , m27(_27) , m28(_28) , m29(_29) , m30(_30) , m31(_31) , m32(_32) , m33(_33) , m34(_34) , m35(_35) , m36(_36) , m37(_37) , m38(_38) , m39(_39) , m40(_40) , m41(_41) {}
- vector_data42(
- vector_data42 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(o [...]
- vector_data42&
- operator=(vector_data42 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- static vector_data42
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data42(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41);
- }
- template <typename Sequence>
- static vector_data42
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data42(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41);
- }
- T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; T38 m38; T39 m39; T40 m40; T41 m41;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector42
- : vector_data42<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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>
- , sequence_base<vector42<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> >
- {
- typedef vector42<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> this_type;
- typedef vector_data42<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> base_type;
- typedef mpl::vector42<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<42> size;
- vector42() {}
- vector42(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , type [...]
- vector42(
- vector42<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39 , U40 , U41> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40 , vec.m41) {}
- template <typename Sequence>
- vector42(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector42(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , type [...]
- vector42&
- operator=(vector42<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39 , U40 , U41> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i [...]
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } typename add_reference<typename add_cons [...]
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector_data43
- {
- vector_data43()
- : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() , m41() , m42() {}
- vector_data43(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) , m26(_26) , m27(_27) , m28(_28) , m29(_29) , m30(_30) , m31(_31) , m32(_32) , m33(_33) , m34(_34) , m35(_35) , m36(_36) , m37(_37) , m38(_38) , m39(_39) , m40(_40) , m41(_41) , m42(_42) {}
- vector_data43(
- vector_data43 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(o [...]
- vector_data43&
- operator=(vector_data43 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- static vector_data43
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data43(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42);
- }
- template <typename Sequence>
- static vector_data43
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data43(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42);
- }
- T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; T38 m38; T39 m39; T40 m40; T41 m41; T42 m42;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector43
- : vector_data43<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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>
- , sequence_base<vector43<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> >
- {
- typedef vector43<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> this_type;
- typedef vector_data43<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> base_type;
- typedef mpl::vector43<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<43> size;
- vector43() {}
- vector43(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , type [...]
- vector43(
- vector43<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39 , U40 , U41 , U42> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40 , vec.m41 , vec.m42) {}
- template <typename Sequence>
- vector43(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector43(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , type [...]
- vector43&
- operator=(vector43<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39 , U40 , U41 , U42> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i [...]
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } typename add_reference<typename add_cons [...]
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector_data44
- {
- vector_data44()
- : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() , m41() , m42() , m43() {}
- vector_data44(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) , m26(_26) , m27(_27) , m28(_28) , m29(_29) , m30(_30) , m31(_31) , m32(_32) , m33(_33) , m34(_34) , m35(_35) , m36(_36) , m37(_37) , m38(_38) , m39(_39) , m40(_40) , m41(_41) , m42(_42) , m43(_43) {}
- vector_data44(
- vector_data44 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(o [...]
- vector_data44&
- operator=(vector_data44 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- static vector_data44
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data44(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43);
- }
- template <typename Sequence>
- static vector_data44
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data44(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43);
- }
- T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; T38 m38; T39 m39; T40 m40; T41 m41; T42 m42; T43 m43;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector44
- : vector_data44<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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>
- , sequence_base<vector44<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> >
- {
- typedef vector44<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> this_type;
- typedef vector_data44<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> base_type;
- typedef mpl::vector44<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<44> size;
- vector44() {}
- vector44(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , type [...]
- vector44(
- vector44<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39 , U40 , U41 , U42 , U43> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40 , vec.m41 , vec.m42 , vec.m43) {}
- template <typename Sequence>
- vector44(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector44(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , type [...]
- vector44&
- operator=(vector44<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39 , U40 , U41 , U42 , U43> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i [...]
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } typename add_reference<typename add_cons [...]
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector_data45
- {
- vector_data45()
- : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() , m41() , m42() , m43() , m44() {}
- vector_data45(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) , m26(_26) , m27(_27) , m28(_28) , m29(_29) , m30(_30) , m31(_31) , m32(_32) , m33(_33) , m34(_34) , m35(_35) , m36(_36) , m37(_37) , m38(_38) , m39(_39) , m40(_40) , m41(_41) , m42(_42) , m43(_43) , m44(_44) {}
- vector_data45(
- vector_data45 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(o [...]
- vector_data45&
- operator=(vector_data45 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- static vector_data45
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data45(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44);
- }
- template <typename Sequence>
- static vector_data45
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data45(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44);
- }
- T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; T38 m38; T39 m39; T40 m40; T41 m41; T42 m42; T43 m43; T44 m44;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector45
- : vector_data45<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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>
- , sequence_base<vector45<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> >
- {
- typedef vector45<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> this_type;
- typedef vector_data45<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> base_type;
- typedef mpl::vector45<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<45> size;
- vector45() {}
- vector45(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , type [...]
- vector45(
- vector45<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39 , U40 , U41 , U42 , U43 , U44> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40 , vec.m41 , vec.m42 , vec.m43 , vec.m44) {}
- template <typename Sequence>
- vector45(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector45(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , type [...]
- vector45&
- operator=(vector45<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39 , U40 , U41 , U42 , U43 , U44> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i [...]
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } typename add_reference<typename add_cons [...]
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector_data46
- {
- vector_data46()
- : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() , m41() , m42() , m43() , m44() , m45() {}
- vector_data46(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) , m26(_26) , m27(_27) , m28(_28) , m29(_29) , m30(_30) , m31(_31) , m32(_32) , m33(_33) , m34(_34) , m35(_35) , m36(_36) , m37(_37) , m38(_38) , m39(_39) , m40(_40) , m41(_41) , m42(_42) , m43(_43) , m44(_44) , m45 [...]
- vector_data46(
- vector_data46 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(o [...]
- vector_data46&
- operator=(vector_data46 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- static vector_data46
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data46(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45);
- }
- template <typename Sequence>
- static vector_data46
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data46(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45);
- }
- T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; T38 m38; T39 m39; T40 m40; T41 m41; T42 m42; T43 m43; T44 m44; T45 m45;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector46
- : vector_data46<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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>
- , sequence_base<vector46<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> >
- {
- typedef vector46<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> this_type;
- typedef vector_data46<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> base_type;
- typedef mpl::vector46<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<46> size;
- vector46() {}
- vector46(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , type [...]
- vector46(
- vector46<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39 , U40 , U41 , U42 , U43 , U44 , U45> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40 , vec.m41 , vec.m42 , vec.m43 , vec.m44 , vec.m45) {}
- template <typename Sequence>
- vector46(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector46(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , type [...]
- vector46&
- operator=(vector46<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39 , U40 , U41 , U42 , U43 , U44 , U45> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i [...]
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } typename add_reference<typename add_cons [...]
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector_data47
- {
- vector_data47()
- : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() , m41() , m42() , m43() , m44() , m45() , m46() {}
- vector_data47(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) , m26(_26) , m27(_27) , m28(_28) , m29(_29) , m30(_30) , m31(_31) , m32(_32) , m33(_33) , m34(_34) , m35(_35) , m36(_36) , m37(_37) , m38(_38) , m39(_39) , m40(_40) , m41(_41) , m42(_42) , m43(_43) , m44(_44) , m45 [...]
- vector_data47(
- vector_data47 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(o [...]
- vector_data47&
- operator=(vector_data47 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- static vector_data47
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data47(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46);
- }
- template <typename Sequence>
- static vector_data47
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data47(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46);
- }
- T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; T38 m38; T39 m39; T40 m40; T41 m41; T42 m42; T43 m43; T44 m44; T45 m45; T46 m46;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector47
- : vector_data47<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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>
- , sequence_base<vector47<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> >
- {
- typedef vector47<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> this_type;
- typedef vector_data47<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> base_type;
- typedef mpl::vector47<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<47> size;
- vector47() {}
- vector47(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , type [...]
- vector47(
- vector47<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39 , U40 , U41 , U42 , U43 , U44 , U45 , U46> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40 , vec.m41 , vec.m42 , vec.m43 , vec.m44 , vec.m45 , vec.m46) {}
- template <typename Sequence>
- vector47(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector47(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , type [...]
- vector47&
- operator=(vector47<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39 , U40 , U41 , U42 , U43 , U44 , U45 , U46> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i [...]
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } typename add_reference<typename add_cons [...]
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector_data48
- {
- vector_data48()
- : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() , m41() , m42() , m43() , m44() , m45() , m46() , m47() {}
- vector_data48(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) , m26(_26) , m27(_27) , m28(_28) , m29(_29) , m30(_30) , m31(_31) , m32(_32) , m33(_33) , m34(_34) , m35(_35) , m36(_36) , m37(_37) , m38(_38) , m39(_39) , m40(_40) , m41(_41) , m42(_42) , m43(_43) , m44(_44) , m45 [...]
- vector_data48(
- vector_data48 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(o [...]
- vector_data48&
- operator=(vector_data48 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- static vector_data48
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data48(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47);
- }
- template <typename Sequence>
- static vector_data48
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data48(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47);
- }
- T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; T38 m38; T39 m39; T40 m40; T41 m41; T42 m42; T43 m43; T44 m44; T45 m45; T46 m46; T47 m47;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector48
- : vector_data48<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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>
- , sequence_base<vector48<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> >
- {
- typedef vector48<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> this_type;
- typedef vector_data48<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> base_type;
- typedef mpl::vector48<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<48> size;
- vector48() {}
- vector48(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , type [...]
- vector48(
- vector48<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39 , U40 , U41 , U42 , U43 , U44 , U45 , U46 , U47> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40 , vec.m41 , vec.m42 , vec.m43 , vec.m44 , vec.m45 , vec.m46 , vec.m47) {}
- template <typename Sequence>
- vector48(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector48(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , type [...]
- vector48&
- operator=(vector48<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39 , U40 , U41 , U42 , U43 , U44 , U45 , U46 , U47> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i [...]
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } typename add_reference<typename add_cons [...]
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector_data49
- {
- vector_data49()
- : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() , m41() , m42() , m43() , m44() , m45() , m46() , m47() , m48() {}
- vector_data49(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) , m26(_26) , m27(_27) , m28(_28) , m29(_29) , m30(_30) , m31(_31) , m32(_32) , m33(_33) , m34(_34) , m35(_35) , m36(_36) , m37(_37) , m38(_38) , m39(_39) , m40(_40) , m41(_41) , m42(_42) , m43(_43) , m44(_44) , m45 [...]
- vector_data49(
- vector_data49 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(o [...]
- vector_data49&
- operator=(vector_data49 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- static vector_data49
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data49(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47 , *i48);
- }
- template <typename Sequence>
- static vector_data49
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data49(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47 , *i48);
- }
- T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; T38 m38; T39 m39; T40 m40; T41 m41; T42 m42; T43 m43; T44 m44; T45 m45; T46 m46; T47 m47; T48 m48;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector49
- : vector_data49<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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>
- , sequence_base<vector49<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> >
- {
- typedef vector49<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> this_type;
- typedef vector_data49<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> base_type;
- typedef mpl::vector49<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<49> size;
- vector49() {}
- vector49(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , type [...]
- vector49(
- vector49<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39 , U40 , U41 , U42 , U43 , U44 , U45 , U46 , U47 , U48> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40 , vec.m41 , vec.m42 , vec.m43 , vec.m44 , vec.m45 , vec.m46 , vec.m47 [...]
- template <typename Sequence>
- vector49(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector49(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , type [...]
- vector49&
- operator=(vector49<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39 , U40 , U41 , U42 , U43 , U44 , U45 , U46 , U47 , U48> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i [...]
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } typename add_reference<typename add_cons [...]
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector_data50
- {
- vector_data50()
- : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() , m41() , m42() , m43() , m44() , m45() , m46() , m47() , m48() , m49() {}
- vector_data50(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) , m26(_26) , m27(_27) , m28(_28) , m29(_29) , m30(_30) , m31(_31) , m32(_32) , m33(_33) , m34(_34) , m35(_35) , m36(_36) , m37(_37) , m38(_38) , m39(_39) , m40(_40) , m41(_41) , m42(_42) , m43(_43) , m44(_44) , m45 [...]
- vector_data50(
- vector_data50 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(o [...]
- vector_data50&
- operator=(vector_data50 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- static vector_data50
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data50(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47 , *i48 , *i49);
- }
- template <typename Sequence>
- static vector_data50
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- return vector_data50(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47 , *i48 , *i49);
- }
- T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; T38 m38; T39 m39; T40 m40; T41 m41; T42 m42; T43 m43; T44 m44; T45 m45; T46 m46; T47 m47; T48 m48; T49 m49;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector50
- : vector_data50<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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>
- , sequence_base<vector50<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> >
- {
- typedef vector50<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> this_type;
- typedef vector_data50<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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;
- typedef mpl::vector50<T0 , T1 , T2 , T3 , T4 , T5 , T6 , 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> types;
- typedef vector_tag fusion_tag;
- typedef fusion_sequence_tag tag;
- typedef mpl::false_ is_view;
- typedef random_access_traversal_tag category;
- typedef mpl::int_<50> size;
- vector50() {}
- vector50(
- typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , type [...]
- vector50(
- vector50<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39 , U40 , U41 , U42 , U43 , U44 , U45 , U46 , U47 , U48 , U49> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40 , vec.m41 , vec.m42 , vec.m43 , vec.m44 , vec.m45 , vec.m46 , vec.m47 [...]
- template <typename Sequence>
- vector50(
- Sequence const& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- vector50(
- Sequence& seq
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , type [...]
- vector50&
- operator=(vector50<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39 , U40 , U41 , U42 , U43 , U44 , U45 , U46 , U47 , U48 , U49> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m [...]
- return *this;
- }
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6 [...]
- this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i [...]
- return *this;
- }
- typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } typename add_reference<typename add_cons [...]
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
-}}
diff --git a/boost/fusion/container/vector/detail/preprocessed/vector50_fwd.hpp b/boost/fusion/container/vector/detail/preprocessed/vector50_fwd.hpp
deleted file mode 100644
index 6829e9b..0000000
--- a/boost/fusion/container/vector/detail/preprocessed/vector50_fwd.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-/*=============================================================================
- Copyright (c) 2011 Eric Niebler
- Copyright (c) 2001-2011 Joel de Guzman
-
- Distributed under the 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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector41;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector42;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector43;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector44;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector45;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector46;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector47;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector48;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector49;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector50;
-}}
diff --git a/boost/fusion/container/vector/detail/preprocessed/vector_chooser.hpp b/boost/fusion/container/vector/detail/preprocessed/vector_chooser.hpp
deleted file mode 100644
index e956bf2..0000000
--- a/boost/fusion/container/vector/detail/preprocessed/vector_chooser.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
- This is an auto-generated file. Do not edit!
-==============================================================================*/
-#if FUSION_MAX_VECTOR_SIZE <= 10
-#include <boost/fusion/container/vector/detail/preprocessed/vector_chooser10.hpp>
-#elif FUSION_MAX_VECTOR_SIZE <= 20
-#include <boost/fusion/container/vector/detail/preprocessed/vector_chooser20.hpp>
-#elif FUSION_MAX_VECTOR_SIZE <= 30
-#include <boost/fusion/container/vector/detail/preprocessed/vector_chooser30.hpp>
-#elif FUSION_MAX_VECTOR_SIZE <= 40
-#include <boost/fusion/container/vector/detail/preprocessed/vector_chooser40.hpp>
-#elif FUSION_MAX_VECTOR_SIZE <= 50
-#include <boost/fusion/container/vector/detail/preprocessed/vector_chooser50.hpp>
-#else
-#error "FUSION_MAX_VECTOR_SIZE out of bounds for preprocessed headers"
-#endif
diff --git a/boost/fusion/container/vector/detail/preprocessed/vector_chooser10.hpp b/boost/fusion/container/vector/detail/preprocessed/vector_chooser10.hpp
deleted file mode 100644
index d631b53..0000000
--- a/boost/fusion/container/vector/detail/preprocessed/vector_chooser10.hpp
+++ /dev/null
@@ -1,84 +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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
- struct vector_n_chooser
- {
- typedef vector10<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> type;
- };
- template <>
- struct vector_n_chooser<void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector0<> type;
- };
- template <typename T0>
- struct vector_n_chooser<
- T0
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector1<T0> type;
- };
- template <typename T0 , typename T1>
- struct vector_n_chooser<
- T0 , T1
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector2<T0 , T1> type;
- };
- template <typename T0 , typename T1 , typename T2>
- struct vector_n_chooser<
- T0 , T1 , T2
- , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector3<T0 , T1 , T2> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3
- , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector4<T0 , T1 , T2 , T3> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4
- , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector5<T0 , T1 , T2 , T3 , T4> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5
- , void_ , void_ , void_ , void_>
- {
- typedef vector6<T0 , T1 , T2 , T3 , T4 , T5> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6
- , void_ , void_ , void_>
- {
- typedef vector7<T0 , T1 , T2 , T3 , T4 , T5 , T6> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7
- , void_ , void_>
- {
- typedef vector8<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8
- , void_>
- {
- typedef vector9<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8> type;
- };
-}}}
diff --git a/boost/fusion/container/vector/detail/preprocessed/vector_chooser20.hpp b/boost/fusion/container/vector/detail/preprocessed/vector_chooser20.hpp
deleted file mode 100644
index 9628f48..0000000
--- a/boost/fusion/container/vector/detail/preprocessed/vector_chooser20.hpp
+++ /dev/null
@@ -1,154 +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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19>
- struct vector_n_chooser
- {
- typedef vector20<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19> type;
- };
- template <>
- struct vector_n_chooser<void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector0<> type;
- };
- template <typename T0>
- struct vector_n_chooser<
- T0
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector1<T0> type;
- };
- template <typename T0 , typename T1>
- struct vector_n_chooser<
- T0 , T1
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector2<T0 , T1> type;
- };
- template <typename T0 , typename T1 , typename T2>
- struct vector_n_chooser<
- T0 , T1 , T2
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector3<T0 , T1 , T2> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector4<T0 , T1 , T2 , T3> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector5<T0 , T1 , T2 , T3 , T4> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector6<T0 , T1 , T2 , T3 , T4 , T5> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector7<T0 , T1 , T2 , T3 , T4 , T5 , T6> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector8<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector9<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector10<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector11<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector12<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12
- , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector13<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13
- , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector14<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14
- , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector15<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15
- , void_ , void_ , void_ , void_>
- {
- typedef vector16<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16
- , void_ , void_ , void_>
- {
- typedef vector17<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17
- , void_ , void_>
- {
- typedef vector18<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18
- , void_>
- {
- typedef vector19<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18> type;
- };
-}}}
diff --git a/boost/fusion/container/vector/detail/preprocessed/vector_chooser30.hpp b/boost/fusion/container/vector/detail/preprocessed/vector_chooser30.hpp
deleted file mode 100644
index 38edabf..0000000
--- a/boost/fusion/container/vector/detail/preprocessed/vector_chooser30.hpp
+++ /dev/null
@@ -1,224 +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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29>
- struct vector_n_chooser
- {
- typedef vector30<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29> type;
- };
- template <>
- struct vector_n_chooser<void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector0<> type;
- };
- template <typename T0>
- struct vector_n_chooser<
- T0
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector1<T0> type;
- };
- template <typename T0 , typename T1>
- struct vector_n_chooser<
- T0 , T1
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector2<T0 , T1> type;
- };
- template <typename T0 , typename T1 , typename T2>
- struct vector_n_chooser<
- T0 , T1 , T2
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector3<T0 , T1 , T2> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector4<T0 , T1 , T2 , T3> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector5<T0 , T1 , T2 , T3 , T4> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector6<T0 , T1 , T2 , T3 , T4 , T5> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector7<T0 , T1 , T2 , T3 , T4 , T5 , T6> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector8<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector9<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector10<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector11<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector12<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector13<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector14<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector15<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector16<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector17<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector18<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector19<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector20<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector21<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector22<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22
- , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector23<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23
- , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector24<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24
- , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector25<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25
- , void_ , void_ , void_ , void_>
- {
- typedef vector26<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26
- , void_ , void_ , void_>
- {
- typedef vector27<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27
- , void_ , void_>
- {
- typedef vector28<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28
- , void_>
- {
- typedef vector29<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28> type;
- };
-}}}
diff --git a/boost/fusion/container/vector/detail/preprocessed/vector_chooser40.hpp b/boost/fusion/container/vector/detail/preprocessed/vector_chooser40.hpp
deleted file mode 100644
index a784b75..0000000
--- a/boost/fusion/container/vector/detail/preprocessed/vector_chooser40.hpp
+++ /dev/null
@@ -1,294 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
- This is an auto-generated file. Do not edit!
-==============================================================================*/
-namespace boost { namespace fusion { namespace detail
-{
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector_n_chooser
- {
- typedef vector40<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39> type;
- };
- template <>
- struct vector_n_chooser<void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector0<> type;
- };
- template <typename T0>
- struct vector_n_chooser<
- T0
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector1<T0> type;
- };
- template <typename T0 , typename T1>
- struct vector_n_chooser<
- T0 , T1
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector2<T0 , T1> type;
- };
- template <typename T0 , typename T1 , typename T2>
- struct vector_n_chooser<
- T0 , T1 , T2
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector3<T0 , T1 , T2> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector4<T0 , T1 , T2 , T3> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector5<T0 , T1 , T2 , T3 , T4> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector6<T0 , T1 , T2 , T3 , T4 , T5> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector7<T0 , T1 , T2 , T3 , T4 , T5 , T6> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector8<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector9<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector10<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector11<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector12<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector13<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector14<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector15<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector16<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector17<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector18<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector19<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector20<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector21<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector22<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector23<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector24<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector25<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector26<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector27<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector28<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector29<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector30<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector31<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector32<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32
- , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector33<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33
- , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector34<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34
- , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector35<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35
- , void_ , void_ , void_ , void_>
- {
- typedef vector36<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36
- , void_ , void_ , void_>
- {
- typedef vector37<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37
- , void_ , void_>
- {
- typedef vector38<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38
- , void_>
- {
- typedef vector39<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38> type;
- };
-}}}
diff --git a/boost/fusion/container/vector/detail/preprocessed/vector_chooser50.hpp b/boost/fusion/container/vector/detail/preprocessed/vector_chooser50.hpp
deleted file mode 100644
index fc9a260..0000000
--- a/boost/fusion/container/vector/detail/preprocessed/vector_chooser50.hpp
+++ /dev/null
@@ -1,364 +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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector_n_chooser
- {
- typedef vector50<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49> type;
- };
- template <>
- struct vector_n_chooser<void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector0<> type;
- };
- template <typename T0>
- struct vector_n_chooser<
- T0
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector1<T0> type;
- };
- template <typename T0 , typename T1>
- struct vector_n_chooser<
- T0 , T1
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector2<T0 , T1> type;
- };
- template <typename T0 , typename T1 , typename T2>
- struct vector_n_chooser<
- T0 , T1 , T2
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector3<T0 , T1 , T2> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector4<T0 , T1 , T2 , T3> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector5<T0 , T1 , T2 , T3 , T4> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector6<T0 , T1 , T2 , T3 , T4 , T5> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector7<T0 , T1 , T2 , T3 , T4 , T5 , T6> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector8<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector9<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector10<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector11<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector12<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector13<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector14<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector15<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector16<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector17<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector18<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector19<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector20<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector21<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector22<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector23<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector24<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector25<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector26<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector27<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector28<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector29<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector30<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector31<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector32<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32>
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector33<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector34<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector35<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector36<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector37<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector38<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector39<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector40<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector41<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41
- , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector42<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42
- , void_ , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector43<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43
- , void_ , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector44<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44
- , void_ , void_ , void_ , void_ , void_>
- {
- typedef vector45<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45
- , void_ , void_ , void_ , void_>
- {
- typedef vector46<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46
- , void_ , void_ , void_>
- {
- typedef vector47<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47
- , void_ , void_>
- {
- typedef vector48<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47> type;
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48
- , void_>
- {
- typedef vector49<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48> type;
- };
-}}}
diff --git a/boost/fusion/container/vector/detail/preprocessed/vector_fwd.hpp b/boost/fusion/container/vector/detail/preprocessed/vector_fwd.hpp
deleted file mode 100644
index e2576f9..0000000
--- a/boost/fusion/container/vector/detail/preprocessed/vector_fwd.hpp
+++ /dev/null
@@ -1,22 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
- This is an auto-generated file. Do not edit!
-==============================================================================*/
-
-#if FUSION_MAX_VECTOR_SIZE <= 10
-#include <boost/fusion/container/vector/detail/preprocessed/vvector10_fwd.hpp>
-#elif FUSION_MAX_VECTOR_SIZE <= 20
-#include <boost/fusion/container/vector/detail/preprocessed/vvector20_fwd.hpp>
-#elif FUSION_MAX_VECTOR_SIZE <= 30
-#include <boost/fusion/container/vector/detail/preprocessed/vvector30_fwd.hpp>
-#elif FUSION_MAX_VECTOR_SIZE <= 40
-#include <boost/fusion/container/vector/detail/preprocessed/vvector40_fwd.hpp>
-#elif FUSION_MAX_VECTOR_SIZE <= 50
-#include <boost/fusion/container/vector/detail/preprocessed/vvector50_fwd.hpp>
-#else
-#error "FUSION_MAX_VECTOR_SIZE out of bounds for preprocessed headers"
-#endif
diff --git a/boost/fusion/container/vector/detail/preprocessed/vvector10.hpp b/boost/fusion/container/vector/detail/preprocessed/vvector10.hpp
deleted file mode 100644
index 8e6f1f6..0000000
--- a/boost/fusion/container/vector/detail/preprocessed/vvector10.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)
-
- This is an auto-generated file. Do not edit!
-==============================================================================*/
-namespace boost { namespace fusion
-{
- struct void_;
- struct fusion_sequence_tag;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
- struct vector
- : sequence_base<vector<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> >
- {
- private:
- typedef typename detail::vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9>::type
- vector_n;
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9>
- 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;
- vector()
- : vec() {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9>
- vector(vector<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9> const& rhs)
- : vec(rhs.vec) {}
- vector(vector const& rhs)
- : vec(rhs.vec) {}
- template <typename Sequence>
- vector(Sequence const& rhs)
- : vec(BOOST_FUSION_VECTOR_COPY_INIT()) {}
-
-
-
-
-
-
-
- explicit
- vector(typename detail::call_param<T0 >::type _0)
- : vec(_0) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1)
- : vec(_0 , _1) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2)
- : vec(_0 , _1 , _2) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3)
- : vec(_0 , _1 , _2 , _3) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4)
- : vec(_0 , _1 , _2 , _3 , _4) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5)
- : vec(_0 , _1 , _2 , _3 , _4 , _5) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6)
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7)
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8)
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9)
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9>
- vector&
- operator=(vector<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9> const& rhs)
- {
- vec = rhs.vec;
- return *this;
- }
- template <typename T>
- vector&
- operator=(T const& rhs)
- {
- vec = rhs;
- return *this;
- }
- template <int N>
- typename add_reference<
- typename mpl::at_c<types, N>::type
- >::type
- at_impl(mpl::int_<N> index)
- {
- return vec.at_impl(index);
- }
- template <int N>
- typename add_reference<
- typename add_const<
- typename mpl::at_c<types, N>::type
- >::type
- >::type
- at_impl(mpl::int_<N> index) const
- {
- return vec.at_impl(index);
- }
- template <typename I>
- typename add_reference<
- typename mpl::at<types, I>::type
- >::type
- at_impl(I )
- {
- return vec.at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<
- typename add_const<
- typename mpl::at<types, I>::type
- >::type
- >::type
- at_impl(I ) const
- {
- return vec.at_impl(mpl::int_<I::value>());
- }
- private:
- BOOST_FUSION_VECTOR_CTOR_HELPER()
- vector_n vec;
- };
-}}
diff --git a/boost/fusion/container/vector/detail/preprocessed/vvector10_fwd.hpp b/boost/fusion/container/vector/detail/preprocessed/vvector10_fwd.hpp
deleted file mode 100644
index 97f64fa..0000000
--- a/boost/fusion/container/vector/detail/preprocessed/vvector10_fwd.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)
-
- This is an auto-generated file. Do not edit!
-==============================================================================*/
-namespace boost { namespace fusion
-{
- struct void_;
- template <
- typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_
- >
- struct vector;
-}}
diff --git a/boost/fusion/container/vector/detail/preprocessed/vvector20.hpp b/boost/fusion/container/vector/detail/preprocessed/vvector20.hpp
deleted file mode 100644
index bc04fef..0000000
--- a/boost/fusion/container/vector/detail/preprocessed/vvector20.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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19>
- struct vector
- : sequence_base<vector<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19> >
- {
- private:
- typedef typename detail::vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19>::type
- vector_n;
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19>
- 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;
- vector()
- : vec() {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19>
- vector(vector<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19> const& rhs)
- : vec(rhs.vec) {}
- vector(vector const& rhs)
- : vec(rhs.vec) {}
- template <typename Sequence>
- vector(Sequence const& rhs)
- : vec(BOOST_FUSION_VECTOR_COPY_INIT()) {}
-
-
-
-
-
-
-
- explicit
- vector(typename detail::call_param<T0 >::type _0)
- : vec(_0) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1)
- : vec(_0 , _1) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2)
- : vec(_0 , _1 , _2) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3)
- : vec(_0 , _1 , _2 , _3) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4)
- : vec(_0 , _1 , _2 , _3 , _4) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5)
- : vec(_0 , _1 , _2 , _3 , _4 , _5) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6)
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7)
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8)
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9)
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _10)
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19>
- vector&
- operator=(vector<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19> const& rhs)
- {
- vec = rhs.vec;
- return *this;
- }
- template <typename T>
- vector&
- operator=(T const& rhs)
- {
- vec = rhs;
- return *this;
- }
- template <int N>
- typename add_reference<
- typename mpl::at_c<types, N>::type
- >::type
- at_impl(mpl::int_<N> index)
- {
- return vec.at_impl(index);
- }
- template <int N>
- typename add_reference<
- typename add_const<
- typename mpl::at_c<types, N>::type
- >::type
- >::type
- at_impl(mpl::int_<N> index) const
- {
- return vec.at_impl(index);
- }
- template <typename I>
- typename add_reference<
- typename mpl::at<types, I>::type
- >::type
- at_impl(I )
- {
- return vec.at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<
- typename add_const<
- typename mpl::at<types, I>::type
- >::type
- >::type
- at_impl(I ) const
- {
- return vec.at_impl(mpl::int_<I::value>());
- }
- private:
- BOOST_FUSION_VECTOR_CTOR_HELPER()
- vector_n vec;
- };
-}}
diff --git a/boost/fusion/container/vector/detail/preprocessed/vvector20_fwd.hpp b/boost/fusion/container/vector/detail/preprocessed/vvector20_fwd.hpp
deleted file mode 100644
index 8d4ea99..0000000
--- a/boost/fusion/container/vector/detail/preprocessed/vvector20_fwd.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)
-
- This is an auto-generated file. Do not edit!
-==============================================================================*/
-namespace boost { namespace fusion
-{
- struct void_;
- template <
- typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_
- >
- struct vector;
-}}
diff --git a/boost/fusion/container/vector/detail/preprocessed/vvector30.hpp b/boost/fusion/container/vector/detail/preprocessed/vvector30.hpp
deleted file mode 100644
index 0841920..0000000
--- a/boost/fusion/container/vector/detail/preprocessed/vvector30.hpp
+++ /dev/null
@@ -1,162 +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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29>
- struct vector
- : sequence_base<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> >
- {
- private:
- typedef typename detail::vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29>::type
- vector_n;
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29>
- 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;
- vector()
- : vec() {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29>
- vector(vector<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29> const& rhs)
- : vec(rhs.vec) {}
- vector(vector const& rhs)
- : vec(rhs.vec) {}
- template <typename Sequence>
- vector(Sequence const& rhs)
- : vec(BOOST_FUSION_VECTOR_COPY_INIT()) {}
-
-
-
-
-
-
-
- explicit
- vector(typename detail::call_param<T0 >::type _0)
- : vec(_0) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1)
- : vec(_0 , _1) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2)
- : vec(_0 , _1 , _2) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3)
- : vec(_0 , _1 , _2 , _3) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4)
- : vec(_0 , _1 , _2 , _3 , _4) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5)
- : vec(_0 , _1 , _2 , _3 , _4 , _5) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6)
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7)
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8)
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9)
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _10)
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29>
- vector&
- operator=(vector<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29> const& rhs)
- {
- vec = rhs.vec;
- return *this;
- }
- template <typename T>
- vector&
- operator=(T const& rhs)
- {
- vec = rhs;
- return *this;
- }
- template <int N>
- typename add_reference<
- typename mpl::at_c<types, N>::type
- >::type
- at_impl(mpl::int_<N> index)
- {
- return vec.at_impl(index);
- }
- template <int N>
- typename add_reference<
- typename add_const<
- typename mpl::at_c<types, N>::type
- >::type
- >::type
- at_impl(mpl::int_<N> index) const
- {
- return vec.at_impl(index);
- }
- template <typename I>
- typename add_reference<
- typename mpl::at<types, I>::type
- >::type
- at_impl(I )
- {
- return vec.at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<
- typename add_const<
- typename mpl::at<types, I>::type
- >::type
- >::type
- at_impl(I ) const
- {
- return vec.at_impl(mpl::int_<I::value>());
- }
- private:
- BOOST_FUSION_VECTOR_CTOR_HELPER()
- vector_n vec;
- };
-}}
diff --git a/boost/fusion/container/vector/detail/preprocessed/vvector30_fwd.hpp b/boost/fusion/container/vector/detail/preprocessed/vvector30_fwd.hpp
deleted file mode 100644
index 03f289e..0000000
--- a/boost/fusion/container/vector/detail/preprocessed/vvector30_fwd.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)
-
- This is an auto-generated file. Do not edit!
-==============================================================================*/
-namespace boost { namespace fusion
-{
- struct void_;
- template <
- typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T2 [...]
- >
- struct vector;
-}}
diff --git a/boost/fusion/container/vector/detail/preprocessed/vvector40.hpp b/boost/fusion/container/vector/detail/preprocessed/vvector40.hpp
deleted file mode 100644
index 11d9cc7..0000000
--- a/boost/fusion/container/vector/detail/preprocessed/vvector40.hpp
+++ /dev/null
@@ -1,182 +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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector
- : sequence_base<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> >
- {
- private:
- typedef typename detail::vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39>::type
- vector_n;
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , type [...]
- 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;
- vector()
- : vec() {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , type [...]
- vector(vector<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39> const& rhs)
- : vec(rhs.vec) {}
- vector(vector const& rhs)
- : vec(rhs.vec) {}
- template <typename Sequence>
- vector(Sequence const& rhs)
- : vec(BOOST_FUSION_VECTOR_COPY_INIT()) {}
-
-
-
-
-
-
-
- explicit
- vector(typename detail::call_param<T0 >::type _0)
- : vec(_0) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1)
- : vec(_0 , _1) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2)
- : vec(_0 , _1 , _2) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3)
- : vec(_0 , _1 , _2 , _3) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4)
- : vec(_0 , _1 , _2 , _3 , _4) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5)
- : vec(_0 , _1 , _2 , _3 , _4 , _5) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6)
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7)
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8)
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9)
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _10)
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , type [...]
- vector&
- operator=(vector<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39> const& rhs)
- {
- vec = rhs.vec;
- return *this;
- }
- template <typename T>
- vector&
- operator=(T const& rhs)
- {
- vec = rhs;
- return *this;
- }
- template <int N>
- typename add_reference<
- typename mpl::at_c<types, N>::type
- >::type
- at_impl(mpl::int_<N> index)
- {
- return vec.at_impl(index);
- }
- template <int N>
- typename add_reference<
- typename add_const<
- typename mpl::at_c<types, N>::type
- >::type
- >::type
- at_impl(mpl::int_<N> index) const
- {
- return vec.at_impl(index);
- }
- template <typename I>
- typename add_reference<
- typename mpl::at<types, I>::type
- >::type
- at_impl(I )
- {
- return vec.at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<
- typename add_const<
- typename mpl::at<types, I>::type
- >::type
- >::type
- at_impl(I ) const
- {
- return vec.at_impl(mpl::int_<I::value>());
- }
- private:
- BOOST_FUSION_VECTOR_CTOR_HELPER()
- vector_n vec;
- };
-}}
diff --git a/boost/fusion/container/vector/detail/preprocessed/vvector40_fwd.hpp b/boost/fusion/container/vector/detail/preprocessed/vvector40_fwd.hpp
deleted file mode 100644
index 55c1097..0000000
--- a/boost/fusion/container/vector/detail/preprocessed/vvector40_fwd.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)
-
- This is an auto-generated file. Do not edit!
-==============================================================================*/
-namespace boost { namespace fusion
-{
- struct void_;
- template <
- typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T2 [...]
- >
- struct vector;
-}}
diff --git a/boost/fusion/container/vector/detail/preprocessed/vvector50.hpp b/boost/fusion/container/vector/detail/preprocessed/vvector50.hpp
deleted file mode 100644
index 1ac6c6f..0000000
--- a/boost/fusion/container/vector/detail/preprocessed/vvector50.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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct vector
- : sequence_base<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> >
- {
- private:
- typedef typename detail::vector_n_chooser<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49>::type
- vector_n;
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , type [...]
- 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;
- vector()
- : vec() {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , type [...]
- vector(vector<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39 , U40 , U41 , U42 , U43 , U44 , U45 , U46 , U47 , U48 , U49> const& rhs)
- : vec(rhs.vec) {}
- vector(vector const& rhs)
- : vec(rhs.vec) {}
- template <typename Sequence>
- vector(Sequence const& rhs)
- : vec(BOOST_FUSION_VECTOR_COPY_INIT()) {}
-
-
-
-
-
-
-
- explicit
- vector(typename detail::call_param<T0 >::type _0)
- : vec(_0) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1)
- : vec(_0 , _1) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2)
- : vec(_0 , _1 , _2) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3)
- : vec(_0 , _1 , _2 , _3) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4)
- : vec(_0 , _1 , _2 , _3 , _4) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5)
- : vec(_0 , _1 , _2 , _3 , _4 , _5) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6)
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7)
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8)
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9)
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _10)
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48) {}
- vector(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _ [...]
- : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48 , _49) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , type [...]
- vector&
- operator=(vector<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39 , U40 , U41 , U42 , U43 , U44 , U45 , U46 , U47 , U48 , U49> const& rhs)
- {
- vec = rhs.vec;
- return *this;
- }
- template <typename T>
- vector&
- operator=(T const& rhs)
- {
- vec = rhs;
- return *this;
- }
- template <int N>
- typename add_reference<
- typename mpl::at_c<types, N>::type
- >::type
- at_impl(mpl::int_<N> index)
- {
- return vec.at_impl(index);
- }
- template <int N>
- typename add_reference<
- typename add_const<
- typename mpl::at_c<types, N>::type
- >::type
- >::type
- at_impl(mpl::int_<N> index) const
- {
- return vec.at_impl(index);
- }
- template <typename I>
- typename add_reference<
- typename mpl::at<types, I>::type
- >::type
- at_impl(I )
- {
- return vec.at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- typename add_reference<
- typename add_const<
- typename mpl::at<types, I>::type
- >::type
- >::type
- at_impl(I ) const
- {
- return vec.at_impl(mpl::int_<I::value>());
- }
- private:
- BOOST_FUSION_VECTOR_CTOR_HELPER()
- vector_n vec;
- };
-}}
diff --git a/boost/fusion/container/vector/detail/preprocessed/vvector50_fwd.hpp b/boost/fusion/container/vector/detail/preprocessed/vvector50_fwd.hpp
deleted file mode 100644
index 621f160..0000000
--- a/boost/fusion/container/vector/detail/preprocessed/vvector50_fwd.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)
-
- This is an auto-generated file. Do not edit!
-==============================================================================*/
-namespace boost { namespace fusion
-{
- struct void_;
- template <
- typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T2 [...]
- >
- struct vector;
-}}
diff --git a/boost/fusion/container/vector/detail/prior_impl.hpp b/boost/fusion/container/vector/detail/prior_impl.hpp
deleted file mode 100644
index b0a6a68..0000000
--- a/boost/fusion/container/vector/detail/prior_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_PRIOR_IMPL_05042005_1145)
-#define FUSION_PRIOR_IMPL_05042005_1145
-
-#include <boost/fusion/container/vector/vector_iterator.hpp>
-
-namespace boost { namespace fusion
-{
- struct vector_iterator_tag;
- template <typename Vector, int N>
- struct vector_iterator;
-
- namespace extension
- {
- template <typename Tag>
- struct prior_impl;
-
- template <>
- struct prior_impl<vector_iterator_tag>
- {
- template <typename Iterator>
- struct apply
- {
- typedef typename Iterator::vector vector;
- typedef typename Iterator::index index;
- typedef vector_iterator<vector, index::value-1> type;
-
- static type
- call(Iterator const& i)
- {
- return type(i.vec);
- }
- };
- };
- }
-}}
-
-#endif
diff --git a/boost/fusion/container/vector/detail/value_at_impl.hpp b/boost/fusion/container/vector/detail/value_at_impl.hpp
deleted file mode 100644
index b5aeb19..0000000
--- a/boost/fusion/container/vector/detail/value_at_impl.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-#if !defined(FUSION_VALUE_AT_IMPL_05052005_0232)
-#define FUSION_VALUE_AT_IMPL_05052005_0232
-
-#include <boost/mpl/at.hpp>
-
-namespace boost { namespace fusion
-{
- struct vector_tag;
-
- namespace extension
- {
- template <typename Tag>
- struct value_at_impl;
-
- template <>
- struct value_at_impl<vector_tag>
- {
- template <typename Sequence, typename N>
- struct apply
- {
- typedef typename mpl::at<typename Sequence::types, N>::type type;
- };
- };
- }
-}}
-
-#endif
diff --git a/boost/fusion/container/vector/detail/value_of_impl.hpp b/boost/fusion/container/vector/detail/value_of_impl.hpp
deleted file mode 100644
index e10c522..0000000
--- a/boost/fusion/container/vector/detail/value_of_impl.hpp
+++ /dev/null
@@ -1,37 +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 <boost/mpl/at.hpp>
-
-namespace boost { namespace fusion
-{
- struct vector_iterator_tag;
-
- namespace extension
- {
- template <typename Tag>
- struct value_of_impl;
-
- template <>
- struct value_of_impl<vector_iterator_tag>
- {
- template <typename Iterator>
- 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/boost/fusion/container/vector/detail/vector_forward_ctor.hpp b/boost/fusion/container/vector/detail/vector_forward_ctor.hpp
deleted file mode 100644
index 2607321..0000000
--- a/boost/fusion/container/vector/detail/vector_forward_ctor.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)
-==============================================================================*/
-#ifndef BOOST_PP_IS_ITERATING
-#if !defined(FUSION_VECTOR_FORWARD_CTOR_07122005_1123)
-#define FUSION_VECTOR_FORWARD_CTOR_07122005_1123
-
-#include <boost/preprocessor/iterate.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_binary_params.hpp>
-
-#define FUSION_FORWARD_CTOR_FORWARD(z, n, _) std::forward<U##n>(_##n)
-
-#define BOOST_PP_FILENAME_1 \
- <boost/fusion/container/vector/detail/vector_forward_ctor.hpp>
-#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE)
-#include BOOST_PP_ITERATE()
-
-#undef FUSION_FORWARD_CTOR_FORWARD
-#endif
-#else // defined(BOOST_PP_IS_ITERATING)
-///////////////////////////////////////////////////////////////////////////////
-//
-// Preprocessor vertical repetition code
-//
-///////////////////////////////////////////////////////////////////////////////
-
-#define N BOOST_PP_ITERATION()
-
-#if N == 1
- explicit
-#endif
- vector(BOOST_PP_ENUM_BINARY_PARAMS(
- N, typename detail::call_param<T, >::type _))
- : vec(BOOST_PP_ENUM_PARAMS(N, _)) {}
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- template <BOOST_PP_ENUM_PARAMS(N, typename U)>
-#if N == 1
- explicit
-#endif
- vector(BOOST_PP_ENUM_BINARY_PARAMS(N, U, && _))
- : vec(BOOST_PP_ENUM(N, FUSION_FORWARD_CTOR_FORWARD, _)) {}
-#endif
-
-#undef N
-#endif // defined(BOOST_PP_IS_ITERATING)
-
diff --git a/boost/fusion/container/vector/detail/vector_n.hpp b/boost/fusion/container/vector/detail/vector_n.hpp
deleted file mode 100644
index 1354ff4..0000000
--- a/boost/fusion/container/vector/detail/vector_n.hpp
+++ /dev/null
@@ -1,240 +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)
-==============================================================================*/
-// No include guard. This file is meant to be included many times
-
-#if !defined(FUSION_MACRO_05042005)
-#define FUSION_MACRO_05042005
-
-#define FUSION_VECTOR_CTOR_DEFAULT_INIT(z, n, _) \
- m##n()
-
-#define FUSION_VECTOR_CTOR_INIT(z, n, _) \
- m##n(_##n)
-
-#define FUSION_VECTOR_MEMBER_CTOR_INIT(z, n, _) \
- m##n(other.m##n)
-
-#define FUSION_VECTOR_CTOR_FORWARD(z, n, _) \
- m##n(std::forward<T##n>(other.m##n))
-
-#define FUSION_VECTOR_CTOR_ARG_FWD(z, n, _) \
- m##n(std::forward<U##n>(_##n))
-
-#define FUSION_VECTOR_MEMBER_DECL(z, n, _) \
- T##n m##n;
-
-#define FUSION_VECTOR_MEMBER_FORWARD(z, n, _) \
- std::forward<U##n>(_##n)
-
-#define FUSION_VECTOR_MEMBER_ASSIGN(z, n, _) \
- this->BOOST_PP_CAT(m, n) = vec.BOOST_PP_CAT(m, n);
-
-#define FUSION_VECTOR_MEMBER_DEREF_ASSIGN(z, n, _) \
- this->BOOST_PP_CAT(m, n) = *BOOST_PP_CAT(i, n);
-
-#define FUSION_VECTOR_MEMBER_MOVE(z, n, _) \
- this->BOOST_PP_CAT(m, n) = std::forward< \
- BOOST_PP_CAT(T, n)>(vec.BOOST_PP_CAT(m, n));
-
-#define FUSION_VECTOR_MEMBER_AT_IMPL(z, n, _) \
- typename add_reference<T##n>::type \
- at_impl(mpl::int_<n>) { return this->m##n; } \
- typename add_reference<typename add_const<T##n>::type>::type \
- at_impl(mpl::int_<n>) const { return this->m##n; }
-
-#define FUSION_VECTOR_MEMBER_ITER_DECL_VAR(z, n, _) \
- typedef typename result_of::next< \
- BOOST_PP_CAT(I, BOOST_PP_DEC(n))>::type BOOST_PP_CAT(I, n); \
- BOOST_PP_CAT(I, n) BOOST_PP_CAT(i, n) \
- = fusion::next(BOOST_PP_CAT(i, BOOST_PP_DEC(n)));
-
-#endif
-
-#define N BOOST_PP_ITERATION()
-
- template <BOOST_PP_ENUM_PARAMS(N, typename T)>
- struct BOOST_PP_CAT(vector_data, N)
- {
- BOOST_PP_CAT(vector_data, N)()
- : BOOST_PP_ENUM(N, FUSION_VECTOR_CTOR_DEFAULT_INIT, _) {}
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- template <BOOST_PP_ENUM_PARAMS(N, typename U)>
- BOOST_PP_CAT(vector_data, N)(BOOST_PP_ENUM_BINARY_PARAMS(N, U, && _)
- , typename boost::enable_if<is_convertible<U0, T0> >::type* /*dummy*/ = 0
- )
- : BOOST_PP_ENUM(N, FUSION_VECTOR_CTOR_ARG_FWD, _) {}
-#endif
-
- BOOST_PP_CAT(vector_data, N)(
- BOOST_PP_ENUM_BINARY_PARAMS(
- N, typename detail::call_param<T, >::type _))
- : BOOST_PP_ENUM(N, FUSION_VECTOR_CTOR_INIT, _) {}
-
- BOOST_PP_CAT(vector_data, N)(
- BOOST_PP_CAT(vector_data, N) const& other)
- : BOOST_PP_ENUM(N, FUSION_VECTOR_MEMBER_CTOR_INIT, _) {}
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- BOOST_PP_CAT(vector_data, N)(
- BOOST_PP_CAT(vector_data, N)&& other)
- : BOOST_PP_ENUM(N, FUSION_VECTOR_CTOR_FORWARD, _) {}
-#endif
-
- BOOST_PP_CAT(vector_data, N)&
- operator=(BOOST_PP_CAT(vector_data, N) const& vec)
- {
- BOOST_PP_REPEAT(N, FUSION_VECTOR_MEMBER_ASSIGN, _)
- return *this;
- }
-
- template <typename Sequence>
- static BOOST_PP_CAT(vector_data, N)
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- BOOST_PP_REPEAT_FROM_TO(1, N, FUSION_VECTOR_MEMBER_ITER_DECL_VAR, _)
- return BOOST_PP_CAT(vector_data, N)(BOOST_PP_ENUM_PARAMS(N, *i));
- }
-
- template <typename Sequence>
- static BOOST_PP_CAT(vector_data, N)
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
- BOOST_PP_REPEAT_FROM_TO(1, N, FUSION_VECTOR_MEMBER_ITER_DECL_VAR, _)
- return BOOST_PP_CAT(vector_data, N)(BOOST_PP_ENUM_PARAMS(N, *i));
- }
-
- BOOST_PP_REPEAT(N, FUSION_VECTOR_MEMBER_DECL, _)
- };
-
- template <BOOST_PP_ENUM_PARAMS(N, typename T)>
- struct BOOST_PP_CAT(vector, N)
- : BOOST_PP_CAT(vector_data, N)<BOOST_PP_ENUM_PARAMS(N, T)>
- , sequence_base<BOOST_PP_CAT(vector, N)<BOOST_PP_ENUM_PARAMS(N, T)> >
- {
- typedef BOOST_PP_CAT(vector, N)<BOOST_PP_ENUM_PARAMS(N, T)> this_type;
- typedef BOOST_PP_CAT(vector_data, N)<BOOST_PP_ENUM_PARAMS(N, T)> base_type;
- typedef mpl::BOOST_PP_CAT(vector, N)<BOOST_PP_ENUM_PARAMS(N, T)> 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_<N> size;
-
- BOOST_PP_CAT(vector, N)() {}
-
-#if (N == 1)
- explicit
-#endif
- BOOST_PP_CAT(vector, N)(
- BOOST_PP_ENUM_BINARY_PARAMS(
- N, typename detail::call_param<T, >::type _))
- : base_type(BOOST_PP_ENUM_PARAMS(N, _)) {}
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- template <BOOST_PP_ENUM_PARAMS(N, typename U)>
-#if (N == 1)
- explicit
- BOOST_PP_CAT(vector, N)(U0&& _0
- , typename boost::enable_if<is_convertible<U0, T0> >::type* /*dummy*/ = 0
- )
- : base_type(std::forward<U0>(_0)) {}
-#else
- BOOST_PP_CAT(vector, N)(BOOST_PP_ENUM_BINARY_PARAMS(N, U, && _))
- : base_type(BOOST_PP_ENUM(N, FUSION_VECTOR_MEMBER_FORWARD, _)) {}
-#endif
-
- BOOST_PP_CAT(vector, N)(BOOST_PP_CAT(vector, N)&& rhs)
- : base_type(std::forward<base_type>(rhs)) {}
-
- BOOST_PP_CAT(vector, N)(BOOST_PP_CAT(vector, N) const& rhs)
- : base_type(rhs) {}
-
-#endif
-
- template <BOOST_PP_ENUM_PARAMS(N, typename U)>
- BOOST_PP_CAT(vector, N)(
- BOOST_PP_CAT(vector, N)<BOOST_PP_ENUM_PARAMS(N, U)> const& vec)
- : base_type(BOOST_PP_ENUM_PARAMS(N, vec.m)) {}
-
- template <typename Sequence>
- BOOST_PP_CAT(vector, N)(
- Sequence const& seq
-#if (N == 1)
- , typename boost::disable_if<is_convertible<Sequence, T0> >::type* /*dummy*/ = 0
-#endif
- )
- : base_type(base_type::init_from_sequence(seq)) {}
-
- template <typename Sequence>
- BOOST_PP_CAT(vector, N)(
- Sequence& seq
-#if (N == 1)
- , typename boost::disable_if<is_convertible<Sequence, T0> >::type* /*dummy*/ = 0
-#endif
- )
- : base_type(base_type::init_from_sequence(seq)) {}
-
- template <BOOST_PP_ENUM_PARAMS(N, typename U)>
- BOOST_PP_CAT(vector, N)&
- operator=(BOOST_PP_CAT(vector, N)<BOOST_PP_ENUM_PARAMS(N, U)> const& vec)
- {
- BOOST_PP_REPEAT(N, FUSION_VECTOR_MEMBER_ASSIGN, _)
- return *this;
- }
-
- template <typename Sequence>
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
- BOOST_PP_REPEAT_FROM_TO(1, N, FUSION_VECTOR_MEMBER_ITER_DECL_VAR, _)
- BOOST_PP_REPEAT(N, FUSION_VECTOR_MEMBER_DEREF_ASSIGN, _)
- return *this;
- }
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- BOOST_PP_CAT(vector, N)&
- operator=(BOOST_PP_CAT(vector, N) const& vec)
- {
- base_type::operator=(vec);
- return *this;
- }
-
- BOOST_PP_CAT(vector, N)&
- operator=(BOOST_PP_CAT(vector, N)&& vec)
- {
- BOOST_PP_REPEAT(N, FUSION_VECTOR_MEMBER_MOVE, _)
- return *this;
- }
-#endif
-
- BOOST_PP_REPEAT(N, FUSION_VECTOR_MEMBER_AT_IMPL, _)
-
- template<typename I>
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
-
- template<typename I>
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
-
-#undef N
-
-
diff --git a/boost/fusion/container/vector/detail/vector_n_chooser.hpp b/boost/fusion/container/vector/detail/vector_n_chooser.hpp
deleted file mode 100644
index b0e69af..0000000
--- a/boost/fusion/container/vector/detail/vector_n_chooser.hpp
+++ /dev/null
@@ -1,107 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-#ifndef BOOST_PP_IS_ITERATING
-#if !defined(FUSION_VECTOR_N_CHOOSER_07072005_1248)
-#define FUSION_VECTOR_N_CHOOSER_07072005_1248
-
-#include <boost/fusion/container/vector/limits.hpp>
-
-// include vector0..N where N is FUSION_MAX_VECTOR_SIZE
-#include <boost/fusion/container/vector/vector10.hpp>
-#if (FUSION_MAX_VECTOR_SIZE > 10)
-#include <boost/fusion/container/vector/vector20.hpp>
-#endif
-#if (FUSION_MAX_VECTOR_SIZE > 20)
-#include <boost/fusion/container/vector/vector30.hpp>
-#endif
-#if (FUSION_MAX_VECTOR_SIZE > 30)
-#include <boost/fusion/container/vector/vector40.hpp>
-#endif
-#if (FUSION_MAX_VECTOR_SIZE > 40)
-#include <boost/fusion/container/vector/vector50.hpp>
-#endif
-
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/arithmetic/dec.hpp>
-#include <boost/preprocessor/arithmetic/sub.hpp>
-#include <boost/preprocessor/facilities/intercept.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_trailing_params.hpp>
-
-namespace boost { namespace fusion
-{
- struct void_;
-}}
-
-#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES)
-#include <boost/fusion/container/vector/detail/preprocessed/vector_chooser.hpp>
-#else
-#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)
-#pragma wave option(preserve: 2, line: 0, output: "preprocessed/vector_chooser" FUSION_MAX_VECTOR_SIZE_STR ".hpp")
-#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 <BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, typename T)>
- struct vector_n_chooser
- {
- typedef BOOST_PP_CAT(vector, FUSION_MAX_VECTOR_SIZE)<BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, T)> type;
- };
-
- template <>
- struct vector_n_chooser<BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, void_ BOOST_PP_INTERCEPT)>
- {
- typedef vector0<> type;
- };
-
-#define BOOST_PP_FILENAME_1 \
- <boost/fusion/container/vector/detail/vector_n_chooser.hpp>
-#define BOOST_PP_ITERATION_LIMITS (1, BOOST_PP_DEC(FUSION_MAX_VECTOR_SIZE))
-#include BOOST_PP_ITERATE()
-
-}}}
-
-#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)
-#pragma wave option(output: null)
-#endif
-
-#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES
-
-#endif
-
-///////////////////////////////////////////////////////////////////////////////
-//
-// Preprocessor vertical repetition code
-//
-///////////////////////////////////////////////////////////////////////////////
-#else // defined(BOOST_PP_IS_ITERATING)
-
-#define N BOOST_PP_ITERATION()
-
- template <BOOST_PP_ENUM_PARAMS(N, typename T)>
- struct vector_n_chooser<
- BOOST_PP_ENUM_PARAMS(N, T)
- BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_SUB(FUSION_MAX_VECTOR_SIZE, N), void_ BOOST_PP_INTERCEPT)>
- {
- typedef BOOST_PP_CAT(vector, N)<BOOST_PP_ENUM_PARAMS(N, T)> type;
- };
-
-#undef N
-#endif // defined(BOOST_PP_IS_ITERATING)
diff --git a/boost/fusion/container/vector/limits.hpp b/boost/fusion/container/vector/limits.hpp
deleted file mode 100644
index e1b6042..0000000
--- a/boost/fusion/container/vector/limits.hpp
+++ /dev/null
@@ -1,23 +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_LIMITS_07072005_1246)
-#define FUSION_VECTOR_LIMITS_07072005_1246
-
-#include <boost/fusion/support/detail/pp_round.hpp>
-
-#if !defined(FUSION_MAX_VECTOR_SIZE)
-# define FUSION_MAX_VECTOR_SIZE 10
-#else
-# if FUSION_MAX_VECTOR_SIZE < 3
-# undef FUSION_MAX_VECTOR_SIZE
-# define FUSION_MAX_VECTOR_SIZE 10
-# endif
-#endif
-
-#define FUSION_MAX_VECTOR_SIZE_STR BOOST_PP_STRINGIZE(BOOST_FUSION_PP_ROUND_UP(FUSION_MAX_VECTOR_SIZE))
-
-#endif
diff --git a/boost/fusion/container/vector/vector.hpp b/boost/fusion/container/vector/vector.hpp
deleted file mode 100644
index 94a9c71..0000000
--- a/boost/fusion/container/vector/vector.hpp
+++ /dev/null
@@ -1,220 +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 <boost/fusion/container/vector/vector_fwd.hpp>
-#include <boost/fusion/container/vector/detail/vector_n_chooser.hpp>
-#include <boost/fusion/sequence/intrinsic/begin.hpp>
-#include <boost/mpl/at.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/type_traits/add_reference.hpp>
-#include <boost/type_traits/add_const.hpp>
-#include <boost/type_traits/is_base_of.hpp>
-#include <boost/detail/workaround.hpp>
-
-#if !defined(__WAVE__)
-
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1600)
-
-#define BOOST_FUSION_VECTOR_COPY_INIT() \
- ctor_helper(rhs, is_base_of<vector, Sequence>()) \
-
-#define BOOST_FUSION_VECTOR_CTOR_HELPER() \
- static vector_n const& \
- ctor_helper(vector const& rhs, mpl::true_) \
- { \
- return rhs.vec; \
- } \
- \
- template <typename T> \
- 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
-
-#endif // !defined(__WAVE__)
-
-#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES)
-#include <boost/fusion/container/vector/detail/preprocessed/vector.hpp>
-#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 <BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, typename T)>
- struct vector
- : sequence_base<vector<BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, T)> >
- {
- private:
-
- typedef typename detail::vector_n_chooser<
- BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, T)>::type
- vector_n;
-
- template <BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, typename U)>
- 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;
-
- vector()
- : vec() {}
-
- template <BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, typename U)>
- vector(vector<BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, U)> const& rhs)
- : vec(rhs.vec) {}
-
- vector(vector const& rhs)
- : vec(rhs.vec) {}
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- vector(vector&& rhs)
- : vec(std::forward<vector_n>(rhs.vec)) {}
-#endif
-
- template <typename Sequence>
- 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<T0>::type _0
- // , typename detail::call_param<T1>::type _1)
- // : vec(_0, _1) {}
- #include <boost/fusion/container/vector/detail/vector_forward_ctor.hpp>
-
- template <BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, typename U)>
- vector&
- operator=(vector<BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, U)> const& rhs)
- {
- vec = rhs.vec;
- return *this;
- }
-
- template <typename T>
- vector&
- operator=(T const& rhs)
- {
- vec = rhs;
- return *this;
- }
-
- vector&
- operator=(vector const& rhs)
- {
- vec = rhs.vec;
- return *this;
- }
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- vector&
- operator=(vector&& rhs)
- {
- vec = std::forward<vector_n>(rhs.vec);
- return *this;
- }
-
- template <typename T>
- vector&
- operator=(T&& rhs)
- {
- vec = std::forward<T>(rhs);
- return *this;
- }
-#endif
-
- template <int N>
- typename add_reference<
- typename mpl::at_c<types, N>::type
- >::type
- at_impl(mpl::int_<N> index)
- {
- return vec.at_impl(index);
- }
-
- template <int N>
- typename add_reference<
- typename add_const<
- typename mpl::at_c<types, N>::type
- >::type
- >::type
- at_impl(mpl::int_<N> index) const
- {
- return vec.at_impl(index);
- }
-
- template <typename I>
- typename add_reference<
- typename mpl::at<types, I>::type
- >::type
- at_impl(I /*index*/)
- {
- return vec.at_impl(mpl::int_<I::value>());
- }
-
- template<typename I>
- typename add_reference<
- typename add_const<
- typename mpl::at<types, I>::type
- >::type
- >::type
- at_impl(I /*index*/) const
- {
- return vec.at_impl(mpl::int_<I::value>());
- }
-
- 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
-
-#endif
diff --git a/boost/fusion/container/vector/vector10.hpp b/boost/fusion/container/vector/vector10.hpp
deleted file mode 100644
index bcafe59..0000000
--- a/boost/fusion/container/vector/vector10.hpp
+++ /dev/null
@@ -1,97 +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 <boost/fusion/container/vector/vector10_fwd.hpp>
-#include <boost/fusion/support/sequence_base.hpp>
-#include <boost/fusion/support/detail/access.hpp>
-#include <boost/fusion/iterator/next.hpp>
-#include <boost/fusion/iterator/deref.hpp>
-#include <boost/fusion/sequence/intrinsic/begin.hpp>
-#include <boost/fusion/container/vector/detail/at_impl.hpp>
-#include <boost/fusion/container/vector/detail/value_at_impl.hpp>
-#include <boost/fusion/container/vector/detail/begin_impl.hpp>
-#include <boost/fusion/container/vector/detail/end_impl.hpp>
-
-#include <boost/mpl/void.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/at.hpp>
-#include <boost/mpl/vector/vector10.hpp>
-#include <boost/type_traits/is_convertible.hpp>
-#include <boost/utility/enable_if.hpp>
-
-#include <boost/preprocessor/dec.hpp>
-#include <boost/preprocessor/iteration/iterate.hpp>
-#include <boost/preprocessor/repetition/enum.hpp>
-#include <boost/preprocessor/repetition/enum_shifted.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_binary_params.hpp>
-#include <boost/preprocessor/repetition/repeat_from_to.hpp>
-
-namespace boost { namespace fusion
-{
- struct vector_tag;
- struct fusion_sequence_tag;
- struct random_access_traversal_tag;
-
- template <typename Dummy>
- struct vector0 : sequence_base<vector0<Dummy> >
- {
- 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;
-
- vector0() {}
-
- template<typename Sequence>
- vector0(Sequence const& /*seq*/)
- {}
- };
-}}
-
-#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES)
-#include <boost/fusion/container/vector/detail/preprocessed/vector10.hpp>
-#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
-{
-
-// expand vector1 to vector10
-#define BOOST_PP_FILENAME_1 <boost/fusion/container/vector/detail/vector_n.hpp>
-#define BOOST_PP_ITERATION_LIMITS (1, 10)
-#include BOOST_PP_ITERATE()
-
-}}
-
-#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/boost/fusion/container/vector/vector10_fwd.hpp b/boost/fusion/container/vector/vector10_fwd.hpp
deleted file mode 100644
index 5f8c218..0000000
--- a/boost/fusion/container/vector/vector10_fwd.hpp
+++ /dev/null
@@ -1,63 +0,0 @@
-#ifndef BOOST_PP_IS_ITERATING
-/*=============================================================================
- Copyright (c) 2011 Eric Niebler
- Copyright (c) 2001-2011 Joel de Guzman
-
- Distributed under the Boost Software 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_VECTOR10_FWD_HPP_INCLUDED)
-#define BOOST_FUSION_VECTOR10_FWD_HPP_INCLUDED
-
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/iteration/iterate.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-
-namespace boost { namespace fusion
-{
- template <typename Dummy = void>
- struct vector0;
-}}
-
-#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES)
-#include <boost/fusion/container/vector/detail/preprocessed/vector10_fwd.hpp>
-#else
-#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)
-#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/vector10_fwd.hpp")
-#endif
-
-/*=============================================================================
- Copyright (c) 2011 Eric Niebler
- Copyright (c) 2001-2011 Joel de Guzman
-
- Distributed under the 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
-{
- // expand vector1 to vector10
- #define BOOST_PP_FILENAME_1 <boost/fusion/container/vector/vector10_fwd.hpp>
- #define BOOST_PP_ITERATION_LIMITS (1, 10)
- #include BOOST_PP_ITERATE()
-}}
-
-#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)
-#pragma wave option(output: null)
-#endif
-
-#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES
-
-#endif
-
-#else
-
- template <BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), typename T)>
- struct BOOST_PP_CAT(vector, BOOST_PP_ITERATION());
-
-#endif
diff --git a/boost/fusion/container/vector/vector20.hpp b/boost/fusion/container/vector/vector20.hpp
deleted file mode 100644
index d688a0d..0000000
--- a/boost/fusion/container/vector/vector20.hpp
+++ /dev/null
@@ -1,78 +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 <boost/fusion/container/vector/vector20_fwd.hpp>
-#include <boost/fusion/support/sequence_base.hpp>
-#include <boost/fusion/support/detail/access.hpp>
-#include <boost/fusion/iterator/next.hpp>
-#include <boost/fusion/iterator/deref.hpp>
-#include <boost/fusion/sequence/intrinsic/begin.hpp>
-#include <boost/fusion/container/vector/detail/at_impl.hpp>
-#include <boost/fusion/container/vector/detail/value_at_impl.hpp>
-#include <boost/fusion/container/vector/detail/begin_impl.hpp>
-#include <boost/fusion/container/vector/detail/end_impl.hpp>
-
-#include <boost/mpl/void.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/mpl/at.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/vector/vector20.hpp>
-#include <boost/type_traits/is_convertible.hpp>
-#include <boost/utility/enable_if.hpp>
-
-#include <boost/preprocessor/dec.hpp>
-#include <boost/preprocessor/iteration/iterate.hpp>
-#include <boost/preprocessor/repetition/enum.hpp>
-#include <boost/preprocessor/repetition/enum_shifted.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_binary_params.hpp>
-#include <boost/preprocessor/repetition/repeat_from_to.hpp>
-
-#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES)
-#include <boost/fusion/container/vector/detail/preprocessed/vector20.hpp>
-#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;
-
-// expand vector11 to vector20
-#define BOOST_PP_FILENAME_1 <boost/fusion/container/vector/detail/vector_n.hpp>
-#define BOOST_PP_ITERATION_LIMITS (11, 20)
-#include BOOST_PP_ITERATE()
-
-}}
-
-#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/boost/fusion/container/vector/vector20_fwd.hpp b/boost/fusion/container/vector/vector20_fwd.hpp
deleted file mode 100644
index 4102888..0000000
--- a/boost/fusion/container/vector/vector20_fwd.hpp
+++ /dev/null
@@ -1,58 +0,0 @@
-#ifndef BOOST_PP_IS_ITERATING
-/*=============================================================================
- Copyright (c) 2011 Eric Niebler
- Copyright (c) 2001-2011 Joel de Guzman
-
- Distributed under the Boost Software 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_VECTOR20_FWD_HPP_INCLUDED)
-#define BOOST_FUSION_VECTOR20_FWD_HPP_INCLUDED
-
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/iteration/iterate.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-
-#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES)
-#include <boost/fusion/container/vector/detail/preprocessed/vector20_fwd.hpp>
-#else
-#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)
-#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/vector20_fwd.hpp")
-#endif
-
-/*=============================================================================
- Copyright (c) 2011 Eric Niebler
- Copyright (c) 2001-2011 Joel de Guzman
-
- Distributed under the 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
-{
- // expand vector11 to vector20
- #define BOOST_PP_FILENAME_1 <boost/fusion/container/vector/vector20_fwd.hpp>
- #define BOOST_PP_ITERATION_LIMITS (11, 20)
- #include BOOST_PP_ITERATE()
-}}
-
-#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)
-#pragma wave option(output: null)
-#endif
-
-#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES
-
-#endif
-
-#else
-
- template <BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), typename T)>
- struct BOOST_PP_CAT(vector, BOOST_PP_ITERATION());
-
-#endif
diff --git a/boost/fusion/container/vector/vector30.hpp b/boost/fusion/container/vector/vector30.hpp
deleted file mode 100644
index 4080005..0000000
--- a/boost/fusion/container/vector/vector30.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_VECTOR30_05052005_0206)
-#define FUSION_VECTOR30_05052005_0206
-
-#include <boost/fusion/container/vector/vector30_fwd.hpp>
-#include <boost/fusion/support/sequence_base.hpp>
-#include <boost/fusion/support/detail/access.hpp>
-#include <boost/fusion/iterator/next.hpp>
-#include <boost/fusion/iterator/deref.hpp>
-#include <boost/fusion/sequence/intrinsic/begin.hpp>
-#include <boost/fusion/container/vector/detail/at_impl.hpp>
-#include <boost/fusion/container/vector/detail/value_at_impl.hpp>
-#include <boost/fusion/container/vector/detail/begin_impl.hpp>
-#include <boost/fusion/container/vector/detail/end_impl.hpp>
-
-#include <boost/mpl/void.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/mpl/at.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/vector/vector30.hpp>
-#include <boost/type_traits/is_convertible.hpp>
-#include <boost/utility/enable_if.hpp>
-
-#include <boost/preprocessor/dec.hpp>
-#include <boost/preprocessor/iteration/iterate.hpp>
-#include <boost/preprocessor/repetition/enum.hpp>
-#include <boost/preprocessor/repetition/enum_shifted.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_binary_params.hpp>
-#include <boost/preprocessor/repetition/repeat_from_to.hpp>
-
-#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES)
-#include <boost/fusion/container/vector/detail/preprocessed/vector30.hpp>
-#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;
-
-// expand vector21 to vector30
-#define BOOST_PP_FILENAME_1 <boost/fusion/container/vector/detail/vector_n.hpp>
-#define BOOST_PP_ITERATION_LIMITS (21, 30)
-#include BOOST_PP_ITERATE()
-
-}}
-
-#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/boost/fusion/container/vector/vector30_fwd.hpp b/boost/fusion/container/vector/vector30_fwd.hpp
deleted file mode 100644
index 9b60644..0000000
--- a/boost/fusion/container/vector/vector30_fwd.hpp
+++ /dev/null
@@ -1,58 +0,0 @@
-#ifndef BOOST_PP_IS_ITERATING
-/*=============================================================================
- Copyright (c) 2011 Eric Niebler
- Copyright (c) 2001-2011 Joel de Guzman
-
- Distributed under the Boost Software 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_VECTOR30_FWD_HPP_INCLUDED)
-#define BOOST_FUSION_VECTOR30_FWD_HPP_INCLUDED
-
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/iteration/iterate.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-
-#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES)
-#include <boost/fusion/container/vector/detail/preprocessed/vector30_fwd.hpp>
-#else
-#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)
-#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/vector30_fwd.hpp")
-#endif
-
-/*=============================================================================
- Copyright (c) 2011 Eric Niebler
- Copyright (c) 2001-2011 Joel de Guzman
-
- Distributed under the 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
-{
- // expand vector21 to vector30
- #define BOOST_PP_FILENAME_1 <boost/fusion/container/vector/vector30_fwd.hpp>
- #define BOOST_PP_ITERATION_LIMITS (21, 30)
- #include BOOST_PP_ITERATE()
-}}
-
-#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)
-#pragma wave option(output: null)
-#endif
-
-#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES
-
-#endif
-
-#else
-
- template <BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), typename T)>
- struct BOOST_PP_CAT(vector, BOOST_PP_ITERATION());
-
-#endif
diff --git a/boost/fusion/container/vector/vector40.hpp b/boost/fusion/container/vector/vector40.hpp
deleted file mode 100644
index 3350bad..0000000
--- a/boost/fusion/container/vector/vector40.hpp
+++ /dev/null
@@ -1,78 +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 <boost/fusion/container/vector/vector40_fwd.hpp>
-#include <boost/fusion/support/sequence_base.hpp>
-#include <boost/fusion/support/detail/access.hpp>
-#include <boost/fusion/iterator/next.hpp>
-#include <boost/fusion/iterator/deref.hpp>
-#include <boost/fusion/sequence/intrinsic/begin.hpp>
-#include <boost/fusion/container/vector/detail/at_impl.hpp>
-#include <boost/fusion/container/vector/detail/value_at_impl.hpp>
-#include <boost/fusion/container/vector/detail/begin_impl.hpp>
-#include <boost/fusion/container/vector/detail/end_impl.hpp>
-
-#include <boost/mpl/void.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/mpl/at.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/vector/vector40.hpp>
-#include <boost/type_traits/is_convertible.hpp>
-#include <boost/utility/enable_if.hpp>
-
-#include <boost/preprocessor/dec.hpp>
-#include <boost/preprocessor/iteration/iterate.hpp>
-#include <boost/preprocessor/repetition/enum.hpp>
-#include <boost/preprocessor/repetition/enum_shifted.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_binary_params.hpp>
-#include <boost/preprocessor/repetition/repeat_from_to.hpp>
-
-#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES)
-#include <boost/fusion/container/vector/detail/preprocessed/vector40.hpp>
-#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;
-
-// expand vector31 to vector40
-#define BOOST_PP_FILENAME_1 <boost/fusion/container/vector/detail/vector_n.hpp>
-#define BOOST_PP_ITERATION_LIMITS (31, 40)
-#include BOOST_PP_ITERATE()
-
-}}
-
-#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/boost/fusion/container/vector/vector40_fwd.hpp b/boost/fusion/container/vector/vector40_fwd.hpp
deleted file mode 100644
index 05342d1..0000000
--- a/boost/fusion/container/vector/vector40_fwd.hpp
+++ /dev/null
@@ -1,58 +0,0 @@
-#ifndef BOOST_PP_IS_ITERATING
-/*=============================================================================
- Copyright (c) 2011 Eric Niebler
- Copyright (c) 2001-2011 Joel de Guzman
-
- Distributed under the Boost Software 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_VECTOR40_FWD_HPP_INCLUDED)
-#define BOOST_FUSION_VECTOR40_FWD_HPP_INCLUDED
-
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/iteration/iterate.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-
-#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES)
-#include <boost/fusion/container/vector/detail/preprocessed/vector40_fwd.hpp>
-#else
-#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)
-#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/vector40_fwd.hpp")
-#endif
-
-/*=============================================================================
- Copyright (c) 2011 Eric Niebler
- Copyright (c) 2001-2011 Joel de Guzman
-
- Distributed under the 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
-{
- // expand vector31 to vector40
- #define BOOST_PP_FILENAME_1 <boost/fusion/container/vector/vector40_fwd.hpp>
- #define BOOST_PP_ITERATION_LIMITS (31, 40)
- #include BOOST_PP_ITERATE()
-}}
-
-#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)
-#pragma wave option(output: null)
-#endif
-
-#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES
-
-#endif
-
-#else
-
- template <BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), typename T)>
- struct BOOST_PP_CAT(vector, BOOST_PP_ITERATION());
-
-#endif
diff --git a/boost/fusion/container/vector/vector50.hpp b/boost/fusion/container/vector/vector50.hpp
deleted file mode 100644
index ec28828..0000000
--- a/boost/fusion/container/vector/vector50.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_VECTOR50_05052005_0207)
-#define FUSION_VECTOR50_05052005_0207
-
-#include <boost/fusion/container/vector/vector50_fwd.hpp>
-#include <boost/fusion/support/sequence_base.hpp>
-#include <boost/fusion/support/detail/access.hpp>
-#include <boost/fusion/iterator/next.hpp>
-#include <boost/fusion/iterator/deref.hpp>
-#include <boost/fusion/sequence/intrinsic/begin.hpp>
-#include <boost/fusion/container/vector/detail/at_impl.hpp>
-#include <boost/fusion/container/vector/detail/value_at_impl.hpp>
-#include <boost/fusion/container/vector/detail/begin_impl.hpp>
-#include <boost/fusion/container/vector/detail/end_impl.hpp>
-
-#include <boost/mpl/void.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/mpl/at.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/vector/vector50.hpp>
-#include <boost/type_traits/is_convertible.hpp>
-#include <boost/utility/enable_if.hpp>
-
-#include <boost/preprocessor/dec.hpp>
-#include <boost/preprocessor/iteration/iterate.hpp>
-#include <boost/preprocessor/repetition/enum.hpp>
-#include <boost/preprocessor/repetition/enum_shifted.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_binary_params.hpp>
-#include <boost/preprocessor/repetition/repeat_from_to.hpp>
-
-#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES)
-#include <boost/fusion/container/vector/detail/preprocessed/vector50.hpp>
-#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;
-
-// expand vector41 to vector50
-#define BOOST_PP_FILENAME_1 <boost/fusion/container/vector/detail/vector_n.hpp>
-#define BOOST_PP_ITERATION_LIMITS (41, 50)
-#include BOOST_PP_ITERATE()
-
-}}
-
-#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/boost/fusion/container/vector/vector50_fwd.hpp b/boost/fusion/container/vector/vector50_fwd.hpp
deleted file mode 100644
index 03b3b2f..0000000
--- a/boost/fusion/container/vector/vector50_fwd.hpp
+++ /dev/null
@@ -1,58 +0,0 @@
-#ifndef BOOST_PP_IS_ITERATING
-/*=============================================================================
- Copyright (c) 2011 Eric Niebler
- Copyright (c) 2001-2011 Joel de Guzman
-
- Distributed under the Boost Software 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_VECTOR50_FWD_HPP_INCLUDED)
-#define BOOST_FUSION_VECTOR50_FWD_HPP_INCLUDED
-
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/iteration/iterate.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-
-#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES)
-#include <boost/fusion/container/vector/detail/preprocessed/vector50_fwd.hpp>
-#else
-#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)
-#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/vector50_fwd.hpp")
-#endif
-
-/*=============================================================================
- Copyright (c) 2011 Eric Niebler
- Copyright (c) 2001-2011 Joel de Guzman
-
- Distributed under the 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
-{
- // expand vector41 to vector50
- #define BOOST_PP_FILENAME_1 <boost/fusion/container/vector/vector50_fwd.hpp>
- #define BOOST_PP_ITERATION_LIMITS (41, 50)
- #include BOOST_PP_ITERATE()
-}}
-
-#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)
-#pragma wave option(output: null)
-#endif
-
-#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES
-
-#endif
-
-#else
-
- template <BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), typename T)>
- struct BOOST_PP_CAT(vector, BOOST_PP_ITERATION());
-
-#endif
diff --git a/boost/fusion/container/vector/vector_fwd.hpp b/boost/fusion/container/vector/vector_fwd.hpp
deleted file mode 100644
index 194736a..0000000
--- a/boost/fusion/container/vector/vector_fwd.hpp
+++ /dev/null
@@ -1,65 +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 <boost/fusion/container/vector/limits.hpp>
-#include <boost/preprocessor/repetition/enum_params_with_a_default.hpp>
-
-#include <boost/fusion/container/vector/vector10.hpp>
-#if (FUSION_MAX_VECTOR_SIZE > 10)
-#include <boost/fusion/container/vector/vector20.hpp>
-#endif
-#if (FUSION_MAX_VECTOR_SIZE > 20)
-#include <boost/fusion/container/vector/vector30.hpp>
-#endif
-#if (FUSION_MAX_VECTOR_SIZE > 30)
-#include <boost/fusion/container/vector/vector40.hpp>
-#endif
-#if (FUSION_MAX_VECTOR_SIZE > 40)
-#include <boost/fusion/container/vector/vector50.hpp>
-#endif
-
-#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES)
-#include <boost/fusion/container/vector/detail/preprocessed/vector_fwd.hpp>
-#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/boost/fusion/container/vector/vector_iterator.hpp b/boost/fusion/container/vector/vector_iterator.hpp
deleted file mode 100644
index 66e9ebe..0000000
--- a/boost/fusion/container/vector/vector_iterator.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_VECTOR_ITERATOR_05042005_0635)
-#define FUSION_VECTOR_ITERATOR_05042005_0635
-
-#include <boost/fusion/support/iterator_base.hpp>
-#include <boost/fusion/container/vector/detail/deref_impl.hpp>
-#include <boost/fusion/container/vector/detail/value_of_impl.hpp>
-#include <boost/fusion/container/vector/detail/next_impl.hpp>
-#include <boost/fusion/container/vector/detail/prior_impl.hpp>
-#include <boost/fusion/container/vector/detail/equal_to_impl.hpp>
-#include <boost/fusion/container/vector/detail/distance_impl.hpp>
-#include <boost/fusion/container/vector/detail/advance_impl.hpp>
-#include <boost/type_traits/add_const.hpp>
-#include <boost/mpl/int.hpp>
-
-namespace boost { namespace fusion
-{
- struct vector_iterator_tag;
- struct random_access_traversal_tag;
-
- template <typename Vector, int N>
- struct vector_iterator_identity;
-
- template <typename Vector, int N>
- struct vector_iterator : iterator_base<vector_iterator<Vector, N> >
- {
- typedef mpl::int_<N> index;
- typedef Vector vector;
- typedef vector_iterator_tag fusion_tag;
- typedef random_access_traversal_tag category;
- typedef vector_iterator_identity<
- typename add_const<Vector>::type, N> identity;
-
- vector_iterator(Vector& in_vec)
- : vec(in_vec) {}
- Vector& vec;
-
- private:
- // silence MSVC warning C4512: assignment operator could not be generated
- vector_iterator& operator= (vector_iterator const&);
- };
-}}
-
-#endif
-
diff --git a/boost/fusion/include/std_pair.hpp b/boost/fusion/include/std_pair.hpp
deleted file mode 100644
index 98f37c8..0000000
--- a/boost/fusion/include/std_pair.hpp
+++ /dev/null
@@ -1,12 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2007 Joel de Guzman
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-#if !defined(FUSION_INCLUDE_STD_PAIR)
-#define FUSION_INCLUDE_STD_PAIR
-
-#include <boost/fusion/adapted/std_pair.hpp>
-
-#endif
diff --git a/boost/fusion/include/tuple.hpp b/boost/fusion/include/tuple.hpp
deleted file mode 100644
index 52e53fb..0000000
--- a/boost/fusion/include/tuple.hpp
+++ /dev/null
@@ -1,12 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2007 Joel de Guzman
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-#if !defined(FUSION_INCLUDE_TUPLE)
-#define FUSION_INCLUDE_TUPLE
-
-#include <boost/fusion/tuple.hpp>
-
-#endif
diff --git a/boost/fusion/iterator/advance.hpp b/boost/fusion/iterator/advance.hpp
deleted file mode 100644
index bfd8af4..0000000
--- a/boost/fusion/iterator/advance.hpp
+++ /dev/null
@@ -1,92 +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 <boost/fusion/iterator/detail/advance.hpp>
-#include <boost/fusion/support/category_of.hpp>
-
-#include <boost/mpl/int.hpp>
-#include <boost/mpl/assert.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/fusion/support/tag_of.hpp>
-
-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 <typename Tag>
- struct advance_impl
- {
- // default implementation
- template <typename Iterator, typename N>
- struct apply :
- mpl::if_c<
- (N::value > 0)
- , advance_detail::forward<Iterator, N::value>
- , advance_detail::backward<Iterator, N::value>
- >::type
- {
- BOOST_MPL_ASSERT_NOT((traits::is_random_access<Iterator>));
- };
- };
-
- template <>
- struct advance_impl<iterator_facade_tag>
- {
- template <typename Iterator, typename N>
- struct apply : Iterator::template advance<Iterator, N> {};
- };
-
- template <>
- struct advance_impl<boost_array_iterator_tag>;
-
- template <>
- struct advance_impl<mpl_iterator_tag>;
-
- template <>
- struct advance_impl<std_pair_iterator_tag>;
- }
-
- namespace result_of
- {
- template <typename Iterator, int N>
- struct advance_c
- : extension::advance_impl<typename detail::tag_of<Iterator>::type>::template apply<Iterator, mpl::int_<N> >
- {};
-
- template <typename Iterator, typename N>
- struct advance
- : extension::advance_impl<typename detail::tag_of<Iterator>::type>::template apply<Iterator, N>
- {};
- }
-
- template <int N, typename Iterator>
- inline typename result_of::advance_c<Iterator, N>::type const
- advance_c(Iterator const& i)
- {
- return result_of::advance_c<Iterator, N>::call(i);
- }
-
- template<typename N, typename Iterator>
- inline typename result_of::advance<Iterator, N>::type const
- advance(Iterator const& i)
- {
- return result_of::advance<Iterator, N>::call(i);
- }
-
-}} // namespace boost::fusion
-
-#endif
diff --git a/boost/fusion/iterator/basic_iterator.hpp b/boost/fusion/iterator/basic_iterator.hpp
deleted file mode 100644
index 4327a8c..0000000
--- a/boost/fusion/iterator/basic_iterator.hpp
+++ /dev/null
@@ -1,141 +0,0 @@
-/*=============================================================================
- Copyright (c) 2009 Christopher Schmidt
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_FUSION_ITERATOR_BASIC_ITERATOR_HPP
-#define BOOST_FUSION_ITERATOR_BASIC_ITERATOR_HPP
-
-#include <boost/fusion/iterator/iterator_facade.hpp>
-
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/equal_to.hpp>
-#include <boost/mpl/minus.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/remove_const.hpp>
-
-namespace boost { namespace fusion
-{
- namespace extension
- {
- template <typename>
- struct value_of_impl;
-
- template <typename>
- struct deref_impl;
-
- template <typename>
- struct value_of_data_impl;
-
- template <typename>
- struct key_of_impl;
-
- template <typename>
- struct deref_data_impl;
- }
-
- template<typename Tag, typename Category, typename Seq, int Index>
- struct basic_iterator
- : iterator_facade<basic_iterator<Tag,Category,Seq,Index>, Category>
- {
- typedef mpl::int_<Index> index;
- typedef Seq seq_type;
-
- template <typename It>
- struct value_of
- : extension::value_of_impl<Tag>::template apply<It>
- {};
-
- template <typename It>
- struct deref
- : extension::deref_impl<Tag>::template apply<It>
- {};
-
- template <typename It>
- struct value_of_data
- : extension::value_of_data_impl<Tag>::template apply<It>
- {};
-
- template <typename It>
- struct key_of
- : extension::key_of_impl<Tag>::template apply<It>
- {};
-
- template <typename It>
- struct deref_data
- : extension::deref_data_impl<Tag>::template apply<It>
- {};
-
- template <typename It, typename N>
- struct advance
- {
- typedef
- basic_iterator<Tag, Category, Seq, Index + N::value>
- type;
-
- static type
- call(It const& it)
- {
- return type(*it.seq,0);
- }
- };
-
- template <typename It>
- struct next
- : advance<It, mpl::int_<1> >
- {};
-
- template <typename It>
- struct prior
- : advance<It, mpl::int_<-1> >
- {};
-
- template <typename It1, typename It2>
- struct distance
- {
- typedef mpl::minus<typename It2::index, typename It1::index> type;
-
- static
- type
- call(It1 const&, It2 const&)
- {
- return type();
- }
- };
-
- template <typename It1, typename It2>
- struct equal_to
- : mpl::and_<
- is_same<
- typename remove_const<typename It1::seq_type>::type
- , typename remove_const<typename It2::seq_type>::type
- >
- , mpl::equal_to<typename It1::index,typename It2::index>
- >
- {};
-
- template<typename OtherSeq>
- basic_iterator(basic_iterator<Tag,Category,OtherSeq,Index> const& it)
- : seq(it.seq)
- {}
-
- basic_iterator(Seq& in_seq, int)
- : seq(&in_seq)
- {}
-
- template<typename OtherSeq>
- basic_iterator&
- operator=(basic_iterator<Tag,Category,OtherSeq,Index> const& it)
- {
- seq=it.seq;
- return *this;
- }
-
- Seq* seq;
- };
-}}
-
-#endif
diff --git a/boost/fusion/iterator/deref.hpp b/boost/fusion/iterator/deref.hpp
deleted file mode 100644
index 5b01e65..0000000
--- a/boost/fusion/iterator/deref.hpp
+++ /dev/null
@@ -1,72 +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_05042005_1019)
-#define FUSION_DEREF_05042005_1019
-
-#include <boost/fusion/support/iterator_base.hpp>
-#include <boost/fusion/support/tag_of.hpp>
-
-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 <typename Tag>
- struct deref_impl
- {
- template <typename Iterator>
- struct apply {};
- };
-
- template <>
- struct deref_impl<iterator_facade_tag>
- {
- template <typename Iterator>
- struct apply : Iterator::template deref<Iterator> {};
- };
-
- template <>
- struct deref_impl<boost_array_iterator_tag>;
-
- template <>
- struct deref_impl<mpl_iterator_tag>;
-
- template <>
- struct deref_impl<std_pair_iterator_tag>;
- }
-
- namespace result_of
- {
- template <typename Iterator>
- struct deref
- : extension::deref_impl<typename detail::tag_of<Iterator>::type>::
- template apply<Iterator>
- {};
- }
-
- template <typename Iterator>
- typename result_of::deref<Iterator>::type
- deref(Iterator const& i)
- {
- typedef result_of::deref<Iterator> deref_meta;
- return deref_meta::call(i);
- }
-
- template <typename Iterator>
- typename result_of::deref<Iterator>::type
- operator*(iterator_base<Iterator> const& i)
- {
- return fusion::deref(i.cast());
- }
-}}
-
-#endif
diff --git a/boost/fusion/iterator/deref_data.hpp b/boost/fusion/iterator/deref_data.hpp
deleted file mode 100644
index 09ba439..0000000
--- a/boost/fusion/iterator/deref_data.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_ITERATOR_DEREF_DATA_HPP
-#define BOOST_FUSION_ITERATOR_DEREF_DATA_HPP
-
-#include <boost/fusion/support/tag_of.hpp>
-
-namespace boost { namespace fusion
-{
- struct iterator_facade_tag;
-
- namespace extension
- {
- template <typename>
- struct deref_data_impl;
-
- template <>
- struct deref_data_impl<iterator_facade_tag>
- {
- template <typename It>
- struct apply
- : It::template deref_data<It>
- {};
- };
- }
-
- namespace result_of
- {
- template <typename It>
- struct deref_data
- : extension::deref_data_impl<typename traits::tag_of<It>::type>::
- template apply<It>
- {};
- }
-
- template <typename It>
- typename result_of::deref_data<It>::type
- deref_data(It const& it)
- {
- return result_of::deref_data<It>::call(it);
- }
-}}
-
-#endif
diff --git a/boost/fusion/iterator/detail/adapt_deref_traits.hpp b/boost/fusion/iterator/detail/adapt_deref_traits.hpp
deleted file mode 100644
index 197dfc1..0000000
--- a/boost/fusion/iterator/detail/adapt_deref_traits.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_ADAPT_DEREF_TRAITS_05062005_0900)
-#define FUSION_ADAPT_DEREF_TRAITS_05062005_0900
-
-#include <boost/fusion/iterator/deref.hpp>
-
-namespace boost { namespace fusion { namespace detail
-{
- struct adapt_deref_traits
- {
- template <typename Iterator>
- struct apply
- {
- typedef typename
- result_of::deref<typename Iterator::first_type>::type
- type;
-
- static type
- call(Iterator const& i)
- {
- return *i.first;
- }
- };
- };
-}}}
-
-#endif
-
-
diff --git a/boost/fusion/iterator/detail/adapt_value_traits.hpp b/boost/fusion/iterator/detail/adapt_value_traits.hpp
deleted file mode 100644
index 6649ade..0000000
--- a/boost/fusion/iterator/detail/adapt_value_traits.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_ADAPT_VALUE_TRAITS_05062005_0859)
-#define FUSION_ADAPT_VALUE_TRAITS_05062005_0859
-
-#include <boost/fusion/iterator/value_of.hpp>
-
-namespace boost { namespace fusion { namespace detail
-{
- struct adapt_value_traits
- {
- template <typename Iterator>
- struct apply
- {
- typedef typename
- result_of::value_of<typename Iterator::first_type>::type
- type;
- };
- };
-}}}
-
-#endif
-
-
diff --git a/boost/fusion/iterator/detail/advance.hpp b/boost/fusion/iterator/detail/advance.hpp
deleted file mode 100644
index 56dfab9..0000000
--- a/boost/fusion/iterator/detail/advance.hpp
+++ /dev/null
@@ -1,102 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-#if !defined(FUSION_ADVANCE_09172005_1149)
-#define FUSION_ADVANCE_09172005_1149
-
-#include <boost/mpl/int.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/fusion/iterator/next.hpp>
-#include <boost/fusion/iterator/prior.hpp>
-
-namespace boost { namespace fusion { namespace advance_detail
-{
- // Default advance implementation, perform next(i)
- // or prior(i) N times.
-
- template <typename Iterator, int N>
- struct forward;
-
- template <typename Iterator, int N>
- struct next_forward
- {
- typedef typename
- forward<
- typename result_of::next<Iterator>::type
- , N-1
- >::type
- type;
- };
-
- template <typename Iterator, int N>
- struct forward
- {
- typedef typename
- mpl::eval_if_c<
- (N == 0)
- , mpl::identity<Iterator>
- , next_forward<Iterator, N>
- >::type
- type;
-
- static type const&
- call(type const& i)
- {
- return i;
- }
-
- template <typename I>
- static type
- call(I const& i)
- {
- return call(fusion::next(i));
- }
- };
-
- template <typename Iterator, int N>
- struct backward;
-
- template <typename Iterator, int N>
- struct next_backward
- {
- typedef typename
- backward<
- typename result_of::prior<Iterator>::type
- , N+1
- >::type
- type;
- };
-
- template <typename Iterator, int N>
- struct backward
- {
- typedef typename
- mpl::eval_if_c<
- (N == 0)
- , mpl::identity<Iterator>
- , next_backward<Iterator, N>
- >::type
- type;
-
- static type const&
- call(type const& i)
- {
- return i;
- }
-
- template <typename I>
- static type
- call(I const& i)
- {
- return call(fusion::prior(i));
- }
- };
-
-}}}
-
-#endif
diff --git a/boost/fusion/iterator/detail/distance.hpp b/boost/fusion/iterator/detail/distance.hpp
deleted file mode 100644
index 3994cb3..0000000
--- a/boost/fusion/iterator/detail/distance.hpp
+++ /dev/null
@@ -1,64 +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 <boost/mpl/int.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/next.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/fusion/iterator/next.hpp>
-#include <boost/fusion/iterator/equal_to.hpp>
-
-namespace boost { namespace fusion { namespace distance_detail
-{
- // Default distance implementation, linear
- // search for the Last iterator.
-
- template <typename First, typename Last>
- struct linear_distance;
-
- template <typename First, typename Last>
- struct next_distance
- {
- typedef typename
- mpl::next<
- typename linear_distance<
- typename result_of::next<First>::type
- , Last
- >::type
- >::type
- type;
- };
-
- template <typename First, typename Last>
- struct linear_distance
- : mpl::eval_if<
- result_of::equal_to<First, Last>
- , mpl::identity<mpl::int_<0> >
- , next_distance<First, Last>
- >::type
- {
- typedef typename
- mpl::eval_if<
- result_of::equal_to<First, Last>
- , mpl::identity<mpl::int_<0> >
- , next_distance<First, Last>
- >::type
- type;
-
- static type
- call(First const&, Last const&)
- {
- return type();
- }
- };
-
-}}}
-
-#endif
diff --git a/boost/fusion/iterator/detail/segment_sequence.hpp b/boost/fusion/iterator/detail/segment_sequence.hpp
deleted file mode 100644
index c372a83..0000000
--- a/boost/fusion/iterator/detail/segment_sequence.hpp
+++ /dev/null
@@ -1,71 +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_SEGMENTED_SEQUENCE_HPP_INCLUDED)
-#define BOOST_FUSION_SEGMENTED_SEQUENCE_HPP_INCLUDED
-
-#include <boost/mpl/bool.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/fusion/support/tag_of.hpp>
-#include <boost/fusion/sequence/intrinsic_fwd.hpp>
-
-namespace boost { namespace fusion { namespace detail
-{
- struct segment_sequence_tag {};
-
- // Here, Sequence is a sequence of ranges (which may or may not be
- // segmented).
- template<typename Sequence>
- struct segment_sequence
- : sequence_base<segment_sequence<Sequence> >
- {
- typedef fusion_sequence_tag tag;
- typedef segment_sequence_tag fusion_tag;
- typedef typename Sequence::is_view is_view;
- typedef typename Sequence::category category;
- typedef Sequence sequence_type;
- sequence_type sequence;
-
- explicit segment_sequence(Sequence const & seq)
- : sequence(seq)
- {}
- };
-}
-
-namespace extension
-{
- template<typename Tag>
- struct is_segmented_impl;
-
- template<>
- struct is_segmented_impl<detail::segment_sequence_tag>
- {
- template<typename Sequence>
- struct apply
- : mpl::true_
- {};
- };
-
- template<typename Tag>
- struct segments_impl;
-
- template<>
- struct segments_impl<detail::segment_sequence_tag>
- {
- template<typename Sequence>
- struct apply
- {
- typedef typename Sequence::sequence_type type;
-
- static type call(Sequence & seq)
- {
- return seq.sequence;
- }
- };
- };
-}}}
-
-#endif
diff --git a/boost/fusion/iterator/detail/segmented_equal_to.hpp b/boost/fusion/iterator/detail/segmented_equal_to.hpp
deleted file mode 100644
index 14982b8..0000000
--- a/boost/fusion/iterator/detail/segmented_equal_to.hpp
+++ /dev/null
@@ -1,41 +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_SEGMENTED_ITERATOR_EQUAL_TO_HPP_INCLUDED)
-#define BOOST_FUSION_SEGMENTED_ITERATOR_EQUAL_TO_HPP_INCLUDED
-
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/fusion/iterator/equal_to.hpp>
-
-namespace boost { namespace fusion
-{
- struct nil_;
-
- namespace detail
- {
- template <typename Stack1, typename Stack2>
- struct segmented_equal_to
- : mpl::and_<
- segmented_equal_to<
- typename Stack1::cdr_type,
- typename Stack2::cdr_type
- >
- , result_of::equal_to<
- typename Stack1::car_type::begin_type,
- typename Stack2::car_type::begin_type
- >
- >
- {};
-
- template <>
- struct segmented_equal_to<fusion::nil_, fusion::nil_>
- : mpl::true_
- {};
- }
-}}
-
-#endif
diff --git a/boost/fusion/iterator/detail/segmented_iterator.hpp b/boost/fusion/iterator/detail/segmented_iterator.hpp
deleted file mode 100644
index a5cfb45..0000000
--- a/boost/fusion/iterator/detail/segmented_iterator.hpp
+++ /dev/null
@@ -1,144 +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_SEGMENTED_ITERATOR_SEGMENTED_ITERATOR_HPP_INCLUDED)
-#define BOOST_FUSION_SEGMENTED_ITERATOR_SEGMENTED_ITERATOR_HPP_INCLUDED
-
-#include <boost/mpl/bool.hpp>
-#include <boost/fusion/sequence/intrinsic_fwd.hpp>
-#include <boost/fusion/iterator/iterator_facade.hpp>
-#include <boost/fusion/iterator/deref.hpp>
-#include <boost/fusion/iterator/deref_data.hpp>
-#include <boost/fusion/iterator/key_of.hpp>
-#include <boost/fusion/iterator/value_of.hpp>
-#include <boost/fusion/iterator/value_of_data.hpp>
-#include <boost/fusion/iterator/detail/segmented_equal_to.hpp>
-
-namespace boost { namespace fusion
-{
- struct nil_;
-
- namespace detail
- {
- template <typename Stack>
- struct segmented_next_impl;
- }
-
- // A segmented iterator wraps a "context", which is a cons list
- // of ranges, the frontmost is range over values and the rest
- // are ranges over internal segments.
- template <typename Context>
- struct segmented_iterator
- : iterator_facade<segmented_iterator<Context>, forward_traversal_tag>
- {
- explicit segmented_iterator(Context const& ctx)
- : context(ctx)
- {}
-
- //auto deref(it)
- //{
- // return deref(begin(car(it.context)))
- //}
- template <typename It>
- struct deref
- {
- typedef
- typename result_of::deref<
- typename It::context_type::car_type::begin_type
- >::type
- type;
-
- static type call(It const& it)
- {
- return *it.context.car.first;
- }
- };
-
- //auto deref_data(it)
- //{
- // return deref_data(begin(car(it.context)))
- //}
- template <typename It>
- struct deref_data
- {
- typedef
- typename result_of::deref_data<
- typename It::context_type::car_type::begin_type
- >::type
- type;
-
- static type call(It const& it)
- {
- return fusion::deref_data(it.context.car.first);
- }
- };
-
- //auto key_of(it)
- //{
- // return key_of(begin(car(it.context)))
- //}
- template <typename It>
- struct key_of
- : result_of::key_of<typename It::context_type::car_type::begin_type>
- {};
-
- //auto value_of(it)
- //{
- // return value_of(begin(car(it.context)))
- //}
- template <typename It>
- struct value_of
- : result_of::value_of<typename It::context_type::car_type::begin_type>
- {};
-
- //auto value_of_data(it)
- //{
- // return value_of_data(begin(car(it.context)))
- //}
- template <typename It>
- struct value_of_data
- : result_of::value_of_data<typename It::context_type::car_type::begin_type>
- {};
-
- // Compare all the segment iterators in each stack, starting with
- // the bottom-most.
- template <
- typename It1
- , typename It2
- , int Size1 = It1::context_type::size::value
- , int Size2 = It2::context_type::size::value
- >
- struct equal_to
- : mpl::false_
- {};
-
- template <typename It1, typename It2, int Size>
- struct equal_to<It1, It2, Size, Size>
- : detail::segmented_equal_to<
- typename It1::context_type
- , typename It2::context_type
- >
- {};
-
- template <typename It>
- struct next
- {
- typedef detail::segmented_next_impl<typename It::context_type> impl;
- typedef segmented_iterator<typename impl::type> type;
-
- static type call(It const& it)
- {
- return type(impl::call(it.context));
- }
- };
-
- typedef Context context_type;
- context_type context;
- };
-
-}}
-
-#endif
diff --git a/boost/fusion/iterator/detail/segmented_next_impl.hpp b/boost/fusion/iterator/detail/segmented_next_impl.hpp
deleted file mode 100644
index 0c5f9f5..0000000
--- a/boost/fusion/iterator/detail/segmented_next_impl.hpp
+++ /dev/null
@@ -1,254 +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_SEGMENTED_ITERATOR_NEXT_IMPL_HPP_INCLUDED)
-#define BOOST_FUSION_SEGMENTED_ITERATOR_NEXT_IMPL_HPP_INCLUDED
-
-#include <boost/type_traits/add_const.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/fusion/iterator/equal_to.hpp>
-#include <boost/fusion/container/list/cons_fwd.hpp>
-#include <boost/fusion/iterator/next.hpp>
-#include <boost/fusion/iterator/deref.hpp>
-
-namespace boost { namespace fusion
-{
- template <typename First, typename Second>
- struct iterator_range;
-
- template <typename Context>
- struct segmented_iterator;
-
- namespace detail
- {
- template <typename Sequence, typename Stack>
- struct segmented_begin_impl;
-
- //bool is_invalid(stack)
- //{
- // return empty(car(stack));
- //}
-
- template <typename Stack>
- struct is_invalid
- : result_of::equal_to<
- typename Stack::car_type::begin_type,
- typename Stack::car_type::end_type
- >
- {};
-
- ////Advance the first iterator in the seq at the
- ////top of a stack of iterator ranges. Return the
- ////new stack.
- //auto pop_front_car(stack)
- //{
- // return cons(iterator_range(next(begin(car(stack))), end(car(stack))), cdr(stack));
- //}
-
- template <typename Stack>
- struct pop_front_car
- {
- typedef
- iterator_range<
- typename result_of::next<
- typename Stack::car_type::begin_type
- >::type
- , typename Stack::car_type::end_type
- >
- car_type;
-
- typedef
- cons<car_type, typename Stack::cdr_type>
- type;
-
- static type call(Stack const & stack)
- {
- return type(
- car_type(fusion::next(stack.car.first), stack.car.last),
- stack.cdr);
- }
- };
-
- template <
- typename Stack,
- typename Next = typename pop_front_car<Stack>::type,
- bool IsInvalid = is_invalid<Next>::value,
- int StackSize = Stack::size::value>
- struct segmented_next_impl_recurse;
-
- // Handle the case where the top of the stack has no usable
- //auto segmented_next_impl_recurse3(stack)
- //{
- // if (size(stack) == 1)
- // return cons(iterator_range(end(car(stack)), end(car(stack))), nil_);
- // else
- // return segmented_next_impl_recurse(stack.cdr);
- //}
-
- template <
- typename Stack,
- int StackSize = Stack::size::value>
- struct segmented_next_impl_recurse3
- {
- typedef segmented_next_impl_recurse<typename Stack::cdr_type> impl;
- typedef typename impl::type type;
-
- static type call(Stack const & stack)
- {
- return impl::call(stack.cdr);
- }
- };
-
- template <typename Stack>
- struct segmented_next_impl_recurse3<Stack, 1>
- {
- typedef typename Stack::car_type::end_type end_type;
- typedef iterator_range<end_type, end_type> range_type;
- typedef cons<range_type> type;
-
- static type call(Stack const & stack)
- {
- return type(range_type(stack.car.last, stack.car.last));
- }
- };
-
- //auto segmented_next_impl_recurse2(stack)
- //{
- // auto res = segmented_begin_impl(front(car(stack)), stack);
- // if (is_invalid(res))
- // return segmented_next_impl_recurse3(stack);
- // else
- // return res;
- //}
-
- template <
- typename Stack,
- typename Sequence =
- typename remove_reference<
- typename add_const<
- typename result_of::deref<
- typename Stack::car_type::begin_type
- >::type
- >::type
- >::type,
- typename Result =
- typename segmented_begin_impl<Sequence, Stack>::type,
- bool IsInvalid =
- is_invalid<Result>::value>
- struct segmented_next_impl_recurse2
- {
- typedef segmented_next_impl_recurse3<Stack> impl;
- typedef typename impl::type type;
-
- static type call(Stack const & stack)
- {
- return impl::call(stack);
- }
- };
-
- template <typename Stack, typename Sequence, typename Result>
- struct segmented_next_impl_recurse2<Stack, Sequence, Result, false>
- {
- typedef Result type;
-
- static type call(Stack const & stack)
- {
- return segmented_begin_impl<Sequence, Stack>::call(*stack.car.first, stack);
- }
- };
-
- //auto segmented_next_impl_recurse(stack)
- //{
- // auto next = pop_front_car(stack);
- // if (is_invalid(next))
- // if (1 == size(stack))
- // return next;
- // else
- // return segmented_next_impl_recurse(cdr(stack));
- // else
- // return segmented_next_impl_recurse2(next)
- //}
-
- template <typename Stack, typename Next, bool IsInvalid, int StackSize>
- struct segmented_next_impl_recurse
- {
- typedef
- typename segmented_next_impl_recurse<typename Stack::cdr_type>::type
- type;
-
- static type call(Stack const& stack)
- {
- return segmented_next_impl_recurse<typename Stack::cdr_type>::call(stack.cdr);
- }
- };
-
- template <typename Stack, typename Next>
- struct segmented_next_impl_recurse<Stack, Next, true, 1>
- {
- typedef Next type;
-
- static type call(Stack const & stack)
- {
- return pop_front_car<Stack>::call(stack);
- }
- };
-
- template <typename Stack, typename Next, int StackSize>
- struct segmented_next_impl_recurse<Stack, Next, false, StackSize>
- {
- typedef segmented_next_impl_recurse2<Next> impl;
- typedef typename impl::type type;
-
- static type call(Stack const & stack)
- {
- return impl::call(pop_front_car<Stack>::call(stack));
- }
- };
-
- //auto segmented_next_impl(stack)
- //{
- // // car(stack) is a seq of values, not a seq of segments
- // auto next = pop_front_car(stack);
- // if (is_invalid(next))
- // return segmented_next_impl_recurse(cdr(next));
- // else
- // return next;
- //}
-
- template <
- typename Stack,
- typename Next = typename pop_front_car<Stack>::type,
- bool IsInvalid = is_invalid<Next>::value>
- struct segmented_next_impl_aux
- {
- typedef segmented_next_impl_recurse<typename Stack::cdr_type> impl;
- typedef typename impl::type type;
-
- static type call(Stack const & stack)
- {
- return impl::call(stack.cdr);
- }
- };
-
- template <typename Stack, typename Next>
- struct segmented_next_impl_aux<Stack, Next, false>
- {
- typedef Next type;
-
- static type call(Stack const & stack)
- {
- return pop_front_car<Stack>::call(stack);
- }
- };
-
- template <typename Stack>
- struct segmented_next_impl
- : segmented_next_impl_aux<Stack>
- {};
- }
-}}
-
-#endif
diff --git a/boost/fusion/iterator/distance.hpp b/boost/fusion/iterator/distance.hpp
deleted file mode 100644
index 74d2d3e..0000000
--- a/boost/fusion/iterator/distance.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_DISTANCE_09172005_0721)
-#define FUSION_DISTANCE_09172005_0721
-
-#include <boost/fusion/iterator/detail/distance.hpp>
-#include <boost/fusion/support/category_of.hpp>
-
-#include <boost/mpl/int.hpp>
-#include <boost/mpl/assert.hpp>
-#include <boost/type_traits/is_same.hpp>
-
-#include <boost/fusion/support/tag_of.hpp>
-
-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 <typename Tag>
- struct distance_impl
- {
- // default implementation
- template <typename First, typename Last>
- struct apply : distance_detail::linear_distance<First, Last>
- {};
- };
-
- template <>
- struct distance_impl<iterator_facade_tag>
- {
- template <typename First, typename Last>
- struct apply : First::template distance<First, Last> {};
- };
-
- template <>
- struct distance_impl<boost_array_iterator_tag>;
-
- template <>
- struct distance_impl<mpl_iterator_tag>;
-
- template <>
- struct distance_impl<std_pair_iterator_tag>;
- }
-
- namespace result_of
- {
- template <typename First, typename Last>
- struct distance
- : extension::distance_impl<typename detail::tag_of<First>::type>::
- template apply<First, Last>
- {
- typedef typename extension::distance_impl<typename detail::tag_of<First>::type>::
- template apply<First, Last>::type distance_application;
- BOOST_STATIC_CONSTANT(int, value = distance_application::value);
- };
- }
-
- template <typename First, typename Last>
- inline typename result_of::distance<First, Last>::type
- distance(First const& a, Last const& b)
- {
- return result_of::distance<First, Last>::call(a,b);
- }
-}}
-
-#endif
diff --git a/boost/fusion/iterator/equal_to.hpp b/boost/fusion/iterator/equal_to.hpp
deleted file mode 100644
index 3347837..0000000
--- a/boost/fusion/iterator/equal_to.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_EQUAL_TO_05052005_1208)
-#define FUSION_EQUAL_TO_05052005_1208
-
-#include <boost/type_traits/is_same.hpp>
-#include <boost/fusion/support/tag_of.hpp>
-#include <boost/type_traits/add_const.hpp>
-#include <boost/fusion/support/is_iterator.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/utility/enable_if.hpp>
-
-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 <typename Tag>
- struct equal_to_impl
- {
- // default implementation
- template <typename I1, typename I2>
- struct apply
- : is_same<typename add_const<I1>::type, typename add_const<I2>::type>
- {};
- };
-
- template <>
- struct equal_to_impl<iterator_facade_tag>
- {
- template <typename It1, typename It2, typename Tag1, typename Tag2>
- struct dispatch : mpl::false_ {};
-
- template <typename It1, typename It2, typename Tag>
- struct dispatch<It1, It2, Tag, Tag> // same tag
- : It1::template equal_to<It1, It2>
- {};
-
- template<typename It1, typename It2>
- struct apply : dispatch<It1, It2,
- typename It1::fusion_tag, typename It2::fusion_tag>
- {};
- };
-
- template <>
- struct equal_to_impl<boost_array_iterator_tag>;
-
- template <>
- struct equal_to_impl<mpl_iterator_tag>;
-
- template <>
- struct equal_to_impl<std_pair_iterator_tag>;
- }
-
- namespace result_of
- {
- template <typename I1, typename I2>
- struct equal_to
- : extension::equal_to_impl<typename detail::tag_of<I1>::type>::
- template apply<I1, I2>
- {};
- }
-
- namespace iterator_operators
- {
- template <typename Iter1, typename Iter2>
- inline typename
- boost::enable_if<
- mpl::and_<is_fusion_iterator<Iter1>, is_fusion_iterator<Iter2> >
- , bool
- >::type
- operator==(Iter1 const&, Iter2 const&)
- {
- return result_of::equal_to<Iter1, Iter2>::value;
- }
-
- template <typename Iter1, typename Iter2>
- inline typename
- boost::enable_if<
- mpl::and_<is_fusion_iterator<Iter1>, is_fusion_iterator<Iter2> >
- , bool
- >::type
- operator!=(Iter1 const&, Iter2 const&)
- {
- return !result_of::equal_to<Iter1, Iter2>::value;
- }
- }
-
- using iterator_operators::operator==;
- using iterator_operators::operator!=;
-}}
-
-#endif
-
diff --git a/boost/fusion/iterator/iterator_facade.hpp b/boost/fusion/iterator/iterator_facade.hpp
deleted file mode 100644
index abd6607..0000000
--- a/boost/fusion/iterator/iterator_facade.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_ITERATOR_FACADE_09252006_1011)
-#define FUSION_ITERATOR_FACADE_09252006_1011
-
-#include <boost/fusion/support/iterator_base.hpp>
-#include <boost/fusion/iterator/detail/advance.hpp>
-#include <boost/fusion/iterator/detail/distance.hpp>
-#include <boost/fusion/support/category_of.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/mpl/assert.hpp>
-
-namespace boost { namespace fusion
-{
- struct iterator_facade_tag;
-
- template <typename Derived, typename Category>
- struct iterator_facade : iterator_base<Derived>
- {
- typedef iterator_facade_tag fusion_tag;
- typedef Derived derived_type;
- typedef Category category;
-
- // default implementation
- template <typename I1, typename I2>
- struct equal_to // default implementation
- : is_same<
- typename I1::derived_type
- , typename I2::derived_type
- >
- {};
-
- // default implementation
- template <typename Iterator, typename N>
- struct advance :
- mpl::if_c<
- (N::value > 0)
- , advance_detail::forward<Iterator, N::value>
- , advance_detail::backward<Iterator, N::value>
- >::type
- {
- BOOST_MPL_ASSERT_NOT((traits::is_random_access<Iterator>));
- };
-
- // default implementation
- template <typename First, typename Last>
- struct distance :
- distance_detail::linear_distance<First, Last>
- {};
- };
-}}
-
-#endif
diff --git a/boost/fusion/iterator/key_of.hpp b/boost/fusion/iterator/key_of.hpp
deleted file mode 100644
index 64c2f86..0000000
--- a/boost/fusion/iterator/key_of.hpp
+++ /dev/null
@@ -1,42 +0,0 @@
-/*=============================================================================
- Copyright (c) 2009 Christopher Schmidt
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_FUSION_ITERATOR_KEY_OF_HPP
-#define BOOST_FUSION_ITERATOR_KEY_OF_HPP
-
-#include <boost/fusion/support/tag_of.hpp>
-
-namespace boost { namespace fusion
-{
- struct iterator_facade_tag;
-
- namespace extension
- {
- template <typename>
- struct key_of_impl;
-
- template <>
- struct key_of_impl<iterator_facade_tag>
- {
- template <typename It>
- struct apply
- : It::template key_of<It>
- {};
- };
- }
-
- namespace result_of
- {
- template <typename It>
- struct key_of
- : extension::key_of_impl<typename traits::tag_of<It>::type>::
- template apply<It>
- {};
- }
-}}
-
-#endif
diff --git a/boost/fusion/iterator/mpl/convert_iterator.hpp b/boost/fusion/iterator/mpl/convert_iterator.hpp
deleted file mode 100644
index dd52d4c..0000000
--- a/boost/fusion/iterator/mpl/convert_iterator.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_CONVERT_ITERATOR_05062005_1218)
-#define FUSION_CONVERT_ITERATOR_05062005_1218
-
-#include <boost/fusion/support/is_iterator.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/bool.hpp>
-
-namespace boost { namespace fusion
-{
- template <typename Iterator>
- struct mpl_iterator; // forward declaration
-
- // Test T. If it is a fusion iterator, return a reference to it.
- // else, assume it is an mpl iterator.
-
- template <typename T>
- struct convert_iterator
- {
- typedef typename
- mpl::if_<
- is_fusion_iterator<T>
- , T
- , mpl_iterator<T>
- >::type
- type;
-
- static T const&
- call(T const& x, mpl::true_)
- {
- return x;
- }
-
- static mpl_iterator<T>
- call(T const& /*x*/, mpl::false_)
- {
- return mpl_iterator<T>();
- }
-
- static typename
- mpl::if_<
- is_fusion_iterator<T>
- , T const&
- , mpl_iterator<T>
- >::type
- call(T const& x)
- {
- return call(x, is_fusion_iterator<T>());
- }
- };
-}}
-
-#endif
diff --git a/boost/fusion/iterator/mpl/fusion_iterator.hpp b/boost/fusion/iterator/mpl/fusion_iterator.hpp
deleted file mode 100644
index 82889e0..0000000
--- a/boost/fusion/iterator/mpl/fusion_iterator.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_FUSION_ITERATOR_10012005_1551)
-#define FUSION_FUSION_ITERATOR_10012005_1551
-
-#include <boost/fusion/iterator/value_of.hpp>
-#include <boost/fusion/iterator/next.hpp>
-#include <boost/fusion/iterator/prior.hpp>
-#include <boost/fusion/iterator/advance.hpp>
-#include <boost/fusion/iterator/distance.hpp>
-#include <boost/fusion/support/category_of.hpp>
-#include <boost/mpl/next_prior.hpp>
-#include <boost/mpl/advance_fwd.hpp>
-#include <boost/mpl/distance_fwd.hpp>
-#include <boost/mpl/iterator_tags.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/type_traits/is_base_of.hpp>
-
-namespace boost { namespace fusion { namespace detail
-{
-
-template<class Category>
-struct to_mpl_category {
- typedef typename mpl::eval_if<
- is_base_of<random_access_traversal_tag, Category>,
- mpl::random_access_iterator_tag,
- mpl::eval_if<
- is_base_of<bidirectional_traversal_tag, Category>,
- mpl::bidirectional_iterator_tag,
- mpl::forward_iterator_tag
- >
- >::type type;
-};
-
-}}}
-
-namespace boost { namespace mpl
-{
- template <typename Iterator>
- struct fusion_iterator
- {
- typedef typename fusion::result_of::value_of<Iterator>::type type;
- typedef typename fusion::traits::category_of<Iterator>::type fusion_category;
- typedef typename fusion::detail::to_mpl_category<fusion_category>::type category;
- typedef Iterator iterator;
- };
-
- template <typename Iterator>
- struct next<fusion_iterator<Iterator> >
- {
- typedef fusion_iterator<typename fusion::result_of::next<Iterator>::type> type;
- };
-
- template <typename Iterator>
- struct prior<fusion_iterator<Iterator> >
- {
- typedef fusion_iterator<typename fusion::result_of::prior<Iterator>::type> type;
- };
-
- template <typename Iterator, typename N>
- struct advance<fusion_iterator<Iterator>, N>
- {
- typedef fusion_iterator<typename fusion::result_of::advance<Iterator, N>::type> type;
- };
-
- template <typename First, typename Last>
- struct distance<fusion_iterator<First>, fusion_iterator<Last> >
- : fusion::result_of::distance<First, Last>
- {};
-
-}}
-
-#endif
-
-
diff --git a/boost/fusion/iterator/next.hpp b/boost/fusion/iterator/next.hpp
deleted file mode 100644
index 5cc9c80..0000000
--- a/boost/fusion/iterator/next.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_NEXT_05042005_1101)
-#define FUSION_NEXT_05042005_1101
-
-#include <boost/fusion/support/tag_of.hpp>
-
-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 <typename Tag>
- struct next_impl
- {
- template <typename Iterator>
- struct apply {};
- };
-
- template <>
- struct next_impl<iterator_facade_tag>
- {
- template <typename Iterator>
- struct apply : Iterator::template next<Iterator> {};
- };
-
- template <>
- struct next_impl<boost_array_iterator_tag>;
-
- template <>
- struct next_impl<mpl_iterator_tag>;
-
- template <>
- struct next_impl<std_pair_iterator_tag>;
- }
-
- namespace result_of
- {
- template <typename Iterator>
- struct next
- : extension::next_impl<typename detail::tag_of<Iterator>::type>::
- template apply<Iterator>
- {};
- }
-
- template <typename Iterator>
- typename result_of::next<Iterator>::type const
- next(Iterator const& i)
- {
- return result_of::next<Iterator>::call(i);
- }
-}}
-
-#endif
diff --git a/boost/fusion/iterator/prior.hpp b/boost/fusion/iterator/prior.hpp
deleted file mode 100644
index 818851b..0000000
--- a/boost/fusion/iterator/prior.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_PRIOR_05042005_1144)
-#define FUSION_PRIOR_05042005_1144
-
-#include <boost/fusion/support/tag_of.hpp>
-
-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 <typename Tag>
- struct prior_impl
- {
- template <typename Iterator>
- struct apply {};
- };
-
- template <>
- struct prior_impl<iterator_facade_tag>
- {
- template <typename Iterator>
- struct apply : Iterator::template prior<Iterator> {};
- };
-
- template <>
- struct prior_impl<boost_array_iterator_tag>;
-
- template <>
- struct prior_impl<mpl_iterator_tag>;
-
- template <>
- struct prior_impl<std_pair_iterator_tag>;
- }
-
- namespace result_of
- {
- template <typename Iterator>
- struct prior
- : extension::prior_impl<typename detail::tag_of<Iterator>::type>::
- template apply<Iterator>
- {};
- }
-
- template <typename Iterator>
- typename result_of::prior<Iterator>::type const
- prior(Iterator const& i)
- {
- return result_of::prior<Iterator>::call(i);
- }
-}}
-
-#endif
diff --git a/boost/fusion/iterator/segmented_iterator.hpp b/boost/fusion/iterator/segmented_iterator.hpp
deleted file mode 100644
index 21095e7..0000000
--- a/boost/fusion/iterator/segmented_iterator.hpp
+++ /dev/null
@@ -1,15 +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_SEGMENTED_ITERATOR_HPP_INCLUDED)
-#define BOOST_FUSION_SEGMENTED_ITERATOR_HPP_INCLUDED
-
-#include <boost/fusion/iterator/detail/segmented_iterator.hpp>
-#include <boost/fusion/iterator/detail/segmented_next_impl.hpp>
-#include <boost/fusion/sequence/intrinsic/begin.hpp>
-#include <boost/fusion/container/list/cons.hpp>
-
-#endif
diff --git a/boost/fusion/iterator/value_of.hpp b/boost/fusion/iterator/value_of.hpp
deleted file mode 100644
index fe0cd56..0000000
--- a/boost/fusion/iterator/value_of.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_VALUE_OF_05052005_1126)
-#define FUSION_VALUE_OF_05052005_1126
-
-#include <boost/fusion/support/iterator_base.hpp>
-#include <boost/fusion/support/tag_of.hpp>
-
-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 <typename Tag>
- struct value_of_impl
- {
- template <typename Iterator>
- struct apply {};
- };
-
- template <>
- struct value_of_impl<iterator_facade_tag>
- {
- template <typename Iterator>
- struct apply : Iterator::template value_of<Iterator> {};
- };
-
- template <>
- struct value_of_impl<boost_array_iterator_tag>;
-
- template <>
- struct value_of_impl<mpl_iterator_tag>;
-
- template <>
- struct value_of_impl<std_pair_iterator_tag>;
- }
-
- namespace result_of
- {
- template <typename Iterator>
- struct value_of
- : extension::value_of_impl<typename detail::tag_of<Iterator>::type>::
- template apply<Iterator>
- {};
- }
-}}
-
-#endif
diff --git a/boost/fusion/iterator/value_of_data.hpp b/boost/fusion/iterator/value_of_data.hpp
deleted file mode 100644
index 4a8316d..0000000
--- a/boost/fusion/iterator/value_of_data.hpp
+++ /dev/null
@@ -1,42 +0,0 @@
-/*=============================================================================
- Copyright (c) 2009 Christopher Schmidt
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_FUSION_ITERATOR_VALUE_OF_DATA_HPP
-#define BOOST_FUSION_ITERATOR_VALUE_OF_DATA_HPP
-
-#include <boost/fusion/support/tag_of.hpp>
-
-namespace boost { namespace fusion
-{
- struct iterator_facade_tag;
-
- namespace extension
- {
- template <typename>
- struct value_of_data_impl;
-
- template <>
- struct value_of_data_impl<iterator_facade_tag>
- {
- template <typename It>
- struct apply
- : It::template value_of_data<It>
- {};
- };
- }
-
- namespace result_of
- {
- template <typename It>
- struct value_of_data
- : extension::value_of_data_impl<typename traits::tag_of<It>::type>::
- template apply<It>
- {};
- }
-}}
-
-#endif
diff --git a/boost/fusion/mpl/begin.hpp b/boost/fusion/mpl/begin.hpp
deleted file mode 100644
index c9f92f8..0000000
--- a/boost/fusion/mpl/begin.hpp
+++ /dev/null
@@ -1,31 +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_10022005_1620)
-#define FUSION_BEGIN_10022005_1620
-
-#include <boost/mpl/begin_end.hpp>
-#include <boost/fusion/sequence/intrinsic/begin.hpp>
-#include <boost/fusion/adapted/mpl/detail/begin_impl.hpp>
-#include <boost/fusion/iterator/mpl/fusion_iterator.hpp>
-
-namespace boost { namespace mpl
-{
- template <typename Tag>
- struct begin_impl;
-
- template <>
- struct begin_impl<fusion::fusion_sequence_tag>
- {
- template <typename Sequence>
- struct apply
- {
- typedef fusion_iterator<typename fusion::result_of::begin<Sequence>::type> type;
- };
- };
-}}
-
-#endif
diff --git a/boost/fusion/mpl/end.hpp b/boost/fusion/mpl/end.hpp
deleted file mode 100644
index 3de5e18..0000000
--- a/boost/fusion/mpl/end.hpp
+++ /dev/null
@@ -1,31 +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_10022005_1619)
-#define FUSION_END_10022005_1619
-
-#include <boost/mpl/begin_end.hpp>
-#include <boost/fusion/sequence/intrinsic/end.hpp>
-#include <boost/fusion/adapted/mpl/detail/end_impl.hpp>
-#include <boost/fusion/iterator/mpl/fusion_iterator.hpp>
-
-namespace boost { namespace mpl
-{
- template <typename Tag>
- struct end_impl;
-
- template <>
- struct end_impl<fusion::fusion_sequence_tag>
- {
- template <typename Sequence>
- struct apply
- {
- typedef fusion_iterator<typename fusion::result_of::end<Sequence>::type> type;
- };
- };
-}}
-
-#endif
diff --git a/boost/fusion/sequence/comparison.hpp b/boost/fusion/sequence/comparison.hpp
deleted file mode 100644
index 52fd138..0000000
--- a/boost/fusion/sequence/comparison.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-#if !defined(FUSION_SEQUENCE_COMPARISON_10022005_0615)
-#define FUSION_SEQUENCE_COMPARISON_10022005_0615
-
-#include <boost/fusion/sequence/comparison/equal_to.hpp>
-#include <boost/fusion/sequence/comparison/greater.hpp>
-#include <boost/fusion/sequence/comparison/greater_equal.hpp>
-#include <boost/fusion/sequence/comparison/less.hpp>
-#include <boost/fusion/sequence/comparison/less_equal.hpp>
-#include <boost/fusion/sequence/comparison/not_equal_to.hpp>
-
-#endif
diff --git a/boost/fusion/sequence/comparison/detail/equal_to.hpp b/boost/fusion/sequence/comparison/detail/equal_to.hpp
deleted file mode 100644
index 56cfe1b..0000000
--- a/boost/fusion/sequence/comparison/detail/equal_to.hpp
+++ /dev/null
@@ -1,61 +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 <boost/mpl/bool.hpp>
-#include <boost/fusion/iterator/deref.hpp>
-#include <boost/fusion/iterator/next.hpp>
-#include <boost/fusion/iterator/equal_to.hpp>
-#include <boost/fusion/support/as_const.hpp>
-
-namespace boost { namespace fusion { namespace detail
-{
- template <typename Seq1, typename Seq2, bool same_size>
- struct sequence_equal_to
- {
- typedef typename result_of::end<Seq1>::type end1_type;
- typedef typename result_of::end<Seq2>::type end2_type;
-
- template <typename I1, typename I2>
- static bool
- call(I1 const&, I2 const&, mpl::true_)
- {
- return true;
- }
-
- template <typename I1, typename I2>
- 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 <typename I1, typename I2>
- static bool
- call(I1 const& a, I2 const& b)
- {
- typename result_of::equal_to<I1, end1_type>::type eq;
- return call(a, b, eq);
- }
- };
-
- template <typename Seq1, typename Seq2>
- struct sequence_equal_to<Seq1, Seq2, false>
- {
- template <typename I1, typename I2>
- static bool
- call(I1 const& /*a*/, I2 const& /*b*/)
- {
- return false;
- }
- };
-}}}
-
-#endif
diff --git a/boost/fusion/sequence/comparison/detail/greater.hpp b/boost/fusion/sequence/comparison/detail/greater.hpp
deleted file mode 100644
index e612877..0000000
--- a/boost/fusion/sequence/comparison/detail/greater.hpp
+++ /dev/null
@@ -1,51 +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 <boost/mpl/bool.hpp>
-#include <boost/fusion/iterator/deref.hpp>
-#include <boost/fusion/iterator/next.hpp>
-#include <boost/fusion/iterator/equal_to.hpp>
-#include <boost/fusion/support/as_const.hpp>
-
-namespace boost { namespace fusion { namespace detail
-{
- template <typename Seq1, typename Seq2>
- struct sequence_greater
- {
- typedef typename result_of::end<Seq1>::type end1_type;
- typedef typename result_of::end<Seq2>::type end2_type;
-
- template <typename I1, typename I2>
- static bool
- call(I1 const&, I2 const&, mpl::true_)
- {
- return false;
- }
-
- template <typename I1, typename I2>
- 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 <typename I1, typename I2>
- static bool
- call(I1 const& a, I2 const& b)
- {
- typename result_of::equal_to<I1, end1_type>::type eq;
- return call(a, b, eq);
- }
- };
-}}}
-
-#endif
diff --git a/boost/fusion/sequence/comparison/detail/greater_equal.hpp b/boost/fusion/sequence/comparison/detail/greater_equal.hpp
deleted file mode 100644
index 6d91e27..0000000
--- a/boost/fusion/sequence/comparison/detail/greater_equal.hpp
+++ /dev/null
@@ -1,51 +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 <boost/mpl/bool.hpp>
-#include <boost/fusion/iterator/deref.hpp>
-#include <boost/fusion/iterator/next.hpp>
-#include <boost/fusion/iterator/equal_to.hpp>
-#include <boost/fusion/support/as_const.hpp>
-
-namespace boost { namespace fusion { namespace detail
-{
- template <typename Seq1, typename Seq2>
- struct sequence_greater_equal
- {
- typedef typename result_of::end<Seq1>::type end1_type;
- typedef typename result_of::end<Seq2>::type end2_type;
-
- template <typename I1, typename I2>
- static bool
- call(I1 const&, I2 const&, mpl::true_)
- {
- return true;
- }
-
- template <typename I1, typename I2>
- 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 <typename I1, typename I2>
- static bool
- call(I1 const& a, I2 const& b)
- {
- typename result_of::equal_to<I1, end1_type>::type eq;
- return call(a, b, eq);
- }
- };
-}}}
-
-#endif
diff --git a/boost/fusion/sequence/comparison/detail/less.hpp b/boost/fusion/sequence/comparison/detail/less.hpp
deleted file mode 100644
index 1342bb1..0000000
--- a/boost/fusion/sequence/comparison/detail/less.hpp
+++ /dev/null
@@ -1,51 +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 <boost/mpl/bool.hpp>
-#include <boost/fusion/iterator/deref.hpp>
-#include <boost/fusion/iterator/next.hpp>
-#include <boost/fusion/iterator/equal_to.hpp>
-#include <boost/fusion/support/as_const.hpp>
-
-namespace boost { namespace fusion { namespace detail
-{
- template <typename Seq1, typename Seq2>
- struct sequence_less
- {
- typedef typename result_of::end<Seq1>::type end1_type;
- typedef typename result_of::end<Seq2>::type end2_type;
-
- template <typename I1, typename I2>
- static bool
- call(I1 const&, I2 const&, mpl::true_)
- {
- return false;
- }
-
- template <typename I1, typename I2>
- 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 <typename I1, typename I2>
- static bool
- call(I1 const& a, I2 const& b)
- {
- typename result_of::equal_to<I1, end1_type>::type eq;
- return call(a, b, eq);
- }
- };
-}}}
-
-#endif
diff --git a/boost/fusion/sequence/comparison/detail/less_equal.hpp b/boost/fusion/sequence/comparison/detail/less_equal.hpp
deleted file mode 100644
index 5683849..0000000
--- a/boost/fusion/sequence/comparison/detail/less_equal.hpp
+++ /dev/null
@@ -1,51 +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 <boost/mpl/bool.hpp>
-#include <boost/fusion/iterator/deref.hpp>
-#include <boost/fusion/iterator/next.hpp>
-#include <boost/fusion/iterator/equal_to.hpp>
-#include <boost/fusion/support/as_const.hpp>
-
-namespace boost { namespace fusion { namespace detail
-{
- template <typename Seq1, typename Seq2>
- struct sequence_less_equal
- {
- typedef typename result_of::end<Seq1>::type end1_type;
- typedef typename result_of::end<Seq2>::type end2_type;
-
- template <typename I1, typename I2>
- static bool
- call(I1 const&, I2 const&, mpl::true_)
- {
- return true;
- }
-
- template <typename I1, typename I2>
- 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 <typename I1, typename I2>
- static bool
- call(I1 const& a, I2 const& b)
- {
- typename result_of::equal_to<I1, end1_type>::type eq;
- return call(a, b, eq);
- }
- };
-}}}
-
-#endif
diff --git a/boost/fusion/sequence/comparison/detail/not_equal_to.hpp b/boost/fusion/sequence/comparison/detail/not_equal_to.hpp
deleted file mode 100644
index 77c2350..0000000
--- a/boost/fusion/sequence/comparison/detail/not_equal_to.hpp
+++ /dev/null
@@ -1,61 +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 <boost/mpl/bool.hpp>
-#include <boost/fusion/iterator/deref.hpp>
-#include <boost/fusion/iterator/next.hpp>
-#include <boost/fusion/iterator/equal_to.hpp>
-#include <boost/fusion/support/as_const.hpp>
-
-namespace boost { namespace fusion { namespace detail
-{
- template <typename Seq1, typename Seq2, bool same_size>
- struct sequence_not_equal_to
- {
- typedef typename result_of::end<Seq1>::type end1_type;
- typedef typename result_of::end<Seq2>::type end2_type;
-
- template <typename I1, typename I2>
- static bool
- call(I1 const&, I2 const&, mpl::true_)
- {
- return false;
- }
-
- template <typename I1, typename I2>
- 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 <typename I1, typename I2>
- static bool
- call(I1 const& a, I2 const& b)
- {
- typename result_of::equal_to<I1, end1_type>::type eq;
- return call(a, b, eq);
- }
- };
-
- template <typename Seq1, typename Seq2>
- struct sequence_not_equal_to<Seq1, Seq2, false>
- {
- template <typename I1, typename I2>
- static bool
- call(I1 const& a, I2 const& b)
- {
- return true;
- }
- };
-}}}
-
-#endif
diff --git a/boost/fusion/sequence/comparison/enable_comparison.hpp b/boost/fusion/sequence/comparison/enable_comparison.hpp
deleted file mode 100644
index bd55ac3..0000000
--- a/boost/fusion/sequence/comparison/enable_comparison.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_ENABLE_COMPARISON_09232005_1958)
-#define FUSION_ENABLE_COMPARISON_09232005_1958
-
-#include <boost/mpl/or.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/mpl/equal_to.hpp>
-#include <boost/fusion/support/sequence_base.hpp>
-#include <boost/fusion/support/is_sequence.hpp>
-#include <boost/fusion/sequence/intrinsic/size.hpp>
-
-namespace boost { namespace fusion { namespace traits
-{
- template <typename Seq1, typename Seq2, typename Enable = void>
- struct enable_equality
- : mpl::or_<traits::is_sequence<Seq1>, traits::is_sequence<Seq2> >
- {};
-
- template <typename Seq1, typename Seq2, typename Enable = void>
- struct enable_comparison
- : mpl::and_<
- mpl::or_<traits::is_sequence<Seq1>, traits::is_sequence<Seq2> >
- , mpl::equal_to<result_of::size<Seq1>, result_of::size<Seq2> >
- >
- {};
-}}}
-
-#endif
diff --git a/boost/fusion/sequence/comparison/equal_to.hpp b/boost/fusion/sequence/comparison/equal_to.hpp
deleted file mode 100644
index 9c4e043..0000000
--- a/boost/fusion/sequence/comparison/equal_to.hpp
+++ /dev/null
@@ -1,56 +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 <boost/fusion/sequence/intrinsic/begin.hpp>
-#include <boost/fusion/sequence/intrinsic/end.hpp>
-#include <boost/fusion/sequence/intrinsic/size.hpp>
-#include <boost/fusion/sequence/comparison/detail/equal_to.hpp>
-#include <boost/fusion/sequence/comparison/enable_comparison.hpp>
-#include <boost/config.hpp>
-
-#if defined (BOOST_MSVC)
-# pragma warning(push)
-# pragma warning (disable: 4100) // unreferenced formal parameter
-#endif
-
-namespace boost { namespace fusion
-{
- template <typename Seq1, typename Seq2>
- inline bool
- equal_to(Seq1 const& a, Seq2 const& b)
- {
- return result_of::size<Seq1>::value == result_of::size<Seq2>::value
- && detail::sequence_equal_to<
- Seq1 const, Seq2 const
- , result_of::size<Seq1>::value == result_of::size<Seq2>::value>::
- call(fusion::begin(a), fusion::begin(b));
- }
-
- namespace operators
- {
- template <typename Seq1, typename Seq2>
- inline typename
- boost::enable_if<
- traits::enable_equality<Seq1, Seq2>
- , 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/boost/fusion/sequence/comparison/greater.hpp b/boost/fusion/sequence/comparison/greater.hpp
deleted file mode 100644
index 077138d..0000000
--- a/boost/fusion/sequence/comparison/greater.hpp
+++ /dev/null
@@ -1,52 +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 <boost/fusion/sequence/intrinsic/begin.hpp>
-#include <boost/fusion/sequence/intrinsic/end.hpp>
-#include <boost/fusion/sequence/intrinsic/size.hpp>
-#include <boost/fusion/sequence/comparison/enable_comparison.hpp>
-
-#if defined(FUSION_DIRECT_OPERATOR_USAGE)
-#include <boost/fusion/sequence/comparison/detail/greater.hpp>
-#else
-#include <boost/fusion/sequence/comparison/less.hpp>
-#endif
-
-namespace boost { namespace fusion
-{
- template <typename Seq1, typename Seq2>
- inline bool
- greater(Seq1 const& a, Seq2 const& b)
- {
-#if defined(FUSION_DIRECT_OPERATOR_USAGE)
- return detail::sequence_greater<Seq1 const, Seq2 const>::
- call(fusion::begin(a), fusion::begin(b));
-#else
- return (b < a);
-#endif
- }
-
- namespace operators
- {
- template <typename Seq1, typename Seq2>
- inline typename
- boost::enable_if<
- traits::enable_comparison<Seq1, Seq2>
- , bool
- >::type
- operator>(Seq1 const& a, Seq2 const& b)
- {
- return fusion::greater(a, b);
- }
- }
- using operators::operator>;
-}}
-
-#endif
diff --git a/boost/fusion/sequence/comparison/greater_equal.hpp b/boost/fusion/sequence/comparison/greater_equal.hpp
deleted file mode 100644
index 90175bc..0000000
--- a/boost/fusion/sequence/comparison/greater_equal.hpp
+++ /dev/null
@@ -1,52 +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 <boost/fusion/sequence/intrinsic/begin.hpp>
-#include <boost/fusion/sequence/intrinsic/end.hpp>
-#include <boost/fusion/sequence/intrinsic/size.hpp>
-#include <boost/fusion/sequence/comparison/enable_comparison.hpp>
-
-#if defined(FUSION_DIRECT_OPERATOR_USAGE)
-#include <boost/fusion/sequence/comparison/detail/greater_equal.hpp>
-#else
-#include <boost/fusion/sequence/comparison/less.hpp>
-#endif
-
-namespace boost { namespace fusion
-{
- template <typename Seq1, typename Seq2>
- inline bool
- greater_equal(Seq1 const& a, Seq2 const& b)
- {
-#if defined(FUSION_DIRECT_OPERATOR_USAGE)
- return detail::sequence_greater_equal<Seq1 const, Seq2 const>::
- call(fusion::begin(a), fusion::begin(b));
-#else
- return !(a < b);
-#endif
- }
-
- namespace operators
- {
- template <typename Seq1, typename Seq2>
- inline typename
- boost::enable_if<
- traits::enable_comparison<Seq1, Seq2>
- , bool
- >::type
- operator>=(Seq1 const& a, Seq2 const& b)
- {
- return fusion::greater_equal(a, b);
- }
- }
- using operators::operator>=;
-}}
-
-#endif
diff --git a/boost/fusion/sequence/comparison/less.hpp b/boost/fusion/sequence/comparison/less.hpp
deleted file mode 100644
index 944cdcf..0000000
--- a/boost/fusion/sequence/comparison/less.hpp
+++ /dev/null
@@ -1,43 +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 <boost/fusion/sequence/intrinsic/begin.hpp>
-#include <boost/fusion/sequence/intrinsic/end.hpp>
-#include <boost/fusion/sequence/intrinsic/size.hpp>
-#include <boost/fusion/sequence/comparison/detail/less.hpp>
-#include <boost/fusion/sequence/comparison/enable_comparison.hpp>
-
-namespace boost { namespace fusion
-{
- template <typename Seq1, typename Seq2>
- inline bool
- less(Seq1 const& a, Seq2 const& b)
- {
- return detail::sequence_less<Seq1 const, Seq2 const>::
- call(fusion::begin(a), fusion::begin(b));
- }
-
- namespace operators
- {
- template <typename Seq1, typename Seq2>
- inline typename
- boost::enable_if<
- traits::enable_comparison<Seq1, Seq2>
- , bool
- >::type
- operator<(Seq1 const& a, Seq2 const& b)
- {
- return fusion::less(a, b);
- }
- }
- using operators::operator<;
-}}
-
-#endif
diff --git a/boost/fusion/sequence/comparison/less_equal.hpp b/boost/fusion/sequence/comparison/less_equal.hpp
deleted file mode 100644
index 0e5d23a..0000000
--- a/boost/fusion/sequence/comparison/less_equal.hpp
+++ /dev/null
@@ -1,81 +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 <boost/fusion/sequence/intrinsic/begin.hpp>
-#include <boost/fusion/sequence/intrinsic/end.hpp>
-#include <boost/fusion/sequence/intrinsic/size.hpp>
-#include <boost/fusion/sequence/comparison/enable_comparison.hpp>
-#include <boost/fusion/support/is_sequence.hpp>
-
-#if defined(FUSION_DIRECT_OPERATOR_USAGE)
-#include <boost/fusion/sequence/comparison/detail/less_equal.hpp>
-#else
-#include <boost/fusion/sequence/comparison/less.hpp>
-#endif
-
-namespace boost { namespace fusion
-{
- template <typename Seq1, typename Seq2>
- inline bool
- less_equal(Seq1 const& a, Seq2 const& b)
- {
-#if defined(FUSION_DIRECT_OPERATOR_USAGE)
- return detail::sequence_less_equal<Seq1 const, Seq2 const>::
- 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 <typename Seq1, typename Seq2>
- inline bool
- operator<=(sequence_base<Seq1> const& a, sequence_base<Seq2> const& b)
- {
- return less_equal(a.derived(), b.derived());
- }
-
- template <typename Seq1, typename Seq2>
- inline typename disable_if<traits::is_native_fusion_sequence<Seq2>, bool>::type
- operator<=(sequence_base<Seq1> const& a, Seq2 const& b)
- {
- return less_equal(a.derived(), b);
- }
-
- template <typename Seq1, typename Seq2>
- inline typename disable_if<traits::is_native_fusion_sequence<Seq1>, bool>::type
- operator<=(Seq1 const& a, sequence_base<Seq2> 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 <typename Seq1, typename Seq2>
- inline typename
- boost::enable_if<
- traits::enable_comparison<Seq1, Seq2>
- , bool
- >::type
- operator<=(Seq1 const& a, Seq2 const& b)
- {
- return fusion::less_equal(a, b);
- }
-#endif
- }
- using operators::operator<=;
-}}
-
-#endif
diff --git a/boost/fusion/sequence/comparison/not_equal_to.hpp b/boost/fusion/sequence/comparison/not_equal_to.hpp
deleted file mode 100644
index 14ef25d..0000000
--- a/boost/fusion/sequence/comparison/not_equal_to.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_NOT_EQUAL_TO_05052005_0431)
-#define FUSION_NOT_EQUAL_TO_05052005_0431
-
-#include <boost/fusion/sequence/intrinsic/begin.hpp>
-#include <boost/fusion/sequence/intrinsic/end.hpp>
-#include <boost/fusion/sequence/intrinsic/size.hpp>
-#include <boost/fusion/sequence/comparison/enable_comparison.hpp>
-
-#if defined(FUSION_DIRECT_OPERATOR_USAGE)
-#include <boost/fusion/sequence/comparison/detail/not_equal_to.hpp>
-#else
-#include <boost/fusion/sequence/comparison/equal_to.hpp>
-#endif
-
-namespace boost { namespace fusion
-{
- template <typename Seq1, typename Seq2>
- inline bool
- not_equal_to(Seq1 const& a, Seq2 const& b)
- {
-#if defined(FUSION_DIRECT_OPERATOR_USAGE)
- return result_of::size<Seq1>::value != result_of::size<Seq2>::value
- || detail::sequence_not_equal_to<
- Seq1 const, Seq2 const
- , result_of::size<Seq1>::value == result_of::size<Seq2>::value>::
- call(fusion::begin(a), fusion::begin(b));
-#else
- return !(a == b);
-#endif
- }
-
- namespace operators
- {
- template <typename Seq1, typename Seq2>
- inline typename
- boost::enable_if<
- traits::enable_equality<Seq1, Seq2>
- , bool
- >::type
- operator!=(Seq1 const& a, Seq2 const& b)
- {
- return fusion::not_equal_to(a, b);
- }
- }
- using operators::operator!=;
-}}
-
-#endif
diff --git a/boost/fusion/sequence/intrinsic/at.hpp b/boost/fusion/sequence/intrinsic/at.hpp
deleted file mode 100644
index 92da7bb..0000000
--- a/boost/fusion/sequence/intrinsic/at.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_AT_05042005_0722)
-#define FUSION_AT_05042005_0722
-
-#include <boost/mpl/int.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/fusion/sequence/intrinsic_fwd.hpp>
-#include <boost/fusion/support/tag_of.hpp>
-#include <boost/fusion/support/detail/access.hpp>
-
-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
- struct std_tuple_tag; // std::tuple tag
-
- namespace extension
- {
- template <typename Tag>
- struct at_impl
- {
- template <typename Sequence, typename N>
- struct apply;
- };
-
- template <>
- struct at_impl<sequence_facade_tag>
- {
- template <typename Sequence, typename N>
- struct apply : Sequence::template at<Sequence, N> {};
- };
-
- template <>
- struct at_impl<boost_tuple_tag>;
-
- template <>
- struct at_impl<boost_array_tag>;
-
- template <>
- struct at_impl<mpl_sequence_tag>;
-
- template <>
- struct at_impl<std_pair_tag>;
-
- template <>
- struct at_impl<std_tuple_tag>;
- }
-
- namespace result_of
- {
- template <typename Sequence, typename N>
- struct at
- : extension::at_impl<typename detail::tag_of<Sequence>::type>::
- template apply<Sequence, N>
- {};
-
- template <typename Sequence, int N>
- struct at_c
- : at<Sequence, mpl::int_<N> >
- {};
- }
-
-
- template <typename N, typename Sequence>
- inline typename
- lazy_disable_if<
- is_const<Sequence>
- , result_of::at<Sequence, N>
- >::type
- at(Sequence& seq)
- {
- return result_of::at<Sequence, N>::call(seq);
- }
-
- template <typename N, typename Sequence>
- inline typename result_of::at<Sequence const, N>::type
- at(Sequence const& seq)
- {
- return result_of::at<Sequence const, N>::call(seq);
- }
-
- template <int N, typename Sequence>
- inline typename
- lazy_disable_if<
- is_const<Sequence>
- , result_of::at_c<Sequence, N>
- >::type
- at_c(Sequence& seq)
- {
- return fusion::at<mpl::int_<N> >(seq);
- }
-
- template <int N, typename Sequence>
- inline typename result_of::at_c<Sequence const, N>::type
- at_c(Sequence const& seq)
- {
- return fusion::at<mpl::int_<N> >(seq);
- }
-}}
-
-#endif
-
diff --git a/boost/fusion/sequence/intrinsic/begin.hpp b/boost/fusion/sequence/intrinsic/begin.hpp
deleted file mode 100644
index 7a7ecf6..0000000
--- a/boost/fusion/sequence/intrinsic/begin.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_BEGIN_04052005_1132)
-#define FUSION_BEGIN_04052005_1132
-
-#include <boost/blank.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/fusion/sequence/intrinsic_fwd.hpp>
-#include <boost/fusion/support/tag_of.hpp>
-#include <boost/fusion/support/is_sequence.hpp>
-#include <boost/fusion/support/is_segmented.hpp>
-#include <boost/fusion/sequence/intrinsic/detail/segmented_begin.hpp>
-
-namespace boost { namespace fusion
-{
- // Special tags:
- struct sequence_facade_tag; // iterator 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 <typename Tag>
- struct begin_impl
- {
- template <typename Sequence>
- struct apply
- : mpl::if_<
- traits::is_segmented<Sequence>
- , detail::segmented_begin<Sequence>
- , blank
- >::type
- {};
- };
-
- template <>
- struct begin_impl<sequence_facade_tag>
- {
- template <typename Sequence>
- struct apply : Sequence::template begin<Sequence> {};
- };
-
- template <>
- struct begin_impl<boost_tuple_tag>;
-
- template <>
- struct begin_impl<boost_array_tag>;
-
- template <>
- struct begin_impl<mpl_sequence_tag>;
-
- template <>
- struct begin_impl<std_pair_tag>;
- }
-
- namespace result_of
- {
- template <typename Sequence>
- struct begin
- : extension::begin_impl<typename detail::tag_of<Sequence>::type>::
- template apply<Sequence>
- {};
- }
-
- template <typename Sequence>
- inline typename
- lazy_enable_if<
- traits::is_sequence<Sequence>
- , result_of::begin<Sequence>
- >::type const
- begin(Sequence& seq)
- {
- return result_of::begin<Sequence>::call(seq);
- }
-
- template <typename Sequence>
- inline typename
- lazy_enable_if<
- traits::is_sequence<Sequence>
- , result_of::begin<Sequence const>
- >::type const
- begin(Sequence const& seq)
- {
- return result_of::begin<Sequence const>::call(seq);
- }
-}}
-
-#endif
diff --git a/boost/fusion/sequence/intrinsic/detail/segmented_begin.hpp b/boost/fusion/sequence/intrinsic/detail/segmented_begin.hpp
deleted file mode 100644
index 63d3edc..0000000
--- a/boost/fusion/sequence/intrinsic/detail/segmented_begin.hpp
+++ /dev/null
@@ -1,43 +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_SEGMENTED_BEGIN_HPP_INCLUDED)
-#define BOOST_FUSION_SEGMENTED_BEGIN_HPP_INCLUDED
-
-#include <boost/fusion/sequence/intrinsic/detail/segmented_begin_impl.hpp>
-#include <boost/fusion/iterator/segmented_iterator.hpp>
-#include <boost/fusion/view/iterator_range.hpp>
-#include <boost/fusion/sequence/intrinsic/begin.hpp>
-#include <boost/fusion/sequence/intrinsic/end.hpp>
-#include <boost/fusion/sequence/intrinsic/empty.hpp>
-#include <boost/fusion/container/list/cons.hpp>
-
-namespace boost { namespace fusion { namespace detail
-{
- //auto segmented_begin( seq )
- //{
- // return make_segmented_iterator( segmented_begin_impl( seq, nil_ ) );
- //}
-
- template <typename Sequence, typename Nil_ = fusion::nil_>
- struct segmented_begin
- {
- typedef
- segmented_iterator<
- typename segmented_begin_impl<Sequence, Nil_>::type
- >
- type;
-
- static type call(Sequence& seq)
- {
- return type(
- segmented_begin_impl<Sequence, Nil_>::call(seq, Nil_()));
- }
- };
-
-}}}
-
-#endif
diff --git a/boost/fusion/sequence/intrinsic/detail/segmented_begin_impl.hpp b/boost/fusion/sequence/intrinsic/detail/segmented_begin_impl.hpp
deleted file mode 100644
index 5069432..0000000
--- a/boost/fusion/sequence/intrinsic/detail/segmented_begin_impl.hpp
+++ /dev/null
@@ -1,92 +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_SEGMENTED_BEGIN_IMPL_HPP_INCLUDED)
-#define BOOST_FUSION_SEGMENTED_BEGIN_IMPL_HPP_INCLUDED
-
-#include <boost/type_traits/remove_const.hpp>
-#include <boost/fusion/container/list/cons_fwd.hpp>
-#include <boost/fusion/sequence/intrinsic_fwd.hpp>
-#include <boost/fusion/support/is_segmented.hpp>
-#include <boost/fusion/sequence/intrinsic/detail/segmented_end_impl.hpp>
-#include <boost/fusion/support/detail/segmented_fold_until_impl.hpp>
-
-namespace boost { namespace fusion
-{
- template <typename First, typename Last>
- struct iterator_range;
-}}
-
-namespace boost { namespace fusion { namespace detail
-{
- struct segmented_begin_fun
- {
- template <typename Sequence, typename State, typename Context>
- struct apply
- {
- typedef
- iterator_range<
- typename fusion::result_of::begin<Sequence>::type
- , typename fusion::result_of::end<Sequence>::type
- >
- range_type;
-
- typedef cons<range_type, Context> type;
- typedef mpl::false_ continue_type;
-
- static type call(Sequence& seq, State const&, Context const& context, segmented_begin_fun)
- {
- return type(range_type(fusion::begin(seq), fusion::end(seq)), context);
- }
- };
- };
-
- template <typename Sequence, typename Stack, bool IsSegmented = traits::is_segmented<Sequence>::type::value>
- struct segmented_begin_impl_aux
- {
- typedef
- segmented_end_impl<Sequence, Stack>
- end_impl;
-
- typedef
- segmented_fold_until_impl<
- Sequence
- , typename end_impl::type
- , Stack
- , segmented_begin_fun
- >
- fold_impl;
-
- typedef typename fold_impl::type type;
-
- static type call(Sequence& seq, Stack const& stack)
- {
- return fold_impl::call(seq, end_impl::call(seq, stack), stack, segmented_begin_fun());
- }
- };
-
- template <typename Sequence, typename Stack>
- struct segmented_begin_impl_aux<Sequence, Stack, false>
- {
- typedef typename result_of::begin<Sequence>::type begin_type;
- typedef typename result_of::end<Sequence>::type end_type;
- typedef iterator_range<begin_type, end_type> pair_type;
- typedef cons<pair_type, Stack> type;
-
- static type call(Sequence& seq, Stack stack)
- {
- return type(pair_type(fusion::begin(seq), fusion::end(seq)), stack);
- }
- };
-
- template <typename Sequence, typename Stack>
- struct segmented_begin_impl
- : segmented_begin_impl_aux<Sequence, Stack>
- {};
-
-}}}
-
-#endif
diff --git a/boost/fusion/sequence/intrinsic/detail/segmented_end.hpp b/boost/fusion/sequence/intrinsic/detail/segmented_end.hpp
deleted file mode 100644
index 32c0108..0000000
--- a/boost/fusion/sequence/intrinsic/detail/segmented_end.hpp
+++ /dev/null
@@ -1,39 +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_SEGMENTED_END_HPP_INCLUDED)
-#define BOOST_FUSION_SEGMENTED_END_HPP_INCLUDED
-
-#include <boost/fusion/sequence/intrinsic/detail/segmented_end_impl.hpp>
-#include <boost/fusion/iterator/segmented_iterator.hpp>
-#include <boost/fusion/container/list/cons.hpp>
-
-namespace boost { namespace fusion { namespace detail
-{
- //auto segmented_end( seq )
- //{
- // return make_segmented_iterator( segmented_end_impl( seq ) );
- //}
-
- template <typename Sequence, typename Nil_ = fusion::nil_>
- struct segmented_end
- {
- typedef
- segmented_iterator<
- typename segmented_end_impl<Sequence, Nil_>::type
- >
- type;
-
- static type call(Sequence & seq)
- {
- return type(
- segmented_end_impl<Sequence, Nil_>::call(seq, Nil_()));
- }
- };
-
-}}}
-
-#endif
diff --git a/boost/fusion/sequence/intrinsic/detail/segmented_end_impl.hpp b/boost/fusion/sequence/intrinsic/detail/segmented_end_impl.hpp
deleted file mode 100644
index 149027b..0000000
--- a/boost/fusion/sequence/intrinsic/detail/segmented_end_impl.hpp
+++ /dev/null
@@ -1,59 +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_SEGMENTED_END_IMPL_HPP_INCLUDED)
-#define BOOST_FUSION_SEGMENTED_END_IMPL_HPP_INCLUDED
-
-#include <boost/mpl/assert.hpp>
-#include <boost/type_traits/add_const.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/fusion/sequence/intrinsic_fwd.hpp>
-#include <boost/fusion/container/list/cons_fwd.hpp>
-#include <boost/fusion/support/is_segmented.hpp>
-
-namespace boost { namespace fusion
-{
- template <typename First, typename Last>
- struct iterator_range;
-}}
-
-namespace boost { namespace fusion { namespace detail
-{
- //auto segmented_end_impl( seq, stack )
- //{
- // assert(is_segmented(seq));
- // auto it = end(segments(seq));
- // return cons(iterator_range(it, it), stack);
- //}
-
- template <typename Sequence, typename Stack>
- struct segmented_end_impl
- {
- BOOST_MPL_ASSERT((traits::is_segmented<Sequence>));
-
- typedef
- typename result_of::end<
- typename remove_reference<
- typename add_const<
- typename result_of::segments<Sequence>::type
- >::type
- >::type
- >::type
- end_type;
-
- typedef iterator_range<end_type, end_type> pair_type;
- typedef cons<pair_type, Stack> type;
-
- static type call(Sequence & seq, Stack stack)
- {
- end_type end = fusion::end(fusion::segments(seq));
- return type(pair_type(end, end), stack);
- }
- };
-
-}}}
-
-#endif
diff --git a/boost/fusion/sequence/intrinsic/detail/segmented_size.hpp b/boost/fusion/sequence/intrinsic/detail/segmented_size.hpp
deleted file mode 100644
index 03cef28..0000000
--- a/boost/fusion/sequence/intrinsic/detail/segmented_size.hpp
+++ /dev/null
@@ -1,54 +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_SEGMENTED_SIZE_08112006_1141)
-#define BOOST_FUSION_SEGMENTED_SIZE_08112006_1141
-
-#include <boost/type_traits/add_const.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/mpl/fold.hpp>
-#include <boost/mpl/plus.hpp>
-#include <boost/mpl/size_t.hpp>
-#include <boost/mpl/placeholders.hpp>
-#include <boost/fusion/sequence/intrinsic_fwd.hpp>
-#include <boost/fusion/mpl/begin.hpp>
-#include <boost/fusion/mpl/end.hpp>
-#include <boost/fusion/support/is_segmented.hpp>
-
-namespace boost { namespace fusion { namespace detail
-{
- ///////////////////////////////////////////////////////////////////////////
- // calculates the size of any segmented data structure.
- template<typename Sequence>
- struct segmented_size;
-
- ///////////////////////////////////////////////////////////////////////////
- template<typename Sequence, bool IsSegmented = traits::is_segmented<Sequence>::value>
- struct segmented_size_impl
- : mpl::fold<
- typename remove_reference<
- typename add_const<
- typename result_of::segments<Sequence>::type
- >::type
- >::type
- , mpl::size_t<0>
- , mpl::plus<mpl::_1, segmented_size<remove_reference<mpl::_2> > >
- >::type
- {};
-
- template<typename Sequence>
- struct segmented_size_impl<Sequence, false>
- : result_of::size<Sequence>::type
- {};
-
- template<typename Sequence>
- struct segmented_size
- : segmented_size_impl<Sequence>
- {};
-
-}}}
-
-#endif
diff --git a/boost/fusion/sequence/intrinsic/empty.hpp b/boost/fusion/sequence/intrinsic/empty.hpp
deleted file mode 100644
index a9928ab..0000000
--- a/boost/fusion/sequence/intrinsic/empty.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_EMPTY_09162005_0335)
-#define FUSION_EMPTY_09162005_0335
-
-#include <boost/fusion/sequence/intrinsic_fwd.hpp>
-#include <boost/fusion/sequence/intrinsic/size.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/fusion/support/tag_of.hpp>
-
-namespace boost { namespace fusion
-{
- // Special tags:
- struct sequence_facade_tag;
- struct mpl_sequence_tag; // mpl sequence tag
-
- namespace extension
- {
- template <typename Tag>
- struct empty_impl
- {
- template <typename Sequence>
- struct apply
- : mpl::bool_<(result_of::size<Sequence>::value == 0)>
- {};
- };
-
- template <>
- struct empty_impl<sequence_facade_tag>
- {
- template <typename Sequence>
- struct apply : Sequence::template empty<Sequence> {};
- };
-
- template <>
- struct empty_impl<mpl_sequence_tag>;
- }
-
- namespace result_of
- {
- template <typename Sequence>
- struct empty
- : extension::empty_impl<typename detail::tag_of<Sequence>::type>::
- template apply<Sequence>
- {};
- }
-
- template <typename Sequence>
- inline typename result_of::empty<Sequence>::type
- empty(Sequence const&)
- {
- typedef typename result_of::empty<Sequence>::type result;
- return result();
- }
-}}
-
-#endif
diff --git a/boost/fusion/sequence/intrinsic/end.hpp b/boost/fusion/sequence/intrinsic/end.hpp
deleted file mode 100644
index 995ed7a..0000000
--- a/boost/fusion/sequence/intrinsic/end.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_END_04052005_1141)
-#define FUSION_END_04052005_1141
-
-#include <boost/blank.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/fusion/sequence/intrinsic_fwd.hpp>
-#include <boost/fusion/support/tag_of.hpp>
-#include <boost/fusion/support/is_sequence.hpp>
-#include <boost/fusion/support/is_segmented.hpp>
-#include <boost/fusion/sequence/intrinsic/detail/segmented_end.hpp>
-
-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 <typename Tag>
- struct end_impl
- {
- template <typename Sequence>
- struct apply
- : mpl::if_<
- traits::is_segmented<Sequence>
- , detail::segmented_end<Sequence>
- , blank
- >::type
- {};
- };
-
- template <>
- struct end_impl<sequence_facade_tag>
- {
- template <typename Sequence>
- struct apply : Sequence::template end<Sequence> {};
- };
-
- template <>
- struct end_impl<boost_tuple_tag>;
-
- template <>
- struct end_impl<boost_array_tag>;
-
- template <>
- struct end_impl<mpl_sequence_tag>;
-
- template <>
- struct end_impl<std_pair_tag>;
- }
-
- namespace result_of
- {
- template <typename Sequence>
- struct end
- : extension::end_impl<typename detail::tag_of<Sequence>::type>::
- template apply<Sequence>
- {};
- }
-
- template <typename Sequence>
- inline typename
- lazy_enable_if<
- traits::is_sequence<Sequence>
- , result_of::end<Sequence>
- >::type const
- end(Sequence& seq)
- {
- return result_of::end<Sequence>::call(seq);
- }
-
- template <typename Sequence>
- inline typename
- lazy_enable_if<
- traits::is_sequence<Sequence>
- , result_of::end<Sequence const>
- >::type const
- end(Sequence const& seq)
- {
- return result_of::end<Sequence const>::call(seq);
- }
-}}
-
-#endif
diff --git a/boost/fusion/sequence/intrinsic/segments.hpp b/boost/fusion/sequence/intrinsic/segments.hpp
deleted file mode 100644
index afd5d40..0000000
--- a/boost/fusion/sequence/intrinsic/segments.hpp
+++ /dev/null
@@ -1,76 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006 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_SEGMENTS_04052005_1141)
-#define BOOST_FUSION_SEGMENTS_04052005_1141
-
-#include <boost/type_traits/is_const.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <boost/fusion/sequence/intrinsic_fwd.hpp>
-#include <boost/fusion/support/tag_of.hpp>
-
-namespace boost { namespace fusion
-{
- // Special tags:
- struct sequence_facade_tag;
- struct iterator_range_tag;
-
- // segments: returns a sequence of sequences
- namespace extension
- {
- template <typename Tag>
- struct segments_impl
- {
- template <typename Sequence>
- struct apply {};
- };
-
- template <>
- struct segments_impl<sequence_facade_tag>
- {
- template <typename Sequence>
- struct apply : Sequence::template segments<Sequence> {};
- };
-
- template <>
- struct segments_impl<iterator_range_tag>;
- }
-
- namespace result_of
- {
- template <typename Sequence>
- struct segments
- {
- typedef typename traits::tag_of<Sequence>::type tag_type;
-
- typedef typename
- extension::segments_impl<tag_type>::template apply<Sequence>::type
- type;
- };
- }
-
- template <typename Sequence>
- inline typename
- lazy_disable_if<
- is_const<Sequence>
- , result_of::segments<Sequence>
- >::type
- segments(Sequence& seq)
- {
- typedef typename traits::tag_of<Sequence>::type tag_type;
- return extension::segments_impl<tag_type>::template apply<Sequence>::call(seq);
- }
-
- template <typename Sequence>
- inline typename result_of::segments<Sequence const>::type
- segments(Sequence const& seq)
- {
- typedef typename traits::tag_of<Sequence const>::type tag_type;
- return extension::segments_impl<tag_type>::template apply<Sequence const>::call(seq);
- }
-}}
-
-#endif
diff --git a/boost/fusion/sequence/intrinsic/size.hpp b/boost/fusion/sequence/intrinsic/size.hpp
deleted file mode 100644
index 0a1c165..0000000
--- a/boost/fusion/sequence/intrinsic/size.hpp
+++ /dev/null
@@ -1,88 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-#if !defined(FUSION_SIZE_05052005_0214)
-#define FUSION_SIZE_05052005_0214
-
-#include <boost/utility/enable_if.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/fusion/sequence/intrinsic_fwd.hpp>
-#include <boost/fusion/support/tag_of.hpp>
-#include <boost/fusion/support/is_segmented.hpp>
-#include <boost/fusion/sequence/intrinsic/detail/segmented_size.hpp>
-
-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 <typename Tag>
- struct size_impl
- {
- template<typename Sequence>
- struct unsegmented_size : Sequence::size {};
-
- template <typename Sequence>
- struct apply
- : mpl::if_<
- traits::is_segmented<Sequence>
- , detail::segmented_size<Sequence>
- , unsegmented_size<Sequence>
- >::type
- {};
- };
-
- template <>
- struct size_impl<sequence_facade_tag>
- {
- template <typename Sequence>
- struct apply : Sequence::template size<Sequence> {};
- };
-
- template <>
- struct size_impl<boost_tuple_tag>;
-
- template <>
- struct size_impl<boost_array_tag>;
-
- template <>
- struct size_impl<mpl_sequence_tag>;
-
- template <>
- struct size_impl<std_pair_tag>;
- }
-
- namespace result_of
- {
- template <typename Sequence>
- struct size
- : extension::size_impl<typename detail::tag_of<Sequence>::type>::
- template apply<Sequence>
-
- {
- typedef typename extension::size_impl<typename detail::tag_of<Sequence>::type>::
- template apply<Sequence>::type size_application;
- BOOST_STATIC_CONSTANT(int, value = size_application::value);
- };
- }
-
- template <typename Sequence>
- inline typename result_of::size<Sequence>::type
- size(Sequence const&)
- {
- typedef typename result_of::size<Sequence>::type result;
- return result();
- }
-}}
-
-#endif
diff --git a/boost/fusion/sequence/intrinsic/value_at.hpp b/boost/fusion/sequence/intrinsic/value_at.hpp
deleted file mode 100644
index ce314a8..0000000
--- a/boost/fusion/sequence/intrinsic/value_at.hpp
+++ /dev/null
@@ -1,68 +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 <boost/mpl/int.hpp>
-#include <boost/fusion/sequence/intrinsic_fwd.hpp>
-#include <boost/fusion/support/tag_of.hpp>
-
-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 <typename Tag>
- struct value_at_impl
- {
- template <typename Sequence, typename N>
- struct apply;
- };
-
- template <>
- struct value_at_impl<sequence_facade_tag>
- {
- template <typename Sequence, typename N>
- struct apply : Sequence::template value_at<Sequence, N> {};
- };
-
- template <>
- struct value_at_impl<boost_tuple_tag>;
-
- template <>
- struct value_at_impl<boost_array_tag>;
-
- template <>
- struct value_at_impl<mpl_sequence_tag>;
-
- template <>
- struct value_at_impl<std_pair_tag>;
- }
-
- namespace result_of
- {
- template <typename Sequence, typename N>
- struct value_at
- : extension::value_at_impl<typename detail::tag_of<Sequence>::type>::
- template apply<Sequence, N>
- {};
-
- template <typename Sequence, int N>
- struct value_at_c
- : fusion::result_of::value_at<Sequence, mpl::int_<N> >
- {};
- }
-}}
-
-#endif
-
diff --git a/boost/fusion/sequence/intrinsic_fwd.hpp b/boost/fusion/sequence/intrinsic_fwd.hpp
deleted file mode 100644
index 57409a3..0000000
--- a/boost/fusion/sequence/intrinsic_fwd.hpp
+++ /dev/null
@@ -1,203 +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_SEQUENCE_INTRINSIC_FWD_HPP_INCLUDED)
-#define BOOST_FUSION_SEQUENCE_INTRINSIC_FWD_HPP_INCLUDED
-
-#include <boost/type_traits/is_const.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <boost/fusion/support/is_sequence.hpp>
-
-namespace boost { namespace fusion
-{
- namespace extension
- {
- template <typename Tag>
- struct at_impl;
-
- template <typename Tag>
- struct begin_impl;
-
- template <typename Tag>
- struct empty_impl;
-
- template <typename Tag>
- struct end_impl;
-
- template <typename Tag>
- struct has_key_impl;
-
- template <typename Tag>
- struct segments_impl;
-
- template <typename Tag>
- struct size_impl;
-
- template <typename Tag>
- struct value_at_impl;
-
- template <typename Tag>
- struct at_key_impl;
-
- template <typename Tag>
- struct value_at_key_impl;
- }
-
- namespace result_of
- {
- template <typename Sequence, typename N>
- struct at;
-
- template <typename Sequence, int N>
- struct at_c;
-
- template <typename Sequence>
- struct back;
-
- template <typename Sequence>
- struct begin;
-
- template <typename Sequence>
- struct empty;
-
- template <typename Sequence>
- struct end;
-
- template <typename Sequence>
- struct front;
-
- template <typename Sequence, typename Key>
- struct has_key;
-
- template <typename Sequence>
- struct segments;
-
- template <typename Sequence>
- struct size;
-
- template <typename Sequence, typename N>
- struct value_at;
-
- template <typename Sequence, int N>
- struct value_at_c;
-
- template <typename Sequence, typename Key>
- struct at_key;
-
- template <typename Sequence, typename N>
- struct value_at_key;
- }
-
- template <typename N, typename Sequence>
- typename
- lazy_disable_if<
- is_const<Sequence>
- , result_of::at<Sequence, N>
- >::type
- at(Sequence& seq);
-
- template <typename N, typename Sequence>
- typename result_of::at<Sequence const, N>::type
- at(Sequence const& seq);
-
- template <int N, typename Sequence>
- typename
- lazy_disable_if<
- is_const<Sequence>
- , result_of::at_c<Sequence, N>
- >::type
- at_c(Sequence& seq);
-
- template <int N, typename Sequence>
- typename result_of::at_c<Sequence const, N>::type
- at_c(Sequence const& seq);
-
- template <typename Sequence>
- typename result_of::back<Sequence>::type
- back(Sequence& seq);
-
- template <typename Sequence>
- typename result_of::back<Sequence const>::type
- back(Sequence const& seq);
-
- template <typename Sequence>
- typename
- lazy_enable_if<
- traits::is_sequence<Sequence>
- , result_of::begin<Sequence>
- >::type const
- begin(Sequence& seq);
-
- template <typename Sequence>
- typename
- lazy_enable_if<
- traits::is_sequence<Sequence>
- , result_of::begin<Sequence const>
- >::type const
- begin(Sequence const& seq);
-
- template <typename Sequence>
- typename result_of::empty<Sequence>::type
- empty(Sequence const&);
-
- template <typename Sequence>
- typename
- lazy_enable_if<
- traits::is_sequence<Sequence>
- , result_of::end<Sequence>
- >::type const
- end(Sequence& seq);
-
- template <typename Sequence>
- typename
- lazy_enable_if<
- traits::is_sequence<Sequence>
- , result_of::end<Sequence const>
- >::type const
- end(Sequence const& seq);
-
- template <typename Sequence>
- typename result_of::front<Sequence>::type
- front(Sequence& seq);
-
- template <typename Sequence>
- typename result_of::front<Sequence const>::type
- front(Sequence const& seq);
-
- template <typename Key, typename Sequence>
- typename result_of::has_key<Sequence, Key>::type
- has_key(Sequence const& seq);
-
- template <typename Sequence>
- typename
- lazy_disable_if<
- is_const<Sequence>
- , result_of::segments<Sequence>
- >::type
- segments(Sequence& seq);
-
- template <typename Sequence>
- typename result_of::segments<Sequence const>::type
- segments(Sequence const& seq);
-
- template <typename Sequence>
- typename result_of::size<Sequence>::type
- size(Sequence const&);
-
- template <typename Key, typename Sequence>
- typename
- lazy_disable_if<
- is_const<Sequence>
- , result_of::at_key<Sequence, Key>
- >::type
- at_key(Sequence& seq);
-
- template <typename Key, typename Sequence>
- typename result_of::at_key<Sequence const, Key>::type
- at_key(Sequence const& seq);
-}}
-
-#endif
diff --git a/boost/fusion/sequence/io.hpp b/boost/fusion/sequence/io.hpp
deleted file mode 100644
index 1c5925d..0000000
--- a/boost/fusion/sequence/io.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_SEQUENCE_IO_10032005_0836)
-#define FUSION_SEQUENCE_IO_10032005_0836
-
-#include <boost/fusion/sequence/io/in.hpp>
-#include <boost/fusion/sequence/io/out.hpp>
-
-#endif
diff --git a/boost/fusion/sequence/io/detail/in.hpp b/boost/fusion/sequence/io/detail/in.hpp
deleted file mode 100644
index 38c4dd5..0000000
--- a/boost/fusion/sequence/io/detail/in.hpp
+++ /dev/null
@@ -1,85 +0,0 @@
-/*=============================================================================
- Copyright (c) 1999-2003 Jaakko Jarvi
- Copyright (c) 1999-2003 Jeremiah Willcock
- Copyright (c) 2001-2011 Joel de Guzman
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-#if !defined(FUSION_IN_05052005_0121)
-#define FUSION_IN_05052005_0121
-
-#include <istream>
-#include <boost/fusion/sequence/io/detail/manip.hpp>
-
-#include <boost/mpl/bool.hpp>
-#include <boost/fusion/sequence/intrinsic/begin.hpp>
-#include <boost/fusion/sequence/intrinsic/end.hpp>
-#include <boost/fusion/iterator/deref.hpp>
-#include <boost/fusion/iterator/next.hpp>
-#include <boost/fusion/iterator/equal_to.hpp>
-
-namespace boost { namespace fusion { namespace detail
-{
- template <typename Tag>
- struct delimiter_in
- {
- // read a delimiter
- template <typename IS>
- static void
- read(IS& is, char const* delim, mpl::false_ = mpl::false_())
- {
- detail::string_ios_manip<Tag, IS> manip(is);
- manip.read(delim);
- }
-
- template <typename IS>
- static void
- read(IS&, char const*, mpl::true_)
- {
- }
- };
-
- struct read_sequence_loop
- {
- template <typename IS, typename First, typename Last>
- static void
- call(IS&, First const&, Last const&, mpl::true_)
- {
- }
-
- template <typename IS, typename First, typename Last>
- static void
- call(IS& is, First const& first, Last const& last, mpl::false_)
- {
- result_of::equal_to<
- typename result_of::next<First>::type
- , Last
- >
- is_last;
-
- is >> *first;
- delimiter_in<tuple_delimiter_tag>::read(is, " ", is_last);
- call(is, fusion::next(first), last, is_last);
- }
-
- template <typename IS, typename First, typename Last>
- static void
- call(IS& is, First const& first, Last const& last)
- {
- result_of::equal_to<First, Last> eq;
- call(is, first, last, eq);
- }
- };
-
- template <typename IS, typename Sequence>
- inline void
- read_sequence(IS& is, Sequence& seq)
- {
- delimiter_in<tuple_open_tag>::read(is, "(");
- read_sequence_loop::call(is, fusion::begin(seq), fusion::end(seq));
- delimiter_in<tuple_close_tag>::read(is, ")");
- }
-}}}
-
-#endif
diff --git a/boost/fusion/sequence/io/detail/manip.hpp b/boost/fusion/sequence/io/detail/manip.hpp
deleted file mode 100644
index 371d0d2..0000000
--- a/boost/fusion/sequence/io/detail/manip.hpp
+++ /dev/null
@@ -1,320 +0,0 @@
-/*=============================================================================
- Copyright (c) 1999-2003 Jeremiah Willcock
- Copyright (c) 1999-2003 Jaakko Jarvi
- Copyright (c) 2001-2011 Joel de Guzman
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-#if !defined(FUSION_MANIP_05052005_1200)
-#define FUSION_MANIP_05052005_1200
-
-#include <boost/config.hpp>
-#include <string>
-#include <vector>
-#include <cctype>
-
-// Tuple I/O manipulators
-
-#define FUSION_GET_CHAR_TYPE(T) typename T::char_type
-#define FUSION_GET_TRAITS_TYPE(T) typename T::traits_type
-
-#if defined (BOOST_NO_TEMPLATED_STREAMS)
-#define FUSION_STRING_OF_STREAM(Stream) std::string
-#else
-#define FUSION_STRING_OF_STREAM(Stream) \
- std::basic_string< \
- FUSION_GET_CHAR_TYPE(Stream) \
- , FUSION_GET_TRAITS_TYPE(Stream) \
- >
-#endif
-
-//$$$ these should be part of the public API$$$
-//$$$ rename tuple_open, tuple_close and tuple_delimiter to
-// open, close and delimeter and add these synonyms to the
-// TR1 tuple module.
-
-namespace boost { namespace fusion
-{
- namespace detail
- {
- template <typename Tag>
- int get_xalloc_index(Tag* = 0)
- {
- // each Tag will have a unique index
- static int index = std::ios::xalloc();
- return index;
- }
-
- template <typename Stream, typename Tag, typename T>
- struct stream_data
- {
- struct arena
- {
- ~arena()
- {
- for (
- typename std::vector<T*>::iterator i = data.begin()
- ; i != data.end()
- ; ++i)
- {
- delete *i;
- }
- }
-
- std::vector<T*> data;
- };
-
- static void attach(Stream& stream, T const& data)
- {
- static arena ar; // our arena
- ar.data.push_back(new T(data));
- stream.pword(get_xalloc_index<Tag>()) = ar.data.back();
- }
-
- static T const* get(Stream& stream)
- {
- return (T const*)stream.pword(get_xalloc_index<Tag>());
- }
- };
-
- template <typename Tag, typename Stream>
- class string_ios_manip
- {
- public:
-
- typedef FUSION_STRING_OF_STREAM(Stream) string_type;
-
- typedef stream_data<Stream, Tag, string_type> stream_data_t;
-
- string_ios_manip(Stream& str_)
- : stream(str_)
- {}
-
- void
- set(string_type const& s)
- {
- stream_data_t::attach(stream, s);
- }
-
- void
- print(char const* default_) const
- {
- // print a delimiter
- string_type const* p = stream_data_t::get(stream);
- if (p)
- stream << *p;
- else
- stream << default_;
- }
-
- void
- read(char const* default_) const
- {
- // read a delimiter
- string_type const* p = stream_data_t::get(stream);
- using namespace std;
- ws(stream);
-
- if (p)
- {
- typedef typename string_type::const_iterator iterator;
- for (iterator i = p->begin(); i != p->end(); ++i)
- check_delim(*i);
- }
- else
- {
- while (*default_)
- check_delim(*default_++);
- }
- }
-
- private:
-
- template <typename Char>
- void
- check_delim(Char c) const
- {
- if (!isspace(c))
- {
- if (stream.get() != c)
- {
- stream.unget();
- stream.setstate(std::ios::failbit);
- }
- }
- }
-
- Stream& stream;
-
- private:
- // silence MSVC warning C4512: assignment operator could not be generated
- string_ios_manip& operator= (string_ios_manip const&);
- };
-
- } // detail
-
-#if defined (BOOST_NO_TEMPLATED_STREAMS)
-
-#define STD_TUPLE_DEFINE_MANIPULATOR(name) \
- namespace detail \
- { \
- struct name##_tag; \
- \
- struct name##_type \
- { \
- typedef std::string string_type; \
- string_type data; \
- name##_type(const string_type& d): data(d) {} \
- }; \
- \
- template <typename Stream> \
- Stream& operator>>(Stream& s, const name##_type& m) \
- { \
- string_ios_manip<name##_tag, Stream>(s).set(m.data); \
- return s; \
- } \
- \
- template <typename Stream> \
- Stream& operator<<(Stream& s, const name##_type& m) \
- { \
- string_ios_manip<name##_tag, Stream>(s).set(m.data); \
- return s; \
- } \
- }
-
-#define STD_TUPLE_DEFINE_MANIPULATOR_FUNCTIONS(name) \
- inline detail::name##_type \
- name(const std::string& s) \
- { \
- return detail::name##_type(s); \
- } \
- \
- inline detail::name##_type \
- name(const char* s) \
- { \
- return detail::name##_type(std::string(s)); \
- } \
- \
- inline detail::name##_type \
- name(char c) \
- { \
- return detail::name##_type(std::string(1, c)); \
- }
-
-#else // defined(BOOST_NO_TEMPLATED_STREAMS)
-
-#if defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
-
-#define STD_TUPLE_DEFINE_MANIPULATOR_FUNCTIONS(name) \
- template <typename Char, typename Traits> \
- inline detail::name##_type<Char, Traits> \
- name(const std::basic_string<Char, Traits>& s) \
- { \
- return detail::name##_type<Char, Traits>(s); \
- } \
- \
- inline detail::name##_type<char> \
- name(char const* s) \
- { \
- return detail::name##_type<char>(std::basic_string<char>(s)); \
- } \
- \
- inline detail::name##_type<wchar_t> \
- name(wchar_t const* s) \
- { \
- return detail::name##_type<wchar_t>(std::basic_string<wchar_t>(s)); \
- } \
- \
- inline detail::name##_type<char> \
- name(char c) \
- { \
- return detail::name##_type<char>(std::basic_string<char>(1, c)); \
- } \
- \
- inline detail::name##_type<wchar_t> \
- name(wchar_t c) \
- { \
- return detail::name##_type<wchar_t>(std::basic_string<wchar_t>(1, c)); \
- }
-
-#else // defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
-
-#define STD_TUPLE_DEFINE_MANIPULATOR_FUNCTIONS(name) \
- template <typename Char, typename Traits> \
- inline detail::name##_type<Char, Traits> \
- name(const std::basic_string<Char, Traits>& s) \
- { \
- return detail::name##_type<Char, Traits>(s); \
- } \
- \
- template <typename Char> \
- inline detail::name##_type<Char> \
- name(Char s[]) \
- { \
- return detail::name##_type<Char>(std::basic_string<Char>(s)); \
- } \
- \
- template <typename Char> \
- inline detail::name##_type<Char> \
- name(Char const s[]) \
- { \
- return detail::name##_type<Char>(std::basic_string<Char>(s)); \
- } \
- \
- template <typename Char> \
- inline detail::name##_type<Char> \
- name(Char c) \
- { \
- return detail::name##_type<Char>(std::basic_string<Char>(1, c)); \
- }
-
-#endif
-
-#define STD_TUPLE_DEFINE_MANIPULATOR(name) \
- namespace detail \
- { \
- struct name##_tag; \
- \
- template <typename Char, typename Traits = std::char_traits<Char> > \
- struct name##_type \
- { \
- typedef std::basic_string<Char, Traits> string_type; \
- string_type data; \
- name##_type(const string_type& d): data(d) {} \
- }; \
- \
- template <typename Stream, typename Char, typename Traits> \
- Stream& operator>>(Stream& s, const name##_type<Char,Traits>& m) \
- { \
- string_ios_manip<name##_tag, Stream>(s).set(m.data); \
- return s; \
- } \
- \
- template <typename Stream, typename Char, typename Traits> \
- Stream& operator<<(Stream& s, const name##_type<Char,Traits>& m) \
- { \
- string_ios_manip<name##_tag, Stream>(s).set(m.data); \
- return s; \
- } \
- } \
-
-#endif // defined(BOOST_NO_TEMPLATED_STREAMS)
-
- STD_TUPLE_DEFINE_MANIPULATOR(tuple_open)
- STD_TUPLE_DEFINE_MANIPULATOR(tuple_close)
- STD_TUPLE_DEFINE_MANIPULATOR(tuple_delimiter)
-
- STD_TUPLE_DEFINE_MANIPULATOR_FUNCTIONS(tuple_open)
- STD_TUPLE_DEFINE_MANIPULATOR_FUNCTIONS(tuple_close)
- STD_TUPLE_DEFINE_MANIPULATOR_FUNCTIONS(tuple_delimiter)
-
-#undef STD_TUPLE_DEFINE_MANIPULATOR
-#undef STD_TUPLE_DEFINE_MANIPULATOR_FUNCTIONS
-#undef FUSION_STRING_OF_STREAM
-#undef FUSION_GET_CHAR_TYPE
-#undef FUSION_GET_TRAITS_TYPE
-
-}}
-
-#endif
diff --git a/boost/fusion/sequence/io/detail/out.hpp b/boost/fusion/sequence/io/detail/out.hpp
deleted file mode 100644
index 52caf00..0000000
--- a/boost/fusion/sequence/io/detail/out.hpp
+++ /dev/null
@@ -1,85 +0,0 @@
-/*=============================================================================
- Copyright (c) 1999-2003 Jaakko Jarvi
- Copyright (c) 1999-2003 Jeremiah Willcock
- Copyright (c) 2001-2011 Joel de Guzman
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-#if !defined(FUSION_OUT_05052005_0121)
-#define FUSION_OUT_05052005_0121
-
-#include <ostream>
-#include <boost/fusion/sequence/io/detail/manip.hpp>
-
-#include <boost/mpl/bool.hpp>
-#include <boost/fusion/sequence/intrinsic/begin.hpp>
-#include <boost/fusion/sequence/intrinsic/end.hpp>
-#include <boost/fusion/iterator/deref.hpp>
-#include <boost/fusion/iterator/next.hpp>
-#include <boost/fusion/iterator/equal_to.hpp>
-
-namespace boost { namespace fusion { namespace detail
-{
- template <typename Tag>
- struct delimiter_out
- {
- // print a delimiter
- template <typename OS>
- static void
- print(OS& os, char const* delim, mpl::false_ = mpl::false_())
- {
- detail::string_ios_manip<Tag, OS> manip(os);
- manip.print(delim);
- }
-
- template <typename OS>
- static void
- print(OS&, char const*, mpl::true_)
- {
- }
- };
-
- struct print_sequence_loop
- {
- template <typename OS, typename First, typename Last>
- static void
- call(OS&, First const&, Last const&, mpl::true_)
- {
- }
-
- template <typename OS, typename First, typename Last>
- static void
- call(OS& os, First const& first, Last const& last, mpl::false_)
- {
- result_of::equal_to<
- typename result_of::next<First>::type
- , Last
- >
- is_last;
-
- os << *first;
- delimiter_out<tuple_delimiter_tag>::print(os, " ", is_last);
- call(os, fusion::next(first), last, is_last);
- }
-
- template <typename OS, typename First, typename Last>
- static void
- call(OS& os, First const& first, Last const& last)
- {
- result_of::equal_to<First, Last> eq;
- call(os, first, last, eq);
- }
- };
-
- template <typename OS, typename Sequence>
- inline void
- print_sequence(OS& os, Sequence const& seq)
- {
- delimiter_out<tuple_open_tag>::print(os, "(");
- print_sequence_loop::call(os, fusion::begin(seq), fusion::end(seq));
- delimiter_out<tuple_close_tag>::print(os, ")");
- }
-}}}
-
-#endif
diff --git a/boost/fusion/sequence/io/in.hpp b/boost/fusion/sequence/io/in.hpp
deleted file mode 100644
index 73a1fff..0000000
--- a/boost/fusion/sequence/io/in.hpp
+++ /dev/null
@@ -1,42 +0,0 @@
-/*=============================================================================
- Copyright (c) 1999-2003 Jaakko Jarvi
- Copyright (c) 1999-2003 Jeremiah Willcock
- Copyright (c) 2001-2011 Joel de Guzman
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-#if !defined(BOOST_IN_05042005_0120)
-#define BOOST_IN_05042005_0120
-
-#include <istream>
-#include <boost/fusion/sequence/io/detail/in.hpp>
-#include <boost/fusion/support/is_sequence.hpp>
-
-namespace boost { namespace fusion
-{
- template <typename Sequence>
- inline std::istream&
- in(std::istream& is, Sequence& seq)
- {
- detail::read_sequence(is, seq);
- return is;
- }
-
- namespace operators
- {
- template <typename Sequence>
- inline typename
- boost::enable_if<
- fusion::traits::is_sequence<Sequence>
- , std::istream&
- >::type
- operator>>(std::istream& is, Sequence& seq)
- {
- return fusion::in(is, seq);
- }
- }
- using operators::operator>>;
-}}
-
-#endif
diff --git a/boost/fusion/sequence/io/out.hpp b/boost/fusion/sequence/io/out.hpp
deleted file mode 100644
index 988a398..0000000
--- a/boost/fusion/sequence/io/out.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-/*=============================================================================
- Copyright (c) 1999-2003 Jaakko Jarvi
- Copyright (c) 1999-2003 Jeremiah Willcock
- Copyright (c) 2001-2011 Joel de Guzman
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-#if !defined(BOOST_OUT_05042005_0120)
-#define BOOST_OUT_05042005_0120
-
-#include <ostream>
-#include <boost/fusion/sequence/io/detail/out.hpp>
-#include <boost/fusion/support/is_sequence.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <boost/mpl/or.hpp>
-
-namespace boost { namespace fusion
-{
- template <typename Sequence>
- inline std::ostream&
- out(std::ostream& os, Sequence& seq)
- {
- detail::print_sequence(os, seq);
- return os;
- }
-
- namespace operators
- {
- template <typename Sequence>
- inline typename
- boost::enable_if<
- fusion::traits::is_sequence<Sequence>
- , std::ostream&
- >::type
- operator<<(std::ostream& os, Sequence const& seq)
- {
- return fusion::out(os, seq);
- }
- }
- using operators::operator<<;
-}}
-
-#endif
diff --git a/boost/fusion/support/as_const.hpp b/boost/fusion/support/as_const.hpp
deleted file mode 100644
index bb2a96a..0000000
--- a/boost/fusion/support/as_const.hpp
+++ /dev/null
@@ -1,26 +0,0 @@
-/*=============================================================================
- Copyright (c) 2012 Nathan Ridge
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-#ifndef BOOST_FUSION_SUPPORT_AS_CONST_HPP
-#define BOOST_FUSION_SUPPORT_AS_CONST_HPP
-
-namespace boost { namespace fusion { namespace extension
-{
- // A customization point that allows certain wrappers around
- // Fusion sequence elements (e.g. adt_attribute_proxy) to be
- // unwrapped in contexts where the element only needs to be
- // read. The library wraps accesses to Fusion elements in
- // such contexts with calls to this function. Users can
- // specialize this function for their own wrappers.
- template <typename T>
- const T& as_const(const T& obj)
- {
- return obj;
- }
-
-}}}
-
-#endif
diff --git a/boost/fusion/support/category_of.hpp b/boost/fusion/support/category_of.hpp
deleted file mode 100644
index 805d895..0000000
--- a/boost/fusion/support/category_of.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)
-==============================================================================*/
-#if !defined(FUSION_CATEGORY_OF_07202005_0308)
-#define FUSION_CATEGORY_OF_07202005_0308
-
-#include <boost/fusion/support/detail/category_of.hpp>
-#include <boost/fusion/support/tag_of.hpp>
-#include <boost/type_traits/is_base_of.hpp>
-
-namespace boost { namespace fusion
-{
- // Special tags:
- 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
-
- struct incrementable_traversal_tag {};
-
- struct single_pass_traversal_tag
- : incrementable_traversal_tag {};
-
- struct forward_traversal_tag
- : single_pass_traversal_tag {};
-
- struct bidirectional_traversal_tag
- : forward_traversal_tag {};
-
- struct random_access_traversal_tag
- : bidirectional_traversal_tag {};
-
- struct associative_tag {};
-
- namespace extension
- {
- template<typename Tag>
- struct category_of_impl
- {
- template<typename T>
- struct apply : detail::fusion_category_of<T> {};
- };
-
- template <>
- struct category_of_impl<boost_tuple_tag>;
-
- template <>
- struct category_of_impl<boost_array_tag>;
-
- template <>
- struct category_of_impl<mpl_sequence_tag>;
-
- template <>
- struct category_of_impl<std_pair_tag>;
- }
-
- namespace traits
- {
- template <typename T>
- struct category_of
- : extension::category_of_impl<typename fusion::detail::tag_of<T>::type>::
- template apply<T>
- {};
-
- template <typename T>
- struct is_associative
- : is_base_of<
- associative_tag
- , typename category_of<T>::type>
- {};
-
- template <typename T>
- struct is_incrementable
- : is_base_of<
- incrementable_traversal_tag
- , typename category_of<T>::type>
- {};
-
- template <typename T>
- struct is_single_pass
- : is_base_of<
- single_pass_traversal_tag
- , typename category_of<T>::type>
- {};
-
- template <typename T>
- struct is_forward
- : is_base_of<
- forward_traversal_tag
- , typename category_of<T>::type>
- {};
-
- template <typename T>
- struct is_bidirectional
- : is_base_of<
- bidirectional_traversal_tag
- , typename category_of<T>::type>
- {};
-
- template <typename T>
- struct is_random_access
- : is_base_of<
- random_access_traversal_tag
- , typename category_of<T>::type>
- {};
- }
-}}
-
-#endif
diff --git a/boost/fusion/support/detail/access.hpp b/boost/fusion/support/detail/access.hpp
deleted file mode 100644
index ced7cea..0000000
--- a/boost/fusion/support/detail/access.hpp
+++ /dev/null
@@ -1,64 +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_ACCESS_04182005_0737)
-#define FUSION_ACCESS_04182005_0737
-
-#include <boost/type_traits/add_const.hpp>
-#include <boost/type_traits/add_reference.hpp>
-
-namespace boost { namespace fusion { namespace detail
-{
- template <typename T>
- struct ref_result
- {
- typedef typename add_reference<T>::type type;
- };
-
- template <typename T>
- struct cref_result
- {
- typedef typename
- add_reference<
- typename add_const<T>::type
- >::type
- type;
- };
-
- template <typename T>
- struct call_param
- {
- typedef T const& type;
- };
-
- template <typename T>
- struct call_param<T &>
- {
- typedef T& type;
- };
-
- template <typename T>
- struct call_param<T const>
- {
- typedef T const& type;
- };
-
- template <typename T>
- struct call_param<T volatile>
- {
- typedef T const& type;
- };
-
- template <typename T>
- struct call_param<T const volatile>
- {
- typedef T const& type;
- };
-
-}}}
-
-#endif
-
diff --git a/boost/fusion/support/detail/as_fusion_element.hpp b/boost/fusion/support/detail/as_fusion_element.hpp
deleted file mode 100644
index 96cf2d0..0000000
--- a/boost/fusion/support/detail/as_fusion_element.hpp
+++ /dev/null
@@ -1,47 +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_AS_FUSION_ELEMENT_05052005_0338)
-#define FUSION_AS_FUSION_ELEMENT_05052005_0338
-
-#include <boost/ref.hpp>
-
-namespace boost { namespace fusion { namespace detail
-{
- template <typename T>
- struct as_fusion_element
- {
- typedef T type;
- };
-
- template <typename T>
- struct as_fusion_element<reference_wrapper<T> >
- {
- typedef T& type;
- };
-
- template <typename T, int N>
- struct as_fusion_element<T[N]>
- {
- typedef const T(&type)[N];
- };
-
- template <typename T, int N>
- struct as_fusion_element<volatile T[N]>
- {
- typedef const volatile T(&type)[N];
- };
-
- template <typename T, int N>
- struct as_fusion_element<const volatile T[N]>
- {
- typedef const volatile T(&type)[N];
- };
-
-}}}
-
-#endif
diff --git a/boost/fusion/support/detail/category_of.hpp b/boost/fusion/support/detail/category_of.hpp
deleted file mode 100644
index e7ac44e..0000000
--- a/boost/fusion/support/detail/category_of.hpp
+++ /dev/null
@@ -1,19 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-#if !defined(FUSION_CATEGORY_OF_07212005_1025)
-#define FUSION_CATEGORY_OF_07212005_1025
-
-namespace boost { namespace fusion { namespace detail
-{
- template <typename T>
- struct fusion_category_of
- {
- typedef typename T::category type;
- };
-}}}
-
-#endif
diff --git a/boost/fusion/support/detail/is_mpl_sequence.hpp b/boost/fusion/support/detail/is_mpl_sequence.hpp
deleted file mode 100644
index 376afc2..0000000
--- a/boost/fusion/support/detail/is_mpl_sequence.hpp
+++ /dev/null
@@ -1,27 +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_DETAIL_IS_MPL_SEQUENCE_29122006_1105)
-#define FUSION_DETAIL_IS_MPL_SEQUENCE_29122006_1105
-
-#include <boost/fusion/support/sequence_base.hpp>
-#include <boost/mpl/is_sequence.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/type_traits/is_convertible.hpp>
-
-namespace boost { namespace fusion { namespace detail
-{
- template <typename T>
- struct is_mpl_sequence
- : mpl::and_<
- mpl::not_<is_convertible<T, from_sequence_convertible_type> >
- , mpl::is_sequence<T> >
- {};
-}}}
-
-#endif
diff --git a/boost/fusion/support/detail/is_view.hpp b/boost/fusion/support/detail/is_view.hpp
deleted file mode 100644
index c518dfc..0000000
--- a/boost/fusion/support/detail/is_view.hpp
+++ /dev/null
@@ -1,19 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-#if !defined(FUSION_IS_VIEW_03202006_0018)
-#define FUSION_IS_VIEW_03202006_0018
-
-namespace boost { namespace fusion { namespace detail
-{
- template <typename T>
- struct fusion_is_view
- {
- typedef typename T::is_view type;
- };
-}}}
-
-#endif
diff --git a/boost/fusion/support/detail/mpl_iterator_category.hpp b/boost/fusion/support/detail/mpl_iterator_category.hpp
deleted file mode 100644
index fcb00a0..0000000
--- a/boost/fusion/support/detail/mpl_iterator_category.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_MPL_ITERATOR_CATEGORY_07212005_0923)
-#define FUSION_MPL_ITERATOR_CATEGORY_07212005_0923
-
-namespace boost { namespace mpl
-{
- struct forward_iterator_tag;
- struct bidirectional_iterator_tag;
- struct random_access_iterator_tag;
-}}
-
-namespace boost { namespace fusion
-{
- struct forward_traversal_tag;
- struct bidirectional_traversal_tag;
- struct random_access_traversal_tag;
-}}
-
-namespace boost { namespace fusion { namespace detail
-{
- template <typename Category>
- struct mpl_iterator_category;
-
- template <>
- struct mpl_iterator_category<mpl::forward_iterator_tag>
- {
- typedef forward_traversal_tag type;
- };
-
- template <>
- struct mpl_iterator_category<mpl::bidirectional_iterator_tag>
- {
- typedef bidirectional_traversal_tag type;
- };
-
- template <>
- struct mpl_iterator_category<mpl::random_access_iterator_tag>
- {
- typedef random_access_traversal_tag type;
- };
-
- template <>
- struct mpl_iterator_category<forward_traversal_tag>
- {
- typedef forward_traversal_tag type;
- };
-
- template <>
- struct mpl_iterator_category<bidirectional_traversal_tag>
- {
- typedef bidirectional_traversal_tag type;
- };
-
- template <>
- struct mpl_iterator_category<random_access_traversal_tag>
- {
- typedef random_access_traversal_tag type;
- };
-}}}
-
-#endif
diff --git a/boost/fusion/support/detail/pp_round.hpp b/boost/fusion/support/detail/pp_round.hpp
deleted file mode 100644
index e1a6161..0000000
--- a/boost/fusion/support/detail/pp_round.hpp
+++ /dev/null
@@ -1,71 +0,0 @@
-/*=============================================================================
- Copyright (c) 2011 Thomas Heller
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_BOOST_FUSION_SUPPORT_PP_ROUND_HPP
-#define BOOST_BOOST_FUSION_SUPPORT_PP_ROUND_HPP
-
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/comparison/less.hpp>
-#include <boost/preprocessor/control/if.hpp>
-
-#define BOOST_FUSION_PP_ROUND_UP(N) \
- BOOST_PP_CAT(BOOST_FUSION_PP_DO_ROUND_UP_, N)() \
-/**/
-
-#define BOOST_FUSION_PP_DO_ROUND_UP_0() 10
-#define BOOST_FUSION_PP_DO_ROUND_UP_1() 10
-#define BOOST_FUSION_PP_DO_ROUND_UP_2() 10
-#define BOOST_FUSION_PP_DO_ROUND_UP_3() 10
-#define BOOST_FUSION_PP_DO_ROUND_UP_4() 10
-#define BOOST_FUSION_PP_DO_ROUND_UP_5() 10
-#define BOOST_FUSION_PP_DO_ROUND_UP_6() 10
-#define BOOST_FUSION_PP_DO_ROUND_UP_7() 10
-#define BOOST_FUSION_PP_DO_ROUND_UP_8() 10
-#define BOOST_FUSION_PP_DO_ROUND_UP_9() 10
-#define BOOST_FUSION_PP_DO_ROUND_UP_10() 10
-#define BOOST_FUSION_PP_DO_ROUND_UP_11() 20
-#define BOOST_FUSION_PP_DO_ROUND_UP_12() 20
-#define BOOST_FUSION_PP_DO_ROUND_UP_13() 20
-#define BOOST_FUSION_PP_DO_ROUND_UP_14() 20
-#define BOOST_FUSION_PP_DO_ROUND_UP_15() 20
-#define BOOST_FUSION_PP_DO_ROUND_UP_16() 20
-#define BOOST_FUSION_PP_DO_ROUND_UP_17() 20
-#define BOOST_FUSION_PP_DO_ROUND_UP_18() 20
-#define BOOST_FUSION_PP_DO_ROUND_UP_19() 20
-#define BOOST_FUSION_PP_DO_ROUND_UP_20() 20
-#define BOOST_FUSION_PP_DO_ROUND_UP_21() 30
-#define BOOST_FUSION_PP_DO_ROUND_UP_22() 30
-#define BOOST_FUSION_PP_DO_ROUND_UP_23() 30
-#define BOOST_FUSION_PP_DO_ROUND_UP_24() 30
-#define BOOST_FUSION_PP_DO_ROUND_UP_25() 30
-#define BOOST_FUSION_PP_DO_ROUND_UP_26() 30
-#define BOOST_FUSION_PP_DO_ROUND_UP_27() 30
-#define BOOST_FUSION_PP_DO_ROUND_UP_28() 30
-#define BOOST_FUSION_PP_DO_ROUND_UP_29() 30
-#define BOOST_FUSION_PP_DO_ROUND_UP_30() 30
-#define BOOST_FUSION_PP_DO_ROUND_UP_31() 40
-#define BOOST_FUSION_PP_DO_ROUND_UP_32() 40
-#define BOOST_FUSION_PP_DO_ROUND_UP_33() 40
-#define BOOST_FUSION_PP_DO_ROUND_UP_34() 40
-#define BOOST_FUSION_PP_DO_ROUND_UP_35() 40
-#define BOOST_FUSION_PP_DO_ROUND_UP_36() 40
-#define BOOST_FUSION_PP_DO_ROUND_UP_37() 40
-#define BOOST_FUSION_PP_DO_ROUND_UP_38() 40
-#define BOOST_FUSION_PP_DO_ROUND_UP_39() 40
-#define BOOST_FUSION_PP_DO_ROUND_UP_40() 40
-#define BOOST_FUSION_PP_DO_ROUND_UP_41() 50
-#define BOOST_FUSION_PP_DO_ROUND_UP_42() 50
-#define BOOST_FUSION_PP_DO_ROUND_UP_43() 50
-#define BOOST_FUSION_PP_DO_ROUND_UP_44() 50
-#define BOOST_FUSION_PP_DO_ROUND_UP_45() 50
-#define BOOST_FUSION_PP_DO_ROUND_UP_46() 50
-#define BOOST_FUSION_PP_DO_ROUND_UP_47() 50
-#define BOOST_FUSION_PP_DO_ROUND_UP_48() 50
-#define BOOST_FUSION_PP_DO_ROUND_UP_49() 50
-#define BOOST_FUSION_PP_DO_ROUND_UP_50() 50
-
-#endif
diff --git a/boost/fusion/support/detail/segmented_fold_until_impl.hpp b/boost/fusion/support/detail/segmented_fold_until_impl.hpp
deleted file mode 100644
index 08096c1..0000000
--- a/boost/fusion/support/detail/segmented_fold_until_impl.hpp
+++ /dev/null
@@ -1,389 +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_SEGMENTED_FOLD_UNTIL_IMPL_HPP_INCLUDED)
-#define BOOST_FUSION_SEGMENTED_FOLD_UNTIL_IMPL_HPP_INCLUDED
-
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/utility/result_of.hpp>
-#include <boost/type_traits/add_const.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-
-#include <boost/fusion/support/void.hpp>
-#include <boost/fusion/container/list/cons_fwd.hpp>
-#include <boost/fusion/sequence/intrinsic_fwd.hpp>
-#include <boost/fusion/iterator/equal_to.hpp>
-#include <boost/fusion/iterator/deref.hpp>
-#include <boost/fusion/iterator/next.hpp>
-#include <boost/fusion/support/is_segmented.hpp>
-#include <boost/fusion/sequence/intrinsic/segments.hpp>
-
-// fun(seq, state, context)
-// seq: a non-segmented range
-// state: the state of the fold so far
-// context: the path to the current range
-//
-// returns: (state', fcontinue)
-
-namespace boost { namespace fusion
-{
- template <typename First, typename Last>
- struct iterator_range;
-
- template <typename Context>
- struct segmented_iterator;
-
- namespace result_of
- {
- template <typename Cur, typename Context>
- struct make_segmented_iterator
- {
- typedef
- iterator_range<
- Cur
- , typename result_of::end<
- typename remove_reference<
- typename add_const<
- typename result_of::deref<
- typename Context::car_type::begin_type
- >::type
- >::type
- >::type
- >::type
- >
- range_type;
-
- typedef
- segmented_iterator<cons<range_type, Context> >
- type;
- };
- }
-
- template <typename Cur, typename Context>
- typename result_of::make_segmented_iterator<Cur, Context>::type
- make_segmented_iterator(Cur const& cur, Context const& context)
- {
- typedef result_of::make_segmented_iterator<Cur, Context> impl_type;
- typedef typename impl_type::type type;
- typedef typename impl_type::range_type range_type;
- return type(cons<range_type, Context>(range_type(cur, fusion::end(*context.car.first)), context));
- }
-
- namespace detail
- {
- template <
- typename Begin
- , typename End
- , typename State
- , typename Context
- , typename Fun
- , bool IsEmpty
- >
- struct segmented_fold_until_iterate_skip_empty;
-
- template <
- typename Begin
- , typename End
- , typename State
- , typename Context
- , typename Fun
- , bool IsDone = result_of::equal_to<Begin, End>::type::value
- >
- struct segmented_fold_until_iterate;
-
- template <
- typename Sequence
- , typename State
- , typename Context
- , typename Fun
- , bool IsSegmented = traits::is_segmented<Sequence>::type::value
- >
- struct segmented_fold_until_impl;
-
- template <typename Segments, typename State, typename Context, typename Fun>
- struct segmented_fold_until_on_segments;
-
- //auto push_context(cur, end, context)
- //{
- // return push_back(context, segment_sequence(iterator_range(cur, end)));
- //}
-
- template <typename Cur, typename End, typename Context>
- struct push_context
- {
- typedef iterator_range<Cur, End> range_type;
- typedef cons<range_type, Context> type;
-
- static type call(Cur const& cur, End const& end, Context const& context)
- {
- return cons<range_type, Context>(range_type(cur, end), context);
- }
- };
-
- //auto make_segmented_iterator(cur, end, context)
- //{
- // return segmented_iterator(push_context(cur, end, context));
- //}
- //
- //auto segmented_fold_until_impl(seq, state, context, fun)
- //{
- // if (is_segmented(seq))
- // {
- // segmented_fold_until_on_segments(segments(seq), state, context, fun);
- // }
- // else
- // {
- // return fun(seq, state, context);
- // }
- //}
-
- template <
- typename Sequence
- , typename State
- , typename Context
- , typename Fun
- , bool IsSegmented
- >
- struct segmented_fold_until_impl
- {
- typedef
- segmented_fold_until_on_segments<
- typename remove_reference<
- typename add_const<
- typename result_of::segments<Sequence>::type
- >::type
- >::type
- , State
- , Context
- , Fun
- >
- impl;
-
- typedef typename impl::type type;
- typedef typename impl::continue_type continue_type;
-
- static type call(Sequence& seq, State const& state, Context const& context, Fun const& fun)
- {
- return impl::call(fusion::segments(seq), state, context, fun);
- }
- };
-
- template <
- typename Sequence
- , typename State
- , typename Context
- , typename Fun
- >
- struct segmented_fold_until_impl<Sequence, State, Context, Fun, false>
- {
- typedef
- typename Fun::template apply<Sequence, State, Context>
- apply_type;
-
- typedef typename apply_type::type type;
- typedef typename apply_type::continue_type continue_type;
-
- static type call(Sequence& seq, State const& state, Context const& context, Fun const& fun)
- {
- return apply_type::call(seq, state, context, fun);
- }
- };
-
- //auto segmented_fold_until_on_segments(segs, state, context, fun)
- //{
- // auto cur = begin(segs), end = end(segs);
- // for (; cur != end; ++cur)
- // {
- // if (empty(*cur))
- // continue;
- // auto context` = push_context(cur, end, context);
- // state = segmented_fold_until_impl(*cur, state, context`, fun);
- // if (!second(state))
- // return state;
- // }
- //}
-
- template <typename Apply>
- struct continue_wrap
- {
- typedef typename Apply::continue_type type;
- };
-
- template <typename Begin, typename End, typename State, typename Context, typename Fun, bool IsEmpty>
- struct segmented_fold_until_iterate_skip_empty
- {
- // begin != end and !empty(*begin)
- typedef
- push_context<Begin, End, Context>
- push_context_impl;
-
- typedef
- typename push_context_impl::type
- next_context_type;
-
- typedef
- segmented_fold_until_impl<
- typename remove_reference<
- typename add_const<
- typename result_of::deref<Begin>::type
- >::type
- >::type
- , State
- , next_context_type
- , Fun
- >
- fold_recurse_impl;
-
- typedef
- typename fold_recurse_impl::type
- next_state_type;
-
- typedef
- segmented_fold_until_iterate<
- typename result_of::next<Begin>::type
- , End
- , next_state_type
- , Context
- , Fun
- >
- next_iteration_impl;
-
- typedef
- typename mpl::eval_if<
- typename fold_recurse_impl::continue_type
- , next_iteration_impl
- , mpl::identity<next_state_type>
- >::type
- type;
-
- typedef
- typename mpl::eval_if<
- typename fold_recurse_impl::continue_type
- , continue_wrap<next_iteration_impl>
- , mpl::identity<mpl::false_>
- >::type
- continue_type;
-
- static type call(Begin const& beg, End const& end, State const& state
- , Context const& context, Fun const& fun)
- {
- return call(beg, end, state, context, fun, typename fold_recurse_impl::continue_type());
- }
-
- static type call(Begin const& beg, End const& end, State const& state
- , Context const& context, Fun const& fun, mpl::true_) // continue
- {
- return next_iteration_impl::call(
- fusion::next(beg)
- , end
- , fold_recurse_impl::call(
- *beg
- , state
- , push_context_impl::call(beg, end, context)
- , fun)
- , context
- , fun);
- }
-
- static type call(Begin const& beg, End const& end, State const& state
- , Context const& context, Fun const& fun, mpl::false_) // break
- {
- return fold_recurse_impl::call(
- *beg
- , state
- , push_context_impl::call(beg, end, context)
- , fun);
- }
- };
-
- template <typename Begin, typename End, typename State, typename Context, typename Fun>
- struct segmented_fold_until_iterate_skip_empty<Begin, End, State, Context, Fun, true>
- {
- typedef
- segmented_fold_until_iterate<
- typename result_of::next<Begin>::type
- , End
- , State
- , Context
- , Fun
- >
- impl;
-
- typedef typename impl::type type;
- typedef typename impl::continue_type continue_type;
-
- static type call(Begin const& beg, End const& end, State const& state
- , Context const& context, Fun const& fun)
- {
- return impl::call(fusion::next(beg), end, state, context, fun);
- }
- };
-
- template <typename Begin, typename End, typename State, typename Context, typename Fun, bool IsDone>
- struct segmented_fold_until_iterate
- {
- typedef
- typename result_of::empty<
- typename remove_reference<
- typename result_of::deref<Begin>::type
- >::type
- >::type
- empty_type;
-
- typedef
- segmented_fold_until_iterate_skip_empty<Begin, End, State, Context, Fun, empty_type::value>
- impl;
-
- typedef typename impl::type type;
- typedef typename impl::continue_type continue_type;
-
- static type call(Begin const& beg, End const& end, State const& state
- , Context const& context, Fun const& fun)
- {
- return impl::call(beg, end, state, context, fun);
- }
- };
-
- template <typename Begin, typename End, typename State, typename Context, typename Fun>
- struct segmented_fold_until_iterate<Begin, End, State, Context, Fun, true>
- {
- typedef State type;
- typedef mpl::true_ continue_type;
-
- static type call(Begin const&, End const&, State const& state
- , Context const&, Fun const&)
- {
- return state;
- }
- };
-
- template <typename Segments, typename State, typename Context, typename Fun>
- struct segmented_fold_until_on_segments
- {
- typedef
- segmented_fold_until_iterate<
- typename result_of::begin<Segments>::type
- , typename result_of::end<Segments>::type
- , State
- , Context
- , Fun
- >
- impl;
-
- typedef typename impl::type type;
- typedef typename impl::continue_type continue_type;
-
- static type call(Segments& segs, State const& state, Context const& context, Fun const& fun)
- {
- return impl::call(fusion::begin(segs), fusion::end(segs), state, context, fun);
- }
- };
- }
-}}
-
-#endif
diff --git a/boost/fusion/support/is_iterator.hpp b/boost/fusion/support/is_iterator.hpp
deleted file mode 100644
index f0272d0..0000000
--- a/boost/fusion/support/is_iterator.hpp
+++ /dev/null
@@ -1,20 +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_IS_ITERATOR_05062005_1219)
-#define FUSION_IS_ITERATOR_05062005_1219
-
-#include <boost/type_traits/is_base_of.hpp>
-
-namespace boost { namespace fusion
-{
- struct iterator_root;
-
- template <typename T>
- struct is_fusion_iterator : is_base_of<iterator_root, T> {};
-}}
-
-#endif
diff --git a/boost/fusion/support/is_segmented.hpp b/boost/fusion/support/is_segmented.hpp
deleted file mode 100644
index 6e62eac..0000000
--- a/boost/fusion/support/is_segmented.hpp
+++ /dev/null
@@ -1,54 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006 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_IS_SEGMENTED_03202006_0015)
-#define FUSION_IS_SEGMENTED_03202006_0015
-
-#include <boost/mpl/bool.hpp>
-#include <boost/fusion/support/tag_of.hpp>
-
-namespace boost { namespace fusion
-{
- // Special tags:
- struct sequence_facade_tag;
- struct iterator_range_tag;
-
- namespace extension
- {
- template <typename Tag>
- struct is_segmented_impl
- {
- template <typename Sequence>
- struct apply
- : mpl::false_
- {};
- };
-
- template <>
- struct is_segmented_impl<sequence_facade_tag>
- {
- template <typename Sequence>
- struct apply : Sequence::is_segmented {};
- };
-
- template <>
- struct is_segmented_impl<iterator_range_tag>;
- }
-
- namespace traits
- {
- template <typename Sequence>
- struct is_segmented
- : mpl::bool_<
- (bool)extension::is_segmented_impl<typename traits::tag_of<Sequence>::type>::
- template apply<Sequence>::type::value
- >
- {
- };
- }
-}}
-
-#endif
diff --git a/boost/fusion/support/is_sequence.hpp b/boost/fusion/support/is_sequence.hpp
deleted file mode 100644
index 184bbbb..0000000
--- a/boost/fusion/support/is_sequence.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_IS_SEQUENCE_05052005_1002)
-#define FUSION_IS_SEQUENCE_05052005_1002
-
-#include <boost/fusion/support/sequence_base.hpp>
-#include <boost/fusion/support/tag_of.hpp>
-#include <boost/mpl/is_sequence.hpp>
-#include <boost/mpl/or.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/type_traits/is_convertible.hpp>
-#include <boost/type_traits/is_same.hpp>
-
-namespace boost { namespace fusion
-{
- // Special tags:
- struct non_fusion_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 <typename T>
- struct is_sequence_impl
- {
- template <typename Sequence>
- struct apply
- : is_convertible<Sequence, detail::from_sequence_convertible_type>
- {};
- };
-
- template <>
- struct is_sequence_impl<non_fusion_tag>
- {
- template <typename T>
- struct apply : mpl::false_ {};
- };
-
- template <>
- struct is_sequence_impl<boost_tuple_tag>;
-
- template <>
- struct is_sequence_impl<boost_array_tag>;
-
- template <>
- struct is_sequence_impl<mpl_sequence_tag>;
-
- template <>
- struct is_sequence_impl<std_pair_tag>;
- }
-
- namespace traits
- {
- template <typename T>
- struct is_sequence
- : mpl::bool_<
- (bool)extension::is_sequence_impl<
- typename fusion::detail::tag_of<T>::type
- >::template apply<T>::type::value
- >
- {};
-
- template <typename Sequence, typename Enable = void>
- struct is_native_fusion_sequence
- : is_convertible<Sequence, detail::from_sequence_convertible_type>
- {};
- }
-}}
-
-#endif
diff --git a/boost/fusion/support/is_view.hpp b/boost/fusion/support/is_view.hpp
deleted file mode 100644
index 4ec9e06..0000000
--- a/boost/fusion/support/is_view.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_IS_VIEW_03202006_0015)
-#define FUSION_IS_VIEW_03202006_0015
-
-#include <boost/mpl/bool.hpp>
-#include <boost/fusion/support/detail/is_view.hpp>
-#include <boost/fusion/support/tag_of.hpp>
-
-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<typename Tag>
- struct is_view_impl
- {
- template <typename T>
- struct apply
- : detail::fusion_is_view<T>
- {};
- };
-
- template <>
- struct is_view_impl<sequence_facade_tag>
- {
- template <typename Sequence>
- struct apply : Sequence::is_view {};
- };
-
- template <>
- struct is_view_impl<boost_tuple_tag>;
-
- template <>
- struct is_view_impl<boost_array_tag>;
-
- template <>
- struct is_view_impl<mpl_sequence_tag>;
-
- template <>
- struct is_view_impl<std_pair_tag>;
- }
-
- namespace traits
- {
- template <typename T>
- struct is_view :
- mpl::bool_<
- (bool)extension::is_view_impl<typename fusion::detail::tag_of<T>::type>::
- template apply<T>::type::value
- >
- {};
- }
-}}
-
-#endif
diff --git a/boost/fusion/support/iterator_base.hpp b/boost/fusion/support/iterator_base.hpp
deleted file mode 100644
index ad24d93..0000000
--- a/boost/fusion/support/iterator_base.hpp
+++ /dev/null
@@ -1,31 +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_BASE_05042005_1008)
-#define FUSION_ITERATOR_BASE_05042005_1008
-
-namespace boost { namespace fusion
-{
- struct iterator_root {};
-
- template <typename Iterator>
- struct iterator_base : iterator_root
- {
- Iterator const&
- cast() const
- {
- return static_cast<Iterator const&>(*this);
- }
-
- Iterator&
- cast()
- {
- return static_cast<Iterator&>(*this);
- }
- };
-}}
-
-#endif
diff --git a/boost/fusion/support/sequence_base.hpp b/boost/fusion/support/sequence_base.hpp
deleted file mode 100644
index 89affab..0000000
--- a/boost/fusion/support/sequence_base.hpp
+++ /dev/null
@@ -1,54 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- 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(FUSION_SEQUENCE_BASE_04182005_0737)
-#define FUSION_SEQUENCE_BASE_04182005_0737
-
-#include <boost/mpl/begin_end_fwd.hpp>
-
-namespace boost { namespace fusion
-{
- namespace detail
- {
- struct from_sequence_convertible_type
- {};
- }
-
- template <typename Sequence>
- struct sequence_base
- {
- Sequence const&
- derived() const
- {
- return static_cast<Sequence const&>(*this);
- }
-
- Sequence&
- derived()
- {
- return static_cast<Sequence&>(*this);
- }
-
- operator detail::from_sequence_convertible_type()const
- {
- return detail::from_sequence_convertible_type();
- }
- };
-
- struct fusion_sequence_tag;
-}}
-
-namespace boost { namespace mpl
-{
- // Deliberately break mpl::begin, so it doesn't lie that a Fusion sequence
- // is not an MPL sequence by returning mpl::void_.
- // In other words: Fusion Sequences are always MPL Sequences, but they can
- // be incompletely defined.
- template<> struct begin_impl< boost::fusion::fusion_sequence_tag >;
-}}
-
-#endif
diff --git a/boost/fusion/support/tag_of.hpp b/boost/fusion/support/tag_of.hpp
deleted file mode 100644
index a3fef3b..0000000
--- a/boost/fusion/support/tag_of.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)
-==============================================================================*/
-#if !defined(FUSION_TAG_OF_09232005_0845)
-#define FUSION_TAG_OF_09232005_0845
-
-#include <boost/utility/enable_if.hpp>
-#include <boost/type_traits/remove_const.hpp>
-#include <boost/fusion/support/tag_of_fwd.hpp>
-#include <boost/fusion/support/detail/is_mpl_sequence.hpp>
-#include <boost/mpl/has_xxx.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/assert.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/config/no_tr1/utility.hpp>
-
-namespace boost
-{
- template <typename T, std::size_t N>
- class array; // forward
-
- namespace tuples
- {
- struct null_type;
-
- template <
- class T0, class T1, class T2, class T3, class T4,
- class T5, class T6, class T7, class T8, class T9
- >
- class tuple;
-
- template <class Head, class Tail>
- struct cons;
- }
-}
-
-namespace boost { namespace fusion
-{
- struct non_fusion_tag;
- struct mpl_sequence_tag;
-
- namespace detail
- {
- BOOST_MPL_HAS_XXX_TRAIT_DEF(fusion_tag)
-
- template <typename Sequence, typename Active>
- struct tag_of_impl
- : mpl::if_<fusion::detail::is_mpl_sequence<Sequence>,
- mpl::identity<mpl_sequence_tag>,
- mpl::identity<non_fusion_tag> >::type
- {};
-
- template <typename Sequence>
- struct tag_of_impl<
- Sequence
- , typename boost::enable_if<detail::has_fusion_tag<Sequence> >::type>
- {
- typedef typename Sequence::fusion_tag type;
- };
- }
-
- namespace traits
- {
- template <typename Sequence, typename Active>
- struct tag_of
- : boost::fusion::detail::tag_of_impl<Sequence, Active>
- {};
- }
-
- namespace detail
- {
- template<typename T>
- struct tag_of
- : traits::tag_of<typename remove_const<T>::type>
- {};
- }
-}}
-#endif
diff --git a/boost/fusion/support/tag_of_fwd.hpp b/boost/fusion/support/tag_of_fwd.hpp
deleted file mode 100644
index ba434d9..0000000
--- a/boost/fusion/support/tag_of_fwd.hpp
+++ /dev/null
@@ -1,20 +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_TAG_OF_FWD_31122005_1445)
-#define BOOST_FUSION_TAG_OF_FWD_31122005_1445
-
-namespace boost { namespace fusion
-{
- namespace traits
- {
- template<typename T, typename Active = void>
- struct tag_of;
- }
-}}
-
-#endif
diff --git a/boost/fusion/support/void.hpp b/boost/fusion/support/void.hpp
deleted file mode 100644
index 7650519..0000000
--- a/boost/fusion/support/void.hpp
+++ /dev/null
@@ -1,15 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-#if !defined(BOOST_FUSION_SUPPORT_VOID_20070706_2125)
-#define BOOST_FUSION_SUPPORT_VOID_20070706_2125
-
-namespace boost { namespace fusion
-{
- struct void_ {};
-}}
-
-#endif
diff --git a/boost/fusion/tuple.hpp b/boost/fusion/tuple.hpp
deleted file mode 100644
index 3a4e7d0..0000000
--- a/boost/fusion/tuple.hpp
+++ /dev/null
@@ -1,15 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-#if !defined(FUSION_TUPLE_10032005_0806)
-#define FUSION_TUPLE_10032005_0806
-
-#include <boost/fusion/tuple/tuple.hpp>
-#include <boost/fusion/tuple/make_tuple.hpp>
-#include <boost/fusion/tuple/tuple_tie.hpp>
-#include <boost/fusion/container/generation/ignore.hpp>
-
-#endif
diff --git a/boost/fusion/tuple/detail/preprocessed/make_tuple.hpp b/boost/fusion/tuple/detail/preprocessed/make_tuple.hpp
deleted file mode 100644
index 6abb033..0000000
--- a/boost/fusion/tuple/detail/preprocessed/make_tuple.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
- This is an auto-generated file. Do not edit!
-==============================================================================*/
-#if FUSION_MAX_VECTOR_SIZE <= 10
-#include <boost/fusion/tuple/detail/preprocessed/make_tuple10.hpp>
-#elif FUSION_MAX_VECTOR_SIZE <= 20
-#include <boost/fusion/tuple/detail/preprocessed/make_tuple20.hpp>
-#elif FUSION_MAX_VECTOR_SIZE <= 30
-#include <boost/fusion/tuple/detail/preprocessed/make_tuple30.hpp>
-#elif FUSION_MAX_VECTOR_SIZE <= 40
-#include <boost/fusion/tuple/detail/preprocessed/make_tuple40.hpp>
-#elif FUSION_MAX_VECTOR_SIZE <= 50
-#include <boost/fusion/tuple/detail/preprocessed/make_tuple50.hpp>
-#else
-#error "FUSION_MAX_VECTOR_SIZE out of bounds for preprocessed headers"
-#endif
diff --git a/boost/fusion/tuple/detail/preprocessed/make_tuple10.hpp b/boost/fusion/tuple/detail/preprocessed/make_tuple10.hpp
deleted file mode 100644
index 679af2f..0000000
--- a/boost/fusion/tuple/detail/preprocessed/make_tuple10.hpp
+++ /dev/null
@@ -1,81 +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 <typename T0>
- inline tuple<typename detail::as_fusion_element<T0>::type>
- make_tuple(T0 const& _0)
- {
- return tuple<typename detail::as_fusion_element<T0>::type>(
- _0);
- }
- template <typename T0 , typename T1>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type>
- make_tuple(T0 const& _0 , T1 const& _1)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type>(
- _0 , _1);
- }
- template <typename T0 , typename T1 , typename T2>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type>
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type>(
- _0 , _1 , _2);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type>
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type>(
- _0 , _1 , _2 , _3);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type>
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type>(
- _0 , _1 , _2 , _3 , _4);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type>
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type>(
- _0 , _1 , _2 , _3 , _4 , _5);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type>
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type>
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type>
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type>
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9);
- }
-}}
diff --git a/boost/fusion/tuple/detail/preprocessed/make_tuple20.hpp b/boost/fusion/tuple/detail/preprocessed/make_tuple20.hpp
deleted file mode 100644
index 6a3a733..0000000
--- a/boost/fusion/tuple/detail/preprocessed/make_tuple20.hpp
+++ /dev/null
@@ -1,151 +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 <typename T0>
- inline tuple<typename detail::as_fusion_element<T0>::type>
- make_tuple(T0 const& _0)
- {
- return tuple<typename detail::as_fusion_element<T0>::type>(
- _0);
- }
- template <typename T0 , typename T1>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type>
- make_tuple(T0 const& _0 , T1 const& _1)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type>(
- _0 , _1);
- }
- template <typename T0 , typename T1 , typename T2>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type>
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type>(
- _0 , _1 , _2);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type>
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type>(
- _0 , _1 , _2 , _3);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type>
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type>(
- _0 , _1 , _2 , _3 , _4);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type>
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type>(
- _0 , _1 , _2 , _3 , _4 , _5);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type>
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type>
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type>
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type>
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19);
- }
-}}
diff --git a/boost/fusion/tuple/detail/preprocessed/make_tuple30.hpp b/boost/fusion/tuple/detail/preprocessed/make_tuple30.hpp
deleted file mode 100644
index 358ed80..0000000
--- a/boost/fusion/tuple/detail/preprocessed/make_tuple30.hpp
+++ /dev/null
@@ -1,221 +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 <typename T0>
- inline tuple<typename detail::as_fusion_element<T0>::type>
- make_tuple(T0 const& _0)
- {
- return tuple<typename detail::as_fusion_element<T0>::type>(
- _0);
- }
- template <typename T0 , typename T1>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type>
- make_tuple(T0 const& _0 , T1 const& _1)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type>(
- _0 , _1);
- }
- template <typename T0 , typename T1 , typename T2>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type>
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type>(
- _0 , _1 , _2);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type>
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type>(
- _0 , _1 , _2 , _3);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type>
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type>(
- _0 , _1 , _2 , _3 , _4);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type>
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type>(
- _0 , _1 , _2 , _3 , _4 , _5);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type>
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type>
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type>
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type>
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 [...]
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _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/boost/fusion/tuple/detail/preprocessed/make_tuple40.hpp b/boost/fusion/tuple/detail/preprocessed/make_tuple40.hpp
deleted file mode 100644
index 420c41e..0000000
--- a/boost/fusion/tuple/detail/preprocessed/make_tuple40.hpp
+++ /dev/null
@@ -1,291 +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 <typename T0>
- inline tuple<typename detail::as_fusion_element<T0>::type>
- make_tuple(T0 const& _0)
- {
- return tuple<typename detail::as_fusion_element<T0>::type>(
- _0);
- }
- template <typename T0 , typename T1>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type>
- make_tuple(T0 const& _0 , T1 const& _1)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type>(
- _0 , _1);
- }
- template <typename T0 , typename T1 , typename T2>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type>
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type>(
- _0 , _1 , _2);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type>
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type>(
- _0 , _1 , _2 , _3);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type>
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type>(
- _0 , _1 , _2 , _3 , _4);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type>
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type>(
- _0 , _1 , _2 , _3 , _4 , _5);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type>
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type>
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type>
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type>
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 [...]
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 [...]
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 [...]
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 [...]
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 [...]
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 [...]
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 [...]
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 [...]
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 [...]
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 [...]
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 [...]
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _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/boost/fusion/tuple/detail/preprocessed/make_tuple50.hpp b/boost/fusion/tuple/detail/preprocessed/make_tuple50.hpp
deleted file mode 100644
index f387400..0000000
--- a/boost/fusion/tuple/detail/preprocessed/make_tuple50.hpp
+++ /dev/null
@@ -1,361 +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 <typename T0>
- inline tuple<typename detail::as_fusion_element<T0>::type>
- make_tuple(T0 const& _0)
- {
- return tuple<typename detail::as_fusion_element<T0>::type>(
- _0);
- }
- template <typename T0 , typename T1>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type>
- make_tuple(T0 const& _0 , T1 const& _1)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type>(
- _0 , _1);
- }
- template <typename T0 , typename T1 , typename T2>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type>
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type>(
- _0 , _1 , _2);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type>
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type>(
- _0 , _1 , _2 , _3);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type>
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type>(
- _0 , _1 , _2 , _3 , _4);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type>
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type>(
- _0 , _1 , _2 , _3 , _4 , _5);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type>
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type>
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type>
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type>
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28)
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 [...]
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 [...]
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 [...]
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32>
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 [...]
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 [...]
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 [...]
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 [...]
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 [...]
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 [...]
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 [...]
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 [...]
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 [...]
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 [...]
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 [...]
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 [...]
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 [...]
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 [...]
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 [...]
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 [...]
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 [...]
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- inline tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typen [...]
- make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 [...]
- {
- return tuple<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , t [...]
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _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/boost/fusion/tuple/detail/preprocessed/tuple.hpp b/boost/fusion/tuple/detail/preprocessed/tuple.hpp
deleted file mode 100644
index 8f9b94a..0000000
--- a/boost/fusion/tuple/detail/preprocessed/tuple.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
- This is an auto-generated file. Do not edit!
-==============================================================================*/
-#if FUSION_MAX_VECTOR_SIZE <= 10
-#include <boost/fusion/tuple/detail/preprocessed/tuple10.hpp>
-#elif FUSION_MAX_VECTOR_SIZE <= 20
-#include <boost/fusion/tuple/detail/preprocessed/tuple20.hpp>
-#elif FUSION_MAX_VECTOR_SIZE <= 30
-#include <boost/fusion/tuple/detail/preprocessed/tuple30.hpp>
-#elif FUSION_MAX_VECTOR_SIZE <= 40
-#include <boost/fusion/tuple/detail/preprocessed/tuple40.hpp>
-#elif FUSION_MAX_VECTOR_SIZE <= 50
-#include <boost/fusion/tuple/detail/preprocessed/tuple50.hpp>
-#else
-#error "FUSION_MAX_VECTOR_SIZE out of bounds for preprocessed headers"
-#endif
\ No newline at end of file
diff --git a/boost/fusion/tuple/detail/preprocessed/tuple10.hpp b/boost/fusion/tuple/detail/preprocessed/tuple10.hpp
deleted file mode 100644
index dc0b8de..0000000
--- a/boost/fusion/tuple/detail/preprocessed/tuple10.hpp
+++ /dev/null
@@ -1,173 +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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
- struct tuple : vector<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9>
- {
- typedef vector<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9>
- base_type;
- tuple()
- : base_type() {}
- tuple(tuple const& rhs)
- : base_type(rhs) {}
- template <typename U1, typename U2>
- tuple(std::pair<U1, U2> const& rhs)
- : base_type(rhs) {}
- explicit
- tuple(typename detail::call_param<T0 >::type _0)
- : base_type(_0) {}
- template <typename U0>
- tuple(tuple<U0> const& rhs)
- : base_type(rhs) {}
- template <typename U0>
- tuple& operator=(tuple<U0> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1)
- : base_type(_0 , _1) {}
- template <typename U0 , typename U1>
- tuple(tuple<U0 , U1> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1>
- tuple& operator=(tuple<U0 , U1> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2)
- : base_type(_0 , _1 , _2) {}
- template <typename U0 , typename U1 , typename U2>
- tuple(tuple<U0 , U1 , U2> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2>
- tuple& operator=(tuple<U0 , U1 , U2> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3)
- : base_type(_0 , _1 , _2 , _3) {}
- template <typename U0 , typename U1 , typename U2 , typename U3>
- tuple(tuple<U0 , U1 , U2 , U3> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3>
- tuple& operator=(tuple<U0 , U1 , U2 , U3> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4)
- : base_type(_0 , _1 , _2 , _3 , _4) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4>
- tuple(tuple<U0 , U1 , U2 , U3 , U4> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5)
- : base_type(_0 , _1 , _2 , _3 , _4 , _5) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6)
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7)
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8)
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9)
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- template <typename T>
- tuple& operator=(T const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple& operator=(tuple const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- template <typename U1, typename U2>
- tuple& operator=(std::pair<U1, U2> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- };
- template <typename Tuple>
- struct tuple_size : result_of::size<Tuple> {};
- template <int N, typename Tuple>
- struct tuple_element : result_of::value_at_c<Tuple, N> {};
- template <int N, typename Tuple>
- inline typename
- lazy_disable_if<
- is_const<Tuple>
- , result_of::at_c<Tuple, N>
- >::type
- get(Tuple& tup)
- {
- return at_c<N>(tup);
- }
- template <int N, typename Tuple>
- inline typename result_of::at_c<Tuple const, N>::type
- get(Tuple const& tup)
- {
- return at_c<N>(tup);
- }
-}}
diff --git a/boost/fusion/tuple/detail/preprocessed/tuple10_fwd.hpp b/boost/fusion/tuple/detail/preprocessed/tuple10_fwd.hpp
deleted file mode 100644
index 7ec3196..0000000
--- a/boost/fusion/tuple/detail/preprocessed/tuple10_fwd.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)
-
- This is an auto-generated file. Do not edit!
-==============================================================================*/
-namespace boost { namespace fusion
-{
- struct void_;
- template <
- typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_
- >
- struct tuple;
-}}
diff --git a/boost/fusion/tuple/detail/preprocessed/tuple20.hpp b/boost/fusion/tuple/detail/preprocessed/tuple20.hpp
deleted file mode 100644
index 7ce3859..0000000
--- a/boost/fusion/tuple/detail/preprocessed/tuple20.hpp
+++ /dev/null
@@ -1,283 +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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19>
- struct tuple : vector<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19>
- {
- typedef vector<
- T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19>
- base_type;
- tuple()
- : base_type() {}
- tuple(tuple const& rhs)
- : base_type(rhs) {}
- template <typename U1, typename U2>
- tuple(std::pair<U1, U2> const& rhs)
- : base_type(rhs) {}
- explicit
- tuple(typename detail::call_param<T0 >::type _0)
- : base_type(_0) {}
- template <typename U0>
- tuple(tuple<U0> const& rhs)
- : base_type(rhs) {}
- template <typename U0>
- tuple& operator=(tuple<U0> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1)
- : base_type(_0 , _1) {}
- template <typename U0 , typename U1>
- tuple(tuple<U0 , U1> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1>
- tuple& operator=(tuple<U0 , U1> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2)
- : base_type(_0 , _1 , _2) {}
- template <typename U0 , typename U1 , typename U2>
- tuple(tuple<U0 , U1 , U2> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2>
- tuple& operator=(tuple<U0 , U1 , U2> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3)
- : base_type(_0 , _1 , _2 , _3) {}
- template <typename U0 , typename U1 , typename U2 , typename U3>
- tuple(tuple<U0 , U1 , U2 , U3> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3>
- tuple& operator=(tuple<U0 , U1 , U2 , U3> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4)
- : base_type(_0 , _1 , _2 , _3 , _4) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4>
- tuple(tuple<U0 , U1 , U2 , U3 , U4> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5)
- : base_type(_0 , _1 , _2 , _3 , _4 , _5) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6)
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7)
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8)
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9)
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _10)
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- template <typename T>
- tuple& operator=(T const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple& operator=(tuple const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- template <typename U1, typename U2>
- tuple& operator=(std::pair<U1, U2> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- };
- template <typename Tuple>
- struct tuple_size : result_of::size<Tuple> {};
- template <int N, typename Tuple>
- struct tuple_element : result_of::value_at_c<Tuple, N> {};
- template <int N, typename Tuple>
- inline typename
- lazy_disable_if<
- is_const<Tuple>
- , result_of::at_c<Tuple, N>
- >::type
- get(Tuple& tup)
- {
- return at_c<N>(tup);
- }
- template <int N, typename Tuple>
- inline typename result_of::at_c<Tuple const, N>::type
- get(Tuple const& tup)
- {
- return at_c<N>(tup);
- }
-}}
diff --git a/boost/fusion/tuple/detail/preprocessed/tuple20_fwd.hpp b/boost/fusion/tuple/detail/preprocessed/tuple20_fwd.hpp
deleted file mode 100644
index 3769f89..0000000
--- a/boost/fusion/tuple/detail/preprocessed/tuple20_fwd.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)
-
- This is an auto-generated file. Do not edit!
-==============================================================================*/
-namespace boost { namespace fusion
-{
- struct void_;
- template <
- typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_
- >
- struct tuple;
-}}
diff --git a/boost/fusion/tuple/detail/preprocessed/tuple30.hpp b/boost/fusion/tuple/detail/preprocessed/tuple30.hpp
deleted file mode 100644
index d065293..0000000
--- a/boost/fusion/tuple/detail/preprocessed/tuple30.hpp
+++ /dev/null
@@ -1,393 +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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29>
- struct tuple : 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>
- {
- 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;
- tuple()
- : base_type() {}
- tuple(tuple const& rhs)
- : base_type(rhs) {}
- template <typename U1, typename U2>
- tuple(std::pair<U1, U2> const& rhs)
- : base_type(rhs) {}
- explicit
- tuple(typename detail::call_param<T0 >::type _0)
- : base_type(_0) {}
- template <typename U0>
- tuple(tuple<U0> const& rhs)
- : base_type(rhs) {}
- template <typename U0>
- tuple& operator=(tuple<U0> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1)
- : base_type(_0 , _1) {}
- template <typename U0 , typename U1>
- tuple(tuple<U0 , U1> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1>
- tuple& operator=(tuple<U0 , U1> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2)
- : base_type(_0 , _1 , _2) {}
- template <typename U0 , typename U1 , typename U2>
- tuple(tuple<U0 , U1 , U2> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2>
- tuple& operator=(tuple<U0 , U1 , U2> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3)
- : base_type(_0 , _1 , _2 , _3) {}
- template <typename U0 , typename U1 , typename U2 , typename U3>
- tuple(tuple<U0 , U1 , U2 , U3> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3>
- tuple& operator=(tuple<U0 , U1 , U2 , U3> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4)
- : base_type(_0 , _1 , _2 , _3 , _4) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4>
- tuple(tuple<U0 , U1 , U2 , U3 , U4> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5)
- : base_type(_0 , _1 , _2 , _3 , _4 , _5) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6)
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7)
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8)
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9)
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _10)
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- template <typename T>
- tuple& operator=(T const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple& operator=(tuple const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- template <typename U1, typename U2>
- tuple& operator=(std::pair<U1, U2> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- };
- template <typename Tuple>
- struct tuple_size : result_of::size<Tuple> {};
- template <int N, typename Tuple>
- struct tuple_element : result_of::value_at_c<Tuple, N> {};
- template <int N, typename Tuple>
- inline typename
- lazy_disable_if<
- is_const<Tuple>
- , result_of::at_c<Tuple, N>
- >::type
- get(Tuple& tup)
- {
- return at_c<N>(tup);
- }
- template <int N, typename Tuple>
- inline typename result_of::at_c<Tuple const, N>::type
- get(Tuple const& tup)
- {
- return at_c<N>(tup);
- }
-}}
diff --git a/boost/fusion/tuple/detail/preprocessed/tuple30_fwd.hpp b/boost/fusion/tuple/detail/preprocessed/tuple30_fwd.hpp
deleted file mode 100644
index b9f3e01..0000000
--- a/boost/fusion/tuple/detail/preprocessed/tuple30_fwd.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)
-
- This is an auto-generated file. Do not edit!
-==============================================================================*/
-namespace boost { namespace fusion
-{
- struct void_;
- template <
- typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T2 [...]
- >
- struct tuple;
-}}
diff --git a/boost/fusion/tuple/detail/preprocessed/tuple40.hpp b/boost/fusion/tuple/detail/preprocessed/tuple40.hpp
deleted file mode 100644
index fca8b24..0000000
--- a/boost/fusion/tuple/detail/preprocessed/tuple40.hpp
+++ /dev/null
@@ -1,503 +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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct tuple : 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>
- {
- 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;
- tuple()
- : base_type() {}
- tuple(tuple const& rhs)
- : base_type(rhs) {}
- template <typename U1, typename U2>
- tuple(std::pair<U1, U2> const& rhs)
- : base_type(rhs) {}
- explicit
- tuple(typename detail::call_param<T0 >::type _0)
- : base_type(_0) {}
- template <typename U0>
- tuple(tuple<U0> const& rhs)
- : base_type(rhs) {}
- template <typename U0>
- tuple& operator=(tuple<U0> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1)
- : base_type(_0 , _1) {}
- template <typename U0 , typename U1>
- tuple(tuple<U0 , U1> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1>
- tuple& operator=(tuple<U0 , U1> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2)
- : base_type(_0 , _1 , _2) {}
- template <typename U0 , typename U1 , typename U2>
- tuple(tuple<U0 , U1 , U2> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2>
- tuple& operator=(tuple<U0 , U1 , U2> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3)
- : base_type(_0 , _1 , _2 , _3) {}
- template <typename U0 , typename U1 , typename U2 , typename U3>
- tuple(tuple<U0 , U1 , U2 , U3> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3>
- tuple& operator=(tuple<U0 , U1 , U2 , U3> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4)
- : base_type(_0 , _1 , _2 , _3 , _4) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4>
- tuple(tuple<U0 , U1 , U2 , U3 , U4> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5)
- : base_type(_0 , _1 , _2 , _3 , _4 , _5) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6)
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7)
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8)
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9)
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _10)
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename U32>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename U32>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename [...]
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename [...]
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename [...]
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename [...]
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename [...]
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename [...]
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename [...]
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename [...]
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename [...]
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename [...]
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename [...]
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename [...]
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename [...]
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename [...]
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- template <typename T>
- tuple& operator=(T const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple& operator=(tuple const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- template <typename U1, typename U2>
- tuple& operator=(std::pair<U1, U2> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- };
- template <typename Tuple>
- struct tuple_size : result_of::size<Tuple> {};
- template <int N, typename Tuple>
- struct tuple_element : result_of::value_at_c<Tuple, N> {};
- template <int N, typename Tuple>
- inline typename
- lazy_disable_if<
- is_const<Tuple>
- , result_of::at_c<Tuple, N>
- >::type
- get(Tuple& tup)
- {
- return at_c<N>(tup);
- }
- template <int N, typename Tuple>
- inline typename result_of::at_c<Tuple const, N>::type
- get(Tuple const& tup)
- {
- return at_c<N>(tup);
- }
-}}
diff --git a/boost/fusion/tuple/detail/preprocessed/tuple40_fwd.hpp b/boost/fusion/tuple/detail/preprocessed/tuple40_fwd.hpp
deleted file mode 100644
index 200bf5d..0000000
--- a/boost/fusion/tuple/detail/preprocessed/tuple40_fwd.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)
-
- This is an auto-generated file. Do not edit!
-==============================================================================*/
-namespace boost { namespace fusion
-{
- struct void_;
- template <
- typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T2 [...]
- >
- struct tuple;
-}}
diff --git a/boost/fusion/tuple/detail/preprocessed/tuple50.hpp b/boost/fusion/tuple/detail/preprocessed/tuple50.hpp
deleted file mode 100644
index 34ba8d4..0000000
--- a/boost/fusion/tuple/detail/preprocessed/tuple50.hpp
+++ /dev/null
@@ -1,613 +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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- struct tuple : 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>
- {
- 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;
- tuple()
- : base_type() {}
- tuple(tuple const& rhs)
- : base_type(rhs) {}
- template <typename U1, typename U2>
- tuple(std::pair<U1, U2> const& rhs)
- : base_type(rhs) {}
- explicit
- tuple(typename detail::call_param<T0 >::type _0)
- : base_type(_0) {}
- template <typename U0>
- tuple(tuple<U0> const& rhs)
- : base_type(rhs) {}
- template <typename U0>
- tuple& operator=(tuple<U0> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1)
- : base_type(_0 , _1) {}
- template <typename U0 , typename U1>
- tuple(tuple<U0 , U1> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1>
- tuple& operator=(tuple<U0 , U1> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2)
- : base_type(_0 , _1 , _2) {}
- template <typename U0 , typename U1 , typename U2>
- tuple(tuple<U0 , U1 , U2> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2>
- tuple& operator=(tuple<U0 , U1 , U2> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3)
- : base_type(_0 , _1 , _2 , _3) {}
- template <typename U0 , typename U1 , typename U2 , typename U3>
- tuple(tuple<U0 , U1 , U2 , U3> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3>
- tuple& operator=(tuple<U0 , U1 , U2 , U3> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4)
- : base_type(_0 , _1 , _2 , _3 , _4) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4>
- tuple(tuple<U0 , U1 , U2 , U3 , U4> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5)
- : base_type(_0 , _1 , _2 , _3 , _4 , _5) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6)
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7)
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8)
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9)
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _10)
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename U32>
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename U32>
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename [...]
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename [...]
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename [...]
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename [...]
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename [...]
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename [...]
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename [...]
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename [...]
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename [...]
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename [...]
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename [...]
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename [...]
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename [...]
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename [...]
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename [...]
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39 , U40> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename [...]
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39 , U40> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename [...]
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39 , U40 , U41> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename [...]
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39 , U40 , U41> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename [...]
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39 , U40 , U41 , U42> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename [...]
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39 , U40 , U41 , U42> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename [...]
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39 , U40 , U41 , U42 , U43> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename [...]
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39 , U40 , U41 , U42 , U43> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename [...]
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39 , U40 , U41 , U42 , U43 , U44> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename [...]
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39 , U40 , U41 , U42 , U43 , U44> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename [...]
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39 , U40 , U41 , U42 , U43 , U44 , U45> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename [...]
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39 , U40 , U41 , U42 , U43 , U44 , U45> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename [...]
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39 , U40 , U41 , U42 , U43 , U44 , U45 , U46> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename [...]
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39 , U40 , U41 , U42 , U43 , U44 , U45 , U46> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename [...]
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39 , U40 , U41 , U42 , U43 , U44 , U45 , U46 , U47> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename [...]
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39 , U40 , U41 , U42 , U43 , U44 , U45 , U46 , U47> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename [...]
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39 , U40 , U41 , U42 , U43 , U44 , U45 , U46 , U47 , U48> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename [...]
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39 , U40 , U41 , U42 , U43 , U44 , U45 , U46 , U47 , U48> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple(typename detail::call_param<T0 >::type _0 , typename detail::call_param<T1 >::type _1 , typename detail::call_param<T2 >::type _2 , typename detail::call_param<T3 >::type _3 , typename detail::call_param<T4 >::type _4 , typename detail::call_param<T5 >::type _5 , typename detail::call_param<T6 >::type _6 , typename detail::call_param<T7 >::type _7 , typename detail::call_param<T8 >::type _8 , typename detail::call_param<T9 >::type _9 , typename detail::call_param<T10 >::type _1 [...]
- : 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename [...]
- tuple(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39 , U40 , U41 , U42 , U43 , U44 , U45 , U46 , U47 , U48 , U49> const& rhs)
- : base_type(rhs) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19 , typename U20 , typename U21 , typename U22 , typename U23 , typename U24 , typename U25 , typename U26 , typename U27 , typename U28 , typename U29 , typename U30 , typename U31 , typename [...]
- tuple& operator=(tuple<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 , U31 , U32 , U33 , U34 , U35 , U36 , U37 , U38 , U39 , U40 , U41 , U42 , U43 , U44 , U45 , U46 , U47 , U48 , U49> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- template <typename T>
- tuple& operator=(T const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- tuple& operator=(tuple const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- template <typename U1, typename U2>
- tuple& operator=(std::pair<U1, U2> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- };
- template <typename Tuple>
- struct tuple_size : result_of::size<Tuple> {};
- template <int N, typename Tuple>
- struct tuple_element : result_of::value_at_c<Tuple, N> {};
- template <int N, typename Tuple>
- inline typename
- lazy_disable_if<
- is_const<Tuple>
- , result_of::at_c<Tuple, N>
- >::type
- get(Tuple& tup)
- {
- return at_c<N>(tup);
- }
- template <int N, typename Tuple>
- inline typename result_of::at_c<Tuple const, N>::type
- get(Tuple const& tup)
- {
- return at_c<N>(tup);
- }
-}}
diff --git a/boost/fusion/tuple/detail/preprocessed/tuple50_fwd.hpp b/boost/fusion/tuple/detail/preprocessed/tuple50_fwd.hpp
deleted file mode 100644
index 18fd75c..0000000
--- a/boost/fusion/tuple/detail/preprocessed/tuple50_fwd.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)
-
- This is an auto-generated file. Do not edit!
-==============================================================================*/
-namespace boost { namespace fusion
-{
- struct void_;
- template <
- typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T2 [...]
- >
- struct tuple;
-}}
diff --git a/boost/fusion/tuple/detail/preprocessed/tuple_fwd.hpp b/boost/fusion/tuple/detail/preprocessed/tuple_fwd.hpp
deleted file mode 100644
index 234936c..0000000
--- a/boost/fusion/tuple/detail/preprocessed/tuple_fwd.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
- This is an auto-generated file. Do not edit!
-==============================================================================*/
-#if FUSION_MAX_VECTOR_SIZE <= 10
-#include <boost/fusion/tuple/detail/preprocessed/tuple10_fwd.hpp>
-#elif FUSION_MAX_VECTOR_SIZE <= 20
-#include <boost/fusion/tuple/detail/preprocessed/tuple20_fwd.hpp>
-#elif FUSION_MAX_VECTOR_SIZE <= 30
-#include <boost/fusion/tuple/detail/preprocessed/tuple30_fwd.hpp>
-#elif FUSION_MAX_VECTOR_SIZE <= 40
-#include <boost/fusion/tuple/detail/preprocessed/tuple40_fwd.hpp>
-#elif FUSION_MAX_VECTOR_SIZE <= 50
-#include <boost/fusion/tuple/detail/preprocessed/tuple50_fwd.hpp>
-#else
-#error "FUSION_MAX_VECTOR_SIZE out of bounds for preprocessed headers"
-#endif
diff --git a/boost/fusion/tuple/detail/preprocessed/tuple_tie.hpp b/boost/fusion/tuple/detail/preprocessed/tuple_tie.hpp
deleted file mode 100644
index 5898c6b..0000000
--- a/boost/fusion/tuple/detail/preprocessed/tuple_tie.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
- This is an auto-generated file. Do not edit!
-==============================================================================*/
-#if FUSION_MAX_VECTOR_SIZE <= 10
-#include <boost/fusion/tuple/detail/preprocessed/tuple_tie10.hpp>
-#elif FUSION_MAX_VECTOR_SIZE <= 20
-#include <boost/fusion/tuple/detail/preprocessed/tuple_tie20.hpp>
-#elif FUSION_MAX_VECTOR_SIZE <= 30
-#include <boost/fusion/tuple/detail/preprocessed/tuple_tie30.hpp>
-#elif FUSION_MAX_VECTOR_SIZE <= 40
-#include <boost/fusion/tuple/detail/preprocessed/tuple_tie40.hpp>
-#elif FUSION_MAX_VECTOR_SIZE <= 50
-#include <boost/fusion/tuple/detail/preprocessed/tuple_tie50.hpp>
-#else
-#error "FUSION_MAX_VECTOR_SIZE out of bounds for preprocessed headers"
-#endif
diff --git a/boost/fusion/tuple/detail/preprocessed/tuple_tie10.hpp b/boost/fusion/tuple/detail/preprocessed/tuple_tie10.hpp
deleted file mode 100644
index be8c547..0000000
--- a/boost/fusion/tuple/detail/preprocessed/tuple_tie10.hpp
+++ /dev/null
@@ -1,81 +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 <typename T0>
- inline tuple<T0&>
- tie(T0 & _0)
- {
- return tuple<T0&>(
- _0);
- }
- template <typename T0 , typename T1>
- inline tuple<T0& , T1&>
- tie(T0 & _0 , T1 & _1)
- {
- return tuple<T0& , T1&>(
- _0 , _1);
- }
- template <typename T0 , typename T1 , typename T2>
- inline tuple<T0& , T1& , T2&>
- tie(T0 & _0 , T1 & _1 , T2 & _2)
- {
- return tuple<T0& , T1& , T2&>(
- _0 , _1 , _2);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3>
- inline tuple<T0& , T1& , T2& , T3&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3)
- {
- return tuple<T0& , T1& , T2& , T3&>(
- _0 , _1 , _2 , _3);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4>
- inline tuple<T0& , T1& , T2& , T3& , T4&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4)
- {
- return tuple<T0& , T1& , T2& , T3& , T4&>(
- _0 , _1 , _2 , _3 , _4);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5)
- {
- return tuple<T0& , T1& , T2& , T3& , T4& , T5&>(
- _0 , _1 , _2 , _3 , _4 , _5);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6)
- {
- return tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7)
- {
- return tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8)
- {
- return tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9)
- {
- return tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9);
- }
-}}
diff --git a/boost/fusion/tuple/detail/preprocessed/tuple_tie20.hpp b/boost/fusion/tuple/detail/preprocessed/tuple_tie20.hpp
deleted file mode 100644
index f14060e..0000000
--- a/boost/fusion/tuple/detail/preprocessed/tuple_tie20.hpp
+++ /dev/null
@@ -1,151 +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 <typename T0>
- inline tuple<T0&>
- tie(T0 & _0)
- {
- return tuple<T0&>(
- _0);
- }
- template <typename T0 , typename T1>
- inline tuple<T0& , T1&>
- tie(T0 & _0 , T1 & _1)
- {
- return tuple<T0& , T1&>(
- _0 , _1);
- }
- template <typename T0 , typename T1 , typename T2>
- inline tuple<T0& , T1& , T2&>
- tie(T0 & _0 , T1 & _1 , T2 & _2)
- {
- return tuple<T0& , T1& , T2&>(
- _0 , _1 , _2);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3>
- inline tuple<T0& , T1& , T2& , T3&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3)
- {
- return tuple<T0& , T1& , T2& , T3&>(
- _0 , _1 , _2 , _3);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4>
- inline tuple<T0& , T1& , T2& , T3& , T4&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4)
- {
- return tuple<T0& , T1& , T2& , T3& , T4&>(
- _0 , _1 , _2 , _3 , _4);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5)
- {
- return tuple<T0& , T1& , T2& , T3& , T4& , T5&>(
- _0 , _1 , _2 , _3 , _4 , _5);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6)
- {
- return tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7)
- {
- return tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8)
- {
- return tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9)
- {
- return tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10&>
- 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11&>
- tie(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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12&>
- tie(T0 & _0 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13&>
- tie(T0 & _0 , T1 & _1 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19);
- }
-}}
diff --git a/boost/fusion/tuple/detail/preprocessed/tuple_tie30.hpp b/boost/fusion/tuple/detail/preprocessed/tuple_tie30.hpp
deleted file mode 100644
index 513c780..0000000
--- a/boost/fusion/tuple/detail/preprocessed/tuple_tie30.hpp
+++ /dev/null
@@ -1,221 +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 <typename T0>
- inline tuple<T0&>
- tie(T0 & _0)
- {
- return tuple<T0&>(
- _0);
- }
- template <typename T0 , typename T1>
- inline tuple<T0& , T1&>
- tie(T0 & _0 , T1 & _1)
- {
- return tuple<T0& , T1&>(
- _0 , _1);
- }
- template <typename T0 , typename T1 , typename T2>
- inline tuple<T0& , T1& , T2&>
- tie(T0 & _0 , T1 & _1 , T2 & _2)
- {
- return tuple<T0& , T1& , T2&>(
- _0 , _1 , _2);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3>
- inline tuple<T0& , T1& , T2& , T3&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3)
- {
- return tuple<T0& , T1& , T2& , T3&>(
- _0 , _1 , _2 , _3);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4>
- inline tuple<T0& , T1& , T2& , T3& , T4&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4)
- {
- return tuple<T0& , T1& , T2& , T3& , T4&>(
- _0 , _1 , _2 , _3 , _4);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5)
- {
- return tuple<T0& , T1& , T2& , T3& , T4& , T5&>(
- _0 , _1 , _2 , _3 , _4 , _5);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6)
- {
- return tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7)
- {
- return tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8)
- {
- return tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9)
- {
- return tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10&>
- 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11&>
- tie(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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12&>
- tie(T0 & _0 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13&>
- tie(T0 & _0 , T1 & _1 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22& , T23&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22& , T23&>(
- _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22& , T23& , T24&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22& , T23& , T24&>(
- _0 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22& , T23& , T24& , T25&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22& , T23& , T24& , T25&>(
- _0 , _1 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22& , T23& , T24& , T25& , T26&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22& , T23& , T24& , T25& , T26&>(
- _0 , _1 , _2 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22& , T23& , T24& , T25& , T26& , T27&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22& , T23& , T24& , T25& , T26& , T27&>(
- _0 , _1 , _2 , _3 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22& , T23& , T24& , T25& , T26& , T27& , T28&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22& , T23& , T24& , T25& , T26& , T27& , T28&>(
- _0 , _1 , _2 , _3 , _4 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22& , T23& , T24& , T25& , T26& , T27& , T28& , T29&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22& , T23& , T24& , T25& , T26& , T27& , T28& , T29&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _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/boost/fusion/tuple/detail/preprocessed/tuple_tie40.hpp b/boost/fusion/tuple/detail/preprocessed/tuple_tie40.hpp
deleted file mode 100644
index be56add..0000000
--- a/boost/fusion/tuple/detail/preprocessed/tuple_tie40.hpp
+++ /dev/null
@@ -1,291 +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 <typename T0>
- inline tuple<T0&>
- tie(T0 & _0)
- {
- return tuple<T0&>(
- _0);
- }
- template <typename T0 , typename T1>
- inline tuple<T0& , T1&>
- tie(T0 & _0 , T1 & _1)
- {
- return tuple<T0& , T1&>(
- _0 , _1);
- }
- template <typename T0 , typename T1 , typename T2>
- inline tuple<T0& , T1& , T2&>
- tie(T0 & _0 , T1 & _1 , T2 & _2)
- {
- return tuple<T0& , T1& , T2&>(
- _0 , _1 , _2);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3>
- inline tuple<T0& , T1& , T2& , T3&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3)
- {
- return tuple<T0& , T1& , T2& , T3&>(
- _0 , _1 , _2 , _3);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4>
- inline tuple<T0& , T1& , T2& , T3& , T4&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4)
- {
- return tuple<T0& , T1& , T2& , T3& , T4&>(
- _0 , _1 , _2 , _3 , _4);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5)
- {
- return tuple<T0& , T1& , T2& , T3& , T4& , T5&>(
- _0 , _1 , _2 , _3 , _4 , _5);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6)
- {
- return tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7)
- {
- return tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8)
- {
- return tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9)
- {
- return tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10&>
- 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11&>
- tie(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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12&>
- tie(T0 & _0 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13&>
- tie(T0 & _0 , T1 & _1 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22& , T23&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22& , T23&>(
- _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22& , T23& , T24&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22& , T23& , T24&>(
- _0 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22& , T23& , T24& , T25&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22& , T23& , T24& , T25&>(
- _0 , _1 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22& , T23& , T24& , T25& , T26&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22& , T23& , T24& , T25& , T26&>(
- _0 , _1 , _2 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22& , T23& , T24& , T25& , T26& , T27&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22& , T23& , T24& , T25& , T26& , T27&>(
- _0 , _1 , _2 , _3 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22& , T23& , T24& , T25& , T26& , T27& , T28&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22& , T23& , T24& , T25& , T26& , T27& , T28&>(
- _0 , _1 , _2 , _3 , _4 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22& , T23& , T24& , T25& , T26& , T27& , T28& , T29&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22& , T23& , T24& , T25& , T26& , T27& , T28& , T29&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22& , T23& , T24& , T25& , T26& , T27& , T28& , T29& , T30&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22& , T23& , T24& , T25& , T26& , T27& , T28& , T29& , T30&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _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/boost/fusion/tuple/detail/preprocessed/tuple_tie50.hpp b/boost/fusion/tuple/detail/preprocessed/tuple_tie50.hpp
deleted file mode 100644
index 164db79..0000000
--- a/boost/fusion/tuple/detail/preprocessed/tuple_tie50.hpp
+++ /dev/null
@@ -1,361 +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 <typename T0>
- inline tuple<T0&>
- tie(T0 & _0)
- {
- return tuple<T0&>(
- _0);
- }
- template <typename T0 , typename T1>
- inline tuple<T0& , T1&>
- tie(T0 & _0 , T1 & _1)
- {
- return tuple<T0& , T1&>(
- _0 , _1);
- }
- template <typename T0 , typename T1 , typename T2>
- inline tuple<T0& , T1& , T2&>
- tie(T0 & _0 , T1 & _1 , T2 & _2)
- {
- return tuple<T0& , T1& , T2&>(
- _0 , _1 , _2);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3>
- inline tuple<T0& , T1& , T2& , T3&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3)
- {
- return tuple<T0& , T1& , T2& , T3&>(
- _0 , _1 , _2 , _3);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4>
- inline tuple<T0& , T1& , T2& , T3& , T4&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4)
- {
- return tuple<T0& , T1& , T2& , T3& , T4&>(
- _0 , _1 , _2 , _3 , _4);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5)
- {
- return tuple<T0& , T1& , T2& , T3& , T4& , T5&>(
- _0 , _1 , _2 , _3 , _4 , _5);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6)
- {
- return tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7)
- {
- return tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8)
- {
- return tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9)
- {
- return tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10&>
- 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11&>
- tie(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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12&>
- tie(T0 & _0 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13&>
- tie(T0 & _0 , T1 & _1 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22);
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22& , T23&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22& , T23&>(
- _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22& , T23& , T24&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22& , T23& , T24&>(
- _0 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22& , T23& , T24& , T25&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22& , T23& , T24& , T25&>(
- _0 , _1 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22& , T23& , T24& , T25& , T26&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22& , T23& , T24& , T25& , T26&>(
- _0 , _1 , _2 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22& , T23& , T24& , T25& , T26& , T27&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22& , T23& , T24& , T25& , T26& , T27&>(
- _0 , _1 , _2 , _3 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22& , T23& , T24& , T25& , T26& , T27& , T28&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22& , T23& , T24& , T25& , T26& , T27& , T28&>(
- _0 , _1 , _2 , _3 , _4 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22& , T23& , T24& , T25& , T26& , T27& , T28& , T29&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22& , T23& , T24& , T25& , T26& , T27& , T28& , T29&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22& , T23& , T24& , T25& , T26& , T27& , T28& , T29& , T30&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19& , T20& , T21& , T22& , T23& , T24& , T25& , T26& , T27& , T28& , T29& , T30&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32>
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename [...]
- inline tuple<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>
- tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , 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<T0& , T1& , T2& , T3& , T4& , T5& , T6& , 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&>(
- _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _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/boost/fusion/tuple/detail/tuple_expand.hpp b/boost/fusion/tuple/detail/tuple_expand.hpp
deleted file mode 100644
index e23c2e4..0000000
--- a/boost/fusion/tuple/detail/tuple_expand.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)
-==============================================================================*/
-#ifndef BOOST_PP_IS_ITERATING
-#if !defined(FUSION_TUPLE_EXPAND_10032005_0815)
-#define FUSION_TUPLE_EXPAND_10032005_0815
-
-#include <boost/preprocessor/iterate.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_binary_params.hpp>
-
-#define BOOST_PP_FILENAME_1 \
- <boost/fusion/tuple/detail/tuple_expand.hpp>
-#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE)
-#include BOOST_PP_ITERATE()
-
-#endif
-#else // defined(BOOST_PP_IS_ITERATING)
-///////////////////////////////////////////////////////////////////////////////
-//
-// Preprocessor vertical repetition code
-//
-///////////////////////////////////////////////////////////////////////////////
-
-#define N BOOST_PP_ITERATION()
-
-#if N == 1
- explicit
-#endif
- tuple(BOOST_PP_ENUM_BINARY_PARAMS(
- N, typename detail::call_param<T, >::type _))
- : base_type(BOOST_PP_ENUM_PARAMS(N, _)) {}
-
- template <BOOST_PP_ENUM_PARAMS(N, typename U)>
- tuple(tuple<BOOST_PP_ENUM_PARAMS(N, U)> const& rhs)
- : base_type(rhs) {}
-
- template <BOOST_PP_ENUM_PARAMS(N, typename U)>
- tuple& operator=(tuple<BOOST_PP_ENUM_PARAMS(N, U)> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
-
-#undef N
-#endif // defined(BOOST_PP_IS_ITERATING)
-
diff --git a/boost/fusion/tuple/make_tuple.hpp b/boost/fusion/tuple/make_tuple.hpp
deleted file mode 100644
index b2defa2..0000000
--- a/boost/fusion/tuple/make_tuple.hpp
+++ /dev/null
@@ -1,85 +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 <boost/preprocessor/iterate.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_binary_params.hpp>
-#include <boost/fusion/tuple/tuple.hpp>
-#include <boost/fusion/support/detail/as_fusion_element.hpp>
-
-namespace boost { namespace fusion
-{
- inline tuple<>
- make_tuple()
- {
- return tuple<>();
- }
-}}
-
-#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES)
-#include <boost/fusion/tuple/detail/preprocessed/make_tuple.hpp>
-#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<BOOST_PP_CAT(T, n)>::type
-
-#define BOOST_PP_FILENAME_1 <boost/fusion/tuple/make_tuple.hpp>
-#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE)
-#include BOOST_PP_ITERATE()
-
-#undef BOOST_FUSION_AS_FUSION_ELEMENT
-
-}}
-
-#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)
-#pragma wave option(output: null)
-#endif
-
-#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES
-
-#endif
-#else // defined(BOOST_PP_IS_ITERATING)
-///////////////////////////////////////////////////////////////////////////////
-//
-// Preprocessor vertical repetition code
-//
-///////////////////////////////////////////////////////////////////////////////
-
-#define N BOOST_PP_ITERATION()
-
- template <BOOST_PP_ENUM_PARAMS(N, typename T)>
- inline tuple<BOOST_PP_ENUM(N, BOOST_FUSION_AS_FUSION_ELEMENT, _)>
- make_tuple(BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& _))
- {
- return tuple<BOOST_PP_ENUM(N, BOOST_FUSION_AS_FUSION_ELEMENT, _)>(
- BOOST_PP_ENUM_PARAMS(N, _));
- }
-
-#undef N
-#endif // defined(BOOST_PP_IS_ITERATING)
-
diff --git a/boost/fusion/tuple/tuple.hpp b/boost/fusion/tuple/tuple.hpp
deleted file mode 100644
index 6235072..0000000
--- a/boost/fusion/tuple/tuple.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)
-==============================================================================*/
-#if !defined(FUSION_TUPLE_10032005_0810)
-#define FUSION_TUPLE_10032005_0810
-
-#include <boost/fusion/tuple/tuple_fwd.hpp>
-#include <boost/fusion/container/vector/vector.hpp>
-#include <boost/fusion/sequence/intrinsic/size.hpp>
-#include <boost/fusion/sequence/intrinsic/value_at.hpp>
-#include <boost/fusion/sequence/intrinsic/at.hpp>
-#include <boost/fusion/sequence/comparison.hpp>
-#include <boost/fusion/sequence/io.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/config/no_tr1/utility.hpp>
-
-#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES)
-#include <boost/fusion/tuple/detail/preprocessed/tuple.hpp>
-#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 <BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, typename T)>
- struct tuple : vector<BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, T)>
- {
- typedef vector<
- BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, T)>
- base_type;
-
- tuple()
- : base_type() {}
-
- tuple(tuple const& rhs)
- : base_type(rhs) {}
-
- template <typename U1, typename U2>
- tuple(std::pair<U1, U2> const& rhs)
- : base_type(rhs) {}
-
- #include <boost/fusion/tuple/detail/tuple_expand.hpp>
-
- template <typename T>
- tuple& operator=(T const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
-
- tuple& operator=(tuple const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
-
- template <typename U1, typename U2>
- tuple& operator=(std::pair<U1, U2> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- };
-
- template <typename Tuple>
- struct tuple_size : result_of::size<Tuple> {};
-
- template <int N, typename Tuple>
- struct tuple_element : result_of::value_at_c<Tuple, N> {};
-
- template <int N, typename Tuple>
- inline typename
- lazy_disable_if<
- is_const<Tuple>
- , result_of::at_c<Tuple, N>
- >::type
- get(Tuple& tup)
- {
- return at_c<N>(tup);
- }
-
- template <int N, typename Tuple>
- inline typename result_of::at_c<Tuple const, N>::type
- get(Tuple const& tup)
- {
- return at_c<N>(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/boost/fusion/tuple/tuple_fwd.hpp b/boost/fusion/tuple/tuple_fwd.hpp
deleted file mode 100644
index e4dbbd2..0000000
--- a/boost/fusion/tuple/tuple_fwd.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_TUPLE_FORWARD_10032005_0956)
-#define FUSION_TUPLE_FORWARD_10032005_0956
-
-#include <boost/fusion/container/vector/limits.hpp>
-#include <boost/preprocessor/repetition/enum_params_with_a_default.hpp>
-
-#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES)
-#include <boost/fusion/tuple/detail/preprocessed/tuple_fwd.hpp>
-#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/boost/fusion/tuple/tuple_tie.hpp b/boost/fusion/tuple/tuple_tie.hpp
deleted file mode 100644
index 726a552..0000000
--- a/boost/fusion/tuple/tuple_tie.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)
-==============================================================================*/
-#ifndef BOOST_PP_IS_ITERATING
-#if !defined(FUSION_TUPLE_TIE_10032005_0846)
-#define FUSION_TUPLE_TIE_10032005_0846
-
-#include <boost/preprocessor/iterate.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_binary_params.hpp>
-#include <boost/fusion/tuple/tuple.hpp>
-
-#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES)
-#include <boost/fusion/tuple/detail/preprocessed/tuple_tie.hpp>
-#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 <boost/fusion/tuple/tuple_tie.hpp>
-#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_PP_ENUM_PARAMS(N, typename T)>
- inline tuple<BOOST_PP_ENUM(N, BOOST_FUSION_REF, _)>
- tie(BOOST_PP_ENUM_BINARY_PARAMS(N, T, & _))
- {
- return tuple<BOOST_PP_ENUM(N, BOOST_FUSION_REF, _)>(
- BOOST_PP_ENUM_PARAMS(N, _));
- }
-
-#undef N
-#endif // defined(BOOST_PP_IS_ITERATING)
-
diff --git a/boost/fusion/view/iterator_range.hpp b/boost/fusion/view/iterator_range.hpp
deleted file mode 100644
index 8006007..0000000
--- a/boost/fusion/view/iterator_range.hpp
+++ /dev/null
@@ -1,12 +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_VIEW_ITERATOR_RANGE_10022005_0610)
-#define FUSION_SEQUENCE_VIEW_ITERATOR_RANGE_10022005_0610
-
-#include <boost/fusion/view/iterator_range/iterator_range.hpp>
-
-#endif
diff --git a/boost/fusion/view/iterator_range/detail/at_impl.hpp b/boost/fusion/view/iterator_range/detail/at_impl.hpp
deleted file mode 100644
index 1b42523..0000000
--- a/boost/fusion/view/iterator_range/detail/at_impl.hpp
+++ /dev/null
@@ -1,44 +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 <boost/fusion/iterator/advance.hpp>
-#include <boost/fusion/iterator/deref.hpp>
-
-namespace boost { namespace fusion
-{
- struct iterator_range_tag;
-
- namespace extension
- {
- template <typename Tag>
- struct at_impl;
-
- template <>
- struct at_impl<iterator_range_tag>
- {
- template <typename Seq, typename N>
- struct apply
- {
- typedef typename Seq::begin_type begin_type;
- typedef typename result_of::advance<begin_type,N>::type pos;
- typedef typename result_of::deref<pos>::type type;
-
- static type
- call(Seq& s)
- {
- return * fusion::advance<N>(s.first);
- }
- };
- };
- }
-}}
-
-#endif
-
diff --git a/boost/fusion/view/iterator_range/detail/begin_impl.hpp b/boost/fusion/view/iterator_range/detail/begin_impl.hpp
deleted file mode 100644
index 2902e73..0000000
--- a/boost/fusion/view/iterator_range/detail/begin_impl.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)
-==============================================================================*/
-#if !defined(FUSION_BEGIN_IMPL_05062005_1226)
-#define FUSION_BEGIN_IMPL_05062005_1226
-
-namespace boost { namespace fusion
-{
- struct iterator_range_tag;
-
- namespace extension
- {
- template <typename Tag>
- struct begin_impl;
-
- template <>
- struct begin_impl<iterator_range_tag>
- {
- template <typename Sequence>
- struct apply
- {
- typedef typename Sequence::begin_type type;
-
- static type
- call(Sequence& s)
- {
- return s.first;
- }
- };
- };
- }
-}}
-
-#endif
-
-
diff --git a/boost/fusion/view/iterator_range/detail/end_impl.hpp b/boost/fusion/view/iterator_range/detail/end_impl.hpp
deleted file mode 100644
index 3147afe..0000000
--- a/boost/fusion/view/iterator_range/detail/end_impl.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)
-==============================================================================*/
-#if !defined(FUSION_END_IMPL_05062005_1226)
-#define FUSION_END_IMPL_05062005_1226
-
-namespace boost { namespace fusion
-{
- struct iterator_range_tag;
-
- namespace extension
- {
- template <typename Tag>
- struct end_impl;
-
- template <>
- struct end_impl<iterator_range_tag>
- {
- template <typename Sequence>
- struct apply
- {
- typedef typename Sequence::end_type type;
-
- static type
- call(Sequence& s)
- {
- return s.last;
- }
- };
- };
- }
-}}
-
-#endif
-
-
diff --git a/boost/fusion/view/iterator_range/detail/is_segmented_impl.hpp b/boost/fusion/view/iterator_range/detail/is_segmented_impl.hpp
deleted file mode 100644
index 032225d..0000000
--- a/boost/fusion/view/iterator_range/detail/is_segmented_impl.hpp
+++ /dev/null
@@ -1,66 +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_ITERATOR_RANGE_IS_SEGMENTED_HPP_INCLUDED)
-#define BOOST_FUSION_ITERATOR_RANGE_IS_SEGMENTED_HPP_INCLUDED
-
-#include <boost/mpl/assert.hpp>
-#include <boost/mpl/bool.hpp>
-
-namespace boost { namespace fusion
-{
- struct iterator_range_tag;
-
- template <typename Context>
- struct segmented_iterator;
-
- namespace extension
- {
- template <typename Tag>
- struct is_segmented_impl;
-
- // An iterator_range of segmented_iterators is segmented
- template <>
- struct is_segmented_impl<iterator_range_tag>
- {
- private:
- template <typename Iterator>
- struct is_segmented_iterator
- : mpl::false_
- {};
-
- template <typename Iterator>
- struct is_segmented_iterator<Iterator &>
- : is_segmented_iterator<Iterator>
- {};
-
- template <typename Iterator>
- struct is_segmented_iterator<Iterator const>
- : is_segmented_iterator<Iterator>
- {};
-
- template <typename Context>
- struct is_segmented_iterator<segmented_iterator<Context> >
- : mpl::true_
- {};
-
- public:
- template <typename Sequence>
- struct apply
- : is_segmented_iterator<typename Sequence::begin_type>
- {
- BOOST_MPL_ASSERT_RELATION(
- is_segmented_iterator<typename Sequence::begin_type>::value
- , ==
- , is_segmented_iterator<typename Sequence::end_type>::value);
- };
- };
- }
-}}
-
-#endif
-
-
diff --git a/boost/fusion/view/iterator_range/detail/segmented_iterator_range.hpp b/boost/fusion/view/iterator_range/detail/segmented_iterator_range.hpp
deleted file mode 100644
index 2e4e078..0000000
--- a/boost/fusion/view/iterator_range/detail/segmented_iterator_range.hpp
+++ /dev/null
@@ -1,532 +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_SEGMENTED_ITERATOR_RANGE_HPP_INCLUDED)
-#define BOOST_FUSION_SEGMENTED_ITERATOR_RANGE_HPP_INCLUDED
-
-#include <boost/mpl/assert.hpp>
-#include <boost/type_traits/add_const.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/fusion/support/tag_of.hpp>
-#include <boost/fusion/sequence/intrinsic/begin.hpp>
-#include <boost/fusion/sequence/intrinsic/end.hpp>
-#include <boost/fusion/iterator/next.hpp>
-#include <boost/fusion/iterator/deref.hpp>
-#include <boost/fusion/sequence/intrinsic/segments.hpp>
-#include <boost/fusion/algorithm/transformation/push_back.hpp>
-#include <boost/fusion/algorithm/transformation/push_front.hpp>
-#include <boost/fusion/iterator/equal_to.hpp>
-#include <boost/fusion/container/list/detail/reverse_cons.hpp>
-#include <boost/fusion/iterator/detail/segment_sequence.hpp>
-#include <boost/fusion/support/is_sequence.hpp>
-#include <boost/utility/enable_if.hpp>
-
-// Invariants:
-// - Each segmented iterator has a stack
-// - Each value in the stack is an iterator range
-// - The range at the top of the stack points to values
-// - All other ranges point to ranges
-// - The front of each range in the stack (besides the
-// topmost) is the range above it
-
-namespace boost { namespace fusion
-{
- template <typename First, typename Last>
- struct iterator_range;
-
- namespace result_of
- {
- template <typename Sequence, typename T>
- struct push_back;
-
- template <typename Sequence, typename T>
- struct push_front;
- }
-
- template <typename Sequence, typename T>
- typename
- lazy_enable_if<
- traits::is_sequence<Sequence>
- , result_of::push_back<Sequence const, T>
- >::type
- push_back(Sequence const& seq, T const& x);
-
- template <typename Sequence, typename T>
- typename
- lazy_enable_if<
- traits::is_sequence<Sequence>
- , result_of::push_front<Sequence const, T>
- >::type
- push_front(Sequence const& seq, T const& x);
-}}
-
-namespace boost { namespace fusion { namespace detail
-{
- //auto make_segment_sequence_front(stack_begin)
- //{
- // switch (size(stack_begin))
- // {
- // case 1:
- // return nil_;
- // case 2:
- // // car(cdr(stack_begin)) is a range over values.
- // assert(end(front(car(stack_begin))) == end(car(cdr(stack_begin))));
- // return iterator_range(begin(car(cdr(stack_begin))), end(front(car(stack_begin))));
- // default:
- // // car(cdr(stack_begin)) is a range over segments. We replace the
- // // front with a view that is restricted.
- // assert(end(segments(front(car(stack_begin)))) == end(car(cdr(stack_begin))));
- // return segment_sequence(
- // push_front(
- // // The following could be a segment_sequence. It then gets wrapped
- // // in a single_view, and push_front puts it in a join_view with the
- // // following iterator_range.
- // iterator_range(next(begin(car(cdr(stack_begin)))), end(segments(front(car(stack_begin))))),
- // make_segment_sequence_front(cdr(stack_begin))));
- // }
- //}
-
- template <typename Stack, std::size_t Size = Stack::size::value>
- struct make_segment_sequence_front
- {
- // assert(end(segments(front(car(stack_begin)))) == end(car(cdr(stack_begin))));
- BOOST_MPL_ASSERT((
- result_of::equal_to<
- typename result_of::end<
- typename remove_reference<
- typename add_const<
- typename result_of::segments<
- typename remove_reference<
- typename add_const<
- typename result_of::deref<
- typename Stack::car_type::begin_type
- >::type
- >::type
- >::type
- >::type
- >::type
- >::type
- >::type
- , typename Stack::cdr_type::car_type::end_type
- >));
-
- typedef
- iterator_range<
- typename result_of::next<
- typename Stack::cdr_type::car_type::begin_type
- >::type
- , typename result_of::end<
- typename remove_reference<
- typename add_const<
- typename result_of::segments<
- typename remove_reference<
- typename add_const<
- typename result_of::deref<
- typename Stack::car_type::begin_type
- >::type
- >::type
- >::type
- >::type
- >::type
- >::type
- >::type
- >
- rest_type;
-
- typedef
- make_segment_sequence_front<typename Stack::cdr_type>
- recurse;
-
- typedef
- segment_sequence<
- typename result_of::push_front<
- rest_type const
- , typename recurse::type
- >::type
- >
- type;
-
- static type call(Stack const& stack)
- {
- //return segment_sequence(
- // push_front(
- // iterator_range(next(begin(car(cdr(stack_begin)))), end(segments(front(car(stack_begin))))),
- // make_segment_sequence_front(cdr(stack_begin))));
- return type(
- fusion::push_front(
- rest_type(fusion::next(stack.cdr.car.first), fusion::end(fusion::segments(*stack.car.first)))
- , recurse::call(stack.cdr)));
- }
- };
-
- template <typename Stack>
- struct make_segment_sequence_front<Stack, 2>
- {
- // assert(end(front(car(stack_begin))) == end(car(cdr(stack_begin))));
- BOOST_MPL_ASSERT((
- result_of::equal_to<
- typename result_of::end<
- typename remove_reference<
- typename add_const<
- typename result_of::deref<
- typename Stack::car_type::begin_type
- >::type
- >::type
- >::type
- >::type
- , typename Stack::cdr_type::car_type::end_type
- >));
-
- typedef
- iterator_range<
- typename Stack::cdr_type::car_type::begin_type
- , typename result_of::end<
- typename remove_reference<
- typename add_const<
- typename result_of::deref<
- typename Stack::car_type::begin_type
- >::type
- >::type
- >::type
- >::type
- >
- type;
-
- static type call(Stack const& stack)
- {
- // return iterator_range(begin(car(cdr(stack_begin))), end(front(car(stack_begin))));
- return type(stack.cdr.car.first, fusion::end(*stack.car.first));
- }
- };
-
- template <typename Stack>
- struct make_segment_sequence_front<Stack, 1>
- {
- typedef typename Stack::cdr_type type; // nil_
-
- static type call(Stack const &stack)
- {
- return stack.cdr;
- }
- };
-
- //auto make_segment_sequence_back(stack_end)
- //{
- // switch (size(stack_end))
- // {
- // case 1:
- // return nil_;
- // case 2:
- // // car(cdr(stack_back)) is a range over values.
- // assert(end(front(car(stack_end))) == end(car(cdr(stack_end))));
- // return iterator_range(begin(front(car(stack_end))), begin(car(cdr(stack_end))));
- // default:
- // // car(cdr(stack_begin)) is a range over segments. We replace the
- // // back with a view that is restricted.
- // assert(end(segments(front(car(stack_end)))) == end(car(cdr(stack_end))));
- // return segment_sequence(
- // push_back(
- // iterator_range(begin(segments(front(car(stack_end)))), begin(car(cdr(stack_end)))),
- // make_segment_sequence_back(cdr(stack_end))));
- // }
- //}
-
- template <typename Stack, std::size_t Size = Stack::size::value>
- struct make_segment_sequence_back
- {
- // assert(end(segments(front(car(stack_begin)))) == end(car(cdr(stack_begin))));
- BOOST_MPL_ASSERT((
- result_of::equal_to<
- typename result_of::end<
- typename remove_reference<
- typename add_const<
- typename result_of::segments<
- typename remove_reference<
- typename add_const<
- typename result_of::deref<
- typename Stack::car_type::begin_type
- >::type
- >::type
- >::type
- >::type
- >::type
- >::type
- >::type
- , typename Stack::cdr_type::car_type::end_type
- >));
-
- typedef
- iterator_range<
- typename result_of::begin<
- typename remove_reference<
- typename add_const<
- typename result_of::segments<
- typename remove_reference<
- typename add_const<
- typename result_of::deref<
- typename Stack::car_type::begin_type
- >::type
- >::type
- >::type
- >::type
- >::type
- >::type
- >::type
- , typename Stack::cdr_type::car_type::begin_type
- >
- rest_type;
-
- typedef
- make_segment_sequence_back<typename Stack::cdr_type>
- recurse;
-
- typedef
- segment_sequence<
- typename result_of::push_back<
- rest_type const
- , typename recurse::type
- >::type
- >
- type;
-
- static type call(Stack const& stack)
- {
- // return segment_sequence(
- // push_back(
- // iterator_range(begin(segments(front(car(stack_end)))), begin(car(cdr(stack_end)))),
- // make_segment_sequence_back(cdr(stack_end))));
- return type(
- fusion::push_back(
- rest_type(fusion::begin(fusion::segments(*stack.car.first)), stack.cdr.car.first)
- , recurse::call(stack.cdr)));
- }
- };
-
- template <typename Stack>
- struct make_segment_sequence_back<Stack, 2>
- {
- // assert(end(front(car(stack_end))) == end(car(cdr(stack_end))));
- BOOST_MPL_ASSERT((
- result_of::equal_to<
- typename result_of::end<
- typename remove_reference<
- typename add_const<
- typename result_of::deref<
- typename Stack::car_type::begin_type
- >::type
- >::type
- >::type
- >::type
- , typename Stack::cdr_type::car_type::end_type
- >));
-
- typedef
- iterator_range<
- typename result_of::begin<
- typename remove_reference<
- typename add_const<
- typename result_of::deref<
- typename Stack::car_type::begin_type
- >::type
- >::type
- >::type
- >::type
- , typename Stack::cdr_type::car_type::begin_type
- >
- type;
-
- static type call(Stack const& stack)
- {
- // return iterator_range(begin(front(car(stack_end))), begin(car(cdr(stack_end))));
- return type(fusion::begin(*stack.car.first), stack.cdr.car.first);
- }
- };
-
- template <typename Stack>
- struct make_segment_sequence_back<Stack, 1>
- {
- typedef typename Stack::cdr_type type; // nil_
-
- static type call(Stack const& stack)
- {
- return stack.cdr;
- }
- };
-
- //auto make_segmented_range_reduce(stack_begin, stack_end)
- //{
- // if (size(stack_begin) == 1 && size(stack_end) == 1)
- // {
- // return segment_sequence(
- // single_view(
- // iterator_range(begin(car(stack_begin)), begin(car(stack_end)))));
- // }
- // else
- // {
- // // We are in the case where both begin_stack and/or end_stack have
- // // more than one element. Throw away any part of the tree where
- // // begin and end refer to the same segment.
- // if (begin(car(stack_begin)) == begin(car(stack_end)))
- // {
- // return make_segmented_range_reduce(cdr(stack_begin), cdr(stack_end));
- // }
- // else
- // {
- // // We are in the case where begin_stack and end_stack (a) have
- // // more than one element each, and (b) they point to different
- // // segments. We must construct a segmented sequence.
- // return segment_sequence(
- // push_back(
- // push_front(
- // iterator_range(
- // fusion::next(begin(car(stack_begin))),
- // begin(car(stack_end))), // a range of (possibly segmented) ranges.
- // make_segment_sequence_front(stack_begin)), // should be a (possibly segmented) range.
- // make_segment_sequence_back(stack_end))); // should be a (possibly segmented) range.
- // }
- // }
- //}
-
- template <
- typename StackBegin
- , typename StackEnd
- , int StackBeginSize = StackBegin::size::value
- , int StackEndSize = StackEnd::size::value>
- struct make_segmented_range_reduce;
-
- template <
- typename StackBegin
- , typename StackEnd
- , bool SameSegment =
- result_of::equal_to<
- typename StackBegin::car_type::begin_type
- , typename StackEnd::car_type::begin_type
- >::type::value>
- struct make_segmented_range_reduce2
- {
- typedef
- iterator_range<
- typename result_of::next<
- typename StackBegin::car_type::begin_type
- >::type
- , typename StackEnd::car_type::begin_type
- >
- rest_type;
-
- typedef
- segment_sequence<
- typename result_of::push_back<
- typename result_of::push_front<
- rest_type const
- , typename make_segment_sequence_front<StackBegin>::type
- >::type const
- , typename make_segment_sequence_back<StackEnd>::type
- >::type
- >
- type;
-
- static type call(StackBegin stack_begin, StackEnd stack_end)
- {
- //return segment_sequence(
- // push_back(
- // push_front(
- // iterator_range(
- // fusion::next(begin(car(stack_begin))),
- // begin(car(stack_end))), // a range of (possibly segmented) ranges.
- // make_segment_sequence_front(stack_begin)), // should be a (possibly segmented) range.
- // make_segment_sequence_back(stack_end))); // should be a (possibly segmented) range.
- return type(
- fusion::push_back(
- fusion::push_front(
- rest_type(fusion::next(stack_begin.car.first), stack_end.car.first)
- , make_segment_sequence_front<StackBegin>::call(stack_begin))
- , make_segment_sequence_back<StackEnd>::call(stack_end)));
- }
- };
-
- template <typename StackBegin, typename StackEnd>
- struct make_segmented_range_reduce2<StackBegin, StackEnd, true>
- {
- typedef
- make_segmented_range_reduce<
- typename StackBegin::cdr_type
- , typename StackEnd::cdr_type
- >
- impl;
-
- typedef
- typename impl::type
- type;
-
- static type call(StackBegin stack_begin, StackEnd stack_end)
- {
- return impl::call(stack_begin.cdr, stack_end.cdr);
- }
- };
-
- template <typename StackBegin, typename StackEnd, int StackBeginSize, int StackEndSize>
- struct make_segmented_range_reduce
- : make_segmented_range_reduce2<StackBegin, StackEnd>
- {};
-
- template <typename StackBegin, typename StackEnd>
- struct make_segmented_range_reduce<StackBegin, StackEnd, 1, 1>
- {
- typedef
- iterator_range<
- typename StackBegin::car_type::begin_type
- , typename StackEnd::car_type::begin_type
- >
- range_type;
-
- typedef
- single_view<range_type>
- segment_type;
-
- typedef
- segment_sequence<segment_type>
- type;
-
- static type call(StackBegin stack_begin, StackEnd stack_end)
- {
- //return segment_sequence(
- // single_view(
- // iterator_range(begin(car(stack_begin)), begin(car(stack_end)))));
- return type(segment_type(range_type(stack_begin.car.first, stack_end.car.first)));
- }
- };
-
- //auto make_segmented_range(begin, end)
- //{
- // return make_segmented_range_reduce(reverse(begin.context), reverse(end.context));
- //}
-
- template <typename Begin, typename End>
- struct make_segmented_range
- {
- typedef reverse_cons<typename Begin::context_type> reverse_begin_cons;
- typedef reverse_cons<typename End::context_type> reverse_end_cons;
-
- typedef
- make_segmented_range_reduce<
- typename reverse_begin_cons::type
- , typename reverse_end_cons::type
- >
- impl;
-
- typedef typename impl::type type;
-
- static type call(Begin const& begin, End const& end)
- {
- return impl::call(
- reverse_begin_cons::call(begin.context)
- , reverse_end_cons::call(end.context));
- }
- };
-
-}}}
-
-#endif
diff --git a/boost/fusion/view/iterator_range/detail/segments_impl.hpp b/boost/fusion/view/iterator_range/detail/segments_impl.hpp
deleted file mode 100644
index ede4968..0000000
--- a/boost/fusion/view/iterator_range/detail/segments_impl.hpp
+++ /dev/null
@@ -1,52 +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_ITERATOR_RANGE_SEGMENTS_HPP_INCLUDED)
-#define BOOST_FUSION_ITERATOR_RANGE_SEGMENTS_HPP_INCLUDED
-
-#include <boost/mpl/assert.hpp>
-#include <boost/fusion/sequence/intrinsic/segments.hpp>
-#include <boost/fusion/support/is_segmented.hpp>
-#include <boost/fusion/view/iterator_range/detail/segmented_iterator_range.hpp>
-
-namespace boost { namespace fusion
-{
- struct iterator_range_tag;
-
- namespace extension
- {
- template <typename Tag>
- struct segments_impl;
-
- template <>
- struct segments_impl<iterator_range_tag>
- {
- template <typename Sequence>
- struct apply
- {
- typedef
- detail::make_segmented_range<
- typename Sequence::begin_type
- , typename Sequence::end_type
- >
- impl;
-
- BOOST_MPL_ASSERT((traits::is_segmented<typename impl::type>));
-
- typedef
- typename result_of::segments<typename impl::type>::type
- type;
-
- static type call(Sequence & seq)
- {
- return fusion::segments(impl::call(seq.first, seq.last));
- }
- };
- };
- }
-}}
-
-#endif
diff --git a/boost/fusion/view/iterator_range/detail/size_impl.hpp b/boost/fusion/view/iterator_range/detail/size_impl.hpp
deleted file mode 100644
index 90951b2..0000000
--- a/boost/fusion/view/iterator_range/detail/size_impl.hpp
+++ /dev/null
@@ -1,37 +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_ITERATOR_RANGE_SIZE_IMPL_HPP_INCLUDED)
-#define BOOST_FUSION_ITERATOR_RANGE_SIZE_IMPL_HPP_INCLUDED
-
-#include <boost/fusion/iterator/distance.hpp>
-
-namespace boost { namespace fusion
-{
- struct iterator_range_tag;
-
- namespace extension
- {
- template <typename Tag>
- struct size_impl;
-
- template <>
- struct size_impl<iterator_range_tag>
- {
- template <typename Seq>
- struct apply
- : result_of::distance<
- typename Seq::begin_type,
- typename Seq::end_type
- >
- {};
- };
- }
-}}
-
-#endif
-
diff --git a/boost/fusion/view/iterator_range/detail/value_at_impl.hpp b/boost/fusion/view/iterator_range/detail/value_at_impl.hpp
deleted file mode 100644
index b6fe888..0000000
--- a/boost/fusion/view/iterator_range/detail/value_at_impl.hpp
+++ /dev/null
@@ -1,38 +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_VALUE_AT_IMPL_HPP_INCLUDED)
-#define BOOST_FUSION_ITERATOR_RANGE_VALUE_AT_IMPL_HPP_INCLUDED
-
-#include <boost/fusion/iterator/advance.hpp>
-#include <boost/fusion/iterator/value_of.hpp>
-
-namespace boost { namespace fusion
-{
- struct iterator_range_tag;
-
- namespace extension
- {
- template <typename Tag>
- struct value_at_impl;
-
- template <>
- struct value_at_impl<iterator_range_tag>
- {
- template <typename Seq, typename N>
- struct apply
- {
- typedef typename Seq::begin_type begin_type;
- typedef typename result_of::advance<begin_type,N>::type pos;
- typedef typename result_of::value_of<pos>::type type;
- };
- };
- }
-}}
-
-#endif
-
diff --git a/boost/fusion/view/iterator_range/iterator_range.hpp b/boost/fusion/view/iterator_range/iterator_range.hpp
deleted file mode 100644
index 4f517c8..0000000
--- a/boost/fusion/view/iterator_range/iterator_range.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_ITERATOR_RANGE_05062005_1224)
-#define FUSION_ITERATOR_RANGE_05062005_1224
-
-#include <boost/fusion/support/detail/access.hpp>
-#include <boost/fusion/support/sequence_base.hpp>
-#include <boost/fusion/support/category_of.hpp>
-#include <boost/fusion/iterator/distance.hpp>
-#include <boost/fusion/iterator/mpl/convert_iterator.hpp>
-#include <boost/fusion/view/iterator_range/detail/begin_impl.hpp>
-#include <boost/fusion/view/iterator_range/detail/end_impl.hpp>
-#include <boost/fusion/view/iterator_range/detail/at_impl.hpp>
-#include <boost/fusion/view/iterator_range/detail/size_impl.hpp>
-#include <boost/fusion/view/iterator_range/detail/value_at_impl.hpp>
-#include <boost/fusion/view/iterator_range/detail/is_segmented_impl.hpp>
-#include <boost/fusion/view/iterator_range/detail/segments_impl.hpp>
-#include <boost/fusion/adapted/mpl/mpl_iterator.hpp>
-#include <boost/config.hpp>
-
-#if defined (BOOST_MSVC)
-# pragma warning(push)
-# pragma warning (disable: 4512) // assignment operator could not be generated.
-#endif
-
-namespace boost { namespace fusion
-{
- struct iterator_range_tag;
- struct fusion_sequence_tag;
-
- template <typename First, typename Last>
- struct iterator_range : sequence_base<iterator_range<First, Last> >
- {
- typedef typename convert_iterator<First>::type begin_type;
- typedef typename convert_iterator<Last>::type end_type;
- typedef iterator_range_tag fusion_tag;
- typedef fusion_sequence_tag tag; // this gets picked up by MPL
- typedef mpl::true_ is_view;
-
- typedef typename traits::category_of<begin_type>::type category;
-
- iterator_range(First const& in_first, Last const& in_last)
- : first(convert_iterator<First>::call(in_first))
- , last(convert_iterator<Last>::call(in_last)) {}
-
- begin_type first;
- end_type last;
- };
-}}
-
-#if defined (BOOST_MSVC)
-# pragma warning(pop)
-#endif
-
-#endif
-
-
diff --git a/boost/fusion/view/joint_view/detail/begin_impl.hpp b/boost/fusion/view/joint_view/detail/begin_impl.hpp
deleted file mode 100644
index a85a7e1..0000000
--- a/boost/fusion/view/joint_view/detail/begin_impl.hpp
+++ /dev/null
@@ -1,67 +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 <boost/fusion/iterator/equal_to.hpp>
-#include <boost/mpl/if.hpp>
-
-namespace boost { namespace fusion
-{
- struct joint_view_tag;
-
- template <typename Category, typename First, typename Last, typename Concat>
- struct joint_view_iterator;
-
- namespace extension
- {
- template <typename Tag>
- struct begin_impl;
-
- template <>
- struct begin_impl<joint_view_tag>
- {
- template <typename Sequence>
- 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<first_type, last_type> equal_to;
-
- typedef typename
- mpl::if_<
- equal_to
- , concat_type
- , joint_view_iterator<category, first_type, last_type, concat_type>
- >::type
- type;
-
- static type
- call(Sequence& s, mpl::true_)
- {
- return s.concat();
- }
-
- static type
- call(Sequence& s, mpl::false_)
- {
- return type(s.first(), s.concat());
- }
-
- static type
- call(Sequence& s)
- {
- return call(s, equal_to());
- }
- };
- };
- }
-}}
-
-#endif
diff --git a/boost/fusion/view/joint_view/detail/deref_data_impl.hpp b/boost/fusion/view/joint_view/detail/deref_data_impl.hpp
deleted file mode 100644
index a60a125..0000000
--- a/boost/fusion/view/joint_view/detail/deref_data_impl.hpp
+++ /dev/null
@@ -1,37 +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 <boost/fusion/iterator/deref_data.hpp>
-
-namespace boost { namespace fusion { namespace extension
-{
- template <typename>
- struct deref_data_impl;
-
- template <>
- struct deref_data_impl<joint_view_iterator_tag>
- {
- template <typename It>
- struct apply
- {
- typedef typename
- result_of::deref_data<typename It::first_type>::type
- type;
-
- static type
- call(It const& it)
- {
- return fusion::deref_data(it.first);
- }
- };
- };
-}}}
-
-#endif
diff --git a/boost/fusion/view/joint_view/detail/deref_impl.hpp b/boost/fusion/view/joint_view/detail/deref_impl.hpp
deleted file mode 100644
index ea4055d..0000000
--- a/boost/fusion/view/joint_view/detail/deref_impl.hpp
+++ /dev/null
@@ -1,29 +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_0137)
-#define FUSION_DEREF_IMPL_07162005_0137
-
-#include <boost/fusion/iterator/detail/adapt_deref_traits.hpp>
-
-namespace boost { namespace fusion
-{
- struct joint_view_iterator_tag;
-
- namespace extension
- {
- template <typename Tag>
- struct deref_impl;
-
- template <>
- struct deref_impl<joint_view_iterator_tag>
- : detail::adapt_deref_traits {};
- }
-}}
-
-#endif
-
-
diff --git a/boost/fusion/view/joint_view/detail/end_impl.hpp b/boost/fusion/view/joint_view/detail/end_impl.hpp
deleted file mode 100644
index 7b88e56..0000000
--- a/boost/fusion/view/joint_view/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_07162005_0128)
-#define FUSION_END_IMPL_07162005_0128
-
-#include <boost/fusion/iterator/equal_to.hpp>
-#include <boost/mpl/if.hpp>
-
-namespace boost { namespace fusion
-{
- struct joint_view_tag;
-
- namespace extension
- {
- template <typename Tag>
- struct end_impl;
-
- template <>
- struct end_impl<joint_view_tag>
- {
- template <typename Sequence>
- struct apply
- {
- typedef typename Sequence::concat_last_type type;
-
- static type
- call(Sequence& s)
- {
- return s.concat_last();
- }
- };
- };
- }
-}}
-
-#endif
diff --git a/boost/fusion/view/joint_view/detail/key_of_impl.hpp b/boost/fusion/view/joint_view/detail/key_of_impl.hpp
deleted file mode 100644
index e413c3d..0000000
--- a/boost/fusion/view/joint_view/detail/key_of_impl.hpp
+++ /dev/null
@@ -1,28 +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_KEY_OF_IMPL_HPP
-#define BOOST_FUSION_VIEW_JOINT_VIEW_DETAIL_KEY_OF_IMPL_HPP
-
-#include <boost/fusion/iterator/key_of.hpp>
-
-namespace boost { namespace fusion { namespace extension
-{
- template <typename>
- struct key_of_impl;
-
- template <>
- struct key_of_impl<joint_view_iterator_tag>
- {
- template <typename It>
- struct apply
- : result_of::key_of<typename It::first_type>
- {};
- };
-}}}
-
-#endif
diff --git a/boost/fusion/view/joint_view/detail/next_impl.hpp b/boost/fusion/view/joint_view/detail/next_impl.hpp
deleted file mode 100644
index 47b4d48..0000000
--- a/boost/fusion/view/joint_view/detail/next_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_NEXT_IMPL_07162005_0136)
-#define FUSION_NEXT_IMPL_07162005_0136
-
-#include <boost/fusion/iterator/next.hpp>
-#include <boost/fusion/iterator/equal_to.hpp>
-#include <boost/mpl/if.hpp>
-
-namespace boost { namespace fusion
-{
- struct joint_view_iterator_tag;
-
- template <typename Category, typename First, typename Last, typename Concat>
- struct joint_view_iterator;
-
- namespace extension
- {
- template <typename Tag>
- struct next_impl;
-
- template <>
- struct next_impl<joint_view_iterator_tag>
- {
- template <typename Iterator>
- 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<first_type>::type next_type;
- typedef result_of::equal_to<next_type, last_type> equal_to;
-
- typedef typename
- mpl::if_<
- equal_to
- , concat_type
- , joint_view_iterator<category, next_type, last_type, concat_type>
- >::type
- type;
-
- static type
- call(Iterator const& i, mpl::true_)
- {
- return i.concat;
- }
-
- static type
- call(Iterator const& i, mpl::false_)
- {
- return type(fusion::next(i.first), i.concat);
- }
-
- static type
- call(Iterator const& i)
- {
- return call(i, equal_to());
- }
- };
- };
- }
-}}
-
-#endif
-
-
diff --git a/boost/fusion/view/joint_view/detail/value_of_data_impl.hpp b/boost/fusion/view/joint_view/detail/value_of_data_impl.hpp
deleted file mode 100644
index cc883d7..0000000
--- a/boost/fusion/view/joint_view/detail/value_of_data_impl.hpp
+++ /dev/null
@@ -1,28 +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_VALUE_OF_DATA_IMPL_HPP
-#define BOOST_FUSION_VIEW_JOINT_VIEW_DETAIL_VALUE_OF_DATA_IMPL_HPP
-
-#include <boost/fusion/iterator/value_of_data.hpp>
-
-namespace boost { namespace fusion { namespace extension
-{
- template <typename>
- struct value_of_data_impl;
-
- template <>
- struct value_of_data_impl<joint_view_iterator_tag>
- {
- template <typename It>
- struct apply
- : result_of::value_of_data<typename It::first_type>
- {};
- };
-}}}
-
-#endif
diff --git a/boost/fusion/view/joint_view/detail/value_of_impl.hpp b/boost/fusion/view/joint_view/detail/value_of_impl.hpp
deleted file mode 100644
index 98637e4..0000000
--- a/boost/fusion/view/joint_view/detail/value_of_impl.hpp
+++ /dev/null
@@ -1,29 +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_IMPL_07162005_0132)
-#define FUSION_VALUE_IMPL_07162005_0132
-
-#include <boost/fusion/iterator/detail/adapt_value_traits.hpp>
-
-namespace boost { namespace fusion
-{
- struct joint_view_iterator_tag;
-
- namespace extension
- {
- template <typename Tag>
- struct value_of_impl;
-
- template <>
- struct value_of_impl<joint_view_iterator_tag>
- : detail::adapt_value_traits {};
- }
-}}
-
-#endif
-
-
diff --git a/boost/fusion/view/joint_view/joint_view.hpp b/boost/fusion/view/joint_view/joint_view.hpp
deleted file mode 100644
index 11b74f9..0000000
--- a/boost/fusion/view/joint_view/joint_view.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_JOINT_VIEW_07162005_0140)
-#define FUSION_JOINT_VIEW_07162005_0140
-
-#include <boost/fusion/view/joint_view/joint_view_fwd.hpp>
-#include <boost/fusion/support/detail/access.hpp>
-#include <boost/fusion/support/is_view.hpp>
-#include <boost/fusion/sequence/intrinsic/begin.hpp>
-#include <boost/fusion/sequence/intrinsic/end.hpp>
-#include <boost/fusion/sequence/intrinsic/size.hpp>
-#include <boost/fusion/view/joint_view/joint_view_iterator.hpp>
-#include <boost/fusion/view/joint_view/detail/begin_impl.hpp>
-#include <boost/fusion/view/joint_view/detail/end_impl.hpp>
-#include <boost/fusion/support/sequence_base.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/plus.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/inherit.hpp>
-#include <boost/mpl/identity.hpp>
-
-namespace boost { namespace fusion
-{
- struct joint_view_tag;
- struct forward_traversal_tag;
- struct fusion_sequence_tag;
-
- template <typename Sequence1, typename Sequence2>
- struct joint_view : sequence_base<joint_view<Sequence1, Sequence2> >
- {
- typedef joint_view_tag fusion_tag;
- typedef fusion_sequence_tag tag; // this gets picked up by MPL
- typedef typename
- mpl::eval_if<
- mpl::and_<
- traits::is_associative<Sequence1>
- , traits::is_associative<Sequence2>
- >
- , mpl::inherit2<forward_traversal_tag,associative_tag>
- , mpl::identity<forward_traversal_tag>
- >::type
- category;
- typedef mpl::true_ is_view;
-
- typedef typename result_of::begin<Sequence1>::type first_type;
- typedef typename result_of::end<Sequence1>::type last_type;
- typedef typename result_of::begin<Sequence2>::type concat_type;
- typedef typename result_of::end<Sequence2>::type concat_last_type;
- typedef typename mpl::int_<
- result_of::size<Sequence1>::value + result_of::size<Sequence2>::value>
- size;
-
- joint_view(Sequence1& in_seq1, Sequence2& in_seq2)
- : seq1(in_seq1)
- , seq2(in_seq2)
- {}
-
- first_type first() const { return fusion::begin(seq1); }
- concat_type concat() const { return fusion::begin(seq2); }
- concat_last_type concat_last() const { return fusion::end(seq2); }
-
- private:
- // silence MSVC warning C4512: assignment operator could not be generated
- joint_view& operator= (joint_view const&);
-
- typename mpl::if_<traits::is_view<Sequence1>, Sequence1, Sequence1&>::type seq1;
- typename mpl::if_<traits::is_view<Sequence2>, Sequence2, Sequence2&>::type seq2;
- };
-}}
-
-#endif
-
-
diff --git a/boost/fusion/view/joint_view/joint_view_fwd.hpp b/boost/fusion/view/joint_view/joint_view_fwd.hpp
deleted file mode 100644
index c3e3b45..0000000
--- a/boost/fusion/view/joint_view/joint_view_fwd.hpp
+++ /dev/null
@@ -1,18 +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_JOINT_VIEW_FWD_HPP_INCLUDED)
-#define BOOST_FUSION_JOINT_VIEW_FWD_HPP_INCLUDED
-
-namespace boost { namespace fusion
-{
- struct joint_view_tag;
-
- template <typename Sequence1, typename Sequence2>
- struct joint_view;
-}}
-
-#endif
diff --git a/boost/fusion/view/joint_view/joint_view_iterator.hpp b/boost/fusion/view/joint_view/joint_view_iterator.hpp
deleted file mode 100644
index 6f58248..0000000
--- a/boost/fusion/view/joint_view/joint_view_iterator.hpp
+++ /dev/null
@@ -1,59 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-#if !defined(FUSION_JOINT_VIEW_ITERATOR_07162005_0140)
-#define FUSION_JOINT_VIEW_ITERATOR_07162005_0140
-
-#include <boost/fusion/support/iterator_base.hpp>
-#include <boost/fusion/iterator/equal_to.hpp>
-#include <boost/fusion/iterator/mpl/convert_iterator.hpp>
-#include <boost/fusion/adapted/mpl/mpl_iterator.hpp>
-#include <boost/fusion/view/joint_view/detail/deref_impl.hpp>
-#include <boost/fusion/view/joint_view/detail/next_impl.hpp>
-#include <boost/fusion/view/joint_view/detail/value_of_impl.hpp>
-#include <boost/fusion/view/joint_view/detail/deref_data_impl.hpp>
-#include <boost/fusion/view/joint_view/detail/value_of_data_impl.hpp>
-#include <boost/fusion/view/joint_view/detail/key_of_impl.hpp>
-#include <boost/static_assert.hpp>
-
-namespace boost { namespace fusion
-{
- struct joint_view_iterator_tag;
- struct forward_traversal_tag;
-
- template <typename Category, typename First, typename Last, typename Concat>
- struct joint_view_iterator
- : iterator_base<joint_view_iterator<Category, First, Last, Concat> >
- {
- typedef convert_iterator<First> first_converter;
- typedef convert_iterator<Last> last_converter;
- typedef convert_iterator<Concat> concat_converter;
-
- typedef typename first_converter::type first_type;
- typedef typename last_converter::type last_type;
- typedef typename concat_converter::type concat_type;
-
- typedef joint_view_iterator_tag fusion_tag;
- typedef Category category;
- BOOST_STATIC_ASSERT((!result_of::equal_to<first_type, last_type>::value));
-
- joint_view_iterator(First const& in_first, Concat const& in_concat)
- : first(first_converter::call(in_first))
- , concat(concat_converter::call(in_concat))
- {}
-
- first_type first;
- concat_type concat;
-
- private:
- // silence MSVC warning C4512: assignment operator could not be generated
- joint_view_iterator& operator= (joint_view_iterator const&);
- };
-}}
-
-#endif
-
-
diff --git a/boost/fusion/view/single_view/detail/advance_impl.hpp b/boost/fusion/view/single_view/detail/advance_impl.hpp
deleted file mode 100644
index d0846ec..0000000
--- a/boost/fusion/view/single_view/detail/advance_impl.hpp
+++ /dev/null
@@ -1,47 +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 <boost/mpl/plus.hpp>
-
-namespace boost { namespace fusion
-{
- struct single_view_iterator_tag;
-
- template <typename SingleView, typename Pos>
- struct single_view_iterator;
-
- namespace extension
- {
- template<typename Tag>
- struct advance_impl;
-
- template<>
- struct advance_impl<single_view_iterator_tag>
- {
- template<typename Iterator, typename Dist>
- struct apply
- {
- typedef single_view_iterator<
- typename Iterator::single_view_type,
- typename mpl::plus<typename Iterator::position, Dist>::type>
- type;
-
- static type
- call(Iterator const& i)
- {
- return type(i.view);
- }
- };
- };
- }
-
-}}
-
-#endif
diff --git a/boost/fusion/view/single_view/detail/at_impl.hpp b/boost/fusion/view/single_view/detail/at_impl.hpp
deleted file mode 100644
index 3e0915f..0000000
--- a/boost/fusion/view/single_view/detail/at_impl.hpp
+++ /dev/null
@@ -1,44 +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 <boost/mpl/int.hpp>
-#include <boost/mpl/assert.hpp>
-#include <boost/mpl/equal_to.hpp>
-
-namespace boost { namespace fusion
-{
- struct single_view_tag;
-
- namespace extension
- {
- template<typename Tag>
- struct at_impl;
-
- template<>
- struct at_impl<single_view_tag>
- {
- template<typename Sequence, typename N>
- struct apply
- {
- BOOST_MPL_ASSERT((mpl::equal_to<N, mpl::int_<0> >));
- typedef typename Sequence::value_type type;
-
- static type
- call(Sequence& seq)
- {
- return seq.val;
- }
- };
- };
- }
-
-}}
-
-#endif
diff --git a/boost/fusion/view/single_view/detail/begin_impl.hpp b/boost/fusion/view/single_view/detail/begin_impl.hpp
deleted file mode 100644
index eb1a3ee..0000000
--- a/boost/fusion/view/single_view/detail/begin_impl.hpp
+++ /dev/null
@@ -1,45 +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 <boost/mpl/int.hpp>
-
-namespace boost { namespace fusion
-{
- struct single_view_tag;
-
- template <typename SingleView, typename Pos>
- struct single_view_iterator;
-
- namespace extension
- {
- template <typename Tag>
- struct begin_impl;
-
- template <>
- struct begin_impl<single_view_tag>
- {
- template <typename Sequence>
- struct apply
- {
- typedef single_view_iterator<Sequence, mpl::int_<0> > type;
-
- static type
- call(Sequence& seq)
- {
- return type(seq);
- }
- };
- };
- }
-}}
-
-#endif
-
-
diff --git a/boost/fusion/view/single_view/detail/deref_impl.hpp b/boost/fusion/view/single_view/detail/deref_impl.hpp
deleted file mode 100644
index b5b37a6..0000000
--- a/boost/fusion/view/single_view/detail/deref_impl.hpp
+++ /dev/null
@@ -1,45 +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 <boost/mpl/int.hpp>
-#include <boost/mpl/assert.hpp>
-#include <boost/mpl/equal_to.hpp>
-
-namespace boost { namespace fusion
-{
- struct single_view_iterator_tag;
-
- namespace extension
- {
- template <typename Tag>
- struct deref_impl;
-
- template <>
- struct deref_impl<single_view_iterator_tag>
- {
- template <typename Iterator>
- struct apply
- {
- BOOST_MPL_ASSERT((mpl::equal_to<typename Iterator::position, mpl::int_<0> >));
- typedef typename Iterator::value_type type;
-
- static type
- call(Iterator const& i)
- {
- return i.view.val;
- }
- };
- };
- }
-}}
-
-#endif
-
-
diff --git a/boost/fusion/view/single_view/detail/distance_impl.hpp b/boost/fusion/view/single_view/detail/distance_impl.hpp
deleted file mode 100644
index fec204c..0000000
--- a/boost/fusion/view/single_view/detail/distance_impl.hpp
+++ /dev/null
@@ -1,43 +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 <boost/mpl/minus.hpp>
-
-namespace boost { namespace fusion
-{
- struct single_view_iterator_tag;
-
- namespace extension
- {
- template<typename Tag>
- struct distance_impl;
-
- template<>
- struct distance_impl<single_view_iterator_tag>
- {
- template<typename First, typename Last>
- struct apply
- : mpl::minus<typename Last::position, typename First::position>
- {
- typedef typename mpl::minus<typename Last::position,
- typename First::position>::type type;
-
- static type
- call(First const& /*first*/, Last const& /*last*/)
- {
- return type();
- }
- };
- };
- }
-
-}}
-
-#endif
diff --git a/boost/fusion/view/single_view/detail/end_impl.hpp b/boost/fusion/view/single_view/detail/end_impl.hpp
deleted file mode 100644
index e069b24..0000000
--- a/boost/fusion/view/single_view/detail/end_impl.hpp
+++ /dev/null
@@ -1,45 +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 <boost/mpl/int.hpp>
-
-namespace boost { namespace fusion
-{
- struct single_view_tag;
-
- template <typename SingleView, typename Pos>
- struct single_view_iterator;
-
- namespace extension
- {
- template <typename Tag>
- struct end_impl;
-
- template <>
- struct end_impl<single_view_tag>
- {
- template <typename Sequence>
- struct apply
- {
- typedef single_view_iterator<Sequence, mpl::int_<1> > type;
-
- static type
- call(Sequence& seq)
- {
- return type(seq);
- }
- };
- };
- }
-}}
-
-#endif
-
-
diff --git a/boost/fusion/view/single_view/detail/equal_to_impl.hpp b/boost/fusion/view/single_view/detail/equal_to_impl.hpp
deleted file mode 100644
index c9a7ebd..0000000
--- a/boost/fusion/view/single_view/detail/equal_to_impl.hpp
+++ /dev/null
@@ -1,39 +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_ITERATOR_JUL_07_2011_1348PM)
-#define BOOST_FUSION_SINGLE_VIEW_ITERATOR_JUL_07_2011_1348PM
-
-#include <boost/mpl/assert.hpp>
-#include <boost/mpl/equal_to.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/add_const.hpp>
-
-namespace boost { namespace fusion
-{
- struct single_view_iterator_tag;
-
- namespace extension
- {
- template<typename Tag>
- struct equal_to_impl;
-
- template<>
- struct equal_to_impl<single_view_iterator_tag>
- {
- template<typename It1, typename It2>
- struct apply
- : mpl::equal_to<typename It1::position, typename It2::position>
- {
- BOOST_MPL_ASSERT((is_same<typename add_const<typename It1::single_view_type>::type,
- typename add_const<typename It2::single_view_type>::type>));
- };
- };
- }
-}}
-
-#endif
diff --git a/boost/fusion/view/single_view/detail/next_impl.hpp b/boost/fusion/view/single_view/detail/next_impl.hpp
deleted file mode 100644
index 1ebc502..0000000
--- a/boost/fusion/view/single_view/detail/next_impl.hpp
+++ /dev/null
@@ -1,50 +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 <boost/mpl/next.hpp>
-#include <boost/static_assert.hpp>
-
-namespace boost { namespace fusion
-{
- struct single_view_iterator_tag;
-
- template <typename SingleView, typename Pos>
- struct single_view_iterator;
-
- namespace extension
- {
- template <typename Tag>
- struct next_impl;
-
- template <>
- struct next_impl<single_view_iterator_tag>
- {
- template <typename Iterator>
- struct apply
- {
- typedef single_view_iterator<
- typename Iterator::single_view_type,
- typename mpl::next<typename Iterator::position>::type>
- type;
-
- static type
- call(Iterator const& i)
- {
- BOOST_STATIC_ASSERT((type::position::value < 2));
- return type(i.view);
- }
- };
- };
- }
-}}
-
-#endif
-
-
diff --git a/boost/fusion/view/single_view/detail/prior_impl.hpp b/boost/fusion/view/single_view/detail/prior_impl.hpp
deleted file mode 100644
index ece6795..0000000
--- a/boost/fusion/view/single_view/detail/prior_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_PRIOR_IMPL_JUL_07_2011_1348PM)
-#define BOOST_FUSION_SINGLE_VIEW_PRIOR_IMPL_JUL_07_2011_1348PM
-
-#include <boost/mpl/prior.hpp>
-
-namespace boost { namespace fusion
-{
- struct single_view_iterator_tag;
-
- template <typename Sequence, typename Pos>
- struct single_view_iterator;
-
- namespace extension
- {
- template <typename Tag>
- struct prior_impl;
-
- template <>
- struct prior_impl<single_view_iterator_tag>
- {
- template <typename Iterator>
- struct apply
- {
- typedef single_view_iterator<
- typename Iterator::single_view_type,
- typename mpl::prior<typename Iterator::position>::type>
- type;
-
- static type
- call(Iterator const& i)
- {
- return type(i.view);
- }
- };
- };
- }
-
-}}
-
-#endif
diff --git a/boost/fusion/view/single_view/detail/size_impl.hpp b/boost/fusion/view/single_view/detail/size_impl.hpp
deleted file mode 100644
index eba89cd..0000000
--- a/boost/fusion/view/single_view/detail/size_impl.hpp
+++ /dev/null
@@ -1,33 +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(FUSION_SINGLE_VIEW_SIZE_IMPL_JUL_07_2011_1348PM)
-#define FUSION_SINGLE_VIEW_SIZE_IMPL_JUL_07_2011_1348PM
-
-namespace boost { namespace fusion
-{
- struct single_view_tag;
-
- namespace extension
- {
- template <typename Tag>
- struct size_impl;
-
- template <>
- struct size_impl<single_view_tag>
- {
- template <typename Sequence>
- struct apply
- {
- typedef mpl::int_<1> type;
- };
- };
- }
-}}
-
-#endif
-
-
diff --git a/boost/fusion/view/single_view/detail/value_at_impl.hpp b/boost/fusion/view/single_view/detail/value_at_impl.hpp
deleted file mode 100644
index a8c20ad..0000000
--- a/boost/fusion/view/single_view/detail/value_at_impl.hpp
+++ /dev/null
@@ -1,39 +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_VALUE_AT_IMPL_JUL_07_2011_1348PM)
-#define BOOST_FUSION_SINGLE_VIEW_VALUE_AT_IMPL_JUL_07_2011_1348PM
-
-#include <boost/mpl/int.hpp>
-#include <boost/mpl/assert.hpp>
-#include <boost/mpl/equal_to.hpp>
-#include <boost/fusion/sequence/intrinsic/value_at.hpp>
-
-namespace boost { namespace fusion
-{
- struct single_view_tag;
-
- namespace extension
- {
- template<typename Tag>
- struct value_at_impl;
-
- template<>
- struct value_at_impl<single_view_tag>
- {
- template<typename Sequence, typename N>
- struct apply
- {
- BOOST_MPL_ASSERT((mpl::equal_to<N, mpl::int_<0> >));
- typedef typename Sequence::value_type type;
- };
- };
- }
-
-}}
-
-#endif
diff --git a/boost/fusion/view/single_view/detail/value_of_impl.hpp b/boost/fusion/view/single_view/detail/value_of_impl.hpp
deleted file mode 100644
index 81e8817..0000000
--- a/boost/fusion/view/single_view/detail/value_of_impl.hpp
+++ /dev/null
@@ -1,39 +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_VALUE_OF_IMPL_05052005_0324)
-#define BOOST_FUSION_SINGLE_VIEW_VALUE_OF_IMPL_05052005_0324
-
-#include <boost/mpl/int.hpp>
-#include <boost/mpl/assert.hpp>
-#include <boost/mpl/equal_to.hpp>
-
-namespace boost { namespace fusion
-{
- struct single_view_iterator_tag;
-
- namespace extension
- {
- template <typename Tag>
- struct value_of_impl;
-
- template <>
- struct value_of_impl<single_view_iterator_tag>
- {
- template <typename Iterator>
- struct apply
- {
- BOOST_MPL_ASSERT((mpl::equal_to<typename Iterator::position, mpl::int_<0> >));
- typedef typename Iterator::value_type type;
- };
- };
- }
-}}
-
-#endif
-
-
diff --git a/boost/fusion/view/single_view/single_view.hpp b/boost/fusion/view/single_view/single_view.hpp
deleted file mode 100644
index 5e7e5ab..0000000
--- a/boost/fusion/view/single_view/single_view.hpp
+++ /dev/null
@@ -1,68 +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_05052005_0335)
-#define BOOST_FUSION_SINGLE_VIEW_05052005_0335
-
-#include <boost/fusion/support/detail/access.hpp>
-#include <boost/fusion/support/detail/as_fusion_element.hpp>
-#include <boost/fusion/support/sequence_base.hpp>
-#include <boost/fusion/view/single_view/single_view_iterator.hpp>
-#include <boost/fusion/view/single_view/detail/at_impl.hpp>
-#include <boost/fusion/view/single_view/detail/begin_impl.hpp>
-#include <boost/fusion/view/single_view/detail/end_impl.hpp>
-#include <boost/fusion/view/single_view/detail/size_impl.hpp>
-#include <boost/fusion/view/single_view/detail/value_at_impl.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/config.hpp>
-
-#if defined (BOOST_MSVC)
-# pragma warning(push)
-# pragma warning (disable: 4512) // assignment operator could not be generated.
-#endif
-
-namespace boost { namespace fusion
-{
- struct single_view_tag;
- struct random_access_traversal_tag;
- struct fusion_sequence_tag;
-
- template <typename T>
- struct single_view : sequence_base<single_view<T> >
- {
- typedef single_view_tag fusion_tag;
- typedef fusion_sequence_tag tag; // this gets picked up by MPL
- typedef random_access_traversal_tag category;
- typedef mpl::true_ is_view;
- typedef mpl::int_<1> size;
- typedef T value_type;
-
- single_view()
- : val() {}
-
- explicit single_view(typename detail::call_param<T>::type in_val)
- : val(in_val) {}
-
- value_type val;
- };
-
- template <typename T>
- inline single_view<typename detail::as_fusion_element<T>::type>
- make_single_view(T const& v)
- {
- return single_view<typename detail::as_fusion_element<T>::type>(v);
- }
-}}
-
-#if defined (BOOST_MSVC)
-# pragma warning(pop)
-#endif
-
-#endif
-
-
diff --git a/boost/fusion/view/single_view/single_view_iterator.hpp b/boost/fusion/view/single_view/single_view_iterator.hpp
deleted file mode 100644
index 77b508a..0000000
--- a/boost/fusion/view/single_view/single_view_iterator.hpp
+++ /dev/null
@@ -1,58 +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_ITERATOR_05052005_0340)
-#define BOOST_FUSION_SINGLE_VIEW_ITERATOR_05052005_0340
-
-#include <boost/fusion/support/detail/access.hpp>
-#include <boost/fusion/support/iterator_base.hpp>
-#include <boost/fusion/view/single_view/detail/deref_impl.hpp>
-#include <boost/fusion/view/single_view/detail/next_impl.hpp>
-#include <boost/fusion/view/single_view/detail/prior_impl.hpp>
-#include <boost/fusion/view/single_view/detail/advance_impl.hpp>
-#include <boost/fusion/view/single_view/detail/distance_impl.hpp>
-#include <boost/fusion/view/single_view/detail/equal_to_impl.hpp>
-#include <boost/fusion/view/single_view/detail/value_of_impl.hpp>
-#include <boost/config.hpp>
-
-#if defined (BOOST_MSVC)
-# pragma warning(push)
-# pragma warning (disable: 4512) // assignment operator could not be generated.
-#endif
-
-namespace boost { namespace fusion
-{
- struct single_view_iterator_tag;
- struct random_access_traversal_tag;
-
- template <typename SingleView, typename Pos>
- struct single_view_iterator
- : iterator_base<single_view_iterator<SingleView, Pos> >
- {
- typedef single_view_iterator_tag fusion_tag;
- typedef random_access_traversal_tag category;
- typedef typename SingleView::value_type value_type;
- typedef Pos position;
- typedef SingleView single_view_type;
-
- explicit single_view_iterator(single_view_type& in_view)
- : view(in_view) {}
-
- SingleView& view;
-
- private:
- single_view_iterator& operator=(single_view_iterator const&);
- };
-}}
-
-#if defined (BOOST_MSVC)
-# pragma warning(pop)
-#endif
-
-#endif
-
-
diff --git a/boost/integer.hpp b/boost/integer.hpp
deleted file mode 100644
index 35a1e10..0000000
--- a/boost/integer.hpp
+++ /dev/null
@@ -1,261 +0,0 @@
-// boost integer.hpp header file -------------------------------------------//
-
-// Copyright Beman Dawes and Daryle Walker 1999. Distributed under the Boost
-// Software License, Version 1.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/integer for documentation.
-
-// Revision History
-// 22 Sep 01 Added value-based integer templates. (Daryle Walker)
-// 01 Apr 01 Modified to use new <boost/limits.hpp> header. (John Maddock)
-// 30 Jul 00 Add typename syntax fix (Jens Maurer)
-// 28 Aug 99 Initial version
-
-#ifndef BOOST_INTEGER_HPP
-#define BOOST_INTEGER_HPP
-
-#include <boost/integer_fwd.hpp> // self include
-
-#include <boost/integer_traits.hpp> // for boost::::boost::integer_traits
-#include <boost/limits.hpp> // for ::std::numeric_limits
-#include <boost/cstdint.hpp> // for boost::int64_t and BOOST_NO_INTEGRAL_INT64_T
-#include <boost/static_assert.hpp>
-
-//
-// We simply cannot include this header on gcc without getting copious warnings of the kind:
-//
-// boost/integer.hpp:77:30: warning: use of C99 long long integer constant
-//
-// And yet there is no other reasonable implementation, so we declare this a system header
-// to suppress these warnings.
-//
-#if defined(__GNUC__) && (__GNUC__ >= 4)
-#pragma GCC system_header
-#endif
-
-namespace boost
-{
-
- // Helper templates ------------------------------------------------------//
-
- // fast integers from least integers
- // int_fast_t<> works correctly for unsigned too, in spite of the name.
- template< typename LeastInt >
- struct int_fast_t
- {
- typedef LeastInt fast;
- typedef fast type;
- }; // imps may specialize
-
- namespace detail{
-
- // convert category to type
- template< int Category > struct int_least_helper {}; // default is empty
- template< int Category > struct uint_least_helper {}; // default is empty
-
- // specializatons: 1=long, 2=int, 3=short, 4=signed char,
- // 6=unsigned long, 7=unsigned int, 8=unsigned short, 9=unsigned char
- // no specializations for 0 and 5: requests for a type > long are in error
-#ifdef BOOST_HAS_LONG_LONG
- template<> struct int_least_helper<1> { typedef boost::long_long_type least; };
-#elif defined(BOOST_HAS_MS_INT64)
- template<> struct int_least_helper<1> { typedef __int64 least; };
-#endif
- template<> struct int_least_helper<2> { typedef long least; };
- template<> struct int_least_helper<3> { typedef int least; };
- template<> struct int_least_helper<4> { typedef short least; };
- template<> struct int_least_helper<5> { typedef signed char least; };
-#ifdef BOOST_HAS_LONG_LONG
- template<> struct uint_least_helper<1> { typedef boost::ulong_long_type least; };
-#elif defined(BOOST_HAS_MS_INT64)
- template<> struct uint_least_helper<1> { typedef unsigned __int64 least; };
-#endif
- template<> struct uint_least_helper<2> { typedef unsigned long least; };
- template<> struct uint_least_helper<3> { typedef unsigned int least; };
- template<> struct uint_least_helper<4> { typedef unsigned short least; };
- template<> struct uint_least_helper<5> { typedef unsigned char least; };
-
- template <int Bits>
- struct exact_signed_base_helper{};
- template <int Bits>
- struct exact_unsigned_base_helper{};
-
- template <> struct exact_signed_base_helper<sizeof(signed char)* CHAR_BIT> { typedef signed char exact; };
- template <> struct exact_unsigned_base_helper<sizeof(unsigned char)* CHAR_BIT> { typedef unsigned char exact; };
-#if USHRT_MAX != UCHAR_MAX
- template <> struct exact_signed_base_helper<sizeof(short)* CHAR_BIT> { typedef short exact; };
- template <> struct exact_unsigned_base_helper<sizeof(unsigned short)* CHAR_BIT> { typedef unsigned short exact; };
-#endif
-#if UINT_MAX != USHRT_MAX
- template <> struct exact_signed_base_helper<sizeof(int)* CHAR_BIT> { typedef int exact; };
- template <> struct exact_unsigned_base_helper<sizeof(unsigned int)* CHAR_BIT> { typedef unsigned int exact; };
-#endif
-#if ULONG_MAX != UINT_MAX
- template <> struct exact_signed_base_helper<sizeof(long)* CHAR_BIT> { typedef long exact; };
- template <> struct exact_unsigned_base_helper<sizeof(unsigned long)* CHAR_BIT> { typedef unsigned long exact; };
-#endif
-#if defined(BOOST_HAS_LONG_LONG) &&\
- ((defined(ULLONG_MAX) && (ULLONG_MAX != ULONG_MAX)) ||\
- (defined(ULONG_LONG_MAX) && (ULONG_LONG_MAX != ULONG_MAX)) ||\
- (defined(ULONGLONG_MAX) && (ULONGLONG_MAX != ULONG_MAX)) ||\
- (defined(_ULLONG_MAX) && (_ULLONG_MAX != ULONG_MAX)))
- template <> struct exact_signed_base_helper<sizeof(boost::long_long_type)* CHAR_BIT> { typedef boost::long_long_type exact; };
- template <> struct exact_unsigned_base_helper<sizeof(boost::ulong_long_type)* CHAR_BIT> { typedef boost::ulong_long_type exact; };
-#endif
-
-
- } // namespace detail
-
- // integer templates specifying number of bits ---------------------------//
-
- // signed
- template< int Bits > // bits (including sign) required
- struct int_t : public detail::exact_signed_base_helper<Bits>
- {
- BOOST_STATIC_ASSERT_MSG(Bits <= (int)(sizeof(boost::intmax_t) * CHAR_BIT),
- "No suitable signed integer type with the requested number of bits is available.");
- typedef typename detail::int_least_helper
- <
-#ifdef BOOST_HAS_LONG_LONG
- (Bits <= (int)(sizeof(boost::long_long_type) * CHAR_BIT)) +
-#else
- 1 +
-#endif
- (Bits-1 <= ::std::numeric_limits<long>::digits) +
- (Bits-1 <= ::std::numeric_limits<int>::digits) +
- (Bits-1 <= ::std::numeric_limits<short>::digits) +
- (Bits-1 <= ::std::numeric_limits<signed char>::digits)
- >::least least;
- typedef typename int_fast_t<least>::type fast;
- };
-
- // unsigned
- template< int Bits > // bits required
- struct uint_t : public detail::exact_unsigned_base_helper<Bits>
- {
- BOOST_STATIC_ASSERT_MSG(Bits <= (int)(sizeof(boost::uintmax_t) * CHAR_BIT),
- "No suitable unsigned integer type with the requested number of bits is available.");
-#if (defined(__BORLANDC__) || defined(__CODEGEAR__)) && defined(BOOST_NO_INTEGRAL_INT64_T)
- // It's really not clear why this workaround should be needed... shrug I guess! JM
- BOOST_STATIC_CONSTANT(int, s =
- 6 +
- (Bits <= ::std::numeric_limits<unsigned long>::digits) +
- (Bits <= ::std::numeric_limits<unsigned int>::digits) +
- (Bits <= ::std::numeric_limits<unsigned short>::digits) +
- (Bits <= ::std::numeric_limits<unsigned char>::digits));
- typedef typename detail::int_least_helper< ::boost::uint_t<Bits>::s>::least least;
-#else
- typedef typename detail::uint_least_helper
- <
-#ifdef BOOST_HAS_LONG_LONG
- (Bits <= (int)(sizeof(boost::long_long_type) * CHAR_BIT)) +
-#else
- 1 +
-#endif
- (Bits <= ::std::numeric_limits<unsigned long>::digits) +
- (Bits <= ::std::numeric_limits<unsigned int>::digits) +
- (Bits <= ::std::numeric_limits<unsigned short>::digits) +
- (Bits <= ::std::numeric_limits<unsigned char>::digits)
- >::least least;
-#endif
- typedef typename int_fast_t<least>::type fast;
- // int_fast_t<> works correctly for unsigned too, in spite of the name.
- };
-
- // integer templates specifying extreme value ----------------------------//
-
- // signed
-#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG)
- template< boost::long_long_type MaxValue > // maximum value to require support
-#else
- template< long MaxValue > // maximum value to require support
-#endif
- struct int_max_value_t
- {
- typedef typename detail::int_least_helper
- <
-#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG)
- (MaxValue <= ::boost::integer_traits<boost::long_long_type>::const_max) +
-#else
- 1 +
-#endif
- (MaxValue <= ::boost::integer_traits<long>::const_max) +
- (MaxValue <= ::boost::integer_traits<int>::const_max) +
- (MaxValue <= ::boost::integer_traits<short>::const_max) +
- (MaxValue <= ::boost::integer_traits<signed char>::const_max)
- >::least least;
- typedef typename int_fast_t<least>::type fast;
- };
-
-#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG)
- template< boost::long_long_type MinValue > // minimum value to require support
-#else
- template< long MinValue > // minimum value to require support
-#endif
- struct int_min_value_t
- {
- typedef typename detail::int_least_helper
- <
-#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG)
- (MinValue >= ::boost::integer_traits<boost::long_long_type>::const_min) +
-#else
- 1 +
-#endif
- (MinValue >= ::boost::integer_traits<long>::const_min) +
- (MinValue >= ::boost::integer_traits<int>::const_min) +
- (MinValue >= ::boost::integer_traits<short>::const_min) +
- (MinValue >= ::boost::integer_traits<signed char>::const_min)
- >::least least;
- typedef typename int_fast_t<least>::type fast;
- };
-
- // unsigned
-#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG)
- template< boost::ulong_long_type MaxValue > // minimum value to require support
-#else
- template< unsigned long MaxValue > // minimum value to require support
-#endif
- struct uint_value_t
- {
-#if (defined(__BORLANDC__) || defined(__CODEGEAR__))
- // It's really not clear why this workaround should be needed... shrug I guess! JM
-#if defined(BOOST_NO_INTEGRAL_INT64_T)
- BOOST_STATIC_CONSTANT(unsigned, which =
- 1 +
- (MaxValue <= ::boost::integer_traits<unsigned long>::const_max) +
- (MaxValue <= ::boost::integer_traits<unsigned int>::const_max) +
- (MaxValue <= ::boost::integer_traits<unsigned short>::const_max) +
- (MaxValue <= ::boost::integer_traits<unsigned char>::const_max));
- typedef typename detail::int_least_helper< ::boost::uint_value_t<MaxValue>::which>::least least;
-#else // BOOST_NO_INTEGRAL_INT64_T
- BOOST_STATIC_CONSTANT(unsigned, which =
- 1 +
- (MaxValue <= ::boost::integer_traits<boost::ulong_long_type>::const_max) +
- (MaxValue <= ::boost::integer_traits<unsigned long>::const_max) +
- (MaxValue <= ::boost::integer_traits<unsigned int>::const_max) +
- (MaxValue <= ::boost::integer_traits<unsigned short>::const_max) +
- (MaxValue <= ::boost::integer_traits<unsigned char>::const_max));
- typedef typename detail::uint_least_helper< ::boost::uint_value_t<MaxValue>::which>::least least;
-#endif // BOOST_NO_INTEGRAL_INT64_T
-#else
- typedef typename detail::uint_least_helper
- <
-#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG)
- (MaxValue <= ::boost::integer_traits<boost::ulong_long_type>::const_max) +
-#else
- 1 +
-#endif
- (MaxValue <= ::boost::integer_traits<unsigned long>::const_max) +
- (MaxValue <= ::boost::integer_traits<unsigned int>::const_max) +
- (MaxValue <= ::boost::integer_traits<unsigned short>::const_max) +
- (MaxValue <= ::boost::integer_traits<unsigned char>::const_max)
- >::least least;
-#endif
- typedef typename int_fast_t<least>::type fast;
- };
-
-
-} // namespace boost
-
-#endif // BOOST_INTEGER_HPP
diff --git a/boost/integer/integer_mask.hpp b/boost/integer/integer_mask.hpp
deleted file mode 100644
index 2acf7f7..0000000
--- a/boost/integer/integer_mask.hpp
+++ /dev/null
@@ -1,126 +0,0 @@
-// Boost integer/integer_mask.hpp header file ------------------------------//
-
-// (C) Copyright Daryle Walker 2001.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// See http://www.boost.org for updates, documentation, and revision history.
-
-#ifndef BOOST_INTEGER_INTEGER_MASK_HPP
-#define BOOST_INTEGER_INTEGER_MASK_HPP
-
-#include <boost/integer_fwd.hpp> // self include
-
-#include <boost/config.hpp> // for BOOST_STATIC_CONSTANT
-#include <boost/integer.hpp> // for boost::uint_t
-
-#include <climits> // for UCHAR_MAX, etc.
-#include <cstddef> // for std::size_t
-
-#include <boost/limits.hpp> // for std::numeric_limits
-
-//
-// We simply cannot include this header on gcc without getting copious warnings of the kind:
-//
-// boost/integer/integer_mask.hpp:93:35: warning: use of C99 long long integer constant
-//
-// And yet there is no other reasonable implementation, so we declare this a system header
-// to suppress these warnings.
-//
-#if defined(__GNUC__) && (__GNUC__ >= 4)
-#pragma GCC system_header
-#endif
-
-namespace boost
-{
-
-
-// Specified single-bit mask class declaration -----------------------------//
-// (Lowest bit starts counting at 0.)
-
-template < std::size_t Bit >
-struct high_bit_mask_t
-{
- typedef typename uint_t<(Bit + 1)>::least least;
- typedef typename uint_t<(Bit + 1)>::fast fast;
-
- BOOST_STATIC_CONSTANT( least, high_bit = (least( 1u ) << Bit) );
- BOOST_STATIC_CONSTANT( fast, high_bit_fast = (fast( 1u ) << Bit) );
-
- BOOST_STATIC_CONSTANT( std::size_t, bit_position = Bit );
-
-}; // boost::high_bit_mask_t
-
-
-// Specified bit-block mask class declaration ------------------------------//
-// Makes masks for the lowest N bits
-// (Specializations are needed when N fills up a type.)
-
-template < std::size_t Bits >
-struct low_bits_mask_t
-{
- typedef typename uint_t<Bits>::least least;
- typedef typename uint_t<Bits>::fast fast;
-
- BOOST_STATIC_CONSTANT( least, sig_bits = (~( ~(least( 0u )) << Bits )) );
- BOOST_STATIC_CONSTANT( fast, sig_bits_fast = fast(sig_bits) );
-
- BOOST_STATIC_CONSTANT( std::size_t, bit_count = Bits );
-
-}; // boost::low_bits_mask_t
-
-
-#define BOOST_LOW_BITS_MASK_SPECIALIZE( Type ) \
- template < > struct low_bits_mask_t< std::numeric_limits<Type>::digits > { \
- typedef std::numeric_limits<Type> limits_type; \
- typedef uint_t<limits_type::digits>::least least; \
- typedef uint_t<limits_type::digits>::fast fast; \
- BOOST_STATIC_CONSTANT( least, sig_bits = (~( least(0u) )) ); \
- BOOST_STATIC_CONSTANT( fast, sig_bits_fast = fast(sig_bits) ); \
- BOOST_STATIC_CONSTANT( std::size_t, bit_count = limits_type::digits ); \
- }
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4245) // 'initializing' : conversion from 'int' to 'const boost::low_bits_mask_t<8>::least', signed/unsigned mismatch
-#endif
-
-BOOST_LOW_BITS_MASK_SPECIALIZE( unsigned char );
-
-#if USHRT_MAX > UCHAR_MAX
-BOOST_LOW_BITS_MASK_SPECIALIZE( unsigned short );
-#endif
-
-#if UINT_MAX > USHRT_MAX
-BOOST_LOW_BITS_MASK_SPECIALIZE( unsigned int );
-#endif
-
-#if ULONG_MAX > UINT_MAX
-BOOST_LOW_BITS_MASK_SPECIALIZE( unsigned long );
-#endif
-
-#if defined(BOOST_HAS_LONG_LONG)
- #if ((defined(ULLONG_MAX) && (ULLONG_MAX > ULONG_MAX)) ||\
- (defined(ULONG_LONG_MAX) && (ULONG_LONG_MAX > ULONG_MAX)) ||\
- (defined(ULONGLONG_MAX) && (ULONGLONG_MAX > ULONG_MAX)) ||\
- (defined(_ULLONG_MAX) && (_ULLONG_MAX > ULONG_MAX)))
- BOOST_LOW_BITS_MASK_SPECIALIZE( boost::ulong_long_type );
- #endif
-#elif defined(BOOST_HAS_MS_INT64)
- #if 18446744073709551615ui64 > ULONG_MAX
- BOOST_LOW_BITS_MASK_SPECIALIZE( unsigned __int64 );
- #endif
-#endif
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#undef BOOST_LOW_BITS_MASK_SPECIALIZE
-
-
-} // namespace boost
-
-
-#endif // BOOST_INTEGER_INTEGER_MASK_HPP
diff --git a/boost/integer/static_log2.hpp b/boost/integer/static_log2.hpp
deleted file mode 100644
index 56c7a00..0000000
--- a/boost/integer/static_log2.hpp
+++ /dev/null
@@ -1,127 +0,0 @@
-// -------------- Boost static_log2.hpp header file ----------------------- //
-//
-// Copyright (C) 2001 Daryle Walker.
-// Copyright (C) 2003 Vesa Karvonen.
-// Copyright (C) 2003 Gennaro Prota.
-//
-// Distributed under the Boost Software License, Version 1.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/integer for documentation.
-// ------------------------------------------------------------------------- //
-
-
-#ifndef BOOST_INTEGER_STATIC_LOG2_HPP
-#define BOOST_INTEGER_STATIC_LOG2_HPP
-
-#include "boost/integer_fwd.hpp" // for boost::intmax_t
-
-namespace boost {
-
- namespace detail {
-
- namespace static_log2_impl {
-
- // choose_initial_n<>
- //
- // Recursively doubles its integer argument, until it
- // becomes >= of the "width" (C99, 6.2.6.2p4) of
- // static_log2_argument_type.
- //
- // Used to get the maximum power of two less then the width.
- //
- // Example: if on your platform argument_type has 48 value
- // bits it yields n=32.
- //
- // It's easy to prove that, starting from such a value
- // of n, the core algorithm works correctly for any width
- // of static_log2_argument_type and that recursion always
- // terminates with x = 1 and n = 0 (see the algorithm's
- // invariant).
-
- typedef boost::static_log2_argument_type argument_type;
- typedef boost::static_log2_result_type result_type;
-
- template <result_type n>
- struct choose_initial_n {
-
- BOOST_STATIC_CONSTANT(bool, c = (argument_type(1) << n << n) != 0);
- BOOST_STATIC_CONSTANT(
- result_type,
- value = !c*n + choose_initial_n<2*c*n>::value
- );
-
- };
-
- template <>
- struct choose_initial_n<0> {
- BOOST_STATIC_CONSTANT(result_type, value = 0);
- };
-
-
-
- // start computing from n_zero - must be a power of two
- const result_type n_zero = 16;
- const result_type initial_n = choose_initial_n<n_zero>::value;
-
- // static_log2_impl<>
- //
- // * Invariant:
- // 2n
- // 1 <= x && x < 2 at the start of each recursion
- // (see also choose_initial_n<>)
- //
- // * Type requirements:
- //
- // argument_type maybe any unsigned type with at least n_zero + 1
- // value bits. (Note: If larger types will be standardized -e.g.
- // unsigned long long- then the argument_type typedef can be
- // changed without affecting the rest of the code.)
- //
-
- template <argument_type x, result_type n = initial_n>
- struct static_log2_impl {
-
- BOOST_STATIC_CONSTANT(bool, c = (x >> n) > 0); // x >= 2**n ?
- BOOST_STATIC_CONSTANT(
- result_type,
- value = c*n + (static_log2_impl< (x>>c*n), n/2 >::value)
- );
-
- };
-
- template <>
- struct static_log2_impl<1, 0> {
- BOOST_STATIC_CONSTANT(result_type, value = 0);
- };
-
- }
- } // detail
-
-
-
- // --------------------------------------
- // static_log2<x>
- // ----------------------------------------
-
- template <static_log2_argument_type x>
- struct static_log2 {
-
- BOOST_STATIC_CONSTANT(
- static_log2_result_type,
- value = detail::static_log2_impl::static_log2_impl<x>::value
- );
-
- };
-
-
- template <>
- struct static_log2<0> { };
-
-}
-
-
-
-#endif // include guard
diff --git a/boost/integer_fwd.hpp b/boost/integer_fwd.hpp
deleted file mode 100644
index 20eff2b..0000000
--- a/boost/integer_fwd.hpp
+++ /dev/null
@@ -1,164 +0,0 @@
-// Boost integer_fwd.hpp header file ---------------------------------------//
-
-// (C) Copyright Dave Abrahams and Daryle Walker 2001. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-// See http://www.boost.org/libs/integer for documentation.
-
-#ifndef BOOST_INTEGER_FWD_HPP
-#define BOOST_INTEGER_FWD_HPP
-
-#include <climits> // for UCHAR_MAX, etc.
-#include <cstddef> // for std::size_t
-
-#include <boost/config.hpp> // for BOOST_NO_INTRINSIC_WCHAR_T
-#include <boost/limits.hpp> // for std::numeric_limits
-#include <boost/cstdint.hpp> // For intmax_t
-
-
-namespace boost
-{
-
-#ifdef BOOST_NO_INTEGRAL_INT64_T
- typedef unsigned long static_log2_argument_type;
- typedef int static_log2_result_type;
- typedef long static_min_max_signed_type;
- typedef unsigned long static_min_max_unsigned_type;
-#else
- typedef boost::uintmax_t static_min_max_unsigned_type;
- typedef boost::intmax_t static_min_max_signed_type;
- typedef boost::uintmax_t static_log2_argument_type;
- typedef int static_log2_result_type;
-#endif
-
-// From <boost/cstdint.hpp> ------------------------------------------------//
-
-// Only has typedefs or using statements, with #conditionals
-
-
-// From <boost/integer_traits.hpp> -----------------------------------------//
-
-template < class T >
- class integer_traits;
-
-template < >
- class integer_traits< bool >;
-
-template < >
- class integer_traits< char >;
-
-template < >
- class integer_traits< signed char >;
-
-template < >
- class integer_traits< unsigned char >;
-
-#ifndef BOOST_NO_INTRINSIC_WCHAR_T
-template < >
- class integer_traits< wchar_t >;
-#endif
-
-template < >
- class integer_traits< short >;
-
-template < >
- class integer_traits< unsigned short >;
-
-template < >
- class integer_traits< int >;
-
-template < >
- class integer_traits< unsigned int >;
-
-template < >
- class integer_traits< long >;
-
-template < >
- class integer_traits< unsigned long >;
-
-#if !defined(BOOST_NO_INTEGRAL_INT64_T) && !defined(BOOST_NO_INT64_T) && defined(BOOST_HAS_LONG_LONG)
-template < >
-class integer_traits< ::boost::long_long_type>;
-
-template < >
-class integer_traits< ::boost::ulong_long_type >;
-#elif !defined(BOOST_NO_INTEGRAL_INT64_T) && !defined(BOOST_NO_INT64_T) && defined(BOOST_HAS_MS_INT64)
-template < >
-class integer_traits<__int64>;
-
-template < >
-class integer_traits<unsigned __int64>;
-#endif
-
-
-// From <boost/integer.hpp> ------------------------------------------------//
-
-template < typename LeastInt >
- struct int_fast_t;
-
-template< int Bits >
- struct int_t;
-
-template< int Bits >
- struct uint_t;
-
-#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG)
- template< boost::long_long_type MaxValue > // maximum value to require support
-#else
- template< long MaxValue > // maximum value to require support
-#endif
- struct int_max_value_t;
-
-#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG)
- template< boost::long_long_type MinValue > // minimum value to require support
-#else
- template< long MinValue > // minimum value to require support
-#endif
- struct int_min_value_t;
-
-#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG)
- template< boost::ulong_long_type MaxValue > // maximum value to require support
-#else
- template< unsigned long MaxValue > // maximum value to require support
-#endif
- struct uint_value_t;
-
-
-// From <boost/integer/integer_mask.hpp> -----------------------------------//
-
-template < std::size_t Bit >
- struct high_bit_mask_t;
-
-template < std::size_t Bits >
- struct low_bits_mask_t;
-
-template < >
- struct low_bits_mask_t< ::std::numeric_limits<unsigned char>::digits >;
-
-// From <boost/integer/static_log2.hpp> ------------------------------------//
-
-template <static_log2_argument_type Value >
- struct static_log2;
-
-template <> struct static_log2<0u>;
-
-
-// From <boost/integer/static_min_max.hpp> ---------------------------------//
-
-template <static_min_max_signed_type Value1, static_min_max_signed_type Value2>
- struct static_signed_min;
-
-template <static_min_max_signed_type Value1, static_min_max_signed_type Value2>
- struct static_signed_max;
-
-template <static_min_max_unsigned_type Value1, static_min_max_unsigned_type Value2>
- struct static_unsigned_min;
-
-template <static_min_max_unsigned_type Value1, static_min_max_unsigned_type Value2>
- struct static_unsigned_max;
-
-} // namespace boost
-
-
-#endif // BOOST_INTEGER_FWD_HPP
diff --git a/boost/integer_traits.hpp b/boost/integer_traits.hpp
deleted file mode 100644
index d896e46..0000000
--- a/boost/integer_traits.hpp
+++ /dev/null
@@ -1,261 +0,0 @@
-/* boost integer_traits.hpp header file
- *
- * Copyright Jens Maurer 2000
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * $Id: integer_traits.hpp 85813 2013-09-21 20:17:00Z jewillco $
- *
- * Idea by Beman Dawes, Ed Brey, Steve Cleary, and Nathan Myers
- */
-
-// See http://www.boost.org/libs/integer for documentation.
-
-
-#ifndef BOOST_INTEGER_TRAITS_HPP
-#define BOOST_INTEGER_TRAITS_HPP
-
-#include <boost/config.hpp>
-#include <boost/limits.hpp>
-
-// These are an implementation detail and not part of the interface
-#include <limits.h>
-// we need wchar.h for WCHAR_MAX/MIN but not all platforms provide it,
-// and some may have <wchar.h> but not <cwchar> ...
-#if !defined(BOOST_NO_INTRINSIC_WCHAR_T) && (!defined(BOOST_NO_CWCHAR) || defined(sun) || defined(__sun) || defined(__QNX__))
-#include <wchar.h>
-#endif
-
-//
-// We simply cannot include this header on gcc without getting copious warnings of the kind:
-//
-// ../../../boost/integer_traits.hpp:164:66: warning: use of C99 long long integer constant
-//
-// And yet there is no other reasonable implementation, so we declare this a system header
-// to suppress these warnings.
-//
-#if defined(__GNUC__) && (__GNUC__ >= 4)
-#pragma GCC system_header
-#endif
-
-namespace boost {
-template<class T>
-class integer_traits : public std::numeric_limits<T>
-{
-public:
- BOOST_STATIC_CONSTANT(bool, is_integral = false);
-};
-
-namespace detail {
-template<class T, T min_val, T max_val>
-class integer_traits_base
-{
-public:
- BOOST_STATIC_CONSTANT(bool, is_integral = true);
- BOOST_STATIC_CONSTANT(T, const_min = min_val);
- BOOST_STATIC_CONSTANT(T, const_max = max_val);
-};
-
-#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-// A definition is required even for integral static constants
-template<class T, T min_val, T max_val>
-const bool integer_traits_base<T, min_val, max_val>::is_integral;
-
-template<class T, T min_val, T max_val>
-const T integer_traits_base<T, min_val, max_val>::const_min;
-
-template<class T, T min_val, T max_val>
-const T integer_traits_base<T, min_val, max_val>::const_max;
-#endif
-
-} // namespace detail
-
-template<>
-class integer_traits<bool>
- : public std::numeric_limits<bool>,
- public detail::integer_traits_base<bool, false, true>
-{ };
-
-template<>
-class integer_traits<char>
- : public std::numeric_limits<char>,
- public detail::integer_traits_base<char, CHAR_MIN, CHAR_MAX>
-{ };
-
-template<>
-class integer_traits<signed char>
- : public std::numeric_limits<signed char>,
- public detail::integer_traits_base<signed char, SCHAR_MIN, SCHAR_MAX>
-{ };
-
-template<>
-class integer_traits<unsigned char>
- : public std::numeric_limits<unsigned char>,
- public detail::integer_traits_base<unsigned char, 0, UCHAR_MAX>
-{ };
-
-#ifndef BOOST_NO_INTRINSIC_WCHAR_T
-template<>
-class integer_traits<wchar_t>
- : public std::numeric_limits<wchar_t>,
- // Don't trust WCHAR_MIN and WCHAR_MAX with Mac OS X's native
- // library: they are wrong!
-#if defined(WCHAR_MIN) && defined(WCHAR_MAX) && !defined(__APPLE__)
- public detail::integer_traits_base<wchar_t, WCHAR_MIN, WCHAR_MAX>
-#elif defined(__BORLANDC__) || defined(__CYGWIN__) || defined(__MINGW32__) || (defined(__BEOS__) && defined(__GNUC__))
- // No WCHAR_MIN and WCHAR_MAX, whar_t is short and unsigned:
- public detail::integer_traits_base<wchar_t, 0, 0xffff>
-#elif (defined(__sgi) && (!defined(__SGI_STL_PORT) || __SGI_STL_PORT < 0x400))\
- || (defined __APPLE__)\
- || (defined(__OpenBSD__) && defined(__GNUC__))\
- || (defined(__NetBSD__) && defined(__GNUC__))\
- || (defined(__FreeBSD__) && defined(__GNUC__))\
- || (defined(__DragonFly__) && defined(__GNUC__))\
- || (defined(__hpux) && defined(__GNUC__) && (__GNUC__ == 3) && !defined(__SGI_STL_PORT))
- // No WCHAR_MIN and WCHAR_MAX, wchar_t has the same range as int.
- // - SGI MIPSpro with native library
- // - gcc 3.x on HP-UX
- // - Mac OS X with native library
- // - gcc on FreeBSD, OpenBSD and NetBSD
- public detail::integer_traits_base<wchar_t, INT_MIN, INT_MAX>
-#elif defined(__hpux) && defined(__GNUC__) && (__GNUC__ == 2) && !defined(__SGI_STL_PORT)
- // No WCHAR_MIN and WCHAR_MAX, wchar_t has the same range as unsigned int.
- // - gcc 2.95.x on HP-UX
- // (also, std::numeric_limits<wchar_t> appears to return the wrong values).
- public detail::integer_traits_base<wchar_t, 0, UINT_MAX>
-#else
-#error No WCHAR_MIN and WCHAR_MAX present, please adjust integer_traits<> for your compiler.
-#endif
-{ };
-#endif // BOOST_NO_INTRINSIC_WCHAR_T
-
-template<>
-class integer_traits<short>
- : public std::numeric_limits<short>,
- public detail::integer_traits_base<short, SHRT_MIN, SHRT_MAX>
-{ };
-
-template<>
-class integer_traits<unsigned short>
- : public std::numeric_limits<unsigned short>,
- public detail::integer_traits_base<unsigned short, 0, USHRT_MAX>
-{ };
-
-template<>
-class integer_traits<int>
- : public std::numeric_limits<int>,
- public detail::integer_traits_base<int, INT_MIN, INT_MAX>
-{ };
-
-template<>
-class integer_traits<unsigned int>
- : public std::numeric_limits<unsigned int>,
- public detail::integer_traits_base<unsigned int, 0, UINT_MAX>
-{ };
-
-template<>
-class integer_traits<long>
- : public std::numeric_limits<long>,
- public detail::integer_traits_base<long, LONG_MIN, LONG_MAX>
-{ };
-
-template<>
-class integer_traits<unsigned long>
- : public std::numeric_limits<unsigned long>,
- public detail::integer_traits_base<unsigned long, 0, ULONG_MAX>
-{ };
-
-#if !defined(BOOST_NO_INTEGRAL_INT64_T) && !defined(BOOST_NO_INT64_T)
-#if defined(ULLONG_MAX) && defined(BOOST_HAS_LONG_LONG)
-
-template<>
-class integer_traits< ::boost::long_long_type>
- : public std::numeric_limits< ::boost::long_long_type>,
- public detail::integer_traits_base< ::boost::long_long_type, LLONG_MIN, LLONG_MAX>
-{ };
-
-template<>
-class integer_traits< ::boost::ulong_long_type>
- : public std::numeric_limits< ::boost::ulong_long_type>,
- public detail::integer_traits_base< ::boost::ulong_long_type, 0, ULLONG_MAX>
-{ };
-
-#elif defined(ULONG_LONG_MAX) && defined(BOOST_HAS_LONG_LONG)
-
-template<>
-class integer_traits< ::boost::long_long_type> : public std::numeric_limits< ::boost::long_long_type>, public detail::integer_traits_base< ::boost::long_long_type, LONG_LONG_MIN, LONG_LONG_MAX>{ };
-template<>
-class integer_traits< ::boost::ulong_long_type>
- : public std::numeric_limits< ::boost::ulong_long_type>,
- public detail::integer_traits_base< ::boost::ulong_long_type, 0, ULONG_LONG_MAX>
-{ };
-
-#elif defined(ULONGLONG_MAX) && defined(BOOST_HAS_LONG_LONG)
-
-template<>
-class integer_traits< ::boost::long_long_type>
- : public std::numeric_limits< ::boost::long_long_type>,
- public detail::integer_traits_base< ::boost::long_long_type, LONGLONG_MIN, LONGLONG_MAX>
-{ };
-
-template<>
-class integer_traits< ::boost::ulong_long_type>
- : public std::numeric_limits< ::boost::ulong_long_type>,
- public detail::integer_traits_base< ::boost::ulong_long_type, 0, ULONGLONG_MAX>
-{ };
-
-#elif defined(_LLONG_MAX) && defined(_C2) && defined(BOOST_HAS_LONG_LONG)
-
-template<>
-class integer_traits< ::boost::long_long_type>
- : public std::numeric_limits< ::boost::long_long_type>,
- public detail::integer_traits_base< ::boost::long_long_type, -_LLONG_MAX - _C2, _LLONG_MAX>
-{ };
-
-template<>
-class integer_traits< ::boost::ulong_long_type>
- : public std::numeric_limits< ::boost::ulong_long_type>,
- public detail::integer_traits_base< ::boost::ulong_long_type, 0, _ULLONG_MAX>
-{ };
-
-#elif defined(BOOST_HAS_LONG_LONG)
-//
-// we have long long but no constants, this happens for example with gcc in -ansi mode,
-// we'll just have to work out the values for ourselves (assumes 2's compliment representation):
-//
-template<>
-class integer_traits< ::boost::long_long_type>
- : public std::numeric_limits< ::boost::long_long_type>,
- public detail::integer_traits_base< ::boost::long_long_type, (1LL << (sizeof(::boost::long_long_type) * CHAR_BIT - 1)), ~(1LL << (sizeof(::boost::long_long_type) * CHAR_BIT - 1))>
-{ };
-
-template<>
-class integer_traits< ::boost::ulong_long_type>
- : public std::numeric_limits< ::boost::ulong_long_type>,
- public detail::integer_traits_base< ::boost::ulong_long_type, 0, ~0uLL>
-{ };
-
-#elif defined(BOOST_HAS_MS_INT64)
-
-template<>
-class integer_traits< __int64>
- : public std::numeric_limits< __int64>,
- public detail::integer_traits_base< __int64, _I64_MIN, _I64_MAX>
-{ };
-
-template<>
-class integer_traits< unsigned __int64>
- : public std::numeric_limits< unsigned __int64>,
- public detail::integer_traits_base< unsigned __int64, 0, _UI64_MAX>
-{ };
-
-#endif
-#endif
-
-} // namespace boost
-
-#endif /* BOOST_INTEGER_TRAITS_HPP */
-
-
-
diff --git a/boost/iterator.hpp b/boost/iterator.hpp
deleted file mode 100644
index 6adab0e..0000000
--- a/boost/iterator.hpp
+++ /dev/null
@@ -1,59 +0,0 @@
-// iterator.hpp workarounds for non-conforming standard libraries ---------//
-
-// (C) Copyright Beman Dawes 2000. Distributed under the Boost
-// Software License, Version 1.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
-// 12 Jan 01 added <cstddef> for std::ptrdiff_t (Jens Maurer)
-// 28 Jun 00 Workarounds to deal with known MSVC bugs (David Abrahams)
-// 26 Jun 00 Initial version (Jeremy Siek)
-
-#ifndef BOOST_ITERATOR_HPP
-#define BOOST_ITERATOR_HPP
-
-#include <iterator>
-#include <cstddef> // std::ptrdiff_t
-#include <boost/config.hpp>
-
-namespace boost
-{
-# if defined(BOOST_NO_STD_ITERATOR) && !defined(BOOST_MSVC_STD_ITERATOR)
- template <class Category, class T,
- class Distance = std::ptrdiff_t,
- class Pointer = T*, class Reference = T&>
- struct iterator
- {
- typedef T value_type;
- typedef Distance difference_type;
- typedef Pointer pointer;
- typedef Reference reference;
- typedef Category iterator_category;
- };
-# else
-
- // declare iterator_base in namespace detail to work around MSVC bugs which
- // prevent derivation from an identically-named class in a different namespace.
- namespace detail {
- template <class Category, class T, class Distance, class Pointer, class Reference>
-# if !defined(BOOST_MSVC_STD_ITERATOR)
- struct iterator_base : std::iterator<Category, T, Distance, Pointer, Reference> {};
-# else
- struct iterator_base : std::iterator<Category, T, Distance>
- {
- typedef Reference reference;
- typedef Pointer pointer;
- typedef Distance difference_type;
- };
-# endif
- }
-
- template <class Category, class T, class Distance = std::ptrdiff_t,
- class Pointer = T*, class Reference = T&>
- struct iterator : boost::detail::iterator_base<Category, T, Distance, Pointer, Reference> {};
-# endif
-} // namespace boost
-
-#endif // BOOST_ITERATOR_HPP
diff --git a/boost/iterator/detail/config_def.hpp b/boost/iterator/detail/config_def.hpp
deleted file mode 100644
index fa8d667..0000000
--- a/boost/iterator/detail/config_def.hpp
+++ /dev/null
@@ -1,137 +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)
-
-// no include guard multiple inclusion intended
-
-//
-// This is a temporary workaround until the bulk of this is
-// available in boost config.
-// 23/02/03 thw
-//
-
-#include <boost/config.hpp> // for prior
-#include <boost/detail/workaround.hpp>
-
-#ifdef BOOST_ITERATOR_CONFIG_DEF
-# error you have nested config_def #inclusion.
-#else
-# define BOOST_ITERATOR_CONFIG_DEF
-#endif
-
-// We enable this always now. Otherwise, the simple case in
-// libs/iterator/test/constant_iterator_arrow.cpp fails to compile
-// because the operator-> return is improperly deduced as a non-const
-// pointer.
-#if 1 || defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
- || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x531))
-
-// Recall that in general, compilers without partial specialization
-// can't strip constness. Consider counting_iterator, which normally
-// passes a const Value to iterator_facade. As a result, any code
-// which makes a std::vector of the iterator's value_type will fail
-// when its allocator declares functions overloaded on reference and
-// const_reference (the same type).
-//
-// Furthermore, Borland 5.5.1 drops constness in enough ways that we
-// end up using a proxy for operator[] when we otherwise shouldn't.
-// Using reference constness gives it an extra hint that it can
-// return the value_type from operator[] directly, but is not
-// strictly necessary. Not sure how best to resolve this one.
-
-# define BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY 1
-
-#endif
-
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \
- || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x5A0)) \
- || (BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION, <= 700) && defined(_MSC_VER)) \
- || BOOST_WORKAROUND(__DECCXX_VER, BOOST_TESTED_AT(60590042)) \
- || BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x590))
-
-# define BOOST_NO_LVALUE_RETURN_DETECTION
-
-# if 0 // test code
- struct v {};
-
- typedef char (&no)[3];
-
- template <class T>
- no foo(T const&, ...);
-
- template <class T>
- char foo(T&, int);
-
-
- struct value_iterator
- {
- v operator*() const;
- };
-
- template <class T>
- struct lvalue_deref_helper
- {
- static T& x;
- enum { value = (sizeof(foo(*x,0)) == 1) };
- };
-
- int z2[(lvalue_deref_helper<v*>::value == 1) ? 1 : -1];
- int z[(lvalue_deref_helper<value_iterator>::value) == 1 ? -1 : 1 ];
-# endif
-
-#endif
-
-#if BOOST_WORKAROUND(__MWERKS__, <=0x2407)
-# define BOOST_NO_IS_CONVERTIBLE // "is_convertible doesn't work for simple types"
-#endif
-
-#if BOOST_WORKAROUND(__GNUC__, == 2) \
- || BOOST_WORKAROUND(__GNUC__, == 3) && BOOST_WORKAROUND(__GNUC_MINOR__, < 4) && !defined(__EDG_VERSION__) \
- || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551))
-# define BOOST_NO_IS_CONVERTIBLE_TEMPLATE // The following program fails to compile:
-
-# if 0 // test code
- #include <boost/type_traits/is_convertible.hpp>
- template <class T>
- struct foo
- {
- foo(T);
-
- template <class U>
- foo(foo<U> const& other) : p(other.p) { }
-
- T p;
- };
-
- bool x = boost::is_convertible<foo<int const*>, foo<int*> >::value;
-# endif
-
-#endif
-
-
-#if !defined(BOOST_MSVC) && (defined(BOOST_NO_SFINAE) || defined(BOOST_NO_IS_CONVERTIBLE) || defined(BOOST_NO_IS_CONVERTIBLE_TEMPLATE))
-# define BOOST_NO_STRICT_ITERATOR_INTEROPERABILITY
-#endif
-
-# if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-# define BOOST_ARG_DEPENDENT_TYPENAME typename
-# else
-# define BOOST_ARG_DEPENDENT_TYPENAME
-# endif
-
-# if BOOST_WORKAROUND(__GNUC__, == 2) && BOOST_WORKAROUND(__GNUC_MINOR__, BOOST_TESTED_AT(95)) \
- || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-
-// GCC-2.95 eagerly instantiates templated constructors and conversion
-// operators in convertibility checks, causing premature errors.
-//
-// Borland's problems are harder to diagnose due to lack of an
-// instantiation stack backtrace. They may be due in part to the fact
-// that it drops cv-qualification willy-nilly in templates.
-# define BOOST_NO_ONE_WAY_ITERATOR_INTEROP
-# endif
-
-// no include guard; multiple inclusion intended
diff --git a/boost/iterator/detail/config_undef.hpp b/boost/iterator/detail/config_undef.hpp
deleted file mode 100644
index 9dcd1d5..0000000
--- a/boost/iterator/detail/config_undef.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-// (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)
-
-// no include guard multiple inclusion intended
-
-//
-// This is a temporary workaround until the bulk of this is
-// available in boost config.
-// 23/02/03 thw
-//
-
-#undef BOOST_NO_IS_CONVERTIBLE
-#undef BOOST_NO_IS_CONVERTIBLE_TEMPLATE
-#undef BOOST_NO_STRICT_ITERATOR_INTEROPERABILITY
-#undef BOOST_ARG_DEPENDENT_TYPENAME
-#undef BOOST_NO_LVALUE_RETURN_DETECTION
-#undef BOOST_NO_ONE_WAY_ITERATOR_INTEROP
-
-#ifdef BOOST_ITERATOR_CONFIG_DEF
-# undef BOOST_ITERATOR_CONFIG_DEF
-#else
-# error missing or nested #include config_def
-#endif
diff --git a/boost/iterator/detail/enable_if.hpp b/boost/iterator/detail/enable_if.hpp
deleted file mode 100644
index 0fd36fc..0000000
--- a/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 <boost/detail/workaround.hpp>
-#include <boost/mpl/identity.hpp>
-
-#include <boost/iterator/detail/config_def.hpp>
-
-//
-// 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<bool>
- struct enabled
- {
- template<typename T>
- 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<false>
- {
- template<typename T>
- 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 <class Cond,
- class Return>
- struct enable_if
-# if !defined(BOOST_NO_SFINAE) && !defined(BOOST_NO_IS_CONVERTIBLE)
- : enabled<(Cond::value)>::template base<Return>
-# else
- : mpl::identity<Return>
-# endif
- {
-# if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
- typedef Return type;
-# endif
- };
-
- } // namespace iterators
-
-} // namespace boost
-
-#include <boost/iterator/detail/config_undef.hpp>
-
-#endif // BOOST_ENABLE_IF_23022003THW_HPP
diff --git a/boost/iterator/detail/facade_iterator_category.hpp b/boost/iterator/detail/facade_iterator_category.hpp
deleted file mode 100644
index 2c4771d..0000000
--- a/boost/iterator/detail/facade_iterator_category.hpp
+++ /dev/null
@@ -1,200 +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 FACADE_ITERATOR_CATEGORY_DWA20031118_HPP
-# define FACADE_ITERATOR_CATEGORY_DWA20031118_HPP
-
-# include <boost/iterator/iterator_categories.hpp>
-
-# include <boost/mpl/or.hpp> // used in iterator_tag inheritance logic
-# include <boost/mpl/and.hpp>
-# include <boost/mpl/if.hpp>
-# include <boost/mpl/eval_if.hpp>
-# include <boost/mpl/identity.hpp>
-# include <boost/mpl/assert.hpp>
-
-# include <boost/type_traits/is_same.hpp>
-# include <boost/type_traits/is_const.hpp>
-# include <boost/type_traits/is_reference.hpp>
-# include <boost/type_traits/is_convertible.hpp>
-
-# include <boost/type_traits/is_same.hpp>
-
-# include <boost/iterator/detail/config_def.hpp> // try to keep this last
-
-# ifdef BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY
-# include <boost/detail/indirect_traits.hpp>
-# endif
-
-//
-// iterator_category deduction for iterator_facade
-//
-
-// forward declaration
-namespace boost { struct use_default; }
-
-namespace boost { namespace detail {
-
-struct input_output_iterator_tag
- : std::input_iterator_tag
-{
- // Using inheritance for only input_iterator_tag helps to avoid
- // ambiguities when a stdlib implementation dispatches on a
- // function which is overloaded on both input_iterator_tag and
- // output_iterator_tag, as STLPort does, in its __valid_range
- // function. I claim it's better to avoid the ambiguity in these
- // cases.
- operator std::output_iterator_tag() const
- {
- return std::output_iterator_tag();
- }
-};
-
-//
-// True iff the user has explicitly disabled writability of this
-// iterator. Pass the iterator_facade's Value parameter and its
-// nested ::reference type.
-//
-template <class ValueParam, class Reference>
-struct iterator_writability_disabled
-# ifdef BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY // Adding Thomas' logic?
- : mpl::or_<
- is_const<Reference>
- , boost::detail::indirect_traits::is_reference_to_const<Reference>
- , is_const<ValueParam>
- >
-# else
- : is_const<ValueParam>
-# endif
-{};
-
-
-//
-// Convert an iterator_facade's traversal category, Value parameter,
-// and ::reference type to an appropriate old-style category.
-//
-// If writability has been disabled per the above metafunction, the
-// result will not be convertible to output_iterator_tag.
-//
-// Otherwise, if Traversal == single_pass_traversal_tag, the following
-// conditions will result in a tag that is convertible both to
-// input_iterator_tag and output_iterator_tag:
-//
-// 1. Reference is a reference to non-const
-// 2. Reference is not a reference and is convertible to Value
-//
-template <class Traversal, class ValueParam, class Reference>
-struct iterator_facade_default_category
- : mpl::eval_if<
- mpl::and_<
- is_reference<Reference>
- , is_convertible<Traversal,forward_traversal_tag>
- >
- , mpl::eval_if<
- is_convertible<Traversal,random_access_traversal_tag>
- , mpl::identity<std::random_access_iterator_tag>
- , mpl::if_<
- is_convertible<Traversal,bidirectional_traversal_tag>
- , std::bidirectional_iterator_tag
- , std::forward_iterator_tag
- >
- >
- , typename mpl::eval_if<
- mpl::and_<
- is_convertible<Traversal, single_pass_traversal_tag>
-
- // check for readability
- , is_convertible<Reference, ValueParam>
- >
- , mpl::identity<std::input_iterator_tag>
- , mpl::identity<Traversal>
- >
- >
-{
-};
-
-// True iff T is convertible to an old-style iterator category.
-template <class T>
-struct is_iterator_category
- : mpl::or_<
- is_convertible<T,std::input_iterator_tag>
- , is_convertible<T,std::output_iterator_tag>
- >
-{
-};
-
-template <class T>
-struct is_iterator_traversal
- : is_convertible<T,incrementable_traversal_tag>
-{};
-
-//
-// A composite iterator_category tag convertible to Category (a pure
-// old-style category) and Traversal (a pure traversal tag).
-// Traversal must be a strict increase of the traversal power given by
-// Category.
-//
-template <class Category, class Traversal>
-struct iterator_category_with_traversal
- : Category, Traversal
-{
-# if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
- // Make sure this isn't used to build any categories where
- // convertibility to Traversal is redundant. Should just use the
- // Category element in that case.
- BOOST_MPL_ASSERT_NOT((
- is_convertible<
- typename iterator_category_to_traversal<Category>::type
- , Traversal
- >));
-
- BOOST_MPL_ASSERT((is_iterator_category<Category>));
- BOOST_MPL_ASSERT_NOT((is_iterator_category<Traversal>));
- BOOST_MPL_ASSERT_NOT((is_iterator_traversal<Category>));
-# if !BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310))
- BOOST_MPL_ASSERT((is_iterator_traversal<Traversal>));
-# endif
-# endif
-};
-
-// Computes an iterator_category tag whose traversal is Traversal and
-// which is appropriate for an iterator
-template <class Traversal, class ValueParam, class Reference>
-struct facade_iterator_category_impl
-{
-# if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
- BOOST_MPL_ASSERT_NOT((is_iterator_category<Traversal>));
-# endif
-
- typedef typename iterator_facade_default_category<
- Traversal,ValueParam,Reference
- >::type category;
-
- typedef typename mpl::if_<
- is_same<
- Traversal
- , typename iterator_category_to_traversal<category>::type
- >
- , category
- , iterator_category_with_traversal<category,Traversal>
- >::type type;
-};
-
-//
-// Compute an iterator_category for iterator_facade
-//
-template <class CategoryOrTraversal, class ValueParam, class Reference>
-struct facade_iterator_category
- : mpl::eval_if<
- is_iterator_category<CategoryOrTraversal>
- , mpl::identity<CategoryOrTraversal> // old-style categories are fine as-is
- , facade_iterator_category_impl<CategoryOrTraversal,ValueParam,Reference>
- >
-{
-};
-
-}} // namespace boost::detail
-
-# include <boost/iterator/detail/config_undef.hpp>
-
-#endif // FACADE_ITERATOR_CATEGORY_DWA20031118_HPP
diff --git a/boost/iterator/interoperable.hpp b/boost/iterator/interoperable.hpp
deleted file mode 100644
index c13dd9b..0000000
--- a/boost/iterator/interoperable.hpp
+++ /dev/null
@@ -1,50 +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_INTEROPERABLE_23022003THW_HPP
-# define BOOST_INTEROPERABLE_23022003THW_HPP
-
-# include <boost/mpl/bool.hpp>
-# include <boost/mpl/or.hpp>
-
-# include <boost/type_traits/is_convertible.hpp>
-
-# include <boost/iterator/detail/config_def.hpp> // must appear last
-
-namespace boost
-{
-
- //
- // Meta function that determines whether two
- // iterator types are considered interoperable.
- //
- // Two iterator types A,B are considered interoperable if either
- // A is convertible to B or vice versa.
- // This interoperability definition is in sync with the
- // standards requirements on constant/mutable container
- // iterators (23.1 [lib.container.requirements]).
- //
- // For compilers that don't support is_convertible
- // is_interoperable gives false positives. See comments
- // on operator implementation for consequences.
- //
- template <typename A, typename B>
- struct is_interoperable
-# ifdef BOOST_NO_STRICT_ITERATOR_INTEROPERABILITY
- : mpl::true_
-# else
- : mpl::or_<
- is_convertible< A, B >
- , is_convertible< B, A > >
-# endif
- {
- };
-
-} // namespace boost
-
-# include <boost/iterator/detail/config_undef.hpp>
-
-#endif // BOOST_INTEROPERABLE_23022003THW_HPP
diff --git a/boost/iterator/iterator_adaptor.hpp b/boost/iterator/iterator_adaptor.hpp
deleted file mode 100644
index 9f2fbb0..0000000
--- a/boost/iterator/iterator_adaptor.hpp
+++ /dev/null
@@ -1,365 +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_ADAPTOR_23022003THW_HPP
-#define BOOST_ITERATOR_ADAPTOR_23022003THW_HPP
-
-#include <boost/static_assert.hpp>
-#include <boost/iterator.hpp>
-#include <boost/detail/iterator.hpp>
-
-#include <boost/iterator/iterator_categories.hpp>
-#include <boost/iterator/iterator_facade.hpp>
-#include <boost/iterator/detail/enable_if.hpp>
-
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/mpl/or.hpp>
-
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/is_convertible.hpp>
-
-#ifdef BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY
-# include <boost/type_traits/remove_reference.hpp>
-#endif
-
-#include <boost/type_traits/add_reference.hpp>
-#include <boost/iterator/detail/config_def.hpp>
-
-#include <boost/iterator/iterator_traits.hpp>
-
-namespace boost
-{
- // Used as a default template argument internally, merely to
- // indicate "use the default", this can also be passed by users
- // explicitly in order to specify that the default should be used.
- struct use_default;
-
-# ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
- // the incompleteness of use_default causes massive problems for
- // is_convertible (naturally). This workaround is fortunately not
- // needed for vc6/vc7.
- template<class To>
- struct is_convertible<use_default,To>
- : mpl::false_ {};
-# endif
-
- namespace detail
- {
-
- //
- // Result type used in enable_if_convertible meta function.
- // This can be an incomplete type, as only pointers to
- // enable_if_convertible< ... >::type are used.
- // We could have used void for this, but conversion to
- // void* is just to easy.
- //
- struct enable_type;
- }
-
-
- //
- // enable_if for use in adapted iterators constructors.
- //
- // In order to provide interoperability between adapted constant and
- // mutable iterators, adapted iterators will usually provide templated
- // conversion constructors of the following form
- //
- // template <class BaseIterator>
- // class adapted_iterator :
- // public iterator_adaptor< adapted_iterator<Iterator>, Iterator >
- // {
- // public:
- //
- // ...
- //
- // template <class OtherIterator>
- // adapted_iterator(
- // OtherIterator const& it
- // , typename enable_if_convertible<OtherIterator, Iterator>::type* = 0);
- //
- // ...
- // };
- //
- // enable_if_convertible is used to remove those overloads from the overload
- // set that cannot be instantiated. For all practical purposes only overloads
- // for constant/mutable interaction will remain. This has the advantage that
- // meta functions like boost::is_convertible do not return false positives,
- // as they can only look at the signature of the conversion constructor
- // and not at the actual instantiation.
- //
- // enable_if_interoperable can be safely used in user code. It falls back to
- // always enabled for compilers that don't support enable_if or is_convertible.
- // There is no need for compiler specific workarounds in user code.
- //
- // The operators implementation relies on boost::is_convertible not returning
- // false positives for user/library defined iterator types. See comments
- // on operator implementation for consequences.
- //
-# if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-
- template<typename From, typename To>
- struct enable_if_convertible
- {
- typedef typename mpl::if_<
- mpl::or_<
- is_same<From,To>
- , is_convertible<From, To>
- >
- , boost::detail::enable_type
- , int&
- >::type type;
- };
-
-# elif defined(BOOST_NO_IS_CONVERTIBLE) || defined(BOOST_NO_SFINAE)
-
- template <class From, class To>
- struct enable_if_convertible
- {
- typedef boost::detail::enable_type type;
- };
-
-# elif BOOST_WORKAROUND(_MSC_FULL_VER, BOOST_TESTED_AT(13102292)) && BOOST_MSVC > 1300
-
- // For some reason vc7.1 needs us to "cut off" instantiation
- // of is_convertible in a few cases.
- template<typename From, typename To>
- struct enable_if_convertible
- : iterators::enable_if<
- mpl::or_<
- is_same<From,To>
- , is_convertible<From, To>
- >
- , boost::detail::enable_type
- >
- {};
-
-# else
-
- template<typename From, typename To>
- struct enable_if_convertible
- : iterators::enable_if<
- is_convertible<From, To>
- , boost::detail::enable_type
- >
- {};
-
-# endif
-
- //
- // Default template argument handling for iterator_adaptor
- //
- namespace detail
- {
- // If T is use_default, return the result of invoking
- // DefaultNullaryFn, otherwise return T.
- template <class T, class DefaultNullaryFn>
- struct ia_dflt_help
- : mpl::eval_if<
- is_same<T, use_default>
- , DefaultNullaryFn
- , mpl::identity<T>
- >
- {
- };
-
- // A metafunction which computes an iterator_adaptor's base class,
- // a specialization of iterator_facade.
- template <
- class Derived
- , class Base
- , class Value
- , class Traversal
- , class Reference
- , class Difference
- >
- struct iterator_adaptor_base
- {
- typedef iterator_facade<
- Derived
-
-# ifdef BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY
- , typename boost::detail::ia_dflt_help<
- Value
- , mpl::eval_if<
- is_same<Reference,use_default>
- , iterator_value<Base>
- , remove_reference<Reference>
- >
- >::type
-# else
- , typename boost::detail::ia_dflt_help<
- Value, iterator_value<Base>
- >::type
-# endif
-
- , typename boost::detail::ia_dflt_help<
- Traversal
- , iterator_traversal<Base>
- >::type
-
- , typename boost::detail::ia_dflt_help<
- Reference
- , mpl::eval_if<
- is_same<Value,use_default>
- , iterator_reference<Base>
- , add_reference<Value>
- >
- >::type
-
- , typename boost::detail::ia_dflt_help<
- Difference, iterator_difference<Base>
- >::type
- >
- type;
- };
-
- // workaround for aC++ CR JAGaf33512
- template <class Tr1, class Tr2>
- inline void iterator_adaptor_assert_traversal ()
- {
- BOOST_STATIC_ASSERT((is_convertible<Tr1, Tr2>::value));
- }
- }
-
- //
- // Iterator Adaptor
- //
- // The parameter ordering changed slightly with respect to former
- // versions of iterator_adaptor The idea is that when the user needs
- // to fiddle with the reference type it is highly likely that the
- // iterator category has to be adjusted as well. Any of the
- // following four template arguments may be ommitted or explicitly
- // replaced by use_default.
- //
- // Value - if supplied, the value_type of the resulting iterator, unless
- // const. If const, a conforming compiler strips constness for the
- // value_type. If not supplied, iterator_traits<Base>::value_type is used
- //
- // Category - the traversal category of the resulting iterator. If not
- // supplied, iterator_traversal<Base>::type is used.
- //
- // Reference - the reference type of the resulting iterator, and in
- // particular, the result type of operator*(). If not supplied but
- // Value is supplied, Value& is used. Otherwise
- // iterator_traits<Base>::reference is used.
- //
- // Difference - the difference_type of the resulting iterator. If not
- // supplied, iterator_traits<Base>::difference_type is used.
- //
- template <
- class Derived
- , class Base
- , class Value = use_default
- , class Traversal = use_default
- , class Reference = use_default
- , class Difference = use_default
- >
- class iterator_adaptor
- : public boost::detail::iterator_adaptor_base<
- Derived, Base, Value, Traversal, Reference, Difference
- >::type
- {
- friend class iterator_core_access;
-
- protected:
- typedef typename boost::detail::iterator_adaptor_base<
- Derived, Base, Value, Traversal, Reference, Difference
- >::type super_t;
- public:
- iterator_adaptor() {}
-
- explicit iterator_adaptor(Base const &iter)
- : m_iterator(iter)
- {
- }
-
- typedef Base base_type;
-
- Base const& base() const
- { return m_iterator; }
-
- protected:
- // for convenience in derived classes
- typedef iterator_adaptor<Derived,Base,Value,Traversal,Reference,Difference> iterator_adaptor_;
-
- //
- // lvalue access to the Base object for Derived
- //
- Base const& base_reference() const
- { return m_iterator; }
-
- Base& base_reference()
- { return m_iterator; }
-
- private:
- //
- // Core iterator interface for iterator_facade. This is private
- // to prevent temptation for Derived classes to use it, which
- // will often result in an error. Derived classes should use
- // base_reference(), above, to get direct access to m_iterator.
- //
- typename super_t::reference dereference() const
- { return *m_iterator; }
-
- template <
- class OtherDerived, class OtherIterator, class V, class C, class R, class D
- >
- bool equal(iterator_adaptor<OtherDerived, OtherIterator, V, C, R, D> const& x) const
- {
- // Maybe readd with same_distance
- // BOOST_STATIC_ASSERT(
- // (detail::same_category_and_difference<Derived,OtherDerived>::value)
- // );
- return m_iterator == x.base();
- }
-
- typedef typename iterator_category_to_traversal<
- typename super_t::iterator_category
- >::type my_traversal;
-
-# define BOOST_ITERATOR_ADAPTOR_ASSERT_TRAVERSAL(cat) \
- boost::detail::iterator_adaptor_assert_traversal<my_traversal, cat>();
-
- void advance(typename super_t::difference_type n)
- {
- BOOST_ITERATOR_ADAPTOR_ASSERT_TRAVERSAL(random_access_traversal_tag)
- m_iterator += n;
- }
-
- void increment() { ++m_iterator; }
-
- void decrement()
- {
- BOOST_ITERATOR_ADAPTOR_ASSERT_TRAVERSAL(bidirectional_traversal_tag)
- --m_iterator;
- }
-
- template <
- class OtherDerived, class OtherIterator, class V, class C, class R, class D
- >
- typename super_t::difference_type distance_to(
- iterator_adaptor<OtherDerived, OtherIterator, V, C, R, D> const& y) const
- {
- BOOST_ITERATOR_ADAPTOR_ASSERT_TRAVERSAL(random_access_traversal_tag)
- // Maybe readd with same_distance
- // BOOST_STATIC_ASSERT(
- // (detail::same_category_and_difference<Derived,OtherDerived>::value)
- // );
- return y.base() - m_iterator;
- }
-
-# undef BOOST_ITERATOR_ADAPTOR_ASSERT_TRAVERSAL
-
- private: // data members
- Base m_iterator;
- };
-
-} // namespace boost
-
-#include <boost/iterator/detail/config_undef.hpp>
-
-#endif // BOOST_ITERATOR_ADAPTOR_23022003THW_HPP
diff --git a/boost/iterator/iterator_categories.hpp b/boost/iterator/iterator_categories.hpp
deleted file mode 100644
index 1740d98..0000000
--- a/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 <boost/config.hpp>
-# include <boost/detail/iterator.hpp>
-# include <boost/iterator/detail/config_def.hpp>
-
-# include <boost/detail/workaround.hpp>
-
-# include <boost/mpl/eval_if.hpp>
-# include <boost/mpl/identity.hpp>
-# include <boost/mpl/placeholders.hpp>
-# include <boost/mpl/aux_/lambda_support.hpp>
-
-# include <boost/type_traits/is_convertible.hpp>
-
-# include <boost/static_assert.hpp>
-
-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 <class Cat>
- struct old_category_to_traversal
- : mpl::eval_if<
- is_convertible<Cat,std::random_access_iterator_tag>
- , mpl::identity<random_access_traversal_tag>
- , mpl::eval_if<
- is_convertible<Cat,std::bidirectional_iterator_tag>
- , mpl::identity<bidirectional_traversal_tag>
- , mpl::eval_if<
- is_convertible<Cat,std::forward_iterator_tag>
- , mpl::identity<forward_traversal_tag>
- , mpl::eval_if<
- is_convertible<Cat,std::input_iterator_tag>
- , mpl::identity<single_pass_traversal_tag>
- , mpl::eval_if<
- is_convertible<Cat,std::output_iterator_tag>
- , mpl::identity<incrementable_traversal_tag>
- , void
- >
- >
- >
- >
- >
- {};
-
-# if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
- template <>
- struct old_category_to_traversal<int>
- {
- typedef int type;
- };
-# endif
-
- template <class Traversal>
- struct pure_traversal_tag
- : mpl::eval_if<
- is_convertible<Traversal,random_access_traversal_tag>
- , mpl::identity<random_access_traversal_tag>
- , mpl::eval_if<
- is_convertible<Traversal,bidirectional_traversal_tag>
- , mpl::identity<bidirectional_traversal_tag>
- , mpl::eval_if<
- is_convertible<Traversal,forward_traversal_tag>
- , mpl::identity<forward_traversal_tag>
- , mpl::eval_if<
- is_convertible<Traversal,single_pass_traversal_tag>
- , mpl::identity<single_pass_traversal_tag>
- , mpl::eval_if<
- is_convertible<Traversal,incrementable_traversal_tag>
- , mpl::identity<incrementable_traversal_tag>
- , void
- >
- >
- >
- >
- >
- {
- };
-
-# if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
- template <>
- struct pure_traversal_tag<int>
- {
- typedef int type;
- };
-# endif
-
-} // namespace detail
-
-
-//
-// Convert an iterator category into a traversal tag
-//
-template <class Cat>
-struct iterator_category_to_traversal
- : mpl::eval_if< // if already convertible to a traversal tag, we're done.
- is_convertible<Cat,incrementable_traversal_tag>
- , mpl::identity<Cat>
- , boost::detail::old_category_to_traversal<Cat>
- >
-{};
-
-// Trait to get an iterator's traversal category
-template <class Iterator = mpl::_1>
-struct iterator_traversal
- : iterator_category_to_traversal<
- typename boost::detail::iterator_traits<Iterator>::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<mpl::_1>
-{
- template <class T>
- struct apply : iterator_traversal<T>
- {};
-};
-template <>
-struct iterator_traversal<mpl::_>
- : iterator_traversal<mpl::_1>
-{};
-# endif
-
-} // namespace boost
-
-#include <boost/iterator/detail/config_undef.hpp>
-
-#endif // BOOST_ITERATOR_CATEGORIES_HPP
diff --git a/boost/iterator/iterator_concepts.hpp b/boost/iterator/iterator_concepts.hpp
deleted file mode 100644
index ced1112..0000000
--- a/boost/iterator/iterator_concepts.hpp
+++ /dev/null
@@ -1,284 +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_CONCEPTS_HPP
-#define BOOST_ITERATOR_CONCEPTS_HPP
-
-#include <boost/concept_check.hpp>
-#include <boost/iterator/iterator_categories.hpp>
-
-// Use boost::detail::iterator_traits to work around some MSVC/Dinkumware problems.
-#include <boost/detail/iterator.hpp>
-
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/is_integral.hpp>
-
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/or.hpp>
-
-#include <boost/static_assert.hpp>
-
-// Use boost/limits to work around missing limits headers on some compilers
-#include <boost/limits.hpp>
-#include <boost/config.hpp>
-
-#include <algorithm>
-
-#include <boost/concept/detail/concept_def.hpp>
-
-namespace boost_concepts
-{
- // Used a different namespace here (instead of "boost") so that the
- // concept descriptions do not take for granted the names in
- // namespace boost.
-
- //===========================================================================
- // Iterator Access Concepts
-
- BOOST_concept(ReadableIterator,(Iterator))
- : boost::Assignable<Iterator>
- , boost::CopyConstructible<Iterator>
-
- {
- typedef BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits<Iterator>::value_type value_type;
- typedef BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits<Iterator>::reference reference;
-
- BOOST_CONCEPT_USAGE(ReadableIterator)
- {
-
- value_type v = *i;
- boost::ignore_unused_variable_warning(v);
- }
- private:
- Iterator i;
- };
-
- template <
- typename Iterator
- , typename ValueType = BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits<Iterator>::value_type
- >
- struct WritableIterator
- : boost::CopyConstructible<Iterator>
- {
- BOOST_CONCEPT_USAGE(WritableIterator)
- {
- *i = v;
- }
- private:
- ValueType v;
- Iterator i;
- };
-
- template <
- typename Iterator
- , typename ValueType = BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits<Iterator>::value_type
- >
- struct WritableIteratorConcept : WritableIterator<Iterator,ValueType> {};
-
- BOOST_concept(SwappableIterator,(Iterator))
- {
- BOOST_CONCEPT_USAGE(SwappableIterator)
- {
- std::iter_swap(i1, i2);
- }
- private:
- Iterator i1;
- Iterator i2;
- };
-
- BOOST_concept(LvalueIterator,(Iterator))
- {
- typedef typename boost::detail::iterator_traits<Iterator>::value_type value_type;
-
- BOOST_CONCEPT_USAGE(LvalueIterator)
- {
- value_type& r = const_cast<value_type&>(*i);
- boost::ignore_unused_variable_warning(r);
- }
- private:
- Iterator i;
- };
-
-
- //===========================================================================
- // Iterator Traversal Concepts
-
- BOOST_concept(IncrementableIterator,(Iterator))
- : boost::Assignable<Iterator>
- , boost::CopyConstructible<Iterator>
- {
- typedef typename boost::iterator_traversal<Iterator>::type traversal_category;
-
- BOOST_CONCEPT_ASSERT((
- boost::Convertible<
- traversal_category
- , boost::incrementable_traversal_tag
- >));
-
- BOOST_CONCEPT_USAGE(IncrementableIterator)
- {
- ++i;
- (void)i++;
- }
- private:
- Iterator i;
- };
-
- BOOST_concept(SinglePassIterator,(Iterator))
- : IncrementableIterator<Iterator>
- , boost::EqualityComparable<Iterator>
-
- {
- BOOST_CONCEPT_ASSERT((
- boost::Convertible<
- BOOST_DEDUCED_TYPENAME SinglePassIterator::traversal_category
- , boost::single_pass_traversal_tag
- > ));
- };
-
- BOOST_concept(ForwardTraversal,(Iterator))
- : SinglePassIterator<Iterator>
- , boost::DefaultConstructible<Iterator>
- {
- typedef typename boost::detail::iterator_traits<Iterator>::difference_type difference_type;
-
- BOOST_MPL_ASSERT((boost::is_integral<difference_type>));
- BOOST_MPL_ASSERT_RELATION(std::numeric_limits<difference_type>::is_signed, ==, true);
-
- BOOST_CONCEPT_ASSERT((
- boost::Convertible<
- BOOST_DEDUCED_TYPENAME ForwardTraversal::traversal_category
- , boost::forward_traversal_tag
- > ));
- };
-
- BOOST_concept(BidirectionalTraversal,(Iterator))
- : ForwardTraversal<Iterator>
- {
- BOOST_CONCEPT_ASSERT((
- boost::Convertible<
- BOOST_DEDUCED_TYPENAME BidirectionalTraversal::traversal_category
- , boost::bidirectional_traversal_tag
- > ));
-
- BOOST_CONCEPT_USAGE(BidirectionalTraversal)
- {
- --i;
- (void)i--;
- }
- private:
- Iterator i;
- };
-
- BOOST_concept(RandomAccessTraversal,(Iterator))
- : BidirectionalTraversal<Iterator>
- {
- BOOST_CONCEPT_ASSERT((
- boost::Convertible<
- BOOST_DEDUCED_TYPENAME RandomAccessTraversal::traversal_category
- , boost::random_access_traversal_tag
- > ));
-
- BOOST_CONCEPT_USAGE(RandomAccessTraversal)
- {
- i += n;
- i = i + n;
- i = n + i;
- i -= n;
- i = i - n;
- n = i - j;
- }
-
- private:
- typename BidirectionalTraversal<Iterator>::difference_type n;
- Iterator i, j;
- };
-
- //===========================================================================
- // Iterator Interoperability
-
- namespace detail
- {
- template <typename Iterator1, typename Iterator2>
- void interop_single_pass_constraints(Iterator1 const& i1, Iterator2 const& i2)
- {
- bool b;
- b = i1 == i2;
- b = i1 != i2;
-
- b = i2 == i1;
- b = i2 != i1;
- boost::ignore_unused_variable_warning(b);
- }
-
- template <typename Iterator1, typename Iterator2>
- void interop_rand_access_constraints(
- Iterator1 const& i1, Iterator2 const& i2,
- boost::random_access_traversal_tag, boost::random_access_traversal_tag)
- {
- bool b;
- typename boost::detail::iterator_traits<Iterator2>::difference_type n;
- b = i1 < i2;
- b = i1 <= i2;
- b = i1 > i2;
- b = i1 >= i2;
- n = i1 - i2;
-
- b = i2 < i1;
- b = i2 <= i1;
- b = i2 > i1;
- b = i2 >= i1;
- n = i2 - i1;
- boost::ignore_unused_variable_warning(b);
- boost::ignore_unused_variable_warning(n);
- }
-
- template <typename Iterator1, typename Iterator2>
- void interop_rand_access_constraints(
- Iterator1 const&, Iterator2 const&,
- boost::single_pass_traversal_tag, boost::single_pass_traversal_tag)
- { }
-
- } // namespace detail
-
- BOOST_concept(InteroperableIterator,(Iterator)(ConstIterator))
- {
- private:
- typedef typename boost::detail::pure_traversal_tag<
- typename boost::iterator_traversal<
- Iterator
- >::type
- >::type traversal_category;
-
- typedef typename boost::detail::pure_traversal_tag<
- typename boost::iterator_traversal<
- ConstIterator
- >::type
- >::type const_traversal_category;
-
- public:
- BOOST_CONCEPT_ASSERT((SinglePassIterator<Iterator>));
- BOOST_CONCEPT_ASSERT((SinglePassIterator<ConstIterator>));
-
- BOOST_CONCEPT_USAGE(InteroperableIterator)
- {
- detail::interop_single_pass_constraints(i, ci);
- detail::interop_rand_access_constraints(i, ci, traversal_category(), const_traversal_category());
-
- ci = i;
- }
-
- private:
- Iterator i;
- ConstIterator ci;
- };
-
-} // namespace boost_concepts
-
-#include <boost/concept/detail/concept_undef.hpp>
-
-#endif // BOOST_ITERATOR_CONCEPTS_HPP
diff --git a/boost/iterator/iterator_facade.hpp b/boost/iterator/iterator_facade.hpp
deleted file mode 100644
index d84b402..0000000
--- a/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 <boost/iterator.hpp>
-#include <boost/iterator/interoperable.hpp>
-#include <boost/iterator/iterator_traits.hpp>
-
-#include <boost/iterator/detail/facade_iterator_category.hpp>
-#include <boost/iterator/detail/enable_if.hpp>
-
-#include <boost/static_assert.hpp>
-#include <boost/utility/addressof.hpp>
-
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/add_const.hpp>
-#include <boost/type_traits/add_pointer.hpp>
-#include <boost/type_traits/remove_const.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/type_traits/is_convertible.hpp>
-#include <boost/type_traits/is_pod.hpp>
-
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/or.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/mpl/always.hpp>
-#include <boost/mpl/apply.hpp>
-#include <boost/mpl/identity.hpp>
-
-#include <boost/iterator/detail/config_def.hpp> // this goes last
-
-namespace boost
-{
- // This forward declaration is required for the friend declaration
- // in iterator_core_access
- template <class I, class V, class TC, class R, class D> class iterator_facade;
-
- namespace detail
- {
- // A binary metafunction class that always returns bool. VC6
- // ICEs on mpl::always<bool>, probably because of the default
- // parameters.
- struct always_bool2
- {
- template <class T, class U>
- 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<Facade1, Facade2>
- , is_convertible<Facade2, Facade1>
- >
- , Return
- , int[3]
- >::type type;
- };
-#else
- : ::boost::iterators::enable_if<
- mpl::or_<
- is_convertible<Facade1, Facade2>
- , is_convertible<Facade2, Facade1>
- >
- , 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<ValueParam>::type value_type;
-
- // Not the real associated pointer type
- typedef typename mpl::eval_if<
- boost::detail::iterator_writability_disabled<ValueParam,Reference>
- , add_pointer<const value_type>
- , add_pointer<value_type>
- >::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<iterator_category, value_type, Difference, pointer, Reference>
- 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 Iterator>
- class postfix_increment_proxy
- {
- typedef typename iterator_value<Iterator>::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 Iterator>
- class writable_postfix_increment_proxy
- {
- typedef typename iterator_value<Iterator>::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 <class T>
- 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 <class T>
- 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 <class Reference, class Value>
- struct is_non_proxy_reference_impl
- {
- static Reference r;
-
- template <class R>
- 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 <class Reference, class Value>
- struct is_non_proxy_reference
- : mpl::bool_<
- is_non_proxy_reference_impl<Reference, Value>::value
- >
- {};
-# else
- template <class Reference, class Value>
- struct is_non_proxy_reference
- : is_convertible<
- typename remove_reference<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 <class Iterator, class Value, class Reference, class CategoryOrTraversal>
- struct postfix_increment_result
- : mpl::eval_if<
- mpl::and_<
- // A proxy is only needed for readable iterators
- is_convertible<Reference,Value const&>
-
- // No multipass iterator can have values that disappear
- // before positions can be re-visited
- , mpl::not_<
- is_convertible<
- typename iterator_category_to_traversal<CategoryOrTraversal>::type
- , forward_traversal_tag
- >
- >
- >
- , mpl::if_<
- is_non_proxy_reference<Reference,Value>
- , postfix_increment_proxy<Iterator>
- , writable_postfix_increment_proxy<Iterator>
- >
- , mpl::identity<Iterator>
- >
- {};
-
- // 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 <class Reference, class Pointer>
- 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 <class T, class Pointer>
- struct operator_arrow_dispatch<T&, Pointer> // "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<int, int>
- {
- 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 Iterator>
- 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 <class ValueType, class Reference>
- 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<ValueType>
- , iterator_writability_disabled<ValueType,Reference>
- >
- >
- {};
-
- template <class Iterator, class Value, class Reference>
- struct operator_brackets_result
- {
- typedef typename mpl::if_<
- use_operator_brackets_proxy<Value,Reference>
- , operator_brackets_proxy<Iterator>
- , Value
- >::type type;
- };
-
- template <class Iterator>
- operator_brackets_proxy<Iterator> make_operator_brackets_result(Iterator const& iter, mpl::true_)
- {
- return operator_brackets_proxy<Iterator>(iter);
- }
-
- template <class Iterator>
- typename Iterator::value_type make_operator_brackets_result(Iterator const& iter, mpl::false_)
- {
- return *iter;
- }
-
- struct choose_difference_type
- {
- template <class I1, class I2>
- struct apply
- :
-# ifdef BOOST_NO_ONE_WAY_ITERATOR_INTEROP
- iterator_difference<I1>
-# elif BOOST_WORKAROUND(BOOST_MSVC, < 1300)
- mpl::if_<
- is_convertible<I2,I1>
- , typename I1::difference_type
- , typename I2::difference_type
- >
-# else
- mpl::eval_if<
- is_convertible<I2,I1>
- , iterator_difference<I1>
- , iterator_difference<I2>
- >
-# 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<result_type,Derived1,Derived2>::type \
- operator op( \
- iterator_facade<Derived1, V1, TC1, Reference1, Difference1> const& lhs \
- , iterator_facade<Derived2, V2, TC2, Reference2, Difference2> 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<result_type,Derived1,Derived2>::type \
- >::type \
- operator op( \
- iterator_facade<Derived1, V1, TC1, Reference1, Difference1> const& lhs \
- , iterator_facade<Derived2, V2, TC2, Reference2, Difference2> const& rhs)
-# endif
-
-# define BOOST_ITERATOR_FACADE_PLUS_HEAD(prefix,args) \
- template <class Derived, class V, class TC, class R, class D> \
- 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 <class I, class V, class TC, class R, class D> 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<Derived, V, TC, R, D> const&
- , typename Derived::difference_type)
- )
- ;
-
- BOOST_ITERATOR_FACADE_PLUS_HEAD(
- friend inline
- , (typename Derived::difference_type
- , iterator_facade<Derived, V, TC, R, D> const&)
- )
- ;
-
-# endif
-
- template <class Facade>
- static typename Facade::reference dereference(Facade const& f)
- {
- return f.dereference();
- }
-
- template <class Facade>
- static void increment(Facade& f)
- {
- f.increment();
- }
-
- template <class Facade>
- static void decrement(Facade& f)
- {
- f.decrement();
- }
-
- template <class Facade1, class Facade2>
- static bool equal(Facade1 const& f1, Facade2 const& f2, mpl::true_)
- {
- return f1.equal(f2);
- }
-
- template <class Facade1, class Facade2>
- static bool equal(Facade1 const& f1, Facade2 const& f2, mpl::false_)
- {
- return f2.equal(f1);
- }
-
- template <class Facade>
- static void advance(Facade& f, typename Facade::difference_type n)
- {
- f.advance(n);
- }
-
- template <class Facade1, class Facade2>
- static typename Facade1::difference_type distance_from(
- Facade1 const& f1, Facade2 const& f2, mpl::true_)
- {
- return -f1.distance_to(f2);
- }
-
- template <class Facade1, class Facade2>
- 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 <class I, class V, class TC, class R, class D>
- static I& derived(iterator_facade<I,V,TC,R,D>& facade)
- {
- return *static_cast<I*>(&facade);
- }
-
- template <class I, class V, class TC, class R, class D>
- static I const& derived(iterator_facade<I,V,TC,R,D> const& facade)
- {
- return *static_cast<I const*>(&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<Derived*>(this);
- }
-
- Derived const& derived() const
- {
- return *static_cast<Derived const*>(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<Derived,Value,CategoryOrTraversal,Reference,Difference> 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<Derived,Value,reference>::type
- operator[](difference_type n) const
- {
- typedef boost::detail::use_operator_brackets_proxy<Value,Reference> use_proxy;
-
- return boost::detail::make_operator_brackets_result<Derived>(
- 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<Derived,Value,Reference,CategoryOrTraversal>::type
- operator++(int)
- {
- typename boost::detail::postfix_increment_result<Derived,Value,Reference,CategoryOrTraversal>::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 <class I, class V, class TC, class R, class D>
- inline typename boost::detail::postfix_increment_result<I,V,R,TC>::type
- operator++(
- iterator_facade<I,V,TC,R,D>& i
- , int
- )
- {
- typename boost::detail::postfix_increment_result<I,V,R,TC>::type
- tmp(*static_cast<I*>(&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<Iterator1> a1;
- // AdaptorA<Iterator2> 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<Iterator> a;
- // AdaptorB<Iterator> 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<a,b>()
-# 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<Derived1 const*>(&lhs) \
- , *static_cast<Derived2 const*>(&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<Derived const&>(i)); \
- return tmp += n; \
- }
-
-BOOST_ITERATOR_FACADE_PLUS((
- iterator_facade<Derived, V, TC, R, D> const& i
- , typename Derived::difference_type n
-))
-
-BOOST_ITERATOR_FACADE_PLUS((
- typename Derived::difference_type n
- , iterator_facade<Derived, V, TC, R, D> const& i
-))
-# undef BOOST_ITERATOR_FACADE_PLUS
-# undef BOOST_ITERATOR_FACADE_PLUS_HEAD
-
-} // namespace boost
-
-#include <boost/iterator/detail/config_undef.hpp>
-
-#endif // BOOST_ITERATOR_FACADE_23022003THW_HPP
diff --git a/boost/iterator/iterator_traits.hpp b/boost/iterator/iterator_traits.hpp
deleted file mode 100644
index 960970e..0000000
--- a/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 <boost/detail/iterator.hpp>
-# include <boost/detail/workaround.hpp>
-
-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 <class Iterator>
-struct iterator_value
-{
- typedef typename boost::detail::iterator_traits<Iterator>::value_type type;
-};
-
-template <class Iterator>
-struct iterator_reference
-{
- typedef typename boost::detail::iterator_traits<Iterator>::reference type;
-};
-
-
-template <class Iterator>
-struct iterator_pointer
-{
- typedef typename boost::detail::iterator_traits<Iterator>::pointer type;
-};
-
-template <class Iterator>
-struct iterator_difference
-{
- typedef typename boost::detail::iterator_traits<Iterator>::difference_type type;
-};
-
-template <class Iterator>
-struct BOOST_ITERATOR_CATEGORY
-{
- typedef typename boost::detail::iterator_traits<Iterator>::iterator_category type;
-};
-
-# if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-template <>
-struct iterator_value<int>
-{
- typedef void type;
-};
-
-template <>
-struct iterator_reference<int>
-{
- typedef void type;
-};
-
-template <>
-struct iterator_pointer<int>
-{
- typedef void type;
-};
-
-template <>
-struct iterator_difference<int>
-{
- typedef void type;
-};
-
-template <>
-struct BOOST_ITERATOR_CATEGORY<int>
-{
- typedef void type;
-};
-# endif
-
-} // namespace boost::iterator
-
-#endif // ITERATOR_TRAITS_DWA200347_HPP
diff --git a/boost/iterator/reverse_iterator.hpp b/boost/iterator/reverse_iterator.hpp
deleted file mode 100644
index 79cc7f2..0000000
--- a/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 <boost/next_prior.hpp>
-#include <boost/iterator.hpp>
-#include <boost/iterator/iterator_adaptor.hpp>
-
-namespace boost
-{
-
- //
- //
- //
- template <class Iterator>
- class reverse_iterator
- : public iterator_adaptor< reverse_iterator<Iterator>, Iterator >
- {
- typedef iterator_adaptor< reverse_iterator<Iterator>, Iterator > super_t;
-
- friend class iterator_core_access;
-
- public:
- reverse_iterator() {}
-
- explicit reverse_iterator(Iterator x)
- : super_t(x) {}
-
- template<class OtherIterator>
- reverse_iterator(
- reverse_iterator<OtherIterator> const& r
- , typename enable_if_convertible<OtherIterator, Iterator>::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 <class OtherIterator>
- typename super_t::difference_type
- distance_to(reverse_iterator<OtherIterator> const& y) const
- {
- return this->base_reference() - y.base();
- }
- };
-
- template <class BidirectionalIterator>
- reverse_iterator<BidirectionalIterator> make_reverse_iterator(BidirectionalIterator x)
- {
- return reverse_iterator<BidirectionalIterator>(x);
- }
-
-} // namespace boost
-
-#endif // BOOST_REVERSE_ITERATOR_23022003THW_HPP
diff --git a/boost/lexical_cast.hpp b/boost/lexical_cast.hpp
deleted file mode 100644
index ed2291d..0000000
--- a/boost/lexical_cast.hpp
+++ /dev/null
@@ -1,2748 +0,0 @@
-#ifndef BOOST_LEXICAL_CAST_INCLUDED
-#define BOOST_LEXICAL_CAST_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# 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 - 2013
-
-#include <boost/config.hpp>
-#if defined(BOOST_NO_STRINGSTREAM) || defined(BOOST_NO_STD_WSTRING)
-#define BOOST_LCAST_NO_WCHAR_T
-#endif
-
-#include <climits>
-#include <cstddef>
-#include <string>
-#include <cstring>
-#include <cstdio>
-#include <typeinfo>
-#include <exception>
-#include <boost/limits.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/throw_exception.hpp>
-#include <boost/type_traits/ice.hpp>
-#include <boost/type_traits/is_pointer.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/detail/lcast_precision.hpp>
-#include <boost/detail/workaround.hpp>
-
-
-#ifndef BOOST_NO_STD_LOCALE
-# include <locale>
-#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 <locale> 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 <strstream>
-#else
-#include <sstream>
-#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))
-#else
- source(0), target(0) // this breaks getters
-#endif
- {
- }
-
- 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
- {
- return *source;
- }
- const std::type_info &target_type() const
- {
- return *target;
- }
-
-#ifndef BOOST_NO_CXX11_NOEXCEPT
- virtual const char *what() const noexcept
-#else
- virtual const char *what() const throw()
-#endif
- {
- return "bad lexical cast: "
- "source type value could not be interpreted as target";
- }
-
-#ifndef BOOST_NO_CXX11_NOEXCEPT
- virtual ~bad_lexical_cast() BOOST_NOEXCEPT
-#else
- virtual ~bad_lexical_cast() throw()
-#endif
- {}
- private:
- const std::type_info *source;
- const std::type_info *target;
- };
-
- namespace detail // widest_char
- {
- template <typename TargetChar, typename SourceChar>
- struct widest_char
- {
- typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_c<
- (sizeof(TargetChar) > sizeof(SourceChar))
- , TargetChar
- , SourceChar >::type type;
- };
- }
-} // namespace boost
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(__SUNPRO_CC) && !defined(__PGIC__)
-
-#include <cmath>
-#include <istream>
-
-#ifndef BOOST_NO_CXX11_HDR_ARRAY
-#include <array>
-#endif
-
-#include <boost/array.hpp>
-#include <boost/numeric/conversion/cast.hpp>
-#include <boost/type_traits/make_unsigned.hpp>
-#include <boost/type_traits/is_signed.hpp>
-#include <boost/type_traits/is_integral.hpp>
-#include <boost/type_traits/is_arithmetic.hpp>
-#include <boost/type_traits/remove_pointer.hpp>
-#include <boost/type_traits/has_left_shift.hpp>
-#include <boost/type_traits/has_right_shift.hpp>
-#include <boost/math/special_functions/sign.hpp>
-#include <boost/math/special_functions/fpclassify.hpp>
-#include <boost/range/iterator_range_core.hpp>
-#include <boost/container/container_fwd.hpp>
-#include <boost/integer.hpp>
-#ifndef BOOST_NO_CWCHAR
-# include <cwchar>
-#endif
-
-namespace boost {
-
- namespace detail // is_char_or_wchar<...>
- {
- // returns true, if T is one of the character types
- template < typename T >
- struct is_char_or_wchar
- {
- 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<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<T>
- {
- // Helper type, meaning that stram character for T must be deduced
- // at Stage 2 (See deduce_source_char<T> and deduce_target_char<T>)
- template < class T > struct deduce_character_type_later {};
- }
-
- namespace detail // stream_char_common<T>
- {
- // 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<T> types
- // Executed on Stage 1 (See deduce_source_char<T> and deduce_target_char<T>)
- template < typename Type >
- struct stream_char_common: public boost::mpl::if_c<
- boost::detail::is_char_or_wchar< 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_char_or_wchar< 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_char_or_wchar< 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_char_or_wchar< 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_char_or_wchar< 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_char_or_wchar< 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_char_or_wchar< 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<Char, N > >: public boost::mpl::if_c<
- boost::detail::is_char_or_wchar< 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_char_or_wchar< 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<T>
- {
- // If type T is `deduce_character_type_later` type, then tries to deduce
- // character type using boost::has_left_shift<T> metafunction.
- // Otherwise supplied type T is a character type, that must be normalized
- // using normalize_single_byte_char<Char>.
- // Executed at Stage 2 (See deduce_source_char<T> and deduce_target_char<T>)
- 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<T>
- {
- // If type T is `deduce_character_type_later` type, then tries to deduce
- // character type using boost::has_right_shift<T> metafunction.
- // Otherwise supplied type T is a character type, that must be normalized
- // using normalize_single_byte_char<Char>.
- // Executed at Stage 2 (See deduce_source_char<T> and deduce_target_char<T>)
- 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<T> >
- {
- typedef boost::has_right_shift<std::basic_istream<char>, 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<std::basic_istream<wchar_t>, T >::value),
- "Target type is neither std::istream`able nor std::wistream`able");
-#endif
- };
- }
-
- namespace detail // deduce_target_char<T> and deduce_source_char<T>
- {
- // 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<T> where T is the original type.
- // Stage 1 is executed by stream_char_common<T>
- //
- // At Stage 2 we normalize character types or try to deduce character
- // type using metafunctions.
- // Stage 2 is executed by deduce_target_char_impl<T> and
- // deduce_source_char_impl<T>
- //
- // deduce_target_char<T> and deduce_source_char<T> 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 // deduce_char_traits template
- {
- // We are attempting to get char_traits<> from Source or Tagret
- // template parameter. Otherwise we'll be using std::char_traits<Char>
- template < class Char, class Target, class Source >
- struct deduce_char_traits
- {
- typedef std::char_traits< Char > type;
- };
-
- template < class Char, class Traits, class Alloc, class Source >
- struct deduce_char_traits< Char
- , std::basic_string< Char, Traits, Alloc >
- , Source
- >
- {
- typedef Traits type;
- };
-
- template < class Char, class Target, class Traits, class Alloc >
- struct deduce_char_traits< Char
- , Target
- , std::basic_string< Char, Traits, Alloc >
- >
- {
- typedef Traits type;
- };
-
- template < class Char, class Traits, class Alloc, class Source >
- struct deduce_char_traits< Char
- , boost::container::basic_string< Char, Traits, Alloc >
- , Source
- >
- {
- typedef Traits type;
- };
-
- template < class Char, class Target, class Traits, class Alloc >
- struct deduce_char_traits< Char
- , Target
- , boost::container::basic_string< Char, Traits, Alloc >
- >
- {
- typedef Traits type;
- };
-
- template < class Char, class Traits, class Alloc1, class Alloc2 >
- struct deduce_char_traits< Char
- , std::basic_string< Char, Traits, Alloc1 >
- , std::basic_string< Char, Traits, Alloc2 >
- >
- {
- typedef Traits type;
- };
-
- template<class Char, class Traits, class Alloc1, class Alloc2>
- struct deduce_char_traits< Char
- , boost::container::basic_string< Char, Traits, Alloc1 >
- , boost::container::basic_string< Char, Traits, Alloc2 >
- >
- {
- typedef Traits type;
- };
-
- template < class Char, class Traits, class Alloc1, class Alloc2 >
- struct deduce_char_traits< Char
- , boost::container::basic_string< Char, Traits, Alloc1 >
- , std::basic_string< Char, Traits, Alloc2 >
- >
- {
- typedef Traits type;
- };
-
- template < class Char, class Traits, class Alloc1, class Alloc2 >
- struct deduce_char_traits< Char
- , std::basic_string< Char, Traits, Alloc1 >
- , boost::container::basic_string< Char, Traits, Alloc2 >
- >
- {
- typedef Traits type;
- };
- }
-
- namespace detail // array_to_pointer_decay<T>
- {
- template<class T>
- struct array_to_pointer_decay
- {
- typedef T type;
- };
-
- template<class T, std::size_t N>
- struct array_to_pointer_decay<T[N]>
- {
- typedef const T * type;
- };
- }
-
- namespace detail // is_this_float_conversion_optimized<Float, Char>
- {
- // 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<Char, ...>::shl_real_type(...)
- template <typename Float, typename Char>
- struct is_this_float_conversion_optimized
- {
- typedef boost::type_traits::ice_and<
- boost::is_float<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<sizeof(Char), sizeof(char) >::value,
- boost::is_same<Char, wchar_t>::value
- >::value
-#else
- boost::type_traits::ice_eq<sizeof(Char), sizeof(char) >::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.
- >
- struct lcast_src_length
- {
- BOOST_STATIC_CONSTANT(std::size_t, value = 1);
- // To check coverage, build the test with
- // bjam --v2 profile optimization=off
- static void check_coverage() {}
- };
-
- // 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
- // <boost/limits.hpp> doesn't add missing specialization for
- // numeric_limits<T> for some integral type T.
- // When is_specialized is false, the whole expression is 0.
- template<class Source>
- struct lcast_src_length_integral
- {
-#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
- BOOST_STATIC_CONSTANT(std::size_t, value =
- std::numeric_limits<Source>::is_signed +
- std::numeric_limits<Source>::is_specialized + /* == 1 */
- std::numeric_limits<Source>::digits10 * 2
- );
-#else
- BOOST_STATIC_CONSTANT(std::size_t, value = 156);
- BOOST_STATIC_ASSERT(sizeof(Source) * CHAR_BIT <= 256);
-#endif
- };
-
-#define BOOST_LCAST_DEF(T) \
- template<> struct lcast_src_length<T> \
- : lcast_src_length_integral<T> \
- { static void check_coverage() {} };
-
- BOOST_LCAST_DEF(short)
- BOOST_LCAST_DEF(unsigned short)
- BOOST_LCAST_DEF(int)
- BOOST_LCAST_DEF(unsigned int)
- BOOST_LCAST_DEF(long)
- BOOST_LCAST_DEF(unsigned long)
-#if defined(BOOST_HAS_LONG_LONG)
- BOOST_LCAST_DEF(boost::ulong_long_type)
- BOOST_LCAST_DEF(boost::long_long_type )
-#elif defined(BOOST_HAS_MS_INT64)
- BOOST_LCAST_DEF(unsigned __int64)
- BOOST_LCAST_DEF( __int64)
-#endif
-#ifdef BOOST_HAS_INT128
- BOOST_LCAST_DEF(boost::int128_type)
- BOOST_LCAST_DEF(boost::uint128_type)
-#endif
-
-#undef BOOST_LCAST_DEF
-
-#ifndef BOOST_LCAST_NO_COMPILE_TIME_PRECISION
- // Helper for floating point types.
- // -1.23456789e-123456
- // ^ sign
- // ^ leading digit
- // ^ decimal point
- // ^^^^^^^^ lcast_precision<Source>::value
- // ^ "e"
- // ^ exponent sign
- // ^^^^^^ exponent (assumed 6 or less digits)
- // sign + leading digit + decimal point + "e" + exponent sign == 5
- template<class Source>
- struct lcast_src_length_floating
- {
- BOOST_STATIC_ASSERT(
- std::numeric_limits<Source>::max_exponent10 <= 999999L &&
- std::numeric_limits<Source>::min_exponent10 >= -999999L
- );
- BOOST_STATIC_CONSTANT(std::size_t, value =
- 5 + lcast_precision<Source>::value + 6
- );
- };
-
- template<>
- struct lcast_src_length<float>
- : lcast_src_length_floating<float>
- {
- static void check_coverage() {}
- };
-
- template<>
- struct lcast_src_length<double>
- : lcast_src_length_floating<double>
- {
- static void check_coverage() {}
- };
-
- template<>
- struct lcast_src_length<long double>
- : lcast_src_length_floating<long double>
- {
- static void check_coverage() {}
- };
-
-#endif // #ifndef BOOST_LCAST_NO_COMPILE_TIME_PRECISION
- }
-
- namespace detail // lexical_cast_stream_traits<Source, Target>
- {
- template <class Source, class Target>
- struct lexical_cast_stream_traits {
- typedef BOOST_DEDUCED_TYPENAME boost::detail::array_to_pointer_decay<Source>::type src;
- typedef BOOST_DEDUCED_TYPENAME boost::remove_cv<src>::type no_cv_src;
-
- typedef boost::detail::deduce_source_char<no_cv_src> 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<Target>::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<char16_t, src_char_t>::value
- && !boost::is_same<char16_t, target_char_t>::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<char32_t, src_char_t>::value
- && !boost::is_same<char32_t, target_char_t>::value),
- "Your compiler does not have full support for char32_t" );
-#endif
-
- typedef BOOST_DEDUCED_TYPENAME boost::detail::deduce_char_traits<
- char_type, Target, no_cv_src
- >::type traits;
-
- typedef boost::type_traits::ice_and<
- boost::is_same<char, src_char_t>::value, // source is not a wide character based type
- boost::type_traits::ice_ne<sizeof(char), sizeof(target_char_t) >::value, // target type is based on wide character
- boost::type_traits::ice_not<
- boost::detail::is_char_or_wchar<no_cv_src>::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<no_cv_src>::value,
- boost::detail::is_this_float_conversion_optimized<no_cv_src, char_type >::value,
- boost::detail::is_char_or_wchar<
- 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<no_cv_src> len_t;
- };
- }
-
- namespace detail // '0', '+' and '-' constants
- {
- template < typename Char > struct lcast_char_constants;
-
- template<>
- struct lcast_char_constants<char>
- {
- BOOST_STATIC_CONSTANT(char, zero = '0');
- BOOST_STATIC_CONSTANT(char, minus = '-');
- BOOST_STATIC_CONSTANT(char, plus = '+');
- BOOST_STATIC_CONSTANT(char, lowercase_e = 'e');
- BOOST_STATIC_CONSTANT(char, capital_e = 'E');
- BOOST_STATIC_CONSTANT(char, c_decimal_separator = '.');
- };
-
-#ifndef BOOST_LCAST_NO_WCHAR_T
- template<>
- struct lcast_char_constants<wchar_t>
- {
- BOOST_STATIC_CONSTANT(wchar_t, zero = L'0');
- BOOST_STATIC_CONSTANT(wchar_t, minus = L'-');
- BOOST_STATIC_CONSTANT(wchar_t, plus = L'+');
- BOOST_STATIC_CONSTANT(wchar_t, lowercase_e = L'e');
- BOOST_STATIC_CONSTANT(wchar_t, capital_e = L'E');
- BOOST_STATIC_CONSTANT(wchar_t, c_decimal_separator = L'.');
- };
-#endif
-
-#if !defined(BOOST_NO_CXX11_CHAR16_T) && !defined(BOOST_NO_CXX11_UNICODE_LITERALS)
- template<>
- struct lcast_char_constants<char16_t>
- {
- BOOST_STATIC_CONSTANT(char16_t, zero = u'0');
- BOOST_STATIC_CONSTANT(char16_t, minus = u'-');
- BOOST_STATIC_CONSTANT(char16_t, plus = u'+');
- BOOST_STATIC_CONSTANT(char16_t, lowercase_e = u'e');
- BOOST_STATIC_CONSTANT(char16_t, capital_e = u'E');
- BOOST_STATIC_CONSTANT(char16_t, c_decimal_separator = u'.');
- };
-#endif
-
-#if !defined(BOOST_NO_CXX11_CHAR32_T) && !defined(BOOST_NO_CXX11_UNICODE_LITERALS)
- template<>
- struct lcast_char_constants<char32_t>
- {
- BOOST_STATIC_CONSTANT(char32_t, zero = U'0');
- BOOST_STATIC_CONSTANT(char32_t, minus = U'-');
- BOOST_STATIC_CONSTANT(char32_t, plus = U'+');
- BOOST_STATIC_CONSTANT(char32_t, lowercase_e = U'e');
- BOOST_STATIC_CONSTANT(char32_t, capital_e = U'E');
- BOOST_STATIC_CONSTANT(char32_t, c_decimal_separator = U'.');
- };
-#endif
- }
-
- namespace detail // lcast_to_unsigned
- {
- template<class T>
- inline
- BOOST_DEDUCED_TYPENAME make_unsigned<T>::type lcast_to_unsigned(T value) BOOST_NOEXCEPT
- {
- typedef BOOST_DEDUCED_TYPENAME boost::make_unsigned<T>::type result_type;
- return static_cast<result_type>(
- value < 0 ? 0u - static_cast<result_type>(value) : value
- );
- }
- }
-
- namespace detail // lcast_put_unsigned
- {
- template<class Traits, class T, class CharT>
- CharT* lcast_put_unsigned(const T n_param, CharT* finish)
- {
-#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
- BOOST_STATIC_ASSERT(!std::numeric_limits<T>::is_signed);
-#endif
-
- typedef typename Traits::int_type int_type;
- CharT const czero = lcast_char_constants<CharT>::zero;
- int_type const zero = Traits::to_int_type(czero);
- BOOST_DEDUCED_TYPENAME boost::mpl::if_c<
- (sizeof(int_type) > sizeof(T))
- , int_type
- , T
- >::type n = n_param;
-
-#ifndef BOOST_LEXICAL_CAST_ASSUME_C_LOCALE
- std::locale loc;
- if (loc != std::locale::classic()) {
- typedef std::numpunct<CharT> 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 )
- {
-
-#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
- // Check that ulimited group is unreachable:
- BOOST_STATIC_ASSERT(std::numeric_limits<T>::digits10 < CHAR_MAX);
-#endif
- CharT 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>(CHAR_MAX) : grp_size;
- }
-
- left = last_grp_size;
- --finish;
- Traits::assign(*finish, thousands_sep);
- }
-
- --left;
-
- --finish;
- int_type const digit = static_cast<int_type>(n % 10U);
- Traits::assign(*finish, Traits::to_char_type(zero + digit));
- n /= 10;
- } while(n);
- return finish;
- }
- }
-#endif
- {
- do
- {
- --finish;
- int_type const digit = static_cast<int_type>(n % 10U);
- Traits::assign(*finish, Traits::to_char_type(zero + digit));
- n /= 10;
- } while(n);
- }
-
- return finish;
- }
- }
-
- namespace detail // lcast_ret_unsigned
- {
- template<class Traits, class T, class CharT>
- inline bool lcast_ret_unsigned(T& value, const CharT* const begin, const CharT* end)
- {
-#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
- BOOST_STATIC_ASSERT(!std::numeric_limits<T>::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<T>::is_specialized,
- "std::numeric_limits are not specialized for integral type passed to boost::lexical_cast"
- );
-#endif
- CharT const czero = lcast_char_constants<CharT>::zero;
- --end;
- value = 0;
-
- if (begin > end || *end < czero || *end >= czero + 10)
- return false;
- value = static_cast<T>(*end - czero);
- --end;
- T multiplier = 1;
- bool multiplier_overflowed = false;
-
-#ifndef BOOST_LEXICAL_CAST_ASSUME_C_LOCALE
- std::locale loc;
- if (loc != std::locale::classic()) {
- typedef std::numpunct<CharT> 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)
- {
- unsigned char current_grouping = 0;
- CharT const thousands_sep = np.thousands_sep();
- char remained = static_cast<char>(grouping[current_grouping] - 1);
- bool shall_we_return = true;
-
- for(;end>=begin; --end)
- {
- if (remained) {
- T const multiplier_10 = static_cast<T>(multiplier * 10);
- if (multiplier_10 / 10 != multiplier) multiplier_overflowed = true;
-
- T const dig_value = static_cast<T>(*end - czero);
- T const new_sub_value = static_cast<T>(multiplier_10 * dig_value);
-
- if (*end < czero || *end >= czero + 10
- /* detecting overflow */
- || (dig_value && new_sub_value / dig_value != multiplier_10)
- || static_cast<T>((std::numeric_limits<T>::max)()-new_sub_value) < value
- || (multiplier_overflowed && dig_value)
- )
- return false;
-
- value = static_cast<T>(value + new_sub_value);
- multiplier = static_cast<T>(multiplier * 10);
- --remained;
- } else {
- if ( !Traits::eq(*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<numpunct<charT> >(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
- */
- shall_we_return = false;
- break;
- } else {
- if ( begin == end ) return false;
- if (current_grouping < grouping_size-1 ) ++current_grouping;
- remained = grouping[current_grouping];
- }
- }
- }
-
- if (shall_we_return) return true;
- }
- }
-#endif
- {
- while ( begin <= end )
- {
- T const multiplier_10 = static_cast<T>(multiplier * 10);
- if (multiplier_10 / 10 != multiplier) multiplier_overflowed = true;
-
- T const dig_value = static_cast<T>(*end - czero);
- T const new_sub_value = static_cast<T>(multiplier_10 * dig_value);
-
- if (*end < czero || *end >= czero + 10
- /* detecting overflow */
- || (dig_value && new_sub_value / dig_value != multiplier_10)
- || static_cast<T>((std::numeric_limits<T>::max)()-new_sub_value) < value
- || (multiplier_overflowed && dig_value)
- )
- return false;
-
- value = static_cast<T>(value + new_sub_value);
- multiplier = static_cast<T>(multiplier * 10);
- --end;
- }
- }
- return true;
- }
- }
-
- namespace detail
- {
- template <class CharT>
- 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 <class CharT, class T>
- 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<CharT>::minus;
- const CharT plus = lcast_char_constants<CharT>::plus;
- const int inifinity_size = 8;
-
- bool has_minus = false;
- /* Parsing +/- */
- if( *begin == minus)
- {
- ++ begin;
- has_minus = true;
- }
- else if( *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<T>::quiet_NaN();
- else value = (boost::math::changesign) (std::numeric_limits<T>::quiet_NaN());
- return true;
- } else
- if (( /* 'INF' or 'inf' */
- end-begin==3
- &&
- 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<T>::infinity();
- else value = (boost::math::changesign) (std::numeric_limits<T>::infinity());
- return true;
- }
-
- return false;
- }
-
- template <class CharT, class T>
- 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<CharT>::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 <class T>
- 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 <class T>
- 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 <class T>
- 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 <class T>
- 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 <class T>
- 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 <class T>
- 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 <class CharT, class T>
- 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 <class CharT, class T>
- 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 <class T>
- struct mantissa_holder_type
- {
- /* Can not be used with this type */
- };
-
- template <>
- struct mantissa_holder_type<float>
- {
- typedef unsigned int type;
- typedef double wide_result_t;
- };
-
- template <>
- struct mantissa_holder_type<double>
- {
-#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<class Traits, class T, class CharT>
- inline bool lcast_ret_float(T& value, const CharT* begin, const CharT* end)
- {
-
-#ifndef BOOST_LEXICAL_CAST_ASSUME_C_LOCALE
- std::locale loc;
- typedef std::numpunct<CharT> 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<CharT>(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<CharT>::c_decimal_separator;
-#endif
-
- CharT const czero = lcast_char_constants<CharT>::zero;
- CharT const minus = lcast_char_constants<CharT>::minus;
- CharT const plus = lcast_char_constants<CharT>::plus;
- CharT const capital_e = lcast_char_constants<CharT>::capital_e;
- CharT const lowercase_e = lcast_char_constants<CharT>::lowercase_e;
-
- value = static_cast<T>(0);
-
- if (parse_inf_nan(begin, end, value)) return true;
-
- typedef typename Traits::int_type int_type;
- typedef BOOST_DEDUCED_TYPENAME mantissa_holder_type<T>::type mantissa_type;
- typedef BOOST_DEDUCED_TYPENAME mantissa_holder_type<T>::wide_result_t wide_result_t;
- int_type const zero = Traits::to_int_type(czero);
- if (begin == end) return false;
-
- /* Getting the plus/minus sign */
- bool has_minus = false;
- if (Traits::eq(*begin, minus) ) {
- ++ begin;
- has_minus = true;
- if (begin == end) return false;
- } else if (Traits::eq(*begin, plus) ) {
- ++begin;
- if (begin == end) return false;
- }
-
- bool found_decimal = false;
- bool found_number_before_exp = false;
- int pow_of_10 = 0;
- 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 */
-
- mantissa_type tmp_mantissa = mantissa * 10u;
- if (Traits::eq(*begin, lowercase_e) || Traits::eq(*begin, capital_e)) break;
- if ( *begin < czero || *begin >= czero + 10 ) return false;
- if ( is_mantissa_full
- || tmp_mantissa / 10u != mantissa
- || (std::numeric_limits<mantissa_type>::max)()-(*begin - zero) < tmp_mantissa
- ) {
- is_mantissa_full = true;
- ++ begin;
- continue;
- }
-
- -- pow_of_10;
- mantissa = tmp_mantissa;
- mantissa += *begin - zero;
-
- 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
- */
- mantissa_type tmp_mantissa = mantissa * 10u;
- if( !is_mantissa_full
- && tmp_mantissa / 10u == mantissa
- && (std::numeric_limits<mantissa_type>::max)()-(*begin - zero) >= tmp_mantissa
- )
- {
- mantissa = tmp_mantissa;
- mantissa += *begin - zero;
- } else
- {
- is_mantissa_full = true;
- ++ pow_of_10;
- }
-
- 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_size) return false;
-
- } else {
- /* Delimiter at the begining ',000' */
- if (!length_since_last_delim) return false;
-
- found_grouping = true;
- if (length_since_last_delim > 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 exp_has_minus = false;
- if(Traits::eq(*begin, minus)) {
- exp_has_minus = true;
- ++ begin;
- if ( begin == end ) return false;
- } else if (Traits::eq(*begin, plus)) {
- ++ begin;
- if ( begin == end ) return false;
- }
-
- int exp_pow_of_10 = 0;
- while ( begin != end )
- {
- if ( *begin < czero
- || *begin >= czero + 10
- || exp_pow_of_10 * 10 < exp_pow_of_10) /* Overflows are checked lower more precisely*/
- return false;
-
- exp_pow_of_10 *= 10;
- exp_pow_of_10 += *begin - zero;
- ++ begin;
- };
-
- if ( exp_pow_of_10 ) {
- /* Overflows are checked lower */
- if ( exp_has_minus ) {
- pow_of_10 -= exp_pow_of_10;
- } else {
- 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)).
- */
- const wide_result_t result = std::pow(static_cast<wide_result_t>(10.0), pow_of_10) * mantissa;
- value = static_cast<T>( has_minus ? (boost::math::changesign)(result) : result);
-
- if ( (boost::math::isinf)(value) || (boost::math::isnan)(value) ) return false;
-
- return true;
- }
-// 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 // parser_buf
- {
- //
- // class parser_buf:
- // acts as a stream buffer which wraps around a pair of pointers
- //
- // This class is copied (and slightly changed) from
- // boost/regex/v4/cpp_regex_traits.hpp
- // Thanks John Maddock for it! (previous version had some
- // problems with libc++ and some other STL implementations)
- template <class BufferType, class charT>
- class parser_buf : public BufferType {
- typedef BufferType base_type;
- typedef typename base_type::int_type int_type;
- typedef typename base_type::char_type char_type;
- typedef typename base_type::pos_type pos_type;
- typedef ::std::streamsize streamsize;
- typedef typename base_type::off_type off_type;
-
- public:
- parser_buf() : base_type() { setbuf(0, 0); }
- const charT* getnext() { return this->gptr(); }
-#ifndef BOOST_NO_USING_TEMPLATE
- using base_type::pptr;
- using base_type::pbase;
-#else
- charT* pptr() const { return base_type::pptr(); }
- charT* pbase() const { return base_type::pbase(); }
-#endif
- base_type* setbuf(char_type* s, streamsize n) {
- this->setg(s, s, s + n);
- return this;
- }
-
- pos_type seekpos(pos_type sp, ::std::ios_base::openmode which) {
- if(which & ::std::ios_base::out)
- return pos_type(off_type(-1));
- off_type size = static_cast<off_type>(this->egptr() - this->eback());
- charT* g = this->eback();
- if(off_type(sp) <= size)
- {
- this->setg(g, g + off_type(sp), g + size);
- }
- return pos_type(off_type(-1));
- }
-
- pos_type seekoff(off_type off, ::std::ios_base::seekdir way, ::std::ios_base::openmode which) {
- typedef typename boost::int_t<sizeof(way) * CHAR_BIT>::least cast_type;
-
- if(which & ::std::ios_base::out)
- return pos_type(off_type(-1));
- std::ptrdiff_t size = this->egptr() - this->eback();
- std::ptrdiff_t pos = this->gptr() - this->eback();
- charT* g = this->eback();
- switch(static_cast<cast_type>(way))
- {
- case ::std::ios_base::beg:
- if((off < 0) || (off > size))
- return pos_type(off_type(-1));
- else
- this->setg(g, g + off, g + size);
- break;
- case ::std::ios_base::end:
- if((off < 0) || (off > size))
- return pos_type(off_type(-1));
- else
- this->setg(g, g + size - off, g + size);
- break;
- case ::std::ios_base::cur:
- {
- std::ptrdiff_t newpos = static_cast<std::ptrdiff_t>(pos + off);
- if((newpos < 0) || (newpos > size))
- return pos_type(off_type(-1));
- else
- this->setg(g, g + newpos, g + size);
- break;
- }
- default: ;
- }
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4244)
-#endif
- return static_cast<pos_type>(this->gptr() - this->eback());
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
- }
- private:
- parser_buf& operator=(const parser_buf&);
- parser_buf(const parser_buf&);
- };
- }
-
- namespace detail
- {
- struct do_not_construct_out_stream_t{};
- }
-
- namespace detail // optimized stream wrapper
- {
- // String representation of Source has an upper limit.
- template< class CharT // a result of widest_char transformation
- , class Traits // usually char_traits<CharT>
- , bool RequiresStringbuffer
- >
- class lexical_stream_limited_src
- {
-
-#if defined(BOOST_NO_STRINGSTREAM)
- typedef std::ostrstream out_stream_t;
-#elif defined(BOOST_NO_STD_LOCALE)
- typedef std::ostringstream out_stream_t;
- typedef parser_buf<std::streambuf, char> buffer_t;
-#else
- typedef std::basic_ostringstream<CharT, Traits> out_stream_t;
- typedef parser_buf<std::basic_streambuf<CharT, Traits>, CharT> buffer_t;
-#endif
- 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 [start, finish).
- CharT* start;
- CharT* finish;
- deduced_out_stream_t out_stream;
-
- public:
- lexical_stream_limited_src(CharT* sta, CharT* fin) BOOST_NOEXCEPT
- : start(sta)
- , finish(fin)
- {}
-
- private:
- // Undefined:
- lexical_stream_limited_src(lexical_stream_limited_src const&);
- void operator=(lexical_stream_limited_src const&);
-
-/************************************ HELPER FUNCTIONS FOR OPERATORS << ( ... ) ********************************/
- bool shl_char(CharT ch) BOOST_NOEXCEPT
- {
- Traits::assign(*start, ch);
- finish = start + 1;
- return true;
- }
-
-#ifndef BOOST_LCAST_NO_WCHAR_T
- template <class T>
- 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<CharT>, loc).widen(ch);
-#else
- CharT const w = static_cast<CharT>(ch);
-#endif
- Traits::assign(*start, w);
- finish = start + 1;
- return true;
- }
-#endif
-
- bool shl_char_array(CharT const* str) BOOST_NOEXCEPT
- {
- start = const_cast<CharT*>(str);
- finish = start + Traits::length(str);
- return true;
- }
-
- template <class T>
- 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 = const_cast<CharT*>(str);
- finish = std::find(start, start + max_size, Traits::to_char_type(0));
- return true;
- }
-
- template<typename InputStreamable>
- 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<char, CharT>::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<buffer_t*>(
- static_cast<std::basic_streambuf<CharT, Traits>*>(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 <class T>
- inline bool shl_signed(T n)
- {
- start = lcast_put_unsigned<Traits>(lcast_to_unsigned(n), finish);
- if(n < 0)
- {
- --start;
- CharT const minus = lcast_char_constants<CharT>::minus;
- Traits::assign(*start, minus);
- }
- return true;
- }
-
- template <class T, class SomeCharT>
- bool shl_real_type(const T& val, SomeCharT* begin, SomeCharT*& end)
- {
- if (put_inf_nan(begin, end, val)) return true;
- lcast_set_precision(out_stream, &val);
- return shl_input_streamable(val);
- }
-
- static bool shl_real_type(float val, char* begin, char*& end)
- { using namespace std;
- if (put_inf_nan(begin, end, val)) return true;
- const double val_as_double = val;
- end = begin +
-#if defined(_MSC_VER) && (_MSC_VER >= 1400) && !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION)
- sprintf_s(begin, end-begin,
-#else
- sprintf(begin,
-#endif
- "%.*g", static_cast<int>(boost::detail::lcast_get_precision<float>()), val_as_double);
- return end > begin;
- }
-
- static bool shl_real_type(double val, char* begin, char*& end)
- { using namespace std;
- if (put_inf_nan(begin, end, val)) return true;
- end = begin +
-#if defined(_MSC_VER) && (_MSC_VER >= 1400) && !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION)
- sprintf_s(begin, end-begin,
-#else
- sprintf(begin,
-#endif
- "%.*g", static_cast<int>(boost::detail::lcast_get_precision<double>()), val);
- return end > begin;
- }
-
-#ifndef __MINGW32__
- static bool shl_real_type(long double val, char* begin, char*& end)
- { using namespace std;
- if (put_inf_nan(begin, end, val)) return true;
- end = begin +
-#if defined(_MSC_VER) && (_MSC_VER >= 1400) && !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION)
- sprintf_s(begin, end-begin,
-#else
- sprintf(begin,
-#endif
- "%.*Lg", static_cast<int>(boost::detail::lcast_get_precision<long double>()), val );
- return end > begin;
- }
-#endif
-
-
-#if !defined(BOOST_LCAST_NO_WCHAR_T) && !defined(BOOST_NO_SWPRINTF) && !defined(__MINGW32__)
- static bool shl_real_type(float val, wchar_t* begin, wchar_t*& end)
- { using namespace std;
- if (put_inf_nan(begin, end, val)) return true;
- const double val_as_double = val;
- end = begin + swprintf(begin, end-begin,
- L"%.*g",
- static_cast<int>(boost::detail::lcast_get_precision<float >()),
- val_as_double );
- return end > begin;
- }
-
- static bool shl_real_type(double val, wchar_t* begin, wchar_t*& end)
- { using namespace std;
- if (put_inf_nan(begin, end, val)) return true;
- end = begin + swprintf(begin, end-begin,
- L"%.*g", static_cast<int>(boost::detail::lcast_get_precision<double >()), val );
- return end > begin;
- }
-
- static bool shl_real_type(long double val, wchar_t* begin, wchar_t*& end)
- { using namespace std;
- if (put_inf_nan(begin, end, val)) return true;
- end = begin + swprintf(begin, end-begin,
- L"%.*Lg", static_cast<int>(boost::detail::lcast_get_precision<long double >()), val );
- return end > begin;
- }
-#endif
-
-/************************************ OPERATORS << ( ... ) ********************************/
- public:
- template<class Alloc>
- bool operator<<(std::basic_string<CharT,Traits,Alloc> const& str) BOOST_NOEXCEPT
- {
- start = const_cast<CharT*>(str.data());
- finish = start + str.length();
- return true;
- }
-
- template<class Alloc>
- bool operator<<(boost::container::basic_string<CharT,Traits,Alloc> const& str) BOOST_NOEXCEPT
- {
- start = const_cast<CharT*>(str.data());
- finish = start + str.length();
- return true;
- }
-
- bool operator<<(bool value) BOOST_NOEXCEPT
- {
- CharT const czero = lcast_char_constants<CharT>::zero;
- Traits::assign(*start, Traits::to_char_type(czero + value));
- finish = start + 1;
- return true;
- }
-
- bool operator<<(const iterator_range<CharT*>& rng) BOOST_NOEXCEPT
- {
- start = rng.begin();
- finish = rng.end();
- return true;
- }
-
- bool operator<<(const iterator_range<const CharT*>& rng) BOOST_NOEXCEPT
- {
- start = const_cast<CharT*>(rng.begin());
- finish = const_cast<CharT*>(rng.end());
- return true;
- }
-
- bool operator<<(const iterator_range<const signed char*>& rng) BOOST_NOEXCEPT
- {
- return (*this) << iterator_range<char*>(
- const_cast<char*>(reinterpret_cast<const char*>(rng.begin())),
- const_cast<char*>(reinterpret_cast<const char*>(rng.end()))
- );
- }
-
- bool operator<<(const iterator_range<const unsigned char*>& rng) BOOST_NOEXCEPT
- {
- return (*this) << iterator_range<char*>(
- const_cast<char*>(reinterpret_cast<const char*>(rng.begin())),
- const_cast<char*>(reinterpret_cast<const char*>(rng.end()))
- );
- }
-
- bool operator<<(const iterator_range<signed char*>& rng) BOOST_NOEXCEPT
- {
- return (*this) << iterator_range<char*>(
- reinterpret_cast<char*>(rng.begin()),
- reinterpret_cast<char*>(rng.end())
- );
- }
-
- bool operator<<(const iterator_range<unsigned char*>& rng) BOOST_NOEXCEPT
- {
- return (*this) << iterator_range<char*>(
- reinterpret_cast<char*>(rng.begin()),
- reinterpret_cast<char*>(rng.end())
- );
- }
-
- bool operator<<(char ch) { return shl_char(ch); }
- bool operator<<(unsigned char ch) { return ((*this) << static_cast<char>(ch)); }
- bool operator<<(signed char ch) { return ((*this) << static_cast<char>(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<char const*>(ch)); }
- bool operator<<(unsigned char * ch) { return ((*this) << reinterpret_cast<char *>(ch)); }
- bool operator<<(signed char const* ch) { return ((*this) << reinterpret_cast<char const*>(ch)); }
- bool operator<<(signed char * ch) { return ((*this) << reinterpret_cast<char *>(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) { start = lcast_put_unsigned<Traits>(n, finish); return true; }
- bool operator<<(unsigned int n) { start = lcast_put_unsigned<Traits>(n, finish); return true; }
- bool operator<<(unsigned long n) { start = lcast_put_unsigned<Traits>(n, finish); return true; }
-
-#if defined(BOOST_HAS_LONG_LONG)
- bool operator<<(boost::ulong_long_type n) { start = lcast_put_unsigned<Traits>(n, finish); return true; }
- bool operator<<(boost::long_long_type n) { return shl_signed(n); }
-#elif defined(BOOST_HAS_MS_INT64)
- bool operator<<(unsigned __int64 n) { start = lcast_put_unsigned<Traits>(n, finish); return true; }
- bool operator<<( __int64 n) { return shl_signed(n); }
-#endif
-
-#ifdef BOOST_HAS_INT128
- bool operator<<(const boost::uint128_type& n) { start = lcast_put_unsigned<Traits>(n, finish); return true; }
- bool operator<<(const boost::int128_type& n) { return shl_signed(n); }
-#endif
-
- bool operator<<(float val) { return shl_real_type(val, start, finish); }
- bool operator<<(double val) { return shl_real_type(val, start, finish); }
- bool operator<<(long double val) {
-#ifndef __MINGW32__
- return shl_real_type(val, start, finish);
-#else
- return shl_real_type(static_cast<double>(val), start, finish);
-#endif
- }
-
- template <std::size_t N>
- bool operator<<(boost::array<CharT, N> const& input) BOOST_NOEXCEPT
- { return shl_char_array_limited(input.begin(), N); }
-
- template <std::size_t N>
- bool operator<<(boost::array<unsigned char, N> const& input) BOOST_NOEXCEPT
- { return ((*this) << reinterpret_cast<boost::array<char, N> const& >(input)); }
-
- template <std::size_t N>
- bool operator<<(boost::array<signed char, N> const& input) BOOST_NOEXCEPT
- { return ((*this) << reinterpret_cast<boost::array<char, N> const& >(input)); }
-
- template <std::size_t N>
- bool operator<<(boost::array<const CharT, N> const& input) BOOST_NOEXCEPT
- { return shl_char_array_limited(input.begin(), N); }
-
- template <std::size_t N>
- bool operator<<(boost::array<const unsigned char, N> const& input) BOOST_NOEXCEPT
- { return ((*this) << reinterpret_cast<boost::array<const char, N> const& >(input)); }
-
- template <std::size_t N>
- bool operator<<(boost::array<const signed char, N> const& input) BOOST_NOEXCEPT
- { return ((*this) << reinterpret_cast<boost::array<const char, N> const& >(input)); }
-
-#ifndef BOOST_NO_CXX11_HDR_ARRAY
- template <std::size_t N>
- bool operator<<(std::array<CharT, N> const& input) BOOST_NOEXCEPT
- {
- if (input.size()) return shl_char_array_limited(&input[0], N);
- else return true;
- }
-
- template <std::size_t N>
- bool operator<<(std::array<unsigned char, N> const& input) BOOST_NOEXCEPT
- { return ((*this) << reinterpret_cast<boost::array<char, N> const& >(input)); }
-
- template <std::size_t N>
- bool operator<<(std::array<signed char, N> const& input) BOOST_NOEXCEPT
- { return ((*this) << reinterpret_cast<boost::array<char, N> const& >(input)); }
-
- template <std::size_t N>
- bool operator<<(std::array<const CharT, N> const& input) BOOST_NOEXCEPT
- {
- if (input.size()) return shl_char_array_limited(&input[0], N);
- else return true;
- }
-
- template <std::size_t N>
- bool operator<<(std::array<const unsigned char, N> const& input) BOOST_NOEXCEPT
- { return ((*this) << reinterpret_cast<boost::array<const char, N> const& >(input)); }
-
- template <std::size_t N>
- bool operator<<(std::array<const signed char, N> const& input) BOOST_NOEXCEPT
- { return ((*this) << reinterpret_cast<boost::array<const char, N> const& >(input)); }
-#endif
-
- template <class InStreamable>
- bool operator<<(const InStreamable& input) { return shl_input_streamable(input); }
-
-/************************************ HELPER FUNCTIONS FOR OPERATORS >> ( ... ) ********************************/
- private:
-
- template <typename Type>
- bool shr_unsigned(Type& output)
- {
- if (start == finish) return false;
- CharT const minus = lcast_char_constants<CharT>::minus;
- CharT const plus = lcast_char_constants<CharT>::plus;
- bool has_minus = false;
-
- /* We won`t use `start' any more, so no need in decrementing it after */
- if ( Traits::eq(minus,*start) )
- {
- ++start;
- has_minus = true;
- } else if ( Traits::eq( plus, *start ) )
- {
- ++start;
- }
-
- bool const succeed = lcast_ret_unsigned<Traits>(output, start, finish);
-
- if (has_minus) {
- output = static_cast<Type>(0u - output);
- }
-
- return succeed;
- }
-
- template <typename Type>
- bool shr_signed(Type& output)
- {
- if (start == finish) return false;
- CharT const minus = lcast_char_constants<CharT>::minus;
- CharT const plus = lcast_char_constants<CharT>::plus;
- typedef BOOST_DEDUCED_TYPENAME make_unsigned<Type>::type utype;
- utype out_tmp =0;
- bool has_minus = false;
-
- /* We won`t use `start' any more, so no need in decrementing it after */
- if ( Traits::eq(minus,*start) )
- {
- ++start;
- has_minus = true;
- } else if ( Traits::eq(plus, *start) )
- {
- ++start;
- }
-
- bool succeed = lcast_ret_unsigned<Traits>(out_tmp, start, finish);
- if (has_minus) {
- utype const comp_val = (static_cast<utype>(1) << std::numeric_limits<Type>::digits);
- succeed = succeed && out_tmp<=comp_val;
- output = static_cast<Type>(0u - out_tmp);
- } else {
- utype const comp_val = static_cast<utype>((std::numeric_limits<Type>::max)());
- succeed = succeed && out_tmp<=comp_val;
- output = out_tmp;
- }
- return succeed;
- }
-
- template<typename InputStreamable>
- bool shr_using_base_class(InputStreamable& output)
- {
- BOOST_STATIC_ASSERT_MSG(
- (!boost::is_pointer<InputStreamable>::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<char, CharT>::value),
- "boost::lexical_cast can not convert, because your STL library does not "
- "support such conversions. Try updating it."
- );
-#endif
-
-#if defined(BOOST_NO_STRINGSTREAM)
- std::istrstream stream(start, finish - start);
-#else
-
- buffer_t buf;
- buf.setbuf(start, finish - start);
-#if defined(BOOST_NO_STD_LOCALE)
- std::istream stream(&buf);
-#else
- std::basic_istream<CharT, Traits> 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<InputStreamable*>(0));
-
- return stream >> output &&
- stream.get() ==
-#if defined(__GNUC__) && (__GNUC__<3) && defined(BOOST_NO_STD_WSTRING)
- // GCC 2.9x lacks std::char_traits<>::eof().
- // We use BOOST_NO_STD_WSTRING to filter out STLport and libstdc++-v3
- // configurations, which do provide std::char_traits<>::eof().
-
- EOF;
-#else
- Traits::eof();
-#endif
-
-#ifndef BOOST_NO_EXCEPTIONS
- } catch (const ::std::ios_base::failure& /*f*/) {
- return false;
- }
-#endif
- }
-
- template<class T>
- inline bool shr_xchar(T& output)
- {
- 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<T>(out);
- }
- return ok;
- }
-
-/************************************ 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<class Alloc>
- bool operator>>(std::basic_string<CharT,Traits,Alloc>& str) { str.assign(start, finish); return true; }
-
- template<class Alloc>
- bool operator>>(boost::container::basic_string<CharT,Traits,Alloc>& str) { str.assign(start, finish); return true; }
-
-
- private:
- template <std::size_t N, class ArrayT>
- bool shr_std_array(ArrayT& output) BOOST_NOEXCEPT
- {
- using namespace std;
- const std::size_t size = 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;
- }
-
- public:
-
- template <std::size_t N>
- bool operator>>(boost::array<CharT, N>& output) BOOST_NOEXCEPT
- {
- return shr_std_array<N>(output);
- }
-
- template <std::size_t N>
- bool operator>>(boost::array<unsigned char, N>& output)
- {
- return ((*this) >> reinterpret_cast<boost::array<char, N>& >(output));
- }
-
- template <std::size_t N>
- bool operator>>(boost::array<signed char, N>& output)
- {
- return ((*this) >> reinterpret_cast<boost::array<char, N>& >(output));
- }
-
-#ifndef BOOST_NO_CXX11_HDR_ARRAY
- template <std::size_t N>
- bool operator>>(std::array<CharT, N>& output) BOOST_NOEXCEPT
- {
- return shr_std_array<N>(output);
- }
-
- template <std::size_t N>
- bool operator>>(std::array<unsigned char, N>& output)
- {
- return ((*this) >> reinterpret_cast<std::array<char, N>& >(output));
- }
-
- template <std::size_t N>
- bool operator>>(std::array<signed char, N>& output)
- {
- return ((*this) >> reinterpret_cast<std::array<char, N>& >(output));
- }
-#endif
-
-
- /*
- * case "-0" || "0" || "+0" : output = false; return true;
- * case "1" || "+1": output = true; return true;
- * default: return false;
- */
- bool operator>>(bool& output) BOOST_NOEXCEPT
- {
- CharT const zero = lcast_char_constants<CharT>::zero;
- CharT const plus = lcast_char_constants<CharT>::plus;
- CharT const minus = lcast_char_constants<CharT>::minus;
-
- switch(finish-start)
- {
- case 1:
- output = Traits::eq(start[0], zero+1);
- return output || Traits::eq(start[0], zero );
- case 2:
- if ( Traits::eq( plus, *start) )
- {
- ++start;
- output = Traits::eq(start[0], zero +1);
- return output || Traits::eq(start[0], zero );
- } else
- {
- output = false;
- return Traits::eq( minus, *start)
- && Traits::eq( zero, start[1]);
- }
- default:
- output = false; // Suppress warning about uninitalized variable
- return false;
- }
- }
-
- bool operator>>(float& output) { return lcast_ret_float<Traits>(output,start,finish); }
-
- private:
- // Not optimised converter
- template <class T>
- bool float_types_converter_internal(T& output, int /*tag*/) {
- if (parse_inf_nan(start, finish, output)) return true;
- bool 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<CharT>::minus;
- CharT const plus = lcast_char_constants<CharT>::plus;
- CharT const capital_e = lcast_char_constants<CharT>::capital_e;
- CharT const lowercase_e = lcast_char_constants<CharT>::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<Traits>(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<InputStreamable>::value is true.
- template<typename InputStreamable>
- bool operator>>(InputStreamable& output) { return shr_using_base_class(output); }
- };
- }
-
- namespace detail
- {
- template<typename T>
- struct is_stdstring
- {
- BOOST_STATIC_CONSTANT(bool, value = false );
- };
-
- template<typename CharT, typename Traits, typename Alloc>
- struct is_stdstring< std::basic_string<CharT, Traits, Alloc> >
- {
- BOOST_STATIC_CONSTANT(bool, value = true );
- };
-
- template<typename CharT, typename Traits, typename Alloc>
- struct is_stdstring< boost::container::basic_string<CharT, Traits, Alloc> >
- {
- BOOST_STATIC_CONSTANT(bool, value = true );
- };
-
- template<typename Target, typename Source>
- struct is_arithmetic_and_not_xchars
- {
- BOOST_STATIC_CONSTANT(bool, value =
- (
- boost::type_traits::ice_and<
- boost::is_arithmetic<Source>::value,
- boost::is_arithmetic<Target>::value,
- boost::type_traits::ice_not<
- detail::is_char_or_wchar<Target>::value
- >::value,
- boost::type_traits::ice_not<
- detail::is_char_or_wchar<Source>::value
- >::value
- >::value
- )
- );
- };
-
- /*
- * is_xchar_to_xchar<Target, Source>::value is true, when
- * Target and Souce are the same char types, or when
- * Target and Souce are char types of the same size.
- */
- template<typename Target, typename Source>
- struct is_xchar_to_xchar
- {
- BOOST_STATIC_CONSTANT(bool, value =
- (
- boost::type_traits::ice_or<
- boost::type_traits::ice_and<
- is_same<Source,Target>::value,
- is_char_or_wchar<Target>::value
- >::value,
- boost::type_traits::ice_and<
- boost::type_traits::ice_eq< sizeof(char),sizeof(Target)>::value,
- boost::type_traits::ice_eq< sizeof(char),sizeof(Source)>::value,
- is_char_or_wchar<Target>::value,
- is_char_or_wchar<Source>::value
- >::value
- >::value
- )
- );
- };
-
- template<typename Target, typename Source>
- struct is_char_array_to_stdstring
- {
- BOOST_STATIC_CONSTANT(bool, value = false );
- };
-
- template<typename CharT, typename Traits, typename Alloc>
- struct is_char_array_to_stdstring< std::basic_string<CharT, Traits, Alloc>, CharT* >
- {
- BOOST_STATIC_CONSTANT(bool, value = true );
- };
-
- template<typename CharT, typename Traits, typename Alloc>
- struct is_char_array_to_stdstring< std::basic_string<CharT, Traits, Alloc>, const CharT* >
- {
- BOOST_STATIC_CONSTANT(bool, value = true );
- };
-
- template<typename CharT, typename Traits, typename Alloc>
- struct is_char_array_to_stdstring< boost::container::basic_string<CharT, Traits, Alloc>, CharT* >
- {
- BOOST_STATIC_CONSTANT(bool, value = true );
- };
-
- template<typename CharT, typename Traits, typename Alloc>
- struct is_char_array_to_stdstring< boost::container::basic_string<CharT, Traits, Alloc>, const CharT* >
- {
- BOOST_STATIC_CONSTANT(bool, value = true );
- };
-
-#if (defined _MSC_VER)
-# pragma warning( push )
-# pragma warning( disable : 4701 ) // possible use of ... before initialization
-# pragma warning( disable : 4702 ) // unreachable code
-# pragma warning( disable : 4267 ) // conversion from 'size_t' to 'unsigned int'
-#endif
- template<typename Target, typename Source>
- struct lexical_cast_do_cast
- {
- static inline Target lexical_cast_impl(const Source& arg)
- {
- typedef lexical_cast_stream_traits<Source, Target> stream_trait;
-
- typedef detail::lexical_stream_limited_src<
- BOOST_DEDUCED_TYPENAME stream_trait::char_type,
- BOOST_DEDUCED_TYPENAME stream_trait::traits,
- stream_trait::requires_stringbuf
- > interpreter_type;
-
- // Target type must be default constructible
- Target result;
-
- BOOST_DEDUCED_TYPENAME stream_trait::char_type buf[stream_trait::len_t::value + 1];
- stream_trait::len_t::check_coverage();
-
- interpreter_type interpreter(buf, buf + stream_trait::len_t::value + 1);
-
- // Disabling ADL, by directly specifying operators.
- if(!(interpreter.operator <<(arg) && interpreter.operator >>(result)))
- BOOST_LCAST_THROW_BAD_CAST(Source, Target);
-
- return result;
- }
- };
-#if (defined _MSC_VER)
-# pragma warning( pop )
-#endif
-
- template <typename Source>
- struct lexical_cast_copy
- {
- static inline const Source& lexical_cast_impl(const Source &arg) BOOST_NOEXCEPT
- {
- return arg;
- }
- };
-
- template <class Source, class Target >
- struct detect_precision_loss
- {
- typedef boost::numeric::Trunc<Source> Rounder;
- typedef Source source_type ;
-
- typedef BOOST_DEDUCED_TYPENAME mpl::if_<
- boost::is_arithmetic<Source>, Source, Source const&
- >::type argument_type ;
-
- static source_type nearbyint ( argument_type s )
- {
- const source_type near_int = Rounder::nearbyint(s);
- if (near_int) {
- const source_type orig_div_round = s / near_int;
- const source_type eps = std::numeric_limits<source_type>::epsilon();
-
- if ((orig_div_round > 1 ? orig_div_round - 1 : 1 - orig_div_round) > eps)
- BOOST_LCAST_THROW_BAD_CAST(Source, Target);
- }
-
- return s ;
- }
-
- typedef typename Rounder::round_style round_style;
- } ;
-
- template <class Source, class Target >
- struct nothrow_overflow_handler
- {
- void operator() ( boost::numeric::range_check_result r )
- {
- if (r != boost::numeric::cInRange)
- BOOST_LCAST_THROW_BAD_CAST(Source, Target);
- }
- } ;
-
- template <typename Target, typename Source>
- struct lexical_cast_dynamic_num_not_ignoring_minus
- {
- static inline Target lexical_cast_impl(const Source &arg)
- {
- return boost::numeric::converter<
- Target,
- Source,
- boost::numeric::conversion_traits<Target,Source>,
- nothrow_overflow_handler<Source, Target>,
- detect_precision_loss<Source, Target>
- >::convert(arg);
- }
- };
-
- template <typename Target, typename Source>
- struct lexical_cast_dynamic_num_ignoring_minus
- {
- static inline Target lexical_cast_impl(const Source &arg)
- {
- typedef BOOST_DEDUCED_TYPENAME boost::mpl::eval_if_c<
- boost::is_float<Source>::value,
- boost::mpl::identity<Source>,
- boost::make_unsigned<Source>
- >::type usource_t;
-
- typedef boost::numeric::converter<
- Target,
- usource_t,
- boost::numeric::conversion_traits<Target,usource_t>,
- nothrow_overflow_handler<usource_t, Target>,
- detect_precision_loss<usource_t, Target>
- > converter_t;
-
- return (
- arg < 0 ? static_cast<Target>(0u - converter_t::convert(0u - arg)) : converter_t::convert(arg)
- );
- }
- };
-
- /*
- * 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 <typename Target, typename Source>
- struct lexical_cast_dynamic_num
- {
- static inline Target lexical_cast_impl(const Source &arg)
- {
- typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_c<
- boost::type_traits::ice_and<
- boost::type_traits::ice_or<
- boost::is_signed<Source>::value,
- boost::is_float<Source>::value
- >::value,
- boost::type_traits::ice_not<
- boost::is_same<Source, bool>::value
- >::value,
- boost::type_traits::ice_not<
- boost::is_same<Target, bool>::value
- >::value,
- boost::is_unsigned<Target>::value
- >::value,
- lexical_cast_dynamic_num_ignoring_minus<Target, Source>,
- lexical_cast_dynamic_num_not_ignoring_minus<Target, Source>
- >::type caster_type;
-
- return caster_type::lexical_cast_impl(arg);
- }
- };
- }
-
- template <typename Target, typename Source>
- inline Target lexical_cast(const Source &arg)
- {
- typedef BOOST_DEDUCED_TYPENAME boost::detail::array_to_pointer_decay<Source>::type src;
-
- typedef BOOST_DEDUCED_TYPENAME boost::type_traits::ice_or<
- boost::detail::is_xchar_to_xchar<Target, src >::value,
- boost::detail::is_char_array_to_stdstring<Target, src >::value,
- boost::type_traits::ice_and<
- boost::is_same<Target, src >::value,
- boost::detail::is_stdstring<Target >::value
- >::value
- > shall_we_copy_t;
-
- typedef BOOST_DEDUCED_TYPENAME
- boost::detail::is_arithmetic_and_not_xchars<Target, src > shall_we_copy_with_dynamic_check_t;
-
- typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_c<
- shall_we_copy_t::value,
- boost::detail::lexical_cast_copy<src >,
- BOOST_DEDUCED_TYPENAME boost::mpl::if_c<
- shall_we_copy_with_dynamic_check_t::value,
- boost::detail::lexical_cast_dynamic_num<Target, src >,
- boost::detail::lexical_cast_do_cast<Target, src >
- >::type
- >::type caster_type;
-
- return caster_type::lexical_cast_impl(arg);
- }
-
- template <typename Target>
- inline Target lexical_cast(const char* chars, std::size_t count)
- {
- return ::boost::lexical_cast<Target>(
- ::boost::iterator_range<const char*>(chars, chars + count)
- );
- }
-
-
- template <typename Target>
- inline Target lexical_cast(const unsigned char* chars, std::size_t count)
- {
- return ::boost::lexical_cast<Target>(
- ::boost::iterator_range<const unsigned char*>(chars, chars + count)
- );
- }
-
- template <typename Target>
- inline Target lexical_cast(const signed char* chars, std::size_t count)
- {
- return ::boost::lexical_cast<Target>(
- ::boost::iterator_range<const signed char*>(chars, chars + count)
- );
- }
-
-#ifndef BOOST_LCAST_NO_WCHAR_T
- template <typename Target>
- inline Target lexical_cast(const wchar_t* chars, std::size_t count)
- {
- return ::boost::lexical_cast<Target>(
- ::boost::iterator_range<const wchar_t*>(chars, chars + count)
- );
- }
-#endif
-#ifndef BOOST_NO_CXX11_CHAR16_T
- template <typename Target>
- inline Target lexical_cast(const char16_t* chars, std::size_t count)
- {
- return ::boost::lexical_cast<Target>(
- ::boost::iterator_range<const char16_t*>(chars, chars + count)
- );
- }
-#endif
-#ifndef BOOST_NO_CXX11_CHAR32_T
- template <typename Target>
- inline Target lexical_cast(const char32_t* chars, std::size_t count)
- {
- return ::boost::lexical_cast<Target>(
- ::boost::iterator_range<const char32_t*>(chars, chars + count)
- );
- }
-#endif
-
-} // namespace boost
-
-#else // #ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-namespace boost {
- namespace detail
- {
-
- // selectors for choosing stream character type
- template<typename Type>
- struct stream_char
- {
- typedef char type;
- };
-
-#ifndef BOOST_LCAST_NO_WCHAR_T
-#ifndef BOOST_NO_INTRINSIC_WCHAR_T
- template<>
- struct stream_char<wchar_t>
- {
- typedef wchar_t type;
- };
-#endif
-
- template<>
- struct stream_char<wchar_t *>
- {
- typedef wchar_t type;
- };
-
- template<>
- struct stream_char<const wchar_t *>
- {
- typedef wchar_t type;
- };
-
- template<>
- struct stream_char<std::wstring>
- {
- typedef wchar_t type;
- };
-#endif
-
- // stream wrapper for handling lexical conversions
- template<typename Target, typename Source, typename Traits>
- class lexical_stream
- {
- private:
- typedef typename widest_char<
- typename stream_char<Target>::type,
- typename stream_char<Source>::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<Source*>(0), static_cast<Target*>(0) );
- }
- ~lexical_stream()
- {
- #if defined(BOOST_NO_STRINGSTREAM)
- stream.freeze(false);
- #endif
- }
- bool operator<<(const Source &input)
- {
- return !(stream << input).fail();
- }
- template<typename InputStreamable>
- bool operator>>(InputStreamable &output)
- {
- return !is_pointer<InputStreamable>::value &&
- stream >> output &&
- stream.get() ==
-#if defined(__GNUC__) && (__GNUC__<3) && defined(BOOST_NO_STD_WSTRING)
-// GCC 2.9x lacks std::char_traits<>::eof().
-// We use BOOST_NO_STD_WSTRING to filter out STLport and libstdc++-v3
-// configurations, which do provide std::char_traits<>::eof().
-
- EOF;
-#else
- traits_type::eof();
-#endif
- }
-
- 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<char_type,traits_type> stream;
- #endif
- };
- }
-
- // call-by-value fallback version (deprecated)
-
- template<typename Target, typename Source>
- Target lexical_cast(Source arg)
- {
- typedef typename detail::widest_char<
- BOOST_DEDUCED_TYPENAME detail::stream_char<Target>::type
- , BOOST_DEDUCED_TYPENAME detail::stream_char<Source>::type
- >::type char_type;
-
- typedef std::char_traits<char_type> traits;
- detail::lexical_stream<Target, Source, traits> 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-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)
-
-#undef BOOST_LCAST_THROW_BAD_CAST
-#undef BOOST_LCAST_NO_WCHAR_T
-
-#endif // BOOST_LEXICAL_CAST_INCLUDED
-
diff --git a/boost/limits.hpp b/boost/limits.hpp
deleted file mode 100644
index 47d8155..0000000
--- a/boost/limits.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// (C) Copyright John maddock 1999.
-// (C) 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)
-//
-// use this header as a workaround for missing <limits>
-
-// See http://www.boost.org/libs/compatibility/index.html for documentation.
-
-#ifndef BOOST_LIMITS
-#define BOOST_LIMITS
-
-#include <boost/config.hpp>
-
-#ifdef BOOST_NO_LIMITS
-# error "There is no std::numeric_limits suppport available."
-#else
-# include <limits>
-#endif
-
-#if (defined(BOOST_HAS_LONG_LONG) && defined(BOOST_NO_LONG_LONG_NUMERIC_LIMITS)) \
- || (defined(BOOST_HAS_MS_INT64) && defined(BOOST_NO_MS_INT64_NUMERIC_LIMITS))
-// Add missing specializations for numeric_limits:
-#ifdef BOOST_HAS_MS_INT64
-# define BOOST_LLT __int64
-# define BOOST_ULLT unsigned __int64
-#else
-# define BOOST_LLT ::boost::long_long_type
-# define BOOST_ULLT ::boost::ulong_long_type
-#endif
-
-#include <climits> // for CHAR_BIT
-
-namespace std
-{
- template<>
- class numeric_limits<BOOST_LLT>
- {
- public:
-
- BOOST_STATIC_CONSTANT(bool, is_specialized = true);
-#ifdef BOOST_HAS_MS_INT64
- static BOOST_LLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0x8000000000000000i64; }
- static BOOST_LLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0x7FFFFFFFFFFFFFFFi64; }
-#elif defined(LLONG_MAX)
- static BOOST_LLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return LLONG_MIN; }
- static BOOST_LLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return LLONG_MAX; }
-#elif defined(LONGLONG_MAX)
- static BOOST_LLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return LONGLONG_MIN; }
- static BOOST_LLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return LONGLONG_MAX; }
-#else
- static BOOST_LLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 1LL << (sizeof(BOOST_LLT) * CHAR_BIT - 1); }
- static BOOST_LLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ~(min)(); }
-#endif
- BOOST_STATIC_CONSTANT(int, digits = sizeof(BOOST_LLT) * CHAR_BIT -1);
- BOOST_STATIC_CONSTANT(int, digits10 = (CHAR_BIT * sizeof (BOOST_LLT) - 1) * 301L / 1000);
- BOOST_STATIC_CONSTANT(bool, is_signed = true);
- BOOST_STATIC_CONSTANT(bool, is_integer = true);
- BOOST_STATIC_CONSTANT(bool, is_exact = true);
- BOOST_STATIC_CONSTANT(int, radix = 2);
- static BOOST_LLT epsilon() throw() { return 0; };
- static BOOST_LLT round_error() throw() { return 0; };
-
- BOOST_STATIC_CONSTANT(int, min_exponent = 0);
- BOOST_STATIC_CONSTANT(int, min_exponent10 = 0);
- BOOST_STATIC_CONSTANT(int, max_exponent = 0);
- BOOST_STATIC_CONSTANT(int, max_exponent10 = 0);
-
- BOOST_STATIC_CONSTANT(bool, has_infinity = false);
- BOOST_STATIC_CONSTANT(bool, has_quiet_NaN = false);
- BOOST_STATIC_CONSTANT(bool, has_signaling_NaN = false);
- BOOST_STATIC_CONSTANT(bool, has_denorm = false);
- BOOST_STATIC_CONSTANT(bool, has_denorm_loss = false);
- static BOOST_LLT infinity() throw() { return 0; };
- static BOOST_LLT quiet_NaN() throw() { return 0; };
- static BOOST_LLT signaling_NaN() throw() { return 0; };
- static BOOST_LLT denorm_min() throw() { return 0; };
-
- BOOST_STATIC_CONSTANT(bool, is_iec559 = false);
- BOOST_STATIC_CONSTANT(bool, is_bounded = true);
- BOOST_STATIC_CONSTANT(bool, is_modulo = true);
-
- BOOST_STATIC_CONSTANT(bool, traps = false);
- BOOST_STATIC_CONSTANT(bool, tinyness_before = false);
- BOOST_STATIC_CONSTANT(float_round_style, round_style = round_toward_zero);
-
- };
-
- template<>
- class numeric_limits<BOOST_ULLT>
- {
- public:
-
- BOOST_STATIC_CONSTANT(bool, is_specialized = true);
-#ifdef BOOST_HAS_MS_INT64
- static BOOST_ULLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0ui64; }
- static BOOST_ULLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0xFFFFFFFFFFFFFFFFui64; }
-#elif defined(ULLONG_MAX) && defined(ULLONG_MIN)
- static BOOST_ULLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULLONG_MIN; }
- static BOOST_ULLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULLONG_MAX; }
-#elif defined(ULONGLONG_MAX) && defined(ULONGLONG_MIN)
- static BOOST_ULLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULONGLONG_MIN; }
- static BOOST_ULLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULONGLONG_MAX; }
-#else
- static BOOST_ULLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0uLL; }
- static BOOST_ULLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ~0uLL; }
-#endif
- BOOST_STATIC_CONSTANT(int, digits = sizeof(BOOST_LLT) * CHAR_BIT);
- BOOST_STATIC_CONSTANT(int, digits10 = (CHAR_BIT * sizeof (BOOST_LLT)) * 301L / 1000);
- BOOST_STATIC_CONSTANT(bool, is_signed = false);
- BOOST_STATIC_CONSTANT(bool, is_integer = true);
- BOOST_STATIC_CONSTANT(bool, is_exact = true);
- BOOST_STATIC_CONSTANT(int, radix = 2);
- static BOOST_ULLT epsilon() throw() { return 0; };
- static BOOST_ULLT round_error() throw() { return 0; };
-
- BOOST_STATIC_CONSTANT(int, min_exponent = 0);
- BOOST_STATIC_CONSTANT(int, min_exponent10 = 0);
- BOOST_STATIC_CONSTANT(int, max_exponent = 0);
- BOOST_STATIC_CONSTANT(int, max_exponent10 = 0);
-
- BOOST_STATIC_CONSTANT(bool, has_infinity = false);
- BOOST_STATIC_CONSTANT(bool, has_quiet_NaN = false);
- BOOST_STATIC_CONSTANT(bool, has_signaling_NaN = false);
- BOOST_STATIC_CONSTANT(bool, has_denorm = false);
- BOOST_STATIC_CONSTANT(bool, has_denorm_loss = false);
- static BOOST_ULLT infinity() throw() { return 0; };
- static BOOST_ULLT quiet_NaN() throw() { return 0; };
- static BOOST_ULLT signaling_NaN() throw() { return 0; };
- static BOOST_ULLT denorm_min() throw() { return 0; };
-
- BOOST_STATIC_CONSTANT(bool, is_iec559 = false);
- BOOST_STATIC_CONSTANT(bool, is_bounded = true);
- BOOST_STATIC_CONSTANT(bool, is_modulo = true);
-
- BOOST_STATIC_CONSTANT(bool, traps = false);
- BOOST_STATIC_CONSTANT(bool, tinyness_before = false);
- BOOST_STATIC_CONSTANT(float_round_style, round_style = round_toward_zero);
-
- };
-}
-#endif
-
-#endif
-
diff --git a/boost/math/constants/calculate_constants.hpp b/boost/math/constants/calculate_constants.hpp
deleted file mode 100644
index 297e0b9..0000000
--- a/boost/math/constants/calculate_constants.hpp
+++ /dev/null
@@ -1,968 +0,0 @@
-// Copyright John Maddock 2010, 2012.
-// Copyright Paul A. Bristow 2011, 2012.
-
-// 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_CALCULATE_CONSTANTS_CONSTANTS_INCLUDED
-#define BOOST_MATH_CALCULATE_CONSTANTS_CONSTANTS_INCLUDED
-
-#include <boost/math/special_functions/trunc.hpp>
-
-namespace boost{ namespace math{ namespace constants{ namespace detail{
-
-template <class T>
-template<int N>
-inline T constant_pi<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- BOOST_MATH_STD_USING
-
- return ldexp(acos(T(0)), 1);
-
- /*
- // Although this code works well, it's usually more accurate to just call acos
- // and access the number types own representation of PI which is usually calculated
- // at slightly higher precision...
-
- T result;
- T a = 1;
- T b;
- T A(a);
- T B = 0.5f;
- T D = 0.25f;
-
- T lim;
- lim = boost::math::tools::epsilon<T>();
-
- unsigned k = 1;
-
- do
- {
- result = A + B;
- result = ldexp(result, -2);
- b = sqrt(B);
- a += b;
- a = ldexp(a, -1);
- A = a * a;
- B = A - result;
- B = ldexp(B, 1);
- result = A - B;
- bool neg = boost::math::sign(result) < 0;
- if(neg)
- result = -result;
- if(result <= lim)
- break;
- if(neg)
- result = -result;
- result = ldexp(result, k - 1);
- D -= result;
- ++k;
- lim = ldexp(lim, 1);
- }
- while(true);
-
- result = B / D;
- return result;
- */
-}
-
-template <class T>
-template<int N>
-inline T constant_two_pi<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- return 2 * pi<T, policies::policy<policies::digits2<N> > >();
-}
-
-template <class T> // 2 / pi
-template<int N>
-inline T constant_two_div_pi<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- return 2 / pi<T, policies::policy<policies::digits2<N> > >();
-}
-
-template <class T> // sqrt(2/pi)
-template <int N>
-inline T constant_root_two_div_pi<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- BOOST_MATH_STD_USING
- return sqrt((2 / pi<T, policies::policy<policies::digits2<N> > >()));
-}
-
-template <class T>
-template<int N>
-inline T constant_one_div_two_pi<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- return 1 / two_pi<T, policies::policy<policies::digits2<N> > >();
-}
-
-template <class T>
-template<int N>
-inline T constant_root_pi<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- BOOST_MATH_STD_USING
- return sqrt(pi<T, policies::policy<policies::digits2<N> > >());
-}
-
-template <class T>
-template<int N>
-inline T constant_root_half_pi<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- BOOST_MATH_STD_USING
- return sqrt(pi<T, policies::policy<policies::digits2<N> > >() / 2);
-}
-
-template <class T>
-template<int N>
-inline T constant_root_two_pi<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- BOOST_MATH_STD_USING
- return sqrt(two_pi<T, policies::policy<policies::digits2<N> > >());
-}
-
-template <class T>
-template<int N>
-inline T constant_log_root_two_pi<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- BOOST_MATH_STD_USING
- return log(root_two_pi<T, policies::policy<policies::digits2<N> > >());
-}
-
-template <class T>
-template<int N>
-inline T constant_root_ln_four<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- BOOST_MATH_STD_USING
- return sqrt(log(static_cast<T>(4)));
-}
-
-template <class T>
-template<int N>
-inline T constant_e<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- //
- // Although we can clearly calculate this from first principles, this hooks into
- // T's own notion of e, which hopefully will more accurate than one calculated to
- // a few epsilon:
- //
- BOOST_MATH_STD_USING
- return exp(static_cast<T>(1));
-}
-
-template <class T>
-template<int N>
-inline T constant_half<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- return static_cast<T>(1) / static_cast<T>(2);
-}
-
-template <class T>
-template<int M>
-inline T constant_euler<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<M>))
-{
- BOOST_MATH_STD_USING
- //
- // This is the method described in:
- // "Some New Algorithms for High-Precision Computation of Euler's Constant"
- // Richard P Brent and Edwin M McMillan.
- // Mathematics of Computation, Volume 34, Number 149, Jan 1980, pages 305-312.
- // See equation 17 with p = 2.
- //
- T n = 3 + (M ? (std::min)(M, tools::digits<T>()) : tools::digits<T>()) / 4;
- T lim = M ? ldexp(T(1), 1 - (std::min)(M, tools::digits<T>())) : tools::epsilon<T>();
- T lnn = log(n);
- T term = 1;
- T N = -lnn;
- T D = 1;
- T Hk = 0;
- T one = 1;
-
- for(unsigned k = 1;; ++k)
- {
- term *= n * n;
- term /= k * k;
- Hk += one / k;
- N += term * (Hk - lnn);
- D += term;
-
- if(term < D * lim)
- break;
- }
- return N / D;
-}
-
-template <class T>
-template<int N>
-inline T constant_euler_sqr<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- BOOST_MATH_STD_USING
- return euler<T, policies::policy<policies::digits2<N> > >()
- * euler<T, policies::policy<policies::digits2<N> > >();
-}
-
-template <class T>
-template<int N>
-inline T constant_one_div_euler<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- BOOST_MATH_STD_USING
- return static_cast<T>(1)
- / euler<T, policies::policy<policies::digits2<N> > >();
-}
-
-
-template <class T>
-template<int N>
-inline T constant_root_two<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- BOOST_MATH_STD_USING
- return sqrt(static_cast<T>(2));
-}
-
-
-template <class T>
-template<int N>
-inline T constant_root_three<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- BOOST_MATH_STD_USING
- return sqrt(static_cast<T>(3));
-}
-
-template <class T>
-template<int N>
-inline T constant_half_root_two<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- BOOST_MATH_STD_USING
- return sqrt(static_cast<T>(2)) / 2;
-}
-
-template <class T>
-template<int N>
-inline T constant_ln_two<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- //
- // Although there are good ways to calculate this from scratch, this hooks into
- // T's own notion of log(2) which will hopefully be accurate to the full precision
- // of T:
- //
- BOOST_MATH_STD_USING
- return log(static_cast<T>(2));
-}
-
-template <class T>
-template<int N>
-inline T constant_ln_ten<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- BOOST_MATH_STD_USING
- return log(static_cast<T>(10));
-}
-
-template <class T>
-template<int N>
-inline T constant_ln_ln_two<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- BOOST_MATH_STD_USING
- return log(log(static_cast<T>(2)));
-}
-
-template <class T>
-template<int N>
-inline T constant_third<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- BOOST_MATH_STD_USING
- return static_cast<T>(1) / static_cast<T>(3);
-}
-
-template <class T>
-template<int N>
-inline T constant_twothirds<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- BOOST_MATH_STD_USING
- return static_cast<T>(2) / static_cast<T>(3);
-}
-
-template <class T>
-template<int N>
-inline T constant_two_thirds<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- BOOST_MATH_STD_USING
- return static_cast<T>(2) / static_cast<T>(3);
-}
-
-template <class T>
-template<int N>
-inline T constant_three_quarters<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- BOOST_MATH_STD_USING
- return static_cast<T>(3) / static_cast<T>(4);
-}
-
-template <class T>
-template<int N>
-inline T constant_pi_minus_three<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- return pi<T, policies::policy<policies::digits2<N> > >() - static_cast<T>(3);
-}
-
-template <class T>
-template<int N>
-inline T constant_four_minus_pi<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- return static_cast<T>(4) - pi<T, policies::policy<policies::digits2<N> > >();
-}
-
-template <class T>
-template<int N>
-inline T constant_pow23_four_minus_pi<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- BOOST_MATH_STD_USING
- return pow(four_minus_pi<T, policies::policy<policies::digits2<N> > >(), static_cast<T>(1.5));
-}
-
-template <class T>
-template<int N>
-inline T constant_exp_minus_half<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- BOOST_MATH_STD_USING
- return exp(static_cast<T>(-0.5));
-}
-
-// Pi
-template <class T>
-template<int N>
-inline T constant_one_div_root_two<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- return static_cast<T>(1) / root_two<T, policies::policy<policies::digits2<N> > >();
-}
-
-template <class T>
-template<int N>
-inline T constant_one_div_root_pi<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- return static_cast<T>(1) / root_pi<T, policies::policy<policies::digits2<N> > >();
-}
-
-template <class T>
-template<int N>
-inline T constant_one_div_root_two_pi<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- return static_cast<T>(1) / root_two_pi<T, policies::policy<policies::digits2<N> > >();
-}
-
-template <class T>
-template<int N>
-inline T constant_root_one_div_pi<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- BOOST_MATH_STD_USING
- return sqrt(static_cast<T>(1) / pi<T, policies::policy<policies::digits2<N> > >());
-}
-
-
-template <class T>
-template<int N>
-inline T constant_four_thirds_pi<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- BOOST_MATH_STD_USING
- return pi<T, policies::policy<policies::digits2<N> > >() * static_cast<T>(4) / static_cast<T>(3);
-}
-
-template <class T>
-template<int N>
-inline T constant_half_pi<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- BOOST_MATH_STD_USING
- return pi<T, policies::policy<policies::digits2<N> > >() / static_cast<T>(2);
-}
-
-
-template <class T>
-template<int N>
-inline T constant_third_pi<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- BOOST_MATH_STD_USING
- return pi<T, policies::policy<policies::digits2<N> > >() / static_cast<T>(3);
-}
-
-template <class T>
-template<int N>
-inline T constant_sixth_pi<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- BOOST_MATH_STD_USING
- return pi<T, policies::policy<policies::digits2<N> > >() / static_cast<T>(6);
-}
-
-template <class T>
-template<int N>
-inline T constant_two_thirds_pi<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- BOOST_MATH_STD_USING
- return pi<T, policies::policy<policies::digits2<N> > >() * static_cast<T>(2) / static_cast<T>(3);
-}
-
-template <class T>
-template<int N>
-inline T constant_three_quarters_pi<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- BOOST_MATH_STD_USING
- return pi<T, policies::policy<policies::digits2<N> > >() * static_cast<T>(3) / static_cast<T>(4);
-}
-
-template <class T>
-template<int N>
-inline T constant_pi_pow_e<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- BOOST_MATH_STD_USING
- return pow(pi<T, policies::policy<policies::digits2<N> > >(), e<T, policies::policy<policies::digits2<N> > >()); //
-}
-
-template <class T>
-template<int N>
-inline T constant_pi_sqr<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- BOOST_MATH_STD_USING
- return pi<T, policies::policy<policies::digits2<N> > >()
- * pi<T, policies::policy<policies::digits2<N> > >() ; //
-}
-
-template <class T>
-template<int N>
-inline T constant_pi_sqr_div_six<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- BOOST_MATH_STD_USING
- return pi<T, policies::policy<policies::digits2<N> > >()
- * pi<T, policies::policy<policies::digits2<N> > >()
- / static_cast<T>(6); //
-}
-
-
-template <class T>
-template<int N>
-inline T constant_pi_cubed<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- BOOST_MATH_STD_USING
- return pi<T, policies::policy<policies::digits2<N> > >()
- * pi<T, policies::policy<policies::digits2<N> > >()
- * pi<T, policies::policy<policies::digits2<N> > >()
- ; //
-}
-
-template <class T>
-template<int N>
-inline T constant_cbrt_pi<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- BOOST_MATH_STD_USING
- return pow(pi<T, policies::policy<policies::digits2<N> > >(), static_cast<T>(1)/ static_cast<T>(3));
-}
-
-template <class T>
-template<int N>
-inline T constant_one_div_cbrt_pi<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- BOOST_MATH_STD_USING
- return static_cast<T>(1)
- / pow(pi<T, policies::policy<policies::digits2<N> > >(), static_cast<T>(1)/ static_cast<T>(3));
-}
-
-// Euler's e
-
-template <class T>
-template<int N>
-inline T constant_e_pow_pi<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- BOOST_MATH_STD_USING
- return pow(e<T, policies::policy<policies::digits2<N> > >(), pi<T, policies::policy<policies::digits2<N> > >()); //
-}
-
-template <class T>
-template<int N>
-inline T constant_root_e<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- BOOST_MATH_STD_USING
- return sqrt(e<T, policies::policy<policies::digits2<N> > >());
-}
-
-template <class T>
-template<int N>
-inline T constant_log10_e<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- BOOST_MATH_STD_USING
- return log10(e<T, policies::policy<policies::digits2<N> > >());
-}
-
-template <class T>
-template<int N>
-inline T constant_one_div_log10_e<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- BOOST_MATH_STD_USING
- return static_cast<T>(1) /
- log10(e<T, policies::policy<policies::digits2<N> > >());
-}
-
-// Trigonometric
-
-template <class T>
-template<int N>
-inline T constant_degree<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- BOOST_MATH_STD_USING
- return pi<T, policies::policy<policies::digits2<N> > >()
- / static_cast<T>(180)
- ; //
-}
-
-template <class T>
-template<int N>
-inline T constant_radian<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- BOOST_MATH_STD_USING
- return static_cast<T>(180)
- / pi<T, policies::policy<policies::digits2<N> > >()
- ; //
-}
-
-template <class T>
-template<int N>
-inline T constant_sin_one<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- BOOST_MATH_STD_USING
- return sin(static_cast<T>(1)) ; //
-}
-
-template <class T>
-template<int N>
-inline T constant_cos_one<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- BOOST_MATH_STD_USING
- return cos(static_cast<T>(1)) ; //
-}
-
-template <class T>
-template<int N>
-inline T constant_sinh_one<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- BOOST_MATH_STD_USING
- return sinh(static_cast<T>(1)) ; //
-}
-
-template <class T>
-template<int N>
-inline T constant_cosh_one<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- BOOST_MATH_STD_USING
- return cosh(static_cast<T>(1)) ; //
-}
-
-template <class T>
-template<int N>
-inline T constant_phi<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- BOOST_MATH_STD_USING
- return (static_cast<T>(1) + sqrt(static_cast<T>(5)) )/static_cast<T>(2) ; //
-}
-
-template <class T>
-template<int N>
-inline T constant_ln_phi<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- BOOST_MATH_STD_USING
- //return log(phi<T, policies::policy<policies::digits2<N> > >()); // ???
- return log((static_cast<T>(1) + sqrt(static_cast<T>(5)) )/static_cast<T>(2) );
-}
-template <class T>
-template<int N>
-inline T constant_one_div_ln_phi<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- BOOST_MATH_STD_USING
- return static_cast<T>(1) /
- log((static_cast<T>(1) + sqrt(static_cast<T>(5)) )/static_cast<T>(2) );
-}
-
-// Zeta
-
-template <class T>
-template<int N>
-inline T constant_zeta_two<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- BOOST_MATH_STD_USING
-
- return pi<T, policies::policy<policies::digits2<N> > >()
- * pi<T, policies::policy<policies::digits2<N> > >()
- /static_cast<T>(6);
-}
-
-template <class T>
-template<int N>
-inline T constant_zeta_three<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- // http://mathworld.wolfram.com/AperysConstant.html
- // http://en.wikipedia.org/wiki/Mathematical_constant
-
- // http://oeis.org/A002117/constant
- //T zeta3("1.20205690315959428539973816151144999076"
- // "4986292340498881792271555341838205786313"
- // "09018645587360933525814619915");
-
- //"1.202056903159594285399738161511449990, 76498629234049888179227155534183820578631309018645587360933525814619915" A002117
- // 1.202056903159594285399738161511449990, 76498629234049888179227155534183820578631309018645587360933525814619915780, +00);
- //"1.2020569031595942 double
- // http://www.spaennare.se/SSPROG/ssnum.pdf // section 11, Algorithm for Apery's constant zeta(3).
- // Programs to Calculate some Mathematical Constants to Large Precision, Document Version 1.50
-
- // by Stefan Spannare September 19, 2007
- // zeta(3) = 1/64 * sum
- BOOST_MATH_STD_USING
- T n_fact=static_cast<T>(1); // build n! for n = 0.
- T sum = static_cast<double>(77); // Start with n = 0 case.
- // for n = 0, (77/1) /64 = 1.203125
- //double lim = std::numeric_limits<double>::epsilon();
- T lim = N ? ldexp(T(1), 1 - (std::min)(N, tools::digits<T>())) : tools::epsilon<T>();
- for(unsigned int n = 1; n < 40; ++n)
- { // three to five decimal digits per term, so 40 should be plenty for 100 decimal digits.
- //cout << "n = " << n << endl;
- n_fact *= n; // n!
- T n_fact_p10 = n_fact * n_fact * n_fact * n_fact * n_fact * n_fact * n_fact * n_fact * n_fact * n_fact; // (n!)^10
- T num = ((205 * n * n) + (250 * n) + 77) * n_fact_p10; // 205n^2 + 250n + 77
- // int nn = (2 * n + 1);
- // T d = factorial(nn); // inline factorial.
- T d = 1;
- for(unsigned int i = 1; i <= (n+n + 1); ++i) // (2n + 1)
- {
- d *= i;
- }
- T den = d * d * d * d * d; // [(2n+1)!]^5
- //cout << "den = " << den << endl;
- T term = num/den;
- if (n % 2 != 0)
- { //term *= -1;
- sum -= term;
- }
- else
- {
- sum += term;
- }
- //cout << "term = " << term << endl;
- //cout << "sum/64 = " << sum/64 << endl;
- if(abs(term) < lim)
- {
- break;
- }
- }
- return sum / 64;
-}
-
-template <class T>
-template<int N>
-inline T constant_catalan<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{ // http://oeis.org/A006752/constant
- //T c("0.915965594177219015054603514932384110774"
- //"149374281672134266498119621763019776254769479356512926115106248574");
-
- // 9.159655941772190150546035149323841107, 74149374281672134266498119621763019776254769479356512926115106248574422619, -01);
-
- // This is equation (entry) 31 from
- // http://www-2.cs.cmu.edu/~adamchik/articles/catalan/catalan.htm
- // See also http://www.mpfr.org/algorithms.pdf
- BOOST_MATH_STD_USING
- T k_fact = 1;
- T tk_fact = 1;
- T sum = 1;
- T term;
- T lim = N ? ldexp(T(1), 1 - (std::min)(N, tools::digits<T>())) : tools::epsilon<T>();
-
- for(unsigned k = 1;; ++k)
- {
- k_fact *= k;
- tk_fact *= (2 * k) * (2 * k - 1);
- term = k_fact * k_fact / (tk_fact * (2 * k + 1) * (2 * k + 1));
- sum += term;
- if(term < lim)
- {
- break;
- }
- }
- return boost::math::constants::pi<T, boost::math::policies::policy<> >()
- * log(2 + boost::math::constants::root_three<T, boost::math::policies::policy<> >())
- / 8
- + 3 * sum / 8;
-}
-
-namespace khinchin_detail{
-
-template <class T>
-T zeta_polynomial_series(T s, T sc, int digits)
-{
- BOOST_MATH_STD_USING
- //
- // This is algorithm 3 from:
- //
- // "An Efficient Algorithm for the Riemann Zeta Function", P. Borwein,
- // Canadian Mathematical Society, Conference Proceedings, 2000.
- // See: http://www.cecm.sfu.ca/personal/pborwein/PAPERS/P155.pdf
- //
- BOOST_MATH_STD_USING
- int n = (digits * 19) / 53;
- T sum = 0;
- T two_n = ldexp(T(1), n);
- int ej_sign = 1;
- for(int j = 0; j < n; ++j)
- {
- sum += ej_sign * -two_n / pow(T(j + 1), s);
- ej_sign = -ej_sign;
- }
- T ej_sum = 1;
- T ej_term = 1;
- for(int j = n; j <= 2 * n - 1; ++j)
- {
- sum += ej_sign * (ej_sum - two_n) / pow(T(j + 1), s);
- ej_sign = -ej_sign;
- ej_term *= 2 * n - j;
- ej_term /= j - n + 1;
- ej_sum += ej_term;
- }
- return -sum / (two_n * (1 - pow(T(2), sc)));
-}
-
-template <class T>
-T khinchin(int digits)
-{
- BOOST_MATH_STD_USING
- T sum = 0;
- T term;
- T lim = ldexp(T(1), 1-digits);
- T factor = 0;
- unsigned last_k = 1;
- T num = 1;
- for(unsigned n = 1;; ++n)
- {
- for(unsigned k = last_k; k <= 2 * n - 1; ++k)
- {
- factor += num / k;
- num = -num;
- }
- last_k = 2 * n;
- term = (zeta_polynomial_series(T(2 * n), T(1 - T(2 * n)), digits) - 1) * factor / n;
- sum += term;
- if(term < lim)
- break;
- }
- return exp(sum / boost::math::constants::ln_two<T, boost::math::policies::policy<> >());
-}
-
-}
-
-template <class T>
-template<int N>
-inline T constant_khinchin<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
- int n = N ? (std::min)(N, tools::digits<T>()) : tools::digits<T>();
- return khinchin_detail::khinchin<T>(n);
-}
-
-template <class T>
-template<int N>
-inline T constant_extreme_value_skewness<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{ // from e_float constants.cpp
- // Mathematica: N[12 Sqrt[6] Zeta[3]/Pi^3, 1101]
- BOOST_MATH_STD_USING
- T ev(12 * sqrt(static_cast<T>(6)) * zeta_three<T, policies::policy<policies::digits2<N> > >()
- / pi_cubed<T, policies::policy<policies::digits2<N> > >() );
-
-//T ev(
-//"1.1395470994046486574927930193898461120875997958365518247216557100852480077060706857071875468869385150"
-//"1894272048688553376986765366075828644841024041679714157616857834895702411080704529137366329462558680"
-//"2015498788776135705587959418756809080074611906006528647805347822929577145038743873949415294942796280"
-//"0895597703063466053535550338267721294164578901640163603544404938283861127819804918174973533694090594"
-//"3094963822672055237678432023017824416203652657301470473548274848068762500300316769691474974950757965"
-//"8640779777748741897542093874605477776538884083378029488863880220988107155275203245233994097178778984"
-//"3488995668362387892097897322246698071290011857605809901090220903955815127463328974447572119951192970"
-//"3684453635456559086126406960279692862247058250100678008419431185138019869693206366891639436908462809"
-//"9756051372711251054914491837034685476095423926553367264355374652153595857163724698198860485357368964"
-//"3807049634423621246870868566707915720704996296083373077647528285782964567312903914752617978405994377"
-//"9064157147206717895272199736902453130842229559980076472936976287378945035706933650987259357729800315");
-
- return ev;
-}
-
-namespace detail{
-//
-// Calculation of the Glaisher constant depends upon calculating the
-// derivative of the zeta function at 2, we can then use the relation:
-// zeta'(2) = 1/6 pi^2 [euler + ln(2pi)-12ln(A)]
-// To get the constant A.
-// See equation 45 at http://mathworld.wolfram.com/RiemannZetaFunction.html.
-//
-// The derivative of the zeta function is computed by direct differentiation
-// of the relation:
-// (1-2^(1-s))zeta(s) = SUM(n=0, INF){ (-n)^n / (n+1)^s }
-// Which gives us 2 slowly converging but alternating sums to compute,
-// for this we use Algorithm 1 from "Convergent Acceleration of Alternating Series",
-// Henri Cohen, Fernando Rodriguez Villegas and Don Zagier, Experimental Mathematics 9:1 (1999).
-// See http://www.math.utexas.edu/users/villegas/publications/conv-accel.pdf
-//
-template <class T>
-T zeta_series_derivative_2(unsigned digits)
-{
- // Derivative of the series part, evaluated at 2:
- BOOST_MATH_STD_USING
- int n = digits * 301 * 13 / 10000;
- boost::math::itrunc((std::numeric_limits<T>::digits10 + 1) * 1.3);
- T d = pow(3 + sqrt(T(8)), n);
- d = (d + 1 / d) / 2;
- T b = -1;
- T c = -d;
- T s = 0;
- for(int k = 0; k < n; ++k)
- {
- T a = -log(T(k+1)) / ((k+1) * (k+1));
- c = b - c;
- s = s + c * a;
- b = (k + n) * (k - n) * b / ((k + T(0.5f)) * (k + 1));
- }
- return s / d;
-}
-
-template <class T>
-T zeta_series_2(unsigned digits)
-{
- // Series part of zeta at 2:
- BOOST_MATH_STD_USING
- int n = digits * 301 * 13 / 10000;
- T d = pow(3 + sqrt(T(8)), n);
- d = (d + 1 / d) / 2;
- T b = -1;
- T c = -d;
- T s = 0;
- for(int k = 0; k < n; ++k)
- {
- T a = T(1) / ((k + 1) * (k + 1));
- c = b - c;
- s = s + c * a;
- b = (k + n) * (k - n) * b / ((k + T(0.5f)) * (k + 1));
- }
- return s / d;
-}
-
-template <class T>
-inline T zeta_series_lead_2()
-{
- // lead part at 2:
- return 2;
-}
-
-template <class T>
-inline T zeta_series_derivative_lead_2()
-{
- // derivative of lead part at 2:
- return -2 * boost::math::constants::ln_two<T>();
-}
-
-template <class T>
-inline T zeta_derivative_2(unsigned n)
-{
- // zeta derivative at 2:
- return zeta_series_derivative_2<T>(n) * zeta_series_lead_2<T>()
- + zeta_series_derivative_lead_2<T>() * zeta_series_2<T>(n);
-}
-
-} // namespace detail
-
-template <class T>
-template<int N>
-inline T constant_glaisher<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{
-
- BOOST_MATH_STD_USING
- typedef policies::policy<policies::digits2<N> > forwarding_policy;
- int n = N ? (std::min)(N, tools::digits<T>()) : tools::digits<T>();
- T v = detail::zeta_derivative_2<T>(n);
- v *= 6;
- v /= boost::math::constants::pi<T, forwarding_policy>() * boost::math::constants::pi<T, forwarding_policy>();
- v -= boost::math::constants::euler<T, forwarding_policy>();
- v -= log(2 * boost::math::constants::pi<T, forwarding_policy>());
- v /= -12;
- return exp(v);
-
- /*
- // from http://mpmath.googlecode.com/svn/data/glaisher.txt
- // 20,000 digits of the Glaisher-Kinkelin constant A = exp(1/2 - zeta'(-1))
- // Computed using A = exp((6 (-zeta'(2))/pi^2 + log 2 pi + gamma)/12)
- // with Euler-Maclaurin summation for zeta'(2).
- T g(
- "1.282427129100622636875342568869791727767688927325001192063740021740406308858826"
- "46112973649195820237439420646120399000748933157791362775280404159072573861727522"
- "14334327143439787335067915257366856907876561146686449997784962754518174312394652"
- "76128213808180219264516851546143919901083573730703504903888123418813674978133050"
- "93770833682222494115874837348064399978830070125567001286994157705432053927585405"
- "81731588155481762970384743250467775147374600031616023046613296342991558095879293"
- "36343887288701988953460725233184702489001091776941712153569193674967261270398013"
- "52652668868978218897401729375840750167472114895288815996668743164513890306962645"
- "59870469543740253099606800842447417554061490189444139386196089129682173528798629"
- "88434220366989900606980888785849587494085307347117090132667567503310523405221054"
- "14176776156308191919997185237047761312315374135304725819814797451761027540834943"
- "14384965234139453373065832325673954957601692256427736926358821692159870775858274"
- "69575162841550648585890834128227556209547002918593263079373376942077522290940187");
-
- return g;
- */
-}
-
-template <class T>
-template<int N>
-inline T constant_rayleigh_skewness<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{ // From e_float
- // 1100 digits of the Rayleigh distribution skewness
- // Mathematica: N[2 Sqrt[Pi] (Pi - 3)/((4 - Pi)^(3/2)), 1100]
-
- BOOST_MATH_STD_USING
- T rs(2 * root_pi<T, policies::policy<policies::digits2<N> > >()
- * pi_minus_three<T, policies::policy<policies::digits2<N> > >()
- / pow(four_minus_pi<T, policies::policy<policies::digits2<N> > >(), static_cast<T>(3./2))
- );
- // 6.31110657818937138191899351544227779844042203134719497658094585692926819617473725459905027032537306794400047264,
-
- //"0.6311106578189371381918993515442277798440422031347194976580945856929268196174737254599050270325373067"
- //"9440004726436754739597525250317640394102954301685809920213808351450851396781817932734836994829371322"
- //"5797376021347531983451654130317032832308462278373358624120822253764532674177325950686466133508511968"
- //"2389168716630349407238090652663422922072397393006683401992961569208109477307776249225072042971818671"
- //"4058887072693437217879039875871765635655476241624825389439481561152126886932506682176611183750503553"
- //"1218982627032068396407180216351425758181396562859085306247387212297187006230007438534686340210168288"
- //"8956816965453815849613622117088096547521391672977226658826566757207615552041767516828171274858145957"
- //"6137539156656005855905288420585194082284972984285863898582313048515484073396332610565441264220790791"
- //"0194897267890422924599776483890102027823328602965235306539844007677157873140562950510028206251529523"
- //"7428049693650605954398446899724157486062545281504433364675815915402937209673727753199567661561209251"
- //"4695589950526053470201635372590001578503476490223746511106018091907936826431407434894024396366284848"); ;
- return rs;
-}
-
-template <class T>
-template<int N>
-inline T constant_rayleigh_kurtosis_excess<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{ // - (6 Pi^2 - 24 Pi + 16)/((Pi - 4)^2)
- // Might provide and calculate this using pi_minus_four.
- BOOST_MATH_STD_USING
- return - (((static_cast<T>(6) * pi<T, policies::policy<policies::digits2<N> > >()
- * pi<T, policies::policy<policies::digits2<N> > >())
- - (static_cast<T>(24) * pi<T, policies::policy<policies::digits2<N> > >()) + static_cast<T>(16) )
- /
- ((pi<T, policies::policy<policies::digits2<N> > >() - static_cast<T>(4))
- * (pi<T, policies::policy<policies::digits2<N> > >() - static_cast<T>(4)))
- );
-}
-
-template <class T>
-template<int N>
-inline T constant_rayleigh_kurtosis<T>::compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))
-{ // 3 - (6 Pi^2 - 24 Pi + 16)/((Pi - 4)^2)
- // Might provide and calculate this using pi_minus_four.
- BOOST_MATH_STD_USING
- return static_cast<T>(3) - (((static_cast<T>(6) * pi<T, policies::policy<policies::digits2<N> > >()
- * pi<T, policies::policy<policies::digits2<N> > >())
- - (static_cast<T>(24) * pi<T, policies::policy<policies::digits2<N> > >()) + static_cast<T>(16) )
- /
- ((pi<T, policies::policy<policies::digits2<N> > >() - static_cast<T>(4))
- * (pi<T, policies::policy<policies::digits2<N> > >() - static_cast<T>(4)))
- );
-}
-
-}}}} // namespaces
-
-#endif // BOOST_MATH_CALCULATE_CONSTANTS_CONSTANTS_INCLUDED
diff --git a/boost/math/constants/constants.hpp b/boost/math/constants/constants.hpp
deleted file mode 100644
index 7787092..0000000
--- a/boost/math/constants/constants.hpp
+++ /dev/null
@@ -1,334 +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 <boost/math/tools/config.hpp>
-#include <boost/math/policies/policy.hpp>
-#include <boost/math/tools/precision.hpp>
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4127 4701)
-#endif
-#ifndef BOOST_MATH_NO_LEXICAL_CAST
-#include <boost/lexical_cast.hpp>
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/type_traits/is_convertible.hpp>
-
-
-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
- };
-
- //
- // Max number of binary digits in the string representations
- // of our constants:
- //
- BOOST_STATIC_CONSTANT(int, max_string_digits = (101 * 1000L) / 301L);
-
- template <class Real, class Policy>
- struct construction_traits
- {
- private:
- typedef typename policies::precision<Real, Policy>::type t1;
- typedef typename policies::precision<float, Policy>::type t2;
- typedef typename policies::precision<double, Policy>::type t3;
- typedef typename policies::precision<long double, Policy>::type t4;
-#ifdef BOOST_MATH_USE_FLOAT128
- typedef mpl::int_<113> t5;
-#endif
- public:
- typedef typename mpl::if_<
- mpl::and_<boost::is_convertible<float, Real>, mpl::bool_< t1::value <= t2::value>, mpl::bool_<0 != t1::value> >,
- mpl::int_<construct_from_float>,
- typename mpl::if_<
- mpl::and_<boost::is_convertible<double, Real>, mpl::bool_< t1::value <= t3::value>, mpl::bool_<0 != t1::value> >,
- mpl::int_<construct_from_double>,
- typename mpl::if_<
- mpl::and_<boost::is_convertible<long double, Real>, mpl::bool_< t1::value <= t4::value>, mpl::bool_<0 != t1::value> >,
- mpl::int_<construct_from_long_double>,
-#ifdef BOOST_MATH_USE_FLOAT128
- typename mpl::if_<
- mpl::and_<boost::is_convertible<__float128, Real>, mpl::bool_< t1::value <= t5::value>, mpl::bool_<0 != t1::value> >,
- mpl::int_<construct_from_float128>,
- typename mpl::if_<
- mpl::and_<mpl::bool_< t1::value <= max_string_digits>, mpl::bool_<0 != t1::value> >,
- mpl::int_<construct_from_string>,
- mpl::int_<t1::value>
- >::type
- >::type
-#else
- typename mpl::if_<
- mpl::and_<mpl::bool_< t1::value <= max_string_digits>, mpl::bool_<0 != t1::value> >,
- mpl::int_<construct_from_string>,
- mpl::int_<t1::value>
- >::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)<T>);
-#else
-#define BOOST_MATH_CONSTANT_THREAD_HELPER(name, prefix)
-#endif
-
- namespace detail{
-
- template <class Real, class Policy = boost::math::policies::policy<> >
- struct constant_return
- {
- typedef typename construction_traits<Real, Policy>::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 <class Real>
- 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<Real>(p);
-#endif
- }
- template <class Real>
- const char* convert_from_string(const char* p, const mpl::true_&)
- {
- return p;
- }
-
- template <class T, const T& (*F)()>
- struct constant_initializer
- {
- static void force_instantiate()
- {
- init.force_instantiate();
- }
- private:
- struct initializer
- {
- initializer()
- {
- F();
- }
- void force_instantiate()const{}
- };
- static const initializer init;
- };
-
- template <class T, const T& (*F)()>
- typename constant_initializer<T, F>::initializer const constant_initializer<T, F>::init;
-
- template <class T, int N, const T& (*F)(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>) 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 <class T, int N, const T& (*F)(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>) BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(T))>
- typename constant_initializer2<T, N, F>::initializer const constant_initializer2<T, N, F>::init;
-
- }
-
-#ifdef BOOST_MATH_USE_FLOAT128
-# define BOOST_MATH_FLOAT128_CONSTANT_OVERLOAD(x) \
- static inline BOOST_CONSTEXPR T get(const mpl::int_<construct_from_float128>&)\
- { 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 <class T> struct BOOST_JOIN(constant_, name){\
- private:\
- /* The default implementations come next: */ \
- static inline const T& get_from_string()\
- {\
- static const T result = convert_from_string<T>(y, boost::is_convertible<const char*, T>());\
- return result;\
- }\
- /* This one is for very high precision that is none the less known at compile time: */ \
- template <int N> static T compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>));\
- template <int N> static inline const T& get_from_compute(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(mpl::int_<N>))\
- {\
- static const T result = compute<N>();\
- return result;\
- }\
- /* public getters come next */\
- public:\
- static inline const T& get(const mpl::int_<construct_from_string>&)\
- {\
- constant_initializer<T, & BOOST_JOIN(constant_, name)<T>::get_from_string >::force_instantiate();\
- return get_from_string();\
- }\
- static inline BOOST_CONSTEXPR T get(const mpl::int_<construct_from_float>)\
- { return BOOST_JOIN(x, F); }\
- static inline BOOST_CONSTEXPR T get(const mpl::int_<construct_from_double>&)\
- { return x; }\
- static inline BOOST_CONSTEXPR T get(const mpl::int_<construct_from_long_double>&)\
- { return BOOST_JOIN(x, L); }\
- BOOST_MATH_FLOAT128_CONSTANT_OVERLOAD(x) \
- template <int N> static inline const T& get(const mpl::int_<N>&)\
- {\
- constant_initializer2<T, N, & BOOST_JOIN(constant_, name)<T>::template get_from_compute<N> >::force_instantiate();\
- return get_from_compute<N>(); \
- }\
- /* This one is for true arbitary precision, which may well vary at runtime: */ \
- static inline T get(const mpl::int_<0>&)\
- { return tools::digits<T>() > max_string_digits ? compute<0>() : get(mpl::int_<construct_from_string>()); }\
- }; /* end of struct */\
- } /* namespace detail */ \
- \
- \
- /* The actual forwarding function: */ \
- template <class T, class Policy> inline BOOST_CONSTEXPR typename detail::constant_return<T, Policy>::type name(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(T) BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(Policy))\
- { return detail:: BOOST_JOIN(constant_, name)<T>::get(typename construction_traits<T, Policy>::type()); }\
- template <class T> inline BOOST_CONSTEXPR typename detail::constant_return<T>::type name(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(T))\
- { return name<T, boost::math::policies::policy<> >(); }\
- \
- \
- /* 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 <boost/math/constants/calculate_constants.hpp>
-
-#endif // BOOST_MATH_CONSTANTS_CONSTANTS_INCLUDED
-
-
diff --git a/boost/math/distributions/complement.hpp b/boost/math/distributions/complement.hpp
deleted file mode 100644
index 26d0d49..0000000
--- a/boost/math/distributions/complement.hpp
+++ /dev/null
@@ -1,195 +0,0 @@
-// (C) Copyright John Maddock 2006.
-// (C) Copyright Paul A. Bristow 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_STATS_COMPLEMENT_HPP
-#define BOOST_STATS_COMPLEMENT_HPP
-
-//
-// This code really defines our own tuple type.
-// It would be nice to reuse boost::math::tuple
-// while retaining our own type safety, but it's
-// not clear if that's possible. In any case this
-// code is *very* lightweight.
-//
-namespace boost{ namespace math{
-
-template <class Dist, class RealType>
-struct complemented2_type
-{
- complemented2_type(
- const Dist& d,
- const RealType& p1)
- : dist(d),
- param(p1) {}
-
- const Dist& dist;
- const RealType& param;
-
-private:
- complemented2_type& operator=(const complemented2_type&);
-};
-
-template <class Dist, class RealType1, class RealType2>
-struct complemented3_type
-{
- complemented3_type(
- const Dist& d,
- const RealType1& p1,
- const RealType2& p2)
- : dist(d),
- param1(p1),
- param2(p2) {}
-
- const Dist& dist;
- const RealType1& param1;
- const RealType2& param2;
-private:
- complemented3_type& operator=(const complemented3_type&);
-};
-
-template <class Dist, class RealType1, class RealType2, class RealType3>
-struct complemented4_type
-{
- complemented4_type(
- const Dist& d,
- const RealType1& p1,
- const RealType2& p2,
- const RealType3& p3)
- : dist(d),
- param1(p1),
- param2(p2),
- param3(p3) {}
-
- const Dist& dist;
- const RealType1& param1;
- const RealType2& param2;
- const RealType3& param3;
-private:
- complemented4_type& operator=(const complemented4_type&);
-};
-
-template <class Dist, class RealType1, class RealType2, class RealType3, class RealType4>
-struct complemented5_type
-{
- complemented5_type(
- const Dist& d,
- const RealType1& p1,
- const RealType2& p2,
- const RealType3& p3,
- const RealType4& p4)
- : dist(d),
- param1(p1),
- param2(p2),
- param3(p3),
- param4(p4) {}
-
- const Dist& dist;
- const RealType1& param1;
- const RealType2& param2;
- const RealType3& param3;
- const RealType4& param4;
-private:
- complemented5_type& operator=(const complemented5_type&);
-};
-
-template <class Dist, class RealType1, class RealType2, class RealType3, class RealType4, class RealType5>
-struct complemented6_type
-{
- complemented6_type(
- const Dist& d,
- const RealType1& p1,
- const RealType2& p2,
- const RealType3& p3,
- const RealType4& p4,
- const RealType5& p5)
- : dist(d),
- param1(p1),
- param2(p2),
- param3(p3),
- param4(p4),
- param5(p5) {}
-
- const Dist& dist;
- const RealType1& param1;
- const RealType2& param2;
- const RealType3& param3;
- const RealType4& param4;
- const RealType5& param5;
-private:
- complemented6_type& operator=(const complemented6_type&);
-};
-
-template <class Dist, class RealType1, class RealType2, class RealType3, class RealType4, class RealType5, class RealType6>
-struct complemented7_type
-{
- complemented7_type(
- const Dist& d,
- const RealType1& p1,
- const RealType2& p2,
- const RealType3& p3,
- const RealType4& p4,
- const RealType5& p5,
- const RealType6& p6)
- : dist(d),
- param1(p1),
- param2(p2),
- param3(p3),
- param4(p4),
- param5(p5),
- param6(p6) {}
-
- const Dist& dist;
- const RealType1& param1;
- const RealType2& param2;
- const RealType3& param3;
- const RealType4& param4;
- const RealType5& param5;
- const RealType6& param6;
-private:
- complemented7_type& operator=(const complemented7_type&);
-};
-
-template <class Dist, class RealType>
-inline complemented2_type<Dist, RealType> complement(const Dist& d, const RealType& r)
-{
- return complemented2_type<Dist, RealType>(d, r);
-}
-
-template <class Dist, class RealType1, class RealType2>
-inline complemented3_type<Dist, RealType1, RealType2> complement(const Dist& d, const RealType1& r1, const RealType2& r2)
-{
- return complemented3_type<Dist, RealType1, RealType2>(d, r1, r2);
-}
-
-template <class Dist, class RealType1, class RealType2, class RealType3>
-inline complemented4_type<Dist, RealType1, RealType2, RealType3> complement(const Dist& d, const RealType1& r1, const RealType2& r2, const RealType3& r3)
-{
- return complemented4_type<Dist, RealType1, RealType2, RealType3>(d, r1, r2, r3);
-}
-
-template <class Dist, class RealType1, class RealType2, class RealType3, class RealType4>
-inline complemented5_type<Dist, RealType1, RealType2, RealType3, RealType4> complement(const Dist& d, const RealType1& r1, const RealType2& r2, const RealType3& r3, const RealType4& r4)
-{
- return complemented5_type<Dist, RealType1, RealType2, RealType3, RealType4>(d, r1, r2, r3, r4);
-}
-
-template <class Dist, class RealType1, class RealType2, class RealType3, class RealType4, class RealType5>
-inline complemented6_type<Dist, RealType1, RealType2, RealType3, RealType4, RealType5> complement(const Dist& d, const RealType1& r1, const RealType2& r2, const RealType3& r3, const RealType4& r4, const RealType5& r5)
-{
- return complemented6_type<Dist, RealType1, RealType2, RealType3, RealType4, RealType5>(d, r1, r2, r3, r4, r5);
-}
-
-template <class Dist, class RealType1, class RealType2, class RealType3, class RealType4, class RealType5, class RealType6>
-inline complemented7_type<Dist, RealType1, RealType2, RealType3, RealType4, RealType5, RealType6> complement(const Dist& d, const RealType1& r1, const RealType2& r2, const RealType3& r3, const RealType4& r4, const RealType5& r5, const RealType6& r6)
-{
- return complemented7_type<Dist, RealType1, RealType2, RealType3, RealType4, RealType5, RealType6>(d, r1, r2, r3, r4, r5, r6);
-}
-
-} // namespace math
-} // namespace boost
-
-#endif // BOOST_STATS_COMPLEMENT_HPP
-
diff --git a/boost/math/distributions/detail/common_error_handling.hpp b/boost/math/distributions/detail/common_error_handling.hpp
deleted file mode 100644
index 91b06e6..0000000
--- a/boost/math/distributions/detail/common_error_handling.hpp
+++ /dev/null
@@ -1,194 +0,0 @@
-// Copyright John Maddock 2006, 2007.
-// Copyright Paul A. Bristow 2006, 2007, 2012.
-
-// 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_COMMON_ERROR_HANDLING_HPP
-#define BOOST_MATH_DISTRIBUTIONS_COMMON_ERROR_HANDLING_HPP
-
-#include <boost/math/policies/error_handling.hpp>
-#include <boost/math/special_functions/fpclassify.hpp>
-// using boost::math::isfinite;
-// using boost::math::isnan;
-
-namespace boost{ namespace math{ namespace detail
-{
-
-template <class RealType, class Policy>
-inline bool check_probability(const char* function, RealType const& prob, RealType* result, const Policy& pol)
-{
- if((prob < 0) || (prob > 1) || !(boost::math::isfinite)(prob))
- {
- *result = policies::raise_domain_error<RealType>(
- function,
- "Probability argument is %1%, but must be >= 0 and <= 1 !", prob, pol);
- return false;
- }
- return true;
-}
-
-template <class RealType, class Policy>
-inline bool check_df(const char* function, RealType const& df, RealType* result, const Policy& pol)
-{ // df > 0 but NOT +infinity allowed.
- if((df <= 0) || !(boost::math::isfinite)(df))
- {
- *result = policies::raise_domain_error<RealType>(
- function,
- "Degrees of freedom argument is %1%, but must be > 0 !", df, pol);
- return false;
- }
- return true;
-}
-
-template <class RealType, class Policy>
-inline bool check_df_gt0_to_inf(const char* function, RealType const& df, RealType* result, const Policy& pol)
-{ // df > 0 or +infinity are allowed.
- if( (df <= 0) || (boost::math::isnan)(df) )
- { // is bad df <= 0 or NaN or -infinity.
- *result = policies::raise_domain_error<RealType>(
- function,
- "Degrees of freedom argument is %1%, but must be > 0 !", df, pol);
- return false;
- }
- return true;
-} // check_df_gt0_to_inf
-
-
-template <class RealType, class Policy>
-inline bool check_scale(
- const char* function,
- RealType scale,
- RealType* result,
- const Policy& pol)
-{
- if((scale <= 0) || !(boost::math::isfinite)(scale))
- { // Assume scale == 0 is NOT valid for any distribution.
- *result = policies::raise_domain_error<RealType>(
- function,
- "Scale parameter is %1%, but must be > 0 !", scale, pol);
- return false;
- }
- return true;
-}
-
-template <class RealType, class Policy>
-inline bool check_location(
- const char* function,
- RealType location,
- RealType* result,
- const Policy& pol)
-{
- if(!(boost::math::isfinite)(location))
- {
- *result = policies::raise_domain_error<RealType>(
- function,
- "Location parameter is %1%, but must be finite!", location, pol);
- return false;
- }
- return true;
-}
-
-template <class RealType, class Policy>
-inline bool check_x(
- const char* function,
- RealType x,
- RealType* result,
- const Policy& pol)
-{
- // Note that this test catches both infinity and NaN.
- // Some distributions permit x to be infinite, so these must be tested 1st and return,
- // leaving this test to catch any NaNs.
- // See Normal, Logistic and Cauchy for example.
- if(!(boost::math::isfinite)(x))
- {
- *result = policies::raise_domain_error<RealType>(
- function,
- "Random variate x is %1%, but must be finite!", x, pol);
- return false;
- }
- return true;
-} // bool check_x
-
-template <class RealType, class Policy>
-inline bool check_x_gt0(
- const char* function,
- RealType x,
- RealType* result,
- const Policy& pol)
-{
- if(x <= 0)
- {
- *result = policies::raise_domain_error<RealType>(
- function,
- "Random variate x is %1%, but must be > 0!", x, pol);
- return false;
- }
-
- return true;
- // Note that this test catches both infinity and NaN.
- // Some special cases permit x to be infinite, so these must be tested 1st,
- // leaving this test to catch any NaNs. See Normal and cauchy for example.
-} // bool check_x_gt0
-
-template <class RealType, class Policy>
-inline bool check_positive_x(
- const char* function,
- RealType x,
- RealType* result,
- const Policy& pol)
-{
- if(!(boost::math::isfinite)(x) || (x < 0))
- {
- *result = policies::raise_domain_error<RealType>(
- function,
- "Random variate x is %1%, but must be finite and >= 0!", x, pol);
- return false;
- }
- return true;
- // Note that this test catches both infinity and NaN.
- // Some special cases permit x to be infinite, so these must be tested 1st,
- // leaving this test to catch any NaNs. see Normal and cauchy for example.
-}
-
-template <class RealType, class Policy>
-inline bool check_non_centrality(
- const char* function,
- RealType ncp,
- RealType* result,
- const Policy& pol)
-{
- if((ncp < 0) || !(boost::math::isfinite)(ncp))
- { // Assume scale == 0 is NOT valid for any distribution.
- *result = policies::raise_domain_error<RealType>(
- function,
- "Non centrality parameter is %1%, but must be > 0 !", ncp, pol);
- return false;
- }
- return true;
-}
-
-template <class RealType, class Policy>
-inline bool check_finite(
- const char* function,
- RealType x,
- RealType* result,
- const Policy& pol)
-{
- if(!(boost::math::isfinite)(x))
- { // Assume scale == 0 is NOT valid for any distribution.
- *result = policies::raise_domain_error<RealType>(
- function,
- "Parameter is %1%, but must be finite !", x, pol);
- return false;
- }
- return true;
-}
-
-} // namespace detail
-} // namespace math
-} // namespace boost
-
-#endif // BOOST_MATH_DISTRIBUTIONS_COMMON_ERROR_HANDLING_HPP
diff --git a/boost/math/distributions/detail/derived_accessors.hpp b/boost/math/distributions/detail/derived_accessors.hpp
deleted file mode 100644
index 00f5a93..0000000
--- a/boost/math/distributions/detail/derived_accessors.hpp
+++ /dev/null
@@ -1,163 +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_STATS_DERIVED_HPP
-#define BOOST_STATS_DERIVED_HPP
-
-// This file implements various common properties of distributions
-// that can be implemented in terms of other properties:
-// variance OR standard deviation (see note below),
-// hazard, cumulative hazard (chf), coefficient_of_variation.
-//
-// Note that while both variance and standard_deviation are provided
-// here, each distribution MUST SPECIALIZE AT LEAST ONE OF THESE
-// otherwise these two versions will just call each other over and over
-// until stack space runs out ...
-
-// Of course there may be more efficient means of implementing these
-// that are specific to a particular distribution, but these generic
-// versions give these properties "for free" with most distributions.
-//
-// In order to make use of this header, it must be included AT THE END
-// of the distribution header, AFTER the distribution and its core
-// property accessors have been defined: this is so that compilers
-// that implement 2-phase lookup and early-type-checking of templates
-// can find the definitions refered to herein.
-//
-
-#include <boost/type_traits/is_same.hpp>
-#include <boost/static_assert.hpp>
-
-#ifdef BOOST_MSVC
-# pragma warning(push)
-# pragma warning(disable: 4723) // potential divide by 0
-// Suppressing spurious warning in coefficient_of_variation
-#endif
-
-namespace boost{ namespace math{
-
-template <class Distribution>
-typename Distribution::value_type variance(const Distribution& dist);
-
-template <class Distribution>
-inline typename Distribution::value_type standard_deviation(const Distribution& dist)
-{
- BOOST_MATH_STD_USING // ADL of sqrt.
- return sqrt(variance(dist));
-}
-
-template <class Distribution>
-inline typename Distribution::value_type variance(const Distribution& dist)
-{
- typename Distribution::value_type result = standard_deviation(dist);
- return result * result;
-}
-
-template <class Distribution, class RealType>
-inline typename Distribution::value_type hazard(const Distribution& dist, const RealType& x)
-{ // hazard function
- // http://www.itl.nist.gov/div898/handbook/eda/section3/eda362.htm#HAZ
- typedef typename Distribution::value_type value_type;
- typedef typename Distribution::policy_type policy_type;
- value_type p = cdf(complement(dist, x));
- value_type d = pdf(dist, x);
- if(d > p * tools::max_value<value_type>())
- return policies::raise_overflow_error<value_type>(
- "boost::math::hazard(const Distribution&, %1%)", 0, policy_type());
- if(d == 0)
- {
- // This protects against 0/0, but is it the right thing to do?
- return 0;
- }
- return d / p;
-}
-
-template <class Distribution, class RealType>
-inline typename Distribution::value_type chf(const Distribution& dist, const RealType& x)
-{ // cumulative hazard function.
- // http://www.itl.nist.gov/div898/handbook/eda/section3/eda362.htm#HAZ
- BOOST_MATH_STD_USING
- return -log(cdf(complement(dist, x)));
-}
-
-template <class Distribution>
-inline typename Distribution::value_type coefficient_of_variation(const Distribution& dist)
-{
- typedef typename Distribution::value_type value_type;
- typedef typename Distribution::policy_type policy_type;
-
- using std::abs;
-
- value_type m = mean(dist);
- value_type d = standard_deviation(dist);
- if((abs(m) < 1) && (d > abs(m) * tools::max_value<value_type>()))
- { // Checks too that m is not zero,
- return policies::raise_overflow_error<value_type>("boost::math::coefficient_of_variation(const Distribution&, %1%)", 0, policy_type());
- }
- return d / m; // so MSVC warning on zerodivide is spurious, and suppressed.
-}
-//
-// Next follow overloads of some of the standard accessors with mixed
-// argument types. We just use a typecast to forward on to the "real"
-// implementation with all arguments of the same type:
-//
-template <class Distribution, class RealType>
-inline typename Distribution::value_type pdf(const Distribution& dist, const RealType& x)
-{
- typedef typename Distribution::value_type value_type;
- return pdf(dist, static_cast<value_type>(x));
-}
-template <class Distribution, class RealType>
-inline typename Distribution::value_type cdf(const Distribution& dist, const RealType& x)
-{
- typedef typename Distribution::value_type value_type;
- return cdf(dist, static_cast<value_type>(x));
-}
-template <class Distribution, class RealType>
-inline typename Distribution::value_type quantile(const Distribution& dist, const RealType& x)
-{
- typedef typename Distribution::value_type value_type;
- return quantile(dist, static_cast<value_type>(x));
-}
-/*
-template <class Distribution, class RealType>
-inline typename Distribution::value_type chf(const Distribution& dist, const RealType& x)
-{
- typedef typename Distribution::value_type value_type;
- return chf(dist, static_cast<value_type>(x));
-}
-*/
-template <class Distribution, class RealType>
-inline typename Distribution::value_type cdf(const complemented2_type<Distribution, RealType>& c)
-{
- typedef typename Distribution::value_type value_type;
- return cdf(complement(c.dist, static_cast<value_type>(c.param)));
-}
-
-template <class Distribution, class RealType>
-inline typename Distribution::value_type quantile(const complemented2_type<Distribution, RealType>& c)
-{
- typedef typename Distribution::value_type value_type;
- return quantile(complement(c.dist, static_cast<value_type>(c.param)));
-}
-
-template <class Dist>
-inline typename Dist::value_type median(const Dist& d)
-{ // median - default definition for those distributions for which a
- // simple closed form is not known,
- // and for which a domain_error and/or NaN generating function is NOT defined.
- typedef typename Dist::value_type value_type;
- return quantile(d, static_cast<value_type>(0.5f));
-}
-
-} // namespace math
-} // namespace boost
-
-
-#ifdef BOOST_MSVC
-# pragma warning(pop)
-#endif
-
-#endif // BOOST_STATS_DERIVED_HPP
diff --git a/boost/math/distributions/fwd.hpp b/boost/math/distributions/fwd.hpp
deleted file mode 100644
index 609dc3b..0000000
--- a/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 RealType, class Policy>
-class bernoulli_distribution;
-
-template <class RealType, class Policy>
-class beta_distribution;
-
-template <class RealType, class Policy>
-class binomial_distribution;
-
-template <class RealType, class Policy>
-class cauchy_distribution;
-
-template <class RealType, class Policy>
-class chi_squared_distribution;
-
-template <class RealType, class Policy>
-class exponential_distribution;
-
-template <class RealType, class Policy>
-class extreme_value_distribution;
-
-template <class RealType, class Policy>
-class fisher_f_distribution;
-
-template <class RealType, class Policy>
-class gamma_distribution;
-
-template <class RealType, class Policy>
-class geometric_distribution;
-
-template <class RealType, class Policy>
-class hypergeometric_distribution;
-
-template <class RealType, class Policy>
-class inverse_chi_squared_distribution;
-
-template <class RealType, class Policy>
-class inverse_gamma_distribution;
-
-template <class RealType, class Policy>
-class inverse_gaussian_distribution;
-
-template <class RealType, class Policy>
-class laplace_distribution;
-
-template <class RealType, class Policy>
-class logistic_distribution;
-
-template <class RealType, class Policy>
-class lognormal_distribution;
-
-template <class RealType, class Policy>
-class negative_binomial_distribution;
-
-template <class RealType, class Policy>
-class non_central_beta_distribution;
-
-template <class RealType, class Policy>
-class non_central_chi_squared_distribution;
-
-template <class RealType, class Policy>
-class non_central_f_distribution;
-
-template <class RealType, class Policy>
-class non_central_t_distribution;
-
-template <class RealType, class Policy>
-class normal_distribution;
-
-template <class RealType, class Policy>
-class pareto_distribution;
-
-template <class RealType, class Policy>
-class poisson_distribution;
-
-template <class RealType, class Policy>
-class rayleigh_distribution;
-
-template <class RealType, class Policy>
-class skew_normal_distribution;
-
-template <class RealType, class Policy>
-class students_t_distribution;
-
-template <class RealType, class Policy>
-class triangular_distribution;
-
-template <class RealType, class Policy>
-class uniform_distribution;
-
-template <class RealType, class Policy>
-class weibull_distribution;
-
-}} // namespaces
-
-#define BOOST_MATH_DECLARE_DISTRIBUTIONS(Type, Policy)\
- typedef boost::math::bernoulli_distribution<Type, Policy> bernoulli;\
- typedef boost::math::beta_distribution<Type, Policy> beta;\
- typedef boost::math::binomial_distribution<Type, Policy> binomial;\
- typedef boost::math::cauchy_distribution<Type, Policy> cauchy;\
- typedef boost::math::chi_squared_distribution<Type, Policy> chi_squared;\
- typedef boost::math::exponential_distribution<Type, Policy> exponential;\
- typedef boost::math::extreme_value_distribution<Type, Policy> extreme_value;\
- typedef boost::math::fisher_f_distribution<Type, Policy> fisher_f;\
- typedef boost::math::gamma_distribution<Type, Policy> gamma;\
- typedef boost::math::geometric_distribution<Type, Policy> geometric;\
- typedef boost::math::hypergeometric_distribution<Type, Policy> hypergeometric;\
- typedef boost::math::inverse_chi_squared_distribution<Type, Policy> inverse_chi_squared;\
- typedef boost::math::inverse_gaussian_distribution<Type, Policy> inverse_gaussian;\
- typedef boost::math::inverse_gamma_distribution<Type, Policy> inverse_gamma;\
- typedef boost::math::laplace_distribution<Type, Policy> laplace;\
- typedef boost::math::logistic_distribution<Type, Policy> logistic;\
- typedef boost::math::lognormal_distribution<Type, Policy> lognormal;\
- typedef boost::math::negative_binomial_distribution<Type, Policy> negative_binomial;\
- typedef boost::math::non_central_beta_distribution<Type, Policy> non_central_beta;\
- typedef boost::math::non_central_chi_squared_distribution<Type, Policy> non_central_chi_squared;\
- typedef boost::math::non_central_f_distribution<Type, Policy> non_central_f;\
- typedef boost::math::non_central_t_distribution<Type, Policy> non_central_t;\
- typedef boost::math::normal_distribution<Type, Policy> normal;\
- typedef boost::math::pareto_distribution<Type, Policy> pareto;\
- typedef boost::math::poisson_distribution<Type, Policy> poisson;\
- typedef boost::math::rayleigh_distribution<Type, Policy> rayleigh;\
- typedef boost::math::skew_normal_distribution<Type, Policy> skew_normal;\
- typedef boost::math::students_t_distribution<Type, Policy> students_t;\
- typedef boost::math::triangular_distribution<Type, Policy> triangular;\
- typedef boost::math::uniform_distribution<Type, Policy> uniform;\
- typedef boost::math::weibull_distribution<Type, Policy> weibull;
-
-#endif // BOOST_MATH_DISTRIBUTIONS_FWD_HPP
diff --git a/boost/math/distributions/normal.hpp b/boost/math/distributions/normal.hpp
deleted file mode 100644
index 7303967..0000000
--- a/boost/math/distributions/normal.hpp
+++ /dev/null
@@ -1,321 +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_NORMAL_HPP
-#define BOOST_STATS_NORMAL_HPP
-
-// http://en.wikipedia.org/wiki/Normal_distribution
-// http://www.itl.nist.gov/div898/handbook/eda/section3/eda3661.htm
-// Also:
-// Weisstein, Eric W. "Normal Distribution."
-// From MathWorld--A Wolfram Web Resource.
-// http://mathworld.wolfram.com/NormalDistribution.html
-
-#include <boost/math/distributions/fwd.hpp>
-#include <boost/math/special_functions/erf.hpp> // for erf/erfc.
-#include <boost/math/distributions/complement.hpp>
-#include <boost/math/distributions/detail/common_error_handling.hpp>
-
-#include <utility>
-
-namespace boost{ namespace math{
-
-template <class RealType = double, class Policy = policies::policy<> >
-class normal_distribution
-{
-public:
- typedef RealType value_type;
- typedef Policy policy_type;
-
- normal_distribution(RealType l_mean = 0, RealType sd = 1)
- : m_mean(l_mean), m_sd(sd)
- { // Default is a 'standard' normal distribution N01.
- static const char* function = "boost::math::normal_distribution<%1%>::normal_distribution";
-
- RealType result;
- detail::check_scale(function, sd, &result, Policy());
- detail::check_location(function, l_mean, &result, Policy());
- }
-
- RealType mean()const
- { // alias for location.
- return m_mean;
- }
-
- RealType standard_deviation()const
- { // alias for scale.
- return m_sd;
- }
-
- // Synonyms, provided to allow generic use of find_location and find_scale.
- RealType location()const
- { // location.
- return m_mean;
- }
- RealType scale()const
- { // scale.
- return m_sd;
- }
-
-private:
- //
- // Data members:
- //
- RealType m_mean; // distribution mean or location.
- RealType m_sd; // distribution standard deviation or scale.
-}; // class normal_distribution
-
-typedef normal_distribution<double> normal;
-
-template <class RealType, class Policy>
-inline const std::pair<RealType, RealType> range(const normal_distribution<RealType, Policy>& /*dist*/)
-{ // Range of permissible values for random variable x.
- if (std::numeric_limits<RealType>::has_infinity)
- {
- return std::pair<RealType, RealType>(-std::numeric_limits<RealType>::infinity(), std::numeric_limits<RealType>::infinity()); // - to + infinity.
- }
- else
- { // Can only use max_value.
- using boost::math::tools::max_value;
- return std::pair<RealType, RealType>(-max_value<RealType>(), max_value<RealType>()); // - to + max value.
- }
-}
-
-template <class RealType, class Policy>
-inline const std::pair<RealType, RealType> support(const normal_distribution<RealType, Policy>& /*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.
- if (std::numeric_limits<RealType>::has_infinity)
- {
- return std::pair<RealType, RealType>(-std::numeric_limits<RealType>::infinity(), std::numeric_limits<RealType>::infinity()); // - to + infinity.
- }
- else
- { // Can only use max_value.
- using boost::math::tools::max_value;
- return std::pair<RealType, RealType>(-max_value<RealType>(), max_value<RealType>()); // - to + max value.
- }
-}
-
-template <class RealType, class Policy>
-inline RealType pdf(const normal_distribution<RealType, Policy>& dist, const RealType& x)
-{
- BOOST_MATH_STD_USING // for ADL of std functions
-
- RealType sd = dist.standard_deviation();
- RealType mean = dist.mean();
-
- static const char* function = "boost::math::pdf(const normal_distribution<%1%>&, %1%)";
-
- RealType result = 0;
- if(false == detail::check_scale(function, sd, &result, Policy()))
- {
- return result;
- }
- if(false == detail::check_location(function, mean, &result, Policy()))
- {
- return result;
- }
- if((boost::math::isinf)(x))
- {
- return 0; // pdf + and - infinity is zero.
- }
- // Below produces MSVC 4127 warnings, so the above used instead.
- //if(std::numeric_limits<RealType>::has_infinity && abs(x) == std::numeric_limits<RealType>::infinity())
- //{ // pdf + and - infinity is zero.
- // return 0;
- //}
- if(false == detail::check_x(function, x, &result, Policy()))
- {
- return result;
- }
-
- RealType exponent = x - mean;
- exponent *= -exponent;
- exponent /= 2 * sd * sd;
-
- result = exp(exponent);
- result /= sd * sqrt(2 * constants::pi<RealType>());
-
- return result;
-} // pdf
-
-template <class RealType, class Policy>
-inline RealType cdf(const normal_distribution<RealType, Policy>& dist, const RealType& x)
-{
- BOOST_MATH_STD_USING // for ADL of std functions
-
- RealType sd = dist.standard_deviation();
- RealType mean = dist.mean();
- static const char* function = "boost::math::cdf(const normal_distribution<%1%>&, %1%)";
- RealType result = 0;
- if(false == detail::check_scale(function, sd, &result, Policy()))
- {
- return result;
- }
- if(false == detail::check_location(function, mean, &result, Policy()))
- {
- return result;
- }
- if((boost::math::isinf)(x))
- {
- if(x < 0) return 0; // -infinity
- return 1; // + infinity
- }
- // These produce MSVC 4127 warnings, so the above used instead.
- //if(std::numeric_limits<RealType>::has_infinity && x == std::numeric_limits<RealType>::infinity())
- //{ // cdf +infinity is unity.
- // return 1;
- //}
- //if(std::numeric_limits<RealType>::has_infinity && x == -std::numeric_limits<RealType>::infinity())
- //{ // cdf -infinity is zero.
- // return 0;
- //}
- if(false == detail::check_x(function, x, &result, Policy()))
- {
- return result;
- }
- RealType diff = (x - mean) / (sd * constants::root_two<RealType>());
- result = boost::math::erfc(-diff, Policy()) / 2;
- return result;
-} // cdf
-
-template <class RealType, class Policy>
-inline RealType quantile(const normal_distribution<RealType, Policy>& dist, const RealType& p)
-{
- BOOST_MATH_STD_USING // for ADL of std functions
-
- RealType sd = dist.standard_deviation();
- RealType mean = dist.mean();
- static const char* function = "boost::math::quantile(const normal_distribution<%1%>&, %1%)";
-
- RealType result = 0;
- if(false == detail::check_scale(function, sd, &result, Policy()))
- return result;
- if(false == detail::check_location(function, mean, &result, Policy()))
- return result;
- if(false == detail::check_probability(function, p, &result, Policy()))
- return result;
-
- result= boost::math::erfc_inv(2 * p, Policy());
- result = -result;
- result *= sd * constants::root_two<RealType>();
- result += mean;
- return result;
-} // quantile
-
-template <class RealType, class Policy>
-inline RealType cdf(const complemented2_type<normal_distribution<RealType, Policy>, RealType>& c)
-{
- BOOST_MATH_STD_USING // for ADL of std functions
-
- RealType sd = c.dist.standard_deviation();
- RealType mean = c.dist.mean();
- RealType x = c.param;
- static const char* function = "boost::math::cdf(const complement(normal_distribution<%1%>&), %1%)";
-
- RealType result = 0;
- if(false == detail::check_scale(function, sd, &result, Policy()))
- return result;
- if(false == detail::check_location(function, mean, &result, Policy()))
- return result;
- if((boost::math::isinf)(x))
- {
- if(x < 0) return 1; // cdf complement -infinity is unity.
- return 0; // cdf complement +infinity is zero
- }
- // These produce MSVC 4127 warnings, so the above used instead.
- //if(std::numeric_limits<RealType>::has_infinity && x == std::numeric_limits<RealType>::infinity())
- //{ // cdf complement +infinity is zero.
- // return 0;
- //}
- //if(std::numeric_limits<RealType>::has_infinity && x == -std::numeric_limits<RealType>::infinity())
- //{ // cdf complement -infinity is unity.
- // return 1;
- //}
- if(false == detail::check_x(function, x, &result, Policy()))
- return result;
-
- RealType diff = (x - mean) / (sd * constants::root_two<RealType>());
- result = boost::math::erfc(diff, Policy()) / 2;
- return result;
-} // cdf complement
-
-template <class RealType, class Policy>
-inline RealType quantile(const complemented2_type<normal_distribution<RealType, Policy>, RealType>& c)
-{
- BOOST_MATH_STD_USING // for ADL of std functions
-
- RealType sd = c.dist.standard_deviation();
- RealType mean = c.dist.mean();
- static const char* function = "boost::math::quantile(const complement(normal_distribution<%1%>&), %1%)";
- RealType result = 0;
- if(false == detail::check_scale(function, sd, &result, Policy()))
- return result;
- if(false == detail::check_location(function, mean, &result, Policy()))
- return result;
- RealType q = c.param;
- if(false == detail::check_probability(function, q, &result, Policy()))
- return result;
- result = boost::math::erfc_inv(2 * q, Policy());
- result *= sd * constants::root_two<RealType>();
- result += mean;
- return result;
-} // quantile
-
-template <class RealType, class Policy>
-inline RealType mean(const normal_distribution<RealType, Policy>& dist)
-{
- return dist.mean();
-}
-
-template <class RealType, class Policy>
-inline RealType standard_deviation(const normal_distribution<RealType, Policy>& dist)
-{
- return dist.standard_deviation();
-}
-
-template <class RealType, class Policy>
-inline RealType mode(const normal_distribution<RealType, Policy>& dist)
-{
- return dist.mean();
-}
-
-template <class RealType, class Policy>
-inline RealType median(const normal_distribution<RealType, Policy>& dist)
-{
- return dist.mean();
-}
-
-template <class RealType, class Policy>
-inline RealType skewness(const normal_distribution<RealType, Policy>& /*dist*/)
-{
- return 0;
-}
-
-template <class RealType, class Policy>
-inline RealType kurtosis(const normal_distribution<RealType, Policy>& /*dist*/)
-{
- return 3;
-}
-
-template <class RealType, class Policy>
-inline RealType kurtosis_excess(const normal_distribution<RealType, Policy>& /*dist*/)
-{
- return 0;
-}
-
-} // 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 <boost/math/distributions/detail/derived_accessors.hpp>
-
-#endif // BOOST_STATS_NORMAL_HPP
-
-
diff --git a/boost/math/policies/error_handling.hpp b/boost/math/policies/error_handling.hpp
deleted file mode 100644
index 96333d3..0000000
--- a/boost/math/policies/error_handling.hpp
+++ /dev/null
@@ -1,719 +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 <stdexcept>
-#include <iomanip>
-#include <string>
-#include <cerrno>
-#include <boost/config/no_tr1/complex.hpp>
-#include <boost/config/no_tr1/cmath.hpp>
-#include <stdexcept>
-#include <boost/math/tools/config.hpp>
-#include <boost/math/policies/policy.hpp>
-#include <boost/math/tools/precision.hpp>
-#include <boost/cstdint.hpp>
-#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 <boost/format.hpp>
-
-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 <class T>
-T user_domain_error(const char* function, const char* message, const T& val);
-template <class T>
-T user_pole_error(const char* function, const char* message, const T& val);
-template <class T>
-T user_overflow_error(const char* function, const char* message, const T& val);
-template <class T>
-T user_underflow_error(const char* function, const char* message, const T& val);
-template <class T>
-T user_denorm_error(const char* function, const char* message, const T& val);
-template <class T>
-T user_evaluation_error(const char* function, const char* message, const T& val);
-template <class T, class TargetType>
-T user_rounding_error(const char* function, const char* message, const T& val, const TargetType& t);
-template <class T>
-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 <class Formatter, class Group>
-inline std::string do_format(Formatter f, const Group& g)
-{
- return (f % g).str();
-}
-
-template <class E, class T>
-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 ");
- msg += (boost::format(function) % typeid(T).name()).str();
- msg += ": ";
- msg += message;
-
- E e(msg);
- boost::throw_exception(e);
-}
-
-template <class E, class T>
-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 ");
- msg += (boost::format(function) % typeid(T).name()).str();
- msg += ": ";
- msg += message;
-
- int prec = 2 + (boost::math::policies::digits<T, boost::math::policies::policy<> >() * 30103UL) / 100000UL;
- msg = do_format(boost::format(msg), boost::io::group(std::setprecision(prec), val));
-
- E e(msg);
- boost::throw_exception(e);
-}
-
-template <class T>
-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<std::domain_error, T>(function, message, val);
- // we never get here:
- return std::numeric_limits<T>::quiet_NaN();
-}
-
-template <class T>
-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<T>::quiet_NaN();
-}
-
-template <class T>
-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<T>::quiet_NaN();
-}
-
-template <class T>
-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 <class T>
-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 <class T>
-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 <class T>
-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 <class T>
-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 <class T>
-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<std::overflow_error, T>(function, message ? message : "numeric overflow");
- // We should never get here:
- return std::numeric_limits<T>::has_infinity ? std::numeric_limits<T>::infinity() : boost::math::tools::max_value<T>();
-}
-
-template <class T>
-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<std::overflow_error, T>(function, message ? message : "numeric overflow", val);
- // We should never get here:
- return std::numeric_limits<T>::has_infinity ? std::numeric_limits<T>::infinity() : boost::math::tools::max_value<T>();
-}
-
-template <class T>
-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<T>::has_infinity ? std::numeric_limits<T>::infinity() : boost::math::tools::max_value<T>();
-}
-
-template <class T>
-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<T>::has_infinity ? std::numeric_limits<T>::infinity() : boost::math::tools::max_value<T>();
-}
-
-template <class T>
-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<T>::infinity());
-}
-
-
-template <class T>
-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<std::underflow_error, T>(function, message ? message : "numeric underflow");
- // We should never get here:
- return 0;
-}
-
-template <class T>
-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 <class T>
-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 <class T>
-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 <class T>
-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<std::underflow_error, T>(function, message ? message : "denormalised result");
- // we never get here:
- return T(0);
-}
-
-template <class T>
-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 <class T>
-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 <class T>
-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 <class T>
-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<boost::math::evaluation_error, T>(function, message, val);
- // we never get here:
- return T(0);
-}
-
-template <class T>
-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 <class T>
-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 <class T>
-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 <class T, class TargetType>
-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<boost::math::rounding_error, T>(function, message, val);
- // we never get here:
- return TargetType(0);
-}
-
-template <class T, class TargetType>
-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<TargetType>::is_specialized);
- return val > 0 ? (std::numeric_limits<TargetType>::max)() : (std::numeric_limits<TargetType>::is_integer ? (std::numeric_limits<TargetType>::min)() : -(std::numeric_limits<TargetType>::max)());
-}
-
-template <class T, class TargetType>
-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<TargetType>::is_specialized);
- return val > 0 ? (std::numeric_limits<TargetType>::max)() : (std::numeric_limits<TargetType>::is_integer ? (std::numeric_limits<TargetType>::min)() : -(std::numeric_limits<TargetType>::max)());
-}
-
-template <class T, class TargetType>
-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 <class T, class R>
-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<std::domain_error, T>(function, message, val);
- // we never get here:
- return std::numeric_limits<T>::quiet_NaN();
-}
-
-template <class T, class R>
-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 <class T, class R>
-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 <class T, class R>
-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 <class T, class Policy>
-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 <class T, class Policy>
-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 <class T, class Policy>
-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<T>(
- function, message ? message : "Overflow Error",
- policy_type());
-}
-
-template <class T, class Policy>
-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 <class T, class Policy>
-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<T>(
- function, message ? message : "Underflow Error",
- policy_type());
-}
-
-template <class T, class Policy>
-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<T>(
- function, message ? message : "Denorm Error",
- val,
- policy_type());
-}
-
-template <class T, class Policy>
-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 <class T, class TargetType, class Policy>
-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 <class T, class R, class Policy>
-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 <class R, class T, class Policy>
-inline bool check_overflow(T val, R* result, const char* function, const Policy& pol)
-{
- BOOST_MATH_STD_USING
- if(fabs(val) > tools::max_value<R>())
- {
- *result = static_cast<R>(boost::math::policies::detail::raise_overflow_error<R>(function, 0, pol));
- return true;
- }
- return false;
-}
-template <class R, class T, class Policy>
-inline bool check_overflow(std::complex<T> val, R* result, const char* function, const Policy& pol)
-{
- typedef typename R::value_type r_type;
- r_type re, im;
- bool r = check_overflow<r_type>(val.real(), &re, function, pol);
- r = check_overflow<r_type>(val.imag(), &im, function, pol) || r;
- *result = R(re, im);
- return r;
-}
-template <class R, class T, class Policy>
-inline bool check_underflow(T val, R* result, const char* function, const Policy& pol)
-{
- if((val != 0) && (static_cast<R>(val) == 0))
- {
- *result = static_cast<R>(boost::math::policies::detail::raise_underflow_error<R>(function, 0, pol));
- return true;
- }
- return false;
-}
-template <class R, class T, class Policy>
-inline bool check_underflow(std::complex<T> val, R* result, const char* function, const Policy& pol)
-{
- typedef typename R::value_type r_type;
- r_type re, im;
- bool r = check_underflow<r_type>(val.real(), &re, function, pol);
- r = check_underflow<r_type>(val.imag(), &im, function, pol) || r;
- *result = R(re, im);
- return r;
-}
-template <class R, class T, class Policy>
-inline bool check_denorm(T val, R* result, const char* function, const Policy& pol)
-{
- BOOST_MATH_STD_USING
- if((fabs(val) < static_cast<T>(tools::min_value<R>())) && (static_cast<R>(val) != 0))
- {
- *result = static_cast<R>(boost::math::policies::detail::raise_denorm_error<R>(function, 0, static_cast<R>(val), pol));
- return true;
- }
- return false;
-}
-template <class R, class T, class Policy>
-inline bool check_denorm(std::complex<T> val, R* result, const char* function, const Policy& pol)
-{
- typedef typename R::value_type r_type;
- r_type re, im;
- bool r = check_denorm<r_type>(val.real(), &re, function, pol);
- r = check_denorm<r_type>(val.imag(), &im, function, pol) || r;
- *result = R(re, im);
- return r;
-}
-
-// Default instantiations with ignore_error policy.
-template <class R, class T>
-inline bool check_overflow(T /* val */, R* /* result */, const char* /* function */, const overflow_error<ignore_error>&){ return false; }
-template <class R, class T>
-inline bool check_overflow(std::complex<T> /* val */, R* /* result */, const char* /* function */, const overflow_error<ignore_error>&){ return false; }
-template <class R, class T>
-inline bool check_underflow(T /* val */, R* /* result */, const char* /* function */, const underflow_error<ignore_error>&){ return false; }
-template <class R, class T>
-inline bool check_underflow(std::complex<T> /* val */, R* /* result */, const char* /* function */, const underflow_error<ignore_error>&){ return false; }
-template <class R, class T>
-inline bool check_denorm(T /* val */, R* /* result*/, const char* /* function */, const denorm_error<ignore_error>&){ return false; }
-template <class R, class T>
-inline bool check_denorm(std::complex<T> /* val */, R* /* result*/, const char* /* function */, const denorm_error<ignore_error>&){ return false; }
-
-} // namespace detail
-
-template <class R, class Policy, class T>
-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<R>(val, &result, function, overflow_type()))
- return result;
- if(detail::check_underflow<R>(val, &result, function, underflow_type()))
- return result;
- if(detail::check_denorm<R>(val, &result, function, denorm_type()))
- return result;
-
- return static_cast<R>(val);
-}
-
-template <class T, class Policy>
-inline void check_series_iterations(const char* function, boost::uintmax_t max_iter, const Policy& pol)
-{
- if(max_iter >= policies::get_max_series_iterations<Policy>())
- raise_evaluation_error<T>(
- function,
- "Series evaluation exceeded %1% iterations, giving up now.", static_cast<T>(static_cast<double>(max_iter)), pol);
-}
-
-template <class T, class Policy>
-inline void check_root_iterations(const char* function, boost::uintmax_t max_iter, const Policy& pol)
-{
- if(max_iter >= policies::get_max_root_iterations<Policy>())
- raise_evaluation_error<T>(
- function,
- "Root finding evaluation exceeded %1% iterations, giving up now.", static_cast<T>(static_cast<double>(max_iter)), pol);
-}
-
-} //namespace policies
-
-#ifdef BOOST_MSVC
-# pragma warning(pop)
-#endif
-
-}} // namespaces boost/math
-
-#endif // BOOST_MATH_POLICY_ERROR_HANDLING_HPP
-
diff --git a/boost/math/policies/policy.hpp b/boost/math/policies/policy.hpp
deleted file mode 100644
index 24334c7..0000000
--- a/boost/math/policies/policy.hpp
+++ /dev/null
@@ -1,992 +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)
-
-#ifndef BOOST_MATH_POLICY_HPP
-#define BOOST_MATH_POLICY_HPP
-
-#include <boost/mpl/list.hpp>
-#include <boost/mpl/contains.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/find_if.hpp>
-#include <boost/mpl/remove_if.hpp>
-#include <boost/mpl/vector.hpp>
-#include <boost/mpl/push_back.hpp>
-#include <boost/mpl/at.hpp>
-#include <boost/mpl/size.hpp>
-#include <boost/mpl/comparison.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/assert.hpp>
-#include <boost/math/tools/config.hpp>
-#include <limits>
-// Sadly we do need the .h versions of these to be sure of getting
-// FLT_MANT_DIG etc.
-#include <limits.h>
-#include <stdlib.h>
-#include <stddef.h>
-#include <math.h>
-
-namespace boost{ namespace math{
-
-namespace tools{
-
-template <class T>
-int digits(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE(T));
-template <class T>
-T epsilon(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE(T));
-
-}
-
-namespace policies{
-
-//
-// Define macros for our default policies, if they're not defined already:
-//
-#ifndef BOOST_MATH_DOMAIN_ERROR_POLICY
-#define BOOST_MATH_DOMAIN_ERROR_POLICY throw_on_error
-#endif
-#ifndef BOOST_MATH_POLE_ERROR_POLICY
-#define BOOST_MATH_POLE_ERROR_POLICY throw_on_error
-#endif
-#ifndef BOOST_MATH_OVERFLOW_ERROR_POLICY
-#define BOOST_MATH_OVERFLOW_ERROR_POLICY throw_on_error
-#endif
-#ifndef BOOST_MATH_EVALUATION_ERROR_POLICY
-#define BOOST_MATH_EVALUATION_ERROR_POLICY throw_on_error
-#endif
-#ifndef BOOST_MATH_ROUNDING_ERROR_POLICY
-#define BOOST_MATH_ROUNDING_ERROR_POLICY throw_on_error
-#endif
-#ifndef BOOST_MATH_UNDERFLOW_ERROR_POLICY
-#define BOOST_MATH_UNDERFLOW_ERROR_POLICY ignore_error
-#endif
-#ifndef BOOST_MATH_DENORM_ERROR_POLICY
-#define BOOST_MATH_DENORM_ERROR_POLICY ignore_error
-#endif
-#ifndef BOOST_MATH_INDETERMINATE_RESULT_ERROR_POLICY
-#define BOOST_MATH_INDETERMINATE_RESULT_ERROR_POLICY ignore_error
-#endif
-#ifndef BOOST_MATH_DIGITS10_POLICY
-#define BOOST_MATH_DIGITS10_POLICY 0
-#endif
-#ifndef BOOST_MATH_PROMOTE_FLOAT_POLICY
-#define BOOST_MATH_PROMOTE_FLOAT_POLICY true
-#endif
-#ifndef BOOST_MATH_PROMOTE_DOUBLE_POLICY
-#ifdef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
-#define BOOST_MATH_PROMOTE_DOUBLE_POLICY false
-#else
-#define BOOST_MATH_PROMOTE_DOUBLE_POLICY true
-#endif
-#endif
-#ifndef BOOST_MATH_DISCRETE_QUANTILE_POLICY
-#define BOOST_MATH_DISCRETE_QUANTILE_POLICY integer_round_outwards
-#endif
-#ifndef BOOST_MATH_ASSERT_UNDEFINED_POLICY
-#define BOOST_MATH_ASSERT_UNDEFINED_POLICY true
-#endif
-#ifndef BOOST_MATH_MAX_SERIES_ITERATION_POLICY
-#define BOOST_MATH_MAX_SERIES_ITERATION_POLICY 1000000
-#endif
-#ifndef BOOST_MATH_MAX_ROOT_ITERATION_POLICY
-#define BOOST_MATH_MAX_ROOT_ITERATION_POLICY 200
-#endif
-
-#if !defined(__BORLANDC__) \
- && !(defined(__GNUC__) && (__GNUC__ == 3) && (__GNUC_MINOR__ <= 2))
-#define BOOST_MATH_META_INT(type, name, Default)\
- template <type N = Default> struct name : public boost::mpl::int_<N>{};\
- namespace detail{\
- template <type N>\
- char test_is_valid_arg(const name<N>*);\
- char test_is_default_arg(const name<Default>*);\
- template <class T> struct is_##name##_imp\
- {\
- template <type N> static char test(const name<N>*);\
- static double test(...);\
- BOOST_STATIC_CONSTANT(bool, value = sizeof(test(static_cast<T*>(0))) == 1);\
- };\
- }\
- template <class T> struct is_##name : public boost::mpl::bool_< ::boost::math::policies::detail::is_##name##_imp<T>::value>{};
-
-#define BOOST_MATH_META_BOOL(name, Default)\
- template <bool N = Default> struct name : public boost::mpl::bool_<N>{};\
- namespace detail{\
- template <bool N>\
- char test_is_valid_arg(const name<N>*);\
- char test_is_default_arg(const name<Default>*);\
- template <class T> struct is_##name##_imp\
- {\
- template <bool N> static char test(const name<N>*);\
- static double test(...);\
- BOOST_STATIC_CONSTANT(bool, value = sizeof(test(static_cast<T*>(0))) == 1);\
- };\
- }\
- template <class T> struct is_##name : public boost::mpl::bool_< ::boost::math::policies::detail::is_##name##_imp<T>::value>{};
-#else
-#define BOOST_MATH_META_INT(Type, name, Default)\
- template <Type N = Default> struct name : public boost::mpl::int_<N>{};\
- namespace detail{\
- template <Type N>\
- char test_is_valid_arg(const name<N>*);\
- char test_is_default_arg(const name<Default>*);\
- template <class T> struct is_##name##_tester\
- {\
- template <Type N> static char test(const name<N>&);\
- static double test(...);\
- };\
- template <class T> struct is_##name##_imp\
- {\
- static T inst;\
- BOOST_STATIC_CONSTANT(bool, value = sizeof( ::boost::math::policies::detail::is_##name##_tester<T>::test(inst)) == 1);\
- };\
- }\
- template <class T> struct is_##name : public boost::mpl::bool_< ::boost::math::policies::detail::is_##name##_imp<T>::value>\
- {\
- template <class U> struct apply{ typedef is_##name<U> type; };\
- };
-
-#define BOOST_MATH_META_BOOL(name, Default)\
- template <bool N = Default> struct name : public boost::mpl::bool_<N>{};\
- namespace detail{\
- template <bool N>\
- char test_is_valid_arg(const name<N>*);\
- char test_is_default_arg(const name<Default>*);\
- template <class T> struct is_##name##_tester\
- {\
- template <bool N> static char test(const name<N>&);\
- static double test(...);\
- };\
- template <class T> struct is_##name##_imp\
- {\
- static T inst;\
- BOOST_STATIC_CONSTANT(bool, value = sizeof( ::boost::math::policies::detail::is_##name##_tester<T>::test(inst)) == 1);\
- };\
- }\
- template <class T> struct is_##name : public boost::mpl::bool_< ::boost::math::policies::detail::is_##name##_imp<T>::value>\
- {\
- template <class U> struct apply{ typedef is_##name<U> type; };\
- };
-#endif
-//
-// Begin by defining policy types for error handling:
-//
-enum error_policy_type
-{
- throw_on_error = 0,
- errno_on_error = 1,
- ignore_error = 2,
- user_error = 3
-};
-
-BOOST_MATH_META_INT(error_policy_type, domain_error, BOOST_MATH_DOMAIN_ERROR_POLICY)
-BOOST_MATH_META_INT(error_policy_type, pole_error, BOOST_MATH_POLE_ERROR_POLICY)
-BOOST_MATH_META_INT(error_policy_type, overflow_error, BOOST_MATH_OVERFLOW_ERROR_POLICY)
-BOOST_MATH_META_INT(error_policy_type, underflow_error, BOOST_MATH_UNDERFLOW_ERROR_POLICY)
-BOOST_MATH_META_INT(error_policy_type, denorm_error, BOOST_MATH_DENORM_ERROR_POLICY)
-BOOST_MATH_META_INT(error_policy_type, evaluation_error, BOOST_MATH_EVALUATION_ERROR_POLICY)
-BOOST_MATH_META_INT(error_policy_type, rounding_error, BOOST_MATH_ROUNDING_ERROR_POLICY)
-BOOST_MATH_META_INT(error_policy_type, indeterminate_result_error, BOOST_MATH_INDETERMINATE_RESULT_ERROR_POLICY)
-
-//
-// Policy types for internal promotion:
-//
-BOOST_MATH_META_BOOL(promote_float, BOOST_MATH_PROMOTE_FLOAT_POLICY)
-BOOST_MATH_META_BOOL(promote_double, BOOST_MATH_PROMOTE_DOUBLE_POLICY)
-BOOST_MATH_META_BOOL(assert_undefined, BOOST_MATH_ASSERT_UNDEFINED_POLICY)
-//
-// Policy types for discrete quantiles:
-//
-enum discrete_quantile_policy_type
-{
- real,
- integer_round_outwards,
- integer_round_inwards,
- integer_round_down,
- integer_round_up,
- integer_round_nearest
-};
-
-BOOST_MATH_META_INT(discrete_quantile_policy_type, discrete_quantile, BOOST_MATH_DISCRETE_QUANTILE_POLICY)
-//
-// Precision:
-//
-BOOST_MATH_META_INT(int, digits10, BOOST_MATH_DIGITS10_POLICY)
-BOOST_MATH_META_INT(int, digits2, 0)
-//
-// Iterations:
-//
-BOOST_MATH_META_INT(unsigned long, max_series_iterations, BOOST_MATH_MAX_SERIES_ITERATION_POLICY)
-BOOST_MATH_META_INT(unsigned long, max_root_iterations, BOOST_MATH_MAX_ROOT_ITERATION_POLICY)
-//
-// Define the names for each possible policy:
-//
-#define BOOST_MATH_PARAMETER(name)\
- BOOST_PARAMETER_TEMPLATE_KEYWORD(name##_name)\
- BOOST_PARAMETER_NAME(name##_name)
-
-struct default_policy{};
-
-namespace detail{
-//
-// Trait to work out bits precision from digits10 and digits2:
-//
-template <class Digits10, class Digits2>
-struct precision
-{
- //
- // Now work out the precision:
- //
- typedef typename mpl::if_c<
- (Digits10::value == 0),
- digits2<0>,
- digits2<((Digits10::value + 1) * 1000L) / 301L>
- >::type digits2_type;
-public:
-#ifdef __BORLANDC__
- typedef typename mpl::if_c<
- (Digits2::value > ::boost::math::policies::detail::precision<Digits10,Digits2>::digits2_type::value),
- Digits2, digits2_type>::type type;
-#else
- typedef typename mpl::if_c<
- (Digits2::value > digits2_type::value),
- Digits2, digits2_type>::type type;
-#endif
-};
-
-template <class A, class B, bool b>
-struct select_result
-{
- typedef A type;
-};
-template <class A, class B>
-struct select_result<A, B, false>
-{
- typedef typename mpl::deref<B>::type type;
-};
-
-template <class Seq, class Pred, class DefaultType>
-struct find_arg
-{
-private:
- typedef typename mpl::find_if<Seq, Pred>::type iter;
- typedef typename mpl::end<Seq>::type end_type;
-public:
- typedef typename select_result<
- DefaultType, iter,
- ::boost::is_same<iter, end_type>::value>::type type;
-};
-
-double test_is_valid_arg(...);
-double test_is_default_arg(...);
-char test_is_valid_arg(const default_policy*);
-char test_is_default_arg(const default_policy*);
-
-template <class T>
-struct is_valid_policy_imp
-{
- BOOST_STATIC_CONSTANT(bool, value = sizeof(::boost::math::policies::detail::test_is_valid_arg(static_cast<T*>(0))) == 1);
-};
-
-template <class T>
-struct is_default_policy_imp
-{
- BOOST_STATIC_CONSTANT(bool, value = sizeof(::boost::math::policies::detail::test_is_default_arg(static_cast<T*>(0))) == 1);
-};
-
-template <class T> struct is_valid_policy
-: public mpl::bool_<
- ::boost::math::policies::detail::is_valid_policy_imp<T>::value>
-{};
-
-template <class T> struct is_default_policy
-: public mpl::bool_<
- ::boost::math::policies::detail::is_default_policy_imp<T>::value>
-{
- template <class U>
- struct apply
- {
- typedef is_default_policy<U> type;
- };
-};
-
-template <class Seq, class T, int N>
-struct append_N
-{
- typedef typename mpl::push_back<Seq, T>::type new_seq;
- typedef typename append_N<new_seq, T, N-1>::type type;
-};
-
-template <class Seq, class T>
-struct append_N<Seq, T, 0>
-{
- typedef Seq type;
-};
-
-//
-// Traits class to work out what template parameters our default
-// policy<> class will have when modified for forwarding:
-//
-template <bool f, bool d>
-struct default_args
-{
- typedef promote_float<false> arg1;
- typedef promote_double<false> arg2;
-};
-
-template <>
-struct default_args<false, false>
-{
- typedef default_policy arg1;
- typedef default_policy arg2;
-};
-
-template <>
-struct default_args<true, false>
-{
- typedef promote_float<false> arg1;
- typedef default_policy arg2;
-};
-
-template <>
-struct default_args<false, true>
-{
- typedef promote_double<false> arg1;
- typedef default_policy arg2;
-};
-
-typedef default_args<BOOST_MATH_PROMOTE_FLOAT_POLICY, BOOST_MATH_PROMOTE_DOUBLE_POLICY>::arg1 forwarding_arg1;
-typedef default_args<BOOST_MATH_PROMOTE_FLOAT_POLICY, BOOST_MATH_PROMOTE_DOUBLE_POLICY>::arg2 forwarding_arg2;
-
-} // detail
-//
-// Now define the policy type with enough arguments to handle all
-// the policies:
-//
-template <class A1 = default_policy,
- class A2 = default_policy,
- class A3 = default_policy,
- class A4 = default_policy,
- class A5 = default_policy,
- class A6 = default_policy,
- class A7 = default_policy,
- class A8 = default_policy,
- class A9 = default_policy,
- class A10 = default_policy,
- class A11 = default_policy,
- class A12 = default_policy,
- class A13 = default_policy>
-struct policy
-{
-private:
- //
- // Validate all our arguments:
- //
- BOOST_STATIC_ASSERT(::boost::math::policies::detail::is_valid_policy<A1>::value);
- BOOST_STATIC_ASSERT(::boost::math::policies::detail::is_valid_policy<A2>::value);
- BOOST_STATIC_ASSERT(::boost::math::policies::detail::is_valid_policy<A3>::value);
- BOOST_STATIC_ASSERT(::boost::math::policies::detail::is_valid_policy<A4>::value);
- BOOST_STATIC_ASSERT(::boost::math::policies::detail::is_valid_policy<A5>::value);
- BOOST_STATIC_ASSERT(::boost::math::policies::detail::is_valid_policy<A6>::value);
- BOOST_STATIC_ASSERT(::boost::math::policies::detail::is_valid_policy<A7>::value);
- BOOST_STATIC_ASSERT(::boost::math::policies::detail::is_valid_policy<A8>::value);
- BOOST_STATIC_ASSERT(::boost::math::policies::detail::is_valid_policy<A9>::value);
- BOOST_STATIC_ASSERT(::boost::math::policies::detail::is_valid_policy<A10>::value);
- BOOST_STATIC_ASSERT(::boost::math::policies::detail::is_valid_policy<A11>::value);
- BOOST_STATIC_ASSERT(::boost::math::policies::detail::is_valid_policy<A12>::value);
- BOOST_STATIC_ASSERT(::boost::math::policies::detail::is_valid_policy<A13>::value);
- //
- // Typelist of the arguments:
- //
- typedef mpl::list<A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13> arg_list;
-
-public:
- typedef typename detail::find_arg<arg_list, is_domain_error<mpl::_1>, domain_error<> >::type domain_error_type;
- typedef typename detail::find_arg<arg_list, is_pole_error<mpl::_1>, pole_error<> >::type pole_error_type;
- typedef typename detail::find_arg<arg_list, is_overflow_error<mpl::_1>, overflow_error<> >::type overflow_error_type;
- typedef typename detail::find_arg<arg_list, is_underflow_error<mpl::_1>, underflow_error<> >::type underflow_error_type;
- typedef typename detail::find_arg<arg_list, is_denorm_error<mpl::_1>, denorm_error<> >::type denorm_error_type;
- typedef typename detail::find_arg<arg_list, is_evaluation_error<mpl::_1>, evaluation_error<> >::type evaluation_error_type;
- typedef typename detail::find_arg<arg_list, is_rounding_error<mpl::_1>, rounding_error<> >::type rounding_error_type;
- typedef typename detail::find_arg<arg_list, is_indeterminate_result_error<mpl::_1>, indeterminate_result_error<> >::type indeterminate_result_error_type;
-private:
- //
- // Now work out the precision:
- //
- typedef typename detail::find_arg<arg_list, is_digits10<mpl::_1>, digits10<> >::type digits10_type;
- typedef typename detail::find_arg<arg_list, is_digits2<mpl::_1>, digits2<> >::type bits_precision_type;
-public:
- typedef typename detail::precision<digits10_type, bits_precision_type>::type precision_type;
- //
- // Internal promotion:
- //
- typedef typename detail::find_arg<arg_list, is_promote_float<mpl::_1>, promote_float<> >::type promote_float_type;
- typedef typename detail::find_arg<arg_list, is_promote_double<mpl::_1>, promote_double<> >::type promote_double_type;
- //
- // Discrete quantiles:
- //
- typedef typename detail::find_arg<arg_list, is_discrete_quantile<mpl::_1>, discrete_quantile<> >::type discrete_quantile_type;
- //
- // Mathematically undefined properties:
- //
- typedef typename detail::find_arg<arg_list, is_assert_undefined<mpl::_1>, assert_undefined<> >::type assert_undefined_type;
- //
- // Max iterations:
- //
- typedef typename detail::find_arg<arg_list, is_max_series_iterations<mpl::_1>, max_series_iterations<> >::type max_series_iterations_type;
- typedef typename detail::find_arg<arg_list, is_max_root_iterations<mpl::_1>, max_root_iterations<> >::type max_root_iterations_type;
-};
-//
-// These full specializations are defined to reduce the amount of
-// template instantiations that have to take place when using the default
-// policies, they have quite a large impact on compile times:
-//
-template <>
-struct policy<default_policy, default_policy, default_policy, default_policy, default_policy, default_policy, default_policy, default_policy, default_policy, default_policy, default_policy>
-{
-public:
- typedef domain_error<> domain_error_type;
- typedef pole_error<> pole_error_type;
- typedef overflow_error<> overflow_error_type;
- typedef underflow_error<> underflow_error_type;
- typedef denorm_error<> denorm_error_type;
- typedef evaluation_error<> evaluation_error_type;
- typedef rounding_error<> rounding_error_type;
- typedef indeterminate_result_error<> indeterminate_result_error_type;
-#if BOOST_MATH_DIGITS10_POLICY == 0
- typedef digits2<> precision_type;
-#else
- typedef detail::precision<digits10<>, digits2<> >::type precision_type;
-#endif
- typedef promote_float<> promote_float_type;
- typedef promote_double<> promote_double_type;
- typedef discrete_quantile<> discrete_quantile_type;
- typedef assert_undefined<> assert_undefined_type;
- typedef max_series_iterations<> max_series_iterations_type;
- typedef max_root_iterations<> max_root_iterations_type;
-};
-
-template <>
-struct policy<detail::forwarding_arg1, detail::forwarding_arg2, default_policy, default_policy, default_policy, default_policy, default_policy, default_policy, default_policy, default_policy, default_policy>
-{
-public:
- typedef domain_error<> domain_error_type;
- typedef pole_error<> pole_error_type;
- typedef overflow_error<> overflow_error_type;
- typedef underflow_error<> underflow_error_type;
- typedef denorm_error<> denorm_error_type;
- typedef evaluation_error<> evaluation_error_type;
- typedef rounding_error<> rounding_error_type;
- typedef indeterminate_result_error<> indeterminate_result_error_type;
-#if BOOST_MATH_DIGITS10_POLICY == 0
- typedef digits2<> precision_type;
-#else
- typedef detail::precision<digits10<>, digits2<> >::type precision_type;
-#endif
- typedef promote_float<false> promote_float_type;
- typedef promote_double<false> promote_double_type;
- typedef discrete_quantile<> discrete_quantile_type;
- typedef assert_undefined<> assert_undefined_type;
- typedef max_series_iterations<> max_series_iterations_type;
- typedef max_root_iterations<> max_root_iterations_type;
-};
-
-template <class Policy,
- class A1 = default_policy,
- class A2 = default_policy,
- class A3 = default_policy,
- class A4 = default_policy,
- class A5 = default_policy,
- class A6 = default_policy,
- class A7 = default_policy,
- class A8 = default_policy,
- class A9 = default_policy,
- class A10 = default_policy,
- class A11 = default_policy,
- class A12 = default_policy,
- class A13 = default_policy>
-struct normalise
-{
-private:
- typedef mpl::list<A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13> arg_list;
- typedef typename detail::find_arg<arg_list, is_domain_error<mpl::_1>, typename Policy::domain_error_type >::type domain_error_type;
- typedef typename detail::find_arg<arg_list, is_pole_error<mpl::_1>, typename Policy::pole_error_type >::type pole_error_type;
- typedef typename detail::find_arg<arg_list, is_overflow_error<mpl::_1>, typename Policy::overflow_error_type >::type overflow_error_type;
- typedef typename detail::find_arg<arg_list, is_underflow_error<mpl::_1>, typename Policy::underflow_error_type >::type underflow_error_type;
- typedef typename detail::find_arg<arg_list, is_denorm_error<mpl::_1>, typename Policy::denorm_error_type >::type denorm_error_type;
- typedef typename detail::find_arg<arg_list, is_evaluation_error<mpl::_1>, typename Policy::evaluation_error_type >::type evaluation_error_type;
- typedef typename detail::find_arg<arg_list, is_rounding_error<mpl::_1>, typename Policy::rounding_error_type >::type rounding_error_type;
- typedef typename detail::find_arg<arg_list, is_indeterminate_result_error<mpl::_1>, typename Policy::indeterminate_result_error_type >::type indeterminate_result_error_type;
- //
- // Now work out the precision:
- //
- typedef typename detail::find_arg<arg_list, is_digits10<mpl::_1>, digits10<> >::type digits10_type;
- typedef typename detail::find_arg<arg_list, is_digits2<mpl::_1>, typename Policy::precision_type >::type bits_precision_type;
- typedef typename detail::precision<digits10_type, bits_precision_type>::type precision_type;
- //
- // Internal promotion:
- //
- typedef typename detail::find_arg<arg_list, is_promote_float<mpl::_1>, typename Policy::promote_float_type >::type promote_float_type;
- typedef typename detail::find_arg<arg_list, is_promote_double<mpl::_1>, typename Policy::promote_double_type >::type promote_double_type;
- //
- // Discrete quantiles:
- //
- typedef typename detail::find_arg<arg_list, is_discrete_quantile<mpl::_1>, typename Policy::discrete_quantile_type >::type discrete_quantile_type;
- //
- // Mathematically undefined properties:
- //
- typedef typename detail::find_arg<arg_list, is_assert_undefined<mpl::_1>, typename Policy::assert_undefined_type >::type assert_undefined_type;
- //
- // Max iterations:
- //
- typedef typename detail::find_arg<arg_list, is_max_series_iterations<mpl::_1>, typename Policy::max_series_iterations_type>::type max_series_iterations_type;
- typedef typename detail::find_arg<arg_list, is_max_root_iterations<mpl::_1>, typename Policy::max_root_iterations_type>::type max_root_iterations_type;
- //
- // Define a typelist of the policies:
- //
- typedef mpl::vector<
- domain_error_type,
- pole_error_type,
- overflow_error_type,
- underflow_error_type,
- denorm_error_type,
- evaluation_error_type,
- rounding_error_type,
- indeterminate_result_error_type,
- precision_type,
- promote_float_type,
- promote_double_type,
- discrete_quantile_type,
- assert_undefined_type,
- max_series_iterations_type,
- max_root_iterations_type> result_list;
- //
- // Remove all the policies that are the same as the default:
- //
- typedef typename mpl::remove_if<result_list, detail::is_default_policy<mpl::_> >::type reduced_list;
- //
- // Pad out the list with defaults:
- //
- typedef typename detail::append_N<reduced_list, default_policy, (14 - ::boost::mpl::size<reduced_list>::value)>::type result_type;
-public:
- typedef policy<
- typename mpl::at<result_type, mpl::int_<0> >::type,
- typename mpl::at<result_type, mpl::int_<1> >::type,
- typename mpl::at<result_type, mpl::int_<2> >::type,
- typename mpl::at<result_type, mpl::int_<3> >::type,
- typename mpl::at<result_type, mpl::int_<4> >::type,
- typename mpl::at<result_type, mpl::int_<5> >::type,
- typename mpl::at<result_type, mpl::int_<6> >::type,
- typename mpl::at<result_type, mpl::int_<7> >::type,
- typename mpl::at<result_type, mpl::int_<8> >::type,
- typename mpl::at<result_type, mpl::int_<9> >::type,
- typename mpl::at<result_type, mpl::int_<10> >::type,
- typename mpl::at<result_type, mpl::int_<11> >::type,
- typename mpl::at<result_type, mpl::int_<12> >::type > type;
-};
-//
-// Full specialisation to speed up compilation of the common case:
-//
-template <>
-struct normalise<policy<>,
- promote_float<false>,
- promote_double<false>,
- discrete_quantile<>,
- assert_undefined<>,
- default_policy,
- default_policy,
- default_policy,
- default_policy,
- default_policy,
- default_policy,
- default_policy>
-{
- typedef policy<detail::forwarding_arg1, detail::forwarding_arg2> type;
-};
-
-template <>
-struct normalise<policy<detail::forwarding_arg1, detail::forwarding_arg2>,
- promote_float<false>,
- promote_double<false>,
- discrete_quantile<>,
- assert_undefined<>,
- default_policy,
- default_policy,
- default_policy,
- default_policy,
- default_policy,
- default_policy,
- default_policy>
-{
- typedef policy<detail::forwarding_arg1, detail::forwarding_arg2> type;
-};
-
-inline policy<> make_policy()
-{ return policy<>(); }
-
-template <class A1>
-inline typename normalise<policy<>, A1>::type make_policy(const A1&)
-{
- typedef typename normalise<policy<>, A1>::type result_type;
- return result_type();
-}
-
-template <class A1, class A2>
-inline typename normalise<policy<>, A1, A2>::type make_policy(const A1&, const A2&)
-{
- typedef typename normalise<policy<>, A1, A2>::type result_type;
- return result_type();
-}
-
-template <class A1, class A2, class A3>
-inline typename normalise<policy<>, A1, A2, A3>::type make_policy(const A1&, const A2&, const A3&)
-{
- typedef typename normalise<policy<>, A1, A2, A3>::type result_type;
- return result_type();
-}
-
-template <class A1, class A2, class A3, class A4>
-inline typename normalise<policy<>, A1, A2, A3, A4>::type make_policy(const A1&, const A2&, const A3&, const A4&)
-{
- typedef typename normalise<policy<>, A1, A2, A3, A4>::type result_type;
- return result_type();
-}
-
-template <class A1, class A2, class A3, class A4, class A5>
-inline typename normalise<policy<>, A1, A2, A3, A4, A5>::type make_policy(const A1&, const A2&, const A3&, const A4&, const A5&)
-{
- typedef typename normalise<policy<>, A1, A2, A3, A4, A5>::type result_type;
- return result_type();
-}
-
-template <class A1, class A2, class A3, class A4, class A5, class A6>
-inline typename normalise<policy<>, A1, A2, A3, A4, A5, A6>::type make_policy(const A1&, const A2&, const A3&, const A4&, const A5&, const A6&)
-{
- typedef typename normalise<policy<>, A1, A2, A3, A4, A5, A6>::type result_type;
- return result_type();
-}
-
-template <class A1, class A2, class A3, class A4, class A5, class A6, class A7>
-inline typename normalise<policy<>, A1, A2, A3, A4, A5, A6, A7>::type make_policy(const A1&, const A2&, const A3&, const A4&, const A5&, const A6&, const A7&)
-{
- typedef typename normalise<policy<>, A1, A2, A3, A4, A5, A6, A7>::type result_type;
- return result_type();
-}
-
-template <class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
-inline typename normalise<policy<>, A1, A2, A3, A4, A5, A6, A7, A8>::type make_policy(const A1&, const A2&, const A3&, const A4&, const A5&, const A6&, const A7&, const A8&)
-{
- typedef typename normalise<policy<>, A1, A2, A3, A4, A5, A6, A7, A8>::type result_type;
- return result_type();
-}
-
-template <class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>
-inline typename normalise<policy<>, A1, A2, A3, A4, A5, A6, A7, A8, A9>::type make_policy(const A1&, const A2&, const A3&, const A4&, const A5&, const A6&, const A7&, const A8&, const A9&)
-{
- typedef typename normalise<policy<>, A1, A2, A3, A4, A5, A6, A7, A8, A9>::type result_type;
- return result_type();
-}
-
-template <class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9, class A10>
-inline typename normalise<policy<>, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10>::type make_policy(const A1&, const A2&, const A3&, const A4&, const A5&, const A6&, const A7&, const A8&, const A9&, const A10&)
-{
- typedef typename normalise<policy<>, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10>::type result_type;
- return result_type();
-}
-
-template <class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9, class A10, class A11>
-inline typename normalise<policy<>, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11>::type make_policy(const A1&, const A2&, const A3&, const A4&, const A5&, const A6&, const A7&, const A8&, const A9&, const A10&, const A11&)
-{
- typedef typename normalise<policy<>, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11>::type result_type;
- return result_type();
-}
-
-//
-// Traits class to handle internal promotion:
-//
-template <class Real, class Policy>
-struct evaluation
-{
- typedef Real type;
-};
-
-template <class Policy>
-struct evaluation<float, Policy>
-{
- typedef typename mpl::if_<typename Policy::promote_float_type, double, float>::type type;
-};
-
-template <class Policy>
-struct evaluation<double, Policy>
-{
- typedef typename mpl::if_<typename Policy::promote_double_type, long double, double>::type type;
-};
-
-#ifdef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-
-template <class Real>
-struct basic_digits : public mpl::int_<0>{ };
-template <>
-struct basic_digits<float> : public mpl::int_<FLT_MANT_DIG>{ };
-template <>
-struct basic_digits<double> : public mpl::int_<DBL_MANT_DIG>{ };
-template <>
-struct basic_digits<long double> : public mpl::int_<LDBL_MANT_DIG>{ };
-
-template <class Real, class Policy>
-struct precision
-{
- BOOST_STATIC_ASSERT( ::std::numeric_limits<Real>::radix == 2);
- typedef typename Policy::precision_type precision_type;
- typedef basic_digits<Real> digits_t;
- typedef typename mpl::if_<
- mpl::equal_to<digits_t, mpl::int_<0> >,
- // Possibly unknown precision:
- precision_type,
- typename mpl::if_<
- mpl::or_<mpl::less_equal<digits_t, precision_type>, mpl::less_equal<precision_type, mpl::int_<0> > >,
- // Default case, full precision for RealType:
- digits2< ::std::numeric_limits<Real>::digits>,
- // User customised precision:
- precision_type
- >::type
- >::type type;
-};
-
-template <class Policy>
-struct precision<float, Policy>
-{
- typedef digits2<FLT_MANT_DIG> type;
-};
-template <class Policy>
-struct precision<double, Policy>
-{
- typedef digits2<DBL_MANT_DIG> type;
-};
-template <class Policy>
-struct precision<long double, Policy>
-{
- typedef digits2<LDBL_MANT_DIG> type;
-};
-
-#else
-
-template <class Real, class Policy>
-struct precision
-{
- BOOST_STATIC_ASSERT((::std::numeric_limits<Real>::radix == 2) || ((::std::numeric_limits<Real>::is_specialized == 0) || (::std::numeric_limits<Real>::digits == 0)));
-#ifndef __BORLANDC__
- typedef typename Policy::precision_type precision_type;
- typedef typename mpl::if_c<
- ((::std::numeric_limits<Real>::is_specialized == 0) || (::std::numeric_limits<Real>::digits == 0)),
- // Possibly unknown precision:
- precision_type,
- typename mpl::if_c<
- ((::std::numeric_limits<Real>::digits <= precision_type::value)
- || (Policy::precision_type::value <= 0)),
- // Default case, full precision for RealType:
- digits2< ::std::numeric_limits<Real>::digits>,
- // User customised precision:
- precision_type
- >::type
- >::type type;
-#else
- typedef typename Policy::precision_type precision_type;
- typedef mpl::int_< ::std::numeric_limits<Real>::digits> digits_t;
- typedef mpl::bool_< ::std::numeric_limits<Real>::is_specialized> spec_t;
- typedef typename mpl::if_<
- mpl::or_<mpl::equal_to<spec_t, mpl::false_>, mpl::equal_to<digits_t, mpl::int_<0> > >,
- // Possibly unknown precision:
- precision_type,
- typename mpl::if_<
- mpl::or_<mpl::less_equal<digits_t, precision_type>, mpl::less_equal<precision_type, mpl::int_<0> > >,
- // Default case, full precision for RealType:
- digits2< ::std::numeric_limits<Real>::digits>,
- // User customised precision:
- precision_type
- >::type
- >::type type;
-#endif
-};
-
-#endif
-
-#ifdef BOOST_MATH_USE_FLOAT128
-
-template <class Policy>
-struct precision<__float128, Policy>
-{
- typedef mpl::int_<113> type;
-};
-
-#endif
-
-namespace detail{
-
-template <class T, class Policy>
-inline int digits_imp(mpl::true_ const&)
-{
-#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
- BOOST_STATIC_ASSERT( ::std::numeric_limits<T>::is_specialized);
-#else
- BOOST_ASSERT(::std::numeric_limits<T>::is_specialized);
-#endif
- typedef typename boost::math::policies::precision<T, Policy>::type p_t;
- return p_t::value;
-}
-
-template <class T, class Policy>
-inline int digits_imp(mpl::false_ const&)
-{
- return tools::digits<T>();
-}
-
-} // namespace detail
-
-template <class T, class Policy>
-inline int digits(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE(T))
-{
- typedef mpl::bool_< std::numeric_limits<T>::is_specialized > tag_type;
- return detail::digits_imp<T, Policy>(tag_type());
-}
-
-template <class Policy>
-inline unsigned long get_max_series_iterations()
-{
- typedef typename Policy::max_series_iterations_type iter_type;
- return iter_type::value;
-}
-
-template <class Policy>
-inline unsigned long get_max_root_iterations()
-{
- typedef typename Policy::max_root_iterations_type iter_type;
- return iter_type::value;
-}
-
-namespace detail{
-
-template <class T, class Digits, class Small, class Default>
-struct series_factor_calc
-{
- static T get()
- {
- return ldexp(T(1.0), 1 - Digits::value);
- }
-};
-
-template <class T, class Digits>
-struct series_factor_calc<T, Digits, mpl::true_, mpl::true_>
-{
- static T get()
- {
- return boost::math::tools::epsilon<T>();
- }
-};
-template <class T, class Digits>
-struct series_factor_calc<T, Digits, mpl::true_, mpl::false_>
-{
- static T get()
- {
- static const boost::uintmax_t v = static_cast<boost::uintmax_t>(1u) << (Digits::value - 1);
- return 1 / static_cast<T>(v);
- }
-};
-template <class T, class Digits>
-struct series_factor_calc<T, Digits, mpl::false_, mpl::true_>
-{
- static T get()
- {
- return boost::math::tools::epsilon<T>();
- }
-};
-
-template <class T, class Policy>
-inline T get_epsilon_imp(mpl::true_ const&)
-{
-#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
- BOOST_STATIC_ASSERT( ::std::numeric_limits<T>::is_specialized);
- BOOST_STATIC_ASSERT( ::std::numeric_limits<T>::radix == 2);
-#else
- BOOST_ASSERT(::std::numeric_limits<T>::is_specialized);
- BOOST_ASSERT(::std::numeric_limits<T>::radix == 2);
-#endif
- typedef typename boost::math::policies::precision<T, Policy>::type p_t;
- typedef mpl::bool_<p_t::value <= std::numeric_limits<boost::uintmax_t>::digits> is_small_int;
- typedef mpl::bool_<p_t::value >= std::numeric_limits<T>::digits> is_default_value;
- return series_factor_calc<T, p_t, is_small_int, is_default_value>::get();
-}
-
-template <class T, class Policy>
-inline T get_epsilon_imp(mpl::false_ const&)
-{
- return tools::epsilon<T>();
-}
-
-} // namespace detail
-
-template <class T, class Policy>
-inline T get_epsilon(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE(T))
-{
- typedef mpl::bool_< (std::numeric_limits<T>::is_specialized && (std::numeric_limits<T>::radix == 2)) > tag_type;
- return detail::get_epsilon_imp<T, Policy>(tag_type());
-}
-
-namespace detail{
-
-template <class A1,
- class A2,
- class A3,
- class A4,
- class A5,
- class A6,
- class A7,
- class A8,
- class A9,
- class A10,
- class A11>
-char test_is_policy(const policy<A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11>*);
-double test_is_policy(...);
-
-template <class P>
-struct is_policy_imp
-{
- BOOST_STATIC_CONSTANT(bool, value = (sizeof(::boost::math::policies::detail::test_is_policy(static_cast<P*>(0))) == 1));
-};
-
-}
-
-template <class P>
-struct is_policy : public mpl::bool_< ::boost::math::policies::detail::is_policy_imp<P>::value> {};
-
-//
-// Helper traits class for distribution error handling:
-//
-template <class Policy>
-struct constructor_error_check
-{
- typedef typename Policy::domain_error_type domain_error_type;
- typedef typename mpl::if_c<
- (domain_error_type::value == throw_on_error) || (domain_error_type::value == user_error),
- mpl::true_,
- mpl::false_>::type type;
-};
-
-template <class Policy>
-struct method_error_check
-{
- typedef typename Policy::domain_error_type domain_error_type;
- typedef typename mpl::if_c<
- (domain_error_type::value == throw_on_error) && (domain_error_type::value != user_error),
- mpl::false_,
- mpl::true_>::type type;
-};
-
-}}} // namespaces
-
-#endif // BOOST_MATH_POLICY_HPP
-
-
-
diff --git a/boost/math/special_functions.hpp b/boost/math/special_functions.hpp
deleted file mode 100644
index 24f4064..0000000
--- a/boost/math/special_functions.hpp
+++ /dev/null
@@ -1,64 +0,0 @@
-// Copyright John Maddock 2006, 2007, 2012.
-// Copyright Paul A. Bristow 2006, 2007, 2012
-
-// 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 file includes *all* the special functions.
-// this may be useful if many are used
-// - to avoid including each function individually.
-
-#ifndef BOOST_MATH_SPECIAL_FUNCTIONS_HPP
-#define BOOST_MATH_SPECIAL_FUNCTIONS_HPP
-
-#include <boost/math/special_functions/airy.hpp>
-#include <boost/math/special_functions/acosh.hpp>
-#include <boost/math/special_functions/asinh.hpp>
-#include <boost/math/special_functions/atanh.hpp>
-#include <boost/math/special_functions/bessel.hpp>
-#include <boost/math/special_functions/beta.hpp>
-#include <boost/math/special_functions/binomial.hpp>
-#include <boost/math/special_functions/cbrt.hpp>
-#include <boost/math/special_functions/cos_pi.hpp>
-#include <boost/math/special_functions/digamma.hpp>
-#include <boost/math/special_functions/ellint_1.hpp>
-#include <boost/math/special_functions/ellint_2.hpp>
-#include <boost/math/special_functions/ellint_3.hpp>
-#include <boost/math/special_functions/ellint_rc.hpp>
-#include <boost/math/special_functions/ellint_rd.hpp>
-#include <boost/math/special_functions/ellint_rf.hpp>
-#include <boost/math/special_functions/ellint_rj.hpp>
-#include <boost/math/special_functions/erf.hpp>
-#include <boost/math/special_functions/expint.hpp>
-#include <boost/math/special_functions/expm1.hpp>
-#include <boost/math/special_functions/factorials.hpp>
-#include <boost/math/special_functions/fpclassify.hpp>
-#include <boost/math/special_functions/gamma.hpp>
-#include <boost/math/special_functions/hermite.hpp>
-#include <boost/math/special_functions/hypot.hpp>
-#include <boost/math/special_functions/jacobi_elliptic.hpp>
-#include <boost/math/special_functions/laguerre.hpp>
-#include <boost/math/special_functions/lanczos.hpp>
-#include <boost/math/special_functions/legendre.hpp>
-#include <boost/math/special_functions/log1p.hpp>
-#include <boost/math/special_functions/math_fwd.hpp>
-#include <boost/math/special_functions/next.hpp>
-#include <boost/math/special_functions/owens_t.hpp>
-#include <boost/math/special_functions/powm1.hpp>
-#include <boost/math/special_functions/sign.hpp>
-#include <boost/math/special_functions/sin_pi.hpp>
-#include <boost/math/special_functions/sinc.hpp>
-#include <boost/math/special_functions/sinhc.hpp>
-#include <boost/math/special_functions/spherical_harmonic.hpp>
-#include <boost/math/special_functions/sqrt1pm1.hpp>
-#include <boost/math/special_functions/zeta.hpp>
-#include <boost/math/special_functions/modf.hpp>
-#include <boost/math/special_functions/round.hpp>
-#include <boost/math/special_functions/trunc.hpp>
-#include <boost/math/special_functions/pow.hpp>
-#include <boost/math/special_functions/next.hpp>
-#include <boost/math/special_functions/owens_t.hpp>
-#include <boost/math/special_functions/hankel.hpp>
-
-#endif // BOOST_MATH_SPECIAL_FUNCTIONS_HPP
diff --git a/boost/math/special_functions/acosh.hpp b/boost/math/special_functions/acosh.hpp
deleted file mode 100644
index 5a43ae5..0000000
--- a/boost/math/special_functions/acosh.hpp
+++ /dev/null
@@ -1,115 +0,0 @@
-// boost asinh.hpp header file
-
-// (C) Copyright Eric Ford 2001 & Hubert Holin.
-// (C) Copyright John Maddock 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 for updates, documentation, and revision history.
-
-#ifndef BOOST_ACOSH_HPP
-#define BOOST_ACOSH_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/config/no_tr1/cmath.hpp>
-#include <boost/config.hpp>
-#include <boost/math/tools/precision.hpp>
-#include <boost/math/policies/error_handling.hpp>
-#include <boost/math/special_functions/math_fwd.hpp>
-#include <boost/math/special_functions/log1p.hpp>
-#include <boost/math/constants/constants.hpp>
-
-// This is the inverse of the hyperbolic cosine function.
-
-namespace boost
-{
- namespace math
- {
- namespace detail
- {
-#if defined(__GNUC__) && (__GNUC__ < 3)
- // gcc 2.x ignores function scope using declarations,
- // put them in the scope of the enclosing namespace instead:
-
- using ::std::abs;
- using ::std::sqrt;
- using ::std::log;
-
- using ::std::numeric_limits;
-#endif
-
- template<typename T, typename Policy>
- inline T acosh_imp(const T x, const Policy& pol)
- {
- BOOST_MATH_STD_USING
-
- if(x < 1)
- {
- return policies::raise_domain_error<T>(
- "boost::math::acosh<%1%>(%1%)",
- "acosh requires x >= 1, but got x = %1%.", x, pol);
- }
- else if ((x - 1) >= tools::root_epsilon<T>())
- {
- if (x > 1 / tools::root_epsilon<T>())
- {
- // http://functions.wolfram.com/ElementaryFunctions/ArcCosh/06/01/06/01/0001/
- // approximation by laurent series in 1/x at 0+ order from -1 to 0
- return log(x) + constants::ln_two<T>();
- }
- else if(x < 1.5f)
- {
- // This is just a rearrangement of the standard form below
- // devised to minimse loss of precision when x ~ 1:
- T y = x - 1;
- return boost::math::log1p(y + sqrt(y * y + 2 * y), pol);
- }
- else
- {
- // http://functions.wolfram.com/ElementaryFunctions/ArcCosh/02/
- return( log( x + sqrt(x * x - 1) ) );
- }
- }
- else
- {
- // see http://functions.wolfram.com/ElementaryFunctions/ArcCosh/06/01/04/01/0001/
- T y = x - 1;
-
- // approximation by taylor series in y at 0 up to order 2
- T result = sqrt(2 * y) * (1 - y /12 + 3 * y * y / 160);
- return result;
- }
- }
- }
-
- template<typename T, typename Policy>
- inline typename tools::promote_args<T>::type acosh(T x, const Policy&)
- {
- typedef typename tools::promote_args<T>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
- return policies::checked_narrowing_cast<result_type, forwarding_policy>(
- detail::acosh_imp(static_cast<value_type>(x), forwarding_policy()),
- "boost::math::acosh<%1%>(%1%)");
- }
- template<typename T>
- inline typename tools::promote_args<T>::type acosh(T x)
- {
- return boost::math::acosh(x, policies::policy<>());
- }
-
- }
-}
-
-#endif /* BOOST_ACOSH_HPP */
-
-
diff --git a/boost/math/special_functions/airy.hpp b/boost/math/special_functions/airy.hpp
deleted file mode 100644
index 554fb58..0000000
--- a/boost/math/special_functions/airy.hpp
+++ /dev/null
@@ -1,437 +0,0 @@
-// Copyright John Maddock 2012.
-// 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_AIRY_HPP
-#define BOOST_MATH_AIRY_HPP
-
-#include <boost/math/special_functions/bessel.hpp>
-#include <boost/math/special_functions/cbrt.hpp>
-#include <boost/math/special_functions/detail/airy_ai_bi_zero.hpp>
-#include <boost/math/tools/roots.hpp>
-
-namespace boost{ namespace math{
-
-namespace detail{
-
-template <class T, class Policy>
-T airy_ai_imp(T x, const Policy& pol)
-{
- BOOST_MATH_STD_USING
-
- if(x < 0)
- {
- T p = (-x * sqrt(-x) * 2) / 3;
- T v = T(1) / 3;
- T j1 = boost::math::cyl_bessel_j(v, p, pol);
- T j2 = boost::math::cyl_bessel_j(-v, p, pol);
- T ai = sqrt(-x) * (j1 + j2) / 3;
- //T bi = sqrt(-x / 3) * (j2 - j1);
- return ai;
- }
- else if(fabs(x * x * x) / 6 < tools::epsilon<T>())
- {
- T tg = boost::math::tgamma(constants::twothirds<T>(), pol);
- T ai = 1 / (pow(T(3), constants::twothirds<T>()) * tg);
- //T bi = 1 / (sqrt(boost::math::cbrt(T(3))) * tg);
- return ai;
- }
- else
- {
- T p = 2 * x * sqrt(x) / 3;
- T v = T(1) / 3;
- //T j1 = boost::math::cyl_bessel_i(-v, p, pol);
- //T j2 = boost::math::cyl_bessel_i(v, p, pol);
- //
- // Note that although we can calculate ai from j1 and j2, the accuracy is horrible
- // as we're subtracting two very large values, so use the Bessel K relation instead:
- //
- T ai = cyl_bessel_k(v, p, pol) * sqrt(x / 3) / boost::math::constants::pi<T>(); //sqrt(x) * (j1 - j2) / 3;
- //T bi = sqrt(x / 3) * (j1 + j2);
- return ai;
- }
-}
-
-template <class T, class Policy>
-T airy_bi_imp(T x, const Policy& pol)
-{
- BOOST_MATH_STD_USING
-
- if(x < 0)
- {
- T p = (-x * sqrt(-x) * 2) / 3;
- T v = T(1) / 3;
- T j1 = boost::math::cyl_bessel_j(v, p, pol);
- T j2 = boost::math::cyl_bessel_j(-v, p, pol);
- //T ai = sqrt(-x) * (j1 + j2) / 3;
- T bi = sqrt(-x / 3) * (j2 - j1);
- return bi;
- }
- else if(fabs(x * x * x) / 6 < tools::epsilon<T>())
- {
- T tg = boost::math::tgamma(constants::twothirds<T>(), pol);
- //T ai = 1 / (pow(T(3), constants::twothirds<T>()) * tg);
- T bi = 1 / (sqrt(boost::math::cbrt(T(3))) * tg);
- return bi;
- }
- else
- {
- T p = 2 * x * sqrt(x) / 3;
- T v = T(1) / 3;
- T j1 = boost::math::cyl_bessel_i(-v, p, pol);
- T j2 = boost::math::cyl_bessel_i(v, p, pol);
- T bi = sqrt(x / 3) * (j1 + j2);
- return bi;
- }
-}
-
-template <class T, class Policy>
-T airy_ai_prime_imp(T x, const Policy& pol)
-{
- BOOST_MATH_STD_USING
-
- if(x < 0)
- {
- T p = (-x * sqrt(-x) * 2) / 3;
- T v = T(2) / 3;
- T j1 = boost::math::cyl_bessel_j(v, p, pol);
- T j2 = boost::math::cyl_bessel_j(-v, p, pol);
- T aip = -x * (j1 - j2) / 3;
- return aip;
- }
- else if(fabs(x * x) / 2 < tools::epsilon<T>())
- {
- T tg = boost::math::tgamma(constants::third<T>(), pol);
- T aip = 1 / (boost::math::cbrt(T(3)) * tg);
- return -aip;
- }
- else
- {
- T p = 2 * x * sqrt(x) / 3;
- T v = T(2) / 3;
- //T j1 = boost::math::cyl_bessel_i(-v, p, pol);
- //T j2 = boost::math::cyl_bessel_i(v, p, pol);
- //
- // Note that although we can calculate ai from j1 and j2, the accuracy is horrible
- // as we're subtracting two very large values, so use the Bessel K relation instead:
- //
- T aip = -cyl_bessel_k(v, p, pol) * x / (boost::math::constants::root_three<T>() * boost::math::constants::pi<T>());
- return aip;
- }
-}
-
-template <class T, class Policy>
-T airy_bi_prime_imp(T x, const Policy& pol)
-{
- BOOST_MATH_STD_USING
-
- if(x < 0)
- {
- T p = (-x * sqrt(-x) * 2) / 3;
- T v = T(2) / 3;
- T j1 = boost::math::cyl_bessel_j(v, p, pol);
- T j2 = boost::math::cyl_bessel_j(-v, p, pol);
- T aip = -x * (j1 + j2) / constants::root_three<T>();
- return aip;
- }
- else if(fabs(x * x) / 2 < tools::epsilon<T>())
- {
- T tg = boost::math::tgamma(constants::third<T>(), pol);
- T bip = sqrt(boost::math::cbrt(T(3))) / tg;
- return bip;
- }
- else
- {
- T p = 2 * x * sqrt(x) / 3;
- T v = T(2) / 3;
- T j1 = boost::math::cyl_bessel_i(-v, p, pol);
- T j2 = boost::math::cyl_bessel_i(v, p, pol);
- T aip = x * (j1 + j2) / boost::math::constants::root_three<T>();
- return aip;
- }
-}
-
-template <class T, class Policy>
-T airy_ai_zero_imp(unsigned m, const Policy& pol)
-{
- BOOST_MATH_STD_USING // ADL of std names, needed for log, sqrt.
-
- // Handle case when the zero'th zero is requested.
- if(m == 0U)
- {
- return policies::raise_domain_error<T>("boost::math::airy_ai_zero<%1%>(%1%,%1%)",
- "The requested rank of the zero is %1%, but must be 1 or more !", static_cast<T>(m), pol);
- }
-
- // Set up the initial guess for the upcoming root-finding.
- const T guess_root = boost::math::detail::airy_zero::airy_ai_zero_detail::initial_guess<T>(m);
-
- // Select the maximum allowed iterations, being at least 24.
- boost::uintmax_t number_of_iterations = (std::max)(24, int(std::numeric_limits<T>::digits10));
-
- // Select the desired number of binary digits of precision.
- // Account for the radix of number representations having non-two radix!
- const int my_digits2 = int(float(std::numeric_limits<T>::digits)
- * ( log(float(std::numeric_limits<T>::radix))
- / log(2.0F)));
-
- // Use a dynamic tolerance because the roots get closer the higher m gets.
- T tolerance;
-
- if (m <= 10U) { tolerance = T(0.3F); }
- else if(m <= 100U) { tolerance = T(0.1F); }
- else if(m <= 1000U) { tolerance = T(0.05F); }
- else { tolerance = T(1) / sqrt(T(m)); }
-
- // Perform the root-finding using Newton-Raphson iteration from Boost.Math.
- const T am =
- boost::math::tools::newton_raphson_iterate(
- boost::math::detail::airy_zero::airy_ai_zero_detail::function_object_ai_and_ai_prime<T, Policy>(pol),
- guess_root,
- T(guess_root - tolerance),
- T(guess_root + tolerance),
- my_digits2,
- number_of_iterations);
-
- static_cast<void>(number_of_iterations);
-
- return am;
-}
-
-template <class T, class Policy>
-T airy_bi_zero_imp(unsigned m, const Policy& pol)
-{
- BOOST_MATH_STD_USING // ADL of std names, needed for log, sqrt.
-
- // Handle case when the zero'th zero is requested.
- if(m == 0U)
- {
- return policies::raise_domain_error<T>("boost::math::airy_bi_zero<%1%>(%1%,%1%)",
- "The requested rank of the zero is %1%, but must be 1 or more !", static_cast<T>(m), pol);
- }
- // Set up the initial guess for the upcoming root-finding.
- const T guess_root = boost::math::detail::airy_zero::airy_bi_zero_detail::initial_guess<T>(m);
-
- // Select the maximum allowed iterations, being at least 24.
- boost::uintmax_t number_of_iterations = (std::max)(24, int(std::numeric_limits<T>::digits10));
-
- // Select the desired number of binary digits of precision.
- // Account for the radix of number representations having non-two radix!
- const int my_digits2 = int(float(std::numeric_limits<T>::digits)
- * ( log(float(std::numeric_limits<T>::radix))
- / log(2.0F)));
-
- // Use a dynamic tolerance because the roots get closer the higher m gets.
- T tolerance;
-
- if (m <= 10U) { tolerance = T(0.3F); }
- else if(m <= 100U) { tolerance = T(0.1F); }
- else if(m <= 1000U) { tolerance = T(0.05F); }
- else { tolerance = T(1) / sqrt(T(m)); }
-
- // Perform the root-finding using Newton-Raphson iteration from Boost.Math.
- const T bm =
- boost::math::tools::newton_raphson_iterate(
- boost::math::detail::airy_zero::airy_bi_zero_detail::function_object_bi_and_bi_prime<T, Policy>(pol),
- guess_root,
- T(guess_root - tolerance),
- T(guess_root + tolerance),
- my_digits2,
- number_of_iterations);
-
- static_cast<void>(number_of_iterations);
-
- return bm;
-}
-
-} // namespace detail
-
-template <class T, class Policy>
-inline typename tools::promote_args<T>::type airy_ai(T x, const Policy&)
-{
- BOOST_FPU_EXCEPTION_GUARD
- typedef typename tools::promote_args<T>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
-
- return policies::checked_narrowing_cast<result_type, Policy>(detail::airy_ai_imp<value_type>(static_cast<value_type>(x), forwarding_policy()), "boost::math::airy<%1%>(%1%)");
-}
-
-template <class T>
-inline typename tools::promote_args<T>::type airy_ai(T x)
-{
- return airy_ai(x, policies::policy<>());
-}
-
-template <class T, class Policy>
-inline typename tools::promote_args<T>::type airy_bi(T x, const Policy&)
-{
- BOOST_FPU_EXCEPTION_GUARD
- typedef typename tools::promote_args<T>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
-
- return policies::checked_narrowing_cast<result_type, Policy>(detail::airy_bi_imp<value_type>(static_cast<value_type>(x), forwarding_policy()), "boost::math::airy<%1%>(%1%)");
-}
-
-template <class T>
-inline typename tools::promote_args<T>::type airy_bi(T x)
-{
- return airy_bi(x, policies::policy<>());
-}
-
-template <class T, class Policy>
-inline typename tools::promote_args<T>::type airy_ai_prime(T x, const Policy&)
-{
- BOOST_FPU_EXCEPTION_GUARD
- typedef typename tools::promote_args<T>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
-
- return policies::checked_narrowing_cast<result_type, Policy>(detail::airy_ai_prime_imp<value_type>(static_cast<value_type>(x), forwarding_policy()), "boost::math::airy<%1%>(%1%)");
-}
-
-template <class T>
-inline typename tools::promote_args<T>::type airy_ai_prime(T x)
-{
- return airy_ai_prime(x, policies::policy<>());
-}
-
-template <class T, class Policy>
-inline typename tools::promote_args<T>::type airy_bi_prime(T x, const Policy&)
-{
- BOOST_FPU_EXCEPTION_GUARD
- typedef typename tools::promote_args<T>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
-
- return policies::checked_narrowing_cast<result_type, Policy>(detail::airy_bi_prime_imp<value_type>(static_cast<value_type>(x), forwarding_policy()), "boost::math::airy<%1%>(%1%)");
-}
-
-template <class T>
-inline typename tools::promote_args<T>::type airy_bi_prime(T x)
-{
- return airy_bi_prime(x, policies::policy<>());
-}
-
-template <class T, class Policy>
-inline T airy_ai_zero(unsigned m, const Policy& /*pol*/)
-{
- BOOST_FPU_EXCEPTION_GUARD
- typedef typename policies::evaluation<T, Policy>::type value_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
- BOOST_STATIC_ASSERT_MSG(false == std::numeric_limits<T>::is_integer, "Airy return type must be a floating-point type.");
- return policies::checked_narrowing_cast<T, Policy>(detail::airy_ai_zero_imp<value_type>(m, forwarding_policy()), "boost::math::airy_ai_zero<%1%>(unsigned)");
-}
-
-template <class T>
-inline T airy_ai_zero(unsigned m)
-{
- return airy_ai_zero<T>(m, policies::policy<>());
-}
-
-template <class T, class OutputIterator, class Policy>
-inline OutputIterator airy_ai_zero(
- unsigned start_index,
- unsigned number_of_zeros,
- OutputIterator out_it,
- const Policy& pol)
-{
- typedef T result_type;
- BOOST_STATIC_ASSERT_MSG(false == std::numeric_limits<result_type>::is_integer, "Airy return type must be a floating-point type.");
-
- for(unsigned i = 0; i < number_of_zeros; ++i)
- {
- *out_it = boost::math::airy_ai_zero<result_type>(start_index + i, pol);
- ++out_it;
- }
- return out_it;
-}
-
-template <class T, class OutputIterator>
-inline OutputIterator airy_ai_zero(
- unsigned start_index,
- unsigned number_of_zeros,
- OutputIterator out_it)
-{
- return airy_ai_zero<T>(start_index, number_of_zeros, out_it, policies::policy<>());
-}
-
-template <class T, class Policy>
-inline T airy_bi_zero(unsigned m, const Policy& /*pol*/)
-{
- BOOST_FPU_EXCEPTION_GUARD
- typedef typename policies::evaluation<T, Policy>::type value_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
- BOOST_STATIC_ASSERT_MSG(false == std::numeric_limits<T>::is_integer, "Airy return type must be a floating-point type.");
- return policies::checked_narrowing_cast<T, Policy>(detail::airy_bi_zero_imp<value_type>(m, forwarding_policy()), "boost::math::airy_bi_zero<%1%>(unsigned)");
-}
-
-template <typename T>
-inline T airy_bi_zero(unsigned m)
-{
- return airy_bi_zero<T>(m, policies::policy<>());
-}
-
-template <class T, class OutputIterator, class Policy>
-inline OutputIterator airy_bi_zero(
- unsigned start_index,
- unsigned number_of_zeros,
- OutputIterator out_it,
- const Policy& pol)
-{
- typedef T result_type;
- BOOST_STATIC_ASSERT_MSG(false == std::numeric_limits<result_type>::is_integer, "Airy return type must be a floating-point type.");
-
- for(unsigned i = 0; i < number_of_zeros; ++i)
- {
- *out_it = boost::math::airy_bi_zero<result_type>(start_index + i, pol);
- ++out_it;
- }
- return out_it;
-}
-
-template <class T, class OutputIterator>
-inline OutputIterator airy_bi_zero(
- unsigned start_index,
- unsigned number_of_zeros,
- OutputIterator out_it)
-{
- return airy_bi_zero<T>(start_index, number_of_zeros, out_it, policies::policy<>());
-}
-
-}} // namespaces
-
-#endif // BOOST_MATH_AIRY_HPP
diff --git a/boost/math/special_functions/asinh.hpp b/boost/math/special_functions/asinh.hpp
deleted file mode 100644
index 0534f55..0000000
--- a/boost/math/special_functions/asinh.hpp
+++ /dev/null
@@ -1,117 +0,0 @@
-// boost asinh.hpp header file
-
-// (C) Copyright Eric Ford & Hubert Holin 2001.
-// (C) Copyright John Maddock 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 for updates, documentation, and revision history.
-
-#ifndef BOOST_ASINH_HPP
-#define BOOST_ASINH_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-
-#include <boost/config/no_tr1/cmath.hpp>
-#include <boost/config.hpp>
-#include <boost/math/tools/precision.hpp>
-#include <boost/math/special_functions/math_fwd.hpp>
-#include <boost/math/special_functions/sqrt1pm1.hpp>
-#include <boost/math/special_functions/log1p.hpp>
-#include <boost/math/constants/constants.hpp>
-
-// This is the inverse of the hyperbolic sine function.
-
-namespace boost
-{
- namespace math
- {
- namespace detail{
-#if defined(__GNUC__) && (__GNUC__ < 3)
- // gcc 2.x ignores function scope using declarations,
- // put them in the scope of the enclosing namespace instead:
-
- using ::std::abs;
- using ::std::sqrt;
- using ::std::log;
-
- using ::std::numeric_limits;
-#endif
-
- template<typename T, class Policy>
- inline T asinh_imp(const T x, const Policy& pol)
- {
- BOOST_MATH_STD_USING
-
- if (x >= tools::forth_root_epsilon<T>())
- {
- if (x > 1 / tools::root_epsilon<T>())
- {
- // http://functions.wolfram.com/ElementaryFunctions/ArcSinh/06/01/06/01/0001/
- // approximation by laurent series in 1/x at 0+ order from -1 to 1
- return constants::ln_two<T>() + log(x) + 1/ (4 * x * x);
- }
- else if(x < 0.5f)
- {
- // As below, but rearranged to preserve digits:
- return boost::math::log1p(x + boost::math::sqrt1pm1(x * x, pol), pol);
- }
- else
- {
- // http://functions.wolfram.com/ElementaryFunctions/ArcSinh/02/
- return( log( x + sqrt(x*x+1) ) );
- }
- }
- else if (x <= -tools::forth_root_epsilon<T>())
- {
- return(-asinh(-x, pol));
- }
- else
- {
- // http://functions.wolfram.com/ElementaryFunctions/ArcSinh/06/01/03/01/0001/
- // approximation by taylor series in x at 0 up to order 2
- T result = x;
-
- if (abs(x) >= tools::root_epsilon<T>())
- {
- T x3 = x*x*x;
-
- // approximation by taylor series in x at 0 up to order 4
- result -= x3/static_cast<T>(6);
- }
-
- return(result);
- }
- }
- }
-
- template<typename T>
- inline typename tools::promote_args<T>::type asinh(T x)
- {
- return boost::math::asinh(x, policies::policy<>());
- }
- template<typename T, typename Policy>
- inline typename tools::promote_args<T>::type asinh(T x, const Policy&)
- {
- typedef typename tools::promote_args<T>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
- return policies::checked_narrowing_cast<result_type, forwarding_policy>(
- detail::asinh_imp(static_cast<value_type>(x), forwarding_policy()),
- "boost::math::asinh<%1%>(%1%)");
- }
-
- }
-}
-
-#endif /* BOOST_ASINH_HPP */
-
diff --git a/boost/math/special_functions/atanh.hpp b/boost/math/special_functions/atanh.hpp
deleted file mode 100644
index b06f2ae..0000000
--- a/boost/math/special_functions/atanh.hpp
+++ /dev/null
@@ -1,128 +0,0 @@
-// boost atanh.hpp header file
-
-// (C) Copyright Hubert Holin 2001.
-// (C) Copyright John Maddock 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 for updates, documentation, and revision history.
-
-#ifndef BOOST_ATANH_HPP
-#define BOOST_ATANH_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-
-#include <boost/config/no_tr1/cmath.hpp>
-#include <boost/config.hpp>
-#include <boost/math/tools/precision.hpp>
-#include <boost/math/policies/error_handling.hpp>
-#include <boost/math/special_functions/math_fwd.hpp>
-#include <boost/math/special_functions/log1p.hpp>
-
-// This is the inverse of the hyperbolic tangent function.
-
-namespace boost
-{
- namespace math
- {
- namespace detail
- {
-#if defined(__GNUC__) && (__GNUC__ < 3)
- // gcc 2.x ignores function scope using declarations,
- // put them in the scope of the enclosing namespace instead:
-
- using ::std::abs;
- using ::std::sqrt;
- using ::std::log;
-
- using ::std::numeric_limits;
-#endif
-
- // This is the main fare
-
- template<typename T, typename Policy>
- inline T atanh_imp(const T x, const Policy& pol)
- {
- BOOST_MATH_STD_USING
- static const char* function = "boost::math::atanh<%1%>(%1%)";
-
- if(x < -1)
- {
- return policies::raise_domain_error<T>(
- function,
- "atanh requires x >= -1, but got x = %1%.", x, pol);
- }
- else if(x > 1)
- {
- return policies::raise_domain_error<T>(
- function,
- "atanh requires x <= 1, but got x = %1%.", x, pol);
- }
- else if(x < -1 + tools::epsilon<T>())
- {
- // -Infinity:
- return -policies::raise_overflow_error<T>(function, 0, pol);
- }
- else if(x > 1 - tools::epsilon<T>())
- {
- // Infinity:
- return policies::raise_overflow_error<T>(function, 0, pol);
- }
- else if(abs(x) >= tools::forth_root_epsilon<T>())
- {
- // http://functions.wolfram.com/ElementaryFunctions/ArcTanh/02/
- if(abs(x) < 0.5f)
- return (boost::math::log1p(x, pol) - boost::math::log1p(-x, pol)) / 2;
- return(log( (1 + x) / (1 - x) ) / 2);
- }
- else
- {
- // http://functions.wolfram.com/ElementaryFunctions/ArcTanh/06/01/03/01/
- // approximation by taylor series in x at 0 up to order 2
- T result = x;
-
- if (abs(x) >= tools::root_epsilon<T>())
- {
- T x3 = x*x*x;
-
- // approximation by taylor series in x at 0 up to order 4
- result += x3/static_cast<T>(3);
- }
-
- return(result);
- }
- }
- }
-
- template<typename T, typename Policy>
- inline typename tools::promote_args<T>::type atanh(T x, const Policy&)
- {
- typedef typename tools::promote_args<T>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
- return policies::checked_narrowing_cast<result_type, forwarding_policy>(
- detail::atanh_imp(static_cast<value_type>(x), forwarding_policy()),
- "boost::math::atanh<%1%>(%1%)");
- }
- template<typename T>
- inline typename tools::promote_args<T>::type atanh(T x)
- {
- return boost::math::atanh(x, policies::policy<>());
- }
-
- }
-}
-
-#endif /* BOOST_ATANH_HPP */
-
-
-
diff --git a/boost/math/special_functions/bessel.hpp b/boost/math/special_functions/bessel.hpp
deleted file mode 100644
index ceca309..0000000
--- a/boost/math/special_functions/bessel.hpp
+++ /dev/null
@@ -1,766 +0,0 @@
-// Copyright (c) 2007, 2013 John Maddock
-// Copyright Christopher Kormanyos 2013.
-// 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 just defines the function entry points, and adds dispatch
-// to the right implementation method. Most of the implementation details
-// are in separate headers and copyright Xiaogang Zhang.
-//
-#ifndef BOOST_MATH_BESSEL_HPP
-#define BOOST_MATH_BESSEL_HPP
-
-#ifdef _MSC_VER
-# pragma once
-#endif
-
-#include <boost/math/special_functions/detail/bessel_jy.hpp>
-#include <boost/math/special_functions/detail/bessel_jn.hpp>
-#include <boost/math/special_functions/detail/bessel_yn.hpp>
-#include <boost/math/special_functions/detail/bessel_jy_zero.hpp>
-#include <boost/math/special_functions/detail/bessel_ik.hpp>
-#include <boost/math/special_functions/detail/bessel_i0.hpp>
-#include <boost/math/special_functions/detail/bessel_i1.hpp>
-#include <boost/math/special_functions/detail/bessel_kn.hpp>
-#include <boost/math/special_functions/detail/iconv.hpp>
-#include <boost/math/special_functions/sin_pi.hpp>
-#include <boost/math/special_functions/cos_pi.hpp>
-#include <boost/math/special_functions/sinc.hpp>
-#include <boost/math/special_functions/trunc.hpp>
-#include <boost/math/special_functions/round.hpp>
-#include <boost/math/tools/rational.hpp>
-#include <boost/math/tools/promotion.hpp>
-#include <boost/math/tools/series.hpp>
-#include <boost/math/tools/roots.hpp>
-
-namespace boost{ namespace math{
-
-namespace detail{
-
-template <class T, class Policy>
-struct sph_bessel_j_small_z_series_term
-{
- typedef T result_type;
-
- sph_bessel_j_small_z_series_term(unsigned v_, T x)
- : N(0), v(v_)
- {
- BOOST_MATH_STD_USING
- mult = x / 2;
- if(v + 3 > max_factorial<T>::value)
- {
- term = v * log(mult) - boost::math::lgamma(v+1+T(0.5f), Policy());
- term = exp(term);
- }
- else
- term = pow(mult, T(v)) / boost::math::tgamma(v+1+T(0.5f), Policy());
- mult *= -mult;
- }
- T operator()()
- {
- T r = term;
- ++N;
- term *= mult / (N * T(N + v + 0.5f));
- return r;
- }
-private:
- unsigned N;
- unsigned v;
- T mult;
- T term;
-};
-
-template <class T, class Policy>
-inline T sph_bessel_j_small_z_series(unsigned v, T x, const Policy& pol)
-{
- BOOST_MATH_STD_USING // ADL of std names
- sph_bessel_j_small_z_series_term<T, Policy> s(v, x);
- boost::uintmax_t max_iter = policies::get_max_series_iterations<Policy>();
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582))
- T zero = 0;
- T result = boost::math::tools::sum_series(s, boost::math::policies::get_epsilon<T, Policy>(), max_iter, zero);
-#else
- T result = boost::math::tools::sum_series(s, boost::math::policies::get_epsilon<T, Policy>(), max_iter);
-#endif
- policies::check_series_iterations<T>("boost::math::sph_bessel_j_small_z_series<%1%>(%1%,%1%)", max_iter, pol);
- return result * sqrt(constants::pi<T>() / 4);
-}
-
-template <class T, class Policy>
-T cyl_bessel_j_imp(T v, T x, const bessel_no_int_tag& t, const Policy& pol)
-{
- BOOST_MATH_STD_USING
- static const char* function = "boost::math::bessel_j<%1%>(%1%,%1%)";
- if(x < 0)
- {
- // better have integer v:
- if(floor(v) == v)
- {
- T r = cyl_bessel_j_imp(v, T(-x), t, pol);
- if(iround(v, pol) & 1)
- r = -r;
- return r;
- }
- else
- return policies::raise_domain_error<T>(
- function,
- "Got x = %1%, but we need x >= 0", x, pol);
- }
-
- T j, y;
- bessel_jy(v, x, &j, &y, need_j, pol);
- return j;
-}
-
-template <class T, class Policy>
-inline T cyl_bessel_j_imp(T v, T x, const bessel_maybe_int_tag&, const Policy& pol)
-{
- BOOST_MATH_STD_USING // ADL of std names.
- int ival = detail::iconv(v, pol);
- // If v is an integer, use the integer recursion
- // method, both that and Steeds method are O(v):
- if((0 == v - ival))
- {
- return bessel_jn(ival, x, pol);
- }
- return cyl_bessel_j_imp(v, x, bessel_no_int_tag(), pol);
-}
-
-template <class T, class Policy>
-inline T cyl_bessel_j_imp(int v, T x, const bessel_int_tag&, const Policy& pol)
-{
- BOOST_MATH_STD_USING
- return bessel_jn(v, x, pol);
-}
-
-template <class T, class Policy>
-inline T sph_bessel_j_imp(unsigned n, T x, const Policy& pol)
-{
- BOOST_MATH_STD_USING // ADL of std names
- if(x < 0)
- return policies::raise_domain_error<T>(
- "boost::math::sph_bessel_j<%1%>(%1%,%1%)",
- "Got x = %1%, but function requires x > 0.", x, pol);
- //
- // Special case, n == 0 resolves down to the sinus cardinal of x:
- //
- if(n == 0)
- return boost::math::sinc_pi(x, pol);
- //
- // Special case for x == 0:
- //
- if(x == 0)
- return 0;
- //
- // When x is small we may end up with 0/0, use series evaluation
- // instead, especially as it converges rapidly:
- //
- if(x < 1)
- return sph_bessel_j_small_z_series(n, x, pol);
- //
- // Default case is just a naive evaluation of the definition:
- //
- return sqrt(constants::pi<T>() / (2 * x))
- * cyl_bessel_j_imp(T(T(n)+T(0.5f)), x, bessel_no_int_tag(), pol);
-}
-
-template <class T, class Policy>
-T cyl_bessel_i_imp(T v, T x, const Policy& pol)
-{
- //
- // This handles all the bessel I functions, note that we don't optimise
- // for integer v, other than the v = 0 or 1 special cases, as Millers
- // algorithm is at least as inefficient as the general case (the general
- // case has better error handling too).
- //
- BOOST_MATH_STD_USING
- if(x < 0)
- {
- // better have integer v:
- if(floor(v) == v)
- {
- T r = cyl_bessel_i_imp(v, T(-x), pol);
- if(iround(v, pol) & 1)
- r = -r;
- return r;
- }
- else
- return policies::raise_domain_error<T>(
- "boost::math::cyl_bessel_i<%1%>(%1%,%1%)",
- "Got x = %1%, but we need x >= 0", x, pol);
- }
- if(x == 0)
- {
- return (v == 0) ? 1 : 0;
- }
- if(v == 0.5f)
- {
- // common special case, note try and avoid overflow in exp(x):
- if(x >= tools::log_max_value<T>())
- {
- T e = exp(x / 2);
- return e * (e / sqrt(2 * x * constants::pi<T>()));
- }
- return sqrt(2 / (x * constants::pi<T>())) * sinh(x);
- }
- if(policies::digits<T, Policy>() <= 64)
- {
- if(v == 0)
- {
- return bessel_i0(x);
- }
- if(v == 1)
- {
- return bessel_i1(x);
- }
- }
- if((v > 0) && (x / v < 0.25))
- return bessel_i_small_z_series(v, x, pol);
- T I, K;
- bessel_ik(v, x, &I, &K, need_i, pol);
- return I;
-}
-
-template <class T, class Policy>
-inline T cyl_bessel_k_imp(T v, T x, const bessel_no_int_tag& /* t */, const Policy& pol)
-{
- static const char* function = "boost::math::cyl_bessel_k<%1%>(%1%,%1%)";
- BOOST_MATH_STD_USING
- if(x < 0)
- {
- return policies::raise_domain_error<T>(
- function,
- "Got x = %1%, but we need x > 0", x, pol);
- }
- if(x == 0)
- {
- return (v == 0) ? policies::raise_overflow_error<T>(function, 0, pol)
- : policies::raise_domain_error<T>(
- function,
- "Got x = %1%, but we need x > 0", x, pol);
- }
- T I, K;
- bessel_ik(v, x, &I, &K, need_k, pol);
- return K;
-}
-
-template <class T, class Policy>
-inline T cyl_bessel_k_imp(T v, T x, const bessel_maybe_int_tag&, const Policy& pol)
-{
- BOOST_MATH_STD_USING
- if((floor(v) == v))
- {
- return bessel_kn(itrunc(v), x, pol);
- }
- return cyl_bessel_k_imp(v, x, bessel_no_int_tag(), pol);
-}
-
-template <class T, class Policy>
-inline T cyl_bessel_k_imp(int v, T x, const bessel_int_tag&, const Policy& pol)
-{
- return bessel_kn(v, x, pol);
-}
-
-template <class T, class Policy>
-inline T cyl_neumann_imp(T v, T x, const bessel_no_int_tag&, const Policy& pol)
-{
- static const char* function = "boost::math::cyl_neumann<%1%>(%1%,%1%)";
-
- BOOST_MATH_INSTRUMENT_VARIABLE(v);
- BOOST_MATH_INSTRUMENT_VARIABLE(x);
-
- if(x <= 0)
- {
- return (v == 0) && (x == 0) ?
- policies::raise_overflow_error<T>(function, 0, pol)
- : policies::raise_domain_error<T>(
- function,
- "Got x = %1%, but result is complex for x <= 0", x, pol);
- }
- T j, y;
- bessel_jy(v, x, &j, &y, need_y, pol);
- //
- // Post evaluation check for internal overflow during evaluation,
- // can occur when x is small and v is large, in which case the result
- // is -INF:
- //
- if(!(boost::math::isfinite)(y))
- return -policies::raise_overflow_error<T>(function, 0, pol);
- return y;
-}
-
-template <class T, class Policy>
-inline T cyl_neumann_imp(T v, T x, const bessel_maybe_int_tag&, const Policy& pol)
-{
- BOOST_MATH_STD_USING
-
- BOOST_MATH_INSTRUMENT_VARIABLE(v);
- BOOST_MATH_INSTRUMENT_VARIABLE(x);
-
- if(floor(v) == v)
- {
- if(asymptotic_bessel_large_x_limit(v, x))
- {
- T r = asymptotic_bessel_y_large_x_2(static_cast<T>(abs(v)), x);
- if((v < 0) && (itrunc(v, pol) & 1))
- r = -r;
- BOOST_MATH_INSTRUMENT_VARIABLE(r);
- return r;
- }
- else
- {
- T r = bessel_yn(itrunc(v, pol), x, pol);
- BOOST_MATH_INSTRUMENT_VARIABLE(r);
- return r;
- }
- }
- T r = cyl_neumann_imp<T>(v, x, bessel_no_int_tag(), pol);
- BOOST_MATH_INSTRUMENT_VARIABLE(r);
- return r;
-}
-
-template <class T, class Policy>
-inline T cyl_neumann_imp(int v, T x, const bessel_int_tag&, const Policy& pol)
-{
- BOOST_MATH_STD_USING
-
- BOOST_MATH_INSTRUMENT_VARIABLE(v);
- BOOST_MATH_INSTRUMENT_VARIABLE(x);
-
- if(asymptotic_bessel_large_x_limit(T(v), x))
- {
- T r = asymptotic_bessel_y_large_x_2(static_cast<T>(abs(v)), x);
- if((v < 0) && (v & 1))
- r = -r;
- return r;
- }
- else
- return bessel_yn(v, x, pol);
-}
-
-template <class T, class Policy>
-inline T sph_neumann_imp(unsigned v, T x, const Policy& pol)
-{
- BOOST_MATH_STD_USING // ADL of std names
- static const char* function = "boost::math::sph_neumann<%1%>(%1%,%1%)";
- //
- // Nothing much to do here but check for errors, and
- // evaluate the function's definition directly:
- //
- if(x < 0)
- return policies::raise_domain_error<T>(
- function,
- "Got x = %1%, but function requires x > 0.", x, pol);
-
- if(x < 2 * tools::min_value<T>())
- return -policies::raise_overflow_error<T>(function, 0, pol);
-
- T result = cyl_neumann_imp(T(T(v)+0.5f), x, bessel_no_int_tag(), pol);
- T tx = sqrt(constants::pi<T>() / (2 * x));
-
- if((tx > 1) && (tools::max_value<T>() / tx < result))
- return -policies::raise_overflow_error<T>(function, 0, pol);
-
- return result * tx;
-}
-
-template <class T, class Policy>
-inline T cyl_bessel_j_zero_imp(T v, int m, const Policy& pol)
-{
- BOOST_MATH_STD_USING // ADL of std names, needed for floor.
-
- static const char* function = "boost::math::cyl_bessel_j_zero<%1%>(%1%, int)";
-
- const T half_epsilon(boost::math::tools::epsilon<T>() / 2U);
-
- // Handle non-finite order.
- if (!(boost::math::isfinite)(v) )
- {
- return policies::raise_domain_error<T>(function, "Order argument is %1%, but must be finite >= 0 !", v, pol);
- }
-
- // Handle negative rank.
- if(m < 0)
- {
- // Zeros of Jv(x) with negative rank are not defined and requesting one raises a domain error.
- return policies::raise_domain_error<T>(function, "Requested the %1%'th zero, but the rank must be positive !", m, pol);
- }
-
- // Get the absolute value of the order.
- const bool order_is_negative = (v < 0);
- const T vv((!order_is_negative) ? v : T(-v));
-
- // Check if the order is very close to zero or very close to an integer.
- const bool order_is_zero = (vv < half_epsilon);
- const bool order_is_integer = ((vv - floor(vv)) < half_epsilon);
-
- if(m == 0)
- {
- if(order_is_zero)
- {
- // The zero'th zero of J0(x) is not defined and requesting it raises a domain error.
- return policies::raise_domain_error<T>(function, "Requested the %1%'th zero of J0, but the rank must be > 0 !", m, pol);
- }
-
- // The zero'th zero of Jv(x) for v < 0 is not defined
- // unless the order is a negative integer.
- if(order_is_negative && (!order_is_integer))
- {
- // For non-integer, negative order, requesting the zero'th zero raises a domain error.
- return policies::raise_domain_error<T>(function, "Requested the %1%'th zero of Jv for negative, non-integer order, but the rank must be > 0 !", m, pol);
- }
-
- // The zero'th zero does exist and its value is zero.
- return T(0);
- }
-
- // Set up the initial guess for the upcoming root-finding.
- // If the order is a negative integer, then use the corresponding
- // positive integer for the order.
- const T guess_root = boost::math::detail::bessel_zero::cyl_bessel_j_zero_detail::initial_guess<T, Policy>((order_is_integer ? vv : v), m, pol);
-
- // Select the maximum allowed iterations from the policy.
- boost::uintmax_t number_of_iterations = policies::get_max_root_iterations<Policy>();
-
- // Select the desired number of binary digits of precision.
- // Account for the radix of number representations having non-two radix!
- const int my_digits2 = policies::digits<T, Policy>();
-
- const T delta_lo = ((guess_root > 0.2F) ? T(0.2) : T(guess_root / 2U));
-
- // Perform the root-finding using Newton-Raphson iteration from Boost.Math.
- const T jvm =
- boost::math::tools::newton_raphson_iterate(
- boost::math::detail::bessel_zero::cyl_bessel_j_zero_detail::function_object_jv_and_jv_prime<T, Policy>((order_is_integer ? vv : v), order_is_zero, pol),
- guess_root,
- T(guess_root - delta_lo),
- T(guess_root + 0.2F),
- my_digits2,
- number_of_iterations);
-
- if(number_of_iterations >= policies::get_max_root_iterations<Policy>())
- {
- policies::raise_evaluation_error<T>(function, "Unable to locate root in a reasonable time:"
- " Current best guess is %1%", jvm, Policy());
- }
-
- return jvm;
-}
-
-template <class T, class Policy>
-inline T cyl_neumann_zero_imp(T v, int m, const Policy& pol)
-{
- BOOST_MATH_STD_USING // ADL of std names, needed for floor.
-
- static const char* function = "boost::math::cyl_neumann_zero<%1%>(%1%, int)";
-
- // Handle non-finite order.
- if (!(boost::math::isfinite)(v) )
- {
- return policies::raise_domain_error<T>(function, "Order argument is %1%, but must be finite >= 0 !", v, pol);
- }
-
- // Handle negative rank.
- if(m < 0)
- {
- return policies::raise_domain_error<T>(function, "Requested the %1%'th zero, but the rank must be positive !", m, pol);
- }
-
- const T half_epsilon(boost::math::tools::epsilon<T>() / 2U);
-
- // Get the absolute value of the order.
- const bool order_is_negative = (v < 0);
- const T vv((!order_is_negative) ? v : T(-v));
-
- const bool order_is_integer = ((vv - floor(vv)) < half_epsilon);
-
- // For negative integers, use reflection to positive integer order.
- if(order_is_negative && order_is_integer)
- return boost::math::detail::cyl_neumann_zero_imp(vv, m, pol);
-
- // Check if the order is very close to a negative half-integer.
- const T delta_half_integer(vv - (floor(vv) + 0.5F));
-
- const bool order_is_negative_half_integer =
- (order_is_negative && ((delta_half_integer > -half_epsilon) && (delta_half_integer < +half_epsilon)));
-
- // The zero'th zero of Yv(x) for v < 0 is not defined
- // unless the order is a negative integer.
- if((m == 0) && (!order_is_negative_half_integer))
- {
- // For non-integer, negative order, requesting the zero'th zero raises a domain error.
- return policies::raise_domain_error<T>(function, "Requested the %1%'th zero of Yv for negative, non-half-integer order, but the rank must be > 0 !", m, pol);
- }
-
- // For negative half-integers, use the corresponding
- // spherical Bessel function of positive half-integer order.
- if(order_is_negative_half_integer)
- return boost::math::detail::cyl_bessel_j_zero_imp(vv, m, pol);
-
- // Set up the initial guess for the upcoming root-finding.
- // If the order is a negative integer, then use the corresponding
- // positive integer for the order.
- const T guess_root = boost::math::detail::bessel_zero::cyl_neumann_zero_detail::initial_guess<T, Policy>(v, m, pol);
-
- // Select the maximum allowed iterations from the policy.
- boost::uintmax_t number_of_iterations = policies::get_max_root_iterations<Policy>();
-
- // Select the desired number of binary digits of precision.
- // Account for the radix of number representations having non-two radix!
- const int my_digits2 = policies::digits<T, Policy>();
-
- const T delta_lo = ((guess_root > 0.2F) ? T(0.2) : T(guess_root / 2U));
-
- // Perform the root-finding using Newton-Raphson iteration from Boost.Math.
- const T yvm =
- boost::math::tools::newton_raphson_iterate(
- boost::math::detail::bessel_zero::cyl_neumann_zero_detail::function_object_yv_and_yv_prime<T, Policy>(v, pol),
- guess_root,
- T(guess_root - delta_lo),
- T(guess_root + 0.2F),
- my_digits2,
- number_of_iterations);
-
- if(number_of_iterations >= policies::get_max_root_iterations<Policy>())
- {
- policies::raise_evaluation_error<T>(function, "Unable to locate root in a reasonable time:"
- " Current best guess is %1%", yvm, Policy());
- }
-
- return yvm;
-}
-
-} // namespace detail
-
-template <class T1, class T2, class Policy>
-inline typename detail::bessel_traits<T1, T2, Policy>::result_type cyl_bessel_j(T1 v, T2 x, const Policy& /* pol */)
-{
- BOOST_FPU_EXCEPTION_GUARD
- typedef typename detail::bessel_traits<T1, T2, Policy>::result_type result_type;
- typedef typename detail::bessel_traits<T1, T2, Policy>::optimisation_tag tag_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
- return policies::checked_narrowing_cast<result_type, Policy>(detail::cyl_bessel_j_imp<value_type>(v, static_cast<value_type>(x), tag_type(), forwarding_policy()), "boost::math::cyl_bessel_j<%1%>(%1%,%1%)");
-}
-
-template <class T1, class T2>
-inline typename detail::bessel_traits<T1, T2, policies::policy<> >::result_type cyl_bessel_j(T1 v, T2 x)
-{
- return cyl_bessel_j(v, x, policies::policy<>());
-}
-
-template <class T, class Policy>
-inline typename detail::bessel_traits<T, T, Policy>::result_type sph_bessel(unsigned v, T x, const Policy& /* pol */)
-{
- BOOST_FPU_EXCEPTION_GUARD
- typedef typename detail::bessel_traits<T, T, Policy>::result_type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
- return policies::checked_narrowing_cast<result_type, Policy>(detail::sph_bessel_j_imp<value_type>(v, static_cast<value_type>(x), forwarding_policy()), "boost::math::sph_bessel<%1%>(%1%,%1%)");
-}
-
-template <class T>
-inline typename detail::bessel_traits<T, T, policies::policy<> >::result_type sph_bessel(unsigned v, T x)
-{
- return sph_bessel(v, x, policies::policy<>());
-}
-
-template <class T1, class T2, class Policy>
-inline typename detail::bessel_traits<T1, T2, Policy>::result_type cyl_bessel_i(T1 v, T2 x, const Policy& /* pol */)
-{
- BOOST_FPU_EXCEPTION_GUARD
- typedef typename detail::bessel_traits<T1, T2, Policy>::result_type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
- return policies::checked_narrowing_cast<result_type, Policy>(detail::cyl_bessel_i_imp<value_type>(v, static_cast<value_type>(x), forwarding_policy()), "boost::math::cyl_bessel_i<%1%>(%1%,%1%)");
-}
-
-template <class T1, class T2>
-inline typename detail::bessel_traits<T1, T2, policies::policy<> >::result_type cyl_bessel_i(T1 v, T2 x)
-{
- return cyl_bessel_i(v, x, policies::policy<>());
-}
-
-template <class T1, class T2, class Policy>
-inline typename detail::bessel_traits<T1, T2, Policy>::result_type cyl_bessel_k(T1 v, T2 x, const Policy& /* pol */)
-{
- BOOST_FPU_EXCEPTION_GUARD
- typedef typename detail::bessel_traits<T1, T2, Policy>::result_type result_type;
- typedef typename detail::bessel_traits<T1, T2, Policy>::optimisation_tag tag_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
- return policies::checked_narrowing_cast<result_type, Policy>(detail::cyl_bessel_k_imp<value_type>(v, static_cast<value_type>(x), tag_type(), forwarding_policy()), "boost::math::cyl_bessel_k<%1%>(%1%,%1%)");
-}
-
-template <class T1, class T2>
-inline typename detail::bessel_traits<T1, T2, policies::policy<> >::result_type cyl_bessel_k(T1 v, T2 x)
-{
- return cyl_bessel_k(v, x, policies::policy<>());
-}
-
-template <class T1, class T2, class Policy>
-inline typename detail::bessel_traits<T1, T2, Policy>::result_type cyl_neumann(T1 v, T2 x, const Policy& /* pol */)
-{
- BOOST_FPU_EXCEPTION_GUARD
- typedef typename detail::bessel_traits<T1, T2, Policy>::result_type result_type;
- typedef typename detail::bessel_traits<T1, T2, Policy>::optimisation_tag tag_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
- return policies::checked_narrowing_cast<result_type, Policy>(detail::cyl_neumann_imp<value_type>(v, static_cast<value_type>(x), tag_type(), forwarding_policy()), "boost::math::cyl_neumann<%1%>(%1%,%1%)");
-}
-
-template <class T1, class T2>
-inline typename detail::bessel_traits<T1, T2, policies::policy<> >::result_type cyl_neumann(T1 v, T2 x)
-{
- return cyl_neumann(v, x, policies::policy<>());
-}
-
-template <class T, class Policy>
-inline typename detail::bessel_traits<T, T, Policy>::result_type sph_neumann(unsigned v, T x, const Policy& /* pol */)
-{
- BOOST_FPU_EXCEPTION_GUARD
- typedef typename detail::bessel_traits<T, T, Policy>::result_type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
- return policies::checked_narrowing_cast<result_type, Policy>(detail::sph_neumann_imp<value_type>(v, static_cast<value_type>(x), forwarding_policy()), "boost::math::sph_neumann<%1%>(%1%,%1%)");
-}
-
-template <class T>
-inline typename detail::bessel_traits<T, T, policies::policy<> >::result_type sph_neumann(unsigned v, T x)
-{
- return sph_neumann(v, x, policies::policy<>());
-}
-
-template <class T, class Policy>
-inline typename detail::bessel_traits<T, T, Policy>::result_type cyl_bessel_j_zero(T v, int m, const Policy& /* pol */)
-{
- BOOST_FPU_EXCEPTION_GUARD
- typedef typename detail::bessel_traits<T, T, Policy>::result_type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
- BOOST_STATIC_ASSERT_MSG(false == std::numeric_limits<value_type>::is_integer, "Order must be a floating-point type.");
- return policies::checked_narrowing_cast<result_type, Policy>(detail::cyl_bessel_j_zero_imp<value_type>(v, m, forwarding_policy()), "boost::math::cyl_bessel_j_zero<%1%>(%1%,%1%)");
-}
-
-template <class T>
-inline typename detail::bessel_traits<T, T, policies::policy<> >::result_type cyl_bessel_j_zero(T v, int m)
-{
- BOOST_STATIC_ASSERT_MSG(false == std::numeric_limits<T>::is_integer, "Order must be a floating-point type.");
- return cyl_bessel_j_zero<T, policies::policy<> >(v, m, policies::policy<>());
-}
-
-template <class T, class OutputIterator, class Policy>
-inline OutputIterator cyl_bessel_j_zero(T v,
- int start_index,
- unsigned number_of_zeros,
- OutputIterator out_it,
- const Policy& pol)
-{
- BOOST_STATIC_ASSERT_MSG(false == std::numeric_limits<T>::is_integer, "Order must be a floating-point type.");
- for(unsigned i = 0; i < number_of_zeros; ++i)
- {
- *out_it = boost::math::cyl_bessel_j_zero(v, start_index + i, pol);
- ++out_it;
- }
- return out_it;
-}
-
-template <class T, class OutputIterator>
-inline OutputIterator cyl_bessel_j_zero(T v,
- int start_index,
- unsigned number_of_zeros,
- OutputIterator out_it)
-{
- return cyl_bessel_j_zero(v, start_index, number_of_zeros, out_it, policies::policy<>());
-}
-
-template <class T, class Policy>
-inline typename detail::bessel_traits<T, T, Policy>::result_type cyl_neumann_zero(T v, int m, const Policy& /* pol */)
-{
- BOOST_FPU_EXCEPTION_GUARD
- typedef typename detail::bessel_traits<T, T, Policy>::result_type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
- BOOST_STATIC_ASSERT_MSG(false == std::numeric_limits<value_type>::is_integer, "Order must be a floating-point type.");
- return policies::checked_narrowing_cast<result_type, Policy>(detail::cyl_neumann_zero_imp<value_type>(v, m, forwarding_policy()), "boost::math::cyl_neumann_zero<%1%>(%1%,%1%)");
-}
-
-template <class T>
-inline typename detail::bessel_traits<T, T, policies::policy<> >::result_type cyl_neumann_zero(T v, int m)
-{
- BOOST_STATIC_ASSERT_MSG(false == std::numeric_limits<T>::is_integer, "Order must be a floating-point type.");
- return cyl_neumann_zero<T, policies::policy<> >(v, m, policies::policy<>());
-}
-
-template <class T, class OutputIterator, class Policy>
-inline OutputIterator cyl_neumann_zero(T v,
- int start_index,
- unsigned number_of_zeros,
- OutputIterator out_it,
- const Policy& pol)
-{
- BOOST_STATIC_ASSERT_MSG(false == std::numeric_limits<T>::is_integer, "Order must be a floating-point type.");
- for(unsigned i = 0; i < number_of_zeros; ++i)
- {
- *out_it = boost::math::cyl_neumann_zero(v, start_index + i, pol);
- ++out_it;
- }
- return out_it;
-}
-
-template <class T, class OutputIterator>
-inline OutputIterator cyl_neumann_zero(T v,
- int start_index,
- unsigned number_of_zeros,
- OutputIterator out_it)
-{
- return cyl_neumann_zero(v, start_index, number_of_zeros, out_it, policies::policy<>());
-}
-
-} // namespace math
-} // namespace boost
-
-#endif // BOOST_MATH_BESSEL_HPP
-
-
diff --git a/boost/math/special_functions/beta.hpp b/boost/math/special_functions/beta.hpp
deleted file mode 100644
index f542a2a..0000000
--- a/boost/math/special_functions/beta.hpp
+++ /dev/null
@@ -1,1490 +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_SPECIAL_BETA_HPP
-#define BOOST_MATH_SPECIAL_BETA_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/math/special_functions/math_fwd.hpp>
-#include <boost/math/tools/config.hpp>
-#include <boost/math/special_functions/gamma.hpp>
-#include <boost/math/special_functions/factorials.hpp>
-#include <boost/math/special_functions/erf.hpp>
-#include <boost/math/special_functions/log1p.hpp>
-#include <boost/math/special_functions/expm1.hpp>
-#include <boost/math/special_functions/trunc.hpp>
-#include <boost/math/tools/roots.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/config/no_tr1/cmath.hpp>
-
-namespace boost{ namespace math{
-
-namespace detail{
-
-//
-// Implementation of Beta(a,b) using the Lanczos approximation:
-//
-template <class T, class Lanczos, class Policy>
-T beta_imp(T a, T b, const Lanczos&, const Policy& pol)
-{
- BOOST_MATH_STD_USING // for ADL of std names
-
- if(a <= 0)
- policies::raise_domain_error<T>("boost::math::beta<%1%>(%1%,%1%)", "The arguments to the beta function must be greater than zero (got a=%1%).", a, pol);
- if(b <= 0)
- policies::raise_domain_error<T>("boost::math::beta<%1%>(%1%,%1%)", "The arguments to the beta function must be greater than zero (got b=%1%).", b, pol);
-
- T result;
-
- T prefix = 1;
- T c = a + b;
-
- // Special cases:
- if((c == a) && (b < tools::epsilon<T>()))
- return boost::math::tgamma(b, pol);
- else if((c == b) && (a < tools::epsilon<T>()))
- return boost::math::tgamma(a, pol);
- if(b == 1)
- return 1/a;
- else if(a == 1)
- return 1/b;
-
- /*
- //
- // This code appears to be no longer necessary: it was
- // used to offset errors introduced from the Lanczos
- // approximation, but the current Lanczos approximations
- // are sufficiently accurate for all z that we can ditch
- // this. It remains in the file for future reference...
- //
- // If a or b are less than 1, shift to greater than 1:
- if(a < 1)
- {
- prefix *= c / a;
- c += 1;
- a += 1;
- }
- if(b < 1)
- {
- prefix *= c / b;
- c += 1;
- b += 1;
- }
- */
-
- if(a < b)
- std::swap(a, b);
-
- // Lanczos calculation:
- T agh = a + Lanczos::g() - T(0.5);
- T bgh = b + Lanczos::g() - T(0.5);
- T cgh = c + Lanczos::g() - T(0.5);
- result = Lanczos::lanczos_sum_expG_scaled(a) * Lanczos::lanczos_sum_expG_scaled(b) / Lanczos::lanczos_sum_expG_scaled(c);
- T ambh = a - T(0.5) - b;
- if((fabs(b * ambh) < (cgh * 100)) && (a > 100))
- {
- // Special case where the base of the power term is close to 1
- // compute (1+x)^y instead:
- result *= exp(ambh * boost::math::log1p(-b / cgh, pol));
- }
- else
- {
- result *= pow(agh / cgh, a - T(0.5) - b);
- }
- if(cgh > 1e10f)
- // this avoids possible overflow, but appears to be marginally less accurate:
- result *= pow((agh / cgh) * (bgh / cgh), b);
- else
- result *= pow((agh * bgh) / (cgh * cgh), b);
- result *= sqrt(boost::math::constants::e<T>() / bgh);
-
- // If a and b were originally less than 1 we need to scale the result:
- result *= prefix;
-
- return result;
-} // template <class T, class Lanczos> beta_imp(T a, T b, const Lanczos&)
-
-//
-// Generic implementation of Beta(a,b) without Lanczos approximation support
-// (Caution this is slow!!!):
-//
-template <class T, class Policy>
-T beta_imp(T a, T b, const lanczos::undefined_lanczos& /* l */, const Policy& pol)
-{
- BOOST_MATH_STD_USING
-
- if(a <= 0)
- policies::raise_domain_error<T>("boost::math::beta<%1%>(%1%,%1%)", "The arguments to the beta function must be greater than zero (got a=%1%).", a, pol);
- if(b <= 0)
- policies::raise_domain_error<T>("boost::math::beta<%1%>(%1%,%1%)", "The arguments to the beta function must be greater than zero (got b=%1%).", b, pol);
-
- T result;
-
- T prefix = 1;
- T c = a + b;
-
- // special cases:
- if((c == a) && (b < tools::epsilon<T>()))
- return boost::math::tgamma(b, pol);
- else if((c == b) && (a < tools::epsilon<T>()))
- return boost::math::tgamma(a, pol);
- if(b == 1)
- return 1/a;
- else if(a == 1)
- return 1/b;
-
- // shift to a and b > 1 if required:
- if(a < 1)
- {
- prefix *= c / a;
- c += 1;
- a += 1;
- }
- if(b < 1)
- {
- prefix *= c / b;
- c += 1;
- b += 1;
- }
- if(a < b)
- std::swap(a, b);
-
- // set integration limits:
- T la = (std::max)(T(10), a);
- T lb = (std::max)(T(10), b);
- T lc = (std::max)(T(10), T(a+b));
-
- // calculate the fraction parts:
- T sa = detail::lower_gamma_series(a, la, pol) / a;
- sa += detail::upper_gamma_fraction(a, la, ::boost::math::policies::get_epsilon<T, Policy>());
- T sb = detail::lower_gamma_series(b, lb, pol) / b;
- sb += detail::upper_gamma_fraction(b, lb, ::boost::math::policies::get_epsilon<T, Policy>());
- T sc = detail::lower_gamma_series(c, lc, pol) / c;
- sc += detail::upper_gamma_fraction(c, lc, ::boost::math::policies::get_epsilon<T, Policy>());
-
- // and the exponent part:
- result = exp(lc - la - lb) * pow(la/lc, a) * pow(lb/lc, b);
-
- // and combine:
- result *= sa * sb / sc;
-
- // if a and b were originally less than 1 we need to scale the result:
- result *= prefix;
-
- return result;
-} // template <class T>T beta_imp(T a, T b, const lanczos::undefined_lanczos& l)
-
-
-//
-// Compute the leading power terms in the incomplete Beta:
-//
-// (x^a)(y^b)/Beta(a,b) when normalised, and
-// (x^a)(y^b) otherwise.
-//
-// Almost all of the error in the incomplete beta comes from this
-// function: particularly when a and b are large. Computing large
-// powers are *hard* though, and using logarithms just leads to
-// horrendous cancellation errors.
-//
-template <class T, class Lanczos, class Policy>
-T ibeta_power_terms(T a,
- T b,
- T x,
- T y,
- const Lanczos&,
- bool normalised,
- const Policy& pol)
-{
- BOOST_MATH_STD_USING
-
- if(!normalised)
- {
- // can we do better here?
- return pow(x, a) * pow(y, b);
- }
-
- T result;
-
- T prefix = 1;
- T c = a + b;
-
- // combine power terms with Lanczos approximation:
- T agh = a + Lanczos::g() - T(0.5);
- T bgh = b + Lanczos::g() - T(0.5);
- T cgh = c + Lanczos::g() - T(0.5);
- result = Lanczos::lanczos_sum_expG_scaled(c) / (Lanczos::lanczos_sum_expG_scaled(a) * Lanczos::lanczos_sum_expG_scaled(b));
-
- // l1 and l2 are the base of the exponents minus one:
- T l1 = (x * b - y * agh) / agh;
- T l2 = (y * a - x * bgh) / bgh;
- if(((std::min)(fabs(l1), fabs(l2)) < 0.2))
- {
- // when the base of the exponent is very near 1 we get really
- // gross errors unless extra care is taken:
- if((l1 * l2 > 0) || ((std::min)(a, b) < 1))
- {
- //
- // This first branch handles the simple cases where either:
- //
- // * The two power terms both go in the same direction
- // (towards zero or towards infinity). In this case if either
- // term overflows or underflows, then the product of the two must
- // do so also.
- // *Alternatively if one exponent is less than one, then we
- // can't productively use it to eliminate overflow or underflow
- // from the other term. Problems with spurious overflow/underflow
- // can't be ruled out in this case, but it is *very* unlikely
- // since one of the power terms will evaluate to a number close to 1.
- //
- if(fabs(l1) < 0.1)
- {
- result *= exp(a * boost::math::log1p(l1, pol));
- BOOST_MATH_INSTRUMENT_VARIABLE(result);
- }
- else
- {
- result *= pow((x * cgh) / agh, a);
- BOOST_MATH_INSTRUMENT_VARIABLE(result);
- }
- if(fabs(l2) < 0.1)
- {
- result *= exp(b * boost::math::log1p(l2, pol));
- BOOST_MATH_INSTRUMENT_VARIABLE(result);
- }
- else
- {
- result *= pow((y * cgh) / bgh, b);
- BOOST_MATH_INSTRUMENT_VARIABLE(result);
- }
- }
- else if((std::max)(fabs(l1), fabs(l2)) < 0.5)
- {
- //
- // Both exponents are near one and both the exponents are
- // greater than one and further these two
- // power terms tend in opposite directions (one towards zero,
- // the other towards infinity), so we have to combine the terms
- // to avoid any risk of overflow or underflow.
- //
- // We do this by moving one power term inside the other, we have:
- //
- // (1 + l1)^a * (1 + l2)^b
- // = ((1 + l1)*(1 + l2)^(b/a))^a
- // = (1 + l1 + l3 + l1*l3)^a ; l3 = (1 + l2)^(b/a) - 1
- // = exp((b/a) * log(1 + l2)) - 1
- //
- // The tricky bit is deciding which term to move inside :-)
- // By preference we move the larger term inside, so that the
- // size of the largest exponent is reduced. However, that can
- // only be done as long as l3 (see above) is also small.
- //
- bool small_a = a < b;
- T ratio = b / a;
- if((small_a && (ratio * l2 < 0.1)) || (!small_a && (l1 / ratio > 0.1)))
- {
- T l3 = boost::math::expm1(ratio * boost::math::log1p(l2, pol), pol);
- l3 = l1 + l3 + l3 * l1;
- l3 = a * boost::math::log1p(l3, pol);
- result *= exp(l3);
- BOOST_MATH_INSTRUMENT_VARIABLE(result);
- }
- else
- {
- T l3 = boost::math::expm1(boost::math::log1p(l1, pol) / ratio, pol);
- l3 = l2 + l3 + l3 * l2;
- l3 = b * boost::math::log1p(l3, pol);
- result *= exp(l3);
- BOOST_MATH_INSTRUMENT_VARIABLE(result);
- }
- }
- else if(fabs(l1) < fabs(l2))
- {
- // First base near 1 only:
- T l = a * boost::math::log1p(l1, pol)
- + b * log((y * cgh) / bgh);
- result *= exp(l);
- BOOST_MATH_INSTRUMENT_VARIABLE(result);
- }
- else
- {
- // Second base near 1 only:
- T l = b * boost::math::log1p(l2, pol)
- + a * log((x * cgh) / agh);
- result *= exp(l);
- BOOST_MATH_INSTRUMENT_VARIABLE(result);
- }
- }
- else
- {
- // general case:
- T b1 = (x * cgh) / agh;
- T b2 = (y * cgh) / bgh;
- l1 = a * log(b1);
- l2 = b * log(b2);
- BOOST_MATH_INSTRUMENT_VARIABLE(b1);
- BOOST_MATH_INSTRUMENT_VARIABLE(b2);
- BOOST_MATH_INSTRUMENT_VARIABLE(l1);
- BOOST_MATH_INSTRUMENT_VARIABLE(l2);
- if((l1 >= tools::log_max_value<T>())
- || (l1 <= tools::log_min_value<T>())
- || (l2 >= tools::log_max_value<T>())
- || (l2 <= tools::log_min_value<T>())
- )
- {
- // Oops, overflow, sidestep:
- if(a < b)
- result *= pow(pow(b2, b/a) * b1, a);
- else
- result *= pow(pow(b1, a/b) * b2, b);
- BOOST_MATH_INSTRUMENT_VARIABLE(result);
- }
- else
- {
- // finally the normal case:
- result *= pow(b1, a) * pow(b2, b);
- BOOST_MATH_INSTRUMENT_VARIABLE(result);
- }
- }
- // combine with the leftover terms from the Lanczos approximation:
- result *= sqrt(bgh / boost::math::constants::e<T>());
- result *= sqrt(agh / cgh);
- result *= prefix;
-
- BOOST_MATH_INSTRUMENT_VARIABLE(result);
-
- return result;
-}
-//
-// Compute the leading power terms in the incomplete Beta:
-//
-// (x^a)(y^b)/Beta(a,b) when normalised, and
-// (x^a)(y^b) otherwise.
-//
-// Almost all of the error in the incomplete beta comes from this
-// function: particularly when a and b are large. Computing large
-// powers are *hard* though, and using logarithms just leads to
-// horrendous cancellation errors.
-//
-// This version is generic, slow, and does not use the Lanczos approximation.
-//
-template <class T, class Policy>
-T ibeta_power_terms(T a,
- T b,
- T x,
- T y,
- const boost::math::lanczos::undefined_lanczos&,
- bool normalised,
- const Policy& pol)
-{
- BOOST_MATH_STD_USING
-
- if(!normalised)
- {
- return pow(x, a) * pow(y, b);
- }
-
- T result= 0; // assignment here silences warnings later
-
- T c = a + b;
-
- // integration limits for the gamma functions:
- //T la = (std::max)(T(10), a);
- //T lb = (std::max)(T(10), b);
- //T lc = (std::max)(T(10), a+b);
- T la = a + 5;
- T lb = b + 5;
- T lc = a + b + 5;
- // gamma function partials:
- T sa = detail::lower_gamma_series(a, la, pol) / a;
- sa += detail::upper_gamma_fraction(a, la, ::boost::math::policies::get_epsilon<T, Policy>());
- T sb = detail::lower_gamma_series(b, lb, pol) / b;
- sb += detail::upper_gamma_fraction(b, lb, ::boost::math::policies::get_epsilon<T, Policy>());
- T sc = detail::lower_gamma_series(c, lc, pol) / c;
- sc += detail::upper_gamma_fraction(c, lc, ::boost::math::policies::get_epsilon<T, Policy>());
- // gamma function powers combined with incomplete beta powers:
-
- T b1 = (x * lc) / la;
- T b2 = (y * lc) / lb;
- T e1 = lc - la - lb;
- T lb1 = a * log(b1);
- T lb2 = b * log(b2);
-
- if((lb1 >= tools::log_max_value<T>())
- || (lb1 <= tools::log_min_value<T>())
- || (lb2 >= tools::log_max_value<T>())
- || (lb2 <= tools::log_min_value<T>())
- || (e1 >= tools::log_max_value<T>())
- || (e1 <= tools::log_min_value<T>())
- )
- {
- result = exp(lb1 + lb2 - e1);
- }
- else
- {
- T p1, p2;
- if((fabs(b1 - 1) * a < 10) && (a > 1))
- p1 = exp(a * boost::math::log1p((x * b - y * la) / la, pol));
- else
- p1 = pow(b1, a);
- if((fabs(b2 - 1) * b < 10) && (b > 1))
- p2 = exp(b * boost::math::log1p((y * a - x * lb) / lb, pol));
- else
- p2 = pow(b2, b);
- T p3 = exp(e1);
- result = p1 * p2 / p3;
- }
- // and combine with the remaining gamma function components:
- result /= sa * sb / sc;
-
- return result;
-}
-//
-// Series approximation to the incomplete beta:
-//
-template <class T>
-struct ibeta_series_t
-{
- typedef T result_type;
- ibeta_series_t(T a_, T b_, T x_, T mult) : result(mult), x(x_), apn(a_), poch(1-b_), n(1) {}
- T operator()()
- {
- T r = result / apn;
- apn += 1;
- result *= poch * x / n;
- ++n;
- poch += 1;
- return r;
- }
-private:
- T result, x, apn, poch;
- int n;
-};
-
-template <class T, class Lanczos, class Policy>
-T ibeta_series(T a, T b, T x, T s0, const Lanczos&, bool normalised, T* p_derivative, T y, const Policy& pol)
-{
- BOOST_MATH_STD_USING
-
- T result;
-
- BOOST_ASSERT((p_derivative == 0) || normalised);
-
- if(normalised)
- {
- T c = a + b;
-
- // incomplete beta power term, combined with the Lanczos approximation:
- T agh = a + Lanczos::g() - T(0.5);
- T bgh = b + Lanczos::g() - T(0.5);
- T cgh = c + Lanczos::g() - T(0.5);
- result = Lanczos::lanczos_sum_expG_scaled(c) / (Lanczos::lanczos_sum_expG_scaled(a) * Lanczos::lanczos_sum_expG_scaled(b));
- if(a * b < bgh * 10)
- result *= exp((b - 0.5f) * boost::math::log1p(a / bgh, pol));
- else
- result *= pow(cgh / bgh, b - 0.5f);
- result *= pow(x * cgh / agh, a);
- result *= sqrt(agh / boost::math::constants::e<T>());
-
- if(p_derivative)
- {
- *p_derivative = result * pow(y, b);
- BOOST_ASSERT(*p_derivative >= 0);
- }
- }
- else
- {
- // Non-normalised, just compute the power:
- result = pow(x, a);
- }
- if(result < tools::min_value<T>())
- return s0; // Safeguard: series can't cope with denorms.
- ibeta_series_t<T> s(a, b, x, result);
- boost::uintmax_t max_iter = policies::get_max_series_iterations<Policy>();
- result = boost::math::tools::sum_series(s, boost::math::policies::get_epsilon<T, Policy>(), max_iter, s0);
- policies::check_series_iterations<T>("boost::math::ibeta<%1%>(%1%, %1%, %1%) in ibeta_series (with lanczos)", max_iter, pol);
- return result;
-}
-//
-// Incomplete Beta series again, this time without Lanczos support:
-//
-template <class T, class Policy>
-T ibeta_series(T a, T b, T x, T s0, const boost::math::lanczos::undefined_lanczos&, bool normalised, T* p_derivative, T y, const Policy& pol)
-{
- BOOST_MATH_STD_USING
-
- T result;
- BOOST_ASSERT((p_derivative == 0) || normalised);
-
- if(normalised)
- {
- T c = a + b;
-
- // figure out integration limits for the gamma function:
- //T la = (std::max)(T(10), a);
- //T lb = (std::max)(T(10), b);
- //T lc = (std::max)(T(10), a+b);
- T la = a + 5;
- T lb = b + 5;
- T lc = a + b + 5;
-
- // calculate the gamma parts:
- T sa = detail::lower_gamma_series(a, la, pol) / a;
- sa += detail::upper_gamma_fraction(a, la, ::boost::math::policies::get_epsilon<T, Policy>());
- T sb = detail::lower_gamma_series(b, lb, pol) / b;
- sb += detail::upper_gamma_fraction(b, lb, ::boost::math::policies::get_epsilon<T, Policy>());
- T sc = detail::lower_gamma_series(c, lc, pol) / c;
- sc += detail::upper_gamma_fraction(c, lc, ::boost::math::policies::get_epsilon<T, Policy>());
-
- // and their combined power-terms:
- T b1 = (x * lc) / la;
- T b2 = lc/lb;
- T e1 = lc - la - lb;
- T lb1 = a * log(b1);
- T lb2 = b * log(b2);
-
- if((lb1 >= tools::log_max_value<T>())
- || (lb1 <= tools::log_min_value<T>())
- || (lb2 >= tools::log_max_value<T>())
- || (lb2 <= tools::log_min_value<T>())
- || (e1 >= tools::log_max_value<T>())
- || (e1 <= tools::log_min_value<T>()) )
- {
- T p = lb1 + lb2 - e1;
- result = exp(p);
- }
- else
- {
- result = pow(b1, a);
- if(a * b < lb * 10)
- result *= exp(b * boost::math::log1p(a / lb, pol));
- else
- result *= pow(b2, b);
- result /= exp(e1);
- }
- // and combine the results:
- result /= sa * sb / sc;
-
- if(p_derivative)
- {
- *p_derivative = result * pow(y, b);
- BOOST_ASSERT(*p_derivative >= 0);
- }
- }
- else
- {
- // Non-normalised, just compute the power:
- result = pow(x, a);
- }
- if(result < tools::min_value<T>())
- return s0; // Safeguard: series can't cope with denorms.
- ibeta_series_t<T> s(a, b, x, result);
- boost::uintmax_t max_iter = policies::get_max_series_iterations<Policy>();
- result = boost::math::tools::sum_series(s, boost::math::policies::get_epsilon<T, Policy>(), max_iter, s0);
- policies::check_series_iterations<T>("boost::math::ibeta<%1%>(%1%, %1%, %1%) in ibeta_series (without lanczos)", max_iter, pol);
- return result;
-}
-
-//
-// Continued fraction for the incomplete beta:
-//
-template <class T>
-struct ibeta_fraction2_t
-{
- typedef std::pair<T, T> result_type;
-
- ibeta_fraction2_t(T a_, T b_, T x_, T y_) : a(a_), b(b_), x(x_), y(y_), m(0) {}
-
- result_type operator()()
- {
- T aN = (a + m - 1) * (a + b + m - 1) * m * (b - m) * x * x;
- T denom = (a + 2 * m - 1);
- aN /= denom * denom;
-
- T bN = m;
- bN += (m * (b - m) * x) / (a + 2*m - 1);
- bN += ((a + m) * (a * y - b * x + 1 + m *(2 - x))) / (a + 2*m + 1);
-
- ++m;
-
- return std::make_pair(aN, bN);
- }
-
-private:
- T a, b, x, y;
- int m;
-};
-//
-// Evaluate the incomplete beta via the continued fraction representation:
-//
-template <class T, class Policy>
-inline T ibeta_fraction2(T a, T b, T x, T y, const Policy& pol, bool normalised, T* p_derivative)
-{
- typedef typename lanczos::lanczos<T, Policy>::type lanczos_type;
- BOOST_MATH_STD_USING
- T result = ibeta_power_terms(a, b, x, y, lanczos_type(), normalised, pol);
- if(p_derivative)
- {
- *p_derivative = result;
- BOOST_ASSERT(*p_derivative >= 0);
- }
- if(result == 0)
- return result;
-
- ibeta_fraction2_t<T> f(a, b, x, y);
- T fract = boost::math::tools::continued_fraction_b(f, boost::math::policies::get_epsilon<T, Policy>());
- BOOST_MATH_INSTRUMENT_VARIABLE(fract);
- BOOST_MATH_INSTRUMENT_VARIABLE(result);
- return result / fract;
-}
-//
-// Computes the difference between ibeta(a,b,x) and ibeta(a+k,b,x):
-//
-template <class T, class Policy>
-T ibeta_a_step(T a, T b, T x, T y, int k, const Policy& pol, bool normalised, T* p_derivative)
-{
- typedef typename lanczos::lanczos<T, Policy>::type lanczos_type;
-
- BOOST_MATH_INSTRUMENT_VARIABLE(k);
-
- T prefix = ibeta_power_terms(a, b, x, y, lanczos_type(), normalised, pol);
- if(p_derivative)
- {
- *p_derivative = prefix;
- BOOST_ASSERT(*p_derivative >= 0);
- }
- prefix /= a;
- if(prefix == 0)
- return prefix;
- T sum = 1;
- T term = 1;
- // series summation from 0 to k-1:
- for(int i = 0; i < k-1; ++i)
- {
- term *= (a+b+i) * x / (a+i+1);
- sum += term;
- }
- prefix *= sum;
-
- return prefix;
-}
-//
-// This function is only needed for the non-regular incomplete beta,
-// it computes the delta in:
-// beta(a,b,x) = prefix + delta * beta(a+k,b,x)
-// it is currently only called for small k.
-//
-template <class T>
-inline T rising_factorial_ratio(T a, T b, int k)
-{
- // calculate:
- // (a)(a+1)(a+2)...(a+k-1)
- // _______________________
- // (b)(b+1)(b+2)...(b+k-1)
-
- // This is only called with small k, for large k
- // it is grossly inefficient, do not use outside it's
- // intended purpose!!!
- BOOST_MATH_INSTRUMENT_VARIABLE(k);
- if(k == 0)
- return 1;
- T result = 1;
- for(int i = 0; i < k; ++i)
- result *= (a+i) / (b+i);
- return result;
-}
-//
-// Routine for a > 15, b < 1
-//
-// Begin by figuring out how large our table of Pn's should be,
-// quoted accuracies are "guestimates" based on empiracal observation.
-// Note that the table size should never exceed the size of our
-// tables of factorials.
-//
-template <class T>
-struct Pn_size
-{
- // This is likely to be enough for ~35-50 digit accuracy
- // but it's hard to quantify exactly:
- BOOST_STATIC_CONSTANT(unsigned, value = 50);
- BOOST_STATIC_ASSERT(::boost::math::max_factorial<T>::value >= 100);
-};
-template <>
-struct Pn_size<float>
-{
- BOOST_STATIC_CONSTANT(unsigned, value = 15); // ~8-15 digit accuracy
- BOOST_STATIC_ASSERT(::boost::math::max_factorial<float>::value >= 30);
-};
-template <>
-struct Pn_size<double>
-{
- BOOST_STATIC_CONSTANT(unsigned, value = 30); // 16-20 digit accuracy
- BOOST_STATIC_ASSERT(::boost::math::max_factorial<double>::value >= 60);
-};
-template <>
-struct Pn_size<long double>
-{
- BOOST_STATIC_CONSTANT(unsigned, value = 50); // ~35-50 digit accuracy
- BOOST_STATIC_ASSERT(::boost::math::max_factorial<long double>::value >= 100);
-};
-
-template <class T, class Policy>
-T beta_small_b_large_a_series(T a, T b, T x, T y, T s0, T mult, const Policy& pol, bool normalised)
-{
- typedef typename lanczos::lanczos<T, Policy>::type lanczos_type;
- BOOST_MATH_STD_USING
- //
- // This is DiDonato and Morris's BGRAT routine, see Eq's 9 through 9.6.
- //
- // Some values we'll need later, these are Eq 9.1:
- //
- T bm1 = b - 1;
- T t = a + bm1 / 2;
- T lx, u;
- if(y < 0.35)
- lx = boost::math::log1p(-y, pol);
- else
- lx = log(x);
- u = -t * lx;
- // and from from 9.2:
- T prefix;
- T h = regularised_gamma_prefix(b, u, pol, lanczos_type());
- if(h <= tools::min_value<T>())
- return s0;
- if(normalised)
- {
- prefix = h / boost::math::tgamma_delta_ratio(a, b, pol);
- prefix /= pow(t, b);
- }
- else
- {
- prefix = full_igamma_prefix(b, u, pol) / pow(t, b);
- }
- prefix *= mult;
- //
- // now we need the quantity Pn, unfortunatately this is computed
- // recursively, and requires a full history of all the previous values
- // so no choice but to declare a big table and hope it's big enough...
- //
- T p[ ::boost::math::detail::Pn_size<T>::value ] = { 1 }; // see 9.3.
- //
- // Now an initial value for J, see 9.6:
- //
- T j = boost::math::gamma_q(b, u, pol) / h;
- //
- // Now we can start to pull things together and evaluate the sum in Eq 9:
- //
- T sum = s0 + prefix * j; // Value at N = 0
- // some variables we'll need:
- unsigned tnp1 = 1; // 2*N+1
- T lx2 = lx / 2;
- lx2 *= lx2;
- T lxp = 1;
- T t4 = 4 * t * t;
- T b2n = b;
-
- for(unsigned n = 1; n < sizeof(p)/sizeof(p[0]); ++n)
- {
- /*
- // debugging code, enable this if you want to determine whether
- // the table of Pn's is large enough...
- //
- static int max_count = 2;
- if(n > max_count)
- {
- max_count = n;
- std::cerr << "Max iterations in BGRAT was " << n << std::endl;
- }
- */
- //
- // begin by evaluating the next Pn from Eq 9.4:
- //
- tnp1 += 2;
- p[n] = 0;
- T mbn = b - n;
- unsigned tmp1 = 3;
- for(unsigned m = 1; m < n; ++m)
- {
- mbn = m * b - n;
- p[n] += mbn * p[n-m] / boost::math::unchecked_factorial<T>(tmp1);
- tmp1 += 2;
- }
- p[n] /= n;
- p[n] += bm1 / boost::math::unchecked_factorial<T>(tnp1);
- //
- // Now we want Jn from Jn-1 using Eq 9.6:
- //
- j = (b2n * (b2n + 1) * j + (u + b2n + 1) * lxp) / t4;
- lxp *= lx2;
- b2n += 2;
- //
- // pull it together with Eq 9:
- //
- T r = prefix * p[n] * j;
- sum += r;
- if(r > 1)
- {
- if(fabs(r) < fabs(tools::epsilon<T>() * sum))
- break;
- }
- else
- {
- if(fabs(r / tools::epsilon<T>()) < fabs(sum))
- break;
- }
- }
- return sum;
-} // template <class T, class Lanczos>T beta_small_b_large_a_series(T a, T b, T x, T y, T s0, T mult, const Lanczos& l, bool normalised)
-
-//
-// For integer arguments we can relate the incomplete beta to the
-// complement of the binomial distribution cdf and use this finite sum.
-//
-template <class T>
-inline T binomial_ccdf(T n, T k, T x, T y)
-{
- BOOST_MATH_STD_USING // ADL of std names
- T result = pow(x, n);
- T term = result;
- for(unsigned i = itrunc(T(n - 1)); i > k; --i)
- {
- term *= ((i + 1) * y) / ((n - i) * x) ;
- result += term;
- }
-
- return result;
-}
-
-
-//
-// The incomplete beta function implementation:
-// This is just a big bunch of spagetti code to divide up the
-// input range and select the right implementation method for
-// each domain:
-//
-template <class T, class Policy>
-T ibeta_imp(T a, T b, T x, const Policy& pol, bool inv, bool normalised, T* p_derivative)
-{
- static const char* function = "boost::math::ibeta<%1%>(%1%, %1%, %1%)";
- typedef typename lanczos::lanczos<T, Policy>::type lanczos_type;
- BOOST_MATH_STD_USING // for ADL of std math functions.
-
- BOOST_MATH_INSTRUMENT_VARIABLE(a);
- BOOST_MATH_INSTRUMENT_VARIABLE(b);
- BOOST_MATH_INSTRUMENT_VARIABLE(x);
- BOOST_MATH_INSTRUMENT_VARIABLE(inv);
- BOOST_MATH_INSTRUMENT_VARIABLE(normalised);
-
- bool invert = inv;
- T fract;
- T y = 1 - x;
-
- BOOST_ASSERT((p_derivative == 0) || normalised);
-
- if(p_derivative)
- *p_derivative = -1; // value not set.
-
- if((x < 0) || (x > 1))
- policies::raise_domain_error<T>(function, "Parameter x outside the range [0,1] in the incomplete beta function (got x=%1%).", x, pol);
-
- if(normalised)
- {
- if(a < 0)
- policies::raise_domain_error<T>(function, "The argument a to the incomplete beta function must be >= zero (got a=%1%).", a, pol);
- if(b < 0)
- policies::raise_domain_error<T>(function, "The argument b to the incomplete beta function must be >= zero (got b=%1%).", b, pol);
- // extend to a few very special cases:
- if(a == 0)
- {
- if(b == 0)
- policies::raise_domain_error<T>(function, "The arguments a and b to the incomplete beta function cannot both be zero, with x=%1%.", x, pol);
- if(b > 0)
- return inv ? 0 : 1;
- }
- else if(b == 0)
- {
- if(a > 0)
- return inv ? 1 : 0;
- }
- }
- else
- {
- if(a <= 0)
- policies::raise_domain_error<T>(function, "The argument a to the incomplete beta function must be greater than zero (got a=%1%).", a, pol);
- if(b <= 0)
- policies::raise_domain_error<T>(function, "The argument b to the incomplete beta function must be greater than zero (got b=%1%).", b, pol);
- }
-
- if(x == 0)
- {
- if(p_derivative)
- {
- *p_derivative = (a == 1) ? (T)1 : (a < 1) ? T(tools::max_value<T>() / 2) : T(tools::min_value<T>() * 2);
- }
- return (invert ? (normalised ? T(1) : boost::math::beta(a, b, pol)) : T(0));
- }
- if(x == 1)
- {
- if(p_derivative)
- {
- *p_derivative = (b == 1) ? T(1) : (b < 1) ? T(tools::max_value<T>() / 2) : T(tools::min_value<T>() * 2);
- }
- return (invert == 0 ? (normalised ? 1 : boost::math::beta(a, b, pol)) : 0);
- }
- if((a == 0.5f) && (b == 0.5f))
- {
- // We have an arcsine distribution:
- if(p_derivative)
- {
- *p_derivative = (invert ? -1 : 1) / constants::pi<T>() * sqrt(y * x);
- }
- T p = invert ? asin(sqrt(y)) / constants::half_pi<T>() : asin(sqrt(x)) / constants::half_pi<T>();
- if(!normalised)
- p *= constants::pi<T>();
- return p;
- }
- if(a == 1)
- {
- std::swap(a, b);
- std::swap(x, y);
- invert = !invert;
- }
- if(b == 1)
- {
- //
- // Special case see: http://functions.wolfram.com/GammaBetaErf/BetaRegularized/03/01/01/
- //
- if(a == 1)
- {
- if(p_derivative)
- *p_derivative = invert ? -1 : 1;
- return invert ? y : x;
- }
-
- if(p_derivative)
- {
- *p_derivative = (invert ? -1 : 1) * a * pow(x, a - 1);
- }
- T p;
- if(y < 0.5)
- p = invert ? T(-expm1(a * log1p(-y))) : T(exp(a * log1p(-y)));
- else
- p = invert ? T(-powm1(x, a)) : T(pow(x, a));
- if(!normalised)
- p /= a;
- return p;
- }
-
- if((std::min)(a, b) <= 1)
- {
- if(x > 0.5)
- {
- std::swap(a, b);
- std::swap(x, y);
- invert = !invert;
- BOOST_MATH_INSTRUMENT_VARIABLE(invert);
- }
- if((std::max)(a, b) <= 1)
- {
- // Both a,b < 1:
- if((a >= (std::min)(T(0.2), b)) || (pow(x, a) <= 0.9))
- {
- if(!invert)
- {
- fract = ibeta_series(a, b, x, T(0), lanczos_type(), normalised, p_derivative, y, pol);
- BOOST_MATH_INSTRUMENT_VARIABLE(fract);
- }
- else
- {
- fract = -(normalised ? 1 : boost::math::beta(a, b, pol));
- invert = false;
- fract = -ibeta_series(a, b, x, fract, lanczos_type(), normalised, p_derivative, y, pol);
- BOOST_MATH_INSTRUMENT_VARIABLE(fract);
- }
- }
- else
- {
- std::swap(a, b);
- std::swap(x, y);
- invert = !invert;
- if(y >= 0.3)
- {
- if(!invert)
- {
- fract = ibeta_series(a, b, x, T(0), lanczos_type(), normalised, p_derivative, y, pol);
- BOOST_MATH_INSTRUMENT_VARIABLE(fract);
- }
- else
- {
- fract = -(normalised ? 1 : boost::math::beta(a, b, pol));
- invert = false;
- fract = -ibeta_series(a, b, x, fract, lanczos_type(), normalised, p_derivative, y, pol);
- BOOST_MATH_INSTRUMENT_VARIABLE(fract);
- }
- }
- else
- {
- // Sidestep on a, and then use the series representation:
- T prefix;
- if(!normalised)
- {
- prefix = rising_factorial_ratio(T(a+b), a, 20);
- }
- else
- {
- prefix = 1;
- }
- fract = ibeta_a_step(a, b, x, y, 20, pol, normalised, p_derivative);
- if(!invert)
- {
- fract = beta_small_b_large_a_series(T(a + 20), b, x, y, fract, prefix, pol, normalised);
- BOOST_MATH_INSTRUMENT_VARIABLE(fract);
- }
- else
- {
- fract -= (normalised ? 1 : boost::math::beta(a, b, pol));
- invert = false;
- fract = -beta_small_b_large_a_series(T(a + 20), b, x, y, fract, prefix, pol, normalised);
- BOOST_MATH_INSTRUMENT_VARIABLE(fract);
- }
- }
- }
- }
- else
- {
- // One of a, b < 1 only:
- if((b <= 1) || ((x < 0.1) && (pow(b * x, a) <= 0.7)))
- {
- if(!invert)
- {
- fract = ibeta_series(a, b, x, T(0), lanczos_type(), normalised, p_derivative, y, pol);
- BOOST_MATH_INSTRUMENT_VARIABLE(fract);
- }
- else
- {
- fract = -(normalised ? 1 : boost::math::beta(a, b, pol));
- invert = false;
- fract = -ibeta_series(a, b, x, fract, lanczos_type(), normalised, p_derivative, y, pol);
- BOOST_MATH_INSTRUMENT_VARIABLE(fract);
- }
- }
- else
- {
- std::swap(a, b);
- std::swap(x, y);
- invert = !invert;
-
- if(y >= 0.3)
- {
- if(!invert)
- {
- fract = ibeta_series(a, b, x, T(0), lanczos_type(), normalised, p_derivative, y, pol);
- BOOST_MATH_INSTRUMENT_VARIABLE(fract);
- }
- else
- {
- fract = -(normalised ? 1 : boost::math::beta(a, b, pol));
- invert = false;
- fract = -ibeta_series(a, b, x, fract, lanczos_type(), normalised, p_derivative, y, pol);
- BOOST_MATH_INSTRUMENT_VARIABLE(fract);
- }
- }
- else if(a >= 15)
- {
- if(!invert)
- {
- fract = beta_small_b_large_a_series(a, b, x, y, T(0), T(1), pol, normalised);
- BOOST_MATH_INSTRUMENT_VARIABLE(fract);
- }
- else
- {
- fract = -(normalised ? 1 : boost::math::beta(a, b, pol));
- invert = false;
- fract = -beta_small_b_large_a_series(a, b, x, y, fract, T(1), pol, normalised);
- BOOST_MATH_INSTRUMENT_VARIABLE(fract);
- }
- }
- else
- {
- // Sidestep to improve errors:
- T prefix;
- if(!normalised)
- {
- prefix = rising_factorial_ratio(T(a+b), a, 20);
- }
- else
- {
- prefix = 1;
- }
- fract = ibeta_a_step(a, b, x, y, 20, pol, normalised, p_derivative);
- BOOST_MATH_INSTRUMENT_VARIABLE(fract);
- if(!invert)
- {
- fract = beta_small_b_large_a_series(T(a + 20), b, x, y, fract, prefix, pol, normalised);
- BOOST_MATH_INSTRUMENT_VARIABLE(fract);
- }
- else
- {
- fract -= (normalised ? 1 : boost::math::beta(a, b, pol));
- invert = false;
- fract = -beta_small_b_large_a_series(T(a + 20), b, x, y, fract, prefix, pol, normalised);
- BOOST_MATH_INSTRUMENT_VARIABLE(fract);
- }
- }
- }
- }
- }
- else
- {
- // Both a,b >= 1:
- T lambda;
- if(a < b)
- {
- lambda = a - (a + b) * x;
- }
- else
- {
- lambda = (a + b) * y - b;
- }
- if(lambda < 0)
- {
- std::swap(a, b);
- std::swap(x, y);
- invert = !invert;
- BOOST_MATH_INSTRUMENT_VARIABLE(invert);
- }
-
- if(b < 40)
- {
- if((floor(a) == a) && (floor(b) == b) && (a < (std::numeric_limits<int>::max)() - 100))
- {
- // relate to the binomial distribution and use a finite sum:
- T k = a - 1;
- T n = b + k;
- fract = binomial_ccdf(n, k, x, y);
- if(!normalised)
- fract *= boost::math::beta(a, b, pol);
- BOOST_MATH_INSTRUMENT_VARIABLE(fract);
- }
- else if(b * x <= 0.7)
- {
- if(!invert)
- {
- fract = ibeta_series(a, b, x, T(0), lanczos_type(), normalised, p_derivative, y, pol);
- BOOST_MATH_INSTRUMENT_VARIABLE(fract);
- }
- else
- {
- fract = -(normalised ? 1 : boost::math::beta(a, b, pol));
- invert = false;
- fract = -ibeta_series(a, b, x, fract, lanczos_type(), normalised, p_derivative, y, pol);
- BOOST_MATH_INSTRUMENT_VARIABLE(fract);
- }
- }
- else if(a > 15)
- {
- // sidestep so we can use the series representation:
- int n = itrunc(T(floor(b)), pol);
- if(n == b)
- --n;
- T bbar = b - n;
- T prefix;
- if(!normalised)
- {
- prefix = rising_factorial_ratio(T(a+bbar), bbar, n);
- }
- else
- {
- prefix = 1;
- }
- fract = ibeta_a_step(bbar, a, y, x, n, pol, normalised, static_cast<T*>(0));
- fract = beta_small_b_large_a_series(a, bbar, x, y, fract, T(1), pol, normalised);
- fract /= prefix;
- BOOST_MATH_INSTRUMENT_VARIABLE(fract);
- }
- else if(normalised)
- {
- // the formula here for the non-normalised case is tricky to figure
- // out (for me!!), and requires two pochhammer calculations rather
- // than one, so leave it for now....
- int n = itrunc(T(floor(b)), pol);
- T bbar = b - n;
- if(bbar <= 0)
- {
- --n;
- bbar += 1;
- }
- fract = ibeta_a_step(bbar, a, y, x, n, pol, normalised, static_cast<T*>(0));
- fract += ibeta_a_step(a, bbar, x, y, 20, pol, normalised, static_cast<T*>(0));
- if(invert)
- fract -= (normalised ? 1 : boost::math::beta(a, b, pol));
- //fract = ibeta_series(a+20, bbar, x, fract, l, normalised, p_derivative, y);
- fract = beta_small_b_large_a_series(T(a+20), bbar, x, y, fract, T(1), pol, normalised);
- if(invert)
- {
- fract = -fract;
- invert = false;
- }
- BOOST_MATH_INSTRUMENT_VARIABLE(fract);
- }
- else
- {
- fract = ibeta_fraction2(a, b, x, y, pol, normalised, p_derivative);
- BOOST_MATH_INSTRUMENT_VARIABLE(fract);
- }
- }
- else
- {
- fract = ibeta_fraction2(a, b, x, y, pol, normalised, p_derivative);
- BOOST_MATH_INSTRUMENT_VARIABLE(fract);
- }
- }
- if(p_derivative)
- {
- if(*p_derivative < 0)
- {
- *p_derivative = ibeta_power_terms(a, b, x, y, lanczos_type(), true, pol);
- }
- T div = y * x;
-
- if(*p_derivative != 0)
- {
- if((tools::max_value<T>() * div < *p_derivative))
- {
- // overflow, return an arbitarily large value:
- *p_derivative = tools::max_value<T>() / 2;
- }
- else
- {
- *p_derivative /= div;
- }
- }
- }
- return invert ? (normalised ? 1 : boost::math::beta(a, b, pol)) - fract : fract;
-} // template <class T, class Lanczos>T ibeta_imp(T a, T b, T x, const Lanczos& l, bool inv, bool normalised)
-
-template <class T, class Policy>
-inline T ibeta_imp(T a, T b, T x, const Policy& pol, bool inv, bool normalised)
-{
- return ibeta_imp(a, b, x, pol, inv, normalised, static_cast<T*>(0));
-}
-
-template <class T, class Policy>
-T ibeta_derivative_imp(T a, T b, T x, const Policy& pol)
-{
- static const char* function = "ibeta_derivative<%1%>(%1%,%1%,%1%)";
- //
- // start with the usual error checks:
- //
- if(a <= 0)
- policies::raise_domain_error<T>(function, "The argument a to the incomplete beta function must be greater than zero (got a=%1%).", a, pol);
- if(b <= 0)
- policies::raise_domain_error<T>(function, "The argument b to the incomplete beta function must be greater than zero (got b=%1%).", b, pol);
- if((x < 0) || (x > 1))
- policies::raise_domain_error<T>(function, "Parameter x outside the range [0,1] in the incomplete beta function (got x=%1%).", x, pol);
- //
- // Now the corner cases:
- //
- if(x == 0)
- {
- return (a > 1) ? 0 :
- (a == 1) ? 1 / boost::math::beta(a, b, pol) : policies::raise_overflow_error<T>(function, 0, pol);
- }
- else if(x == 1)
- {
- return (b > 1) ? 0 :
- (b == 1) ? 1 / boost::math::beta(a, b, pol) : policies::raise_overflow_error<T>(function, 0, pol);
- }
- //
- // Now the regular cases:
- //
- typedef typename lanczos::lanczos<T, Policy>::type lanczos_type;
- T f1 = ibeta_power_terms<T>(a, b, x, 1 - x, lanczos_type(), true, pol);
- T y = (1 - x) * x;
-
- if(f1 == 0)
- return 0;
-
- if((tools::max_value<T>() * y < f1))
- {
- // overflow:
- return policies::raise_overflow_error<T>(function, 0, pol);
- }
-
- f1 /= y;
-
- return f1;
-}
-//
-// Some forwarding functions that dis-ambiguate the third argument type:
-//
-template <class RT1, class RT2, class Policy>
-inline typename tools::promote_args<RT1, RT2>::type
- beta(RT1 a, RT2 b, const Policy&, const mpl::true_*)
-{
- BOOST_FPU_EXCEPTION_GUARD
- typedef typename tools::promote_args<RT1, RT2>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename lanczos::lanczos<value_type, Policy>::type evaluation_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
-
- return policies::checked_narrowing_cast<result_type, forwarding_policy>(detail::beta_imp(static_cast<value_type>(a), static_cast<value_type>(b), evaluation_type(), forwarding_policy()), "boost::math::beta<%1%>(%1%,%1%)");
-}
-template <class RT1, class RT2, class RT3>
-inline typename tools::promote_args<RT1, RT2, RT3>::type
- beta(RT1 a, RT2 b, RT3 x, const mpl::false_*)
-{
- return boost::math::beta(a, b, x, policies::policy<>());
-}
-} // namespace detail
-
-//
-// The actual function entry-points now follow, these just figure out
-// which Lanczos approximation to use
-// and forward to the implementation functions:
-//
-template <class RT1, class RT2, class A>
-inline typename tools::promote_args<RT1, RT2, A>::type
- beta(RT1 a, RT2 b, A arg)
-{
- typedef typename policies::is_policy<A>::type tag;
- return boost::math::detail::beta(a, b, arg, static_cast<tag*>(0));
-}
-
-template <class RT1, class RT2>
-inline typename tools::promote_args<RT1, RT2>::type
- beta(RT1 a, RT2 b)
-{
- return boost::math::beta(a, b, policies::policy<>());
-}
-
-template <class RT1, class RT2, class RT3, class Policy>
-inline typename tools::promote_args<RT1, RT2, RT3>::type
- beta(RT1 a, RT2 b, RT3 x, const Policy&)
-{
- BOOST_FPU_EXCEPTION_GUARD
- typedef typename tools::promote_args<RT1, RT2, RT3>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
-
- return policies::checked_narrowing_cast<result_type, forwarding_policy>(detail::ibeta_imp(static_cast<value_type>(a), static_cast<value_type>(b), static_cast<value_type>(x), forwarding_policy(), false, false), "boost::math::beta<%1%>(%1%,%1%,%1%)");
-}
-
-template <class RT1, class RT2, class RT3, class Policy>
-inline typename tools::promote_args<RT1, RT2, RT3>::type
- betac(RT1 a, RT2 b, RT3 x, const Policy&)
-{
- BOOST_FPU_EXCEPTION_GUARD
- typedef typename tools::promote_args<RT1, RT2, RT3>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
-
- return policies::checked_narrowing_cast<result_type, forwarding_policy>(detail::ibeta_imp(static_cast<value_type>(a), static_cast<value_type>(b), static_cast<value_type>(x), forwarding_policy(), true, false), "boost::math::betac<%1%>(%1%,%1%,%1%)");
-}
-template <class RT1, class RT2, class RT3>
-inline typename tools::promote_args<RT1, RT2, RT3>::type
- betac(RT1 a, RT2 b, RT3 x)
-{
- return boost::math::betac(a, b, x, policies::policy<>());
-}
-
-template <class RT1, class RT2, class RT3, class Policy>
-inline typename tools::promote_args<RT1, RT2, RT3>::type
- ibeta(RT1 a, RT2 b, RT3 x, const Policy&)
-{
- BOOST_FPU_EXCEPTION_GUARD
- typedef typename tools::promote_args<RT1, RT2, RT3>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
-
- return policies::checked_narrowing_cast<result_type, forwarding_policy>(detail::ibeta_imp(static_cast<value_type>(a), static_cast<value_type>(b), static_cast<value_type>(x), forwarding_policy(), false, true), "boost::math::ibeta<%1%>(%1%,%1%,%1%)");
-}
-template <class RT1, class RT2, class RT3>
-inline typename tools::promote_args<RT1, RT2, RT3>::type
- ibeta(RT1 a, RT2 b, RT3 x)
-{
- return boost::math::ibeta(a, b, x, policies::policy<>());
-}
-
-template <class RT1, class RT2, class RT3, class Policy>
-inline typename tools::promote_args<RT1, RT2, RT3>::type
- ibetac(RT1 a, RT2 b, RT3 x, const Policy&)
-{
- BOOST_FPU_EXCEPTION_GUARD
- typedef typename tools::promote_args<RT1, RT2, RT3>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
-
- return policies::checked_narrowing_cast<result_type, forwarding_policy>(detail::ibeta_imp(static_cast<value_type>(a), static_cast<value_type>(b), static_cast<value_type>(x), forwarding_policy(), true, true), "boost::math::ibetac<%1%>(%1%,%1%,%1%)");
-}
-template <class RT1, class RT2, class RT3>
-inline typename tools::promote_args<RT1, RT2, RT3>::type
- ibetac(RT1 a, RT2 b, RT3 x)
-{
- return boost::math::ibetac(a, b, x, policies::policy<>());
-}
-
-template <class RT1, class RT2, class RT3, class Policy>
-inline typename tools::promote_args<RT1, RT2, RT3>::type
- ibeta_derivative(RT1 a, RT2 b, RT3 x, const Policy&)
-{
- BOOST_FPU_EXCEPTION_GUARD
- typedef typename tools::promote_args<RT1, RT2, RT3>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
-
- return policies::checked_narrowing_cast<result_type, forwarding_policy>(detail::ibeta_derivative_imp(static_cast<value_type>(a), static_cast<value_type>(b), static_cast<value_type>(x), forwarding_policy()), "boost::math::ibeta_derivative<%1%>(%1%,%1%,%1%)");
-}
-template <class RT1, class RT2, class RT3>
-inline typename tools::promote_args<RT1, RT2, RT3>::type
- ibeta_derivative(RT1 a, RT2 b, RT3 x)
-{
- return boost::math::ibeta_derivative(a, b, x, policies::policy<>());
-}
-
-} // namespace math
-} // namespace boost
-
-#include <boost/math/special_functions/detail/ibeta_inverse.hpp>
-#include <boost/math/special_functions/detail/ibeta_inv_ab.hpp>
-
-#endif // BOOST_MATH_SPECIAL_BETA_HPP
-
-
-
-
-
diff --git a/boost/math/special_functions/binomial.hpp b/boost/math/special_functions/binomial.hpp
deleted file mode 100644
index 16b4f33..0000000
--- a/boost/math/special_functions/binomial.hpp
+++ /dev/null
@@ -1,81 +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 <boost/math/special_functions/factorials.hpp>
-#include <boost/math/special_functions/beta.hpp>
-#include <boost/math/policies/error_handling.hpp>
-
-namespace boost{ namespace math{
-
-template <class T, class Policy>
-T binomial_coefficient(unsigned n, unsigned k, const Policy& pol)
-{
- BOOST_STATIC_ASSERT(!boost::is_integral<T>::value);
- BOOST_MATH_STD_USING
- static const char* function = "boost::math::binomial_coefficient<%1%>(unsigned, unsigned)";
- if(k > n)
- return policies::raise_domain_error<T>(
- 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<T>::value)
- {
- // Use fast table lookup:
- result = unchecked_factorial<T>(n);
- result /= unchecked_factorial<T>(n-k);
- result /= unchecked_factorial<T>(k);
- }
- else
- {
- // Use the beta function:
- if(k < n - k)
- result = k * beta(static_cast<T>(k), static_cast<T>(n-k+1), pol);
- else
- result = (n - k) * beta(static_cast<T>(k+1), static_cast<T>(n-k), pol);
- if(result == 0)
- return policies::raise_overflow_error<T>(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<float, policies::policy<> >(unsigned n, unsigned k, const policies::policy<>& pol)
-{
- return policies::checked_narrowing_cast<float, policies::policy<> >(binomial_coefficient<double>(n, k, pol), "boost::math::binomial_coefficient<%1%>(unsigned,unsigned)");
-}
-
-template <class T>
-inline T binomial_coefficient(unsigned n, unsigned k)
-{
- return binomial_coefficient<T>(n, k, policies::policy<>());
-}
-
-} // namespace math
-} // namespace boost
-
-
-#endif // BOOST_MATH_SF_BINOMIAL_HPP
-
-
-
diff --git a/boost/math/special_functions/cbrt.hpp b/boost/math/special_functions/cbrt.hpp
deleted file mode 100644
index 0fc6e07..0000000
--- a/boost/math/special_functions/cbrt.hpp
+++ /dev/null
@@ -1,180 +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_SF_CBRT_HPP
-#define BOOST_MATH_SF_CBRT_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/math/tools/rational.hpp>
-#include <boost/math/policies/error_handling.hpp>
-#include <boost/math/special_functions/math_fwd.hpp>
-#include <boost/math/special_functions/fpclassify.hpp>
-#include <boost/mpl/divides.hpp>
-#include <boost/mpl/plus.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/type_traits/is_convertible.hpp>
-
-namespace boost{ namespace math{
-
-namespace detail
-{
-
-struct big_int_type
-{
- operator boost::uintmax_t()const;
-};
-
-template <class T>
-struct largest_cbrt_int_type
-{
- typedef typename mpl::if_<
- boost::is_convertible<big_int_type, T>,
- boost::uintmax_t,
- unsigned int
- >::type type;
-};
-
-template <class T, class Policy>
-T cbrt_imp(T z, const Policy& pol)
-{
- BOOST_MATH_STD_USING
- //
- // cbrt approximation for z in the range [0.5,1]
- // It's hard to say what number of terms gives the optimum
- // trade off between precision and performance, this seems
- // to be about the best for double precision.
- //
- // Maximum Deviation Found: 1.231e-006
- // Expected Error Term: -1.231e-006
- // Maximum Relative Change in Control Points: 5.982e-004
- //
- static const T P[] = {
- static_cast<T>(0.37568269008611818),
- static_cast<T>(1.3304968705558024),
- static_cast<T>(-1.4897101632445036),
- static_cast<T>(1.2875573098219835),
- static_cast<T>(-0.6398703759826468),
- static_cast<T>(0.13584489959258635),
- };
- static const T correction[] = {
- static_cast<T>(0.62996052494743658238360530363911), // 2^-2/3
- static_cast<T>(0.79370052598409973737585281963615), // 2^-1/3
- static_cast<T>(1),
- static_cast<T>(1.2599210498948731647672106072782), // 2^1/3
- static_cast<T>(1.5874010519681994747517056392723), // 2^2/3
- };
-
- if(!(boost::math::isfinite)(z))
- {
- return policies::raise_domain_error("boost::math::cbrt<%1%>(%1%)", "Argument to function must be finite but got %1%.", z, pol);
- }
-
- int i_exp, sign(1);
- if(z < 0)
- {
- z = -z;
- sign = -sign;
- }
- if(z == 0)
- return 0;
-
- T guess = frexp(z, &i_exp);
- int original_i_exp = i_exp; // save for later
- guess = tools::evaluate_polynomial(P, guess);
- int i_exp3 = i_exp / 3;
-
- typedef typename largest_cbrt_int_type<T>::type shift_type;
-
- BOOST_STATIC_ASSERT( ::std::numeric_limits<shift_type>::radix == 2);
-
- if(abs(i_exp3) < std::numeric_limits<shift_type>::digits)
- {
- if(i_exp3 > 0)
- guess *= shift_type(1u) << i_exp3;
- else
- guess /= shift_type(1u) << -i_exp3;
- }
- else
- {
- guess = ldexp(guess, i_exp3);
- }
- i_exp %= 3;
- guess *= correction[i_exp + 2];
- //
- // Now inline Halley iteration.
- // We do this here rather than calling tools::halley_iterate since we can
- // simplify the expressions algebraically, and don't need most of the error
- // checking of the boilerplate version as we know in advance that the function
- // is well behaved...
- //
- typedef typename policies::precision<T, Policy>::type prec;
- typedef typename mpl::divides<prec, mpl::int_<3> >::type prec3;
- typedef typename mpl::plus<prec3, mpl::int_<3> >::type new_prec;
- typedef typename policies::normalise<Policy, policies::digits2<new_prec::value> >::type new_policy;
- //
- // Epsilon calculation uses compile time arithmetic when it's available for type T,
- // otherwise uses ldexp to calculate at runtime:
- //
- T eps = (new_prec::value > 3) ? policies::get_epsilon<T, new_policy>() : ldexp(T(1), -2 - tools::digits<T>() / 3);
- T diff;
-
- if(original_i_exp < std::numeric_limits<T>::max_exponent - 3)
- {
- //
- // Safe from overflow, use the fast method:
- //
- do
- {
- T g3 = guess * guess * guess;
- diff = (g3 + z + z) / (g3 + g3 + z);
- guess *= diff;
- }
- while(fabs(1 - diff) > eps);
- }
- else
- {
- //
- // Either we're ready to overflow, or we can't tell because numeric_limits isn't
- // available for type T:
- //
- do
- {
- T g2 = guess * guess;
- diff = (g2 - z / guess) / (2 * guess + z / g2);
- guess -= diff;
- }
- while((guess * eps) < fabs(diff));
- }
-
- return sign * guess;
-}
-
-} // namespace detail
-
-template <class T, class Policy>
-inline typename tools::promote_args<T>::type cbrt(T z, const Policy& pol)
-{
- typedef typename tools::promote_args<T>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- return static_cast<result_type>(detail::cbrt_imp(value_type(z), pol));
-}
-
-template <class T>
-inline typename tools::promote_args<T>::type cbrt(T z)
-{
- return cbrt(z, policies::policy<>());
-}
-
-} // namespace math
-} // namespace boost
-
-#endif // BOOST_MATH_SF_CBRT_HPP
-
-
-
-
diff --git a/boost/math/special_functions/cos_pi.hpp b/boost/math/special_functions/cos_pi.hpp
deleted file mode 100644
index 93102c1..0000000
--- a/boost/math/special_functions/cos_pi.hpp
+++ /dev/null
@@ -1,68 +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 <boost/config/no_tr1/cmath.hpp>
-#include <boost/math/tools/config.hpp>
-#include <boost/math/special_functions/trunc.hpp>
-#include <boost/math/tools/promotion.hpp>
-#include <boost/math/constants/constants.hpp>
-
-namespace boost{ namespace math{ namespace detail{
-
-template <class T, class Policy>
-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<T>() * 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<T>() * rem);
- return invert ? T(-rem) : rem;
-}
-
-} // namespace detail
-
-template <class T, class Policy>
-inline typename tools::promote_args<T>::type cos_pi(T x, const Policy& pol)
-{
- typedef typename tools::promote_args<T>::type result_type;
- return boost::math::detail::cos_pi_imp<result_type>(x, pol);
-}
-
-template <class T>
-inline typename tools::promote_args<T>::type cos_pi(T x)
-{
- return boost::math::cos_pi(x, policies::policy<>());
-}
-
-} // namespace math
-} // namespace boost
-#endif
-
diff --git a/boost/math/special_functions/detail/airy_ai_bi_zero.hpp b/boost/math/special_functions/detail/airy_ai_bi_zero.hpp
deleted file mode 100644
index d502f83..0000000
--- a/boost/math/special_functions/detail/airy_ai_bi_zero.hpp
+++ /dev/null
@@ -1,160 +0,0 @@
-// Copyright (c) 2013 Christopher Kormanyos
-// 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 work is based on an earlier work:
-// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
-// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
-//
-// This header contains implementation details for estimating the zeros
-// of the Airy functions airy_ai and airy_bi on the negative real axis.
-//
-#ifndef _AIRY_AI_BI_ZERO_2013_01_20_HPP_
- #define _AIRY_AI_BI_ZERO_2013_01_20_HPP_
-
- #include <boost/math/constants/constants.hpp>
- #include <boost/math/special_functions/cbrt.hpp>
-
- namespace boost { namespace math {
- namespace detail
- {
- // Forward declarations of the needed Airy function implementations.
- template <class T, class Policy>
- T airy_ai_imp(T x, const Policy& pol);
- template <class T, class Policy>
- T airy_bi_imp(T x, const Policy& pol);
- template <class T, class Policy>
- T airy_ai_prime_imp(T x, const Policy& pol);
- template <class T, class Policy>
- T airy_bi_prime_imp(T x, const Policy& pol);
-
- namespace airy_zero
- {
- template<class T>
- T equation_as_10_4_105(const T& z)
- {
- const T one_over_z (T(1) / z);
- const T one_over_z_squared(one_over_z * one_over_z);
-
- const T z_pow_third (boost::math::cbrt(z));
- const T z_pow_two_thirds(z_pow_third * z_pow_third);
-
- // Implement the top line of Eq. 10.4.105.
- const T fz(z_pow_two_thirds * ((((( + (T(162375596875.0) / 334430208UL)
- * one_over_z_squared - ( T(108056875.0) / 6967296UL))
- * one_over_z_squared + ( T(77125UL) / 82944UL))
- * one_over_z_squared - ( T(5U) / 36U))
- * one_over_z_squared + ( T(5U) / 48U))
- * one_over_z_squared + (1)));
-
- return fz;
- }
-
- namespace airy_ai_zero_detail
- {
- template<class T>
- T initial_guess(const unsigned m)
- {
- T guess;
-
- switch(m)
- {
- case 0U: { guess = T(0); break; }
- case 1U: { guess = T(-2.33810741045976703849); break; }
- case 2U: { guess = T(-4.08794944413097061664); break; }
- case 3U: { guess = T(-5.52055982809555105913); break; }
- case 4U: { guess = T(-6.78670809007175899878); break; }
- case 5U: { guess = T(-7.94413358712085312314); break; }
- case 6U: { guess = T(-9.02265085334098038016); break; }
- case 7U: { guess = T(-10.0401743415580859306); break; }
- case 8U: { guess = T(-11.0085243037332628932); break; }
- case 9U: { guess = T(-11.9360155632362625170); break; }
- case 10U:{ guess = T(-12.8287767528657572004); break; }
- default:
- {
- const T t(((boost::math::constants::pi<T>() * 3U) * ((T(m) * 4U) - 1)) / 8U);
- guess = -boost::math::detail::airy_zero::equation_as_10_4_105(t);
- break;
- }
- }
-
- return guess;
- }
-
- template<class T, class Policy>
- class function_object_ai_and_ai_prime
- {
- public:
- function_object_ai_and_ai_prime(const Policy pol) : my_pol(pol) { }
-
- boost::math::tuple<T, T> operator()(const T& x) const
- {
- // Return a tuple containing both Ai(x) and Ai'(x).
- return boost::math::make_tuple(
- boost::math::detail::airy_ai_imp (x, my_pol),
- boost::math::detail::airy_ai_prime_imp(x, my_pol));
- }
-
- private:
- const Policy& my_pol;
- const function_object_ai_and_ai_prime& operator=(const function_object_ai_and_ai_prime&);
- };
- } // namespace airy_ai_zero_detail
-
- namespace airy_bi_zero_detail
- {
- template<class T>
- T initial_guess(const unsigned m)
- {
- T guess;
-
- switch(m)
- {
- case 0U: { guess = T(0); break; }
- case 1U: { guess = T(-1.17371322270912792492); break; }
- case 2U: { guess = T(-3.27109330283635271568); break; }
- case 3U: { guess = T(-4.83073784166201593267); break; }
- case 4U: { guess = T(-6.16985212831025125983); break; }
- case 5U: { guess = T(-7.37676207936776371360); break; }
- case 6U: { guess = T(-8.49194884650938801345); break; }
- case 7U: { guess = T(-9.53819437934623888663); break; }
- case 8U: { guess = T(-10.5299135067053579244); break; }
- case 9U: { guess = T(-11.4769535512787794379); break; }
- case 10U:{ guess = T(-12.3864171385827387456); break; }
- default:
- {
- const T t(((boost::math::constants::pi<T>() * 3U) * ((T(m) * 4U) - 3)) / 8U);
- guess = -boost::math::detail::airy_zero::equation_as_10_4_105(t);
- break;
- }
- }
-
- return guess;
- }
-
- template<class T, class Policy>
- class function_object_bi_and_bi_prime
- {
- public:
- function_object_bi_and_bi_prime(const Policy pol) : my_pol(pol) { }
-
- boost::math::tuple<T, T> operator()(const T& x) const
- {
- // Return a tuple containing both Bi(x) and Bi'(x).
- return boost::math::make_tuple(
- boost::math::detail::airy_bi_imp (x, my_pol),
- boost::math::detail::airy_bi_prime_imp(x, my_pol));
- }
-
- private:
- const Policy& my_pol;
- const function_object_bi_and_bi_prime& operator=(const function_object_bi_and_bi_prime&);
- };
- } // namespace airy_bi_zero_detail
- } // namespace airy_zero
- } // namespace detail
- } // namespace math
- } // namespaces boost
-
-#endif // _AIRY_AI_BI_ZERO_2013_01_20_HPP_
diff --git a/boost/math/special_functions/detail/bessel_i0.hpp b/boost/math/special_functions/detail/bessel_i0.hpp
deleted file mode 100644
index 7dc65d1..0000000
--- a/boost/math/special_functions/detail/bessel_i0.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)
-
-#ifndef BOOST_MATH_BESSEL_I0_HPP
-#define BOOST_MATH_BESSEL_I0_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/math/tools/rational.hpp>
-#include <boost/math/tools/big_constant.hpp>
-#include <boost/assert.hpp>
-
-// Modified Bessel function of the first kind of order zero
-// minimax rational approximations on intervals, see
-// Blair and Edwards, Chalk River Report AECL-4928, 1974
-
-namespace boost { namespace math { namespace detail{
-
-template <typename T>
-T bessel_i0(T x);
-
-template <class T>
-struct bessel_i0_initializer
-{
- struct init
- {
- init()
- {
- do_init();
- }
- static void do_init()
- {
- bessel_i0(T(1));
- }
- void force_instantiate()const{}
- };
- static const init initializer;
- static void force_instantiate()
- {
- initializer.force_instantiate();
- }
-};
-
-template <class T>
-const typename bessel_i0_initializer<T>::init bessel_i0_initializer<T>::initializer;
-
-template <typename T>
-T bessel_i0(T x)
-{
- bessel_i0_initializer<T>::force_instantiate();
-
- static const T P1[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -2.2335582639474375249e+15)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -5.5050369673018427753e+14)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -3.2940087627407749166e+13)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -8.4925101247114157499e+11)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.1912746104985237192e+10)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.0313066708737980747e+08)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -5.9545626019847898221e+05)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -2.4125195876041896775e+03)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -7.0935347449210549190e+00)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.5453977791786851041e-02)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -2.5172644670688975051e-05)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -3.0517226450451067446e-08)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -2.6843448573468483278e-11)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.5982226675653184646e-14)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -5.2487866627945699800e-18)),
- };
- static const T Q1[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -2.2335582639474375245e+15)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 7.8858692566751002988e+12)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.2207067397808979846e+10)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.0377081058062166144e+07)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -4.8527560179962773045e+03)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.0)),
- };
- static const T P2[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -2.2210262233306573296e-04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.3067392038106924055e-02)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -4.4700805721174453923e-01)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 5.5674518371240761397e+00)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -2.3517945679239481621e+01)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 3.1611322818701131207e+01)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -9.6090021968656180000e+00)),
- };
- static const T Q2[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -5.5194330231005480228e-04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 3.2547697594819615062e-02)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.1151759188741312645e+00)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.3982595353892851542e+01)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -6.0228002066743340583e+01)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 8.5539563258012929600e+01)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -3.1446690275135491500e+01)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.0)),
- };
- T value, factor, r;
-
- BOOST_MATH_STD_USING
- using namespace boost::math::tools;
-
- if (x < 0)
- {
- x = -x; // even function
- }
- if (x == 0)
- {
- return static_cast<T>(1);
- }
- if (x <= 15) // x in (0, 15]
- {
- T y = x * x;
- value = evaluate_polynomial(P1, y) / evaluate_polynomial(Q1, y);
- }
- else // x in (15, \infty)
- {
- T y = 1 / x - T(1) / 15;
- r = evaluate_polynomial(P2, y) / evaluate_polynomial(Q2, y);
- factor = exp(x) / sqrt(x);
- value = factor * r;
- }
-
- return value;
-}
-
-}}} // namespaces
-
-#endif // BOOST_MATH_BESSEL_I0_HPP
-
diff --git a/boost/math/special_functions/detail/bessel_i1.hpp b/boost/math/special_functions/detail/bessel_i1.hpp
deleted file mode 100644
index 47f1b79..0000000
--- a/boost/math/special_functions/detail/bessel_i1.hpp
+++ /dev/null
@@ -1,136 +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)
-
-#ifndef BOOST_MATH_BESSEL_I1_HPP
-#define BOOST_MATH_BESSEL_I1_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/math/tools/rational.hpp>
-#include <boost/math/tools/big_constant.hpp>
-#include <boost/assert.hpp>
-
-// Modified Bessel function of the first kind of order one
-// minimax rational approximations on intervals, see
-// Blair and Edwards, Chalk River Report AECL-4928, 1974
-
-namespace boost { namespace math { namespace detail{
-
-template <typename T>
-T bessel_i1(T x);
-
-template <class T>
-struct bessel_i1_initializer
-{
- struct init
- {
- init()
- {
- do_init();
- }
- static void do_init()
- {
- bessel_i1(T(1));
- }
- void force_instantiate()const{}
- };
- static const init initializer;
- static void force_instantiate()
- {
- initializer.force_instantiate();
- }
-};
-
-template <class T>
-const typename bessel_i1_initializer<T>::init bessel_i1_initializer<T>::initializer;
-
-template <typename T>
-T bessel_i1(T x)
-{
-
- bessel_i1_initializer<T>::force_instantiate();
-
- static const T P1[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.4577180278143463643e+15)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.7732037840791591320e+14)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -6.9876779648010090070e+12)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.3357437682275493024e+11)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.4828267606612366099e+09)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.0588550724769347106e+07)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -5.1894091982308017540e+04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.8225946631657315931e+02)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -4.7207090827310162436e-01)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -9.1746443287817501309e-04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.3466829827635152875e-06)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.4831904935994647675e-09)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.1928788903603238754e-12)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -6.5245515583151902910e-16)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.9705291802535139930e-19)),
- };
- static const T Q1[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -2.9154360556286927285e+15)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 9.7887501377547640438e+12)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.4386907088588283434e+10)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.1594225856856884006e+07)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -5.1326864679904189920e+03)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.0)),
- };
- static const T P2[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.4582087408985668208e-05)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -8.9359825138577646443e-04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 2.9204895411257790122e-02)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -3.4198728018058047439e-01)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.3960118277609544334e+00)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.9746376087200685843e+00)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 8.5591872901933459000e-01)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -6.0437159056137599999e-02)),
- };
- static const T Q2[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 3.7510433111922824643e-05)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -2.2835624489492512649e-03)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 7.4212010813186530069e-02)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -8.5017476463217924408e-01)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 3.2593714889036996297e+00)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -3.8806586721556593450e+00)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.0)),
- };
- T value, factor, r, w;
-
- BOOST_MATH_STD_USING
- using namespace boost::math::tools;
-
- w = abs(x);
- if (x == 0)
- {
- return static_cast<T>(0);
- }
- if (w <= 15) // w in (0, 15]
- {
- T y = x * x;
- r = evaluate_polynomial(P1, y) / evaluate_polynomial(Q1, y);
- factor = w;
- value = factor * r;
- }
- else // w in (15, \infty)
- {
- T y = 1 / w - T(1) / 15;
- r = evaluate_polynomial(P2, y) / evaluate_polynomial(Q2, y);
- factor = exp(w) / sqrt(w);
- value = factor * r;
- }
-
- if (x < 0)
- {
- value *= -value; // odd function
- }
- return value;
-}
-
-}}} // namespaces
-
-#endif // BOOST_MATH_BESSEL_I1_HPP
-
diff --git a/boost/math/special_functions/detail/bessel_ik.hpp b/boost/math/special_functions/detail/bessel_ik.hpp
deleted file mode 100644
index 9a4c203..0000000
--- a/boost/math/special_functions/detail/bessel_ik.hpp
+++ /dev/null
@@ -1,445 +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)
-
-#ifndef BOOST_MATH_BESSEL_IK_HPP
-#define BOOST_MATH_BESSEL_IK_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/math/special_functions/round.hpp>
-#include <boost/math/special_functions/gamma.hpp>
-#include <boost/math/special_functions/sin_pi.hpp>
-#include <boost/math/constants/constants.hpp>
-#include <boost/math/policies/error_handling.hpp>
-#include <boost/math/tools/config.hpp>
-
-// Modified Bessel functions of the first and second kind of fractional order
-
-namespace boost { namespace math {
-
-namespace detail {
-
-template <class T, class Policy>
-struct cyl_bessel_i_small_z
-{
- typedef T result_type;
-
- cyl_bessel_i_small_z(T v_, T z_) : k(0), v(v_), mult(z_*z_/4)
- {
- BOOST_MATH_STD_USING
- term = 1;
- }
-
- T operator()()
- {
- T result = term;
- ++k;
- term *= mult / k;
- term /= k + v;
- return result;
- }
-private:
- unsigned k;
- T v;
- T term;
- T mult;
-};
-
-template <class T, class Policy>
-inline T bessel_i_small_z_series(T v, T x, const Policy& pol)
-{
- BOOST_MATH_STD_USING
- T prefix;
- if(v < max_factorial<T>::value)
- {
- prefix = pow(x / 2, v) / boost::math::tgamma(v + 1, pol);
- }
- else
- {
- prefix = v * log(x / 2) - boost::math::lgamma(v + 1, pol);
- prefix = exp(prefix);
- }
- if(prefix == 0)
- return prefix;
-
- cyl_bessel_i_small_z<T, Policy> s(v, x);
- boost::uintmax_t max_iter = policies::get_max_series_iterations<Policy>();
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582))
- T zero = 0;
- T result = boost::math::tools::sum_series(s, boost::math::policies::get_epsilon<T, Policy>(), max_iter, zero);
-#else
- T result = boost::math::tools::sum_series(s, boost::math::policies::get_epsilon<T, Policy>(), max_iter);
-#endif
- policies::check_series_iterations<T>("boost::math::bessel_j_small_z_series<%1%>(%1%,%1%)", max_iter, pol);
- return prefix * result;
-}
-
-// Calculate K(v, x) and K(v+1, x) by method analogous to
-// Temme, Journal of Computational Physics, vol 21, 343 (1976)
-template <typename T, typename Policy>
-int temme_ik(T v, T x, T* K, T* K1, const Policy& pol)
-{
- T f, h, p, q, coef, sum, sum1, tolerance;
- T a, b, c, d, sigma, gamma1, gamma2;
- unsigned long k;
-
- BOOST_MATH_STD_USING
- using namespace boost::math::tools;
- using namespace boost::math::constants;
-
-
- // |x| <= 2, Temme series converge rapidly
- // |x| > 2, the larger the |x|, the slower the convergence
- BOOST_ASSERT(abs(x) <= 2);
- BOOST_ASSERT(abs(v) <= 0.5f);
-
- T gp = boost::math::tgamma1pm1(v, pol);
- T gm = boost::math::tgamma1pm1(-v, pol);
-
- a = log(x / 2);
- b = exp(v * a);
- sigma = -a * v;
- c = abs(v) < tools::epsilon<T>() ?
- T(1) : T(boost::math::sin_pi(v) / (v * pi<T>()));
- d = abs(sigma) < tools::epsilon<T>() ?
- T(1) : T(sinh(sigma) / sigma);
- gamma1 = abs(v) < tools::epsilon<T>() ?
- T(-euler<T>()) : T((0.5f / v) * (gp - gm) * c);
- gamma2 = (2 + gp + gm) * c / 2;
-
- // initial values
- p = (gp + 1) / (2 * b);
- q = (1 + gm) * b / 2;
- f = (cosh(sigma) * gamma1 + d * (-a) * gamma2) / c;
- h = p;
- coef = 1;
- sum = coef * f;
- sum1 = coef * h;
-
- BOOST_MATH_INSTRUMENT_VARIABLE(p);
- BOOST_MATH_INSTRUMENT_VARIABLE(q);
- BOOST_MATH_INSTRUMENT_VARIABLE(f);
- BOOST_MATH_INSTRUMENT_VARIABLE(sigma);
- BOOST_MATH_INSTRUMENT_CODE(sinh(sigma));
- BOOST_MATH_INSTRUMENT_VARIABLE(gamma1);
- BOOST_MATH_INSTRUMENT_VARIABLE(gamma2);
- BOOST_MATH_INSTRUMENT_VARIABLE(c);
- BOOST_MATH_INSTRUMENT_VARIABLE(d);
- BOOST_MATH_INSTRUMENT_VARIABLE(a);
-
- // series summation
- tolerance = tools::epsilon<T>();
- for (k = 1; k < policies::get_max_series_iterations<Policy>(); k++)
- {
- f = (k * f + p + q) / (k*k - v*v);
- p /= k - v;
- q /= k + v;
- h = p - k * f;
- coef *= x * x / (4 * k);
- sum += coef * f;
- sum1 += coef * h;
- if (abs(coef * f) < abs(sum) * tolerance)
- {
- break;
- }
- }
- policies::check_series_iterations<T>("boost::math::bessel_ik<%1%>(%1%,%1%) in temme_ik", k, pol);
-
- *K = sum;
- *K1 = 2 * sum1 / x;
-
- return 0;
-}
-
-// Evaluate continued fraction fv = I_(v+1) / I_v, derived from
-// Abramowitz and Stegun, Handbook of Mathematical Functions, 1972, 9.1.73
-template <typename T, typename Policy>
-int CF1_ik(T v, T x, T* fv, const Policy& pol)
-{
- T C, D, f, a, b, delta, tiny, tolerance;
- unsigned long k;
-
- BOOST_MATH_STD_USING
-
- // |x| <= |v|, CF1_ik converges rapidly
- // |x| > |v|, CF1_ik needs O(|x|) iterations to converge
-
- // modified Lentz's method, see
- // Lentz, Applied Optics, vol 15, 668 (1976)
- tolerance = 2 * tools::epsilon<T>();
- BOOST_MATH_INSTRUMENT_VARIABLE(tolerance);
- tiny = sqrt(tools::min_value<T>());
- BOOST_MATH_INSTRUMENT_VARIABLE(tiny);
- C = f = tiny; // b0 = 0, replace with tiny
- D = 0;
- for (k = 1; k < policies::get_max_series_iterations<Policy>(); k++)
- {
- a = 1;
- b = 2 * (v + k) / x;
- C = b + a / C;
- D = b + a * D;
- if (C == 0) { C = tiny; }
- if (D == 0) { D = tiny; }
- D = 1 / D;
- delta = C * D;
- f *= delta;
- BOOST_MATH_INSTRUMENT_VARIABLE(delta-1);
- if (abs(delta - 1) <= tolerance)
- {
- break;
- }
- }
- BOOST_MATH_INSTRUMENT_VARIABLE(k);
- policies::check_series_iterations<T>("boost::math::bessel_ik<%1%>(%1%,%1%) in CF1_ik", k, pol);
-
- *fv = f;
-
- return 0;
-}
-
-// Calculate K(v, x) and K(v+1, x) by evaluating continued fraction
-// z1 / z0 = U(v+1.5, 2v+1, 2x) / U(v+0.5, 2v+1, 2x), see
-// Thompson and Barnett, Computer Physics Communications, vol 47, 245 (1987)
-template <typename T, typename Policy>
-int CF2_ik(T v, T x, T* Kv, T* Kv1, const Policy& pol)
-{
- BOOST_MATH_STD_USING
- using namespace boost::math::constants;
-
- T S, C, Q, D, f, a, b, q, delta, tolerance, current, prev;
- unsigned long k;
-
- // |x| >= |v|, CF2_ik converges rapidly
- // |x| -> 0, CF2_ik fails to converge
-
- BOOST_ASSERT(abs(x) > 1);
-
- // Steed's algorithm, see Thompson and Barnett,
- // Journal of Computational Physics, vol 64, 490 (1986)
- tolerance = tools::epsilon<T>();
- a = v * v - 0.25f;
- b = 2 * (x + 1); // b1
- D = 1 / b; // D1 = 1 / b1
- f = delta = D; // f1 = delta1 = D1, coincidence
- prev = 0; // q0
- current = 1; // q1
- Q = C = -a; // Q1 = C1 because q1 = 1
- S = 1 + Q * delta; // S1
- BOOST_MATH_INSTRUMENT_VARIABLE(tolerance);
- BOOST_MATH_INSTRUMENT_VARIABLE(a);
- BOOST_MATH_INSTRUMENT_VARIABLE(b);
- BOOST_MATH_INSTRUMENT_VARIABLE(D);
- BOOST_MATH_INSTRUMENT_VARIABLE(f);
-
- for (k = 2; k < policies::get_max_series_iterations<Policy>(); k++) // starting from 2
- {
- // continued fraction f = z1 / z0
- a -= 2 * (k - 1);
- b += 2;
- D = 1 / (b + a * D);
- delta *= b * D - 1;
- f += delta;
-
- // series summation S = 1 + \sum_{n=1}^{\infty} C_n * z_n / z_0
- q = (prev - (b - 2) * current) / a;
- prev = current;
- current = q; // forward recurrence for q
- C *= -a / k;
- Q += C * q;
- S += Q * delta;
- //
- // Under some circumstances q can grow very small and C very
- // large, leading to under/overflow. This is particularly an
- // issue for types which have many digits precision but a narrow
- // exponent range. A typical example being a "double double" type.
- // To avoid this situation we can normalise q (and related prev/current)
- // and C. All other variables remain unchanged in value. A typical
- // test case occurs when x is close to 2, for example cyl_bessel_k(9.125, 2.125).
- //
- if(q < tools::epsilon<T>())
- {
- C *= q;
- prev /= q;
- current /= q;
- q = 1;
- }
-
- // S converges slower than f
- BOOST_MATH_INSTRUMENT_VARIABLE(Q * delta);
- BOOST_MATH_INSTRUMENT_VARIABLE(abs(S) * tolerance);
- if (abs(Q * delta) < abs(S) * tolerance)
- {
- break;
- }
- }
- policies::check_series_iterations<T>("boost::math::bessel_ik<%1%>(%1%,%1%) in CF2_ik", k, pol);
-
- *Kv = sqrt(pi<T>() / (2 * x)) * exp(-x) / S;
- *Kv1 = *Kv * (0.5f + v + x + (v * v - 0.25f) * f) / x;
- BOOST_MATH_INSTRUMENT_VARIABLE(*Kv);
- BOOST_MATH_INSTRUMENT_VARIABLE(*Kv1);
-
- return 0;
-}
-
-enum{
- need_i = 1,
- need_k = 2
-};
-
-// Compute I(v, x) and K(v, x) simultaneously by Temme's method, see
-// Temme, Journal of Computational Physics, vol 19, 324 (1975)
-template <typename T, typename Policy>
-int bessel_ik(T v, T x, T* I, T* K, int kind, const Policy& pol)
-{
- // Kv1 = K_(v+1), fv = I_(v+1) / I_v
- // Ku1 = K_(u+1), fu = I_(u+1) / I_u
- T u, Iv, Kv, Kv1, Ku, Ku1, fv;
- T W, current, prev, next;
- bool reflect = false;
- unsigned n, k;
- int org_kind = kind;
- BOOST_MATH_INSTRUMENT_VARIABLE(v);
- BOOST_MATH_INSTRUMENT_VARIABLE(x);
- BOOST_MATH_INSTRUMENT_VARIABLE(kind);
-
- BOOST_MATH_STD_USING
- using namespace boost::math::tools;
- using namespace boost::math::constants;
-
- static const char* function = "boost::math::bessel_ik<%1%>(%1%,%1%)";
-
- if (v < 0)
- {
- reflect = true;
- v = -v; // v is non-negative from here
- kind |= need_k;
- }
- n = iround(v, pol);
- u = v - n; // -1/2 <= u < 1/2
- BOOST_MATH_INSTRUMENT_VARIABLE(n);
- BOOST_MATH_INSTRUMENT_VARIABLE(u);
-
- if (x < 0)
- {
- *I = *K = policies::raise_domain_error<T>(function,
- "Got x = %1% but real argument x must be non-negative, complex number result not supported.", x, pol);
- return 1;
- }
- if (x == 0)
- {
- Iv = (v == 0) ? static_cast<T>(1) : static_cast<T>(0);
- if(kind & need_k)
- {
- Kv = policies::raise_overflow_error<T>(function, 0, pol);
- }
- else
- {
- Kv = std::numeric_limits<T>::quiet_NaN(); // any value will do
- }
-
- if(reflect && (kind & need_i))
- {
- T z = (u + n % 2);
- Iv = boost::math::sin_pi(z, pol) == 0 ?
- Iv :
- policies::raise_overflow_error<T>(function, 0, pol); // reflection formula
- }
-
- *I = Iv;
- *K = Kv;
- return 0;
- }
-
- // x is positive until reflection
- W = 1 / x; // Wronskian
- if (x <= 2) // x in (0, 2]
- {
- temme_ik(u, x, &Ku, &Ku1, pol); // Temme series
- }
- else // x in (2, \infty)
- {
- CF2_ik(u, x, &Ku, &Ku1, pol); // continued fraction CF2_ik
- }
- BOOST_MATH_INSTRUMENT_VARIABLE(Ku);
- BOOST_MATH_INSTRUMENT_VARIABLE(Ku1);
- prev = Ku;
- current = Ku1;
- T scale = 1;
- for (k = 1; k <= n; k++) // forward recurrence for K
- {
- T fact = 2 * (u + k) / x;
- if((tools::max_value<T>() - fabs(prev)) / fact < fabs(current))
- {
- prev /= current;
- scale /= current;
- current = 1;
- }
- next = fact * current + prev;
- prev = current;
- current = next;
- }
- Kv = prev;
- Kv1 = current;
- BOOST_MATH_INSTRUMENT_VARIABLE(Kv);
- BOOST_MATH_INSTRUMENT_VARIABLE(Kv1);
- if(kind & need_i)
- {
- T lim = (4 * v * v + 10) / (8 * x);
- lim *= lim;
- lim *= lim;
- lim /= 24;
- if((lim < tools::epsilon<T>() * 10) && (x > 100))
- {
- // x is huge compared to v, CF1 may be very slow
- // to converge so use asymptotic expansion for large
- // x case instead. Note that the asymptotic expansion
- // isn't very accurate - so it's deliberately very hard
- // to get here - probably we're going to overflow:
- Iv = asymptotic_bessel_i_large_x(v, x, pol);
- }
- else if((v > 0) && (x / v < 0.25))
- {
- Iv = bessel_i_small_z_series(v, x, pol);
- }
- else
- {
- CF1_ik(v, x, &fv, pol); // continued fraction CF1_ik
- Iv = scale * W / (Kv * fv + Kv1); // Wronskian relation
- }
- }
- else
- Iv = std::numeric_limits<T>::quiet_NaN(); // any value will do
-
- if (reflect)
- {
- T z = (u + n % 2);
- T fact = (2 / pi<T>()) * (boost::math::sin_pi(z) * Kv);
- if(fact == 0)
- *I = Iv;
- else if(tools::max_value<T>() * scale < fact)
- *I = (org_kind & need_i) ? T(sign(fact) * sign(scale) * policies::raise_overflow_error<T>(function, 0, pol)) : T(0);
- else
- *I = Iv + fact / scale; // reflection formula
- }
- else
- {
- *I = Iv;
- }
- if(tools::max_value<T>() * scale < Kv)
- *K = (org_kind & need_k) ? T(sign(Kv) * sign(scale) * policies::raise_overflow_error<T>(function, 0, pol)) : T(0);
- else
- *K = Kv / scale;
- BOOST_MATH_INSTRUMENT_VARIABLE(*I);
- BOOST_MATH_INSTRUMENT_VARIABLE(*K);
- return 0;
-}
-
-}}} // namespaces
-
-#endif // BOOST_MATH_BESSEL_IK_HPP
-
diff --git a/boost/math/special_functions/detail/bessel_j0.hpp b/boost/math/special_functions/detail/bessel_j0.hpp
deleted file mode 100644
index ebcab17..0000000
--- a/boost/math/special_functions/detail/bessel_j0.hpp
+++ /dev/null
@@ -1,193 +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)
-
-#ifndef BOOST_MATH_BESSEL_J0_HPP
-#define BOOST_MATH_BESSEL_J0_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/math/constants/constants.hpp>
-#include <boost/math/tools/rational.hpp>
-#include <boost/math/tools/big_constant.hpp>
-#include <boost/assert.hpp>
-
-// Bessel function of the first kind of order zero
-// x <= 8, minimax rational approximations on root-bracketing intervals
-// x > 8, Hankel asymptotic expansion in Hart, Computer Approximations, 1968
-
-namespace boost { namespace math { namespace detail{
-
-template <typename T>
-T bessel_j0(T x);
-
-template <class T>
-struct bessel_j0_initializer
-{
- struct init
- {
- init()
- {
- do_init();
- }
- static void do_init()
- {
- bessel_j0(T(1));
- }
- void force_instantiate()const{}
- };
- static const init initializer;
- static void force_instantiate()
- {
- initializer.force_instantiate();
- }
-};
-
-template <class T>
-const typename bessel_j0_initializer<T>::init bessel_j0_initializer<T>::initializer;
-
-template <typename T>
-T bessel_j0(T x)
-{
- bessel_j0_initializer<T>::force_instantiate();
-
- static const T P1[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -4.1298668500990866786e+11)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 2.7282507878605942706e+10)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -6.2140700423540120665e+08)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 6.6302997904833794242e+06)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -3.6629814655107086448e+04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.0344222815443188943e+02)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.2117036164593528341e-01))
- };
- static const T Q1[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 2.3883787996332290397e+12)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 2.6328198300859648632e+10)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.3985097372263433271e+08)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 4.5612696224219938200e+05)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 9.3614022392337710626e+02)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.0)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 0.0))
- };
- static const T P2[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.8319397969392084011e+03)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.2254078161378989535e+04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -7.2879702464464618998e+03)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.0341910641583726701e+04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.1725046279757103576e+04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 4.4176707025325087628e+03)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 7.4321196680624245801e+02)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 4.8591703355916499363e+01))
- };
- static const T Q2[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -3.5783478026152301072e+05)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 2.4599102262586308984e+05)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -8.4055062591169562211e+04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.8680990008359188352e+04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -2.9458766545509337327e+03)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 3.3307310774649071172e+02)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -2.5258076240801555057e+01)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.0))
- };
- static const T PC[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 2.2779090197304684302e+04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 4.1345386639580765797e+04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 2.1170523380864944322e+04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 3.4806486443249270347e+03)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.5376201909008354296e+02)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 8.8961548424210455236e-01))
- };
- static const T QC[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 2.2779090197304684318e+04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 4.1370412495510416640e+04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 2.1215350561880115730e+04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 3.5028735138235608207e+03)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.5711159858080893649e+02)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.0))
- };
- static const T PS[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -8.9226600200800094098e+01)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.8591953644342993800e+02)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.1183429920482737611e+02)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -2.2300261666214198472e+01)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.2441026745835638459e+00)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -8.8033303048680751817e-03))
- };
- static const T QS[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 5.7105024128512061905e+03)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.1951131543434613647e+04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 7.2642780169211018836e+03)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.4887231232283756582e+03)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 9.0593769594993125859e+01)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.0))
- };
- static const T x1 = static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 2.4048255576957727686e+00)),
- x2 = static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 5.5200781102863106496e+00)),
- x11 = static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 6.160e+02)),
- x12 = static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.42444230422723137837e-03)),
- x21 = static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.4130e+03)),
- x22 = static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 5.46860286310649596604e-04));
-
- T value, factor, r, rc, rs;
-
- BOOST_MATH_STD_USING
- using namespace boost::math::tools;
- using namespace boost::math::constants;
-
- if (x < 0)
- {
- x = -x; // even function
- }
- if (x == 0)
- {
- return static_cast<T>(1);
- }
- if (x <= 4) // x in (0, 4]
- {
- T y = x * x;
- BOOST_ASSERT(sizeof(P1) == sizeof(Q1));
- r = evaluate_rational(P1, Q1, y);
- factor = (x + x1) * ((x - x11/256) - x12);
- value = factor * r;
- }
- else if (x <= 8.0) // x in (4, 8]
- {
- T y = 1 - (x * x)/64;
- BOOST_ASSERT(sizeof(P2) == sizeof(Q2));
- r = evaluate_rational(P2, Q2, y);
- factor = (x + x2) * ((x - x21/256) - x22);
- value = factor * r;
- }
- else // x in (8, \infty)
- {
- T y = 8 / x;
- T y2 = y * y;
- BOOST_ASSERT(sizeof(PC) == sizeof(QC));
- BOOST_ASSERT(sizeof(PS) == sizeof(QS));
- rc = evaluate_rational(PC, QC, y2);
- rs = evaluate_rational(PS, QS, y2);
- factor = constants::one_div_root_pi<T>() / sqrt(x);
- //
- // What follows is really just:
- //
- // T z = x - pi/4;
- // value = factor * (rc * cos(z) - y * rs * sin(z));
- //
- // But using the addition formulae for sin and cos, plus
- // the special values for sin/cos of pi/4.
- //
- T sx = sin(x);
- T cx = cos(x);
- value = factor * (rc * (cx + sx) - y * rs * (sx - cx));
- }
-
- return value;
-}
-
-}}} // namespaces
-
-#endif // BOOST_MATH_BESSEL_J0_HPP
-
diff --git a/boost/math/special_functions/detail/bessel_j1.hpp b/boost/math/special_functions/detail/bessel_j1.hpp
deleted file mode 100644
index 91ecd28..0000000
--- a/boost/math/special_functions/detail/bessel_j1.hpp
+++ /dev/null
@@ -1,199 +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)
-
-#ifndef BOOST_MATH_BESSEL_J1_HPP
-#define BOOST_MATH_BESSEL_J1_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/math/constants/constants.hpp>
-#include <boost/math/tools/rational.hpp>
-#include <boost/math/tools/big_constant.hpp>
-#include <boost/assert.hpp>
-
-// Bessel function of the first kind of order one
-// x <= 8, minimax rational approximations on root-bracketing intervals
-// x > 8, Hankel asymptotic expansion in Hart, Computer Approximations, 1968
-
-namespace boost { namespace math{ namespace detail{
-
-template <typename T>
-T bessel_j1(T x);
-
-template <class T>
-struct bessel_j1_initializer
-{
- struct init
- {
- init()
- {
- do_init();
- }
- static void do_init()
- {
- bessel_j1(T(1));
- }
- void force_instantiate()const{}
- };
- static const init initializer;
- static void force_instantiate()
- {
- initializer.force_instantiate();
- }
-};
-
-template <class T>
-const typename bessel_j1_initializer<T>::init bessel_j1_initializer<T>::initializer;
-
-template <typename T>
-T bessel_j1(T x)
-{
- bessel_j1_initializer<T>::force_instantiate();
-
- static const T P1[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.4258509801366645672e+11)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 6.6781041261492395835e+09)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.1548696764841276794e+08)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 9.8062904098958257677e+05)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -4.4615792982775076130e+03)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.0650724020080236441e+01)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.0767857011487300348e-02))
- };
- static const T Q1[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 4.1868604460820175290e+12)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 4.2091902282580133541e+10)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 2.0228375140097033958e+08)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 5.9117614494174794095e+05)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.0742272239517380498e+03)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.0)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 0.0))
- };
- static const T P2[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.7527881995806511112e+16)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.6608531731299018674e+15)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -3.6658018905416665164e+13)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 3.5580665670910619166e+11)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.8113931269860667829e+09)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 5.0793266148011179143e+06)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -7.5023342220781607561e+03)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 4.6179191852758252278e+00))
- };
- static const T Q2[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.7253905888447681194e+18)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.7128800897135812012e+16)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 8.4899346165481429307e+13)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 2.7622777286244082666e+11)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 6.4872502899596389593e+08)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.1267125065029138050e+06)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.3886978985861357615e+03)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.0))
- };
- static const T PC[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -4.4357578167941278571e+06)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -9.9422465050776411957e+06)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -6.6033732483649391093e+06)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.5235293511811373833e+06)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.0982405543459346727e+05)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.6116166443246101165e+03)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 0.0))
- };
- static const T QC[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -4.4357578167941278568e+06)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -9.9341243899345856590e+06)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -6.5853394797230870728e+06)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.5118095066341608816e+06)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.0726385991103820119e+05)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.4550094401904961825e+03)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.0))
- };
- static const T PS[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 3.3220913409857223519e+04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 8.5145160675335701966e+04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 6.6178836581270835179e+04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.8494262873223866797e+04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.7063754290207680021e+03)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 3.5265133846636032186e+01)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 0.0))
- };
- static const T QS[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 7.0871281941028743574e+05)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.8194580422439972989e+06)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.4194606696037208929e+06)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 4.0029443582266975117e+05)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 3.7890229745772202641e+04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 8.6383677696049909675e+02)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.0))
- };
- static const T x1 = static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 3.8317059702075123156e+00)),
- x2 = static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 7.0155866698156187535e+00)),
- x11 = static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 9.810e+02)),
- x12 = static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -3.2527979248768438556e-04)),
- x21 = static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.7960e+03)),
- x22 = static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -3.8330184381246462950e-05));
-
- T value, factor, r, rc, rs, w;
-
- BOOST_MATH_STD_USING
- using namespace boost::math::tools;
- using namespace boost::math::constants;
-
- w = abs(x);
- if (x == 0)
- {
- return static_cast<T>(0);
- }
- if (w <= 4) // w in (0, 4]
- {
- T y = x * x;
- BOOST_ASSERT(sizeof(P1) == sizeof(Q1));
- r = evaluate_rational(P1, Q1, y);
- factor = w * (w + x1) * ((w - x11/256) - x12);
- value = factor * r;
- }
- else if (w <= 8) // w in (4, 8]
- {
- T y = x * x;
- BOOST_ASSERT(sizeof(P2) == sizeof(Q2));
- r = evaluate_rational(P2, Q2, y);
- factor = w * (w + x2) * ((w - x21/256) - x22);
- value = factor * r;
- }
- else // w in (8, \infty)
- {
- T y = 8 / w;
- T y2 = y * y;
- BOOST_ASSERT(sizeof(PC) == sizeof(QC));
- BOOST_ASSERT(sizeof(PS) == sizeof(QS));
- rc = evaluate_rational(PC, QC, y2);
- rs = evaluate_rational(PS, QS, y2);
- factor = 1 / (sqrt(w) * constants::root_pi<T>());
- //
- // What follows is really just:
- //
- // T z = w - 0.75f * pi<T>();
- // value = factor * (rc * cos(z) - y * rs * sin(z));
- //
- // but using the sin/cos addition rules plus constants
- // for the values of sin/cos of 3PI/4 which then cancel
- // out with corresponding terms in "factor".
- //
- T sx = sin(x);
- T cx = cos(x);
- value = factor * (rc * (sx - cx) + y * rs * (sx + cx));
- }
-
- if (x < 0)
- {
- value *= -1; // odd function
- }
- return value;
-}
-
-}}} // namespaces
-
-#endif // BOOST_MATH_BESSEL_J1_HPP
-
diff --git a/boost/math/special_functions/detail/bessel_jn.hpp b/boost/math/special_functions/detail/bessel_jn.hpp
deleted file mode 100644
index 3f15f9c..0000000
--- a/boost/math/special_functions/detail/bessel_jn.hpp
+++ /dev/null
@@ -1,134 +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)
-
-#ifndef BOOST_MATH_BESSEL_JN_HPP
-#define BOOST_MATH_BESSEL_JN_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/math/special_functions/detail/bessel_j0.hpp>
-#include <boost/math/special_functions/detail/bessel_j1.hpp>
-#include <boost/math/special_functions/detail/bessel_jy.hpp>
-#include <boost/math/special_functions/detail/bessel_jy_asym.hpp>
-#include <boost/math/special_functions/detail/bessel_jy_series.hpp>
-
-// Bessel function of the first kind of integer order
-// J_n(z) is the minimal solution
-// n < abs(z), forward recurrence stable and usable
-// n >= abs(z), forward recurrence unstable, use Miller's algorithm
-
-namespace boost { namespace math { namespace detail{
-
-template <typename T, typename Policy>
-T bessel_jn(int n, T x, const Policy& pol)
-{
- T value(0), factor, current, prev, next;
-
- BOOST_MATH_STD_USING
-
- //
- // Reflection has to come first:
- //
- if (n < 0)
- {
- factor = (n & 0x1) ? -1 : 1; // J_{-n}(z) = (-1)^n J_n(z)
- n = -n;
- }
- else
- {
- factor = 1;
- }
- if(x < 0)
- {
- factor *= (n & 0x1) ? -1 : 1; // J_{n}(-z) = (-1)^n J_n(z)
- x = -x;
- }
- //
- // Special cases:
- //
- if (n == 0)
- {
- return factor * bessel_j0(x);
- }
- if (n == 1)
- {
- return factor * bessel_j1(x);
- }
-
- if (x == 0) // n >= 2
- {
- return static_cast<T>(0);
- }
-
- if(asymptotic_bessel_large_x_limit(T(n), x))
- return factor * asymptotic_bessel_j_large_x_2<T>(n, x);
-
- BOOST_ASSERT(n > 1);
- T scale = 1;
- if (n < abs(x)) // forward recurrence
- {
- prev = bessel_j0(x);
- current = bessel_j1(x);
- policies::check_series_iterations<T>("boost::math::bessel_j_n<%1%>(%1%,%1%)", n, pol);
- for (int k = 1; k < n; k++)
- {
- T fact = 2 * k / x;
- //
- // rescale if we would overflow or underflow:
- //
- if((fabs(fact) > 1) && ((tools::max_value<T>() - fabs(prev)) / fabs(fact) < fabs(current)))
- {
- scale /= current;
- prev /= current;
- current = 1;
- }
- value = fact * current - prev;
- prev = current;
- current = value;
- }
- }
- else if((x < 1) || (n > x * x / 4) || (x < 5))
- {
- return factor * bessel_j_small_z_series(T(n), x, pol);
- }
- else // backward recurrence
- {
- T fn; int s; // fn = J_(n+1) / J_n
- // |x| <= n, fast convergence for continued fraction CF1
- boost::math::detail::CF1_jy(static_cast<T>(n), x, &fn, &s, pol);
- prev = fn;
- current = 1;
- // Check recursion won't go on too far:
- policies::check_series_iterations<T>("boost::math::bessel_j_n<%1%>(%1%,%1%)", n, pol);
- for (int k = n; k > 0; k--)
- {
- T fact = 2 * k / x;
- if((fabs(fact) > 1) && ((tools::max_value<T>() - fabs(prev)) / fabs(fact) < fabs(current)))
- {
- prev /= current;
- scale /= current;
- current = 1;
- }
- next = fact * current - prev;
- prev = current;
- current = next;
- }
- value = bessel_j0(x) / current; // normalization
- scale = 1 / scale;
- }
- value *= factor;
-
- if(tools::max_value<T>() * scale < fabs(value))
- return policies::raise_overflow_error<T>("boost::math::bessel_jn<%1%>(%1%,%1%)", 0, pol);
-
- return value / scale;
-}
-
-}}} // namespaces
-
-#endif // BOOST_MATH_BESSEL_JN_HPP
-
diff --git a/boost/math/special_functions/detail/bessel_jy.hpp b/boost/math/special_functions/detail/bessel_jy.hpp
deleted file mode 100644
index d341449..0000000
--- a/boost/math/special_functions/detail/bessel_jy.hpp
+++ /dev/null
@@ -1,578 +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)
-
-#ifndef BOOST_MATH_BESSEL_JY_HPP
-#define BOOST_MATH_BESSEL_JY_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/math/tools/config.hpp>
-#include <boost/math/special_functions/gamma.hpp>
-#include <boost/math/special_functions/sign.hpp>
-#include <boost/math/special_functions/hypot.hpp>
-#include <boost/math/special_functions/sin_pi.hpp>
-#include <boost/math/special_functions/cos_pi.hpp>
-#include <boost/math/special_functions/detail/bessel_jy_asym.hpp>
-#include <boost/math/special_functions/detail/bessel_jy_series.hpp>
-#include <boost/math/constants/constants.hpp>
-#include <boost/math/policies/error_handling.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/type_traits/is_floating_point.hpp>
-#include <complex>
-
-// Bessel functions of the first and second kind of fractional order
-
-namespace boost { namespace math {
-
- namespace detail {
-
- //
- // Simultaneous calculation of A&S 9.2.9 and 9.2.10
- // for use in A&S 9.2.5 and 9.2.6.
- // This series is quick to evaluate, but divergent unless
- // x is very large, in fact it's pretty hard to figure out
- // with any degree of precision when this series actually
- // *will* converge!! Consequently, we may just have to
- // try it and see...
- //
- template <class T, class Policy>
- bool hankel_PQ(T v, T x, T* p, T* q, const Policy& )
- {
- BOOST_MATH_STD_USING
- T tolerance = 2 * policies::get_epsilon<T, Policy>();
- *p = 1;
- *q = 0;
- T k = 1;
- T z8 = 8 * x;
- T sq = 1;
- T mu = 4 * v * v;
- T term = 1;
- bool ok = true;
- do
- {
- term *= (mu - sq * sq) / (k * z8);
- *q += term;
- k += 1;
- sq += 2;
- T mult = (sq * sq - mu) / (k * z8);
- ok = fabs(mult) < 0.5f;
- term *= mult;
- *p += term;
- k += 1;
- sq += 2;
- }
- while((fabs(term) > tolerance * *p) && ok);
- return ok;
- }
-
- // Calculate Y(v, x) and Y(v+1, x) by Temme's method, see
- // Temme, Journal of Computational Physics, vol 21, 343 (1976)
- template <typename T, typename Policy>
- int temme_jy(T v, T x, T* Y, T* Y1, const Policy& pol)
- {
- T g, h, p, q, f, coef, sum, sum1, tolerance;
- T a, d, e, sigma;
- unsigned long k;
-
- BOOST_MATH_STD_USING
- using namespace boost::math::tools;
- using namespace boost::math::constants;
-
- BOOST_ASSERT(fabs(v) <= 0.5f); // precondition for using this routine
-
- T gp = boost::math::tgamma1pm1(v, pol);
- T gm = boost::math::tgamma1pm1(-v, pol);
- T spv = boost::math::sin_pi(v, pol);
- T spv2 = boost::math::sin_pi(v/2, pol);
- T xp = pow(x/2, v);
-
- a = log(x / 2);
- sigma = -a * v;
- d = abs(sigma) < tools::epsilon<T>() ?
- T(1) : sinh(sigma) / sigma;
- e = abs(v) < tools::epsilon<T>() ? T(v*pi<T>()*pi<T>() / 2)
- : T(2 * spv2 * spv2 / v);
-
- T g1 = (v == 0) ? T(-euler<T>()) : T((gp - gm) / ((1 + gp) * (1 + gm) * 2 * v));
- T g2 = (2 + gp + gm) / ((1 + gp) * (1 + gm) * 2);
- T vspv = (fabs(v) < tools::epsilon<T>()) ? T(1/constants::pi<T>()) : T(v / spv);
- f = (g1 * cosh(sigma) - g2 * a * d) * 2 * vspv;
-
- p = vspv / (xp * (1 + gm));
- q = vspv * xp / (1 + gp);
-
- g = f + e * q;
- h = p;
- coef = 1;
- sum = coef * g;
- sum1 = coef * h;
-
- T v2 = v * v;
- T coef_mult = -x * x / 4;
-
- // series summation
- tolerance = policies::get_epsilon<T, Policy>();
- for (k = 1; k < policies::get_max_series_iterations<Policy>(); k++)
- {
- f = (k * f + p + q) / (k*k - v2);
- p /= k - v;
- q /= k + v;
- g = f + e * q;
- h = p - k * g;
- coef *= coef_mult / k;
- sum += coef * g;
- sum1 += coef * h;
- if (abs(coef * g) < abs(sum) * tolerance)
- {
- break;
- }
- }
- policies::check_series_iterations<T>("boost::math::bessel_jy<%1%>(%1%,%1%) in temme_jy", k, pol);
- *Y = -sum;
- *Y1 = -2 * sum1 / x;
-
- return 0;
- }
-
- // Evaluate continued fraction fv = J_(v+1) / J_v, see
- // Abramowitz and Stegun, Handbook of Mathematical Functions, 1972, 9.1.73
- template <typename T, typename Policy>
- int CF1_jy(T v, T x, T* fv, int* sign, const Policy& pol)
- {
- T C, D, f, a, b, delta, tiny, tolerance;
- unsigned long k;
- int s = 1;
-
- BOOST_MATH_STD_USING
-
- // |x| <= |v|, CF1_jy converges rapidly
- // |x| > |v|, CF1_jy needs O(|x|) iterations to converge
-
- // modified Lentz's method, see
- // Lentz, Applied Optics, vol 15, 668 (1976)
- tolerance = 2 * policies::get_epsilon<T, Policy>();;
- tiny = sqrt(tools::min_value<T>());
- C = f = tiny; // b0 = 0, replace with tiny
- D = 0;
- for (k = 1; k < policies::get_max_series_iterations<Policy>() * 100; k++)
- {
- a = -1;
- b = 2 * (v + k) / x;
- C = b + a / C;
- D = b + a * D;
- if (C == 0) { C = tiny; }
- if (D == 0) { D = tiny; }
- D = 1 / D;
- delta = C * D;
- f *= delta;
- if (D < 0) { s = -s; }
- if (abs(delta - 1) < tolerance)
- { break; }
- }
- policies::check_series_iterations<T>("boost::math::bessel_jy<%1%>(%1%,%1%) in CF1_jy", k / 100, pol);
- *fv = -f;
- *sign = s; // sign of denominator
-
- return 0;
- }
- //
- // This algorithm was originally written by Xiaogang Zhang
- // using std::complex to perform the complex arithmetic.
- // However, that turns out to 10x or more slower than using
- // all real-valued arithmetic, so it's been rewritten using
- // real values only.
- //
- template <typename T, typename Policy>
- int CF2_jy(T v, T x, T* p, T* q, const Policy& pol)
- {
- BOOST_MATH_STD_USING
-
- T Cr, Ci, Dr, Di, fr, fi, a, br, bi, delta_r, delta_i, temp;
- T tiny;
- unsigned long k;
-
- // |x| >= |v|, CF2_jy converges rapidly
- // |x| -> 0, CF2_jy fails to converge
- BOOST_ASSERT(fabs(x) > 1);
-
- // modified Lentz's method, complex numbers involved, see
- // Lentz, Applied Optics, vol 15, 668 (1976)
- T tolerance = 2 * policies::get_epsilon<T, Policy>();
- tiny = sqrt(tools::min_value<T>());
- Cr = fr = -0.5f / x;
- Ci = fi = 1;
- //Dr = Di = 0;
- T v2 = v * v;
- a = (0.25f - v2) / x; // Note complex this one time only!
- br = 2 * x;
- bi = 2;
- temp = Cr * Cr + 1;
- Ci = bi + a * Cr / temp;
- Cr = br + a / temp;
- Dr = br;
- Di = bi;
- if (fabs(Cr) + fabs(Ci) < tiny) { Cr = tiny; }
- if (fabs(Dr) + fabs(Di) < tiny) { Dr = tiny; }
- temp = Dr * Dr + Di * Di;
- Dr = Dr / temp;
- Di = -Di / temp;
- delta_r = Cr * Dr - Ci * Di;
- delta_i = Ci * Dr + Cr * Di;
- temp = fr;
- fr = temp * delta_r - fi * delta_i;
- fi = temp * delta_i + fi * delta_r;
- for (k = 2; k < policies::get_max_series_iterations<Policy>(); k++)
- {
- a = k - 0.5f;
- a *= a;
- a -= v2;
- bi += 2;
- temp = Cr * Cr + Ci * Ci;
- Cr = br + a * Cr / temp;
- Ci = bi - a * Ci / temp;
- Dr = br + a * Dr;
- Di = bi + a * Di;
- if (fabs(Cr) + fabs(Ci) < tiny) { Cr = tiny; }
- if (fabs(Dr) + fabs(Di) < tiny) { Dr = tiny; }
- temp = Dr * Dr + Di * Di;
- Dr = Dr / temp;
- Di = -Di / temp;
- delta_r = Cr * Dr - Ci * Di;
- delta_i = Ci * Dr + Cr * Di;
- temp = fr;
- fr = temp * delta_r - fi * delta_i;
- fi = temp * delta_i + fi * delta_r;
- if (fabs(delta_r - 1) + fabs(delta_i) < tolerance)
- break;
- }
- policies::check_series_iterations<T>("boost::math::bessel_jy<%1%>(%1%,%1%) in CF2_jy", k, pol);
- *p = fr;
- *q = fi;
-
- return 0;
- }
-
- static const int need_j = 1;
- static const int need_y = 2;
-
- // Compute J(v, x) and Y(v, x) simultaneously by Steed's method, see
- // Barnett et al, Computer Physics Communications, vol 8, 377 (1974)
- template <typename T, typename Policy>
- int bessel_jy(T v, T x, T* J, T* Y, int kind, const Policy& pol)
- {
- BOOST_ASSERT(x >= 0);
-
- T u, Jv, Ju, Yv, Yv1, Yu, Yu1(0), fv, fu;
- T W, p, q, gamma, current, prev, next;
- bool reflect = false;
- unsigned n, k;
- int s;
- int org_kind = kind;
- T cp = 0;
- T sp = 0;
-
- static const char* function = "boost::math::bessel_jy<%1%>(%1%,%1%)";
-
- BOOST_MATH_STD_USING
- using namespace boost::math::tools;
- using namespace boost::math::constants;
-
- if (v < 0)
- {
- reflect = true;
- v = -v; // v is non-negative from here
- }
- if(v > static_cast<T>((std::numeric_limits<int>::max)()))
- policies::raise_evaluation_error<T>(function, "Order of Bessel function is too large to evaluate: got %1%", v, pol);
- n = iround(v, pol);
- u = v - n; // -1/2 <= u < 1/2
-
- if(reflect)
- {
- T z = (u + n % 2);
- cp = boost::math::cos_pi(z, pol);
- sp = boost::math::sin_pi(z, pol);
- if(u != 0)
- kind = need_j|need_y; // need both for reflection formula
- }
-
- if(x == 0)
- {
- if(v == 0)
- *J = 1;
- else if((u == 0) || !reflect)
- *J = 0;
- else if(kind & need_j)
- *J = policies::raise_domain_error<T>(function, "Value of Bessel J_v(x) is complex-infinity at %1%", x, pol); // complex infinity
- else
- *J = std::numeric_limits<T>::quiet_NaN(); // any value will do, not using J.
-
- if((kind & need_y) == 0)
- *Y = std::numeric_limits<T>::quiet_NaN(); // any value will do, not using Y.
- else if(v == 0)
- *Y = -policies::raise_overflow_error<T>(function, 0, pol);
- else
- *Y = policies::raise_domain_error<T>(function, "Value of Bessel Y_v(x) is complex-infinity at %1%", x, pol); // complex infinity
- return 1;
- }
-
- // x is positive until reflection
- W = T(2) / (x * pi<T>()); // Wronskian
- T Yv_scale = 1;
- if(((kind & need_y) == 0) && ((x < 1) || (v > x * x / 4) || (x < 5)))
- {
- //
- // This series will actually converge rapidly for all small
- // x - say up to x < 20 - but the first few terms are large
- // and divergent which leads to large errors :-(
- //
- Jv = bessel_j_small_z_series(v, x, pol);
- Yv = std::numeric_limits<T>::quiet_NaN();
- }
- else if((x < 1) && (u != 0) && (log(policies::get_epsilon<T, Policy>() / 2) > v * log((x/2) * (x/2) / v)))
- {
- // Evaluate using series representations.
- // This is particularly important for x << v as in this
- // area temme_jy may be slow to converge, if it converges at all.
- // Requires x is not an integer.
- if(kind&need_j)
- Jv = bessel_j_small_z_series(v, x, pol);
- else
- Jv = std::numeric_limits<T>::quiet_NaN();
- if((org_kind&need_y && (!reflect || (cp != 0)))
- || (org_kind & need_j && (reflect && (sp != 0))))
- {
- // Only calculate if we need it, and if the reflection formula will actually use it:
- Yv = bessel_y_small_z_series(v, x, &Yv_scale, pol);
- }
- else
- Yv = std::numeric_limits<T>::quiet_NaN();
- }
- else if((u == 0) && (x < policies::get_epsilon<T, Policy>()))
- {
- // Truncated series evaluation for small x and v an integer,
- // much quicker in this area than temme_jy below.
- if(kind&need_j)
- Jv = bessel_j_small_z_series(v, x, pol);
- else
- Jv = std::numeric_limits<T>::quiet_NaN();
- if((org_kind&need_y && (!reflect || (cp != 0)))
- || (org_kind & need_j && (reflect && (sp != 0))))
- {
- // Only calculate if we need it, and if the reflection formula will actually use it:
- Yv = bessel_yn_small_z(n, x, &Yv_scale, pol);
- }
- else
- Yv = std::numeric_limits<T>::quiet_NaN();
- }
- else if(asymptotic_bessel_large_x_limit(v, x))
- {
- if(kind&need_y)
- {
- Yv = asymptotic_bessel_y_large_x_2(v, x);
- }
- else
- Yv = std::numeric_limits<T>::quiet_NaN(); // any value will do, we're not using it.
- if(kind&need_j)
- {
- Jv = asymptotic_bessel_j_large_x_2(v, x);
- }
- else
- Jv = std::numeric_limits<T>::quiet_NaN(); // any value will do, we're not using it.
- }
- else if((x > 8) && hankel_PQ(v, x, &p, &q, pol))
- {
- //
- // Hankel approximation: note that this method works best when x
- // is large, but in that case we end up calculating sines and cosines
- // of large values, with horrendous resulting accuracy. It is fast though
- // when it works....
- //
- // Normally we calculate sin/cos(chi) where:
- //
- // chi = x - fmod(T(v / 2 + 0.25f), T(2)) * boost::math::constants::pi<T>();
- //
- // But this introduces large errors, so use sin/cos addition formulae to
- // improve accuracy:
- //
- T mod_v = fmod(T(v / 2 + 0.25f), T(2));
- T sx = sin(x);
- T cx = cos(x);
- T sv = sin_pi(mod_v);
- T cv = cos_pi(mod_v);
-
- T sc = sx * cv - sv * cx; // == sin(chi);
- T cc = cx * cv + sx * sv; // == cos(chi);
- T chi = boost::math::constants::root_two<T>() / (boost::math::constants::root_pi<T>() * sqrt(x)); //sqrt(2 / (boost::math::constants::pi<T>() * x));
- Yv = chi * (p * sc + q * cc);
- Jv = chi * (p * cc - q * sc);
- }
- else if (x <= 2) // x in (0, 2]
- {
- if(temme_jy(u, x, &Yu, &Yu1, pol)) // Temme series
- {
- // domain error:
- *J = *Y = Yu;
- return 1;
- }
- prev = Yu;
- current = Yu1;
- T scale = 1;
- policies::check_series_iterations<T>(function, n, pol);
- for (k = 1; k <= n; k++) // forward recurrence for Y
- {
- T fact = 2 * (u + k) / x;
- if((tools::max_value<T>() - fabs(prev)) / fact < fabs(current))
- {
- scale /= current;
- prev /= current;
- current = 1;
- }
- next = fact * current - prev;
- prev = current;
- current = next;
- }
- Yv = prev;
- Yv1 = current;
- if(kind&need_j)
- {
- CF1_jy(v, x, &fv, &s, pol); // continued fraction CF1_jy
- Jv = scale * W / (Yv * fv - Yv1); // Wronskian relation
- }
- else
- Jv = std::numeric_limits<T>::quiet_NaN(); // any value will do, we're not using it.
- Yv_scale = scale;
- }
- else // x in (2, \infty)
- {
- // Get Y(u, x):
-
- T ratio;
- CF1_jy(v, x, &fv, &s, pol);
- // tiny initial value to prevent overflow
- T init = sqrt(tools::min_value<T>());
- prev = fv * s * init;
- current = s * init;
- if(v < max_factorial<T>::value)
- {
- policies::check_series_iterations<T>(function, n, pol);
- for (k = n; k > 0; k--) // backward recurrence for J
- {
- next = 2 * (u + k) * current / x - prev;
- prev = current;
- current = next;
- }
- ratio = (s * init) / current; // scaling ratio
- // can also call CF1_jy() to get fu, not much difference in precision
- fu = prev / current;
- }
- else
- {
- //
- // When v is large we may get overflow in this calculation
- // leading to NaN's and other nasty surprises:
- //
- policies::check_series_iterations<T>(function, n, pol);
- bool over = false;
- for (k = n; k > 0; k--) // backward recurrence for J
- {
- T t = 2 * (u + k) / x;
- if((t > 1) && (tools::max_value<T>() / t < current))
- {
- over = true;
- break;
- }
- next = t * current - prev;
- prev = current;
- current = next;
- }
- if(!over)
- {
- ratio = (s * init) / current; // scaling ratio
- // can also call CF1_jy() to get fu, not much difference in precision
- fu = prev / current;
- }
- else
- {
- ratio = 0;
- fu = 1;
- }
- }
- CF2_jy(u, x, &p, &q, pol); // continued fraction CF2_jy
- T t = u / x - fu; // t = J'/J
- gamma = (p - t) / q;
- //
- // We can't allow gamma to cancel out to zero competely as it messes up
- // the subsequent logic. So pretend that one bit didn't cancel out
- // and set to a suitably small value. The only test case we've been able to
- // find for this, is when v = 8.5 and x = 4*PI.
- //
- if(gamma == 0)
- {
- gamma = u * tools::epsilon<T>() / x;
- }
- Ju = sign(current) * sqrt(W / (q + gamma * (p - t)));
-
- Jv = Ju * ratio; // normalization
-
- Yu = gamma * Ju;
- Yu1 = Yu * (u/x - p - q/gamma);
-
- if(kind&need_y)
- {
- // compute Y:
- prev = Yu;
- current = Yu1;
- policies::check_series_iterations<T>(function, n, pol);
- for (k = 1; k <= n; k++) // forward recurrence for Y
- {
- T fact = 2 * (u + k) / x;
- if((tools::max_value<T>() - fabs(prev)) / fact < fabs(current))
- {
- prev /= current;
- Yv_scale /= current;
- current = 1;
- }
- next = fact * current - prev;
- prev = current;
- current = next;
- }
- Yv = prev;
- }
- else
- Yv = std::numeric_limits<T>::quiet_NaN(); // any value will do, we're not using it.
- }
-
- if (reflect)
- {
- if((sp != 0) && (tools::max_value<T>() * fabs(Yv_scale) < fabs(sp * Yv)))
- *J = org_kind & need_j ? T(-sign(sp) * sign(Yv) * sign(Yv_scale) * policies::raise_overflow_error<T>(function, 0, pol)) : T(0);
- else
- *J = cp * Jv - (sp == 0 ? T(0) : T((sp * Yv) / Yv_scale)); // reflection formula
- if((cp != 0) && (tools::max_value<T>() * fabs(Yv_scale) < fabs(cp * Yv)))
- *Y = org_kind & need_y ? T(-sign(cp) * sign(Yv) * sign(Yv_scale) * policies::raise_overflow_error<T>(function, 0, pol)) : T(0);
- else
- *Y = (sp != 0 ? sp * Jv : T(0)) + (cp == 0 ? T(0) : T((cp * Yv) / Yv_scale));
- }
- else
- {
- *J = Jv;
- if(tools::max_value<T>() * fabs(Yv_scale) < fabs(Yv))
- *Y = org_kind & need_y ? T(sign(Yv) * sign(Yv_scale) * policies::raise_overflow_error<T>(function, 0, pol)) : T(0);
- else
- *Y = Yv / Yv_scale;
- }
-
- return 0;
- }
-
- } // namespace detail
-
-}} // namespaces
-
-#endif // BOOST_MATH_BESSEL_JY_HPP
-
diff --git a/boost/math/special_functions/detail/bessel_jy_asym.hpp b/boost/math/special_functions/detail/bessel_jy_asym.hpp
deleted file mode 100644
index 81f6238..0000000
--- a/boost/math/special_functions/detail/bessel_jy_asym.hpp
+++ /dev/null
@@ -1,205 +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)
-
-//
-// This is a partial header, do not include on it's own!!!
-//
-// Contains asymptotic expansions for Bessel J(v,x) and Y(v,x)
-// functions, as x -> INF.
-//
-#ifndef BOOST_MATH_SF_DETAIL_BESSEL_JY_ASYM_HPP
-#define BOOST_MATH_SF_DETAIL_BESSEL_JY_ASYM_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/math/special_functions/factorials.hpp>
-
-namespace boost{ namespace math{ namespace detail{
-
-template <class T>
-inline T asymptotic_bessel_amplitude(T v, T x)
-{
- // Calculate the amplitude of J(v, x) and Y(v, x) for large
- // x: see A&S 9.2.28.
- BOOST_MATH_STD_USING
- T s = 1;
- T mu = 4 * v * v;
- T txq = 2 * x;
- txq *= txq;
-
- s += (mu - 1) / (2 * txq);
- s += 3 * (mu - 1) * (mu - 9) / (txq * txq * 8);
- s += 15 * (mu - 1) * (mu - 9) * (mu - 25) / (txq * txq * txq * 8 * 6);
-
- return sqrt(s * 2 / (constants::pi<T>() * x));
-}
-
-template <class T>
-T asymptotic_bessel_phase_mx(T v, T x)
-{
- //
- // Calculate the phase of J(v, x) and Y(v, x) for large x.
- // See A&S 9.2.29.
- // Note that the result returned is the phase less (x - PI(v/2 + 1/4))
- // which we'll factor in later when we calculate the sines/cosines of the result:
- //
- T mu = 4 * v * v;
- T denom = 4 * x;
- T denom_mult = denom * denom;
-
- T s = 0;
- s += (mu - 1) / (2 * denom);
- denom *= denom_mult;
- s += (mu - 1) * (mu - 25) / (6 * denom);
- denom *= denom_mult;
- s += (mu - 1) * (mu * mu - 114 * mu + 1073) / (5 * denom);
- denom *= denom_mult;
- s += (mu - 1) * (5 * mu * mu * mu - 1535 * mu * mu + 54703 * mu - 375733) / (14 * denom);
- return s;
-}
-
-template <class T>
-inline T asymptotic_bessel_y_large_x_2(T v, T x)
-{
- // See A&S 9.2.19.
- BOOST_MATH_STD_USING
- // Get the phase and amplitude:
- T ampl = asymptotic_bessel_amplitude(v, x);
- T phase = asymptotic_bessel_phase_mx(v, x);
- BOOST_MATH_INSTRUMENT_VARIABLE(ampl);
- BOOST_MATH_INSTRUMENT_VARIABLE(phase);
- //
- // Calculate the sine of the phase, using
- // sine/cosine addition rules to factor in
- // the x - PI(v/2 + 1/4) term not added to the
- // phase when we calculated it.
- //
- T cx = cos(x);
- T sx = sin(x);
- T ci = cos_pi(v / 2 + 0.25f);
- T si = sin_pi(v / 2 + 0.25f);
- T sin_phase = sin(phase) * (cx * ci + sx * si) + cos(phase) * (sx * ci - cx * si);
- BOOST_MATH_INSTRUMENT_CODE(sin(phase));
- BOOST_MATH_INSTRUMENT_CODE(cos(x));
- BOOST_MATH_INSTRUMENT_CODE(cos(phase));
- BOOST_MATH_INSTRUMENT_CODE(sin(x));
- return sin_phase * ampl;
-}
-
-template <class T>
-inline T asymptotic_bessel_j_large_x_2(T v, T x)
-{
- // See A&S 9.2.19.
- BOOST_MATH_STD_USING
- // Get the phase and amplitude:
- T ampl = asymptotic_bessel_amplitude(v, x);
- T phase = asymptotic_bessel_phase_mx(v, x);
- BOOST_MATH_INSTRUMENT_VARIABLE(ampl);
- BOOST_MATH_INSTRUMENT_VARIABLE(phase);
- //
- // Calculate the sine of the phase, using
- // sine/cosine addition rules to factor in
- // the x - PI(v/2 + 1/4) term not added to the
- // phase when we calculated it.
- //
- BOOST_MATH_INSTRUMENT_CODE(cos(phase));
- BOOST_MATH_INSTRUMENT_CODE(cos(x));
- BOOST_MATH_INSTRUMENT_CODE(sin(phase));
- BOOST_MATH_INSTRUMENT_CODE(sin(x));
- T cx = cos(x);
- T sx = sin(x);
- T ci = cos_pi(v / 2 + 0.25f);
- T si = sin_pi(v / 2 + 0.25f);
- T sin_phase = cos(phase) * (cx * ci + sx * si) - sin(phase) * (sx * ci - cx * si);
- BOOST_MATH_INSTRUMENT_VARIABLE(sin_phase);
- return sin_phase * ampl;
-}
-
-template <class T>
-inline bool asymptotic_bessel_large_x_limit(const T& v, const T& x)
-{
- BOOST_MATH_STD_USING
- //
- // Determines if x is large enough compared to v to take the asymptotic
- // forms above. From A&S 9.2.28 we require:
- // v < x * eps^1/8
- // and from A&S 9.2.29 we require:
- // v^12/10 < 1.5 * x * eps^1/10
- // using the former seems to work OK in practice with broadly similar
- // error rates either side of the divide for v < 10000.
- // At double precision eps^1/8 ~= 0.01.
- //
- return (std::max)(T(fabs(v)), T(1)) < x * sqrt(tools::forth_root_epsilon<T>());
-}
-
-template <class T, class Policy>
-void temme_asyptotic_y_small_x(T v, T x, T* Y, T* Y1, const Policy& pol)
-{
- T c = 1;
- T p = (v / boost::math::sin_pi(v, pol)) * pow(x / 2, -v) / boost::math::tgamma(1 - v, pol);
- T q = (v / boost::math::sin_pi(v, pol)) * pow(x / 2, v) / boost::math::tgamma(1 + v, pol);
- T f = (p - q) / v;
- T g_prefix = boost::math::sin_pi(v / 2, pol);
- g_prefix *= g_prefix * 2 / v;
- T g = f + g_prefix * q;
- T h = p;
- T c_mult = -x * x / 4;
-
- T y(c * g), y1(c * h);
-
- for(int k = 1; k < policies::get_max_series_iterations<Policy>(); ++k)
- {
- f = (k * f + p + q) / (k*k - v*v);
- p /= k - v;
- q /= k + v;
- c *= c_mult / k;
- T c1 = pow(-x * x / 4, k) / factorial<T>(k, pol);
- g = f + g_prefix * q;
- h = -k * g + p;
- y += c * g;
- y1 += c * h;
- if(c * g / tools::epsilon<T>() < y)
- break;
- }
-
- *Y = -y;
- *Y1 = (-2 / x) * y1;
-}
-
-template <class T, class Policy>
-T asymptotic_bessel_i_large_x(T v, T x, const Policy& pol)
-{
- BOOST_MATH_STD_USING // ADL of std names
- T s = 1;
- T mu = 4 * v * v;
- T ex = 8 * x;
- T num = mu - 1;
- T denom = ex;
-
- s -= num / denom;
-
- num *= mu - 9;
- denom *= ex * 2;
- s += num / denom;
-
- num *= mu - 25;
- denom *= ex * 3;
- s -= num / denom;
-
- // Try and avoid overflow to the last minute:
- T e = exp(x/2);
-
- s = e * (e * s / sqrt(2 * x * constants::pi<T>()));
-
- return (boost::math::isfinite)(s) ?
- s : policies::raise_overflow_error<T>("boost::math::asymptotic_bessel_i_large_x<%1%>(%1%,%1%)", 0, pol);
-}
-
-}}} // namespaces
-
-#endif
-
diff --git a/boost/math/special_functions/detail/bessel_jy_series.hpp b/boost/math/special_functions/detail/bessel_jy_series.hpp
deleted file mode 100644
index d50bef8..0000000
--- a/boost/math/special_functions/detail/bessel_jy_series.hpp
+++ /dev/null
@@ -1,261 +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_BESSEL_JN_SERIES_HPP
-#define BOOST_MATH_BESSEL_JN_SERIES_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-namespace boost { namespace math { namespace detail{
-
-template <class T, class Policy>
-struct bessel_j_small_z_series_term
-{
- typedef T result_type;
-
- bessel_j_small_z_series_term(T v_, T x)
- : N(0), v(v_)
- {
- BOOST_MATH_STD_USING
- mult = x / 2;
- mult *= -mult;
- term = 1;
- }
- T operator()()
- {
- T r = term;
- ++N;
- term *= mult / (N * (N + v));
- return r;
- }
-private:
- unsigned N;
- T v;
- T mult;
- T term;
-};
-//
-// Series evaluation for BesselJ(v, z) as z -> 0.
-// See http://functions.wolfram.com/Bessel-TypeFunctions/BesselJ/06/01/04/01/01/0003/
-// Converges rapidly for all z << v.
-//
-template <class T, class Policy>
-inline T bessel_j_small_z_series(T v, T x, const Policy& pol)
-{
- BOOST_MATH_STD_USING
- T prefix;
- if(v < max_factorial<T>::value)
- {
- prefix = pow(x / 2, v) / boost::math::tgamma(v+1, pol);
- }
- else
- {
- prefix = v * log(x / 2) - boost::math::lgamma(v+1, pol);
- prefix = exp(prefix);
- }
- if(0 == prefix)
- return prefix;
-
- bessel_j_small_z_series_term<T, Policy> s(v, x);
- boost::uintmax_t max_iter = policies::get_max_series_iterations<Policy>();
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582))
- T zero = 0;
- T result = boost::math::tools::sum_series(s, boost::math::policies::get_epsilon<T, Policy>(), max_iter, zero);
-#else
- T result = boost::math::tools::sum_series(s, boost::math::policies::get_epsilon<T, Policy>(), max_iter);
-#endif
- policies::check_series_iterations<T>("boost::math::bessel_j_small_z_series<%1%>(%1%,%1%)", max_iter, pol);
- return prefix * result;
-}
-
-template <class T, class Policy>
-struct bessel_y_small_z_series_term_a
-{
- typedef T result_type;
-
- bessel_y_small_z_series_term_a(T v_, T x)
- : N(0), v(v_)
- {
- BOOST_MATH_STD_USING
- mult = x / 2;
- mult *= -mult;
- term = 1;
- }
- T operator()()
- {
- BOOST_MATH_STD_USING
- T r = term;
- ++N;
- term *= mult / (N * (N - v));
- return r;
- }
-private:
- unsigned N;
- T v;
- T mult;
- T term;
-};
-
-template <class T, class Policy>
-struct bessel_y_small_z_series_term_b
-{
- typedef T result_type;
-
- bessel_y_small_z_series_term_b(T v_, T x)
- : N(0), v(v_)
- {
- BOOST_MATH_STD_USING
- mult = x / 2;
- mult *= -mult;
- term = 1;
- }
- T operator()()
- {
- T r = term;
- ++N;
- term *= mult / (N * (N + v));
- return r;
- }
-private:
- unsigned N;
- T v;
- T mult;
- T term;
-};
-//
-// Series form for BesselY as z -> 0,
-// see: http://functions.wolfram.com/Bessel-TypeFunctions/BesselY/06/01/04/01/01/0003/
-// This series is only useful when the second term is small compared to the first
-// otherwise we get catestrophic cancellation errors.
-//
-// Approximating tgamma(v) by v^v, and assuming |tgamma(-z)| < eps we end up requiring:
-// eps/2 * v^v(x/2)^-v > (x/2)^v or log(eps/2) > v log((x/2)^2/v)
-//
-template <class T, class Policy>
-inline T bessel_y_small_z_series(T v, T x, T* pscale, const Policy& pol)
-{
- BOOST_MATH_STD_USING
- static const char* function = "bessel_y_small_z_series<%1%>(%1%,%1%)";
- T prefix;
- T gam;
- T p = log(x / 2);
- T scale = 1;
- bool need_logs = (v >= max_factorial<T>::value) || (tools::log_max_value<T>() / v < fabs(p));
- if(!need_logs)
- {
- gam = boost::math::tgamma(v, pol);
- p = pow(x / 2, v);
- if(tools::max_value<T>() * p < gam)
- {
- scale /= gam;
- gam = 1;
- if(tools::max_value<T>() * p < gam)
- {
- return -policies::raise_overflow_error<T>(function, 0, pol);
- }
- }
- prefix = -gam / (constants::pi<T>() * p);
- }
- else
- {
- gam = boost::math::lgamma(v, pol);
- p = v * p;
- prefix = gam - log(constants::pi<T>()) - p;
- if(tools::log_max_value<T>() < prefix)
- {
- prefix -= log(tools::max_value<T>() / 4);
- scale /= (tools::max_value<T>() / 4);
- if(tools::log_max_value<T>() < prefix)
- {
- return -policies::raise_overflow_error<T>(function, 0, pol);
- }
- }
- prefix = -exp(prefix);
- }
- bessel_y_small_z_series_term_a<T, Policy> s(v, x);
- boost::uintmax_t max_iter = policies::get_max_series_iterations<Policy>();
- *pscale = scale;
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582))
- T zero = 0;
- T result = boost::math::tools::sum_series(s, boost::math::policies::get_epsilon<T, Policy>(), max_iter, zero);
-#else
- T result = boost::math::tools::sum_series(s, boost::math::policies::get_epsilon<T, Policy>(), max_iter);
-#endif
- policies::check_series_iterations<T>("boost::math::bessel_y_small_z_series<%1%>(%1%,%1%)", max_iter, pol);
- result *= prefix;
-
- if(!need_logs)
- {
- prefix = boost::math::tgamma(-v, pol) * boost::math::cos_pi(v) * p / constants::pi<T>();
- }
- else
- {
- int sgn;
- prefix = boost::math::lgamma(-v, &sgn, pol) + p;
- prefix = exp(prefix) * sgn / constants::pi<T>();
- }
- bessel_y_small_z_series_term_b<T, Policy> s2(v, x);
- max_iter = policies::get_max_series_iterations<Policy>();
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582))
- T b = boost::math::tools::sum_series(s2, boost::math::policies::get_epsilon<T, Policy>(), max_iter, zero);
-#else
- T b = boost::math::tools::sum_series(s2, boost::math::policies::get_epsilon<T, Policy>(), max_iter);
-#endif
- result -= scale * prefix * b;
- return result;
-}
-
-template <class T, class Policy>
-T bessel_yn_small_z(int n, T z, T* scale, const Policy& pol)
-{
- //
- // See http://functions.wolfram.com/Bessel-TypeFunctions/BesselY/06/01/04/01/02/
- //
- // Note that when called we assume that x < epsilon and n is a positive integer.
- //
- BOOST_MATH_STD_USING
- BOOST_ASSERT(n >= 0);
- BOOST_ASSERT((z < policies::get_epsilon<T, Policy>()));
-
- if(n == 0)
- {
- return (2 / constants::pi<T>()) * (log(z / 2) + constants::euler<T>());
- }
- else if(n == 1)
- {
- return (z / constants::pi<T>()) * log(z / 2)
- - 2 / (constants::pi<T>() * z)
- - (z / (2 * constants::pi<T>())) * (1 - 2 * constants::euler<T>());
- }
- else if(n == 2)
- {
- return (z * z) / (4 * constants::pi<T>()) * log(z / 2)
- - (4 / (constants::pi<T>() * z * z))
- - ((z * z) / (8 * constants::pi<T>())) * (T(3)/2 - 2 * constants::euler<T>());
- }
- else
- {
- T p = pow(z / 2, n);
- T result = -((boost::math::factorial<T>(n - 1) / constants::pi<T>()));
- if(p * tools::max_value<T>() < result)
- {
- T div = tools::max_value<T>() / 8;
- result /= div;
- *scale /= div;
- if(p * tools::max_value<T>() < result)
- {
- return -policies::raise_overflow_error<T>("bessel_yn_small_z<%1%>(%1%,%1%)", 0, pol);
- }
- }
- return result / p;
- }
-}
-
-}}} // namespaces
-
-#endif // BOOST_MATH_BESSEL_JN_SERIES_HPP
-
diff --git a/boost/math/special_functions/detail/bessel_jy_zero.hpp b/boost/math/special_functions/detail/bessel_jy_zero.hpp
deleted file mode 100644
index 2b1df03..0000000
--- a/boost/math/special_functions/detail/bessel_jy_zero.hpp
+++ /dev/null
@@ -1,617 +0,0 @@
-// Copyright (c) 2013 Christopher Kormanyos
-// 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 work is based on an earlier work:
-// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
-// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
-//
-// This header contains implementation details for estimating the zeros
-// of cylindrical Bessel and Neumann functions on the positive real axis.
-// Support is included for both positive as well as negative order.
-// Various methods are used to estimate the roots. These include
-// empirical curve fitting and McMahon's asymptotic approximation
-// for small order, uniform asymptotic expansion for large order,
-// and iteration and root interlacing for negative order.
-//
-#ifndef _BESSEL_JY_ZERO_2013_01_18_HPP_
- #define _BESSEL_JY_ZERO_2013_01_18_HPP_
-
- #include <algorithm>
- #include <boost/math/constants/constants.hpp>
- #include <boost/math/special_functions/math_fwd.hpp>
- #include <boost/math/special_functions/cbrt.hpp>
- #include <boost/math/special_functions/detail/airy_ai_bi_zero.hpp>
-
- namespace boost { namespace math {
- namespace detail
- {
- namespace bessel_zero
- {
- template<class T>
- T equation_nist_10_21_19(const T& v, const T& a)
- {
- // Get the initial estimate of the m'th root of Jv or Yv.
- // This subroutine is used for the order m with m > 1.
- // The order m has been used to create the input parameter a.
-
- // This is Eq. 10.21.19 in the NIST Handbook.
- const T mu = (v * v) * 4U;
- const T mu_minus_one = mu - T(1);
- const T eight_a_inv = T(1) / (a * 8U);
- const T eight_a_inv_squared = eight_a_inv * eight_a_inv;
-
- const T term3 = ((mu_minus_one * 4U) * ((mu * 7U) - T(31U) )) / 3U;
- const T term5 = ((mu_minus_one * 32U) * ((((mu * 83U) - T(982U) ) * mu) + T(3779U) )) / 15U;
- const T term7 = ((mu_minus_one * 64U) * ((((((mu * 6949U) - T(153855UL)) * mu) + T(1585743UL)) * mu) - T(6277237UL))) / 105U;
-
- return a + (((( - term7
- * eight_a_inv_squared - term5)
- * eight_a_inv_squared - term3)
- * eight_a_inv_squared - mu_minus_one)
- * eight_a_inv);
- }
-
- template<typename T>
- class equation_as_9_3_39_and_its_derivative
- {
- public:
- equation_as_9_3_39_and_its_derivative(const T& zt) : zeta(zt) { }
-
- boost::math::tuple<T, T> operator()(const T& z) const
- {
- BOOST_MATH_STD_USING // ADL of std names, needed for acos, sqrt.
-
- // Return the function of zeta that is implicitly defined
- // in A&S Eq. 9.3.39 as a function of z. The function is
- // returned along with its derivative with respect to z.
-
- const T zsq_minus_one_sqrt = sqrt((z * z) - T(1));
-
- const T the_function(
- zsq_minus_one_sqrt
- - ( acos(T(1) / z) + ((T(2) / 3U) * (zeta * sqrt(zeta)))));
-
- const T its_derivative(zsq_minus_one_sqrt / z);
-
- return boost::math::tuple<T, T>(the_function, its_derivative);
- }
-
- private:
- const equation_as_9_3_39_and_its_derivative& operator=(const equation_as_9_3_39_and_its_derivative&);
- const T zeta;
- };
-
- template<class T>
- static T equation_as_9_5_26(const T& v, const T& ai_bi_root)
- {
- BOOST_MATH_STD_USING // ADL of std names, needed for log, sqrt.
-
- // Obtain the estimate of the m'th zero of Jv or Yv.
- // The order m has been used to create the input parameter ai_bi_root.
- // Here, v is larger than about 2.2. The estimate is computed
- // from Abramowitz and Stegun Eqs. 9.5.22 and 9.5.26, page 371.
- //
- // The inversion of z as a function of zeta is mentioned in the text
- // following A&S Eq. 9.5.26. Here, we accomplish the inversion by
- // performing a Taylor expansion of Eq. 9.3.39 for large z to order 2
- // and solving the resulting quadratic equation, thereby taking
- // the positive root of the quadratic.
- // In other words: (2/3)(-zeta)^(3/2) approx = z + 1/(2z) - pi/2.
- // This leads to: z^2 - [(2/3)(-zeta)^(3/2) + pi/2]z + 1/2 = 0.
- //
- // With this initial estimate, Newton-Raphson iteration is used
- // to refine the value of the estimate of the root of z
- // as a function of zeta.
-
- const T v_pow_third(boost::math::cbrt(v));
- const T v_pow_minus_two_thirds(T(1) / (v_pow_third * v_pow_third));
-
- // Obtain zeta using the order v combined with the m'th root of
- // an airy function, as shown in A&S Eq. 9.5.22.
- const T zeta = v_pow_minus_two_thirds * (-ai_bi_root);
-
- const T zeta_sqrt = sqrt(zeta);
-
- // Set up a quadratic equation based on the Taylor series
- // expansion mentioned above.
- const T b = -((((zeta * zeta_sqrt) * 2U) / 3U) + boost::math::constants::half_pi<T>());
-
- // Solve the quadratic equation, taking the positive root.
- const T z_estimate = (-b + sqrt((b * b) - T(2))) / 2U;
-
- // Establish the range, the digits, and the iteration limit
- // for the upcoming root-finding.
- const T range_zmin = (std::max<T>)(z_estimate - T(1), T(1));
- const T range_zmax = z_estimate + T(1);
-
- const int digits2_of_t = int(float(std::numeric_limits<T>::digits)
- * ( log(float(std::numeric_limits<T>::radix))
- / log(float(2))));
-
- const int digits2_for_root = (std::min)(digits2_of_t, std::numeric_limits<double>::digits);
-
- boost::uintmax_t iteration_count = boost::uintmax_t(std::numeric_limits<T>::digits10 * 2);
-
- // Calculate the root of z as a function of zeta.
- const T z = boost::math::tools::newton_raphson_iterate(
- boost::math::detail::bessel_zero::equation_as_9_3_39_and_its_derivative<T>(zeta),
- z_estimate,
- range_zmin,
- range_zmax,
- digits2_for_root,
- iteration_count);
-
- static_cast<void>(iteration_count);
-
- // Continue with the implementation of A&S Eq. 9.3.39.
- const T zsq_minus_one = (z * z) - T(1);
- const T zsq_minus_one_sqrt = sqrt(zsq_minus_one);
-
- // This is A&S Eq. 9.3.42.
- const T b0_term_5_24 = T(5) / ((zsq_minus_one * zsq_minus_one_sqrt) * 24U);
- const T b0_term_1_8 = T(1) / ( zsq_minus_one_sqrt * 8U);
- const T b0_term_5_48 = T(5) / ((zeta * zeta) * 48U);
-
- const T b0 = -b0_term_5_48 + ((b0_term_5_24 + b0_term_1_8) / zeta_sqrt);
-
- // This is the second line of A&S Eq. 9.5.26 for f_k with k = 1.
- const T f1 = ((z * zeta_sqrt) * b0) / zsq_minus_one_sqrt;
-
- // This is A&S Eq. 9.5.22 expanded to k = 1 (i.e., one term in the series).
- return (v * z) + (f1 / v);
- }
-
- namespace cyl_bessel_j_zero_detail
- {
- template<class T>
- T equation_nist_10_21_40_a(const T& v)
- {
- const T v_pow_third(boost::math::cbrt(v));
- const T v_pow_minus_two_thirds(T(1) / (v_pow_third * v_pow_third));
-
- return v * ((((( + T(0.043)
- * v_pow_minus_two_thirds - T(0.0908))
- * v_pow_minus_two_thirds - T(0.00397))
- * v_pow_minus_two_thirds + T(1.033150))
- * v_pow_minus_two_thirds + T(1.8557571))
- * v_pow_minus_two_thirds + T(1));
- }
-
- template<class T, class Policy>
- class function_object_jv
- {
- public:
- function_object_jv(const T& v,
- const Policy& pol) : my_v(v),
- my_pol(pol) { }
-
- T operator()(const T& x) const
- {
- return boost::math::cyl_bessel_j(my_v, x, my_pol);
- }
-
- private:
- const T my_v;
- const Policy& my_pol;
- const function_object_jv& operator=(const function_object_jv&);
- };
-
- template<class T, class Policy>
- class function_object_jv_and_jv_prime
- {
- public:
- function_object_jv_and_jv_prime(const T& v,
- const bool order_is_zero,
- const Policy& pol) : my_v(v),
- my_order_is_zero(order_is_zero),
- my_pol(pol) { }
-
- boost::math::tuple<T, T> operator()(const T& x) const
- {
- // Obtain Jv(x) and Jv'(x).
- // Chris's original code called the Bessel function implementation layer direct,
- // but that circumvented optimizations for integer-orders. Call the documented
- // top level functions instead, and let them sort out which implementation to use.
- T j_v;
- T j_v_prime;
-
- if(my_order_is_zero)
- {
- j_v = boost::math::cyl_bessel_j(0, x, my_pol);
- j_v_prime = -boost::math::cyl_bessel_j(1, x, my_pol);
- }
- else
- {
- j_v = boost::math::cyl_bessel_j( my_v, x, my_pol);
- const T j_v_m1 (boost::math::cyl_bessel_j(T(my_v - 1), x, my_pol));
- j_v_prime = j_v_m1 - ((my_v * j_v) / x);
- }
-
- // Return a tuple containing both Jv(x) and Jv'(x).
- return boost::math::make_tuple(j_v, j_v_prime);
- }
-
- private:
- const T my_v;
- const bool my_order_is_zero;
- const Policy& my_pol;
- const function_object_jv_and_jv_prime& operator=(const function_object_jv_and_jv_prime&);
- };
-
- template<class T> bool my_bisection_unreachable_tolerance(const T&, const T&) { return false; }
-
- template<class T, class Policy>
- T initial_guess(const T& v, const int m, const Policy& pol)
- {
- BOOST_MATH_STD_USING // ADL of std names, needed for floor.
-
- // Compute an estimate of the m'th root of cyl_bessel_j.
-
- T guess;
-
- // There is special handling for negative order.
- if(v < 0)
- {
- if((m == 1) && (v > -0.5F))
- {
- // For small, negative v, use the results of empirical curve fitting.
- // Mathematica(R) session for the coefficients:
- // Table[{n, BesselJZero[n, 1]}, {n, -(1/2), 0, 1/10}]
- // N[%, 20]
- // Fit[%, {n^0, n^1, n^2, n^3, n^4, n^5, n^6}, n]
- guess = ((((( - T(0.2321156900729)
- * v - T(0.1493247777488))
- * v - T(0.15205419167239))
- * v + T(0.07814930561249))
- * v - T(0.17757573537688))
- * v + T(1.542805677045663))
- * v + T(2.40482555769577277);
-
- return guess;
- }
-
- // Create the positive order and extract its positive floor integer part.
- const T vv(-v);
- const T vv_floor(floor(vv));
-
- // The to-be-found root is bracketed by the roots of the
- // Bessel function whose reflected, positive integer order
- // is less than, but nearest to vv.
-
- T root_hi = boost::math::detail::bessel_zero::cyl_bessel_j_zero_detail::initial_guess(vv_floor, m, pol);
- T root_lo;
-
- if(m == 1)
- {
- // The estimate of the first root for negative order is found using
- // an adaptive range-searching algorithm.
- root_lo = T(root_hi - 0.1F);
-
- const bool hi_end_of_bracket_is_negative = (boost::math::cyl_bessel_j(v, root_hi, pol) < 0);
-
- while((root_lo > boost::math::tools::epsilon<T>()))
- {
- const bool lo_end_of_bracket_is_negative = (boost::math::cyl_bessel_j(v, root_lo, pol) < 0);
-
- if(hi_end_of_bracket_is_negative != lo_end_of_bracket_is_negative)
- {
- break;
- }
-
- root_hi = root_lo;
-
- // Decrease the lower end of the bracket using an adaptive algorithm.
- if(root_lo > 0.5F)
- {
- root_lo -= 0.5F;
- }
- else
- {
- root_lo *= 0.75F;
- }
- }
- }
- else
- {
- root_lo = boost::math::detail::bessel_zero::cyl_bessel_j_zero_detail::initial_guess(vv_floor, m - 1, pol);
- }
-
- // Perform several steps of bisection iteration to refine the guess.
- boost::uintmax_t number_of_iterations(12U);
-
- // Do the bisection iteration.
- const boost::math::tuple<T, T> guess_pair =
- boost::math::tools::bisect(
- boost::math::detail::bessel_zero::cyl_bessel_j_zero_detail::function_object_jv<T, Policy>(v, pol),
- root_lo,
- root_hi,
- boost::math::detail::bessel_zero::cyl_bessel_j_zero_detail::my_bisection_unreachable_tolerance<T>,
- number_of_iterations);
-
- return (boost::math::get<0>(guess_pair) + boost::math::get<1>(guess_pair)) / 2U;
- }
-
- if(m == 1U)
- {
- // Get the initial estimate of the first root.
-
- if(v < 2.2F)
- {
- // For small v, use the results of empirical curve fitting.
- // Mathematica(R) session for the coefficients:
- // Table[{n, BesselJZero[n, 1]}, {n, 0, 22/10, 1/10}]
- // N[%, 20]
- // Fit[%, {n^0, n^1, n^2, n^3, n^4, n^5, n^6}, n]
- guess = ((((( - T(0.0008342379046010)
- * v + T(0.007590035637410))
- * v - T(0.030640914772013))
- * v + T(0.078232088020106))
- * v - T(0.169668712590620))
- * v + T(1.542187960073750))
- * v + T(2.4048359915254634);
- }
- else
- {
- // For larger v, use the first line of Eqs. 10.21.40 in the NIST Handbook.
- guess = boost::math::detail::bessel_zero::cyl_bessel_j_zero_detail::equation_nist_10_21_40_a(v);
- }
- }
- else
- {
- if(v < 2.2F)
- {
- // Use Eq. 10.21.19 in the NIST Handbook.
- const T a(((v + T(m * 2U)) - T(0.5)) * boost::math::constants::half_pi<T>());
-
- guess = boost::math::detail::bessel_zero::equation_nist_10_21_19(v, a);
- }
- else
- {
- // Get an estimate of the m'th root of airy_ai.
- const T airy_ai_root(boost::math::detail::airy_zero::airy_ai_zero_detail::initial_guess<T>(m));
-
- // Use Eq. 9.5.26 in the A&S Handbook.
- guess = boost::math::detail::bessel_zero::equation_as_9_5_26(v, airy_ai_root);
- }
- }
-
- return guess;
- }
- } // namespace cyl_bessel_j_zero_detail
-
- namespace cyl_neumann_zero_detail
- {
- template<class T>
- T equation_nist_10_21_40_b(const T& v)
- {
- const T v_pow_third(boost::math::cbrt(v));
- const T v_pow_minus_two_thirds(T(1) / (v_pow_third * v_pow_third));
-
- return v * ((((( - T(0.001)
- * v_pow_minus_two_thirds - T(0.0060))
- * v_pow_minus_two_thirds + T(0.01198))
- * v_pow_minus_two_thirds + T(0.260351))
- * v_pow_minus_two_thirds + T(0.9315768))
- * v_pow_minus_two_thirds + T(1));
- }
-
- template<class T, class Policy>
- class function_object_yv
- {
- public:
- function_object_yv(const T& v,
- const Policy& pol) : my_v(v),
- my_pol(pol) { }
-
- T operator()(const T& x) const
- {
- return boost::math::cyl_neumann(my_v, x, my_pol);
- }
-
- private:
- const T my_v;
- const Policy& my_pol;
- const function_object_yv& operator=(const function_object_yv&);
- };
-
- template<class T, class Policy>
- class function_object_yv_and_yv_prime
- {
- public:
- function_object_yv_and_yv_prime(const T& v,
- const Policy& pol) : my_v(v),
- my_pol(pol) { }
-
- boost::math::tuple<T, T> operator()(const T& x) const
- {
- const T half_epsilon(boost::math::tools::epsilon<T>() / 2U);
-
- const bool order_is_zero = ((my_v > -half_epsilon) && (my_v < +half_epsilon));
-
- // Obtain Yv(x) and Yv'(x).
- // Chris's original code called the Bessel function implementation layer direct,
- // but that circumvented optimizations for integer-orders. Call the documented
- // top level functions instead, and let them sort out which implementation to use.
- T y_v;
- T y_v_prime;
-
- if(order_is_zero)
- {
- y_v = boost::math::cyl_neumann(0, x, my_pol);
- y_v_prime = -boost::math::cyl_neumann(1, x, my_pol);
- }
- else
- {
- y_v = boost::math::cyl_neumann( my_v, x, my_pol);
- const T y_v_m1 (boost::math::cyl_neumann(T(my_v - 1), x, my_pol));
- y_v_prime = y_v_m1 - ((my_v * y_v) / x);
- }
-
- // Return a tuple containing both Yv(x) and Yv'(x).
- return boost::math::make_tuple(y_v, y_v_prime);
- }
-
- private:
- const T my_v;
- const Policy& my_pol;
- const function_object_yv_and_yv_prime& operator=(const function_object_yv_and_yv_prime&);
- };
-
- template<class T> bool my_bisection_unreachable_tolerance(const T&, const T&) { return false; }
-
- template<class T, class Policy>
- T initial_guess(const T& v, const int m, const Policy& pol)
- {
- BOOST_MATH_STD_USING // ADL of std names, needed for floor.
-
- // Compute an estimate of the m'th root of cyl_neumann.
-
- T guess;
-
- // There is special handling for negative order.
- if(v < 0)
- {
- // Create the positive order and extract its positive floor and ceiling integer parts.
- const T vv(-v);
- const T vv_floor(floor(vv));
-
- // The to-be-found root is bracketed by the roots of the
- // Bessel function whose reflected, positive integer order
- // is less than, but nearest to vv.
-
- // The special case of negative, half-integer order uses
- // the relation between Yv and spherical Bessel functions
- // in order to obtain the bracket for the root.
- // In these special cases, cyl_neumann(-n/2, x) = sph_bessel_j(+n/2, x)
- // for v = -n/2.
-
- T root_hi;
- T root_lo;
-
- if(m == 1)
- {
- // The estimate of the first root for negative order is found using
- // an adaptive range-searching algorithm.
- // Take special precautions for the discontinuity at negative,
- // half-integer orders and use different brackets above and below these.
- if(T(vv - vv_floor) < 0.5F)
- {
- root_hi = boost::math::detail::bessel_zero::cyl_neumann_zero_detail::initial_guess(vv_floor, m, pol);
- }
- else
- {
- root_hi = boost::math::detail::bessel_zero::cyl_bessel_j_zero_detail::initial_guess(T(vv_floor + 0.5F), m, pol);
- }
-
- root_lo = T(root_hi - 0.1F);
-
- const bool hi_end_of_bracket_is_negative = (boost::math::cyl_neumann(v, root_hi, pol) < 0);
-
- while((root_lo > boost::math::tools::epsilon<T>()))
- {
- const bool lo_end_of_bracket_is_negative = (boost::math::cyl_neumann(v, root_lo, pol) < 0);
-
- if(hi_end_of_bracket_is_negative != lo_end_of_bracket_is_negative)
- {
- break;
- }
-
- root_hi = root_lo;
-
- // Decrease the lower end of the bracket using an adaptive algorithm.
- if(root_lo > 0.5F)
- {
- root_lo -= 0.5F;
- }
- else
- {
- root_lo *= 0.75F;
- }
- }
- }
- else
- {
- if(T(vv - vv_floor) < 0.5F)
- {
- root_lo = boost::math::detail::bessel_zero::cyl_neumann_zero_detail::initial_guess(vv_floor, m - 1, pol);
- root_hi = boost::math::detail::bessel_zero::cyl_neumann_zero_detail::initial_guess(vv_floor, m, pol);
- root_lo += 0.01F;
- root_hi += 0.01F;
- }
- else
- {
- root_lo = boost::math::detail::bessel_zero::cyl_bessel_j_zero_detail::initial_guess(T(vv_floor + 0.5F), m - 1, pol);
- root_hi = boost::math::detail::bessel_zero::cyl_bessel_j_zero_detail::initial_guess(T(vv_floor + 0.5F), m, pol);
- root_lo += 0.01F;
- root_hi += 0.01F;
- }
- }
-
- // Perform several steps of bisection iteration to refine the guess.
- boost::uintmax_t number_of_iterations(12U);
-
- // Do the bisection iteration.
- const boost::math::tuple<T, T> guess_pair =
- boost::math::tools::bisect(
- boost::math::detail::bessel_zero::cyl_neumann_zero_detail::function_object_yv<T, Policy>(v, pol),
- root_lo,
- root_hi,
- boost::math::detail::bessel_zero::cyl_neumann_zero_detail::my_bisection_unreachable_tolerance<T>,
- number_of_iterations);
-
- return (boost::math::get<0>(guess_pair) + boost::math::get<1>(guess_pair)) / 2U;
- }
-
- if(m == 1U)
- {
- // Get the initial estimate of the first root.
-
- if(v < 2.2F)
- {
- // For small v, use the results of empirical curve fitting.
- // Mathematica(R) session for the coefficients:
- // Table[{n, BesselYZero[n, 1]}, {n, 0, 22/10, 1/10}]
- // N[%, 20]
- // Fit[%, {n^0, n^1, n^2, n^3, n^4, n^5, n^6}, n]
- guess = ((((( - T(0.0025095909235652)
- * v + T(0.021291887049053))
- * v - T(0.076487785486526))
- * v + T(0.159110268115362))
- * v - T(0.241681668765196))
- * v + T(1.4437846310885244))
- * v + T(0.89362115190200490);
- }
- else
- {
- // For larger v, use the second line of Eqs. 10.21.40 in the NIST Handbook.
- guess = boost::math::detail::bessel_zero::cyl_neumann_zero_detail::equation_nist_10_21_40_b(v);
- }
- }
- else
- {
- if(v < 2.2F)
- {
- // Use Eq. 10.21.19 in the NIST Handbook.
- const T a(((v + T(m * 2U)) - T(1.5)) * boost::math::constants::half_pi<T>());
-
- guess = boost::math::detail::bessel_zero::equation_nist_10_21_19(v, a);
- }
- else
- {
- // Get an estimate of the m'th root of airy_bi.
- const T airy_bi_root(boost::math::detail::airy_zero::airy_bi_zero_detail::initial_guess<T>(m));
-
- // Use Eq. 9.5.26 in the A&S Handbook.
- guess = boost::math::detail::bessel_zero::equation_as_9_5_26(v, airy_bi_root);
- }
- }
-
- return guess;
- }
- } // namespace cyl_neumann_zero_detail
- } // namespace bessel_zero
- } } } // namespace boost::math::detail
-
-#endif // _BESSEL_JY_ZERO_2013_01_18_HPP_
diff --git a/boost/math/special_functions/detail/bessel_k0.hpp b/boost/math/special_functions/detail/bessel_k0.hpp
deleted file mode 100644
index e209168..0000000
--- a/boost/math/special_functions/detail/bessel_k0.hpp
+++ /dev/null
@@ -1,152 +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)
-
-#ifndef BOOST_MATH_BESSEL_K0_HPP
-#define BOOST_MATH_BESSEL_K0_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/math/tools/rational.hpp>
-#include <boost/math/tools/big_constant.hpp>
-#include <boost/math/policies/error_handling.hpp>
-#include <boost/assert.hpp>
-
-// Modified Bessel function of the second kind of order zero
-// minimax rational approximations on intervals, see
-// Russon and Blair, Chalk River Report AECL-3461, 1969
-
-namespace boost { namespace math { namespace detail{
-
-template <typename T, typename Policy>
-T bessel_k0(T x, const Policy&);
-
-template <class T, class Policy>
-struct bessel_k0_initializer
-{
- struct init
- {
- init()
- {
- do_init();
- }
- static void do_init()
- {
- bessel_k0(T(1), Policy());
- }
- void force_instantiate()const{}
- };
- static const init initializer;
- static void force_instantiate()
- {
- initializer.force_instantiate();
- }
-};
-
-template <class T, class Policy>
-const typename bessel_k0_initializer<T, Policy>::init bessel_k0_initializer<T, Policy>::initializer;
-
-template <typename T, typename Policy>
-T bessel_k0(T x, const Policy& pol)
-{
- BOOST_MATH_INSTRUMENT_CODE(x);
-
- bessel_k0_initializer<T, Policy>::force_instantiate();
-
- static const T P1[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 2.4708152720399552679e+03)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 5.9169059852270512312e+03)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 4.6850901201934832188e+02)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.1999463724910714109e+01)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.3166052564989571850e-01)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 5.8599221412826100000e-04))
- };
- static const T Q1[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 2.1312714303849120380e+04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -2.4994418972832303646e+02)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.0))
- };
- static const T P2[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.6128136304458193998e+06)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -3.7333769444840079748e+05)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.7984434409411765813e+04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -2.9501657892958843865e+02)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.6414452837299064100e+00))
- };
- static const T Q2[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.6128136304458193998e+06)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 2.9865713163054025489e+04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -2.5064972445877992730e+02)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.0))
- };
- static const T P3[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.1600249425076035558e+02)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 2.3444738764199315021e+03)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.8321525870183537725e+04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 7.1557062783764037541e+04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.5097646353289914539e+05)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.7398867902565686251e+05)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.0577068948034021957e+05)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 3.1075408980684392399e+04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 3.6832589957340267940e+03)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.1394980557384778174e+02))
- };
- static const T Q3[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 9.2556599177304839811e+01)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.8821890840982713696e+03)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.4847228371802360957e+04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 5.8824616785857027752e+04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.2689839587977598727e+05)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.5144644673520157801e+05)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 9.7418829762268075784e+04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 3.1474655750295278825e+04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 4.4329628889746408858e+03)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 2.0013443064949242491e+02)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.0))
- };
- T value, factor, r, r1, r2;
-
- BOOST_MATH_STD_USING
- using namespace boost::math::tools;
-
- static const char* function = "boost::math::bessel_k0<%1%>(%1%,%1%)";
-
- if (x < 0)
- {
- return policies::raise_domain_error<T>(function,
- "Got x = %1%, but argument x must be non-negative, complex number result not supported", x, pol);
- }
- if (x == 0)
- {
- return policies::raise_overflow_error<T>(function, 0, pol);
- }
- if (x <= 1) // x in (0, 1]
- {
- T y = x * x;
- r1 = evaluate_polynomial(P1, y) / evaluate_polynomial(Q1, y);
- r2 = evaluate_polynomial(P2, y) / evaluate_polynomial(Q2, y);
- factor = log(x);
- value = r1 - factor * r2;
- }
- else // x in (1, \infty)
- {
- T y = 1 / x;
- r = evaluate_polynomial(P3, y) / evaluate_polynomial(Q3, y);
- factor = exp(-x) / sqrt(x);
- value = factor * r;
- BOOST_MATH_INSTRUMENT_CODE("y = " << y);
- BOOST_MATH_INSTRUMENT_CODE("r = " << r);
- BOOST_MATH_INSTRUMENT_CODE("factor = " << factor);
- BOOST_MATH_INSTRUMENT_CODE("value = " << value);
- }
-
- return value;
-}
-
-}}} // namespaces
-
-#endif // BOOST_MATH_BESSEL_K0_HPP
-
diff --git a/boost/math/special_functions/detail/bessel_k1.hpp b/boost/math/special_functions/detail/bessel_k1.hpp
deleted file mode 100644
index 0d17cd3..0000000
--- a/boost/math/special_functions/detail/bessel_k1.hpp
+++ /dev/null
@@ -1,148 +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)
-
-#ifndef BOOST_MATH_BESSEL_K1_HPP
-#define BOOST_MATH_BESSEL_K1_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/math/tools/rational.hpp>
-#include <boost/math/tools/big_constant.hpp>
-#include <boost/math/policies/error_handling.hpp>
-#include <boost/assert.hpp>
-
-// Modified Bessel function of the second kind of order one
-// minimax rational approximations on intervals, see
-// Russon and Blair, Chalk River Report AECL-3461, 1969
-
-namespace boost { namespace math { namespace detail{
-
-template <typename T, typename Policy>
-T bessel_k1(T x, const Policy&);
-
-template <class T, class Policy>
-struct bessel_k1_initializer
-{
- struct init
- {
- init()
- {
- do_init();
- }
- static void do_init()
- {
- bessel_k1(T(1), Policy());
- }
- void force_instantiate()const{}
- };
- static const init initializer;
- static void force_instantiate()
- {
- initializer.force_instantiate();
- }
-};
-
-template <class T, class Policy>
-const typename bessel_k1_initializer<T, Policy>::init bessel_k1_initializer<T, Policy>::initializer;
-
-template <typename T, typename Policy>
-T bessel_k1(T x, const Policy& pol)
-{
- bessel_k1_initializer<T, Policy>::force_instantiate();
-
- static const T P1[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -2.2149374878243304548e+06)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 7.1938920065420586101e+05)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.7733324035147015630e+05)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 7.1885382604084798576e+03)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 9.9991373567429309922e+01)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 4.8127070456878442310e-01))
- };
- static const T Q1[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -2.2149374878243304548e+06)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 3.7264298672067697862e+04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -2.8143915754538725829e+02)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.0))
- };
- static const T P2[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 0.0)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.3531161492785421328e+06)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.4758069205414222471e+05)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -4.5051623763436087023e+03)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -5.3103913335180275253e+01)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -2.2795590826955002390e-01))
- };
- static const T Q2[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -2.7062322985570842656e+06)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 4.3117653211351080007e+04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -3.0507151578787595807e+02)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.0))
- };
- static const T P3[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 2.2196792496874548962e+00)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 4.4137176114230414036e+01)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 3.4122953486801312910e+02)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.3319486433183221990e+03)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 2.8590657697910288226e+03)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 3.4540675585544584407e+03)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 2.3123742209168871550e+03)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 8.1094256146537402173e+02)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.3182609918569941308e+02)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 7.5584584631176030810e+00)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 6.4257745859173138767e-02))
- };
- static const T Q3[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.7710478032601086579e+00)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 3.4552228452758912848e+01)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 2.5951223655579051357e+02)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 9.6929165726802648634e+02)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.9448440788918006154e+03)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 2.1181000487171943810e+03)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.2082692316002348638e+03)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 3.3031020088765390854e+02)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 3.6001069306861518855e+01)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.0))
- };
- T value, factor, r, r1, r2;
-
- BOOST_MATH_STD_USING
- using namespace boost::math::tools;
-
- static const char* function = "boost::math::bessel_k1<%1%>(%1%,%1%)";
-
- if (x < 0)
- {
- return policies::raise_domain_error<T>(function,
- "Got x = %1%, but argument x must be non-negative, complex number result not supported.", x, pol);
- }
- if (x == 0)
- {
- return policies::raise_overflow_error<T>(function, 0, pol);
- }
- if (x <= 1) // x in (0, 1]
- {
- T y = x * x;
- r1 = evaluate_polynomial(P1, y) / evaluate_polynomial(Q1, y);
- r2 = evaluate_polynomial(P2, y) / evaluate_polynomial(Q2, y);
- factor = log(x);
- value = (r1 + factor * r2) / x;
- }
- else // x in (1, \infty)
- {
- T y = 1 / x;
- r = evaluate_polynomial(P3, y) / evaluate_polynomial(Q3, y);
- factor = exp(-x) / sqrt(x);
- value = factor * r;
- }
-
- return value;
-}
-
-}}} // namespaces
-
-#endif // BOOST_MATH_BESSEL_K1_HPP
-
diff --git a/boost/math/special_functions/detail/bessel_kn.hpp b/boost/math/special_functions/detail/bessel_kn.hpp
deleted file mode 100644
index 5f01460..0000000
--- a/boost/math/special_functions/detail/bessel_kn.hpp
+++ /dev/null
@@ -1,85 +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)
-
-#ifndef BOOST_MATH_BESSEL_KN_HPP
-#define BOOST_MATH_BESSEL_KN_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/math/special_functions/detail/bessel_k0.hpp>
-#include <boost/math/special_functions/detail/bessel_k1.hpp>
-#include <boost/math/policies/error_handling.hpp>
-
-// Modified Bessel function of the second kind of integer order
-// K_n(z) is the dominant solution, forward recurrence always OK (though unstable)
-
-namespace boost { namespace math { namespace detail{
-
-template <typename T, typename Policy>
-T bessel_kn(int n, T x, const Policy& pol)
-{
- T value, current, prev;
-
- using namespace boost::math::tools;
-
- static const char* function = "boost::math::bessel_kn<%1%>(%1%,%1%)";
-
- if (x < 0)
- {
- return policies::raise_domain_error<T>(function,
- "Got x = %1%, but argument x must be non-negative, complex number result not supported.", x, pol);
- }
- if (x == 0)
- {
- return policies::raise_overflow_error<T>(function, 0, pol);
- }
-
- if (n < 0)
- {
- n = -n; // K_{-n}(z) = K_n(z)
- }
- if (n == 0)
- {
- value = bessel_k0(x, pol);
- }
- else if (n == 1)
- {
- value = bessel_k1(x, pol);
- }
- else
- {
- prev = bessel_k0(x, pol);
- current = bessel_k1(x, pol);
- int k = 1;
- BOOST_ASSERT(k < n);
- T scale = 1;
- do
- {
- T fact = 2 * k / x;
- if((tools::max_value<T>() - fabs(prev)) / fact < fabs(current))
- {
- scale /= current;
- prev /= current;
- current = 1;
- }
- value = fact * current + prev;
- prev = current;
- current = value;
- ++k;
- }
- while(k < n);
- if(tools::max_value<T>() * scale < fabs(value))
- return sign(scale) * sign(value) * policies::raise_overflow_error<T>(function, 0, pol);
- value /= scale;
- }
- return value;
-}
-
-}}} // namespaces
-
-#endif // BOOST_MATH_BESSEL_KN_HPP
-
diff --git a/boost/math/special_functions/detail/bessel_y0.hpp b/boost/math/special_functions/detail/bessel_y0.hpp
deleted file mode 100644
index 533ab7c..0000000
--- a/boost/math/special_functions/detail/bessel_y0.hpp
+++ /dev/null
@@ -1,224 +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)
-
-#ifndef BOOST_MATH_BESSEL_Y0_HPP
-#define BOOST_MATH_BESSEL_Y0_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/math/special_functions/detail/bessel_j0.hpp>
-#include <boost/math/constants/constants.hpp>
-#include <boost/math/tools/rational.hpp>
-#include <boost/math/tools/big_constant.hpp>
-#include <boost/math/policies/error_handling.hpp>
-#include <boost/assert.hpp>
-
-// Bessel function of the second kind of order zero
-// x <= 8, minimax rational approximations on root-bracketing intervals
-// x > 8, Hankel asymptotic expansion in Hart, Computer Approximations, 1968
-
-namespace boost { namespace math { namespace detail{
-
-template <typename T, typename Policy>
-T bessel_y0(T x, const Policy&);
-
-template <class T, class Policy>
-struct bessel_y0_initializer
-{
- struct init
- {
- init()
- {
- do_init();
- }
- static void do_init()
- {
- bessel_y0(T(1), Policy());
- }
- void force_instantiate()const{}
- };
- static const init initializer;
- static void force_instantiate()
- {
- initializer.force_instantiate();
- }
-};
-
-template <class T, class Policy>
-const typename bessel_y0_initializer<T, Policy>::init bessel_y0_initializer<T, Policy>::initializer;
-
-template <typename T, typename Policy>
-T bessel_y0(T x, const Policy& pol)
-{
- bessel_y0_initializer<T, Policy>::force_instantiate();
-
- static const T P1[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.0723538782003176831e+11)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -8.3716255451260504098e+09)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 2.0422274357376619816e+08)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -2.1287548474401797963e+06)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.0102532948020907590e+04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.8402381979244993524e+01)),
- };
- static const T Q1[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 5.8873865738997033405e+11)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 8.1617187777290363573e+09)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 5.5662956624278251596e+07)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 2.3889393209447253406e+05)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 6.6475986689240190091e+02)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.0)),
- };
- static const T P2[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -2.2213976967566192242e+13)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -5.5107435206722644429e+11)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 4.3600098638603061642e+10)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -6.9590439394619619534e+08)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 4.6905288611678631510e+06)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.4566865832663635920e+04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.7427031242901594547e+01)),
- };
- static const T Q2[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 4.3386146580707264428e+14)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 5.4266824419412347550e+12)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 3.4015103849971240096e+10)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.3960202770986831075e+08)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 4.0669982352539552018e+05)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 8.3030857612070288823e+02)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.0)),
- };
- static const T P3[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -8.0728726905150210443e+15)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 6.7016641869173237784e+14)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.2829912364088687306e+11)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.9363051266772083678e+11)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 2.1958827170518100757e+09)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.0085539923498211426e+07)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 2.1363534169313901632e+04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.7439661319197499338e+01)),
- };
- static const T Q3[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 3.4563724628846457519e+17)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 3.9272425569640309819e+15)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 2.2598377924042897629e+13)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 8.6926121104209825246e+10)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 2.4727219475672302327e+08)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 5.3924739209768057030e+05)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 8.7903362168128450017e+02)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.0)),
- };
- static const T PC[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 2.2779090197304684302e+04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 4.1345386639580765797e+04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 2.1170523380864944322e+04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 3.4806486443249270347e+03)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.5376201909008354296e+02)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 8.8961548424210455236e-01)),
- };
- static const T QC[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 2.2779090197304684318e+04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 4.1370412495510416640e+04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 2.1215350561880115730e+04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 3.5028735138235608207e+03)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.5711159858080893649e+02)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.0)),
- };
- static const T PS[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -8.9226600200800094098e+01)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.8591953644342993800e+02)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.1183429920482737611e+02)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -2.2300261666214198472e+01)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.2441026745835638459e+00)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -8.8033303048680751817e-03)),
- };
- static const T QS[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 5.7105024128512061905e+03)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.1951131543434613647e+04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 7.2642780169211018836e+03)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.4887231232283756582e+03)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 9.0593769594993125859e+01)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.0)),
- };
- static const T x1 = static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 8.9357696627916752158e-01)),
- x2 = static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 3.9576784193148578684e+00)),
- x3 = static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 7.0860510603017726976e+00)),
- x11 = static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 2.280e+02)),
- x12 = static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 2.9519662791675215849e-03)),
- x21 = static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.0130e+03)),
- x22 = static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 6.4716931485786837568e-04)),
- x31 = static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.8140e+03)),
- x32 = static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.1356030177269762362e-04))
- ;
- T value, factor, r, rc, rs;
-
- BOOST_MATH_STD_USING
- using namespace boost::math::tools;
- using namespace boost::math::constants;
-
- static const char* function = "boost::math::bessel_y0<%1%>(%1%,%1%)";
-
- if (x < 0)
- {
- return policies::raise_domain_error<T>(function,
- "Got x = %1% but x must be non-negative, complex result not supported.", x, pol);
- }
- if (x == 0)
- {
- return -policies::raise_overflow_error<T>(function, 0, pol);
- }
- if (x <= 3) // x in (0, 3]
- {
- T y = x * x;
- T z = 2 * log(x/x1) * bessel_j0(x) / pi<T>();
- r = evaluate_rational(P1, Q1, y);
- factor = (x + x1) * ((x - x11/256) - x12);
- value = z + factor * r;
- }
- else if (x <= 5.5f) // x in (3, 5.5]
- {
- T y = x * x;
- T z = 2 * log(x/x2) * bessel_j0(x) / pi<T>();
- r = evaluate_rational(P2, Q2, y);
- factor = (x + x2) * ((x - x21/256) - x22);
- value = z + factor * r;
- }
- else if (x <= 8) // x in (5.5, 8]
- {
- T y = x * x;
- T z = 2 * log(x/x3) * bessel_j0(x) / pi<T>();
- r = evaluate_rational(P3, Q3, y);
- factor = (x + x3) * ((x - x31/256) - x32);
- value = z + factor * r;
- }
- else // x in (8, \infty)
- {
- T y = 8 / x;
- T y2 = y * y;
- rc = evaluate_rational(PC, QC, y2);
- rs = evaluate_rational(PS, QS, y2);
- factor = constants::one_div_root_pi<T>() / sqrt(x);
- //
- // The following code is really just:
- //
- // T z = x - 0.25f * pi<T>();
- // value = factor * (rc * sin(z) + y * rs * cos(z));
- //
- // But using the sin/cos addition formulae and constant values for
- // sin/cos of PI/4 which then cancel part of the "factor" term as they're all
- // 1 / sqrt(2):
- //
- T sx = sin(x);
- T cx = cos(x);
- value = factor * (rc * (sx - cx) + y * rs * (cx + sx));
- }
-
- return value;
-}
-
-}}} // namespaces
-
-#endif // BOOST_MATH_BESSEL_Y0_HPP
-
diff --git a/boost/math/special_functions/detail/bessel_y1.hpp b/boost/math/special_functions/detail/bessel_y1.hpp
deleted file mode 100644
index 8396f8f..0000000
--- a/boost/math/special_functions/detail/bessel_y1.hpp
+++ /dev/null
@@ -1,196 +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)
-
-#ifndef BOOST_MATH_BESSEL_Y1_HPP
-#define BOOST_MATH_BESSEL_Y1_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/math/special_functions/detail/bessel_j1.hpp>
-#include <boost/math/constants/constants.hpp>
-#include <boost/math/tools/rational.hpp>
-#include <boost/math/tools/big_constant.hpp>
-#include <boost/math/policies/error_handling.hpp>
-#include <boost/assert.hpp>
-
-// Bessel function of the second kind of order one
-// x <= 8, minimax rational approximations on root-bracketing intervals
-// x > 8, Hankel asymptotic expansion in Hart, Computer Approximations, 1968
-
-namespace boost { namespace math { namespace detail{
-
-template <typename T, typename Policy>
-T bessel_y1(T x, const Policy&);
-
-template <class T, class Policy>
-struct bessel_y1_initializer
-{
- struct init
- {
- init()
- {
- do_init();
- }
- static void do_init()
- {
- bessel_y1(T(1), Policy());
- }
- void force_instantiate()const{}
- };
- static const init initializer;
- static void force_instantiate()
- {
- initializer.force_instantiate();
- }
-};
-
-template <class T, class Policy>
-const typename bessel_y1_initializer<T, Policy>::init bessel_y1_initializer<T, Policy>::initializer;
-
-template <typename T, typename Policy>
-T bessel_y1(T x, const Policy& pol)
-{
- bessel_y1_initializer<T, Policy>::force_instantiate();
-
- static const T P1[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 4.0535726612579544093e+13)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 5.4708611716525426053e+12)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -3.7595974497819597599e+11)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 7.2144548214502560419e+09)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -5.9157479997408395984e+07)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 2.2157953222280260820e+05)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -3.1714424660046133456e+02)),
- };
- static const T Q1[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 3.0737873921079286084e+14)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 4.1272286200406461981e+12)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 2.7800352738690585613e+10)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.2250435122182963220e+08)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 3.8136470753052572164e+05)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 8.2079908168393867438e+02)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.0)),
- };
- static const T P2[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.1514276357909013326e+19)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -5.6808094574724204577e+18)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -2.3638408497043134724e+16)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 4.0686275289804744814e+15)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -5.9530713129741981618e+13)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 3.7453673962438488783e+11)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.1957961912070617006e+09)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.9153806858264202986e+06)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.2337180442012953128e+03)),
- };
- static const T Q2[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 5.3321844313316185697e+20)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 5.6968198822857178911e+18)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 3.0837179548112881950e+16)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.1187010065856971027e+14)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 3.0221766852960403645e+11)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 6.3550318087088919566e+08)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.0453748201934079734e+06)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.2855164849321609336e+03)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.0)),
- };
- static const T PC[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -4.4357578167941278571e+06)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -9.9422465050776411957e+06)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -6.6033732483649391093e+06)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.5235293511811373833e+06)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.0982405543459346727e+05)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.6116166443246101165e+03)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 0.0)),
- };
- static const T QC[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -4.4357578167941278568e+06)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -9.9341243899345856590e+06)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -6.5853394797230870728e+06)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.5118095066341608816e+06)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.0726385991103820119e+05)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -1.4550094401904961825e+03)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.0)),
- };
- static const T PS[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 3.3220913409857223519e+04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 8.5145160675335701966e+04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 6.6178836581270835179e+04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.8494262873223866797e+04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.7063754290207680021e+03)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 3.5265133846636032186e+01)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 0.0)),
- };
- static const T QS[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 7.0871281941028743574e+05)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.8194580422439972989e+06)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.4194606696037208929e+06)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 4.0029443582266975117e+05)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 3.7890229745772202641e+04)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 8.6383677696049909675e+02)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.0)),
- };
- static const T x1 = static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 2.1971413260310170351e+00)),
- x2 = static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 5.4296810407941351328e+00)),
- x11 = static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 5.620e+02)),
- x12 = static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.8288260310170351490e-03)),
- x21 = static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.3900e+03)),
- x22 = static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -6.4592058648672279948e-06))
- ;
- T value, factor, r, rc, rs;
-
- BOOST_MATH_STD_USING
- using namespace boost::math::tools;
- using namespace boost::math::constants;
-
- if (x <= 0)
- {
- return policies::raise_domain_error<T>("bost::math::bessel_y1<%1%>(%1%,%1%)",
- "Got x == %1%, but x must be > 0, complex result not supported.", x, pol);
- }
- if (x <= 4) // x in (0, 4]
- {
- T y = x * x;
- T z = 2 * log(x/x1) * bessel_j1(x) / pi<T>();
- r = evaluate_rational(P1, Q1, y);
- factor = (x + x1) * ((x - x11/256) - x12) / x;
- value = z + factor * r;
- }
- else if (x <= 8) // x in (4, 8]
- {
- T y = x * x;
- T z = 2 * log(x/x2) * bessel_j1(x) / pi<T>();
- r = evaluate_rational(P2, Q2, y);
- factor = (x + x2) * ((x - x21/256) - x22) / x;
- value = z + factor * r;
- }
- else // x in (8, \infty)
- {
- T y = 8 / x;
- T y2 = y * y;
- rc = evaluate_rational(PC, QC, y2);
- rs = evaluate_rational(PS, QS, y2);
- factor = 1 / (sqrt(x) * root_pi<T>());
- //
- // This code is really just:
- //
- // T z = x - 0.75f * pi<T>();
- // value = factor * (rc * sin(z) + y * rs * cos(z));
- //
- // But using the sin/cos addition rules, plus constants for sin/cos of 3PI/4
- // which then cancel out with corresponding terms in "factor".
- //
- T sx = sin(x);
- T cx = cos(x);
- value = factor * (y * rs * (sx - cx) - rc * (sx + cx));
- }
-
- return value;
-}
-
-}}} // namespaces
-
-#endif // BOOST_MATH_BESSEL_Y1_HPP
-
diff --git a/boost/math/special_functions/detail/bessel_yn.hpp b/boost/math/special_functions/detail/bessel_yn.hpp
deleted file mode 100644
index 0509062..0000000
--- a/boost/math/special_functions/detail/bessel_yn.hpp
+++ /dev/null
@@ -1,104 +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)
-
-#ifndef BOOST_MATH_BESSEL_YN_HPP
-#define BOOST_MATH_BESSEL_YN_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/math/special_functions/detail/bessel_y0.hpp>
-#include <boost/math/special_functions/detail/bessel_y1.hpp>
-#include <boost/math/special_functions/detail/bessel_jy_series.hpp>
-#include <boost/math/policies/error_handling.hpp>
-
-// Bessel function of the second kind of integer order
-// Y_n(z) is the dominant solution, forward recurrence always OK (though unstable)
-
-namespace boost { namespace math { namespace detail{
-
-template <typename T, typename Policy>
-T bessel_yn(int n, T x, const Policy& pol)
-{
- BOOST_MATH_STD_USING
- T value, factor, current, prev;
-
- using namespace boost::math::tools;
-
- static const char* function = "boost::math::bessel_yn<%1%>(%1%,%1%)";
-
- if ((x == 0) && (n == 0))
- {
- return -policies::raise_overflow_error<T>(function, 0, pol);
- }
- if (x <= 0)
- {
- return policies::raise_domain_error<T>(function,
- "Got x = %1%, but x must be > 0, complex result not supported.", x, pol);
- }
-
- //
- // Reflection comes first:
- //
- if (n < 0)
- {
- factor = (n & 0x1) ? -1 : 1; // Y_{-n}(z) = (-1)^n Y_n(z)
- n = -n;
- }
- else
- {
- factor = 1;
- }
-
- if(x < policies::get_epsilon<T, Policy>())
- {
- T scale = 1;
- value = bessel_yn_small_z(n, x, &scale, pol);
- if(tools::max_value<T>() * fabs(scale) < fabs(value))
- return boost::math::sign(scale) * boost::math::sign(value) * policies::raise_overflow_error<T>(function, 0, pol);
- value /= scale;
- }
- else if (n == 0)
- {
- value = bessel_y0(x, pol);
- }
- else if (n == 1)
- {
- value = factor * bessel_y1(x, pol);
- }
- else
- {
- prev = bessel_y0(x, pol);
- current = bessel_y1(x, pol);
- int k = 1;
- BOOST_ASSERT(k < n);
- policies::check_series_iterations<T>("boost::math::bessel_y_n<%1%>(%1%,%1%)", n, pol);
- do
- {
- T fact = 2 * k / x;
- if((fact > 1) && ((tools::max_value<T>() - fabs(prev)) / fact < fabs(current)))
- {
- prev /= current;
- factor /= current;
- current = 1;
- }
- value = fact * current - prev;
- prev = current;
- current = value;
- ++k;
- }
- while(k < n);
- if(fabs(tools::max_value<T>() * factor) < fabs(value))
- return sign(value) * sign(value) * policies::raise_overflow_error<T>(function, 0, pol);
- value /= factor;
- }
- return value;
-}
-
-}}} // namespaces
-
-#endif // BOOST_MATH_BESSEL_YN_HPP
-
diff --git a/boost/math/special_functions/detail/erf_inv.hpp b/boost/math/special_functions/detail/erf_inv.hpp
deleted file mode 100644
index ab926ad..0000000
--- a/boost/math/special_functions/detail/erf_inv.hpp
+++ /dev/null
@@ -1,521 +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_SF_ERF_INV_HPP
-#define BOOST_MATH_SF_ERF_INV_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-namespace boost{ namespace math{
-
-namespace detail{
-//
-// The inverse erf and erfc functions share a common implementation,
-// this version is for 80-bit long double's and smaller:
-//
-template <class T, class Policy>
-T erf_inv_imp(const T& p, const T& q, const Policy&, const boost::mpl::int_<64>*)
-{
- BOOST_MATH_STD_USING // for ADL of std names.
-
- T result = 0;
-
- if(p <= 0.5)
- {
- //
- // Evaluate inverse erf using the rational approximation:
- //
- // x = p(p+10)(Y+R(p))
- //
- // Where Y is a constant, and R(p) is optimised for a low
- // absolute error compared to |Y|.
- //
- // double: Max error found: 2.001849e-18
- // long double: Max error found: 1.017064e-20
- // Maximum Deviation Found (actual error term at infinite precision) 8.030e-21
- //
- static const float Y = 0.0891314744949340820313f;
- static const T P[] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.000508781949658280665617),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.00836874819741736770379),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.0334806625409744615033),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.0126926147662974029034),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.0365637971411762664006),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.0219878681111168899165),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.00822687874676915743155),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.00538772965071242932965)
- };
- static const T Q[] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, 1.0),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.970005043303290640362),
- BOOST_MATH_BIG_CONSTANT(T, 64, -1.56574558234175846809),
- BOOST_MATH_BIG_CONSTANT(T, 64, 1.56221558398423026363),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.662328840472002992063),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.71228902341542847553),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.0527396382340099713954),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.0795283687341571680018),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.00233393759374190016776),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.000886216390456424707504)
- };
- T g = p * (p + 10);
- T r = tools::evaluate_polynomial(P, p) / tools::evaluate_polynomial(Q, p);
- result = g * Y + g * r;
- }
- else if(q >= 0.25)
- {
- //
- // Rational approximation for 0.5 > q >= 0.25
- //
- // x = sqrt(-2*log(q)) / (Y + R(q))
- //
- // Where Y is a constant, and R(q) is optimised for a low
- // absolute error compared to Y.
- //
- // double : Max error found: 7.403372e-17
- // long double : Max error found: 6.084616e-20
- // Maximum Deviation Found (error term) 4.811e-20
- //
- static const float Y = 2.249481201171875f;
- static const T P[] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.202433508355938759655),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.105264680699391713268),
- BOOST_MATH_BIG_CONSTANT(T, 64, 8.37050328343119927838),
- BOOST_MATH_BIG_CONSTANT(T, 64, 17.6447298408374015486),
- BOOST_MATH_BIG_CONSTANT(T, 64, -18.8510648058714251895),
- BOOST_MATH_BIG_CONSTANT(T, 64, -44.6382324441786960818),
- BOOST_MATH_BIG_CONSTANT(T, 64, 17.445385985570866523),
- BOOST_MATH_BIG_CONSTANT(T, 64, 21.1294655448340526258),
- BOOST_MATH_BIG_CONSTANT(T, 64, -3.67192254707729348546)
- };
- static const T Q[] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, 1),
- BOOST_MATH_BIG_CONSTANT(T, 64, 6.24264124854247537712),
- BOOST_MATH_BIG_CONSTANT(T, 64, 3.9713437953343869095),
- BOOST_MATH_BIG_CONSTANT(T, 64, -28.6608180499800029974),
- BOOST_MATH_BIG_CONSTANT(T, 64, -20.1432634680485188801),
- BOOST_MATH_BIG_CONSTANT(T, 64, 48.5609213108739935468),
- BOOST_MATH_BIG_CONSTANT(T, 64, 10.8268667355460159008),
- BOOST_MATH_BIG_CONSTANT(T, 64, -22.6436933413139721736),
- BOOST_MATH_BIG_CONSTANT(T, 64, 1.72114765761200282724)
- };
- T g = sqrt(-2 * log(q));
- T xs = q - 0.25;
- T r = tools::evaluate_polynomial(P, xs) / tools::evaluate_polynomial(Q, xs);
- result = g / (Y + r);
- }
- else
- {
- //
- // For q < 0.25 we have a series of rational approximations all
- // of the general form:
- //
- // let: x = sqrt(-log(q))
- //
- // Then the result is given by:
- //
- // x(Y+R(x-B))
- //
- // where Y is a constant, B is the lowest value of x for which
- // the approximation is valid, and R(x-B) is optimised for a low
- // absolute error compared to Y.
- //
- // Note that almost all code will really go through the first
- // or maybe second approximation. After than we're dealing with very
- // small input values indeed: 80 and 128 bit long double's go all the
- // way down to ~ 1e-5000 so the "tail" is rather long...
- //
- T x = sqrt(-log(q));
- if(x < 3)
- {
- // Max error found: 1.089051e-20
- static const float Y = 0.807220458984375f;
- static const T P[] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.131102781679951906451),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.163794047193317060787),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.117030156341995252019),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.387079738972604337464),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.337785538912035898924),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.142869534408157156766),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.0290157910005329060432),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.00214558995388805277169),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.679465575181126350155e-6),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.285225331782217055858e-7),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.681149956853776992068e-9)
- };
- static const T Q[] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, 1.0),
- BOOST_MATH_BIG_CONSTANT(T, 64, 3.46625407242567245975),
- BOOST_MATH_BIG_CONSTANT(T, 64, 5.38168345707006855425),
- BOOST_MATH_BIG_CONSTANT(T, 64, 4.77846592945843778382),
- BOOST_MATH_BIG_CONSTANT(T, 64, 2.59301921623620271374),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.848854343457902036425),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.152264338295331783612),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.01105924229346489121)
- };
- T xs = x - 1.125;
- T R = tools::evaluate_polynomial(P, xs) / tools::evaluate_polynomial(Q, xs);
- result = Y * x + R * x;
- }
- else if(x < 6)
- {
- // Max error found: 8.389174e-21
- static const float Y = 0.93995571136474609375f;
- static const T P[] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.0350353787183177984712),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.00222426529213447927281),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.0185573306514231072324),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.00950804701325919603619),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.00187123492819559223345),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.000157544617424960554631),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.460469890584317994083e-5),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.230404776911882601748e-9),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.266339227425782031962e-11)
- };
- static const T Q[] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, 1),
- BOOST_MATH_BIG_CONSTANT(T, 64, 1.3653349817554063097),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.762059164553623404043),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.220091105764131249824),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.0341589143670947727934),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.00263861676657015992959),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.764675292302794483503e-4)
- };
- T xs = x - 3;
- T R = tools::evaluate_polynomial(P, xs) / tools::evaluate_polynomial(Q, xs);
- result = Y * x + R * x;
- }
- else if(x < 18)
- {
- // Max error found: 1.481312e-19
- static const float Y = 0.98362827301025390625f;
- static const T P[] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.0167431005076633737133),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.00112951438745580278863),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.00105628862152492910091),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.000209386317487588078668),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.149624783758342370182e-4),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.449696789927706453732e-6),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.462596163522878599135e-8),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.281128735628831791805e-13),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.99055709973310326855e-16)
- };
- static const T Q[] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, 1),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.591429344886417493481),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.138151865749083321638),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.0160746087093676504695),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.000964011807005165528527),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.275335474764726041141e-4),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.282243172016108031869e-6)
- };
- T xs = x - 6;
- T R = tools::evaluate_polynomial(P, xs) / tools::evaluate_polynomial(Q, xs);
- result = Y * x + R * x;
- }
- else if(x < 44)
- {
- // Max error found: 5.697761e-20
- static const float Y = 0.99714565277099609375f;
- static const T P[] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.0024978212791898131227),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.779190719229053954292e-5),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.254723037413027451751e-4),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.162397777342510920873e-5),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.396341011304801168516e-7),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.411632831190944208473e-9),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.145596286718675035587e-11),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.116765012397184275695e-17)
- };
- static const T Q[] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, 1),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.207123112214422517181),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.0169410838120975906478),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.000690538265622684595676),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.145007359818232637924e-4),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.144437756628144157666e-6),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.509761276599778486139e-9)
- };
- T xs = x - 18;
- T R = tools::evaluate_polynomial(P, xs) / tools::evaluate_polynomial(Q, xs);
- result = Y * x + R * x;
- }
- else
- {
- // Max error found: 1.279746e-20
- static const float Y = 0.99941349029541015625f;
- static const T P[] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.000539042911019078575891),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.28398759004727721098e-6),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.899465114892291446442e-6),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.229345859265920864296e-7),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.225561444863500149219e-9),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.947846627503022684216e-12),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.135880130108924861008e-14),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.348890393399948882918e-21)
- };
- static const T Q[] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, 1),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.0845746234001899436914),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.00282092984726264681981),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.468292921940894236786e-4),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.399968812193862100054e-6),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.161809290887904476097e-8),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.231558608310259605225e-11)
- };
- T xs = x - 44;
- T R = tools::evaluate_polynomial(P, xs) / tools::evaluate_polynomial(Q, xs);
- result = Y * x + R * x;
- }
- }
- return result;
-}
-
-template <class T, class Policy>
-struct erf_roots
-{
- boost::math::tuple<T,T,T> operator()(const T& guess)
- {
- BOOST_MATH_STD_USING
- T derivative = sign * (2 / sqrt(constants::pi<T>())) * exp(-(guess * guess));
- T derivative2 = -2 * guess * derivative;
- return boost::math::make_tuple(((sign > 0) ? static_cast<T>(boost::math::erf(guess, Policy()) - target) : static_cast<T>(boost::math::erfc(guess, Policy())) - target), derivative, derivative2);
- }
- erf_roots(T z, int s) : target(z), sign(s) {}
-private:
- T target;
- int sign;
-};
-
-template <class T, class Policy>
-T erf_inv_imp(const T& p, const T& q, const Policy& pol, const boost::mpl::int_<0>*)
-{
- //
- // Generic version, get a guess that's accurate to 64-bits (10^-19)
- //
- T guess = erf_inv_imp(p, q, pol, static_cast<mpl::int_<64> const*>(0));
- T result;
- //
- // If T has more bit's than 64 in it's mantissa then we need to iterate,
- // otherwise we can just return the result:
- //
- if(policies::digits<T, Policy>() > 64)
- {
- boost::uintmax_t max_iter = policies::get_max_root_iterations<Policy>();
- if(p <= 0.5)
- {
- result = tools::halley_iterate(detail::erf_roots<typename remove_cv<T>::type, Policy>(p, 1), guess, static_cast<T>(0), tools::max_value<T>(), (policies::digits<T, Policy>() * 2) / 3, max_iter);
- }
- else
- {
- result = tools::halley_iterate(detail::erf_roots<typename remove_cv<T>::type, Policy>(q, -1), guess, static_cast<T>(0), tools::max_value<T>(), (policies::digits<T, Policy>() * 2) / 3, max_iter);
- }
- policies::check_root_iterations<T>("boost::math::erf_inv<%1%>", max_iter, pol);
- }
- else
- {
- result = guess;
- }
- return result;
-}
-
-template <class T, class Policy>
-struct erf_inv_initializer
-{
- struct init
- {
- init()
- {
- do_init();
- }
- static void do_init()
- {
- boost::math::erf_inv(static_cast<T>(0.25), Policy());
- boost::math::erf_inv(static_cast<T>(0.55), Policy());
- boost::math::erf_inv(static_cast<T>(0.95), Policy());
- boost::math::erfc_inv(static_cast<T>(1e-15), Policy());
- if(static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1e-130)) != 0)
- boost::math::erfc_inv(static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1e-130)), Policy());
-
- // Some compilers choke on constants that would underflow, even in code that isn't instantiated
- // so try and filter these cases out in the preprocessor:
-#if LDBL_MAX_10_EXP >= 800
- if(static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1e-800)) != 0)
- boost::math::erfc_inv(static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1e-800)), Policy());
- if(static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1e-900)) != 0)
- boost::math::erfc_inv(static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1e-900)), Policy());
-#else
- if(static_cast<T>(BOOST_MATH_HUGE_CONSTANT(T, 64, 1e-800)) != 0)
- boost::math::erfc_inv(static_cast<T>(BOOST_MATH_HUGE_CONSTANT(T, 64, 1e-800)), Policy());
- if(static_cast<T>(BOOST_MATH_HUGE_CONSTANT(T, 64, 1e-900)) != 0)
- boost::math::erfc_inv(static_cast<T>(BOOST_MATH_HUGE_CONSTANT(T, 64, 1e-900)), Policy());
-#endif
- }
- void force_instantiate()const{}
- };
- static const init initializer;
- static void force_instantiate()
- {
- initializer.force_instantiate();
- }
-};
-
-template <class T, class Policy>
-const typename erf_inv_initializer<T, Policy>::init erf_inv_initializer<T, Policy>::initializer;
-
-} // namespace detail
-
-template <class T, class Policy>
-typename tools::promote_args<T>::type erfc_inv(T z, const Policy& pol)
-{
- typedef typename tools::promote_args<T>::type result_type;
-
- //
- // Begin by testing for domain errors, and other special cases:
- //
- static const char* function = "boost::math::erfc_inv<%1%>(%1%, %1%)";
- if((z < 0) || (z > 2))
- policies::raise_domain_error<result_type>(function, "Argument outside range [0,2] in inverse erfc function (got p=%1%).", z, pol);
- if(z == 0)
- return policies::raise_overflow_error<result_type>(function, 0, pol);
- if(z == 2)
- return -policies::raise_overflow_error<result_type>(function, 0, pol);
- //
- // Normalise the input, so it's in the range [0,1], we will
- // negate the result if z is outside that range. This is a simple
- // application of the erfc reflection formula: erfc(-z) = 2 - erfc(z)
- //
- result_type p, q, s;
- if(z > 1)
- {
- q = 2 - z;
- p = 1 - q;
- s = -1;
- }
- else
- {
- p = 1 - z;
- q = z;
- s = 1;
- }
- //
- // A bit of meta-programming to figure out which implementation
- // to use, based on the number of bits in the mantissa of T:
- //
- typedef typename policies::precision<result_type, Policy>::type precision_type;
- typedef typename mpl::if_<
- mpl::or_<mpl::less_equal<precision_type, mpl::int_<0> >, mpl::greater<precision_type, mpl::int_<64> > >,
- mpl::int_<0>,
- mpl::int_<64>
- >::type tag_type;
- //
- // Likewise use internal promotion, so we evaluate at a higher
- // precision internally if it's appropriate:
- //
- typedef typename policies::evaluation<result_type, Policy>::type eval_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
-
- detail::erf_inv_initializer<eval_type, forwarding_policy>::force_instantiate();
-
- //
- // And get the result, negating where required:
- //
- return s * policies::checked_narrowing_cast<result_type, forwarding_policy>(
- detail::erf_inv_imp(static_cast<eval_type>(p), static_cast<eval_type>(q), forwarding_policy(), static_cast<tag_type const*>(0)), function);
-}
-
-template <class T, class Policy>
-typename tools::promote_args<T>::type erf_inv(T z, const Policy& pol)
-{
- typedef typename tools::promote_args<T>::type result_type;
-
- //
- // Begin by testing for domain errors, and other special cases:
- //
- static const char* function = "boost::math::erf_inv<%1%>(%1%, %1%)";
- if((z < -1) || (z > 1))
- policies::raise_domain_error<result_type>(function, "Argument outside range [-1, 1] in inverse erf function (got p=%1%).", z, pol);
- if(z == 1)
- return policies::raise_overflow_error<result_type>(function, 0, pol);
- if(z == -1)
- return -policies::raise_overflow_error<result_type>(function, 0, pol);
- if(z == 0)
- return 0;
- //
- // Normalise the input, so it's in the range [0,1], we will
- // negate the result if z is outside that range. This is a simple
- // application of the erf reflection formula: erf(-z) = -erf(z)
- //
- result_type p, q, s;
- if(z < 0)
- {
- p = -z;
- q = 1 - p;
- s = -1;
- }
- else
- {
- p = z;
- q = 1 - z;
- s = 1;
- }
- //
- // A bit of meta-programming to figure out which implementation
- // to use, based on the number of bits in the mantissa of T:
- //
- typedef typename policies::precision<result_type, Policy>::type precision_type;
- typedef typename mpl::if_<
- mpl::or_<mpl::less_equal<precision_type, mpl::int_<0> >, mpl::greater<precision_type, mpl::int_<64> > >,
- mpl::int_<0>,
- mpl::int_<64>
- >::type tag_type;
- //
- // Likewise use internal promotion, so we evaluate at a higher
- // precision internally if it's appropriate:
- //
- typedef typename policies::evaluation<result_type, Policy>::type eval_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
- //
- // Likewise use internal promotion, so we evaluate at a higher
- // precision internally if it's appropriate:
- //
- typedef typename policies::evaluation<result_type, Policy>::type eval_type;
-
- detail::erf_inv_initializer<eval_type, forwarding_policy>::force_instantiate();
- //
- // And get the result, negating where required:
- //
- return s * policies::checked_narrowing_cast<result_type, forwarding_policy>(
- detail::erf_inv_imp(static_cast<eval_type>(p), static_cast<eval_type>(q), forwarding_policy(), static_cast<tag_type const*>(0)), function);
-}
-
-template <class T>
-inline typename tools::promote_args<T>::type erfc_inv(T z)
-{
- return erfc_inv(z, policies::policy<>());
-}
-
-template <class T>
-inline typename tools::promote_args<T>::type erf_inv(T z)
-{
- return erf_inv(z, policies::policy<>());
-}
-
-} // namespace math
-} // namespace boost
-
-#endif // BOOST_MATH_SF_ERF_INV_HPP
-
diff --git a/boost/math/special_functions/detail/fp_traits.hpp b/boost/math/special_functions/detail/fp_traits.hpp
deleted file mode 100644
index 50c034d..0000000
--- a/boost/math/special_functions/detail/fp_traits.hpp
+++ /dev/null
@@ -1,570 +0,0 @@
-// fp_traits.hpp
-
-#ifndef BOOST_MATH_FP_TRAITS_HPP
-#define BOOST_MATH_FP_TRAITS_HPP
-
-// Copyright (c) 2006 Johan Rade
-
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt
-// or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-/*
-To support old compilers, care has been taken to avoid partial template
-specialization and meta function forwarding.
-With these techniques, the code could be simplified.
-*/
-
-#if defined(__vms) && defined(__DECCXX) && !__IEEE_FLOAT
-// The VAX floating point formats are used (for float and double)
-# define BOOST_FPCLASSIFY_VAX_FORMAT
-#endif
-
-#include <cstring>
-
-#include <boost/assert.hpp>
-#include <boost/cstdint.hpp>
-#include <boost/detail/endian.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/type_traits/is_floating_point.hpp>
-
-#ifdef BOOST_NO_STDC_NAMESPACE
- namespace std{ using ::memcpy; }
-#endif
-
-#ifndef FP_NORMAL
-
-#define FP_ZERO 0
-#define FP_NORMAL 1
-#define FP_INFINITE 2
-#define FP_NAN 3
-#define FP_SUBNORMAL 4
-
-#else
-
-#define BOOST_HAS_FPCLASSIFY
-
-#ifndef fpclassify
-# if (defined(__GLIBCPP__) || defined(__GLIBCXX__)) \
- && defined(_GLIBCXX_USE_C99_MATH) \
- && !(defined(_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC) \
- && (_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC != 0))
-# ifdef _STLP_VENDOR_CSTD
-# if _STLPORT_VERSION >= 0x520
-# define BOOST_FPCLASSIFY_PREFIX ::__std_alias::
-# else
-# define BOOST_FPCLASSIFY_PREFIX ::_STLP_VENDOR_CSTD::
-# endif
-# else
-# define BOOST_FPCLASSIFY_PREFIX ::std::
-# endif
-# else
-# undef BOOST_HAS_FPCLASSIFY
-# define BOOST_FPCLASSIFY_PREFIX
-# endif
-#elif (defined(__HP_aCC) && !defined(__hppa))
-// aCC 6 appears to do "#define fpclassify fpclassify" which messes us up a bit!
-# define BOOST_FPCLASSIFY_PREFIX ::
-#else
-# define BOOST_FPCLASSIFY_PREFIX
-#endif
-
-#ifdef __MINGW32__
-# undef BOOST_HAS_FPCLASSIFY
-#endif
-
-#endif
-
-
-//------------------------------------------------------------------------------
-
-namespace boost {
-namespace math {
-namespace detail {
-
-//------------------------------------------------------------------------------
-
-/*
-The following classes are used to tag the different methods that are used
-for floating point classification
-*/
-
-struct native_tag {};
-template <bool has_limits>
-struct generic_tag {};
-struct ieee_tag {};
-struct ieee_copy_all_bits_tag : public ieee_tag {};
-struct ieee_copy_leading_bits_tag : public ieee_tag {};
-
-#ifdef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-//
-// These helper functions are used only when numeric_limits<>
-// members are not compile time constants:
-//
-inline bool is_generic_tag_false(const generic_tag<false>*)
-{
- return true;
-}
-inline bool is_generic_tag_false(const void*)
-{
- return false;
-}
-#endif
-
-//------------------------------------------------------------------------------
-
-/*
-Most processors support three different floating point precisions:
-single precision (32 bits), double precision (64 bits)
-and extended double precision (80 - 128 bits, depending on the processor)
-
-Note that the C++ type long double can be implemented
-both as double precision and extended double precision.
-*/
-
-struct unknown_precision{};
-struct single_precision {};
-struct double_precision {};
-struct extended_double_precision {};
-
-// native_tag version --------------------------------------------------------------
-
-template<class T> struct fp_traits_native
-{
- typedef native_tag method;
-};
-
-// generic_tag version -------------------------------------------------------------
-
-template<class T, class U> struct fp_traits_non_native
-{
-#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
- typedef generic_tag<std::numeric_limits<T>::is_specialized> method;
-#else
- typedef generic_tag<false> method;
-#endif
-};
-
-// ieee_tag versions ---------------------------------------------------------------
-
-/*
-These specializations of fp_traits_non_native contain information needed
-to "parse" the binary representation of a floating point number.
-
-Typedef members:
-
- bits -- the target type when copying the leading bytes of a floating
- point number. It is a typedef for uint32_t or uint64_t.
-
- method -- tells us whether all bytes are copied or not.
- It is a typedef for ieee_copy_all_bits_tag or ieee_copy_leading_bits_tag.
-
-Static data members:
-
- sign, exponent, flag, significand -- bit masks that give the meaning of the
- bits in the leading bytes.
-
-Static function members:
-
- get_bits(), set_bits() -- provide access to the leading bytes.
-
-*/
-
-// ieee_tag version, float (32 bits) -----------------------------------------------
-
-#ifndef BOOST_FPCLASSIFY_VAX_FORMAT
-
-template<> struct fp_traits_non_native<float, single_precision>
-{
- typedef ieee_copy_all_bits_tag method;
-
- BOOST_STATIC_CONSTANT(uint32_t, sign = 0x80000000u);
- BOOST_STATIC_CONSTANT(uint32_t, exponent = 0x7f800000);
- BOOST_STATIC_CONSTANT(uint32_t, flag = 0x00000000);
- BOOST_STATIC_CONSTANT(uint32_t, significand = 0x007fffff);
-
- typedef uint32_t bits;
- static void get_bits(float x, uint32_t& a) { std::memcpy(&a, &x, 4); }
- static void set_bits(float& x, uint32_t a) { std::memcpy(&x, &a, 4); }
-};
-
-// ieee_tag version, double (64 bits) ----------------------------------------------
-
-#if defined(BOOST_NO_INT64_T) || defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION) \
- || defined(__BORLANDC__) || defined(__CODEGEAR__)
-
-template<> struct fp_traits_non_native<double, double_precision>
-{
- typedef ieee_copy_leading_bits_tag method;
-
- BOOST_STATIC_CONSTANT(uint32_t, sign = 0x80000000u);
- BOOST_STATIC_CONSTANT(uint32_t, exponent = 0x7ff00000);
- BOOST_STATIC_CONSTANT(uint32_t, flag = 0);
- BOOST_STATIC_CONSTANT(uint32_t, significand = 0x000fffff);
-
- typedef uint32_t bits;
-
- static void get_bits(double x, uint32_t& a)
- {
- std::memcpy(&a, reinterpret_cast<const unsigned char*>(&x) + offset_, 4);
- }
-
- static void set_bits(double& x, uint32_t a)
- {
- std::memcpy(reinterpret_cast<unsigned char*>(&x) + offset_, &a, 4);
- }
-
-private:
-
-#if defined(BOOST_BIG_ENDIAN)
- BOOST_STATIC_CONSTANT(int, offset_ = 0);
-#elif defined(BOOST_LITTLE_ENDIAN)
- BOOST_STATIC_CONSTANT(int, offset_ = 4);
-#else
- BOOST_STATIC_ASSERT(false);
-#endif
-};
-
-//..............................................................................
-
-#else
-
-template<> struct fp_traits_non_native<double, double_precision>
-{
- typedef ieee_copy_all_bits_tag method;
-
- static const uint64_t sign = ((uint64_t)0x80000000u) << 32;
- static const uint64_t exponent = ((uint64_t)0x7ff00000) << 32;
- static const uint64_t flag = 0;
- static const uint64_t significand
- = (((uint64_t)0x000fffff) << 32) + ((uint64_t)0xffffffffu);
-
- typedef uint64_t bits;
- static void get_bits(double x, uint64_t& a) { std::memcpy(&a, &x, 8); }
- static void set_bits(double& x, uint64_t a) { std::memcpy(&x, &a, 8); }
-};
-
-#endif
-
-#endif // #ifndef BOOST_FPCLASSIFY_VAX_FORMAT
-
-// long double (64 bits) -------------------------------------------------------
-
-#if defined(BOOST_NO_INT64_T) || defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION)\
- || defined(__BORLANDC__) || defined(__CODEGEAR__)
-
-template<> struct fp_traits_non_native<long double, double_precision>
-{
- typedef ieee_copy_leading_bits_tag method;
-
- BOOST_STATIC_CONSTANT(uint32_t, sign = 0x80000000u);
- BOOST_STATIC_CONSTANT(uint32_t, exponent = 0x7ff00000);
- BOOST_STATIC_CONSTANT(uint32_t, flag = 0);
- BOOST_STATIC_CONSTANT(uint32_t, significand = 0x000fffff);
-
- typedef uint32_t bits;
-
- static void get_bits(long double x, uint32_t& a)
- {
- std::memcpy(&a, reinterpret_cast<const unsigned char*>(&x) + offset_, 4);
- }
-
- static void set_bits(long double& x, uint32_t a)
- {
- std::memcpy(reinterpret_cast<unsigned char*>(&x) + offset_, &a, 4);
- }
-
-private:
-
-#if defined(BOOST_BIG_ENDIAN)
- BOOST_STATIC_CONSTANT(int, offset_ = 0);
-#elif defined(BOOST_LITTLE_ENDIAN)
- BOOST_STATIC_CONSTANT(int, offset_ = 4);
-#else
- BOOST_STATIC_ASSERT(false);
-#endif
-};
-
-//..............................................................................
-
-#else
-
-template<> struct fp_traits_non_native<long double, double_precision>
-{
- typedef ieee_copy_all_bits_tag method;
-
- static const uint64_t sign = (uint64_t)0x80000000u << 32;
- static const uint64_t exponent = (uint64_t)0x7ff00000 << 32;
- static const uint64_t flag = 0;
- static const uint64_t significand
- = ((uint64_t)0x000fffff << 32) + (uint64_t)0xffffffffu;
-
- typedef uint64_t bits;
- static void get_bits(long double x, uint64_t& a) { std::memcpy(&a, &x, 8); }
- static void set_bits(long double& x, uint64_t a) { std::memcpy(&x, &a, 8); }
-};
-
-#endif
-
-
-// long double (>64 bits), x86 and x64 -----------------------------------------
-
-#if defined(__i386) || defined(__i386__) || defined(_M_IX86) \
- || defined(__amd64) || defined(__amd64__) || defined(_M_AMD64) \
- || defined(__x86_64) || defined(__x86_64__) || defined(_M_X64)
-
-// Intel extended double precision format (80 bits)
-
-template<>
-struct fp_traits_non_native<long double, extended_double_precision>
-{
- typedef ieee_copy_leading_bits_tag method;
-
- BOOST_STATIC_CONSTANT(uint32_t, sign = 0x80000000u);
- BOOST_STATIC_CONSTANT(uint32_t, exponent = 0x7fff0000);
- BOOST_STATIC_CONSTANT(uint32_t, flag = 0x00008000);
- BOOST_STATIC_CONSTANT(uint32_t, significand = 0x00007fff);
-
- typedef uint32_t bits;
-
- static void get_bits(long double x, uint32_t& a)
- {
- std::memcpy(&a, reinterpret_cast<const unsigned char*>(&x) + 6, 4);
- }
-
- static void set_bits(long double& x, uint32_t a)
- {
- std::memcpy(reinterpret_cast<unsigned char*>(&x) + 6, &a, 4);
- }
-};
-
-
-// long double (>64 bits), Itanium ---------------------------------------------
-
-#elif defined(__ia64) || defined(__ia64__) || defined(_M_IA64)
-
-// The floating point format is unknown at compile time
-// No template specialization is provided.
-// The generic_tag definition is used.
-
-// The Itanium supports both
-// the Intel extended double precision format (80 bits) and
-// the IEEE extended double precision format with 15 exponent bits (128 bits).
-
-
-// long double (>64 bits), PowerPC ---------------------------------------------
-
-#elif defined(__powerpc) || defined(__powerpc__) || defined(__POWERPC__) \
- || defined(__ppc) || defined(__ppc__) || defined(__PPC__)
-
-// PowerPC extended double precision format (128 bits)
-
-template<>
-struct fp_traits_non_native<long double, extended_double_precision>
-{
- typedef ieee_copy_leading_bits_tag method;
-
- BOOST_STATIC_CONSTANT(uint32_t, sign = 0x80000000u);
- BOOST_STATIC_CONSTANT(uint32_t, exponent = 0x7ff00000);
- BOOST_STATIC_CONSTANT(uint32_t, flag = 0x00000000);
- BOOST_STATIC_CONSTANT(uint32_t, significand = 0x000fffff);
-
- typedef uint32_t bits;
-
- static void get_bits(long double x, uint32_t& a)
- {
- std::memcpy(&a, reinterpret_cast<const unsigned char*>(&x) + offset_, 4);
- }
-
- static void set_bits(long double& x, uint32_t a)
- {
- std::memcpy(reinterpret_cast<unsigned char*>(&x) + offset_, &a, 4);
- }
-
-private:
-
-#if defined(BOOST_BIG_ENDIAN)
- BOOST_STATIC_CONSTANT(int, offset_ = 0);
-#elif defined(BOOST_LITTLE_ENDIAN)
- BOOST_STATIC_CONSTANT(int, offset_ = 12);
-#else
- BOOST_STATIC_ASSERT(false);
-#endif
-};
-
-
-// long double (>64 bits), Motorola 68K ----------------------------------------
-
-#elif defined(__m68k) || defined(__m68k__) \
- || defined(__mc68000) || defined(__mc68000__) \
-
-// Motorola extended double precision format (96 bits)
-
-// It is the same format as the Intel extended double precision format,
-// except that 1) it is big-endian, 2) the 3rd and 4th byte are padding, and
-// 3) the flag bit is not set for infinity
-
-template<>
-struct fp_traits_non_native<long double, extended_double_precision>
-{
- typedef ieee_copy_leading_bits_tag method;
-
- BOOST_STATIC_CONSTANT(uint32_t, sign = 0x80000000u);
- BOOST_STATIC_CONSTANT(uint32_t, exponent = 0x7fff0000);
- BOOST_STATIC_CONSTANT(uint32_t, flag = 0x00008000);
- BOOST_STATIC_CONSTANT(uint32_t, significand = 0x00007fff);
-
- // copy 1st, 2nd, 5th and 6th byte. 3rd and 4th byte are padding.
-
- typedef uint32_t bits;
-
- static void get_bits(long double x, uint32_t& a)
- {
- std::memcpy(&a, &x, 2);
- std::memcpy(reinterpret_cast<unsigned char*>(&a) + 2,
- reinterpret_cast<const unsigned char*>(&x) + 4, 2);
- }
-
- static void set_bits(long double& x, uint32_t a)
- {
- std::memcpy(&x, &a, 2);
- std::memcpy(reinterpret_cast<unsigned char*>(&x) + 4,
- reinterpret_cast<const unsigned char*>(&a) + 2, 2);
- }
-};
-
-
-// long double (>64 bits), All other processors --------------------------------
-
-#else
-
-// IEEE extended double precision format with 15 exponent bits (128 bits)
-
-template<>
-struct fp_traits_non_native<long double, extended_double_precision>
-{
- typedef ieee_copy_leading_bits_tag method;
-
- BOOST_STATIC_CONSTANT(uint32_t, sign = 0x80000000u);
- BOOST_STATIC_CONSTANT(uint32_t, exponent = 0x7fff0000);
- BOOST_STATIC_CONSTANT(uint32_t, flag = 0x00000000);
- BOOST_STATIC_CONSTANT(uint32_t, significand = 0x0000ffff);
-
- typedef uint32_t bits;
-
- static void get_bits(long double x, uint32_t& a)
- {
- std::memcpy(&a, reinterpret_cast<const unsigned char*>(&x) + offset_, 4);
- }
-
- static void set_bits(long double& x, uint32_t a)
- {
- std::memcpy(reinterpret_cast<unsigned char*>(&x) + offset_, &a, 4);
- }
-
-private:
-
-#if defined(BOOST_BIG_ENDIAN)
- BOOST_STATIC_CONSTANT(int, offset_ = 0);
-#elif defined(BOOST_LITTLE_ENDIAN)
- BOOST_STATIC_CONSTANT(int, offset_ = 12);
-#else
- BOOST_STATIC_ASSERT(false);
-#endif
-};
-
-#endif
-
-//------------------------------------------------------------------------------
-
-// size_to_precision is a type switch for converting a C++ floating point type
-// to the corresponding precision type.
-
-template<int n, bool fp> struct size_to_precision
-{
- typedef unknown_precision type;
-};
-
-template<> struct size_to_precision<4, true>
-{
- typedef single_precision type;
-};
-
-template<> struct size_to_precision<8, true>
-{
- typedef double_precision type;
-};
-
-template<> struct size_to_precision<10, true>
-{
- typedef extended_double_precision type;
-};
-
-template<> struct size_to_precision<12, true>
-{
- typedef extended_double_precision type;
-};
-
-template<> struct size_to_precision<16, true>
-{
- typedef extended_double_precision type;
-};
-
-//------------------------------------------------------------------------------
-//
-// Figure out whether to use native classification functions based on
-// whether T is a built in floating point type or not:
-//
-template <class T>
-struct select_native
-{
- typedef BOOST_DEDUCED_TYPENAME size_to_precision<sizeof(T), ::boost::is_floating_point<T>::value>::type precision;
- typedef fp_traits_non_native<T, precision> type;
-};
-template<>
-struct select_native<float>
-{
- typedef fp_traits_native<float> type;
-};
-template<>
-struct select_native<double>
-{
- typedef fp_traits_native<double> type;
-};
-template<>
-struct select_native<long double>
-{
- typedef fp_traits_native<long double> type;
-};
-
-//------------------------------------------------------------------------------
-
-// fp_traits is a type switch that selects the right fp_traits_non_native
-
-#if (defined(BOOST_MATH_USE_C99) && !(defined(__GNUC__) && (__GNUC__ < 4))) \
- && !defined(__hpux) \
- && !defined(__DECCXX)\
- && !defined(__osf__) \
- && !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION)\
- && !defined(BOOST_MATH_DISABLE_STD_FPCLASSIFY)
-# define BOOST_MATH_USE_STD_FPCLASSIFY
-#endif
-
-template<class T> struct fp_traits
-{
- typedef BOOST_DEDUCED_TYPENAME size_to_precision<sizeof(T), ::boost::is_floating_point<T>::value>::type precision;
-#if defined(BOOST_MATH_USE_STD_FPCLASSIFY) && !defined(BOOST_MATH_DISABLE_STD_FPCLASSIFY)
- typedef typename select_native<T>::type type;
-#else
- typedef fp_traits_non_native<T, precision> type;
-#endif
- typedef fp_traits_non_native<T, precision> sign_change_type;
-};
-
-//------------------------------------------------------------------------------
-
-} // namespace detail
-} // namespace math
-} // namespace boost
-
-#endif
diff --git a/boost/math/special_functions/detail/gamma_inva.hpp b/boost/math/special_functions/detail/gamma_inva.hpp
deleted file mode 100644
index 549bc3d..0000000
--- a/boost/math/special_functions/detail/gamma_inva.hpp
+++ /dev/null
@@ -1,233 +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)
-
-//
-// This is not a complete header file, it is included by gamma.hpp
-// after it has defined it's definitions. This inverts the incomplete
-// gamma functions P and Q on the first parameter "a" using a generic
-// root finding algorithm (TOMS Algorithm 748).
-//
-
-#ifndef BOOST_MATH_SP_DETAIL_GAMMA_INVA
-#define BOOST_MATH_SP_DETAIL_GAMMA_INVA
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/math/tools/toms748_solve.hpp>
-#include <boost/cstdint.hpp>
-
-namespace boost{ namespace math{ namespace detail{
-
-template <class T, class Policy>
-struct gamma_inva_t
-{
- gamma_inva_t(T z_, T p_, bool invert_) : z(z_), p(p_), invert(invert_) {}
- T operator()(T a)
- {
- return invert ? p - boost::math::gamma_q(a, z, Policy()) : boost::math::gamma_p(a, z, Policy()) - p;
- }
-private:
- T z, p;
- bool invert;
-};
-
-template <class T, class Policy>
-T inverse_poisson_cornish_fisher(T lambda, T p, T q, const Policy& pol)
-{
- BOOST_MATH_STD_USING
- // mean:
- T m = lambda;
- // standard deviation:
- T sigma = sqrt(lambda);
- // skewness
- T sk = 1 / sigma;
- // kurtosis:
- // T k = 1/lambda;
- // Get the inverse of a std normal distribution:
- T x = boost::math::erfc_inv(p > q ? 2 * q : 2 * p, pol) * constants::root_two<T>();
- // 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(lambda >= 10)
- w += k * x * (x2 - 3) / 24 + sk * sk * x * (2 * x2 - 5) / -36;
- */
- w = m + sigma * w;
- return w > tools::min_value<T>() ? w : tools::min_value<T>();
-}
-
-template <class T, class Policy>
-T gamma_inva_imp(const T& z, const T& p, const T& q, const Policy& pol)
-{
- BOOST_MATH_STD_USING // for ADL of std lib math functions
- //
- // Special cases first:
- //
- if(p == 0)
- {
- return tools::max_value<T>();
- }
- if(q == 0)
- {
- return tools::min_value<T>();
- }
- //
- // Function object, this is the functor whose root
- // we have to solve:
- //
- gamma_inva_t<T, Policy> f(z, (p < q) ? p : q, (p < q) ? false : true);
- //
- // Tolerance: full precision.
- //
- tools::eps_tolerance<T> tol(policies::digits<T, Policy>());
- //
- // Now figure out a starting guess for what a may be,
- // we'll start out with a value that'll put p or q
- // right bang in the middle of their range, the functions
- // are quite sensitive so we should need too many steps
- // to bracket the root from there:
- //
- T guess;
- T factor = 8;
- if(z >= 1)
- {
- //
- // We can use the relationship between the incomplete
- // gamma function and the poisson distribution to
- // calculate an approximate inverse, for large z
- // this is actually pretty accurate, but it fails badly
- // when z is very small. Also set our step-factor according
- // to how accurate we think the result is likely to be:
- //
- guess = 1 + inverse_poisson_cornish_fisher(z, q, p, pol);
- if(z > 5)
- {
- if(z > 1000)
- factor = 1.01f;
- else if(z > 50)
- factor = 1.1f;
- else if(guess > 10)
- factor = 1.25f;
- else
- factor = 2;
- if(guess < 1.1)
- factor = 8;
- }
- }
- else if(z > 0.5)
- {
- guess = z * 1.2f;
- }
- else
- {
- guess = -0.4f / log(z);
- }
- //
- // Max iterations permitted:
- //
- boost::uintmax_t max_iter = policies::get_max_root_iterations<Policy>();
- //
- // Use our generic derivative-free root finding procedure.
- // We could use Newton steps here, taking the PDF of the
- // Poisson distribution as our derivative, but that's
- // even worse performance-wise than the generic method :-(
- //
- std::pair<T, T> r = bracket_and_solve_root(f, guess, factor, false, tol, max_iter, pol);
- if(max_iter >= policies::get_max_root_iterations<Policy>())
- policies::raise_evaluation_error<T>("boost::math::gamma_p_inva<%1%>(%1%, %1%)", "Unable to locate the root within a reasonable number of iterations, closest approximation so far was %1%", r.first, pol);
- return (r.first + r.second) / 2;
-}
-
-} // namespace detail
-
-template <class T1, class T2, class Policy>
-inline typename tools::promote_args<T1, T2>::type
- gamma_p_inva(T1 x, T2 p, const Policy& pol)
-{
- typedef typename tools::promote_args<T1, T2>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
-
- if(p == 0)
- {
- return tools::max_value<result_type>();
- }
- if(p == 1)
- {
- return tools::min_value<result_type>();
- }
-
- return policies::checked_narrowing_cast<result_type, forwarding_policy>(
- detail::gamma_inva_imp(
- static_cast<value_type>(x),
- static_cast<value_type>(p),
- static_cast<value_type>(1 - static_cast<value_type>(p)),
- pol), "boost::math::gamma_p_inva<%1%>(%1%, %1%)");
-}
-
-template <class T1, class T2, class Policy>
-inline typename tools::promote_args<T1, T2>::type
- gamma_q_inva(T1 x, T2 q, const Policy& pol)
-{
- typedef typename tools::promote_args<T1, T2>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
-
- if(q == 1)
- {
- return tools::max_value<result_type>();
- }
- if(q == 0)
- {
- return tools::min_value<result_type>();
- }
-
- return policies::checked_narrowing_cast<result_type, forwarding_policy>(
- detail::gamma_inva_imp(
- static_cast<value_type>(x),
- static_cast<value_type>(1 - static_cast<value_type>(q)),
- static_cast<value_type>(q),
- pol), "boost::math::gamma_q_inva<%1%>(%1%, %1%)");
-}
-
-template <class T1, class T2>
-inline typename tools::promote_args<T1, T2>::type
- gamma_p_inva(T1 x, T2 p)
-{
- return boost::math::gamma_p_inva(x, p, policies::policy<>());
-}
-
-template <class T1, class T2>
-inline typename tools::promote_args<T1, T2>::type
- gamma_q_inva(T1 x, T2 q)
-{
- return boost::math::gamma_q_inva(x, q, policies::policy<>());
-}
-
-} // namespace math
-} // namespace boost
-
-#endif // BOOST_MATH_SP_DETAIL_GAMMA_INVA
-
-
-
diff --git a/boost/math/special_functions/detail/ibeta_inv_ab.hpp b/boost/math/special_functions/detail/ibeta_inv_ab.hpp
deleted file mode 100644
index 8318a28..0000000
--- a/boost/math/special_functions/detail/ibeta_inv_ab.hpp
+++ /dev/null
@@ -1,324 +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)
-
-//
-// This is not a complete header file, it is included by beta.hpp
-// after it has defined it's definitions. This inverts the incomplete
-// beta functions ibeta and ibetac on the first parameters "a"
-// and "b" using a generic root finding algorithm (TOMS Algorithm 748).
-//
-
-#ifndef BOOST_MATH_SP_DETAIL_BETA_INV_AB
-#define BOOST_MATH_SP_DETAIL_BETA_INV_AB
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/math/tools/toms748_solve.hpp>
-#include <boost/cstdint.hpp>
-
-namespace boost{ namespace math{ namespace detail{
-
-template <class T, class Policy>
-struct beta_inv_ab_t
-{
- beta_inv_ab_t(T b_, T z_, T p_, bool invert_, bool swap_ab_) : b(b_), z(z_), p(p_), invert(invert_), swap_ab(swap_ab_) {}
- T operator()(T a)
- {
- return invert ?
- p - boost::math::ibetac(swap_ab ? b : a, swap_ab ? a : b, z, Policy())
- : boost::math::ibeta(swap_ab ? b : a, swap_ab ? a : b, z, Policy()) - p;
- }
-private:
- T b, z, p;
- bool invert, swap_ab;
-};
-
-template <class T, class Policy>
-T inverse_negative_binomial_cornish_fisher(T n, T sf, T sfc, T p, T q, const Policy& pol)
-{
- BOOST_MATH_STD_USING
- // mean:
- T m = n * (sfc) / sf;
- T t = sqrt(n * (sfc));
- // standard deviation:
- T sigma = t / sf;
- // skewness
- T sk = (1 + sfc) / t;
- // kurtosis:
- T k = (6 - sf * (5+sfc)) / (n * (sfc));
- // Get the inverse of a std normal distribution:
- T x = boost::math::erfc_inv(p > q ? 2 * q : 2 * p, pol) * constants::root_two<T>();
- // 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.
- //
- 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<T>())
- return tools::min_value<T>();
- return w;
-}
-
-template <class T, class Policy>
-T ibeta_inv_ab_imp(const T& b, const T& z, const T& p, const T& q, bool swap_ab, const Policy& pol)
-{
- BOOST_MATH_STD_USING // for ADL of std lib math functions
- //
- // Special cases first:
- //
- BOOST_MATH_INSTRUMENT_CODE("b = " << b << " z = " << z << " p = " << p << " q = " << " swap = " << swap_ab);
- if(p == 0)
- {
- return swap_ab ? tools::min_value<T>() : tools::max_value<T>();
- }
- if(q == 0)
- {
- return swap_ab ? tools::max_value<T>() : tools::min_value<T>();
- }
- //
- // Function object, this is the functor whose root
- // we have to solve:
- //
- beta_inv_ab_t<T, Policy> f(b, z, (p < q) ? p : q, (p < q) ? false : true, swap_ab);
- //
- // Tolerance: full precision.
- //
- tools::eps_tolerance<T> tol(policies::digits<T, Policy>());
- //
- // Now figure out a starting guess for what a may be,
- // we'll start out with a value that'll put p or q
- // right bang in the middle of their range, the functions
- // are quite sensitive so we should need too many steps
- // to bracket the root from there:
- //
- T guess = 0;
- T factor = 5;
- //
- // Convert variables to parameters of a negative binomial distribution:
- //
- T n = b;
- T sf = swap_ab ? z : 1-z;
- T sfc = swap_ab ? 1-z : z;
- T u = swap_ab ? p : q;
- T v = swap_ab ? q : p;
- if(u <= pow(sf, n))
- {
- //
- // Result is less than 1, negative binomial approximation
- // is useless....
- //
- if((p < q) != swap_ab)
- {
- guess = (std::min)(T(b * 2), T(1));
- }
- else
- {
- guess = (std::min)(T(b / 2), T(1));
- }
- }
- if(n * n * n * u * sf > 0.005)
- guess = 1 + inverse_negative_binomial_cornish_fisher(n, sf, sfc, u, v, pol);
-
- if(guess < 10)
- {
- //
- // Negative binomial approximation not accurate in this area:
- //
- if((p < q) != swap_ab)
- {
- guess = (std::min)(T(b * 2), T(10));
- }
- else
- {
- guess = (std::min)(T(b / 2), T(10));
- }
- }
- else
- factor = (v < sqrt(tools::epsilon<T>())) ? 2 : (guess < 20 ? 1.2f : 1.1f);
- BOOST_MATH_INSTRUMENT_CODE("guess = " << guess);
- //
- // Max iterations permitted:
- //
- boost::uintmax_t max_iter = policies::get_max_root_iterations<Policy>();
- std::pair<T, T> r = bracket_and_solve_root(f, guess, factor, swap_ab ? true : false, tol, max_iter, pol);
- if(max_iter >= policies::get_max_root_iterations<Policy>())
- policies::raise_evaluation_error<T>("boost::math::ibeta_invab_imp<%1%>(%1%,%1%,%1%)", "Unable to locate the root within a reasonable number of iterations, closest approximation so far was %1%", r.first, pol);
- return (r.first + r.second) / 2;
-}
-
-} // namespace detail
-
-template <class RT1, class RT2, class RT3, class Policy>
-typename tools::promote_args<RT1, RT2, RT3>::type
- ibeta_inva(RT1 b, RT2 x, RT3 p, const Policy& pol)
-{
- typedef typename tools::promote_args<RT1, RT2, RT3>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
-
- if(p == 0)
- {
- return tools::max_value<result_type>();
- }
- if(p == 1)
- {
- return tools::min_value<result_type>();
- }
-
- return policies::checked_narrowing_cast<result_type, forwarding_policy>(
- detail::ibeta_inv_ab_imp(
- static_cast<value_type>(b),
- static_cast<value_type>(x),
- static_cast<value_type>(p),
- static_cast<value_type>(1 - static_cast<value_type>(p)),
- false, pol),
- "boost::math::ibeta_inva<%1%>(%1%,%1%,%1%)");
-}
-
-template <class RT1, class RT2, class RT3, class Policy>
-typename tools::promote_args<RT1, RT2, RT3>::type
- ibetac_inva(RT1 b, RT2 x, RT3 q, const Policy& pol)
-{
- typedef typename tools::promote_args<RT1, RT2, RT3>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
-
- if(q == 1)
- {
- return tools::max_value<result_type>();
- }
- if(q == 0)
- {
- return tools::min_value<result_type>();
- }
-
- return policies::checked_narrowing_cast<result_type, forwarding_policy>(
- detail::ibeta_inv_ab_imp(
- static_cast<value_type>(b),
- static_cast<value_type>(x),
- static_cast<value_type>(1 - static_cast<value_type>(q)),
- static_cast<value_type>(q),
- false, pol),
- "boost::math::ibetac_inva<%1%>(%1%,%1%,%1%)");
-}
-
-template <class RT1, class RT2, class RT3, class Policy>
-typename tools::promote_args<RT1, RT2, RT3>::type
- ibeta_invb(RT1 a, RT2 x, RT3 p, const Policy& pol)
-{
- typedef typename tools::promote_args<RT1, RT2, RT3>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
-
- if(p == 0)
- {
- return tools::min_value<result_type>();
- }
- if(p == 1)
- {
- return tools::max_value<result_type>();
- }
-
- return policies::checked_narrowing_cast<result_type, forwarding_policy>(
- detail::ibeta_inv_ab_imp(
- static_cast<value_type>(a),
- static_cast<value_type>(x),
- static_cast<value_type>(p),
- static_cast<value_type>(1 - static_cast<value_type>(p)),
- true, pol),
- "boost::math::ibeta_invb<%1%>(%1%,%1%,%1%)");
-}
-
-template <class RT1, class RT2, class RT3, class Policy>
-typename tools::promote_args<RT1, RT2, RT3>::type
- ibetac_invb(RT1 a, RT2 x, RT3 q, const Policy& pol)
-{
- typedef typename tools::promote_args<RT1, RT2, RT3>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
-
- if(q == 1)
- {
- return tools::min_value<result_type>();
- }
- if(q == 0)
- {
- return tools::max_value<result_type>();
- }
-
- return policies::checked_narrowing_cast<result_type, forwarding_policy>(
- detail::ibeta_inv_ab_imp(
- static_cast<value_type>(a),
- static_cast<value_type>(x),
- static_cast<value_type>(1 - static_cast<value_type>(q)),
- static_cast<value_type>(q),
- true, pol),
- "boost::math::ibetac_invb<%1%>(%1%,%1%,%1%)");
-}
-
-template <class RT1, class RT2, class RT3>
-inline typename tools::promote_args<RT1, RT2, RT3>::type
- ibeta_inva(RT1 b, RT2 x, RT3 p)
-{
- return boost::math::ibeta_inva(b, x, p, policies::policy<>());
-}
-
-template <class RT1, class RT2, class RT3>
-inline typename tools::promote_args<RT1, RT2, RT3>::type
- ibetac_inva(RT1 b, RT2 x, RT3 q)
-{
- return boost::math::ibetac_inva(b, x, q, policies::policy<>());
-}
-
-template <class RT1, class RT2, class RT3>
-inline typename tools::promote_args<RT1, RT2, RT3>::type
- ibeta_invb(RT1 a, RT2 x, RT3 p)
-{
- return boost::math::ibeta_invb(a, x, p, policies::policy<>());
-}
-
-template <class RT1, class RT2, class RT3>
-inline typename tools::promote_args<RT1, RT2, RT3>::type
- ibetac_invb(RT1 a, RT2 x, RT3 q)
-{
- return boost::math::ibetac_invb(a, x, q, policies::policy<>());
-}
-
-} // namespace math
-} // namespace boost
-
-#endif // BOOST_MATH_SP_DETAIL_BETA_INV_AB
-
-
-
diff --git a/boost/math/special_functions/detail/ibeta_inverse.hpp b/boost/math/special_functions/detail/ibeta_inverse.hpp
deleted file mode 100644
index 0c328e3..0000000
--- a/boost/math/special_functions/detail/ibeta_inverse.hpp
+++ /dev/null
@@ -1,993 +0,0 @@
-// 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)
-
-#ifndef BOOST_MATH_SPECIAL_FUNCTIONS_IBETA_INVERSE_HPP
-#define BOOST_MATH_SPECIAL_FUNCTIONS_IBETA_INVERSE_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/math/special_functions/beta.hpp>
-#include <boost/math/special_functions/erf.hpp>
-#include <boost/math/tools/roots.hpp>
-#include <boost/math/special_functions/detail/t_distribution_inv.hpp>
-
-namespace boost{ namespace math{ namespace detail{
-
-//
-// Helper object used by root finding
-// code to convert eta to x.
-//
-template <class T>
-struct temme_root_finder
-{
- temme_root_finder(const T t_, const T a_) : t(t_), a(a_) {}
-
- boost::math::tuple<T, T> operator()(T x)
- {
- BOOST_MATH_STD_USING // ADL of std names
-
- T y = 1 - x;
- if(y == 0)
- {
- T big = tools::max_value<T>() / 4;
- return boost::math::make_tuple(static_cast<T>(-big), static_cast<T>(-big));
- }
- if(x == 0)
- {
- T big = tools::max_value<T>() / 4;
- return boost::math::make_tuple(static_cast<T>(-big), big);
- }
- T f = log(x) + a * log(y) + t;
- T f1 = (1 / x) - (a / (y));
- return boost::math::make_tuple(f, f1);
- }
-private:
- T t, a;
-};
-//
-// See:
-// "Asymptotic Inversion of the Incomplete Beta Function"
-// N.M. Temme
-// Journal of Computation and Applied Mathematics 41 (1992) 145-157.
-// Section 2.
-//
-template <class T, class Policy>
-T temme_method_1_ibeta_inverse(T a, T b, T z, const Policy& pol)
-{
- BOOST_MATH_STD_USING // ADL of std names
-
- const T r2 = sqrt(T(2));
- //
- // get the first approximation for eta from the inverse
- // error function (Eq: 2.9 and 2.10).
- //
- T eta0 = boost::math::erfc_inv(2 * z, pol);
- eta0 /= -sqrt(a / 2);
-
- T terms[4] = { eta0 };
- T workspace[7];
- //
- // calculate powers:
- //
- T B = b - a;
- T B_2 = B * B;
- T B_3 = B_2 * B;
- //
- // Calculate correction terms:
- //
-
- // See eq following 2.15:
- workspace[0] = -B * r2 / 2;
- workspace[1] = (1 - 2 * B) / 8;
- workspace[2] = -(B * r2 / 48);
- workspace[3] = T(-1) / 192;
- workspace[4] = -B * r2 / 3840;
- terms[1] = tools::evaluate_polynomial(workspace, eta0, 5);
- // Eq Following 2.17:
- workspace[0] = B * r2 * (3 * B - 2) / 12;
- workspace[1] = (20 * B_2 - 12 * B + 1) / 128;
- workspace[2] = B * r2 * (20 * B - 1) / 960;
- workspace[3] = (16 * B_2 + 30 * B - 15) / 4608;
- workspace[4] = B * r2 * (21 * B + 32) / 53760;
- workspace[5] = (-32 * B_2 + 63) / 368640;
- workspace[6] = -B * r2 * (120 * B + 17) / 25804480;
- terms[2] = tools::evaluate_polynomial(workspace, eta0, 7);
- // Eq Following 2.17:
- workspace[0] = B * r2 * (-75 * B_2 + 80 * B - 16) / 480;
- workspace[1] = (-1080 * B_3 + 868 * B_2 - 90 * B - 45) / 9216;
- workspace[2] = B * r2 * (-1190 * B_2 + 84 * B + 373) / 53760;
- workspace[3] = (-2240 * B_3 - 2508 * B_2 + 2100 * B - 165) / 368640;
- terms[3] = tools::evaluate_polynomial(workspace, eta0, 4);
- //
- // Bring them together to get a final estimate for eta:
- //
- T eta = tools::evaluate_polynomial(terms, T(1/a), 4);
- //
- // now we need to convert eta to x, by solving the appropriate
- // quadratic equation:
- //
- T eta_2 = eta * eta;
- T c = -exp(-eta_2 / 2);
- T x;
- if(eta_2 == 0)
- x = 0.5;
- else
- x = (1 + eta * sqrt((1 + c) / eta_2)) / 2;
-
- BOOST_ASSERT(x >= 0);
- BOOST_ASSERT(x <= 1);
- BOOST_ASSERT(eta * (x - 0.5) >= 0);
-#ifdef BOOST_INSTRUMENT
- std::cout << "Estimating x with Temme method 1: " << x << std::endl;
-#endif
- return x;
-}
-//
-// See:
-// "Asymptotic Inversion of the Incomplete Beta Function"
-// N.M. Temme
-// Journal of Computation and Applied Mathematics 41 (1992) 145-157.
-// Section 3.
-//
-template <class T, class Policy>
-T temme_method_2_ibeta_inverse(T /*a*/, T /*b*/, T z, T r, T theta, const Policy& pol)
-{
- BOOST_MATH_STD_USING // ADL of std names
-
- //
- // Get first estimate for eta, see Eq 3.9 and 3.10,
- // but note there is a typo in Eq 3.10:
- //
- T eta0 = boost::math::erfc_inv(2 * z, pol);
- eta0 /= -sqrt(r / 2);
-
- T s = sin(theta);
- T c = cos(theta);
- //
- // Now we need to purturb eta0 to get eta, which we do by
- // evaluating the polynomial in 1/r at the bottom of page 151,
- // to do this we first need the error terms e1, e2 e3
- // which we'll fill into the array "terms". Since these
- // terms are themselves polynomials, we'll need another
- // array "workspace" to calculate those...
- //
- T terms[4] = { eta0 };
- T workspace[6];
- //
- // some powers of sin(theta)cos(theta) that we'll need later:
- //
- T sc = s * c;
- T sc_2 = sc * sc;
- T sc_3 = sc_2 * sc;
- T sc_4 = sc_2 * sc_2;
- T sc_5 = sc_2 * sc_3;
- T sc_6 = sc_3 * sc_3;
- T sc_7 = sc_4 * sc_3;
- //
- // Calculate e1 and put it in terms[1], see the middle of page 151:
- //
- workspace[0] = (2 * s * s - 1) / (3 * s * c);
- static const BOOST_MATH_INT_TABLE_TYPE(T, int) co1[] = { -1, -5, 5 };
- workspace[1] = -tools::evaluate_even_polynomial(co1, s, 3) / (36 * sc_2);
- static const BOOST_MATH_INT_TABLE_TYPE(T, int) co2[] = { 1, 21, -69, 46 };
- workspace[2] = tools::evaluate_even_polynomial(co2, s, 4) / (1620 * sc_3);
- static const BOOST_MATH_INT_TABLE_TYPE(T, int) co3[] = { 7, -2, 33, -62, 31 };
- workspace[3] = -tools::evaluate_even_polynomial(co3, s, 5) / (6480 * sc_4);
- static const BOOST_MATH_INT_TABLE_TYPE(T, int) co4[] = { 25, -52, -17, 88, -115, 46 };
- workspace[4] = tools::evaluate_even_polynomial(co4, s, 6) / (90720 * sc_5);
- terms[1] = tools::evaluate_polynomial(workspace, eta0, 5);
- //
- // Now evaluate e2 and put it in terms[2]:
- //
- static const BOOST_MATH_INT_TABLE_TYPE(T, int) co5[] = { 7, 12, -78, 52 };
- workspace[0] = -tools::evaluate_even_polynomial(co5, s, 4) / (405 * sc_3);
- static const BOOST_MATH_INT_TABLE_TYPE(T, int) co6[] = { -7, 2, 183, -370, 185 };
- workspace[1] = tools::evaluate_even_polynomial(co6, s, 5) / (2592 * sc_4);
- static const BOOST_MATH_INT_TABLE_TYPE(T, int) co7[] = { -533, 776, -1835, 10240, -13525, 5410 };
- workspace[2] = -tools::evaluate_even_polynomial(co7, s, 6) / (204120 * sc_5);
- static const BOOST_MATH_INT_TABLE_TYPE(T, int) co8[] = { -1579, 3747, -3372, -15821, 45588, -45213, 15071 };
- workspace[3] = -tools::evaluate_even_polynomial(co8, s, 7) / (2099520 * sc_6);
- terms[2] = tools::evaluate_polynomial(workspace, eta0, 4);
- //
- // And e3, and put it in terms[3]:
- //
- static const BOOST_MATH_INT_TABLE_TYPE(T, int) co9[] = {449, -1259, -769, 6686, -9260, 3704 };
- workspace[0] = tools::evaluate_even_polynomial(co9, s, 6) / (102060 * sc_5);
- static const BOOST_MATH_INT_TABLE_TYPE(T, int) co10[] = { 63149, -151557, 140052, -727469, 2239932, -2251437, 750479 };
- workspace[1] = -tools::evaluate_even_polynomial(co10, s, 7) / (20995200 * sc_6);
- static const BOOST_MATH_INT_TABLE_TYPE(T, int) co11[] = { 29233, -78755, 105222, 146879, -1602610, 3195183, -2554139, 729754 };
- workspace[2] = tools::evaluate_even_polynomial(co11, s, 8) / (36741600 * sc_7);
- terms[3] = tools::evaluate_polynomial(workspace, eta0, 3);
- //
- // Bring the correction terms together to evaluate eta,
- // this is the last equation on page 151:
- //
- T eta = tools::evaluate_polynomial(terms, T(1/r), 4);
- //
- // Now that we have eta we need to back solve for x,
- // we seek the value of x that gives eta in Eq 3.2.
- // The two methods used are described in section 5.
- //
- // Begin by defining a few variables we'll need later:
- //
- T x;
- T s_2 = s * s;
- T c_2 = c * c;
- T alpha = c / s;
- alpha *= alpha;
- T lu = (-(eta * eta) / (2 * s_2) + log(s_2) + c_2 * log(c_2) / s_2);
- //
- // Temme doesn't specify what value to switch on here,
- // but this seems to work pretty well:
- //
- if(fabs(eta) < 0.7)
- {
- //
- // Small eta use the expansion Temme gives in the second equation
- // of section 5, it's a polynomial in eta:
- //
- workspace[0] = s * s;
- workspace[1] = s * c;
- workspace[2] = (1 - 2 * workspace[0]) / 3;
- static const BOOST_MATH_INT_TABLE_TYPE(T, int) co12[] = { 1, -13, 13 };
- workspace[3] = tools::evaluate_polynomial(co12, workspace[0], 3) / (36 * s * c);
- static const BOOST_MATH_INT_TABLE_TYPE(T, int) co13[] = { 1, 21, -69, 46 };
- workspace[4] = tools::evaluate_polynomial(co13, workspace[0], 4) / (270 * workspace[0] * c * c);
- x = tools::evaluate_polynomial(workspace, eta, 5);
-#ifdef BOOST_INSTRUMENT
- std::cout << "Estimating x with Temme method 2 (small eta): " << x << std::endl;
-#endif
- }
- else
- {
- //
- // If eta is large we need to solve Eq 3.2 more directly,
- // begin by getting an initial approximation for x from
- // the last equation on page 155, this is a polynomial in u:
- //
- T u = exp(lu);
- workspace[0] = u;
- workspace[1] = alpha;
- workspace[2] = 0;
- workspace[3] = 3 * alpha * (3 * alpha + 1) / 6;
- workspace[4] = 4 * alpha * (4 * alpha + 1) * (4 * alpha + 2) / 24;
- workspace[5] = 5 * alpha * (5 * alpha + 1) * (5 * alpha + 2) * (5 * alpha + 3) / 120;
- x = tools::evaluate_polynomial(workspace, u, 6);
- //
- // At this point we may or may not have the right answer, Eq-3.2 has
- // two solutions for x for any given eta, however the mapping in 3.2
- // is 1:1 with the sign of eta and x-sin^2(theta) being the same.
- // So we can check if we have the right root of 3.2, and if not
- // switch x for 1-x. This transformation is motivated by the fact
- // that the distribution is *almost* symetric so 1-x will be in the right
- // ball park for the solution:
- //
- if((x - s_2) * eta < 0)
- x = 1 - x;
-#ifdef BOOST_INSTRUMENT
- std::cout << "Estimating x with Temme method 2 (large eta): " << x << std::endl;
-#endif
- }
- //
- // The final step is a few Newton-Raphson iterations to
- // clean up our approximation for x, this is pretty cheap
- // in general, and very cheap compared to an incomplete beta
- // evaluation. The limits set on x come from the observation
- // that the sign of eta and x-sin^2(theta) are the same.
- //
- T lower, upper;
- if(eta < 0)
- {
- lower = 0;
- upper = s_2;
- }
- else
- {
- lower = s_2;
- upper = 1;
- }
- //
- // If our initial approximation is out of bounds then bisect:
- //
- if((x < lower) || (x > upper))
- x = (lower+upper) / 2;
- //
- // And iterate:
- //
- x = tools::newton_raphson_iterate(
- temme_root_finder<T>(-lu, alpha), x, lower, upper, policies::digits<T, Policy>() / 2);
-
- return x;
-}
-//
-// See:
-// "Asymptotic Inversion of the Incomplete Beta Function"
-// N.M. Temme
-// Journal of Computation and Applied Mathematics 41 (1992) 145-157.
-// Section 4.
-//
-template <class T, class Policy>
-T temme_method_3_ibeta_inverse(T a, T b, T p, T q, const Policy& pol)
-{
- BOOST_MATH_STD_USING // ADL of std names
-
- //
- // Begin by getting an initial approximation for the quantity
- // eta from the dominant part of the incomplete beta:
- //
- T eta0;
- if(p < q)
- eta0 = boost::math::gamma_q_inv(b, p, pol);
- else
- eta0 = boost::math::gamma_p_inv(b, q, pol);
- eta0 /= a;
- //
- // Define the variables and powers we'll need later on:
- //
- T mu = b / a;
- T w = sqrt(1 + mu);
- T w_2 = w * w;
- T w_3 = w_2 * w;
- T w_4 = w_2 * w_2;
- T w_5 = w_3 * w_2;
- T w_6 = w_3 * w_3;
- T w_7 = w_4 * w_3;
- T w_8 = w_4 * w_4;
- T w_9 = w_5 * w_4;
- T w_10 = w_5 * w_5;
- T d = eta0 - mu;
- T d_2 = d * d;
- T d_3 = d_2 * d;
- T d_4 = d_2 * d_2;
- T w1 = w + 1;
- T w1_2 = w1 * w1;
- T w1_3 = w1 * w1_2;
- T w1_4 = w1_2 * w1_2;
- //
- // Now we need to compute the purturbation error terms that
- // convert eta0 to eta, these are all polynomials of polynomials.
- // Probably these should be re-written to use tabulated data
- // (see examples above), but it's less of a win in this case as we
- // need to calculate the individual powers for the denominator terms
- // anyway, so we might as well use them for the numerator-polynomials
- // as well....
- //
- // Refer to p154-p155 for the details of these expansions:
- //
- T e1 = (w + 2) * (w - 1) / (3 * w);
- e1 += (w_3 + 9 * w_2 + 21 * w + 5) * d / (36 * w_2 * w1);
- e1 -= (w_4 - 13 * w_3 + 69 * w_2 + 167 * w + 46) * d_2 / (1620 * w1_2 * w_3);
- e1 -= (7 * w_5 + 21 * w_4 + 70 * w_3 + 26 * w_2 - 93 * w - 31) * d_3 / (6480 * w1_3 * w_4);
- e1 -= (75 * w_6 + 202 * w_5 + 188 * w_4 - 888 * w_3 - 1345 * w_2 + 118 * w + 138) * d_4 / (272160 * w1_4 * w_5);
-
- T e2 = (28 * w_4 + 131 * w_3 + 402 * w_2 + 581 * w + 208) * (w - 1) / (1620 * w1 * w_3);
- e2 -= (35 * w_6 - 154 * w_5 - 623 * w_4 - 1636 * w_3 - 3983 * w_2 - 3514 * w - 925) * d / (12960 * w1_2 * w_4);
- e2 -= (2132 * w_7 + 7915 * w_6 + 16821 * w_5 + 35066 * w_4 + 87490 * w_3 + 141183 * w_2 + 95993 * w + 21640) * d_2 / (816480 * w_5 * w1_3);
- e2 -= (11053 * w_8 + 53308 * w_7 + 117010 * w_6 + 163924 * w_5 + 116188 * w_4 - 258428 * w_3 - 677042 * w_2 - 481940 * w - 105497) * d_3 / (14696640 * w1_4 * w_6);
-
- T e3 = -((3592 * w_7 + 8375 * w_6 - 1323 * w_5 - 29198 * w_4 - 89578 * w_3 - 154413 * w_2 - 116063 * w - 29632) * (w - 1)) / (816480 * w_5 * w1_2);
- e3 -= (442043 * w_9 + 2054169 * w_8 + 3803094 * w_7 + 3470754 * w_6 + 2141568 * w_5 - 2393568 * w_4 - 19904934 * w_3 - 34714674 * w_2 - 23128299 * w - 5253353) * d / (146966400 * w_6 * w1_3);
- e3 -= (116932 * w_10 + 819281 * w_9 + 2378172 * w_8 + 4341330 * w_7 + 6806004 * w_6 + 10622748 * w_5 + 18739500 * w_4 + 30651894 * w_3 + 30869976 * w_2 + 15431867 * w + 2919016) * d_2 / (146966400 * w1_4 * w_7);
- //
- // Combine eta0 and the error terms to compute eta (Second eqaution p155):
- //
- T eta = eta0 + e1 / a + e2 / (a * a) + e3 / (a * a * a);
- //
- // Now we need to solve Eq 4.2 to obtain x. For any given value of
- // eta there are two solutions to this equation, and since the distribtion
- // may be very skewed, these are not related by x ~ 1-x we used when
- // implementing section 3 above. However we know that:
- //
- // cross < x <= 1 ; iff eta < mu
- // x == cross ; iff eta == mu
- // 0 <= x < cross ; iff eta > mu
- //
- // Where cross == 1 / (1 + mu)
- // Many thanks to Prof Temme for clarifying this point.
- //
- // Therefore we'll just jump straight into Newton iterations
- // to solve Eq 4.2 using these bounds, and simple bisection
- // as the first guess, in practice this converges pretty quickly
- // and we only need a few digits correct anyway:
- //
- if(eta <= 0)
- eta = tools::min_value<T>();
- T u = eta - mu * log(eta) + (1 + mu) * log(1 + mu) - mu;
- T cross = 1 / (1 + mu);
- T lower = eta < mu ? cross : 0;
- T upper = eta < mu ? 1 : cross;
- T x = (lower + upper) / 2;
- x = tools::newton_raphson_iterate(
- temme_root_finder<T>(u, mu), x, lower, upper, policies::digits<T, Policy>() / 2);
-#ifdef BOOST_INSTRUMENT
- std::cout << "Estimating x with Temme method 3: " << x << std::endl;
-#endif
- return x;
-}
-
-template <class T, class Policy>
-struct ibeta_roots
-{
- ibeta_roots(T _a, T _b, T t, bool inv = false)
- : a(_a), b(_b), target(t), invert(inv) {}
-
- boost::math::tuple<T, T, T> operator()(T x)
- {
- BOOST_MATH_STD_USING // ADL of std names
-
- BOOST_FPU_EXCEPTION_GUARD
-
- T f1;
- T y = 1 - x;
- T f = ibeta_imp(a, b, x, Policy(), invert, true, &f1) - target;
- if(invert)
- f1 = -f1;
- if(y == 0)
- y = tools::min_value<T>() * 64;
- if(x == 0)
- x = tools::min_value<T>() * 64;
-
- T f2 = f1 * (-y * a + (b - 2) * x + 1);
- if(fabs(f2) < y * x * tools::max_value<T>())
- f2 /= (y * x);
- if(invert)
- f2 = -f2;
-
- // make sure we don't have a zero derivative:
- if(f1 == 0)
- f1 = (invert ? -1 : 1) * tools::min_value<T>() * 64;
-
- return boost::math::make_tuple(f, f1, f2);
- }
-private:
- T a, b, target;
- bool invert;
-};
-
-template <class T, class Policy>
-T ibeta_inv_imp(T a, T b, T p, T q, const Policy& pol, T* py)
-{
- BOOST_MATH_STD_USING // For ADL of math functions.
-
- //
- // The flag invert is set to true if we swap a for b and p for q,
- // in which case the result has to be subtracted from 1:
- //
- bool invert = false;
- //
- // Handle trivial cases first:
- //
- if(q == 0)
- {
- if(py) *py = 0;
- return 1;
- }
- else if(p == 0)
- {
- if(py) *py = 1;
- return 0;
- }
- else if(a == 1)
- {
- if(b == 1)
- {
- if(py) *py = 1 - p;
- return p;
- }
- // Change things around so we can handle as b == 1 special case below:
- std::swap(a, b);
- std::swap(p, q);
- invert = true;
- }
- //
- // Depending upon which approximation method we use, we may end up
- // calculating either x or y initially (where y = 1-x):
- //
- T x = 0; // Set to a safe zero to avoid a
- // MSVC 2005 warning C4701: potentially uninitialized local variable 'x' used
- // But code inspection appears to ensure that x IS assigned whatever the code path.
- T y;
-
- // For some of the methods we can put tighter bounds
- // on the result than simply [0,1]:
- //
- T lower = 0;
- T upper = 1;
- //
- // Student's T with b = 0.5 gets handled as a special case, swap
- // around if the arguments are in the "wrong" order:
- //
- if(a == 0.5f)
- {
- if(b == 0.5f)
- {
- x = sin(p * constants::half_pi<T>());
- x *= x;
- if(py)
- {
- *py = sin(q * constants::half_pi<T>());
- *py *= *py;
- }
- return x;
- }
- else if(b > 0.5f)
- {
- std::swap(a, b);
- std::swap(p, q);
- invert = !invert;
- }
- }
- //
- // Select calculation method for the initial estimate:
- //
- if((b == 0.5f) && (a >= 0.5f) && (p != 1))
- {
- //
- // We have a Student's T distribution:
- x = find_ibeta_inv_from_t_dist(a, p, q, &y, pol);
- }
- else if(b == 1)
- {
- if(p < q)
- {
- if(a > 1)
- {
- x = pow(p, 1 / a);
- y = -expm1(log(p) / a);
- }
- else
- {
- x = pow(p, 1 / a);
- y = 1 - x;
- }
- }
- else
- {
- x = exp(log1p(-q) / a);
- y = -expm1(log1p(-q) / a);
- }
- if(invert)
- std::swap(x, y);
- if(py)
- *py = y;
- return x;
- }
- else if(a + b > 5)
- {
- //
- // When a+b is large then we can use one of Prof Temme's
- // asymptotic expansions, begin by swapping things around
- // so that p < 0.5, we do this to avoid cancellations errors
- // when p is large.
- //
- if(p > 0.5)
- {
- std::swap(a, b);
- std::swap(p, q);
- invert = !invert;
- }
- T minv = (std::min)(a, b);
- T maxv = (std::max)(a, b);
- if((sqrt(minv) > (maxv - minv)) && (minv > 5))
- {
- //
- // When a and b differ by a small amount
- // the curve is quite symmetrical and we can use an error
- // function to approximate the inverse. This is the cheapest
- // of the three Temme expantions, and the calculated value
- // for x will never be much larger than p, so we don't have
- // to worry about cancellation as long as p is small.
- //
- x = temme_method_1_ibeta_inverse(a, b, p, pol);
- y = 1 - x;
- }
- else
- {
- T r = a + b;
- T theta = asin(sqrt(a / r));
- T lambda = minv / r;
- if((lambda >= 0.2) && (lambda <= 0.8) && (r >= 10))
- {
- //
- // The second error function case is the next cheapest
- // to use, it brakes down when the result is likely to be
- // very small, if a+b is also small, but we can use a
- // cheaper expansion there in any case. As before x won't
- // be much larger than p, so as long as p is small we should
- // be free of cancellation error.
- //
- T ppa = pow(p, 1/a);
- if((ppa < 0.0025) && (a + b < 200))
- {
- x = ppa * pow(a * boost::math::beta(a, b, pol), 1/a);
- }
- else
- x = temme_method_2_ibeta_inverse(a, b, p, r, theta, pol);
- y = 1 - x;
- }
- else
- {
- //
- // If we get here then a and b are very different in magnitude
- // and we need to use the third of Temme's methods which
- // involves inverting the incomplete gamma. This is much more
- // expensive than the other methods. We also can only use this
- // method when a > b, which can lead to cancellation errors
- // if we really want y (as we will when x is close to 1), so
- // a different expansion is used in that case.
- //
- if(a < b)
- {
- std::swap(a, b);
- std::swap(p, q);
- invert = !invert;
- }
- //
- // Try and compute the easy way first:
- //
- T bet = 0;
- if(b < 2)
- bet = boost::math::beta(a, b, pol);
- if(bet != 0)
- {
- y = pow(b * q * bet, 1/b);
- x = 1 - y;
- }
- else
- y = 1;
- if(y > 1e-5)
- {
- x = temme_method_3_ibeta_inverse(a, b, p, q, pol);
- y = 1 - x;
- }
- }
- }
- }
- else if((a < 1) && (b < 1))
- {
- //
- // Both a and b less than 1,
- // there is a point of inflection at xs:
- //
- T xs = (1 - a) / (2 - a - b);
- //
- // Now we need to ensure that we start our iteration from the
- // right side of the inflection point:
- //
- T fs = boost::math::ibeta(a, b, xs, pol) - p;
- if(fabs(fs) / p < tools::epsilon<T>() * 3)
- {
- // The result is at the point of inflection, best just return it:
- *py = invert ? xs : 1 - xs;
- return invert ? 1-xs : xs;
- }
- if(fs < 0)
- {
- std::swap(a, b);
- std::swap(p, q);
- invert = !invert;
- xs = 1 - xs;
- }
- T xg = pow(a * p * boost::math::beta(a, b, pol), 1/a);
- x = xg / (1 + xg);
- y = 1 / (1 + xg);
- //
- // And finally we know that our result is below the inflection
- // point, so set an upper limit on our search:
- //
- if(x > xs)
- x = xs;
- upper = xs;
- }
- else if((a > 1) && (b > 1))
- {
- //
- // Small a and b, both greater than 1,
- // there is a point of inflection at xs,
- // and it's complement is xs2, we must always
- // start our iteration from the right side of the
- // point of inflection.
- //
- T xs = (a - 1) / (a + b - 2);
- T xs2 = (b - 1) / (a + b - 2);
- T ps = boost::math::ibeta(a, b, xs, pol) - p;
-
- if(ps < 0)
- {
- std::swap(a, b);
- std::swap(p, q);
- std::swap(xs, xs2);
- invert = !invert;
- }
- //
- // Estimate x and y, using expm1 to get a good estimate
- // for y when it's very small:
- //
- T lx = log(p * a * boost::math::beta(a, b, pol)) / a;
- x = exp(lx);
- y = x < 0.9 ? T(1 - x) : (T)(-boost::math::expm1(lx, pol));
-
- if((b < a) && (x < 0.2))
- {
- //
- // Under a limited range of circumstances we can improve
- // our estimate for x, frankly it's clear if this has much effect!
- //
- T ap1 = a - 1;
- T bm1 = b - 1;
- T a_2 = a * a;
- T a_3 = a * a_2;
- T b_2 = b * b;
- T terms[5] = { 0, 1 };
- terms[2] = bm1 / ap1;
- ap1 *= ap1;
- terms[3] = bm1 * (3 * a * b + 5 * b + a_2 - a - 4) / (2 * (a + 2) * ap1);
- ap1 *= (a + 1);
- terms[4] = bm1 * (33 * a * b_2 + 31 * b_2 + 8 * a_2 * b_2 - 30 * a * b - 47 * b + 11 * a_2 * b + 6 * a_3 * b + 18 + 4 * a - a_3 + a_2 * a_2 - 10 * a_2)
- / (3 * (a + 3) * (a + 2) * ap1);
- x = tools::evaluate_polynomial(terms, x, 5);
- }
- //
- // And finally we know that our result is below the inflection
- // point, so set an upper limit on our search:
- //
- if(x > xs)
- x = xs;
- upper = xs;
- }
- else /*if((a <= 1) != (b <= 1))*/
- {
- //
- // If all else fails we get here, only one of a and b
- // is above 1, and a+b is small. Start by swapping
- // things around so that we have a concave curve with b > a
- // and no points of inflection in [0,1]. As long as we expect
- // x to be small then we can use the simple (and cheap) power
- // term to estimate x, but when we expect x to be large then
- // this greatly underestimates x and leaves us trying to
- // iterate "round the corner" which may take almost forever...
- //
- // We could use Temme's inverse gamma function case in that case,
- // this works really rather well (albeit expensively) even though
- // strictly speaking we're outside it's defined range.
- //
- // However it's expensive to compute, and an alternative approach
- // which models the curve as a distorted quarter circle is much
- // cheaper to compute, and still keeps the number of iterations
- // required down to a reasonable level. With thanks to Prof Temme
- // for this suggestion.
- //
- if(b < a)
- {
- std::swap(a, b);
- std::swap(p, q);
- invert = !invert;
- }
- if(pow(p, 1/a) < 0.5)
- {
- x = pow(p * a * boost::math::beta(a, b, pol), 1 / a);
- if(x == 0)
- x = boost::math::tools::min_value<T>();
- y = 1 - x;
- }
- else /*if(pow(q, 1/b) < 0.1)*/
- {
- // model a distorted quarter circle:
- y = pow(1 - pow(p, b * boost::math::beta(a, b, pol)), 1/b);
- if(y == 0)
- y = boost::math::tools::min_value<T>();
- x = 1 - y;
- }
- }
-
- //
- // Now we have a guess for x (and for y) we can set things up for
- // iteration. If x > 0.5 it pays to swap things round:
- //
- if(x > 0.5)
- {
- std::swap(a, b);
- std::swap(p, q);
- std::swap(x, y);
- invert = !invert;
- T l = 1 - upper;
- T u = 1 - lower;
- lower = l;
- upper = u;
- }
- //
- // lower bound for our search:
- //
- // We're not interested in denormalised answers as these tend to
- // these tend to take up lots of iterations, given that we can't get
- // accurate derivatives in this area (they tend to be infinite).
- //
- if(lower == 0)
- {
- if(invert && (py == 0))
- {
- //
- // We're not interested in answers smaller than machine epsilon:
- //
- lower = boost::math::tools::epsilon<T>();
- if(x < lower)
- x = lower;
- }
- else
- lower = boost::math::tools::min_value<T>();
- if(x < lower)
- x = lower;
- }
- //
- // Figure out how many digits to iterate towards:
- //
- int digits = boost::math::policies::digits<T, Policy>() / 2;
- if((x < 1e-50) && ((a < 1) || (b < 1)))
- {
- //
- // If we're in a region where the first derivative is very
- // large, then we have to take care that the root-finder
- // doesn't terminate prematurely. We'll bump the precision
- // up to avoid this, but we have to take care not to set the
- // precision too high or the last few iterations will just
- // thrash around and convergence may be slow in this case.
- // Try 3/4 of machine epsilon:
- //
- digits *= 3;
- digits /= 2;
- }
- //
- // Now iterate, we can use either p or q as the target here
- // depending on which is smaller:
- //
- boost::uintmax_t max_iter = policies::get_max_root_iterations<Policy>();
- x = boost::math::tools::halley_iterate(
- boost::math::detail::ibeta_roots<T, Policy>(a, b, (p < q ? p : q), (p < q ? false : true)), x, lower, upper, digits, max_iter);
- policies::check_root_iterations<T>("boost::math::ibeta<%1%>(%1%, %1%, %1%)", max_iter, pol);
- //
- // We don't really want these asserts here, but they are useful for sanity
- // checking that we have the limits right, uncomment if you suspect bugs *only*.
- //
- //BOOST_ASSERT(x != upper);
- //BOOST_ASSERT((x != lower) || (x == boost::math::tools::min_value<T>()) || (x == boost::math::tools::epsilon<T>()));
- //
- // Tidy up, if we "lower" was too high then zero is the best answer we have:
- //
- if(x == lower)
- x = 0;
- if(py)
- *py = invert ? x : 1 - x;
- return invert ? 1-x : x;
-}
-
-} // namespace detail
-
-template <class T1, class T2, class T3, class T4, class Policy>
-inline typename tools::promote_args<T1, T2, T3, T4>::type
- ibeta_inv(T1 a, T2 b, T3 p, T4* py, const Policy& pol)
-{
- static const char* function = "boost::math::ibeta_inv<%1%>(%1%,%1%,%1%)";
- BOOST_FPU_EXCEPTION_GUARD
- typedef typename tools::promote_args<T1, T2, T3, T4>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
-
- if(a <= 0)
- return policies::raise_domain_error<result_type>(function, "The argument a to the incomplete beta function inverse must be greater than zero (got a=%1%).", a, pol);
- if(b <= 0)
- return policies::raise_domain_error<result_type>(function, "The argument b to the incomplete beta function inverse must be greater than zero (got b=%1%).", b, pol);
- if((p < 0) || (p > 1))
- return policies::raise_domain_error<result_type>(function, "Argument p outside the range [0,1] in the incomplete beta function inverse (got p=%1%).", p, pol);
-
- value_type rx, ry;
-
- rx = detail::ibeta_inv_imp(
- static_cast<value_type>(a),
- static_cast<value_type>(b),
- static_cast<value_type>(p),
- static_cast<value_type>(1 - p),
- forwarding_policy(), &ry);
-
- if(py) *py = policies::checked_narrowing_cast<T4, forwarding_policy>(ry, function);
- return policies::checked_narrowing_cast<result_type, forwarding_policy>(rx, function);
-}
-
-template <class T1, class T2, class T3, class T4>
-inline typename tools::promote_args<T1, T2, T3, T4>::type
- ibeta_inv(T1 a, T2 b, T3 p, T4* py)
-{
- return ibeta_inv(a, b, p, py, policies::policy<>());
-}
-
-template <class T1, class T2, class T3>
-inline typename tools::promote_args<T1, T2, T3>::type
- ibeta_inv(T1 a, T2 b, T3 p)
-{
- typedef typename tools::promote_args<T1, T2, T3>::type result_type;
- return ibeta_inv(a, b, p, static_cast<result_type*>(0), policies::policy<>());
-}
-
-template <class T1, class T2, class T3, class Policy>
-inline typename tools::promote_args<T1, T2, T3>::type
- ibeta_inv(T1 a, T2 b, T3 p, const Policy& pol)
-{
- typedef typename tools::promote_args<T1, T2, T3>::type result_type;
- return ibeta_inv(a, b, p, static_cast<result_type*>(0), pol);
-}
-
-template <class T1, class T2, class T3, class T4, class Policy>
-inline typename tools::promote_args<T1, T2, T3, T4>::type
- ibetac_inv(T1 a, T2 b, T3 q, T4* py, const Policy& pol)
-{
- static const char* function = "boost::math::ibetac_inv<%1%>(%1%,%1%,%1%)";
- BOOST_FPU_EXCEPTION_GUARD
- typedef typename tools::promote_args<T1, T2, T3, T4>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
-
- if(a <= 0)
- policies::raise_domain_error<result_type>(function, "The argument a to the incomplete beta function inverse must be greater than zero (got a=%1%).", a, pol);
- if(b <= 0)
- policies::raise_domain_error<result_type>(function, "The argument b to the incomplete beta function inverse must be greater than zero (got b=%1%).", b, pol);
- if((q < 0) || (q > 1))
- policies::raise_domain_error<result_type>(function, "Argument q outside the range [0,1] in the incomplete beta function inverse (got q=%1%).", q, pol);
-
- value_type rx, ry;
-
- rx = detail::ibeta_inv_imp(
- static_cast<value_type>(a),
- static_cast<value_type>(b),
- static_cast<value_type>(1 - q),
- static_cast<value_type>(q),
- forwarding_policy(), &ry);
-
- if(py) *py = policies::checked_narrowing_cast<T4, forwarding_policy>(ry, function);
- return policies::checked_narrowing_cast<result_type, forwarding_policy>(rx, function);
-}
-
-template <class T1, class T2, class T3, class T4>
-inline typename tools::promote_args<T1, T2, T3, T4>::type
- ibetac_inv(T1 a, T2 b, T3 q, T4* py)
-{
- return ibetac_inv(a, b, q, py, policies::policy<>());
-}
-
-template <class RT1, class RT2, class RT3>
-inline typename tools::promote_args<RT1, RT2, RT3>::type
- ibetac_inv(RT1 a, RT2 b, RT3 q)
-{
- typedef typename tools::promote_args<RT1, RT2, RT3>::type result_type;
- return ibetac_inv(a, b, q, static_cast<result_type*>(0), policies::policy<>());
-}
-
-template <class RT1, class RT2, class RT3, class Policy>
-inline typename tools::promote_args<RT1, RT2, RT3>::type
- ibetac_inv(RT1 a, RT2 b, RT3 q, const Policy& pol)
-{
- typedef typename tools::promote_args<RT1, RT2, RT3>::type result_type;
- return ibetac_inv(a, b, q, static_cast<result_type*>(0), pol);
-}
-
-} // namespace math
-} // namespace boost
-
-#endif // BOOST_MATH_SPECIAL_FUNCTIONS_IGAMMA_INVERSE_HPP
-
-
-
-
diff --git a/boost/math/special_functions/detail/iconv.hpp b/boost/math/special_functions/detail/iconv.hpp
deleted file mode 100644
index 4256ffc..0000000
--- a/boost/math/special_functions/detail/iconv.hpp
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright (c) 2009 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_ICONV_HPP
-#define BOOST_MATH_ICONV_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/math/special_functions/round.hpp>
-#include <boost/type_traits/is_convertible.hpp>
-
-namespace boost { namespace math { namespace detail{
-
-template <class T, class Policy>
-inline int iconv_imp(T v, Policy const&, mpl::true_ const&)
-{
- return static_cast<int>(v);
-}
-
-template <class T, class Policy>
-inline int iconv_imp(T v, Policy const& pol, mpl::false_ const&)
-{
- BOOST_MATH_STD_USING
- return iround(v, pol);
-}
-
-template <class T, class Policy>
-inline int iconv(T v, Policy const& pol)
-{
- typedef typename boost::is_convertible<T, int>::type tag_type;
- return iconv_imp(v, pol, tag_type());
-}
-
-
-}}} // namespaces
-
-#endif // BOOST_MATH_ICONV_HPP
-
diff --git a/boost/math/special_functions/detail/igamma_inverse.hpp b/boost/math/special_functions/detail/igamma_inverse.hpp
deleted file mode 100644
index 42c2784..0000000
--- a/boost/math/special_functions/detail/igamma_inverse.hpp
+++ /dev/null
@@ -1,551 +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_SPECIAL_FUNCTIONS_IGAMMA_INVERSE_HPP
-#define BOOST_MATH_SPECIAL_FUNCTIONS_IGAMMA_INVERSE_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/math/tools/tuple.hpp>
-#include <boost/math/special_functions/gamma.hpp>
-#include <boost/math/special_functions/sign.hpp>
-#include <boost/math/tools/roots.hpp>
-#include <boost/math/policies/error_handling.hpp>
-
-namespace boost{ namespace math{
-
-namespace detail{
-
-template <class T>
-T find_inverse_s(T p, T q)
-{
- //
- // Computation of the Incomplete Gamma Function Ratios and their Inverse
- // ARMIDO R. DIDONATO and ALFRED H. MORRIS, JR.
- // ACM Transactions on Mathematical Software, Vol. 12, No. 4,
- // December 1986, Pages 377-393.
- //
- // See equation 32.
- //
- BOOST_MATH_STD_USING
- T t;
- if(p < 0.5)
- {
- t = sqrt(-2 * log(p));
- }
- else
- {
- t = sqrt(-2 * log(q));
- }
- static const double a[4] = { 3.31125922108741, 11.6616720288968, 4.28342155967104, 0.213623493715853 };
- static const double b[5] = { 1, 6.61053765625462, 6.40691597760039, 1.27364489782223, 0.3611708101884203e-1 };
- T s = t - tools::evaluate_polynomial(a, t) / tools::evaluate_polynomial(b, t);
- if(p < 0.5)
- s = -s;
- return s;
-}
-
-template <class T>
-T didonato_SN(T a, T x, unsigned N, T tolerance = 0)
-{
- //
- // Computation of the Incomplete Gamma Function Ratios and their Inverse
- // ARMIDO R. DIDONATO and ALFRED H. MORRIS, JR.
- // ACM Transactions on Mathematical Software, Vol. 12, No. 4,
- // December 1986, Pages 377-393.
- //
- // See equation 34.
- //
- T sum = 1;
- if(N >= 1)
- {
- T partial = x / (a + 1);
- sum += partial;
- for(unsigned i = 2; i <= N; ++i)
- {
- partial *= x / (a + i);
- sum += partial;
- if(partial < tolerance)
- break;
- }
- }
- return sum;
-}
-
-template <class T, class Policy>
-inline T didonato_FN(T p, T a, T x, unsigned N, T tolerance, const Policy& pol)
-{
- //
- // Computation of the Incomplete Gamma Function Ratios and their Inverse
- // ARMIDO R. DIDONATO and ALFRED H. MORRIS, JR.
- // ACM Transactions on Mathematical Software, Vol. 12, No. 4,
- // December 1986, Pages 377-393.
- //
- // See equation 34.
- //
- BOOST_MATH_STD_USING
- T u = log(p) + boost::math::lgamma(a + 1, pol);
- return exp((u + x - log(didonato_SN(a, x, N, tolerance))) / a);
-}
-
-template <class T, class Policy>
-T find_inverse_gamma(T a, T p, T q, const Policy& pol, bool* p_has_10_digits)
-{
- //
- // In order to understand what's going on here, you will
- // need to refer to:
- //
- // Computation of the Incomplete Gamma Function Ratios and their Inverse
- // ARMIDO R. DIDONATO and ALFRED H. MORRIS, JR.
- // ACM Transactions on Mathematical Software, Vol. 12, No. 4,
- // December 1986, Pages 377-393.
- //
- BOOST_MATH_STD_USING
-
- T result;
- *p_has_10_digits = false;
-
- if(a == 1)
- {
- result = -log(q);
- BOOST_MATH_INSTRUMENT_VARIABLE(result);
- }
- else if(a < 1)
- {
- T g = boost::math::tgamma(a, pol);
- T b = q * g;
- BOOST_MATH_INSTRUMENT_VARIABLE(g);
- BOOST_MATH_INSTRUMENT_VARIABLE(b);
- if((b > 0.6) || ((b >= 0.45) && (a >= 0.3)))
- {
- // DiDonato & Morris Eq 21:
- //
- // There is a slight variation from DiDonato and Morris here:
- // the first form given here is unstable when p is close to 1,
- // making it impossible to compute the inverse of Q(a,x) for small
- // q. Fortunately the second form works perfectly well in this case.
- //
- T u;
- if((b * q > 1e-8) && (q > 1e-5))
- {
- u = pow(p * g * a, 1 / a);
- BOOST_MATH_INSTRUMENT_VARIABLE(u);
- }
- else
- {
- u = exp((-q / a) - constants::euler<T>());
- BOOST_MATH_INSTRUMENT_VARIABLE(u);
- }
- result = u / (1 - (u / (a + 1)));
- BOOST_MATH_INSTRUMENT_VARIABLE(result);
- }
- else if((a < 0.3) && (b >= 0.35))
- {
- // DiDonato & Morris Eq 22:
- T t = exp(-constants::euler<T>() - b);
- T u = t * exp(t);
- result = t * exp(u);
- BOOST_MATH_INSTRUMENT_VARIABLE(result);
- }
- else if((b > 0.15) || (a >= 0.3))
- {
- // DiDonato & Morris Eq 23:
- T y = -log(b);
- T u = y - (1 - a) * log(y);
- result = y - (1 - a) * log(u) - log(1 + (1 - a) / (1 + u));
- BOOST_MATH_INSTRUMENT_VARIABLE(result);
- }
- else if (b > 0.1)
- {
- // DiDonato & Morris Eq 24:
- T y = -log(b);
- T u = y - (1 - a) * log(y);
- result = y - (1 - a) * log(u) - log((u * u + 2 * (3 - a) * u + (2 - a) * (3 - a)) / (u * u + (5 - a) * u + 2));
- BOOST_MATH_INSTRUMENT_VARIABLE(result);
- }
- else
- {
- // DiDonato & Morris Eq 25:
- T y = -log(b);
- T c1 = (a - 1) * log(y);
- T c1_2 = c1 * c1;
- T c1_3 = c1_2 * c1;
- T c1_4 = c1_2 * c1_2;
- T a_2 = a * a;
- T a_3 = a_2 * a;
-
- T c2 = (a - 1) * (1 + c1);
- T c3 = (a - 1) * (-(c1_2 / 2) + (a - 2) * c1 + (3 * a - 5) / 2);
- T c4 = (a - 1) * ((c1_3 / 3) - (3 * a - 5) * c1_2 / 2 + (a_2 - 6 * a + 7) * c1 + (11 * a_2 - 46 * a + 47) / 6);
- T c5 = (a - 1) * (-(c1_4 / 4)
- + (11 * a - 17) * c1_3 / 6
- + (-3 * a_2 + 13 * a -13) * c1_2
- + (2 * a_3 - 25 * a_2 + 72 * a - 61) * c1 / 2
- + (25 * a_3 - 195 * a_2 + 477 * a - 379) / 12);
-
- T y_2 = y * y;
- T y_3 = y_2 * y;
- T y_4 = y_2 * y_2;
- result = y + c1 + (c2 / y) + (c3 / y_2) + (c4 / y_3) + (c5 / y_4);
- BOOST_MATH_INSTRUMENT_VARIABLE(result);
- if(b < 1e-28f)
- *p_has_10_digits = true;
- }
- }
- else
- {
- // DiDonato and Morris Eq 31:
- T s = find_inverse_s(p, q);
-
- BOOST_MATH_INSTRUMENT_VARIABLE(s);
-
- T s_2 = s * s;
- T s_3 = s_2 * s;
- T s_4 = s_2 * s_2;
- T s_5 = s_4 * s;
- T ra = sqrt(a);
-
- BOOST_MATH_INSTRUMENT_VARIABLE(ra);
-
- T w = a + s * ra + (s * s -1) / 3;
- w += (s_3 - 7 * s) / (36 * ra);
- w -= (3 * s_4 + 7 * s_2 - 16) / (810 * a);
- w += (9 * s_5 + 256 * s_3 - 433 * s) / (38880 * a * ra);
-
- BOOST_MATH_INSTRUMENT_VARIABLE(w);
-
- if((a >= 500) && (fabs(1 - w / a) < 1e-6))
- {
- result = w;
- *p_has_10_digits = true;
- BOOST_MATH_INSTRUMENT_VARIABLE(result);
- }
- else if (p > 0.5)
- {
- if(w < 3 * a)
- {
- result = w;
- BOOST_MATH_INSTRUMENT_VARIABLE(result);
- }
- else
- {
- T D = (std::max)(T(2), T(a * (a - 1)));
- T lg = boost::math::lgamma(a, pol);
- T lb = log(q) + lg;
- if(lb < -D * 2.3)
- {
- // DiDonato and Morris Eq 25:
- T y = -lb;
- T c1 = (a - 1) * log(y);
- T c1_2 = c1 * c1;
- T c1_3 = c1_2 * c1;
- T c1_4 = c1_2 * c1_2;
- T a_2 = a * a;
- T a_3 = a_2 * a;
-
- T c2 = (a - 1) * (1 + c1);
- T c3 = (a - 1) * (-(c1_2 / 2) + (a - 2) * c1 + (3 * a - 5) / 2);
- T c4 = (a - 1) * ((c1_3 / 3) - (3 * a - 5) * c1_2 / 2 + (a_2 - 6 * a + 7) * c1 + (11 * a_2 - 46 * a + 47) / 6);
- T c5 = (a - 1) * (-(c1_4 / 4)
- + (11 * a - 17) * c1_3 / 6
- + (-3 * a_2 + 13 * a -13) * c1_2
- + (2 * a_3 - 25 * a_2 + 72 * a - 61) * c1 / 2
- + (25 * a_3 - 195 * a_2 + 477 * a - 379) / 12);
-
- T y_2 = y * y;
- T y_3 = y_2 * y;
- T y_4 = y_2 * y_2;
- result = y + c1 + (c2 / y) + (c3 / y_2) + (c4 / y_3) + (c5 / y_4);
- BOOST_MATH_INSTRUMENT_VARIABLE(result);
- }
- else
- {
- // DiDonato and Morris Eq 33:
- T u = -lb + (a - 1) * log(w) - log(1 + (1 - a) / (1 + w));
- result = -lb + (a - 1) * log(u) - log(1 + (1 - a) / (1 + u));
- BOOST_MATH_INSTRUMENT_VARIABLE(result);
- }
- }
- }
- else
- {
- T z = w;
- T ap1 = a + 1;
- T ap2 = a + 2;
- if(w < 0.15f * ap1)
- {
- // DiDonato and Morris Eq 35:
- T v = log(p) + boost::math::lgamma(ap1, pol);
- z = exp((v + w) / a);
- s = boost::math::log1p(z / ap1 * (1 + z / ap2));
- z = exp((v + z - s) / a);
- s = boost::math::log1p(z / ap1 * (1 + z / ap2));
- z = exp((v + z - s) / a);
- s = boost::math::log1p(z / ap1 * (1 + z / ap2 * (1 + z / (a + 3))));
- z = exp((v + z - s) / a);
- BOOST_MATH_INSTRUMENT_VARIABLE(z);
- }
-
- if((z <= 0.01 * ap1) || (z > 0.7 * ap1))
- {
- result = z;
- if(z <= 0.002 * ap1)
- *p_has_10_digits = true;
- BOOST_MATH_INSTRUMENT_VARIABLE(result);
- }
- else
- {
- // DiDonato and Morris Eq 36:
- T ls = log(didonato_SN(a, z, 100, T(1e-4)));
- T v = log(p) + boost::math::lgamma(ap1, pol);
- z = exp((v + z - ls) / a);
- result = z * (1 - (a * log(z) - z - v + ls) / (a - z));
-
- BOOST_MATH_INSTRUMENT_VARIABLE(result);
- }
- }
- }
- return result;
-}
-
-template <class T, class Policy>
-struct gamma_p_inverse_func
-{
- gamma_p_inverse_func(T a_, T p_, bool inv) : a(a_), p(p_), invert(inv)
- {
- //
- // If p is too near 1 then P(x) - p suffers from cancellation
- // errors causing our root-finding algorithms to "thrash", better
- // to invert in this case and calculate Q(x) - (1-p) instead.
- //
- // Of course if p is *very* close to 1, then the answer we get will
- // be inaccurate anyway (because there's not enough information in p)
- // but at least we will converge on the (inaccurate) answer quickly.
- //
- if(p > 0.9)
- {
- p = 1 - p;
- invert = !invert;
- }
- }
-
- boost::math::tuple<T, T, T> operator()(const T& x)const
- {
- BOOST_FPU_EXCEPTION_GUARD
- //
- // Calculate P(x) - p and the first two derivates, or if the invert
- // flag is set, then Q(x) - q and it's derivatives.
- //
- typedef typename policies::evaluation<T, Policy>::type value_type;
- // typedef typename lanczos::lanczos<T, Policy>::type evaluation_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
-
- BOOST_MATH_STD_USING // For ADL of std functions.
-
- T f, f1;
- value_type ft;
- f = static_cast<T>(boost::math::detail::gamma_incomplete_imp(
- static_cast<value_type>(a),
- static_cast<value_type>(x),
- true, invert,
- forwarding_policy(), &ft));
- f1 = static_cast<T>(ft);
- T f2;
- T div = (a - x - 1) / x;
- f2 = f1;
- if((fabs(div) > 1) && (tools::max_value<T>() / fabs(div) < f2))
- {
- // overflow:
- f2 = -tools::max_value<T>() / 2;
- }
- else
- {
- f2 *= div;
- }
-
- if(invert)
- {
- f1 = -f1;
- f2 = -f2;
- }
-
- return boost::math::make_tuple(static_cast<T>(f - p), f1, f2);
- }
-private:
- T a, p;
- bool invert;
-};
-
-template <class T, class Policy>
-T gamma_p_inv_imp(T a, T p, const Policy& pol)
-{
- BOOST_MATH_STD_USING // ADL of std functions.
-
- static const char* function = "boost::math::gamma_p_inv<%1%>(%1%, %1%)";
-
- BOOST_MATH_INSTRUMENT_VARIABLE(a);
- BOOST_MATH_INSTRUMENT_VARIABLE(p);
-
- if(a <= 0)
- policies::raise_domain_error<T>(function, "Argument a in the incomplete gamma function inverse must be >= 0 (got a=%1%).", a, pol);
- if((p < 0) || (p > 1))
- policies::raise_domain_error<T>(function, "Probabilty must be in the range [0,1] in the incomplete gamma function inverse (got p=%1%).", p, pol);
- if(p == 1)
- return tools::max_value<T>();
- if(p == 0)
- return 0;
- bool has_10_digits;
- T guess = detail::find_inverse_gamma<T>(a, p, 1 - p, pol, &has_10_digits);
- if((policies::digits<T, Policy>() <= 36) && has_10_digits)
- return guess;
- T lower = tools::min_value<T>();
- if(guess <= lower)
- guess = tools::min_value<T>();
- BOOST_MATH_INSTRUMENT_VARIABLE(guess);
- //
- // Work out how many digits to converge to, normally this is
- // 2/3 of the digits in T, but if the first derivative is very
- // large convergence is slow, so we'll bump it up to full
- // precision to prevent premature termination of the root-finding routine.
- //
- unsigned digits = policies::digits<T, Policy>();
- if(digits < 30)
- {
- digits *= 2;
- digits /= 3;
- }
- else
- {
- digits /= 2;
- digits -= 1;
- }
- if((a < 0.125) && (fabs(gamma_p_derivative(a, guess, pol)) > 1 / sqrt(tools::epsilon<T>())))
- digits = policies::digits<T, Policy>() - 2;
- //
- // Go ahead and iterate:
- //
- boost::uintmax_t max_iter = policies::get_max_root_iterations<Policy>();
- guess = tools::halley_iterate(
- detail::gamma_p_inverse_func<T, Policy>(a, p, false),
- guess,
- lower,
- tools::max_value<T>(),
- digits,
- max_iter);
- policies::check_root_iterations<T>(function, max_iter, pol);
- BOOST_MATH_INSTRUMENT_VARIABLE(guess);
- if(guess == lower)
- guess = policies::raise_underflow_error<T>(function, "Expected result known to be non-zero, but is smaller than the smallest available number.", pol);
- return guess;
-}
-
-template <class T, class Policy>
-T gamma_q_inv_imp(T a, T q, const Policy& pol)
-{
- BOOST_MATH_STD_USING // ADL of std functions.
-
- static const char* function = "boost::math::gamma_q_inv<%1%>(%1%, %1%)";
-
- if(a <= 0)
- policies::raise_domain_error<T>(function, "Argument a in the incomplete gamma function inverse must be >= 0 (got a=%1%).", a, pol);
- if((q < 0) || (q > 1))
- policies::raise_domain_error<T>(function, "Probabilty must be in the range [0,1] in the incomplete gamma function inverse (got q=%1%).", q, pol);
- if(q == 0)
- return tools::max_value<T>();
- if(q == 1)
- return 0;
- bool has_10_digits;
- T guess = detail::find_inverse_gamma<T>(a, 1 - q, q, pol, &has_10_digits);
- if((policies::digits<T, Policy>() <= 36) && has_10_digits)
- return guess;
- T lower = tools::min_value<T>();
- if(guess <= lower)
- guess = tools::min_value<T>();
- //
- // Work out how many digits to converge to, normally this is
- // 2/3 of the digits in T, but if the first derivative is very
- // large convergence is slow, so we'll bump it up to full
- // precision to prevent premature termination of the root-finding routine.
- //
- unsigned digits = policies::digits<T, Policy>();
- if(digits < 30)
- {
- digits *= 2;
- digits /= 3;
- }
- else
- {
- digits /= 2;
- digits -= 1;
- }
- if((a < 0.125) && (fabs(gamma_p_derivative(a, guess, pol)) > 1 / sqrt(tools::epsilon<T>())))
- digits = policies::digits<T, Policy>();
- //
- // Go ahead and iterate:
- //
- boost::uintmax_t max_iter = policies::get_max_root_iterations<Policy>();
- guess = tools::halley_iterate(
- detail::gamma_p_inverse_func<T, Policy>(a, q, true),
- guess,
- lower,
- tools::max_value<T>(),
- digits,
- max_iter);
- policies::check_root_iterations<T>(function, max_iter, pol);
- if(guess == lower)
- guess = policies::raise_underflow_error<T>(function, "Expected result known to be non-zero, but is smaller than the smallest available number.", pol);
- return guess;
-}
-
-} // namespace detail
-
-template <class T1, class T2, class Policy>
-inline typename tools::promote_args<T1, T2>::type
- gamma_p_inv(T1 a, T2 p, const Policy& pol)
-{
- typedef typename tools::promote_args<T1, T2>::type result_type;
- return detail::gamma_p_inv_imp(
- static_cast<result_type>(a),
- static_cast<result_type>(p), pol);
-}
-
-template <class T1, class T2, class Policy>
-inline typename tools::promote_args<T1, T2>::type
- gamma_q_inv(T1 a, T2 p, const Policy& pol)
-{
- typedef typename tools::promote_args<T1, T2>::type result_type;
- return detail::gamma_q_inv_imp(
- static_cast<result_type>(a),
- static_cast<result_type>(p), pol);
-}
-
-template <class T1, class T2>
-inline typename tools::promote_args<T1, T2>::type
- gamma_p_inv(T1 a, T2 p)
-{
- return gamma_p_inv(a, p, policies::policy<>());
-}
-
-template <class T1, class T2>
-inline typename tools::promote_args<T1, T2>::type
- gamma_q_inv(T1 a, T2 p)
-{
- return gamma_q_inv(a, p, policies::policy<>());
-}
-
-} // namespace math
-} // namespace boost
-
-#endif // BOOST_MATH_SPECIAL_FUNCTIONS_IGAMMA_INVERSE_HPP
-
-
-
diff --git a/boost/math/special_functions/detail/igamma_large.hpp b/boost/math/special_functions/detail/igamma_large.hpp
deleted file mode 100644
index eb3d4ba..0000000
--- a/boost/math/special_functions/detail/igamma_large.hpp
+++ /dev/null
@@ -1,768 +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)
-//
-// This file implements the asymptotic expansions of the incomplete
-// gamma functions P(a, x) and Q(a, x), used when a is large and
-// x ~ a.
-//
-// The primary reference is:
-//
-// "The Asymptotic Expansion of the Incomplete Gamma Functions"
-// N. M. Temme.
-// Siam J. Math Anal. Vol 10 No 4, July 1979, p757.
-//
-// A different way of evaluating these expansions,
-// plus a lot of very useful background information is in:
-//
-// "A Set of Algorithms For the Incomplete Gamma Functions."
-// N. M. Temme.
-// Probability in the Engineering and Informational Sciences,
-// 8, 1994, 291.
-//
-// An alternative implementation is in:
-//
-// "Computation of the Incomplete Gamma Function Ratios and their Inverse."
-// A. R. Didonato and A. H. Morris.
-// ACM TOMS, Vol 12, No 4, Dec 1986, p377.
-//
-// There are various versions of the same code below, each accurate
-// to a different precision. To understand the code, refer to Didonato
-// and Morris, from Eq 17 and 18 onwards.
-//
-// The coefficients used here are not taken from Didonato and Morris:
-// the domain over which these expansions are used is slightly different
-// to theirs, and their constants are not quite accurate enough for
-// 128-bit long double's. Instead the coefficients were calculated
-// using the methods described by Temme p762 from Eq 3.8 onwards.
-// The values obtained agree with those obtained by Didonato and Morris
-// (at least to the first 30 digits that they provide).
-// At double precision the degrees of polynomial required for full
-// machine precision are close to those recomended to Didonato and Morris,
-// but of course many more terms are needed for larger types.
-//
-#ifndef BOOST_MATH_DETAIL_IGAMMA_LARGE
-#define BOOST_MATH_DETAIL_IGAMMA_LARGE
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-namespace boost{ namespace math{ namespace detail{
-
-// This version will never be called (at runtime), it's a stub used
-// when T is unsuitable to be passed to these routines:
-//
-template <class T, class Policy>
-inline T igamma_temme_large(T, T, const Policy& /* pol */, mpl::int_<0> const *)
-{
- // stub function, should never actually be called
- BOOST_ASSERT(0);
- return 0;
-}
-//
-// This version is accurate for up to 64-bit mantissa's,
-// (80-bit long double, or 10^-20).
-//
-template <class T, class Policy>
-T igamma_temme_large(T a, T x, const Policy& pol, mpl::int_<64> const *)
-{
- BOOST_MATH_STD_USING // ADL of std functions
- T sigma = (x - a) / a;
- T phi = -boost::math::log1pmx(sigma, pol);
- T y = a * phi;
- T z = sqrt(2 * phi);
- if(x < a)
- z = -z;
-
- T workspace[13];
-
- static const T C0[] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.333333333333333333333),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.0833333333333333333333),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.0148148148148148148148),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.00115740740740740740741),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.000352733686067019400353),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.0001787551440329218107),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.39192631785224377817e-4),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.218544851067999216147e-5),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.18540622107151599607e-5),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.829671134095308600502e-6),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.176659527368260793044e-6),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.670785354340149858037e-8),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.102618097842403080426e-7),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.438203601845335318655e-8),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.914769958223679023418e-9),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.255141939949462497669e-10),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.583077213255042506746e-10),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.243619480206674162437e-10),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.502766928011417558909e-11),
- };
- workspace[0] = tools::evaluate_polynomial(C0, z);
-
- static const T C1[] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.00185185185185185185185),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.00347222222222222222222),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.00264550264550264550265),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.000990226337448559670782),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.000205761316872427983539),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.40187757201646090535e-6),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.18098550334489977837e-4),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.764916091608111008464e-5),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.161209008945634460038e-5),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.464712780280743434226e-8),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.137863344691572095931e-6),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.575254560351770496402e-7),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.119516285997781473243e-7),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.175432417197476476238e-10),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.100915437106004126275e-8),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.416279299184258263623e-9),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.856390702649298063807e-10),
- };
- workspace[1] = tools::evaluate_polynomial(C1, z);
-
- static const T C2[] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.00413359788359788359788),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.00268132716049382716049),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.000771604938271604938272),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.200938786008230452675e-5),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.000107366532263651605215),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.529234488291201254164e-4),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.127606351886187277134e-4),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.342357873409613807419e-7),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.137219573090629332056e-5),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.629899213838005502291e-6),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.142806142060642417916e-6),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.204770984219908660149e-9),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.140925299108675210533e-7),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.622897408492202203356e-8),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.136704883966171134993e-8),
- };
- workspace[2] = tools::evaluate_polynomial(C2, z);
-
- static const T C3[] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.000649434156378600823045),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.000229472093621399176955),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.000469189494395255712128),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.000267720632062838852962),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.756180167188397641073e-4),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.239650511386729665193e-6),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.110826541153473023615e-4),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.56749528269915965675e-5),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.142309007324358839146e-5),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.278610802915281422406e-10),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.169584040919302772899e-6),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.809946490538808236335e-7),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.191111684859736540607e-7),
- };
- workspace[3] = tools::evaluate_polynomial(C3, z);
-
- static const T C4[] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.000861888290916711698605),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.000784039221720066627474),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.000299072480303190179733),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.146384525788434181781e-5),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.664149821546512218666e-4),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.396836504717943466443e-4),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.113757269706784190981e-4),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.250749722623753280165e-9),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.169541495365583060147e-5),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.890750753220530968883e-6),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.229293483400080487057e-6),
- };
- workspace[4] = tools::evaluate_polynomial(C4, z);
-
- static const T C5[] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.000336798553366358150309),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.697281375836585777429e-4),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.000277275324495939207873),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.000199325705161888477003),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.679778047793720783882e-4),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.141906292064396701483e-6),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.135940481897686932785e-4),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.801847025633420153972e-5),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.229148117650809517038e-5),
- };
- workspace[5] = tools::evaluate_polynomial(C5, z);
-
- static const T C6[] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.000531307936463992223166),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.000592166437353693882865),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.000270878209671804482771),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.790235323266032787212e-6),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.815396936756196875093e-4),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.561168275310624965004e-4),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.183291165828433755673e-4),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.307961345060330478256e-8),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.346515536880360908674e-5),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.20291327396058603727e-5),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.57887928631490037089e-6),
- };
- workspace[6] = tools::evaluate_polynomial(C6, z);
-
- static const T C7[] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.000344367606892377671254),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.517179090826059219337e-4),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.000334931610811422363117),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.000281269515476323702274),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.000109765822446847310235),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.127410090954844853795e-6),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.277444515115636441571e-4),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.182634888057113326614e-4),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.578769494973505239894e-5),
- };
- workspace[7] = tools::evaluate_polynomial(C7, z);
-
- static const T C8[] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.000652623918595309418922),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.000839498720672087279993),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.000438297098541721005061),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.696909145842055197137e-6),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.000166448466420675478374),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.000127835176797692185853),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.462995326369130429061e-4),
- };
- workspace[8] = tools::evaluate_polynomial(C8, z);
-
- static const T C9[] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.000596761290192746250124),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.720489541602001055909e-4),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.000678230883766732836162),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.0006401475260262758451),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.000277501076343287044992),
- };
- workspace[9] = tools::evaluate_polynomial(C9, z);
-
- static const T C10[] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.00133244544948006563713),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.0019144384985654775265),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.00110893691345966373396),
- };
- workspace[10] = tools::evaluate_polynomial(C10, z);
-
- static const T C11[] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.00157972766073083495909),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.000162516262783915816899),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.00206334210355432762645),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.00213896861856890981541),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.00101085593912630031708),
- };
- workspace[11] = tools::evaluate_polynomial(C11, z);
-
- static const T C12[] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.00407251211951401664727),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.00640336283380806979482),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.00404101610816766177474),
- };
- workspace[12] = tools::evaluate_polynomial(C12, z);
-
- T result = tools::evaluate_polynomial<13, T, T>(workspace, 1/a);
- result *= exp(-y) / sqrt(2 * constants::pi<T>() * a);
- if(x < a)
- result = -result;
-
- result += boost::math::erfc(sqrt(y), pol) / 2;
-
- return result;
-}
-//
-// This one is accurate for 53-bit mantissa's
-// (IEEE double precision or 10^-17).
-//
-template <class T, class Policy>
-T igamma_temme_large(T a, T x, const Policy& pol, mpl::int_<53> const *)
-{
- BOOST_MATH_STD_USING // ADL of std functions
- T sigma = (x - a) / a;
- T phi = -boost::math::log1pmx(sigma, pol);
- T y = a * phi;
- T z = sqrt(2 * phi);
- if(x < a)
- z = -z;
-
- T workspace[10];
-
- static const T C0[] = {
- static_cast<T>(-0.33333333333333333L),
- static_cast<T>(0.083333333333333333L),
- static_cast<T>(-0.014814814814814815L),
- static_cast<T>(0.0011574074074074074L),
- static_cast<T>(0.0003527336860670194L),
- static_cast<T>(-0.00017875514403292181L),
- static_cast<T>(0.39192631785224378e-4L),
- static_cast<T>(-0.21854485106799922e-5L),
- static_cast<T>(-0.185406221071516e-5L),
- static_cast<T>(0.8296711340953086e-6L),
- static_cast<T>(-0.17665952736826079e-6L),
- static_cast<T>(0.67078535434014986e-8L),
- static_cast<T>(0.10261809784240308e-7L),
- static_cast<T>(-0.43820360184533532e-8L),
- static_cast<T>(0.91476995822367902e-9L),
- };
- workspace[0] = tools::evaluate_polynomial(C0, z);
-
- static const T C1[] = {
- static_cast<T>(-0.0018518518518518519L),
- static_cast<T>(-0.0034722222222222222L),
- static_cast<T>(0.0026455026455026455L),
- static_cast<T>(-0.00099022633744855967L),
- static_cast<T>(0.00020576131687242798L),
- static_cast<T>(-0.40187757201646091e-6L),
- static_cast<T>(-0.18098550334489978e-4L),
- static_cast<T>(0.76491609160811101e-5L),
- static_cast<T>(-0.16120900894563446e-5L),
- static_cast<T>(0.46471278028074343e-8L),
- static_cast<T>(0.1378633446915721e-6L),
- static_cast<T>(-0.5752545603517705e-7L),
- static_cast<T>(0.11951628599778147e-7L),
- };
- workspace[1] = tools::evaluate_polynomial(C1, z);
-
- static const T C2[] = {
- static_cast<T>(0.0041335978835978836L),
- static_cast<T>(-0.0026813271604938272L),
- static_cast<T>(0.00077160493827160494L),
- static_cast<T>(0.20093878600823045e-5L),
- static_cast<T>(-0.00010736653226365161L),
- static_cast<T>(0.52923448829120125e-4L),
- static_cast<T>(-0.12760635188618728e-4L),
- static_cast<T>(0.34235787340961381e-7L),
- static_cast<T>(0.13721957309062933e-5L),
- static_cast<T>(-0.6298992138380055e-6L),
- static_cast<T>(0.14280614206064242e-6L),
- };
- workspace[2] = tools::evaluate_polynomial(C2, z);
-
- static const T C3[] = {
- static_cast<T>(0.00064943415637860082L),
- static_cast<T>(0.00022947209362139918L),
- static_cast<T>(-0.00046918949439525571L),
- static_cast<T>(0.00026772063206283885L),
- static_cast<T>(-0.75618016718839764e-4L),
- static_cast<T>(-0.23965051138672967e-6L),
- static_cast<T>(0.11082654115347302e-4L),
- static_cast<T>(-0.56749528269915966e-5L),
- static_cast<T>(0.14230900732435884e-5L),
- };
- workspace[3] = tools::evaluate_polynomial(C3, z);
-
- static const T C4[] = {
- static_cast<T>(-0.0008618882909167117L),
- static_cast<T>(0.00078403922172006663L),
- static_cast<T>(-0.00029907248030319018L),
- static_cast<T>(-0.14638452578843418e-5L),
- static_cast<T>(0.66414982154651222e-4L),
- static_cast<T>(-0.39683650471794347e-4L),
- static_cast<T>(0.11375726970678419e-4L),
- };
- workspace[4] = tools::evaluate_polynomial(C4, z);
-
- static const T C5[] = {
- static_cast<T>(-0.00033679855336635815L),
- static_cast<T>(-0.69728137583658578e-4L),
- static_cast<T>(0.00027727532449593921L),
- static_cast<T>(-0.00019932570516188848L),
- static_cast<T>(0.67977804779372078e-4L),
- static_cast<T>(0.1419062920643967e-6L),
- static_cast<T>(-0.13594048189768693e-4L),
- static_cast<T>(0.80184702563342015e-5L),
- static_cast<T>(-0.22914811765080952e-5L),
- };
- workspace[5] = tools::evaluate_polynomial(C5, z);
-
- static const T C6[] = {
- static_cast<T>(0.00053130793646399222L),
- static_cast<T>(-0.00059216643735369388L),
- static_cast<T>(0.00027087820967180448L),
- static_cast<T>(0.79023532326603279e-6L),
- static_cast<T>(-0.81539693675619688e-4L),
- static_cast<T>(0.56116827531062497e-4L),
- static_cast<T>(-0.18329116582843376e-4L),
- };
- workspace[6] = tools::evaluate_polynomial(C6, z);
-
- static const T C7[] = {
- static_cast<T>(0.00034436760689237767L),
- static_cast<T>(0.51717909082605922e-4L),
- static_cast<T>(-0.00033493161081142236L),
- static_cast<T>(0.0002812695154763237L),
- static_cast<T>(-0.00010976582244684731L),
- };
- workspace[7] = tools::evaluate_polynomial(C7, z);
-
- static const T C8[] = {
- static_cast<T>(-0.00065262391859530942L),
- static_cast<T>(0.00083949872067208728L),
- static_cast<T>(-0.00043829709854172101L),
- };
- workspace[8] = tools::evaluate_polynomial(C8, z);
- workspace[9] = static_cast<T>(-0.00059676129019274625L);
-
- T result = tools::evaluate_polynomial<10, T, T>(workspace, 1/a);
- result *= exp(-y) / sqrt(2 * constants::pi<T>() * a);
- if(x < a)
- result = -result;
-
- result += boost::math::erfc(sqrt(y), pol) / 2;
-
- return result;
-}
-//
-// This one is accurate for 24-bit mantissa's
-// (IEEE float precision, or 10^-8)
-//
-template <class T, class Policy>
-T igamma_temme_large(T a, T x, const Policy& pol, mpl::int_<24> const *)
-{
- BOOST_MATH_STD_USING // ADL of std functions
- T sigma = (x - a) / a;
- T phi = -boost::math::log1pmx(sigma, pol);
- T y = a * phi;
- T z = sqrt(2 * phi);
- if(x < a)
- z = -z;
-
- T workspace[3];
-
- static const T C0[] = {
- static_cast<T>(-0.333333333L),
- static_cast<T>(0.0833333333L),
- static_cast<T>(-0.0148148148L),
- static_cast<T>(0.00115740741L),
- static_cast<T>(0.000352733686L),
- static_cast<T>(-0.000178755144L),
- static_cast<T>(0.391926318e-4L),
- };
- workspace[0] = tools::evaluate_polynomial(C0, z);
-
- static const T C1[] = {
- static_cast<T>(-0.00185185185L),
- static_cast<T>(-0.00347222222L),
- static_cast<T>(0.00264550265L),
- static_cast<T>(-0.000990226337L),
- static_cast<T>(0.000205761317L),
- };
- workspace[1] = tools::evaluate_polynomial(C1, z);
-
- static const T C2[] = {
- static_cast<T>(0.00413359788L),
- static_cast<T>(-0.00268132716L),
- static_cast<T>(0.000771604938L),
- };
- workspace[2] = tools::evaluate_polynomial(C2, z);
-
- T result = tools::evaluate_polynomial(workspace, 1/a);
- result *= exp(-y) / sqrt(2 * constants::pi<T>() * a);
- if(x < a)
- result = -result;
-
- result += boost::math::erfc(sqrt(y), pol) / 2;
-
- return result;
-}
-//
-// And finally, a version for 113-bit mantissa's
-// (128-bit long doubles, or 10^-34).
-// Note this one has been optimised for a > 200
-// It's use for a < 200 is not recomended, that would
-// require many more terms in the polynomials.
-//
-template <class T, class Policy>
-T igamma_temme_large(T a, T x, const Policy& pol, mpl::int_<113> const *)
-{
- BOOST_MATH_STD_USING // ADL of std functions
- T sigma = (x - a) / a;
- T phi = -boost::math::log1pmx(sigma, pol);
- T y = a * phi;
- T z = sqrt(2 * phi);
- if(x < a)
- z = -z;
-
- T workspace[14];
-
- static const T C0[] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.333333333333333333333333333333333333),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0833333333333333333333333333333333333),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.0148148148148148148148148148148148148),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00115740740740740740740740740740740741),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0003527336860670194003527336860670194),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.000178755144032921810699588477366255144),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.391926317852243778169704095630021556e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.218544851067999216147364295512443661e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.185406221071515996070179883622956325e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.829671134095308600501624213166443227e-6),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.17665952736826079304360054245742403e-6),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.670785354340149858036939710029613572e-8),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.102618097842403080425739573227252951e-7),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.438203601845335318655297462244719123e-8),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.914769958223679023418248817633113681e-9),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.255141939949462497668779537993887013e-10),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.583077213255042506746408945040035798e-10),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.243619480206674162436940696707789943e-10),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.502766928011417558909054985925744366e-11),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.110043920319561347708374174497293411e-12),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.337176326240098537882769884169200185e-12),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.13923887224181620659193661848957998e-12),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.285348938070474432039669099052828299e-13),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.513911183424257261899064580300494205e-15),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.197522882943494428353962401580710912e-14),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.809952115670456133407115668702575255e-15),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.165225312163981618191514820265351162e-15),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.253054300974788842327061090060267385e-17),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.116869397385595765888230876507793475e-16),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.477003704982048475822167804084816597e-17),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.969912605905623712420709685898585354e-18),
- };
- workspace[0] = tools::evaluate_polynomial(C0, z);
-
- static const T C1[] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.00185185185185185185185185185185185185),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.00347222222222222222222222222222222222),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0026455026455026455026455026455026455),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.000990226337448559670781893004115226337),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.000205761316872427983539094650205761317),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.401877572016460905349794238683127572e-6),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.180985503344899778370285914867533523e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.76491609160811100846374214980916921e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.16120900894563446003775221882217767e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.464712780280743434226135033938722401e-8),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.137863344691572095931187533077488877e-6),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.575254560351770496402194531835048307e-7),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.119516285997781473243076536699698169e-7),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.175432417197476476237547551202312502e-10),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.100915437106004126274577504686681675e-8),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.416279299184258263623372347219858628e-9),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.856390702649298063807431562579670208e-10),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.606721510160475861512701762169919581e-13),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.716249896481148539007961017165545733e-11),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.293318664377143711740636683615595403e-11),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.599669636568368872330374527568788909e-12),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.216717865273233141017100472779701734e-15),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.497833997236926164052815522048108548e-13),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.202916288237134247736694804325894226e-13),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.413125571381061004935108332558187111e-14),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.828651623988309644380188591057589316e-18),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.341003088693333279336339355910600992e-15),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.138541953028939715357034547426313703e-15),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.281234665322887466568860332727259483e-16),
- };
- workspace[1] = tools::evaluate_polynomial(C1, z);
-
- static const T C2[] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0041335978835978835978835978835978836),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.00268132716049382716049382716049382716),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.000771604938271604938271604938271604938),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.200938786008230452674897119341563786e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.000107366532263651605215391223621676297),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.529234488291201254164217127180090143e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.127606351886187277133779191392360117e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.34235787340961380741902003904747389e-7),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.137219573090629332055943852926020279e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.629899213838005502290672234278391876e-6),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.142806142060642417915846008822771748e-6),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.204770984219908660149195854409200226e-9),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.140925299108675210532930244154315272e-7),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.622897408492202203356394293530327112e-8),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.136704883966171134992724380284402402e-8),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.942835615901467819547711211663208075e-12),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.128722524000893180595479368872770442e-9),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.556459561343633211465414765894951439e-10),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.119759355463669810035898150310311343e-10),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.416897822518386350403836626692480096e-14),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.109406404278845944099299008640802908e-11),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.4662239946390135746326204922464679e-12),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.990510576390690597844122258212382301e-13),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.189318767683735145056885183170630169e-16),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.885922187259112726176031067028740667e-14),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.373782039804640545306560251777191937e-14),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.786883363903515525774088394065960751e-15),
- };
- workspace[2] = tools::evaluate_polynomial(C2, z);
-
- static const T C3[] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.000649434156378600823045267489711934156),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.000229472093621399176954732510288065844),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.000469189494395255712128140111679206329),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.000267720632062838852962309752433209223),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.756180167188397641072538191879755666e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.239650511386729665193314027333231723e-6),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.110826541153473023614770299726861227e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.567495282699159656749963105701560205e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.14230900732435883914551894470580433e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.278610802915281422405802158211174452e-10),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.16958404091930277289864168795820267e-6),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.809946490538808236335278504852724081e-7),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.191111684859736540606728140872727635e-7),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.239286204398081179686413514022282056e-11),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.206201318154887984369925818486654549e-8),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.946049666185513217375417988510192814e-9),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.215410497757749078380130268468744512e-9),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.138882333681390304603424682490735291e-13),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.218947616819639394064123400466489455e-10),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.979099895117168512568262802255883368e-11),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.217821918801809621153859472011393244e-11),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.62088195734079014258166361684972205e-16),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.212697836327973697696702537114614471e-12),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.934468879151743333127396765626749473e-13),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.204536712267828493249215913063207436e-13),
- };
- workspace[3] = tools::evaluate_polynomial(C3, z);
-
- static const T C4[] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.000861888290916711698604702719929057378),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00078403922172006662747403488144228885),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.000299072480303190179733389609932819809),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.146384525788434181781232535690697556e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.664149821546512218665853782451862013e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.396836504717943466443123507595386882e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.113757269706784190980552042885831759e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.250749722623753280165221942390057007e-9),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.169541495365583060147164356781525752e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.890750753220530968882898422505515924e-6),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.229293483400080487057216364891158518e-6),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.295679413754404904696572852500004588e-10),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.288658297427087836297341274604184504e-7),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.141897394378032193894774303903982717e-7),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.344635804994648970659527720474194356e-8),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.230245171745280671320192735850147087e-12),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.394092330280464052750697640085291799e-9),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.186023389685045019134258533045185639e-9),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.435632300505661804380678327446262424e-10),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.127860010162962312660550463349930726e-14),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.467927502665791946200382739991760062e-11),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.214924647061348285410535341910721086e-11),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.490881561480965216323649688463984082e-12),
- };
- workspace[4] = tools::evaluate_polynomial(C4, z);
-
- static const T C5[] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.000336798553366358150308767592718210002),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.697281375836585777429398828575783308e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00027727532449593920787336425196507501),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.000199325705161888477003360405280844238),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.679778047793720783881640176604435742e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.141906292064396701483392727105575757e-6),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.135940481897686932784583938837504469e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.80184702563342015397192571980419684e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.229148117650809517038048790128781806e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.325247355129845395166230137750005047e-9),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.346528464910852649559195496827579815e-6),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.184471871911713432765322367374920978e-6),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.482409670378941807563762631738989002e-7),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.179894667217435153025754291716644314e-13),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.630619450001352343517516981425944698e-8),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.316241762877456793773762181540969623e-8),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.784092425369742929000839303523267545e-9),
- };
- workspace[5] = tools::evaluate_polynomial(C5, z);
-
- static const T C6[] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00053130793646399222316574854297762391),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.000592166437353693882864836225604401187),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.000270878209671804482771279183488328692),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.790235323266032787212032944390816666e-6),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.815396936756196875092890088464682624e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.561168275310624965003775619041471695e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.183291165828433755673259749374098313e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.307961345060330478256414192546677006e-8),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.346515536880360908673728529745376913e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.202913273960586037269527254582695285e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.578879286314900370889997586203187687e-6),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.233863067382665698933480579231637609e-12),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.88286007463304835250508524317926246e-7),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.474359588804081278032150770595852426e-7),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.125454150207103824457130611214783073e-7),
- };
- workspace[6] = tools::evaluate_polynomial(C6, z);
-
- static const T C7[] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.000344367606892377671254279625108523655),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.517179090826059219337057843002058823e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.000334931610811422363116635090580012327),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.000281269515476323702273722110707777978),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.000109765822446847310235396824500789005),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.127410090954844853794579954588107623e-6),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.277444515115636441570715073933712622e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.182634888057113326614324442681892723e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.578769494973505239894178121070843383e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.493875893393627039981813418398565502e-9),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.105953670140260427338098566209633945e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.616671437611040747858836254004890765e-6),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.175629733590604619378669693914265388e-6),
- };
- workspace[7] = tools::evaluate_polynomial(C7, z);
-
- static const T C8[] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.000652623918595309418922034919726622692),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.000839498720672087279993357516764983445),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.000438297098541721005061087953050560377),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.696909145842055197136911097362072702e-6),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00016644846642067547837384572662326101),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.000127835176797692185853344001461664247),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.462995326369130429061361032704489636e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.455790986792270771162749294232219616e-8),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.105952711258051954718238500312872328e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.678334290486516662273073740749269432e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.210754766662588042469972680229376445e-5),
- };
- workspace[8] = tools::evaluate_polynomial(C8, z);
-
- static const T C9[] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.000596761290192746250124390067179459605),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.720489541602001055908571930225015052e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.000678230883766732836161951166000673426),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.000640147526026275845100045652582354779),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.000277501076343287044992374518205845463),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.181970083804651510461686554030325202e-6),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.847950711706850318239732559632810086e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.610519208250153101764709122740859458e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.210739201834048624082975255893773306e-4),
- };
- workspace[9] = tools::evaluate_polynomial(C9, z);
-
- static const T C10[] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00133244544948006563712694993432717968),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.00191443849856547752650089885832852254),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0011089369134596637339607446329267522),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.993240412264229896742295262075817566e-6),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.000508745012930931989848393025305956774),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00042735056665392884328432271160040444),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.000168588537679107988033552814662382059),
- };
- workspace[10] = tools::evaluate_polynomial(C10, z);
-
- static const T C11[] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00157972766073083495908785631307733022),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.000162516262783915816898635123980270998),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.00206334210355432762645284467690276817),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00213896861856890981541061922797693947),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.00101085593912630031708085801712479376),
- };
- workspace[11] = tools::evaluate_polynomial(C11, z);
-
- static const T C12[] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.00407251211951401664727281097914544601),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00640336283380806979482363809026579583),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.00404101610816766177473974858518094879),
- };
- workspace[12] = tools::evaluate_polynomial(C12, z);
- workspace[13] = -0.0059475779383993002845382844736066323L;
-
- T result = tools::evaluate_polynomial(workspace, T(1/a));
- result *= exp(-y) / sqrt(2 * constants::pi<T>() * a);
- if(x < a)
- result = -result;
-
- result += boost::math::erfc(sqrt(y), pol) / 2;
-
- return result;
-}
-
-} // namespace detail
-} // namespace math
-} // namespace math
-
-
-#endif // BOOST_MATH_DETAIL_IGAMMA_LARGE
-
diff --git a/boost/math/special_functions/detail/lanczos_sse2.hpp b/boost/math/special_functions/detail/lanczos_sse2.hpp
deleted file mode 100644
index f8846bf..0000000
--- a/boost/math/special_functions/detail/lanczos_sse2.hpp
+++ /dev/null
@@ -1,204 +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_SPECIAL_FUNCTIONS_LANCZOS_SSE2
-#define BOOST_MATH_SPECIAL_FUNCTIONS_LANCZOS_SSE2
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <emmintrin.h>
-
-#if defined(__GNUC__) || defined(__PGI)
-#define ALIGN16 __attribute__((__aligned__(16)))
-#else
-#define ALIGN16 __declspec(align(16))
-#endif
-
-namespace boost{ namespace math{ namespace lanczos{
-
-template <>
-inline double lanczos13m53::lanczos_sum<double>(const double& x)
-{
- static const ALIGN16 double coeff[26] = {
- static_cast<double>(2.506628274631000270164908177133837338626L),
- static_cast<double>(1u),
- static_cast<double>(210.8242777515793458725097339207133627117L),
- static_cast<double>(66u),
- static_cast<double>(8071.672002365816210638002902272250613822L),
- static_cast<double>(1925u),
- static_cast<double>(186056.2653952234950402949897160456992822L),
- static_cast<double>(32670u),
- static_cast<double>(2876370.628935372441225409051620849613599L),
- static_cast<double>(357423u),
- static_cast<double>(31426415.58540019438061423162831820536287L),
- static_cast<double>(2637558u),
- static_cast<double>(248874557.8620541565114603864132294232163L),
- static_cast<double>(13339535u),
- static_cast<double>(1439720407.311721673663223072794912393972L),
- static_cast<double>(45995730u),
- static_cast<double>(6039542586.35202800506429164430729792107L),
- static_cast<double>(105258076u),
- static_cast<double>(17921034426.03720969991975575445893111267L),
- static_cast<double>(150917976u),
- static_cast<double>(35711959237.35566804944018545154716670596L),
- static_cast<double>(120543840u),
- static_cast<double>(42919803642.64909876895789904700198885093L),
- static_cast<double>(39916800u),
- static_cast<double>(23531376880.41075968857200767445163675473L),
- static_cast<double>(0u)
- };
- register __m128d vx = _mm_load1_pd(&x);
- register __m128d sum_even = _mm_load_pd(coeff);
- register __m128d sum_odd = _mm_load_pd(coeff+2);
- register __m128d nc_odd, nc_even;
- register __m128d vx2 = _mm_mul_pd(vx, vx);
-
- sum_even = _mm_mul_pd(sum_even, vx2);
- nc_even = _mm_load_pd(coeff + 4);
- sum_odd = _mm_mul_pd(sum_odd, vx2);
- nc_odd = _mm_load_pd(coeff + 6);
- sum_even = _mm_add_pd(sum_even, nc_even);
- sum_odd = _mm_add_pd(sum_odd, nc_odd);
-
- sum_even = _mm_mul_pd(sum_even, vx2);
- nc_even = _mm_load_pd(coeff + 8);
- sum_odd = _mm_mul_pd(sum_odd, vx2);
- nc_odd = _mm_load_pd(coeff + 10);
- sum_even = _mm_add_pd(sum_even, nc_even);
- sum_odd = _mm_add_pd(sum_odd, nc_odd);
-
- sum_even = _mm_mul_pd(sum_even, vx2);
- nc_even = _mm_load_pd(coeff + 12);
- sum_odd = _mm_mul_pd(sum_odd, vx2);
- nc_odd = _mm_load_pd(coeff + 14);
- sum_even = _mm_add_pd(sum_even, nc_even);
- sum_odd = _mm_add_pd(sum_odd, nc_odd);
-
- sum_even = _mm_mul_pd(sum_even, vx2);
- nc_even = _mm_load_pd(coeff + 16);
- sum_odd = _mm_mul_pd(sum_odd, vx2);
- nc_odd = _mm_load_pd(coeff + 18);
- sum_even = _mm_add_pd(sum_even, nc_even);
- sum_odd = _mm_add_pd(sum_odd, nc_odd);
-
- sum_even = _mm_mul_pd(sum_even, vx2);
- nc_even = _mm_load_pd(coeff + 20);
- sum_odd = _mm_mul_pd(sum_odd, vx2);
- nc_odd = _mm_load_pd(coeff + 22);
- sum_even = _mm_add_pd(sum_even, nc_even);
- sum_odd = _mm_add_pd(sum_odd, nc_odd);
-
- sum_even = _mm_mul_pd(sum_even, vx2);
- nc_even = _mm_load_pd(coeff + 24);
- sum_odd = _mm_mul_pd(sum_odd, vx);
- sum_even = _mm_add_pd(sum_even, nc_even);
- sum_even = _mm_add_pd(sum_even, sum_odd);
-
-
- double ALIGN16 t[2];
- _mm_store_pd(t, sum_even);
-
- return t[0] / t[1];
-}
-
-template <>
-inline double lanczos13m53::lanczos_sum_expG_scaled<double>(const double& x)
-{
- static const ALIGN16 double coeff[26] = {
- static_cast<double>(0.006061842346248906525783753964555936883222L),
- static_cast<double>(1u),
- static_cast<double>(0.5098416655656676188125178644804694509993L),
- static_cast<double>(66u),
- static_cast<double>(19.51992788247617482847860966235652136208L),
- static_cast<double>(1925u),
- static_cast<double>(449.9445569063168119446858607650988409623L),
- static_cast<double>(32670u),
- static_cast<double>(6955.999602515376140356310115515198987526L),
- static_cast<double>(357423u),
- static_cast<double>(75999.29304014542649875303443598909137092L),
- static_cast<double>(2637558u),
- static_cast<double>(601859.6171681098786670226533699352302507L),
- static_cast<double>(13339535u),
- static_cast<double>(3481712.15498064590882071018964774556468L),
- static_cast<double>(45995730u),
- static_cast<double>(14605578.08768506808414169982791359218571L),
- static_cast<double>(105258076u),
- static_cast<double>(43338889.32467613834773723740590533316085L),
- static_cast<double>(150917976u),
- static_cast<double>(86363131.28813859145546927288977868422342L),
- static_cast<double>(120543840u),
- static_cast<double>(103794043.1163445451906271053616070238554L),
- static_cast<double>(39916800u),
- static_cast<double>(56906521.91347156388090791033559122686859L),
- static_cast<double>(0u)
- };
- register __m128d vx = _mm_load1_pd(&x);
- register __m128d sum_even = _mm_load_pd(coeff);
- register __m128d sum_odd = _mm_load_pd(coeff+2);
- register __m128d nc_odd, nc_even;
- register __m128d vx2 = _mm_mul_pd(vx, vx);
-
- sum_even = _mm_mul_pd(sum_even, vx2);
- nc_even = _mm_load_pd(coeff + 4);
- sum_odd = _mm_mul_pd(sum_odd, vx2);
- nc_odd = _mm_load_pd(coeff + 6);
- sum_even = _mm_add_pd(sum_even, nc_even);
- sum_odd = _mm_add_pd(sum_odd, nc_odd);
-
- sum_even = _mm_mul_pd(sum_even, vx2);
- nc_even = _mm_load_pd(coeff + 8);
- sum_odd = _mm_mul_pd(sum_odd, vx2);
- nc_odd = _mm_load_pd(coeff + 10);
- sum_even = _mm_add_pd(sum_even, nc_even);
- sum_odd = _mm_add_pd(sum_odd, nc_odd);
-
- sum_even = _mm_mul_pd(sum_even, vx2);
- nc_even = _mm_load_pd(coeff + 12);
- sum_odd = _mm_mul_pd(sum_odd, vx2);
- nc_odd = _mm_load_pd(coeff + 14);
- sum_even = _mm_add_pd(sum_even, nc_even);
- sum_odd = _mm_add_pd(sum_odd, nc_odd);
-
- sum_even = _mm_mul_pd(sum_even, vx2);
- nc_even = _mm_load_pd(coeff + 16);
- sum_odd = _mm_mul_pd(sum_odd, vx2);
- nc_odd = _mm_load_pd(coeff + 18);
- sum_even = _mm_add_pd(sum_even, nc_even);
- sum_odd = _mm_add_pd(sum_odd, nc_odd);
-
- sum_even = _mm_mul_pd(sum_even, vx2);
- nc_even = _mm_load_pd(coeff + 20);
- sum_odd = _mm_mul_pd(sum_odd, vx2);
- nc_odd = _mm_load_pd(coeff + 22);
- sum_even = _mm_add_pd(sum_even, nc_even);
- sum_odd = _mm_add_pd(sum_odd, nc_odd);
-
- sum_even = _mm_mul_pd(sum_even, vx2);
- nc_even = _mm_load_pd(coeff + 24);
- sum_odd = _mm_mul_pd(sum_odd, vx);
- sum_even = _mm_add_pd(sum_even, nc_even);
- sum_even = _mm_add_pd(sum_even, sum_odd);
-
-
- double ALIGN16 t[2];
- _mm_store_pd(t, sum_even);
-
- return t[0] / t[1];
-}
-
-} // namespace lanczos
-} // namespace math
-} // namespace boost
-
-#undef ALIGN16
-
-#endif // BOOST_MATH_SPECIAL_FUNCTIONS_LANCZOS
-
-
-
-
-
diff --git a/boost/math/special_functions/detail/lgamma_small.hpp b/boost/math/special_functions/detail/lgamma_small.hpp
deleted file mode 100644
index 82b5d15..0000000
--- a/boost/math/special_functions/detail/lgamma_small.hpp
+++ /dev/null
@@ -1,522 +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_SPECIAL_FUNCTIONS_DETAIL_LGAMMA_SMALL
-#define BOOST_MATH_SPECIAL_FUNCTIONS_DETAIL_LGAMMA_SMALL
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/math/tools/big_constant.hpp>
-
-namespace boost{ namespace math{ namespace detail{
-
-//
-// These need forward declaring to keep GCC happy:
-//
-template <class T, class Policy, class Lanczos>
-T gamma_imp(T z, const Policy& pol, const Lanczos& l);
-template <class T, class Policy>
-T gamma_imp(T z, const Policy& pol, const lanczos::undefined_lanczos& l);
-
-//
-// lgamma for small arguments:
-//
-template <class T, class Policy, class Lanczos>
-T lgamma_small_imp(T z, T zm1, T zm2, const mpl::int_<64>&, const Policy& /* l */, const Lanczos&)
-{
- // This version uses rational approximations for small
- // values of z accurate enough for 64-bit mantissas
- // (80-bit long doubles), works well for 53-bit doubles as well.
- // Lanczos is only used to select the Lanczos function.
-
- BOOST_MATH_STD_USING // for ADL of std names
- T result = 0;
- if(z < tools::epsilon<T>())
- {
- result = -log(z);
- }
- else if((zm1 == 0) || (zm2 == 0))
- {
- // nothing to do, result is zero....
- }
- else if(z > 2)
- {
- //
- // Begin by performing argument reduction until
- // z is in [2,3):
- //
- if(z >= 3)
- {
- do
- {
- z -= 1;
- zm2 -= 1;
- result += log(z);
- }while(z >= 3);
- // Update zm2, we need it below:
- zm2 = z - 2;
- }
-
- //
- // Use the following form:
- //
- // lgamma(z) = (z-2)(z+1)(Y + R(z-2))
- //
- // where R(z-2) is a rational approximation optimised for
- // low absolute error - as long as it's absolute error
- // is small compared to the constant Y - then any rounding
- // error in it's computation will get wiped out.
- //
- // R(z-2) has the following properties:
- //
- // At double: Max error found: 4.231e-18
- // At long double: Max error found: 1.987e-21
- // Maximum Deviation Found (approximation error): 5.900e-24
- //
- static const T P[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -0.180355685678449379109e-1)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 0.25126649619989678683e-1)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 0.494103151567532234274e-1)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 0.172491608709613993966e-1)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -0.259453563205438108893e-3)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -0.541009869215204396339e-3)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -0.324588649825948492091e-4))
- };
- static const T Q[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 0.1e1)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 0.196202987197795200688e1)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 0.148019669424231326694e1)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 0.541391432071720958364e0)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 0.988504251128010129477e-1)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 0.82130967464889339326e-2)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 0.224936291922115757597e-3)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -0.223352763208617092964e-6))
- };
-
- static const float Y = 0.158963680267333984375e0f;
-
- T r = zm2 * (z + 1);
- T R = tools::evaluate_polynomial(P, zm2);
- R /= tools::evaluate_polynomial(Q, zm2);
-
- result += r * Y + r * R;
- }
- else
- {
- //
- // If z is less than 1 use recurrance to shift to
- // z in the interval [1,2]:
- //
- if(z < 1)
- {
- result += -log(z);
- zm2 = zm1;
- zm1 = z;
- z += 1;
- }
- //
- // Two approximations, on for z in [1,1.5] and
- // one for z in [1.5,2]:
- //
- if(z <= 1.5)
- {
- //
- // Use the following form:
- //
- // lgamma(z) = (z-1)(z-2)(Y + R(z-1))
- //
- // where R(z-1) is a rational approximation optimised for
- // low absolute error - as long as it's absolute error
- // is small compared to the constant Y - then any rounding
- // error in it's computation will get wiped out.
- //
- // R(z-1) has the following properties:
- //
- // At double precision: Max error found: 1.230011e-17
- // At 80-bit long double precision: Max error found: 5.631355e-21
- // Maximum Deviation Found: 3.139e-021
- // Expected Error Term: 3.139e-021
-
- //
- static const float Y = 0.52815341949462890625f;
-
- static const T P[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 0.490622454069039543534e-1)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -0.969117530159521214579e-1)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -0.414983358359495381969e0)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -0.406567124211938417342e0)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -0.158413586390692192217e0)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -0.240149820648571559892e-1)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -0.100346687696279557415e-2))
- };
- static const T Q[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 0.1e1)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 0.302349829846463038743e1)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 0.348739585360723852576e1)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 0.191415588274426679201e1)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 0.507137738614363510846e0)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 0.577039722690451849648e-1)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 0.195768102601107189171e-2))
- };
-
- T r = tools::evaluate_polynomial(P, zm1) / tools::evaluate_polynomial(Q, zm1);
- T prefix = zm1 * zm2;
-
- result += prefix * Y + prefix * r;
- }
- else
- {
- //
- // Use the following form:
- //
- // lgamma(z) = (2-z)(1-z)(Y + R(2-z))
- //
- // where R(2-z) is a rational approximation optimised for
- // low absolute error - as long as it's absolute error
- // is small compared to the constant Y - then any rounding
- // error in it's computation will get wiped out.
- //
- // R(2-z) has the following properties:
- //
- // At double precision, max error found: 1.797565e-17
- // At 80-bit long double precision, max error found: 9.306419e-21
- // Maximum Deviation Found: 2.151e-021
- // Expected Error Term: 2.150e-021
- //
- static const float Y = 0.452017307281494140625f;
-
- static const T P[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -0.292329721830270012337e-1)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 0.144216267757192309184e0)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -0.142440390738631274135e0)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 0.542809694055053558157e-1)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -0.850535976868336437746e-2)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 0.431171342679297331241e-3))
- };
- static const T Q[] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 0.1e1)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -0.150169356054485044494e1)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 0.846973248876495016101e0)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -0.220095151814995745555e0)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 0.25582797155975869989e-1)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -0.100666795539143372762e-2)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -0.827193521891290553639e-6))
- };
- T r = zm2 * zm1;
- T R = tools::evaluate_polynomial(P, T(-zm2)) / tools::evaluate_polynomial(Q, T(-zm2));
-
- result += r * Y + r * R;
- }
- }
- return result;
-}
-template <class T, class Policy, class Lanczos>
-T lgamma_small_imp(T z, T zm1, T zm2, const mpl::int_<113>&, const Policy& /* l */, const Lanczos&)
-{
- //
- // This version uses rational approximations for small
- // values of z accurate enough for 113-bit mantissas
- // (128-bit long doubles).
- //
- BOOST_MATH_STD_USING // for ADL of std names
- T result = 0;
- if(z < tools::epsilon<T>())
- {
- result = -log(z);
- BOOST_MATH_INSTRUMENT_CODE(result);
- }
- else if((zm1 == 0) || (zm2 == 0))
- {
- // nothing to do, result is zero....
- }
- else if(z > 2)
- {
- //
- // Begin by performing argument reduction until
- // z is in [2,3):
- //
- if(z >= 3)
- {
- do
- {
- z -= 1;
- result += log(z);
- }while(z >= 3);
- zm2 = z - 2;
- }
- BOOST_MATH_INSTRUMENT_CODE(zm2);
- BOOST_MATH_INSTRUMENT_CODE(z);
- BOOST_MATH_INSTRUMENT_CODE(result);
-
- //
- // Use the following form:
- //
- // lgamma(z) = (z-2)(z+1)(Y + R(z-2))
- //
- // where R(z-2) is a rational approximation optimised for
- // low absolute error - as long as it's absolute error
- // is small compared to the constant Y - then any rounding
- // error in it's computation will get wiped out.
- //
- // Maximum Deviation Found (approximation error) 3.73e-37
-
- static const T P[] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.018035568567844937910504030027467476655),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.013841458273109517271750705401202404195),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.062031842739486600078866923383017722399),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.052518418329052161202007865149435256093),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.01881718142472784129191838493267755758),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0025104830367021839316463675028524702846),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.00021043176101831873281848891452678568311),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.00010249622350908722793327719494037981166),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.11381479670982006841716879074288176994e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.49999811718089980992888533630523892389e-6),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.70529798686542184668416911331718963364e-8)
- };
- static const T Q[] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 1),
- BOOST_MATH_BIG_CONSTANT(T, 113, 2.5877485070422317542808137697939233685),
- BOOST_MATH_BIG_CONSTANT(T, 113, 2.8797959228352591788629602533153837126),
- BOOST_MATH_BIG_CONSTANT(T, 113, 1.8030885955284082026405495275461180977),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.69774331297747390169238306148355428436),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.17261566063277623942044077039756583802),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.02729301254544230229429621192443000121),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0026776425891195270663133581960016620433),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00015244249160486584591370355730402168106),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.43997034032479866020546814475414346627e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.46295080708455613044541885534408170934e-7),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.93326638207459533682980757982834180952e-11),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.42316456553164995177177407325292867513e-13)
- };
-
- T R = tools::evaluate_polynomial(P, zm2);
- R /= tools::evaluate_polynomial(Q, zm2);
-
- static const float Y = 0.158963680267333984375F;
-
- T r = zm2 * (z + 1);
-
- result += r * Y + r * R;
- BOOST_MATH_INSTRUMENT_CODE(result);
- }
- else
- {
- //
- // If z is less than 1 use recurrance to shift to
- // z in the interval [1,2]:
- //
- if(z < 1)
- {
- result += -log(z);
- zm2 = zm1;
- zm1 = z;
- z += 1;
- }
- BOOST_MATH_INSTRUMENT_CODE(result);
- BOOST_MATH_INSTRUMENT_CODE(z);
- BOOST_MATH_INSTRUMENT_CODE(zm2);
- //
- // Three approximations, on for z in [1,1.35], [1.35,1.625] and [1.625,1]
- //
- if(z <= 1.35)
- {
- //
- // Use the following form:
- //
- // lgamma(z) = (z-1)(z-2)(Y + R(z-1))
- //
- // where R(z-1) is a rational approximation optimised for
- // low absolute error - as long as it's absolute error
- // is small compared to the constant Y - then any rounding
- // error in it's computation will get wiped out.
- //
- // R(z-1) has the following properties:
- //
- // Maximum Deviation Found (approximation error) 1.659e-36
- // Expected Error Term (theoretical error) 1.343e-36
- // Max error found at 128-bit long double precision 1.007e-35
- //
- static const float Y = 0.54076099395751953125f;
-
- static const T P[] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.036454670944013329356512090082402429697),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.066235835556476033710068679907798799959),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.67492399795577182387312206593595565371),
- BOOST_MATH_BIG_CONSTANT(T, 113, -1.4345555263962411429855341651960000166),
- BOOST_MATH_BIG_CONSTANT(T, 113, -1.4894319559821365820516771951249649563),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.87210277668067964629483299712322411566),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.29602090537771744401524080430529369136),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.0561832587517836908929331992218879676),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.0053236785487328044334381502530383140443),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.00018629360291358130461736386077971890789),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.10164985672213178500790406939467614498e-6),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.13680157145361387405588201461036338274e-8)
- };
- static const T Q[] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 1.0),
- BOOST_MATH_BIG_CONSTANT(T, 113, 4.9106336261005990534095838574132225599),
- BOOST_MATH_BIG_CONSTANT(T, 113, 10.258804800866438510889341082793078432),
- BOOST_MATH_BIG_CONSTANT(T, 113, 11.88588976846826108836629960537466889),
- BOOST_MATH_BIG_CONSTANT(T, 113, 8.3455000546999704314454891036700998428),
- BOOST_MATH_BIG_CONSTANT(T, 113, 3.6428823682421746343233362007194282703),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.97465989807254572142266753052776132252),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.15121052897097822172763084966793352524),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.012017363555383555123769849654484594893),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0003583032812720649835431669893011257277)
- };
-
- T r = tools::evaluate_polynomial(P, zm1) / tools::evaluate_polynomial(Q, zm1);
- T prefix = zm1 * zm2;
-
- result += prefix * Y + prefix * r;
- BOOST_MATH_INSTRUMENT_CODE(result);
- }
- else if(z <= 1.625)
- {
- //
- // Use the following form:
- //
- // lgamma(z) = (2-z)(1-z)(Y + R(2-z))
- //
- // where R(2-z) is a rational approximation optimised for
- // low absolute error - as long as it's absolute error
- // is small compared to the constant Y - then any rounding
- // error in it's computation will get wiped out.
- //
- // R(2-z) has the following properties:
- //
- // Max error found at 128-bit long double precision 9.634e-36
- // Maximum Deviation Found (approximation error) 1.538e-37
- // Expected Error Term (theoretical error) 2.350e-38
- //
- static const float Y = 0.483787059783935546875f;
-
- static const T P[] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.017977422421608624353488126610933005432),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.18484528905298309555089509029244135703),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.40401251514859546989565001431430884082),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.40277179799147356461954182877921388182),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.21993421441282936476709677700477598816),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.069595742223850248095697771331107571011),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.012681481427699686635516772923547347328),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0012489322866834830413292771335113136034),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.57058739515423112045108068834668269608e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.8207548771933585614380644961342925976e-6)
- };
- static const T Q[] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 1.0),
- BOOST_MATH_BIG_CONSTANT(T, 113, -2.9629552288944259229543137757200262073),
- BOOST_MATH_BIG_CONSTANT(T, 113, 3.7118380799042118987185957298964772755),
- BOOST_MATH_BIG_CONSTANT(T, 113, -2.5569815272165399297600586376727357187),
- BOOST_MATH_BIG_CONSTANT(T, 113, 1.0546764918220835097855665680632153367),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.26574021300894401276478730940980810831),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.03996289731752081380552901986471233462),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.0033398680924544836817826046380586480873),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00013288854760548251757651556792598235735),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.17194794958274081373243161848194745111e-5)
- };
- T r = zm2 * zm1;
- T R = tools::evaluate_polynomial(P, T(0.625 - zm1)) / tools::evaluate_polynomial(Q, T(0.625 - zm1));
-
- result += r * Y + r * R;
- BOOST_MATH_INSTRUMENT_CODE(result);
- }
- else
- {
- //
- // Same form as above.
- //
- // Max error found (at 128-bit long double precision) 1.831e-35
- // Maximum Deviation Found (approximation error) 8.588e-36
- // Expected Error Term (theoretical error) 1.458e-36
- //
- static const float Y = 0.443811893463134765625f;
-
- static const T P[] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.021027558364667626231512090082402429494),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.15128811104498736604523586803722368377),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.26249631480066246699388544451126410278),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.21148748610533489823742352180628489742),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.093964130697489071999873506148104370633),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.024292059227009051652542804957550866827),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.0036284453226534839926304745756906117066),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0002939230129315195346843036254392485984),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.11088589183158123733132268042570710338e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.13240510580220763969511741896361984162e-6)
- };
- static const T Q[] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 1.0),
- BOOST_MATH_BIG_CONSTANT(T, 113, -2.4240003754444040525462170802796471996),
- BOOST_MATH_BIG_CONSTANT(T, 113, 2.4868383476933178722203278602342786002),
- BOOST_MATH_BIG_CONSTANT(T, 113, -1.4047068395206343375520721509193698547),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.47583809087867443858344765659065773369),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.09865724264554556400463655444270700132),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.012238223514176587501074150988445109735),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.00084625068418239194670614419707491797097),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.2796574430456237061420839429225710602e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.30202973883316730694433702165188835331e-6)
- };
- // (2 - x) * (1 - x) * (c + R(2 - x))
- T r = zm2 * zm1;
- T R = tools::evaluate_polynomial(P, T(-zm2)) / tools::evaluate_polynomial(Q, T(-zm2));
-
- result += r * Y + r * R;
- BOOST_MATH_INSTRUMENT_CODE(result);
- }
- }
- BOOST_MATH_INSTRUMENT_CODE(result);
- return result;
-}
-template <class T, class Policy, class Lanczos>
-T lgamma_small_imp(T z, T zm1, T zm2, const mpl::int_<0>&, const Policy& pol, const Lanczos&)
-{
- //
- // No rational approximations are available because either
- // T has no numeric_limits support (so we can't tell how
- // many digits it has), or T has more digits than we know
- // what to do with.... we do have a Lanczos approximation
- // though, and that can be used to keep errors under control.
- //
- BOOST_MATH_STD_USING // for ADL of std names
- T result = 0;
- if(z < tools::epsilon<T>())
- {
- result = -log(z);
- }
- else if(z < 0.5)
- {
- // taking the log of tgamma reduces the error, no danger of overflow here:
- result = log(gamma_imp(z, pol, Lanczos()));
- }
- else if(z >= 3)
- {
- // taking the log of tgamma reduces the error, no danger of overflow here:
- result = log(gamma_imp(z, pol, Lanczos()));
- }
- else if(z >= 1.5)
- {
- // special case near 2:
- T dz = zm2;
- result = dz * log((z + Lanczos::g() - T(0.5)) / boost::math::constants::e<T>());
- result += boost::math::log1p(dz / (Lanczos::g() + T(1.5)), pol) * T(1.5);
- result += boost::math::log1p(Lanczos::lanczos_sum_near_2(dz), pol);
- }
- else
- {
- // special case near 1:
- T dz = zm1;
- result = dz * log((z + Lanczos::g() - T(0.5)) / boost::math::constants::e<T>());
- result += boost::math::log1p(dz / (Lanczos::g() + T(0.5)), pol) / 2;
- result += boost::math::log1p(Lanczos::lanczos_sum_near_1(dz), pol);
- }
- return result;
-}
-
-}}} // namespaces
-
-#endif // BOOST_MATH_SPECIAL_FUNCTIONS_DETAIL_LGAMMA_SMALL
-
diff --git a/boost/math/special_functions/detail/round_fwd.hpp b/boost/math/special_functions/detail/round_fwd.hpp
deleted file mode 100644
index 8c45a7d..0000000
--- a/boost/math/special_functions/detail/round_fwd.hpp
+++ /dev/null
@@ -1,93 +0,0 @@
-// Copyright John Maddock 2008.
-
-// 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_SPECIAL_ROUND_FWD_HPP
-#define BOOST_MATH_SPECIAL_ROUND_FWD_HPP
-
-#include <boost/config.hpp>
-#include <boost/math/tools/promotion.hpp>
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-namespace boost
-{
- namespace math
- {
-
- template <class T, class Policy>
- typename tools::promote_args<T>::type trunc(const T& v, const Policy& pol);
- template <class T>
- typename tools::promote_args<T>::type trunc(const T& v);
- template <class T, class Policy>
- int itrunc(const T& v, const Policy& pol);
- template <class T>
- int itrunc(const T& v);
- template <class T, class Policy>
- long ltrunc(const T& v, const Policy& pol);
- template <class T>
- long ltrunc(const T& v);
-#ifdef BOOST_HAS_LONG_LONG
- template <class T, class Policy>
- boost::long_long_type lltrunc(const T& v, const Policy& pol);
- template <class T>
- boost::long_long_type lltrunc(const T& v);
-#endif
- template <class T, class Policy>
- typename tools::promote_args<T>::type round(const T& v, const Policy& pol);
- template <class T>
- typename tools::promote_args<T>::type round(const T& v);
- template <class T, class Policy>
- int iround(const T& v, const Policy& pol);
- template <class T>
- int iround(const T& v);
- template <class T, class Policy>
- long lround(const T& v, const Policy& pol);
- template <class T>
- long lround(const T& v);
-#ifdef BOOST_HAS_LONG_LONG
- template <class T, class Policy>
- boost::long_long_type llround(const T& v, const Policy& pol);
- template <class T>
- boost::long_long_type llround(const T& v);
-#endif
- template <class T, class Policy>
- T modf(const T& v, T* ipart, const Policy& pol);
- template <class T>
- T modf(const T& v, T* ipart);
- template <class T, class Policy>
- T modf(const T& v, int* ipart, const Policy& pol);
- template <class T>
- T modf(const T& v, int* ipart);
- template <class T, class Policy>
- T modf(const T& v, long* ipart, const Policy& pol);
- template <class T>
- T modf(const T& v, long* ipart);
-#ifdef BOOST_HAS_LONG_LONG
- template <class T, class Policy>
- T modf(const T& v, boost::long_long_type* ipart, const Policy& pol);
- template <class T>
- T modf(const T& v, boost::long_long_type* ipart);
-#endif
-
- }
-}
-
-#undef BOOST_MATH_STD_USING
-#define BOOST_MATH_STD_USING BOOST_MATH_STD_USING_CORE\
- using boost::math::round;\
- using boost::math::iround;\
- using boost::math::lround;\
- using boost::math::trunc;\
- using boost::math::itrunc;\
- using boost::math::ltrunc;\
- using boost::math::modf;
-
-
-#endif // BOOST_MATH_SPECIAL_ROUND_FWD_HPP
-
diff --git a/boost/math/special_functions/detail/t_distribution_inv.hpp b/boost/math/special_functions/detail/t_distribution_inv.hpp
deleted file mode 100644
index 72f6f0c..0000000
--- a/boost/math/special_functions/detail/t_distribution_inv.hpp
+++ /dev/null
@@ -1,549 +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_SF_DETAIL_INV_T_HPP
-#define BOOST_MATH_SF_DETAIL_INV_T_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/math/special_functions/cbrt.hpp>
-#include <boost/math/special_functions/round.hpp>
-#include <boost/math/special_functions/trunc.hpp>
-
-namespace boost{ namespace math{ namespace detail{
-
-//
-// The main method used is due to Hill:
-//
-// G. W. Hill, Algorithm 396, Student's t-Quantiles,
-// Communications of the ACM, 13(10): 619-620, Oct., 1970.
-//
-template <class T, class Policy>
-T inverse_students_t_hill(T ndf, T u, const Policy& pol)
-{
- BOOST_MATH_STD_USING
- BOOST_ASSERT(u <= 0.5);
-
- T a, b, c, d, q, x, y;
-
- if (ndf > 1e20f)
- return -boost::math::erfc_inv(2 * u, pol) * constants::root_two<T>();
-
- a = 1 / (ndf - 0.5f);
- b = 48 / (a * a);
- c = ((20700 * a / b - 98) * a - 16) * a + 96.36f;
- d = ((94.5f / (b + c) - 3) / b + 1) * sqrt(a * constants::pi<T>() / 2) * ndf;
- y = pow(d * 2 * u, 2 / ndf);
-
- if (y > (0.05f + a))
- {
- //
- // Asymptotic inverse expansion about normal:
- //
- x = -boost::math::erfc_inv(2 * u, pol) * constants::root_two<T>();
- y = x * x;
-
- if (ndf < 5)
- c += 0.3f * (ndf - 4.5f) * (x + 0.6f);
- c += (((0.05f * d * x - 5) * x - 7) * x - 2) * x + b;
- y = (((((0.4f * y + 6.3f) * y + 36) * y + 94.5f) / c - y - 3) / b + 1) * x;
- y = boost::math::expm1(a * y * y, pol);
- }
- else
- {
- y = ((1 / (((ndf + 6) / (ndf * y) - 0.089f * d - 0.822f)
- * (ndf + 2) * 3) + 0.5 / (ndf + 4)) * y - 1)
- * (ndf + 1) / (ndf + 2) + 1 / y;
- }
- q = sqrt(ndf * y);
-
- return -q;
-}
-//
-// Tail and body series are due to Shaw:
-//
-// www.mth.kcl.ac.uk/~shaww/web_page/papers/Tdistribution06.pdf
-//
-// Shaw, W.T., 2006, "Sampling Student's T distribution - use of
-// the inverse cumulative distribution function."
-// Journal of Computational Finance, Vol 9 Issue 4, pp 37-73, Summer 2006
-//
-template <class T, class Policy>
-T inverse_students_t_tail_series(T df, T v, const Policy& pol)
-{
- BOOST_MATH_STD_USING
- // Tail series expansion, see section 6 of Shaw's paper.
- // w is calculated using Eq 60:
- T w = boost::math::tgamma_delta_ratio(df / 2, constants::half<T>(), pol)
- * sqrt(df * constants::pi<T>()) * v;
- // define some variables:
- T np2 = df + 2;
- T np4 = df + 4;
- T np6 = df + 6;
- //
- // Calculate the coefficients d(k), these depend only on the
- // number of degrees of freedom df, so at least in theory
- // we could tabulate these for fixed df, see p15 of Shaw:
- //
- T d[7] = { 1, };
- d[1] = -(df + 1) / (2 * np2);
- np2 *= (df + 2);
- d[2] = -df * (df + 1) * (df + 3) / (8 * np2 * np4);
- np2 *= df + 2;
- d[3] = -df * (df + 1) * (df + 5) * (((3 * df) + 7) * df -2) / (48 * np2 * np4 * np6);
- np2 *= (df + 2);
- np4 *= (df + 4);
- d[4] = -df * (df + 1) * (df + 7) *
- ( (((((15 * df) + 154) * df + 465) * df + 286) * df - 336) * df + 64 )
- / (384 * np2 * np4 * np6 * (df + 8));
- np2 *= (df + 2);
- d[5] = -df * (df + 1) * (df + 3) * (df + 9)
- * (((((((35 * df + 452) * df + 1573) * df + 600) * df - 2020) * df) + 928) * df -128)
- / (1280 * np2 * np4 * np6 * (df + 8) * (df + 10));
- np2 *= (df + 2);
- np4 *= (df + 4);
- np6 *= (df + 6);
- d[6] = -df * (df + 1) * (df + 11)
- * ((((((((((((945 * df) + 31506) * df + 425858) * df + 2980236) * df + 11266745) * df + 20675018) * df + 7747124) * df - 22574632) * df - 8565600) * df + 18108416) * df - 7099392) * df + 884736)
- / (46080 * np2 * np4 * np6 * (df + 8) * (df + 10) * (df +12));
- //
- // Now bring everthing together to provide the result,
- // this is Eq 62 of Shaw:
- //
- T rn = sqrt(df);
- T div = pow(rn * w, 1 / df);
- T power = div * div;
- T result = tools::evaluate_polynomial<7, T, T>(d, power);
- result *= rn;
- result /= div;
- return -result;
-}
-
-template <class T, class Policy>
-T inverse_students_t_body_series(T df, T u, const Policy& pol)
-{
- BOOST_MATH_STD_USING
- //
- // Body series for small N:
- //
- // Start with Eq 56 of Shaw:
- //
- T v = boost::math::tgamma_delta_ratio(df / 2, constants::half<T>(), pol)
- * sqrt(df * constants::pi<T>()) * (u - constants::half<T>());
- //
- // Workspace for the polynomial coefficients:
- //
- T c[11] = { 0, 1, };
- //
- // Figure out what the coefficients are, note these depend
- // only on the degrees of freedom (Eq 57 of Shaw):
- //
- T in = 1 / df;
- c[2] = 0.16666666666666666667 + 0.16666666666666666667 * in;
- c[3] = (0.0083333333333333333333 * in
- + 0.066666666666666666667) * in
- + 0.058333333333333333333;
- c[4] = ((0.00019841269841269841270 * in
- + 0.0017857142857142857143) * in
- + 0.026785714285714285714) * in
- + 0.025198412698412698413;
- c[5] = (((2.7557319223985890653e-6 * in
- + 0.00037477954144620811287) * in
- - 0.0011078042328042328042) * in
- + 0.010559964726631393298) * in
- + 0.012039792768959435626;
- c[6] = ((((2.5052108385441718775e-8 * in
- - 0.000062705427288760622094) * in
- + 0.00059458674042007375341) * in
- - 0.0016095979637646304313) * in
- + 0.0061039211560044893378) * in
- + 0.0038370059724226390893;
- c[7] = (((((1.6059043836821614599e-10 * in
- + 0.000015401265401265401265) * in
- - 0.00016376804137220803887) * in
- + 0.00069084207973096861986) * in
- - 0.0012579159844784844785) * in
- + 0.0010898206731540064873) * in
- + 0.0032177478835464946576;
- c[8] = ((((((7.6471637318198164759e-13 * in
- - 3.9851014346715404916e-6) * in
- + 0.000049255746366361445727) * in
- - 0.00024947258047043099953) * in
- + 0.00064513046951456342991) * in
- - 0.00076245135440323932387) * in
- + 0.000033530976880017885309) * in
- + 0.0017438262298340009980;
- c[9] = (((((((2.8114572543455207632e-15 * in
- + 1.0914179173496789432e-6) * in
- - 0.000015303004486655377567) * in
- + 0.000090867107935219902229) * in
- - 0.00029133414466938067350) * in
- + 0.00051406605788341121363) * in
- - 0.00036307660358786885787) * in
- - 0.00031101086326318780412) * in
- + 0.00096472747321388644237;
- c[10] = ((((((((8.2206352466243297170e-18 * in
- - 3.1239569599829868045e-7) * in
- + 4.8903045291975346210e-6) * in
- - 0.000033202652391372058698) * in
- + 0.00012645437628698076975) * in
- - 0.00028690924218514613987) * in
- + 0.00035764655430568632777) * in
- - 0.00010230378073700412687) * in
- - 0.00036942667800009661203) * in
- + 0.00054229262813129686486;
- //
- // The result is then a polynomial in v (see Eq 56 of Shaw):
- //
- return tools::evaluate_odd_polynomial<11, T, T>(c, v);
-}
-
-template <class T, class Policy>
-T inverse_students_t(T df, T u, T v, const Policy& pol, bool* pexact = 0)
-{
- //
- // df = number of degrees of freedom.
- // u = probablity.
- // v = 1 - u.
- // l = lanczos type to use.
- //
- BOOST_MATH_STD_USING
- bool invert = false;
- T result = 0;
- if(pexact)
- *pexact = false;
- if(u > v)
- {
- // function is symmetric, invert it:
- std::swap(u, v);
- invert = true;
- }
- if((floor(df) == df) && (df < 20))
- {
- //
- // we have integer degrees of freedom, try for the special
- // cases first:
- //
- T tolerance = ldexp(1.0f, (2 * policies::digits<T, Policy>()) / 3);
-
- switch(itrunc(df, Policy()))
- {
- case 1:
- {
- //
- // df = 1 is the same as the Cauchy distribution, see
- // Shaw Eq 35:
- //
- if(u == 0.5)
- result = 0;
- else
- result = -cos(constants::pi<T>() * u) / sin(constants::pi<T>() * u);
- if(pexact)
- *pexact = true;
- break;
- }
- case 2:
- {
- //
- // df = 2 has an exact result, see Shaw Eq 36:
- //
- result =(2 * u - 1) / sqrt(2 * u * v);
- if(pexact)
- *pexact = true;
- break;
- }
- case 4:
- {
- //
- // df = 4 has an exact result, see Shaw Eq 38 & 39:
- //
- T alpha = 4 * u * v;
- T root_alpha = sqrt(alpha);
- T r = 4 * cos(acos(root_alpha) / 3) / root_alpha;
- T x = sqrt(r - 4);
- result = u - 0.5f < 0 ? (T)-x : x;
- if(pexact)
- *pexact = true;
- break;
- }
- case 6:
- {
- //
- // We get numeric overflow in this area:
- //
- if(u < 1e-150)
- return (invert ? -1 : 1) * inverse_students_t_hill(df, u, pol);
- //
- // Newton-Raphson iteration of a polynomial case,
- // choice of seed value is taken from Shaw's online
- // supplement:
- //
- T a = 4 * (u - u * u);//1 - 4 * (u - 0.5f) * (u - 0.5f);
- T b = boost::math::cbrt(a);
- static const T c = 0.85498797333834849467655443627193;
- T p = 6 * (1 + c * (1 / b - 1));
- T p0;
- do{
- T p2 = p * p;
- T p4 = p2 * p2;
- T p5 = p * p4;
- p0 = p;
- // next term is given by Eq 41:
- p = 2 * (8 * a * p5 - 270 * p2 + 2187) / (5 * (4 * a * p4 - 216 * p - 243));
- }while(fabs((p - p0) / p) > tolerance);
- //
- // Use Eq 45 to extract the result:
- //
- p = sqrt(p - df);
- result = (u - 0.5f) < 0 ? (T)-p : p;
- break;
- }
-#if 0
- //
- // These are Shaw's "exact" but iterative solutions
- // for even df, the numerical accuracy of these is
- // rather less than Hill's method, so these are disabled
- // for now, which is a shame because they are reasonably
- // quick to evaluate...
- //
- case 8:
- {
- //
- // Newton-Raphson iteration of a polynomial case,
- // choice of seed value is taken from Shaw's online
- // supplement:
- //
- static const T c8 = 0.85994765706259820318168359251872L;
- T a = 4 * (u - u * u); //1 - 4 * (u - 0.5f) * (u - 0.5f);
- T b = pow(a, T(1) / 4);
- T p = 8 * (1 + c8 * (1 / b - 1));
- T p0 = p;
- do{
- T p5 = p * p;
- p5 *= p5 * p;
- p0 = p;
- // Next term is given by Eq 42:
- p = 2 * (3 * p + (640 * (160 + p * (24 + p * (p + 4)))) / (-5120 + p * (-2048 - 960 * p + a * p5))) / 7;
- }while(fabs((p - p0) / p) > tolerance);
- //
- // Use Eq 45 to extract the result:
- //
- p = sqrt(p - df);
- result = (u - 0.5f) < 0 ? -p : p;
- break;
- }
- case 10:
- {
- //
- // Newton-Raphson iteration of a polynomial case,
- // choice of seed value is taken from Shaw's online
- // supplement:
- //
- static const T c10 = 0.86781292867813396759105692122285L;
- T a = 4 * (u - u * u); //1 - 4 * (u - 0.5f) * (u - 0.5f);
- T b = pow(a, T(1) / 5);
- T p = 10 * (1 + c10 * (1 / b - 1));
- T p0;
- do{
- T p6 = p * p;
- p6 *= p6 * p6;
- p0 = p;
- // Next term given by Eq 43:
- p = (8 * p) / 9 + (218750 * (21875 + 4 * p * (625 + p * (75 + 2 * p * (5 + p))))) /
- (9 * (-68359375 + 8 * p * (-2343750 + p * (-546875 - 175000 * p + 8 * a * p6))));
- }while(fabs((p - p0) / p) > tolerance);
- //
- // Use Eq 45 to extract the result:
- //
- p = sqrt(p - df);
- result = (u - 0.5f) < 0 ? -p : p;
- break;
- }
-#endif
- default:
- goto calculate_real;
- }
- }
- else
- {
-calculate_real:
- if(df > 0x10000000)
- {
- result = -boost::math::erfc_inv(2 * u, pol) * constants::root_two<T>();
- if((pexact) && (df >= 1e20))
- *pexact = true;
- }
- else if(df < 3)
- {
- //
- // Use a roughly linear scheme to choose between Shaw's
- // tail series and body series:
- //
- T crossover = 0.2742f - df * 0.0242143f;
- if(u > crossover)
- {
- result = boost::math::detail::inverse_students_t_body_series(df, u, pol);
- }
- else
- {
- result = boost::math::detail::inverse_students_t_tail_series(df, u, pol);
- }
- }
- else
- {
- //
- // Use Hill's method except in the exteme tails
- // where we use Shaw's tail series.
- // The crossover point is roughly exponential in -df:
- //
- T crossover = ldexp(1.0f, iround(T(df / -0.654f), typename policies::normalise<Policy, policies::rounding_error<policies::ignore_error> >::type()));
- if(u > crossover)
- {
- result = boost::math::detail::inverse_students_t_hill(df, u, pol);
- }
- else
- {
- result = boost::math::detail::inverse_students_t_tail_series(df, u, pol);
- }
- }
- }
- return invert ? (T)-result : result;
-}
-
-template <class T, class Policy>
-inline T find_ibeta_inv_from_t_dist(T a, T p, T /*q*/, T* py, const Policy& pol)
-{
- T u = p / 2;
- T v = 1 - u;
- T df = a * 2;
- T t = boost::math::detail::inverse_students_t(df, u, v, pol);
- *py = t * t / (df + t * t);
- return df / (df + t * t);
-}
-
-template <class T, class Policy>
-inline T fast_students_t_quantile_imp(T df, T p, const Policy& pol, const mpl::false_*)
-{
- BOOST_MATH_STD_USING
- //
- // Need to use inverse incomplete beta to get
- // required precision so not so fast:
- //
- T probability = (p > 0.5) ? 1 - p : p;
- T t, x, y(0);
- x = ibeta_inv(df / 2, T(0.5), 2 * probability, &y, pol);
- if(df * y > tools::max_value<T>() * x)
- t = policies::raise_overflow_error<T>("boost::math::students_t_quantile<%1%>(%1%,%1%)", 0, pol);
- else
- t = sqrt(df * y / x);
- //
- // Figure out sign based on the size of p:
- //
- if(p < 0.5)
- t = -t;
- return t;
-}
-
-template <class T, class Policy>
-T fast_students_t_quantile_imp(T df, T p, const Policy& pol, const mpl::true_*)
-{
- BOOST_MATH_STD_USING
- bool invert = false;
- if((df < 2) && (floor(df) != df))
- return boost::math::detail::fast_students_t_quantile_imp(df, p, pol, static_cast<mpl::false_*>(0));
- if(p > 0.5)
- {
- p = 1 - p;
- invert = true;
- }
- //
- // Get an estimate of the result:
- //
- bool exact;
- T t = inverse_students_t(df, p, T(1-p), pol, &exact);
- if((t == 0) || exact)
- return invert ? -t : t; // can't do better!
- //
- // Change variables to inverse incomplete beta:
- //
- T t2 = t * t;
- T xb = df / (df + t2);
- T y = t2 / (df + t2);
- T a = df / 2;
- //
- // t can be so large that x underflows,
- // just return our estimate in that case:
- //
- if(xb == 0)
- return t;
- //
- // Get incomplete beta and it's derivative:
- //
- T f1;
- T f0 = xb < y ? ibeta_imp(a, constants::half<T>(), xb, pol, false, true, &f1)
- : ibeta_imp(constants::half<T>(), a, y, pol, true, true, &f1);
-
- // Get cdf from incomplete beta result:
- T p0 = f0 / 2 - p;
- // Get pdf from derivative:
- T p1 = f1 * sqrt(y * xb * xb * xb / df);
- //
- // Second derivative divided by p1:
- //
- // yacas gives:
- //
- // In> PrettyForm(Simplify(D(t) (1 + t^2/v) ^ (-(v+1)/2)))
- //
- // | | v + 1 | |
- // | -| ----- + 1 | |
- // | | 2 | |
- // -| | 2 | |
- // | | t | |
- // | | -- + 1 | |
- // | ( v + 1 ) * | v | * t |
- // ---------------------------------------------
- // v
- //
- // Which after some manipulation is:
- //
- // -p1 * t * (df + 1) / (t^2 + df)
- //
- T p2 = t * (df + 1) / (t * t + df);
- // Halley step:
- t = fabs(t);
- t += p0 / (p1 + p0 * p2 / 2);
- return !invert ? -t : t;
-}
-
-template <class T, class Policy>
-inline T fast_students_t_quantile(T df, T p, const Policy& pol)
-{
- typedef typename policies::evaluation<T, Policy>::type value_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
-
- typedef mpl::bool_<
- (std::numeric_limits<T>::digits <= 53)
- &&
- (std::numeric_limits<T>::is_specialized)
- &&
- (std::numeric_limits<T>::radix == 2)
- > tag_type;
- return policies::checked_narrowing_cast<T, forwarding_policy>(fast_students_t_quantile_imp(static_cast<value_type>(df), static_cast<value_type>(p), pol, static_cast<tag_type*>(0)), "boost::math::students_t_quantile<%1%>(%1%,%1%,%1%)");
-}
-
-}}} // namespaces
-
-#endif // BOOST_MATH_SF_DETAIL_INV_T_HPP
-
-
-
diff --git a/boost/math/special_functions/detail/unchecked_factorial.hpp b/boost/math/special_functions/detail/unchecked_factorial.hpp
deleted file mode 100644
index 4fa1ebf..0000000
--- a/boost/math/special_functions/detail/unchecked_factorial.hpp
+++ /dev/null
@@ -1,435 +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 <boost/array.hpp>
-#ifdef BOOST_MSVC
-#pragma warning(push) // Temporary until lexical cast fixed.
-#pragma warning(disable: 4127 4701)
-#endif
-#ifndef BOOST_MATH_NO_LEXICAL_CAST
-#include <boost/lexical_cast.hpp>
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-#include <boost/config/no_tr1/cmath.hpp>
-#include <boost/math/special_functions/math_fwd.hpp>
-
-namespace boost { namespace math
-{
-// Forward declarations:
-template <class T>
-struct max_factorial;
-
-// Definitions:
-template <>
-inline float unchecked_factorial<float>(unsigned i BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(float))
-{
- static const boost::array<float, 35> 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<float>
-{
- BOOST_STATIC_CONSTANT(unsigned, value = 34);
-};
-
-
-template <>
-inline long double unchecked_factorial<long double>(unsigned i BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(long double))
-{
- static const boost::array<long double, 171> 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<long double>
-{
- BOOST_STATIC_CONSTANT(unsigned, value = 170);
-};
-
-template <>
-inline double unchecked_factorial<double>(unsigned i BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(double))
-{
- return static_cast<double>(boost::math::unchecked_factorial<long double>(i));
-}
-
-template <>
-struct max_factorial<double>
-{
- BOOST_STATIC_CONSTANT(unsigned,
- value = ::boost::math::max_factorial<long double>::value);
-};
-
-#ifndef BOOST_MATH_NO_LEXICAL_CAST
-
-template <class T>
-inline T unchecked_factorial(unsigned i BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(T))
-{
- BOOST_STATIC_ASSERT(!boost::is_integral<T>::value);
- // factorial<unsigned int>(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<unsigned int>(factorial<double>(n));
- // See factorial documentation for more detail.
-
- static const boost::array<T, 101> factorials = {{
- boost::lexical_cast<T>("1"),
- boost::lexical_cast<T>("1"),
- boost::lexical_cast<T>("2"),
- boost::lexical_cast<T>("6"),
- boost::lexical_cast<T>("24"),
- boost::lexical_cast<T>("120"),
- boost::lexical_cast<T>("720"),
- boost::lexical_cast<T>("5040"),
- boost::lexical_cast<T>("40320"),
- boost::lexical_cast<T>("362880"),
- boost::lexical_cast<T>("3628800"),
- boost::lexical_cast<T>("39916800"),
- boost::lexical_cast<T>("479001600"),
- boost::lexical_cast<T>("6227020800"),
- boost::lexical_cast<T>("87178291200"),
- boost::lexical_cast<T>("1307674368000"),
- boost::lexical_cast<T>("20922789888000"),
- boost::lexical_cast<T>("355687428096000"),
- boost::lexical_cast<T>("6402373705728000"),
- boost::lexical_cast<T>("121645100408832000"),
- boost::lexical_cast<T>("2432902008176640000"),
- boost::lexical_cast<T>("51090942171709440000"),
- boost::lexical_cast<T>("1124000727777607680000"),
- boost::lexical_cast<T>("25852016738884976640000"),
- boost::lexical_cast<T>("620448401733239439360000"),
- boost::lexical_cast<T>("15511210043330985984000000"),
- boost::lexical_cast<T>("403291461126605635584000000"),
- boost::lexical_cast<T>("10888869450418352160768000000"),
- boost::lexical_cast<T>("304888344611713860501504000000"),
- boost::lexical_cast<T>("8841761993739701954543616000000"),
- boost::lexical_cast<T>("265252859812191058636308480000000"),
- boost::lexical_cast<T>("8222838654177922817725562880000000"),
- boost::lexical_cast<T>("263130836933693530167218012160000000"),
- boost::lexical_cast<T>("8683317618811886495518194401280000000"),
- boost::lexical_cast<T>("295232799039604140847618609643520000000"),
- boost::lexical_cast<T>("10333147966386144929666651337523200000000"),
- boost::lexical_cast<T>("371993326789901217467999448150835200000000"),
- boost::lexical_cast<T>("13763753091226345046315979581580902400000000"),
- boost::lexical_cast<T>("523022617466601111760007224100074291200000000"),
- boost::lexical_cast<T>("20397882081197443358640281739902897356800000000"),
- boost::lexical_cast<T>("815915283247897734345611269596115894272000000000"),
- boost::lexical_cast<T>("33452526613163807108170062053440751665152000000000"),
- boost::lexical_cast<T>("1405006117752879898543142606244511569936384000000000"),
- boost::lexical_cast<T>("60415263063373835637355132068513997507264512000000000"),
- boost::lexical_cast<T>("2658271574788448768043625811014615890319638528000000000"),
- boost::lexical_cast<T>("119622220865480194561963161495657715064383733760000000000"),
- boost::lexical_cast<T>("5502622159812088949850305428800254892961651752960000000000"),
- boost::lexical_cast<T>("258623241511168180642964355153611979969197632389120000000000"),
- boost::lexical_cast<T>("12413915592536072670862289047373375038521486354677760000000000"),
- boost::lexical_cast<T>("608281864034267560872252163321295376887552831379210240000000000"),
- boost::lexical_cast<T>("30414093201713378043612608166064768844377641568960512000000000000"),
- boost::lexical_cast<T>("1551118753287382280224243016469303211063259720016986112000000000000"),
- boost::lexical_cast<T>("80658175170943878571660636856403766975289505440883277824000000000000"),
- boost::lexical_cast<T>("4274883284060025564298013753389399649690343788366813724672000000000000"),
- boost::lexical_cast<T>("230843697339241380472092742683027581083278564571807941132288000000000000"),
- boost::lexical_cast<T>("12696403353658275925965100847566516959580321051449436762275840000000000000"),
- boost::lexical_cast<T>("710998587804863451854045647463724949736497978881168458687447040000000000000"),
- boost::lexical_cast<T>("40526919504877216755680601905432322134980384796226602145184481280000000000000"),
- boost::lexical_cast<T>("2350561331282878571829474910515074683828862318181142924420699914240000000000000"),
- boost::lexical_cast<T>("138683118545689835737939019720389406345902876772687432540821294940160000000000000"),
- boost::lexical_cast<T>("8320987112741390144276341183223364380754172606361245952449277696409600000000000000"),
- boost::lexical_cast<T>("507580213877224798800856812176625227226004528988036003099405939480985600000000000000"),
- boost::lexical_cast<T>("31469973260387937525653122354950764088012280797258232192163168247821107200000000000000"),
- boost::lexical_cast<T>("1982608315404440064116146708361898137544773690227268628106279599612729753600000000000000"),
- boost::lexical_cast<T>("126886932185884164103433389335161480802865516174545192198801894375214704230400000000000000"),
- boost::lexical_cast<T>("8247650592082470666723170306785496252186258551345437492922123134388955774976000000000000000"),
- boost::lexical_cast<T>("544344939077443064003729240247842752644293064388798874532860126869671081148416000000000000000"),
- boost::lexical_cast<T>("36471110918188685288249859096605464427167635314049524593701628500267962436943872000000000000000"),
- boost::lexical_cast<T>("2480035542436830599600990418569171581047399201355367672371710738018221445712183296000000000000000"),
- boost::lexical_cast<T>("171122452428141311372468338881272839092270544893520369393648040923257279754140647424000000000000000"),
- boost::lexical_cast<T>("11978571669969891796072783721689098736458938142546425857555362864628009582789845319680000000000000000"),
- boost::lexical_cast<T>("850478588567862317521167644239926010288584608120796235886430763388588680378079017697280000000000000000"),
- boost::lexical_cast<T>("61234458376886086861524070385274672740778091784697328983823014963978384987221689274204160000000000000000"),
- boost::lexical_cast<T>("4470115461512684340891257138125051110076800700282905015819080092370422104067183317016903680000000000000000"),
- boost::lexical_cast<T>("330788544151938641225953028221253782145683251820934971170611926835411235700971565459250872320000000000000000"),
- boost::lexical_cast<T>("24809140811395398091946477116594033660926243886570122837795894512655842677572867409443815424000000000000000000"),
- boost::lexical_cast<T>("1885494701666050254987932260861146558230394535379329335672487982961844043495537923117729972224000000000000000000"),
- boost::lexical_cast<T>("145183092028285869634070784086308284983740379224208358846781574688061991349156420080065207861248000000000000000000"),
- boost::lexical_cast<T>("11324281178206297831457521158732046228731749579488251990048962825668835325234200766245086213177344000000000000000000"),
- boost::lexical_cast<T>("894618213078297528685144171539831652069808216779571907213868063227837990693501860533361810841010176000000000000000000"),
- boost::lexical_cast<T>("71569457046263802294811533723186532165584657342365752577109445058227039255480148842668944867280814080000000000000000000"),
- boost::lexical_cast<T>("5797126020747367985879734231578109105412357244731625958745865049716390179693892056256184534249745940480000000000000000000"),
- boost::lexical_cast<T>("475364333701284174842138206989404946643813294067993328617160934076743994734899148613007131808479167119360000000000000000000"),
- boost::lexical_cast<T>("39455239697206586511897471180120610571436503407643446275224357528369751562996629334879591940103770870906880000000000000000000"),
- boost::lexical_cast<T>("3314240134565353266999387579130131288000666286242049487118846032383059131291716864129885722968716753156177920000000000000000000"),
- boost::lexical_cast<T>("281710411438055027694947944226061159480056634330574206405101912752560026159795933451040286452340924018275123200000000000000000000"),
- boost::lexical_cast<T>("24227095383672732381765523203441259715284870552429381750838764496720162249742450276789464634901319465571660595200000000000000000000"),
- boost::lexical_cast<T>("2107757298379527717213600518699389595229783738061356212322972511214654115727593174080683423236414793504734471782400000000000000000000"),
- boost::lexical_cast<T>("185482642257398439114796845645546284380220968949399346684421580986889562184028199319100141244804501828416633516851200000000000000000000"),
- boost::lexical_cast<T>("16507955160908461081216919262453619309839666236496541854913520707833171034378509739399912570787600662729080382999756800000000000000000000"),
- boost::lexical_cast<T>("1485715964481761497309522733620825737885569961284688766942216863704985393094065876545992131370884059645617234469978112000000000000000000000"),
- boost::lexical_cast<T>("135200152767840296255166568759495142147586866476906677791741734597153670771559994765685283954750449427751168336768008192000000000000000000000"),
- boost::lexical_cast<T>("12438414054641307255475324325873553077577991715875414356840239582938137710983519518443046123837041347353107486982656753664000000000000000000000"),
- boost::lexical_cast<T>("1156772507081641574759205162306240436214753229576413535186142281213246807121467315215203289516844845303838996289387078090752000000000000000000000"),
- boost::lexical_cast<T>("108736615665674308027365285256786601004186803580182872307497374434045199869417927630229109214583415458560865651202385340530688000000000000000000000"),
- boost::lexical_cast<T>("10329978488239059262599702099394727095397746340117372869212250571234293987594703124871765375385424468563282236864226607350415360000000000000000000000"),
- boost::lexical_cast<T>("991677934870949689209571401541893801158183648651267795444376054838492222809091499987689476037000748982075094738965754305639874560000000000000000000000"),
- boost::lexical_cast<T>("96192759682482119853328425949563698712343813919172976158104477319333745612481875498805879175589072651261284189679678167647067832320000000000000000000000"),
- boost::lexical_cast<T>("9426890448883247745626185743057242473809693764078951663494238777294707070023223798882976159207729119823605850588608460429412647567360000000000000000000000"),
- boost::lexical_cast<T>("933262154439441526816992388562667004907159682643816214685929638952175999932299156089414639761565182862536979208272237582511852109168640000000000000000000000"),
- boost::lexical_cast<T>("93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000"),
- }};
-
- return factorials[i];
-}
-
-template <class T>
-struct max_factorial
-{
- BOOST_STATIC_CONSTANT(unsigned, value = 100);
-};
-
-#else // BOOST_MATH_NO_LEXICAL_CAST
-
-template <class T>
-inline T unchecked_factorial(unsigned i BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(T))
-{
- return 1;
-}
-
-template <class T>
-struct max_factorial
-{
- BOOST_STATIC_CONSTANT(unsigned, value = 0);
-};
-
-#endif
-
-#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-template <class T>
-const unsigned max_factorial<T>::value;
-#endif
-
-} // namespace math
-} // namespace boost
-
-#endif // BOOST_MATH_SP_UC_FACTORIALS_HPP
-
diff --git a/boost/math/special_functions/digamma.hpp b/boost/math/special_functions/digamma.hpp
deleted file mode 100644
index c329c46..0000000
--- a/boost/math/special_functions/digamma.hpp
+++ /dev/null
@@ -1,479 +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_SF_DIGAMMA_HPP
-#define BOOST_MATH_SF_DIGAMMA_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/math/tools/rational.hpp>
-#include <boost/math/tools/promotion.hpp>
-#include <boost/math/policies/error_handling.hpp>
-#include <boost/math/constants/constants.hpp>
-#include <boost/mpl/comparison.hpp>
-#include <boost/math/tools/big_constant.hpp>
-
-namespace boost{
-namespace math{
-namespace detail{
-//
-// Begin by defining the smallest value for which it is safe to
-// use the asymptotic expansion for digamma:
-//
-inline unsigned digamma_large_lim(const mpl::int_<0>*)
-{ return 20; }
-
-inline unsigned digamma_large_lim(const void*)
-{ return 10; }
-//
-// Implementations of the asymptotic expansion come next,
-// the coefficients of the series have been evaluated
-// in advance at high precision, and the series truncated
-// at the first term that's too small to effect the result.
-// Note that the series becomes divergent after a while
-// so truncation is very important.
-//
-// This first one gives 34-digit precision for x >= 20:
-//
-template <class T>
-inline T digamma_imp_large(T x, const mpl::int_<0>*)
-{
- BOOST_MATH_STD_USING // ADL of std functions.
- static const T P[] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.083333333333333333333333333333333333333333333333333),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.0083333333333333333333333333333333333333333333333333),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.003968253968253968253968253968253968253968253968254),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.0041666666666666666666666666666666666666666666666667),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0075757575757575757575757575757575757575757575757576),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.021092796092796092796092796092796092796092796092796),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.083333333333333333333333333333333333333333333333333),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.44325980392156862745098039215686274509803921568627),
- BOOST_MATH_BIG_CONSTANT(T, 113, 3.0539543302701197438039543302701197438039543302701),
- BOOST_MATH_BIG_CONSTANT(T, 113, -26.456212121212121212121212121212121212121212121212),
- BOOST_MATH_BIG_CONSTANT(T, 113, 281.4601449275362318840579710144927536231884057971),
- BOOST_MATH_BIG_CONSTANT(T, 113, -3607.510546398046398046398046398046398046398046398),
- BOOST_MATH_BIG_CONSTANT(T, 113, 54827.583333333333333333333333333333333333333333333),
- BOOST_MATH_BIG_CONSTANT(T, 113, -974936.82385057471264367816091954022988505747126437),
- BOOST_MATH_BIG_CONSTANT(T, 113, 20052695.796688078946143462272494530559046688078946),
- BOOST_MATH_BIG_CONSTANT(T, 113, -472384867.72162990196078431372549019607843137254902),
- BOOST_MATH_BIG_CONSTANT(T, 113, 12635724795.916666666666666666666666666666666666667)
- };
- x -= 1;
- T result = log(x);
- result += 1 / (2 * x);
- T z = 1 / (x*x);
- result -= z * tools::evaluate_polynomial(P, z);
- return result;
-}
-//
-// 19-digit precision for x >= 10:
-//
-template <class T>
-inline T digamma_imp_large(T x, const mpl::int_<64>*)
-{
- BOOST_MATH_STD_USING // ADL of std functions.
- static const T P[] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.083333333333333333333333333333333333333333333333333),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.0083333333333333333333333333333333333333333333333333),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.003968253968253968253968253968253968253968253968254),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.0041666666666666666666666666666666666666666666666667),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.0075757575757575757575757575757575757575757575757576),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.021092796092796092796092796092796092796092796092796),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.083333333333333333333333333333333333333333333333333),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.44325980392156862745098039215686274509803921568627),
- BOOST_MATH_BIG_CONSTANT(T, 64, 3.0539543302701197438039543302701197438039543302701),
- BOOST_MATH_BIG_CONSTANT(T, 64, -26.456212121212121212121212121212121212121212121212),
- BOOST_MATH_BIG_CONSTANT(T, 64, 281.4601449275362318840579710144927536231884057971),
- };
- x -= 1;
- T result = log(x);
- result += 1 / (2 * x);
- T z = 1 / (x*x);
- result -= z * tools::evaluate_polynomial(P, z);
- return result;
-}
-//
-// 17-digit precision for x >= 10:
-//
-template <class T>
-inline T digamma_imp_large(T x, const mpl::int_<53>*)
-{
- BOOST_MATH_STD_USING // ADL of std functions.
- static const T P[] = {
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.083333333333333333333333333333333333333333333333333),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.0083333333333333333333333333333333333333333333333333),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.003968253968253968253968253968253968253968253968254),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.0041666666666666666666666666666666666666666666666667),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.0075757575757575757575757575757575757575757575757576),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.021092796092796092796092796092796092796092796092796),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.083333333333333333333333333333333333333333333333333),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.44325980392156862745098039215686274509803921568627)
- };
- x -= 1;
- T result = log(x);
- result += 1 / (2 * x);
- T z = 1 / (x*x);
- result -= z * tools::evaluate_polynomial(P, z);
- return result;
-}
-//
-// 9-digit precision for x >= 10:
-//
-template <class T>
-inline T digamma_imp_large(T x, const mpl::int_<24>*)
-{
- BOOST_MATH_STD_USING // ADL of std functions.
- static const T P[] = {
- BOOST_MATH_BIG_CONSTANT(T, 24, 0.083333333333333333333333333333333333333333333333333),
- BOOST_MATH_BIG_CONSTANT(T, 24, -0.0083333333333333333333333333333333333333333333333333),
- BOOST_MATH_BIG_CONSTANT(T, 24, 0.003968253968253968253968253968253968253968253968254)
- };
- x -= 1;
- T result = log(x);
- result += 1 / (2 * x);
- T z = 1 / (x*x);
- result -= z * tools::evaluate_polynomial(P, z);
- return result;
-}
-//
-// Now follow rational approximations over the range [1,2].
-//
-// 35-digit precision:
-//
-template <class T>
-T digamma_imp_1_2(T x, const mpl::int_<0>*)
-{
- //
- // Now the approximation, we use the form:
- //
- // digamma(x) = (x - root) * (Y + R(x-1))
- //
- // Where root is the location of the positive root of digamma,
- // Y is a constant, and R is optimised for low absolute error
- // compared to Y.
- //
- // Max error found at 128-bit long double precision: 5.541e-35
- // Maximum Deviation Found (approximation error): 1.965e-35
- //
- static const float Y = 0.99558162689208984375F;
-
- static const T root1 = T(1569415565) / 1073741824uL;
- static const T root2 = (T(381566830) / 1073741824uL) / 1073741824uL;
- static const T root3 = ((T(111616537) / 1073741824uL) / 1073741824uL) / 1073741824uL;
- static const T root4 = (((T(503992070) / 1073741824uL) / 1073741824uL) / 1073741824uL) / 1073741824uL;
- static const T root5 = BOOST_MATH_BIG_CONSTANT(T, 113, 0.52112228569249997894452490385577338504019838794544e-36);
-
- static const T P[] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.25479851061131551526977464225335883769),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.18684290534374944114622235683619897417),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.80360876047931768958995775910991929922),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.67227342794829064330498117008564270136),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.26569010991230617151285010695543858005),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.05775672694575986971640757748003553385),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.0071432147823164975485922555833274240665),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.00048740753910766168912364555706064993274),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.16454996865214115723416538844975174761e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.20327832297631728077731148515093164955e-6)
- };
- static const T Q[] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 1.0),
- BOOST_MATH_BIG_CONSTANT(T, 113, 2.6210924610812025425088411043163287646),
- BOOST_MATH_BIG_CONSTANT(T, 113, 2.6850757078559596612621337395886392594),
- BOOST_MATH_BIG_CONSTANT(T, 113, 1.4320913706209965531250495490639289418),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.4410872083455009362557012239501953402),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.081385727399251729505165509278152487225),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0089478633066857163432104815183858149496),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00055861622855066424871506755481997374154),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.1760168552357342401304462967950178554e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.20585454493572473724556649516040874384e-6),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.90745971844439990284514121823069162795e-11),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.48857673606545846774761343500033283272e-13),
- };
- T g = x - root1;
- g -= root2;
- g -= root3;
- g -= root4;
- g -= root5;
- T r = tools::evaluate_polynomial(P, T(x-1)) / tools::evaluate_polynomial(Q, T(x-1));
- T result = g * Y + g * r;
-
- return result;
-}
-//
-// 19-digit precision:
-//
-template <class T>
-T digamma_imp_1_2(T x, const mpl::int_<64>*)
-{
- //
- // Now the approximation, we use the form:
- //
- // digamma(x) = (x - root) * (Y + R(x-1))
- //
- // Where root is the location of the positive root of digamma,
- // Y is a constant, and R is optimised for low absolute error
- // compared to Y.
- //
- // Max error found at 80-bit long double precision: 5.016e-20
- // Maximum Deviation Found (approximation error): 3.575e-20
- //
- static const float Y = 0.99558162689208984375F;
-
- static const T root1 = T(1569415565) / 1073741824uL;
- static const T root2 = (T(381566830) / 1073741824uL) / 1073741824uL;
- static const T root3 = BOOST_MATH_BIG_CONSTANT(T, 64, 0.9016312093258695918615325266959189453125e-19);
-
- static const T P[] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.254798510611315515235),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.314628554532916496608),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.665836341559876230295),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.314767657147375752913),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.0541156266153505273939),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.00289268368333918761452)
- };
- static const T Q[] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, 1.0),
- BOOST_MATH_BIG_CONSTANT(T, 64, 2.1195759927055347547),
- BOOST_MATH_BIG_CONSTANT(T, 64, 1.54350554664961128724),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.486986018231042975162),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.0660481487173569812846),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.00298999662592323990972),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.165079794012604905639e-5),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.317940243105952177571e-7)
- };
- T g = x - root1;
- g -= root2;
- g -= root3;
- T r = tools::evaluate_polynomial(P, T(x-1)) / tools::evaluate_polynomial(Q, T(x-1));
- T result = g * Y + g * r;
-
- return result;
-}
-//
-// 18-digit precision:
-//
-template <class T>
-T digamma_imp_1_2(T x, const mpl::int_<53>*)
-{
- //
- // Now the approximation, we use the form:
- //
- // digamma(x) = (x - root) * (Y + R(x-1))
- //
- // Where root is the location of the positive root of digamma,
- // Y is a constant, and R is optimised for low absolute error
- // compared to Y.
- //
- // Maximum Deviation Found: 1.466e-18
- // At double precision, max error found: 2.452e-17
- //
- static const float Y = 0.99558162689208984F;
-
- static const T root1 = T(1569415565) / 1073741824uL;
- static const T root2 = (T(381566830) / 1073741824uL) / 1073741824uL;
- static const T root3 = BOOST_MATH_BIG_CONSTANT(T, 53, 0.9016312093258695918615325266959189453125e-19);
-
- static const T P[] = {
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.25479851061131551),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.32555031186804491),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.65031853770896507),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.28919126444774784),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.045251321448739056),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.0020713321167745952)
- };
- static const T Q[] = {
- BOOST_MATH_BIG_CONSTANT(T, 53, 1),
- BOOST_MATH_BIG_CONSTANT(T, 53, 2.0767117023730469),
- BOOST_MATH_BIG_CONSTANT(T, 53, 1.4606242909763515),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.43593529692665969),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.054151797245674225),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.0021284987017821144),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.55789841321675513e-6)
- };
- T g = x - root1;
- g -= root2;
- g -= root3;
- T r = tools::evaluate_polynomial(P, T(x-1)) / tools::evaluate_polynomial(Q, T(x-1));
- T result = g * Y + g * r;
-
- return result;
-}
-//
-// 9-digit precision:
-//
-template <class T>
-inline T digamma_imp_1_2(T x, const mpl::int_<24>*)
-{
- //
- // Now the approximation, we use the form:
- //
- // digamma(x) = (x - root) * (Y + R(x-1))
- //
- // Where root is the location of the positive root of digamma,
- // Y is a constant, and R is optimised for low absolute error
- // compared to Y.
- //
- // Maximum Deviation Found: 3.388e-010
- // At float precision, max error found: 2.008725e-008
- //
- static const float Y = 0.99558162689208984f;
- static const T root = 1532632.0f / 1048576;
- static const T root_minor = static_cast<T>(0.3700660185912626595423257213284682051735604e-6L);
- static const T P[] = {
- 0.25479851023250261e0,
- -0.44981331915268368e0,
- -0.43916936919946835e0,
- -0.61041765350579073e-1
- };
- static const T Q[] = {
- 0.1e1,
- 0.15890202430554952e1,
- 0.65341249856146947e0,
- 0.63851690523355715e-1
- };
- T g = x - root;
- g -= root_minor;
- T r = tools::evaluate_polynomial(P, T(x-1)) / tools::evaluate_polynomial(Q, T(x-1));
- T result = g * Y + g * r;
-
- return result;
-}
-
-template <class T, class Tag, class Policy>
-T digamma_imp(T x, const Tag* t, const Policy& pol)
-{
- //
- // This handles reflection of negative arguments, and all our
- // error handling, then forwards to the T-specific approximation.
- //
- BOOST_MATH_STD_USING // ADL of std functions.
-
- T result = 0;
- //
- // Check for negative arguments and use reflection:
- //
- if(x < 0)
- {
- // Reflect:
- x = 1 - x;
- // Argument reduction for tan:
- T remainder = x - floor(x);
- // Shift to negative if > 0.5:
- if(remainder > 0.5)
- {
- remainder -= 1;
- }
- //
- // check for evaluation at a negative pole:
- //
- if(remainder == 0)
- {
- return policies::raise_pole_error<T>("boost::math::digamma<%1%>(%1%)", 0, (1-x), pol);
- }
- result = constants::pi<T>() / tan(constants::pi<T>() * remainder);
- }
- //
- // If we're above the lower-limit for the
- // asymptotic expansion then use it:
- //
- if(x >= digamma_large_lim(t))
- {
- result += digamma_imp_large(x, t);
- }
- else
- {
- //
- // If x > 2 reduce to the interval [1,2]:
- //
- while(x > 2)
- {
- x -= 1;
- result += 1/x;
- }
- //
- // If x < 1 use recurrance to shift to > 1:
- //
- if(x < 1)
- {
- result = -1/x;
- x += 1;
- }
- result += digamma_imp_1_2(x, t);
- }
- return result;
-}
-
-//
-// Initializer: ensure all our constants are initialized prior to the first call of main:
-//
-template <class T, class Policy>
-struct digamma_initializer
-{
- struct init
- {
- init()
- {
- boost::math::digamma(T(1.5), Policy());
- boost::math::digamma(T(500), Policy());
- }
- void force_instantiate()const{}
- };
- static const init initializer;
- static void force_instantiate()
- {
- initializer.force_instantiate();
- }
-};
-
-template <class T, class Policy>
-const typename digamma_initializer<T, Policy>::init digamma_initializer<T, Policy>::initializer;
-
-} // namespace detail
-
-template <class T, class Policy>
-inline typename tools::promote_args<T>::type
- digamma(T x, const Policy& pol)
-{
- typedef typename tools::promote_args<T>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename policies::precision<T, Policy>::type precision_type;
- typedef typename mpl::if_<
- mpl::or_<
- mpl::less_equal<precision_type, mpl::int_<0> >,
- mpl::greater<precision_type, mpl::int_<64> >
- >,
- mpl::int_<0>,
- typename mpl::if_<
- mpl::less<precision_type, mpl::int_<25> >,
- mpl::int_<24>,
- typename mpl::if_<
- mpl::less<precision_type, mpl::int_<54> >,
- mpl::int_<53>,
- mpl::int_<64>
- >::type
- >::type
- >::type tag_type;
-
- // Force initialization of constants:
- detail::digamma_initializer<result_type, Policy>::force_instantiate();
-
- return policies::checked_narrowing_cast<result_type, Policy>(detail::digamma_imp(
- static_cast<value_type>(x),
- static_cast<const tag_type*>(0), pol), "boost::math::digamma<%1%>(%1%)");
-}
-
-template <class T>
-inline typename tools::promote_args<T>::type
- digamma(T x)
-{
- return digamma(x, policies::policy<>());
-}
-
-} // namespace math
-} // namespace boost
-#endif
-
diff --git a/boost/math/special_functions/ellint_1.hpp b/boost/math/special_functions/ellint_1.hpp
deleted file mode 100644
index e266b2e..0000000
--- a/boost/math/special_functions/ellint_1.hpp
+++ /dev/null
@@ -1,188 +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 ensure
-// that the code continues to work no matter how many digits
-// type T has.
-
-#ifndef BOOST_MATH_ELLINT_1_HPP
-#define BOOST_MATH_ELLINT_1_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/math/special_functions/ellint_rf.hpp>
-#include <boost/math/constants/constants.hpp>
-#include <boost/math/policies/error_handling.hpp>
-#include <boost/math/tools/workaround.hpp>
-#include <boost/math/special_functions/round.hpp>
-
-// Elliptic integrals (complete and incomplete) of the first kind
-// Carlson, Numerische Mathematik, vol 33, 1 (1979)
-
-namespace boost { namespace math {
-
-template <class T1, class T2, class Policy>
-typename tools::promote_args<T1, T2>::type ellint_1(T1 k, T2 phi, const Policy& pol);
-
-namespace detail{
-
-template <typename T, typename Policy>
-T ellint_k_imp(T k, const Policy& pol);
-
-// Elliptic integral (Legendre form) of the first kind
-template <typename T, typename Policy>
-T ellint_f_imp(T phi, T k, const Policy& pol)
-{
- BOOST_MATH_STD_USING
- using namespace boost::math::tools;
- using namespace boost::math::constants;
-
- static const char* function = "boost::math::ellint_f<%1%>(%1%,%1%)";
- BOOST_MATH_INSTRUMENT_VARIABLE(phi);
- BOOST_MATH_INSTRUMENT_VARIABLE(k);
- BOOST_MATH_INSTRUMENT_VARIABLE(function);
-
- if (abs(k) > 1)
- {
- return policies::raise_domain_error<T>(function,
- "Got k = %1%, function requires |k| <= 1", k, pol);
- }
-
- bool invert = false;
- if(phi < 0)
- {
- BOOST_MATH_INSTRUMENT_VARIABLE(phi);
- phi = fabs(phi);
- invert = true;
- }
-
- T result;
-
- if(phi >= tools::max_value<T>())
- {
- // Need to handle infinity as a special case:
- result = policies::raise_overflow_error<T>(function, 0, pol);
- BOOST_MATH_INSTRUMENT_VARIABLE(result);
- }
- else if(phi > 1 / tools::epsilon<T>())
- {
- // Phi is so large that phi%pi is necessarily zero (or garbage),
- // just return the second part of the duplication formula:
- result = 2 * phi * ellint_k_imp(k, pol) / constants::pi<T>();
- BOOST_MATH_INSTRUMENT_VARIABLE(result);
- }
- else
- {
- // 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:
- //
- BOOST_MATH_INSTRUMENT_CODE("pi/2 = " << constants::pi<T>() / 2);
- T rphi = boost::math::tools::fmod_workaround(phi, T(constants::half_pi<T>()));
- BOOST_MATH_INSTRUMENT_VARIABLE(rphi);
- T m = boost::math::round((phi - rphi) / constants::half_pi<T>());
- BOOST_MATH_INSTRUMENT_VARIABLE(m);
- int s = 1;
- if(boost::math::tools::fmod_workaround(m, T(2)) > 0.5)
- {
- m += 1;
- s = -1;
- rphi = constants::half_pi<T>() - rphi;
- BOOST_MATH_INSTRUMENT_VARIABLE(rphi);
- }
- T sinp = sin(rphi);
- T cosp = cos(rphi);
- BOOST_MATH_INSTRUMENT_VARIABLE(sinp);
- BOOST_MATH_INSTRUMENT_VARIABLE(cosp);
- result = s * sinp * ellint_rf_imp(T(cosp * cosp), T(1 - k * k * sinp * sinp), T(1), pol);
- BOOST_MATH_INSTRUMENT_VARIABLE(result);
- if(m != 0)
- {
- result += m * ellint_k_imp(k, pol);
- BOOST_MATH_INSTRUMENT_VARIABLE(result);
- }
- }
- return invert ? T(-result) : result;
-}
-
-// Complete elliptic integral (Legendre form) of the first kind
-template <typename T, typename Policy>
-T ellint_k_imp(T k, const Policy& pol)
-{
- BOOST_MATH_STD_USING
- using namespace boost::math::tools;
-
- static const char* function = "boost::math::ellint_k<%1%>(%1%)";
-
- if (abs(k) > 1)
- {
- return policies::raise_domain_error<T>(function,
- "Got k = %1%, function requires |k| <= 1", k, pol);
- }
- if (abs(k) == 1)
- {
- return policies::raise_overflow_error<T>(function, 0, pol);
- }
-
- T x = 0;
- T y = 1 - k * k;
- T z = 1;
- T value = ellint_rf_imp(x, y, z, pol);
-
- return value;
-}
-
-template <typename T, typename Policy>
-inline typename tools::promote_args<T>::type ellint_1(T k, const Policy& pol, const mpl::true_&)
-{
- typedef typename tools::promote_args<T>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- return policies::checked_narrowing_cast<result_type, Policy>(detail::ellint_k_imp(static_cast<value_type>(k), pol), "boost::math::ellint_1<%1%>(%1%)");
-}
-
-template <class T1, class T2>
-inline typename tools::promote_args<T1, T2>::type ellint_1(T1 k, T2 phi, const mpl::false_&)
-{
- return boost::math::ellint_1(k, phi, policies::policy<>());
-}
-
-}
-
-// Complete elliptic integral (Legendre form) of the first kind
-template <typename T>
-inline typename tools::promote_args<T>::type ellint_1(T k)
-{
- return ellint_1(k, policies::policy<>());
-}
-
-// Elliptic integral (Legendre form) of the first kind
-template <class T1, class T2, class Policy>
-inline typename tools::promote_args<T1, T2>::type ellint_1(T1 k, T2 phi, const Policy& pol)
-{
- typedef typename tools::promote_args<T1, T2>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- return policies::checked_narrowing_cast<result_type, Policy>(detail::ellint_f_imp(static_cast<value_type>(phi), static_cast<value_type>(k), pol), "boost::math::ellint_1<%1%>(%1%,%1%)");
-}
-
-template <class T1, class T2>
-inline typename tools::promote_args<T1, T2>::type ellint_1(T1 k, T2 phi)
-{
- typedef typename policies::is_policy<T2>::type tag_type;
- return detail::ellint_1(k, phi, tag_type());
-}
-
-}} // namespaces
-
-#endif // BOOST_MATH_ELLINT_1_HPP
-
diff --git a/boost/math/special_functions/ellint_2.hpp b/boost/math/special_functions/ellint_2.hpp
deleted file mode 100644
index f696446..0000000
--- a/boost/math/special_functions/ellint_2.hpp
+++ /dev/null
@@ -1,169 +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 ensure
-// that the code continues to work no matter how many digits
-// type T has.
-
-#ifndef BOOST_MATH_ELLINT_2_HPP
-#define BOOST_MATH_ELLINT_2_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/math/special_functions/ellint_rf.hpp>
-#include <boost/math/special_functions/ellint_rd.hpp>
-#include <boost/math/constants/constants.hpp>
-#include <boost/math/policies/error_handling.hpp>
-#include <boost/math/tools/workaround.hpp>
-#include <boost/math/special_functions/round.hpp>
-
-// Elliptic integrals (complete and incomplete) of the second kind
-// Carlson, Numerische Mathematik, vol 33, 1 (1979)
-
-namespace boost { namespace math {
-
-template <class T1, class T2, class Policy>
-typename tools::promote_args<T1, T2>::type ellint_2(T1 k, T2 phi, const Policy& pol);
-
-namespace detail{
-
-template <typename T, typename Policy>
-T ellint_e_imp(T k, const Policy& pol);
-
-// Elliptic integral (Legendre form) of the second kind
-template <typename T, typename Policy>
-T ellint_e_imp(T phi, T k, const Policy& pol)
-{
- BOOST_MATH_STD_USING
- using namespace boost::math::tools;
- using namespace boost::math::constants;
-
- bool invert = false;
- if(phi < 0)
- {
- phi = fabs(phi);
- invert = true;
- }
-
- T result;
-
- if(phi >= tools::max_value<T>())
- {
- // Need to handle infinity as a special case:
- result = policies::raise_overflow_error<T>("boost::math::ellint_e<%1%>(%1%,%1%)", 0, pol);
- }
- else if(phi > 1 / tools::epsilon<T>())
- {
- // Phi is so large that phi%pi is necessarily zero (or garbage),
- // just return the second part of the duplication formula:
- result = 2 * phi * ellint_e_imp(k, pol) / constants::pi<T>();
- }
- else
- {
- // 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:
- //
- T rphi = boost::math::tools::fmod_workaround(phi, T(constants::half_pi<T>()));
- T m = boost::math::round((phi - rphi) / constants::half_pi<T>());
- int s = 1;
- if(boost::math::tools::fmod_workaround(m, T(2)) > 0.5)
- {
- m += 1;
- s = -1;
- rphi = constants::half_pi<T>() - rphi;
- }
- T sinp = sin(rphi);
- T cosp = cos(rphi);
- T x = cosp * cosp;
- T t = k * k * sinp * sinp;
- T y = 1 - t;
- T z = 1;
- result = s * sinp * (ellint_rf_imp(x, y, z, pol) - t * ellint_rd_imp(x, y, z, pol) / 3);
- if(m != 0)
- result += m * ellint_e_imp(k, pol);
- }
- return invert ? T(-result) : result;
-}
-
-// Complete elliptic integral (Legendre form) of the second kind
-template <typename T, typename Policy>
-T ellint_e_imp(T k, const Policy& pol)
-{
- BOOST_MATH_STD_USING
- using namespace boost::math::tools;
-
- if (abs(k) > 1)
- {
- return policies::raise_domain_error<T>("boost::math::ellint_e<%1%>(%1%)",
- "Got k = %1%, function requires |k| <= 1", k, pol);
- }
- if (abs(k) == 1)
- {
- return static_cast<T>(1);
- }
-
- T x = 0;
- T t = k * k;
- T y = 1 - t;
- T z = 1;
- T value = ellint_rf_imp(x, y, z, pol) - t * ellint_rd_imp(x, y, z, pol) / 3;
-
- return value;
-}
-
-template <typename T, typename Policy>
-inline typename tools::promote_args<T>::type ellint_2(T k, const Policy& pol, const mpl::true_&)
-{
- typedef typename tools::promote_args<T>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- return policies::checked_narrowing_cast<result_type, Policy>(detail::ellint_e_imp(static_cast<value_type>(k), pol), "boost::math::ellint_2<%1%>(%1%)");
-}
-
-// Elliptic integral (Legendre form) of the second kind
-template <class T1, class T2>
-inline typename tools::promote_args<T1, T2>::type ellint_2(T1 k, T2 phi, const mpl::false_&)
-{
- return boost::math::ellint_2(k, phi, policies::policy<>());
-}
-
-} // detail
-
-// Complete elliptic integral (Legendre form) of the second kind
-template <typename T>
-inline typename tools::promote_args<T>::type ellint_2(T k)
-{
- return ellint_2(k, policies::policy<>());
-}
-
-// Elliptic integral (Legendre form) of the second kind
-template <class T1, class T2>
-inline typename tools::promote_args<T1, T2>::type ellint_2(T1 k, T2 phi)
-{
- typedef typename policies::is_policy<T2>::type tag_type;
- return detail::ellint_2(k, phi, tag_type());
-}
-
-template <class T1, class T2, class Policy>
-inline typename tools::promote_args<T1, T2>::type ellint_2(T1 k, T2 phi, const Policy& pol)
-{
- typedef typename tools::promote_args<T1, T2>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- return policies::checked_narrowing_cast<result_type, Policy>(detail::ellint_e_imp(static_cast<value_type>(phi), static_cast<value_type>(k), pol), "boost::math::ellint_2<%1%>(%1%,%1%)");
-}
-
-}} // namespaces
-
-#endif // BOOST_MATH_ELLINT_2_HPP
-
diff --git a/boost/math/special_functions/ellint_3.hpp b/boost/math/special_functions/ellint_3.hpp
deleted file mode 100644
index 0b5ad5b..0000000
--- a/boost/math/special_functions/ellint_3.hpp
+++ /dev/null
@@ -1,319 +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 <boost/math/special_functions/ellint_rf.hpp>
-#include <boost/math/special_functions/ellint_rj.hpp>
-#include <boost/math/special_functions/ellint_1.hpp>
-#include <boost/math/special_functions/ellint_2.hpp>
-#include <boost/math/special_functions/log1p.hpp>
-#include <boost/math/constants/constants.hpp>
-#include <boost/math/policies/error_handling.hpp>
-#include <boost/math/tools/workaround.hpp>
-#include <boost/math/special_functions/round.hpp>
-
-// Elliptic integrals (complete and incomplete) of the third kind
-// Carlson, Numerische Mathematik, vol 33, 1 (1979)
-
-namespace boost { namespace math {
-
-namespace detail{
-
-template <typename T, typename Policy>
-T ellint_pi_imp(T v, T k, T vc, const Policy& pol);
-
-// Elliptic integral (Legendre form) of the third kind
-template <typename T, typename Policy>
-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<T>(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<T>(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<T>() / 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<T>())
- {
- if(v > 1)
- return policies::raise_domain_error<T>(
- 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<T>();
- }
- else
- {
- T rphi = boost::math::tools::fmod_workaround(T(fabs(phi)), T(constants::half_pi<T>()));
- T m = boost::math::round((fabs(phi) - rphi) / constants::half_pi<T>());
- int sign = 1;
- if(boost::math::tools::fmod_workaround(m, T(2)) > 0.5)
- {
- m += 1;
- sign = -1;
- rphi = constants::half_pi<T>() - 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 <typename T, typename Policy>
-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<T>(function,
- "Got k = %1%, function requires |k| <= 1", k, pol);
- }
- if(vc <= 0)
- {
- // Result is complex:
- return policies::raise_domain_error<T>(function,
- "Got v = %1%, function requires v < 1", v, pol);
- }
-
- if(v == 0)
- {
- return (k == 0) ? boost::math::constants::pi<T>() / 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 <class T1, class T2, class T3>
-inline typename tools::promote_args<T1, T2, T3>::type ellint_3(T1 k, T2 v, T3 phi, const mpl::false_&)
-{
- return boost::math::ellint_3(k, v, phi, policies::policy<>());
-}
-
-template <class T1, class T2, class Policy>
-inline typename tools::promote_args<T1, T2>::type ellint_3(T1 k, T2 v, const Policy& pol, const mpl::true_&)
-{
- typedef typename tools::promote_args<T1, T2>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- return policies::checked_narrowing_cast<result_type, Policy>(
- detail::ellint_pi_imp(
- static_cast<value_type>(v),
- static_cast<value_type>(k),
- static_cast<value_type>(1-v),
- pol), "boost::math::ellint_3<%1%>(%1%,%1%)");
-}
-
-} // namespace detail
-
-template <class T1, class T2, class T3, class Policy>
-inline typename tools::promote_args<T1, T2, T3>::type ellint_3(T1 k, T2 v, T3 phi, const Policy& pol)
-{
- typedef typename tools::promote_args<T1, T2, T3>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- return policies::checked_narrowing_cast<result_type, Policy>(
- detail::ellint_pi_imp(
- static_cast<value_type>(v),
- static_cast<value_type>(phi),
- static_cast<value_type>(k),
- static_cast<value_type>(1-v),
- pol), "boost::math::ellint_3<%1%>(%1%,%1%,%1%)");
-}
-
-template <class T1, class T2, class T3>
-typename detail::ellint_3_result<T1, T2, T3>::type ellint_3(T1 k, T2 v, T3 phi)
-{
- typedef typename policies::is_policy<T3>::type tag_type;
- return detail::ellint_3(k, v, phi, tag_type());
-}
-
-template <class T1, class T2>
-inline typename tools::promote_args<T1, T2>::type ellint_3(T1 k, T2 v)
-{
- return ellint_3(k, v, policies::policy<>());
-}
-
-}} // namespaces
-
-#endif // BOOST_MATH_ELLINT_3_HPP
-
diff --git a/boost/math/special_functions/ellint_rc.hpp b/boost/math/special_functions/ellint_rc.hpp
deleted file mode 100644
index 5f6d5c6..0000000
--- a/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 <boost/math/policies/error_handling.hpp>
-#include <boost/math/tools/config.hpp>
-#include <boost/math/special_functions/math_fwd.hpp>
-
-// 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 <typename T, typename Policy>
-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<T>(function,
- "Argument x must be non-negative but got %1%", x, pol);
- }
- if(y == 0)
- {
- return policies::raise_domain_error<T>(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>(), 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<Policy>());
- // Check to see if we gave up too soon:
- policies::check_series_iterations<T>(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 <class T1, class T2, class Policy>
-inline typename tools::promote_args<T1, T2>::type
- ellint_rc(T1 x, T2 y, const Policy& pol)
-{
- typedef typename tools::promote_args<T1, T2>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- return policies::checked_narrowing_cast<result_type, Policy>(
- detail::ellint_rc_imp(
- static_cast<value_type>(x),
- static_cast<value_type>(y), pol), "boost::math::ellint_rc<%1%>(%1%,%1%)");
-}
-
-template <class T1, class T2>
-inline typename tools::promote_args<T1, T2>::type
- ellint_rc(T1 x, T2 y)
-{
- return ellint_rc(x, y, policies::policy<>());
-}
-
-}} // namespaces
-
-#endif // BOOST_MATH_ELLINT_RC_HPP
-
diff --git a/boost/math/special_functions/ellint_rd.hpp b/boost/math/special_functions/ellint_rd.hpp
deleted file mode 100644
index 61014d3..0000000
--- a/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 <boost/math/special_functions/math_fwd.hpp>
-#include <boost/math/tools/config.hpp>
-#include <boost/math/policies/error_handling.hpp>
-
-// 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 <typename T, typename Policy>
-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<T>(function,
- "Argument x must be >= 0, but got %1%", x, pol);
- }
- if (y < 0)
- {
- return policies::raise_domain_error<T>(function,
- "Argument y must be >= 0, but got %1%", y, pol);
- }
- if (z <= 0)
- {
- return policies::raise_domain_error<T>(function,
- "Argument z must be > 0, but got %1%", z, pol);
- }
- if (x + y == 0)
- {
- return policies::raise_domain_error<T>(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<T>() / 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<Policy>());
-
- // Check to see if we gave up too soon:
- policies::check_series_iterations<T>(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 <class T1, class T2, class T3, class Policy>
-inline typename tools::promote_args<T1, T2, T3>::type
- ellint_rd(T1 x, T2 y, T3 z, const Policy& pol)
-{
- typedef typename tools::promote_args<T1, T2, T3>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- return policies::checked_narrowing_cast<result_type, Policy>(
- detail::ellint_rd_imp(
- static_cast<value_type>(x),
- static_cast<value_type>(y),
- static_cast<value_type>(z), pol), "boost::math::ellint_rd<%1%>(%1%,%1%,%1%)");
-}
-
-template <class T1, class T2, class T3>
-inline typename tools::promote_args<T1, T2, T3>::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/boost/math/special_functions/ellint_rf.hpp b/boost/math/special_functions/ellint_rf.hpp
deleted file mode 100644
index ac57257..0000000
--- a/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 <boost/math/special_functions/math_fwd.hpp>
-#include <boost/math/tools/config.hpp>
-
-#include <boost/math/policies/error_handling.hpp>
-
-// 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 <typename T, typename Policy>
-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<T>(function,
- "domain error, all arguments must be non-negative, "
- "only sensible result is %1%.",
- std::numeric_limits<T>::quiet_NaN(), pol);
- }
- if (x + y == 0 || y + z == 0 || z + x == 0)
- {
- return policies::raise_domain_error<T>(function,
- "domain error, at most one argument can be zero, "
- "only sensible result is %1%.",
- std::numeric_limits<T>::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<T, Policy>() > 64)
- {
- tolerance = pow(tools::epsilon<T>(), T(1)/4.25f);
- BOOST_MATH_INSTRUMENT_VARIABLE(tolerance);
- }
- else
- {
- tolerance = pow(4*tools::epsilon<T>(), 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<Policy>());
-
- // Check to see if we gave up too soon:
- policies::check_series_iterations<T>(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 <class T1, class T2, class T3, class Policy>
-inline typename tools::promote_args<T1, T2, T3>::type
- ellint_rf(T1 x, T2 y, T3 z, const Policy& pol)
-{
- typedef typename tools::promote_args<T1, T2, T3>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- return policies::checked_narrowing_cast<result_type, Policy>(
- detail::ellint_rf_imp(
- static_cast<value_type>(x),
- static_cast<value_type>(y),
- static_cast<value_type>(z), pol), "boost::math::ellint_rf<%1%>(%1%,%1%,%1%)");
-}
-
-template <class T1, class T2, class T3>
-inline typename tools::promote_args<T1, T2, T3>::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/boost/math/special_functions/ellint_rj.hpp b/boost/math/special_functions/ellint_rj.hpp
deleted file mode 100644
index 8a242f0..0000000
--- a/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 <boost/math/special_functions/math_fwd.hpp>
-#include <boost/math/tools/config.hpp>
-#include <boost/math/policies/error_handling.hpp>
-#include <boost/math/special_functions/ellint_rc.hpp>
-#include <boost/math/special_functions/ellint_rf.hpp>
-
-// 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 <typename T, typename Policy>
-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<T>(function,
- "Argument x must be non-negative, but got x = %1%", x, pol);
- }
- if(y < 0)
- {
- return policies::raise_domain_error<T>(function,
- "Argument y must be non-negative, but got y = %1%", y, pol);
- }
- if(z < 0)
- {
- return policies::raise_domain_error<T>(function,
- "Argument z must be non-negative, but got z = %1%", z, pol);
- }
- if(p == 0)
- {
- return policies::raise_domain_error<T>(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<T>(function,
- "At most one argument can be zero, "
- "only possible result is %1%.", std::numeric_limits<T>::quiet_NaN(), pol);
- }
-
- // error scales as the 6th power of tolerance
- tolerance = pow(T(1) * tools::epsilon<T>() / 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<Policy>());
-
- // Check to see if we gave up too soon:
- policies::check_series_iterations<T>(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 <class T1, class T2, class T3, class T4, class Policy>
-inline typename tools::promote_args<T1, T2, T3, T4>::type
- ellint_rj(T1 x, T2 y, T3 z, T4 p, const Policy& pol)
-{
- typedef typename tools::promote_args<T1, T2, T3, T4>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- return policies::checked_narrowing_cast<result_type, Policy>(
- detail::ellint_rj_imp(
- static_cast<value_type>(x),
- static_cast<value_type>(y),
- static_cast<value_type>(z),
- static_cast<value_type>(p),
- pol), "boost::math::ellint_rj<%1%>(%1%,%1%,%1%,%1%)");
-}
-
-template <class T1, class T2, class T3, class T4>
-inline typename tools::promote_args<T1, T2, T3, T4>::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/boost/math/special_functions/erf.hpp b/boost/math/special_functions/erf.hpp
deleted file mode 100644
index 0495407..0000000
--- a/boost/math/special_functions/erf.hpp
+++ /dev/null
@@ -1,1155 +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_SPECIAL_ERF_HPP
-#define BOOST_MATH_SPECIAL_ERF_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/math/special_functions/math_fwd.hpp>
-#include <boost/math/tools/config.hpp>
-#include <boost/math/special_functions/gamma.hpp>
-#include <boost/math/tools/roots.hpp>
-#include <boost/math/policies/error_handling.hpp>
-#include <boost/math/tools/big_constant.hpp>
-
-namespace boost{ namespace math{
-
-namespace detail
-{
-
-//
-// Asymptotic series for large z:
-//
-template <class T>
-struct erf_asympt_series_t
-{
- erf_asympt_series_t(T z) : xx(2 * -z * z), tk(1)
- {
- BOOST_MATH_STD_USING
- result = -exp(-z * z) / sqrt(boost::math::constants::pi<T>());
- result /= z;
- }
-
- typedef T result_type;
-
- T operator()()
- {
- BOOST_MATH_STD_USING
- T r = result;
- result *= tk / xx;
- tk += 2;
- if( fabs(r) < fabs(result))
- result = 0;
- return r;
- }
-private:
- T result;
- T xx;
- int tk;
-};
-//
-// How large z has to be in order to ensure that the series converges:
-//
-template <class T>
-inline float erf_asymptotic_limit_N(const T&)
-{
- return (std::numeric_limits<float>::max)();
-}
-inline float erf_asymptotic_limit_N(const mpl::int_<24>&)
-{
- return 2.8F;
-}
-inline float erf_asymptotic_limit_N(const mpl::int_<53>&)
-{
- return 4.3F;
-}
-inline float erf_asymptotic_limit_N(const mpl::int_<64>&)
-{
- return 4.8F;
-}
-inline float erf_asymptotic_limit_N(const mpl::int_<106>&)
-{
- return 6.5F;
-}
-inline float erf_asymptotic_limit_N(const mpl::int_<113>&)
-{
- return 6.8F;
-}
-
-template <class T, class Policy>
-inline T erf_asymptotic_limit()
-{
- typedef typename policies::precision<T, Policy>::type precision_type;
- typedef typename mpl::if_<
- mpl::less_equal<precision_type, mpl::int_<24> >,
- typename mpl::if_<
- mpl::less_equal<precision_type, mpl::int_<0> >,
- mpl::int_<0>,
- mpl::int_<24>
- >::type,
- typename mpl::if_<
- mpl::less_equal<precision_type, mpl::int_<53> >,
- mpl::int_<53>,
- typename mpl::if_<
- mpl::less_equal<precision_type, mpl::int_<64> >,
- mpl::int_<64>,
- typename mpl::if_<
- mpl::less_equal<precision_type, mpl::int_<106> >,
- mpl::int_<106>,
- typename mpl::if_<
- mpl::less_equal<precision_type, mpl::int_<113> >,
- mpl::int_<113>,
- mpl::int_<0>
- >::type
- >::type
- >::type
- >::type
- >::type tag_type;
- return erf_asymptotic_limit_N(tag_type());
-}
-
-template <class T, class Policy, class Tag>
-T erf_imp(T z, bool invert, const Policy& pol, const Tag& t)
-{
- BOOST_MATH_STD_USING
-
- BOOST_MATH_INSTRUMENT_CODE("Generic erf_imp called");
-
- if(z < 0)
- {
- if(!invert)
- return -erf_imp(T(-z), invert, pol, t);
- else
- return 1 + erf_imp(T(-z), false, pol, t);
- }
-
- T result;
-
- if(!invert && (z > detail::erf_asymptotic_limit<T, Policy>()))
- {
- detail::erf_asympt_series_t<T> s(z);
- boost::uintmax_t max_iter = policies::get_max_series_iterations<Policy>();
- result = boost::math::tools::sum_series(s, policies::get_epsilon<T, Policy>(), max_iter, 1);
- policies::check_series_iterations<T>("boost::math::erf<%1%>(%1%, %1%)", max_iter, pol);
- }
- else
- {
- T x = z * z;
- if(x < 0.6)
- {
- // Compute P:
- result = z * exp(-x);
- result /= sqrt(boost::math::constants::pi<T>());
- if(result != 0)
- result *= 2 * detail::lower_gamma_series(T(0.5f), x, pol);
- }
- else if(x < 1.1f)
- {
- // Compute Q:
- invert = !invert;
- result = tgamma_small_upper_part(T(0.5f), x, pol);
- result /= sqrt(boost::math::constants::pi<T>());
- }
- else
- {
- // Compute Q:
- invert = !invert;
- result = z * exp(-x);
- result /= sqrt(boost::math::constants::pi<T>());
- result *= upper_gamma_fraction(T(0.5f), x, policies::get_epsilon<T, Policy>());
- }
- }
- if(invert)
- result = 1 - result;
- return result;
-}
-
-template <class T, class Policy>
-T erf_imp(T z, bool invert, const Policy& pol, const mpl::int_<53>& t)
-{
- BOOST_MATH_STD_USING
-
- BOOST_MATH_INSTRUMENT_CODE("53-bit precision erf_imp called");
-
- if(z < 0)
- {
- if(!invert)
- return -erf_imp(T(-z), invert, pol, t);
- else if(z < -0.5)
- return 2 - erf_imp(T(-z), invert, pol, t);
- else
- return 1 + erf_imp(T(-z), false, pol, t);
- }
-
- T result;
-
- //
- // Big bunch of selection statements now to pick
- // which implementation to use,
- // try to put most likely options first:
- //
- if(z < 0.5)
- {
- //
- // We're going to calculate erf:
- //
- if(z < 1e-10)
- {
- if(z == 0)
- {
- result = T(0);
- }
- else
- {
- static const T c = BOOST_MATH_BIG_CONSTANT(T, 53, 0.003379167095512573896158903121545171688);
- result = static_cast<T>(z * 1.125f + z * c);
- }
- }
- else
- {
- // Maximum Deviation Found: 1.561e-17
- // Expected Error Term: 1.561e-17
- // Maximum Relative Change in Control Points: 1.155e-04
- // Max Error found at double precision = 2.961182e-17
-
- static const T Y = 1.044948577880859375f;
- static const T P[] = {
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.0834305892146531832907),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.338165134459360935041),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.0509990735146777432841),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.00772758345802133288487),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.000322780120964605683831),
- };
- static const T Q[] = {
- BOOST_MATH_BIG_CONSTANT(T, 53, 1.0),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.455004033050794024546),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.0875222600142252549554),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.00858571925074406212772),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.000370900071787748000569),
- };
- T zz = z * z;
- result = z * (Y + tools::evaluate_polynomial(P, zz) / tools::evaluate_polynomial(Q, zz));
- }
- }
- else if(invert ? (z < 28) : (z < 5.8f))
- {
- //
- // We'll be calculating erfc:
- //
- invert = !invert;
- if(z < 1.5f)
- {
- // Maximum Deviation Found: 3.702e-17
- // Expected Error Term: 3.702e-17
- // Maximum Relative Change in Control Points: 2.845e-04
- // Max Error found at double precision = 4.841816e-17
- static const T Y = 0.405935764312744140625f;
- static const T P[] = {
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.098090592216281240205),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.178114665841120341155),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.191003695796775433986),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.0888900368967884466578),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.0195049001251218801359),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.00180424538297014223957),
- };
- static const T Q[] = {
- BOOST_MATH_BIG_CONSTANT(T, 53, 1.0),
- BOOST_MATH_BIG_CONSTANT(T, 53, 1.84759070983002217845),
- BOOST_MATH_BIG_CONSTANT(T, 53, 1.42628004845511324508),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.578052804889902404909),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.12385097467900864233),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.0113385233577001411017),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.337511472483094676155e-5),
- };
- BOOST_MATH_INSTRUMENT_VARIABLE(Y);
- BOOST_MATH_INSTRUMENT_VARIABLE(P[0]);
- BOOST_MATH_INSTRUMENT_VARIABLE(Q[0]);
- BOOST_MATH_INSTRUMENT_VARIABLE(z);
- result = Y + tools::evaluate_polynomial(P, T(z - 0.5)) / tools::evaluate_polynomial(Q, T(z - 0.5));
- BOOST_MATH_INSTRUMENT_VARIABLE(result);
- result *= exp(-z * z) / z;
- BOOST_MATH_INSTRUMENT_VARIABLE(result);
- }
- else if(z < 2.5f)
- {
- // Max Error found at double precision = 6.599585e-18
- // Maximum Deviation Found: 3.909e-18
- // Expected Error Term: 3.909e-18
- // Maximum Relative Change in Control Points: 9.886e-05
- static const T Y = 0.50672817230224609375f;
- static const T P[] = {
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.0243500476207698441272),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.0386540375035707201728),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.04394818964209516296),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.0175679436311802092299),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.00323962406290842133584),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.000235839115596880717416),
- };
- static const T Q[] = {
- BOOST_MATH_BIG_CONSTANT(T, 53, 1),
- BOOST_MATH_BIG_CONSTANT(T, 53, 1.53991494948552447182),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.982403709157920235114),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.325732924782444448493),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.0563921837420478160373),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.00410369723978904575884),
- };
- result = Y + tools::evaluate_polynomial(P, T(z - 1.5)) / tools::evaluate_polynomial(Q, T(z - 1.5));
- result *= exp(-z * z) / z;
- }
- else if(z < 4.5f)
- {
- // Maximum Deviation Found: 1.512e-17
- // Expected Error Term: 1.512e-17
- // Maximum Relative Change in Control Points: 2.222e-04
- // Max Error found at double precision = 2.062515e-17
- static const T Y = 0.5405750274658203125f;
- static const T P[] = {
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.00295276716530971662634),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.0137384425896355332126),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.00840807615555585383007),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.00212825620914618649141),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.000250269961544794627958),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.113212406648847561139e-4),
- };
- static const T Q[] = {
- BOOST_MATH_BIG_CONSTANT(T, 53, 1),
- BOOST_MATH_BIG_CONSTANT(T, 53, 1.04217814166938418171),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.442597659481563127003),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.0958492726301061423444),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.0105982906484876531489),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.000479411269521714493907),
- };
- result = Y + tools::evaluate_polynomial(P, T(z - 3.5)) / tools::evaluate_polynomial(Q, T(z - 3.5));
- result *= exp(-z * z) / z;
- }
- else
- {
- // Max Error found at double precision = 2.997958e-17
- // Maximum Deviation Found: 2.860e-17
- // Expected Error Term: 2.859e-17
- // Maximum Relative Change in Control Points: 1.357e-05
- static const T Y = 0.5579090118408203125f;
- static const T P[] = {
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.00628057170626964891937),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.0175389834052493308818),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.212652252872804219852),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.687717681153649930619),
- BOOST_MATH_BIG_CONSTANT(T, 53, -2.5518551727311523996),
- BOOST_MATH_BIG_CONSTANT(T, 53, -3.22729451764143718517),
- BOOST_MATH_BIG_CONSTANT(T, 53, -2.8175401114513378771),
- };
- static const T Q[] = {
- BOOST_MATH_BIG_CONSTANT(T, 53, 1),
- BOOST_MATH_BIG_CONSTANT(T, 53, 2.79257750980575282228),
- BOOST_MATH_BIG_CONSTANT(T, 53, 11.0567237927800161565),
- BOOST_MATH_BIG_CONSTANT(T, 53, 15.930646027911794143),
- BOOST_MATH_BIG_CONSTANT(T, 53, 22.9367376522880577224),
- BOOST_MATH_BIG_CONSTANT(T, 53, 13.5064170191802889145),
- BOOST_MATH_BIG_CONSTANT(T, 53, 5.48409182238641741584),
- };
- result = Y + tools::evaluate_polynomial(P, T(1 / z)) / tools::evaluate_polynomial(Q, T(1 / z));
- result *= exp(-z * z) / z;
- }
- }
- else
- {
- //
- // Any value of z larger than 28 will underflow to zero:
- //
- result = 0;
- invert = !invert;
- }
-
- if(invert)
- {
- result = 1 - result;
- }
-
- return result;
-} // template <class T, class Lanczos>T erf_imp(T z, bool invert, const Lanczos& l, const mpl::int_<53>& t)
-
-
-template <class T, class Policy>
-T erf_imp(T z, bool invert, const Policy& pol, const mpl::int_<64>& t)
-{
- BOOST_MATH_STD_USING
-
- BOOST_MATH_INSTRUMENT_CODE("64-bit precision erf_imp called");
-
- if(z < 0)
- {
- if(!invert)
- return -erf_imp(T(-z), invert, pol, t);
- else if(z < -0.5)
- return 2 - erf_imp(T(-z), invert, pol, t);
- else
- return 1 + erf_imp(T(-z), false, pol, t);
- }
-
- T result;
-
- //
- // Big bunch of selection statements now to pick which
- // implementation to use, try to put most likely options
- // first:
- //
- if(z < 0.5)
- {
- //
- // We're going to calculate erf:
- //
- if(z == 0)
- {
- result = 0;
- }
- else if(z < 1e-10)
- {
- static const T c = BOOST_MATH_BIG_CONSTANT(T, 64, 0.003379167095512573896158903121545171688);
- result = z * 1.125 + z * c;
- }
- else
- {
- // Max Error found at long double precision = 1.623299e-20
- // Maximum Deviation Found: 4.326e-22
- // Expected Error Term: -4.326e-22
- // Maximum Relative Change in Control Points: 1.474e-04
- static const T Y = 1.044948577880859375f;
- static const T P[] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.0834305892146531988966),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.338097283075565413695),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.0509602734406067204596),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.00904906346158537794396),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.000489468651464798669181),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.200305626366151877759e-4),
- };
- static const T Q[] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, 1),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.455817300515875172439),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.0916537354356241792007),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.0102722652675910031202),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.000650511752687851548735),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.189532519105655496778e-4),
- };
- result = z * (Y + tools::evaluate_polynomial(P, T(z * z)) / tools::evaluate_polynomial(Q, T(z * z)));
- }
- }
- else if(invert ? (z < 110) : (z < 6.4f))
- {
- //
- // We'll be calculating erfc:
- //
- invert = !invert;
- if(z < 1.5)
- {
- // Max Error found at long double precision = 3.239590e-20
- // Maximum Deviation Found: 2.241e-20
- // Expected Error Term: -2.241e-20
- // Maximum Relative Change in Control Points: 5.110e-03
- static const T Y = 0.405935764312744140625f;
- static const T P[] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.0980905922162812031672),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.159989089922969141329),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.222359821619935712378),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.127303921703577362312),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.0384057530342762400273),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.00628431160851156719325),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.000441266654514391746428),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.266689068336295642561e-7),
- };
- static const T Q[] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, 1),
- BOOST_MATH_BIG_CONSTANT(T, 64, 2.03237474985469469291),
- BOOST_MATH_BIG_CONSTANT(T, 64, 1.78355454954969405222),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.867940326293760578231),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.248025606990021698392),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.0396649631833002269861),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.00279220237309449026796),
- };
- result = Y + tools::evaluate_polynomial(P, T(z - 0.5f)) / tools::evaluate_polynomial(Q, T(z - 0.5f));
- result *= exp(-z * z) / z;
- }
- else if(z < 2.5)
- {
- // Max Error found at long double precision = 3.686211e-21
- // Maximum Deviation Found: 1.495e-21
- // Expected Error Term: -1.494e-21
- // Maximum Relative Change in Control Points: 1.793e-04
- static const T Y = 0.50672817230224609375f;
- static const T P[] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.024350047620769840217),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.0343522687935671451309),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.0505420824305544949541),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.0257479325917757388209),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.00669349844190354356118),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.00090807914416099524444),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.515917266698050027934e-4),
- };
- static const T Q[] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, 1),
- BOOST_MATH_BIG_CONSTANT(T, 64, 1.71657861671930336344),
- BOOST_MATH_BIG_CONSTANT(T, 64, 1.26409634824280366218),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.512371437838969015941),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.120902623051120950935),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.0158027197831887485261),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.000897871370778031611439),
- };
- result = Y + tools::evaluate_polynomial(P, T(z - 1.5f)) / tools::evaluate_polynomial(Q, T(z - 1.5f));
- result *= exp(-z * z) / z;
- }
- else if(z < 4.5)
- {
- // Maximum Deviation Found: 1.107e-20
- // Expected Error Term: -1.106e-20
- // Maximum Relative Change in Control Points: 1.709e-04
- // Max Error found at long double precision = 1.446908e-20
- static const T Y = 0.5405750274658203125f;
- static const T P[] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.0029527671653097284033),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.0141853245895495604051),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.0104959584626432293901),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.00343963795976100077626),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.00059065441194877637899),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.523435380636174008685e-4),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.189896043050331257262e-5),
- };
- static const T Q[] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, 1),
- BOOST_MATH_BIG_CONSTANT(T, 64, 1.19352160185285642574),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.603256964363454392857),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.165411142458540585835),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.0259729870946203166468),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.00221657568292893699158),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.804149464190309799804e-4),
- };
- result = Y + tools::evaluate_polynomial(P, T(z - 3.5f)) / tools::evaluate_polynomial(Q, T(z - 3.5f));
- result *= exp(-z * z) / z;
- }
- else
- {
- // Max Error found at long double precision = 7.961166e-21
- // Maximum Deviation Found: 6.677e-21
- // Expected Error Term: 6.676e-21
- // Maximum Relative Change in Control Points: 2.319e-05
- static const T Y = 0.55825519561767578125f;
- static const T P[] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.00593438793008050214106),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.0280666231009089713937),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.141597835204583050043),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.978088201154300548842),
- BOOST_MATH_BIG_CONSTANT(T, 64, -5.47351527796012049443),
- BOOST_MATH_BIG_CONSTANT(T, 64, -13.8677304660245326627),
- BOOST_MATH_BIG_CONSTANT(T, 64, -27.1274948720539821722),
- BOOST_MATH_BIG_CONSTANT(T, 64, -29.2545152747009461519),
- BOOST_MATH_BIG_CONSTANT(T, 64, -16.8865774499799676937),
- };
- static const T Q[] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, 1),
- BOOST_MATH_BIG_CONSTANT(T, 64, 4.72948911186645394541),
- BOOST_MATH_BIG_CONSTANT(T, 64, 23.6750543147695749212),
- BOOST_MATH_BIG_CONSTANT(T, 64, 60.0021517335693186785),
- BOOST_MATH_BIG_CONSTANT(T, 64, 131.766251645149522868),
- BOOST_MATH_BIG_CONSTANT(T, 64, 178.167924971283482513),
- BOOST_MATH_BIG_CONSTANT(T, 64, 182.499390505915222699),
- BOOST_MATH_BIG_CONSTANT(T, 64, 104.365251479578577989),
- BOOST_MATH_BIG_CONSTANT(T, 64, 30.8365511891224291717),
- };
- result = Y + tools::evaluate_polynomial(P, T(1 / z)) / tools::evaluate_polynomial(Q, T(1 / z));
- result *= exp(-z * z) / z;
- }
- }
- else
- {
- //
- // Any value of z larger than 110 will underflow to zero:
- //
- result = 0;
- invert = !invert;
- }
-
- if(invert)
- {
- result = 1 - result;
- }
-
- return result;
-} // template <class T, class Lanczos>T erf_imp(T z, bool invert, const Lanczos& l, const mpl::int_<64>& t)
-
-
-template <class T, class Policy>
-T erf_imp(T z, bool invert, const Policy& pol, const mpl::int_<113>& t)
-{
- BOOST_MATH_STD_USING
-
- BOOST_MATH_INSTRUMENT_CODE("113-bit precision erf_imp called");
-
- if(z < 0)
- {
- if(!invert)
- return -erf_imp(T(-z), invert, pol, t);
- else if(z < -0.5)
- return 2 - erf_imp(T(-z), invert, pol, t);
- else
- return 1 + erf_imp(T(-z), false, pol, t);
- }
-
- T result;
-
- //
- // Big bunch of selection statements now to pick which
- // implementation to use, try to put most likely options
- // first:
- //
- if(z < 0.5)
- {
- //
- // We're going to calculate erf:
- //
- if(z == 0)
- {
- result = 0;
- }
- else if(z < 1e-20)
- {
- static const T c = BOOST_MATH_BIG_CONSTANT(T, 113, 0.003379167095512573896158903121545171688);
- result = z * 1.125 + z * c;
- }
- else
- {
- // Max Error found at long double precision = 2.342380e-35
- // Maximum Deviation Found: 6.124e-36
- // Expected Error Term: -6.124e-36
- // Maximum Relative Change in Control Points: 3.492e-10
- static const T Y = 1.0841522216796875f;
- static const T P[] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0442269454158250738961589031215451778),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.35549265736002144875335323556961233),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.0582179564566667896225454670863270393),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.0112694696904802304229950538453123925),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.000805730648981801146251825329609079099),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.566304966591936566229702842075966273e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.169655010425186987820201021510002265e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.344448249920445916714548295433198544e-7),
- };
- static const T Q[] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 1),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.466542092785657604666906909196052522),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.100005087012526447295176964142107611),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0128341535890117646540050072234142603),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00107150448466867929159660677016658186),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.586168368028999183607733369248338474e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.196230608502104324965623171516808796e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.313388521582925207734229967907890146e-7),
- };
- result = z * (Y + tools::evaluate_polynomial(P, T(z * z)) / tools::evaluate_polynomial(Q, T(z * z)));
- }
- }
- else if(invert ? (z < 110) : (z < 8.65f))
- {
- //
- // We'll be calculating erfc:
- //
- invert = !invert;
- if(z < 1)
- {
- // Max Error found at long double precision = 3.246278e-35
- // Maximum Deviation Found: 1.388e-35
- // Expected Error Term: 1.387e-35
- // Maximum Relative Change in Control Points: 6.127e-05
- static const T Y = 0.371877193450927734375f;
- static const T P[] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.0640320213544647969396032886581290455),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.200769874440155895637857443946706731),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.378447199873537170666487408805779826),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.30521399466465939450398642044975127),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.146890026406815277906781824723458196),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0464837937749539978247589252732769567),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00987895759019540115099100165904822903),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00137507575429025512038051025154301132),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0001144764551085935580772512359680516),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.436544865032836914773944382339900079e-5),
- };
- static const T Q[] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 1),
- BOOST_MATH_BIG_CONSTANT(T, 113, 2.47651182872457465043733800302427977),
- BOOST_MATH_BIG_CONSTANT(T, 113, 2.78706486002517996428836400245547955),
- BOOST_MATH_BIG_CONSTANT(T, 113, 1.87295924621659627926365005293130693),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.829375825174365625428280908787261065),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.251334771307848291593780143950311514),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0522110268876176186719436765734722473),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00718332151250963182233267040106902368),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.000595279058621482041084986219276392459),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.226988669466501655990637599399326874e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.270666232259029102353426738909226413e-10),
- };
- result = Y + tools::evaluate_polynomial(P, T(z - 0.5f)) / tools::evaluate_polynomial(Q, T(z - 0.5f));
- result *= exp(-z * z) / z;
- }
- else if(z < 1.5)
- {
- // Max Error found at long double precision = 2.215785e-35
- // Maximum Deviation Found: 1.539e-35
- // Expected Error Term: 1.538e-35
- // Maximum Relative Change in Control Points: 6.104e-05
- static const T Y = 0.45658016204833984375f;
- static const T P[] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.0289965858925328393392496555094848345),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0868181194868601184627743162571779226),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.169373435121178901746317404936356745),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.13350446515949251201104889028133486),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0617447837290183627136837688446313313),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0185618495228251406703152962489700468),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00371949406491883508764162050169531013),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.000485121708792921297742105775823900772),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.376494706741453489892108068231400061e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.133166058052466262415271732172490045e-5),
- };
- static const T Q[] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 1),
- BOOST_MATH_BIG_CONSTANT(T, 113, 2.32970330146503867261275580968135126),
- BOOST_MATH_BIG_CONSTANT(T, 113, 2.46325715420422771961250513514928746),
- BOOST_MATH_BIG_CONSTANT(T, 113, 1.55307882560757679068505047390857842),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.644274289865972449441174485441409076),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.182609091063258208068606847453955649),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0354171651271241474946129665801606795),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00454060370165285246451879969534083997),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.000349871943711566546821198612518656486),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.123749319840299552925421880481085392e-4),
- };
- result = Y + tools::evaluate_polynomial(P, T(z - 1.0f)) / tools::evaluate_polynomial(Q, T(z - 1.0f));
- result *= exp(-z * z) / z;
- }
- else if(z < 2.25)
- {
- // Maximum Deviation Found: 1.418e-35
- // Expected Error Term: 1.418e-35
- // Maximum Relative Change in Control Points: 1.316e-04
- // Max Error found at long double precision = 1.998462e-35
- static const T Y = 0.50250148773193359375f;
- static const T P[] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.0201233630504573402185161184151016606),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0331864357574860196516686996302305002),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0716562720864787193337475444413405461),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0545835322082103985114927569724880658),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0236692635189696678976549720784989593),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00656970902163248872837262539337601845),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00120282643299089441390490459256235021),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.000142123229065182650020762792081622986),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.991531438367015135346716277792989347e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.312857043762117596999398067153076051e-6),
- };
- static const T Q[] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 1),
- BOOST_MATH_BIG_CONSTANT(T, 113, 2.13506082409097783827103424943508554),
- BOOST_MATH_BIG_CONSTANT(T, 113, 2.06399257267556230937723190496806215),
- BOOST_MATH_BIG_CONSTANT(T, 113, 1.18678481279932541314830499880691109),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.447733186643051752513538142316799562),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.11505680005657879437196953047542148),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.020163993632192726170219663831914034),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00232708971840141388847728782209730585),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.000160733201627963528519726484608224112),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.507158721790721802724402992033269266e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.18647774409821470950544212696270639e-12),
- };
- result = Y + tools::evaluate_polynomial(P, T(z - 1.5f)) / tools::evaluate_polynomial(Q, T(z - 1.5f));
- result *= exp(-z * z) / z;
- }
- else if (z < 3)
- {
- // Maximum Deviation Found: 3.575e-36
- // Expected Error Term: 3.575e-36
- // Maximum Relative Change in Control Points: 7.103e-05
- // Max Error found at long double precision = 5.794737e-36
- static const T Y = 0.52896785736083984375f;
- static const T P[] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.00902152521745813634562524098263360074),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0145207142776691539346923710537580927),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0301681239582193983824211995978678571),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0215548540823305814379020678660434461),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00864683476267958365678294164340749949),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00219693096885585491739823283511049902),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.000364961639163319762492184502159894371),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.388174251026723752769264051548703059e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.241918026931789436000532513553594321e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.676586625472423508158937481943649258e-7),
- };
- static const T Q[] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 1),
- BOOST_MATH_BIG_CONSTANT(T, 113, 1.93669171363907292305550231764920001),
- BOOST_MATH_BIG_CONSTANT(T, 113, 1.69468476144051356810672506101377494),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.880023580986436640372794392579985511),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.299099106711315090710836273697708402),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0690593962363545715997445583603382337),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0108427016361318921960863149875360222),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00111747247208044534520499324234317695),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.686843205749767250666787987163701209e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.192093541425429248675532015101904262e-5),
- };
- result = Y + tools::evaluate_polynomial(P, T(z - 2.25f)) / tools::evaluate_polynomial(Q, T(z - 2.25f));
- result *= exp(-z * z) / z;
- }
- else if(z < 3.5)
- {
- // Maximum Deviation Found: 8.126e-37
- // Expected Error Term: -8.126e-37
- // Maximum Relative Change in Control Points: 1.363e-04
- // Max Error found at long double precision = 1.747062e-36
- static const T Y = 0.54037380218505859375f;
- static const T P[] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.0033703486408887424921155540591370375),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0104948043110005245215286678898115811),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0148530118504000311502310457390417795),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00816693029245443090102738825536188916),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00249716579989140882491939681805594585),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0004655591010047353023978045800916647),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.531129557920045295895085236636025323e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.343526765122727069515775194111741049e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.971120407556888763695313774578711839e-7),
- };
- static const T Q[] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 1),
- BOOST_MATH_BIG_CONSTANT(T, 113, 1.59911256167540354915906501335919317),
- BOOST_MATH_BIG_CONSTANT(T, 113, 1.136006830764025173864831382946934),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.468565867990030871678574840738423023),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.122821824954470343413956476900662236),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0209670914950115943338996513330141633),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00227845718243186165620199012883547257),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.000144243326443913171313947613547085553),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.407763415954267700941230249989140046e-5),
- };
- result = Y + tools::evaluate_polynomial(P, T(z - 3.0f)) / tools::evaluate_polynomial(Q, T(z - 3.0f));
- result *= exp(-z * z) / z;
- }
- else if(z < 5.5)
- {
- // Maximum Deviation Found: 5.804e-36
- // Expected Error Term: -5.803e-36
- // Maximum Relative Change in Control Points: 2.475e-05
- // Max Error found at long double precision = 1.349545e-35
- static const T Y = 0.55000019073486328125f;
- static const T P[] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00118142849742309772151454518093813615),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0072201822885703318172366893469382745),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0078782276276860110721875733778481505),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00418229166204362376187593976656261146),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00134198400587769200074194304298642705),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.000283210387078004063264777611497435572),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.405687064094911866569295610914844928e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.39348283801568113807887364414008292e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.248798540917787001526976889284624449e-6),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.929502490223452372919607105387474751e-8),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.156161469668275442569286723236274457e-9),
- };
- static const T Q[] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 1),
- BOOST_MATH_BIG_CONSTANT(T, 113, 1.52955245103668419479878456656709381),
- BOOST_MATH_BIG_CONSTANT(T, 113, 1.06263944820093830054635017117417064),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.441684612681607364321013134378316463),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.121665258426166960049773715928906382),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0232134512374747691424978642874321434),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00310778180686296328582860464875562636),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.000288361770756174705123674838640161693),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.177529187194133944622193191942300132e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.655068544833064069223029299070876623e-6),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.11005507545746069573608988651927452e-7),
- };
- result = Y + tools::evaluate_polynomial(P, T(z - 4.5f)) / tools::evaluate_polynomial(Q, T(z - 4.5f));
- result *= exp(-z * z) / z;
- }
- else if(z < 7.5)
- {
- // Maximum Deviation Found: 1.007e-36
- // Expected Error Term: 1.007e-36
- // Maximum Relative Change in Control Points: 1.027e-03
- // Max Error found at long double precision = 2.646420e-36
- static const T Y = 0.5574436187744140625f;
- static const T P[] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.000293236907400849056269309713064107674),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00225110719535060642692275221961480162),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00190984458121502831421717207849429799),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.000747757733460111743833929141001680706),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.000170663175280949889583158597373928096),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.246441188958013822253071608197514058e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.229818000860544644974205957895688106e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.134886977703388748488480980637704864e-6),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.454764611880548962757125070106650958e-8),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.673002744115866600294723141176820155e-10),
- };
- static const T Q[] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 1),
- BOOST_MATH_BIG_CONSTANT(T, 113, 1.12843690320861239631195353379313367),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.569900657061622955362493442186537259),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.169094404206844928112348730277514273),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0324887449084220415058158657252147063),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00419252877436825753042680842608219552),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00036344133176118603523976748563178578),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.204123895931375107397698245752850347e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.674128352521481412232785122943508729e-6),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.997637501418963696542159244436245077e-8),
- };
- result = Y + tools::evaluate_polynomial(P, T(z - 6.5f)) / tools::evaluate_polynomial(Q, T(z - 6.5f));
- result *= exp(-z * z) / z;
- }
- else if(z < 11.5)
- {
- // Maximum Deviation Found: 8.380e-36
- // Expected Error Term: 8.380e-36
- // Maximum Relative Change in Control Points: 2.632e-06
- // Max Error found at long double precision = 9.849522e-36
- static const T Y = 0.56083202362060546875f;
- static const T P[] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.000282420728751494363613829834891390121),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00175387065018002823433704079355125161),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0021344978564889819420775336322920375),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00124151356560137532655039683963075661),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.000423600733566948018555157026862139644),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.914030340865175237133613697319509698e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.126999927156823363353809747017945494e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.110610959842869849776179749369376402e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.55075079477173482096725348704634529e-7),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.119735694018906705225870691331543806e-8),
- };
- static const T Q[] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 1),
- BOOST_MATH_BIG_CONSTANT(T, 113, 1.69889613396167354566098060039549882),
- BOOST_MATH_BIG_CONSTANT(T, 113, 1.28824647372749624464956031163282674),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.572297795434934493541628008224078717),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.164157697425571712377043857240773164),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0315311145224594430281219516531649562),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00405588922155632380812945849777127458),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.000336929033691445666232029762868642417),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.164033049810404773469413526427932109e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.356615210500531410114914617294694857e-6),
- };
- result = Y + tools::evaluate_polynomial(P, T(z / 2 - 4.75f)) / tools::evaluate_polynomial(Q, T(z / 2 - 4.75f));
- result *= exp(-z * z) / z;
- }
- else
- {
- // Maximum Deviation Found: 1.132e-35
- // Expected Error Term: -1.132e-35
- // Maximum Relative Change in Control Points: 4.674e-04
- // Max Error found at long double precision = 1.162590e-35
- static const T Y = 0.5632686614990234375f;
- static const T P[] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.000920922048732849448079451574171836943),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00321439044532288750501700028748922439),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.250455263029390118657884864261823431),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.906807635364090342031792404764598142),
- BOOST_MATH_BIG_CONSTANT(T, 113, -8.92233572835991735876688745989985565),
- BOOST_MATH_BIG_CONSTANT(T, 113, -21.7797433494422564811782116907878495),
- BOOST_MATH_BIG_CONSTANT(T, 113, -91.1451915251976354349734589601171659),
- BOOST_MATH_BIG_CONSTANT(T, 113, -144.1279109655993927069052125017673),
- BOOST_MATH_BIG_CONSTANT(T, 113, -313.845076581796338665519022313775589),
- BOOST_MATH_BIG_CONSTANT(T, 113, -273.11378811923343424081101235736475),
- BOOST_MATH_BIG_CONSTANT(T, 113, -271.651566205951067025696102600443452),
- BOOST_MATH_BIG_CONSTANT(T, 113, -60.0530577077238079968843307523245547),
- };
- static const T Q[] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 1),
- BOOST_MATH_BIG_CONSTANT(T, 113, 3.49040448075464744191022350947892036),
- BOOST_MATH_BIG_CONSTANT(T, 113, 34.3563592467165971295915749548313227),
- BOOST_MATH_BIG_CONSTANT(T, 113, 84.4993232033879023178285731843850461),
- BOOST_MATH_BIG_CONSTANT(T, 113, 376.005865281206894120659401340373818),
- BOOST_MATH_BIG_CONSTANT(T, 113, 629.95369438888946233003926191755125),
- BOOST_MATH_BIG_CONSTANT(T, 113, 1568.35771983533158591604513304269098),
- BOOST_MATH_BIG_CONSTANT(T, 113, 1646.02452040831961063640827116581021),
- BOOST_MATH_BIG_CONSTANT(T, 113, 2299.96860633240298708910425594484895),
- BOOST_MATH_BIG_CONSTANT(T, 113, 1222.73204392037452750381340219906374),
- BOOST_MATH_BIG_CONSTANT(T, 113, 799.359797306084372350264298361110448),
- BOOST_MATH_BIG_CONSTANT(T, 113, 72.7415265778588087243442792401576737),
- };
- result = Y + tools::evaluate_polynomial(P, T(1 / z)) / tools::evaluate_polynomial(Q, T(1 / z));
- result *= exp(-z * z) / z;
- }
- }
- else
- {
- //
- // Any value of z larger than 110 will underflow to zero:
- //
- result = 0;
- invert = !invert;
- }
-
- if(invert)
- {
- result = 1 - result;
- }
-
- return result;
-} // template <class T, class Lanczos>T erf_imp(T z, bool invert, const Lanczos& l, const mpl::int_<113>& t)
-
-template <class T, class Policy, class tag>
-struct erf_initializer
-{
- struct init
- {
- init()
- {
- do_init(tag());
- }
- static void do_init(const mpl::int_<0>&){}
- static void do_init(const mpl::int_<53>&)
- {
- boost::math::erf(static_cast<T>(1e-12), Policy());
- boost::math::erf(static_cast<T>(0.25), Policy());
- boost::math::erf(static_cast<T>(1.25), Policy());
- boost::math::erf(static_cast<T>(2.25), Policy());
- boost::math::erf(static_cast<T>(4.25), Policy());
- boost::math::erf(static_cast<T>(5.25), Policy());
- }
- static void do_init(const mpl::int_<64>&)
- {
- boost::math::erf(static_cast<T>(1e-12), Policy());
- boost::math::erf(static_cast<T>(0.25), Policy());
- boost::math::erf(static_cast<T>(1.25), Policy());
- boost::math::erf(static_cast<T>(2.25), Policy());
- boost::math::erf(static_cast<T>(4.25), Policy());
- boost::math::erf(static_cast<T>(5.25), Policy());
- }
- static void do_init(const mpl::int_<113>&)
- {
- boost::math::erf(static_cast<T>(1e-22), Policy());
- boost::math::erf(static_cast<T>(0.25), Policy());
- boost::math::erf(static_cast<T>(1.25), Policy());
- boost::math::erf(static_cast<T>(2.125), Policy());
- boost::math::erf(static_cast<T>(2.75), Policy());
- boost::math::erf(static_cast<T>(3.25), Policy());
- boost::math::erf(static_cast<T>(5.25), Policy());
- boost::math::erf(static_cast<T>(7.25), Policy());
- boost::math::erf(static_cast<T>(11.25), Policy());
- boost::math::erf(static_cast<T>(12.5), Policy());
- }
- void force_instantiate()const{}
- };
- static const init initializer;
- static void force_instantiate()
- {
- initializer.force_instantiate();
- }
-};
-
-template <class T, class Policy, class tag>
-const typename erf_initializer<T, Policy, tag>::init erf_initializer<T, Policy, tag>::initializer;
-
-} // namespace detail
-
-template <class T, class Policy>
-inline typename tools::promote_args<T>::type erf(T z, const Policy& /* pol */)
-{
- typedef typename tools::promote_args<T>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename policies::precision<result_type, Policy>::type precision_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
-
- BOOST_MATH_INSTRUMENT_CODE("result_type = " << typeid(result_type).name());
- BOOST_MATH_INSTRUMENT_CODE("value_type = " << typeid(value_type).name());
- BOOST_MATH_INSTRUMENT_CODE("precision_type = " << typeid(precision_type).name());
-
- typedef typename mpl::if_<
- mpl::less_equal<precision_type, mpl::int_<0> >,
- mpl::int_<0>,
- typename mpl::if_<
- mpl::less_equal<precision_type, mpl::int_<53> >,
- mpl::int_<53>, // double
- typename mpl::if_<
- mpl::less_equal<precision_type, mpl::int_<64> >,
- mpl::int_<64>, // 80-bit long double
- typename mpl::if_<
- mpl::less_equal<precision_type, mpl::int_<113> >,
- mpl::int_<113>, // 128-bit long double
- mpl::int_<0> // too many bits, use generic version.
- >::type
- >::type
- >::type
- >::type tag_type;
-
- BOOST_MATH_INSTRUMENT_CODE("tag_type = " << typeid(tag_type).name());
-
- detail::erf_initializer<value_type, forwarding_policy, tag_type>::force_instantiate(); // Force constants to be initialized before main
-
- return policies::checked_narrowing_cast<result_type, forwarding_policy>(detail::erf_imp(
- static_cast<value_type>(z),
- false,
- forwarding_policy(),
- tag_type()), "boost::math::erf<%1%>(%1%, %1%)");
-}
-
-template <class T, class Policy>
-inline typename tools::promote_args<T>::type erfc(T z, const Policy& /* pol */)
-{
- typedef typename tools::promote_args<T>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename policies::precision<result_type, Policy>::type precision_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
-
- BOOST_MATH_INSTRUMENT_CODE("result_type = " << typeid(result_type).name());
- BOOST_MATH_INSTRUMENT_CODE("value_type = " << typeid(value_type).name());
- BOOST_MATH_INSTRUMENT_CODE("precision_type = " << typeid(precision_type).name());
-
- typedef typename mpl::if_<
- mpl::less_equal<precision_type, mpl::int_<0> >,
- mpl::int_<0>,
- typename mpl::if_<
- mpl::less_equal<precision_type, mpl::int_<53> >,
- mpl::int_<53>, // double
- typename mpl::if_<
- mpl::less_equal<precision_type, mpl::int_<64> >,
- mpl::int_<64>, // 80-bit long double
- typename mpl::if_<
- mpl::less_equal<precision_type, mpl::int_<113> >,
- mpl::int_<113>, // 128-bit long double
- mpl::int_<0> // too many bits, use generic version.
- >::type
- >::type
- >::type
- >::type tag_type;
-
- BOOST_MATH_INSTRUMENT_CODE("tag_type = " << typeid(tag_type).name());
-
- detail::erf_initializer<value_type, forwarding_policy, tag_type>::force_instantiate(); // Force constants to be initialized before main
-
- return policies::checked_narrowing_cast<result_type, forwarding_policy>(detail::erf_imp(
- static_cast<value_type>(z),
- true,
- forwarding_policy(),
- tag_type()), "boost::math::erfc<%1%>(%1%, %1%)");
-}
-
-template <class T>
-inline typename tools::promote_args<T>::type erf(T z)
-{
- return boost::math::erf(z, policies::policy<>());
-}
-
-template <class T>
-inline typename tools::promote_args<T>::type erfc(T z)
-{
- return boost::math::erfc(z, policies::policy<>());
-}
-
-} // namespace math
-} // namespace boost
-
-#include <boost/math/special_functions/detail/erf_inv.hpp>
-
-#endif // BOOST_MATH_SPECIAL_ERF_HPP
-
-
-
-
diff --git a/boost/math/special_functions/expint.hpp b/boost/math/special_functions/expint.hpp
deleted file mode 100644
index 1c86d28..0000000
--- a/boost/math/special_functions/expint.hpp
+++ /dev/null
@@ -1,1671 +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)
-
-#ifndef BOOST_MATH_EXPINT_HPP
-#define BOOST_MATH_EXPINT_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/math/tools/precision.hpp>
-#include <boost/math/tools/promotion.hpp>
-#include <boost/math/tools/fraction.hpp>
-#include <boost/math/tools/series.hpp>
-#include <boost/math/policies/error_handling.hpp>
-#include <boost/math/special_functions/digamma.hpp>
-#include <boost/math/special_functions/log1p.hpp>
-#include <boost/math/special_functions/pow.hpp>
-
-namespace boost{ namespace math{
-
-template <class T, class Policy>
-inline typename tools::promote_args<T>::type
- expint(unsigned n, T z, const Policy& /*pol*/);
-
-namespace detail{
-
-template <class T>
-inline T expint_1_rational(const T& z, const mpl::int_<0>&)
-{
- // this function is never actually called
- BOOST_ASSERT(0);
- return z;
-}
-
-template <class T>
-T expint_1_rational(const T& z, const mpl::int_<53>&)
-{
- BOOST_MATH_STD_USING
- T result;
- if(z <= 1)
- {
- // Maximum Deviation Found: 2.006e-18
- // Expected Error Term: 2.006e-18
- // Max error found at double precision: 2.760e-17
- static const T Y = 0.66373538970947265625F;
- static const T P[6] = {
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.0865197248079397976498),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.0320913665303559189999),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.245088216639761496153),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.0368031736257943745142),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.00399167106081113256961),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.000111507792921197858394)
- };
- static const T Q[6] = {
- BOOST_MATH_BIG_CONSTANT(T, 53, 1),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.37091387659397013215),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.056770677104207528384),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.00427347600017103698101),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.000131049900798434683324),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.528611029520217142048e-6)
- };
- result = tools::evaluate_polynomial(P, z)
- / tools::evaluate_polynomial(Q, z);
- result += z - log(z) - Y;
- }
- else if(z < -boost::math::tools::log_min_value<T>())
- {
- // Maximum Deviation Found (interpolated): 1.444e-17
- // Max error found at double precision: 3.119e-17
- static const T P[11] = {
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.121013190657725568138e-18),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.999999999999998811143),
- BOOST_MATH_BIG_CONSTANT(T, 53, -43.3058660811817946037),
- BOOST_MATH_BIG_CONSTANT(T, 53, -724.581482791462469795),
- BOOST_MATH_BIG_CONSTANT(T, 53, -6046.8250112711035463),
- BOOST_MATH_BIG_CONSTANT(T, 53, -27182.6254466733970467),
- BOOST_MATH_BIG_CONSTANT(T, 53, -66598.2652345418633509),
- BOOST_MATH_BIG_CONSTANT(T, 53, -86273.1567711649528784),
- BOOST_MATH_BIG_CONSTANT(T, 53, -54844.4587226402067411),
- BOOST_MATH_BIG_CONSTANT(T, 53, -14751.4895786128450662),
- BOOST_MATH_BIG_CONSTANT(T, 53, -1185.45720315201027667)
- };
- static const T Q[12] = {
- BOOST_MATH_BIG_CONSTANT(T, 53, 1),
- BOOST_MATH_BIG_CONSTANT(T, 53, 45.3058660811801465927),
- BOOST_MATH_BIG_CONSTANT(T, 53, 809.193214954550328455),
- BOOST_MATH_BIG_CONSTANT(T, 53, 7417.37624454689546708),
- BOOST_MATH_BIG_CONSTANT(T, 53, 38129.5594484818471461),
- BOOST_MATH_BIG_CONSTANT(T, 53, 113057.05869159631492),
- BOOST_MATH_BIG_CONSTANT(T, 53, 192104.047790227984431),
- BOOST_MATH_BIG_CONSTANT(T, 53, 180329.498380501819718),
- BOOST_MATH_BIG_CONSTANT(T, 53, 86722.3403467334749201),
- BOOST_MATH_BIG_CONSTANT(T, 53, 18455.4124737722049515),
- BOOST_MATH_BIG_CONSTANT(T, 53, 1229.20784182403048905),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.776491285282330997549)
- };
- T recip = 1 / z;
- result = 1 + tools::evaluate_polynomial(P, recip)
- / tools::evaluate_polynomial(Q, recip);
- result *= exp(-z) * recip;
- }
- else
- {
- result = 0;
- }
- return result;
-}
-
-template <class T>
-T expint_1_rational(const T& z, const mpl::int_<64>&)
-{
- BOOST_MATH_STD_USING
- T result;
- if(z <= 1)
- {
- // Maximum Deviation Found: 3.807e-20
- // Expected Error Term: 3.807e-20
- // Max error found at long double precision: 6.249e-20
-
- static const T Y = 0.66373538970947265625F;
- static const T P[6] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.0865197248079397956816),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.0275114007037026844633),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.246594388074877139824),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.0237624819878732642231),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.00259113319641673986276),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.30853660894346057053e-4)
- };
- static const T Q[7] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, 1),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.317978365797784100273),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.0393622602554758722511),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.00204062029115966323229),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.732512107100088047854e-5),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.202872781770207871975e-5),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.52779248094603709945e-7)
- };
- result = tools::evaluate_polynomial(P, z)
- / tools::evaluate_polynomial(Q, z);
- result += z - log(z) - Y;
- }
- else if(z < -boost::math::tools::log_min_value<T>())
- {
- // Maximum Deviation Found (interpolated): 2.220e-20
- // Max error found at long double precision: 1.346e-19
- static const T P[14] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.534401189080684443046e-23),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.999999999999999999905),
- BOOST_MATH_BIG_CONSTANT(T, 64, -62.1517806091379402505),
- BOOST_MATH_BIG_CONSTANT(T, 64, -1568.45688271895145277),
- BOOST_MATH_BIG_CONSTANT(T, 64, -21015.3431990874009619),
- BOOST_MATH_BIG_CONSTANT(T, 64, -164333.011755931661949),
- BOOST_MATH_BIG_CONSTANT(T, 64, -777917.270775426696103),
- BOOST_MATH_BIG_CONSTANT(T, 64, -2244188.56195255112937),
- BOOST_MATH_BIG_CONSTANT(T, 64, -3888702.98145335643429),
- BOOST_MATH_BIG_CONSTANT(T, 64, -3909822.65621952648353),
- BOOST_MATH_BIG_CONSTANT(T, 64, -2149033.9538897398457),
- BOOST_MATH_BIG_CONSTANT(T, 64, -584705.537139793925189),
- BOOST_MATH_BIG_CONSTANT(T, 64, -65815.2605361889477244),
- BOOST_MATH_BIG_CONSTANT(T, 64, -2038.82870680427258038)
- };
- static const T Q[14] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, 1),
- BOOST_MATH_BIG_CONSTANT(T, 64, 64.1517806091379399478),
- BOOST_MATH_BIG_CONSTANT(T, 64, 1690.76044393722763785),
- BOOST_MATH_BIG_CONSTANT(T, 64, 24035.9534033068949426),
- BOOST_MATH_BIG_CONSTANT(T, 64, 203679.998633572361706),
- BOOST_MATH_BIG_CONSTANT(T, 64, 1074661.58459976978285),
- BOOST_MATH_BIG_CONSTANT(T, 64, 3586552.65020899358773),
- BOOST_MATH_BIG_CONSTANT(T, 64, 7552186.84989547621411),
- BOOST_MATH_BIG_CONSTANT(T, 64, 9853333.79353054111434),
- BOOST_MATH_BIG_CONSTANT(T, 64, 7689642.74550683631258),
- BOOST_MATH_BIG_CONSTANT(T, 64, 3385553.35146759180739),
- BOOST_MATH_BIG_CONSTANT(T, 64, 763218.072732396428725),
- BOOST_MATH_BIG_CONSTANT(T, 64, 73930.2995984054930821),
- BOOST_MATH_BIG_CONSTANT(T, 64, 2063.86994219629165937)
- };
- T recip = 1 / z;
- result = 1 + tools::evaluate_polynomial(P, recip)
- / tools::evaluate_polynomial(Q, recip);
- result *= exp(-z) * recip;
- }
- else
- {
- result = 0;
- }
- return result;
-}
-
-template <class T>
-T expint_1_rational(const T& z, const mpl::int_<113>&)
-{
- BOOST_MATH_STD_USING
- T result;
- if(z <= 1)
- {
- // Maximum Deviation Found: 2.477e-35
- // Expected Error Term: 2.477e-35
- // Max error found at long double precision: 6.810e-35
-
- static const T Y = 0.66373538970947265625F;
- static const T P[10] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0865197248079397956434879099175975937),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0369066175910795772830865304506087759),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.24272036838415474665971599314725545),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.0502166331248948515282379137550178307),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.00768384138547489410285101483730424919),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.000612574337702109683505224915484717162),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.380207107950635046971492617061708534e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.136528159460768830763009294683628406e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.346839106212658259681029388908658618e-7),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.340500302777838063940402160594523429e-9)
- };
- static const T Q[10] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 1),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.426568827778942588160423015589537302),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0841384046470893490592450881447510148),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0100557215850668029618957359471132995),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.000799334870474627021737357294799839363),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.434452090903862735242423068552687688e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.15829674748799079874182885081231252e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.354406206738023762100882270033082198e-7),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.369373328141051577845488477377890236e-9),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.274149801370933606409282434677600112e-12)
- };
- result = tools::evaluate_polynomial(P, z)
- / tools::evaluate_polynomial(Q, z);
- result += z - log(z) - Y;
- }
- else if(z <= 4)
- {
- // Max error in interpolated form: 5.614e-35
- // Max error found at long double precision: 7.979e-35
-
- static const T Y = 0.70190334320068359375F;
-
- static const T P[16] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.298096656795020369955077350585959794),
- BOOST_MATH_BIG_CONSTANT(T, 113, 12.9314045995266142913135497455971247),
- BOOST_MATH_BIG_CONSTANT(T, 113, 226.144334921582637462526628217345501),
- BOOST_MATH_BIG_CONSTANT(T, 113, 2070.83670924261732722117682067381405),
- BOOST_MATH_BIG_CONSTANT(T, 113, 10715.1115684330959908244769731347186),
- BOOST_MATH_BIG_CONSTANT(T, 113, 30728.7876355542048019664777316053311),
- BOOST_MATH_BIG_CONSTANT(T, 113, 38520.6078609349855436936232610875297),
- BOOST_MATH_BIG_CONSTANT(T, 113, -27606.0780981527583168728339620565165),
- BOOST_MATH_BIG_CONSTANT(T, 113, -169026.485055785605958655247592604835),
- BOOST_MATH_BIG_CONSTANT(T, 113, -254361.919204983608659069868035092282),
- BOOST_MATH_BIG_CONSTANT(T, 113, -195765.706874132267953259272028679935),
- BOOST_MATH_BIG_CONSTANT(T, 113, -83352.6826013533205474990119962408675),
- BOOST_MATH_BIG_CONSTANT(T, 113, -19251.6828496869586415162597993050194),
- BOOST_MATH_BIG_CONSTANT(T, 113, -2226.64251774578542836725386936102339),
- BOOST_MATH_BIG_CONSTANT(T, 113, -109.009437301400845902228611986479816),
- BOOST_MATH_BIG_CONSTANT(T, 113, -1.51492042209561411434644938098833499)
- };
- static const T Q[16] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 1),
- BOOST_MATH_BIG_CONSTANT(T, 113, 46.734521442032505570517810766704587),
- BOOST_MATH_BIG_CONSTANT(T, 113, 908.694714348462269000247450058595655),
- BOOST_MATH_BIG_CONSTANT(T, 113, 9701.76053033673927362784882748513195),
- BOOST_MATH_BIG_CONSTANT(T, 113, 63254.2815292641314236625196594947774),
- BOOST_MATH_BIG_CONSTANT(T, 113, 265115.641285880437335106541757711092),
- BOOST_MATH_BIG_CONSTANT(T, 113, 732707.841188071900498536533086567735),
- BOOST_MATH_BIG_CONSTANT(T, 113, 1348514.02492635723327306628712057794),
- BOOST_MATH_BIG_CONSTANT(T, 113, 1649986.81455283047769673308781585991),
- BOOST_MATH_BIG_CONSTANT(T, 113, 1326000.828522976970116271208812099),
- BOOST_MATH_BIG_CONSTANT(T, 113, 683643.09490612171772350481773951341),
- BOOST_MATH_BIG_CONSTANT(T, 113, 217640.505137263607952365685653352229),
- BOOST_MATH_BIG_CONSTANT(T, 113, 40288.3467237411710881822569476155485),
- BOOST_MATH_BIG_CONSTANT(T, 113, 3932.89353979531632559232883283175754),
- BOOST_MATH_BIG_CONSTANT(T, 113, 169.845369689596739824177412096477219),
- BOOST_MATH_BIG_CONSTANT(T, 113, 2.17607292280092201170768401876895354)
- };
- T recip = 1 / z;
- result = Y + tools::evaluate_polynomial(P, recip)
- / tools::evaluate_polynomial(Q, recip);
- result *= exp(-z) * recip;
- }
- else if(z < -boost::math::tools::log_min_value<T>())
- {
- // Max error in interpolated form: 4.413e-35
- // Max error found at long double precision: 8.928e-35
-
- static const T P[19] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.559148411832951463689610809550083986e-40),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.999999999999999999999999999999999997),
- BOOST_MATH_BIG_CONSTANT(T, 113, -166.542326331163836642960118190147367),
- BOOST_MATH_BIG_CONSTANT(T, 113, -12204.639128796330005065904675153652),
- BOOST_MATH_BIG_CONSTANT(T, 113, -520807.069767086071806275022036146855),
- BOOST_MATH_BIG_CONSTANT(T, 113, -14435981.5242137970691490903863125326),
- BOOST_MATH_BIG_CONSTANT(T, 113, -274574945.737064301247496460758654196),
- BOOST_MATH_BIG_CONSTANT(T, 113, -3691611582.99810039356254671781473079),
- BOOST_MATH_BIG_CONSTANT(T, 113, -35622515944.8255047299363690814678763),
- BOOST_MATH_BIG_CONSTANT(T, 113, -248040014774.502043161750715548451142),
- BOOST_MATH_BIG_CONSTANT(T, 113, -1243190389769.53458416330946622607913),
- BOOST_MATH_BIG_CONSTANT(T, 113, -4441730126135.54739052731990368425339),
- BOOST_MATH_BIG_CONSTANT(T, 113, -11117043181899.7388524310281751971366),
- BOOST_MATH_BIG_CONSTANT(T, 113, -18976497615396.9717776601813519498961),
- BOOST_MATH_BIG_CONSTANT(T, 113, -21237496819711.1011661104761906067131),
- BOOST_MATH_BIG_CONSTANT(T, 113, -14695899122092.5161620333466757812848),
- BOOST_MATH_BIG_CONSTANT(T, 113, -5737221535080.30569711574295785864903),
- BOOST_MATH_BIG_CONSTANT(T, 113, -1077042281708.42654526404581272546244),
- BOOST_MATH_BIG_CONSTANT(T, 113, -68028222642.1941480871395695677675137)
- };
- static const T Q[20] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 1),
- BOOST_MATH_BIG_CONSTANT(T, 113, 168.542326331163836642960118190147311),
- BOOST_MATH_BIG_CONSTANT(T, 113, 12535.7237814586576783518249115343619),
- BOOST_MATH_BIG_CONSTANT(T, 113, 544891.263372016404143120911148640627),
- BOOST_MATH_BIG_CONSTANT(T, 113, 15454474.7241010258634446523045237762),
- BOOST_MATH_BIG_CONSTANT(T, 113, 302495899.896629522673410325891717381),
- BOOST_MATH_BIG_CONSTANT(T, 113, 4215565948.38886507646911672693270307),
- BOOST_MATH_BIG_CONSTANT(T, 113, 42552409471.7951815668506556705733344),
- BOOST_MATH_BIG_CONSTANT(T, 113, 313592377066.753173979584098301610186),
- BOOST_MATH_BIG_CONSTANT(T, 113, 1688763640223.4541980740597514904542),
- BOOST_MATH_BIG_CONSTANT(T, 113, 6610992294901.59589748057620192145704),
- BOOST_MATH_BIG_CONSTANT(T, 113, 18601637235659.6059890851321772682606),
- BOOST_MATH_BIG_CONSTANT(T, 113, 36944278231087.2571020964163402941583),
- BOOST_MATH_BIG_CONSTANT(T, 113, 50425858518481.7497071917028793820058),
- BOOST_MATH_BIG_CONSTANT(T, 113, 45508060902865.0899967797848815980644),
- BOOST_MATH_BIG_CONSTANT(T, 113, 25649955002765.3817331501988304758142),
- BOOST_MATH_BIG_CONSTANT(T, 113, 8259575619094.6518520988612711292331),
- BOOST_MATH_BIG_CONSTANT(T, 113, 1299981487496.12607474362723586264515),
- BOOST_MATH_BIG_CONSTANT(T, 113, 70242279152.8241187845178443118302693),
- BOOST_MATH_BIG_CONSTANT(T, 113, -37633302.9409263839042721539363416685)
- };
- T recip = 1 / z;
- result = 1 + tools::evaluate_polynomial(P, recip)
- / tools::evaluate_polynomial(Q, recip);
- result *= exp(-z) * recip;
- }
- else
- {
- result = 0;
- }
- return result;
-}
-
-template <class T>
-struct expint_fraction
-{
- typedef std::pair<T,T> result_type;
- expint_fraction(unsigned n_, T z_) : b(n_ + z_), i(-1), n(n_){}
- std::pair<T,T> operator()()
- {
- std::pair<T,T> result = std::make_pair(-static_cast<T>((i+1) * (n+i)), b);
- b += 2;
- ++i;
- return result;
- }
-private:
- T b;
- int i;
- unsigned n;
-};
-
-template <class T, class Policy>
-inline T expint_as_fraction(unsigned n, T z, const Policy& pol)
-{
- BOOST_MATH_STD_USING
- BOOST_MATH_INSTRUMENT_VARIABLE(z)
- boost::uintmax_t max_iter = policies::get_max_series_iterations<Policy>();
- expint_fraction<T> f(n, z);
- T result = tools::continued_fraction_b(
- f,
- boost::math::policies::get_epsilon<T, Policy>(),
- max_iter);
- policies::check_series_iterations<T>("boost::math::expint_continued_fraction<%1%>(unsigned,%1%)", max_iter, pol);
- BOOST_MATH_INSTRUMENT_VARIABLE(result)
- BOOST_MATH_INSTRUMENT_VARIABLE(max_iter)
- result = exp(-z) / result;
- BOOST_MATH_INSTRUMENT_VARIABLE(result)
- return result;
-}
-
-template <class T>
-struct expint_series
-{
- typedef T result_type;
- expint_series(unsigned k_, T z_, T x_k_, T denom_, T fact_)
- : k(k_), z(z_), x_k(x_k_), denom(denom_), fact(fact_){}
- T operator()()
- {
- x_k *= -z;
- denom += 1;
- fact *= ++k;
- return x_k / (denom * fact);
- }
-private:
- unsigned k;
- T z;
- T x_k;
- T denom;
- T fact;
-};
-
-template <class T, class Policy>
-inline T expint_as_series(unsigned n, T z, const Policy& pol)
-{
- BOOST_MATH_STD_USING
- boost::uintmax_t max_iter = policies::get_max_series_iterations<Policy>();
-
- BOOST_MATH_INSTRUMENT_VARIABLE(z)
-
- T result = 0;
- T x_k = -1;
- T denom = T(1) - n;
- T fact = 1;
- unsigned k = 0;
- for(; k < n - 1;)
- {
- result += x_k / (denom * fact);
- denom += 1;
- x_k *= -z;
- fact *= ++k;
- }
- BOOST_MATH_INSTRUMENT_VARIABLE(result)
- result += pow(-z, static_cast<T>(n - 1))
- * (boost::math::digamma(static_cast<T>(n)) - log(z)) / fact;
- BOOST_MATH_INSTRUMENT_VARIABLE(result)
-
- expint_series<T> s(k, z, x_k, denom, fact);
- result = tools::sum_series(s, policies::get_epsilon<T, Policy>(), max_iter, result);
- policies::check_series_iterations<T>("boost::math::expint_series<%1%>(unsigned,%1%)", max_iter, pol);
- BOOST_MATH_INSTRUMENT_VARIABLE(result)
- BOOST_MATH_INSTRUMENT_VARIABLE(max_iter)
- return result;
-}
-
-template <class T, class Policy, class Tag>
-T expint_imp(unsigned n, T z, const Policy& pol, const Tag& tag)
-{
- BOOST_MATH_STD_USING
- static const char* function = "boost::math::expint<%1%>(unsigned, %1%)";
- if(z < 0)
- return policies::raise_domain_error<T>(function, "Function requires z >= 0 but got %1%.", z, pol);
- if(z == 0)
- return n == 1 ? policies::raise_overflow_error<T>(function, 0, pol) : T(1 / (static_cast<T>(n - 1)));
-
- T result;
-
- bool f;
- if(n < 3)
- {
- f = z < 0.5;
- }
- else
- {
- f = z < (static_cast<T>(n - 2) / static_cast<T>(n - 1));
- }
-#ifdef BOOST_MSVC
-# pragma warning(push)
-# pragma warning(disable:4127) // conditional expression is constant
-#endif
- if(n == 0)
- result = exp(-z) / z;
- else if((n == 1) && (Tag::value))
- {
- result = expint_1_rational(z, tag);
- }
- else if(f)
- result = expint_as_series(n, z, pol);
- else
- result = expint_as_fraction(n, z, pol);
-#ifdef BOOST_MSVC
-# pragma warning(pop)
-#endif
-
- return result;
-}
-
-template <class T>
-struct expint_i_series
-{
- typedef T result_type;
- expint_i_series(T z_) : k(0), z_k(1), z(z_){}
- T operator()()
- {
- z_k *= z / ++k;
- return z_k / k;
- }
-private:
- unsigned k;
- T z_k;
- T z;
-};
-
-template <class T, class Policy>
-T expint_i_as_series(T z, const Policy& pol)
-{
- BOOST_MATH_STD_USING
- T result = log(z); // (log(z) - log(1 / z)) / 2;
- result += constants::euler<T>();
- expint_i_series<T> s(z);
- boost::uintmax_t max_iter = policies::get_max_series_iterations<Policy>();
- result = tools::sum_series(s, policies::get_epsilon<T, Policy>(), max_iter, result);
- policies::check_series_iterations<T>("boost::math::expint_i_series<%1%>(%1%)", max_iter, pol);
- return result;
-}
-
-template <class T, class Policy, class Tag>
-T expint_i_imp(T z, const Policy& pol, const Tag& tag)
-{
- static const char* function = "boost::math::expint<%1%>(%1%)";
- if(z < 0)
- return -expint_imp(1, T(-z), pol, tag);
- if(z == 0)
- return -policies::raise_overflow_error<T>(function, 0, pol);
- return expint_i_as_series(z, pol);
-}
-
-template <class T, class Policy>
-T expint_i_imp(T z, const Policy& pol, const mpl::int_<53>& tag)
-{
- BOOST_MATH_STD_USING
- static const char* function = "boost::math::expint<%1%>(%1%)";
- if(z < 0)
- return -expint_imp(1, T(-z), pol, tag);
- if(z == 0)
- return -policies::raise_overflow_error<T>(function, 0, pol);
-
- T result;
-
- if(z <= 6)
- {
- // Maximum Deviation Found: 2.852e-18
- // Expected Error Term: 2.852e-18
- // Max Error found at double precision = Poly: 2.636335e-16 Cheb: 4.187027e-16
- static const T P[10] = {
- BOOST_MATH_BIG_CONSTANT(T, 53, 2.98677224343598593013),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.356343618769377415068),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.780836076283730801839),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.114670926327032002811),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.0499434773576515260534),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.00726224593341228159561),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.00115478237227804306827),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.000116419523609765200999),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.798296365679269702435e-5),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.2777056254402008721e-6)
- };
- static const T Q[8] = {
- BOOST_MATH_BIG_CONSTANT(T, 53, 1),
- BOOST_MATH_BIG_CONSTANT(T, 53, -1.17090412365413911947),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.62215109846016746276),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.195114782069495403315),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.0391523431392967238166),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.00504800158663705747345),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.000389034007436065401822),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.138972589601781706598e-4)
- };
-
- static const T c1 = BOOST_MATH_BIG_CONSTANT(T, 53, 1677624236387711.0);
- static const T c2 = BOOST_MATH_BIG_CONSTANT(T, 53, 4503599627370496.0);
- static const T r1 = static_cast<T>(c1 / c2);
- static const T r2 = BOOST_MATH_BIG_CONSTANT(T, 53, 0.131401834143860282009280387409357165515556574352422001206362e-16);
- static const T r = static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 53, 0.372507410781366634461991866580119133535689497771654051555657435242200120636201854384926049951548942392));
- T t = (z / 3) - 1;
- result = tools::evaluate_polynomial(P, t)
- / tools::evaluate_polynomial(Q, t);
- t = (z - r1) - r2;
- result *= t;
- if(fabs(t) < 0.1)
- {
- result += boost::math::log1p(t / r);
- }
- else
- {
- result += log(z / r);
- }
- }
- else if (z <= 10)
- {
- // Maximum Deviation Found: 6.546e-17
- // Expected Error Term: 6.546e-17
- // Max Error found at double precision = Poly: 6.890169e-17 Cheb: 6.772128e-17
- static const T Y = 1.158985137939453125F;
- static const T P[8] = {
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.00139324086199402804173),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.0349921221823888744966),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.0264095520754134848538),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.00761224003005476438412),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.00247496209592143627977),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.000374885917942100256775),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.554086272024881826253e-4),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.396487648924804510056e-5)
- };
- static const T Q[8] = {
- BOOST_MATH_BIG_CONSTANT(T, 53, 1),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.744625566823272107711),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.329061095011767059236),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.100128624977313872323),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.0223851099128506347278),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.00365334190742316650106),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.000402453408512476836472),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.263649630720255691787e-4)
- };
- T t = z / 2 - 4;
- result = Y + tools::evaluate_polynomial(P, t)
- / tools::evaluate_polynomial(Q, t);
- result *= exp(z) / z;
- result += z;
- }
- else if(z <= 20)
- {
- // Maximum Deviation Found: 1.843e-17
- // Expected Error Term: -1.842e-17
- // Max Error found at double precision = Poly: 4.375868e-17 Cheb: 5.860967e-17
-
- static const T Y = 1.0869731903076171875F;
- static const T P[9] = {
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.00893891094356945667451),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.0484607730127134045806),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.0652810444222236895772),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.0478447572647309671455),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.0226059218923777094596),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.00720603636917482065907),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.00155941947035972031334),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.000209750022660200888349),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.138652200349182596186e-4)
- };
- static const T Q[9] = {
- BOOST_MATH_BIG_CONSTANT(T, 53, 1),
- BOOST_MATH_BIG_CONSTANT(T, 53, 1.97017214039061194971),
- BOOST_MATH_BIG_CONSTANT(T, 53, 1.86232465043073157508),
- BOOST_MATH_BIG_CONSTANT(T, 53, 1.09601437090337519977),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.438873285773088870812),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.122537731979686102756),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.0233458478275769288159),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.00278170769163303669021),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.000159150281166108755531)
- };
- T t = z / 5 - 3;
- result = Y + tools::evaluate_polynomial(P, t)
- / tools::evaluate_polynomial(Q, t);
- result *= exp(z) / z;
- result += z;
- }
- else if(z <= 40)
- {
- // Maximum Deviation Found: 5.102e-18
- // Expected Error Term: 5.101e-18
- // Max Error found at double precision = Poly: 1.441088e-16 Cheb: 1.864792e-16
-
-
- static const T Y = 1.03937530517578125F;
- static const T P[9] = {
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.00356165148914447597995),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.0229930320357982333406),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.0449814350482277917716),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.0453759383048193402336),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.0272050837209380717069),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.00994403059883350813295),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.00207592267812291726961),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.000192178045857733706044),
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.113161784705911400295e-9)
- };
- static const T Q[9] = {
- BOOST_MATH_BIG_CONSTANT(T, 53, 1),
- BOOST_MATH_BIG_CONSTANT(T, 53, 2.84354408840148561131),
- BOOST_MATH_BIG_CONSTANT(T, 53, 3.6599610090072393012),
- BOOST_MATH_BIG_CONSTANT(T, 53, 2.75088464344293083595),
- BOOST_MATH_BIG_CONSTANT(T, 53, 1.2985244073998398643),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.383213198510794507409),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.0651165455496281337831),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.00488071077519227853585)
- };
- T t = z / 10 - 3;
- result = Y + tools::evaluate_polynomial(P, t)
- / tools::evaluate_polynomial(Q, t);
- result *= exp(z) / z;
- result += z;
- }
- else
- {
- // Max Error found at double precision = 3.381886e-17
- static const T exp40 = static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 53, 2.35385266837019985407899910749034804508871617254555467236651e17));
- static const T Y= 1.013065338134765625F;
- static const T P[6] = {
- BOOST_MATH_BIG_CONSTANT(T, 53, -0.0130653381347656243849),
- BOOST_MATH_BIG_CONSTANT(T, 53, 0.19029710559486576682),
- BOOST_MATH_BIG_CONSTANT(T, 53, 94.7365094537197236011),
- BOOST_MATH_BIG_CONSTANT(T, 53, -2516.35323679844256203),
- BOOST_MATH_BIG_CONSTANT(T, 53, 18932.0850014925993025),
- BOOST_MATH_BIG_CONSTANT(T, 53, -38703.1431362056714134)
- };
- static const T Q[7] = {
- BOOST_MATH_BIG_CONSTANT(T, 53, 1),
- BOOST_MATH_BIG_CONSTANT(T, 53, 61.9733592849439884145),
- BOOST_MATH_BIG_CONSTANT(T, 53, -2354.56211323420194283),
- BOOST_MATH_BIG_CONSTANT(T, 53, 22329.1459489893079041),
- BOOST_MATH_BIG_CONSTANT(T, 53, -70126.245140396567133),
- BOOST_MATH_BIG_CONSTANT(T, 53, 54738.2833147775537106),
- BOOST_MATH_BIG_CONSTANT(T, 53, 8297.16296356518409347)
- };
- T t = 1 / z;
- result = Y + tools::evaluate_polynomial(P, t)
- / tools::evaluate_polynomial(Q, t);
- if(z < 41)
- result *= exp(z) / z;
- else
- {
- // Avoid premature overflow if we can:
- t = z - 40;
- if(t > tools::log_max_value<T>())
- {
- result = policies::raise_overflow_error<T>(function, 0, pol);
- }
- else
- {
- result *= exp(z - 40) / z;
- if(result > tools::max_value<T>() / exp40)
- {
- result = policies::raise_overflow_error<T>(function, 0, pol);
- }
- else
- {
- result *= exp40;
- }
- }
- }
- result += z;
- }
- return result;
-}
-
-template <class T, class Policy>
-T expint_i_imp(T z, const Policy& pol, const mpl::int_<64>& tag)
-{
- BOOST_MATH_STD_USING
- static const char* function = "boost::math::expint<%1%>(%1%)";
- if(z < 0)
- return -expint_imp(1, T(-z), pol, tag);
- if(z == 0)
- return -policies::raise_overflow_error<T>(function, 0, pol);
-
- T result;
-
- if(z <= 6)
- {
- // Maximum Deviation Found: 3.883e-21
- // Expected Error Term: 3.883e-21
- // Max Error found at long double precision = Poly: 3.344801e-19 Cheb: 4.989937e-19
-
- static const T P[11] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, 2.98677224343598593764),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.25891613550886736592),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.789323584998672832285),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.092432587824602399339),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.0514236978728625906656),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.00658477469745132977921),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.00124914538197086254233),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.000131429679565472408551),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.11293331317982763165e-4),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.629499283139417444244e-6),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.177833045143692498221e-7)
- };
- static const T Q[9] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, 1),
- BOOST_MATH_BIG_CONSTANT(T, 64, -1.20352377969742325748),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.66707904942606479811),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.223014531629140771914),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.0493340022262908008636),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.00741934273050807310677),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.00074353567782087939294),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.455861727069603367656e-4),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.131515429329812837701e-5)
- };
-
- static const T c1 = BOOST_MATH_BIG_CONSTANT(T, 64, 1677624236387711.0);
- static const T c2 = BOOST_MATH_BIG_CONSTANT(T, 64, 4503599627370496.0);
- static const T r1 = c1 / c2;
- static const T r2 = BOOST_MATH_BIG_CONSTANT(T, 64, 0.131401834143860282009280387409357165515556574352422001206362e-16);
- static const T r = static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 0.372507410781366634461991866580119133535689497771654051555657435242200120636201854384926049951548942392));
- T t = (z / 3) - 1;
- result = tools::evaluate_polynomial(P, t)
- / tools::evaluate_polynomial(Q, t);
- t = (z - r1) - r2;
- result *= t;
- if(fabs(t) < 0.1)
- {
- result += boost::math::log1p(t / r);
- }
- else
- {
- result += log(z / r);
- }
- }
- else if (z <= 10)
- {
- // Maximum Deviation Found: 2.622e-21
- // Expected Error Term: -2.622e-21
- // Max Error found at long double precision = Poly: 1.208328e-20 Cheb: 1.073723e-20
-
- static const T Y = 1.158985137939453125F;
- static const T P[9] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.00139324086199409049399),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.0345238388952337563247),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.0382065278072592940767),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.0156117003070560727392),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.00383276012430495387102),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.000697070540945496497992),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.877310384591205930343e-4),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.623067256376494930067e-5),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.377246883283337141444e-6)
- };
- static const T Q[10] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, 1),
- BOOST_MATH_BIG_CONSTANT(T, 64, 1.08073635708902053767),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.553681133533942532909),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.176763647137553797451),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.0387891748253869928121),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.0060603004848394727017),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.000670519492939992806051),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.4947357050100855646e-4),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.204339282037446434827e-5),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.146951181174930425744e-7)
- };
- T t = z / 2 - 4;
- result = Y + tools::evaluate_polynomial(P, t)
- / tools::evaluate_polynomial(Q, t);
- result *= exp(z) / z;
- result += z;
- }
- else if(z <= 20)
- {
- // Maximum Deviation Found: 3.220e-20
- // Expected Error Term: 3.220e-20
- // Max Error found at long double precision = Poly: 7.696841e-20 Cheb: 6.205163e-20
-
-
- static const T Y = 1.0869731903076171875F;
- static const T P[10] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.00893891094356946995368),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.0487562980088748775943),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.0670568657950041926085),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.0509577352851442932713),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.02551800927409034206),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.00892913759760086687083),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.00224469630207344379888),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.000392477245911296982776),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.44424044184395578775e-4),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.252788029251437017959e-5)
- };
- static const T Q[10] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, 1),
- BOOST_MATH_BIG_CONSTANT(T, 64, 2.00323265503572414261),
- BOOST_MATH_BIG_CONSTANT(T, 64, 1.94688958187256383178),
- BOOST_MATH_BIG_CONSTANT(T, 64, 1.19733638134417472296),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.513137726038353385661),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.159135395578007264547),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.0358233587351620919881),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.0056716655597009417875),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.000577048986213535829925),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.290976943033493216793e-4)
- };
- T t = z / 5 - 3;
- result = Y + tools::evaluate_polynomial(P, t)
- / tools::evaluate_polynomial(Q, t);
- result *= exp(z) / z;
- result += z;
- }
- else if(z <= 40)
- {
- // Maximum Deviation Found: 2.940e-21
- // Expected Error Term: -2.938e-21
- // Max Error found at long double precision = Poly: 3.419893e-19 Cheb: 3.359874e-19
-
- static const T Y = 1.03937530517578125F;
- static const T P[12] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.00356165148914447278177),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.0240235006148610849678),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.0516699967278057976119),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.0586603078706856245674),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.0409960120868776180825),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.0185485073689590665153),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.00537842101034123222417),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.000920988084778273760609),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.716742618812210980263e-4),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.504623302166487346677e-9),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.712662196671896837736e-10),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.533769629702262072175e-11)
- };
- static const T Q[9] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, 1),
- BOOST_MATH_BIG_CONSTANT(T, 64, 3.13286733695729715455),
- BOOST_MATH_BIG_CONSTANT(T, 64, 4.49281223045653491929),
- BOOST_MATH_BIG_CONSTANT(T, 64, 3.84900294427622911374),
- BOOST_MATH_BIG_CONSTANT(T, 64, 2.15205199043580378211),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.802912186540269232424),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.194793170017818925388),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.0280128013584653182994),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.00182034930799902922549)
- };
- T t = z / 10 - 3;
- result = Y + tools::evaluate_polynomial(P, t)
- / tools::evaluate_polynomial(Q, t);
- BOOST_MATH_INSTRUMENT_VARIABLE(result)
- result *= exp(z) / z;
- BOOST_MATH_INSTRUMENT_VARIABLE(result)
- result += z;
- BOOST_MATH_INSTRUMENT_VARIABLE(result)
- }
- else
- {
- // Maximum Deviation Found: 3.536e-20
- // Max Error found at long double precision = Poly: 1.310671e-19 Cheb: 8.630943e-11
-
- static const T exp40 = static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 2.35385266837019985407899910749034804508871617254555467236651e17));
- static const T Y= 1.013065338134765625F;
- static const T P[9] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.0130653381347656250004),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.644487780349757303739),
- BOOST_MATH_BIG_CONSTANT(T, 64, 143.995670348227433964),
- BOOST_MATH_BIG_CONSTANT(T, 64, -13918.9322758014173709),
- BOOST_MATH_BIG_CONSTANT(T, 64, 476260.975133624194484),
- BOOST_MATH_BIG_CONSTANT(T, 64, -7437102.15135982802122),
- BOOST_MATH_BIG_CONSTANT(T, 64, 53732298.8764767916542),
- BOOST_MATH_BIG_CONSTANT(T, 64, -160695051.957997452509),
- BOOST_MATH_BIG_CONSTANT(T, 64, 137839271.592778020028)
- };
- static const T Q[9] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, 1),
- BOOST_MATH_BIG_CONSTANT(T, 64, 27.2103343964943718802),
- BOOST_MATH_BIG_CONSTANT(T, 64, -8785.48528692879413676),
- BOOST_MATH_BIG_CONSTANT(T, 64, 397530.290000322626766),
- BOOST_MATH_BIG_CONSTANT(T, 64, -7356441.34957799368252),
- BOOST_MATH_BIG_CONSTANT(T, 64, 63050914.5343400957524),
- BOOST_MATH_BIG_CONSTANT(T, 64, -246143779.638307701369),
- BOOST_MATH_BIG_CONSTANT(T, 64, 384647824.678554961174),
- BOOST_MATH_BIG_CONSTANT(T, 64, -166288297.874583961493)
- };
- T t = 1 / z;
- result = Y + tools::evaluate_polynomial(P, t)
- / tools::evaluate_polynomial(Q, t);
- if(z < 41)
- result *= exp(z) / z;
- else
- {
- // Avoid premature overflow if we can:
- t = z - 40;
- if(t > tools::log_max_value<T>())
- {
- result = policies::raise_overflow_error<T>(function, 0, pol);
- }
- else
- {
- result *= exp(z - 40) / z;
- if(result > tools::max_value<T>() / exp40)
- {
- result = policies::raise_overflow_error<T>(function, 0, pol);
- }
- else
- {
- result *= exp40;
- }
- }
- }
- result += z;
- }
- return result;
-}
-
-template <class T>
-void expint_i_imp_113a(T& result, const T& z)
-{
- BOOST_MATH_STD_USING
- // Maximum Deviation Found: 1.230e-36
- // Expected Error Term: -1.230e-36
- // Max Error found at long double precision = Poly: 4.355299e-34 Cheb: 7.512581e-34
-
-
- static const T P[15] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 2.98677224343598593765287235997328555),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.333256034674702967028780537349334037),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.851831522798101228384971644036708463),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.0657854833494646206186773614110374948),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0630065662557284456000060708977935073),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.00311759191425309373327784154659649232),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00176213568201493949664478471656026771),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.491548660404172089488535218163952295e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.207764227621061706075562107748176592e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.225445398156913584846374273379402765e-6),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.996939977231410319761273881672601592e-7),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.212546902052178643330520878928100847e-9),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.154646053060262871360159325115980023e-9),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.143971277122049197323415503594302307e-11),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.306243138978114692252817805327426657e-13)
- };
- static const T Q[15] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 1),
- BOOST_MATH_BIG_CONSTANT(T, 113, -1.40178870313943798705491944989231793),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.943810968269701047641218856758605284),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.405026631534345064600850391026113165),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.123924153524614086482627660399122762),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.0286364505373369439591132549624317707),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00516148845910606985396596845494015963),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.000738330799456364820380739850924783649),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.843737760991856114061953265870882637e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.767957673431982543213661388914587589e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.549136847313854595809952100614840031e-6),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.299801381513743676764008325949325404e-7),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.118419479055346106118129130945423483e-8),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.30372295663095470359211949045344607e-10),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.382742953753485333207877784720070523e-12)
- };
-
- static const T c1 = BOOST_MATH_BIG_CONSTANT(T, 113, 1677624236387711.0);
- static const T c2 = BOOST_MATH_BIG_CONSTANT(T, 113, 4503599627370496.0);
- static const T c3 = BOOST_MATH_BIG_CONSTANT(T, 113, 266514582277687.0);
- static const T c4 = BOOST_MATH_BIG_CONSTANT(T, 113, 4503599627370496.0);
- static const T c5 = BOOST_MATH_BIG_CONSTANT(T, 113, 4503599627370496.0);
- static const T r1 = c1 / c2;
- static const T r2 = c3 / c4 / c5;
- static const T r3 = static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 0.283806480836357377069325311780969887585024578164571984232357e-31));
- static const T r = static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 0.372507410781366634461991866580119133535689497771654051555657435242200120636201854384926049951548942392));
- T t = (z / 3) - 1;
- result = tools::evaluate_polynomial(P, t)
- / tools::evaluate_polynomial(Q, t);
- t = ((z - r1) - r2) - r3;
- result *= t;
- if(fabs(t) < 0.1)
- {
- result += boost::math::log1p(t / r);
- }
- else
- {
- result += log(z / r);
- }
-}
-
-template <class T>
-void expint_i_113b(T& result, const T& z)
-{
- BOOST_MATH_STD_USING
- // Maximum Deviation Found: 7.779e-36
- // Expected Error Term: -7.779e-36
- // Max Error found at long double precision = Poly: 2.576723e-35 Cheb: 1.236001e-34
-
- static const T Y = 1.158985137939453125F;
- static const T P[15] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00139324086199409049282472239613554817),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.0338173111691991289178779840307998955),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.0555972290794371306259684845277620556),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.0378677976003456171563136909186202177),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.0152221583517528358782902783914356667),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.00428283334203873035104248217403126905),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.000922782631491644846511553601323435286),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.000155513428088853161562660696055496696),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.205756580255359882813545261519317096e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.220327406578552089820753181821115181e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.189483157545587592043421445645377439e-6),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.122426571518570587750898968123803867e-7),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.635187358949437991465353268374523944e-9),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.203015132965870311935118337194860863e-10),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.384276705503357655108096065452950822e-12)
- };
- static const T Q[15] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 1),
- BOOST_MATH_BIG_CONSTANT(T, 113, 1.58784732785354597996617046880946257),
- BOOST_MATH_BIG_CONSTANT(T, 113, 1.18550755302279446339364262338114098),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.55598993549661368604527040349702836),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.184290888380564236919107835030984453),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0459658051803613282360464632326866113),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0089505064268613225167835599456014705),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00139042673882987693424772855926289077),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.000174210708041584097450805790176479012),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.176324034009707558089086875136647376e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.142935845999505649273084545313710581e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.907502324487057260675816233312747784e-7),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.431044337808893270797934621235918418e-8),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.139007266881450521776529705677086902e-9),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.234715286125516430792452741830364672e-11)
- };
- T t = z / 2 - 4;
- result = Y + tools::evaluate_polynomial(P, t)
- / tools::evaluate_polynomial(Q, t);
- result *= exp(z) / z;
- result += z;
-}
-
-template <class T>
-void expint_i_113c(T& result, const T& z)
-{
- BOOST_MATH_STD_USING
- // Maximum Deviation Found: 1.082e-34
- // Expected Error Term: 1.080e-34
- // Max Error found at long double precision = Poly: 1.958294e-34 Cheb: 2.472261e-34
-
-
- static const T Y = 1.091579437255859375F;
- static const T P[17] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.00685089599550151282724924894258520532),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.0443313550253580053324487059748497467),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.071538561252424027443296958795814874),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.0622923153354102682285444067843300583),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.0361631270264607478205393775461208794),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.0153192826839624850298106509601033261),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.00496967904961260031539602977748408242),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.00126989079663425780800919171538920589),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.000258933143097125199914724875206326698),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.422110326689204794443002330541441956e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.546004547590412661451073996127115221e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.546775260262202177131068692199272241e-6),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.404157632825805803833379568956559215e-7),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.200612596196561323832327013027419284e-8),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.502538501472133913417609379765434153e-10),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.326283053716799774936661568391296584e-13),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.869226483473172853557775877908693647e-15)
- };
- static const T Q[15] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 1),
- BOOST_MATH_BIG_CONSTANT(T, 113, 2.23227220874479061894038229141871087),
- BOOST_MATH_BIG_CONSTANT(T, 113, 2.40221000361027971895657505660959863),
- BOOST_MATH_BIG_CONSTANT(T, 113, 1.65476320985936174728238416007084214),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.816828602963895720369875535001248227),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.306337922909446903672123418670921066),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0902400121654409267774593230720600752),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0212708882169429206498765100993228086),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00404442626252467471957713495828165491),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0006195601618842253612635241404054589),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.755930932686543009521454653994321843e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.716004532773778954193609582677482803e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.500881663076471627699290821742924233e-6),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.233593219218823384508105943657387644e-7),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.554900353169148897444104962034267682e-9)
- };
- T t = z / 4 - 3.5;
- result = Y + tools::evaluate_polynomial(P, t)
- / tools::evaluate_polynomial(Q, t);
- result *= exp(z) / z;
- result += z;
-}
-
-template <class T>
-void expint_i_113d(T& result, const T& z)
-{
- BOOST_MATH_STD_USING
- // Maximum Deviation Found: 3.163e-35
- // Expected Error Term: 3.163e-35
- // Max Error found at long double precision = Poly: 4.158110e-35 Cheb: 5.385532e-35
-
- static const T Y = 1.051731109619140625F;
- static const T P[14] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.00144552494420652573815404828020593565),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.0126747451594545338365684731262912741),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.01757394877502366717526779263438073),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.0126838952395506921945756139424722588),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.0060045057928894974954756789352443522),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.00205349237147226126653803455793107903),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.000532606040579654887676082220195624207),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.000107344687098019891474772069139014662),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.169536802705805811859089949943435152e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.20863311729206543881826553010120078e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.195670358542116256713560296776654385e-6),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.133291168587253145439184028259772437e-7),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.595500337089495614285777067722823397e-9),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.133141358866324100955927979606981328e-10)
- };
- static const T Q[14] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 1),
- BOOST_MATH_BIG_CONSTANT(T, 113, 1.72490783907582654629537013560044682),
- BOOST_MATH_BIG_CONSTANT(T, 113, 1.44524329516800613088375685659759765),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.778241785539308257585068744978050181),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.300520486589206605184097270225725584),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0879346899691339661394537806057953957),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0200802415843802892793583043470125006),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00362842049172586254520256100538273214),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.000519731362862955132062751246769469957),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.584092147914050999895178697392282665e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.501851497707855358002773398333542337e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.313085677467921096644895738538865537e-6),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.127552010539733113371132321521204458e-7),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.25737310826983451144405899970774587e-9)
- };
- T t = z / 4 - 5.5;
- result = Y + tools::evaluate_polynomial(P, t)
- / tools::evaluate_polynomial(Q, t);
- BOOST_MATH_INSTRUMENT_VARIABLE(result)
- result *= exp(z) / z;
- BOOST_MATH_INSTRUMENT_VARIABLE(result)
- result += z;
- BOOST_MATH_INSTRUMENT_VARIABLE(result)
-}
-
-template <class T>
-void expint_i_113e(T& result, const T& z)
-{
- BOOST_MATH_STD_USING
- // Maximum Deviation Found: 7.972e-36
- // Expected Error Term: 7.962e-36
- // Max Error found at long double precision = Poly: 1.711721e-34 Cheb: 3.100018e-34
-
- static const T Y = 1.032726287841796875F;
- static const T P[15] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.00141056919297307534690895009969373233),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.0123384175302540291339020257071411437),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.0298127270706864057791526083667396115),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.0390686759471630584626293670260768098),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.0338226792912607409822059922949035589),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.0211659736179834946452561197559654582),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.0100428887460879377373158821400070313),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.00370717396015165148484022792801682932),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.0010768667551001624764329000496561659),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.000246127328761027039347584096573123531),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.437318110527818613580613051861991198e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.587532682329299591501065482317771497e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.565697065670893984610852937110819467e-6),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.350233957364028523971768887437839573e-7),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.105428907085424234504608142258423505e-8)
- };
- static const T Q[16] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 1),
- BOOST_MATH_BIG_CONSTANT(T, 113, 3.17261315255467581204685605414005525),
- BOOST_MATH_BIG_CONSTANT(T, 113, 4.85267952971640525245338392887217426),
- BOOST_MATH_BIG_CONSTANT(T, 113, 4.74341914912439861451492872946725151),
- BOOST_MATH_BIG_CONSTANT(T, 113, 3.31108463283559911602405970817931801),
- BOOST_MATH_BIG_CONSTANT(T, 113, 1.74657006336994649386607925179848899),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.718255607416072737965933040353653244),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.234037553177354542791975767960643864),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0607470145906491602476833515412605389),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0125048143774226921434854172947548724),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00201034366420433762935768458656609163),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.000244823338417452367656368849303165721),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.213511655166983177960471085462540807e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.119323998465870686327170541547982932e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.322153582559488797803027773591727565e-7),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.161635525318683508633792845159942312e-16)
- };
- T t = z / 8 - 4.25;
- result = Y + tools::evaluate_polynomial(P, t)
- / tools::evaluate_polynomial(Q, t);
- BOOST_MATH_INSTRUMENT_VARIABLE(result)
- result *= exp(z) / z;
- BOOST_MATH_INSTRUMENT_VARIABLE(result)
- result += z;
- BOOST_MATH_INSTRUMENT_VARIABLE(result)
-}
-
-template <class T>
-void expint_i_113f(T& result, const T& z)
-{
- BOOST_MATH_STD_USING
- // Maximum Deviation Found: 4.469e-36
- // Expected Error Term: 4.468e-36
- // Max Error found at long double precision = Poly: 1.288958e-35 Cheb: 2.304586e-35
-
- static const T Y = 1.0216197967529296875F;
- static const T P[12] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.000322999116096627043476023926572650045),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.00385606067447365187909164609294113346),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.00686514524727568176735949971985244415),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.00606260649593050194602676772589601799),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.00334382362017147544335054575436194357),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.00126108534260253075708625583630318043),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.000337881489347846058951220431209276776),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.648480902304640018785370650254018022e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.87652644082970492211455290209092766e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.794712243338068631557849449519994144e-6),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.434084023639508143975983454830954835e-7),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.107839681938752337160494412638656696e-8)
- };
- static const T Q[12] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 1),
- BOOST_MATH_BIG_CONSTANT(T, 113, 2.09913805456661084097134805151524958),
- BOOST_MATH_BIG_CONSTANT(T, 113, 2.07041755535439919593503171320431849),
- BOOST_MATH_BIG_CONSTANT(T, 113, 1.26406517226052371320416108604874734),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.529689923703770353961553223973435569),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.159578150879536711042269658656115746),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0351720877642000691155202082629857131),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00565313621289648752407123620997063122),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.000646920278540515480093843570291218295),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.499904084850091676776993523323213591e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.233740058688179614344680531486267142e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.498800627828842754845418576305379469e-7)
- };
- T t = z / 7 - 7;
- result = Y + tools::evaluate_polynomial(P, t)
- / tools::evaluate_polynomial(Q, t);
- BOOST_MATH_INSTRUMENT_VARIABLE(result)
- result *= exp(z) / z;
- BOOST_MATH_INSTRUMENT_VARIABLE(result)
- result += z;
- BOOST_MATH_INSTRUMENT_VARIABLE(result)
-}
-
-template <class T>
-void expint_i_113g(T& result, const T& z)
-{
- BOOST_MATH_STD_USING
- // Maximum Deviation Found: 5.588e-35
- // Expected Error Term: -5.566e-35
- // Max Error found at long double precision = Poly: 9.976345e-35 Cheb: 8.358865e-35
-
- static const T Y = 1.015148162841796875F;
- static const T P[11] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.000435714784725086961464589957142615216),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.00432114324353830636009453048419094314),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.0100740363285526177522819204820582424),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.0116744115827059174392383504427640362),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.00816145387784261141360062395898644652),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.00371380272673500791322744465394211508),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.00112958263488611536502153195005736563),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.000228316462389404645183269923754256664),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.29462181955852860250359064291292577e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.21972450610957417963227028788460299e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.720558173805289167524715527536874694e-7)
- };
- static const T Q[11] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 1),
- BOOST_MATH_BIG_CONSTANT(T, 113, 2.95918362458402597039366979529287095),
- BOOST_MATH_BIG_CONSTANT(T, 113, 3.96472247520659077944638411856748924),
- BOOST_MATH_BIG_CONSTANT(T, 113, 3.15563251550528513747923714884142131),
- BOOST_MATH_BIG_CONSTANT(T, 113, 1.64674612007093983894215359287448334),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.58695020129846594405856226787156424),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.144358385319329396231755457772362793),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.024146911506411684815134916238348063),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0026257132337460784266874572001650153),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.000167479843750859222348869769094711093),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.475673638665358075556452220192497036e-5)
- };
- T t = z / 14 - 5;
- result = Y + tools::evaluate_polynomial(P, t)
- / tools::evaluate_polynomial(Q, t);
- BOOST_MATH_INSTRUMENT_VARIABLE(result)
- result *= exp(z) / z;
- BOOST_MATH_INSTRUMENT_VARIABLE(result)
- result += z;
- BOOST_MATH_INSTRUMENT_VARIABLE(result)
-}
-
-template <class T>
-void expint_i_113h(T& result, const T& z)
-{
- BOOST_MATH_STD_USING
- // Maximum Deviation Found: 4.448e-36
- // Expected Error Term: 4.445e-36
- // Max Error found at long double precision = Poly: 2.058532e-35 Cheb: 2.165465e-27
-
- static const T Y= 1.00849151611328125F;
- static const T P[9] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.0084915161132812500000001440233607358),
- BOOST_MATH_BIG_CONSTANT(T, 113, 1.84479378737716028341394223076147872),
- BOOST_MATH_BIG_CONSTANT(T, 113, -130.431146923726715674081563022115568),
- BOOST_MATH_BIG_CONSTANT(T, 113, 4336.26945491571504885214176203512015),
- BOOST_MATH_BIG_CONSTANT(T, 113, -76279.0031974974730095170437591004177),
- BOOST_MATH_BIG_CONSTANT(T, 113, 729577.956271997673695191455111727774),
- BOOST_MATH_BIG_CONSTANT(T, 113, -3661928.69330208734947103004900349266),
- BOOST_MATH_BIG_CONSTANT(T, 113, 8570600.041606912735872059184527855),
- BOOST_MATH_BIG_CONSTANT(T, 113, -6758379.93672362080947905580906028645)
- };
- static const T Q[10] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 1),
- BOOST_MATH_BIG_CONSTANT(T, 113, -99.4868026047611434569541483506091713),
- BOOST_MATH_BIG_CONSTANT(T, 113, 3879.67753690517114249705089803055473),
- BOOST_MATH_BIG_CONSTANT(T, 113, -76495.82413252517165830203774900806),
- BOOST_MATH_BIG_CONSTANT(T, 113, 820773.726408311894342553758526282667),
- BOOST_MATH_BIG_CONSTANT(T, 113, -4803087.64956923577571031564909646579),
- BOOST_MATH_BIG_CONSTANT(T, 113, 14521246.227703545012713173740895477),
- BOOST_MATH_BIG_CONSTANT(T, 113, -19762752.0196769712258527849159393044),
- BOOST_MATH_BIG_CONSTANT(T, 113, 8354144.67882768405803322344185185517),
- BOOST_MATH_BIG_CONSTANT(T, 113, 355076.853106511136734454134915432571)
- };
- T t = 1 / z;
- result = Y + tools::evaluate_polynomial(P, t)
- / tools::evaluate_polynomial(Q, t);
- result *= exp(z) / z;
- result += z;
-}
-
-template <class T, class Policy>
-T expint_i_imp(T z, const Policy& pol, const mpl::int_<113>& tag)
-{
- BOOST_MATH_STD_USING
- static const char* function = "boost::math::expint<%1%>(%1%)";
- if(z < 0)
- return -expint_imp(1, T(-z), pol, tag);
- if(z == 0)
- return -policies::raise_overflow_error<T>(function, 0, pol);
-
- T result;
-
- if(z <= 6)
- {
- expint_i_imp_113a(result, z);
- }
- else if (z <= 10)
- {
- expint_i_113b(result, z);
- }
- else if(z <= 18)
- {
- expint_i_113c(result, z);
- }
- else if(z <= 26)
- {
- expint_i_113d(result, z);
- }
- else if(z <= 42)
- {
- expint_i_113e(result, z);
- }
- else if(z <= 56)
- {
- expint_i_113f(result, z);
- }
- else if(z <= 84)
- {
- expint_i_113g(result, z);
- }
- else if(z <= 210)
- {
- expint_i_113h(result, z);
- }
- else // z > 210
- {
- // Maximum Deviation Found: 3.963e-37
- // Expected Error Term: 3.963e-37
- // Max Error found at long double precision = Poly: 1.248049e-36 Cheb: 2.843486e-29
-
- static const T exp40 = static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 2.35385266837019985407899910749034804508871617254555467236651e17));
- static const T Y= 1.00252532958984375F;
- static const T P[8] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.00252532958984375000000000000000000085),
- BOOST_MATH_BIG_CONSTANT(T, 113, 1.16591386866059087390621952073890359),
- BOOST_MATH_BIG_CONSTANT(T, 113, -67.8483431314018462417456828499277579),
- BOOST_MATH_BIG_CONSTANT(T, 113, 1567.68688154683822956359536287575892),
- BOOST_MATH_BIG_CONSTANT(T, 113, -17335.4683325819116482498725687644986),
- BOOST_MATH_BIG_CONSTANT(T, 113, 93632.6567462673524739954389166550069),
- BOOST_MATH_BIG_CONSTANT(T, 113, -225025.189335919133214440347510936787),
- BOOST_MATH_BIG_CONSTANT(T, 113, 175864.614717440010942804684741336853)
- };
- static const T Q[9] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 1),
- BOOST_MATH_BIG_CONSTANT(T, 113, -65.6998869881600212224652719706425129),
- BOOST_MATH_BIG_CONSTANT(T, 113, 1642.73850032324014781607859416890077),
- BOOST_MATH_BIG_CONSTANT(T, 113, -19937.2610222467322481947237312818575),
- BOOST_MATH_BIG_CONSTANT(T, 113, 124136.267326632742667972126625064538),
- BOOST_MATH_BIG_CONSTANT(T, 113, -384614.251466704550678760562965502293),
- BOOST_MATH_BIG_CONSTANT(T, 113, 523355.035910385688578278384032026998),
- BOOST_MATH_BIG_CONSTANT(T, 113, -217809.552260834025885677791936351294),
- BOOST_MATH_BIG_CONSTANT(T, 113, -8555.81719551123640677261226549550872)
- };
- T t = 1 / z;
- result = Y + tools::evaluate_polynomial(P, t)
- / tools::evaluate_polynomial(Q, t);
- if(z < 41)
- result *= exp(z) / z;
- else
- {
- // Avoid premature overflow if we can:
- t = z - 40;
- if(t > tools::log_max_value<T>())
- {
- result = policies::raise_overflow_error<T>(function, 0, pol);
- }
- else
- {
- result *= exp(z - 40) / z;
- if(result > tools::max_value<T>() / exp40)
- {
- result = policies::raise_overflow_error<T>(function, 0, pol);
- }
- else
- {
- result *= exp40;
- }
- }
- }
- result += z;
- }
- return result;
-}
-
-template <class T, class Policy, class tag>
-struct expint_i_initializer
-{
- struct init
- {
- init()
- {
- do_init(tag());
- }
- static void do_init(const mpl::int_<0>&){}
- static void do_init(const mpl::int_<53>&)
- {
- boost::math::expint(T(5));
- boost::math::expint(T(7));
- boost::math::expint(T(18));
- boost::math::expint(T(38));
- boost::math::expint(T(45));
- }
- static void do_init(const mpl::int_<64>&)
- {
- boost::math::expint(T(5));
- boost::math::expint(T(7));
- boost::math::expint(T(18));
- boost::math::expint(T(38));
- boost::math::expint(T(45));
- }
- static void do_init(const mpl::int_<113>&)
- {
- boost::math::expint(T(5));
- boost::math::expint(T(7));
- boost::math::expint(T(17));
- boost::math::expint(T(25));
- boost::math::expint(T(40));
- boost::math::expint(T(50));
- boost::math::expint(T(80));
- boost::math::expint(T(200));
- boost::math::expint(T(220));
- }
- void force_instantiate()const{}
- };
- static const init initializer;
- static void force_instantiate()
- {
- initializer.force_instantiate();
- }
-};
-
-template <class T, class Policy, class tag>
-const typename expint_i_initializer<T, Policy, tag>::init expint_i_initializer<T, Policy, tag>::initializer;
-
-template <class T, class Policy, class tag>
-struct expint_1_initializer
-{
- struct init
- {
- init()
- {
- do_init(tag());
- }
- static void do_init(const mpl::int_<0>&){}
- static void do_init(const mpl::int_<53>&)
- {
- boost::math::expint(1, T(0.5));
- boost::math::expint(1, T(2));
- }
- static void do_init(const mpl::int_<64>&)
- {
- boost::math::expint(1, T(0.5));
- boost::math::expint(1, T(2));
- }
- static void do_init(const mpl::int_<113>&)
- {
- boost::math::expint(1, T(0.5));
- boost::math::expint(1, T(2));
- boost::math::expint(1, T(6));
- }
- void force_instantiate()const{}
- };
- static const init initializer;
- static void force_instantiate()
- {
- initializer.force_instantiate();
- }
-};
-
-template <class T, class Policy, class tag>
-const typename expint_1_initializer<T, Policy, tag>::init expint_1_initializer<T, Policy, tag>::initializer;
-
-template <class T, class Policy>
-inline typename tools::promote_args<T>::type
- expint_forwarder(T z, const Policy& /*pol*/, mpl::true_ const&)
-{
- typedef typename tools::promote_args<T>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename policies::precision<result_type, Policy>::type precision_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
- typedef typename mpl::if_<
- mpl::less_equal<precision_type, mpl::int_<0> >,
- mpl::int_<0>,
- typename mpl::if_<
- mpl::less_equal<precision_type, mpl::int_<53> >,
- mpl::int_<53>, // double
- typename mpl::if_<
- mpl::less_equal<precision_type, mpl::int_<64> >,
- mpl::int_<64>, // 80-bit long double
- typename mpl::if_<
- mpl::less_equal<precision_type, mpl::int_<113> >,
- mpl::int_<113>, // 128-bit long double
- mpl::int_<0> // too many bits, use generic version.
- >::type
- >::type
- >::type
- >::type tag_type;
-
- expint_i_initializer<value_type, forwarding_policy, tag_type>::force_instantiate();
-
- return policies::checked_narrowing_cast<result_type, forwarding_policy>(detail::expint_i_imp(
- static_cast<value_type>(z),
- forwarding_policy(),
- tag_type()), "boost::math::expint<%1%>(%1%)");
-}
-
-template <class T>
-inline typename tools::promote_args<T>::type
-expint_forwarder(unsigned n, T z, const mpl::false_&)
-{
- return boost::math::expint(n, z, policies::policy<>());
-}
-
-} // namespace detail
-
-template <class T, class Policy>
-inline typename tools::promote_args<T>::type
- expint(unsigned n, T z, const Policy& /*pol*/)
-{
- typedef typename tools::promote_args<T>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename policies::precision<result_type, Policy>::type precision_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
- typedef typename mpl::if_<
- mpl::less_equal<precision_type, mpl::int_<0> >,
- mpl::int_<0>,
- typename mpl::if_<
- mpl::less_equal<precision_type, mpl::int_<53> >,
- mpl::int_<53>, // double
- typename mpl::if_<
- mpl::less_equal<precision_type, mpl::int_<64> >,
- mpl::int_<64>, // 80-bit long double
- typename mpl::if_<
- mpl::less_equal<precision_type, mpl::int_<113> >,
- mpl::int_<113>, // 128-bit long double
- mpl::int_<0> // too many bits, use generic version.
- >::type
- >::type
- >::type
- >::type tag_type;
-
- detail::expint_1_initializer<value_type, forwarding_policy, tag_type>::force_instantiate();
-
- return policies::checked_narrowing_cast<result_type, forwarding_policy>(detail::expint_imp(
- n,
- static_cast<value_type>(z),
- forwarding_policy(),
- tag_type()), "boost::math::expint<%1%>(unsigned, %1%)");
-}
-
-template <class T, class U>
-inline typename detail::expint_result<T, U>::type
- expint(T const z, U const u)
-{
- typedef typename policies::is_policy<U>::type tag_type;
- return detail::expint_forwarder(z, u, tag_type());
-}
-
-template <class T>
-inline typename tools::promote_args<T>::type
- expint(T z)
-{
- return expint(z, policies::policy<>());
-}
-
-}} // namespaces
-
-#endif // BOOST_MATH_EXPINT_HPP
-
-
diff --git a/boost/math/special_functions/expm1.hpp b/boost/math/special_functions/expm1.hpp
deleted file mode 100644
index 7423dc5..0000000
--- a/boost/math/special_functions/expm1.hpp
+++ /dev/null
@@ -1,343 +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_EXPM1_INCLUDED
-#define BOOST_MATH_EXPM1_INCLUDED
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/config/no_tr1/cmath.hpp>
-#include <math.h> // platform's ::expm1
-#include <boost/limits.hpp>
-#include <boost/math/tools/config.hpp>
-#include <boost/math/tools/series.hpp>
-#include <boost/math/tools/precision.hpp>
-#include <boost/math/tools/big_constant.hpp>
-#include <boost/math/policies/error_handling.hpp>
-#include <boost/math/tools/rational.hpp>
-#include <boost/math/special_functions/math_fwd.hpp>
-#include <boost/mpl/less_equal.hpp>
-
-#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-# include <boost/static_assert.hpp>
-#else
-# include <boost/assert.hpp>
-#endif
-
-namespace boost{ namespace math{
-
-namespace detail
-{
- // Functor expm1_series returns the next term in the Taylor series
- // x^k / k!
- // each time that operator() is invoked.
- //
- template <class T>
- struct expm1_series
- {
- typedef T result_type;
-
- expm1_series(T x)
- : k(0), m_x(x), m_term(1) {}
-
- T operator()()
- {
- ++k;
- m_term *= m_x;
- m_term /= k;
- return m_term;
- }
-
- int count()const
- {
- return k;
- }
-
- private:
- int k;
- const T m_x;
- T m_term;
- expm1_series(const expm1_series&);
- expm1_series& operator=(const expm1_series&);
- };
-
-template <class T, class Policy, class tag>
-struct expm1_initializer
-{
- struct init
- {
- init()
- {
- do_init(tag());
- }
- template <int N>
- static void do_init(const mpl::int_<N>&){}
- static void do_init(const mpl::int_<64>&)
- {
- expm1(T(0.5));
- }
- static void do_init(const mpl::int_<113>&)
- {
- expm1(T(0.5));
- }
- void force_instantiate()const{}
- };
- static const init initializer;
- static void force_instantiate()
- {
- initializer.force_instantiate();
- }
-};
-
-template <class T, class Policy, class tag>
-const typename expm1_initializer<T, Policy, tag>::init expm1_initializer<T, Policy, tag>::initializer;
-
-//
-// Algorithm expm1 is part of C99, but is not yet provided by many compilers.
-//
-// This version uses a Taylor series expansion for 0.5 > |x| > epsilon.
-//
-template <class T, class Policy>
-T expm1_imp(T x, const mpl::int_<0>&, const Policy& pol)
-{
- BOOST_MATH_STD_USING
-
- T a = fabs(x);
- if(a > T(0.5f))
- {
- if(a >= tools::log_max_value<T>())
- {
- if(x > 0)
- return policies::raise_overflow_error<T>("boost::math::expm1<%1%>(%1%)", 0, pol);
- return -1;
- }
- return exp(x) - T(1);
- }
- if(a < tools::epsilon<T>())
- return x;
- detail::expm1_series<T> s(x);
- boost::uintmax_t max_iter = policies::get_max_series_iterations<Policy>();
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582)) && !BOOST_WORKAROUND(__EDG_VERSION__, <= 245)
- T result = tools::sum_series(s, policies::get_epsilon<T, Policy>(), max_iter);
-#else
- T zero = 0;
- T result = tools::sum_series(s, policies::get_epsilon<T, Policy>(), max_iter, zero);
-#endif
- policies::check_series_iterations<T>("boost::math::expm1<%1%>(%1%)", max_iter, pol);
- return result;
-}
-
-template <class T, class P>
-T expm1_imp(T x, const mpl::int_<53>&, const P& pol)
-{
- BOOST_MATH_STD_USING
-
- T a = fabs(x);
- if(a > T(0.5L))
- {
- if(a >= tools::log_max_value<T>())
- {
- if(x > 0)
- return policies::raise_overflow_error<T>("boost::math::expm1<%1%>(%1%)", 0, pol);
- return -1;
- }
- return exp(x) - T(1);
- }
- if(a < tools::epsilon<T>())
- return x;
-
- static const float Y = 0.10281276702880859e1f;
- static const T n[] = { static_cast<T>(-0.28127670288085937e-1), static_cast<T>(0.51278186299064534e0), static_cast<T>(-0.6310029069350198e-1), static_cast<T>(0.11638457975729296e-1), static_cast<T>(-0.52143390687521003e-3), static_cast<T>(0.21491399776965688e-4) };
- static const T d[] = { 1, static_cast<T>(-0.45442309511354755e0), static_cast<T>(0.90850389570911714e-1), static_cast<T>(-0.10088963629815502e-1), static_cast<T>(0.63003407478692265e-3), static_cast<T>(-0.17976570003654402e-4) };
-
- T result = x * Y + x * tools::evaluate_polynomial(n, x) / tools::evaluate_polynomial(d, x);
- return result;
-}
-
-template <class T, class P>
-T expm1_imp(T x, const mpl::int_<64>&, const P& pol)
-{
- BOOST_MATH_STD_USING
-
- T a = fabs(x);
- if(a > T(0.5L))
- {
- if(a >= tools::log_max_value<T>())
- {
- if(x > 0)
- return policies::raise_overflow_error<T>("boost::math::expm1<%1%>(%1%)", 0, pol);
- return -1;
- }
- return exp(x) - T(1);
- }
- if(a < tools::epsilon<T>())
- return x;
-
- static const float Y = 0.10281276702880859375e1f;
- static const T n[] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.281276702880859375e-1),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.512980290285154286358e0),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.667758794592881019644e-1),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.131432469658444745835e-1),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.72303795326880286965e-3),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.447441185192951335042e-4),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.714539134024984593011e-6)
- };
- static const T d[] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, 1.0),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.461477618025562520389e0),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.961237488025708540713e-1),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.116483957658204450739e-1),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.873308008461557544458e-3),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.387922804997682392562e-4),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.807473180049193557294e-6)
- };
-
- T result = x * Y + x * tools::evaluate_polynomial(n, x) / tools::evaluate_polynomial(d, x);
- return result;
-}
-
-template <class T, class P>
-T expm1_imp(T x, const mpl::int_<113>&, const P& pol)
-{
- BOOST_MATH_STD_USING
-
- T a = fabs(x);
- if(a > T(0.5L))
- {
- if(a >= tools::log_max_value<T>())
- {
- if(x > 0)
- return policies::raise_overflow_error<T>("boost::math::expm1<%1%>(%1%)", 0, pol);
- return -1;
- }
- return exp(x) - T(1);
- }
- if(a < tools::epsilon<T>())
- return x;
-
- static const float Y = 0.10281276702880859375e1f;
- static const T n[] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.28127670288085937499999999999999999854e-1),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.51278156911210477556524452177540792214e0),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.63263178520747096729500254678819588223e-1),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.14703285606874250425508446801230572252e-1),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.8675686051689527802425310407898459386e-3),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.88126359618291165384647080266133492399e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.25963087867706310844432390015463138953e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.14226691087800461778631773363204081194e-6),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.15995603306536496772374181066765665596e-8),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.45261820069007790520447958280473183582e-10)
- };
- static const T d[] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 1.0),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.45441264709074310514348137469214538853e0),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.96827131936192217313133611655555298106e-1),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.12745248725908178612540554584374876219e-1),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.11473613871583259821612766907781095472e-2),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.73704168477258911962046591907690764416e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.34087499397791555759285503797256103259e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.11114024704296196166272091230695179724e-6),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.23987051614110848595909588343223896577e-8),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.29477341859111589208776402638429026517e-10),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.13222065991022301420255904060628100924e-12)
- };
-
- T result = x * Y + x * tools::evaluate_polynomial(n, x) / tools::evaluate_polynomial(d, x);
- return result;
-}
-
-} // namespace detail
-
-template <class T, class Policy>
-inline typename tools::promote_args<T>::type expm1(T x, const Policy& /* pol */)
-{
- typedef typename tools::promote_args<T>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename policies::precision<result_type, Policy>::type precision_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
-
- typedef typename mpl::if_c<
- ::std::numeric_limits<result_type>::is_specialized == 0,
- mpl::int_<0>, // no numeric_limits, use generic solution
- typename mpl::if_<
- typename mpl::less_equal<precision_type, mpl::int_<53> >::type,
- mpl::int_<53>, // double
- typename mpl::if_<
- typename mpl::less_equal<precision_type, mpl::int_<64> >::type,
- mpl::int_<64>, // 80-bit long double
- typename mpl::if_<
- typename mpl::less_equal<precision_type, mpl::int_<113> >::type,
- mpl::int_<113>, // 128-bit long double
- mpl::int_<0> // too many bits, use generic version.
- >::type
- >::type
- >::type
- >::type tag_type;
-
- detail::expm1_initializer<value_type, forwarding_policy, tag_type>::force_instantiate();
-
- return policies::checked_narrowing_cast<result_type, forwarding_policy>(detail::expm1_imp(
- static_cast<value_type>(x),
- tag_type(), forwarding_policy()), "boost::math::expm1<%1%>(%1%)");
-}
-
-#ifdef expm1
-# ifndef BOOST_HAS_expm1
-# define BOOST_HAS_expm1
-# endif
-# undef expm1
-#endif
-
-#if defined(BOOST_HAS_EXPM1) && !(defined(__osf__) && defined(__DECCXX_VER))
-# ifdef BOOST_MATH_USE_C99
-inline float expm1(float x, const policies::policy<>&){ return ::expm1f(x); }
-# ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
-inline long double expm1(long double x, const policies::policy<>&){ return ::expm1l(x); }
-# endif
-# else
-inline float expm1(float x, const policies::policy<>&){ return static_cast<float>(::expm1(x)); }
-# endif
-inline double expm1(double x, const policies::policy<>&){ return ::expm1(x); }
-#endif
-
-template <class T>
-inline typename tools::promote_args<T>::type expm1(T x)
-{
- return expm1(x, policies::policy<>());
-}
-
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-inline float expm1(float z)
-{
- return expm1<float>(z);
-}
-inline double expm1(double z)
-{
- return expm1<double>(z);
-}
-#ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
-inline long double expm1(long double z)
-{
- return expm1<long double>(z);
-}
-#endif
-#endif
-
-} // namespace math
-} // namespace boost
-
-#endif // BOOST_MATH_HYPOT_INCLUDED
-
-
-
-
diff --git a/boost/math/special_functions/factorials.hpp b/boost/math/special_functions/factorials.hpp
deleted file mode 100644
index c788c46..0000000
--- a/boost/math/special_functions/factorials.hpp
+++ /dev/null
@@ -1,239 +0,0 @@
-// Copyright John Maddock 2006, 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_SP_FACTORIALS_HPP
-#define BOOST_MATH_SP_FACTORIALS_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/math/special_functions/gamma.hpp>
-#include <boost/math/special_functions/math_fwd.hpp>
-#include <boost/math/special_functions/detail/unchecked_factorial.hpp>
-#include <boost/array.hpp>
-#ifdef BOOST_MSVC
-#pragma warning(push) // Temporary until lexical cast fixed.
-#pragma warning(disable: 4127 4701)
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-#include <boost/config/no_tr1/cmath.hpp>
-
-namespace boost { namespace math
-{
-
-template <class T, class Policy>
-inline T factorial(unsigned i, const Policy& pol)
-{
- BOOST_STATIC_ASSERT(!boost::is_integral<T>::value);
- // factorial<unsigned int>(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<unsigned int>(factorial<double>(n));
- // See factorial documentation for more detail.
-
- BOOST_MATH_STD_USING // Aid ADL for floor.
-
- if(i <= max_factorial<T>::value)
- return unchecked_factorial<T>(i);
- T result = boost::math::tgamma(static_cast<T>(i+1), pol);
- if(result > tools::max_value<T>())
- return result; // Overflowed value! (But tgamma will have signalled the error already).
- return floor(result + 0.5f);
-}
-
-template <class T>
-inline T factorial(unsigned i)
-{
- return factorial<T>(i, policies::policy<>());
-}
-/*
-// Can't have these in a policy enabled world?
-template<>
-inline float factorial<float>(unsigned i)
-{
- if(i <= max_factorial<float>::value)
- return unchecked_factorial<float>(i);
- return tools::overflow_error<float>(BOOST_CURRENT_FUNCTION);
-}
-
-template<>
-inline double factorial<double>(unsigned i)
-{
- if(i <= max_factorial<double>::value)
- return unchecked_factorial<double>(i);
- return tools::overflow_error<double>(BOOST_CURRENT_FUNCTION);
-}
-*/
-template <class T, class Policy>
-T double_factorial(unsigned i, const Policy& pol)
-{
- BOOST_STATIC_ASSERT(!boost::is_integral<T>::value);
- BOOST_MATH_STD_USING // ADL lookup of std names
- if(i & 1)
- {
- // odd i:
- if(i < max_factorial<T>::value)
- {
- unsigned n = (i - 1) / 2;
- return ceil(unchecked_factorial<T>(i) / (ldexp(T(1), (int)n) * unchecked_factorial<T>(n)) - 0.5f);
- }
- //
- // Fallthrough: i is too large to use table lookup, try the
- // gamma function instead.
- //
- T result = boost::math::tgamma(static_cast<T>(i) / 2 + 1, pol) / sqrt(constants::pi<T>());
- if(ldexp(tools::max_value<T>(), -static_cast<int>(i+1) / 2) > result)
- return ceil(result * ldexp(T(1), static_cast<int>(i+1) / 2) - 0.5f);
- }
- else
- {
- // even i:
- unsigned n = i / 2;
- T result = factorial<T>(n, pol);
- if(ldexp(tools::max_value<T>(), -(int)n) > result)
- return result * ldexp(T(1), (int)n);
- }
- //
- // If we fall through to here then the result is infinite:
- //
- return policies::raise_overflow_error<T>("boost::math::double_factorial<%1%>(unsigned)", 0, pol);
-}
-
-template <class T>
-inline T double_factorial(unsigned i)
-{
- return double_factorial<T>(i, policies::policy<>());
-}
-
-namespace detail{
-
-template <class T, class Policy>
-T rising_factorial_imp(T x, int n, const Policy& pol)
-{
- BOOST_STATIC_ASSERT(!boost::is_integral<T>::value);
- if(x < 0)
- {
- //
- // For x less than zero, we really have a falling
- // factorial, modulo a possible change of sign.
- //
- // Note that the falling factorial isn't defined
- // for negative n, so we'll get rid of that case
- // first:
- //
- bool inv = false;
- if(n < 0)
- {
- x += n;
- n = -n;
- inv = true;
- }
- T result = ((n&1) ? -1 : 1) * falling_factorial(-x, n, pol);
- if(inv)
- result = 1 / result;
- return result;
- }
- if(n == 0)
- return 1;
- //
- // We don't optimise this for small n, because
- // tgamma_delta_ratio is alreay optimised for that
- // use case:
- //
- return 1 / boost::math::tgamma_delta_ratio(x, static_cast<T>(n), pol);
-}
-
-template <class T, class Policy>
-inline T falling_factorial_imp(T x, unsigned n, const Policy& pol)
-{
- BOOST_STATIC_ASSERT(!boost::is_integral<T>::value);
- BOOST_MATH_STD_USING // ADL of std names
- if(x == 0)
- return 0;
- if(x < 0)
- {
- //
- // For x < 0 we really have a rising factorial
- // modulo a possible change of sign:
- //
- return (n&1 ? -1 : 1) * rising_factorial(-x, n, pol);
- }
- if(n == 0)
- return 1;
- if(x < n-1)
- {
- //
- // x+1-n will be negative and tgamma_delta_ratio won't
- // handle it, split the product up into three parts:
- //
- T xp1 = x + 1;
- unsigned n2 = itrunc((T)floor(xp1), pol);
- if(n2 == xp1)
- return 0;
- T result = boost::math::tgamma_delta_ratio(xp1, -static_cast<T>(n2), pol);
- x -= n2;
- result *= x;
- ++n2;
- if(n2 < n)
- result *= falling_factorial(x - 1, n - n2, pol);
- return result;
- }
- //
- // Simple case: just the ratio of two
- // (positive argument) gamma functions.
- // Note that we don't optimise this for small n,
- // because tgamma_delta_ratio is alreay optimised
- // for that use case:
- //
- return boost::math::tgamma_delta_ratio(x + 1, -static_cast<T>(n), pol);
-}
-
-} // namespace detail
-
-template <class RT>
-inline typename tools::promote_args<RT>::type
- falling_factorial(RT x, unsigned n)
-{
- typedef typename tools::promote_args<RT>::type result_type;
- return detail::falling_factorial_imp(
- static_cast<result_type>(x), n, policies::policy<>());
-}
-
-template <class RT, class Policy>
-inline typename tools::promote_args<RT>::type
- falling_factorial(RT x, unsigned n, const Policy& pol)
-{
- typedef typename tools::promote_args<RT>::type result_type;
- return detail::falling_factorial_imp(
- static_cast<result_type>(x), n, pol);
-}
-
-template <class RT>
-inline typename tools::promote_args<RT>::type
- rising_factorial(RT x, int n)
-{
- typedef typename tools::promote_args<RT>::type result_type;
- return detail::rising_factorial_imp(
- static_cast<result_type>(x), n, policies::policy<>());
-}
-
-template <class RT, class Policy>
-inline typename tools::promote_args<RT>::type
- rising_factorial(RT x, int n, const Policy& pol)
-{
- typedef typename tools::promote_args<RT>::type result_type;
- return detail::rising_factorial_imp(
- static_cast<result_type>(x), n, pol);
-}
-
-} // namespace math
-} // namespace boost
-
-#endif // BOOST_MATH_SP_FACTORIALS_HPP
-
diff --git a/boost/math/special_functions/fpclassify.hpp b/boost/math/special_functions/fpclassify.hpp
deleted file mode 100644
index 75f57b0..0000000
--- a/boost/math/special_functions/fpclassify.hpp
+++ /dev/null
@@ -1,606 +0,0 @@
-// Copyright John Maddock 2005-2008.
-// Copyright (c) 2006-2008 Johan Rade
-// 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_FPCLASSIFY_HPP
-#define BOOST_MATH_FPCLASSIFY_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <math.h>
-#include <boost/config/no_tr1/cmath.hpp>
-#include <boost/limits.hpp>
-#include <boost/math/tools/real_cast.hpp>
-#include <boost/type_traits/is_floating_point.hpp>
-#include <boost/math/special_functions/math_fwd.hpp>
-#include <boost/math/special_functions/detail/fp_traits.hpp>
-/*!
- \file fpclassify.hpp
- \brief Classify floating-point value as normal, subnormal, zero, infinite, or NaN.
- \version 1.0
- \author John Maddock
- */
-
-/*
-
-1. If the platform is C99 compliant, then the native floating point
-classification functions are used. However, note that we must only
-define the functions which call std::fpclassify etc if that function
-really does exist: otherwise a compiler may reject the code even though
-the template is never instantiated.
-
-2. If the platform is not C99 compliant, and the binary format for
-a floating point type (float, double or long double) can be determined
-at compile time, then the following algorithm is used:
-
- If all exponent bits, the flag bit (if there is one),
- and all significand bits are 0, then the number is zero.
-
- If all exponent bits and the flag bit (if there is one) are 0,
- and at least one significand bit is 1, then the number is subnormal.
-
- If all exponent bits are 1 and all significand bits are 0,
- then the number is infinity.
-
- If all exponent bits are 1 and at least one significand bit is 1,
- then the number is a not-a-number.
-
- Otherwise the number is normal.
-
- This algorithm works for the IEEE 754 representation,
- and also for several non IEEE 754 formats.
-
- Most formats have the structure
- sign bit + exponent bits + significand bits.
-
- A few have the structure
- sign bit + exponent bits + flag bit + significand bits.
- The flag bit is 0 for zero and subnormal numbers,
- and 1 for normal numbers and NaN.
- It is 0 (Motorola 68K) or 1 (Intel) for infinity.
-
- To get the bits, the four or eight most significant bytes are copied
- into an uint32_t or uint64_t and bit masks are applied.
- This covers all the exponent bits and the flag bit (if there is one),
- but not always all the significand bits.
- Some of the functions below have two implementations,
- depending on whether all the significand bits are copied or not.
-
-3. If the platform is not C99 compliant, and the binary format for
-a floating point type (float, double or long double) can not be determined
-at compile time, then comparison with std::numeric_limits values
-is used.
-
-*/
-
-#if defined(_MSC_VER) || defined(__BORLANDC__)
-#include <float.h>
-#endif
-
-#ifdef BOOST_NO_STDC_NAMESPACE
- namespace std{ using ::abs; using ::fabs; }
-#endif
-
-namespace boost{
-
-//
-// This must not be located in any namespace under boost::math
-// otherwise we can get into an infinite loop if isnan is
-// a #define for "isnan" !
-//
-namespace math_detail{
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4800)
-#endif
-
-template <class T>
-inline bool is_nan_helper(T t, const boost::true_type&)
-{
-#ifdef isnan
- return isnan(t);
-#elif defined(BOOST_MATH_DISABLE_STD_FPCLASSIFY) || !defined(BOOST_HAS_FPCLASSIFY)
- (void)t;
- return false;
-#else // BOOST_HAS_FPCLASSIFY
- return (BOOST_FPCLASSIFY_PREFIX fpclassify(t) == (int)FP_NAN);
-#endif
-}
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-template <class T>
-inline bool is_nan_helper(T, const boost::false_type&)
-{
- return false;
-}
-
-}
-
-namespace math{
-
-namespace detail{
-
-#ifdef BOOST_MATH_USE_STD_FPCLASSIFY
-template <class T>
-inline int fpclassify_imp BOOST_NO_MACRO_EXPAND(T t, const native_tag&)
-{
- return (std::fpclassify)(t);
-}
-#endif
-
-template <class T>
-inline int fpclassify_imp BOOST_NO_MACRO_EXPAND(T t, const generic_tag<true>&)
-{
- BOOST_MATH_INSTRUMENT_VARIABLE(t);
-
- // whenever possible check for Nan's first:
-#if defined(BOOST_HAS_FPCLASSIFY) && !defined(BOOST_MATH_DISABLE_STD_FPCLASSIFY)
- if(::boost::math_detail::is_nan_helper(t, ::boost::is_floating_point<T>()))
- return FP_NAN;
-#elif defined(isnan)
- if(boost::math_detail::is_nan_helper(t, ::boost::is_floating_point<T>()))
- return FP_NAN;
-#elif defined(_MSC_VER) || defined(__BORLANDC__)
- if(::_isnan(boost::math::tools::real_cast<double>(t)))
- return FP_NAN;
-#endif
- // std::fabs broken on a few systems especially for long long!!!!
- T at = (t < T(0)) ? -t : t;
-
- // Use a process of exclusion to figure out
- // what kind of type we have, this relies on
- // IEEE conforming reals that will treat
- // Nan's as unordered. Some compilers
- // don't do this once optimisations are
- // turned on, hence the check for nan's above.
- if(at <= (std::numeric_limits<T>::max)())
- {
- if(at >= (std::numeric_limits<T>::min)())
- return FP_NORMAL;
- return (at != 0) ? FP_SUBNORMAL : FP_ZERO;
- }
- else if(at > (std::numeric_limits<T>::max)())
- return FP_INFINITE;
- return FP_NAN;
-}
-
-template <class T>
-inline int fpclassify_imp BOOST_NO_MACRO_EXPAND(T t, const generic_tag<false>&)
-{
-#ifdef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
- if(std::numeric_limits<T>::is_specialized)
- return fpclassify_imp(t, generic_tag<true>());
-#endif
- //
- // An unknown type with no numeric_limits support,
- // so what are we supposed to do we do here?
- //
- BOOST_MATH_INSTRUMENT_VARIABLE(t);
-
- return t == 0 ? FP_ZERO : FP_NORMAL;
-}
-
-template<class T>
-int fpclassify_imp BOOST_NO_MACRO_EXPAND(T x, ieee_copy_all_bits_tag)
-{
- typedef BOOST_DEDUCED_TYPENAME fp_traits<T>::type traits;
-
- BOOST_MATH_INSTRUMENT_VARIABLE(x);
-
- BOOST_DEDUCED_TYPENAME traits::bits a;
- traits::get_bits(x,a);
- BOOST_MATH_INSTRUMENT_VARIABLE(a);
- a &= traits::exponent | traits::flag | traits::significand;
- BOOST_MATH_INSTRUMENT_VARIABLE((traits::exponent | traits::flag | traits::significand));
- BOOST_MATH_INSTRUMENT_VARIABLE(a);
-
- if(a <= traits::significand) {
- if(a == 0)
- return FP_ZERO;
- else
- return FP_SUBNORMAL;
- }
-
- if(a < traits::exponent) return FP_NORMAL;
-
- a &= traits::significand;
- if(a == 0) return FP_INFINITE;
-
- return FP_NAN;
-}
-
-template<class T>
-int fpclassify_imp BOOST_NO_MACRO_EXPAND(T x, ieee_copy_leading_bits_tag)
-{
- typedef BOOST_DEDUCED_TYPENAME fp_traits<T>::type traits;
-
- BOOST_MATH_INSTRUMENT_VARIABLE(x);
-
- BOOST_DEDUCED_TYPENAME traits::bits a;
- traits::get_bits(x,a);
- a &= traits::exponent | traits::flag | traits::significand;
-
- if(a <= traits::significand) {
- if(x == 0)
- return FP_ZERO;
- else
- return FP_SUBNORMAL;
- }
-
- if(a < traits::exponent) return FP_NORMAL;
-
- a &= traits::significand;
- traits::set_bits(x,a);
- if(x == 0) return FP_INFINITE;
-
- return FP_NAN;
-}
-
-#if defined(BOOST_MATH_USE_STD_FPCLASSIFY) && (defined(BOOST_MATH_NO_NATIVE_LONG_DOUBLE_FP_CLASSIFY) || defined(BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS))
-inline int fpclassify_imp BOOST_NO_MACRO_EXPAND(long double t, const native_tag&)
-{
- return boost::math::detail::fpclassify_imp(t, generic_tag<true>());
-}
-#endif
-
-} // namespace detail
-
-template <class T>
-inline int fpclassify BOOST_NO_MACRO_EXPAND(T t)
-{
- typedef typename detail::fp_traits<T>::type traits;
- typedef typename traits::method method;
- typedef typename tools::promote_args_permissive<T>::type value_type;
-#ifdef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
- if(std::numeric_limits<T>::is_specialized && detail::is_generic_tag_false(static_cast<method*>(0)))
- return detail::fpclassify_imp(static_cast<value_type>(t), detail::generic_tag<true>());
- return detail::fpclassify_imp(static_cast<value_type>(t), method());
-#else
- return detail::fpclassify_imp(static_cast<value_type>(t), method());
-#endif
-}
-
-#ifdef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
-template <>
-inline int fpclassify<long double> BOOST_NO_MACRO_EXPAND(long double t)
-{
- typedef detail::fp_traits<long double>::type traits;
- typedef traits::method method;
- typedef long double value_type;
-#ifdef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
- if(std::numeric_limits<long double>::is_specialized && detail::is_generic_tag_false(static_cast<method*>(0)))
- return detail::fpclassify_imp(static_cast<value_type>(t), detail::generic_tag<true>());
- return detail::fpclassify_imp(static_cast<value_type>(t), method());
-#else
- return detail::fpclassify_imp(static_cast<value_type>(t), method());
-#endif
-}
-#endif
-
-namespace detail {
-
-#ifdef BOOST_MATH_USE_STD_FPCLASSIFY
- template<class T>
- inline bool isfinite_impl(T x, native_tag const&)
- {
- return (std::isfinite)(x);
- }
-#endif
-
- template<class T>
- inline bool isfinite_impl(T x, generic_tag<true> const&)
- {
- return x >= -(std::numeric_limits<T>::max)()
- && x <= (std::numeric_limits<T>::max)();
- }
-
- template<class T>
- inline bool isfinite_impl(T x, generic_tag<false> const&)
- {
-#ifdef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
- if(std::numeric_limits<T>::is_specialized)
- return isfinite_impl(x, generic_tag<true>());
-#endif
- (void)x; // warning supression.
- return true;
- }
-
- template<class T>
- inline bool isfinite_impl(T x, ieee_tag const&)
- {
- typedef BOOST_DEDUCED_TYPENAME detail::fp_traits<T>::type traits;
- BOOST_DEDUCED_TYPENAME traits::bits a;
- traits::get_bits(x,a);
- a &= traits::exponent;
- return a != traits::exponent;
- }
-
-#if defined(BOOST_MATH_USE_STD_FPCLASSIFY) && defined(BOOST_MATH_NO_NATIVE_LONG_DOUBLE_FP_CLASSIFY)
-inline bool isfinite_impl BOOST_NO_MACRO_EXPAND(long double t, const native_tag&)
-{
- return boost::math::detail::isfinite_impl(t, generic_tag<true>());
-}
-#endif
-
-}
-
-template<class T>
-inline bool (isfinite)(T x)
-{ //!< \brief return true if floating-point type t is finite.
- typedef typename detail::fp_traits<T>::type traits;
- typedef typename traits::method method;
- // typedef typename boost::is_floating_point<T>::type fp_tag;
- typedef typename tools::promote_args_permissive<T>::type value_type;
- return detail::isfinite_impl(static_cast<value_type>(x), method());
-}
-
-#ifdef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
-template<>
-inline bool (isfinite)(long double x)
-{ //!< \brief return true if floating-point type t is finite.
- typedef detail::fp_traits<long double>::type traits;
- typedef traits::method method;
- typedef boost::is_floating_point<long double>::type fp_tag;
- typedef long double value_type;
- return detail::isfinite_impl(static_cast<value_type>(x), method());
-}
-#endif
-
-//------------------------------------------------------------------------------
-
-namespace detail {
-
-#ifdef BOOST_MATH_USE_STD_FPCLASSIFY
- template<class T>
- inline bool isnormal_impl(T x, native_tag const&)
- {
- return (std::isnormal)(x);
- }
-#endif
-
- template<class T>
- inline bool isnormal_impl(T x, generic_tag<true> const&)
- {
- if(x < 0) x = -x;
- return x >= (std::numeric_limits<T>::min)()
- && x <= (std::numeric_limits<T>::max)();
- }
-
- template<class T>
- inline bool isnormal_impl(T x, generic_tag<false> const&)
- {
-#ifdef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
- if(std::numeric_limits<T>::is_specialized)
- return isnormal_impl(x, generic_tag<true>());
-#endif
- return !(x == 0);
- }
-
- template<class T>
- inline bool isnormal_impl(T x, ieee_tag const&)
- {
- typedef BOOST_DEDUCED_TYPENAME detail::fp_traits<T>::type traits;
- BOOST_DEDUCED_TYPENAME traits::bits a;
- traits::get_bits(x,a);
- a &= traits::exponent | traits::flag;
- return (a != 0) && (a < traits::exponent);
- }
-
-#if defined(BOOST_MATH_USE_STD_FPCLASSIFY) && defined(BOOST_MATH_NO_NATIVE_LONG_DOUBLE_FP_CLASSIFY)
-inline bool isnormal_impl BOOST_NO_MACRO_EXPAND(long double t, const native_tag&)
-{
- return boost::math::detail::isnormal_impl(t, generic_tag<true>());
-}
-#endif
-
-}
-
-template<class T>
-inline bool (isnormal)(T x)
-{
- typedef typename detail::fp_traits<T>::type traits;
- typedef typename traits::method method;
- //typedef typename boost::is_floating_point<T>::type fp_tag;
- typedef typename tools::promote_args_permissive<T>::type value_type;
- return detail::isnormal_impl(static_cast<value_type>(x), method());
-}
-
-#ifdef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
-template<>
-inline bool (isnormal)(long double x)
-{
- typedef detail::fp_traits<long double>::type traits;
- typedef traits::method method;
- typedef boost::is_floating_point<long double>::type fp_tag;
- typedef long double value_type;
- return detail::isnormal_impl(static_cast<value_type>(x), method());
-}
-#endif
-
-//------------------------------------------------------------------------------
-
-namespace detail {
-
-#ifdef BOOST_MATH_USE_STD_FPCLASSIFY
- template<class T>
- inline bool isinf_impl(T x, native_tag const&)
- {
- return (std::isinf)(x);
- }
-#endif
-
- template<class T>
- inline bool isinf_impl(T x, generic_tag<true> const&)
- {
- (void)x; // in case the compiler thinks that x is unused because std::numeric_limits<T>::has_infinity is false
- return std::numeric_limits<T>::has_infinity
- && ( x == std::numeric_limits<T>::infinity()
- || x == -std::numeric_limits<T>::infinity());
- }
-
- template<class T>
- inline bool isinf_impl(T x, generic_tag<false> const&)
- {
-#ifdef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
- if(std::numeric_limits<T>::is_specialized)
- return isinf_impl(x, generic_tag<true>());
-#endif
- (void)x; // warning supression.
- return false;
- }
-
- template<class T>
- inline bool isinf_impl(T x, ieee_copy_all_bits_tag const&)
- {
- typedef BOOST_DEDUCED_TYPENAME fp_traits<T>::type traits;
-
- BOOST_DEDUCED_TYPENAME traits::bits a;
- traits::get_bits(x,a);
- a &= traits::exponent | traits::significand;
- return a == traits::exponent;
- }
-
- template<class T>
- inline bool isinf_impl(T x, ieee_copy_leading_bits_tag const&)
- {
- typedef BOOST_DEDUCED_TYPENAME fp_traits<T>::type traits;
-
- BOOST_DEDUCED_TYPENAME traits::bits a;
- traits::get_bits(x,a);
- a &= traits::exponent | traits::significand;
- if(a != traits::exponent)
- return false;
-
- traits::set_bits(x,0);
- return x == 0;
- }
-
-#if defined(BOOST_MATH_USE_STD_FPCLASSIFY) && defined(BOOST_MATH_NO_NATIVE_LONG_DOUBLE_FP_CLASSIFY)
-inline bool isinf_impl BOOST_NO_MACRO_EXPAND(long double t, const native_tag&)
-{
- return boost::math::detail::isinf_impl(t, generic_tag<true>());
-}
-#endif
-
-} // namespace detail
-
-template<class T>
-inline bool (isinf)(T x)
-{
- typedef typename detail::fp_traits<T>::type traits;
- typedef typename traits::method method;
- // typedef typename boost::is_floating_point<T>::type fp_tag;
- typedef typename tools::promote_args_permissive<T>::type value_type;
- return detail::isinf_impl(static_cast<value_type>(x), method());
-}
-
-#ifdef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
-template<>
-inline bool (isinf)(long double x)
-{
- typedef detail::fp_traits<long double>::type traits;
- typedef traits::method method;
- typedef boost::is_floating_point<long double>::type fp_tag;
- typedef long double value_type;
- return detail::isinf_impl(static_cast<value_type>(x), method());
-}
-#endif
-
-//------------------------------------------------------------------------------
-
-namespace detail {
-
-#ifdef BOOST_MATH_USE_STD_FPCLASSIFY
- template<class T>
- inline bool isnan_impl(T x, native_tag const&)
- {
- return (std::isnan)(x);
- }
-#endif
-
- template<class T>
- inline bool isnan_impl(T x, generic_tag<true> const&)
- {
- return std::numeric_limits<T>::has_infinity
- ? !(x <= std::numeric_limits<T>::infinity())
- : x != x;
- }
-
- template<class T>
- inline bool isnan_impl(T x, generic_tag<false> const&)
- {
-#ifdef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
- if(std::numeric_limits<T>::is_specialized)
- return isnan_impl(x, generic_tag<true>());
-#endif
- (void)x; // warning supression
- return false;
- }
-
- template<class T>
- inline bool isnan_impl(T x, ieee_copy_all_bits_tag const&)
- {
- typedef BOOST_DEDUCED_TYPENAME fp_traits<T>::type traits;
-
- BOOST_DEDUCED_TYPENAME traits::bits a;
- traits::get_bits(x,a);
- a &= traits::exponent | traits::significand;
- return a > traits::exponent;
- }
-
- template<class T>
- inline bool isnan_impl(T x, ieee_copy_leading_bits_tag const&)
- {
- typedef BOOST_DEDUCED_TYPENAME fp_traits<T>::type traits;
-
- BOOST_DEDUCED_TYPENAME traits::bits a;
- traits::get_bits(x,a);
-
- a &= traits::exponent | traits::significand;
- if(a < traits::exponent)
- return false;
-
- a &= traits::significand;
- traits::set_bits(x,a);
- return x != 0;
- }
-
-} // namespace detail
-
-template<class T>
-inline bool (isnan)(T x)
-{ //!< \brief return true if floating-point type t is NaN (Not A Number).
- typedef typename detail::fp_traits<T>::type traits;
- typedef typename traits::method method;
- // typedef typename boost::is_floating_point<T>::type fp_tag;
- return detail::isnan_impl(x, method());
-}
-
-#ifdef isnan
-template <> inline bool isnan BOOST_NO_MACRO_EXPAND<float>(float t){ return ::boost::math_detail::is_nan_helper(t, boost::true_type()); }
-template <> inline bool isnan BOOST_NO_MACRO_EXPAND<double>(double t){ return ::boost::math_detail::is_nan_helper(t, boost::true_type()); }
-template <> inline bool isnan BOOST_NO_MACRO_EXPAND<long double>(long double t){ return ::boost::math_detail::is_nan_helper(t, boost::true_type()); }
-#elif defined(BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS)
-template<>
-inline bool (isnan)(long double x)
-{ //!< \brief return true if floating-point type t is NaN (Not A Number).
- typedef detail::fp_traits<long double>::type traits;
- typedef traits::method method;
- typedef boost::is_floating_point<long double>::type fp_tag;
- return detail::isnan_impl(x, method());
-}
-#endif
-
-} // namespace math
-} // namespace boost
-
-#endif // BOOST_MATH_FPCLASSIFY_HPP
-
diff --git a/boost/math/special_functions/gamma.hpp b/boost/math/special_functions/gamma.hpp
deleted file mode 100644
index 8e661a1..0000000
--- a/boost/math/special_functions/gamma.hpp
+++ /dev/null
@@ -1,1704 +0,0 @@
-
-// Copyright John Maddock 2006-7.
-// 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_SF_GAMMA_HPP
-#define BOOST_MATH_SF_GAMMA_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-#include <boost/math/tools/series.hpp>
-#include <boost/math/tools/fraction.hpp>
-#include <boost/math/tools/precision.hpp>
-#include <boost/math/tools/promotion.hpp>
-#include <boost/math/policies/error_handling.hpp>
-#include <boost/math/constants/constants.hpp>
-#include <boost/math/special_functions/math_fwd.hpp>
-#include <boost/math/special_functions/log1p.hpp>
-#include <boost/math/special_functions/trunc.hpp>
-#include <boost/math/special_functions/powm1.hpp>
-#include <boost/math/special_functions/sqrt1pm1.hpp>
-#include <boost/math/special_functions/lanczos.hpp>
-#include <boost/math/special_functions/fpclassify.hpp>
-#include <boost/math/special_functions/detail/igamma_large.hpp>
-#include <boost/math/special_functions/detail/unchecked_factorial.hpp>
-#include <boost/math/special_functions/detail/lgamma_small.hpp>
-#include <boost/type_traits/is_convertible.hpp>
-#include <boost/assert.hpp>
-#include <boost/mpl/greater.hpp>
-#include <boost/mpl/equal_to.hpp>
-#include <boost/mpl/greater.hpp>
-
-#include <boost/config/no_tr1/cmath.hpp>
-#include <algorithm>
-
-#ifdef BOOST_MSVC
-# pragma warning(push)
-# pragma warning(disable: 4702) // unreachable code (return after domain_error throw).
-# pragma warning(disable: 4127) // conditional expression is constant.
-# pragma warning(disable: 4100) // unreferenced formal parameter.
-// Several variables made comments,
-// but some difficulty as whether referenced on not may depend on macro values.
-// So to be safe, 4100 warnings suppressed.
-// TODO - revisit this?
-#endif
-
-namespace boost{ namespace math{
-
-namespace detail{
-
-template <class T>
-inline bool is_odd(T v, const boost::true_type&)
-{
- int i = static_cast<int>(v);
- return i&1;
-}
-template <class T>
-inline bool is_odd(T v, const boost::false_type&)
-{
- // Oh dear can't cast T to int!
- BOOST_MATH_STD_USING
- T modulus = v - 2 * floor(v/2);
- return static_cast<bool>(modulus != 0);
-}
-template <class T>
-inline bool is_odd(T v)
-{
- return is_odd(v, ::boost::is_convertible<T, int>());
-}
-
-template <class T>
-T sinpx(T z)
-{
- // Ad hoc function calculates x * sin(pi * x),
- // taking extra care near when x is near a whole number.
- BOOST_MATH_STD_USING
- int sign = 1;
- if(z < 0)
- {
- z = -z;
- }
- else
- {
- sign = -sign;
- }
- T fl = floor(z);
- T dist;
- if(is_odd(fl))
- {
- fl += 1;
- dist = fl - z;
- sign = -sign;
- }
- else
- {
- dist = z - fl;
- }
- BOOST_ASSERT(fl >= 0);
- if(dist > 0.5)
- dist = 1 - dist;
- T result = sin(dist*boost::math::constants::pi<T>());
- return sign*z*result;
-} // template <class T> T sinpx(T z)
-//
-// tgamma(z), with Lanczos support:
-//
-template <class T, class Policy, class Lanczos>
-T gamma_imp(T z, const Policy& pol, const Lanczos& l)
-{
- BOOST_MATH_STD_USING
-
- T result = 1;
-
-#ifdef BOOST_MATH_INSTRUMENT
- static bool b = false;
- if(!b)
- {
- std::cout << "tgamma_imp called with " << typeid(z).name() << " " << typeid(l).name() << std::endl;
- b = true;
- }
-#endif
- static const char* function = "boost::math::tgamma<%1%>(%1%)";
-
- if(z <= 0)
- {
- if(floor(z) == z)
- return policies::raise_pole_error<T>(function, "Evaluation of tgamma at a negative integer %1%.", z, pol);
- if(z <= -20)
- {
- result = gamma_imp(T(-z), pol, l) * sinpx(z);
- BOOST_MATH_INSTRUMENT_VARIABLE(result);
- if((fabs(result) < 1) && (tools::max_value<T>() * fabs(result) < boost::math::constants::pi<T>()))
- return policies::raise_overflow_error<T>(function, "Result of tgamma is too large to represent.", pol);
- result = -boost::math::constants::pi<T>() / result;
- if(result == 0)
- return policies::raise_underflow_error<T>(function, "Result of tgamma is too small to represent.", pol);
- if((boost::math::fpclassify)(result) == (int)FP_SUBNORMAL)
- return policies::raise_denorm_error<T>(function, "Result of tgamma is denormalized.", result, pol);
- BOOST_MATH_INSTRUMENT_VARIABLE(result);
- return result;
- }
-
- // shift z to > 1:
- while(z < 0)
- {
- result /= z;
- z += 1;
- }
- }
- BOOST_MATH_INSTRUMENT_VARIABLE(result);
- if((floor(z) == z) && (z < max_factorial<T>::value))
- {
- result *= unchecked_factorial<T>(itrunc(z, pol) - 1);
- BOOST_MATH_INSTRUMENT_VARIABLE(result);
- }
- else
- {
- result *= Lanczos::lanczos_sum(z);
- T zgh = (z + static_cast<T>(Lanczos::g()) - boost::math::constants::half<T>());
- T lzgh = log(zgh);
- BOOST_MATH_INSTRUMENT_VARIABLE(result);
- BOOST_MATH_INSTRUMENT_VARIABLE(tools::log_max_value<T>());
- if(z * lzgh > tools::log_max_value<T>())
- {
- // we're going to overflow unless this is done with care:
- BOOST_MATH_INSTRUMENT_VARIABLE(zgh);
- if(lzgh * z / 2 > tools::log_max_value<T>())
- return policies::raise_overflow_error<T>(function, "Result of tgamma is too large to represent.", pol);
- T hp = pow(zgh, (z / 2) - T(0.25));
- BOOST_MATH_INSTRUMENT_VARIABLE(hp);
- result *= hp / exp(zgh);
- BOOST_MATH_INSTRUMENT_VARIABLE(result);
- if(tools::max_value<T>() / hp < result)
- return policies::raise_overflow_error<T>(function, "Result of tgamma is too large to represent.", pol);
- result *= hp;
- BOOST_MATH_INSTRUMENT_VARIABLE(result);
- }
- else
- {
- BOOST_MATH_INSTRUMENT_VARIABLE(zgh);
- BOOST_MATH_INSTRUMENT_VARIABLE(pow(zgh, z - boost::math::constants::half<T>()));
- BOOST_MATH_INSTRUMENT_VARIABLE(exp(zgh));
- result *= pow(zgh, z - boost::math::constants::half<T>()) / exp(zgh);
- BOOST_MATH_INSTRUMENT_VARIABLE(result);
- }
- }
- return result;
-}
-//
-// lgamma(z) with Lanczos support:
-//
-template <class T, class Policy, class Lanczos>
-T lgamma_imp(T z, const Policy& pol, const Lanczos& l, int* sign = 0)
-{
-#ifdef BOOST_MATH_INSTRUMENT
- static bool b = false;
- if(!b)
- {
- std::cout << "lgamma_imp called with " << typeid(z).name() << " " << typeid(l).name() << std::endl;
- b = true;
- }
-#endif
-
- BOOST_MATH_STD_USING
-
- static const char* function = "boost::math::lgamma<%1%>(%1%)";
-
- T result = 0;
- int sresult = 1;
- if(z <= 0)
- {
- // reflection formula:
- if(floor(z) == z)
- return policies::raise_pole_error<T>(function, "Evaluation of lgamma at a negative integer %1%.", z, pol);
-
- T t = sinpx(z);
- z = -z;
- if(t < 0)
- {
- t = -t;
- }
- else
- {
- sresult = -sresult;
- }
- result = log(boost::math::constants::pi<T>()) - lgamma_imp(z, pol, l) - log(t);
- }
- else if(z < 15)
- {
- typedef typename policies::precision<T, Policy>::type precision_type;
- typedef typename mpl::if_<
- mpl::and_<
- mpl::less_equal<precision_type, mpl::int_<64> >,
- mpl::greater<precision_type, mpl::int_<0> >
- >,
- mpl::int_<64>,
- typename mpl::if_<
- mpl::and_<
- mpl::less_equal<precision_type, mpl::int_<113> >,
- mpl::greater<precision_type, mpl::int_<0> >
- >,
- mpl::int_<113>, mpl::int_<0> >::type
- >::type tag_type;
- result = lgamma_small_imp<T>(z, T(z - 1), T(z - 2), tag_type(), pol, l);
- }
- else if((z >= 3) && (z < 100) && (std::numeric_limits<T>::max_exponent >= 1024))
- {
- // taking the log of tgamma reduces the error, no danger of overflow here:
- result = log(gamma_imp(z, pol, l));
- }
- else
- {
- // regular evaluation:
- T zgh = static_cast<T>(z + Lanczos::g() - boost::math::constants::half<T>());
- result = log(zgh) - 1;
- result *= z - 0.5f;
- result += log(Lanczos::lanczos_sum_expG_scaled(z));
- }
-
- if(sign)
- *sign = sresult;
- return result;
-}
-
-//
-// Incomplete gamma functions follow:
-//
-template <class T>
-struct upper_incomplete_gamma_fract
-{
-private:
- T z, a;
- int k;
-public:
- typedef std::pair<T,T> result_type;
-
- upper_incomplete_gamma_fract(T a1, T z1)
- : z(z1-a1+1), a(a1), k(0)
- {
- }
-
- result_type operator()()
- {
- ++k;
- z += 2;
- return result_type(k * (a - k), z);
- }
-};
-
-template <class T>
-inline T upper_gamma_fraction(T a, T z, T eps)
-{
- // Multiply result by z^a * e^-z to get the full
- // upper incomplete integral. Divide by tgamma(z)
- // to normalise.
- upper_incomplete_gamma_fract<T> f(a, z);
- return 1 / (z - a + 1 + boost::math::tools::continued_fraction_a(f, eps));
-}
-
-template <class T>
-struct lower_incomplete_gamma_series
-{
-private:
- T a, z, result;
-public:
- typedef T result_type;
- lower_incomplete_gamma_series(T a1, T z1) : a(a1), z(z1), result(1){}
-
- T operator()()
- {
- T r = result;
- a += 1;
- result *= z/a;
- return r;
- }
-};
-
-template <class T, class Policy>
-inline T lower_gamma_series(T a, T z, const Policy& pol, T init_value = 0)
-{
- // Multiply result by ((z^a) * (e^-z) / a) to get the full
- // lower incomplete integral. Then divide by tgamma(a)
- // to get the normalised value.
- lower_incomplete_gamma_series<T> s(a, z);
- boost::uintmax_t max_iter = policies::get_max_series_iterations<Policy>();
- T factor = policies::get_epsilon<T, Policy>();
- T result = boost::math::tools::sum_series(s, factor, max_iter, init_value);
- policies::check_series_iterations<T>("boost::math::detail::lower_gamma_series<%1%>(%1%)", max_iter, pol);
- return result;
-}
-
-//
-// Fully generic tgamma and lgamma use the incomplete partial
-// sums added together:
-//
-template <class T, class Policy>
-T gamma_imp(T z, const Policy& pol, const lanczos::undefined_lanczos& l)
-{
- static const char* function = "boost::math::tgamma<%1%>(%1%)";
- BOOST_MATH_STD_USING
- if((z <= 0) && (floor(z) == z))
- return policies::raise_pole_error<T>(function, "Evaluation of tgamma at a negative integer %1%.", z, pol);
- if(z <= -20)
- {
- T result = gamma_imp(T(-z), pol, l) * sinpx(z);
- if((fabs(result) < 1) && (tools::max_value<T>() * fabs(result) < boost::math::constants::pi<T>()))
- return policies::raise_overflow_error<T>(function, "Result of tgamma is too large to represent.", pol);
- result = -boost::math::constants::pi<T>() / result;
- if(result == 0)
- return policies::raise_underflow_error<T>(function, "Result of tgamma is too small to represent.", pol);
- if((boost::math::fpclassify)(result) == (int)FP_SUBNORMAL)
- return policies::raise_denorm_error<T>(function, "Result of tgamma is denormalized.", result, pol);
- return result;
- }
- //
- // The upper gamma fraction is *very* slow for z < 6, actually it's very
- // slow to converge everywhere but recursing until z > 6 gets rid of the
- // worst of it's behaviour.
- //
- T prefix = 1;
- while(z < 6)
- {
- prefix /= z;
- z += 1;
- }
- BOOST_MATH_INSTRUMENT_CODE(prefix);
- if((floor(z) == z) && (z < max_factorial<T>::value))
- {
- prefix *= unchecked_factorial<T>(itrunc(z, pol) - 1);
- }
- else
- {
- prefix = prefix * pow(z / boost::math::constants::e<T>(), z);
- BOOST_MATH_INSTRUMENT_CODE(prefix);
- T sum = detail::lower_gamma_series(z, z, pol) / z;
- BOOST_MATH_INSTRUMENT_CODE(sum);
- sum += detail::upper_gamma_fraction(z, z, ::boost::math::policies::get_epsilon<T, Policy>());
- BOOST_MATH_INSTRUMENT_CODE(sum);
- if(fabs(tools::max_value<T>() / prefix) < fabs(sum))
- return policies::raise_overflow_error<T>(function, "Result of tgamma is too large to represent.", pol);
- BOOST_MATH_INSTRUMENT_CODE((sum * prefix));
- return sum * prefix;
- }
- return prefix;
-}
-
-template <class T, class Policy>
-T lgamma_imp(T z, const Policy& pol, const lanczos::undefined_lanczos& l, int*sign)
-{
- BOOST_MATH_STD_USING
-
- static const char* function = "boost::math::lgamma<%1%>(%1%)";
- T result = 0;
- int sresult = 1;
- if(z <= 0)
- {
- if(floor(z) == z)
- return policies::raise_pole_error<T>(function, "Evaluation of tgamma at a negative integer %1%.", z, pol);
- T t = detail::sinpx(z);
- z = -z;
- if(t < 0)
- {
- t = -t;
- }
- else
- {
- sresult = -sresult;
- }
- result = log(boost::math::constants::pi<T>()) - lgamma_imp(z, pol, l, 0) - log(t);
- }
- else if((z != 1) && (z != 2))
- {
- T limit = (std::max)(T(z+1), T(10));
- T prefix = z * log(limit) - limit;
- T sum = detail::lower_gamma_series(z, limit, pol) / z;
- sum += detail::upper_gamma_fraction(z, limit, ::boost::math::policies::get_epsilon<T, Policy>());
- result = log(sum) + prefix;
- }
- if(sign)
- *sign = sresult;
- return result;
-}
-//
-// This helper calculates tgamma(dz+1)-1 without cancellation errors,
-// used by the upper incomplete gamma with z < 1:
-//
-template <class T, class Policy, class Lanczos>
-T tgammap1m1_imp(T dz, Policy const& pol, const Lanczos& l)
-{
- BOOST_MATH_STD_USING
-
- typedef typename policies::precision<T,Policy>::type precision_type;
-
- typedef typename mpl::if_<
- mpl::or_<
- mpl::less_equal<precision_type, mpl::int_<0> >,
- mpl::greater<precision_type, mpl::int_<113> >
- >,
- typename mpl::if_<
- is_same<Lanczos, lanczos::lanczos24m113>,
- mpl::int_<113>,
- mpl::int_<0>
- >::type,
- typename mpl::if_<
- mpl::less_equal<precision_type, mpl::int_<64> >,
- mpl::int_<64>, mpl::int_<113> >::type
- >::type tag_type;
-
- T result;
- if(dz < 0)
- {
- if(dz < -0.5)
- {
- // Best method is simply to subtract 1 from tgamma:
- result = boost::math::tgamma(1+dz, pol) - 1;
- BOOST_MATH_INSTRUMENT_CODE(result);
- }
- else
- {
- // Use expm1 on lgamma:
- result = boost::math::expm1(-boost::math::log1p(dz, pol)
- + lgamma_small_imp<T>(dz+2, dz + 1, dz, tag_type(), pol, l));
- BOOST_MATH_INSTRUMENT_CODE(result);
- }
- }
- else
- {
- if(dz < 2)
- {
- // Use expm1 on lgamma:
- result = boost::math::expm1(lgamma_small_imp<T>(dz+1, dz, dz-1, tag_type(), pol, l), pol);
- BOOST_MATH_INSTRUMENT_CODE(result);
- }
- else
- {
- // Best method is simply to subtract 1 from tgamma:
- result = boost::math::tgamma(1+dz, pol) - 1;
- BOOST_MATH_INSTRUMENT_CODE(result);
- }
- }
-
- return result;
-}
-
-template <class T, class Policy>
-inline T tgammap1m1_imp(T dz, Policy const& pol,
- const ::boost::math::lanczos::undefined_lanczos& l)
-{
- BOOST_MATH_STD_USING // ADL of std names
- //
- // There should be a better solution than this, but the
- // algebra isn't easy for the general case....
- // Start by subracting 1 from tgamma:
- //
- T result = gamma_imp(T(1 + dz), pol, l) - 1;
- BOOST_MATH_INSTRUMENT_CODE(result);
- //
- // Test the level of cancellation error observed: we loose one bit
- // for each power of 2 the result is less than 1. If we would get
- // more bits from our most precise lgamma rational approximation,
- // then use that instead:
- //
- BOOST_MATH_INSTRUMENT_CODE((dz > -0.5));
- BOOST_MATH_INSTRUMENT_CODE((dz < 2));
- BOOST_MATH_INSTRUMENT_CODE((ldexp(1.0, boost::math::policies::digits<T, Policy>()) * fabs(result) < 1e34));
- if((dz > -0.5) && (dz < 2) && (ldexp(1.0, boost::math::policies::digits<T, Policy>()) * fabs(result) < 1e34))
- {
- result = tgammap1m1_imp(dz, pol, boost::math::lanczos::lanczos24m113());
- BOOST_MATH_INSTRUMENT_CODE(result);
- }
- return result;
-}
-
-//
-// Series representation for upper fraction when z is small:
-//
-template <class T>
-struct small_gamma2_series
-{
- typedef T result_type;
-
- small_gamma2_series(T a_, T x_) : result(-x_), x(-x_), apn(a_+1), n(1){}
-
- T operator()()
- {
- T r = result / (apn);
- result *= x;
- result /= ++n;
- apn += 1;
- return r;
- }
-
-private:
- T result, x, apn;
- int n;
-};
-//
-// calculate power term prefix (z^a)(e^-z) used in the non-normalised
-// incomplete gammas:
-//
-template <class T, class Policy>
-T full_igamma_prefix(T a, T z, const Policy& pol)
-{
- BOOST_MATH_STD_USING
-
- T prefix;
- T alz = a * log(z);
-
- if(z >= 1)
- {
- if((alz < tools::log_max_value<T>()) && (-z > tools::log_min_value<T>()))
- {
- prefix = pow(z, a) * exp(-z);
- }
- else if(a >= 1)
- {
- prefix = pow(z / exp(z/a), a);
- }
- else
- {
- prefix = exp(alz - z);
- }
- }
- else
- {
- if(alz > tools::log_min_value<T>())
- {
- prefix = pow(z, a) * exp(-z);
- }
- else if(z/a < tools::log_max_value<T>())
- {
- prefix = pow(z / exp(z/a), a);
- }
- else
- {
- prefix = exp(alz - z);
- }
- }
- //
- // This error handling isn't very good: it happens after the fact
- // rather than before it...
- //
- if((boost::math::fpclassify)(prefix) == (int)FP_INFINITE)
- policies::raise_overflow_error<T>("boost::math::detail::full_igamma_prefix<%1%>(%1%, %1%)", "Result of incomplete gamma function is too large to represent.", pol);
-
- return prefix;
-}
-//
-// Compute (z^a)(e^-z)/tgamma(a)
-// most if the error occurs in this function:
-//
-template <class T, class Policy, class Lanczos>
-T regularised_gamma_prefix(T a, T z, const Policy& pol, const Lanczos& l)
-{
- BOOST_MATH_STD_USING
- T agh = a + static_cast<T>(Lanczos::g()) - T(0.5);
- T prefix;
- T d = ((z - a) - static_cast<T>(Lanczos::g()) + T(0.5)) / agh;
-
- if(a < 1)
- {
- //
- // We have to treat a < 1 as a special case because our Lanczos
- // approximations are optimised against the factorials with a > 1,
- // and for high precision types especially (128-bit reals for example)
- // very small values of a can give rather eroneous results for gamma
- // unless we do this:
- //
- // TODO: is this still required? Lanczos approx should be better now?
- //
- if(z <= tools::log_min_value<T>())
- {
- // Oh dear, have to use logs, should be free of cancellation errors though:
- return exp(a * log(z) - z - lgamma_imp(a, pol, l));
- }
- else
- {
- // direct calculation, no danger of overflow as gamma(a) < 1/a
- // for small a.
- return pow(z, a) * exp(-z) / gamma_imp(a, pol, l);
- }
- }
- else if((fabs(d*d*a) <= 100) && (a > 150))
- {
- // special case for large a and a ~ z.
- prefix = a * boost::math::log1pmx(d, pol) + z * static_cast<T>(0.5 - Lanczos::g()) / agh;
- prefix = exp(prefix);
- }
- else
- {
- //
- // general case.
- // direct computation is most accurate, but use various fallbacks
- // for different parts of the problem domain:
- //
- T alz = a * log(z / agh);
- T amz = a - z;
- if(((std::min)(alz, amz) <= tools::log_min_value<T>()) || ((std::max)(alz, amz) >= tools::log_max_value<T>()))
- {
- T amza = amz / a;
- if(((std::min)(alz, amz)/2 > tools::log_min_value<T>()) && ((std::max)(alz, amz)/2 < tools::log_max_value<T>()))
- {
- // compute square root of the result and then square it:
- T sq = pow(z / agh, a / 2) * exp(amz / 2);
- prefix = sq * sq;
- }
- else if(((std::min)(alz, amz)/4 > tools::log_min_value<T>()) && ((std::max)(alz, amz)/4 < tools::log_max_value<T>()) && (z > a))
- {
- // compute the 4th root of the result then square it twice:
- T sq = pow(z / agh, a / 4) * exp(amz / 4);
- prefix = sq * sq;
- prefix *= prefix;
- }
- else if((amza > tools::log_min_value<T>()) && (amza < tools::log_max_value<T>()))
- {
- prefix = pow((z * exp(amza)) / agh, a);
- }
- else
- {
- prefix = exp(alz + amz);
- }
- }
- else
- {
- prefix = pow(z / agh, a) * exp(amz);
- }
- }
- prefix *= sqrt(agh / boost::math::constants::e<T>()) / Lanczos::lanczos_sum_expG_scaled(a);
- return prefix;
-}
-//
-// And again, without Lanczos support:
-//
-template <class T, class Policy>
-T regularised_gamma_prefix(T a, T z, const Policy& pol, const lanczos::undefined_lanczos&)
-{
- BOOST_MATH_STD_USING
-
- T limit = (std::max)(T(10), a);
- T sum = detail::lower_gamma_series(a, limit, pol) / a;
- sum += detail::upper_gamma_fraction(a, limit, ::boost::math::policies::get_epsilon<T, Policy>());
-
- if(a < 10)
- {
- // special case for small a:
- T prefix = pow(z / 10, a);
- prefix *= exp(10-z);
- if(0 == prefix)
- {
- prefix = pow((z * exp((10-z)/a)) / 10, a);
- }
- prefix /= sum;
- return prefix;
- }
-
- T zoa = z / a;
- T amz = a - z;
- T alzoa = a * log(zoa);
- T prefix;
- if(((std::min)(alzoa, amz) <= tools::log_min_value<T>()) || ((std::max)(alzoa, amz) >= tools::log_max_value<T>()))
- {
- T amza = amz / a;
- if((amza <= tools::log_min_value<T>()) || (amza >= tools::log_max_value<T>()))
- {
- prefix = exp(alzoa + amz);
- }
- else
- {
- prefix = pow(zoa * exp(amza), a);
- }
- }
- else
- {
- prefix = pow(zoa, a) * exp(amz);
- }
- prefix /= sum;
- return prefix;
-}
-//
-// Upper gamma fraction for very small a:
-//
-template <class T, class Policy>
-inline T tgamma_small_upper_part(T a, T x, const Policy& pol, T* pgam = 0, bool invert = false, T* pderivative = 0)
-{
- BOOST_MATH_STD_USING // ADL of std functions.
- //
- // Compute the full upper fraction (Q) when a is very small:
- //
- T result;
- result = boost::math::tgamma1pm1(a, pol);
- if(pgam)
- *pgam = (result + 1) / a;
- T p = boost::math::powm1(x, a, pol);
- result -= p;
- result /= a;
- detail::small_gamma2_series<T> s(a, x);
- boost::uintmax_t max_iter = policies::get_max_series_iterations<Policy>() - 10;
- p += 1;
- if(pderivative)
- *pderivative = p / (*pgam * exp(x));
- T init_value = invert ? *pgam : 0;
- result = -p * tools::sum_series(s, boost::math::policies::get_epsilon<T, Policy>(), max_iter, (init_value - result) / p);
- policies::check_series_iterations<T>("boost::math::tgamma_small_upper_part<%1%>(%1%, %1%)", max_iter, pol);
- if(invert)
- result = -result;
- return result;
-}
-//
-// Upper gamma fraction for integer a:
-//
-template <class T, class Policy>
-inline T finite_gamma_q(T a, T x, Policy const& pol, T* pderivative = 0)
-{
- //
- // Calculates normalised Q when a is an integer:
- //
- BOOST_MATH_STD_USING
- T e = exp(-x);
- T sum = e;
- if(sum != 0)
- {
- T term = sum;
- for(unsigned n = 1; n < a; ++n)
- {
- term /= n;
- term *= x;
- sum += term;
- }
- }
- if(pderivative)
- {
- *pderivative = e * pow(x, a) / boost::math::unchecked_factorial<T>(itrunc(T(a - 1), pol));
- }
- return sum;
-}
-//
-// Upper gamma fraction for half integer a:
-//
-template <class T, class Policy>
-T finite_half_gamma_q(T a, T x, T* p_derivative, const Policy& pol)
-{
- //
- // Calculates normalised Q when a is a half-integer:
- //
- BOOST_MATH_STD_USING
- T e = boost::math::erfc(sqrt(x), pol);
- if((e != 0) && (a > 1))
- {
- T term = exp(-x) / sqrt(constants::pi<T>() * x);
- term *= x;
- static const T half = T(1) / 2;
- term /= half;
- T sum = term;
- for(unsigned n = 2; n < a; ++n)
- {
- term /= n - half;
- term *= x;
- sum += term;
- }
- e += sum;
- if(p_derivative)
- {
- *p_derivative = 0;
- }
- }
- else if(p_derivative)
- {
- // We'll be dividing by x later, so calculate derivative * x:
- *p_derivative = sqrt(x) * exp(-x) / constants::root_pi<T>();
- }
- return e;
-}
-//
-// Main incomplete gamma entry point, handles all four incomplete gamma's:
-//
-template <class T, class Policy>
-T gamma_incomplete_imp(T a, T x, bool normalised, bool invert,
- const Policy& pol, T* p_derivative)
-{
- static const char* function = "boost::math::gamma_p<%1%>(%1%, %1%)";
- if(a <= 0)
- policies::raise_domain_error<T>(function, "Argument a to the incomplete gamma function must be greater than zero (got a=%1%).", a, pol);
- if(x < 0)
- policies::raise_domain_error<T>(function, "Argument x to the incomplete gamma function must be >= 0 (got x=%1%).", x, pol);
-
- BOOST_MATH_STD_USING
-
- typedef typename lanczos::lanczos<T, Policy>::type lanczos_type;
-
- T result = 0; // Just to avoid warning C4701: potentially uninitialized local variable 'result' used
-
- BOOST_ASSERT((p_derivative == 0) || (normalised == true));
-
- bool is_int, is_half_int;
- bool is_small_a = (a < 30) && (a <= x + 1) && (x < tools::log_max_value<T>());
- if(is_small_a)
- {
- T fa = floor(a);
- is_int = (fa == a);
- is_half_int = is_int ? false : (fabs(fa - a) == 0.5f);
- }
- else
- {
- is_int = is_half_int = false;
- }
-
- int eval_method;
-
- if(is_int && (x > 0.6))
- {
- // calculate Q via finite sum:
- invert = !invert;
- eval_method = 0;
- }
- else if(is_half_int && (x > 0.2))
- {
- // calculate Q via finite sum for half integer a:
- invert = !invert;
- eval_method = 1;
- }
- else if(x < 0.5)
- {
- //
- // Changeover criterion chosen to give a changeover at Q ~ 0.33
- //
- if(-0.4 / log(x) < a)
- {
- eval_method = 2;
- }
- else
- {
- eval_method = 3;
- }
- }
- else if(x < 1.1)
- {
- //
- // Changover here occurs when P ~ 0.75 or Q ~ 0.25:
- //
- if(x * 0.75f < a)
- {
- eval_method = 2;
- }
- else
- {
- eval_method = 3;
- }
- }
- else
- {
- //
- // Begin by testing whether we're in the "bad" zone
- // where the result will be near 0.5 and the usual
- // series and continued fractions are slow to converge:
- //
- bool use_temme = false;
- if(normalised && std::numeric_limits<T>::is_specialized && (a > 20))
- {
- T sigma = fabs((x-a)/a);
- if((a > 200) && (policies::digits<T, Policy>() <= 113))
- {
- //
- // This limit is chosen so that we use Temme's expansion
- // only if the result would be larger than about 10^-6.
- // Below that the regular series and continued fractions
- // converge OK, and if we use Temme's method we get increasing
- // errors from the dominant erfc term as it's (inexact) argument
- // increases in magnitude.
- //
- if(20 / a > sigma * sigma)
- use_temme = true;
- }
- else if(policies::digits<T, Policy>() <= 64)
- {
- // Note in this zone we can't use Temme's expansion for
- // types longer than an 80-bit real:
- // it would require too many terms in the polynomials.
- if(sigma < 0.4)
- use_temme = true;
- }
- }
- if(use_temme)
- {
- eval_method = 5;
- }
- else
- {
- //
- // Regular case where the result will not be too close to 0.5.
- //
- // Changeover here occurs at P ~ Q ~ 0.5
- // Note that series computation of P is about x2 faster than continued fraction
- // calculation of Q, so try and use the CF only when really necessary, especially
- // for small x.
- //
- if(x - (1 / (3 * x)) < a)
- {
- eval_method = 2;
- }
- else
- {
- eval_method = 4;
- invert = !invert;
- }
- }
- }
-
- switch(eval_method)
- {
- case 0:
- {
- result = finite_gamma_q(a, x, pol, p_derivative);
- if(normalised == false)
- result *= boost::math::tgamma(a, pol);
- break;
- }
- case 1:
- {
- result = finite_half_gamma_q(a, x, p_derivative, pol);
- if(normalised == false)
- result *= boost::math::tgamma(a, pol);
- if(p_derivative && (*p_derivative == 0))
- *p_derivative = regularised_gamma_prefix(a, x, pol, lanczos_type());
- break;
- }
- case 2:
- {
- // Compute P:
- result = normalised ? regularised_gamma_prefix(a, x, pol, lanczos_type()) : full_igamma_prefix(a, x, pol);
- if(p_derivative)
- *p_derivative = result;
- if(result != 0)
- {
- T init_value = 0;
- if(invert)
- {
- init_value = -a * (normalised ? 1 : boost::math::tgamma(a, pol)) / result;
- }
- result *= detail::lower_gamma_series(a, x, pol, init_value) / a;
- if(invert)
- {
- invert = false;
- result = -result;
- }
- }
- break;
- }
- case 3:
- {
- // Compute Q:
- invert = !invert;
- T g;
- result = tgamma_small_upper_part(a, x, pol, &g, invert, p_derivative);
- invert = false;
- if(normalised)
- result /= g;
- break;
- }
- case 4:
- {
- // Compute Q:
- result = normalised ? regularised_gamma_prefix(a, x, pol, lanczos_type()) : full_igamma_prefix(a, x, pol);
- if(p_derivative)
- *p_derivative = result;
- if(result != 0)
- result *= upper_gamma_fraction(a, x, policies::get_epsilon<T, Policy>());
- break;
- }
- case 5:
- {
- //
- // Use compile time dispatch to the appropriate
- // Temme asymptotic expansion. This may be dead code
- // if T does not have numeric limits support, or has
- // too many digits for the most precise version of
- // these expansions, in that case we'll be calling
- // an empty function.
- //
- typedef typename policies::precision<T, Policy>::type precision_type;
-
- typedef typename mpl::if_<
- mpl::or_<mpl::equal_to<precision_type, mpl::int_<0> >,
- mpl::greater<precision_type, mpl::int_<113> > >,
- mpl::int_<0>,
- typename mpl::if_<
- mpl::less_equal<precision_type, mpl::int_<53> >,
- mpl::int_<53>,
- typename mpl::if_<
- mpl::less_equal<precision_type, mpl::int_<64> >,
- mpl::int_<64>,
- mpl::int_<113>
- >::type
- >::type
- >::type tag_type;
-
- result = igamma_temme_large(a, x, pol, static_cast<tag_type const*>(0));
- if(x >= a)
- invert = !invert;
- if(p_derivative)
- *p_derivative = regularised_gamma_prefix(a, x, pol, lanczos_type());
- break;
- }
- }
-
- if(normalised && (result > 1))
- result = 1;
- if(invert)
- {
- T gam = normalised ? 1 : boost::math::tgamma(a, pol);
- result = gam - result;
- }
- if(p_derivative)
- {
- //
- // Need to convert prefix term to derivative:
- //
- if((x < 1) && (tools::max_value<T>() * x < *p_derivative))
- {
- // overflow, just return an arbitrarily large value:
- *p_derivative = tools::max_value<T>() / 2;
- }
-
- *p_derivative /= x;
- }
-
- return result;
-}
-
-//
-// Ratios of two gamma functions:
-//
-template <class T, class Policy, class Lanczos>
-T tgamma_delta_ratio_imp_lanczos(T z, T delta, const Policy& pol, const Lanczos&)
-{
- BOOST_MATH_STD_USING
- T zgh = z + Lanczos::g() - constants::half<T>();
- T result;
- if(fabs(delta) < 10)
- {
- result = exp((constants::half<T>() - z) * boost::math::log1p(delta / zgh, pol));
- }
- else
- {
- result = pow(zgh / (zgh + delta), z - constants::half<T>());
- }
- result *= pow(constants::e<T>() / (zgh + delta), delta);
- result *= Lanczos::lanczos_sum(z) / Lanczos::lanczos_sum(T(z + delta));
- return result;
-}
-//
-// And again without Lanczos support this time:
-//
-template <class T, class Policy>
-T tgamma_delta_ratio_imp_lanczos(T z, T delta, const Policy& pol, const lanczos::undefined_lanczos&)
-{
- BOOST_MATH_STD_USING
- //
- // The upper gamma fraction is *very* slow for z < 6, actually it's very
- // slow to converge everywhere but recursing until z > 6 gets rid of the
- // worst of it's behaviour.
- //
- T prefix = 1;
- T zd = z + delta;
- while((zd < 6) && (z < 6))
- {
- prefix /= z;
- prefix *= zd;
- z += 1;
- zd += 1;
- }
- if(delta < 10)
- {
- prefix *= exp(-z * boost::math::log1p(delta / z, pol));
- }
- else
- {
- prefix *= pow(z / zd, z);
- }
- prefix *= pow(constants::e<T>() / zd, delta);
- T sum = detail::lower_gamma_series(z, z, pol) / z;
- sum += detail::upper_gamma_fraction(z, z, ::boost::math::policies::get_epsilon<T, Policy>());
- T sumd = detail::lower_gamma_series(zd, zd, pol) / zd;
- sumd += detail::upper_gamma_fraction(zd, zd, ::boost::math::policies::get_epsilon<T, Policy>());
- sum /= sumd;
- if(fabs(tools::max_value<T>() / prefix) < fabs(sum))
- return policies::raise_overflow_error<T>("boost::math::tgamma_delta_ratio<%1%>(%1%, %1%)", "Result of tgamma is too large to represent.", pol);
- return sum * prefix;
-}
-
-template <class T, class Policy>
-T tgamma_delta_ratio_imp(T z, T delta, const Policy& pol)
-{
- BOOST_MATH_STD_USING
-
- if(z <= 0)
- policies::raise_domain_error<T>("boost::math::tgamma_delta_ratio<%1%>(%1%, %1%)", "Gamma function ratios only implemented for positive arguments (got a=%1%).", z, pol);
- if(z+delta <= 0)
- policies::raise_domain_error<T>("boost::math::tgamma_delta_ratio<%1%>(%1%, %1%)", "Gamma function ratios only implemented for positive arguments (got b=%1%).", z+delta, pol);
-
- if(floor(delta) == delta)
- {
- if(floor(z) == z)
- {
- //
- // Both z and delta are integers, see if we can just use table lookup
- // of the factorials to get the result:
- //
- if((z <= max_factorial<T>::value) && (z + delta <= max_factorial<T>::value))
- {
- return unchecked_factorial<T>((unsigned)itrunc(z, pol) - 1) / unchecked_factorial<T>((unsigned)itrunc(T(z + delta), pol) - 1);
- }
- }
- if(fabs(delta) < 20)
- {
- //
- // delta is a small integer, we can use a finite product:
- //
- if(delta == 0)
- return 1;
- if(delta < 0)
- {
- z -= 1;
- T result = z;
- while(0 != (delta += 1))
- {
- z -= 1;
- result *= z;
- }
- return result;
- }
- else
- {
- T result = 1 / z;
- while(0 != (delta -= 1))
- {
- z += 1;
- result /= z;
- }
- return result;
- }
- }
- }
- typedef typename lanczos::lanczos<T, Policy>::type lanczos_type;
- return tgamma_delta_ratio_imp_lanczos(z, delta, pol, lanczos_type());
-}
-
-template <class T, class Policy>
-T tgamma_ratio_imp(T x, T y, const Policy& pol)
-{
- BOOST_MATH_STD_USING
-
- if((x <= tools::min_value<T>()) || (boost::math::isinf)(x))
- policies::raise_domain_error<T>("boost::math::tgamma_ratio<%1%>(%1%, %1%)", "Gamma function ratios only implemented for positive arguments (got a=%1%).", x, pol);
- if((y <= tools::min_value<T>()) || (boost::math::isinf)(y))
- policies::raise_domain_error<T>("boost::math::tgamma_ratio<%1%>(%1%, %1%)", "Gamma function ratios only implemented for positive arguments (got b=%1%).", y, pol);
-
- if((x < max_factorial<T>::value) && (y < max_factorial<T>::value))
- {
- // Rather than subtracting values, lets just call the gamma functions directly:
- return boost::math::tgamma(x, pol) / boost::math::tgamma(y, pol);
- }
- T prefix = 1;
- if(x < 1)
- {
- if(y < 2 * max_factorial<T>::value)
- {
- // We need to sidestep on x as well, otherwise we'll underflow
- // before we get to factor in the prefix term:
- prefix /= x;
- x += 1;
- while(y >= max_factorial<T>::value)
- {
- y -= 1;
- prefix /= y;
- }
- return prefix * boost::math::tgamma(x, pol) / boost::math::tgamma(y, pol);
- }
- //
- // result is almost certainly going to underflow to zero, try logs just in case:
- //
- return exp(boost::math::lgamma(x, pol) - boost::math::lgamma(y, pol));
- }
- if(y < 1)
- {
- if(x < 2 * max_factorial<T>::value)
- {
- // We need to sidestep on y as well, otherwise we'll overflow
- // before we get to factor in the prefix term:
- prefix *= y;
- y += 1;
- while(x >= max_factorial<T>::value)
- {
- x -= 1;
- prefix *= x;
- }
- return prefix * boost::math::tgamma(x, pol) / boost::math::tgamma(y, pol);
- }
- //
- // Result will almost certainly overflow, try logs just in case:
- //
- return exp(boost::math::lgamma(x, pol) - boost::math::lgamma(y, pol));
- }
- //
- // Regular case, x and y both large and similar in magnitude:
- //
- return boost::math::tgamma_delta_ratio(x, y - x, pol);
-}
-
-template <class T, class Policy>
-T gamma_p_derivative_imp(T a, T x, const Policy& pol)
-{
- //
- // Usual error checks first:
- //
- if(a <= 0)
- policies::raise_domain_error<T>("boost::math::gamma_p_derivative<%1%>(%1%, %1%)", "Argument a to the incomplete gamma function must be greater than zero (got a=%1%).", a, pol);
- if(x < 0)
- policies::raise_domain_error<T>("boost::math::gamma_p_derivative<%1%>(%1%, %1%)", "Argument x to the incomplete gamma function must be >= 0 (got x=%1%).", x, pol);
- //
- // Now special cases:
- //
- if(x == 0)
- {
- return (a > 1) ? 0 :
- (a == 1) ? 1 : policies::raise_overflow_error<T>("boost::math::gamma_p_derivative<%1%>(%1%, %1%)", 0, pol);
- }
- //
- // Normal case:
- //
- typedef typename lanczos::lanczos<T, Policy>::type lanczos_type;
- T f1 = detail::regularised_gamma_prefix(a, x, pol, lanczos_type());
- if((x < 1) && (tools::max_value<T>() * x < f1))
- {
- // overflow:
- return policies::raise_overflow_error<T>("boost::math::gamma_p_derivative<%1%>(%1%, %1%)", 0, pol);
- }
-
- f1 /= x;
-
- return f1;
-}
-
-template <class T, class Policy>
-inline typename tools::promote_args<T>::type
- tgamma(T z, const Policy& /* pol */, const mpl::true_)
-{
- BOOST_FPU_EXCEPTION_GUARD
- typedef typename tools::promote_args<T>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename lanczos::lanczos<value_type, Policy>::type evaluation_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
- return policies::checked_narrowing_cast<result_type, forwarding_policy>(detail::gamma_imp(static_cast<value_type>(z), forwarding_policy(), evaluation_type()), "boost::math::tgamma<%1%>(%1%)");
-}
-
-template <class T, class Policy>
-struct igamma_initializer
-{
- struct init
- {
- init()
- {
- typedef typename policies::precision<T, Policy>::type precision_type;
-
- typedef typename mpl::if_<
- mpl::or_<mpl::equal_to<precision_type, mpl::int_<0> >,
- mpl::greater<precision_type, mpl::int_<113> > >,
- mpl::int_<0>,
- typename mpl::if_<
- mpl::less_equal<precision_type, mpl::int_<53> >,
- mpl::int_<53>,
- typename mpl::if_<
- mpl::less_equal<precision_type, mpl::int_<64> >,
- mpl::int_<64>,
- mpl::int_<113>
- >::type
- >::type
- >::type tag_type;
-
- do_init(tag_type());
- }
- template <int N>
- static void do_init(const mpl::int_<N>&)
- {
- boost::math::gamma_p(static_cast<T>(400), static_cast<T>(400), Policy());
- }
- static void do_init(const mpl::int_<53>&){}
- void force_instantiate()const{}
- };
- static const init initializer;
- static void force_instantiate()
- {
- initializer.force_instantiate();
- }
-};
-
-template <class T, class Policy>
-const typename igamma_initializer<T, Policy>::init igamma_initializer<T, Policy>::initializer;
-
-template <class T, class Policy>
-struct lgamma_initializer
-{
- struct init
- {
- init()
- {
- typedef typename policies::precision<T, Policy>::type precision_type;
- typedef typename mpl::if_<
- mpl::and_<
- mpl::less_equal<precision_type, mpl::int_<64> >,
- mpl::greater<precision_type, mpl::int_<0> >
- >,
- mpl::int_<64>,
- typename mpl::if_<
- mpl::and_<
- mpl::less_equal<precision_type, mpl::int_<113> >,
- mpl::greater<precision_type, mpl::int_<0> >
- >,
- mpl::int_<113>, mpl::int_<0> >::type
- >::type tag_type;
- do_init(tag_type());
- }
- static void do_init(const mpl::int_<64>&)
- {
- boost::math::lgamma(static_cast<T>(2.5), Policy());
- boost::math::lgamma(static_cast<T>(1.25), Policy());
- boost::math::lgamma(static_cast<T>(1.75), Policy());
- }
- static void do_init(const mpl::int_<113>&)
- {
- boost::math::lgamma(static_cast<T>(2.5), Policy());
- boost::math::lgamma(static_cast<T>(1.25), Policy());
- boost::math::lgamma(static_cast<T>(1.5), Policy());
- boost::math::lgamma(static_cast<T>(1.75), Policy());
- }
- static void do_init(const mpl::int_<0>&)
- {
- }
- void force_instantiate()const{}
- };
- static const init initializer;
- static void force_instantiate()
- {
- initializer.force_instantiate();
- }
-};
-
-template <class T, class Policy>
-const typename lgamma_initializer<T, Policy>::init lgamma_initializer<T, Policy>::initializer;
-
-template <class T1, class T2, class Policy>
-inline typename tools::promote_args<T1, T2>::type
- tgamma(T1 a, T2 z, const Policy&, const mpl::false_)
-{
- BOOST_FPU_EXCEPTION_GUARD
- typedef typename tools::promote_args<T1, T2>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- // typedef typename lanczos::lanczos<value_type, Policy>::type evaluation_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
-
- igamma_initializer<value_type, forwarding_policy>::force_instantiate();
-
- return policies::checked_narrowing_cast<result_type, forwarding_policy>(
- detail::gamma_incomplete_imp(static_cast<value_type>(a),
- static_cast<value_type>(z), false, true,
- forwarding_policy(), static_cast<value_type*>(0)), "boost::math::tgamma<%1%>(%1%, %1%)");
-}
-
-template <class T1, class T2>
-inline typename tools::promote_args<T1, T2>::type
- tgamma(T1 a, T2 z, const mpl::false_ tag)
-{
- return tgamma(a, z, policies::policy<>(), tag);
-}
-
-
-} // namespace detail
-
-template <class T>
-inline typename tools::promote_args<T>::type
- tgamma(T z)
-{
- return tgamma(z, policies::policy<>());
-}
-
-template <class T, class Policy>
-inline typename tools::promote_args<T>::type
- lgamma(T z, int* sign, const Policy&)
-{
- BOOST_FPU_EXCEPTION_GUARD
- typedef typename tools::promote_args<T>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename lanczos::lanczos<value_type, Policy>::type evaluation_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
-
- detail::lgamma_initializer<value_type, forwarding_policy>::force_instantiate();
-
- return policies::checked_narrowing_cast<result_type, forwarding_policy>(detail::lgamma_imp(static_cast<value_type>(z), forwarding_policy(), evaluation_type(), sign), "boost::math::lgamma<%1%>(%1%)");
-}
-
-template <class T>
-inline typename tools::promote_args<T>::type
- lgamma(T z, int* sign)
-{
- return lgamma(z, sign, policies::policy<>());
-}
-
-template <class T, class Policy>
-inline typename tools::promote_args<T>::type
- lgamma(T x, const Policy& pol)
-{
- return ::boost::math::lgamma(x, 0, pol);
-}
-
-template <class T>
-inline typename tools::promote_args<T>::type
- lgamma(T x)
-{
- return ::boost::math::lgamma(x, 0, policies::policy<>());
-}
-
-template <class T, class Policy>
-inline typename tools::promote_args<T>::type
- tgamma1pm1(T z, const Policy& /* pol */)
-{
- BOOST_FPU_EXCEPTION_GUARD
- typedef typename tools::promote_args<T>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename lanczos::lanczos<value_type, Policy>::type evaluation_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
-
- return policies::checked_narrowing_cast<typename remove_cv<result_type>::type, forwarding_policy>(detail::tgammap1m1_imp(static_cast<value_type>(z), forwarding_policy(), evaluation_type()), "boost::math::tgamma1pm1<%!%>(%1%)");
-}
-
-template <class T>
-inline typename tools::promote_args<T>::type
- tgamma1pm1(T z)
-{
- return tgamma1pm1(z, policies::policy<>());
-}
-
-//
-// Full upper incomplete gamma:
-//
-template <class T1, class T2>
-inline typename tools::promote_args<T1, T2>::type
- tgamma(T1 a, T2 z)
-{
- //
- // Type T2 could be a policy object, or a value, select the
- // right overload based on T2:
- //
- typedef typename policies::is_policy<T2>::type maybe_policy;
- return detail::tgamma(a, z, maybe_policy());
-}
-template <class T1, class T2, class Policy>
-inline typename tools::promote_args<T1, T2>::type
- tgamma(T1 a, T2 z, const Policy& pol)
-{
- return detail::tgamma(a, z, pol, mpl::false_());
-}
-//
-// Full lower incomplete gamma:
-//
-template <class T1, class T2, class Policy>
-inline typename tools::promote_args<T1, T2>::type
- tgamma_lower(T1 a, T2 z, const Policy&)
-{
- BOOST_FPU_EXCEPTION_GUARD
- typedef typename tools::promote_args<T1, T2>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- // typedef typename lanczos::lanczos<value_type, Policy>::type evaluation_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
-
- detail::igamma_initializer<value_type, forwarding_policy>::force_instantiate();
-
- return policies::checked_narrowing_cast<result_type, forwarding_policy>(
- detail::gamma_incomplete_imp(static_cast<value_type>(a),
- static_cast<value_type>(z), false, false,
- forwarding_policy(), static_cast<value_type*>(0)), "tgamma_lower<%1%>(%1%, %1%)");
-}
-template <class T1, class T2>
-inline typename tools::promote_args<T1, T2>::type
- tgamma_lower(T1 a, T2 z)
-{
- return tgamma_lower(a, z, policies::policy<>());
-}
-//
-// Regularised upper incomplete gamma:
-//
-template <class T1, class T2, class Policy>
-inline typename tools::promote_args<T1, T2>::type
- gamma_q(T1 a, T2 z, const Policy& /* pol */)
-{
- BOOST_FPU_EXCEPTION_GUARD
- typedef typename tools::promote_args<T1, T2>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- // typedef typename lanczos::lanczos<value_type, Policy>::type evaluation_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
-
- detail::igamma_initializer<value_type, forwarding_policy>::force_instantiate();
-
- return policies::checked_narrowing_cast<result_type, forwarding_policy>(
- detail::gamma_incomplete_imp(static_cast<value_type>(a),
- static_cast<value_type>(z), true, true,
- forwarding_policy(), static_cast<value_type*>(0)), "gamma_q<%1%>(%1%, %1%)");
-}
-template <class T1, class T2>
-inline typename tools::promote_args<T1, T2>::type
- gamma_q(T1 a, T2 z)
-{
- return gamma_q(a, z, policies::policy<>());
-}
-//
-// Regularised lower incomplete gamma:
-//
-template <class T1, class T2, class Policy>
-inline typename tools::promote_args<T1, T2>::type
- gamma_p(T1 a, T2 z, const Policy&)
-{
- BOOST_FPU_EXCEPTION_GUARD
- typedef typename tools::promote_args<T1, T2>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- // typedef typename lanczos::lanczos<value_type, Policy>::type evaluation_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
-
- detail::igamma_initializer<value_type, forwarding_policy>::force_instantiate();
-
- return policies::checked_narrowing_cast<result_type, forwarding_policy>(
- detail::gamma_incomplete_imp(static_cast<value_type>(a),
- static_cast<value_type>(z), true, false,
- forwarding_policy(), static_cast<value_type*>(0)), "gamma_p<%1%>(%1%, %1%)");
-}
-template <class T1, class T2>
-inline typename tools::promote_args<T1, T2>::type
- gamma_p(T1 a, T2 z)
-{
- return gamma_p(a, z, policies::policy<>());
-}
-
-// ratios of gamma functions:
-template <class T1, class T2, class Policy>
-inline typename tools::promote_args<T1, T2>::type
- tgamma_delta_ratio(T1 z, T2 delta, const Policy& /* pol */)
-{
- BOOST_FPU_EXCEPTION_GUARD
- typedef typename tools::promote_args<T1, T2>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
-
- return policies::checked_narrowing_cast<result_type, forwarding_policy>(detail::tgamma_delta_ratio_imp(static_cast<value_type>(z), static_cast<value_type>(delta), forwarding_policy()), "boost::math::tgamma_delta_ratio<%1%>(%1%, %1%)");
-}
-template <class T1, class T2>
-inline typename tools::promote_args<T1, T2>::type
- tgamma_delta_ratio(T1 z, T2 delta)
-{
- return tgamma_delta_ratio(z, delta, policies::policy<>());
-}
-template <class T1, class T2, class Policy>
-inline typename tools::promote_args<T1, T2>::type
- tgamma_ratio(T1 a, T2 b, const Policy&)
-{
- typedef typename tools::promote_args<T1, T2>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
-
- return policies::checked_narrowing_cast<result_type, forwarding_policy>(detail::tgamma_ratio_imp(static_cast<value_type>(a), static_cast<value_type>(b), forwarding_policy()), "boost::math::tgamma_delta_ratio<%1%>(%1%, %1%)");
-}
-template <class T1, class T2>
-inline typename tools::promote_args<T1, T2>::type
- tgamma_ratio(T1 a, T2 b)
-{
- return tgamma_ratio(a, b, policies::policy<>());
-}
-
-template <class T1, class T2, class Policy>
-inline typename tools::promote_args<T1, T2>::type
- gamma_p_derivative(T1 a, T2 x, const Policy&)
-{
- BOOST_FPU_EXCEPTION_GUARD
- typedef typename tools::promote_args<T1, T2>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
-
- return policies::checked_narrowing_cast<result_type, forwarding_policy>(detail::gamma_p_derivative_imp(static_cast<value_type>(a), static_cast<value_type>(x), forwarding_policy()), "boost::math::gamma_p_derivative<%1%>(%1%, %1%)");
-}
-template <class T1, class T2>
-inline typename tools::promote_args<T1, T2>::type
- gamma_p_derivative(T1 a, T2 x)
-{
- return gamma_p_derivative(a, x, policies::policy<>());
-}
-
-} // namespace math
-} // namespace boost
-
-#ifdef BOOST_MSVC
-# pragma warning(pop)
-#endif
-
-#include <boost/math/special_functions/detail/igamma_inverse.hpp>
-#include <boost/math/special_functions/detail/gamma_inva.hpp>
-#include <boost/math/special_functions/erf.hpp>
-
-#endif // BOOST_MATH_SF_GAMMA_HPP
-
-
-
-
diff --git a/boost/math/special_functions/hankel.hpp b/boost/math/special_functions/hankel.hpp
deleted file mode 100644
index 76ceb65..0000000
--- a/boost/math/special_functions/hankel.hpp
+++ /dev/null
@@ -1,179 +0,0 @@
-// Copyright John Maddock 2012.
-// 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_HANKEL_HPP
-#define BOOST_MATH_HANKEL_HPP
-
-#include <boost/math/special_functions/bessel.hpp>
-
-namespace boost{ namespace math{
-
-namespace detail{
-
-template <class T, class Policy>
-std::complex<T> hankel_imp(T v, T x, const bessel_no_int_tag&, const Policy& pol, int sign)
-{
- BOOST_MATH_STD_USING
- static const char* function = "boost::math::cyl_hankel_1<%1%>(%1%,%1%)";
-
- if(x < 0)
- {
- bool isint_v = floor(v) == v;
- T j, y;
- bessel_jy(v, -x, &j, &y, need_j | need_y, pol);
- std::complex<T> cx(x), cv(v);
- std::complex<T> j_result, y_result;
- if(isint_v)
- {
- int s = (iround(v) & 1) ? -1 : 1;
- j_result = j * s;
- y_result = T(s) * (y - (2 / constants::pi<T>()) * (log(-x) - log(cx)) * j);
- }
- else
- {
- j_result = pow(cx, v) * pow(-cx, -v) * j;
- T p1 = pow(-x, v);
- std::complex<T> p2 = pow(cx, v);
- y_result = p1 * y / p2
- + (p2 / p1 - p1 / p2) * j / tan(constants::pi<T>() * v);
- }
- // multiply y_result by i:
- y_result = std::complex<T>(-sign * y_result.imag(), sign * y_result.real());
- return j_result + y_result;
- }
-
- if(x == 0)
- {
- if(v == 0)
- {
- // J is 1, Y is -INF
- return std::complex<T>(1, sign * -policies::raise_overflow_error<T>(function, 0, pol));
- }
- else
- {
- // At least one of J and Y is complex infinity:
- return std::complex<T>(policies::raise_overflow_error<T>(function, 0, pol), sign * policies::raise_overflow_error<T>(function, 0, pol));
- }
- }
-
- T j, y;
- bessel_jy(v, x, &j, &y, need_j | need_y, pol);
- return std::complex<T>(j, sign * y);
-}
-
-template <class T, class Policy>
-std::complex<T> hankel_imp(int v, T x, const bessel_int_tag&, const Policy& pol, int sign);
-
-template <class T, class Policy>
-inline std::complex<T> hankel_imp(T v, T x, const bessel_maybe_int_tag&, const Policy& pol, int sign)
-{
- BOOST_MATH_STD_USING // ADL of std names.
- int ival = detail::iconv(v, pol);
- if(0 == v - ival)
- {
- return hankel_imp(ival, x, bessel_int_tag(), pol, sign);
- }
- return hankel_imp(v, x, bessel_no_int_tag(), pol, sign);
-}
-
-template <class T, class Policy>
-inline std::complex<T> hankel_imp(int v, T x, const bessel_int_tag&, const Policy& pol, int sign)
-{
- BOOST_MATH_STD_USING
- if((std::abs(v) < 200) && (x > 0))
- return std::complex<T>(bessel_jn(v, x, pol), sign * bessel_yn(v, x, pol));
- return hankel_imp(static_cast<T>(v), x, bessel_no_int_tag(), pol, sign);
-}
-
-template <class T, class Policy>
-inline std::complex<T> sph_hankel_imp(T v, T x, const Policy& pol, int sign)
-{
- BOOST_MATH_STD_USING
- return constants::root_half_pi<T>() * hankel_imp(v + 0.5f, x, bessel_no_int_tag(), pol, sign) / sqrt(std::complex<T>(x));
-}
-
-} // namespace detail
-
-template <class T1, class T2, class Policy>
-inline std::complex<typename detail::bessel_traits<T1, T2, Policy>::result_type> cyl_hankel_1(T1 v, T2 x, const Policy& pol)
-{
- BOOST_FPU_EXCEPTION_GUARD
- typedef typename detail::bessel_traits<T1, T2, Policy>::result_type result_type;
- typedef typename detail::bessel_traits<T1, T2, Policy>::optimisation_tag tag_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- return policies::checked_narrowing_cast<std::complex<result_type>, Policy>(detail::hankel_imp<value_type>(v, static_cast<value_type>(x), tag_type(), pol, 1), "boost::math::cyl_hankel_1<%1%>(%1%,%1%)");
-}
-
-template <class T1, class T2>
-inline std::complex<typename detail::bessel_traits<T1, T2, policies::policy<> >::result_type> cyl_hankel_1(T1 v, T2 x)
-{
- return cyl_hankel_1(v, x, policies::policy<>());
-}
-
-template <class T1, class T2, class Policy>
-inline std::complex<typename detail::bessel_traits<T1, T2, Policy>::result_type> cyl_hankel_2(T1 v, T2 x, const Policy& pol)
-{
- BOOST_FPU_EXCEPTION_GUARD
- typedef typename detail::bessel_traits<T1, T2, Policy>::result_type result_type;
- typedef typename detail::bessel_traits<T1, T2, Policy>::optimisation_tag tag_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- return policies::checked_narrowing_cast<std::complex<result_type>, Policy>(detail::hankel_imp<value_type>(v, static_cast<value_type>(x), tag_type(), pol, -1), "boost::math::cyl_hankel_1<%1%>(%1%,%1%)");
-}
-
-template <class T1, class T2>
-inline std::complex<typename detail::bessel_traits<T1, T2, policies::policy<> >::result_type> cyl_hankel_2(T1 v, T2 x)
-{
- return cyl_hankel_2(v, x, policies::policy<>());
-}
-
-template <class T1, class T2, class Policy>
-inline std::complex<typename detail::bessel_traits<T1, T2, Policy>::result_type> sph_hankel_1(T1 v, T2 x, const Policy&)
-{
- BOOST_FPU_EXCEPTION_GUARD
- typedef typename detail::bessel_traits<T1, T2, Policy>::result_type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
-
- return policies::checked_narrowing_cast<std::complex<result_type>, Policy>(detail::sph_hankel_imp<value_type>(static_cast<value_type>(v), static_cast<value_type>(x), forwarding_policy(), 1), "boost::math::sph_hankel_1<%1%>(%1%,%1%)");
-}
-
-template <class T1, class T2>
-inline std::complex<typename detail::bessel_traits<T1, T2, policies::policy<> >::result_type> sph_hankel_1(T1 v, T2 x)
-{
- return sph_hankel_1(v, x, policies::policy<>());
-}
-
-template <class T1, class T2, class Policy>
-inline std::complex<typename detail::bessel_traits<T1, T2, Policy>::result_type> sph_hankel_2(T1 v, T2 x, const Policy&)
-{
- BOOST_FPU_EXCEPTION_GUARD
- typedef typename detail::bessel_traits<T1, T2, Policy>::result_type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
-
- return policies::checked_narrowing_cast<std::complex<result_type>, Policy>(detail::sph_hankel_imp<value_type>(static_cast<value_type>(v), static_cast<value_type>(x), forwarding_policy(), -1), "boost::math::sph_hankel_1<%1%>(%1%,%1%)");
-}
-
-template <class T1, class T2>
-inline std::complex<typename detail::bessel_traits<T1, T2, policies::policy<> >::result_type> sph_hankel_2(T1 v, T2 x)
-{
- return sph_hankel_2(v, x, policies::policy<>());
-}
-
-}} // namespaces
-
-#endif // BOOST_MATH_HANKEL_HPP
-
diff --git a/boost/math/special_functions/hermite.hpp b/boost/math/special_functions/hermite.hpp
deleted file mode 100644
index 1221f41..0000000
--- a/boost/math/special_functions/hermite.hpp
+++ /dev/null
@@ -1,76 +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_SPECIAL_HERMITE_HPP
-#define BOOST_MATH_SPECIAL_HERMITE_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/math/special_functions/math_fwd.hpp>
-#include <boost/math/tools/config.hpp>
-#include <boost/math/policies/error_handling.hpp>
-
-namespace boost{
-namespace math{
-
-// Recurrance relation for Hermite polynomials:
-template <class T1, class T2, class T3>
-inline typename tools::promote_args<T1, T2, T3>::type
- hermite_next(unsigned n, T1 x, T2 Hn, T3 Hnm1)
-{
- return (2 * x * Hn - 2 * n * Hnm1);
-}
-
-namespace detail{
-
-// Implement Hermite polynomials via recurrance:
-template <class T>
-T hermite_imp(unsigned n, T x)
-{
- T p0 = 1;
- T p1 = 2 * x;
-
- if(n == 0)
- return p0;
-
- unsigned c = 1;
-
- while(c < n)
- {
- std::swap(p0, p1);
- p1 = hermite_next(c, x, p0, p1);
- ++c;
- }
- return p1;
-}
-
-} // namespace detail
-
-template <class T, class Policy>
-inline typename tools::promote_args<T>::type
- hermite(unsigned n, T x, const Policy&)
-{
- typedef typename tools::promote_args<T>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- return policies::checked_narrowing_cast<result_type, Policy>(detail::hermite_imp(n, static_cast<value_type>(x)), "boost::math::hermite<%1%>(unsigned, %1%)");
-}
-
-template <class T>
-inline typename tools::promote_args<T>::type
- hermite(unsigned n, T x)
-{
- return boost::math::hermite(n, x, policies::policy<>());
-}
-
-} // namespace math
-} // namespace boost
-
-#endif // BOOST_MATH_SPECIAL_HERMITE_HPP
-
-
-
diff --git a/boost/math/special_functions/hypot.hpp b/boost/math/special_functions/hypot.hpp
deleted file mode 100644
index efe1a3f..0000000
--- a/boost/math/special_functions/hypot.hpp
+++ /dev/null
@@ -1,86 +0,0 @@
-// (C) 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_HYPOT_INCLUDED
-#define BOOST_MATH_HYPOT_INCLUDED
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/math/tools/config.hpp>
-#include <boost/math/tools/precision.hpp>
-#include <boost/math/policies/error_handling.hpp>
-#include <boost/math/special_functions/math_fwd.hpp>
-#include <boost/config/no_tr1/cmath.hpp>
-#include <algorithm> // for swap
-
-#ifdef BOOST_NO_STDC_NAMESPACE
-namespace std{ using ::sqrt; using ::fabs; }
-#endif
-
-namespace boost{ namespace math{ namespace detail{
-
-template <class T, class Policy>
-T hypot_imp(T x, T y, const Policy& pol)
-{
- //
- // Normalize x and y, so that both are positive and x >= y:
- //
- using std::fabs; using std::sqrt; // ADL of std names
-
- x = fabs(x);
- y = fabs(y);
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4127)
-#endif
- // special case, see C99 Annex F:
- if(std::numeric_limits<T>::has_infinity
- && ((x == std::numeric_limits<T>::infinity())
- || (y == std::numeric_limits<T>::infinity())))
- return policies::raise_overflow_error<T>("boost::math::hypot<%1%>(%1%,%1%)", 0, pol);
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
- if(y > x)
- (std::swap)(x, y);
-
- if(x * tools::epsilon<T>() >= y)
- return x;
-
- T rat = y / x;
- return x * sqrt(1 + rat*rat);
-} // template <class T> T hypot(T x, T y)
-
-}
-
-template <class T1, class T2>
-inline typename tools::promote_args<T1, T2>::type
- hypot(T1 x, T2 y)
-{
- typedef typename tools::promote_args<T1, T2>::type result_type;
- return detail::hypot_imp(
- static_cast<result_type>(x), static_cast<result_type>(y), policies::policy<>());
-}
-
-template <class T1, class T2, class Policy>
-inline typename tools::promote_args<T1, T2>::type
- hypot(T1 x, T2 y, const Policy& pol)
-{
- typedef typename tools::promote_args<T1, T2>::type result_type;
- return detail::hypot_imp(
- static_cast<result_type>(x), static_cast<result_type>(y), pol);
-}
-
-} // namespace math
-} // namespace boost
-
-#endif // BOOST_MATH_HYPOT_INCLUDED
-
-
-
diff --git a/boost/math/special_functions/jacobi_elliptic.hpp b/boost/math/special_functions/jacobi_elliptic.hpp
deleted file mode 100644
index 60ef97e..0000000
--- a/boost/math/special_functions/jacobi_elliptic.hpp
+++ /dev/null
@@ -1,320 +0,0 @@
-// Copyright John Maddock 2012.
-// 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_JACOBI_ELLIPTIC_HPP
-#define BOOST_MATH_JACOBI_ELLIPTIC_HPP
-
-#include <boost/math/tools/precision.hpp>
-#include <boost/math/tools/promotion.hpp>
-#include <boost/math/policies/error_handling.hpp>
-
-namespace boost{ namespace math{
-
-namespace detail{
-
-template <class T, class Policy>
-T jacobi_recurse(const T& x, const T& k, T anm1, T bnm1, unsigned N, T* pTn, const Policy& pol)
-{
- BOOST_MATH_STD_USING
- ++N;
- T Tn;
- T cn = (anm1 - bnm1) / 2;
- T an = (anm1 + bnm1) / 2;
- if(cn < policies::get_epsilon<T, Policy>())
- {
- Tn = ldexp(T(1), (int)N) * x * an;
- }
- else
- Tn = jacobi_recurse<T>(x, k, an, sqrt(anm1 * bnm1), N, 0, pol);
- if(pTn)
- *pTn = Tn;
- return (Tn + asin((cn / an) * sin(Tn))) / 2;
-}
-
-template <class T, class Policy>
-T jacobi_imp(const T& x, const T& k, T* cn, T* dn, const Policy& pol, const char* function)
-{
- BOOST_MATH_STD_USING
- if(k < 0)
- {
- *cn = policies::raise_domain_error<T>(function, "Modulus k must be positive but got %1%.", k, pol);
- *dn = *cn;
- return *cn;
- }
- if(k > 1)
- {
- T xp = x * k;
- T kp = 1 / k;
- T snp, cnp, dnp;
- snp = jacobi_imp(xp, kp, &cnp, &dnp, pol, function);
- *cn = dnp;
- *dn = cnp;
- return snp * kp;
- }
- //
- // Special cases first:
- //
- if(x == 0)
- {
- *cn = *dn = 1;
- return 0;
- }
- if(k == 0)
- {
- *cn = cos(x);
- *dn = 1;
- return sin(x);
- }
- if(k == 1)
- {
- *cn = *dn = 1 / cosh(x);
- return tanh(x);
- }
- //
- // Asymptotic forms from A&S 16.13:
- //
- if(k < tools::forth_root_epsilon<T>())
- {
- T su = sin(x);
- T cu = cos(x);
- T m = k * k;
- *dn = 1 - m * su * su / 2;
- *cn = cu + m * (x - su * cu) * su / 4;
- return su - m * (x - su * cu) * cu / 4;
- }
- /* Can't get this to work to adequate precision - disabled for now...
- //
- // Asymptotic forms from A&S 16.15:
- //
- if(k > 1 - tools::root_epsilon<T>())
- {
- T tu = tanh(x);
- T su = sinh(x);
- T cu = cosh(x);
- T sec = 1 / cu;
- T kp = 1 - k;
- T m1 = 2 * kp - kp * kp;
- *dn = sec + m1 * (su * cu + x) * tu * sec / 4;
- *cn = sec - m1 * (su * cu - x) * tu * sec / 4;
- T sn = tu;
- T sn2 = m1 * (x * sec * sec - tu) / 4;
- T sn3 = (72 * x * cu + 4 * (8 * x * x - 5) * su - 19 * sinh(3 * x) + sinh(5 * x)) * sec * sec * sec * m1 * m1 / 512;
- return sn + sn2 - sn3;
- }*/
- T T1;
- T kc = 1 - k;
- T k_prime = k < 0.5 ? T(sqrt(1 - k * k)) : T(sqrt(2 * kc - kc * kc));
- T T0 = jacobi_recurse(x, k, T(1), k_prime, 0, &T1, pol);
- *cn = cos(T0);
- *dn = cos(T0) / cos(T1 - T0);
- return sin(T0);
-}
-
-} // namespace detail
-
-template <class T, class U, class V, class Policy>
-inline typename tools::promote_args<T, U, V>::type jacobi_elliptic(T k, U theta, V* pcn, V* pdn, const Policy&)
-{
- BOOST_FPU_EXCEPTION_GUARD
- typedef typename tools::promote_args<T>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
-
- static const char* function = "boost::math::jacobi_elliptic<%1%>(%1%)";
-
- value_type sn, cn, dn;
- sn = detail::jacobi_imp<value_type>(static_cast<value_type>(theta), static_cast<value_type>(k), &cn, &dn, forwarding_policy(), function);
- if(pcn)
- *pcn = policies::checked_narrowing_cast<result_type, Policy>(cn, function);
- if(pdn)
- *pdn = policies::checked_narrowing_cast<result_type, Policy>(dn, function);
- return policies::checked_narrowing_cast<result_type, Policy>(sn, function);;
-}
-
-template <class T, class U, class V>
-inline typename tools::promote_args<T, U, V>::type jacobi_elliptic(T k, U theta, V* pcn, V* pdn)
-{
- return jacobi_elliptic(k, theta, pcn, pdn, policies::policy<>());
-}
-
-template <class U, class T, class Policy>
-inline typename tools::promote_args<T, U>::type jacobi_sn(U k, T theta, const Policy& pol)
-{
- typedef typename tools::promote_args<T, U>::type result_type;
- return jacobi_elliptic(static_cast<result_type>(k), static_cast<result_type>(theta), static_cast<result_type*>(0), static_cast<result_type*>(0), pol);
-}
-
-template <class U, class T>
-inline typename tools::promote_args<T, U>::type jacobi_sn(U k, T theta)
-{
- return jacobi_sn(k, theta, policies::policy<>());
-}
-
-template <class T, class U, class Policy>
-inline typename tools::promote_args<T, U>::type jacobi_cn(T k, U theta, const Policy& pol)
-{
- typedef typename tools::promote_args<T, U>::type result_type;
- result_type cn;
- jacobi_elliptic(static_cast<result_type>(k), static_cast<result_type>(theta), &cn, static_cast<result_type*>(0), pol);
- return cn;
-}
-
-template <class T, class U>
-inline typename tools::promote_args<T, U>::type jacobi_cn(T k, U theta)
-{
- return jacobi_cn(k, theta, policies::policy<>());
-}
-
-template <class T, class U, class Policy>
-inline typename tools::promote_args<T, U>::type jacobi_dn(T k, U theta, const Policy& pol)
-{
- typedef typename tools::promote_args<T, U>::type result_type;
- result_type dn;
- jacobi_elliptic(static_cast<result_type>(k), static_cast<result_type>(theta), static_cast<result_type*>(0), &dn, pol);
- return dn;
-}
-
-template <class T, class U>
-inline typename tools::promote_args<T, U>::type jacobi_dn(T k, U theta)
-{
- return jacobi_dn(k, theta, policies::policy<>());
-}
-
-template <class T, class U, class Policy>
-inline typename tools::promote_args<T, U>::type jacobi_cd(T k, U theta, const Policy& pol)
-{
- typedef typename tools::promote_args<T, U>::type result_type;
- result_type cn, dn;
- jacobi_elliptic(static_cast<result_type>(k), static_cast<result_type>(theta), &cn, &dn, pol);
- return cn / dn;
-}
-
-template <class T, class U>
-inline typename tools::promote_args<T, U>::type jacobi_cd(T k, U theta)
-{
- return jacobi_cd(k, theta, policies::policy<>());
-}
-
-template <class T, class U, class Policy>
-inline typename tools::promote_args<T, U>::type jacobi_dc(T k, U theta, const Policy& pol)
-{
- typedef typename tools::promote_args<T, U>::type result_type;
- result_type cn, dn;
- jacobi_elliptic(static_cast<result_type>(k), static_cast<result_type>(theta), &cn, &dn, pol);
- return dn / cn;
-}
-
-template <class T, class U>
-inline typename tools::promote_args<T, U>::type jacobi_dc(T k, U theta)
-{
- return jacobi_dc(k, theta, policies::policy<>());
-}
-
-template <class T, class U, class Policy>
-inline typename tools::promote_args<T, U>::type jacobi_ns(T k, U theta, const Policy& pol)
-{
- typedef typename tools::promote_args<T, U>::type result_type;
- return 1 / jacobi_elliptic(static_cast<result_type>(k), static_cast<result_type>(theta), static_cast<result_type*>(0), static_cast<result_type*>(0), pol);
-}
-
-template <class T, class U>
-inline typename tools::promote_args<T, U>::type jacobi_ns(T k, U theta)
-{
- return jacobi_ns(k, theta, policies::policy<>());
-}
-
-template <class T, class U, class Policy>
-inline typename tools::promote_args<T, U>::type jacobi_sd(T k, U theta, const Policy& pol)
-{
- typedef typename tools::promote_args<T, U>::type result_type;
- result_type sn, dn;
- sn = jacobi_elliptic(static_cast<result_type>(k), static_cast<result_type>(theta), static_cast<result_type*>(0), &dn, pol);
- return sn / dn;
-}
-
-template <class T, class U>
-inline typename tools::promote_args<T, U>::type jacobi_sd(T k, U theta)
-{
- return jacobi_sd(k, theta, policies::policy<>());
-}
-
-template <class T, class U, class Policy>
-inline typename tools::promote_args<T, U>::type jacobi_ds(T k, U theta, const Policy& pol)
-{
- typedef typename tools::promote_args<T, U>::type result_type;
- result_type sn, dn;
- sn = jacobi_elliptic(static_cast<result_type>(k), static_cast<result_type>(theta), static_cast<result_type*>(0), &dn, pol);
- return dn / sn;
-}
-
-template <class T, class U>
-inline typename tools::promote_args<T, U>::type jacobi_ds(T k, U theta)
-{
- return jacobi_ds(k, theta, policies::policy<>());
-}
-
-template <class T, class U, class Policy>
-inline typename tools::promote_args<T, U>::type jacobi_nc(T k, U theta, const Policy& pol)
-{
- return 1 / jacobi_cn(k, theta, pol);
-}
-
-template <class T, class U>
-inline typename tools::promote_args<T, U>::type jacobi_nc(T k, U theta)
-{
- return jacobi_nc(k, theta, policies::policy<>());
-}
-
-template <class T, class U, class Policy>
-inline typename tools::promote_args<T, U>::type jacobi_nd(T k, U theta, const Policy& pol)
-{
- return 1 / jacobi_dn(k, theta, pol);
-}
-
-template <class T, class U>
-inline typename tools::promote_args<T, U>::type jacobi_nd(T k, U theta)
-{
- return jacobi_nd(k, theta, policies::policy<>());
-}
-
-template <class T, class U, class Policy>
-inline typename tools::promote_args<T, U>::type jacobi_sc(T k, U theta, const Policy& pol)
-{
- typedef typename tools::promote_args<T, U>::type result_type;
- result_type sn, cn;
- sn = jacobi_elliptic(static_cast<result_type>(k), static_cast<result_type>(theta), &cn, static_cast<result_type*>(0), pol);
- return sn / cn;
-}
-
-template <class T, class U>
-inline typename tools::promote_args<T, U>::type jacobi_sc(T k, U theta)
-{
- return jacobi_sc(k, theta, policies::policy<>());
-}
-
-template <class T, class U, class Policy>
-inline typename tools::promote_args<T, U>::type jacobi_cs(T k, U theta, const Policy& pol)
-{
- typedef typename tools::promote_args<T, U>::type result_type;
- result_type sn, cn;
- sn = jacobi_elliptic(static_cast<result_type>(k), static_cast<result_type>(theta), &cn, static_cast<result_type*>(0), pol);
- return cn / sn;
-}
-
-template <class T, class U>
-inline typename tools::promote_args<T, U>::type jacobi_cs(T k, U theta)
-{
- return jacobi_cs(k, theta, policies::policy<>());
-}
-
-}} // namespaces
-
-#endif // BOOST_MATH_JACOBI_ELLIPTIC_HPP
diff --git a/boost/math/special_functions/laguerre.hpp b/boost/math/special_functions/laguerre.hpp
deleted file mode 100644
index 070927f..0000000
--- a/boost/math/special_functions/laguerre.hpp
+++ /dev/null
@@ -1,139 +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_SPECIAL_LAGUERRE_HPP
-#define BOOST_MATH_SPECIAL_LAGUERRE_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/math/special_functions/math_fwd.hpp>
-#include <boost/math/tools/config.hpp>
-#include <boost/math/policies/error_handling.hpp>
-
-namespace boost{
-namespace math{
-
-// Recurrance relation for Laguerre polynomials:
-template <class T1, class T2, class T3>
-inline typename tools::promote_args<T1, T2, T3>::type
- laguerre_next(unsigned n, T1 x, T2 Ln, T3 Lnm1)
-{
- typedef typename tools::promote_args<T1, T2, T3>::type result_type;
- return ((2 * n + 1 - result_type(x)) * result_type(Ln) - n * result_type(Lnm1)) / (n + 1);
-}
-
-namespace detail{
-
-// Implement Laguerre polynomials via recurrance:
-template <class T>
-T laguerre_imp(unsigned n, T x)
-{
- T p0 = 1;
- T p1 = 1 - x;
-
- if(n == 0)
- return p0;
-
- unsigned c = 1;
-
- while(c < n)
- {
- std::swap(p0, p1);
- p1 = laguerre_next(c, x, p0, p1);
- ++c;
- }
- return p1;
-}
-
-template <class T, class Policy>
-inline typename tools::promote_args<T>::type
-laguerre(unsigned n, T x, const Policy&, const mpl::true_&)
-{
- typedef typename tools::promote_args<T>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- return policies::checked_narrowing_cast<result_type, Policy>(detail::laguerre_imp(n, static_cast<value_type>(x)), "boost::math::laguerre<%1%>(unsigned, %1%)");
-}
-
-template <class T>
-inline typename tools::promote_args<T>::type
- laguerre(unsigned n, unsigned m, T x, const mpl::false_&)
-{
- return boost::math::laguerre(n, m, x, policies::policy<>());
-}
-
-} // namespace detail
-
-template <class T>
-inline typename tools::promote_args<T>::type
- laguerre(unsigned n, T x)
-{
- return laguerre(n, x, policies::policy<>());
-}
-
-// Recurrence for associated polynomials:
-template <class T1, class T2, class T3>
-inline typename tools::promote_args<T1, T2, T3>::type
- laguerre_next(unsigned n, unsigned l, T1 x, T2 Pl, T3 Plm1)
-{
- typedef typename tools::promote_args<T1, T2, T3>::type result_type;
- return ((2 * n + l + 1 - result_type(x)) * result_type(Pl) - (n + l) * result_type(Plm1)) / (n+1);
-}
-
-namespace detail{
-// Laguerre Associated Polynomial:
-template <class T, class Policy>
-T laguerre_imp(unsigned n, unsigned m, T x, const Policy& pol)
-{
- // Special cases:
- if(m == 0)
- return boost::math::laguerre(n, x, pol);
-
- T p0 = 1;
-
- if(n == 0)
- return p0;
-
- T p1 = m + 1 - x;
-
- unsigned c = 1;
-
- while(c < n)
- {
- std::swap(p0, p1);
- p1 = laguerre_next(c, m, x, p0, p1);
- ++c;
- }
- return p1;
-}
-
-}
-
-template <class T, class Policy>
-inline typename tools::promote_args<T>::type
- laguerre(unsigned n, unsigned m, T x, const Policy& pol)
-{
- typedef typename tools::promote_args<T>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- return policies::checked_narrowing_cast<result_type, Policy>(detail::laguerre_imp(n, m, static_cast<value_type>(x), pol), "boost::math::laguerre<%1%>(unsigned, unsigned, %1%)");
-}
-
-template <class T1, class T2>
-inline typename laguerre_result<T1, T2>::type
- laguerre(unsigned n, T1 m, T2 x)
-{
- typedef typename policies::is_policy<T2>::type tag_type;
- return detail::laguerre(n, m, x, tag_type());
-}
-
-} // namespace math
-} // namespace boost
-
-#endif // BOOST_MATH_SPECIAL_LAGUERRE_HPP
-
-
-
diff --git a/boost/math/special_functions/lanczos.hpp b/boost/math/special_functions/lanczos.hpp
deleted file mode 100644
index ed89154..0000000
--- a/boost/math/special_functions/lanczos.hpp
+++ /dev/null
@@ -1,1296 +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_SPECIAL_FUNCTIONS_LANCZOS
-#define BOOST_MATH_SPECIAL_FUNCTIONS_LANCZOS
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-#include <boost/math/tools/big_constant.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/limits.hpp>
-#include <boost/cstdint.hpp>
-#include <boost/math/tools/rational.hpp>
-#include <boost/math/policies/policy.hpp>
-#include <boost/mpl/less_equal.hpp>
-
-#include <limits.h>
-
-namespace boost{ namespace math{ namespace lanczos{
-
-//
-// Individual lanczos approximations start here.
-//
-// Optimal values for G for each N are taken from
-// http://web.mala.bc.ca/pughg/phdThesis/phdThesis.pdf,
-// as are the theoretical error bounds.
-//
-// Constants calculated using the method described by Godfrey
-// http://my.fit.edu/~gabdo/gamma.txt and elaborated by Toth at
-// http://www.rskey.org/gamma.htm using NTL::RR at 1000 bit precision.
-//
-// Begin with a small helper to force initialization of constants prior
-// to main. This makes the constant initialization thread safe, even
-// when called with a user-defined number type.
-//
-template <class Lanczos, class T>
-struct lanczos_initializer
-{
- struct init
- {
- init()
- {
- T t(1);
- Lanczos::lanczos_sum(t);
- Lanczos::lanczos_sum_expG_scaled(t);
- Lanczos::lanczos_sum_near_1(t);
- Lanczos::lanczos_sum_near_2(t);
- Lanczos::g();
- }
- void force_instantiate()const{}
- };
- static const init initializer;
- static void force_instantiate()
- {
- initializer.force_instantiate();
- }
-};
-template <class Lanczos, class T>
-typename lanczos_initializer<Lanczos, T>::init const lanczos_initializer<Lanczos, T>::initializer;
-//
-// Lanczos Coefficients for N=6 G=5.581
-// Max experimental error (with arbitary precision arithmetic) 9.516e-12
-// Generated with compiler: Microsoft Visual C++ version 8.0 on Win32 at Mar 23 2006
-//
-struct lanczos6 : public mpl::int_<35>
-{
- //
- // Produces slightly better than float precision when evaluated at
- // double precision:
- //
- template <class T>
- static T lanczos_sum(const T& z)
- {
- lanczos_initializer<lanczos6, T>::force_instantiate(); // Ensure our constants get initialized before main()
- static const T num[6] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 35, 8706.349592549009182288174442774377925882)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 35, 8523.650341121874633477483696775067709735)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 35, 3338.029219476423550899999750161289306564)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 35, 653.6424994294008795995653541449610986791)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 35, 63.99951844938187085666201263218840287667)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 35, 2.506628274631006311133031631822390264407))
- };
- static const BOOST_MATH_INT_TABLE_TYPE(T, boost::uint16_t) denom[6] = {
- static_cast<boost::uint16_t>(0u),
- static_cast<boost::uint16_t>(24u),
- static_cast<boost::uint16_t>(50u),
- static_cast<boost::uint16_t>(35u),
- static_cast<boost::uint16_t>(10u),
- static_cast<boost::uint16_t>(1u)
- };
- return boost::math::tools::evaluate_rational(num, denom, z);
- }
-
- template <class T>
- static T lanczos_sum_expG_scaled(const T& z)
- {
- lanczos_initializer<lanczos6, T>::force_instantiate(); // Ensure our constants get initialized before main()
- static const T num[6] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 35, 32.81244541029783471623665933780748627823)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 35, 32.12388941444332003446077108933558534361)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 35, 12.58034729455216106950851080138931470954)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 35, 2.463444478353241423633780693218408889251)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 35, 0.2412010548258800231126240760264822486599)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 35, 0.009446967704539249494420221613134244048319))
- };
- static const BOOST_MATH_INT_TABLE_TYPE(T, boost::uint16_t) denom[6] = {
- static_cast<boost::uint16_t>(0u),
- static_cast<boost::uint16_t>(24u),
- static_cast<boost::uint16_t>(50u),
- static_cast<boost::uint16_t>(35u),
- static_cast<boost::uint16_t>(10u),
- static_cast<boost::uint16_t>(1u)
- };
- return boost::math::tools::evaluate_rational(num, denom, z);
- }
-
-
- template<class T>
- static T lanczos_sum_near_1(const T& dz)
- {
- lanczos_initializer<lanczos6, T>::force_instantiate(); // Ensure our constants get initialized before main()
- static const T d[5] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 35, 2.044879010930422922760429926121241330235)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 35, -2.751366405578505366591317846728753993668)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 35, 1.02282965224225004296750609604264824677)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 35, -0.09786124911582813985028889636665335893627)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 35, 0.0009829742267506615183144364420540766510112)),
- };
- T result = 0;
- for(unsigned k = 1; k <= sizeof(d)/sizeof(d[0]); ++k)
- {
- result += (-d[k-1]*dz)/(k*dz + k*k);
- }
- return result;
- }
-
- template<class T>
- static T lanczos_sum_near_2(const T& dz)
- {
- lanczos_initializer<lanczos6, T>::force_instantiate(); // Ensure our constants get initialized before main()
- static const T d[5] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 35, 5.748142489536043490764289256167080091892)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 35, -7.734074268282457156081021756682138251825)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 35, 2.875167944990511006997713242805893543947)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 35, -0.2750873773533504542306766137703788781776)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 35, 0.002763134585812698552178368447708846850353)),
- };
- T result = 0;
- T z = dz + 2;
- for(unsigned k = 1; k <= sizeof(d)/sizeof(d[0]); ++k)
- {
- result += (-d[k-1]*dz)/(z + k*z + k*k - 1);
- }
- return result;
- }
-
- static double g(){ return 5.581000000000000405009359383257105946541; }
-};
-
-//
-// Lanczos Coefficients for N=11 G=10.900511
-// Max experimental error (with arbitary precision arithmetic) 2.16676e-19
-// Generated with compiler: Microsoft Visual C++ version 8.0 on Win32 at Mar 23 2006
-//
-struct lanczos11 : public mpl::int_<60>
-{
- //
- // Produces slightly better than double precision when evaluated at
- // extended-double precision:
- //
- template <class T>
- static T lanczos_sum(const T& z)
- {
- lanczos_initializer<lanczos11, T>::force_instantiate(); // Ensure our constants get initialized before main()
- static const T num[11] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 60, 38474670393.31776828316099004518914832218)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 60, 36857665043.51950660081971227404959150474)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 60, 15889202453.72942008945006665994637853242)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 60, 4059208354.298834770194507810788393801607)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 60, 680547661.1834733286087695557084801366446)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 60, 78239755.00312005289816041245285376206263)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 60, 6246580.776401795264013335510453568106366)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 60, 341986.3488721347032223777872763188768288)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 60, 12287.19451182455120096222044424100527629)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 60, 261.6140441641668190791708576058805625502)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 60, 2.506628274631000502415573855452633787834))
- };
- static const BOOST_MATH_INT_TABLE_TYPE(T, boost::uint32_t) denom[11] = {
- static_cast<boost::uint32_t>(0u),
- static_cast<boost::uint32_t>(362880u),
- static_cast<boost::uint32_t>(1026576u),
- static_cast<boost::uint32_t>(1172700u),
- static_cast<boost::uint32_t>(723680u),
- static_cast<boost::uint32_t>(269325u),
- static_cast<boost::uint32_t>(63273u),
- static_cast<boost::uint32_t>(9450u),
- static_cast<boost::uint32_t>(870u),
- static_cast<boost::uint32_t>(45u),
- static_cast<boost::uint32_t>(1u)
- };
- return boost::math::tools::evaluate_rational(num, denom, z);
- }
-
- template <class T>
- static T lanczos_sum_expG_scaled(const T& z)
- {
- lanczos_initializer<lanczos11, T>::force_instantiate(); // Ensure our constants get initialized before main()
- static const T num[11] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 60, 709811.662581657956893540610814842699825)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 60, 679979.847415722640161734319823103390728)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 60, 293136.785721159725251629480984140341656)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 60, 74887.5403291467179935942448101441897121)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 60, 12555.29058241386295096255111537516768137)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 60, 1443.42992444170669746078056942194198252)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 60, 115.2419459613734722083208906727972935065)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 60, 6.30923920573262762719523981992008976989)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 60, 0.2266840463022436475495508977579735223818)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 60, 0.004826466289237661857584712046231435101741)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 60, 0.4624429436045378766270459638520555557321e-4))
- };
- static const BOOST_MATH_INT_TABLE_TYPE(T, boost::uint32_t) denom[11] = {
- static_cast<boost::uint32_t>(0u),
- static_cast<boost::uint32_t>(362880u),
- static_cast<boost::uint32_t>(1026576u),
- static_cast<boost::uint32_t>(1172700u),
- static_cast<boost::uint32_t>(723680u),
- static_cast<boost::uint32_t>(269325u),
- static_cast<boost::uint32_t>(63273u),
- static_cast<boost::uint32_t>(9450u),
- static_cast<boost::uint32_t>(870u),
- static_cast<boost::uint32_t>(45u),
- static_cast<boost::uint32_t>(1u)
- };
- return boost::math::tools::evaluate_rational(num, denom, z);
- }
-
-
- template<class T>
- static T lanczos_sum_near_1(const T& dz)
- {
- lanczos_initializer<lanczos11, T>::force_instantiate(); // Ensure our constants get initialized before main()
- static const T d[10] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 60, 4.005853070677940377969080796551266387954)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 60, -13.17044315127646469834125159673527183164)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 60, 17.19146865350790353683895137079288129318)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 60, -11.36446409067666626185701599196274701126)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 60, 4.024801119349323770107694133829772634737)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 60, -0.7445703262078094128346501724255463005006)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 60, 0.06513861351917497265045550019547857713172)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 60, -0.00217899958561830354633560009312512312758)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 60, 0.17655204574495137651670832229571934738e-4)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 60, -0.1036282091079938047775645941885460820853e-7)),
- };
- T result = 0;
- for(unsigned k = 1; k <= sizeof(d)/sizeof(d[0]); ++k)
- {
- result += (-d[k-1]*dz)/(k*dz + k*k);
- }
- return result;
- }
-
- template<class T>
- static T lanczos_sum_near_2(const T& dz)
- {
- lanczos_initializer<lanczos11, T>::force_instantiate(); // Ensure our constants get initialized before main()
- static const T d[10] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 60, 19.05889633808148715159575716844556056056)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 60, -62.66183664701721716960978577959655644762)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 60, 81.7929198065004751699057192860287512027)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 60, -54.06941772964234828416072865069196553015)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 60, 19.14904664790693019642068229478769661515)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 60, -3.542488556926667589704590409095331790317)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 60, 0.3099140334815639910894627700232804503017)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 60, -0.01036716187296241640634252431913030440825)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 60, 0.8399926504443119927673843789048514017761e-4)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 60, -0.493038376656195010308610694048822561263e-7)),
- };
- T result = 0;
- T z = dz + 2;
- for(unsigned k = 1; k <= sizeof(d)/sizeof(d[0]); ++k)
- {
- result += (-d[k-1]*dz)/(z + k*z + k*k - 1);
- }
- return result;
- }
-
- static double g(){ return 10.90051099999999983936049829935654997826; }
-};
-
-//
-// Lanczos Coefficients for N=13 G=13.144565
-// Max experimental error (with arbitary precision arithmetic) 9.2213e-23
-// Generated with compiler: Microsoft Visual C++ version 8.0 on Win32 at Mar 23 2006
-//
-struct lanczos13 : public mpl::int_<72>
-{
- //
- // Produces slightly better than extended-double precision when evaluated at
- // higher precision:
- //
- template <class T>
- static T lanczos_sum(const T& z)
- {
- lanczos_initializer<lanczos13, T>::force_instantiate(); // Ensure our constants get initialized before main()
- static const T num[13] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, 44012138428004.60895436261759919070125699)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, 41590453358593.20051581730723108131357995)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, 18013842787117.99677796276038389462742949)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, 4728736263475.388896889723995205703970787)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, 837910083628.4046470415724300225777912264)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, 105583707273.4299344907359855510105321192)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, 9701363618.494999493386608345339104922694)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, 654914397.5482052641016767125048538245644)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, 32238322.94213356530668889463945849409184)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, 1128514.219497091438040721811544858643121)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, 26665.79378459858944762533958798805525125)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, 381.8801248632926870394389468349331394196)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, 2.506628274631000502415763426076722427007))
- };
- static const BOOST_MATH_INT_TABLE_TYPE(T, boost::uint32_t) denom[13] = {
- static_cast<boost::uint32_t>(0u),
- static_cast<boost::uint32_t>(39916800u),
- static_cast<boost::uint32_t>(120543840u),
- static_cast<boost::uint32_t>(150917976u),
- static_cast<boost::uint32_t>(105258076u),
- static_cast<boost::uint32_t>(45995730u),
- static_cast<boost::uint32_t>(13339535u),
- static_cast<boost::uint32_t>(2637558u),
- static_cast<boost::uint32_t>(357423u),
- static_cast<boost::uint32_t>(32670u),
- static_cast<boost::uint32_t>(1925u),
- static_cast<boost::uint32_t>(66u),
- static_cast<boost::uint32_t>(1u)
- };
- return boost::math::tools::evaluate_rational(num, denom, z);
- }
-
- template <class T>
- static T lanczos_sum_expG_scaled(const T& z)
- {
- lanczos_initializer<lanczos13, T>::force_instantiate(); // Ensure our constants get initialized before main()
- static const T num[13] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, 86091529.53418537217994842267760536134841)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, 81354505.17858011242874285785316135398567)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, 35236626.38815461910817650960734605416521)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, 9249814.988024471294683815872977672237195)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, 1639024.216687146960253839656643518985826)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, 206530.8157641225032631778026076868855623)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, 18976.70193530288915698282139308582105936)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, 1281.068909912559479885759622791374106059)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, 63.06093343420234536146194868906771599354)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, 2.207470909792527638222674678171050209691)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, 0.05216058694613505427476207805814960742102)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, 0.0007469903808915448316510079585999893674101)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, 0.4903180573459871862552197089738373164184e-5))
- };
- static const BOOST_MATH_INT_TABLE_TYPE(T, boost::uint32_t) denom[13] = {
- static_cast<boost::uint32_t>(0u),
- static_cast<boost::uint32_t>(39916800u),
- static_cast<boost::uint32_t>(120543840u),
- static_cast<boost::uint32_t>(150917976u),
- static_cast<boost::uint32_t>(105258076u),
- static_cast<boost::uint32_t>(45995730u),
- static_cast<boost::uint32_t>(13339535u),
- static_cast<boost::uint32_t>(2637558u),
- static_cast<boost::uint32_t>(357423u),
- static_cast<boost::uint32_t>(32670u),
- static_cast<boost::uint32_t>(1925u),
- static_cast<boost::uint32_t>(66u),
- static_cast<boost::uint32_t>(1u)
- };
- return boost::math::tools::evaluate_rational(num, denom, z);
- }
-
-
- template<class T>
- static T lanczos_sum_near_1(const T& dz)
- {
- lanczos_initializer<lanczos13, T>::force_instantiate(); // Ensure our constants get initialized before main()
- static const T d[12] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, 4.832115561461656947793029596285626840312)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, -19.86441536140337740383120735104359034688)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, 33.9927422807443239927197864963170585331)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, -31.41520692249765980987427413991250886138)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, 17.0270866009599345679868972409543597821)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, -5.5077216950865501362506920516723682167)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, 1.037811741948214855286817963800439373362)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, -0.106640468537356182313660880481398642811)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, 0.005276450526660653288757565778182586742831)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, -0.0001000935625597121545867453746252064770029)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, 0.462590910138598083940803704521211569234e-6)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, -0.1735307814426389420248044907765671743012e-9)),
- };
- T result = 0;
- for(unsigned k = 1; k <= sizeof(d)/sizeof(d[0]); ++k)
- {
- result += (-d[k-1]*dz)/(k*dz + k*k);
- }
- return result;
- }
-
- template<class T>
- static T lanczos_sum_near_2(const T& dz)
- {
- lanczos_initializer<lanczos13, T>::force_instantiate(); // Ensure our constants get initialized before main()
- static const T d[12] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, 26.96979819614830698367887026728396466395)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, -110.8705424709385114023884328797900204863)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, 189.7258846119231466417015694690434770085)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, -175.3397202971107486383321670769397356553)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, 95.03437648691551457087250340903980824948)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, -30.7406022781665264273675797983497141978)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, 5.792405601630517993355102578874590410552)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, -0.5951993240669148697377539518639997795831)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, 0.02944979359164017509944724739946255067671)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, -0.0005586586555377030921194246330399163602684)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, 0.2581888478270733025288922038673392636029e-5)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 72, -0.9685385411006641478305219367315965391289e-9)),
- };
- T result = 0;
- T z = dz + 2;
- for(unsigned k = 1; k <= sizeof(d)/sizeof(d[0]); ++k)
- {
- result += (-d[k-1]*dz)/(z + k*z + k*k - 1);
- }
- return result;
- }
-
- static double g(){ return 13.1445650000000000545696821063756942749; }
-};
-
-//
-// Lanczos Coefficients for N=22 G=22.61891
-// Max experimental error (with arbitary precision arithmetic) 2.9524e-38
-// Generated with compiler: Microsoft Visual C++ version 8.0 on Win32 at Mar 23 2006
-//
-struct lanczos22 : public mpl::int_<120>
-{
- //
- // Produces slightly better than 128-bit long-double precision when
- // evaluated at higher precision:
- //
- template <class T>
- static T lanczos_sum(const T& z)
- {
- lanczos_initializer<lanczos22, T>::force_instantiate(); // Ensure our constants get initialized before main()
- static const T num[22] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 46198410803245094237463011094.12173081986)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 43735859291852324413622037436.321513777)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 19716607234435171720534556386.97481377748)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 5629401471315018442177955161.245623932129)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 1142024910634417138386281569.245580222392)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 175048529315951173131586747.695329230778)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 21044290245653709191654675.41581372963167)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 2033001410561031998451380.335553678782601)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 160394318862140953773928.8736211601848891)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 10444944438396359705707.48957290388740896)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 565075825801617290121.1466393747967538948)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 25475874292116227538.99448534450411942597)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 957135055846602154.6720835535232270205725)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 29874506304047462.23662392445173880821515)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 769651310384737.2749087590725764959689181)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 16193289100889.15989633624378404096011797)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 273781151680.6807433264462376754578933261)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 3630485900.32917021712188739762161583295)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 36374352.05577334277856865691538582936484)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 258945.7742115532455441786924971194951043)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 1167.501919472435718934219997431551246996)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 2.50662827463100050241576528481104525333))
- };
- static const BOOST_MATH_INT_TABLE_TYPE(T, boost::uint64_t) denom[22] = {
- BOOST_MATH_INT_VALUE_SUFFIX(0, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(2432902008176640000, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(8752948036761600000, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(13803759753640704000, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(12870931245150988800, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(8037811822645051776, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(3599979517947607200, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(1206647803780373360, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(311333643161390640, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(63030812099294896, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(10142299865511450, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(1307535010540395, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(135585182899530, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(11310276995381, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(756111184500, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(40171771630, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(1672280820, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(53327946, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(1256850, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(20615, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(210, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(1, uLL)
- };
- return boost::math::tools::evaluate_rational(num, denom, z);
- }
-
- template <class T>
- static T lanczos_sum_expG_scaled(const T& z)
- {
- lanczos_initializer<lanczos22, T>::force_instantiate(); // Ensure our constants get initialized before main()
- static const T num[22] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 6939996264376682180.277485395074954356211)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 6570067992110214451.87201438870245659384)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 2961859037444440551.986724631496417064121)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 845657339772791245.3541226499766163431651)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 171556737035449095.2475716923888737881837)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 26296059072490867.7822441885603400926007)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 3161305619652108.433798300149816829198706)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 305400596026022.4774396904484542582526472)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 24094681058862.55120507202622377623528108)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 1569055604375.919477574824168939428328839)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 84886558909.02047889339710230696942513159)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 3827024985.166751989686050643579753162298)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 143782298.9273215199098728674282885500522)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 4487794.24541641841336786238909171265944)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 115618.2025760830513505888216285273541959)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 2432.580773108508276957461757328744780439)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 41.12782532742893597168530008461874360191)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 0.5453771709477689805460179187388702295792)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 0.005464211062612080347167337964166505282809)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 0.388992321263586767037090706042788910953e-4)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 0.1753839324538447655939518484052327068859e-6)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 0.3765495513732730583386223384116545391759e-9))
- };
- static const BOOST_MATH_INT_TABLE_TYPE(T, boost::uint64_t) denom[22] = {
- BOOST_MATH_INT_VALUE_SUFFIX(0, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(2432902008176640000, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(8752948036761600000, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(13803759753640704000, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(12870931245150988800, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(8037811822645051776, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(3599979517947607200, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(1206647803780373360, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(311333643161390640, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(63030812099294896, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(10142299865511450, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(1307535010540395, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(135585182899530, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(11310276995381, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(756111184500, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(40171771630, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(1672280820, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(53327946, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(1256850, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(20615, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(210, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(1, uLL)
- };
- return boost::math::tools::evaluate_rational(num, denom, z);
- }
-
-
- template<class T>
- static T lanczos_sum_near_1(const T& dz)
- {
- lanczos_initializer<lanczos22, T>::force_instantiate(); // Ensure our constants get initialized before main()
- static const T d[21] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 8.318998691953337183034781139546384476554)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, -63.15415991415959158214140353299240638675)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 217.3108224383632868591462242669081540163)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, -448.5134281386108366899784093610397354889)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 619.2903759363285456927248474593012711346)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, -604.1630177420625418522025080080444177046)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 428.8166750424646119935047118287362193314)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, -224.6988753721310913866347429589434550302)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 87.32181627555510833499451817622786940961)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, -25.07866854821128965662498003029199058098)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 5.264398125689025351448861011657789005392)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, -0.792518936256495243383586076579921559914)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 0.08317448364744713773350272460937904691566)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, -0.005845345166274053157781068150827567998882)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 0.0002599412126352082483326238522490030412391)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, -0.6748102079670763884917431338234783496303e-5)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 0.908824383434109002762325095643458603605e-7)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, -0.5299325929309389890892469299969669579725e-9)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 0.994306085859549890267983602248532869362e-12)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, -0.3499893692975262747371544905820891835298e-15)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 0.7260746353663365145454867069182884694961e-20)),
- };
- T result = 0;
- for(unsigned k = 1; k <= sizeof(d)/sizeof(d[0]); ++k)
- {
- result += (-d[k-1]*dz)/(k*dz + k*k);
- }
- return result;
- }
-
- template<class T>
- static T lanczos_sum_near_2(const T& dz)
- {
- lanczos_initializer<lanczos22, T>::force_instantiate(); // Ensure our constants get initialized before main()
- static const T d[21] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 75.39272007105208086018421070699575462226)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, -572.3481967049935412452681346759966390319)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 1969.426202741555335078065370698955484358)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, -4064.74968778032030891520063865996757519)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 5612.452614138013929794736248384309574814)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, -5475.357667500026172903620177988213902339)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 3886.243614216111328329547926490398103492)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, -2036.382026072125407192448069428134470564)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 791.3727954936062108045551843636692287652)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, -227.2808432388436552794021219198885223122)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 47.70974355562144229897637024320739257284)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, -7.182373807798293545187073539819697141572)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 0.7537866989631514559601547530490976100468)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, -0.05297470142240154822658739758236594717787)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 0.00235577330936380542539812701472320434133)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, -0.6115613067659273118098229498679502138802e-4)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 0.8236417010170941915758315020695551724181e-6)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, -0.4802628430993048190311242611330072198089e-8)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 0.9011113376981524418952720279739624707342e-11)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, -0.3171854152689711198382455703658589996796e-14)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 120, 0.6580207998808093935798753964580596673177e-19)),
- };
- T result = 0;
- T z = dz + 2;
- for(unsigned k = 1; k <= sizeof(d)/sizeof(d[0]); ++k)
- {
- result += (-d[k-1]*dz)/(z + k*z + k*k - 1);
- }
- return result;
- }
-
- static double g(){ return 22.61890999999999962710717227309942245483; }
-};
-
-//
-// Lanczos Coefficients for N=6 G=1.428456135094165802001953125
-// Max experimental error (with arbitary precision arithmetic) 8.111667e-8
-// Generated with compiler: Microsoft Visual C++ version 8.0 on Win32 at Mar 23 2006
-//
-struct lanczos6m24 : public mpl::int_<24>
-{
- //
- // Use for float precision, when evaluated as a float:
- //
- template <class T>
- static T lanczos_sum(const T& z)
- {
- static const T num[6] = {
- static_cast<T>(58.52061591769095910314047740215847630266L),
- static_cast<T>(182.5248962595894264831189414768236280862L),
- static_cast<T>(211.0971093028510041839168287718170827259L),
- static_cast<T>(112.2526547883668146736465390902227161763L),
- static_cast<T>(27.5192015197455403062503721613097825345L),
- static_cast<T>(2.50662858515256974113978724717473206342L)
- };
- static const BOOST_MATH_INT_TABLE_TYPE(T, boost::uint16_t) denom[6] = {
- static_cast<boost::uint16_t>(0u),
- static_cast<boost::uint16_t>(24u),
- static_cast<boost::uint16_t>(50u),
- static_cast<boost::uint16_t>(35u),
- static_cast<boost::uint16_t>(10u),
- static_cast<boost::uint16_t>(1u)
- };
- return boost::math::tools::evaluate_rational(num, denom, z);
- }
-
- template <class T>
- static T lanczos_sum_expG_scaled(const T& z)
- {
- static const T num[6] = {
- static_cast<T>(14.0261432874996476619570577285003839357L),
- static_cast<T>(43.74732405540314316089531289293124360129L),
- static_cast<T>(50.59547402616588964511581430025589038612L),
- static_cast<T>(26.90456680562548195593733429204228910299L),
- static_cast<T>(6.595765571169314946316366571954421695196L),
- static_cast<T>(0.6007854010515290065101128585795542383721L)
- };
- static const BOOST_MATH_INT_TABLE_TYPE(T, boost::uint16_t) denom[6] = {
- static_cast<boost::uint16_t>(0u),
- static_cast<boost::uint16_t>(24u),
- static_cast<boost::uint16_t>(50u),
- static_cast<boost::uint16_t>(35u),
- static_cast<boost::uint16_t>(10u),
- static_cast<boost::uint16_t>(1u)
- };
- return boost::math::tools::evaluate_rational(num, denom, z);
- }
-
-
- template<class T>
- static T lanczos_sum_near_1(const T& dz)
- {
- static const T d[5] = {
- static_cast<T>(0.4922488055204602807654354732674868442106L),
- static_cast<T>(0.004954497451132152436631238060933905650346L),
- static_cast<T>(-0.003374784572167105840686977985330859371848L),
- static_cast<T>(0.001924276018962061937026396537786414831385L),
- static_cast<T>(-0.00056533046336427583708166383712907694434L),
- };
- T result = 0;
- for(unsigned k = 1; k <= sizeof(d)/sizeof(d[0]); ++k)
- {
- result += (-d[k-1]*dz)/(k*dz + k*k);
- }
- return result;
- }
-
- template<class T>
- static T lanczos_sum_near_2(const T& dz)
- {
- static const T d[5] = {
- static_cast<T>(0.6534966888520080645505805298901130485464L),
- static_cast<T>(0.006577461728560758362509168026049182707101L),
- static_cast<T>(-0.004480276069269967207178373559014835978161L),
- static_cast<T>(0.00255461870648818292376982818026706528842L),
- static_cast<T>(-0.000750517993690428370380996157470900204524L),
- };
- T result = 0;
- T z = dz + 2;
- for(unsigned k = 1; k <= sizeof(d)/sizeof(d[0]); ++k)
- {
- result += (-d[k-1]*dz)/(z + k*z + k*k - 1);
- }
- return result;
- }
-
- static double g(){ return 1.428456135094165802001953125; }
-};
-
-//
-// Lanczos Coefficients for N=13 G=6.024680040776729583740234375
-// Max experimental error (with arbitary precision arithmetic) 1.196214e-17
-// Generated with compiler: Microsoft Visual C++ version 8.0 on Win32 at Mar 23 2006
-//
-struct lanczos13m53 : public mpl::int_<53>
-{
- //
- // Use for double precision, when evaluated as a double:
- //
- template <class T>
- static T lanczos_sum(const T& z)
- {
- static const T num[13] = {
- static_cast<T>(23531376880.41075968857200767445163675473L),
- static_cast<T>(42919803642.64909876895789904700198885093L),
- static_cast<T>(35711959237.35566804944018545154716670596L),
- static_cast<T>(17921034426.03720969991975575445893111267L),
- static_cast<T>(6039542586.35202800506429164430729792107L),
- static_cast<T>(1439720407.311721673663223072794912393972L),
- static_cast<T>(248874557.8620541565114603864132294232163L),
- static_cast<T>(31426415.58540019438061423162831820536287L),
- static_cast<T>(2876370.628935372441225409051620849613599L),
- static_cast<T>(186056.2653952234950402949897160456992822L),
- static_cast<T>(8071.672002365816210638002902272250613822L),
- static_cast<T>(210.8242777515793458725097339207133627117L),
- static_cast<T>(2.506628274631000270164908177133837338626L)
- };
- static const BOOST_MATH_INT_TABLE_TYPE(T, boost::uint32_t) denom[13] = {
- static_cast<boost::uint32_t>(0u),
- static_cast<boost::uint32_t>(39916800u),
- static_cast<boost::uint32_t>(120543840u),
- static_cast<boost::uint32_t>(150917976u),
- static_cast<boost::uint32_t>(105258076u),
- static_cast<boost::uint32_t>(45995730u),
- static_cast<boost::uint32_t>(13339535u),
- static_cast<boost::uint32_t>(2637558u),
- static_cast<boost::uint32_t>(357423u),
- static_cast<boost::uint32_t>(32670u),
- static_cast<boost::uint32_t>(1925u),
- static_cast<boost::uint32_t>(66u),
- static_cast<boost::uint32_t>(1u)
- };
- return boost::math::tools::evaluate_rational(num, denom, z);
- }
-
- template <class T>
- static T lanczos_sum_expG_scaled(const T& z)
- {
- static const T num[13] = {
- static_cast<T>(56906521.91347156388090791033559122686859L),
- static_cast<T>(103794043.1163445451906271053616070238554L),
- static_cast<T>(86363131.28813859145546927288977868422342L),
- static_cast<T>(43338889.32467613834773723740590533316085L),
- static_cast<T>(14605578.08768506808414169982791359218571L),
- static_cast<T>(3481712.15498064590882071018964774556468L),
- static_cast<T>(601859.6171681098786670226533699352302507L),
- static_cast<T>(75999.29304014542649875303443598909137092L),
- static_cast<T>(6955.999602515376140356310115515198987526L),
- static_cast<T>(449.9445569063168119446858607650988409623L),
- static_cast<T>(19.51992788247617482847860966235652136208L),
- static_cast<T>(0.5098416655656676188125178644804694509993L),
- static_cast<T>(0.006061842346248906525783753964555936883222L)
- };
- static const BOOST_MATH_INT_TABLE_TYPE(T, boost::uint32_t) denom[13] = {
- static_cast<boost::uint32_t>(0u),
- static_cast<boost::uint32_t>(39916800u),
- static_cast<boost::uint32_t>(120543840u),
- static_cast<boost::uint32_t>(150917976u),
- static_cast<boost::uint32_t>(105258076u),
- static_cast<boost::uint32_t>(45995730u),
- static_cast<boost::uint32_t>(13339535u),
- static_cast<boost::uint32_t>(2637558u),
- static_cast<boost::uint32_t>(357423u),
- static_cast<boost::uint32_t>(32670u),
- static_cast<boost::uint32_t>(1925u),
- static_cast<boost::uint32_t>(66u),
- static_cast<boost::uint32_t>(1u)
- };
- return boost::math::tools::evaluate_rational(num, denom, z);
- }
-
-
- template<class T>
- static T lanczos_sum_near_1(const T& dz)
- {
- static const T d[12] = {
- static_cast<T>(2.208709979316623790862569924861841433016L),
- static_cast<T>(-3.327150580651624233553677113928873034916L),
- static_cast<T>(1.483082862367253753040442933770164111678L),
- static_cast<T>(-0.1993758927614728757314233026257810172008L),
- static_cast<T>(0.004785200610085071473880915854204301886437L),
- static_cast<T>(-0.1515973019871092388943437623825208095123e-5L),
- static_cast<T>(-0.2752907702903126466004207345038327818713e-7L),
- static_cast<T>(0.3075580174791348492737947340039992829546e-7L),
- static_cast<T>(-0.1933117898880828348692541394841204288047e-7L),
- static_cast<T>(0.8690926181038057039526127422002498960172e-8L),
- static_cast<T>(-0.2499505151487868335680273909354071938387e-8L),
- static_cast<T>(0.3394643171893132535170101292240837927725e-9L),
- };
- T result = 0;
- for(unsigned k = 1; k <= sizeof(d)/sizeof(d[0]); ++k)
- {
- result += (-d[k-1]*dz)/(k*dz + k*k);
- }
- return result;
- }
-
- template<class T>
- static T lanczos_sum_near_2(const T& dz)
- {
- static const T d[12] = {
- static_cast<T>(6.565936202082889535528455955485877361223L),
- static_cast<T>(-9.8907772644920670589288081640128194231L),
- static_cast<T>(4.408830289125943377923077727900630927902L),
- static_cast<T>(-0.5926941084905061794445733628891024027949L),
- static_cast<T>(0.01422519127192419234315002746252160965831L),
- static_cast<T>(-0.4506604409707170077136555010018549819192e-5L),
- static_cast<T>(-0.8183698410724358930823737982119474130069e-7L),
- static_cast<T>(0.9142922068165324132060550591210267992072e-7L),
- static_cast<T>(-0.5746670642147041587497159649318454348117e-7L),
- static_cast<T>(0.2583592566524439230844378948704262291927e-7L),
- static_cast<T>(-0.7430396708998719707642735577238449585822e-8L),
- static_cast<T>(0.1009141566987569892221439918230042368112e-8L),
- };
- T result = 0;
- T z = dz + 2;
- for(unsigned k = 1; k <= sizeof(d)/sizeof(d[0]); ++k)
- {
- result += (-d[k-1]*dz)/(z + k*z + k*k - 1);
- }
- return result;
- }
-
- static double g(){ return 6.024680040776729583740234375; }
-};
-
-//
-// Lanczos Coefficients for N=17 G=12.2252227365970611572265625
-// Max experimental error (with arbitary precision arithmetic) 2.7699e-26
-// Generated with compiler: Microsoft Visual C++ version 8.0 on Win32 at Mar 23 2006
-//
-struct lanczos17m64 : public mpl::int_<64>
-{
- //
- // Use for extended-double precision, when evaluated as an extended-double:
- //
- template <class T>
- static T lanczos_sum(const T& z)
- {
- lanczos_initializer<lanczos17m64, T>::force_instantiate(); // Ensure our constants get initialized before main()
- static const T num[17] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 553681095419291969.2230556393350368550504)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 731918863887667017.2511276782146694632234)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 453393234285807339.4627124634539085143364)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 174701893724452790.3546219631779712198035)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 46866125995234723.82897281620357050883077)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 9281280675933215.169109622777099699054272)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1403600894156674.551057997617468721789536)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 165345984157572.7305349809894046783973837)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 15333629842677.31531822808737907246817024)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1123152927963.956626161137169462874517318)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 64763127437.92329018717775593533620578237)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 2908830362.657527782848828237106640944457)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 99764700.56999856729959383751710026787811)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 2525791.604886139959837791244686290089331)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 44516.94034970167828580039370201346554872)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 488.0063567520005730476791712814838113252)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 2.50662827463100050241576877135758834683))
- };
- static const BOOST_MATH_INT_TABLE_TYPE(T, boost::uint64_t) denom[17] = {
- BOOST_MATH_INT_VALUE_SUFFIX(0, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(1307674368000, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(4339163001600, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(6165817614720, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(5056995703824, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(2706813345600, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(1009672107080, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(272803210680, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(54631129553, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(8207628000, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(928095740, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(78558480, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(4899622, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(218400, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(6580, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(120, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(1, uLL)
- };
- return boost::math::tools::evaluate_rational(num, denom, z);
- }
-
- template <class T>
- static T lanczos_sum_expG_scaled(const T& z)
- {
- lanczos_initializer<lanczos17m64, T>::force_instantiate(); // Ensure our constants get initialized before main()
- static const T num[17] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 2715894658327.717377557655133124376674911)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 3590179526097.912105038525528721129550434)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 2223966599737.814969312127353235818710172)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 856940834518.9562481809925866825485883417)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 229885871668.749072933597446453399395469)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 45526171687.54610815813502794395753410032)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 6884887713.165178784550917647709216424823)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 811048596.1407531864760282453852372777439)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 75213915.96540822314499613623119501704812)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 5509245.417224265151697527957954952830126)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 317673.5368435419126714931842182369574221)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 14268.27989845035520147014373320337523596)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 489.3618720403263670213909083601787814792)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 12.38941330038454449295883217865458609584)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 0.2183627389504614963941574507281683147897)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 0.002393749522058449186690627996063983095463)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 0.1229541408909435212800785616808830746135e-4))
- };
- static const BOOST_MATH_INT_TABLE_TYPE(T, boost::uint64_t) denom[17] = {
- BOOST_MATH_INT_VALUE_SUFFIX(0, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(1307674368000, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(4339163001600, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(6165817614720, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(5056995703824, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(2706813345600, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(1009672107080, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(272803210680, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(54631129553, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(8207628000, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(928095740, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(78558480, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(4899622, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(218400, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(6580, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(120, uLL),
- BOOST_MATH_INT_VALUE_SUFFIX(1, uLL)
- };
- return boost::math::tools::evaluate_rational(num, denom, z);
- }
-
-
- template<class T>
- static T lanczos_sum_near_1(const T& dz)
- {
- lanczos_initializer<lanczos17m64, T>::force_instantiate(); // Ensure our constants get initialized before main()
- static const T d[16] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 4.493645054286536365763334986866616581265)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -16.95716370392468543800733966378143997694)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 26.19196892983737527836811770970479846644)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -21.3659076437988814488356323758179283908)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 9.913992596774556590710751047594507535764)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -2.62888300018780199210536267080940382158)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 0.3807056693542503606384861890663080735588)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -0.02714647489697685807340312061034730486958)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 0.0007815484715461206757220527133967191796747)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -0.6108630817371501052576880554048972272435e-5)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 0.5037380238864836824167713635482801545086e-8)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -0.1483232144262638814568926925964858237006e-13)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 0.1346609158752142460943888149156716841693e-14)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -0.660492688923978805315914918995410340796e-15)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 0.1472114697343266749193617793755763792681e-15)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -0.1410901942033374651613542904678399264447e-16)),
- };
- T result = 0;
- for(unsigned k = 1; k <= sizeof(d)/sizeof(d[0]); ++k)
- {
- result += (-d[k-1]*dz)/(k*dz + k*k);
- }
- return result;
- }
-
- template<class T>
- static T lanczos_sum_near_2(const T& dz)
- {
- lanczos_initializer<lanczos17m64, T>::force_instantiate(); // Ensure our constants get initialized before main()
- static const T d[16] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 23.56409085052261327114594781581930373708)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -88.92116338946308797946237246006238652361)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 137.3472822086847596961177383569603988797)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -112.0400438263562152489272966461114852861)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 51.98768915202973863076166956576777843805)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -13.78552090862799358221343319574970124948)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 1.996371068830872830250406773917646121742)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -0.1423525874909934506274738563671862576161)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 0.004098338646046865122459664947239111298524)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -0.3203286637326511000882086573060433529094e-4)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 0.2641536751640138646146395939004587594407e-7)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -0.7777876663062235617693516558976641009819e-13)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 0.7061443477097101636871806229515157914789e-14)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -0.3463537849537988455590834887691613484813e-14)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, 0.7719578215795234036320348283011129450595e-15)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 64, -0.7398586479708476329563577384044188912075e-16)),
- };
- T result = 0;
- T z = dz + 2;
- for(unsigned k = 1; k <= sizeof(d)/sizeof(d[0]); ++k)
- {
- result += (-d[k-1]*dz)/(z + k*z + k*k - 1);
- }
- return result;
- }
-
- static double g(){ return 12.2252227365970611572265625; }
-};
-
-//
-// Lanczos Coefficients for N=24 G=20.3209821879863739013671875
-// Max experimental error (with arbitary precision arithmetic) 1.0541e-38
-// Generated with compiler: Microsoft Visual C++ version 8.0 on Win32 at Mar 23 2006
-//
-struct lanczos24m113 : public mpl::int_<113>
-{
- //
- // Use for long-double precision, when evaluated as an long-double:
- //
- template <class T>
- static T lanczos_sum(const T& z)
- {
- lanczos_initializer<lanczos24m113, T>::force_instantiate(); // Ensure our constants get initialized before main()
- static const T num[24] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 2029889364934367661624137213253.22102954656825019111612712252027267955023987678816620961507)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 2338599599286656537526273232565.2727349714338768161421882478417543004440597874814359063158)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 1288527989493833400335117708406.3953711906175960449186720680201425446299360322830739180195)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 451779745834728745064649902914.550539158066332484594436145043388809847364393288132164411521)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 113141284461097964029239556815.291212318665536114012605167994061291631013303788706545334708)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 21533689802794625866812941616.7509064680880468667055339259146063256555368135236149614592432)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 3235510315314840089932120340.71494940111731241353655381919722177496659303550321056514776757)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 393537392344185475704891959.081297108513472083749083165179784098220158201055270548272414314)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 39418265082950435024868801.5005452240816902251477336582325944930252142622315101857742955673)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 3290158764187118871697791.05850632319194734270969161036889516414516566453884272345518372696)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 230677110449632078321772.618245845856640677845629174549731890660612368500786684333975350954)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 13652233645509183190158.5916189185218250859402806777406323001463296297553612462737044693697)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 683661466754325350495.216655026531202476397782296585200982429378069417193575896602446904762)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 28967871782219334117.0122379171041074970463982134039409352925258212207710168851968215545064)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 1036104088560167006.2022834098572346459442601718514554488352117620272232373622553429728555)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 31128490785613152.8380102669349814751268126141105475287632676569913936040772990253369753962)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 779327504127342.536207878988196814811198475410572992436243686674896894543126229424358472541)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 16067543181294.643350688789124777020407337133926174150582333950666044399234540521336771876)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 268161795520.300916569439413185778557212729611517883948634711190170998896514639936969855484)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 3533216359.10528191668842486732408440112703691790824611391987708562111396961696753452085068)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 35378979.5479656110614685178752543826919239614088343789329169535932709470588426584501652577)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 253034.881362204346444503097491737872930637147096453940375713745904094735506180552724766444)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 1151.61895453463992438325318456328526085882924197763140514450975619271382783957699017875304)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 2.50662827463100050241576528481104515966515623051532908941425544355490413900497467936202516))
- };
- static const T denom[24] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 0)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 0.112400072777760768e22)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 0.414847677933545472e22)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 6756146673770930688000.0)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 6548684852703068697600.0)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 4280722865357147142912.0)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 2021687376910682741568.0)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 720308216440924653696.0)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 199321978221066137360.0)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 43714229649594412832.0)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 7707401101297361068.0)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 1103230881185949736.0)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 129006659818331295.0)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 12363045847086207.0)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 971250460939913.0)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 62382416421941.0)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 3256091103430.0)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 136717357942.0)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 4546047198.0)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 116896626)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 2240315)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 30107)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 253)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 1))
- };
- return boost::math::tools::evaluate_rational(num, denom, z);
- }
-
- template <class T>
- static T lanczos_sum_expG_scaled(const T& z)
- {
- lanczos_initializer<lanczos24m113, T>::force_instantiate(); // Ensure our constants get initialized before main()
- static const T num[24] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 3035162425359883494754.02878223286972654682199012688209026810841953293372712802258398358538)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 3496756894406430103600.16057175075063458536101374170860226963245118484234495645518505519827)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 1926652656689320888654.01954015145958293168365236755537645929361841917596501251362171653478)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 675517066488272766316.083023742440619929434602223726894748181327187670231286180156444871912)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 169172853104918752780.086262749564831660238912144573032141700464995906149421555926000038492)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 32197935167225605785.6444116302160245528783954573163541751756353183343357329404208062043808)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 4837849542714083249.37587447454818124327561966323276633775195138872820542242539845253171632)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 588431038090493242.308438203986649553459461798968819276505178004064031201740043314534404158)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 58939585141634058.6206417889192563007809470547755357240808035714047014324843817783741669733)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 4919561837722192.82991866530802080996138070630296720420704876654726991998309206256077395868)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 344916580244240.407442753122831512004021081677987651622305356145640394384006997569631719101)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 20413302960687.8250598845969238472629322716685686993835561234733641729957841485003560103066)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 1022234822943.78400752460970689311934727763870970686747383486600540378889311406851534545789)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 43313787191.9821354846952908076307094286897439975815501673706144217246093900159173598852503)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 1549219505.59667418528481770869280437577581951167003505825834192510436144666564648361001914)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 46544421.1998761919380541579358096705925369145324466147390364674998568485110045455014967149)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 1165278.06807504975090675074910052763026564833951579556132777702952882101173607903881127542)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 24024.759267256769471083727721827405338569868270177779485912486668586611981795179894572115)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 400.965008113421955824358063769761286758463521789765880962939528760888853281920872064838918)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 5.28299015654478269617039029170846385138134929147421558771949982217659507918482272439717603)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 0.0528999024412510102409256676599360516359062802002483877724963720047531347449011629466149805)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 0.000378346710654740685454266569593414561162134092347356968516522170279688139165340746957511115)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 0.172194142179211139195966608011235161516824700287310869949928393345257114743230967204370963e-5)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 0.374799931707148855771381263542708435935402853962736029347951399323367765509988401336565436e-8))
- };
- static const T denom[24] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 0)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 0.112400072777760768e22)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 0.414847677933545472e22)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 6756146673770930688000.0)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 6548684852703068697600.0)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 4280722865357147142912.0)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 2021687376910682741568.0)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 720308216440924653696.0)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 199321978221066137360.0)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 43714229649594412832.0)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 7707401101297361068.0)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 1103230881185949736.0)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 129006659818331295.0)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 12363045847086207.0)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 971250460939913.0)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 62382416421941.0)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 3256091103430.0)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 136717357942.0)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 4546047198.0)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 116896626)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 2240315)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 30107)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 253)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 1))
- };
- return boost::math::tools::evaluate_rational(num, denom, z);
- }
-
-
- template<class T>
- static T lanczos_sum_near_1(const T& dz)
- {
- lanczos_initializer<lanczos24m113, T>::force_instantiate(); // Ensure our constants get initialized before main()
- static const T d[23] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 7.4734083002469026177867421609938203388868806387315406134072298925733950040583068760685908)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, -50.4225805042247530267317342133388132970816607563062253708655085754357843064134941138154171)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 152.288200621747008570784082624444625293884063492396162110698238568311211546361189979357019)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, -271.894959539150384169327513139846971255640842175739337449692360299099322742181325023644769)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 319.240102980202312307047586791116902719088581839891008532114107693294261542869734803906793)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, -259.493144143048088289689500935518073716201741349569864988870534417890269467336454358361499)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 149.747518319689708813209645403067832020714660918583227716408482877303972685262557460145835)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, -61.9261301009341333289187201425188698128684426428003249782448828881580630606817104372760037)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 18.3077524177286961563937379403377462608113523887554047531153187277072451294845795496072365)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, -3.82011322251948043097070160584761236869363471824695092089556195047949392738162970152230254)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 0.549382685505691522516705902336780999493262538301283190963770663549981309645795228539620711)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, -0.0524814679715180697633723771076668718265358076235229045603747927518423453658004287459638024)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 0.00315392664003333528534120626687784812050217700942910879712808180705014754163256855643360698)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, -0.000110098373127648510519799564665442121339511198561008748083409549601095293123407080388658329)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 0.19809382866681658224945717689377373458866950897791116315219376038432014207446832310901893e-5)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, -0.152278977408600291408265615203504153130482270424202400677280558181047344681214058227949755e-7)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 0.364344768076106268872239259083188037615571711218395765792787047015406264051536972018235217e-10)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, -0.148897510480440424971521542520683536298361220674662555578951242811522959610991621951203526e-13)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 0.261199241161582662426512749820666625442516059622425213340053324061794752786482115387573582e-18)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, -0.780072664167099103420998436901014795601783313858454665485256897090476089641613851903791529e-24)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 0.303465867587106629530056603454807425512962762653755513440561256044986695349304176849392735e-24)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, -0.615420597971283870342083342286977366161772327800327789325710571275345878439656918541092056e-25)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 0.499641233843540749369110053005439398774706583601830828776209650445427083113181961630763702e-26)),
- };
- T result = 0;
- for(unsigned k = 1; k <= sizeof(d)/sizeof(d[0]); ++k)
- {
- result += (-d[k-1]*dz)/(k*dz + k*k);
- }
- return result;
- }
-
- template<class T>
- static T lanczos_sum_near_2(const T& dz)
- {
- lanczos_initializer<lanczos24m113, T>::force_instantiate(); // Ensure our constants get initialized before main()
- static const T d[23] = {
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 61.4165001061101455341808888883960361969557848005400286332291451422461117307237198559485365)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, -414.372973678657049667308134761613915623353625332248315105320470271523320700386200587519147)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 1251.50505818554680171298972755376376836161706773644771875668053742215217922228357204561873)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, -2234.43389421602399514176336175766511311493214354568097811220122848998413358085613880612158)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 2623.51647746991904821899989145639147785427273427135380151752779100215839537090464785708684)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, -2132.51572435428751962745870184529534443305617818870214348386131243463614597272260797772423)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 1230.62572059218405766499842067263311220019173335523810725664442147670956427061920234820189)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, -508.90919151163744999377586956023909888833335885805154492270846381061182696305011395981929)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 150.453184562246579758706538566480316921938628645961177699894388251635886834047343195475395)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, -31.3937061525822497422230490071156186113405446381476081565548185848237169870395131828731397)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 4.51482916590287954234936829724231512565732528859217337795452389161322923867318809206313688)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, -0.431292919341108177524462194102701868233551186625103849565527515201492276412231365776131952)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 0.0259189820815586225636729971503340447445001375909094681698918294680345547092233915092128323)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, -0.000904788882557558697594884691337532557729219389814315972435534723829065673966567231504429712)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 0.162793589759218213439218473348810982422449144393340433592232065020562974405674317564164312e-4)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, -0.125142926178202562426432039899709511761368233479483128438847484617555752948755923647214487e-6)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 0.299418680048132583204152682950097239197934281178261879500770485862852229898797687301941982e-9)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, -0.122364035267809278675627784883078206654408225276233049012165202996967011873995261617995421e-12)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 0.21465364366598631597052073538883430194257709353929022544344097235100199405814005393447785e-17)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, -0.641064035802907518396608051803921688237330857546406669209280666066685733941549058513986818e-23)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 0.249388374622173329690271566855185869111237201309011956145463506483151054813346819490278951e-23)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, -0.505752900177513489906064295001851463338022055787536494321532352380960774349054239257683149e-24)),
- static_cast<T>(BOOST_MATH_BIG_CONSTANT(T, 113, 0.410605371184590959139968810080063542546949719163227555918846829816144878123034347778284006e-25)),
- };
- T result = 0;
- T z = dz + 2;
- for(unsigned k = 1; k <= sizeof(d)/sizeof(d[0]); ++k)
- {
- result += (-d[k-1]*dz)/(z + k*z + k*k - 1);
- }
- return result;
- }
-
- static double g(){ return 20.3209821879863739013671875; }
-};
-
-
-//
-// placeholder for no lanczos info available:
-//
-struct undefined_lanczos : public mpl::int_<INT_MAX - 1> { };
-
-#if 0
-#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-#define BOOST_MATH_FLT_DIGITS ::std::numeric_limits<float>::digits
-#define BOOST_MATH_DBL_DIGITS ::std::numeric_limits<double>::digits
-#define BOOST_MATH_LDBL_DIGITS ::std::numeric_limits<long double>::digits
-#else
-#define BOOST_MATH_FLT_DIGITS FLT_MANT_DIG
-#define BOOST_MATH_DBL_DIGITS DBL_MANT_DIG
-#define BOOST_MATH_LDBL_DIGITS LDBL_MANT_DIG
-#endif
-#endif
-
-typedef mpl::list<
- lanczos6m24,
-/* lanczos6, */
- lanczos13m53,
-/* lanczos13, */
- lanczos17m64,
- lanczos24m113,
- lanczos22,
- undefined_lanczos> lanczos_list;
-
-template <class Real, class Policy>
-struct lanczos
-{
- typedef typename mpl::if_<
- typename mpl::less_equal<
- typename policies::precision<Real, Policy>::type,
- mpl::int_<0>
- >::type,
- mpl::int_<INT_MAX - 2>,
- typename policies::precision<Real, Policy>::type
- >::type target_precision;
-
- typedef typename mpl::deref<typename mpl::find_if<
- lanczos_list,
- mpl::less_equal<target_precision, mpl::_1> >::type>::type type;
-};
-
-} // namespace lanczos
-} // namespace math
-} // namespace boost
-
-#if !defined(_CRAYC) && !defined(__CUDACC__) && (!defined(__GNUC__) || (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ > 3)))
-#if (defined(_M_IX86_FP) && (_M_IX86_FP >= 2)) || defined(__SSE2__)
-#include <boost/math/special_functions/detail/lanczos_sse2.hpp>
-#endif
-#endif
-
-#endif // BOOST_MATH_SPECIAL_FUNCTIONS_LANCZOS
-
-
-
-
diff --git a/boost/math/special_functions/legendre.hpp b/boost/math/special_functions/legendre.hpp
deleted file mode 100644
index 79e9756..0000000
--- a/boost/math/special_functions/legendre.hpp
+++ /dev/null
@@ -1,194 +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_SPECIAL_LEGENDRE_HPP
-#define BOOST_MATH_SPECIAL_LEGENDRE_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/math/special_functions/math_fwd.hpp>
-#include <boost/math/special_functions/factorials.hpp>
-#include <boost/math/tools/config.hpp>
-
-namespace boost{
-namespace math{
-
-// Recurrance relation for legendre P and Q polynomials:
-template <class T1, class T2, class T3>
-inline typename tools::promote_args<T1, T2, T3>::type
- legendre_next(unsigned l, T1 x, T2 Pl, T3 Plm1)
-{
- typedef typename tools::promote_args<T1, T2, T3>::type result_type;
- return ((2 * l + 1) * result_type(x) * result_type(Pl) - l * result_type(Plm1)) / (l + 1);
-}
-
-namespace detail{
-
-// Implement Legendre P and Q polynomials via recurrance:
-template <class T, class Policy>
-T legendre_imp(unsigned l, T x, const Policy& pol, bool second = false)
-{
- static const char* function = "boost::math::legrendre_p<%1%>(unsigned, %1%)";
- // Error handling:
- if((x < -1) || (x > 1))
- return policies::raise_domain_error<T>(
- function,
- "The Legendre Polynomial is defined for"
- " -1 <= x <= 1, but got x = %1%.", x, pol);
-
- T p0, p1;
- if(second)
- {
- // A solution of the second kind (Q):
- p0 = (boost::math::log1p(x, pol) - boost::math::log1p(-x, pol)) / 2;
- p1 = x * p0 - 1;
- }
- else
- {
- // A solution of the first kind (P):
- p0 = 1;
- p1 = x;
- }
- if(l == 0)
- return p0;
-
- unsigned n = 1;
-
- while(n < l)
- {
- std::swap(p0, p1);
- p1 = boost::math::legendre_next(n, x, p0, p1);
- ++n;
- }
- return p1;
-}
-
-} // namespace detail
-
-template <class T, class Policy>
-inline typename tools::promote_args<T>::type
- legendre_p(int l, T x, const Policy& pol)
-{
- typedef typename tools::promote_args<T>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- static const char* function = "boost::math::legendre_p<%1%>(unsigned, %1%)";
- if(l < 0)
- return policies::checked_narrowing_cast<result_type, Policy>(detail::legendre_imp(-l-1, static_cast<value_type>(x), pol, false), function);
- return policies::checked_narrowing_cast<result_type, Policy>(detail::legendre_imp(l, static_cast<value_type>(x), pol, false), function);
-}
-
-template <class T>
-inline typename tools::promote_args<T>::type
- legendre_p(int l, T x)
-{
- return boost::math::legendre_p(l, x, policies::policy<>());
-}
-
-template <class T, class Policy>
-inline typename tools::promote_args<T>::type
- legendre_q(unsigned l, T x, const Policy& pol)
-{
- typedef typename tools::promote_args<T>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- return policies::checked_narrowing_cast<result_type, Policy>(detail::legendre_imp(l, static_cast<value_type>(x), pol, true), "boost::math::legendre_q<%1%>(unsigned, %1%)");
-}
-
-template <class T>
-inline typename tools::promote_args<T>::type
- legendre_q(unsigned l, T x)
-{
- return boost::math::legendre_q(l, x, policies::policy<>());
-}
-
-// Recurrence for associated polynomials:
-template <class T1, class T2, class T3>
-inline typename tools::promote_args<T1, T2, T3>::type
- legendre_next(unsigned l, unsigned m, T1 x, T2 Pl, T3 Plm1)
-{
- typedef typename tools::promote_args<T1, T2, T3>::type result_type;
- return ((2 * l + 1) * result_type(x) * result_type(Pl) - (l + m) * result_type(Plm1)) / (l + 1 - m);
-}
-
-namespace detail{
-// Legendre P associated polynomial:
-template <class T, class Policy>
-T legendre_p_imp(int l, int m, T x, T sin_theta_power, const Policy& pol)
-{
- // Error handling:
- if((x < -1) || (x > 1))
- return policies::raise_domain_error<T>(
- "boost::math::legendre_p<%1%>(int, int, %1%)",
- "The associated Legendre Polynomial is defined for"
- " -1 <= x <= 1, but got x = %1%.", x, pol);
- // Handle negative arguments first:
- if(l < 0)
- return legendre_p_imp(-l-1, m, x, sin_theta_power, pol);
- if(m < 0)
- {
- int sign = (m&1) ? -1 : 1;
- return sign * boost::math::tgamma_ratio(static_cast<T>(l+m+1), static_cast<T>(l+1-m), pol) * legendre_p_imp(l, -m, x, sin_theta_power, pol);
- }
- // Special cases:
- if(m > l)
- return 0;
- if(m == 0)
- return boost::math::legendre_p(l, x, pol);
-
- T p0 = boost::math::double_factorial<T>(2 * m - 1, pol) * sin_theta_power;
-
- if(m&1)
- p0 *= -1;
- if(m == l)
- return p0;
-
- T p1 = x * (2 * m + 1) * p0;
-
- int n = m + 1;
-
- while(n < l)
- {
- std::swap(p0, p1);
- p1 = boost::math::legendre_next(n, m, x, p0, p1);
- ++n;
- }
- return p1;
-}
-
-template <class T, class Policy>
-inline T legendre_p_imp(int l, int m, T x, const Policy& pol)
-{
- BOOST_MATH_STD_USING
- // TODO: we really could use that mythical "pow1p" function here:
- return legendre_p_imp(l, m, x, static_cast<T>(pow(1 - x*x, T(abs(m))/2)), pol);
-}
-
-}
-
-template <class T, class Policy>
-inline typename tools::promote_args<T>::type
- legendre_p(int l, int m, T x, const Policy& pol)
-{
- typedef typename tools::promote_args<T>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- return policies::checked_narrowing_cast<result_type, Policy>(detail::legendre_p_imp(l, m, static_cast<value_type>(x), pol), "bost::math::legendre_p<%1%>(int, int, %1%)");
-}
-
-template <class T>
-inline typename tools::promote_args<T>::type
- legendre_p(int l, int m, T x)
-{
- return boost::math::legendre_p(l, m, x, policies::policy<>());
-}
-
-} // namespace math
-} // namespace boost
-
-#endif // BOOST_MATH_SPECIAL_LEGENDRE_HPP
-
-
-
diff --git a/boost/math/special_functions/log1p.hpp b/boost/math/special_functions/log1p.hpp
deleted file mode 100644
index 989bdc2..0000000
--- a/boost/math/special_functions/log1p.hpp
+++ /dev/null
@@ -1,503 +0,0 @@
-// (C) 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_LOG1P_INCLUDED
-#define BOOST_MATH_LOG1P_INCLUDED
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/config/no_tr1/cmath.hpp>
-#include <math.h> // platform's ::log1p
-#include <boost/limits.hpp>
-#include <boost/math/tools/config.hpp>
-#include <boost/math/tools/series.hpp>
-#include <boost/math/tools/rational.hpp>
-#include <boost/math/tools/big_constant.hpp>
-#include <boost/math/policies/error_handling.hpp>
-#include <boost/math/special_functions/math_fwd.hpp>
-
-#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-# include <boost/static_assert.hpp>
-#else
-# include <boost/assert.hpp>
-#endif
-
-namespace boost{ namespace math{
-
-namespace detail
-{
- // Functor log1p_series returns the next term in the Taylor series
- // pow(-1, k-1)*pow(x, k) / k
- // each time that operator() is invoked.
- //
- template <class T>
- struct log1p_series
- {
- typedef T result_type;
-
- log1p_series(T x)
- : k(0), m_mult(-x), m_prod(-1){}
-
- T operator()()
- {
- m_prod *= m_mult;
- return m_prod / ++k;
- }
-
- int count()const
- {
- return k;
- }
-
- private:
- int k;
- const T m_mult;
- T m_prod;
- log1p_series(const log1p_series&);
- log1p_series& operator=(const log1p_series&);
- };
-
-// Algorithm log1p is part of C99, but is not yet provided by many compilers.
-//
-// This version uses a Taylor series expansion for 0.5 > x > epsilon, which may
-// require up to std::numeric_limits<T>::digits+1 terms to be calculated.
-// It would be much more efficient to use the equivalence:
-// log(1+x) == (log(1+x) * x) / ((1-x) - 1)
-// Unfortunately many optimizing compilers make such a mess of this, that
-// it performs no better than log(1+x): which is to say not very well at all.
-//
-template <class T, class Policy>
-T log1p_imp(T const & x, const Policy& pol, const mpl::int_<0>&)
-{ // The function returns the natural logarithm of 1 + x.
- typedef typename tools::promote_args<T>::type result_type;
- BOOST_MATH_STD_USING
-
- static const char* function = "boost::math::log1p<%1%>(%1%)";
-
- if(x < -1)
- return policies::raise_domain_error<T>(
- function, "log1p(x) requires x > -1, but got x = %1%.", x, pol);
- if(x == -1)
- return -policies::raise_overflow_error<T>(
- function, 0, pol);
-
- result_type a = abs(result_type(x));
- if(a > result_type(0.5f))
- return log(1 + result_type(x));
- // Note that without numeric_limits specialisation support,
- // epsilon just returns zero, and our "optimisation" will always fail:
- if(a < tools::epsilon<result_type>())
- return x;
- detail::log1p_series<result_type> s(x);
- boost::uintmax_t max_iter = policies::get_max_series_iterations<Policy>();
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582)) && !BOOST_WORKAROUND(__EDG_VERSION__, <= 245)
- result_type result = tools::sum_series(s, policies::get_epsilon<result_type, Policy>(), max_iter);
-#else
- result_type zero = 0;
- result_type result = tools::sum_series(s, policies::get_epsilon<result_type, Policy>(), max_iter, zero);
-#endif
- policies::check_series_iterations<T>(function, max_iter, pol);
- return result;
-}
-
-template <class T, class Policy>
-T log1p_imp(T const& x, const Policy& pol, const mpl::int_<53>&)
-{ // The function returns the natural logarithm of 1 + x.
- BOOST_MATH_STD_USING
-
- static const char* function = "boost::math::log1p<%1%>(%1%)";
-
- if(x < -1)
- return policies::raise_domain_error<T>(
- function, "log1p(x) requires x > -1, but got x = %1%.", x, pol);
- if(x == -1)
- return -policies::raise_overflow_error<T>(
- function, 0, pol);
-
- T a = fabs(x);
- if(a > 0.5f)
- return log(1 + x);
- // Note that without numeric_limits specialisation support,
- // epsilon just returns zero, and our "optimisation" will always fail:
- if(a < tools::epsilon<T>())
- return x;
-
- // Maximum Deviation Found: 1.846e-017
- // Expected Error Term: 1.843e-017
- // Maximum Relative Change in Control Points: 8.138e-004
- // Max Error found at double precision = 3.250766e-016
- static const T P[] = {
- 0.15141069795941984e-16L,
- 0.35495104378055055e-15L,
- 0.33333333333332835L,
- 0.99249063543365859L,
- 1.1143969784156509L,
- 0.58052937949269651L,
- 0.13703234928513215L,
- 0.011294864812099712L
- };
- static const T Q[] = {
- 1L,
- 3.7274719063011499L,
- 5.5387948649720334L,
- 4.159201143419005L,
- 1.6423855110312755L,
- 0.31706251443180914L,
- 0.022665554431410243L,
- -0.29252538135177773e-5L
- };
-
- T result = 1 - x / 2 + tools::evaluate_polynomial(P, x) / tools::evaluate_polynomial(Q, x);
- result *= x;
-
- return result;
-}
-
-template <class T, class Policy>
-T log1p_imp(T const& x, const Policy& pol, const mpl::int_<64>&)
-{ // The function returns the natural logarithm of 1 + x.
- BOOST_MATH_STD_USING
-
- static const char* function = "boost::math::log1p<%1%>(%1%)";
-
- if(x < -1)
- return policies::raise_domain_error<T>(
- function, "log1p(x) requires x > -1, but got x = %1%.", x, pol);
- if(x == -1)
- return -policies::raise_overflow_error<T>(
- function, 0, pol);
-
- T a = fabs(x);
- if(a > 0.5f)
- return log(1 + x);
- // Note that without numeric_limits specialisation support,
- // epsilon just returns zero, and our "optimisation" will always fail:
- if(a < tools::epsilon<T>())
- return x;
-
- // Maximum Deviation Found: 8.089e-20
- // Expected Error Term: 8.088e-20
- // Maximum Relative Change in Control Points: 9.648e-05
- // Max Error found at long double precision = 2.242324e-19
- static const T P[] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.807533446680736736712e-19),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.490881544804798926426e-18),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.333333333333333373941),
- BOOST_MATH_BIG_CONSTANT(T, 64, 1.17141290782087994162),
- BOOST_MATH_BIG_CONSTANT(T, 64, 1.62790522814926264694),
- BOOST_MATH_BIG_CONSTANT(T, 64, 1.13156411870766876113),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.408087379932853785336),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.0706537026422828914622),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.00441709903782239229447)
- };
- static const T Q[] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, 1),
- BOOST_MATH_BIG_CONSTANT(T, 64, 4.26423872346263928361),
- BOOST_MATH_BIG_CONSTANT(T, 64, 7.48189472704477708962),
- BOOST_MATH_BIG_CONSTANT(T, 64, 6.94757016732904280913),
- BOOST_MATH_BIG_CONSTANT(T, 64, 3.6493508622280767304),
- BOOST_MATH_BIG_CONSTANT(T, 64, 1.06884863623790638317),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.158292216998514145947),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.00885295524069924328658),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.560026216133415663808e-6)
- };
-
- T result = 1 - x / 2 + tools::evaluate_polynomial(P, x) / tools::evaluate_polynomial(Q, x);
- result *= x;
-
- return result;
-}
-
-template <class T, class Policy>
-T log1p_imp(T const& x, const Policy& pol, const mpl::int_<24>&)
-{ // The function returns the natural logarithm of 1 + x.
- BOOST_MATH_STD_USING
-
- static const char* function = "boost::math::log1p<%1%>(%1%)";
-
- if(x < -1)
- return policies::raise_domain_error<T>(
- function, "log1p(x) requires x > -1, but got x = %1%.", x, pol);
- if(x == -1)
- return -policies::raise_overflow_error<T>(
- function, 0, pol);
-
- T a = fabs(x);
- if(a > 0.5f)
- return log(1 + x);
- // Note that without numeric_limits specialisation support,
- // epsilon just returns zero, and our "optimisation" will always fail:
- if(a < tools::epsilon<T>())
- return x;
-
- // Maximum Deviation Found: 6.910e-08
- // Expected Error Term: 6.910e-08
- // Maximum Relative Change in Control Points: 2.509e-04
- // Max Error found at double precision = 6.910422e-08
- // Max Error found at float precision = 8.357242e-08
- static const T P[] = {
- -0.671192866803148236519e-7L,
- 0.119670999140731844725e-6L,
- 0.333339469182083148598L,
- 0.237827183019664122066L
- };
- static const T Q[] = {
- 1L,
- 1.46348272586988539733L,
- 0.497859871350117338894L,
- -0.00471666268910169651936L
- };
-
- T result = 1 - x / 2 + tools::evaluate_polynomial(P, x) / tools::evaluate_polynomial(Q, x);
- result *= x;
-
- return result;
-}
-
-template <class T, class Policy, class tag>
-struct log1p_initializer
-{
- struct init
- {
- init()
- {
- do_init(tag());
- }
- template <int N>
- static void do_init(const mpl::int_<N>&){}
- static void do_init(const mpl::int_<64>&)
- {
- boost::math::log1p(static_cast<T>(0.25), Policy());
- }
- void force_instantiate()const{}
- };
- static const init initializer;
- static void force_instantiate()
- {
- initializer.force_instantiate();
- }
-};
-
-template <class T, class Policy, class tag>
-const typename log1p_initializer<T, Policy, tag>::init log1p_initializer<T, Policy, tag>::initializer;
-
-
-} // namespace detail
-
-template <class T, class Policy>
-inline typename tools::promote_args<T>::type log1p(T x, const Policy&)
-{
- typedef typename tools::promote_args<T>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename policies::precision<result_type, Policy>::type precision_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
-
- typedef typename mpl::if_<
- mpl::less_equal<precision_type, mpl::int_<0> >,
- mpl::int_<0>,
- typename mpl::if_<
- mpl::less_equal<precision_type, mpl::int_<53> >,
- mpl::int_<53>, // double
- typename mpl::if_<
- mpl::less_equal<precision_type, mpl::int_<64> >,
- mpl::int_<64>, // 80-bit long double
- mpl::int_<0> // too many bits, use generic version.
- >::type
- >::type
- >::type tag_type;
-
- detail::log1p_initializer<value_type, forwarding_policy, tag_type>::force_instantiate();
-
- return policies::checked_narrowing_cast<result_type, forwarding_policy>(
- detail::log1p_imp(static_cast<value_type>(x), forwarding_policy(), tag_type()), "boost::math::log1p<%1%>(%1%)");
-}
-
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-// These overloads work around a type deduction bug:
-inline float log1p(float z)
-{
- return log1p<float>(z);
-}
-inline double log1p(double z)
-{
- return log1p<double>(z);
-}
-#ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
-inline long double log1p(long double z)
-{
- return log1p<long double>(z);
-}
-#endif
-#endif
-
-#ifdef log1p
-# ifndef BOOST_HAS_LOG1P
-# define BOOST_HAS_LOG1P
-# endif
-# undef log1p
-#endif
-
-#if defined(BOOST_HAS_LOG1P) && !(defined(__osf__) && defined(__DECCXX_VER))
-# ifdef BOOST_MATH_USE_C99
-template <class Policy>
-inline float log1p(float x, const Policy& pol)
-{
- if(x < -1)
- return policies::raise_domain_error<float>(
- "log1p<%1%>(%1%)", "log1p(x) requires x > -1, but got x = %1%.", x, pol);
- if(x == -1)
- return -policies::raise_overflow_error<float>(
- "log1p<%1%>(%1%)", 0, pol);
- return ::log1pf(x);
-}
-#ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
-template <class Policy>
-inline long double log1p(long double x, const Policy& pol)
-{
- if(x < -1)
- return policies::raise_domain_error<long double>(
- "log1p<%1%>(%1%)", "log1p(x) requires x > -1, but got x = %1%.", x, pol);
- if(x == -1)
- return -policies::raise_overflow_error<long double>(
- "log1p<%1%>(%1%)", 0, pol);
- return ::log1pl(x);
-}
-#endif
-#else
-template <class Policy>
-inline float log1p(float x, const Policy& pol)
-{
- if(x < -1)
- return policies::raise_domain_error<float>(
- "log1p<%1%>(%1%)", "log1p(x) requires x > -1, but got x = %1%.", x, pol);
- if(x == -1)
- return -policies::raise_overflow_error<float>(
- "log1p<%1%>(%1%)", 0, pol);
- return ::log1p(x);
-}
-#endif
-template <class Policy>
-inline double log1p(double x, const Policy& pol)
-{
- if(x < -1)
- return policies::raise_domain_error<double>(
- "log1p<%1%>(%1%)", "log1p(x) requires x > -1, but got x = %1%.", x, pol);
- if(x == -1)
- return -policies::raise_overflow_error<double>(
- "log1p<%1%>(%1%)", 0, pol);
- return ::log1p(x);
-}
-#elif defined(_MSC_VER) && (BOOST_MSVC >= 1400)
-//
-// You should only enable this branch if you are absolutely sure
-// that your compilers optimizer won't mess this code up!!
-// Currently tested with VC8 and Intel 9.1.
-//
-template <class Policy>
-inline double log1p(double x, const Policy& pol)
-{
- if(x < -1)
- return policies::raise_domain_error<double>(
- "log1p<%1%>(%1%)", "log1p(x) requires x > -1, but got x = %1%.", x, pol);
- if(x == -1)
- return -policies::raise_overflow_error<double>(
- "log1p<%1%>(%1%)", 0, pol);
- double u = 1+x;
- if(u == 1.0)
- return x;
- else
- return ::log(u)*(x/(u-1.0));
-}
-template <class Policy>
-inline float log1p(float x, const Policy& pol)
-{
- return static_cast<float>(boost::math::log1p(static_cast<double>(x), pol));
-}
-#ifndef _WIN32_WCE
-//
-// For some reason this fails to compile under WinCE...
-// Needs more investigation.
-//
-template <class Policy>
-inline long double log1p(long double x, const Policy& pol)
-{
- if(x < -1)
- return policies::raise_domain_error<long double>(
- "log1p<%1%>(%1%)", "log1p(x) requires x > -1, but got x = %1%.", x, pol);
- if(x == -1)
- return -policies::raise_overflow_error<long double>(
- "log1p<%1%>(%1%)", 0, pol);
- long double u = 1+x;
- if(u == 1.0)
- return x;
- else
- return ::logl(u)*(x/(u-1.0));
-}
-#endif
-#endif
-
-template <class T>
-inline typename tools::promote_args<T>::type log1p(T x)
-{
- return boost::math::log1p(x, policies::policy<>());
-}
-//
-// Compute log(1+x)-x:
-//
-template <class T, class Policy>
-inline typename tools::promote_args<T>::type
- log1pmx(T x, const Policy& pol)
-{
- typedef typename tools::promote_args<T>::type result_type;
- BOOST_MATH_STD_USING
- static const char* function = "boost::math::log1pmx<%1%>(%1%)";
-
- if(x < -1)
- return policies::raise_domain_error<T>(
- function, "log1pmx(x) requires x > -1, but got x = %1%.", x, pol);
- if(x == -1)
- return -policies::raise_overflow_error<T>(
- function, 0, pol);
-
- result_type a = abs(result_type(x));
- if(a > result_type(0.95f))
- return log(1 + result_type(x)) - result_type(x);
- // Note that without numeric_limits specialisation support,
- // epsilon just returns zero, and our "optimisation" will always fail:
- if(a < tools::epsilon<result_type>())
- return -x * x / 2;
- boost::math::detail::log1p_series<T> s(x);
- s();
- boost::uintmax_t max_iter = policies::get_max_series_iterations<Policy>();
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582))
- T zero = 0;
- T result = boost::math::tools::sum_series(s, policies::get_epsilon<T, Policy>(), max_iter, zero);
-#else
- T result = boost::math::tools::sum_series(s, policies::get_epsilon<T, Policy>(), max_iter);
-#endif
- policies::check_series_iterations<T>(function, max_iter, pol);
- return result;
-}
-
-template <class T>
-inline typename tools::promote_args<T>::type log1pmx(T x)
-{
- return log1pmx(x, policies::policy<>());
-}
-
-} // namespace math
-} // namespace boost
-
-#endif // BOOST_MATH_LOG1P_INCLUDED
-
-
-
diff --git a/boost/math/special_functions/math_fwd.hpp b/boost/math/special_functions/math_fwd.hpp
deleted file mode 100644
index 9de38ec..0000000
--- a/boost/math/special_functions/math_fwd.hpp
+++ /dev/null
@@ -1,1408 +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 <boost/math/special_functions/detail/round_fwd.hpp>
-#include <boost/math/tools/promotion.hpp> // for argument promotion.
-#include <boost/math/policies/policy.hpp>
-#include <boost/mpl/comparison.hpp>
-#include <boost/config/no_tr1/complex.hpp>
-
-#define BOOST_NO_MACRO_EXPAND /**/
-
-namespace boost
-{
- namespace math
- { // Math functions (in roughly alphabetic order).
-
- // Beta functions.
- template <class RT1, class RT2>
- typename tools::promote_args<RT1, RT2>::type
- beta(RT1 a, RT2 b); // Beta function (2 arguments).
-
- template <class RT1, class RT2, class A>
- typename tools::promote_args<RT1, RT2, A>::type
- beta(RT1 a, RT2 b, A x); // Beta function (3 arguments).
-
- template <class RT1, class RT2, class RT3, class Policy>
- typename tools::promote_args<RT1, RT2, RT3>::type
- beta(RT1 a, RT2 b, RT3 x, const Policy& pol); // Beta function (3 arguments).
-
- template <class RT1, class RT2, class RT3>
- typename tools::promote_args<RT1, RT2, RT3>::type
- betac(RT1 a, RT2 b, RT3 x);
-
- template <class RT1, class RT2, class RT3, class Policy>
- typename tools::promote_args<RT1, RT2, RT3>::type
- betac(RT1 a, RT2 b, RT3 x, const Policy& pol);
-
- template <class RT1, class RT2, class RT3>
- typename tools::promote_args<RT1, RT2, RT3>::type
- ibeta(RT1 a, RT2 b, RT3 x); // Incomplete beta function.
-
- template <class RT1, class RT2, class RT3, class Policy>
- typename tools::promote_args<RT1, RT2, RT3>::type
- ibeta(RT1 a, RT2 b, RT3 x, const Policy& pol); // Incomplete beta function.
-
- template <class RT1, class RT2, class RT3>
- typename tools::promote_args<RT1, RT2, RT3>::type
- ibetac(RT1 a, RT2 b, RT3 x); // Incomplete beta complement function.
-
- template <class RT1, class RT2, class RT3, class Policy>
- typename tools::promote_args<RT1, RT2, RT3>::type
- ibetac(RT1 a, RT2 b, RT3 x, const Policy& pol); // Incomplete beta complement function.
-
- template <class T1, class T2, class T3, class T4>
- typename tools::promote_args<T1, T2, T3, T4>::type
- ibeta_inv(T1 a, T2 b, T3 p, T4* py);
-
- template <class T1, class T2, class T3, class T4, class Policy>
- typename tools::promote_args<T1, T2, T3, T4>::type
- ibeta_inv(T1 a, T2 b, T3 p, T4* py, const Policy& pol);
-
- template <class RT1, class RT2, class RT3>
- typename tools::promote_args<RT1, RT2, RT3>::type
- ibeta_inv(RT1 a, RT2 b, RT3 p); // Incomplete beta inverse function.
-
- template <class RT1, class RT2, class RT3, class Policy>
- typename tools::promote_args<RT1, RT2, RT3>::type
- ibeta_inv(RT1 a, RT2 b, RT3 p, const Policy&); // Incomplete beta inverse function.
-
- template <class RT1, class RT2, class RT3>
- typename tools::promote_args<RT1, RT2, RT3>::type
- ibeta_inva(RT1 a, RT2 b, RT3 p); // Incomplete beta inverse function.
-
- template <class RT1, class RT2, class RT3, class Policy>
- typename tools::promote_args<RT1, RT2, RT3>::type
- ibeta_inva(RT1 a, RT2 b, RT3 p, const Policy&); // Incomplete beta inverse function.
-
- template <class RT1, class RT2, class RT3>
- typename tools::promote_args<RT1, RT2, RT3>::type
- ibeta_invb(RT1 a, RT2 b, RT3 p); // Incomplete beta inverse function.
-
- template <class RT1, class RT2, class RT3, class Policy>
- typename tools::promote_args<RT1, RT2, RT3>::type
- ibeta_invb(RT1 a, RT2 b, RT3 p, const Policy&); // Incomplete beta inverse function.
-
- template <class T1, class T2, class T3, class T4>
- typename tools::promote_args<T1, T2, T3, T4>::type
- ibetac_inv(T1 a, T2 b, T3 q, T4* py);
-
- template <class T1, class T2, class T3, class T4, class Policy>
- typename tools::promote_args<T1, T2, T3, T4>::type
- ibetac_inv(T1 a, T2 b, T3 q, T4* py, const Policy& pol);
-
- template <class RT1, class RT2, class RT3>
- typename tools::promote_args<RT1, RT2, RT3>::type
- ibetac_inv(RT1 a, RT2 b, RT3 q); // Incomplete beta complement inverse function.
-
- template <class RT1, class RT2, class RT3, class Policy>
- typename tools::promote_args<RT1, RT2, RT3>::type
- ibetac_inv(RT1 a, RT2 b, RT3 q, const Policy&); // Incomplete beta complement inverse function.
-
- template <class RT1, class RT2, class RT3>
- typename tools::promote_args<RT1, RT2, RT3>::type
- ibetac_inva(RT1 a, RT2 b, RT3 q); // Incomplete beta complement inverse function.
-
- template <class RT1, class RT2, class RT3, class Policy>
- typename tools::promote_args<RT1, RT2, RT3>::type
- ibetac_inva(RT1 a, RT2 b, RT3 q, const Policy&); // Incomplete beta complement inverse function.
-
- template <class RT1, class RT2, class RT3>
- typename tools::promote_args<RT1, RT2, RT3>::type
- ibetac_invb(RT1 a, RT2 b, RT3 q); // Incomplete beta complement inverse function.
-
- template <class RT1, class RT2, class RT3, class Policy>
- typename tools::promote_args<RT1, RT2, RT3>::type
- ibetac_invb(RT1 a, RT2 b, RT3 q, const Policy&); // Incomplete beta complement inverse function.
-
- template <class RT1, class RT2, class RT3>
- typename tools::promote_args<RT1, RT2, RT3>::type
- ibeta_derivative(RT1 a, RT2 b, RT3 x); // derivative of incomplete beta
-
- template <class RT1, class RT2, class RT3, class Policy>
- typename tools::promote_args<RT1, RT2, RT3>::type
- ibeta_derivative(RT1 a, RT2 b, RT3 x, const Policy& pol); // derivative of incomplete beta
-
- // erf & erfc error functions.
- template <class RT> // Error function.
- typename tools::promote_args<RT>::type erf(RT z);
- template <class RT, class Policy> // Error function.
- typename tools::promote_args<RT>::type erf(RT z, const Policy&);
-
- template <class RT>// Error function complement.
- typename tools::promote_args<RT>::type erfc(RT z);
- template <class RT, class Policy>// Error function complement.
- typename tools::promote_args<RT>::type erfc(RT z, const Policy&);
-
- template <class RT>// Error function inverse.
- typename tools::promote_args<RT>::type erf_inv(RT z);
- template <class RT, class Policy>// Error function inverse.
- typename tools::promote_args<RT>::type erf_inv(RT z, const Policy& pol);
-
- template <class RT>// Error function complement inverse.
- typename tools::promote_args<RT>::type erfc_inv(RT z);
- template <class RT, class Policy>// Error function complement inverse.
- typename tools::promote_args<RT>::type erfc_inv(RT z, const Policy& pol);
-
- // Polynomials:
- template <class T1, class T2, class T3>
- typename tools::promote_args<T1, T2, T3>::type
- legendre_next(unsigned l, T1 x, T2 Pl, T3 Plm1);
-
- template <class T>
- typename tools::promote_args<T>::type
- legendre_p(int l, T x);
-
- template <class T, class Policy>
- typename tools::promote_args<T>::type
- legendre_p(int l, T x, const Policy& pol);
-
- template <class T>
- typename tools::promote_args<T>::type
- legendre_q(unsigned l, T x);
-
- template <class T, class Policy>
- typename tools::promote_args<T>::type
- legendre_q(unsigned l, T x, const Policy& pol);
-
- template <class T1, class T2, class T3>
- typename tools::promote_args<T1, T2, T3>::type
- legendre_next(unsigned l, unsigned m, T1 x, T2 Pl, T3 Plm1);
-
- template <class T>
- typename tools::promote_args<T>::type
- legendre_p(int l, int m, T x);
-
- template <class T, class Policy>
- typename tools::promote_args<T>::type
- legendre_p(int l, int m, T x, const Policy& pol);
-
- template <class T1, class T2, class T3>
- typename tools::promote_args<T1, T2, T3>::type
- laguerre_next(unsigned n, T1 x, T2 Ln, T3 Lnm1);
-
- template <class T1, class T2, class T3>
- typename tools::promote_args<T1, T2, T3>::type
- laguerre_next(unsigned n, unsigned l, T1 x, T2 Pl, T3 Plm1);
-
- template <class T>
- typename tools::promote_args<T>::type
- laguerre(unsigned n, T x);
-
- template <class T, class Policy>
- typename tools::promote_args<T>::type
- laguerre(unsigned n, unsigned m, T x, const Policy& pol);
-
- template <class T1, class T2>
- struct laguerre_result
- {
- typedef typename mpl::if_<
- policies::is_policy<T2>,
- typename tools::promote_args<T1>::type,
- typename tools::promote_args<T2>::type
- >::type type;
- };
-
- template <class T1, class T2>
- typename laguerre_result<T1, T2>::type
- laguerre(unsigned n, T1 m, T2 x);
-
- template <class T>
- typename tools::promote_args<T>::type
- hermite(unsigned n, T x);
-
- template <class T, class Policy>
- typename tools::promote_args<T>::type
- hermite(unsigned n, T x, const Policy& pol);
-
- template <class T1, class T2, class T3>
- typename tools::promote_args<T1, T2, T3>::type
- hermite_next(unsigned n, T1 x, T2 Hn, T3 Hnm1);
-
- template <class T1, class T2>
- std::complex<typename tools::promote_args<T1, T2>::type>
- spherical_harmonic(unsigned n, int m, T1 theta, T2 phi);
-
- template <class T1, class T2, class Policy>
- std::complex<typename tools::promote_args<T1, T2>::type>
- spherical_harmonic(unsigned n, int m, T1 theta, T2 phi, const Policy& pol);
-
- template <class T1, class T2>
- typename tools::promote_args<T1, T2>::type
- spherical_harmonic_r(unsigned n, int m, T1 theta, T2 phi);
-
- template <class T1, class T2, class Policy>
- typename tools::promote_args<T1, T2>::type
- spherical_harmonic_r(unsigned n, int m, T1 theta, T2 phi, const Policy& pol);
-
- template <class T1, class T2>
- typename tools::promote_args<T1, T2>::type
- spherical_harmonic_i(unsigned n, int m, T1 theta, T2 phi);
-
- template <class T1, class T2, class Policy>
- typename tools::promote_args<T1, T2>::type
- spherical_harmonic_i(unsigned n, int m, T1 theta, T2 phi, const Policy& pol);
-
- // Elliptic integrals:
- template <class T1, class T2, class T3>
- typename tools::promote_args<T1, T2, T3>::type
- ellint_rf(T1 x, T2 y, T3 z);
-
- template <class T1, class T2, class T3, class Policy>
- typename tools::promote_args<T1, T2, T3>::type
- ellint_rf(T1 x, T2 y, T3 z, const Policy& pol);
-
- template <class T1, class T2, class T3>
- typename tools::promote_args<T1, T2, T3>::type
- ellint_rd(T1 x, T2 y, T3 z);
-
- template <class T1, class T2, class T3, class Policy>
- typename tools::promote_args<T1, T2, T3>::type
- ellint_rd(T1 x, T2 y, T3 z, const Policy& pol);
-
- template <class T1, class T2>
- typename tools::promote_args<T1, T2>::type
- ellint_rc(T1 x, T2 y);
-
- template <class T1, class T2, class Policy>
- typename tools::promote_args<T1, T2>::type
- ellint_rc(T1 x, T2 y, const Policy& pol);
-
- template <class T1, class T2, class T3, class T4>
- typename tools::promote_args<T1, T2, T3, T4>::type
- ellint_rj(T1 x, T2 y, T3 z, T4 p);
-
- template <class T1, class T2, class T3, class T4, class Policy>
- typename tools::promote_args<T1, T2, T3, T4>::type
- ellint_rj(T1 x, T2 y, T3 z, T4 p, const Policy& pol);
-
- template <typename T>
- typename tools::promote_args<T>::type ellint_2(T k);
-
- template <class T1, class T2>
- typename tools::promote_args<T1, T2>::type ellint_2(T1 k, T2 phi);
-
- template <class T1, class T2, class Policy>
- typename tools::promote_args<T1, T2>::type ellint_2(T1 k, T2 phi, const Policy& pol);
-
- template <typename T>
- typename tools::promote_args<T>::type ellint_1(T k);
-
- template <class T1, class T2>
- typename tools::promote_args<T1, T2>::type ellint_1(T1 k, T2 phi);
-
- template <class T1, class T2, class Policy>
- typename tools::promote_args<T1, T2>::type ellint_1(T1 k, T2 phi, const Policy& pol);
-
- namespace detail{
-
- template <class T, class U, class V>
- struct ellint_3_result
- {
- typedef typename mpl::if_<
- policies::is_policy<V>,
- typename tools::promote_args<T, U>::type,
- typename tools::promote_args<T, U, V>::type
- >::type type;
- };
-
- } // namespace detail
-
-
- template <class T1, class T2, class T3>
- typename detail::ellint_3_result<T1, T2, T3>::type ellint_3(T1 k, T2 v, T3 phi);
-
- template <class T1, class T2, class T3, class Policy>
- typename tools::promote_args<T1, T2, T3>::type ellint_3(T1 k, T2 v, T3 phi, const Policy& pol);
-
- template <class T1, class T2>
- typename tools::promote_args<T1, T2>::type ellint_3(T1 k, T2 v);
-
- // Factorial functions.
- // Note: not for integral types, at present.
- template <class RT>
- struct max_factorial;
- template <class RT>
- RT factorial(unsigned int);
- template <class RT, class Policy>
- RT factorial(unsigned int, const Policy& pol);
- template <class RT>
- RT unchecked_factorial(unsigned int BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE(RT));
- template <class RT>
- RT double_factorial(unsigned i);
- template <class RT, class Policy>
- RT double_factorial(unsigned i, const Policy& pol);
-
- template <class RT>
- typename tools::promote_args<RT>::type falling_factorial(RT x, unsigned n);
-
- template <class RT, class Policy>
- typename tools::promote_args<RT>::type falling_factorial(RT x, unsigned n, const Policy& pol);
-
- template <class RT>
- typename tools::promote_args<RT>::type rising_factorial(RT x, int n);
-
- template <class RT, class Policy>
- typename tools::promote_args<RT>::type rising_factorial(RT x, int n, const Policy& pol);
-
- // Gamma functions.
- template <class RT>
- typename tools::promote_args<RT>::type tgamma(RT z);
-
- template <class RT>
- typename tools::promote_args<RT>::type tgamma1pm1(RT z);
-
- template <class RT, class Policy>
- typename tools::promote_args<RT>::type tgamma1pm1(RT z, const Policy& pol);
-
- template <class RT1, class RT2>
- typename tools::promote_args<RT1, RT2>::type tgamma(RT1 a, RT2 z);
-
- template <class RT1, class RT2, class Policy>
- typename tools::promote_args<RT1, RT2>::type tgamma(RT1 a, RT2 z, const Policy& pol);
-
- template <class RT>
- typename tools::promote_args<RT>::type lgamma(RT z, int* sign);
-
- template <class RT, class Policy>
- typename tools::promote_args<RT>::type lgamma(RT z, int* sign, const Policy& pol);
-
- template <class RT>
- typename tools::promote_args<RT>::type lgamma(RT x);
-
- template <class RT, class Policy>
- typename tools::promote_args<RT>::type lgamma(RT x, const Policy& pol);
-
- template <class RT1, class RT2>
- typename tools::promote_args<RT1, RT2>::type tgamma_lower(RT1 a, RT2 z);
-
- template <class RT1, class RT2, class Policy>
- typename tools::promote_args<RT1, RT2>::type tgamma_lower(RT1 a, RT2 z, const Policy&);
-
- template <class RT1, class RT2>
- typename tools::promote_args<RT1, RT2>::type gamma_q(RT1 a, RT2 z);
-
- template <class RT1, class RT2, class Policy>
- typename tools::promote_args<RT1, RT2>::type gamma_q(RT1 a, RT2 z, const Policy&);
-
- template <class RT1, class RT2>
- typename tools::promote_args<RT1, RT2>::type gamma_p(RT1 a, RT2 z);
-
- template <class RT1, class RT2, class Policy>
- typename tools::promote_args<RT1, RT2>::type gamma_p(RT1 a, RT2 z, const Policy&);
-
- template <class T1, class T2>
- typename tools::promote_args<T1, T2>::type tgamma_delta_ratio(T1 z, T2 delta);
-
- template <class T1, class T2, class Policy>
- typename tools::promote_args<T1, T2>::type tgamma_delta_ratio(T1 z, T2 delta, const Policy&);
-
- template <class T1, class T2>
- typename tools::promote_args<T1, T2>::type tgamma_ratio(T1 a, T2 b);
-
- template <class T1, class T2, class Policy>
- typename tools::promote_args<T1, T2>::type tgamma_ratio(T1 a, T2 b, const Policy&);
-
- template <class T1, class T2>
- typename tools::promote_args<T1, T2>::type gamma_p_derivative(T1 a, T2 x);
-
- template <class T1, class T2, class Policy>
- typename tools::promote_args<T1, T2>::type gamma_p_derivative(T1 a, T2 x, const Policy&);
-
- // gamma inverse.
- template <class T1, class T2>
- typename tools::promote_args<T1, T2>::type gamma_p_inv(T1 a, T2 p);
-
- template <class T1, class T2, class Policy>
- typename tools::promote_args<T1, T2>::type gamma_p_inva(T1 a, T2 p, const Policy&);
-
- template <class T1, class T2>
- typename tools::promote_args<T1, T2>::type gamma_p_inva(T1 a, T2 p);
-
- template <class T1, class T2, class Policy>
- typename tools::promote_args<T1, T2>::type gamma_p_inv(T1 a, T2 p, const Policy&);
-
- template <class T1, class T2>
- typename tools::promote_args<T1, T2>::type gamma_q_inv(T1 a, T2 q);
-
- template <class T1, class T2, class Policy>
- typename tools::promote_args<T1, T2>::type gamma_q_inv(T1 a, T2 q, const Policy&);
-
- template <class T1, class T2>
- typename tools::promote_args<T1, T2>::type gamma_q_inva(T1 a, T2 q);
-
- template <class T1, class T2, class Policy>
- typename tools::promote_args<T1, T2>::type gamma_q_inva(T1 a, T2 q, const Policy&);
-
- // digamma:
- template <class T>
- typename tools::promote_args<T>::type digamma(T x);
-
- template <class T, class Policy>
- typename tools::promote_args<T>::type digamma(T x, const Policy&);
-
- // Hypotenuse function sqrt(x ^ 2 + y ^ 2).
- template <class T1, class T2>
- typename tools::promote_args<T1, T2>::type
- hypot(T1 x, T2 y);
-
- template <class T1, class T2, class Policy>
- typename tools::promote_args<T1, T2>::type
- hypot(T1 x, T2 y, const Policy&);
-
- // cbrt - cube root.
- template <class RT>
- typename tools::promote_args<RT>::type cbrt(RT z);
-
- template <class RT, class Policy>
- typename tools::promote_args<RT>::type cbrt(RT z, const Policy&);
-
- // log1p is log(x + 1)
- template <class T>
- typename tools::promote_args<T>::type log1p(T);
-
- template <class T, class Policy>
- typename tools::promote_args<T>::type log1p(T, const Policy&);
-
- // log1pmx is log(x + 1) - x
- template <class T>
- typename tools::promote_args<T>::type log1pmx(T);
-
- template <class T, class Policy>
- typename tools::promote_args<T>::type log1pmx(T, const Policy&);
-
- // Exp (x) minus 1 functions.
- template <class T>
- typename tools::promote_args<T>::type expm1(T);
-
- template <class T, class Policy>
- typename tools::promote_args<T>::type expm1(T, const Policy&);
-
- // Power - 1
- template <class T1, class T2>
- typename tools::promote_args<T1, T2>::type
- powm1(const T1 a, const T2 z);
-
- template <class T1, class T2, class Policy>
- typename tools::promote_args<T1, T2>::type
- powm1(const T1 a, const T2 z, const Policy&);
-
- // sqrt(1+x) - 1
- template <class T>
- typename tools::promote_args<T>::type sqrt1pm1(const T& val);
-
- template <class T, class Policy>
- typename tools::promote_args<T>::type sqrt1pm1(const T& val, const Policy&);
-
- // sinus cardinals:
- template <class T>
- typename tools::promote_args<T>::type sinc_pi(T x);
-
- template <class T, class Policy>
- typename tools::promote_args<T>::type sinc_pi(T x, const Policy&);
-
- template <class T>
- typename tools::promote_args<T>::type sinhc_pi(T x);
-
- template <class T, class Policy>
- typename tools::promote_args<T>::type sinhc_pi(T x, const Policy&);
-
- // inverse hyperbolics:
- template<typename T>
- typename tools::promote_args<T>::type asinh(T x);
-
- template<typename T, class Policy>
- typename tools::promote_args<T>::type asinh(T x, const Policy&);
-
- template<typename T>
- typename tools::promote_args<T>::type acosh(T x);
-
- template<typename T, class Policy>
- typename tools::promote_args<T>::type acosh(T x, const Policy&);
-
- template<typename T>
- typename tools::promote_args<T>::type atanh(T x);
-
- template<typename T, class Policy>
- typename tools::promote_args<T>::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 <class T1, class T2, class Policy>
- struct bessel_traits
- {
- typedef typename tools::promote_args<
- T1, T2
- >::type result_type;
-
- typedef typename policies::precision<result_type, Policy>::type precision_type;
-
- typedef typename mpl::if_<
- mpl::or_<
- mpl::less_equal<precision_type, mpl::int_<0> >,
- mpl::greater<precision_type, mpl::int_<64> > >,
- bessel_no_int_tag,
- typename mpl::if_<
- is_integral<T1>,
- bessel_int_tag,
- bessel_maybe_int_tag
- >::type
- >::type optimisation_tag;
- };
- } // detail
-
- // Bessel functions:
- template <class T1, class T2, class Policy>
- typename detail::bessel_traits<T1, T2, Policy>::result_type cyl_bessel_j(T1 v, T2 x, const Policy& pol);
-
- template <class T1, class T2>
- typename detail::bessel_traits<T1, T2, policies::policy<> >::result_type cyl_bessel_j(T1 v, T2 x);
-
- template <class T, class Policy>
- typename detail::bessel_traits<T, T, Policy>::result_type sph_bessel(unsigned v, T x, const Policy& pol);
-
- template <class T>
- typename detail::bessel_traits<T, T, policies::policy<> >::result_type sph_bessel(unsigned v, T x);
-
- template <class T1, class T2, class Policy>
- typename detail::bessel_traits<T1, T2, Policy>::result_type cyl_bessel_i(T1 v, T2 x, const Policy& pol);
-
- template <class T1, class T2>
- typename detail::bessel_traits<T1, T2, policies::policy<> >::result_type cyl_bessel_i(T1 v, T2 x);
-
- template <class T1, class T2, class Policy>
- typename detail::bessel_traits<T1, T2, Policy>::result_type cyl_bessel_k(T1 v, T2 x, const Policy& pol);
-
- template <class T1, class T2>
- typename detail::bessel_traits<T1, T2, policies::policy<> >::result_type cyl_bessel_k(T1 v, T2 x);
-
- template <class T1, class T2, class Policy>
- typename detail::bessel_traits<T1, T2, Policy>::result_type cyl_neumann(T1 v, T2 x, const Policy& pol);
-
- template <class T1, class T2>
- typename detail::bessel_traits<T1, T2, policies::policy<> >::result_type cyl_neumann(T1 v, T2 x);
-
- template <class T, class Policy>
- typename detail::bessel_traits<T, T, Policy>::result_type sph_neumann(unsigned v, T x, const Policy& pol);
-
- template <class T>
- typename detail::bessel_traits<T, T, policies::policy<> >::result_type sph_neumann(unsigned v, T x);
-
- template <class T, class Policy>
- typename detail::bessel_traits<T, T, Policy>::result_type cyl_bessel_j_zero(T v, int m, const Policy& pol);
-
- template <class T>
- typename detail::bessel_traits<T, T, policies::policy<> >::result_type cyl_bessel_j_zero(T v, int m);
-
- template <class T, class OutputIterator>
- OutputIterator cyl_bessel_j_zero(T v,
- int start_index,
- unsigned number_of_zeros,
- OutputIterator out_it);
-
- template <class T, class OutputIterator, class Policy>
- OutputIterator cyl_bessel_j_zero(T v,
- int start_index,
- unsigned number_of_zeros,
- OutputIterator out_it,
- const Policy&);
-
- template <class T, class Policy>
- typename detail::bessel_traits<T, T, Policy>::result_type cyl_neumann_zero(T v, int m, const Policy& pol);
-
- template <class T>
- typename detail::bessel_traits<T, T, policies::policy<> >::result_type cyl_neumann_zero(T v, int m);
-
- template <class T, class OutputIterator>
- OutputIterator cyl_neumann_zero(T v,
- int start_index,
- unsigned number_of_zeros,
- OutputIterator out_it);
-
- template <class T, class OutputIterator, class Policy>
- OutputIterator cyl_neumann_zero(T v,
- int start_index,
- unsigned number_of_zeros,
- OutputIterator out_it,
- const Policy&);
-
- template <class T1, class T2>
- std::complex<typename detail::bessel_traits<T1, T2, policies::policy<> >::result_type> cyl_hankel_1(T1 v, T2 x);
-
- template <class T1, class T2, class Policy>
- std::complex<typename detail::bessel_traits<T1, T2, Policy>::result_type> cyl_hankel_1(T1 v, T2 x, const Policy& pol);
-
- template <class T1, class T2, class Policy>
- std::complex<typename detail::bessel_traits<T1, T2, Policy>::result_type> cyl_hankel_2(T1 v, T2 x, const Policy& pol);
-
- template <class T1, class T2>
- std::complex<typename detail::bessel_traits<T1, T2, policies::policy<> >::result_type> cyl_hankel_2(T1 v, T2 x);
-
- template <class T1, class T2, class Policy>
- std::complex<typename detail::bessel_traits<T1, T2, Policy>::result_type> sph_hankel_1(T1 v, T2 x, const Policy& pol);
-
- template <class T1, class T2>
- std::complex<typename detail::bessel_traits<T1, T2, policies::policy<> >::result_type> sph_hankel_1(T1 v, T2 x);
-
- template <class T1, class T2, class Policy>
- std::complex<typename detail::bessel_traits<T1, T2, Policy>::result_type> sph_hankel_2(T1 v, T2 x, const Policy& pol);
-
- template <class T1, class T2>
- std::complex<typename detail::bessel_traits<T1, T2, policies::policy<> >::result_type> sph_hankel_2(T1 v, T2 x);
-
- template <class T, class Policy>
- typename tools::promote_args<T>::type airy_ai(T x, const Policy&);
-
- template <class T>
- typename tools::promote_args<T>::type airy_ai(T x);
-
- template <class T, class Policy>
- typename tools::promote_args<T>::type airy_bi(T x, const Policy&);
-
- template <class T>
- typename tools::promote_args<T>::type airy_bi(T x);
-
- template <class T, class Policy>
- typename tools::promote_args<T>::type airy_ai_prime(T x, const Policy&);
-
- template <class T>
- typename tools::promote_args<T>::type airy_ai_prime(T x);
-
- template <class T, class Policy>
- typename tools::promote_args<T>::type airy_bi_prime(T x, const Policy&);
-
- template <class T>
- typename tools::promote_args<T>::type airy_bi_prime(T x);
-
- template <class T>
- T airy_ai_zero(unsigned m);
- template <class T, class Policy>
- T airy_ai_zero(unsigned m, const Policy&);
-
- template <class OutputIterator>
- OutputIterator airy_ai_zero(
- unsigned start_index,
- unsigned number_of_zeros,
- OutputIterator out_it);
- template <class OutputIterator, class Policy>
- OutputIterator airy_ai_zero(
- unsigned start_index,
- unsigned number_of_zeros,
- OutputIterator out_it,
- const Policy&);
-
- template <class T>
- T airy_bi_zero(unsigned m);
- template <class T, class Policy>
- T airy_bi_zero(unsigned m, const Policy&);
-
- template <class OutputIterator>
- OutputIterator airy_bi_zero(
- unsigned start_index,
- unsigned number_of_zeros,
- OutputIterator out_it);
- template <class OutputIterator, class Policy>
- OutputIterator airy_bi_zero(
- unsigned start_index,
- unsigned number_of_zeros,
- OutputIterator out_it,
- const Policy&);
-
- template <class T, class Policy>
- typename tools::promote_args<T>::type sin_pi(T x, const Policy&);
-
- template <class T>
- typename tools::promote_args<T>::type sin_pi(T x);
-
- template <class T, class Policy>
- typename tools::promote_args<T>::type cos_pi(T x, const Policy&);
-
- template <class T>
- typename tools::promote_args<T>::type cos_pi(T x);
-
- template <class T>
- int fpclassify BOOST_NO_MACRO_EXPAND(T t);
-
- template <class T>
- bool isfinite BOOST_NO_MACRO_EXPAND(T z);
-
- template <class T>
- bool isinf BOOST_NO_MACRO_EXPAND(T t);
-
- template <class T>
- bool isnan BOOST_NO_MACRO_EXPAND(T t);
-
- template <class T>
- bool isnormal BOOST_NO_MACRO_EXPAND(T t);
-
- template<class T>
- int signbit BOOST_NO_MACRO_EXPAND(T x);
-
- template <class T>
- int sign BOOST_NO_MACRO_EXPAND(const T& z);
-
- template <class T, class U>
- typename tools::promote_args_permissive<T, U>::type copysign BOOST_NO_MACRO_EXPAND(const T& x, const U& y);
-
- template <class T>
- typename tools::promote_args_permissive<T>::type changesign BOOST_NO_MACRO_EXPAND(const T& z);
-
- // Exponential integrals:
- namespace detail{
-
- template <class T, class U>
- struct expint_result
- {
- typedef typename mpl::if_<
- policies::is_policy<U>,
- typename tools::promote_args<T>::type,
- typename tools::promote_args<U>::type
- >::type type;
- };
-
- } // namespace detail
-
- template <class T, class Policy>
- typename tools::promote_args<T>::type expint(unsigned n, T z, const Policy&);
-
- template <class T, class U>
- typename detail::expint_result<T, U>::type expint(T const z, U const u);
-
- template <class T>
- typename tools::promote_args<T>::type expint(T z);
-
- // Zeta:
- template <class T, class Policy>
- typename tools::promote_args<T>::type zeta(T s, const Policy&);
-
- // Owen's T function:
- template <class T1, class T2, class Policy>
- typename tools::promote_args<T1, T2>::type owens_t(T1 h, T2 a, const Policy& pol);
-
- template <class T1, class T2>
- typename tools::promote_args<T1, T2>::type owens_t(T1 h, T2 a);
-
- // Jacobi Functions:
- template <class T, class U, class V, class Policy>
- typename tools::promote_args<T, U, V>::type jacobi_elliptic(T k, U theta, V* pcn, V* pdn, const Policy&);
-
- template <class T, class U, class V>
- typename tools::promote_args<T, U, V>::type jacobi_elliptic(T k, U theta, V* pcn = 0, V* pdn = 0);
-
- template <class U, class T, class Policy>
- typename tools::promote_args<T, U>::type jacobi_sn(U k, T theta, const Policy& pol);
-
- template <class U, class T>
- typename tools::promote_args<T, U>::type jacobi_sn(U k, T theta);
-
- template <class T, class U, class Policy>
- typename tools::promote_args<T, U>::type jacobi_cn(T k, U theta, const Policy& pol);
-
- template <class T, class U>
- typename tools::promote_args<T, U>::type jacobi_cn(T k, U theta);
-
- template <class T, class U, class Policy>
- typename tools::promote_args<T, U>::type jacobi_dn(T k, U theta, const Policy& pol);
-
- template <class T, class U>
- typename tools::promote_args<T, U>::type jacobi_dn(T k, U theta);
-
- template <class T, class U, class Policy>
- typename tools::promote_args<T, U>::type jacobi_cd(T k, U theta, const Policy& pol);
-
- template <class T, class U>
- typename tools::promote_args<T, U>::type jacobi_cd(T k, U theta);
-
- template <class T, class U, class Policy>
- typename tools::promote_args<T, U>::type jacobi_dc(T k, U theta, const Policy& pol);
-
- template <class T, class U>
- typename tools::promote_args<T, U>::type jacobi_dc(T k, U theta);
-
- template <class T, class U, class Policy>
- typename tools::promote_args<T, U>::type jacobi_ns(T k, U theta, const Policy& pol);
-
- template <class T, class U>
- typename tools::promote_args<T, U>::type jacobi_ns(T k, U theta);
-
- template <class T, class U, class Policy>
- typename tools::promote_args<T, U>::type jacobi_sd(T k, U theta, const Policy& pol);
-
- template <class T, class U>
- typename tools::promote_args<T, U>::type jacobi_sd(T k, U theta);
-
- template <class T, class U, class Policy>
- typename tools::promote_args<T, U>::type jacobi_ds(T k, U theta, const Policy& pol);
-
- template <class T, class U>
- typename tools::promote_args<T, U>::type jacobi_ds(T k, U theta);
-
- template <class T, class U, class Policy>
- typename tools::promote_args<T, U>::type jacobi_nc(T k, U theta, const Policy& pol);
-
- template <class T, class U>
- typename tools::promote_args<T, U>::type jacobi_nc(T k, U theta);
-
- template <class T, class U, class Policy>
- typename tools::promote_args<T, U>::type jacobi_nd(T k, U theta, const Policy& pol);
-
- template <class T, class U>
- typename tools::promote_args<T, U>::type jacobi_nd(T k, U theta);
-
- template <class T, class U, class Policy>
- typename tools::promote_args<T, U>::type jacobi_sc(T k, U theta, const Policy& pol);
-
- template <class T, class U>
- typename tools::promote_args<T, U>::type jacobi_sc(T k, U theta);
-
- template <class T, class U, class Policy>
- typename tools::promote_args<T, U>::type jacobi_cs(T k, U theta, const Policy& pol);
-
- template <class T, class U>
- typename tools::promote_args<T, U>::type jacobi_cs(T k, U theta);
-
-
- template <class T>
- typename tools::promote_args<T>::type zeta(T s);
-
- // pow:
- template <int N, typename T, class Policy>
- typename tools::promote_args<T>::type pow(T base, const Policy& policy);
-
- template <int N, typename T>
- typename tools::promote_args<T>::type pow(T base);
-
- // next:
- template <class T, class U, class Policy>
- typename tools::promote_args<T, U>::type nextafter(const T&, const U&, const Policy&);
- template <class T, class U>
- typename tools::promote_args<T, U>::type nextafter(const T&, const U&);
- template <class T, class Policy>
- typename tools::promote_args<T>::type float_next(const T&, const Policy&);
- template <class T>
- typename tools::promote_args<T>::type float_next(const T&);
- template <class T, class Policy>
- typename tools::promote_args<T>::type float_prior(const T&, const Policy&);
- template <class T>
- typename tools::promote_args<T>::type float_prior(const T&);
- template <class T, class U, class Policy>
- typename tools::promote_args<T, U>::type float_distance(const T&, const U&, const Policy&);
- template <class T, class U>
- typename tools::promote_args<T, U>::type float_distance(const T&, const U&);
- template <class T, class Policy>
- typename tools::promote_args<T>::type float_advance(T val, int distance, const Policy& pol);
- template <class T>
- typename tools::promote_args<T>::type float_advance(const T& val, int distance);
-
- } // namespace math
-} // namespace boost
-
-#ifdef BOOST_HAS_LONG_LONG
-#define BOOST_MATH_DETAIL_LL_FUNC(Policy)\
- \
- template <class T>\
- inline T modf(const T& v, boost::long_long_type* ipart){ using boost::math::modf; return modf(v, ipart, Policy()); }\
- \
- template <class T>\
- inline boost::long_long_type lltrunc(const T& v){ using boost::math::lltrunc; return lltrunc(v, Policy()); }\
- \
- template <class T>\
- 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 <class RT1, class RT2>\
- inline typename boost::math::tools::promote_args<RT1, RT2>::type \
- beta(RT1 a, RT2 b) { return ::boost::math::beta(a, b, Policy()); }\
-\
- template <class RT1, class RT2, class A>\
- inline typename boost::math::tools::promote_args<RT1, RT2, A>::type \
- beta(RT1 a, RT2 b, A x){ return ::boost::math::beta(a, b, x, Policy()); }\
-\
- template <class RT1, class RT2, class RT3>\
- inline typename boost::math::tools::promote_args<RT1, RT2, RT3>::type \
- betac(RT1 a, RT2 b, RT3 x) { return ::boost::math::betac(a, b, x, Policy()); }\
-\
- template <class RT1, class RT2, class RT3>\
- inline typename boost::math::tools::promote_args<RT1, RT2, RT3>::type \
- ibeta(RT1 a, RT2 b, RT3 x){ return ::boost::math::ibeta(a, b, x, Policy()); }\
-\
- template <class RT1, class RT2, class RT3>\
- inline typename boost::math::tools::promote_args<RT1, RT2, RT3>::type \
- ibetac(RT1 a, RT2 b, RT3 x){ return ::boost::math::ibetac(a, b, x, Policy()); }\
-\
- template <class T1, class T2, class T3, class T4>\
- inline typename boost::math::tools::promote_args<T1, T2, T3, T4>::type \
- ibeta_inv(T1 a, T2 b, T3 p, T4* py){ return ::boost::math::ibeta_inv(a, b, p, py, Policy()); }\
-\
- template <class RT1, class RT2, class RT3>\
- inline typename boost::math::tools::promote_args<RT1, RT2, RT3>::type \
- ibeta_inv(RT1 a, RT2 b, RT3 p){ return ::boost::math::ibeta_inv(a, b, p, Policy()); }\
-\
- template <class T1, class T2, class T3, class T4>\
- inline typename boost::math::tools::promote_args<T1, T2, T3, T4>::type \
- ibetac_inv(T1 a, T2 b, T3 q, T4* py){ return ::boost::math::ibetac_inv(a, b, q, py, Policy()); }\
-\
- template <class RT1, class RT2, class RT3>\
- inline typename boost::math::tools::promote_args<RT1, RT2, RT3>::type \
- ibeta_inva(RT1 a, RT2 b, RT3 p){ return ::boost::math::ibeta_inva(a, b, p, Policy()); }\
-\
- template <class T1, class T2, class T3>\
- inline typename boost::math::tools::promote_args<T1, T2, T3>::type \
- ibetac_inva(T1 a, T2 b, T3 q){ return ::boost::math::ibetac_inva(a, b, q, Policy()); }\
-\
- template <class RT1, class RT2, class RT3>\
- inline typename boost::math::tools::promote_args<RT1, RT2, RT3>::type \
- ibeta_invb(RT1 a, RT2 b, RT3 p){ return ::boost::math::ibeta_invb(a, b, p, Policy()); }\
-\
- template <class T1, class T2, class T3>\
- inline typename boost::math::tools::promote_args<T1, T2, T3>::type \
- ibetac_invb(T1 a, T2 b, T3 q){ return ::boost::math::ibetac_invb(a, b, q, Policy()); }\
-\
- template <class RT1, class RT2, class RT3>\
- inline typename boost::math::tools::promote_args<RT1, RT2, RT3>::type \
- ibetac_inv(RT1 a, RT2 b, RT3 q){ return ::boost::math::ibetac_inv(a, b, q, Policy()); }\
-\
- template <class RT1, class RT2, class RT3>\
- inline typename boost::math::tools::promote_args<RT1, RT2, RT3>::type \
- ibeta_derivative(RT1 a, RT2 b, RT3 x){ return ::boost::math::ibeta_derivative(a, b, x, Policy()); }\
-\
- template <class RT>\
- inline typename boost::math::tools::promote_args<RT>::type erf(RT z) { return ::boost::math::erf(z, Policy()); }\
-\
- template <class RT>\
- inline typename boost::math::tools::promote_args<RT>::type erfc(RT z){ return ::boost::math::erfc(z, Policy()); }\
-\
- template <class RT>\
- inline typename boost::math::tools::promote_args<RT>::type erf_inv(RT z) { return ::boost::math::erf_inv(z, Policy()); }\
-\
- template <class RT>\
- inline typename boost::math::tools::promote_args<RT>::type erfc_inv(RT z){ return ::boost::math::erfc_inv(z, Policy()); }\
-\
- using boost::math::legendre_next;\
-\
- template <class T>\
- inline typename boost::math::tools::promote_args<T>::type \
- legendre_p(int l, T x){ return ::boost::math::legendre_p(l, x, Policy()); }\
-\
- template <class T>\
- inline typename boost::math::tools::promote_args<T>::type \
- legendre_q(unsigned l, T x){ return ::boost::math::legendre_q(l, x, Policy()); }\
-\
- using ::boost::math::legendre_next;\
-\
- template <class T>\
- inline typename boost::math::tools::promote_args<T>::type \
- legendre_p(int l, int m, T x){ return ::boost::math::legendre_p(l, m, x, Policy()); }\
-\
- using ::boost::math::laguerre_next;\
-\
- template <class T>\
- inline typename boost::math::tools::promote_args<T>::type \
- laguerre(unsigned n, T x){ return ::boost::math::laguerre(n, x, Policy()); }\
-\
- template <class T1, class T2>\
- inline typename boost::math::laguerre_result<T1, T2>::type \
- laguerre(unsigned n, T1 m, T2 x) { return ::boost::math::laguerre(n, m, x, Policy()); }\
-\
- template <class T>\
- inline typename boost::math::tools::promote_args<T>::type \
- hermite(unsigned n, T x){ return ::boost::math::hermite(n, x, Policy()); }\
-\
- using boost::math::hermite_next;\
-\
- template <class T1, class T2>\
- inline std::complex<typename boost::math::tools::promote_args<T1, T2>::type> \
- spherical_harmonic(unsigned n, int m, T1 theta, T2 phi){ return boost::math::spherical_harmonic(n, m, theta, phi, Policy()); }\
-\
- template <class T1, class T2>\
- inline typename boost::math::tools::promote_args<T1, T2>::type \
- spherical_harmonic_r(unsigned n, int m, T1 theta, T2 phi){ return ::boost::math::spherical_harmonic_r(n, m, theta, phi, Policy()); }\
-\
- template <class T1, class T2>\
- inline typename boost::math::tools::promote_args<T1, T2>::type \
- spherical_harmonic_i(unsigned n, int m, T1 theta, T2 phi){ return boost::math::spherical_harmonic_i(n, m, theta, phi, Policy()); }\
-\
- template <class T1, class T2, class Policy>\
- inline typename boost::math::tools::promote_args<T1, T2>::type \
- spherical_harmonic_i(unsigned n, int m, T1 theta, T2 phi, const Policy& pol);\
-\
- template <class T1, class T2, class T3>\
- inline typename boost::math::tools::promote_args<T1, T2, T3>::type \
- ellint_rf(T1 x, T2 y, T3 z){ return ::boost::math::ellint_rf(x, y, z, Policy()); }\
-\
- template <class T1, class T2, class T3>\
- inline typename boost::math::tools::promote_args<T1, T2, T3>::type \
- ellint_rd(T1 x, T2 y, T3 z){ return ::boost::math::ellint_rd(x, y, z, Policy()); }\
-\
- template <class T1, class T2>\
- inline typename boost::math::tools::promote_args<T1, T2>::type \
- ellint_rc(T1 x, T2 y){ return ::boost::math::ellint_rc(x, y, Policy()); }\
-\
- template <class T1, class T2, class T3, class T4>\
- inline typename boost::math::tools::promote_args<T1, T2, T3, T4>::type \
- ellint_rj(T1 x, T2 y, T3 z, T4 p){ return boost::math::ellint_rj(x, y, z, p, Policy()); }\
-\
- template <typename T>\
- inline typename boost::math::tools::promote_args<T>::type ellint_2(T k){ return boost::math::ellint_2(k, Policy()); }\
-\
- template <class T1, class T2>\
- inline typename boost::math::tools::promote_args<T1, T2>::type ellint_2(T1 k, T2 phi){ return boost::math::ellint_2(k, phi, Policy()); }\
-\
- template <typename T>\
- inline typename boost::math::tools::promote_args<T>::type ellint_1(T k){ return boost::math::ellint_1(k, Policy()); }\
-\
- template <class T1, class T2>\
- inline typename boost::math::tools::promote_args<T1, T2>::type ellint_1(T1 k, T2 phi){ return boost::math::ellint_1(k, phi, Policy()); }\
-\
- template <class T1, class T2, class T3>\
- inline typename boost::math::tools::promote_args<T1, T2, T3>::type ellint_3(T1 k, T2 v, T3 phi){ return boost::math::ellint_3(k, v, phi, Policy()); }\
-\
- template <class T1, class T2>\
- inline typename boost::math::tools::promote_args<T1, T2>::type ellint_3(T1 k, T2 v){ return boost::math::ellint_3(k, v, Policy()); }\
-\
- using boost::math::max_factorial;\
- template <class RT>\
- inline RT factorial(unsigned int i) { return boost::math::factorial<RT>(i, Policy()); }\
- using boost::math::unchecked_factorial;\
- template <class RT>\
- inline RT double_factorial(unsigned i){ return boost::math::double_factorial<RT>(i, Policy()); }\
- template <class RT>\
- inline typename boost::math::tools::promote_args<RT>::type falling_factorial(RT x, unsigned n){ return boost::math::falling_factorial(x, n, Policy()); }\
- template <class RT>\
- inline typename boost::math::tools::promote_args<RT>::type rising_factorial(RT x, unsigned n){ return boost::math::rising_factorial(x, n, Policy()); }\
-\
- template <class RT>\
- inline typename boost::math::tools::promote_args<RT>::type tgamma(RT z){ return boost::math::tgamma(z, Policy()); }\
-\
- template <class RT>\
- inline typename boost::math::tools::promote_args<RT>::type tgamma1pm1(RT z){ return boost::math::tgamma1pm1(z, Policy()); }\
-\
- template <class RT1, class RT2>\
- inline typename boost::math::tools::promote_args<RT1, RT2>::type tgamma(RT1 a, RT2 z){ return boost::math::tgamma(a, z, Policy()); }\
-\
- template <class RT>\
- inline typename boost::math::tools::promote_args<RT>::type lgamma(RT z, int* sign){ return boost::math::lgamma(z, sign, Policy()); }\
-\
- template <class RT>\
- inline typename boost::math::tools::promote_args<RT>::type lgamma(RT x){ return boost::math::lgamma(x, Policy()); }\
-\
- template <class RT1, class RT2>\
- inline typename boost::math::tools::promote_args<RT1, RT2>::type tgamma_lower(RT1 a, RT2 z){ return boost::math::tgamma_lower(a, z, Policy()); }\
-\
- template <class RT1, class RT2>\
- inline typename boost::math::tools::promote_args<RT1, RT2>::type gamma_q(RT1 a, RT2 z){ return boost::math::gamma_q(a, z, Policy()); }\
-\
- template <class RT1, class RT2>\
- inline typename boost::math::tools::promote_args<RT1, RT2>::type gamma_p(RT1 a, RT2 z){ return boost::math::gamma_p(a, z, Policy()); }\
-\
- template <class T1, class T2>\
- inline typename boost::math::tools::promote_args<T1, T2>::type tgamma_delta_ratio(T1 z, T2 delta){ return boost::math::tgamma_delta_ratio(z, delta, Policy()); }\
-\
- template <class T1, class T2>\
- inline typename boost::math::tools::promote_args<T1, T2>::type tgamma_ratio(T1 a, T2 b) { return boost::math::tgamma_ratio(a, b, Policy()); }\
-\
- template <class T1, class T2>\
- inline typename boost::math::tools::promote_args<T1, T2>::type gamma_p_derivative(T1 a, T2 x){ return boost::math::gamma_p_derivative(a, x, Policy()); }\
-\
- template <class T1, class T2>\
- inline typename boost::math::tools::promote_args<T1, T2>::type gamma_p_inv(T1 a, T2 p){ return boost::math::gamma_p_inv(a, p, Policy()); }\
-\
- template <class T1, class T2>\
- inline typename boost::math::tools::promote_args<T1, T2>::type gamma_p_inva(T1 a, T2 p){ return boost::math::gamma_p_inva(a, p, Policy()); }\
-\
- template <class T1, class T2>\
- inline typename boost::math::tools::promote_args<T1, T2>::type gamma_q_inv(T1 a, T2 q){ return boost::math::gamma_q_inv(a, q, Policy()); }\
-\
- template <class T1, class T2>\
- inline typename boost::math::tools::promote_args<T1, T2>::type gamma_q_inva(T1 a, T2 q){ return boost::math::gamma_q_inva(a, q, Policy()); }\
-\
- template <class T>\
- inline typename boost::math::tools::promote_args<T>::type digamma(T x){ return boost::math::digamma(x, Policy()); }\
-\
- template <class T1, class T2>\
- inline typename boost::math::tools::promote_args<T1, T2>::type \
- hypot(T1 x, T2 y){ return boost::math::hypot(x, y, Policy()); }\
-\
- template <class RT>\
- inline typename boost::math::tools::promote_args<RT>::type cbrt(RT z){ return boost::math::cbrt(z, Policy()); }\
-\
- template <class T>\
- inline typename boost::math::tools::promote_args<T>::type log1p(T x){ return boost::math::log1p(x, Policy()); }\
-\
- template <class T>\
- inline typename boost::math::tools::promote_args<T>::type log1pmx(T x){ return boost::math::log1pmx(x, Policy()); }\
-\
- template <class T>\
- inline typename boost::math::tools::promote_args<T>::type expm1(T x){ return boost::math::expm1(x, Policy()); }\
-\
- template <class T1, class T2>\
- inline typename boost::math::tools::promote_args<T1, T2>::type \
- powm1(const T1 a, const T2 z){ return boost::math::powm1(a, z, Policy()); }\
-\
- template <class T>\
- inline typename boost::math::tools::promote_args<T>::type sqrt1pm1(const T& val){ return boost::math::sqrt1pm1(val, Policy()); }\
-\
- template <class T>\
- inline typename boost::math::tools::promote_args<T>::type sinc_pi(T x){ return boost::math::sinc_pi(x, Policy()); }\
-\
- template <class T>\
- inline typename boost::math::tools::promote_args<T>::type sinhc_pi(T x){ return boost::math::sinhc_pi(x, Policy()); }\
-\
- template<typename T>\
- inline typename boost::math::tools::promote_args<T>::type asinh(const T x){ return boost::math::asinh(x, Policy()); }\
-\
- template<typename T>\
- inline typename boost::math::tools::promote_args<T>::type acosh(const T x){ return boost::math::acosh(x, Policy()); }\
-\
- template<typename T>\
- inline typename boost::math::tools::promote_args<T>::type atanh(const T x){ return boost::math::atanh(x, Policy()); }\
-\
- template <class T1, class T2>\
- inline typename boost::math::detail::bessel_traits<T1, T2, Policy >::result_type cyl_bessel_j(T1 v, T2 x)\
- { return boost::math::cyl_bessel_j(v, x, Policy()); }\
-\
- template <class T>\
- inline typename boost::math::detail::bessel_traits<T, T, Policy >::result_type sph_bessel(unsigned v, T x)\
- { return boost::math::sph_bessel(v, x, Policy()); }\
-\
- template <class T1, class T2>\
- inline typename boost::math::detail::bessel_traits<T1, T2, Policy >::result_type \
- cyl_bessel_i(T1 v, T2 x) { return boost::math::cyl_bessel_i(v, x, Policy()); }\
-\
- template <class T1, class T2>\
- inline typename boost::math::detail::bessel_traits<T1, T2, Policy >::result_type \
- cyl_bessel_k(T1 v, T2 x) { return boost::math::cyl_bessel_k(v, x, Policy()); }\
-\
- template <class T1, class T2>\
- inline typename boost::math::detail::bessel_traits<T1, T2, Policy >::result_type \
- cyl_neumann(T1 v, T2 x){ return boost::math::cyl_neumann(v, x, Policy()); }\
-\
- template <class T>\
- inline typename boost::math::detail::bessel_traits<T, T, Policy >::result_type \
- sph_neumann(unsigned v, T x){ return boost::math::sph_neumann(v, x, Policy()); }\
-\
- template <class T>\
- inline typename boost::math::detail::bessel_traits<T, T, Policy >::result_type cyl_bessel_j_zero(T v, int m)\
- { return boost::math::cyl_bessel_j_zero(v, m, Policy()); }\
-\
-template <class OutputIterator, class T>\
- 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 <class T>\
- inline typename boost::math::detail::bessel_traits<T, T, Policy >::result_type cyl_neumann_zero(T v, int m)\
- { return boost::math::cyl_neumann_zero(v, m, Policy()); }\
-\
-template <class OutputIterator, class T>\
- 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 <class T>\
- inline typename boost::math::tools::promote_args<T>::type sin_pi(T x){ return boost::math::sin_pi(x); }\
-\
- template <class T>\
- inline typename boost::math::tools::promote_args<T>::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 <class T, class U>\
- inline typename boost::math::tools::promote_args<T,U>::type expint(T const& z, U const& u)\
- { return boost::math::expint(z, u, Policy()); }\
- \
- template <class T>\
- inline typename boost::math::tools::promote_args<T>::type expint(T z){ return boost::math::expint(z, Policy()); }\
- \
- template <class T>\
- inline typename boost::math::tools::promote_args<T>::type zeta(T s){ return boost::math::zeta(s, Policy()); }\
- \
- template <class T>\
- inline T round(const T& v){ using boost::math::round; return round(v, Policy()); }\
- \
- template <class T>\
- inline int iround(const T& v){ using boost::math::iround; return iround(v, Policy()); }\
- \
- template <class T>\
- inline long lround(const T& v){ using boost::math::lround; return lround(v, Policy()); }\
- \
- template <class T>\
- inline T trunc(const T& v){ using boost::math::trunc; return trunc(v, Policy()); }\
- \
- template <class T>\
- inline int itrunc(const T& v){ using boost::math::itrunc; return itrunc(v, Policy()); }\
- \
- template <class T>\
- inline long ltrunc(const T& v){ using boost::math::ltrunc; return ltrunc(v, Policy()); }\
- \
- template <class T>\
- inline T modf(const T& v, T* ipart){ using boost::math::modf; return modf(v, ipart, Policy()); }\
- \
- template <class T>\
- inline T modf(const T& v, int* ipart){ using boost::math::modf; return modf(v, ipart, Policy()); }\
- \
- template <class T>\
- inline T modf(const T& v, long* ipart){ using boost::math::modf; return modf(v, ipart, Policy()); }\
- \
- template <int N, class T>\
- inline typename boost::math::tools::promote_args<T>::type pow(T v){ return boost::math::pow<N>(v, Policy()); }\
- \
- template <class T> T nextafter(const T& a, const T& b){ return boost::math::nextafter(a, b, Policy()); }\
- template <class T> T float_next(const T& a){ return boost::math::float_next(a, Policy()); }\
- template <class T> T float_prior(const T& a){ return boost::math::float_prior(a, Policy()); }\
- template <class T> T float_distance(const T& a, const T& b){ return boost::math::float_distance(a, b, Policy()); }\
- \
- template <class RT1, class RT2>\
- inline typename boost::math::tools::promote_args<RT1, RT2>::type owens_t(RT1 a, RT2 z){ return boost::math::owens_t(a, z, Policy()); }\
- \
- template <class T1, class T2>\
- inline std::complex<typename boost::math::detail::bessel_traits<T1, T2, Policy >::result_type> cyl_hankel_1(T1 v, T2 x)\
- { return boost::math::cyl_hankel_1(v, x, Policy()); }\
- \
- template <class T1, class T2>\
- inline std::complex<typename boost::math::detail::bessel_traits<T1, T2, Policy >::result_type> cyl_hankel_2(T1 v, T2 x)\
- { return boost::math::cyl_hankel_2(v, x, Policy()); }\
- \
- template <class T1, class T2>\
- inline std::complex<typename boost::math::detail::bessel_traits<T1, T2, Policy >::result_type> sph_hankel_1(T1 v, T2 x)\
- { return boost::math::sph_hankel_1(v, x, Policy()); }\
- \
- template <class T1, class T2>\
- inline std::complex<typename boost::math::detail::bessel_traits<T1, T2, Policy >::result_type> sph_hankel_2(T1 v, T2 x)\
- { return boost::math::sph_hankel_2(v, x, Policy()); }\
- \
- template <class T>\
- inline typename boost::math::tools::promote_args<T>::type jacobi_elliptic(T k, T theta, T* pcn, T* pdn)\
- { return boost::math::jacobi_elliptic(k, theta, pcn, pdn, Policy()); }\
- \
- template <class U, class T>\
- inline typename boost::math::tools::promote_args<T, U>::type jacobi_sn(U k, T theta)\
- { return boost::math::jacobi_sn(k, theta, Policy()); }\
- \
- template <class T, class U>\
- inline typename boost::math::tools::promote_args<T, U>::type jacobi_cn(T k, U theta)\
- { return boost::math::jacobi_cn(k, theta, Policy()); }\
- \
- template <class T, class U>\
- inline typename boost::math::tools::promote_args<T, U>::type jacobi_dn(T k, U theta)\
- { return boost::math::jacobi_dn(k, theta, Policy()); }\
- \
- template <class T, class U>\
- inline typename boost::math::tools::promote_args<T, U>::type jacobi_cd(T k, U theta)\
- { return boost::math::jacobi_cd(k, theta, Policy()); }\
- \
- template <class T, class U>\
- inline typename boost::math::tools::promote_args<T, U>::type jacobi_dc(T k, U theta)\
- { return boost::math::jacobi_dc(k, theta, Policy()); }\
- \
- template <class T, class U>\
- inline typename boost::math::tools::promote_args<T, U>::type jacobi_ns(T k, U theta)\
- { return boost::math::jacobi_ns(k, theta, Policy()); }\
- \
- template <class T, class U>\
- inline typename boost::math::tools::promote_args<T, U>::type jacobi_sd(T k, U theta)\
- { return boost::math::jacobi_sd(k, theta, Policy()); }\
- \
- template <class T, class U>\
- inline typename boost::math::tools::promote_args<T, U>::type jacobi_ds(T k, U theta)\
- { return boost::math::jacobi_ds(k, theta, Policy()); }\
- \
- template <class T, class U>\
- inline typename boost::math::tools::promote_args<T, U>::type jacobi_nc(T k, U theta)\
- { return boost::math::jacobi_nc(k, theta, Policy()); }\
- \
- template <class T, class U>\
- inline typename boost::math::tools::promote_args<T, U>::type jacobi_nd(T k, U theta)\
- { return boost::math::jacobi_nd(k, theta, Policy()); }\
- \
- template <class T, class U>\
- inline typename boost::math::tools::promote_args<T, U>::type jacobi_sc(T k, U theta)\
- { return boost::math::jacobi_sc(k, theta, Policy()); }\
- \
- template <class T, class U>\
- inline typename boost::math::tools::promote_args<T, U>::type jacobi_cs(T k, U theta)\
- { return boost::math::jacobi_cs(k, theta, Policy()); }\
- \
- template <class T>\
- inline typename boost::math::tools::promote_args<T>::type airy_ai(T x)\
- { return boost::math::airy_ai(x, Policy()); }\
- \
- template <class T>\
- inline typename boost::math::tools::promote_args<T>::type airy_bi(T x)\
- { return boost::math::airy_bi(x, Policy()); }\
- \
- template <class T>\
- inline typename boost::math::tools::promote_args<T>::type airy_ai_prime(T x)\
- { return boost::math::airy_ai_prime(x, Policy()); }\
- \
- template <class T>\
- inline typename boost::math::tools::promote_args<T>::type airy_bi_prime(T x)\
- { return boost::math::airy_bi_prime(x, Policy()); }\
- \
- template <class T>\
- inline T airy_ai_zero(int m)\
- { return boost::math::airy_ai_zero<T>(m, Policy()); }\
- template <class T, class OutputIterator>\
- OutputIterator airy_ai_zero(int start_index, unsigned number_of_zeros, OutputIterator out_it)\
- { return boost::math::airy_ai_zero<T>(start_index, number_of_zeros, out_it, Policy()); }\
- \
- template <class T>\
- inline T airy_bi_zero(int m)\
- { return boost::math::airy_bi_zero<T>(m, Policy()); }\
- template <class T, class OutputIterator>\
- OutputIterator airy_bi_zero(int start_index, unsigned number_of_zeros, OutputIterator out_it)\
- { return boost::math::airy_bi_zero<T>(start_index, number_of_zeros, out_it, Policy()); }\
- \
-
-
-
-
-
-#endif // BOOST_MATH_SPECIAL_MATH_FWD_HPP
-
-
diff --git a/boost/math/special_functions/modf.hpp b/boost/math/special_functions/modf.hpp
deleted file mode 100644
index 48b15fe..0000000
--- a/boost/math/special_functions/modf.hpp
+++ /dev/null
@@ -1,70 +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)
-
-#ifndef BOOST_MATH_MODF_HPP
-#define BOOST_MATH_MODF_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/math/tools/config.hpp>
-#include <boost/math/special_functions/trunc.hpp>
-
-namespace boost{ namespace math{
-
-template <class T, class Policy>
-inline T modf(const T& v, T* ipart, const Policy& pol)
-{
- *ipart = trunc(v, pol);
- return v - *ipart;
-}
-template <class T>
-inline T modf(const T& v, T* ipart)
-{
- return modf(v, ipart, policies::policy<>());
-}
-
-template <class T, class Policy>
-inline T modf(const T& v, int* ipart, const Policy& pol)
-{
- *ipart = itrunc(v, pol);
- return v - *ipart;
-}
-template <class T>
-inline T modf(const T& v, int* ipart)
-{
- return modf(v, ipart, policies::policy<>());
-}
-
-template <class T, class Policy>
-inline T modf(const T& v, long* ipart, const Policy& pol)
-{
- *ipart = ltrunc(v, pol);
- return v - *ipart;
-}
-template <class T>
-inline T modf(const T& v, long* ipart)
-{
- return modf(v, ipart, policies::policy<>());
-}
-
-#ifdef BOOST_HAS_LONG_LONG
-template <class T, class Policy>
-inline T modf(const T& v, boost::long_long_type* ipart, const Policy& pol)
-{
- *ipart = lltrunc(v, pol);
- return v - *ipart;
-}
-template <class T>
-inline T modf(const T& v, boost::long_long_type* ipart)
-{
- return modf(v, ipart, policies::policy<>());
-}
-#endif
-
-}} // namespaces
-
-#endif // BOOST_MATH_MODF_HPP
diff --git a/boost/math/special_functions/next.hpp b/boost/math/special_functions/next.hpp
deleted file mode 100644
index 38f5216..0000000
--- a/boost/math/special_functions/next.hpp
+++ /dev/null
@@ -1,490 +0,0 @@
-// (C) Copyright John Maddock 2008.
-// 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_SPECIAL_NEXT_HPP
-#define BOOST_MATH_SPECIAL_NEXT_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/math/policies/error_handling.hpp>
-#include <boost/math/special_functions/fpclassify.hpp>
-#include <boost/math/special_functions/sign.hpp>
-#include <boost/math/special_functions/trunc.hpp>
-
-#ifdef BOOST_MSVC
-#include <float.h>
-#endif
-
-namespace boost{ namespace math{
-
-namespace detail{
-
-template <class T>
-inline T get_smallest_value(mpl::true_ const&)
-{
- //
- // numeric_limits lies about denorms being present - particularly
- // when this can be turned on or off at runtime, as is the case
- // when using the SSE2 registers in DAZ or FTZ mode.
- //
- static const T m = std::numeric_limits<T>::denorm_min();
- return ((tools::min_value<T>() - m) == tools::min_value<T>()) ? tools::min_value<T>() : m;
-}
-
-template <class T>
-inline T get_smallest_value(mpl::false_ const&)
-{
- return tools::min_value<T>();
-}
-
-template <class T>
-inline T get_smallest_value()
-{
-#if defined(BOOST_MSVC) && (BOOST_MSVC <= 1310)
- return get_smallest_value<T>(mpl::bool_<std::numeric_limits<T>::is_specialized && (std::numeric_limits<T>::has_denorm == 1)>());
-#else
- return get_smallest_value<T>(mpl::bool_<std::numeric_limits<T>::is_specialized && (std::numeric_limits<T>::has_denorm == std::denorm_present)>());
-#endif
-}
-
-//
-// Returns the smallest value that won't generate denorms when
-// we calculate the value of the least-significant-bit:
-//
-template <class T>
-T get_min_shift_value();
-
-template <class T>
-struct min_shift_initializer
-{
- struct init
- {
- init()
- {
- do_init();
- }
- static void do_init()
- {
- get_min_shift_value<T>();
- }
- void force_instantiate()const{}
- };
- static const init initializer;
- static void force_instantiate()
- {
- initializer.force_instantiate();
- }
-};
-
-template <class T>
-const typename min_shift_initializer<T>::init min_shift_initializer<T>::initializer;
-
-
-template <class T>
-inline T get_min_shift_value()
-{
- BOOST_MATH_STD_USING
- static const T val = ldexp(tools::min_value<T>(), tools::digits<T>() + 1);
- min_shift_initializer<T>::force_instantiate();
-
- return val;
-}
-
-template <class T, class Policy>
-T float_next_imp(const T& val, const Policy& pol)
-{
- BOOST_MATH_STD_USING
- int expon;
- static const char* function = "float_next<%1%>(%1%)";
-
- int fpclass = (boost::math::fpclassify)(val);
-
- if((fpclass == FP_NAN) || (fpclass == FP_INFINITE))
- {
- if(val < 0)
- return -tools::max_value<T>();
- return policies::raise_domain_error<T>(
- function,
- "Argument must be finite, but got %1%", val, pol);
- }
-
- if(val >= tools::max_value<T>())
- return policies::raise_overflow_error<T>(function, 0, pol);
-
- if(val == 0)
- return detail::get_smallest_value<T>();
-
- if((fpclass != FP_SUBNORMAL) && (fpclass != FP_ZERO) && (fabs(val) < detail::get_min_shift_value<T>()) && (val != -tools::min_value<T>()))
- {
- //
- // Special case: if the value of the least significant bit is a denorm, and the result
- // would not be a denorm, then shift the input, increment, and shift back.
- // This avoids issues with the Intel SSE2 registers when the FTZ or DAZ flags are set.
- //
- return ldexp(float_next(T(ldexp(val, 2 * tools::digits<T>())), pol), -2 * tools::digits<T>());
- }
-
- if(-0.5f == frexp(val, &expon))
- --expon; // reduce exponent when val is a power of two, and negative.
- T diff = ldexp(T(1), expon - tools::digits<T>());
- if(diff == 0)
- diff = detail::get_smallest_value<T>();
- return val + diff;
-}
-
-}
-
-template <class T, class Policy>
-inline typename tools::promote_args<T>::type float_next(const T& val, const Policy& pol)
-{
- typedef typename tools::promote_args<T>::type result_type;
- return detail::float_next_imp(static_cast<result_type>(val), pol);
-}
-
-#if 0 //def BOOST_MSVC
-//
-// We used to use ::_nextafter here, but doing so fails when using
-// the SSE2 registers if the FTZ or DAZ flags are set, so use our own
-// - albeit slower - code instead as at least that gives the correct answer.
-//
-template <class Policy>
-inline double float_next(const double& val, const Policy& pol)
-{
- static const char* function = "float_next<%1%>(%1%)";
-
- if(!(boost::math::isfinite)(val) && (val > 0))
- return policies::raise_domain_error<double>(
- function,
- "Argument must be finite, but got %1%", val, pol);
-
- if(val >= tools::max_value<double>())
- return policies::raise_overflow_error<double>(function, 0, pol);
-
- return ::_nextafter(val, tools::max_value<double>());
-}
-#endif
-
-template <class T>
-inline typename tools::promote_args<T>::type float_next(const T& val)
-{
- return float_next(val, policies::policy<>());
-}
-
-namespace detail{
-
-template <class T, class Policy>
-T float_prior_imp(const T& val, const Policy& pol)
-{
- BOOST_MATH_STD_USING
- int expon;
- static const char* function = "float_prior<%1%>(%1%)";
-
- int fpclass = (boost::math::fpclassify)(val);
-
- if((fpclass == FP_NAN) || (fpclass == FP_INFINITE))
- {
- if(val > 0)
- return tools::max_value<T>();
- return policies::raise_domain_error<T>(
- function,
- "Argument must be finite, but got %1%", val, pol);
- }
-
- if(val <= -tools::max_value<T>())
- return -policies::raise_overflow_error<T>(function, 0, pol);
-
- if(val == 0)
- return -detail::get_smallest_value<T>();
-
- if((fpclass != FP_SUBNORMAL) && (fpclass != FP_ZERO) && (fabs(val) < detail::get_min_shift_value<T>()) && (val != tools::min_value<T>()))
- {
- //
- // Special case: if the value of the least significant bit is a denorm, and the result
- // would not be a denorm, then shift the input, increment, and shift back.
- // This avoids issues with the Intel SSE2 registers when the FTZ or DAZ flags are set.
- //
- return ldexp(float_prior(T(ldexp(val, 2 * tools::digits<T>())), pol), -2 * tools::digits<T>());
- }
-
- T remain = frexp(val, &expon);
- if(remain == 0.5)
- --expon; // when val is a power of two we must reduce the exponent
- T diff = ldexp(T(1), expon - tools::digits<T>());
- if(diff == 0)
- diff = detail::get_smallest_value<T>();
- return val - diff;
-}
-
-}
-
-template <class T, class Policy>
-inline typename tools::promote_args<T>::type float_prior(const T& val, const Policy& pol)
-{
- typedef typename tools::promote_args<T>::type result_type;
- return detail::float_prior_imp(static_cast<result_type>(val), pol);
-}
-
-#if 0 //def BOOST_MSVC
-//
-// We used to use ::_nextafter here, but doing so fails when using
-// the SSE2 registers if the FTZ or DAZ flags are set, so use our own
-// - albeit slower - code instead as at least that gives the correct answer.
-//
-template <class Policy>
-inline double float_prior(const double& val, const Policy& pol)
-{
- static const char* function = "float_prior<%1%>(%1%)";
-
- if(!(boost::math::isfinite)(val) && (val < 0))
- return policies::raise_domain_error<double>(
- function,
- "Argument must be finite, but got %1%", val, pol);
-
- if(val <= -tools::max_value<double>())
- return -policies::raise_overflow_error<double>(function, 0, pol);
-
- return ::_nextafter(val, -tools::max_value<double>());
-}
-#endif
-
-template <class T>
-inline typename tools::promote_args<T>::type float_prior(const T& val)
-{
- return float_prior(val, policies::policy<>());
-}
-
-template <class T, class U, class Policy>
-inline typename tools::promote_args<T, U>::type nextafter(const T& val, const U& direction, const Policy& pol)
-{
- typedef typename tools::promote_args<T, U>::type result_type;
- return val < direction ? boost::math::float_next<result_type>(val, pol) : val == direction ? val : boost::math::float_prior<result_type>(val, pol);
-}
-
-template <class T, class U>
-inline typename tools::promote_args<T, U>::type nextafter(const T& val, const U& direction)
-{
- return nextafter(val, direction, policies::policy<>());
-}
-
-namespace detail{
-
-template <class T, class Policy>
-T float_distance_imp(const T& a, const T& b, const Policy& pol)
-{
- BOOST_MATH_STD_USING
- //
- // Error handling:
- //
- static const char* function = "float_distance<%1%>(%1%, %1%)";
- if(!(boost::math::isfinite)(a))
- return policies::raise_domain_error<T>(
- function,
- "Argument a must be finite, but got %1%", a, pol);
- if(!(boost::math::isfinite)(b))
- return policies::raise_domain_error<T>(
- function,
- "Argument b must be finite, but got %1%", b, pol);
- //
- // Special cases:
- //
- if(a > b)
- return -float_distance(b, a, pol);
- if(a == b)
- return 0;
- if(a == 0)
- return 1 + fabs(float_distance(static_cast<T>((b < 0) ? T(-detail::get_smallest_value<T>()) : detail::get_smallest_value<T>()), b, pol));
- if(b == 0)
- return 1 + fabs(float_distance(static_cast<T>((a < 0) ? T(-detail::get_smallest_value<T>()) : detail::get_smallest_value<T>()), a, pol));
- if(boost::math::sign(a) != boost::math::sign(b))
- return 2 + fabs(float_distance(static_cast<T>((b < 0) ? T(-detail::get_smallest_value<T>()) : detail::get_smallest_value<T>()), b, pol))
- + fabs(float_distance(static_cast<T>((a < 0) ? T(-detail::get_smallest_value<T>()) : detail::get_smallest_value<T>()), a, pol));
- //
- // By the time we get here, both a and b must have the same sign, we want
- // b > a and both postive for the following logic:
- //
- if(a < 0)
- return float_distance(static_cast<T>(-b), static_cast<T>(-a), pol);
-
- BOOST_ASSERT(a >= 0);
- BOOST_ASSERT(b >= a);
-
- int expon;
- //
- // Note that if a is a denorm then the usual formula fails
- // because we actually have fewer than tools::digits<T>()
- // significant bits in the representation:
- //
- frexp(((boost::math::fpclassify)(a) == FP_SUBNORMAL) ? tools::min_value<T>() : a, &expon);
- T upper = ldexp(T(1), expon);
- T result = 0;
- expon = tools::digits<T>() - expon;
- //
- // If b is greater than upper, then we *must* split the calculation
- // as the size of the ULP changes with each order of magnitude change:
- //
- if(b > upper)
- {
- result = float_distance(upper, b);
- }
- //
- // Use compensated double-double addition to avoid rounding
- // errors in the subtraction:
- //
- T mb, x, y, z;
- if(((boost::math::fpclassify)(a) == FP_SUBNORMAL) || (b - a < tools::min_value<T>()))
- {
- //
- // Special case - either one end of the range is a denormal, or else the difference is.
- // The regular code will fail if we're using the SSE2 registers on Intel and either
- // the FTZ or DAZ flags are set.
- //
- T a2 = ldexp(a, tools::digits<T>());
- T b2 = ldexp(b, tools::digits<T>());
- mb = -(std::min)(T(ldexp(upper, tools::digits<T>())), b2);
- x = a2 + mb;
- z = x - a2;
- y = (a2 - (x - z)) + (mb - z);
-
- expon -= tools::digits<T>();
- }
- else
- {
- mb = -(std::min)(upper, b);
- x = a + mb;
- z = x - a;
- y = (a - (x - z)) + (mb - z);
- }
- if(x < 0)
- {
- x = -x;
- y = -y;
- }
- result += ldexp(x, expon) + ldexp(y, expon);
- //
- // Result must be an integer:
- //
- BOOST_ASSERT(result == floor(result));
- return result;
-}
-
-}
-
-template <class T, class U, class Policy>
-inline typename tools::promote_args<T, U>::type float_distance(const T& a, const U& b, const Policy& pol)
-{
- typedef typename tools::promote_args<T, U>::type result_type;
- return detail::float_distance_imp(static_cast<result_type>(a), static_cast<result_type>(b), pol);
-}
-
-template <class T, class U>
-typename tools::promote_args<T, U>::type float_distance(const T& a, const U& b)
-{
- return boost::math::float_distance(a, b, policies::policy<>());
-}
-
-namespace detail{
-
-template <class T, class Policy>
-T float_advance_imp(T val, int distance, const Policy& pol)
-{
- BOOST_MATH_STD_USING
- //
- // Error handling:
- //
- static const char* function = "float_advance<%1%>(%1%, int)";
-
- int fpclass = (boost::math::fpclassify)(val);
-
- if((fpclass == FP_NAN) || (fpclass == FP_INFINITE))
- return policies::raise_domain_error<T>(
- function,
- "Argument val must be finite, but got %1%", val, pol);
-
- if(val < 0)
- return -float_advance(-val, -distance, pol);
- if(distance == 0)
- return val;
- if(distance == 1)
- return float_next(val, pol);
- if(distance == -1)
- return float_prior(val, pol);
-
- if(fabs(val) < detail::get_min_shift_value<T>())
- {
- //
- // Special case: if the value of the least significant bit is a denorm,
- // implement in terms of float_next/float_prior.
- // This avoids issues with the Intel SSE2 registers when the FTZ or DAZ flags are set.
- //
- if(distance > 0)
- {
- do{ val = float_next(val, pol); } while(--distance);
- }
- else
- {
- do{ val = float_prior(val, pol); } while(++distance);
- }
- return val;
- }
-
- int expon;
- frexp(val, &expon);
- T limit = ldexp((distance < 0 ? T(0.5f) : T(1)), expon);
- if(val <= tools::min_value<T>())
- {
- limit = sign(T(distance)) * tools::min_value<T>();
- }
- T limit_distance = float_distance(val, limit);
- while(fabs(limit_distance) < abs(distance))
- {
- distance -= itrunc(limit_distance);
- val = limit;
- if(distance < 0)
- {
- limit /= 2;
- expon--;
- }
- else
- {
- limit *= 2;
- expon++;
- }
- limit_distance = float_distance(val, limit);
- if(distance && (limit_distance == 0))
- {
- policies::raise_evaluation_error<T>(function, "Internal logic failed while trying to increment floating point value %1%: most likely your FPU is in non-IEEE conforming mode.", val, pol);
- }
- }
- if((0.5f == frexp(val, &expon)) && (distance < 0))
- --expon;
- T diff = 0;
- if(val != 0)
- diff = distance * ldexp(T(1), expon - tools::digits<T>());
- if(diff == 0)
- diff = distance * detail::get_smallest_value<T>();
- return val += diff;
-}
-
-}
-
-template <class T, class Policy>
-inline typename tools::promote_args<T>::type float_advance(T val, int distance, const Policy& pol)
-{
- typedef typename tools::promote_args<T>::type result_type;
- return detail::float_advance_imp(static_cast<result_type>(val), distance, pol);
-}
-
-template <class T>
-inline typename tools::promote_args<T>::type float_advance(const T& val, int distance)
-{
- return boost::math::float_advance(val, distance, policies::policy<>());
-}
-
-}} // namespaces
-
-#endif // BOOST_MATH_SPECIAL_NEXT_HPP
-
diff --git a/boost/math/special_functions/owens_t.hpp b/boost/math/special_functions/owens_t.hpp
deleted file mode 100644
index 7b439f0..0000000
--- a/boost/math/special_functions/owens_t.hpp
+++ /dev/null
@@ -1,1061 +0,0 @@
-// Copyright Benjamin Sobotta 2012
-
-// 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_OWENS_T_HPP
-#define BOOST_OWENS_T_HPP
-
-// Reference:
-// Mike Patefield, David Tandy
-// FAST AND ACCURATE CALCULATION OF OWEN'S T-FUNCTION
-// Journal of Statistical Software, 5 (5), 1-25
-
-#ifdef _MSC_VER
-# pragma once
-#endif
-
-#include <boost/config/no_tr1/cmath.hpp>
-#include <boost/math/special_functions/erf.hpp>
-#include <boost/math/special_functions/expm1.hpp>
-#include <boost/throw_exception.hpp>
-#include <boost/assert.hpp>
-#include <boost/math/constants/constants.hpp>
-#include <boost/math/tools/big_constant.hpp>
-
-#include <stdexcept>
-
-namespace boost
-{
- namespace math
- {
- namespace detail
- {
- // owens_t_znorm1(x) = P(-oo<Z<=x)-0.5 with Z being normally distributed.
- template<typename RealType>
- inline RealType owens_t_znorm1(const RealType x)
- {
- using namespace boost::math::constants;
- return erf(x*one_div_root_two<RealType>())*half<RealType>();
- } // RealType owens_t_znorm1(const RealType x)
-
- // owens_t_znorm2(x) = P(x<=Z<oo) with Z being normally distributed.
- template<typename RealType>
- inline RealType owens_t_znorm2(const RealType x)
- {
- using namespace boost::math::constants;
- return erfc(x*one_div_root_two<RealType>())*half<RealType>();
- } // RealType owens_t_znorm2(const RealType x)
-
- // Auxiliary function, it computes an array key that is used to determine
- // the specific computation method for Owen's T and the order thereof
- // used in owens_t_dispatch.
- template<typename RealType>
- inline unsigned short owens_t_compute_code(const RealType h, const RealType a)
- {
- static const RealType hrange[] =
- {0.02, 0.06, 0.09, 0.125, 0.26, 0.4, 0.6, 1.6, 1.7, 2.33, 2.4, 3.36, 3.4, 4.8};
-
- static const RealType arange[] = {0.025, 0.09, 0.15, 0.36, 0.5, 0.9, 0.99999};
- /*
- original select array from paper:
- 1, 1, 2,13,13,13,13,13,13,13,13,16,16,16, 9
- 1, 2, 2, 3, 3, 5, 5,14,14,15,15,16,16,16, 9
- 2, 2, 3, 3, 3, 5, 5,15,15,15,15,16,16,16,10
- 2, 2, 3, 5, 5, 5, 5, 7, 7,16,16,16,16,16,10
- 2, 3, 3, 5, 5, 6, 6, 8, 8,17,17,17,12,12,11
- 2, 3, 5, 5, 5, 6, 6, 8, 8,17,17,17,12,12,12
- 2, 3, 4, 4, 6, 6, 8, 8,17,17,17,17,17,12,12
- 2, 3, 4, 4, 6, 6,18,18,18,18,17,17,17,12,12
- */
- // subtract one because the array is written in FORTRAN in mind - in C arrays start @ zero
- static const unsigned short select[] =
- {
- 0, 0 , 1 , 12 ,12 , 12 , 12 , 12 , 12 , 12 , 12 , 15 , 15 , 15 , 8,
- 0 , 1 , 1 , 2 , 2 , 4 , 4 , 13 , 13 , 14 , 14 , 15 , 15 , 15 , 8,
- 1 , 1 , 2 , 2 , 2 , 4 , 4 , 14 , 14 , 14 , 14 , 15 , 15 , 15 , 9,
- 1 , 1 , 2 , 4 , 4 , 4 , 4 , 6 , 6 , 15 , 15 , 15 , 15 , 15 , 9,
- 1 , 2 , 2 , 4 , 4 , 5 , 5 , 7 , 7 , 16 ,16 , 16 , 11 , 11 , 10,
- 1 , 2 , 4 , 4 , 4 , 5 , 5 , 7 , 7 , 16 , 16 , 16 , 11 , 11 , 11,
- 1 , 2 , 3 , 3 , 5 , 5 , 7 , 7 , 16 , 16 , 16 , 16 , 16 , 11 , 11,
- 1 , 2 , 3 , 3 , 5 , 5 , 17 , 17 , 17 , 17 , 16 , 16 , 16 , 11 , 11
- };
-
- unsigned short ihint = 14, iaint = 7;
- for(unsigned short i = 0; i != 14; i++)
- {
- if( h <= hrange[i] )
- {
- ihint = i;
- break;
- }
- } // for(unsigned short i = 0; i != 14; i++)
-
- for(unsigned short i = 0; i != 7; i++)
- {
- if( a <= arange[i] )
- {
- iaint = i;
- break;
- }
- } // for(unsigned short i = 0; i != 7; i++)
-
- // interprete select array as 8x15 matrix
- return select[iaint*15 + ihint];
-
- } // unsigned short owens_t_compute_code(const RealType h, const RealType a)
-
- template<typename RealType>
- inline unsigned short owens_t_get_order_imp(const unsigned short icode, RealType, const mpl::int_<53>&)
- {
- static const unsigned short ord[] = {2, 3, 4, 5, 7, 10, 12, 18, 10, 20, 30, 0, 4, 7, 8, 20, 0, 0}; // 18 entries
-
- BOOST_ASSERT(icode<18);
-
- return ord[icode];
- } // unsigned short owens_t_get_order(const unsigned short icode, RealType, mpl::int<53> const&)
-
- template<typename RealType>
- inline unsigned short owens_t_get_order_imp(const unsigned short icode, RealType, const mpl::int_<64>&)
- {
- // method ================>>> {1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 3, 4, 4, 4, 4, 5, 6}
- static const unsigned short ord[] = {3, 4, 5, 6, 8, 11, 13, 19, 10, 20, 30, 0, 7, 10, 11, 23, 0, 0}; // 18 entries
-
- BOOST_ASSERT(icode<18);
-
- return ord[icode];
- } // unsigned short owens_t_get_order(const unsigned short icode, RealType, mpl::int<64> const&)
-
- template<typename RealType, typename Policy>
- inline unsigned short owens_t_get_order(const unsigned short icode, RealType r, const Policy&)
- {
- typedef typename policies::precision<RealType, Policy>::type precision_type;
- typedef typename mpl::if_<
- mpl::or_<
- mpl::less_equal<precision_type, mpl::int_<0> >,
- mpl::greater<precision_type, mpl::int_<53> >
- >,
- mpl::int_<64>,
- mpl::int_<53>
- >::type tag_type;
-
- return owens_t_get_order_imp(icode, r, tag_type());
- }
-
- // compute the value of Owen's T function with method T1 from the reference paper
- template<typename RealType>
- inline RealType owens_t_T1(const RealType h, const RealType a, const unsigned short m)
- {
- BOOST_MATH_STD_USING
- using namespace boost::math::constants;
-
- const RealType hs = -h*h*half<RealType>();
- const RealType dhs = exp( hs );
- const RealType as = a*a;
-
- unsigned short j=1;
- RealType jj = 1;
- RealType aj = a * one_div_two_pi<RealType>();
- RealType dj = expm1( hs );
- RealType gj = hs*dhs;
-
- RealType val = atan( a ) * one_div_two_pi<RealType>();
-
- while( true )
- {
- val += dj*aj/jj;
-
- if( m <= j )
- break;
-
- j++;
- jj += static_cast<RealType>(2);
- aj *= as;
- dj = gj - dj;
- gj *= hs / static_cast<RealType>(j);
- } // while( true )
-
- return val;
- } // RealType owens_t_T1(const RealType h, const RealType a, const unsigned short m)
-
- // compute the value of Owen's T function with method T2 from the reference paper
- template<typename RealType, class Policy>
- inline RealType owens_t_T2(const RealType h, const RealType a, const unsigned short m, const RealType ah, const Policy&, const mpl::false_&)
- {
- BOOST_MATH_STD_USING
- using namespace boost::math::constants;
-
- const unsigned short maxii = m+m+1;
- const RealType hs = h*h;
- const RealType as = -a*a;
- const RealType y = static_cast<RealType>(1) / hs;
-
- unsigned short ii = 1;
- RealType val = 0;
- RealType vi = a * exp( -ah*ah*half<RealType>() ) * one_div_root_two_pi<RealType>();
- RealType z = owens_t_znorm1(ah)/h;
-
- while( true )
- {
- val += z;
- if( maxii <= ii )
- {
- val *= exp( -hs*half<RealType>() ) * one_div_root_two_pi<RealType>();
- break;
- } // if( maxii <= ii )
- z = y * ( vi - static_cast<RealType>(ii) * z );
- vi *= as;
- ii += 2;
- } // while( true )
-
- return val;
- } // RealType owens_t_T2(const RealType h, const RealType a, const unsigned short m, const RealType ah)
-
- // compute the value of Owen's T function with method T3 from the reference paper
- template<typename RealType>
- inline RealType owens_t_T3_imp(const RealType h, const RealType a, const RealType ah, const mpl::int_<53>&)
- {
- BOOST_MATH_STD_USING
- using namespace boost::math::constants;
-
- const unsigned short m = 20;
-
- static const RealType c2[] =
- {
- 0.99999999999999987510,
- -0.99999999999988796462, 0.99999999998290743652,
- -0.99999999896282500134, 0.99999996660459362918,
- -0.99999933986272476760, 0.99999125611136965852,
- -0.99991777624463387686, 0.99942835555870132569,
- -0.99697311720723000295, 0.98751448037275303682,
- -0.95915857980572882813, 0.89246305511006708555,
- -0.76893425990463999675, 0.58893528468484693250,
- -0.38380345160440256652, 0.20317601701045299653,
- -0.82813631607004984866E-01, 0.24167984735759576523E-01,
- -0.44676566663971825242E-02, 0.39141169402373836468E-03
- };
-
- const RealType as = a*a;
- const RealType hs = h*h;
- const RealType y = static_cast<RealType>(1)/hs;
-
- RealType ii = 1;
- unsigned short i = 0;
- RealType vi = a * exp( -ah*ah*half<RealType>() ) * one_div_root_two_pi<RealType>();
- RealType zi = owens_t_znorm1(ah)/h;
- RealType val = 0;
-
- while( true )
- {
- BOOST_ASSERT(i < 21);
- val += zi*c2[i];
- if( m <= i ) // if( m < i+1 )
- {
- val *= exp( -hs*half<RealType>() ) * one_div_root_two_pi<RealType>();
- break;
- } // if( m < i )
- zi = y * (ii*zi - vi);
- vi *= as;
- ii += 2;
- i++;
- } // while( true )
-
- return val;
- } // RealType owens_t_T3(const RealType h, const RealType a, const RealType ah)
-
- // compute the value of Owen's T function with method T3 from the reference paper
- template<class RealType>
- inline RealType owens_t_T3_imp(const RealType h, const RealType a, const RealType ah, const mpl::int_<64>&)
- {
- BOOST_MATH_STD_USING
- using namespace boost::math::constants;
-
- const unsigned short m = 30;
-
- static const RealType c2[] =
- {
- BOOST_MATH_BIG_CONSTANT(RealType, 260, 0.99999999999999999999999729978162447266851932041876728736094298092917625009873),
- BOOST_MATH_BIG_CONSTANT(RealType, 260, -0.99999999999999999999467056379678391810626533251885323416799874878563998732905968),
- BOOST_MATH_BIG_CONSTANT(RealType, 260, 0.99999999999999999824849349313270659391127814689133077036298754586814091034842536),
- BOOST_MATH_BIG_CONSTANT(RealType, 260, -0.9999999999999997703859616213643405880166422891953033591551179153879839440241685),
- BOOST_MATH_BIG_CONSTANT(RealType, 260, 0.99999999999998394883415238173334565554173013941245103172035286759201504179038147),
- BOOST_MATH_BIG_CONSTANT(RealType, 260, -0.9999999999993063616095509371081203145247992197457263066869044528823599399470977),
- BOOST_MATH_BIG_CONSTANT(RealType, 260, 0.9999999999797336340409464429599229870590160411238245275855903767652432017766116267),
- BOOST_MATH_BIG_CONSTANT(RealType, 260, -0.999999999574958412069046680119051639753412378037565521359444170241346845522403274),
- BOOST_MATH_BIG_CONSTANT(RealType, 260, 0.9999999933226234193375324943920160947158239076786103108097456617750134812033362048),
- BOOST_MATH_BIG_CONSTANT(RealType, 260, -0.9999999188923242461073033481053037468263536806742737922476636768006622772762168467),
- BOOST_MATH_BIG_CONSTANT(RealType, 260, 0.9999992195143483674402853783549420883055129680082932629160081128947764415749728967),
- BOOST_MATH_BIG_CONSTANT(RealType, 260, -0.999993935137206712830997921913316971472227199741857386575097250553105958772041501),
- BOOST_MATH_BIG_CONSTANT(RealType, 260, 0.99996135597690552745362392866517133091672395614263398912807169603795088421057688716),
- BOOST_MATH_BIG_CONSTANT(RealType, 260, -0.99979556366513946026406788969630293820987757758641211293079784585126692672425362469),
- BOOST_MATH_BIG_CONSTANT(RealType, 260, 0.999092789629617100153486251423850590051366661947344315423226082520411961968929483),
- BOOST_MATH_BIG_CONSTANT(RealType, 260, -0.996593837411918202119308620432614600338157335862888580671450938858935084316004769854),
- BOOST_MATH_BIG_CONSTANT(RealType, 260, 0.98910017138386127038463510314625339359073956513420458166238478926511821146316469589567),
- BOOST_MATH_BIG_CONSTANT(RealType, 260, -0.970078558040693314521331982203762771512160168582494513347846407314584943870399016019),
- BOOST_MATH_BIG_CONSTANT(RealType, 260, 0.92911438683263187495758525500033707204091967947532160289872782771388170647150321633673),
- BOOST_MATH_BIG_CONSTANT(RealType, 260, -0.8542058695956156057286980736842905011429254735181323743367879525470479126968822863),
- BOOST_MATH_BIG_CONSTANT(RealType, 260, 0.73796526033030091233118357742803709382964420335559408722681794195743240930748630755),
- BOOST_MATH_BIG_CONSTANT(RealType, 260, -0.58523469882837394570128599003785154144164680587615878645171632791404210655891158),
- BOOST_MATH_BIG_CONSTANT(RealType, 260, 0.415997776145676306165661663581868460503874205343014196580122174949645271353372263),
- BOOST_MATH_BIG_CONSTANT(RealType, 260, -0.2588210875241943574388730510317252236407805082485246378222935376279663808416534365),
- BOOST_MATH_BIG_CONSTANT(RealType, 260, 0.1375535825163892648504646951500265585055789019410617565727090346559210218472356689),
- BOOST_MATH_BIG_CONSTANT(RealType, 260, -0.0607952766325955730493900985022020434830339794955745989150270485056436844239206648),
- BOOST_MATH_BIG_CONSTANT(RealType, 260, 0.0216337683299871528059836483840390514275488679530797294557060229266785853764115),
- BOOST_MATH_BIG_CONSTANT(RealType, 260, -0.00593405693455186729876995814181203900550014220428843483927218267309209471516256),
- BOOST_MATH_BIG_CONSTANT(RealType, 260, 0.0011743414818332946510474576182739210553333860106811865963485870668929503649964142),
- BOOST_MATH_BIG_CONSTANT(RealType, 260, -1.489155613350368934073453260689881330166342484405529981510694514036264969925132e-4),
- BOOST_MATH_BIG_CONSTANT(RealType, 260, 9.072354320794357587710929507988814669454281514268844884841547607134260303118208e-6)
- };
-
- const RealType as = a*a;
- const RealType hs = h*h;
- const RealType y = 1 / hs;
-
- RealType ii = 1;
- unsigned short i = 0;
- RealType vi = a * exp( -ah*ah*half<RealType>() ) * one_div_root_two_pi<RealType>();
- RealType zi = owens_t_znorm1(ah)/h;
- RealType val = 0;
-
- while( true )
- {
- BOOST_ASSERT(i < 31);
- val += zi*c2[i];
- if( m <= i ) // if( m < i+1 )
- {
- val *= exp( -hs*half<RealType>() ) * one_div_root_two_pi<RealType>();
- break;
- } // if( m < i )
- zi = y * (ii*zi - vi);
- vi *= as;
- ii += 2;
- i++;
- } // while( true )
-
- return val;
- } // RealType owens_t_T3(const RealType h, const RealType a, const RealType ah)
-
- template<class RealType, class Policy>
- inline RealType owens_t_T3(const RealType h, const RealType a, const RealType ah, const Policy&)
- {
- typedef typename policies::precision<RealType, Policy>::type precision_type;
- typedef typename mpl::if_<
- mpl::or_<
- mpl::less_equal<precision_type, mpl::int_<0> >,
- mpl::greater<precision_type, mpl::int_<53> >
- >,
- mpl::int_<64>,
- mpl::int_<53>
- >::type tag_type;
-
- return owens_t_T3_imp(h, a, ah, tag_type());
- }
-
- // compute the value of Owen's T function with method T4 from the reference paper
- template<typename RealType>
- inline RealType owens_t_T4(const RealType h, const RealType a, const unsigned short m)
- {
- BOOST_MATH_STD_USING
- using namespace boost::math::constants;
-
- const unsigned short maxii = m+m+1;
- const RealType hs = h*h;
- const RealType as = -a*a;
-
- unsigned short ii = 1;
- RealType ai = a * exp( -hs*(static_cast<RealType>(1)-as)*half<RealType>() ) * one_div_two_pi<RealType>();
- RealType yi = 1;
- RealType val = 0;
-
- while( true )
- {
- val += ai*yi;
- if( maxii <= ii )
- break;
- ii += 2;
- yi = (static_cast<RealType>(1)-hs*yi) / static_cast<RealType>(ii);
- ai *= as;
- } // while( true )
-
- return val;
- } // RealType owens_t_T4(const RealType h, const RealType a, const unsigned short m)
-
- // compute the value of Owen's T function with method T5 from the reference paper
- template<typename RealType>
- inline RealType owens_t_T5_imp(const RealType h, const RealType a, const mpl::int_<53>&)
- {
- BOOST_MATH_STD_USING
- /*
- NOTICE:
- - The pts[] array contains the squares (!) of the abscissas, i.e. the roots of the Legendre
- polynomial P_n(x), instead of the plain roots as required in Gauss-Legendre
- quadrature, because T5(h,a,m) contains only x^2 terms.
- - The wts[] array contains the weights for Gauss-Legendre quadrature scaled with a factor
- of 1/(2*pi) according to T5(h,a,m).
- */
-
- const unsigned short m = 13;
- static const RealType pts[] = {0.35082039676451715489E-02,
- 0.31279042338030753740E-01, 0.85266826283219451090E-01,
- 0.16245071730812277011, 0.25851196049125434828,
- 0.36807553840697533536, 0.48501092905604697475,
- 0.60277514152618576821, 0.71477884217753226516,
- 0.81475510988760098605, 0.89711029755948965867,
- 0.95723808085944261843, 0.99178832974629703586};
- static const RealType wts[] = { 0.18831438115323502887E-01,
- 0.18567086243977649478E-01, 0.18042093461223385584E-01,
- 0.17263829606398753364E-01, 0.16243219975989856730E-01,
- 0.14994592034116704829E-01, 0.13535474469662088392E-01,
- 0.11886351605820165233E-01, 0.10070377242777431897E-01,
- 0.81130545742299586629E-02, 0.60419009528470238773E-02,
- 0.38862217010742057883E-02, 0.16793031084546090448E-02};
-
- const RealType as = a*a;
- const RealType hs = -h*h*boost::math::constants::half<RealType>();
-
- RealType val = 0;
- for(unsigned short i = 0; i < m; ++i)
- {
- BOOST_ASSERT(i < 13);
- const RealType r = static_cast<RealType>(1) + as*pts[i];
- val += wts[i] * exp( hs*r ) / r;
- } // for(unsigned short i = 0; i < m; ++i)
-
- return val*a;
- } // RealType owens_t_T5(const RealType h, const RealType a)
-
- // compute the value of Owen's T function with method T5 from the reference paper
- template<typename RealType>
- inline RealType owens_t_T5_imp(const RealType h, const RealType a, const mpl::int_<64>&)
- {
- BOOST_MATH_STD_USING
- /*
- NOTICE:
- - The pts[] array contains the squares (!) of the abscissas, i.e. the roots of the Legendre
- polynomial P_n(x), instead of the plain roots as required in Gauss-Legendre
- quadrature, because T5(h,a,m) contains only x^2 terms.
- - The wts[] array contains the weights for Gauss-Legendre quadrature scaled with a factor
- of 1/(2*pi) according to T5(h,a,m).
- */
-
- const unsigned short m = 19;
- static const RealType pts[] = {
- BOOST_MATH_BIG_CONSTANT(RealType, 64, 0.0016634282895983227941),
- BOOST_MATH_BIG_CONSTANT(RealType, 64, 0.014904509242697054183),
- BOOST_MATH_BIG_CONSTANT(RealType, 64, 0.04103478879005817919),
- BOOST_MATH_BIG_CONSTANT(RealType, 64, 0.079359853513391511008),
- BOOST_MATH_BIG_CONSTANT(RealType, 64, 0.1288612130237615133),
- BOOST_MATH_BIG_CONSTANT(RealType, 64, 0.18822336642448518856),
- BOOST_MATH_BIG_CONSTANT(RealType, 64, 0.25586876186122962384),
- BOOST_MATH_BIG_CONSTANT(RealType, 64, 0.32999972011807857222),
- BOOST_MATH_BIG_CONSTANT(RealType, 64, 0.40864620815774761438),
- BOOST_MATH_BIG_CONSTANT(RealType, 64, 0.48971819306044782365),
- BOOST_MATH_BIG_CONSTANT(RealType, 64, 0.57106118513245543894),
- BOOST_MATH_BIG_CONSTANT(RealType, 64, 0.6505134942981533829),
- BOOST_MATH_BIG_CONSTANT(RealType, 64, 0.72596367859928091618),
- BOOST_MATH_BIG_CONSTANT(RealType, 64, 0.79540665919549865924),
- BOOST_MATH_BIG_CONSTANT(RealType, 64, 0.85699701386308739244),
- BOOST_MATH_BIG_CONSTANT(RealType, 64, 0.90909804422384697594),
- BOOST_MATH_BIG_CONSTANT(RealType, 64, 0.95032536436570154409),
- BOOST_MATH_BIG_CONSTANT(RealType, 64, 0.97958418733152273717),
- BOOST_MATH_BIG_CONSTANT(RealType, 64, 0.99610366384229088321)
- };
- static const RealType wts[] = {
- BOOST_MATH_BIG_CONSTANT(RealType, 64, 0.012975111395684900835),
- BOOST_MATH_BIG_CONSTANT(RealType, 64, 0.012888764187499150078),
- BOOST_MATH_BIG_CONSTANT(RealType, 64, 0.012716644398857307844),
- BOOST_MATH_BIG_CONSTANT(RealType, 64, 0.012459897461364705691),
- BOOST_MATH_BIG_CONSTANT(RealType, 64, 0.012120231988292330388),
- BOOST_MATH_BIG_CONSTANT(RealType, 64, 0.011699908404856841158),
- BOOST_MATH_BIG_CONSTANT(RealType, 64, 0.011201723906897224448),
- BOOST_MATH_BIG_CONSTANT(RealType, 64, 0.010628993848522759853),
- BOOST_MATH_BIG_CONSTANT(RealType, 64, 0.0099855296835573320047),
- BOOST_MATH_BIG_CONSTANT(RealType, 64, 0.0092756136096132857933),
- BOOST_MATH_BIG_CONSTANT(RealType, 64, 0.0085039700881139589055),
- BOOST_MATH_BIG_CONSTANT(RealType, 64, 0.0076757344408814561254),
- BOOST_MATH_BIG_CONSTANT(RealType, 64, 0.0067964187616556459109),
- BOOST_MATH_BIG_CONSTANT(RealType, 64, 0.005871875456524750363),
- BOOST_MATH_BIG_CONSTANT(RealType, 64, 0.0049082589542498110071),
- BOOST_MATH_BIG_CONSTANT(RealType, 64, 0.0039119870792519721409),
- BOOST_MATH_BIG_CONSTANT(RealType, 64, 0.0028897090921170700834),
- BOOST_MATH_BIG_CONSTANT(RealType, 64, 0.0018483371329504443947),
- BOOST_MATH_BIG_CONSTANT(RealType, 64, 0.00079623320100438873578)
- };
-
- const RealType as = a*a;
- const RealType hs = -h*h*boost::math::constants::half<RealType>();
-
- RealType val = 0;
- for(unsigned short i = 0; i < m; ++i)
- {
- BOOST_ASSERT(i < 19);
- const RealType r = 1 + as*pts[i];
- val += wts[i] * exp( hs*r ) / r;
- } // for(unsigned short i = 0; i < m; ++i)
-
- return val*a;
- } // RealType owens_t_T5(const RealType h, const RealType a)
-
- template<class RealType, class Policy>
- inline RealType owens_t_T5(const RealType h, const RealType a, const Policy&)
- {
- typedef typename policies::precision<RealType, Policy>::type precision_type;
- typedef typename mpl::if_<
- mpl::or_<
- mpl::less_equal<precision_type, mpl::int_<0> >,
- mpl::greater<precision_type, mpl::int_<53> >
- >,
- mpl::int_<64>,
- mpl::int_<53>
- >::type tag_type;
-
- return owens_t_T5_imp(h, a, tag_type());
- }
-
-
- // compute the value of Owen's T function with method T6 from the reference paper
- template<typename RealType>
- inline RealType owens_t_T6(const RealType h, const RealType a)
- {
- BOOST_MATH_STD_USING
- using namespace boost::math::constants;
-
- const RealType normh = owens_t_znorm2( h );
- const RealType y = static_cast<RealType>(1) - a;
- const RealType r = atan2(y, static_cast<RealType>(1 + a) );
-
- RealType val = normh * ( static_cast<RealType>(1) - normh ) * half<RealType>();
-
- if( r != 0 )
- val -= r * exp( -y*h*h*half<RealType>()/r ) * one_div_two_pi<RealType>();
-
- return val;
- } // RealType owens_t_T6(const RealType h, const RealType a, const unsigned short m)
-
- template <class T, class Policy>
- std::pair<T, T> owens_t_T1_accelerated(T h, T a, const Policy& pol)
- {
- //
- // This is the same series as T1, but:
- // * The Taylor series for atan has been combined with that for T1,
- // reducing but not eliminating cancellation error.
- // * The resulting alternating series is then accelerated using method 1
- // from H. Cohen, F. Rodriguez Villegas, D. Zagier,
- // "Convergence acceleration of alternating series", Bonn, (1991).
- //
- BOOST_MATH_STD_USING
- static const char* function = "boost::math::owens_t<%1%>(%1%, %1%)";
- T half_h_h = h * h / 2;
- T a_pow = a;
- T aa = a * a;
- T exp_term = exp(-h * h / 2);
- T one_minus_dj_sum = exp_term;
- T sum = a_pow * exp_term;
- T dj_pow = exp_term;
- T term = sum;
- T abs_err;
- int j = 1;
-
- //
- // Normally with this form of series acceleration we can calculate
- // up front how many terms will be required - based on the assumption
- // that each term decreases in size by a factor of 3. However,
- // that assumption does not apply here, as the underlying T1 series can
- // go quite strongly divergent in the early terms, before strongly
- // converging later. Various "guestimates" have been tried to take account
- // of this, but they don't always work.... so instead set "n" to the
- // largest value that won't cause overflow later, and abort iteration
- // when the last accelerated term was small enough...
- //
- int n;
- try
- {
- n = itrunc(T(tools::log_max_value<T>() / 6));
- }
- catch(...)
- {
- n = (std::numeric_limits<int>::max)();
- }
- n = (std::min)(n, 1500);
- T d = pow(3 + sqrt(T(8)), n);
- d = (d + 1 / d) / 2;
- T b = -1;
- T c = -d;
- c = b - c;
- sum *= c;
- b = -n * n * b * 2;
- abs_err = ldexp(fabs(sum), -tools::digits<T>());
-
- while(j < n)
- {
- a_pow *= aa;
- dj_pow *= half_h_h / j;
- one_minus_dj_sum += dj_pow;
- term = one_minus_dj_sum * a_pow / (2 * j + 1);
- c = b - c;
- sum += c * term;
- abs_err += ldexp((std::max)(T(fabs(sum)), T(fabs(c*term))), -tools::digits<T>());
- b = (j + n) * (j - n) * b / ((j + T(0.5)) * (j + 1));
- ++j;
- //
- // Include an escape route to prevent calculating too many terms:
- //
- if((j > 10) && (fabs(sum * tools::epsilon<T>()) > fabs(c * term)))
- break;
- }
- abs_err += fabs(c * term);
- if(sum < 0) // sum must always be positive, if it's negative something really bad has happend:
- policies::raise_evaluation_error(function, 0, T(0), pol);
- return std::pair<T, T>((sum / d) / boost::math::constants::two_pi<T>(), abs_err / sum);
- }
-
- template<typename RealType, class Policy>
- inline RealType owens_t_T2(const RealType h, const RealType a, const unsigned short m, const RealType ah, const Policy&, const mpl::true_&)
- {
- BOOST_MATH_STD_USING
- using namespace boost::math::constants;
-
- const unsigned short maxii = m+m+1;
- const RealType hs = h*h;
- const RealType as = -a*a;
- const RealType y = static_cast<RealType>(1) / hs;
-
- unsigned short ii = 1;
- RealType val = 0;
- RealType vi = a * exp( -ah*ah*half<RealType>() ) / root_two_pi<RealType>();
- RealType z = owens_t_znorm1(ah)/h;
- RealType last_z = fabs(z);
- RealType lim = policies::get_epsilon<RealType, Policy>();
-
- while( true )
- {
- val += z;
- //
- // This series stops converging after a while, so put a limit
- // on how far we go before returning our best guess:
- //
- if((fabs(lim * val) > fabs(z)) || ((ii > maxii) && (fabs(z) > last_z)) || (z == 0))
- {
- val *= exp( -hs*half<RealType>() ) / root_two_pi<RealType>();
- break;
- } // if( maxii <= ii )
- last_z = fabs(z);
- z = y * ( vi - static_cast<RealType>(ii) * z );
- vi *= as;
- ii += 2;
- } // while( true )
-
- return val;
- } // RealType owens_t_T2(const RealType h, const RealType a, const unsigned short m, const RealType ah)
-
- template<typename RealType, class Policy>
- inline std::pair<RealType, RealType> owens_t_T2_accelerated(const RealType h, const RealType a, const RealType ah, const Policy&)
- {
- //
- // This is the same series as T2, but with acceleration applied.
- // Note that we have to be *very* careful to check that nothing bad
- // has happened during evaluation - this series will go divergent
- // and/or fail to alternate at a drop of a hat! :-(
- //
- BOOST_MATH_STD_USING
- using namespace boost::math::constants;
-
- const RealType hs = h*h;
- const RealType as = -a*a;
- const RealType y = static_cast<RealType>(1) / hs;
-
- unsigned short ii = 1;
- RealType val = 0;
- RealType vi = a * exp( -ah*ah*half<RealType>() ) / root_two_pi<RealType>();
- RealType z = boost::math::detail::owens_t_znorm1(ah)/h;
- RealType last_z = fabs(z);
-
- //
- // Normally with this form of series acceleration we can calculate
- // up front how many terms will be required - based on the assumption
- // that each term decreases in size by a factor of 3. However,
- // that assumption does not apply here, as the underlying T1 series can
- // go quite strongly divergent in the early terms, before strongly
- // converging later. Various "guestimates" have been tried to take account
- // of this, but they don't always work.... so instead set "n" to the
- // largest value that won't cause overflow later, and abort iteration
- // when the last accelerated term was small enough...
- //
- int n;
- try
- {
- n = itrunc(RealType(tools::log_max_value<RealType>() / 6));
- }
- catch(...)
- {
- n = (std::numeric_limits<int>::max)();
- }
- n = (std::min)(n, 1500);
- RealType d = pow(3 + sqrt(RealType(8)), n);
- d = (d + 1 / d) / 2;
- RealType b = -1;
- RealType c = -d;
- int s = 1;
-
- for(int k = 0; k < n; ++k)
- {
- //
- // Check for both convergence and whether the series has gone bad:
- //
- if(
- (fabs(z) > last_z) // Series has gone divergent, abort
- || (fabs(val) * tools::epsilon<RealType>() > fabs(c * s * z)) // Convergence!
- || (z * s < 0) // Series has stopped alternating - all bets are off - abort.
- )
- {
- break;
- }
- c = b - c;
- val += c * s * z;
- b = (k + n) * (k - n) * b / ((k + RealType(0.5)) * (k + 1));
- last_z = fabs(z);
- s = -s;
- z = y * ( vi - static_cast<RealType>(ii) * z );
- vi *= as;
- ii += 2;
- } // while( true )
- RealType err = fabs(c * z) / val;
- return std::pair<RealType, RealType>(val * exp( -hs*half<RealType>() ) / (d * root_two_pi<RealType>()), err);
- } // RealType owens_t_T2_accelerated(const RealType h, const RealType a, const RealType ah, const Policy&)
-
- template<typename RealType, typename Policy>
- inline RealType T4_mp(const RealType h, const RealType a, const Policy& pol)
- {
- BOOST_MATH_STD_USING
-
- const RealType hs = h*h;
- const RealType as = -a*a;
-
- unsigned short ii = 1;
- RealType ai = constants::one_div_two_pi<RealType>() * a * exp( -0.5*hs*(1.0-as) );
- RealType yi = 1.0;
- RealType val = 0.0;
-
- RealType lim = boost::math::policies::get_epsilon<RealType, Policy>();
-
- while( true )
- {
- RealType term = ai*yi;
- val += term;
- if((yi != 0) && (fabs(val * lim) > fabs(term)))
- break;
- ii += 2;
- yi = (1.0-hs*yi) / static_cast<RealType>(ii);
- ai *= as;
- if(ii > (std::min)(1500, (int)policies::get_max_series_iterations<Policy>()))
- policies::raise_evaluation_error("boost::math::owens_t<%1%>", 0, val, pol);
- } // while( true )
-
- return val;
- } // arg_type owens_t_T4(const arg_type h, const arg_type a, const unsigned short m)
-
-
- // This routine dispatches the call to one of six subroutines, depending on the values
- // of h and a.
- // preconditions: h >= 0, 0<=a<=1, ah=a*h
- //
- // Note there are different versions for different precisions....
- template<typename RealType, typename Policy>
- inline RealType owens_t_dispatch(const RealType h, const RealType a, const RealType ah, const Policy& pol, mpl::int_<64> const&)
- {
- // Simple main case for 64-bit precision or less, this is as per the Patefield-Tandy paper:
- BOOST_MATH_STD_USING
- //
- // Handle some special cases first, these are from
- // page 1077 of Owen's original paper:
- //
- if(h == 0)
- {
- return atan(a) * constants::one_div_two_pi<RealType>();
- }
- if(a == 0)
- {
- return 0;
- }
- if(a == 1)
- {
- return owens_t_znorm2(RealType(-h)) * owens_t_znorm2(h) / 2;
- }
- if(a >= tools::max_value<RealType>())
- {
- return owens_t_znorm2(RealType(fabs(h)));
- }
- RealType val = 0; // avoid compiler warnings, 0 will be overwritten in any case
- const unsigned short icode = owens_t_compute_code(h, a);
- const unsigned short m = owens_t_get_order(icode, val /* just a dummy for the type */, pol);
- static const unsigned short meth[] = {1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 3, 4, 4, 4, 4, 5, 6}; // 18 entries
-
- // determine the appropriate method, T1 ... T6
- switch( meth[icode] )
- {
- case 1: // T1
- val = owens_t_T1(h,a,m);
- break;
- case 2: // T2
- typedef typename policies::precision<RealType, Policy>::type precision_type;
- typedef mpl::bool_<(precision_type::value == 0) || (precision_type::value > 64)> tag_type;
- val = owens_t_T2(h, a, m, ah, pol, tag_type());
- break;
- case 3: // T3
- val = owens_t_T3(h,a,ah, pol);
- break;
- case 4: // T4
- val = owens_t_T4(h,a,m);
- break;
- case 5: // T5
- val = owens_t_T5(h,a, pol);
- break;
- case 6: // T6
- val = owens_t_T6(h,a);
- break;
- default:
- BOOST_THROW_EXCEPTION(std::logic_error("selection routine in Owen's T function failed"));
- }
- return val;
- }
-
- template<typename RealType, typename Policy>
- inline RealType owens_t_dispatch(const RealType h, const RealType a, const RealType ah, const Policy& pol, const mpl::int_<65>&)
- {
- // Arbitrary precision version:
- BOOST_MATH_STD_USING
- //
- // Handle some special cases first, these are from
- // page 1077 of Owen's original paper:
- //
- if(h == 0)
- {
- return atan(a) * constants::one_div_two_pi<RealType>();
- }
- if(a == 0)
- {
- return 0;
- }
- if(a == 1)
- {
- return owens_t_znorm2(RealType(-h)) * owens_t_znorm2(h) / 2;
- }
- if(a >= tools::max_value<RealType>())
- {
- return owens_t_znorm2(RealType(fabs(h)));
- }
- // Attempt arbitrary precision code, this will throw if it goes wrong:
- typedef typename boost::math::policies::normalise<Policy, boost::math::policies::evaluation_error<> >::type forwarding_policy;
- std::pair<RealType, RealType> p1(0, tools::max_value<RealType>()), p2(0, tools::max_value<RealType>());
- RealType target_precision = policies::get_epsilon<RealType, Policy>() * 1000;
- bool have_t1(false), have_t2(false);
- if(ah < 3)
- {
- try
- {
- have_t1 = true;
- p1 = owens_t_T1_accelerated(h, a, forwarding_policy());
- if(p1.second < target_precision)
- return p1.first;
- }
- catch(const boost::math::evaluation_error&){} // T1 may fail and throw, that's OK
- }
- if(ah > 1)
- {
- try
- {
- have_t2 = true;
- p2 = owens_t_T2_accelerated(h, a, ah, forwarding_policy());
- if(p2.second < target_precision)
- return p2.first;
- }
- catch(const boost::math::evaluation_error&){} // T2 may fail and throw, that's OK
- }
- //
- // If we haven't tried T1 yet, do it now - sometimes it succeeds and the number of iterations
- // is fairly low compared to T4.
- //
- if(!have_t1)
- {
- try
- {
- have_t1 = true;
- p1 = owens_t_T1_accelerated(h, a, forwarding_policy());
- if(p1.second < target_precision)
- return p1.first;
- }
- catch(const boost::math::evaluation_error&){} // T1 may fail and throw, that's OK
- }
- //
- // If we haven't tried T2 yet, do it now - sometimes it succeeds and the number of iterations
- // is fairly low compared to T4.
- //
- if(!have_t2)
- {
- try
- {
- have_t2 = true;
- p2 = owens_t_T2_accelerated(h, a, ah, forwarding_policy());
- if(p2.second < target_precision)
- return p2.first;
- }
- catch(const boost::math::evaluation_error&){} // T2 may fail and throw, that's OK
- }
- //
- // OK, nothing left to do but try the most expensive option which is T4,
- // this is often slow to converge, but when it does converge it tends to
- // be accurate:
- try
- {
- return T4_mp(h, a, pol);
- }
- catch(const boost::math::evaluation_error&){} // T4 may fail and throw, that's OK
- //
- // Now look back at the results from T1 and T2 and see if either gave better
- // results than we could get from the 64-bit precision versions.
- //
- if((std::min)(p1.second, p2.second) < 1e-20)
- {
- return p1.second < p2.second ? p1.first : p2.first;
- }
- //
- // We give up - no arbitrary precision versions succeeded!
- //
- return owens_t_dispatch(h, a, ah, pol, mpl::int_<64>());
- } // RealType owens_t_dispatch(RealType h, RealType a, RealType ah)
- template<typename RealType, typename Policy>
- inline RealType owens_t_dispatch(const RealType h, const RealType a, const RealType ah, const Policy& pol, const mpl::int_<0>&)
- {
- // We don't know what the precision is until runtime:
- if(tools::digits<RealType>() <= 64)
- return owens_t_dispatch(h, a, ah, pol, mpl::int_<64>());
- return owens_t_dispatch(h, a, ah, pol, mpl::int_<65>());
- }
- template<typename RealType, typename Policy>
- inline RealType owens_t_dispatch(const RealType h, const RealType a, const RealType ah, const Policy& pol)
- {
- // Figure out the precision and forward to the correct version:
- typedef typename policies::precision<RealType, Policy>::type precision_type;
- typedef typename mpl::if_c<
- precision_type::value == 0,
- mpl::int_<0>,
- typename mpl::if_c<
- precision_type::value <= 64,
- mpl::int_<64>,
- mpl::int_<65>
- >::type
- >::type tag_type;
- return owens_t_dispatch(h, a, ah, pol, tag_type());
- }
- // compute Owen's T function, T(h,a), for arbitrary values of h and a
- template<typename RealType, class Policy>
- inline RealType owens_t(RealType h, RealType a, const Policy& pol)
- {
- BOOST_MATH_STD_USING
- // exploit that T(-h,a) == T(h,a)
- h = fabs(h);
-
- // Use equation (2) in the paper to remap the arguments
- // such that h>=0 and 0<=a<=1 for the call of the actual
- // computation routine.
-
- const RealType fabs_a = fabs(a);
- const RealType fabs_ah = fabs_a*h;
-
- RealType val = 0.0; // avoid compiler warnings, 0.0 will be overwritten in any case
-
- if(fabs_a <= 1)
- {
- val = owens_t_dispatch(h, fabs_a, fabs_ah, pol);
- } // if(fabs_a <= 1.0)
- else
- {
- if( h <= 0.67 )
- {
- const RealType normh = owens_t_znorm1(h);
- const RealType normah = owens_t_znorm1(fabs_ah);
- val = static_cast<RealType>(1)/static_cast<RealType>(4) - normh*normah -
- owens_t_dispatch(fabs_ah, static_cast<RealType>(1 / fabs_a), h, pol);
- } // if( h <= 0.67 )
- else
- {
- const RealType normh = detail::owens_t_znorm2(h);
- const RealType normah = detail::owens_t_znorm2(fabs_ah);
- val = constants::half<RealType>()*(normh+normah) - normh*normah -
- owens_t_dispatch(fabs_ah, static_cast<RealType>(1 / fabs_a), h, pol);
- } // else [if( h <= 0.67 )]
- } // else [if(fabs_a <= 1)]
-
- // exploit that T(h,-a) == -T(h,a)
- if(a < 0)
- {
- return -val;
- } // if(a < 0)
-
- return val;
- } // RealType owens_t(RealType h, RealType a)
-
- template <class T, class Policy, class tag>
- struct owens_t_initializer
- {
- struct init
- {
- init()
- {
- do_init(tag());
- }
- template <int N>
- static void do_init(const mpl::int_<N>&){}
- static void do_init(const mpl::int_<64>&)
- {
- boost::math::owens_t(static_cast<T>(7), static_cast<T>(0.96875), Policy());
- boost::math::owens_t(static_cast<T>(2), static_cast<T>(0.5), Policy());
- }
- void force_instantiate()const{}
- };
- static const init initializer;
- static void force_instantiate()
- {
- initializer.force_instantiate();
- }
- };
-
- template <class T, class Policy, class tag>
- const typename owens_t_initializer<T, Policy, tag>::init owens_t_initializer<T, Policy, tag>::initializer;
-
- } // namespace detail
-
- template <class T1, class T2, class Policy>
- inline typename tools::promote_args<T1, T2>::type owens_t(T1 h, T2 a, const Policy& pol)
- {
- typedef typename tools::promote_args<T1, T2>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename policies::precision<value_type, Policy>::type precision_type;
- typedef typename mpl::if_c<
- precision_type::value == 0,
- mpl::int_<0>,
- typename mpl::if_c<
- precision_type::value <= 64,
- mpl::int_<64>,
- mpl::int_<65>
- >::type
- >::type tag_type;
-
- detail::owens_t_initializer<result_type, Policy, tag_type>::force_instantiate();
-
- return policies::checked_narrowing_cast<result_type, Policy>(detail::owens_t(static_cast<value_type>(h), static_cast<value_type>(a), pol), "boost::math::owens_t<%1%>(%1%,%1%)");
- }
-
- template <class T1, class T2>
- inline typename tools::promote_args<T1, T2>::type owens_t(T1 h, T2 a)
- {
- return owens_t(h, a, policies::policy<>());
- }
-
-
- } // namespace math
-} // namespace boost
-
-#endif
-// EOF
diff --git a/boost/math/special_functions/pow.hpp b/boost/math/special_functions/pow.hpp
deleted file mode 100644
index 5423e9c..0000000
--- a/boost/math/special_functions/pow.hpp
+++ /dev/null
@@ -1,140 +0,0 @@
-// Boost pow.hpp header file
-// Computes a power with exponent known at compile-time
-
-// (C) Copyright Bruno Lalande 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 for updates, documentation, and revision history.
-
-
-#ifndef BOOST_MATH_POW_HPP
-#define BOOST_MATH_POW_HPP
-
-
-#include <boost/math/policies/policy.hpp>
-#include <boost/math/policies/error_handling.hpp>
-#include <boost/math/tools/promotion.hpp>
-#include <boost/mpl/greater_equal.hpp>
-
-
-namespace boost {
-namespace math {
-
-
-namespace detail {
-
-
-template <int N, int M = N%2>
-struct positive_power
-{
- template <typename T>
- static T result(T base)
- {
- T power = positive_power<N/2>::result(base);
- return power * power;
- }
-};
-
-template <int N>
-struct positive_power<N, 1>
-{
- template <typename T>
- static T result(T base)
- {
- T power = positive_power<N/2>::result(base);
- return base * power * power;
- }
-};
-
-template <>
-struct positive_power<1, 1>
-{
- template <typename T>
- static T result(T base){ return base; }
-};
-
-
-template <int N, bool>
-struct power_if_positive
-{
- template <typename T, class Policy>
- static T result(T base, const Policy&)
- { return positive_power<N>::result(base); }
-};
-
-template <int N>
-struct power_if_positive<N, false>
-{
- template <typename T, class Policy>
- static T result(T base, const Policy& policy)
- {
- if (base == 0)
- {
- return policies::raise_overflow_error<T>(
- "boost::math::pow(%1%)",
- "Attempted to compute a negative power of 0",
- policy
- );
- }
-
- return T(1) / positive_power<-N>::result(base);
- }
-};
-
-template <>
-struct power_if_positive<0, true>
-{
- template <typename T, class Policy>
- static T result(T base, const Policy& policy)
- {
- if (base == 0)
- {
- return policies::raise_indeterminate_result_error<T>(
- "boost::math::pow(%1%)",
- "The result of pow<0>(%1%) is undetermined",
- base,
- T(1),
- policy
- );
- }
-
- return T(1);
- }
-};
-
-
-template <int N>
-struct select_power_if_positive
-{
- typedef typename mpl::greater_equal<
- mpl::int_<N>,
- mpl::int_<0>
- >::type is_positive;
-
- typedef power_if_positive<N, is_positive::value> type;
-};
-
-
-} // namespace detail
-
-
-template <int N, typename T, class Policy>
-inline typename tools::promote_args<T>::type pow(T base, const Policy& policy)
-{
- typedef typename tools::promote_args<T>::type result_type;
- return detail::select_power_if_positive<N>::type::result(static_cast<result_type>(base), policy);
-}
-
-
-template <int N, typename T>
-inline typename tools::promote_args<T>::type pow(T base)
-{ return pow<N>(base, policies::policy<>()); }
-
-
-} // namespace math
-} // namespace boost
-
-
-#endif
diff --git a/boost/math/special_functions/powm1.hpp b/boost/math/special_functions/powm1.hpp
deleted file mode 100644
index cb33ae0..0000000
--- a/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 <boost/math/special_functions/log1p.hpp>
-#include <boost/math/special_functions/expm1.hpp>
-#include <boost/math/special_functions/math_fwd.hpp>
-#include <boost/assert.hpp>
-
-namespace boost{ namespace math{ namespace detail{
-
-template <class T, class Policy>
-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 <class T1, class T2>
-inline typename tools::promote_args<T1, T2>::type
- powm1(const T1 a, const T2 z)
-{
- typedef typename tools::promote_args<T1, T2>::type result_type;
- return detail::powm1_imp(static_cast<result_type>(a), static_cast<result_type>(z), policies::policy<>());
-}
-
-template <class T1, class T2, class Policy>
-inline typename tools::promote_args<T1, T2>::type
- powm1(const T1 a, const T2 z, const Policy& pol)
-{
- typedef typename tools::promote_args<T1, T2>::type result_type;
- return detail::powm1_imp(static_cast<result_type>(a), static_cast<result_type>(z), pol);
-}
-
-} // namespace math
-} // namespace boost
-
-#endif // BOOST_MATH_POWM1
-
-
-
-
-
diff --git a/boost/math/special_functions/round.hpp b/boost/math/special_functions/round.hpp
deleted file mode 100644
index a2e5349..0000000
--- a/boost/math/special_functions/round.hpp
+++ /dev/null
@@ -1,93 +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)
-
-#ifndef BOOST_MATH_ROUND_HPP
-#define BOOST_MATH_ROUND_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/math/tools/config.hpp>
-#include <boost/math/policies/error_handling.hpp>
-#include <boost/math/special_functions/fpclassify.hpp>
-
-namespace boost{ namespace math{
-
-template <class T, class Policy>
-inline typename tools::promote_args<T>::type round(const T& v, const Policy& pol)
-{
- BOOST_MATH_STD_USING
- typedef typename tools::promote_args<T>::type result_type;
- if(!(boost::math::isfinite)(v))
- return policies::raise_rounding_error("boost::math::round<%1%>(%1%)", 0, static_cast<result_type>(v), static_cast<result_type>(v), pol);
- return v < 0 ? static_cast<result_type>(ceil(v - 0.5f)) : static_cast<result_type>(floor(v + 0.5f));
-}
-template <class T>
-inline typename tools::promote_args<T>::type round(const T& v)
-{
- return round(v, policies::policy<>());
-}
-//
-// The following functions will not compile unless T has an
-// implicit convertion to the integer types. For user-defined
-// number types this will likely not be the case. In that case
-// these functions should either be specialized for the UDT in
-// question, or else overloads should be placed in the same
-// namespace as the UDT: these will then be found via argument
-// dependent lookup. See our concept archetypes for examples.
-//
-template <class T, class Policy>
-inline int iround(const T& v, const Policy& pol)
-{
- BOOST_MATH_STD_USING
- T r = boost::math::round(v, pol);
- if((r > (std::numeric_limits<int>::max)()) || (r < (std::numeric_limits<int>::min)()))
- return static_cast<int>(policies::raise_rounding_error("boost::math::iround<%1%>(%1%)", 0, v, 0, pol));
- return static_cast<int>(r);
-}
-template <class T>
-inline int iround(const T& v)
-{
- return iround(v, policies::policy<>());
-}
-
-template <class T, class Policy>
-inline long lround(const T& v, const Policy& pol)
-{
- BOOST_MATH_STD_USING
- T r = boost::math::round(v, pol);
- if((r > (std::numeric_limits<long>::max)()) || (r < (std::numeric_limits<long>::min)()))
- return static_cast<long int>(policies::raise_rounding_error("boost::math::lround<%1%>(%1%)", 0, v, 0L, pol));
- return static_cast<long int>(r);
-}
-template <class T>
-inline long lround(const T& v)
-{
- return lround(v, policies::policy<>());
-}
-
-#ifdef BOOST_HAS_LONG_LONG
-
-template <class T, class Policy>
-inline boost::long_long_type llround(const T& v, const Policy& pol)
-{
- BOOST_MATH_STD_USING
- T r = boost::math::round(v, pol);
- if((r > (std::numeric_limits<boost::long_long_type>::max)()) || (r < (std::numeric_limits<boost::long_long_type>::min)()))
- return static_cast<boost::long_long_type>(policies::raise_rounding_error("boost::math::llround<%1%>(%1%)", 0, v, static_cast<boost::long_long_type>(0), pol));
- return static_cast<boost::long_long_type>(r);
-}
-template <class T>
-inline boost::long_long_type llround(const T& v)
-{
- return llround(v, policies::policy<>());
-}
-
-#endif
-
-}} // namespaces
-
-#endif // BOOST_MATH_ROUND_HPP
diff --git a/boost/math/special_functions/sign.hpp b/boost/math/special_functions/sign.hpp
deleted file mode 100644
index 75fb012..0000000
--- a/boost/math/special_functions/sign.hpp
+++ /dev/null
@@ -1,150 +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 <boost/math/tools/config.hpp>
-#include <boost/math/special_functions/math_fwd.hpp>
-#include <boost/math/special_functions/detail/fp_traits.hpp>
-
-namespace boost{ namespace math{
-
-namespace detail {
-
- // signbit
-
-#ifdef BOOST_MATH_USE_STD_FPCLASSIFY
- template<class T>
- inline int signbit_impl(T x, native_tag const&)
- {
- return (std::signbit)(x);
- }
-#endif
-
- template<class T>
- inline int signbit_impl(T x, generic_tag<true> const&)
- {
- return x < 0;
- }
-
- template<class T>
- inline int signbit_impl(T x, generic_tag<false> const&)
- {
- return x < 0;
- }
-
- template<class T>
- inline int signbit_impl(T x, ieee_copy_all_bits_tag const&)
- {
- typedef BOOST_DEDUCED_TYPENAME fp_traits<T>::type traits;
-
- BOOST_DEDUCED_TYPENAME traits::bits a;
- traits::get_bits(x,a);
- return a & traits::sign ? 1 : 0;
- }
-
- template<class T>
- inline int signbit_impl(T x, ieee_copy_leading_bits_tag const&)
- {
- typedef BOOST_DEDUCED_TYPENAME fp_traits<T>::type traits;
-
- BOOST_DEDUCED_TYPENAME traits::bits a;
- traits::get_bits(x,a);
-
- return a & traits::sign ? 1 : 0;
- }
-
- // Changesign
-
- template<class T>
- inline T (changesign_impl)(T x, generic_tag<true> const&)
- {
- return -x;
- }
-
- template<class T>
- inline T (changesign_impl)(T x, generic_tag<false> const&)
- {
- return -x;
- }
-
-
- template<class T>
- inline T changesign_impl(T x, ieee_copy_all_bits_tag const&)
- {
- typedef BOOST_DEDUCED_TYPENAME fp_traits<T>::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<class T>
- inline T (changesign_impl)(T x, ieee_copy_leading_bits_tag const&)
- {
- typedef BOOST_DEDUCED_TYPENAME fp_traits<T>::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<class T> int (signbit)(T x)
-{
- typedef typename detail::fp_traits<T>::type traits;
- typedef typename traits::method method;
- // typedef typename boost::is_floating_point<T>::type fp_tag;
- typedef typename tools::promote_args_permissive<T>::type result_type;
- return detail::signbit_impl(static_cast<result_type>(x), method());
-}
-
-template <class T>
-inline int sign BOOST_NO_MACRO_EXPAND(const T& z)
-{
- return (z == 0) ? 0 : (boost::math::signbit)(z) ? -1 : 1;
-}
-
-template <class T> typename tools::promote_args_permissive<T>::type (changesign)(const T& x)
-{ //!< \brief return unchanged binary pattern of x, except for change of sign bit.
- typedef typename detail::fp_traits<T>::sign_change_type traits;
- typedef typename traits::method method;
- // typedef typename boost::is_floating_point<T>::type fp_tag;
- typedef typename tools::promote_args_permissive<T>::type result_type;
-
- return detail::changesign_impl(static_cast<result_type>(x), method());
-}
-
-template <class T, class U>
-inline typename tools::promote_args_permissive<T, U>::type
- copysign BOOST_NO_MACRO_EXPAND(const T& x, const U& y)
-{
- BOOST_MATH_STD_USING
- typedef typename tools::promote_args_permissive<T, U>::type result_type;
- return (boost::math::signbit)(static_cast<result_type>(x)) != (boost::math::signbit)(static_cast<result_type>(y))
- ? (boost::math::changesign)(static_cast<result_type>(x)) : static_cast<result_type>(x);
-}
-
-} // namespace math
-} // namespace boost
-
-
-#endif // BOOST_MATH_TOOLS_SIGN_HPP
-
-
diff --git a/boost/math/special_functions/sin_pi.hpp b/boost/math/special_functions/sin_pi.hpp
deleted file mode 100644
index 38c02bc..0000000
--- a/boost/math/special_functions/sin_pi.hpp
+++ /dev/null
@@ -1,70 +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_SIN_PI_HPP
-#define BOOST_MATH_SIN_PI_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/config/no_tr1/cmath.hpp>
-#include <boost/math/tools/config.hpp>
-#include <boost/math/special_functions/trunc.hpp>
-#include <boost/math/tools/promotion.hpp>
-#include <boost/math/constants/constants.hpp>
-
-namespace boost{ namespace math{ namespace detail{
-
-template <class T, class Policy>
-T sin_pi_imp(T x, const Policy& pol)
-{
- BOOST_MATH_STD_USING // ADL of std names
- if(x < 0)
- return -sin_pi(-x);
- // sin of pi*x:
- bool invert;
- if(x < 0.5)
- return sin(constants::pi<T>() * x);
- if(x < 1)
- {
- invert = true;
- x = -x;
- }
- else
- invert = false;
-
- T rem = floor(x);
- if(itrunc(rem, pol) & 1)
- invert = !invert;
- rem = x - rem;
- if(rem > 0.5f)
- rem = 1 - rem;
- if(rem == 0.5f)
- return static_cast<T>(invert ? -1 : 1);
-
- rem = sin(constants::pi<T>() * rem);
- return invert ? T(-rem) : rem;
-}
-
-} // namespace detail
-
-template <class T, class Policy>
-inline typename tools::promote_args<T>::type sin_pi(T x, const Policy& pol)
-{
- typedef typename tools::promote_args<T>::type result_type;
- return boost::math::detail::sin_pi_imp<result_type>(x, pol);
-}
-
-template <class T>
-inline typename tools::promote_args<T>::type sin_pi(T x)
-{
- return boost::math::sin_pi(x, policies::policy<>());
-}
-
-} // namespace math
-} // namespace boost
-#endif
-
diff --git a/boost/math/special_functions/sinc.hpp b/boost/math/special_functions/sinc.hpp
deleted file mode 100644
index 84fbf0e..0000000
--- a/boost/math/special_functions/sinc.hpp
+++ /dev/null
@@ -1,145 +0,0 @@
-// boost sinc.hpp header file
-
-// (C) Copyright Hubert Holin 2001.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// See http://www.boost.org for updates, documentation, and revision history.
-
-#ifndef BOOST_SINC_HPP
-#define BOOST_SINC_HPP
-
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/math/tools/config.hpp>
-#include <boost/math/tools/precision.hpp>
-#include <boost/math/policies/policy.hpp>
-#include <boost/math/special_functions/math_fwd.hpp>
-#include <boost/config/no_tr1/cmath.hpp>
-#include <boost/limits.hpp>
-#include <string>
-#include <stdexcept>
-
-
-#include <boost/config.hpp>
-
-
-// These are the the "Sinus Cardinal" functions.
-
-namespace boost
-{
- namespace math
- {
- namespace detail
- {
- // This is the "Sinus Cardinal" of index Pi.
-
- template<typename T>
- inline T sinc_pi_imp(const T x)
- {
- BOOST_MATH_STD_USING
-
- T const taylor_0_bound = tools::epsilon<T>();
- T const taylor_2_bound = tools::root_epsilon<T>();
- T const taylor_n_bound = tools::forth_root_epsilon<T>();
-
- if (abs(x) >= taylor_n_bound)
- {
- return(sin(x)/x);
- }
- else
- {
- // approximation by taylor series in x at 0 up to order 0
- T result = static_cast<T>(1);
-
- if (abs(x) >= taylor_0_bound)
- {
- T x2 = x*x;
-
- // approximation by taylor series in x at 0 up to order 2
- result -= x2/static_cast<T>(6);
-
- if (abs(x) >= taylor_2_bound)
- {
- // approximation by taylor series in x at 0 up to order 4
- result += (x2*x2)/static_cast<T>(120);
- }
- }
-
- return(result);
- }
- }
-
- } // namespace detail
-
- template <class T>
- inline typename tools::promote_args<T>::type sinc_pi(T x)
- {
- typedef typename tools::promote_args<T>::type result_type;
- return detail::sinc_pi_imp(static_cast<result_type>(x));
- }
-
- template <class T, class Policy>
- inline typename tools::promote_args<T>::type sinc_pi(T x, const Policy&)
- {
- typedef typename tools::promote_args<T>::type result_type;
- return detail::sinc_pi_imp(static_cast<result_type>(x));
- }
-
-#ifndef BOOST_NO_TEMPLATE_TEMPLATES
- template<typename T, template<typename> class U>
- inline U<T> sinc_pi(const U<T> x)
- {
- BOOST_MATH_STD_USING
- using ::std::numeric_limits;
-
- T const taylor_0_bound = tools::epsilon<T>();
- T const taylor_2_bound = tools::root_epsilon<T>();
- T const taylor_n_bound = tools::forth_root_epsilon<T>();
-
- if (abs(x) >= taylor_n_bound)
- {
- return(sin(x)/x);
- }
- else
- {
- // approximation by taylor series in x at 0 up to order 0
-#ifdef __MWERKS__
- U<T> result = static_cast<U<T> >(1);
-#else
- U<T> result = U<T>(1);
-#endif
-
- if (abs(x) >= taylor_0_bound)
- {
- U<T> x2 = x*x;
-
- // approximation by taylor series in x at 0 up to order 2
- result -= x2/static_cast<T>(6);
-
- if (abs(x) >= taylor_2_bound)
- {
- // approximation by taylor series in x at 0 up to order 4
- result += (x2*x2)/static_cast<T>(120);
- }
- }
-
- return(result);
- }
- }
-
- template<typename T, template<typename> class U, class Policy>
- inline U<T> sinc_pi(const U<T> x, const Policy&)
- {
- return sinc_pi(x);
- }
-#endif /* BOOST_NO_TEMPLATE_TEMPLATES */
- }
-}
-
-#endif /* BOOST_SINC_HPP */
-
diff --git a/boost/math/special_functions/sinhc.hpp b/boost/math/special_functions/sinhc.hpp
deleted file mode 100644
index d19a4b7..0000000
--- a/boost/math/special_functions/sinhc.hpp
+++ /dev/null
@@ -1,167 +0,0 @@
-// boost sinhc.hpp header file
-
-// (C) Copyright Hubert Holin 2001.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// See http://www.boost.org for updates, documentation, and revision history.
-
-#ifndef BOOST_SINHC_HPP
-#define BOOST_SINHC_HPP
-
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/math/tools/config.hpp>
-#include <boost/math/tools/precision.hpp>
-#include <boost/math/special_functions/math_fwd.hpp>
-#include <boost/config/no_tr1/cmath.hpp>
-#include <boost/limits.hpp>
-#include <string>
-#include <stdexcept>
-
-#include <boost/config.hpp>
-
-
-// These are the the "Hyperbolic Sinus Cardinal" functions.
-
-namespace boost
-{
- namespace math
- {
- namespace detail
- {
-#if defined(__GNUC__) && (__GNUC__ < 3)
- // gcc 2.x ignores function scope using declarations,
- // put them in the scope of the enclosing namespace instead:
-
- using ::std::abs;
- using ::std::sqrt;
- using ::std::sinh;
-
- using ::std::numeric_limits;
-#endif /* defined(__GNUC__) && (__GNUC__ < 3) */
-
- // This is the "Hyperbolic Sinus Cardinal" of index Pi.
-
- template<typename T>
- inline T sinhc_pi_imp(const T x)
- {
-#if defined(BOOST_NO_STDC_NAMESPACE) && !defined(__SUNPRO_CC)
- using ::abs;
- using ::sinh;
- using ::sqrt;
-#else /* BOOST_NO_STDC_NAMESPACE */
- using ::std::abs;
- using ::std::sinh;
- using ::std::sqrt;
-#endif /* BOOST_NO_STDC_NAMESPACE */
-
- static T const taylor_0_bound = tools::epsilon<T>();
- static T const taylor_2_bound = sqrt(taylor_0_bound);
- static T const taylor_n_bound = sqrt(taylor_2_bound);
-
- if (abs(x) >= taylor_n_bound)
- {
- return(sinh(x)/x);
- }
- else
- {
- // approximation by taylor series in x at 0 up to order 0
- T result = static_cast<T>(1);
-
- if (abs(x) >= taylor_0_bound)
- {
- T x2 = x*x;
-
- // approximation by taylor series in x at 0 up to order 2
- result += x2/static_cast<T>(6);
-
- if (abs(x) >= taylor_2_bound)
- {
- // approximation by taylor series in x at 0 up to order 4
- result += (x2*x2)/static_cast<T>(120);
- }
- }
-
- return(result);
- }
- }
-
- } // namespace detail
-
- template <class T>
- inline typename tools::promote_args<T>::type sinhc_pi(T x)
- {
- typedef typename tools::promote_args<T>::type result_type;
- return detail::sinhc_pi_imp(static_cast<result_type>(x));
- }
-
- template <class T, class Policy>
- inline typename tools::promote_args<T>::type sinhc_pi(T x, const Policy&)
- {
- return boost::math::sinhc_pi(x);
- }
-
-#ifdef BOOST_NO_TEMPLATE_TEMPLATES
-#else /* BOOST_NO_TEMPLATE_TEMPLATES */
- template<typename T, template<typename> class U>
- inline U<T> sinhc_pi(const U<T> x)
- {
-#if defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL) || defined(__GNUC__)
- using namespace std;
-#elif defined(BOOST_NO_STDC_NAMESPACE) && !defined(__SUNPRO_CC)
- using ::abs;
- using ::sinh;
- using ::sqrt;
-#else /* BOOST_NO_STDC_NAMESPACE */
- using ::std::abs;
- using ::std::sinh;
- using ::std::sqrt;
-#endif /* BOOST_NO_STDC_NAMESPACE */
-
- using ::std::numeric_limits;
-
- static T const taylor_0_bound = tools::epsilon<T>();
- static T const taylor_2_bound = sqrt(taylor_0_bound);
- static T const taylor_n_bound = sqrt(taylor_2_bound);
-
- if (abs(x) >= taylor_n_bound)
- {
- return(sinh(x)/x);
- }
- else
- {
- // approximation by taylor series in x at 0 up to order 0
-#ifdef __MWERKS__
- U<T> result = static_cast<U<T> >(1);
-#else
- U<T> result = U<T>(1);
-#endif
-
- if (abs(x) >= taylor_0_bound)
- {
- U<T> x2 = x*x;
-
- // approximation by taylor series in x at 0 up to order 2
- result += x2/static_cast<T>(6);
-
- if (abs(x) >= taylor_2_bound)
- {
- // approximation by taylor series in x at 0 up to order 4
- result += (x2*x2)/static_cast<T>(120);
- }
- }
-
- return(result);
- }
- }
-#endif /* BOOST_NO_TEMPLATE_TEMPLATES */
- }
-}
-
-#endif /* BOOST_SINHC_HPP */
-
diff --git a/boost/math/special_functions/spherical_harmonic.hpp b/boost/math/special_functions/spherical_harmonic.hpp
deleted file mode 100644
index 73513ae..0000000
--- a/boost/math/special_functions/spherical_harmonic.hpp
+++ /dev/null
@@ -1,204 +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_SPECIAL_SPHERICAL_HARMONIC_HPP
-#define BOOST_MATH_SPECIAL_SPHERICAL_HARMONIC_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/math/special_functions/legendre.hpp>
-#include <boost/math/tools/workaround.hpp>
-#include <complex>
-
-namespace boost{
-namespace math{
-
-namespace detail{
-
-//
-// Calculates the prefix term that's common to the real
-// and imaginary parts. Does *not* fix up the sign of the result
-// though.
-//
-template <class T, class Policy>
-inline T spherical_harmonic_prefix(unsigned n, unsigned m, T theta, const Policy& pol)
-{
- BOOST_MATH_STD_USING
-
- if(m > n)
- return 0;
-
- T sin_theta = sin(theta);
- T x = cos(theta);
-
- T leg = detail::legendre_p_imp(n, m, x, static_cast<T>(pow(fabs(sin_theta), T(m))), pol);
-
- T prefix = boost::math::tgamma_delta_ratio(static_cast<T>(n - m + 1), static_cast<T>(2 * m), pol);
- prefix *= (2 * n + 1) / (4 * constants::pi<T>());
- prefix = sqrt(prefix);
- return prefix * leg;
-}
-//
-// Real Part:
-//
-template <class T, class Policy>
-T spherical_harmonic_r(unsigned n, int m, T theta, T phi, const Policy& pol)
-{
- BOOST_MATH_STD_USING // ADL of std functions
-
- bool sign = false;
- if(m < 0)
- {
- // Reflect and adjust sign if m < 0:
- sign = m&1;
- m = abs(m);
- }
- if(m&1)
- {
- // Check phase if theta is outside [0, PI]:
- T mod = boost::math::tools::fmod_workaround(theta, T(2 * constants::pi<T>()));
- if(mod < 0)
- mod += 2 * constants::pi<T>();
- if(mod > constants::pi<T>())
- sign = !sign;
- }
- // Get the value and adjust sign as required:
- T prefix = spherical_harmonic_prefix(n, m, theta, pol);
- prefix *= cos(m * phi);
- return sign ? T(-prefix) : prefix;
-}
-
-template <class T, class Policy>
-T spherical_harmonic_i(unsigned n, int m, T theta, T phi, const Policy& pol)
-{
- BOOST_MATH_STD_USING // ADL of std functions
-
- bool sign = false;
- if(m < 0)
- {
- // Reflect and adjust sign if m < 0:
- sign = !(m&1);
- m = abs(m);
- }
- if(m&1)
- {
- // Check phase if theta is outside [0, PI]:
- T mod = boost::math::tools::fmod_workaround(theta, T(2 * constants::pi<T>()));
- if(mod < 0)
- mod += 2 * constants::pi<T>();
- if(mod > constants::pi<T>())
- sign = !sign;
- }
- // Get the value and adjust sign as required:
- T prefix = spherical_harmonic_prefix(n, m, theta, pol);
- prefix *= sin(m * phi);
- return sign ? T(-prefix) : prefix;
-}
-
-template <class T, class U, class Policy>
-std::complex<T> spherical_harmonic(unsigned n, int m, U theta, U phi, const Policy& pol)
-{
- BOOST_MATH_STD_USING
- //
- // Sort out the signs:
- //
- bool r_sign = false;
- bool i_sign = false;
- if(m < 0)
- {
- // Reflect and adjust sign if m < 0:
- r_sign = m&1;
- i_sign = !(m&1);
- m = abs(m);
- }
- if(m&1)
- {
- // Check phase if theta is outside [0, PI]:
- U mod = boost::math::tools::fmod_workaround(theta, U(2 * constants::pi<U>()));
- if(mod < 0)
- mod += 2 * constants::pi<U>();
- if(mod > constants::pi<U>())
- {
- r_sign = !r_sign;
- i_sign = !i_sign;
- }
- }
- //
- // Calculate the value:
- //
- U prefix = spherical_harmonic_prefix(n, m, theta, pol);
- U r = prefix * cos(m * phi);
- U i = prefix * sin(m * phi);
- //
- // Add in the signs:
- //
- if(r_sign)
- r = -r;
- if(i_sign)
- i = -i;
- static const char* function = "boost::math::spherical_harmonic<%1%>(int, int, %1%, %1%)";
- return std::complex<T>(policies::checked_narrowing_cast<T, Policy>(r, function), policies::checked_narrowing_cast<T, Policy>(i, function));
-}
-
-} // namespace detail
-
-template <class T1, class T2, class Policy>
-inline std::complex<typename tools::promote_args<T1, T2>::type>
- spherical_harmonic(unsigned n, int m, T1 theta, T2 phi, const Policy& pol)
-{
- typedef typename tools::promote_args<T1, T2>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- return detail::spherical_harmonic<result_type, value_type>(n, m, static_cast<value_type>(theta), static_cast<value_type>(phi), pol);
-}
-
-template <class T1, class T2>
-inline std::complex<typename tools::promote_args<T1, T2>::type>
- spherical_harmonic(unsigned n, int m, T1 theta, T2 phi)
-{
- return boost::math::spherical_harmonic(n, m, theta, phi, policies::policy<>());
-}
-
-template <class T1, class T2, class Policy>
-inline typename tools::promote_args<T1, T2>::type
- spherical_harmonic_r(unsigned n, int m, T1 theta, T2 phi, const Policy& pol)
-{
- typedef typename tools::promote_args<T1, T2>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- return policies::checked_narrowing_cast<result_type, Policy>(detail::spherical_harmonic_r(n, m, static_cast<value_type>(theta), static_cast<value_type>(phi), pol), "bost::math::spherical_harmonic_r<%1%>(unsigned, int, %1%, %1%)");
-}
-
-template <class T1, class T2>
-inline typename tools::promote_args<T1, T2>::type
- spherical_harmonic_r(unsigned n, int m, T1 theta, T2 phi)
-{
- return boost::math::spherical_harmonic_r(n, m, theta, phi, policies::policy<>());
-}
-
-template <class T1, class T2, class Policy>
-inline typename tools::promote_args<T1, T2>::type
- spherical_harmonic_i(unsigned n, int m, T1 theta, T2 phi, const Policy& pol)
-{
- typedef typename tools::promote_args<T1, T2>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- return policies::checked_narrowing_cast<result_type, Policy>(detail::spherical_harmonic_i(n, m, static_cast<value_type>(theta), static_cast<value_type>(phi), pol), "boost::math::spherical_harmonic_i<%1%>(unsigned, int, %1%, %1%)");
-}
-
-template <class T1, class T2>
-inline typename tools::promote_args<T1, T2>::type
- spherical_harmonic_i(unsigned n, int m, T1 theta, T2 phi)
-{
- return boost::math::spherical_harmonic_i(n, m, theta, phi, policies::policy<>());
-}
-
-} // namespace math
-} // namespace boost
-
-#endif // BOOST_MATH_SPECIAL_SPHERICAL_HARMONIC_HPP
-
-
-
diff --git a/boost/math/special_functions/sqrt1pm1.hpp b/boost/math/special_functions/sqrt1pm1.hpp
deleted file mode 100644
index ad0203e..0000000
--- a/boost/math/special_functions/sqrt1pm1.hpp
+++ /dev/null
@@ -1,48 +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_SQRT1PM1
-#define BOOST_MATH_SQRT1PM1
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/math/special_functions/log1p.hpp>
-#include <boost/math/special_functions/expm1.hpp>
-#include <boost/math/special_functions/math_fwd.hpp>
-
-//
-// This algorithm computes sqrt(1+x)-1 for small x:
-//
-
-namespace boost{ namespace math{
-
-template <class T, class Policy>
-inline typename tools::promote_args<T>::type sqrt1pm1(const T& val, const Policy& pol)
-{
- typedef typename tools::promote_args<T>::type result_type;
- BOOST_MATH_STD_USING
-
- if(fabs(result_type(val)) > 0.75)
- return sqrt(1 + result_type(val)) - 1;
- return boost::math::expm1(boost::math::log1p(val, pol) / 2, pol);
-}
-
-template <class T>
-inline typename tools::promote_args<T>::type sqrt1pm1(const T& val)
-{
- return sqrt1pm1(val, policies::policy<>());
-}
-
-} // namespace math
-} // namespace boost
-
-#endif // BOOST_MATH_SQRT1PM1
-
-
-
-
-
diff --git a/boost/math/special_functions/trunc.hpp b/boost/math/special_functions/trunc.hpp
deleted file mode 100644
index 8e515f3..0000000
--- a/boost/math/special_functions/trunc.hpp
+++ /dev/null
@@ -1,96 +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)
-
-#ifndef BOOST_MATH_TRUNC_HPP
-#define BOOST_MATH_TRUNC_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/math/tools/config.hpp>
-#include <boost/math/policies/error_handling.hpp>
-#include <boost/math/special_functions/fpclassify.hpp>
-
-namespace boost{ namespace math{
-
-template <class T, class Policy>
-inline typename tools::promote_args<T>::type trunc(const T& v, const Policy& pol)
-{
- BOOST_MATH_STD_USING
- typedef typename tools::promote_args<T>::type result_type;
- if(!(boost::math::isfinite)(v))
- return policies::raise_rounding_error("boost::math::trunc<%1%>(%1%)", 0, static_cast<result_type>(v), static_cast<result_type>(v), pol);
- return (v >= 0) ? static_cast<result_type>(floor(v)) : static_cast<result_type>(ceil(v));
-}
-template <class T>
-inline typename tools::promote_args<T>::type trunc(const T& v)
-{
- return trunc(v, policies::policy<>());
-}
-//
-// The following functions will not compile unless T has an
-// implicit convertion to the integer types. For user-defined
-// number types this will likely not be the case. In that case
-// these functions should either be specialized for the UDT in
-// question, or else overloads should be placed in the same
-// namespace as the UDT: these will then be found via argument
-// dependent lookup. See our concept archetypes for examples.
-//
-template <class T, class Policy>
-inline int itrunc(const T& v, const Policy& pol)
-{
- BOOST_MATH_STD_USING
- typedef typename tools::promote_args<T>::type result_type;
- result_type r = boost::math::trunc(v, pol);
- if((r > (std::numeric_limits<int>::max)()) || (r < (std::numeric_limits<int>::min)()))
- return static_cast<int>(policies::raise_rounding_error("boost::math::itrunc<%1%>(%1%)", 0, static_cast<result_type>(v), 0, pol));
- return static_cast<int>(r);
-}
-template <class T>
-inline int itrunc(const T& v)
-{
- return itrunc(v, policies::policy<>());
-}
-
-template <class T, class Policy>
-inline long ltrunc(const T& v, const Policy& pol)
-{
- BOOST_MATH_STD_USING
- typedef typename tools::promote_args<T>::type result_type;
- result_type r = boost::math::trunc(v, pol);
- if((r > (std::numeric_limits<long>::max)()) || (r < (std::numeric_limits<long>::min)()))
- return static_cast<long>(policies::raise_rounding_error("boost::math::ltrunc<%1%>(%1%)", 0, static_cast<result_type>(v), 0L, pol));
- return static_cast<long>(r);
-}
-template <class T>
-inline long ltrunc(const T& v)
-{
- return ltrunc(v, policies::policy<>());
-}
-
-#ifdef BOOST_HAS_LONG_LONG
-
-template <class T, class Policy>
-inline boost::long_long_type lltrunc(const T& v, const Policy& pol)
-{
- BOOST_MATH_STD_USING
- typedef typename tools::promote_args<T>::type result_type;
- result_type r = boost::math::trunc(v, pol);
- if((r > (std::numeric_limits<boost::long_long_type>::max)()) || (r < (std::numeric_limits<boost::long_long_type>::min)()))
- return static_cast<boost::long_long_type>(policies::raise_rounding_error("boost::math::lltrunc<%1%>(%1%)", 0, v, static_cast<boost::long_long_type>(0), pol));
- return static_cast<boost::long_long_type>(r);
-}
-template <class T>
-inline boost::long_long_type lltrunc(const T& v)
-{
- return lltrunc(v, policies::policy<>());
-}
-
-#endif
-
-}} // namespaces
-
-#endif // BOOST_MATH_TRUNC_HPP
diff --git a/boost/math/special_functions/zeta.hpp b/boost/math/special_functions/zeta.hpp
deleted file mode 100644
index 6c82fa4..0000000
--- a/boost/math/special_functions/zeta.hpp
+++ /dev/null
@@ -1,995 +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)
-
-#ifndef BOOST_MATH_ZETA_HPP
-#define BOOST_MATH_ZETA_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/math/tools/precision.hpp>
-#include <boost/math/tools/series.hpp>
-#include <boost/math/tools/big_constant.hpp>
-#include <boost/math/policies/error_handling.hpp>
-#include <boost/math/special_functions/gamma.hpp>
-#include <boost/math/special_functions/sin_pi.hpp>
-
-namespace boost{ namespace math{ namespace detail{
-
-#if 0
-//
-// This code is commented out because we have a better more rapidly converging series
-// now. Retained for future reference and in case the new code causes any issues down the line....
-//
-
-template <class T, class Policy>
-struct zeta_series_cache_size
-{
- //
- // Work how large to make our cache size when evaluating the series
- // evaluation: normally this is just large enough for the series
- // to have converged, but for arbitrary precision types we need a
- // really large cache to achieve reasonable precision in a reasonable
- // time. This is important when constructing rational approximations
- // to zeta for example.
- //
- typedef typename boost::math::policies::precision<T,Policy>::type precision_type;
- typedef typename mpl::if_<
- mpl::less_equal<precision_type, mpl::int_<0> >,
- mpl::int_<5000>,
- typename mpl::if_<
- mpl::less_equal<precision_type, mpl::int_<64> >,
- mpl::int_<70>,
- typename mpl::if_<
- mpl::less_equal<precision_type, mpl::int_<113> >,
- mpl::int_<100>,
- mpl::int_<5000>
- >::type
- >::type
- >::type type;
-};
-
-template <class T, class Policy>
-T zeta_series_imp(T s, T sc, const Policy&)
-{
- //
- // Series evaluation from:
- // Havil, J. Gamma: Exploring Euler's Constant.
- // Princeton, NJ: Princeton University Press, 2003.
- //
- // See also http://mathworld.wolfram.com/RiemannZetaFunction.html
- //
- BOOST_MATH_STD_USING
- T sum = 0;
- T mult = 0.5;
- T change;
- typedef typename zeta_series_cache_size<T,Policy>::type cache_size;
- T powers[cache_size::value] = { 0, };
- unsigned n = 0;
- do{
- T binom = -static_cast<T>(n);
- T nested_sum = 1;
- if(n < sizeof(powers) / sizeof(powers[0]))
- powers[n] = pow(static_cast<T>(n + 1), -s);
- for(unsigned k = 1; k <= n; ++k)
- {
- T p;
- if(k < sizeof(powers) / sizeof(powers[0]))
- {
- p = powers[k];
- //p = pow(k + 1, -s);
- }
- else
- p = pow(static_cast<T>(k + 1), -s);
- nested_sum += binom * p;
- binom *= (k - static_cast<T>(n)) / (k + 1);
- }
- change = mult * nested_sum;
- sum += change;
- mult /= 2;
- ++n;
- }while(fabs(change / sum) > tools::epsilon<T>());
-
- return sum * 1 / -boost::math::powm1(T(2), sc);
-}
-
-//
-// Classical p-series:
-//
-template <class T>
-struct zeta_series2
-{
- typedef T result_type;
- zeta_series2(T _s) : s(-_s), k(1){}
- T operator()()
- {
- BOOST_MATH_STD_USING
- return pow(static_cast<T>(k++), s);
- }
-private:
- T s;
- unsigned k;
-};
-
-template <class T, class Policy>
-inline T zeta_series2_imp(T s, const Policy& pol)
-{
- boost::uintmax_t max_iter = policies::get_max_series_iterations<Policy>();;
- zeta_series2<T> f(s);
- T result = tools::sum_series(
- f,
- policies::get_epsilon<T, Policy>(),
- max_iter);
- policies::check_series_iterations<T>("boost::math::zeta_series2<%1%>(%1%)", max_iter, pol);
- return result;
-}
-#endif
-
-template <class T, class Policy>
-T zeta_polynomial_series(T s, T sc, Policy const &)
-{
- //
- // This is algorithm 3 from:
- //
- // "An Efficient Algorithm for the Riemann Zeta Function", P. Borwein,
- // Canadian Mathematical Society, Conference Proceedings.
- // See: http://www.cecm.sfu.ca/personal/pborwein/PAPERS/P155.pdf
- //
- BOOST_MATH_STD_USING
- int n = itrunc(T(log(boost::math::tools::epsilon<T>()) / -2));
- T sum = 0;
- T two_n = ldexp(T(1), n);
- int ej_sign = 1;
- for(int j = 0; j < n; ++j)
- {
- sum += ej_sign * -two_n / pow(T(j + 1), s);
- ej_sign = -ej_sign;
- }
- T ej_sum = 1;
- T ej_term = 1;
- for(int j = n; j <= 2 * n - 1; ++j)
- {
- sum += ej_sign * (ej_sum - two_n) / pow(T(j + 1), s);
- ej_sign = -ej_sign;
- ej_term *= 2 * n - j;
- ej_term /= j - n + 1;
- ej_sum += ej_term;
- }
- return -sum / (two_n * (-powm1(T(2), sc)));
-}
-
-template <class T, class Policy>
-T zeta_imp_prec(T s, T sc, const Policy& pol, const mpl::int_<0>&)
-{
- BOOST_MATH_STD_USING
- T result;
- result = zeta_polynomial_series(s, sc, pol);
-#if 0
- // Old code archived for future reference:
-
- //
- // Only use power series if it will converge in 100
- // iterations or less: the more iterations it consumes
- // the slower convergence becomes so we have to be very
- // careful in it's usage.
- //
- if (s > -log(tools::epsilon<T>()) / 4.5)
- result = detail::zeta_series2_imp(s, pol);
- else
- result = detail::zeta_series_imp(s, sc, pol);
-#endif
- return result;
-}
-
-template <class T, class Policy>
-inline T zeta_imp_prec(T s, T sc, const Policy&, const mpl::int_<53>&)
-{
- BOOST_MATH_STD_USING
- T result;
- if(s < 1)
- {
- // Rational Approximation
- // Maximum Deviation Found: 2.020e-18
- // Expected Error Term: -2.020e-18
- // Max error found at double precision: 3.994987e-17
- static const T P[6] = {
- 0.24339294433593750202L,
- -0.49092470516353571651L,
- 0.0557616214776046784287L,
- -0.00320912498879085894856L,
- 0.000451534528645796438704L,
- -0.933241270357061460782e-5L,
- };
- static const T Q[6] = {
- 1L,
- -0.279960334310344432495L,
- 0.0419676223309986037706L,
- -0.00413421406552171059003L,
- 0.00024978985622317935355L,
- -0.101855788418564031874e-4L,
- };
- result = tools::evaluate_polynomial(P, sc) / tools::evaluate_polynomial(Q, sc);
- result -= 1.2433929443359375F;
- result += (sc);
- result /= (sc);
- }
- else if(s <= 2)
- {
- // Maximum Deviation Found: 9.007e-20
- // Expected Error Term: 9.007e-20
- static const T P[6] = {
- 0.577215664901532860516,
- 0.243210646940107164097,
- 0.0417364673988216497593,
- 0.00390252087072843288378,
- 0.000249606367151877175456,
- 0.110108440976732897969e-4,
- };
- static const T Q[6] = {
- 1,
- 0.295201277126631761737,
- 0.043460910607305495864,
- 0.00434930582085826330659,
- 0.000255784226140488490982,
- 0.10991819782396112081e-4,
- };
- result = tools::evaluate_polynomial(P, T(-sc)) / tools::evaluate_polynomial(Q, T(-sc));
- result += 1 / (-sc);
- }
- else if(s <= 4)
- {
- // Maximum Deviation Found: 5.946e-22
- // Expected Error Term: -5.946e-22
- static const float Y = 0.6986598968505859375;
- static const T P[6] = {
- -0.0537258300023595030676,
- 0.0445163473292365591906,
- 0.0128677673534519952905,
- 0.00097541770457391752726,
- 0.769875101573654070925e-4,
- 0.328032510000383084155e-5,
- };
- static const T Q[7] = {
- 1,
- 0.33383194553034051422,
- 0.0487798431291407621462,
- 0.00479039708573558490716,
- 0.000270776703956336357707,
- 0.106951867532057341359e-4,
- 0.236276623974978646399e-7,
- };
- result = tools::evaluate_polynomial(P, T(s - 2)) / tools::evaluate_polynomial(Q, T(s - 2));
- result += Y + 1 / (-sc);
- }
- else if(s <= 7)
- {
- // Maximum Deviation Found: 2.955e-17
- // Expected Error Term: 2.955e-17
- // Max error found at double precision: 2.009135e-16
-
- static const T P[6] = {
- -2.49710190602259410021,
- -2.60013301809475665334,
- -0.939260435377109939261,
- -0.138448617995741530935,
- -0.00701721240549802377623,
- -0.229257310594893932383e-4,
- };
- static const T Q[9] = {
- 1,
- 0.706039025937745133628,
- 0.15739599649558626358,
- 0.0106117950976845084417,
- -0.36910273311764618902e-4,
- 0.493409563927590008943e-5,
- -0.234055487025287216506e-6,
- 0.718833729365459760664e-8,
- -0.1129200113474947419e-9,
- };
- result = tools::evaluate_polynomial(P, T(s - 4)) / tools::evaluate_polynomial(Q, T(s - 4));
- result = 1 + exp(result);
- }
- else if(s < 15)
- {
- // Maximum Deviation Found: 7.117e-16
- // Expected Error Term: 7.117e-16
- // Max error found at double precision: 9.387771e-16
- static const T P[7] = {
- -4.78558028495135619286,
- -1.89197364881972536382,
- -0.211407134874412820099,
- -0.000189204758260076688518,
- 0.00115140923889178742086,
- 0.639949204213164496988e-4,
- 0.139348932445324888343e-5,
- };
- static const T Q[9] = {
- 1,
- 0.244345337378188557777,
- 0.00873370754492288653669,
- -0.00117592765334434471562,
- -0.743743682899933180415e-4,
- -0.21750464515767984778e-5,
- 0.471001264003076486547e-8,
- -0.833378440625385520576e-10,
- 0.699841545204845636531e-12,
- };
- result = tools::evaluate_polynomial(P, T(s - 7)) / tools::evaluate_polynomial(Q, T(s - 7));
- result = 1 + exp(result);
- }
- else if(s < 36)
- {
- // Max error in interpolated form: 1.668e-17
- // Max error found at long double precision: 1.669714e-17
- static const T P[8] = {
- -10.3948950573308896825,
- -2.85827219671106697179,
- -0.347728266539245787271,
- -0.0251156064655346341766,
- -0.00119459173416968685689,
- -0.382529323507967522614e-4,
- -0.785523633796723466968e-6,
- -0.821465709095465524192e-8,
- };
- static const T Q[10] = {
- 1,
- 0.208196333572671890965,
- 0.0195687657317205033485,
- 0.00111079638102485921877,
- 0.408507746266039256231e-4,
- 0.955561123065693483991e-6,
- 0.118507153474022900583e-7,
- 0.222609483627352615142e-14,
- };
- result = tools::evaluate_polynomial(P, T(s - 15)) / tools::evaluate_polynomial(Q, T(s - 15));
- result = 1 + exp(result);
- }
- else if(s < 56)
- {
- result = 1 + pow(T(2), -s);
- }
- else
- {
- result = 1;
- }
- return result;
-}
-
-template <class T, class Policy>
-T zeta_imp_prec(T s, T sc, const Policy&, const mpl::int_<64>&)
-{
- BOOST_MATH_STD_USING
- T result;
- if(s < 1)
- {
- // Rational Approximation
- // Maximum Deviation Found: 3.099e-20
- // Expected Error Term: 3.099e-20
- // Max error found at long double precision: 5.890498e-20
- static const T P[6] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.243392944335937499969),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.496837806864865688082),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.0680008039723709987107),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.00511620413006619942112),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.000455369899250053003335),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.279496685273033761927e-4),
- };
- static const T Q[7] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, 1),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.30425480068225790522),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.050052748580371598736),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.00519355671064700627862),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.000360623385771198350257),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.159600883054550987633e-4),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.339770279812410586032e-6),
- };
- result = tools::evaluate_polynomial(P, sc) / tools::evaluate_polynomial(Q, sc);
- result -= 1.2433929443359375F;
- result += (sc);
- result /= (sc);
- }
- else if(s <= 2)
- {
- // Maximum Deviation Found: 1.059e-21
- // Expected Error Term: 1.059e-21
- // Max error found at long double precision: 1.626303e-19
-
- static const T P[6] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.577215664901532860605),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.222537368917162139445),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.0356286324033215682729),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.00304465292366350081446),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.000178102511649069421904),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.700867470265983665042e-5),
- };
- static const T Q[7] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, 1),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.259385759149531030085),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.0373974962106091316854),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.00332735159183332820617),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.000188690420706998606469),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.635994377921861930071e-5),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.226583954978371199405e-7),
- };
- result = tools::evaluate_polynomial(P, T(-sc)) / tools::evaluate_polynomial(Q, T(-sc));
- result += 1 / (-sc);
- }
- else if(s <= 4)
- {
- // Maximum Deviation Found: 5.946e-22
- // Expected Error Term: -5.946e-22
- static const float Y = 0.6986598968505859375;
- static const T P[7] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.053725830002359501027),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.0470551187571475844778),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.0101339410415759517471),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.00100240326666092854528),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.685027119098122814867e-4),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.390972820219765942117e-5),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.540319769113543934483e-7),
- };
- static const T Q[8] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, 1.0),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.286577739726542730421),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.0447355811517733225843),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.00430125107610252363302),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.000284956969089786662045),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.116188101609848411329e-4),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.278090318191657278204e-6),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.19683620233222028478e-8),
- };
- result = tools::evaluate_polynomial(P, T(s - 2)) / tools::evaluate_polynomial(Q, T(s - 2));
- result += Y + 1 / (-sc);
- }
- else if(s <= 7)
- {
- // Max error found at long double precision: 8.132216e-19
- static const T P[8] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, -2.49710190602259407065),
- BOOST_MATH_BIG_CONSTANT(T, 64, -3.36664913245960625334),
- BOOST_MATH_BIG_CONSTANT(T, 64, -1.77180020623777595452),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.464717885249654313933),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.0643694921293579472583),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.00464265386202805715487),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.000165556579779704340166),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.252884970740994069582e-5),
- };
- static const T Q[9] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, 1.0),
- BOOST_MATH_BIG_CONSTANT(T, 64, 1.01300131390690459085),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.387898115758643503827),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.0695071490045701135188),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.00586908595251442839291),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.000217752974064612188616),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.397626583349419011731e-5),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.927884739284359700764e-8),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.119810501805618894381e-9),
- };
- result = tools::evaluate_polynomial(P, T(s - 4)) / tools::evaluate_polynomial(Q, T(s - 4));
- result = 1 + exp(result);
- }
- else if(s < 15)
- {
- // Max error in interpolated form: 1.133e-18
- // Max error found at long double precision: 2.183198e-18
- static const T P[9] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, -4.78558028495135548083),
- BOOST_MATH_BIG_CONSTANT(T, 64, -3.23873322238609358947),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.892338582881021799922),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.131326296217965913809),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.0115651591773783712996),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.000657728968362695775205),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.252051328129449973047e-4),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.626503445372641798925e-6),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.815696314790853893484e-8),
- };
- static const T Q[9] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, 1.0),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.525765665400123515036),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.10852641753657122787),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.0115669945375362045249),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.000732896513858274091966),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.30683952282420248448e-4),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.819649214609633126119e-6),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.117957556472335968146e-7),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.193432300973017671137e-12),
- };
- result = tools::evaluate_polynomial(P, T(s - 7)) / tools::evaluate_polynomial(Q, T(s - 7));
- result = 1 + exp(result);
- }
- else if(s < 42)
- {
- // Max error in interpolated form: 1.668e-17
- // Max error found at long double precision: 1.669714e-17
- static const T P[9] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, -10.3948950573308861781),
- BOOST_MATH_BIG_CONSTANT(T, 64, -2.82646012777913950108),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.342144362739570333665),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.0249285145498722647472),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.00122493108848097114118),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.423055371192592850196e-4),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.1025215577185967488e-5),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.165096762663509467061e-7),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.145392555873022044329e-9),
- };
- static const T Q[10] = {
- BOOST_MATH_BIG_CONSTANT(T, 64, 1.0),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.205135978585281988052),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.0192359357875879453602),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.00111496452029715514119),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.434928449016693986857e-4),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.116911068726610725891e-5),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.206704342290235237475e-7),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.209772836100827647474e-9),
- BOOST_MATH_BIG_CONSTANT(T, 64, -0.939798249922234703384e-16),
- BOOST_MATH_BIG_CONSTANT(T, 64, 0.264584017421245080294e-18),
- };
- result = tools::evaluate_polynomial(P, T(s - 15)) / tools::evaluate_polynomial(Q, T(s - 15));
- result = 1 + exp(result);
- }
- else if(s < 63)
- {
- result = 1 + pow(T(2), -s);
- }
- else
- {
- result = 1;
- }
- return result;
-}
-
-template <class T, class Policy>
-T zeta_imp_prec(T s, T sc, const Policy&, const mpl::int_<113>&)
-{
- BOOST_MATH_STD_USING
- T result;
- if(s < 1)
- {
- // Rational Approximation
- // Maximum Deviation Found: 9.493e-37
- // Expected Error Term: 9.492e-37
- // Max error found at long double precision: 7.281332e-31
-
- static const T P[10] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, -1),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.0353008629988648122808504280990313668),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0107795651204927743049369868548706909),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.000523961870530500751114866884685172975),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.661805838304910731947595897966487515e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.658932670403818558510656304189164638e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.103437265642266106533814021041010453e-6),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.116818787212666457105375746642927737e-7),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.660690993901506912123512551294239036e-9),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.113103113698388531428914333768142527e-10),
- };
- static const T Q[11] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 1),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.387483472099602327112637481818565459),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0802265315091063135271497708694776875),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.0110727276164171919280036408995078164),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00112552716946286252000434849173787243),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.874554160748626916455655180296834352e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.530097847491828379568636739662278322e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.248461553590496154705565904497247452e-6),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.881834921354014787309644951507523899e-8),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.217062446168217797598596496310953025e-9),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.315823200002384492377987848307151168e-11),
- };
- result = tools::evaluate_polynomial(P, sc) / tools::evaluate_polynomial(Q, sc);
- result += (sc);
- result /= (sc);
- }
- else if(s <= 2)
- {
- // Maximum Deviation Found: 1.616e-37
- // Expected Error Term: -1.615e-37
-
- static const T P[10] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.577215664901532860606512090082402431),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.255597968739771510415479842335906308),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0494056503552807274142218876983542205),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00551372778611700965268920983472292325),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00043667616723970574871427830895192731),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.268562259154821957743669387915239528e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.109249633923016310141743084480436612e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.273895554345300227466534378753023924e-7),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.583103205551702720149237384027795038e-9),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.835774625259919268768735944711219256e-11),
- };
- static const T Q[11] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 1),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.316661751179735502065583176348292881),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0540401806533507064453851182728635272),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00598621274107420237785899476374043797),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.000474907812321704156213038740142079615),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.272125421722314389581695715835862418e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.112649552156479800925522445229212933e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.301838975502992622733000078063330461e-7),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.422960728687211282539769943184270106e-9),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.377105263588822468076813329270698909e-11),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.581926559304525152432462127383600681e-13),
- };
- result = tools::evaluate_polynomial(P, T(-sc)) / tools::evaluate_polynomial(Q, T(-sc));
- result += 1 / (-sc);
- }
- else if(s <= 4)
- {
- // Maximum Deviation Found: 1.891e-36
- // Expected Error Term: -1.891e-36
- // Max error found: 2.171527e-35
-
- static const float Y = 0.6986598968505859375;
- static const T P[11] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.0537258300023595010275848333539748089),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0429086930802630159457448174466342553),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0136148228754303412510213395034056857),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00190231601036042925183751238033763915),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.000186880390916311438818302549192456581),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.145347370745893262394287982691323657e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.805843276446813106414036600485884885e-6),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.340818159286739137503297172091882574e-7),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.115762357488748996526167305116837246e-8),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.231904754577648077579913403645767214e-10),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.340169592866058506675897646629036044e-12),
- };
- static const T Q[12] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 1),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.363755247765087100018556983050520554),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0696581979014242539385695131258321598),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00882208914484611029571547753782014817),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.000815405623261946661762236085660996718),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.571366167062457197282642344940445452e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.309278269271853502353954062051797838e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.12822982083479010834070516053794262e-6),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.397876357325018976733953479182110033e-8),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.8484432107648683277598472295289279e-10),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.105677416606909614301995218444080615e-11),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.547223964564003701979951154093005354e-15),
- };
- result = tools::evaluate_polynomial(P, T(s - 2)) / tools::evaluate_polynomial(Q, T(s - 2));
- result += Y + 1 / (-sc);
- }
- else if(s <= 6)
- {
- // Max error in interpolated form: 1.510e-37
- // Max error found at long double precision: 2.769266e-34
-
- static const T Y = 3.28348541259765625F;
-
- static const T P[13] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.786383506575062179339611614117697622),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.495766593395271370974685959652073976),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.409116737851754766422360889037532228),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.57340744006238263817895456842655987),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.280479899797421910694892949057963111),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.0753148409447590257157585696212649869),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.0122934003684672788499099362823748632),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.00126148398446193639247961370266962927),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.828465038179772939844657040917364896e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.361008916706050977143208468690645684e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.109879825497910544424797771195928112e-6),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.214539416789686920918063075528797059e-8),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.15090220092460596872172844424267351e-10),
- };
- static const T Q[14] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 1),
- BOOST_MATH_BIG_CONSTANT(T, 113, 1.69490865837142338462982225731926485),
- BOOST_MATH_BIG_CONSTANT(T, 113, 1.22697696630994080733321401255942464),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.495409420862526540074366618006341533),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.122368084916843823462872905024259633),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0191412993625268971656513890888208623),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00191401538628980617753082598351559642),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.000123318142456272424148930280876444459),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.531945488232526067889835342277595709e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.161843184071894368337068779669116236e-6),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.305796079600152506743828859577462778e-8),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.233582592298450202680170811044408894e-10),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.275363878344548055574209713637734269e-13),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.221564186807357535475441900517843892e-15),
- };
- result = tools::evaluate_polynomial(P, T(s - 4)) / tools::evaluate_polynomial(Q, T(s - 4));
- result -= Y;
- result = 1 + exp(result);
- }
- else if(s < 10)
- {
- // Max error in interpolated form: 1.999e-34
- // Max error found at long double precision: 2.156186e-33
-
- static const T P[13] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, -4.0545627381873738086704293881227365),
- BOOST_MATH_BIG_CONSTANT(T, 113, -4.70088348734699134347906176097717782),
- BOOST_MATH_BIG_CONSTANT(T, 113, -2.36921550900925512951976617607678789),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.684322583796369508367726293719322866),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.126026534540165129870721937592996324),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.015636903921778316147260572008619549),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.00135442294754728549644376325814460807),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.842793965853572134365031384646117061e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.385602133791111663372015460784978351e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.130458500394692067189883214401478539e-6),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.315861074947230418778143153383660035e-8),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.500334720512030826996373077844707164e-10),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.420204769185233365849253969097184005e-12),
- };
- static const T Q[14] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 1),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.97663511666410096104783358493318814),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.40878780231201806504987368939673249),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0963890666609396058945084107597727252),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0142207619090854604824116070866614505),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00139010220902667918476773423995750877),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.940669540194694997889636696089994734e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.458220848507517004399292480807026602e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.16345521617741789012782420625435495e-6),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.414007452533083304371566316901024114e-8),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.68701473543366328016953742622661377e-10),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.603461891080716585087883971886075863e-12),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.294670713571839023181857795866134957e-16),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.147003914536437243143096875069813451e-18),
- };
- result = tools::evaluate_polynomial(P, T(s - 6)) / tools::evaluate_polynomial(Q, T(s - 6));
- result = 1 + exp(result);
- }
- else if(s < 17)
- {
- // Max error in interpolated form: 1.641e-32
- // Max error found at long double precision: 1.696121e-32
- static const T P[13] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, -6.91319491921722925920883787894829678),
- BOOST_MATH_BIG_CONSTANT(T, 113, -3.65491257639481960248690596951049048),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.813557553449954526442644544105257881),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.0994317301685870959473658713841138083),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.00726896610245676520248617014211734906),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.000317253318715075854811266230916762929),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.66851422826636750855184211580127133e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.879464154730985406003332577806849971e-7),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.113838903158254250631678791998294628e-7),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.379184410304927316385211327537817583e-9),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.612992858643904887150527613446403867e-11),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.347873737198164757035457841688594788e-13),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.289187187441625868404494665572279364e-15),
- };
- static const T Q[14] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 1),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.427310044448071818775721584949868806),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.074602514873055756201435421385243062),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00688651562174480772901425121653945942),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.000360174847635115036351323894321880445),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.973556847713307543918865405758248777e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.853455848314516117964634714780874197e-8),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.118203513654855112421673192194622826e-7),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.462521662511754117095006543363328159e-9),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.834212591919475633107355719369463143e-11),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.5354594751002702935740220218582929e-13),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.406451690742991192964889603000756203e-15),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.887948682401000153828241615760146728e-19),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.34980761098820347103967203948619072e-21),
- };
- result = tools::evaluate_polynomial(P, T(s - 10)) / tools::evaluate_polynomial(Q, T(s - 10));
- result = 1 + exp(result);
- }
- else if(s < 30)
- {
- // Max error in interpolated form: 1.563e-31
- // Max error found at long double precision: 1.562725e-31
-
- static const T P[13] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, -11.7824798233959252791987402769438322),
- BOOST_MATH_BIG_CONSTANT(T, 113, -4.36131215284987731928174218354118102),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.732260980060982349410898496846972204),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.0744985185694913074484248803015717388),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.00517228281320594683022294996292250527),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.000260897206152101522569969046299309939),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.989553462123121764865178453128769948e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.286916799741891410827712096608826167e-6),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.637262477796046963617949532211619729e-8),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.106796831465628373325491288787760494e-9),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.129343095511091870860498356205376823e-11),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.102397936697965977221267881716672084e-13),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.402663128248642002351627980255756363e-16),
- };
- static const T Q[14] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 1),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.311288325355705609096155335186466508),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0438318468940415543546769437752132748),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.00374396349183199548610264222242269536),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.000218707451200585197339671707189281302),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.927578767487930747532953583797351219e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.294145760625753561951137473484889639e-6),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.704618586690874460082739479535985395e-8),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.126333332872897336219649130062221257e-9),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.16317315713773503718315435769352765e-11),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.137846712823719515148344938160275695e-13),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.580975420554224366450994232723910583e-16),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.291354445847552426900293580511392459e-22),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.73614324724785855925025452085443636e-25),
- };
- result = tools::evaluate_polynomial(P, T(s - 17)) / tools::evaluate_polynomial(Q, T(s - 17));
- result = 1 + exp(result);
- }
- else if(s < 74)
- {
- // Max error in interpolated form: 2.311e-27
- // Max error found at long double precision: 2.297544e-27
- static const T P[14] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, -20.7944102007844314586649688802236072),
- BOOST_MATH_BIG_CONSTANT(T, 113, -4.95759941987499442499908748130192187),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.563290752832461751889194629200298688),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.0406197001137935911912457120706122877),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.0020846534789473022216888863613422293),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.808095978462109173749395599401375667e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.244706022206249301640890603610060959e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.589477682919645930544382616501666572e-7),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.113699573675553496343617442433027672e-8),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.174767860183598149649901223128011828e-10),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.210051620306761367764549971980026474e-12),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.189187969537370950337212675466400599e-14),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.116313253429564048145641663778121898e-16),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.376708747782400769427057630528578187e-19),
- };
- static const T Q[16] = {
- BOOST_MATH_BIG_CONSTANT(T, 113, 1),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.205076752981410805177554569784219717),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.0202526722696670378999575738524540269),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.001278305290005994980069466658219057),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.576404779858501791742255670403304787e-4),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.196477049872253010859712483984252067e-5),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.521863830500876189501054079974475762e-7),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.109524209196868135198775445228552059e-8),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.181698713448644481083966260949267825e-10),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.234793316975091282090312036524695562e-12),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.227490441461460571047545264251399048e-14),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.151500292036937400913870642638520668e-16),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.543475775154780935815530649335936121e-19),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.241647013434111434636554455083309352e-28),
- BOOST_MATH_BIG_CONSTANT(T, 113, -0.557103423021951053707162364713587374e-31),
- BOOST_MATH_BIG_CONSTANT(T, 113, 0.618708773442584843384712258199645166e-34),
- };
- result = tools::evaluate_polynomial(P, T(s - 30)) / tools::evaluate_polynomial(Q, T(s - 30));
- result = 1 + exp(result);
- }
- else if(s < 117)
- {
- result = 1 + pow(T(2), -s);
- }
- else
- {
- result = 1;
- }
- return result;
-}
-
-template <class T, class Policy, class Tag>
-T zeta_imp(T s, T sc, const Policy& pol, const Tag& tag)
-{
- BOOST_MATH_STD_USING
- if(sc == 0)
- return policies::raise_pole_error<T>(
- "boost::math::zeta<%1%>",
- "Evaluation of zeta function at pole %1%",
- s, pol);
- T result;
- if(fabs(s) < tools::root_epsilon<T>())
- {
- result = -0.5f - constants::log_root_two_pi<T, Policy>() * s;
- }
- else if(s < 0)
- {
- std::swap(s, sc);
- if(floor(sc/2) == sc/2)
- result = 0;
- else
- {
- result = boost::math::sin_pi(0.5f * sc, pol)
- * 2 * pow(2 * constants::pi<T>(), -s)
- * boost::math::tgamma(s, pol)
- * zeta_imp(s, sc, pol, tag);
- }
- }
- else
- {
- result = zeta_imp_prec(s, sc, pol, tag);
- }
- return result;
-}
-
-template <class T, class Policy, class tag>
-struct zeta_initializer
-{
- struct init
- {
- init()
- {
- do_init(tag());
- }
- static void do_init(const mpl::int_<0>&){}
- static void do_init(const mpl::int_<53>&){}
- static void do_init(const mpl::int_<64>&)
- {
- boost::math::zeta(static_cast<T>(0.5), Policy());
- boost::math::zeta(static_cast<T>(1.5), Policy());
- boost::math::zeta(static_cast<T>(3.5), Policy());
- boost::math::zeta(static_cast<T>(6.5), Policy());
- boost::math::zeta(static_cast<T>(14.5), Policy());
- boost::math::zeta(static_cast<T>(40.5), Policy());
- }
- static void do_init(const mpl::int_<113>&)
- {
- boost::math::zeta(static_cast<T>(0.5), Policy());
- boost::math::zeta(static_cast<T>(1.5), Policy());
- boost::math::zeta(static_cast<T>(3.5), Policy());
- boost::math::zeta(static_cast<T>(5.5), Policy());
- boost::math::zeta(static_cast<T>(9.5), Policy());
- boost::math::zeta(static_cast<T>(16.5), Policy());
- boost::math::zeta(static_cast<T>(25), Policy());
- boost::math::zeta(static_cast<T>(70), Policy());
- }
- void force_instantiate()const{}
- };
- static const init initializer;
- static void force_instantiate()
- {
- initializer.force_instantiate();
- }
-};
-
-template <class T, class Policy, class tag>
-const typename zeta_initializer<T, Policy, tag>::init zeta_initializer<T, Policy, tag>::initializer;
-
-} // detail
-
-template <class T, class Policy>
-inline typename tools::promote_args<T>::type zeta(T s, const Policy&)
-{
- typedef typename tools::promote_args<T>::type result_type;
- typedef typename policies::evaluation<result_type, Policy>::type value_type;
- typedef typename policies::precision<result_type, Policy>::type precision_type;
- typedef typename policies::normalise<
- Policy,
- policies::promote_float<false>,
- policies::promote_double<false>,
- policies::discrete_quantile<>,
- policies::assert_undefined<> >::type forwarding_policy;
- typedef typename mpl::if_<
- mpl::less_equal<precision_type, mpl::int_<0> >,
- mpl::int_<0>,
- typename mpl::if_<
- mpl::less_equal<precision_type, mpl::int_<53> >,
- mpl::int_<53>, // double
- typename mpl::if_<
- mpl::less_equal<precision_type, mpl::int_<64> >,
- mpl::int_<64>, // 80-bit long double
- typename mpl::if_<
- mpl::less_equal<precision_type, mpl::int_<113> >,
- mpl::int_<113>, // 128-bit long double
- mpl::int_<0> // too many bits, use generic version.
- >::type
- >::type
- >::type
- >::type tag_type;
- //typedef mpl::int_<0> tag_type;
-
- detail::zeta_initializer<value_type, forwarding_policy, tag_type>::force_instantiate();
-
- return policies::checked_narrowing_cast<result_type, forwarding_policy>(detail::zeta_imp(
- static_cast<value_type>(s),
- static_cast<value_type>(1 - static_cast<value_type>(s)),
- forwarding_policy(),
- tag_type()), "boost::math::zeta<%1%>(%1%)");
-}
-
-template <class T>
-inline typename tools::promote_args<T>::type zeta(T s)
-{
- return zeta(s, policies::policy<>());
-}
-
-}} // namespaces
-
-#endif // BOOST_MATH_ZETA_HPP
-
-
-
diff --git a/boost/math/tools/big_constant.hpp b/boost/math/tools/big_constant.hpp
deleted file mode 100644
index c5654b1..0000000
--- a/boost/math/tools/big_constant.hpp
+++ /dev/null
@@ -1,67 +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 <boost/math/tools/config.hpp>
-#ifndef BOOST_MATH_NO_LEXICAL_CAST
-#include <boost/lexical_cast.hpp>
-#endif
-#include <boost/type_traits/is_convertible.hpp>
-
-namespace boost{ namespace math{
-
-namespace tools{
-
-template <class T>
-inline BOOST_CONSTEXPR_OR_CONST T make_big_value(long double v, const char*, mpl::true_ const&, mpl::false_ const&)
-{
- return static_cast<T>(v);
-}
-template <class T>
-inline BOOST_CONSTEXPR_OR_CONST T make_big_value(long double v, const char*, mpl::true_ const&, mpl::true_ const&)
-{
- return static_cast<T>(v);
-}
-#ifndef BOOST_MATH_NO_LEXICAL_CAST
-template <class T>
-inline T make_big_value(long double, const char* s, mpl::false_ const&, mpl::false_ const&)
-{
- return boost::lexical_cast<T>(s);
-}
-#endif
-template <class T>
-inline BOOST_CONSTEXPR const char* make_big_value(long double, 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<T>(\
- BOOST_JOIN(x, L), \
- BOOST_STRINGIZE(x), \
- mpl::bool_< (is_convertible<long double, T>::value) && \
- ((D <= std::numeric_limits<long double>::digits) \
- || is_floating_point<T>::value \
- || (std::numeric_limits<T>::is_specialized && \
- (std::numeric_limits<T>::digits10 <= std::numeric_limits<long double>::digits10))) >(), \
- boost::is_convertible<const char*, T>())
-//
-// 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<T>(0.0L, BOOST_STRINGIZE(x), \
- mpl::bool_<is_floating_point<T>::value || (std::numeric_limits<T>::is_specialized && std::numeric_limits<T>::max_exponent <= std::numeric_limits<long double>::max_exponent && std::numeric_limits<T>::digits <= std::numeric_limits<long double>::digits)>(), \
- boost::is_convertible<const char*, T>())
-
-}}} // namespaces
-
-#endif
-
diff --git a/boost/math/tools/config.hpp b/boost/math/tools/config.hpp
deleted file mode 100644
index 6dfb629..0000000
--- a/boost/math/tools/config.hpp
+++ /dev/null
@@ -1,352 +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 <boost/config.hpp>
-#include <boost/cstdint.hpp> // for boost::uintmax_t
-#include <boost/detail/workaround.hpp>
-#include <algorithm> // for min and max
-#include <boost/config/no_tr1/cmath.hpp>
-#include <climits>
-#include <cfloat>
-#if (defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__))
-# include <math.h>
-#endif
-
-#include <boost/math/tools/user.hpp>
-
-#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 <float.h>
-#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 defined(BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS) || BOOST_WORKAROUND(__SUNPRO_CC, <= 0x590)
-
-# include "boost/type.hpp"
-# include "boost/non_type.hpp"
-
-# define BOOST_MATH_EXPLICIT_TEMPLATE_TYPE(t) boost::type<t>* = 0
-# define BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(t) boost::type<t>*
-# define BOOST_MATH_EXPLICIT_TEMPLATE_NON_TYPE(t, v) boost::non_type<t, v>* = 0
-# define BOOST_MATH_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) boost::non_type<t, v>*
-
-# 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 // defined BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
-
-#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
-#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__)
-//
-// Only enable this when the compiler really is GCC as clang and probably
-// intel too don't support __float128 yet :-(
-//
-# define BOOST_MATH_USE_FLOAT128
-#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 <class T>
-inline T max BOOST_PREVENT_MACRO_SUBSTITUTION(T a, T b, T c)
-{
- return (std::max)((std::max)(a, b), c);
-}
-
-template <class T>
-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 <class T>
-void suppress_unused_variable_warning(const T&)
-{
-}
-
-}} // namespace boost namespace math
-
-#if ((defined(__linux__) && !defined(__UCLIBC__)) || defined(__QNX__) || defined(__IBMCPP__)) && !defined(BOOST_NO_FENV_H)
-
- #include <boost/detail/fenv.hpp>
-
-# 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 <iostream>
-# include <iomanip>
-# include <typeinfo>
-
-# 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/boost/math/tools/detail/polynomial_horner1_10.hpp b/boost/math/tools/detail/polynomial_horner1_10.hpp
deleted file mode 100644
index b13d6a3..0000000
--- a/boost/math/tools/detail/polynomial_horner1_10.hpp
+++ /dev/null
@@ -1,84 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_10_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_10_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*)
-{
- return static_cast<V>((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*)
-{
- return static_cast<V>(((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*)
-{
- return static_cast<V>((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*)
-{
- return static_cast<V>(((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*)
-{
- return static_cast<V>((((((((a[8] * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*)
-{
- return static_cast<V>(((((((((a[9] * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner1_11.hpp b/boost/math/tools/detail/polynomial_horner1_11.hpp
deleted file mode 100644
index f0cf67e..0000000
--- a/boost/math/tools/detail/polynomial_horner1_11.hpp
+++ /dev/null
@@ -1,90 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_11_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_11_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*)
-{
- return static_cast<V>((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*)
-{
- return static_cast<V>(((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*)
-{
- return static_cast<V>((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*)
-{
- return static_cast<V>(((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*)
-{
- return static_cast<V>((((((((a[8] * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*)
-{
- return static_cast<V>(((((((((a[9] * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*)
-{
- return static_cast<V>((((((((((a[10] * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner1_12.hpp b/boost/math/tools/detail/polynomial_horner1_12.hpp
deleted file mode 100644
index 03b974c..0000000
--- a/boost/math/tools/detail/polynomial_horner1_12.hpp
+++ /dev/null
@@ -1,96 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_12_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_12_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*)
-{
- return static_cast<V>((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*)
-{
- return static_cast<V>(((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*)
-{
- return static_cast<V>((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*)
-{
- return static_cast<V>(((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*)
-{
- return static_cast<V>((((((((a[8] * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*)
-{
- return static_cast<V>(((((((((a[9] * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*)
-{
- return static_cast<V>((((((((((a[10] * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*)
-{
- return static_cast<V>(((((((((((a[11] * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner1_13.hpp b/boost/math/tools/detail/polynomial_horner1_13.hpp
deleted file mode 100644
index b947f54..0000000
--- a/boost/math/tools/detail/polynomial_horner1_13.hpp
+++ /dev/null
@@ -1,102 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_13_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_13_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*)
-{
- return static_cast<V>((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*)
-{
- return static_cast<V>(((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*)
-{
- return static_cast<V>((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*)
-{
- return static_cast<V>(((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*)
-{
- return static_cast<V>((((((((a[8] * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*)
-{
- return static_cast<V>(((((((((a[9] * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*)
-{
- return static_cast<V>((((((((((a[10] * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*)
-{
- return static_cast<V>(((((((((((a[11] * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<13>*)
-{
- return static_cast<V>((((((((((((a[12] * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner1_14.hpp b/boost/math/tools/detail/polynomial_horner1_14.hpp
deleted file mode 100644
index 8374e38..0000000
--- a/boost/math/tools/detail/polynomial_horner1_14.hpp
+++ /dev/null
@@ -1,108 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_14_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_14_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*)
-{
- return static_cast<V>((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*)
-{
- return static_cast<V>(((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*)
-{
- return static_cast<V>((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*)
-{
- return static_cast<V>(((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*)
-{
- return static_cast<V>((((((((a[8] * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*)
-{
- return static_cast<V>(((((((((a[9] * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*)
-{
- return static_cast<V>((((((((((a[10] * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*)
-{
- return static_cast<V>(((((((((((a[11] * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<13>*)
-{
- return static_cast<V>((((((((((((a[12] * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<14>*)
-{
- return static_cast<V>(((((((((((((a[13] * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner1_15.hpp b/boost/math/tools/detail/polynomial_horner1_15.hpp
deleted file mode 100644
index ebfa463..0000000
--- a/boost/math/tools/detail/polynomial_horner1_15.hpp
+++ /dev/null
@@ -1,114 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_15_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_15_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*)
-{
- return static_cast<V>((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*)
-{
- return static_cast<V>(((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*)
-{
- return static_cast<V>((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*)
-{
- return static_cast<V>(((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*)
-{
- return static_cast<V>((((((((a[8] * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*)
-{
- return static_cast<V>(((((((((a[9] * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*)
-{
- return static_cast<V>((((((((((a[10] * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*)
-{
- return static_cast<V>(((((((((((a[11] * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<13>*)
-{
- return static_cast<V>((((((((((((a[12] * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<14>*)
-{
- return static_cast<V>(((((((((((((a[13] * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<15>*)
-{
- return static_cast<V>((((((((((((((a[14] * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner1_16.hpp b/boost/math/tools/detail/polynomial_horner1_16.hpp
deleted file mode 100644
index 60eb4dc..0000000
--- a/boost/math/tools/detail/polynomial_horner1_16.hpp
+++ /dev/null
@@ -1,120 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_16_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_16_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*)
-{
- return static_cast<V>((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*)
-{
- return static_cast<V>(((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*)
-{
- return static_cast<V>((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*)
-{
- return static_cast<V>(((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*)
-{
- return static_cast<V>((((((((a[8] * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*)
-{
- return static_cast<V>(((((((((a[9] * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*)
-{
- return static_cast<V>((((((((((a[10] * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*)
-{
- return static_cast<V>(((((((((((a[11] * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<13>*)
-{
- return static_cast<V>((((((((((((a[12] * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<14>*)
-{
- return static_cast<V>(((((((((((((a[13] * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<15>*)
-{
- return static_cast<V>((((((((((((((a[14] * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<16>*)
-{
- return static_cast<V>(((((((((((((((a[15] * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner1_17.hpp b/boost/math/tools/detail/polynomial_horner1_17.hpp
deleted file mode 100644
index 6233f1b..0000000
--- a/boost/math/tools/detail/polynomial_horner1_17.hpp
+++ /dev/null
@@ -1,126 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_17_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_17_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*)
-{
- return static_cast<V>((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*)
-{
- return static_cast<V>(((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*)
-{
- return static_cast<V>((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*)
-{
- return static_cast<V>(((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*)
-{
- return static_cast<V>((((((((a[8] * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*)
-{
- return static_cast<V>(((((((((a[9] * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*)
-{
- return static_cast<V>((((((((((a[10] * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*)
-{
- return static_cast<V>(((((((((((a[11] * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<13>*)
-{
- return static_cast<V>((((((((((((a[12] * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<14>*)
-{
- return static_cast<V>(((((((((((((a[13] * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<15>*)
-{
- return static_cast<V>((((((((((((((a[14] * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<16>*)
-{
- return static_cast<V>(((((((((((((((a[15] * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<17>*)
-{
- return static_cast<V>((((((((((((((((a[16] * x + a[15]) * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner1_18.hpp b/boost/math/tools/detail/polynomial_horner1_18.hpp
deleted file mode 100644
index 2a06def..0000000
--- a/boost/math/tools/detail/polynomial_horner1_18.hpp
+++ /dev/null
@@ -1,132 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_18_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_18_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*)
-{
- return static_cast<V>((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*)
-{
- return static_cast<V>(((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*)
-{
- return static_cast<V>((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*)
-{
- return static_cast<V>(((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*)
-{
- return static_cast<V>((((((((a[8] * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*)
-{
- return static_cast<V>(((((((((a[9] * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*)
-{
- return static_cast<V>((((((((((a[10] * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*)
-{
- return static_cast<V>(((((((((((a[11] * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<13>*)
-{
- return static_cast<V>((((((((((((a[12] * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<14>*)
-{
- return static_cast<V>(((((((((((((a[13] * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<15>*)
-{
- return static_cast<V>((((((((((((((a[14] * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<16>*)
-{
- return static_cast<V>(((((((((((((((a[15] * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<17>*)
-{
- return static_cast<V>((((((((((((((((a[16] * x + a[15]) * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<18>*)
-{
- return static_cast<V>(((((((((((((((((a[17] * x + a[16]) * x + a[15]) * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner1_19.hpp b/boost/math/tools/detail/polynomial_horner1_19.hpp
deleted file mode 100644
index 8f0da8b..0000000
--- a/boost/math/tools/detail/polynomial_horner1_19.hpp
+++ /dev/null
@@ -1,138 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_19_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_19_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*)
-{
- return static_cast<V>((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*)
-{
- return static_cast<V>(((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*)
-{
- return static_cast<V>((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*)
-{
- return static_cast<V>(((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*)
-{
- return static_cast<V>((((((((a[8] * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*)
-{
- return static_cast<V>(((((((((a[9] * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*)
-{
- return static_cast<V>((((((((((a[10] * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*)
-{
- return static_cast<V>(((((((((((a[11] * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<13>*)
-{
- return static_cast<V>((((((((((((a[12] * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<14>*)
-{
- return static_cast<V>(((((((((((((a[13] * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<15>*)
-{
- return static_cast<V>((((((((((((((a[14] * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<16>*)
-{
- return static_cast<V>(((((((((((((((a[15] * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<17>*)
-{
- return static_cast<V>((((((((((((((((a[16] * x + a[15]) * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<18>*)
-{
- return static_cast<V>(((((((((((((((((a[17] * x + a[16]) * x + a[15]) * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<19>*)
-{
- return static_cast<V>((((((((((((((((((a[18] * x + a[17]) * x + a[16]) * x + a[15]) * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner1_2.hpp b/boost/math/tools/detail/polynomial_horner1_2.hpp
deleted file mode 100644
index a0b10d5..0000000
--- a/boost/math/tools/detail/polynomial_horner1_2.hpp
+++ /dev/null
@@ -1,36 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_2_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_2_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner1_20.hpp b/boost/math/tools/detail/polynomial_horner1_20.hpp
deleted file mode 100644
index d1a886d..0000000
--- a/boost/math/tools/detail/polynomial_horner1_20.hpp
+++ /dev/null
@@ -1,144 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_20_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_20_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*)
-{
- return static_cast<V>((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*)
-{
- return static_cast<V>(((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*)
-{
- return static_cast<V>((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*)
-{
- return static_cast<V>(((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*)
-{
- return static_cast<V>((((((((a[8] * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*)
-{
- return static_cast<V>(((((((((a[9] * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*)
-{
- return static_cast<V>((((((((((a[10] * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*)
-{
- return static_cast<V>(((((((((((a[11] * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<13>*)
-{
- return static_cast<V>((((((((((((a[12] * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<14>*)
-{
- return static_cast<V>(((((((((((((a[13] * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<15>*)
-{
- return static_cast<V>((((((((((((((a[14] * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<16>*)
-{
- return static_cast<V>(((((((((((((((a[15] * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<17>*)
-{
- return static_cast<V>((((((((((((((((a[16] * x + a[15]) * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<18>*)
-{
- return static_cast<V>(((((((((((((((((a[17] * x + a[16]) * x + a[15]) * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<19>*)
-{
- return static_cast<V>((((((((((((((((((a[18] * x + a[17]) * x + a[16]) * x + a[15]) * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<20>*)
-{
- return static_cast<V>(((((((((((((((((((a[19] * x + a[18]) * x + a[17]) * x + a[16]) * x + a[15]) * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner1_3.hpp b/boost/math/tools/detail/polynomial_horner1_3.hpp
deleted file mode 100644
index 715a69a..0000000
--- a/boost/math/tools/detail/polynomial_horner1_3.hpp
+++ /dev/null
@@ -1,42 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_3_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_3_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner1_4.hpp b/boost/math/tools/detail/polynomial_horner1_4.hpp
deleted file mode 100644
index d74b7a6..0000000
--- a/boost/math/tools/detail/polynomial_horner1_4.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_4_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_4_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner1_5.hpp b/boost/math/tools/detail/polynomial_horner1_5.hpp
deleted file mode 100644
index bb66e6c..0000000
--- a/boost/math/tools/detail/polynomial_horner1_5.hpp
+++ /dev/null
@@ -1,54 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_5_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_5_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*)
-{
- return static_cast<V>((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner1_6.hpp b/boost/math/tools/detail/polynomial_horner1_6.hpp
deleted file mode 100644
index a29c271..0000000
--- a/boost/math/tools/detail/polynomial_horner1_6.hpp
+++ /dev/null
@@ -1,60 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_6_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_6_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*)
-{
- return static_cast<V>((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*)
-{
- return static_cast<V>(((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner1_7.hpp b/boost/math/tools/detail/polynomial_horner1_7.hpp
deleted file mode 100644
index 093ab89..0000000
--- a/boost/math/tools/detail/polynomial_horner1_7.hpp
+++ /dev/null
@@ -1,66 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_7_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_7_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*)
-{
- return static_cast<V>((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*)
-{
- return static_cast<V>(((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*)
-{
- return static_cast<V>((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner1_8.hpp b/boost/math/tools/detail/polynomial_horner1_8.hpp
deleted file mode 100644
index a3d329a..0000000
--- a/boost/math/tools/detail/polynomial_horner1_8.hpp
+++ /dev/null
@@ -1,72 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_8_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_8_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*)
-{
- return static_cast<V>((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*)
-{
- return static_cast<V>(((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*)
-{
- return static_cast<V>((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*)
-{
- return static_cast<V>(((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner1_9.hpp b/boost/math/tools/detail/polynomial_horner1_9.hpp
deleted file mode 100644
index e90f578..0000000
--- a/boost/math/tools/detail/polynomial_horner1_9.hpp
+++ /dev/null
@@ -1,78 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_9_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_9_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*)
-{
- return static_cast<V>((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*)
-{
- return static_cast<V>(((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*)
-{
- return static_cast<V>((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*)
-{
- return static_cast<V>(((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*)
-{
- return static_cast<V>((((((((a[8] * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner2_10.hpp b/boost/math/tools/detail/polynomial_horner2_10.hpp
deleted file mode 100644
index 7c4101f..0000000
--- a/boost/math/tools/detail/polynomial_horner2_10.hpp
+++ /dev/null
@@ -1,90 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_10_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_10_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*)
-{
- V x2 = x * x;
- return static_cast<V>((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*)
-{
- V x2 = x * x;
- return static_cast<V>(((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*)
-{
- V x2 = x * x;
- return static_cast<V>(((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*)
-{
- V x2 = x * x;
- return static_cast<V>((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*)
-{
- V x2 = x * x;
- return static_cast<V>((((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*)
-{
- V x2 = x * x;
- return static_cast<V>(((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner2_11.hpp b/boost/math/tools/detail/polynomial_horner2_11.hpp
deleted file mode 100644
index bebd1e6..0000000
--- a/boost/math/tools/detail/polynomial_horner2_11.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_11_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_11_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*)
-{
- V x2 = x * x;
- return static_cast<V>((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*)
-{
- V x2 = x * x;
- return static_cast<V>(((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*)
-{
- V x2 = x * x;
- return static_cast<V>(((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*)
-{
- V x2 = x * x;
- return static_cast<V>((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*)
-{
- V x2 = x * x;
- return static_cast<V>((((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*)
-{
- V x2 = x * x;
- return static_cast<V>(((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*)
-{
- V x2 = x * x;
- return static_cast<V>(((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner2_12.hpp b/boost/math/tools/detail/polynomial_horner2_12.hpp
deleted file mode 100644
index c4da24a..0000000
--- a/boost/math/tools/detail/polynomial_horner2_12.hpp
+++ /dev/null
@@ -1,104 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_12_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_12_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*)
-{
- V x2 = x * x;
- return static_cast<V>((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*)
-{
- V x2 = x * x;
- return static_cast<V>(((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*)
-{
- V x2 = x * x;
- return static_cast<V>(((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*)
-{
- V x2 = x * x;
- return static_cast<V>((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*)
-{
- V x2 = x * x;
- return static_cast<V>((((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*)
-{
- V x2 = x * x;
- return static_cast<V>(((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*)
-{
- V x2 = x * x;
- return static_cast<V>(((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*)
-{
- V x2 = x * x;
- return static_cast<V>((((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner2_13.hpp b/boost/math/tools/detail/polynomial_horner2_13.hpp
deleted file mode 100644
index 5d7dddc..0000000
--- a/boost/math/tools/detail/polynomial_horner2_13.hpp
+++ /dev/null
@@ -1,111 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_13_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_13_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*)
-{
- V x2 = x * x;
- return static_cast<V>((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*)
-{
- V x2 = x * x;
- return static_cast<V>(((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*)
-{
- V x2 = x * x;
- return static_cast<V>(((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*)
-{
- V x2 = x * x;
- return static_cast<V>((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*)
-{
- V x2 = x * x;
- return static_cast<V>((((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*)
-{
- V x2 = x * x;
- return static_cast<V>(((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*)
-{
- V x2 = x * x;
- return static_cast<V>(((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*)
-{
- V x2 = x * x;
- return static_cast<V>((((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<13>*)
-{
- V x2 = x * x;
- return static_cast<V>((((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner2_14.hpp b/boost/math/tools/detail/polynomial_horner2_14.hpp
deleted file mode 100644
index 21a5a37..0000000
--- a/boost/math/tools/detail/polynomial_horner2_14.hpp
+++ /dev/null
@@ -1,118 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_14_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_14_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*)
-{
- V x2 = x * x;
- return static_cast<V>((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*)
-{
- V x2 = x * x;
- return static_cast<V>(((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*)
-{
- V x2 = x * x;
- return static_cast<V>(((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*)
-{
- V x2 = x * x;
- return static_cast<V>((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*)
-{
- V x2 = x * x;
- return static_cast<V>((((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*)
-{
- V x2 = x * x;
- return static_cast<V>(((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*)
-{
- V x2 = x * x;
- return static_cast<V>(((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*)
-{
- V x2 = x * x;
- return static_cast<V>((((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<13>*)
-{
- V x2 = x * x;
- return static_cast<V>((((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<14>*)
-{
- V x2 = x * x;
- return static_cast<V>(((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner2_15.hpp b/boost/math/tools/detail/polynomial_horner2_15.hpp
deleted file mode 100644
index 7b41214..0000000
--- a/boost/math/tools/detail/polynomial_horner2_15.hpp
+++ /dev/null
@@ -1,125 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_15_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_15_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*)
-{
- V x2 = x * x;
- return static_cast<V>((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*)
-{
- V x2 = x * x;
- return static_cast<V>(((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*)
-{
- V x2 = x * x;
- return static_cast<V>(((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*)
-{
- V x2 = x * x;
- return static_cast<V>((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*)
-{
- V x2 = x * x;
- return static_cast<V>((((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*)
-{
- V x2 = x * x;
- return static_cast<V>(((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*)
-{
- V x2 = x * x;
- return static_cast<V>(((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*)
-{
- V x2 = x * x;
- return static_cast<V>((((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<13>*)
-{
- V x2 = x * x;
- return static_cast<V>((((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<14>*)
-{
- V x2 = x * x;
- return static_cast<V>(((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<15>*)
-{
- V x2 = x * x;
- return static_cast<V>(((((((a[14] * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner2_16.hpp b/boost/math/tools/detail/polynomial_horner2_16.hpp
deleted file mode 100644
index aa3763a..0000000
--- a/boost/math/tools/detail/polynomial_horner2_16.hpp
+++ /dev/null
@@ -1,132 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_16_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_16_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*)
-{
- V x2 = x * x;
- return static_cast<V>((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*)
-{
- V x2 = x * x;
- return static_cast<V>(((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*)
-{
- V x2 = x * x;
- return static_cast<V>(((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*)
-{
- V x2 = x * x;
- return static_cast<V>((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*)
-{
- V x2 = x * x;
- return static_cast<V>((((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*)
-{
- V x2 = x * x;
- return static_cast<V>(((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*)
-{
- V x2 = x * x;
- return static_cast<V>(((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*)
-{
- V x2 = x * x;
- return static_cast<V>((((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<13>*)
-{
- V x2 = x * x;
- return static_cast<V>((((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<14>*)
-{
- V x2 = x * x;
- return static_cast<V>(((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<15>*)
-{
- V x2 = x * x;
- return static_cast<V>(((((((a[14] * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<16>*)
-{
- V x2 = x * x;
- return static_cast<V>((((((((a[15] * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((((a[14] * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner2_17.hpp b/boost/math/tools/detail/polynomial_horner2_17.hpp
deleted file mode 100644
index 6ed5566..0000000
--- a/boost/math/tools/detail/polynomial_horner2_17.hpp
+++ /dev/null
@@ -1,139 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_17_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_17_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*)
-{
- V x2 = x * x;
- return static_cast<V>((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*)
-{
- V x2 = x * x;
- return static_cast<V>(((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*)
-{
- V x2 = x * x;
- return static_cast<V>(((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*)
-{
- V x2 = x * x;
- return static_cast<V>((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*)
-{
- V x2 = x * x;
- return static_cast<V>((((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*)
-{
- V x2 = x * x;
- return static_cast<V>(((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*)
-{
- V x2 = x * x;
- return static_cast<V>(((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*)
-{
- V x2 = x * x;
- return static_cast<V>((((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<13>*)
-{
- V x2 = x * x;
- return static_cast<V>((((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<14>*)
-{
- V x2 = x * x;
- return static_cast<V>(((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<15>*)
-{
- V x2 = x * x;
- return static_cast<V>(((((((a[14] * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<16>*)
-{
- V x2 = x * x;
- return static_cast<V>((((((((a[15] * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((((a[14] * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<17>*)
-{
- V x2 = x * x;
- return static_cast<V>((((((((a[16] * x2 + a[14]) * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((((((a[15] * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner2_18.hpp b/boost/math/tools/detail/polynomial_horner2_18.hpp
deleted file mode 100644
index 02c72b8..0000000
--- a/boost/math/tools/detail/polynomial_horner2_18.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_18_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_18_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*)
-{
- V x2 = x * x;
- return static_cast<V>((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*)
-{
- V x2 = x * x;
- return static_cast<V>(((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*)
-{
- V x2 = x * x;
- return static_cast<V>(((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*)
-{
- V x2 = x * x;
- return static_cast<V>((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*)
-{
- V x2 = x * x;
- return static_cast<V>((((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*)
-{
- V x2 = x * x;
- return static_cast<V>(((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*)
-{
- V x2 = x * x;
- return static_cast<V>(((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*)
-{
- V x2 = x * x;
- return static_cast<V>((((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<13>*)
-{
- V x2 = x * x;
- return static_cast<V>((((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<14>*)
-{
- V x2 = x * x;
- return static_cast<V>(((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<15>*)
-{
- V x2 = x * x;
- return static_cast<V>(((((((a[14] * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<16>*)
-{
- V x2 = x * x;
- return static_cast<V>((((((((a[15] * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((((a[14] * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<17>*)
-{
- V x2 = x * x;
- return static_cast<V>((((((((a[16] * x2 + a[14]) * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((((((a[15] * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<18>*)
-{
- V x2 = x * x;
- return static_cast<V>(((((((((a[17] * x2 + a[15]) * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((((((a[16] * x2 + a[14]) * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner2_19.hpp b/boost/math/tools/detail/polynomial_horner2_19.hpp
deleted file mode 100644
index 6e36ace..0000000
--- a/boost/math/tools/detail/polynomial_horner2_19.hpp
+++ /dev/null
@@ -1,153 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_19_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_19_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*)
-{
- V x2 = x * x;
- return static_cast<V>((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*)
-{
- V x2 = x * x;
- return static_cast<V>(((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*)
-{
- V x2 = x * x;
- return static_cast<V>(((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*)
-{
- V x2 = x * x;
- return static_cast<V>((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*)
-{
- V x2 = x * x;
- return static_cast<V>((((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*)
-{
- V x2 = x * x;
- return static_cast<V>(((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*)
-{
- V x2 = x * x;
- return static_cast<V>(((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*)
-{
- V x2 = x * x;
- return static_cast<V>((((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<13>*)
-{
- V x2 = x * x;
- return static_cast<V>((((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<14>*)
-{
- V x2 = x * x;
- return static_cast<V>(((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<15>*)
-{
- V x2 = x * x;
- return static_cast<V>(((((((a[14] * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<16>*)
-{
- V x2 = x * x;
- return static_cast<V>((((((((a[15] * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((((a[14] * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<17>*)
-{
- V x2 = x * x;
- return static_cast<V>((((((((a[16] * x2 + a[14]) * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((((((a[15] * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<18>*)
-{
- V x2 = x * x;
- return static_cast<V>(((((((((a[17] * x2 + a[15]) * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((((((a[16] * x2 + a[14]) * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<19>*)
-{
- V x2 = x * x;
- return static_cast<V>(((((((((a[18] * x2 + a[16]) * x2 + a[14]) * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((((((a[17] * x2 + a[15]) * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner2_2.hpp b/boost/math/tools/detail/polynomial_horner2_2.hpp
deleted file mode 100644
index e2a4e7f..0000000
--- a/boost/math/tools/detail/polynomial_horner2_2.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_2_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_2_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner2_20.hpp b/boost/math/tools/detail/polynomial_horner2_20.hpp
deleted file mode 100644
index e394b6b..0000000
--- a/boost/math/tools/detail/polynomial_horner2_20.hpp
+++ /dev/null
@@ -1,160 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_20_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_20_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*)
-{
- V x2 = x * x;
- return static_cast<V>((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*)
-{
- V x2 = x * x;
- return static_cast<V>(((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*)
-{
- V x2 = x * x;
- return static_cast<V>(((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*)
-{
- V x2 = x * x;
- return static_cast<V>((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*)
-{
- V x2 = x * x;
- return static_cast<V>((((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*)
-{
- V x2 = x * x;
- return static_cast<V>(((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*)
-{
- V x2 = x * x;
- return static_cast<V>(((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*)
-{
- V x2 = x * x;
- return static_cast<V>((((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<13>*)
-{
- V x2 = x * x;
- return static_cast<V>((((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<14>*)
-{
- V x2 = x * x;
- return static_cast<V>(((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<15>*)
-{
- V x2 = x * x;
- return static_cast<V>(((((((a[14] * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<16>*)
-{
- V x2 = x * x;
- return static_cast<V>((((((((a[15] * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((((a[14] * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<17>*)
-{
- V x2 = x * x;
- return static_cast<V>((((((((a[16] * x2 + a[14]) * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((((((a[15] * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<18>*)
-{
- V x2 = x * x;
- return static_cast<V>(((((((((a[17] * x2 + a[15]) * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((((((a[16] * x2 + a[14]) * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<19>*)
-{
- V x2 = x * x;
- return static_cast<V>(((((((((a[18] * x2 + a[16]) * x2 + a[14]) * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((((((a[17] * x2 + a[15]) * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<20>*)
-{
- V x2 = x * x;
- return static_cast<V>((((((((((a[19] * x2 + a[17]) * x2 + a[15]) * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((((((a[18] * x2 + a[16]) * x2 + a[14]) * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner2_3.hpp b/boost/math/tools/detail/polynomial_horner2_3.hpp
deleted file mode 100644
index 187b86c..0000000
--- a/boost/math/tools/detail/polynomial_horner2_3.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_3_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_3_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner2_4.hpp b/boost/math/tools/detail/polynomial_horner2_4.hpp
deleted file mode 100644
index 84badc3..0000000
--- a/boost/math/tools/detail/polynomial_horner2_4.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_4_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_4_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner2_5.hpp b/boost/math/tools/detail/polynomial_horner2_5.hpp
deleted file mode 100644
index 287b4be..0000000
--- a/boost/math/tools/detail/polynomial_horner2_5.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_5_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_5_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*)
-{
- V x2 = x * x;
- return static_cast<V>((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x);
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner2_6.hpp b/boost/math/tools/detail/polynomial_horner2_6.hpp
deleted file mode 100644
index 3662d44..0000000
--- a/boost/math/tools/detail/polynomial_horner2_6.hpp
+++ /dev/null
@@ -1,62 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_6_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_6_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*)
-{
- V x2 = x * x;
- return static_cast<V>((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*)
-{
- V x2 = x * x;
- return static_cast<V>(((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]);
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner2_7.hpp b/boost/math/tools/detail/polynomial_horner2_7.hpp
deleted file mode 100644
index 78ed0df..0000000
--- a/boost/math/tools/detail/polynomial_horner2_7.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_7_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_7_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*)
-{
- V x2 = x * x;
- return static_cast<V>((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*)
-{
- V x2 = x * x;
- return static_cast<V>(((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*)
-{
- V x2 = x * x;
- return static_cast<V>(((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner2_8.hpp b/boost/math/tools/detail/polynomial_horner2_8.hpp
deleted file mode 100644
index ac8e941..0000000
--- a/boost/math/tools/detail/polynomial_horner2_8.hpp
+++ /dev/null
@@ -1,76 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_8_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_8_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*)
-{
- V x2 = x * x;
- return static_cast<V>((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*)
-{
- V x2 = x * x;
- return static_cast<V>(((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*)
-{
- V x2 = x * x;
- return static_cast<V>(((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*)
-{
- V x2 = x * x;
- return static_cast<V>((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner2_9.hpp b/boost/math/tools/detail/polynomial_horner2_9.hpp
deleted file mode 100644
index e1a3d17..0000000
--- a/boost/math/tools/detail/polynomial_horner2_9.hpp
+++ /dev/null
@@ -1,83 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_9_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_9_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*)
-{
- V x2 = x * x;
- return static_cast<V>((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*)
-{
- V x2 = x * x;
- return static_cast<V>(((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*)
-{
- V x2 = x * x;
- return static_cast<V>(((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*)
-{
- V x2 = x * x;
- return static_cast<V>((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*)
-{
- V x2 = x * x;
- return static_cast<V>((((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x);
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner3_10.hpp b/boost/math/tools/detail/polynomial_horner3_10.hpp
deleted file mode 100644
index 69736d7..0000000
--- a/boost/math/tools/detail/polynomial_horner3_10.hpp
+++ /dev/null
@@ -1,156 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Unrolled polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_10_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_10_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[4] * x2 + a[2]);
- t[1] = static_cast<V>(a[3] * x2 + a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[5] * x2 + a[3];
- t[1] = a[4] * x2 + a[2];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[6] * x2 + a[4]);
- t[1] = static_cast<V>(a[5] * x2 + a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[7] * x2 + a[5];
- t[1] = a[6] * x2 + a[4];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[8] * x2 + a[6]);
- t[1] = static_cast<V>(a[7] * x2 + a[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[9] * x2 + a[7];
- t[1] = a[8] * x2 + a[6];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner3_11.hpp b/boost/math/tools/detail/polynomial_horner3_11.hpp
deleted file mode 100644
index 273ed53..0000000
--- a/boost/math/tools/detail/polynomial_horner3_11.hpp
+++ /dev/null
@@ -1,181 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Unrolled polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_11_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_11_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[4] * x2 + a[2]);
- t[1] = static_cast<V>(a[3] * x2 + a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[5] * x2 + a[3];
- t[1] = a[4] * x2 + a[2];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[6] * x2 + a[4]);
- t[1] = static_cast<V>(a[5] * x2 + a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[7] * x2 + a[5];
- t[1] = a[6] * x2 + a[4];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[8] * x2 + a[6]);
- t[1] = static_cast<V>(a[7] * x2 + a[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[9] * x2 + a[7];
- t[1] = a[8] * x2 + a[6];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[10] * x2 + a[8]);
- t[1] = static_cast<V>(a[9] * x2 + a[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner3_12.hpp b/boost/math/tools/detail/polynomial_horner3_12.hpp
deleted file mode 100644
index 3405674..0000000
--- a/boost/math/tools/detail/polynomial_horner3_12.hpp
+++ /dev/null
@@ -1,208 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Unrolled polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_12_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_12_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[4] * x2 + a[2]);
- t[1] = static_cast<V>(a[3] * x2 + a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[5] * x2 + a[3];
- t[1] = a[4] * x2 + a[2];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[6] * x2 + a[4]);
- t[1] = static_cast<V>(a[5] * x2 + a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[7] * x2 + a[5];
- t[1] = a[6] * x2 + a[4];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[8] * x2 + a[6]);
- t[1] = static_cast<V>(a[7] * x2 + a[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[9] * x2 + a[7];
- t[1] = a[8] * x2 + a[6];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[10] * x2 + a[8]);
- t[1] = static_cast<V>(a[9] * x2 + a[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[11] * x2 + a[9];
- t[1] = a[10] * x2 + a[8];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner3_13.hpp b/boost/math/tools/detail/polynomial_horner3_13.hpp
deleted file mode 100644
index 849c93e..0000000
--- a/boost/math/tools/detail/polynomial_horner3_13.hpp
+++ /dev/null
@@ -1,237 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Unrolled polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_13_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_13_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[4] * x2 + a[2]);
- t[1] = static_cast<V>(a[3] * x2 + a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[5] * x2 + a[3];
- t[1] = a[4] * x2 + a[2];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[6] * x2 + a[4]);
- t[1] = static_cast<V>(a[5] * x2 + a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[7] * x2 + a[5];
- t[1] = a[6] * x2 + a[4];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[8] * x2 + a[6]);
- t[1] = static_cast<V>(a[7] * x2 + a[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[9] * x2 + a[7];
- t[1] = a[8] * x2 + a[6];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[10] * x2 + a[8]);
- t[1] = static_cast<V>(a[9] * x2 + a[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[11] * x2 + a[9];
- t[1] = a[10] * x2 + a[8];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<13>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[12] * x2 + a[10]);
- t[1] = static_cast<V>(a[11] * x2 + a[9]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner3_14.hpp b/boost/math/tools/detail/polynomial_horner3_14.hpp
deleted file mode 100644
index f5ac1df..0000000
--- a/boost/math/tools/detail/polynomial_horner3_14.hpp
+++ /dev/null
@@ -1,268 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Unrolled polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_14_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_14_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[4] * x2 + a[2]);
- t[1] = static_cast<V>(a[3] * x2 + a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[5] * x2 + a[3];
- t[1] = a[4] * x2 + a[2];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[6] * x2 + a[4]);
- t[1] = static_cast<V>(a[5] * x2 + a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[7] * x2 + a[5];
- t[1] = a[6] * x2 + a[4];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[8] * x2 + a[6]);
- t[1] = static_cast<V>(a[7] * x2 + a[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[9] * x2 + a[7];
- t[1] = a[8] * x2 + a[6];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[10] * x2 + a[8]);
- t[1] = static_cast<V>(a[9] * x2 + a[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[11] * x2 + a[9];
- t[1] = a[10] * x2 + a[8];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<13>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[12] * x2 + a[10]);
- t[1] = static_cast<V>(a[11] * x2 + a[9]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<14>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[13] * x2 + a[11];
- t[1] = a[12] * x2 + a[10];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[9]);
- t[1] += static_cast<V>(a[8]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner3_15.hpp b/boost/math/tools/detail/polynomial_horner3_15.hpp
deleted file mode 100644
index b57af7e..0000000
--- a/boost/math/tools/detail/polynomial_horner3_15.hpp
+++ /dev/null
@@ -1,301 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Unrolled polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_15_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_15_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[4] * x2 + a[2]);
- t[1] = static_cast<V>(a[3] * x2 + a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[5] * x2 + a[3];
- t[1] = a[4] * x2 + a[2];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[6] * x2 + a[4]);
- t[1] = static_cast<V>(a[5] * x2 + a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[7] * x2 + a[5];
- t[1] = a[6] * x2 + a[4];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[8] * x2 + a[6]);
- t[1] = static_cast<V>(a[7] * x2 + a[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[9] * x2 + a[7];
- t[1] = a[8] * x2 + a[6];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[10] * x2 + a[8]);
- t[1] = static_cast<V>(a[9] * x2 + a[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[11] * x2 + a[9];
- t[1] = a[10] * x2 + a[8];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<13>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[12] * x2 + a[10]);
- t[1] = static_cast<V>(a[11] * x2 + a[9]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<14>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[13] * x2 + a[11];
- t[1] = a[12] * x2 + a[10];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[9]);
- t[1] += static_cast<V>(a[8]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<15>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[14] * x2 + a[12]);
- t[1] = static_cast<V>(a[13] * x2 + a[11]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[9]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner3_16.hpp b/boost/math/tools/detail/polynomial_horner3_16.hpp
deleted file mode 100644
index 1fc8560..0000000
--- a/boost/math/tools/detail/polynomial_horner3_16.hpp
+++ /dev/null
@@ -1,336 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Unrolled polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_16_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_16_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[4] * x2 + a[2]);
- t[1] = static_cast<V>(a[3] * x2 + a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[5] * x2 + a[3];
- t[1] = a[4] * x2 + a[2];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[6] * x2 + a[4]);
- t[1] = static_cast<V>(a[5] * x2 + a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[7] * x2 + a[5];
- t[1] = a[6] * x2 + a[4];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[8] * x2 + a[6]);
- t[1] = static_cast<V>(a[7] * x2 + a[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[9] * x2 + a[7];
- t[1] = a[8] * x2 + a[6];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[10] * x2 + a[8]);
- t[1] = static_cast<V>(a[9] * x2 + a[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[11] * x2 + a[9];
- t[1] = a[10] * x2 + a[8];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<13>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[12] * x2 + a[10]);
- t[1] = static_cast<V>(a[11] * x2 + a[9]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<14>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[13] * x2 + a[11];
- t[1] = a[12] * x2 + a[10];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[9]);
- t[1] += static_cast<V>(a[8]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<15>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[14] * x2 + a[12]);
- t[1] = static_cast<V>(a[13] * x2 + a[11]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[9]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<16>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[15] * x2 + a[13];
- t[1] = a[14] * x2 + a[12];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[11]);
- t[1] += static_cast<V>(a[10]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[9]);
- t[1] += static_cast<V>(a[8]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner3_17.hpp b/boost/math/tools/detail/polynomial_horner3_17.hpp
deleted file mode 100644
index 4a0d0aa..0000000
--- a/boost/math/tools/detail/polynomial_horner3_17.hpp
+++ /dev/null
@@ -1,373 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Unrolled polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_17_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_17_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[4] * x2 + a[2]);
- t[1] = static_cast<V>(a[3] * x2 + a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[5] * x2 + a[3];
- t[1] = a[4] * x2 + a[2];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[6] * x2 + a[4]);
- t[1] = static_cast<V>(a[5] * x2 + a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[7] * x2 + a[5];
- t[1] = a[6] * x2 + a[4];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[8] * x2 + a[6]);
- t[1] = static_cast<V>(a[7] * x2 + a[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[9] * x2 + a[7];
- t[1] = a[8] * x2 + a[6];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[10] * x2 + a[8]);
- t[1] = static_cast<V>(a[9] * x2 + a[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[11] * x2 + a[9];
- t[1] = a[10] * x2 + a[8];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<13>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[12] * x2 + a[10]);
- t[1] = static_cast<V>(a[11] * x2 + a[9]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<14>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[13] * x2 + a[11];
- t[1] = a[12] * x2 + a[10];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[9]);
- t[1] += static_cast<V>(a[8]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<15>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[14] * x2 + a[12]);
- t[1] = static_cast<V>(a[13] * x2 + a[11]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[9]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<16>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[15] * x2 + a[13];
- t[1] = a[14] * x2 + a[12];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[11]);
- t[1] += static_cast<V>(a[10]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[9]);
- t[1] += static_cast<V>(a[8]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<17>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[16] * x2 + a[14]);
- t[1] = static_cast<V>(a[15] * x2 + a[13]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[12]);
- t[1] += static_cast<V>(a[11]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[9]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner3_18.hpp b/boost/math/tools/detail/polynomial_horner3_18.hpp
deleted file mode 100644
index 899117d..0000000
--- a/boost/math/tools/detail/polynomial_horner3_18.hpp
+++ /dev/null
@@ -1,412 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Unrolled polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_18_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_18_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[4] * x2 + a[2]);
- t[1] = static_cast<V>(a[3] * x2 + a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[5] * x2 + a[3];
- t[1] = a[4] * x2 + a[2];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[6] * x2 + a[4]);
- t[1] = static_cast<V>(a[5] * x2 + a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[7] * x2 + a[5];
- t[1] = a[6] * x2 + a[4];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[8] * x2 + a[6]);
- t[1] = static_cast<V>(a[7] * x2 + a[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[9] * x2 + a[7];
- t[1] = a[8] * x2 + a[6];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[10] * x2 + a[8]);
- t[1] = static_cast<V>(a[9] * x2 + a[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[11] * x2 + a[9];
- t[1] = a[10] * x2 + a[8];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<13>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[12] * x2 + a[10]);
- t[1] = static_cast<V>(a[11] * x2 + a[9]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<14>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[13] * x2 + a[11];
- t[1] = a[12] * x2 + a[10];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[9]);
- t[1] += static_cast<V>(a[8]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<15>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[14] * x2 + a[12]);
- t[1] = static_cast<V>(a[13] * x2 + a[11]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[9]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<16>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[15] * x2 + a[13];
- t[1] = a[14] * x2 + a[12];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[11]);
- t[1] += static_cast<V>(a[10]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[9]);
- t[1] += static_cast<V>(a[8]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<17>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[16] * x2 + a[14]);
- t[1] = static_cast<V>(a[15] * x2 + a[13]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[12]);
- t[1] += static_cast<V>(a[11]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[9]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<18>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[17] * x2 + a[15];
- t[1] = a[16] * x2 + a[14];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[13]);
- t[1] += static_cast<V>(a[12]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[11]);
- t[1] += static_cast<V>(a[10]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[9]);
- t[1] += static_cast<V>(a[8]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner3_19.hpp b/boost/math/tools/detail/polynomial_horner3_19.hpp
deleted file mode 100644
index 7c4f728..0000000
--- a/boost/math/tools/detail/polynomial_horner3_19.hpp
+++ /dev/null
@@ -1,453 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Unrolled polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_19_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_19_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[4] * x2 + a[2]);
- t[1] = static_cast<V>(a[3] * x2 + a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[5] * x2 + a[3];
- t[1] = a[4] * x2 + a[2];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[6] * x2 + a[4]);
- t[1] = static_cast<V>(a[5] * x2 + a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[7] * x2 + a[5];
- t[1] = a[6] * x2 + a[4];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[8] * x2 + a[6]);
- t[1] = static_cast<V>(a[7] * x2 + a[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[9] * x2 + a[7];
- t[1] = a[8] * x2 + a[6];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[10] * x2 + a[8]);
- t[1] = static_cast<V>(a[9] * x2 + a[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[11] * x2 + a[9];
- t[1] = a[10] * x2 + a[8];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<13>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[12] * x2 + a[10]);
- t[1] = static_cast<V>(a[11] * x2 + a[9]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<14>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[13] * x2 + a[11];
- t[1] = a[12] * x2 + a[10];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[9]);
- t[1] += static_cast<V>(a[8]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<15>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[14] * x2 + a[12]);
- t[1] = static_cast<V>(a[13] * x2 + a[11]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[9]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<16>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[15] * x2 + a[13];
- t[1] = a[14] * x2 + a[12];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[11]);
- t[1] += static_cast<V>(a[10]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[9]);
- t[1] += static_cast<V>(a[8]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<17>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[16] * x2 + a[14]);
- t[1] = static_cast<V>(a[15] * x2 + a[13]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[12]);
- t[1] += static_cast<V>(a[11]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[9]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<18>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[17] * x2 + a[15];
- t[1] = a[16] * x2 + a[14];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[13]);
- t[1] += static_cast<V>(a[12]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[11]);
- t[1] += static_cast<V>(a[10]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[9]);
- t[1] += static_cast<V>(a[8]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<19>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[18] * x2 + a[16]);
- t[1] = static_cast<V>(a[17] * x2 + a[15]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[14]);
- t[1] += static_cast<V>(a[13]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[12]);
- t[1] += static_cast<V>(a[11]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[9]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner3_2.hpp b/boost/math/tools/detail/polynomial_horner3_2.hpp
deleted file mode 100644
index 372630c..0000000
--- a/boost/math/tools/detail/polynomial_horner3_2.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Unrolled polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_2_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_2_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner3_20.hpp b/boost/math/tools/detail/polynomial_horner3_20.hpp
deleted file mode 100644
index b20e0d5..0000000
--- a/boost/math/tools/detail/polynomial_horner3_20.hpp
+++ /dev/null
@@ -1,496 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Unrolled polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_20_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_20_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[4] * x2 + a[2]);
- t[1] = static_cast<V>(a[3] * x2 + a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[5] * x2 + a[3];
- t[1] = a[4] * x2 + a[2];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[6] * x2 + a[4]);
- t[1] = static_cast<V>(a[5] * x2 + a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[7] * x2 + a[5];
- t[1] = a[6] * x2 + a[4];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[8] * x2 + a[6]);
- t[1] = static_cast<V>(a[7] * x2 + a[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[9] * x2 + a[7];
- t[1] = a[8] * x2 + a[6];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[10] * x2 + a[8]);
- t[1] = static_cast<V>(a[9] * x2 + a[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[11] * x2 + a[9];
- t[1] = a[10] * x2 + a[8];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<13>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[12] * x2 + a[10]);
- t[1] = static_cast<V>(a[11] * x2 + a[9]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<14>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[13] * x2 + a[11];
- t[1] = a[12] * x2 + a[10];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[9]);
- t[1] += static_cast<V>(a[8]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<15>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[14] * x2 + a[12]);
- t[1] = static_cast<V>(a[13] * x2 + a[11]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[9]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<16>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[15] * x2 + a[13];
- t[1] = a[14] * x2 + a[12];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[11]);
- t[1] += static_cast<V>(a[10]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[9]);
- t[1] += static_cast<V>(a[8]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<17>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[16] * x2 + a[14]);
- t[1] = static_cast<V>(a[15] * x2 + a[13]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[12]);
- t[1] += static_cast<V>(a[11]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[9]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<18>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[17] * x2 + a[15];
- t[1] = a[16] * x2 + a[14];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[13]);
- t[1] += static_cast<V>(a[12]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[11]);
- t[1] += static_cast<V>(a[10]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[9]);
- t[1] += static_cast<V>(a[8]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<19>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[18] * x2 + a[16]);
- t[1] = static_cast<V>(a[17] * x2 + a[15]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[14]);
- t[1] += static_cast<V>(a[13]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[12]);
- t[1] += static_cast<V>(a[11]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[9]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<20>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[19] * x2 + a[17];
- t[1] = a[18] * x2 + a[16];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[15]);
- t[1] += static_cast<V>(a[14]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[13]);
- t[1] += static_cast<V>(a[12]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[11]);
- t[1] += static_cast<V>(a[10]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[9]);
- t[1] += static_cast<V>(a[8]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner3_3.hpp b/boost/math/tools/detail/polynomial_horner3_3.hpp
deleted file mode 100644
index cc6b1a9..0000000
--- a/boost/math/tools/detail/polynomial_horner3_3.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Unrolled polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_3_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_3_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner3_4.hpp b/boost/math/tools/detail/polynomial_horner3_4.hpp
deleted file mode 100644
index 74192f0..0000000
--- a/boost/math/tools/detail/polynomial_horner3_4.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Unrolled polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_4_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_4_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner3_5.hpp b/boost/math/tools/detail/polynomial_horner3_5.hpp
deleted file mode 100644
index 73d1900..0000000
--- a/boost/math/tools/detail/polynomial_horner3_5.hpp
+++ /dev/null
@@ -1,61 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Unrolled polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_5_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_5_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[4] * x2 + a[2]);
- t[1] = static_cast<V>(a[3] * x2 + a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner3_6.hpp b/boost/math/tools/detail/polynomial_horner3_6.hpp
deleted file mode 100644
index da02574..0000000
--- a/boost/math/tools/detail/polynomial_horner3_6.hpp
+++ /dev/null
@@ -1,76 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Unrolled polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_6_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_6_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[4] * x2 + a[2]);
- t[1] = static_cast<V>(a[3] * x2 + a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[5] * x2 + a[3];
- t[1] = a[4] * x2 + a[2];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner3_7.hpp b/boost/math/tools/detail/polynomial_horner3_7.hpp
deleted file mode 100644
index d45a622..0000000
--- a/boost/math/tools/detail/polynomial_horner3_7.hpp
+++ /dev/null
@@ -1,93 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Unrolled polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_7_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_7_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[4] * x2 + a[2]);
- t[1] = static_cast<V>(a[3] * x2 + a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[5] * x2 + a[3];
- t[1] = a[4] * x2 + a[2];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[6] * x2 + a[4]);
- t[1] = static_cast<V>(a[5] * x2 + a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner3_8.hpp b/boost/math/tools/detail/polynomial_horner3_8.hpp
deleted file mode 100644
index d0198bf..0000000
--- a/boost/math/tools/detail/polynomial_horner3_8.hpp
+++ /dev/null
@@ -1,112 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Unrolled polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_8_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_8_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[4] * x2 + a[2]);
- t[1] = static_cast<V>(a[3] * x2 + a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[5] * x2 + a[3];
- t[1] = a[4] * x2 + a[2];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[6] * x2 + a[4]);
- t[1] = static_cast<V>(a[5] * x2 + a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[7] * x2 + a[5];
- t[1] = a[6] * x2 + a[4];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/polynomial_horner3_9.hpp b/boost/math/tools/detail/polynomial_horner3_9.hpp
deleted file mode 100644
index b3e0b19..0000000
--- a/boost/math/tools/detail/polynomial_horner3_9.hpp
+++ /dev/null
@@ -1,133 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Unrolled polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_EVAL_9_HPP
-#define BOOST_MATH_TOOLS_POLY_EVAL_9_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>(a[1] * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>((a[2] * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]);
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[4] * x2 + a[2]);
- t[1] = static_cast<V>(a[3] * x2 + a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[5] * x2 + a[3];
- t[1] = a[4] * x2 + a[2];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[6] * x2 + a[4]);
- t[1] = static_cast<V>(a[5] * x2 + a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = a[7] * x2 + a[5];
- t[1] = a[6] * x2 + a[4];
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[0] *= x;
- return t[0] + t[1];
-}
-
-template <class T, class V>
-inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*)
-{
- V x2 = x * x;
- V t[2];
- t[0] = static_cast<V>(a[8] * x2 + a[6]);
- t[1] = static_cast<V>(a[7] * x2 + a[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[0] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[1] *= x;
- return t[0] + t[1];
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner1_10.hpp b/boost/math/tools/detail/rational_horner1_10.hpp
deleted file mode 100644
index 919ba6d..0000000
--- a/boost/math/tools/detail/rational_horner1_10.hpp
+++ /dev/null
@@ -1,138 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_RAT_10_HPP
-#define BOOST_MATH_TOOLS_POLY_RAT_10_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- if(x <= 1)
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((a[0] * z + a[1]) / (b[0] * z + b[1]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- if(x <= 1)
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((a[0] * z + a[1]) * z + a[2]) / ((b[0] * z + b[1]) * z + b[2]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- if(x <= 1)
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) / (((b[0] * z + b[1]) * z + b[2]) * z + b[3]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*)
-{
- if(x <= 1)
- return static_cast<V>(((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((b[4] * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) / ((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*)
-{
- if(x <= 1)
- return static_cast<V>((((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((b[5] * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) / (((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((b[6] * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) / ((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((b[7] * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) / (((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((((a[8] * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((b[8] * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) / ((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((((a[9] * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((b[9] * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) / (((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]));
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner1_11.hpp b/boost/math/tools/detail/rational_horner1_11.hpp
deleted file mode 100644
index e17bfbc..0000000
--- a/boost/math/tools/detail/rational_horner1_11.hpp
+++ /dev/null
@@ -1,150 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_RAT_11_HPP
-#define BOOST_MATH_TOOLS_POLY_RAT_11_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- if(x <= 1)
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((a[0] * z + a[1]) / (b[0] * z + b[1]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- if(x <= 1)
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((a[0] * z + a[1]) * z + a[2]) / ((b[0] * z + b[1]) * z + b[2]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- if(x <= 1)
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) / (((b[0] * z + b[1]) * z + b[2]) * z + b[3]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*)
-{
- if(x <= 1)
- return static_cast<V>(((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((b[4] * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) / ((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*)
-{
- if(x <= 1)
- return static_cast<V>((((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((b[5] * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) / (((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((b[6] * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) / ((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((b[7] * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) / (((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((((a[8] * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((b[8] * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) / ((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((((a[9] * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((b[9] * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) / (((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((((((a[10] * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((b[10] * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) / ((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]));
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner1_12.hpp b/boost/math/tools/detail/rational_horner1_12.hpp
deleted file mode 100644
index 67b430a..0000000
--- a/boost/math/tools/detail/rational_horner1_12.hpp
+++ /dev/null
@@ -1,162 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_RAT_12_HPP
-#define BOOST_MATH_TOOLS_POLY_RAT_12_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- if(x <= 1)
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((a[0] * z + a[1]) / (b[0] * z + b[1]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- if(x <= 1)
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((a[0] * z + a[1]) * z + a[2]) / ((b[0] * z + b[1]) * z + b[2]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- if(x <= 1)
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) / (((b[0] * z + b[1]) * z + b[2]) * z + b[3]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*)
-{
- if(x <= 1)
- return static_cast<V>(((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((b[4] * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) / ((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*)
-{
- if(x <= 1)
- return static_cast<V>((((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((b[5] * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) / (((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((b[6] * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) / ((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((b[7] * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) / (((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((((a[8] * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((b[8] * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) / ((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((((a[9] * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((b[9] * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) / (((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((((((a[10] * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((b[10] * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) / ((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((((((a[11] * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((b[11] * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) / (((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]));
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner1_13.hpp b/boost/math/tools/detail/rational_horner1_13.hpp
deleted file mode 100644
index 33ae675..0000000
--- a/boost/math/tools/detail/rational_horner1_13.hpp
+++ /dev/null
@@ -1,174 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_RAT_13_HPP
-#define BOOST_MATH_TOOLS_POLY_RAT_13_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- if(x <= 1)
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((a[0] * z + a[1]) / (b[0] * z + b[1]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- if(x <= 1)
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((a[0] * z + a[1]) * z + a[2]) / ((b[0] * z + b[1]) * z + b[2]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- if(x <= 1)
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) / (((b[0] * z + b[1]) * z + b[2]) * z + b[3]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*)
-{
- if(x <= 1)
- return static_cast<V>(((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((b[4] * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) / ((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*)
-{
- if(x <= 1)
- return static_cast<V>((((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((b[5] * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) / (((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((b[6] * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) / ((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((b[7] * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) / (((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((((a[8] * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((b[8] * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) / ((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((((a[9] * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((b[9] * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) / (((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((((((a[10] * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((b[10] * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) / ((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((((((a[11] * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((b[11] * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) / (((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<13>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((((((((a[12] * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((((b[12] * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) / ((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]));
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner1_14.hpp b/boost/math/tools/detail/rational_horner1_14.hpp
deleted file mode 100644
index 0c5f188..0000000
--- a/boost/math/tools/detail/rational_horner1_14.hpp
+++ /dev/null
@@ -1,186 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_RAT_14_HPP
-#define BOOST_MATH_TOOLS_POLY_RAT_14_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- if(x <= 1)
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((a[0] * z + a[1]) / (b[0] * z + b[1]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- if(x <= 1)
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((a[0] * z + a[1]) * z + a[2]) / ((b[0] * z + b[1]) * z + b[2]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- if(x <= 1)
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) / (((b[0] * z + b[1]) * z + b[2]) * z + b[3]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*)
-{
- if(x <= 1)
- return static_cast<V>(((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((b[4] * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) / ((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*)
-{
- if(x <= 1)
- return static_cast<V>((((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((b[5] * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) / (((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((b[6] * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) / ((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((b[7] * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) / (((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((((a[8] * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((b[8] * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) / ((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((((a[9] * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((b[9] * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) / (((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((((((a[10] * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((b[10] * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) / ((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((((((a[11] * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((b[11] * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) / (((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<13>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((((((((a[12] * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((((b[12] * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) / ((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<14>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((((((((a[13] * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((((b[13] * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) / (((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]));
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner1_15.hpp b/boost/math/tools/detail/rational_horner1_15.hpp
deleted file mode 100644
index 8481907..0000000
--- a/boost/math/tools/detail/rational_horner1_15.hpp
+++ /dev/null
@@ -1,198 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_RAT_15_HPP
-#define BOOST_MATH_TOOLS_POLY_RAT_15_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- if(x <= 1)
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((a[0] * z + a[1]) / (b[0] * z + b[1]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- if(x <= 1)
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((a[0] * z + a[1]) * z + a[2]) / ((b[0] * z + b[1]) * z + b[2]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- if(x <= 1)
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) / (((b[0] * z + b[1]) * z + b[2]) * z + b[3]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*)
-{
- if(x <= 1)
- return static_cast<V>(((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((b[4] * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) / ((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*)
-{
- if(x <= 1)
- return static_cast<V>((((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((b[5] * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) / (((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((b[6] * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) / ((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((b[7] * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) / (((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((((a[8] * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((b[8] * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) / ((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((((a[9] * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((b[9] * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) / (((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((((((a[10] * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((b[10] * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) / ((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((((((a[11] * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((b[11] * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) / (((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<13>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((((((((a[12] * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((((b[12] * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) / ((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<14>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((((((((a[13] * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((((b[13] * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) / (((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<15>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((((((((((a[14] * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((((((b[14] * x + b[13]) * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) * z + a[14]) / ((((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]) * z + b[14]));
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner1_16.hpp b/boost/math/tools/detail/rational_horner1_16.hpp
deleted file mode 100644
index e0661f8..0000000
--- a/boost/math/tools/detail/rational_horner1_16.hpp
+++ /dev/null
@@ -1,210 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_RAT_16_HPP
-#define BOOST_MATH_TOOLS_POLY_RAT_16_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- if(x <= 1)
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((a[0] * z + a[1]) / (b[0] * z + b[1]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- if(x <= 1)
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((a[0] * z + a[1]) * z + a[2]) / ((b[0] * z + b[1]) * z + b[2]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- if(x <= 1)
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) / (((b[0] * z + b[1]) * z + b[2]) * z + b[3]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*)
-{
- if(x <= 1)
- return static_cast<V>(((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((b[4] * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) / ((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*)
-{
- if(x <= 1)
- return static_cast<V>((((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((b[5] * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) / (((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((b[6] * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) / ((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((b[7] * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) / (((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((((a[8] * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((b[8] * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) / ((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((((a[9] * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((b[9] * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) / (((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((((((a[10] * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((b[10] * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) / ((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((((((a[11] * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((b[11] * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) / (((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<13>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((((((((a[12] * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((((b[12] * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) / ((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<14>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((((((((a[13] * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((((b[13] * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) / (((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<15>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((((((((((a[14] * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((((((b[14] * x + b[13]) * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) * z + a[14]) / ((((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]) * z + b[14]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<16>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((((((((((a[15] * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((((((b[15] * x + b[14]) * x + b[13]) * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) * z + a[14]) * z + a[15]) / (((((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]) * z + b[14]) * z + b[15]));
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner1_17.hpp b/boost/math/tools/detail/rational_horner1_17.hpp
deleted file mode 100644
index f123da4..0000000
--- a/boost/math/tools/detail/rational_horner1_17.hpp
+++ /dev/null
@@ -1,222 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_RAT_17_HPP
-#define BOOST_MATH_TOOLS_POLY_RAT_17_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- if(x <= 1)
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((a[0] * z + a[1]) / (b[0] * z + b[1]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- if(x <= 1)
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((a[0] * z + a[1]) * z + a[2]) / ((b[0] * z + b[1]) * z + b[2]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- if(x <= 1)
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) / (((b[0] * z + b[1]) * z + b[2]) * z + b[3]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*)
-{
- if(x <= 1)
- return static_cast<V>(((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((b[4] * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) / ((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*)
-{
- if(x <= 1)
- return static_cast<V>((((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((b[5] * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) / (((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((b[6] * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) / ((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((b[7] * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) / (((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((((a[8] * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((b[8] * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) / ((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((((a[9] * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((b[9] * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) / (((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((((((a[10] * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((b[10] * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) / ((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((((((a[11] * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((b[11] * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) / (((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<13>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((((((((a[12] * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((((b[12] * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) / ((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<14>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((((((((a[13] * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((((b[13] * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) / (((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<15>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((((((((((a[14] * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((((((b[14] * x + b[13]) * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) * z + a[14]) / ((((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]) * z + b[14]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<16>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((((((((((a[15] * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((((((b[15] * x + b[14]) * x + b[13]) * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) * z + a[14]) * z + a[15]) / (((((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]) * z + b[14]) * z + b[15]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<17>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((((((((((((a[16] * x + a[15]) * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((((((((b[16] * x + b[15]) * x + b[14]) * x + b[13]) * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) * z + a[14]) * z + a[15]) * z + a[16]) / ((((((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]) * z + b[14]) * z + b[15]) * z + b[16]));
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner1_18.hpp b/boost/math/tools/detail/rational_horner1_18.hpp
deleted file mode 100644
index 718ace8..0000000
--- a/boost/math/tools/detail/rational_horner1_18.hpp
+++ /dev/null
@@ -1,234 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_RAT_18_HPP
-#define BOOST_MATH_TOOLS_POLY_RAT_18_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- if(x <= 1)
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((a[0] * z + a[1]) / (b[0] * z + b[1]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- if(x <= 1)
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((a[0] * z + a[1]) * z + a[2]) / ((b[0] * z + b[1]) * z + b[2]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- if(x <= 1)
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) / (((b[0] * z + b[1]) * z + b[2]) * z + b[3]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*)
-{
- if(x <= 1)
- return static_cast<V>(((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((b[4] * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) / ((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*)
-{
- if(x <= 1)
- return static_cast<V>((((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((b[5] * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) / (((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((b[6] * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) / ((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((b[7] * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) / (((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((((a[8] * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((b[8] * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) / ((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((((a[9] * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((b[9] * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) / (((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((((((a[10] * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((b[10] * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) / ((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((((((a[11] * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((b[11] * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) / (((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<13>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((((((((a[12] * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((((b[12] * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) / ((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<14>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((((((((a[13] * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((((b[13] * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) / (((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<15>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((((((((((a[14] * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((((((b[14] * x + b[13]) * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) * z + a[14]) / ((((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]) * z + b[14]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<16>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((((((((((a[15] * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((((((b[15] * x + b[14]) * x + b[13]) * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) * z + a[14]) * z + a[15]) / (((((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]) * z + b[14]) * z + b[15]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<17>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((((((((((((a[16] * x + a[15]) * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((((((((b[16] * x + b[15]) * x + b[14]) * x + b[13]) * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) * z + a[14]) * z + a[15]) * z + a[16]) / ((((((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]) * z + b[14]) * z + b[15]) * z + b[16]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<18>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((((((((((((a[17] * x + a[16]) * x + a[15]) * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((((((((b[17] * x + b[16]) * x + b[15]) * x + b[14]) * x + b[13]) * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) * z + a[14]) * z + a[15]) * z + a[16]) * z + a[17]) / (((((((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]) * z + b[14]) * z + b[15]) * z + b[16]) * z + b[17]));
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner1_19.hpp b/boost/math/tools/detail/rational_horner1_19.hpp
deleted file mode 100644
index c849ba8..0000000
--- a/boost/math/tools/detail/rational_horner1_19.hpp
+++ /dev/null
@@ -1,246 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_RAT_19_HPP
-#define BOOST_MATH_TOOLS_POLY_RAT_19_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- if(x <= 1)
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((a[0] * z + a[1]) / (b[0] * z + b[1]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- if(x <= 1)
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((a[0] * z + a[1]) * z + a[2]) / ((b[0] * z + b[1]) * z + b[2]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- if(x <= 1)
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) / (((b[0] * z + b[1]) * z + b[2]) * z + b[3]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*)
-{
- if(x <= 1)
- return static_cast<V>(((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((b[4] * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) / ((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*)
-{
- if(x <= 1)
- return static_cast<V>((((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((b[5] * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) / (((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((b[6] * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) / ((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((b[7] * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) / (((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((((a[8] * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((b[8] * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) / ((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((((a[9] * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((b[9] * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) / (((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((((((a[10] * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((b[10] * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) / ((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((((((a[11] * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((b[11] * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) / (((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<13>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((((((((a[12] * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((((b[12] * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) / ((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<14>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((((((((a[13] * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((((b[13] * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) / (((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<15>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((((((((((a[14] * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((((((b[14] * x + b[13]) * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) * z + a[14]) / ((((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]) * z + b[14]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<16>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((((((((((a[15] * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((((((b[15] * x + b[14]) * x + b[13]) * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) * z + a[14]) * z + a[15]) / (((((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]) * z + b[14]) * z + b[15]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<17>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((((((((((((a[16] * x + a[15]) * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((((((((b[16] * x + b[15]) * x + b[14]) * x + b[13]) * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) * z + a[14]) * z + a[15]) * z + a[16]) / ((((((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]) * z + b[14]) * z + b[15]) * z + b[16]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<18>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((((((((((((a[17] * x + a[16]) * x + a[15]) * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((((((((b[17] * x + b[16]) * x + b[15]) * x + b[14]) * x + b[13]) * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) * z + a[14]) * z + a[15]) * z + a[16]) * z + a[17]) / (((((((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]) * z + b[14]) * z + b[15]) * z + b[16]) * z + b[17]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<19>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((((((((((((((a[18] * x + a[17]) * x + a[16]) * x + a[15]) * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((((((((((b[18] * x + b[17]) * x + b[16]) * x + b[15]) * x + b[14]) * x + b[13]) * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x [...]
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) * z + a[14]) * z + a[15]) * z + a[16]) * z + a[17]) * z + a[18]) / ((((((((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]) * z + b[14]) * z + b[15]) * z + [...]
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner1_2.hpp b/boost/math/tools/detail/rational_horner1_2.hpp
deleted file mode 100644
index 87e41ab..0000000
--- a/boost/math/tools/detail/rational_horner1_2.hpp
+++ /dev/null
@@ -1,42 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_RAT_2_HPP
-#define BOOST_MATH_TOOLS_POLY_RAT_2_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- if(x <= 1)
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((a[0] * z + a[1]) / (b[0] * z + b[1]));
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner1_20.hpp b/boost/math/tools/detail/rational_horner1_20.hpp
deleted file mode 100644
index e05eaaa..0000000
--- a/boost/math/tools/detail/rational_horner1_20.hpp
+++ /dev/null
@@ -1,258 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_RAT_20_HPP
-#define BOOST_MATH_TOOLS_POLY_RAT_20_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- if(x <= 1)
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((a[0] * z + a[1]) / (b[0] * z + b[1]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- if(x <= 1)
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((a[0] * z + a[1]) * z + a[2]) / ((b[0] * z + b[1]) * z + b[2]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- if(x <= 1)
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) / (((b[0] * z + b[1]) * z + b[2]) * z + b[3]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*)
-{
- if(x <= 1)
- return static_cast<V>(((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((b[4] * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) / ((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*)
-{
- if(x <= 1)
- return static_cast<V>((((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((b[5] * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) / (((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((b[6] * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) / ((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((b[7] * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) / (((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((((a[8] * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((b[8] * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) / ((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((((a[9] * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((b[9] * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) / (((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((((((a[10] * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((b[10] * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) / ((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((((((a[11] * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((b[11] * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) / (((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<13>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((((((((a[12] * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((((b[12] * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) / ((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<14>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((((((((a[13] * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((((b[13] * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) / (((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<15>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((((((((((a[14] * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((((((b[14] * x + b[13]) * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) * z + a[14]) / ((((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]) * z + b[14]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<16>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((((((((((a[15] * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((((((b[15] * x + b[14]) * x + b[13]) * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) * z + a[14]) * z + a[15]) / (((((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]) * z + b[14]) * z + b[15]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<17>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((((((((((((a[16] * x + a[15]) * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((((((((b[16] * x + b[15]) * x + b[14]) * x + b[13]) * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) * z + a[14]) * z + a[15]) * z + a[16]) / ((((((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]) * z + b[14]) * z + b[15]) * z + b[16]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<18>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((((((((((((a[17] * x + a[16]) * x + a[15]) * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((((((((b[17] * x + b[16]) * x + b[15]) * x + b[14]) * x + b[13]) * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) * z + a[14]) * z + a[15]) * z + a[16]) * z + a[17]) / (((((((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]) * z + b[14]) * z + b[15]) * z + b[16]) * z + b[17]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<19>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((((((((((((((a[18] * x + a[17]) * x + a[16]) * x + a[15]) * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((((((((((b[18] * x + b[17]) * x + b[16]) * x + b[15]) * x + b[14]) * x + b[13]) * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x [...]
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) * z + a[14]) * z + a[15]) * z + a[16]) * z + a[17]) * z + a[18]) / ((((((((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]) * z + b[14]) * z + b[15]) * z + [...]
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<20>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((((((((((((((a[19] * x + a[18]) * x + a[17]) * x + a[16]) * x + a[15]) * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((((((((((b[19] * x + b[18]) * x + b[17]) * x + b[16]) * x + b[15]) * x + b[14]) * x + b[13]) * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) [...]
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) * z + a[14]) * z + a[15]) * z + a[16]) * z + a[17]) * z + a[18]) * z + a[19]) / (((((((((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]) * z + b[14]) * z [...]
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner1_3.hpp b/boost/math/tools/detail/rational_horner1_3.hpp
deleted file mode 100644
index ac1b785..0000000
--- a/boost/math/tools/detail/rational_horner1_3.hpp
+++ /dev/null
@@ -1,54 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_RAT_3_HPP
-#define BOOST_MATH_TOOLS_POLY_RAT_3_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- if(x <= 1)
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((a[0] * z + a[1]) / (b[0] * z + b[1]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- if(x <= 1)
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((a[0] * z + a[1]) * z + a[2]) / ((b[0] * z + b[1]) * z + b[2]));
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner1_4.hpp b/boost/math/tools/detail/rational_horner1_4.hpp
deleted file mode 100644
index eeced60..0000000
--- a/boost/math/tools/detail/rational_horner1_4.hpp
+++ /dev/null
@@ -1,66 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_RAT_4_HPP
-#define BOOST_MATH_TOOLS_POLY_RAT_4_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- if(x <= 1)
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((a[0] * z + a[1]) / (b[0] * z + b[1]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- if(x <= 1)
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((a[0] * z + a[1]) * z + a[2]) / ((b[0] * z + b[1]) * z + b[2]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- if(x <= 1)
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) / (((b[0] * z + b[1]) * z + b[2]) * z + b[3]));
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner1_5.hpp b/boost/math/tools/detail/rational_horner1_5.hpp
deleted file mode 100644
index 0479f66..0000000
--- a/boost/math/tools/detail/rational_horner1_5.hpp
+++ /dev/null
@@ -1,78 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_RAT_5_HPP
-#define BOOST_MATH_TOOLS_POLY_RAT_5_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- if(x <= 1)
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((a[0] * z + a[1]) / (b[0] * z + b[1]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- if(x <= 1)
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((a[0] * z + a[1]) * z + a[2]) / ((b[0] * z + b[1]) * z + b[2]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- if(x <= 1)
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) / (((b[0] * z + b[1]) * z + b[2]) * z + b[3]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*)
-{
- if(x <= 1)
- return static_cast<V>(((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((b[4] * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) / ((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]));
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner1_6.hpp b/boost/math/tools/detail/rational_horner1_6.hpp
deleted file mode 100644
index db25996..0000000
--- a/boost/math/tools/detail/rational_horner1_6.hpp
+++ /dev/null
@@ -1,90 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_RAT_6_HPP
-#define BOOST_MATH_TOOLS_POLY_RAT_6_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- if(x <= 1)
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((a[0] * z + a[1]) / (b[0] * z + b[1]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- if(x <= 1)
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((a[0] * z + a[1]) * z + a[2]) / ((b[0] * z + b[1]) * z + b[2]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- if(x <= 1)
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) / (((b[0] * z + b[1]) * z + b[2]) * z + b[3]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*)
-{
- if(x <= 1)
- return static_cast<V>(((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((b[4] * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) / ((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*)
-{
- if(x <= 1)
- return static_cast<V>((((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((b[5] * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) / (((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]));
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner1_7.hpp b/boost/math/tools/detail/rational_horner1_7.hpp
deleted file mode 100644
index b431fe9..0000000
--- a/boost/math/tools/detail/rational_horner1_7.hpp
+++ /dev/null
@@ -1,102 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_RAT_7_HPP
-#define BOOST_MATH_TOOLS_POLY_RAT_7_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- if(x <= 1)
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((a[0] * z + a[1]) / (b[0] * z + b[1]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- if(x <= 1)
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((a[0] * z + a[1]) * z + a[2]) / ((b[0] * z + b[1]) * z + b[2]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- if(x <= 1)
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) / (((b[0] * z + b[1]) * z + b[2]) * z + b[3]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*)
-{
- if(x <= 1)
- return static_cast<V>(((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((b[4] * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) / ((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*)
-{
- if(x <= 1)
- return static_cast<V>((((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((b[5] * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) / (((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((b[6] * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) / ((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]));
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner1_8.hpp b/boost/math/tools/detail/rational_horner1_8.hpp
deleted file mode 100644
index 5a04a7a..0000000
--- a/boost/math/tools/detail/rational_horner1_8.hpp
+++ /dev/null
@@ -1,114 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_RAT_8_HPP
-#define BOOST_MATH_TOOLS_POLY_RAT_8_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- if(x <= 1)
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((a[0] * z + a[1]) / (b[0] * z + b[1]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- if(x <= 1)
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((a[0] * z + a[1]) * z + a[2]) / ((b[0] * z + b[1]) * z + b[2]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- if(x <= 1)
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) / (((b[0] * z + b[1]) * z + b[2]) * z + b[3]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*)
-{
- if(x <= 1)
- return static_cast<V>(((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((b[4] * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) / ((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*)
-{
- if(x <= 1)
- return static_cast<V>((((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((b[5] * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) / (((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((b[6] * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) / ((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((b[7] * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) / (((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]));
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner1_9.hpp b/boost/math/tools/detail/rational_horner1_9.hpp
deleted file mode 100644
index 4b5465f..0000000
--- a/boost/math/tools/detail/rational_horner1_9.hpp
+++ /dev/null
@@ -1,126 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using Horners rule
-#ifndef BOOST_MATH_TOOLS_POLY_RAT_9_HPP
-#define BOOST_MATH_TOOLS_POLY_RAT_9_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- if(x <= 1)
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((a[0] * z + a[1]) / (b[0] * z + b[1]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- if(x <= 1)
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((a[0] * z + a[1]) * z + a[2]) / ((b[0] * z + b[1]) * z + b[2]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- if(x <= 1)
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) / (((b[0] * z + b[1]) * z + b[2]) * z + b[3]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*)
-{
- if(x <= 1)
- return static_cast<V>(((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((b[4] * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) / ((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*)
-{
- if(x <= 1)
- return static_cast<V>((((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((b[5] * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) / (((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((b[6] * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) / ((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*)
-{
- if(x <= 1)
- return static_cast<V>((((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((b[7] * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) / (((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*)
-{
- if(x <= 1)
- return static_cast<V>(((((((((a[8] * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((b[8] * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0]));
- else
- {
- V z = 1 / x;
- return static_cast<V>(((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) / ((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]));
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner2_10.hpp b/boost/math/tools/detail/rational_horner2_10.hpp
deleted file mode 100644
index e26d2d9..0000000
--- a/boost/math/tools/detail/rational_horner2_10.hpp
+++ /dev/null
@@ -1,144 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_RAT_EVAL_10_HPP
-#define BOOST_MATH_TOOLS_RAT_EVAL_10_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x) / ((b[4] * x2 + b[2]) * x2 + b[0] + (b[3] * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((a[0] * z2 + a[2]) * z2 + a[4] + (a[1] * z2 + a[3]) * z) / ((b[0] * z2 + b[2]) * z2 + b[4] + (b[1] * z2 + b[3]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]) / (((b[5] * x2 + b[3]) * x2 + b[1]) * x + (b[4] * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z + (a[1] * z2 + a[3]) * z2 + a[5]) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z + (b[1] * z2 + b[3]) * z2 + b[5]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x) / (((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((b[5] * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6] + ((a[1] * z2 + a[3]) * z2 + a[5]) * z) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6] + ((b[1] * z2 + b[3]) * z2 + b[5]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z + ((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z + ((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / ((((b[8] * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + (((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8] + (((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8] + (((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / (((((b[9] * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + (((b[8] * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z + (((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) / (((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z + (((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]));
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner2_11.hpp b/boost/math/tools/detail/rational_horner2_11.hpp
deleted file mode 100644
index c05e697..0000000
--- a/boost/math/tools/detail/rational_horner2_11.hpp
+++ /dev/null
@@ -1,160 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_RAT_EVAL_11_HPP
-#define BOOST_MATH_TOOLS_RAT_EVAL_11_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x) / ((b[4] * x2 + b[2]) * x2 + b[0] + (b[3] * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((a[0] * z2 + a[2]) * z2 + a[4] + (a[1] * z2 + a[3]) * z) / ((b[0] * z2 + b[2]) * z2 + b[4] + (b[1] * z2 + b[3]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]) / (((b[5] * x2 + b[3]) * x2 + b[1]) * x + (b[4] * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z + (a[1] * z2 + a[3]) * z2 + a[5]) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z + (b[1] * z2 + b[3]) * z2 + b[5]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x) / (((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((b[5] * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6] + ((a[1] * z2 + a[3]) * z2 + a[5]) * z) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6] + ((b[1] * z2 + b[3]) * z2 + b[5]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z + ((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z + ((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / ((((b[8] * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + (((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8] + (((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8] + (((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / (((((b[9] * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + (((b[8] * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z + (((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) / (((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z + (((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / (((((b[10] * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((((b[9] * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10] + ((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z) / (((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10] + ((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z));
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner2_12.hpp b/boost/math/tools/detail/rational_horner2_12.hpp
deleted file mode 100644
index 4ee3734..0000000
--- a/boost/math/tools/detail/rational_horner2_12.hpp
+++ /dev/null
@@ -1,176 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_RAT_EVAL_12_HPP
-#define BOOST_MATH_TOOLS_RAT_EVAL_12_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x) / ((b[4] * x2 + b[2]) * x2 + b[0] + (b[3] * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((a[0] * z2 + a[2]) * z2 + a[4] + (a[1] * z2 + a[3]) * z) / ((b[0] * z2 + b[2]) * z2 + b[4] + (b[1] * z2 + b[3]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]) / (((b[5] * x2 + b[3]) * x2 + b[1]) * x + (b[4] * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z + (a[1] * z2 + a[3]) * z2 + a[5]) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z + (b[1] * z2 + b[3]) * z2 + b[5]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x) / (((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((b[5] * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6] + ((a[1] * z2 + a[3]) * z2 + a[5]) * z) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6] + ((b[1] * z2 + b[3]) * z2 + b[5]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z + ((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z + ((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / ((((b[8] * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + (((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8] + (((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8] + (((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / (((((b[9] * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + (((b[8] * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z + (((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) / (((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z + (((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / (((((b[10] * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((((b[9] * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10] + ((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z) / (((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10] + ((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((((b[11] * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((((b[10] * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z + ((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) / ((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z + ((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]));
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner2_13.hpp b/boost/math/tools/detail/rational_horner2_13.hpp
deleted file mode 100644
index 37977a1..0000000
--- a/boost/math/tools/detail/rational_horner2_13.hpp
+++ /dev/null
@@ -1,192 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_RAT_EVAL_13_HPP
-#define BOOST_MATH_TOOLS_RAT_EVAL_13_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x) / ((b[4] * x2 + b[2]) * x2 + b[0] + (b[3] * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((a[0] * z2 + a[2]) * z2 + a[4] + (a[1] * z2 + a[3]) * z) / ((b[0] * z2 + b[2]) * z2 + b[4] + (b[1] * z2 + b[3]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]) / (((b[5] * x2 + b[3]) * x2 + b[1]) * x + (b[4] * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z + (a[1] * z2 + a[3]) * z2 + a[5]) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z + (b[1] * z2 + b[3]) * z2 + b[5]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x) / (((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((b[5] * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6] + ((a[1] * z2 + a[3]) * z2 + a[5]) * z) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6] + ((b[1] * z2 + b[3]) * z2 + b[5]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z + ((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z + ((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / ((((b[8] * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + (((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8] + (((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8] + (((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / (((((b[9] * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + (((b[8] * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z + (((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) / (((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z + (((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / (((((b[10] * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((((b[9] * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10] + ((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z) / (((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10] + ((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((((b[11] * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((((b[10] * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z + ((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) / ((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z + ((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<13>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / ((((((b[12] * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + (((((b[11] * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12] + (((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z) / ((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12] + (((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z));
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner2_14.hpp b/boost/math/tools/detail/rational_horner2_14.hpp
deleted file mode 100644
index 78edfbb..0000000
--- a/boost/math/tools/detail/rational_horner2_14.hpp
+++ /dev/null
@@ -1,208 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_RAT_EVAL_14_HPP
-#define BOOST_MATH_TOOLS_RAT_EVAL_14_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x) / ((b[4] * x2 + b[2]) * x2 + b[0] + (b[3] * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((a[0] * z2 + a[2]) * z2 + a[4] + (a[1] * z2 + a[3]) * z) / ((b[0] * z2 + b[2]) * z2 + b[4] + (b[1] * z2 + b[3]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]) / (((b[5] * x2 + b[3]) * x2 + b[1]) * x + (b[4] * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z + (a[1] * z2 + a[3]) * z2 + a[5]) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z + (b[1] * z2 + b[3]) * z2 + b[5]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x) / (((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((b[5] * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6] + ((a[1] * z2 + a[3]) * z2 + a[5]) * z) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6] + ((b[1] * z2 + b[3]) * z2 + b[5]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z + ((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z + ((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / ((((b[8] * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + (((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8] + (((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8] + (((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / (((((b[9] * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + (((b[8] * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z + (((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) / (((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z + (((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / (((((b[10] * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((((b[9] * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10] + ((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z) / (((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10] + ((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((((b[11] * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((((b[10] * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z + ((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) / ((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z + ((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<13>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / ((((((b[12] * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + (((((b[11] * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12] + (((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z) / ((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12] + (((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<14>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / (((((((b[13] * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + (((((b[12] * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z + (((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) / (((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z + (((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13]));
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner2_15.hpp b/boost/math/tools/detail/rational_horner2_15.hpp
deleted file mode 100644
index 3cf4ef5..0000000
--- a/boost/math/tools/detail/rational_horner2_15.hpp
+++ /dev/null
@@ -1,224 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_RAT_EVAL_15_HPP
-#define BOOST_MATH_TOOLS_RAT_EVAL_15_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x) / ((b[4] * x2 + b[2]) * x2 + b[0] + (b[3] * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((a[0] * z2 + a[2]) * z2 + a[4] + (a[1] * z2 + a[3]) * z) / ((b[0] * z2 + b[2]) * z2 + b[4] + (b[1] * z2 + b[3]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]) / (((b[5] * x2 + b[3]) * x2 + b[1]) * x + (b[4] * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z + (a[1] * z2 + a[3]) * z2 + a[5]) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z + (b[1] * z2 + b[3]) * z2 + b[5]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x) / (((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((b[5] * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6] + ((a[1] * z2 + a[3]) * z2 + a[5]) * z) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6] + ((b[1] * z2 + b[3]) * z2 + b[5]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z + ((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z + ((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / ((((b[8] * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + (((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8] + (((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8] + (((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / (((((b[9] * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + (((b[8] * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z + (((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) / (((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z + (((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / (((((b[10] * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((((b[9] * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10] + ((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z) / (((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10] + ((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((((b[11] * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((((b[10] * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z + ((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) / ((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z + ((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<13>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / ((((((b[12] * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + (((((b[11] * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12] + (((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z) / ((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12] + (((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<14>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / (((((((b[13] * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + (((((b[12] * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z + (((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) / (((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z + (((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<15>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((((((a[14] * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / (((((((b[14] * x2 + b[12]) * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((((((b[13] * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z2 + a[14] + ((((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) * z) / (((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z2 + b[14] + ((((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13]) * z));
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner2_16.hpp b/boost/math/tools/detail/rational_horner2_16.hpp
deleted file mode 100644
index 3936a1b..0000000
--- a/boost/math/tools/detail/rational_horner2_16.hpp
+++ /dev/null
@@ -1,240 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_RAT_EVAL_16_HPP
-#define BOOST_MATH_TOOLS_RAT_EVAL_16_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x) / ((b[4] * x2 + b[2]) * x2 + b[0] + (b[3] * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((a[0] * z2 + a[2]) * z2 + a[4] + (a[1] * z2 + a[3]) * z) / ((b[0] * z2 + b[2]) * z2 + b[4] + (b[1] * z2 + b[3]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]) / (((b[5] * x2 + b[3]) * x2 + b[1]) * x + (b[4] * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z + (a[1] * z2 + a[3]) * z2 + a[5]) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z + (b[1] * z2 + b[3]) * z2 + b[5]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x) / (((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((b[5] * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6] + ((a[1] * z2 + a[3]) * z2 + a[5]) * z) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6] + ((b[1] * z2 + b[3]) * z2 + b[5]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z + ((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z + ((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / ((((b[8] * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + (((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8] + (((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8] + (((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / (((((b[9] * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + (((b[8] * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z + (((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) / (((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z + (((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / (((((b[10] * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((((b[9] * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10] + ((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z) / (((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10] + ((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((((b[11] * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((((b[10] * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z + ((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) / ((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z + ((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<13>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / ((((((b[12] * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + (((((b[11] * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12] + (((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z) / ((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12] + (((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<14>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / (((((((b[13] * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + (((((b[12] * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z + (((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) / (((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z + (((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<15>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((((((a[14] * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / (((((((b[14] * x2 + b[12]) * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((((((b[13] * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z2 + a[14] + ((((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) * z) / (((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z2 + b[14] + ((((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<16>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((((((a[15] * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((((a[14] * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((((((b[15] * x2 + b[13]) * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((((((b[14] * x2 + b[12]) * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z2 + a[14]) * z + ((((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) * z2 + a[15]) / ((((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z2 + b[14]) * z + ((((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13]) * z2 + b[15]));
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner2_17.hpp b/boost/math/tools/detail/rational_horner2_17.hpp
deleted file mode 100644
index 4d253b9..0000000
--- a/boost/math/tools/detail/rational_horner2_17.hpp
+++ /dev/null
@@ -1,256 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_RAT_EVAL_17_HPP
-#define BOOST_MATH_TOOLS_RAT_EVAL_17_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x) / ((b[4] * x2 + b[2]) * x2 + b[0] + (b[3] * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((a[0] * z2 + a[2]) * z2 + a[4] + (a[1] * z2 + a[3]) * z) / ((b[0] * z2 + b[2]) * z2 + b[4] + (b[1] * z2 + b[3]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]) / (((b[5] * x2 + b[3]) * x2 + b[1]) * x + (b[4] * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z + (a[1] * z2 + a[3]) * z2 + a[5]) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z + (b[1] * z2 + b[3]) * z2 + b[5]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x) / (((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((b[5] * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6] + ((a[1] * z2 + a[3]) * z2 + a[5]) * z) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6] + ((b[1] * z2 + b[3]) * z2 + b[5]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z + ((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z + ((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / ((((b[8] * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + (((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8] + (((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8] + (((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / (((((b[9] * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + (((b[8] * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z + (((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) / (((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z + (((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / (((((b[10] * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((((b[9] * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10] + ((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z) / (((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10] + ((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((((b[11] * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((((b[10] * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z + ((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) / ((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z + ((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<13>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / ((((((b[12] * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + (((((b[11] * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12] + (((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z) / ((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12] + (((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<14>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / (((((((b[13] * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + (((((b[12] * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z + (((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) / (((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z + (((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<15>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((((((a[14] * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / (((((((b[14] * x2 + b[12]) * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((((((b[13] * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z2 + a[14] + ((((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) * z) / (((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z2 + b[14] + ((((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<16>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((((((a[15] * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((((a[14] * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((((((b[15] * x2 + b[13]) * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((((((b[14] * x2 + b[12]) * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z2 + a[14]) * z + ((((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) * z2 + a[15]) / ((((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z2 + b[14]) * z + ((((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13]) * z2 + b[15]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<17>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((((((a[16] * x2 + a[14]) * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((((((a[15] * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / ((((((((b[16] * x2 + b[14]) * x2 + b[12]) * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + (((((((b[15] * x2 + b[13]) * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z2 + a[14]) * z2 + a[16] + (((((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) * z2 + a[15]) * z) / ((((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z2 + b[14]) * z2 + b[16] + (((((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13]) * z2 + b[15]) * z));
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner2_18.hpp b/boost/math/tools/detail/rational_horner2_18.hpp
deleted file mode 100644
index 6c213ec..0000000
--- a/boost/math/tools/detail/rational_horner2_18.hpp
+++ /dev/null
@@ -1,272 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_RAT_EVAL_18_HPP
-#define BOOST_MATH_TOOLS_RAT_EVAL_18_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x) / ((b[4] * x2 + b[2]) * x2 + b[0] + (b[3] * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((a[0] * z2 + a[2]) * z2 + a[4] + (a[1] * z2 + a[3]) * z) / ((b[0] * z2 + b[2]) * z2 + b[4] + (b[1] * z2 + b[3]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]) / (((b[5] * x2 + b[3]) * x2 + b[1]) * x + (b[4] * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z + (a[1] * z2 + a[3]) * z2 + a[5]) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z + (b[1] * z2 + b[3]) * z2 + b[5]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x) / (((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((b[5] * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6] + ((a[1] * z2 + a[3]) * z2 + a[5]) * z) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6] + ((b[1] * z2 + b[3]) * z2 + b[5]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z + ((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z + ((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / ((((b[8] * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + (((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8] + (((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8] + (((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / (((((b[9] * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + (((b[8] * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z + (((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) / (((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z + (((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / (((((b[10] * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((((b[9] * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10] + ((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z) / (((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10] + ((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((((b[11] * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((((b[10] * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z + ((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) / ((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z + ((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<13>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / ((((((b[12] * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + (((((b[11] * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12] + (((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z) / ((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12] + (((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<14>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / (((((((b[13] * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + (((((b[12] * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z + (((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) / (((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z + (((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<15>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((((((a[14] * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / (((((((b[14] * x2 + b[12]) * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((((((b[13] * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z2 + a[14] + ((((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) * z) / (((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z2 + b[14] + ((((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<16>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((((((a[15] * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((((a[14] * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((((((b[15] * x2 + b[13]) * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((((((b[14] * x2 + b[12]) * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z2 + a[14]) * z + ((((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) * z2 + a[15]) / ((((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z2 + b[14]) * z + ((((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13]) * z2 + b[15]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<17>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((((((a[16] * x2 + a[14]) * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((((((a[15] * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / ((((((((b[16] * x2 + b[14]) * x2 + b[12]) * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + (((((((b[15] * x2 + b[13]) * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z2 + a[14]) * z2 + a[16] + (((((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) * z2 + a[15]) * z) / ((((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z2 + b[14]) * z2 + b[16] + (((((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13]) * z2 + b[15]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<18>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((((((((a[17] * x2 + a[15]) * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((((((a[16] * x2 + a[14]) * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / (((((((((b[17] * x2 + b[15]) * x2 + b[13]) * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + (((((((b[16] * x2 + b[14]) * x2 + b[12]) * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 [...]
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z2 + a[14]) * z2 + a[16]) * z + (((((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) * z2 + a[15]) * z2 + a[17]) / (((((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z2 + b[14]) * z2 + b[16]) * z + (((((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b [...]
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner2_19.hpp b/boost/math/tools/detail/rational_horner2_19.hpp
deleted file mode 100644
index 88e0b9f..0000000
--- a/boost/math/tools/detail/rational_horner2_19.hpp
+++ /dev/null
@@ -1,288 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_RAT_EVAL_19_HPP
-#define BOOST_MATH_TOOLS_RAT_EVAL_19_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x) / ((b[4] * x2 + b[2]) * x2 + b[0] + (b[3] * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((a[0] * z2 + a[2]) * z2 + a[4] + (a[1] * z2 + a[3]) * z) / ((b[0] * z2 + b[2]) * z2 + b[4] + (b[1] * z2 + b[3]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]) / (((b[5] * x2 + b[3]) * x2 + b[1]) * x + (b[4] * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z + (a[1] * z2 + a[3]) * z2 + a[5]) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z + (b[1] * z2 + b[3]) * z2 + b[5]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x) / (((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((b[5] * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6] + ((a[1] * z2 + a[3]) * z2 + a[5]) * z) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6] + ((b[1] * z2 + b[3]) * z2 + b[5]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z + ((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z + ((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / ((((b[8] * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + (((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8] + (((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8] + (((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / (((((b[9] * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + (((b[8] * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z + (((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) / (((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z + (((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / (((((b[10] * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((((b[9] * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10] + ((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z) / (((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10] + ((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((((b[11] * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((((b[10] * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z + ((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) / ((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z + ((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<13>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / ((((((b[12] * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + (((((b[11] * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12] + (((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z) / ((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12] + (((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<14>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / (((((((b[13] * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + (((((b[12] * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z + (((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) / (((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z + (((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<15>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((((((a[14] * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / (((((((b[14] * x2 + b[12]) * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((((((b[13] * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z2 + a[14] + ((((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) * z) / (((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z2 + b[14] + ((((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<16>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((((((a[15] * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((((a[14] * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((((((b[15] * x2 + b[13]) * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((((((b[14] * x2 + b[12]) * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z2 + a[14]) * z + ((((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) * z2 + a[15]) / ((((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z2 + b[14]) * z + ((((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13]) * z2 + b[15]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<17>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((((((a[16] * x2 + a[14]) * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((((((a[15] * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / ((((((((b[16] * x2 + b[14]) * x2 + b[12]) * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + (((((((b[15] * x2 + b[13]) * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z2 + a[14]) * z2 + a[16] + (((((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) * z2 + a[15]) * z) / ((((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z2 + b[14]) * z2 + b[16] + (((((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13]) * z2 + b[15]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<18>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((((((((a[17] * x2 + a[15]) * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((((((a[16] * x2 + a[14]) * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / (((((((((b[17] * x2 + b[15]) * x2 + b[13]) * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + (((((((b[16] * x2 + b[14]) * x2 + b[12]) * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 [...]
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z2 + a[14]) * z2 + a[16]) * z + (((((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) * z2 + a[15]) * z2 + a[17]) / (((((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z2 + b[14]) * z2 + b[16]) * z + (((((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b [...]
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<19>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((((((((a[18] * x2 + a[16]) * x2 + a[14]) * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((((((a[17] * x2 + a[15]) * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / (((((((((b[18] * x2 + b[16]) * x2 + b[14]) * x2 + b[12]) * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((((((((b[17] * x2 + b[15]) * x2 + b[13]) * x2 + b[11]) * x2 + [...]
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z2 + a[14]) * z2 + a[16]) * z2 + a[18] + ((((((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) * z2 + a[15]) * z2 + a[17]) * z) / (((((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z2 + b[14]) * z2 + b[16]) * z2 + b[18] + ((((((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9 [...]
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner2_2.hpp b/boost/math/tools/detail/rational_horner2_2.hpp
deleted file mode 100644
index 35b5abb..0000000
--- a/boost/math/tools/detail/rational_horner2_2.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_RAT_EVAL_2_HPP
-#define BOOST_MATH_TOOLS_RAT_EVAL_2_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner2_20.hpp b/boost/math/tools/detail/rational_horner2_20.hpp
deleted file mode 100644
index dc73fdd..0000000
--- a/boost/math/tools/detail/rational_horner2_20.hpp
+++ /dev/null
@@ -1,304 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_RAT_EVAL_20_HPP
-#define BOOST_MATH_TOOLS_RAT_EVAL_20_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x) / ((b[4] * x2 + b[2]) * x2 + b[0] + (b[3] * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((a[0] * z2 + a[2]) * z2 + a[4] + (a[1] * z2 + a[3]) * z) / ((b[0] * z2 + b[2]) * z2 + b[4] + (b[1] * z2 + b[3]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]) / (((b[5] * x2 + b[3]) * x2 + b[1]) * x + (b[4] * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z + (a[1] * z2 + a[3]) * z2 + a[5]) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z + (b[1] * z2 + b[3]) * z2 + b[5]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x) / (((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((b[5] * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6] + ((a[1] * z2 + a[3]) * z2 + a[5]) * z) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6] + ((b[1] * z2 + b[3]) * z2 + b[5]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z + ((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z + ((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / ((((b[8] * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + (((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8] + (((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8] + (((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / (((((b[9] * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + (((b[8] * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z + (((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) / (((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z + (((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / (((((b[10] * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((((b[9] * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10] + ((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z) / (((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10] + ((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((((b[11] * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((((b[10] * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z + ((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) / ((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z + ((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<13>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / ((((((b[12] * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + (((((b[11] * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12] + (((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z) / ((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12] + (((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<14>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / (((((((b[13] * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + (((((b[12] * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z + (((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) / (((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z + (((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<15>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((((((a[14] * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / (((((((b[14] * x2 + b[12]) * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((((((b[13] * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z2 + a[14] + ((((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) * z) / (((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z2 + b[14] + ((((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<16>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((((((a[15] * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((((a[14] * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((((((b[15] * x2 + b[13]) * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((((((b[14] * x2 + b[12]) * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z2 + a[14]) * z + ((((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) * z2 + a[15]) / ((((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z2 + b[14]) * z + ((((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13]) * z2 + b[15]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<17>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((((((a[16] * x2 + a[14]) * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((((((a[15] * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / ((((((((b[16] * x2 + b[14]) * x2 + b[12]) * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + (((((((b[15] * x2 + b[13]) * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z2 + a[14]) * z2 + a[16] + (((((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) * z2 + a[15]) * z) / ((((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z2 + b[14]) * z2 + b[16] + (((((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13]) * z2 + b[15]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<18>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((((((((a[17] * x2 + a[15]) * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((((((a[16] * x2 + a[14]) * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / (((((((((b[17] * x2 + b[15]) * x2 + b[13]) * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + (((((((b[16] * x2 + b[14]) * x2 + b[12]) * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 [...]
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z2 + a[14]) * z2 + a[16]) * z + (((((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) * z2 + a[15]) * z2 + a[17]) / (((((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z2 + b[14]) * z2 + b[16]) * z + (((((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b [...]
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<19>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((((((((a[18] * x2 + a[16]) * x2 + a[14]) * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((((((a[17] * x2 + a[15]) * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / (((((((((b[18] * x2 + b[16]) * x2 + b[14]) * x2 + b[12]) * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((((((((b[17] * x2 + b[15]) * x2 + b[13]) * x2 + b[11]) * x2 + [...]
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z2 + a[14]) * z2 + a[16]) * z2 + a[18] + ((((((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) * z2 + a[15]) * z2 + a[17]) * z) / (((((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z2 + b[14]) * z2 + b[16]) * z2 + b[18] + ((((((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9 [...]
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<20>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((((((((a[19] * x2 + a[17]) * x2 + a[15]) * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((((((a[18] * x2 + a[16]) * x2 + a[14]) * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((((((((b[19] * x2 + b[17]) * x2 + b[15]) * x2 + b[13]) * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((((((((b[18] * x2 + b[16]) * x2 + b[14]) [...]
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z2 + a[14]) * z2 + a[16]) * z2 + a[18]) * z + ((((((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) * z2 + a[15]) * z2 + a[17]) * z2 + a[19]) / ((((((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z2 + b[14]) * z2 + b[16]) * z2 + b[18]) * z + ((((((((b[1] * z2 + b[3]) * z2 + b[5]) * [...]
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner2_3.hpp b/boost/math/tools/detail/rational_horner2_3.hpp
deleted file mode 100644
index 8838ac1..0000000
--- a/boost/math/tools/detail/rational_horner2_3.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_RAT_EVAL_3_HPP
-#define BOOST_MATH_TOOLS_RAT_EVAL_3_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner2_4.hpp b/boost/math/tools/detail/rational_horner2_4.hpp
deleted file mode 100644
index 5fe5ada..0000000
--- a/boost/math/tools/detail/rational_horner2_4.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_RAT_EVAL_4_HPP
-#define BOOST_MATH_TOOLS_RAT_EVAL_4_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner2_5.hpp b/boost/math/tools/detail/rational_horner2_5.hpp
deleted file mode 100644
index 48b8498..0000000
--- a/boost/math/tools/detail/rational_horner2_5.hpp
+++ /dev/null
@@ -1,64 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_RAT_EVAL_5_HPP
-#define BOOST_MATH_TOOLS_RAT_EVAL_5_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x) / ((b[4] * x2 + b[2]) * x2 + b[0] + (b[3] * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((a[0] * z2 + a[2]) * z2 + a[4] + (a[1] * z2 + a[3]) * z) / ((b[0] * z2 + b[2]) * z2 + b[4] + (b[1] * z2 + b[3]) * z));
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner2_6.hpp b/boost/math/tools/detail/rational_horner2_6.hpp
deleted file mode 100644
index 83631ea..0000000
--- a/boost/math/tools/detail/rational_horner2_6.hpp
+++ /dev/null
@@ -1,80 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_RAT_EVAL_6_HPP
-#define BOOST_MATH_TOOLS_RAT_EVAL_6_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x) / ((b[4] * x2 + b[2]) * x2 + b[0] + (b[3] * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((a[0] * z2 + a[2]) * z2 + a[4] + (a[1] * z2 + a[3]) * z) / ((b[0] * z2 + b[2]) * z2 + b[4] + (b[1] * z2 + b[3]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]) / (((b[5] * x2 + b[3]) * x2 + b[1]) * x + (b[4] * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z + (a[1] * z2 + a[3]) * z2 + a[5]) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z + (b[1] * z2 + b[3]) * z2 + b[5]));
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner2_7.hpp b/boost/math/tools/detail/rational_horner2_7.hpp
deleted file mode 100644
index 3ed86ea..0000000
--- a/boost/math/tools/detail/rational_horner2_7.hpp
+++ /dev/null
@@ -1,96 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_RAT_EVAL_7_HPP
-#define BOOST_MATH_TOOLS_RAT_EVAL_7_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x) / ((b[4] * x2 + b[2]) * x2 + b[0] + (b[3] * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((a[0] * z2 + a[2]) * z2 + a[4] + (a[1] * z2 + a[3]) * z) / ((b[0] * z2 + b[2]) * z2 + b[4] + (b[1] * z2 + b[3]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]) / (((b[5] * x2 + b[3]) * x2 + b[1]) * x + (b[4] * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z + (a[1] * z2 + a[3]) * z2 + a[5]) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z + (b[1] * z2 + b[3]) * z2 + b[5]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x) / (((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((b[5] * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6] + ((a[1] * z2 + a[3]) * z2 + a[5]) * z) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6] + ((b[1] * z2 + b[3]) * z2 + b[5]) * z));
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner2_8.hpp b/boost/math/tools/detail/rational_horner2_8.hpp
deleted file mode 100644
index f8b36ec..0000000
--- a/boost/math/tools/detail/rational_horner2_8.hpp
+++ /dev/null
@@ -1,112 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_RAT_EVAL_8_HPP
-#define BOOST_MATH_TOOLS_RAT_EVAL_8_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x) / ((b[4] * x2 + b[2]) * x2 + b[0] + (b[3] * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((a[0] * z2 + a[2]) * z2 + a[4] + (a[1] * z2 + a[3]) * z) / ((b[0] * z2 + b[2]) * z2 + b[4] + (b[1] * z2 + b[3]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]) / (((b[5] * x2 + b[3]) * x2 + b[1]) * x + (b[4] * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z + (a[1] * z2 + a[3]) * z2 + a[5]) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z + (b[1] * z2 + b[3]) * z2 + b[5]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x) / (((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((b[5] * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6] + ((a[1] * z2 + a[3]) * z2 + a[5]) * z) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6] + ((b[1] * z2 + b[3]) * z2 + b[5]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z + ((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z + ((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]));
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner2_9.hpp b/boost/math/tools/detail/rational_horner2_9.hpp
deleted file mode 100644
index 88cc4e5..0000000
--- a/boost/math/tools/detail/rational_horner2_9.hpp
+++ /dev/null
@@ -1,128 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_RAT_EVAL_9_HPP
-#define BOOST_MATH_TOOLS_RAT_EVAL_9_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x) / ((b[4] * x2 + b[2]) * x2 + b[0] + (b[3] * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((a[0] * z2 + a[2]) * z2 + a[4] + (a[1] * z2 + a[3]) * z) / ((b[0] * z2 + b[2]) * z2 + b[4] + (b[1] * z2 + b[3]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]) / (((b[5] * x2 + b[3]) * x2 + b[1]) * x + (b[4] * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z + (a[1] * z2 + a[3]) * z2 + a[5]) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z + (b[1] * z2 + b[3]) * z2 + b[5]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>((((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x) / (((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((b[5] * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6] + ((a[1] * z2 + a[3]) * z2 + a[5]) * z) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6] + ((b[1] * z2 + b[3]) * z2 + b[5]) * z));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0]));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z + ((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z + ((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]));
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- return static_cast<V>(((((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / ((((b[8] * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + (((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x));
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8] + (((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8] + (((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z));
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner3_10.hpp b/boost/math/tools/detail/rational_horner3_10.hpp
deleted file mode 100644
index 019ffda..0000000
--- a/boost/math/tools/detail/rational_horner3_10.hpp
+++ /dev/null
@@ -1,396 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_RAT_EVAL_10_HPP
-#define BOOST_MATH_TOOLS_RAT_EVAL_10_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[4] * x2 + a[2];
- t[1] = a[3] * x2 + a[1];
- t[2] = b[4] * x2 + b[2];
- t[3] = b[3] * x2 + b[1];
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[4]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[5] * x2 + a[3];
- t[1] = a[4] * x2 + a[2];
- t[2] = b[5] * x2 + b[3];
- t[3] = b[4] * x2 + b[2];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[6] * x2 + a[4];
- t[1] = a[5] * x2 + a[3];
- t[2] = b[6] * x2 + b[4];
- t[3] = b[5] * x2 + b[3];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[2] += static_cast<V>(b[6]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[7] * x2 + a[5];
- t[1] = a[6] * x2 + a[4];
- t[2] = b[7] * x2 + b[5];
- t[3] = b[6] * x2 + b[4];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[8] * x2 + a[6];
- t[1] = a[7] * x2 + a[5];
- t[2] = b[8] * x2 + b[6];
- t[3] = b[7] * x2 + b[5];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[2] += static_cast<V>(b[8]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[9] * x2 + a[7];
- t[1] = a[8] * x2 + a[6];
- t[2] = b[9] * x2 + b[7];
- t[3] = b[8] * x2 + b[6];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[5]);
- t[3] += static_cast<V>(b[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner3_11.hpp b/boost/math/tools/detail/rational_horner3_11.hpp
deleted file mode 100644
index 13ce313..0000000
--- a/boost/math/tools/detail/rational_horner3_11.hpp
+++ /dev/null
@@ -1,482 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_RAT_EVAL_11_HPP
-#define BOOST_MATH_TOOLS_RAT_EVAL_11_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[4] * x2 + a[2];
- t[1] = a[3] * x2 + a[1];
- t[2] = b[4] * x2 + b[2];
- t[3] = b[3] * x2 + b[1];
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[4]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[5] * x2 + a[3];
- t[1] = a[4] * x2 + a[2];
- t[2] = b[5] * x2 + b[3];
- t[3] = b[4] * x2 + b[2];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[6] * x2 + a[4];
- t[1] = a[5] * x2 + a[3];
- t[2] = b[6] * x2 + b[4];
- t[3] = b[5] * x2 + b[3];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[2] += static_cast<V>(b[6]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[7] * x2 + a[5];
- t[1] = a[6] * x2 + a[4];
- t[2] = b[7] * x2 + b[5];
- t[3] = b[6] * x2 + b[4];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[8] * x2 + a[6];
- t[1] = a[7] * x2 + a[5];
- t[2] = b[8] * x2 + b[6];
- t[3] = b[7] * x2 + b[5];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[2] += static_cast<V>(b[8]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[9] * x2 + a[7];
- t[1] = a[8] * x2 + a[6];
- t[2] = b[9] * x2 + b[7];
- t[3] = b[8] * x2 + b[6];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[5]);
- t[3] += static_cast<V>(b[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[10] * x2 + a[8];
- t[1] = a[9] * x2 + a[7];
- t[2] = b[10] * x2 + b[8];
- t[3] = b[9] * x2 + b[7];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[2] += static_cast<V>(b[10]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner3_12.hpp b/boost/math/tools/detail/rational_horner3_12.hpp
deleted file mode 100644
index 634140b..0000000
--- a/boost/math/tools/detail/rational_horner3_12.hpp
+++ /dev/null
@@ -1,576 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_RAT_EVAL_12_HPP
-#define BOOST_MATH_TOOLS_RAT_EVAL_12_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[4] * x2 + a[2];
- t[1] = a[3] * x2 + a[1];
- t[2] = b[4] * x2 + b[2];
- t[3] = b[3] * x2 + b[1];
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[4]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[5] * x2 + a[3];
- t[1] = a[4] * x2 + a[2];
- t[2] = b[5] * x2 + b[3];
- t[3] = b[4] * x2 + b[2];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[6] * x2 + a[4];
- t[1] = a[5] * x2 + a[3];
- t[2] = b[6] * x2 + b[4];
- t[3] = b[5] * x2 + b[3];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[2] += static_cast<V>(b[6]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[7] * x2 + a[5];
- t[1] = a[6] * x2 + a[4];
- t[2] = b[7] * x2 + b[5];
- t[3] = b[6] * x2 + b[4];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[8] * x2 + a[6];
- t[1] = a[7] * x2 + a[5];
- t[2] = b[8] * x2 + b[6];
- t[3] = b[7] * x2 + b[5];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[2] += static_cast<V>(b[8]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[9] * x2 + a[7];
- t[1] = a[8] * x2 + a[6];
- t[2] = b[9] * x2 + b[7];
- t[3] = b[8] * x2 + b[6];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[5]);
- t[3] += static_cast<V>(b[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[10] * x2 + a[8];
- t[1] = a[9] * x2 + a[7];
- t[2] = b[10] * x2 + b[8];
- t[3] = b[9] * x2 + b[7];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[2] += static_cast<V>(b[10]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[11] * x2 + a[9];
- t[1] = a[10] * x2 + a[8];
- t[2] = b[11] * x2 + b[9];
- t[3] = b[10] * x2 + b[8];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[2] += static_cast<V>(b[7]);
- t[3] += static_cast<V>(b[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[5]);
- t[3] += static_cast<V>(b[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner3_13.hpp b/boost/math/tools/detail/rational_horner3_13.hpp
deleted file mode 100644
index 0b4974a..0000000
--- a/boost/math/tools/detail/rational_horner3_13.hpp
+++ /dev/null
@@ -1,678 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_RAT_EVAL_13_HPP
-#define BOOST_MATH_TOOLS_RAT_EVAL_13_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[4] * x2 + a[2];
- t[1] = a[3] * x2 + a[1];
- t[2] = b[4] * x2 + b[2];
- t[3] = b[3] * x2 + b[1];
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[4]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[5] * x2 + a[3];
- t[1] = a[4] * x2 + a[2];
- t[2] = b[5] * x2 + b[3];
- t[3] = b[4] * x2 + b[2];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[6] * x2 + a[4];
- t[1] = a[5] * x2 + a[3];
- t[2] = b[6] * x2 + b[4];
- t[3] = b[5] * x2 + b[3];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[2] += static_cast<V>(b[6]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[7] * x2 + a[5];
- t[1] = a[6] * x2 + a[4];
- t[2] = b[7] * x2 + b[5];
- t[3] = b[6] * x2 + b[4];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[8] * x2 + a[6];
- t[1] = a[7] * x2 + a[5];
- t[2] = b[8] * x2 + b[6];
- t[3] = b[7] * x2 + b[5];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[2] += static_cast<V>(b[8]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[9] * x2 + a[7];
- t[1] = a[8] * x2 + a[6];
- t[2] = b[9] * x2 + b[7];
- t[3] = b[8] * x2 + b[6];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[5]);
- t[3] += static_cast<V>(b[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[10] * x2 + a[8];
- t[1] = a[9] * x2 + a[7];
- t[2] = b[10] * x2 + b[8];
- t[3] = b[9] * x2 + b[7];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[2] += static_cast<V>(b[10]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[11] * x2 + a[9];
- t[1] = a[10] * x2 + a[8];
- t[2] = b[11] * x2 + b[9];
- t[3] = b[10] * x2 + b[8];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[2] += static_cast<V>(b[7]);
- t[3] += static_cast<V>(b[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[5]);
- t[3] += static_cast<V>(b[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<13>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[12] * x2 + a[10];
- t[1] = a[11] * x2 + a[9];
- t[2] = b[12] * x2 + b[10];
- t[3] = b[11] * x2 + b[9];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[12]);
- t[2] += static_cast<V>(b[12]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner3_14.hpp b/boost/math/tools/detail/rational_horner3_14.hpp
deleted file mode 100644
index 63f4e95..0000000
--- a/boost/math/tools/detail/rational_horner3_14.hpp
+++ /dev/null
@@ -1,788 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_RAT_EVAL_14_HPP
-#define BOOST_MATH_TOOLS_RAT_EVAL_14_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[4] * x2 + a[2];
- t[1] = a[3] * x2 + a[1];
- t[2] = b[4] * x2 + b[2];
- t[3] = b[3] * x2 + b[1];
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[4]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[5] * x2 + a[3];
- t[1] = a[4] * x2 + a[2];
- t[2] = b[5] * x2 + b[3];
- t[3] = b[4] * x2 + b[2];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[6] * x2 + a[4];
- t[1] = a[5] * x2 + a[3];
- t[2] = b[6] * x2 + b[4];
- t[3] = b[5] * x2 + b[3];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[2] += static_cast<V>(b[6]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[7] * x2 + a[5];
- t[1] = a[6] * x2 + a[4];
- t[2] = b[7] * x2 + b[5];
- t[3] = b[6] * x2 + b[4];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[8] * x2 + a[6];
- t[1] = a[7] * x2 + a[5];
- t[2] = b[8] * x2 + b[6];
- t[3] = b[7] * x2 + b[5];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[2] += static_cast<V>(b[8]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[9] * x2 + a[7];
- t[1] = a[8] * x2 + a[6];
- t[2] = b[9] * x2 + b[7];
- t[3] = b[8] * x2 + b[6];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[5]);
- t[3] += static_cast<V>(b[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[10] * x2 + a[8];
- t[1] = a[9] * x2 + a[7];
- t[2] = b[10] * x2 + b[8];
- t[3] = b[9] * x2 + b[7];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[2] += static_cast<V>(b[10]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[11] * x2 + a[9];
- t[1] = a[10] * x2 + a[8];
- t[2] = b[11] * x2 + b[9];
- t[3] = b[10] * x2 + b[8];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[2] += static_cast<V>(b[7]);
- t[3] += static_cast<V>(b[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[5]);
- t[3] += static_cast<V>(b[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<13>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[12] * x2 + a[10];
- t[1] = a[11] * x2 + a[9];
- t[2] = b[12] * x2 + b[10];
- t[3] = b[11] * x2 + b[9];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[12]);
- t[2] += static_cast<V>(b[12]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<14>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[13] * x2 + a[11];
- t[1] = a[12] * x2 + a[10];
- t[2] = b[13] * x2 + b[11];
- t[3] = b[12] * x2 + b[10];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[9]);
- t[1] += static_cast<V>(a[8]);
- t[2] += static_cast<V>(b[9]);
- t[3] += static_cast<V>(b[8]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[2] += static_cast<V>(b[7]);
- t[3] += static_cast<V>(b[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[5]);
- t[3] += static_cast<V>(b[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[12]);
- t[1] += static_cast<V>(a[13]);
- t[2] += static_cast<V>(b[12]);
- t[3] += static_cast<V>(b[13]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner3_15.hpp b/boost/math/tools/detail/rational_horner3_15.hpp
deleted file mode 100644
index c13500f..0000000
--- a/boost/math/tools/detail/rational_horner3_15.hpp
+++ /dev/null
@@ -1,906 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_RAT_EVAL_15_HPP
-#define BOOST_MATH_TOOLS_RAT_EVAL_15_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[4] * x2 + a[2];
- t[1] = a[3] * x2 + a[1];
- t[2] = b[4] * x2 + b[2];
- t[3] = b[3] * x2 + b[1];
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[4]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[5] * x2 + a[3];
- t[1] = a[4] * x2 + a[2];
- t[2] = b[5] * x2 + b[3];
- t[3] = b[4] * x2 + b[2];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[6] * x2 + a[4];
- t[1] = a[5] * x2 + a[3];
- t[2] = b[6] * x2 + b[4];
- t[3] = b[5] * x2 + b[3];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[2] += static_cast<V>(b[6]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[7] * x2 + a[5];
- t[1] = a[6] * x2 + a[4];
- t[2] = b[7] * x2 + b[5];
- t[3] = b[6] * x2 + b[4];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[8] * x2 + a[6];
- t[1] = a[7] * x2 + a[5];
- t[2] = b[8] * x2 + b[6];
- t[3] = b[7] * x2 + b[5];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[2] += static_cast<V>(b[8]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[9] * x2 + a[7];
- t[1] = a[8] * x2 + a[6];
- t[2] = b[9] * x2 + b[7];
- t[3] = b[8] * x2 + b[6];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[5]);
- t[3] += static_cast<V>(b[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[10] * x2 + a[8];
- t[1] = a[9] * x2 + a[7];
- t[2] = b[10] * x2 + b[8];
- t[3] = b[9] * x2 + b[7];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[2] += static_cast<V>(b[10]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[11] * x2 + a[9];
- t[1] = a[10] * x2 + a[8];
- t[2] = b[11] * x2 + b[9];
- t[3] = b[10] * x2 + b[8];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[2] += static_cast<V>(b[7]);
- t[3] += static_cast<V>(b[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[5]);
- t[3] += static_cast<V>(b[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<13>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[12] * x2 + a[10];
- t[1] = a[11] * x2 + a[9];
- t[2] = b[12] * x2 + b[10];
- t[3] = b[11] * x2 + b[9];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[12]);
- t[2] += static_cast<V>(b[12]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<14>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[13] * x2 + a[11];
- t[1] = a[12] * x2 + a[10];
- t[2] = b[13] * x2 + b[11];
- t[3] = b[12] * x2 + b[10];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[9]);
- t[1] += static_cast<V>(a[8]);
- t[2] += static_cast<V>(b[9]);
- t[3] += static_cast<V>(b[8]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[2] += static_cast<V>(b[7]);
- t[3] += static_cast<V>(b[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[5]);
- t[3] += static_cast<V>(b[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[12]);
- t[1] += static_cast<V>(a[13]);
- t[2] += static_cast<V>(b[12]);
- t[3] += static_cast<V>(b[13]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<15>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[14] * x2 + a[12];
- t[1] = a[13] * x2 + a[11];
- t[2] = b[14] * x2 + b[12];
- t[3] = b[13] * x2 + b[11];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[12]);
- t[1] += static_cast<V>(a[13]);
- t[2] += static_cast<V>(b[12]);
- t[3] += static_cast<V>(b[13]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[14]);
- t[2] += static_cast<V>(b[14]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner3_16.hpp b/boost/math/tools/detail/rational_horner3_16.hpp
deleted file mode 100644
index b1c8977..0000000
--- a/boost/math/tools/detail/rational_horner3_16.hpp
+++ /dev/null
@@ -1,1032 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_RAT_EVAL_16_HPP
-#define BOOST_MATH_TOOLS_RAT_EVAL_16_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[4] * x2 + a[2];
- t[1] = a[3] * x2 + a[1];
- t[2] = b[4] * x2 + b[2];
- t[3] = b[3] * x2 + b[1];
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[4]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[5] * x2 + a[3];
- t[1] = a[4] * x2 + a[2];
- t[2] = b[5] * x2 + b[3];
- t[3] = b[4] * x2 + b[2];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[6] * x2 + a[4];
- t[1] = a[5] * x2 + a[3];
- t[2] = b[6] * x2 + b[4];
- t[3] = b[5] * x2 + b[3];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[2] += static_cast<V>(b[6]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[7] * x2 + a[5];
- t[1] = a[6] * x2 + a[4];
- t[2] = b[7] * x2 + b[5];
- t[3] = b[6] * x2 + b[4];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[8] * x2 + a[6];
- t[1] = a[7] * x2 + a[5];
- t[2] = b[8] * x2 + b[6];
- t[3] = b[7] * x2 + b[5];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[2] += static_cast<V>(b[8]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[9] * x2 + a[7];
- t[1] = a[8] * x2 + a[6];
- t[2] = b[9] * x2 + b[7];
- t[3] = b[8] * x2 + b[6];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[5]);
- t[3] += static_cast<V>(b[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[10] * x2 + a[8];
- t[1] = a[9] * x2 + a[7];
- t[2] = b[10] * x2 + b[8];
- t[3] = b[9] * x2 + b[7];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[2] += static_cast<V>(b[10]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[11] * x2 + a[9];
- t[1] = a[10] * x2 + a[8];
- t[2] = b[11] * x2 + b[9];
- t[3] = b[10] * x2 + b[8];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[2] += static_cast<V>(b[7]);
- t[3] += static_cast<V>(b[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[5]);
- t[3] += static_cast<V>(b[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<13>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[12] * x2 + a[10];
- t[1] = a[11] * x2 + a[9];
- t[2] = b[12] * x2 + b[10];
- t[3] = b[11] * x2 + b[9];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[12]);
- t[2] += static_cast<V>(b[12]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<14>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[13] * x2 + a[11];
- t[1] = a[12] * x2 + a[10];
- t[2] = b[13] * x2 + b[11];
- t[3] = b[12] * x2 + b[10];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[9]);
- t[1] += static_cast<V>(a[8]);
- t[2] += static_cast<V>(b[9]);
- t[3] += static_cast<V>(b[8]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[2] += static_cast<V>(b[7]);
- t[3] += static_cast<V>(b[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[5]);
- t[3] += static_cast<V>(b[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[12]);
- t[1] += static_cast<V>(a[13]);
- t[2] += static_cast<V>(b[12]);
- t[3] += static_cast<V>(b[13]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<15>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[14] * x2 + a[12];
- t[1] = a[13] * x2 + a[11];
- t[2] = b[14] * x2 + b[12];
- t[3] = b[13] * x2 + b[11];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[12]);
- t[1] += static_cast<V>(a[13]);
- t[2] += static_cast<V>(b[12]);
- t[3] += static_cast<V>(b[13]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[14]);
- t[2] += static_cast<V>(b[14]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<16>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[15] * x2 + a[13];
- t[1] = a[14] * x2 + a[12];
- t[2] = b[15] * x2 + b[13];
- t[3] = b[14] * x2 + b[12];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[11]);
- t[1] += static_cast<V>(a[10]);
- t[2] += static_cast<V>(b[11]);
- t[3] += static_cast<V>(b[10]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[9]);
- t[1] += static_cast<V>(a[8]);
- t[2] += static_cast<V>(b[9]);
- t[3] += static_cast<V>(b[8]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[2] += static_cast<V>(b[7]);
- t[3] += static_cast<V>(b[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[5]);
- t[3] += static_cast<V>(b[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[12]);
- t[1] += static_cast<V>(a[13]);
- t[2] += static_cast<V>(b[12]);
- t[3] += static_cast<V>(b[13]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[14]);
- t[1] += static_cast<V>(a[15]);
- t[2] += static_cast<V>(b[14]);
- t[3] += static_cast<V>(b[15]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner3_17.hpp b/boost/math/tools/detail/rational_horner3_17.hpp
deleted file mode 100644
index 9c3498e..0000000
--- a/boost/math/tools/detail/rational_horner3_17.hpp
+++ /dev/null
@@ -1,1166 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_RAT_EVAL_17_HPP
-#define BOOST_MATH_TOOLS_RAT_EVAL_17_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[4] * x2 + a[2];
- t[1] = a[3] * x2 + a[1];
- t[2] = b[4] * x2 + b[2];
- t[3] = b[3] * x2 + b[1];
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[4]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[5] * x2 + a[3];
- t[1] = a[4] * x2 + a[2];
- t[2] = b[5] * x2 + b[3];
- t[3] = b[4] * x2 + b[2];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[6] * x2 + a[4];
- t[1] = a[5] * x2 + a[3];
- t[2] = b[6] * x2 + b[4];
- t[3] = b[5] * x2 + b[3];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[2] += static_cast<V>(b[6]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[7] * x2 + a[5];
- t[1] = a[6] * x2 + a[4];
- t[2] = b[7] * x2 + b[5];
- t[3] = b[6] * x2 + b[4];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[8] * x2 + a[6];
- t[1] = a[7] * x2 + a[5];
- t[2] = b[8] * x2 + b[6];
- t[3] = b[7] * x2 + b[5];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[2] += static_cast<V>(b[8]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[9] * x2 + a[7];
- t[1] = a[8] * x2 + a[6];
- t[2] = b[9] * x2 + b[7];
- t[3] = b[8] * x2 + b[6];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[5]);
- t[3] += static_cast<V>(b[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[10] * x2 + a[8];
- t[1] = a[9] * x2 + a[7];
- t[2] = b[10] * x2 + b[8];
- t[3] = b[9] * x2 + b[7];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[2] += static_cast<V>(b[10]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[11] * x2 + a[9];
- t[1] = a[10] * x2 + a[8];
- t[2] = b[11] * x2 + b[9];
- t[3] = b[10] * x2 + b[8];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[2] += static_cast<V>(b[7]);
- t[3] += static_cast<V>(b[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[5]);
- t[3] += static_cast<V>(b[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<13>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[12] * x2 + a[10];
- t[1] = a[11] * x2 + a[9];
- t[2] = b[12] * x2 + b[10];
- t[3] = b[11] * x2 + b[9];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[12]);
- t[2] += static_cast<V>(b[12]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<14>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[13] * x2 + a[11];
- t[1] = a[12] * x2 + a[10];
- t[2] = b[13] * x2 + b[11];
- t[3] = b[12] * x2 + b[10];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[9]);
- t[1] += static_cast<V>(a[8]);
- t[2] += static_cast<V>(b[9]);
- t[3] += static_cast<V>(b[8]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[2] += static_cast<V>(b[7]);
- t[3] += static_cast<V>(b[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[5]);
- t[3] += static_cast<V>(b[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[12]);
- t[1] += static_cast<V>(a[13]);
- t[2] += static_cast<V>(b[12]);
- t[3] += static_cast<V>(b[13]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<15>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[14] * x2 + a[12];
- t[1] = a[13] * x2 + a[11];
- t[2] = b[14] * x2 + b[12];
- t[3] = b[13] * x2 + b[11];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[12]);
- t[1] += static_cast<V>(a[13]);
- t[2] += static_cast<V>(b[12]);
- t[3] += static_cast<V>(b[13]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[14]);
- t[2] += static_cast<V>(b[14]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<16>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[15] * x2 + a[13];
- t[1] = a[14] * x2 + a[12];
- t[2] = b[15] * x2 + b[13];
- t[3] = b[14] * x2 + b[12];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[11]);
- t[1] += static_cast<V>(a[10]);
- t[2] += static_cast<V>(b[11]);
- t[3] += static_cast<V>(b[10]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[9]);
- t[1] += static_cast<V>(a[8]);
- t[2] += static_cast<V>(b[9]);
- t[3] += static_cast<V>(b[8]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[2] += static_cast<V>(b[7]);
- t[3] += static_cast<V>(b[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[5]);
- t[3] += static_cast<V>(b[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[12]);
- t[1] += static_cast<V>(a[13]);
- t[2] += static_cast<V>(b[12]);
- t[3] += static_cast<V>(b[13]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[14]);
- t[1] += static_cast<V>(a[15]);
- t[2] += static_cast<V>(b[14]);
- t[3] += static_cast<V>(b[15]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<17>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[16] * x2 + a[14];
- t[1] = a[15] * x2 + a[13];
- t[2] = b[16] * x2 + b[14];
- t[3] = b[15] * x2 + b[13];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[12]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[12]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[12]);
- t[1] += static_cast<V>(a[13]);
- t[2] += static_cast<V>(b[12]);
- t[3] += static_cast<V>(b[13]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[14]);
- t[1] += static_cast<V>(a[15]);
- t[2] += static_cast<V>(b[14]);
- t[3] += static_cast<V>(b[15]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[16]);
- t[2] += static_cast<V>(b[16]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner3_18.hpp b/boost/math/tools/detail/rational_horner3_18.hpp
deleted file mode 100644
index 5401e9f..0000000
--- a/boost/math/tools/detail/rational_horner3_18.hpp
+++ /dev/null
@@ -1,1308 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_RAT_EVAL_18_HPP
-#define BOOST_MATH_TOOLS_RAT_EVAL_18_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[4] * x2 + a[2];
- t[1] = a[3] * x2 + a[1];
- t[2] = b[4] * x2 + b[2];
- t[3] = b[3] * x2 + b[1];
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[4]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[5] * x2 + a[3];
- t[1] = a[4] * x2 + a[2];
- t[2] = b[5] * x2 + b[3];
- t[3] = b[4] * x2 + b[2];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[6] * x2 + a[4];
- t[1] = a[5] * x2 + a[3];
- t[2] = b[6] * x2 + b[4];
- t[3] = b[5] * x2 + b[3];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[2] += static_cast<V>(b[6]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[7] * x2 + a[5];
- t[1] = a[6] * x2 + a[4];
- t[2] = b[7] * x2 + b[5];
- t[3] = b[6] * x2 + b[4];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[8] * x2 + a[6];
- t[1] = a[7] * x2 + a[5];
- t[2] = b[8] * x2 + b[6];
- t[3] = b[7] * x2 + b[5];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[2] += static_cast<V>(b[8]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[9] * x2 + a[7];
- t[1] = a[8] * x2 + a[6];
- t[2] = b[9] * x2 + b[7];
- t[3] = b[8] * x2 + b[6];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[5]);
- t[3] += static_cast<V>(b[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[10] * x2 + a[8];
- t[1] = a[9] * x2 + a[7];
- t[2] = b[10] * x2 + b[8];
- t[3] = b[9] * x2 + b[7];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[2] += static_cast<V>(b[10]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[11] * x2 + a[9];
- t[1] = a[10] * x2 + a[8];
- t[2] = b[11] * x2 + b[9];
- t[3] = b[10] * x2 + b[8];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[2] += static_cast<V>(b[7]);
- t[3] += static_cast<V>(b[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[5]);
- t[3] += static_cast<V>(b[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<13>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[12] * x2 + a[10];
- t[1] = a[11] * x2 + a[9];
- t[2] = b[12] * x2 + b[10];
- t[3] = b[11] * x2 + b[9];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[12]);
- t[2] += static_cast<V>(b[12]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<14>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[13] * x2 + a[11];
- t[1] = a[12] * x2 + a[10];
- t[2] = b[13] * x2 + b[11];
- t[3] = b[12] * x2 + b[10];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[9]);
- t[1] += static_cast<V>(a[8]);
- t[2] += static_cast<V>(b[9]);
- t[3] += static_cast<V>(b[8]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[2] += static_cast<V>(b[7]);
- t[3] += static_cast<V>(b[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[5]);
- t[3] += static_cast<V>(b[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[12]);
- t[1] += static_cast<V>(a[13]);
- t[2] += static_cast<V>(b[12]);
- t[3] += static_cast<V>(b[13]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<15>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[14] * x2 + a[12];
- t[1] = a[13] * x2 + a[11];
- t[2] = b[14] * x2 + b[12];
- t[3] = b[13] * x2 + b[11];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[12]);
- t[1] += static_cast<V>(a[13]);
- t[2] += static_cast<V>(b[12]);
- t[3] += static_cast<V>(b[13]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[14]);
- t[2] += static_cast<V>(b[14]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<16>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[15] * x2 + a[13];
- t[1] = a[14] * x2 + a[12];
- t[2] = b[15] * x2 + b[13];
- t[3] = b[14] * x2 + b[12];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[11]);
- t[1] += static_cast<V>(a[10]);
- t[2] += static_cast<V>(b[11]);
- t[3] += static_cast<V>(b[10]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[9]);
- t[1] += static_cast<V>(a[8]);
- t[2] += static_cast<V>(b[9]);
- t[3] += static_cast<V>(b[8]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[2] += static_cast<V>(b[7]);
- t[3] += static_cast<V>(b[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[5]);
- t[3] += static_cast<V>(b[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[12]);
- t[1] += static_cast<V>(a[13]);
- t[2] += static_cast<V>(b[12]);
- t[3] += static_cast<V>(b[13]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[14]);
- t[1] += static_cast<V>(a[15]);
- t[2] += static_cast<V>(b[14]);
- t[3] += static_cast<V>(b[15]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<17>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[16] * x2 + a[14];
- t[1] = a[15] * x2 + a[13];
- t[2] = b[16] * x2 + b[14];
- t[3] = b[15] * x2 + b[13];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[12]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[12]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[12]);
- t[1] += static_cast<V>(a[13]);
- t[2] += static_cast<V>(b[12]);
- t[3] += static_cast<V>(b[13]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[14]);
- t[1] += static_cast<V>(a[15]);
- t[2] += static_cast<V>(b[14]);
- t[3] += static_cast<V>(b[15]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[16]);
- t[2] += static_cast<V>(b[16]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<18>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[17] * x2 + a[15];
- t[1] = a[16] * x2 + a[14];
- t[2] = b[17] * x2 + b[15];
- t[3] = b[16] * x2 + b[14];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[13]);
- t[1] += static_cast<V>(a[12]);
- t[2] += static_cast<V>(b[13]);
- t[3] += static_cast<V>(b[12]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[11]);
- t[1] += static_cast<V>(a[10]);
- t[2] += static_cast<V>(b[11]);
- t[3] += static_cast<V>(b[10]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[9]);
- t[1] += static_cast<V>(a[8]);
- t[2] += static_cast<V>(b[9]);
- t[3] += static_cast<V>(b[8]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[2] += static_cast<V>(b[7]);
- t[3] += static_cast<V>(b[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[5]);
- t[3] += static_cast<V>(b[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[12]);
- t[1] += static_cast<V>(a[13]);
- t[2] += static_cast<V>(b[12]);
- t[3] += static_cast<V>(b[13]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[14]);
- t[1] += static_cast<V>(a[15]);
- t[2] += static_cast<V>(b[14]);
- t[3] += static_cast<V>(b[15]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[16]);
- t[1] += static_cast<V>(a[17]);
- t[2] += static_cast<V>(b[16]);
- t[3] += static_cast<V>(b[17]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner3_19.hpp b/boost/math/tools/detail/rational_horner3_19.hpp
deleted file mode 100644
index c111b68..0000000
--- a/boost/math/tools/detail/rational_horner3_19.hpp
+++ /dev/null
@@ -1,1458 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_RAT_EVAL_19_HPP
-#define BOOST_MATH_TOOLS_RAT_EVAL_19_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[4] * x2 + a[2];
- t[1] = a[3] * x2 + a[1];
- t[2] = b[4] * x2 + b[2];
- t[3] = b[3] * x2 + b[1];
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[4]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[5] * x2 + a[3];
- t[1] = a[4] * x2 + a[2];
- t[2] = b[5] * x2 + b[3];
- t[3] = b[4] * x2 + b[2];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[6] * x2 + a[4];
- t[1] = a[5] * x2 + a[3];
- t[2] = b[6] * x2 + b[4];
- t[3] = b[5] * x2 + b[3];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[2] += static_cast<V>(b[6]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[7] * x2 + a[5];
- t[1] = a[6] * x2 + a[4];
- t[2] = b[7] * x2 + b[5];
- t[3] = b[6] * x2 + b[4];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[8] * x2 + a[6];
- t[1] = a[7] * x2 + a[5];
- t[2] = b[8] * x2 + b[6];
- t[3] = b[7] * x2 + b[5];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[2] += static_cast<V>(b[8]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[9] * x2 + a[7];
- t[1] = a[8] * x2 + a[6];
- t[2] = b[9] * x2 + b[7];
- t[3] = b[8] * x2 + b[6];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[5]);
- t[3] += static_cast<V>(b[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[10] * x2 + a[8];
- t[1] = a[9] * x2 + a[7];
- t[2] = b[10] * x2 + b[8];
- t[3] = b[9] * x2 + b[7];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[2] += static_cast<V>(b[10]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[11] * x2 + a[9];
- t[1] = a[10] * x2 + a[8];
- t[2] = b[11] * x2 + b[9];
- t[3] = b[10] * x2 + b[8];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[2] += static_cast<V>(b[7]);
- t[3] += static_cast<V>(b[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[5]);
- t[3] += static_cast<V>(b[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<13>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[12] * x2 + a[10];
- t[1] = a[11] * x2 + a[9];
- t[2] = b[12] * x2 + b[10];
- t[3] = b[11] * x2 + b[9];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[12]);
- t[2] += static_cast<V>(b[12]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<14>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[13] * x2 + a[11];
- t[1] = a[12] * x2 + a[10];
- t[2] = b[13] * x2 + b[11];
- t[3] = b[12] * x2 + b[10];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[9]);
- t[1] += static_cast<V>(a[8]);
- t[2] += static_cast<V>(b[9]);
- t[3] += static_cast<V>(b[8]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[2] += static_cast<V>(b[7]);
- t[3] += static_cast<V>(b[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[5]);
- t[3] += static_cast<V>(b[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[12]);
- t[1] += static_cast<V>(a[13]);
- t[2] += static_cast<V>(b[12]);
- t[3] += static_cast<V>(b[13]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<15>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[14] * x2 + a[12];
- t[1] = a[13] * x2 + a[11];
- t[2] = b[14] * x2 + b[12];
- t[3] = b[13] * x2 + b[11];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[12]);
- t[1] += static_cast<V>(a[13]);
- t[2] += static_cast<V>(b[12]);
- t[3] += static_cast<V>(b[13]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[14]);
- t[2] += static_cast<V>(b[14]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<16>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[15] * x2 + a[13];
- t[1] = a[14] * x2 + a[12];
- t[2] = b[15] * x2 + b[13];
- t[3] = b[14] * x2 + b[12];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[11]);
- t[1] += static_cast<V>(a[10]);
- t[2] += static_cast<V>(b[11]);
- t[3] += static_cast<V>(b[10]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[9]);
- t[1] += static_cast<V>(a[8]);
- t[2] += static_cast<V>(b[9]);
- t[3] += static_cast<V>(b[8]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[2] += static_cast<V>(b[7]);
- t[3] += static_cast<V>(b[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[5]);
- t[3] += static_cast<V>(b[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[12]);
- t[1] += static_cast<V>(a[13]);
- t[2] += static_cast<V>(b[12]);
- t[3] += static_cast<V>(b[13]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[14]);
- t[1] += static_cast<V>(a[15]);
- t[2] += static_cast<V>(b[14]);
- t[3] += static_cast<V>(b[15]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<17>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[16] * x2 + a[14];
- t[1] = a[15] * x2 + a[13];
- t[2] = b[16] * x2 + b[14];
- t[3] = b[15] * x2 + b[13];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[12]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[12]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[12]);
- t[1] += static_cast<V>(a[13]);
- t[2] += static_cast<V>(b[12]);
- t[3] += static_cast<V>(b[13]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[14]);
- t[1] += static_cast<V>(a[15]);
- t[2] += static_cast<V>(b[14]);
- t[3] += static_cast<V>(b[15]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[16]);
- t[2] += static_cast<V>(b[16]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<18>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[17] * x2 + a[15];
- t[1] = a[16] * x2 + a[14];
- t[2] = b[17] * x2 + b[15];
- t[3] = b[16] * x2 + b[14];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[13]);
- t[1] += static_cast<V>(a[12]);
- t[2] += static_cast<V>(b[13]);
- t[3] += static_cast<V>(b[12]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[11]);
- t[1] += static_cast<V>(a[10]);
- t[2] += static_cast<V>(b[11]);
- t[3] += static_cast<V>(b[10]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[9]);
- t[1] += static_cast<V>(a[8]);
- t[2] += static_cast<V>(b[9]);
- t[3] += static_cast<V>(b[8]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[2] += static_cast<V>(b[7]);
- t[3] += static_cast<V>(b[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[5]);
- t[3] += static_cast<V>(b[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[12]);
- t[1] += static_cast<V>(a[13]);
- t[2] += static_cast<V>(b[12]);
- t[3] += static_cast<V>(b[13]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[14]);
- t[1] += static_cast<V>(a[15]);
- t[2] += static_cast<V>(b[14]);
- t[3] += static_cast<V>(b[15]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[16]);
- t[1] += static_cast<V>(a[17]);
- t[2] += static_cast<V>(b[16]);
- t[3] += static_cast<V>(b[17]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<19>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[18] * x2 + a[16];
- t[1] = a[17] * x2 + a[15];
- t[2] = b[18] * x2 + b[16];
- t[3] = b[17] * x2 + b[15];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[14]);
- t[1] += static_cast<V>(a[13]);
- t[2] += static_cast<V>(b[14]);
- t[3] += static_cast<V>(b[13]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[12]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[12]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[12]);
- t[1] += static_cast<V>(a[13]);
- t[2] += static_cast<V>(b[12]);
- t[3] += static_cast<V>(b[13]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[14]);
- t[1] += static_cast<V>(a[15]);
- t[2] += static_cast<V>(b[14]);
- t[3] += static_cast<V>(b[15]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[16]);
- t[1] += static_cast<V>(a[17]);
- t[2] += static_cast<V>(b[16]);
- t[3] += static_cast<V>(b[17]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[18]);
- t[2] += static_cast<V>(b[18]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner3_2.hpp b/boost/math/tools/detail/rational_horner3_2.hpp
deleted file mode 100644
index 35b5abb..0000000
--- a/boost/math/tools/detail/rational_horner3_2.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_RAT_EVAL_2_HPP
-#define BOOST_MATH_TOOLS_RAT_EVAL_2_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner3_20.hpp b/boost/math/tools/detail/rational_horner3_20.hpp
deleted file mode 100644
index 7bee9b1..0000000
--- a/boost/math/tools/detail/rational_horner3_20.hpp
+++ /dev/null
@@ -1,1616 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_RAT_EVAL_20_HPP
-#define BOOST_MATH_TOOLS_RAT_EVAL_20_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[4] * x2 + a[2];
- t[1] = a[3] * x2 + a[1];
- t[2] = b[4] * x2 + b[2];
- t[3] = b[3] * x2 + b[1];
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[4]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[5] * x2 + a[3];
- t[1] = a[4] * x2 + a[2];
- t[2] = b[5] * x2 + b[3];
- t[3] = b[4] * x2 + b[2];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[6] * x2 + a[4];
- t[1] = a[5] * x2 + a[3];
- t[2] = b[6] * x2 + b[4];
- t[3] = b[5] * x2 + b[3];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[2] += static_cast<V>(b[6]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[7] * x2 + a[5];
- t[1] = a[6] * x2 + a[4];
- t[2] = b[7] * x2 + b[5];
- t[3] = b[6] * x2 + b[4];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[8] * x2 + a[6];
- t[1] = a[7] * x2 + a[5];
- t[2] = b[8] * x2 + b[6];
- t[3] = b[7] * x2 + b[5];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[2] += static_cast<V>(b[8]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[9] * x2 + a[7];
- t[1] = a[8] * x2 + a[6];
- t[2] = b[9] * x2 + b[7];
- t[3] = b[8] * x2 + b[6];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[5]);
- t[3] += static_cast<V>(b[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[10] * x2 + a[8];
- t[1] = a[9] * x2 + a[7];
- t[2] = b[10] * x2 + b[8];
- t[3] = b[9] * x2 + b[7];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[2] += static_cast<V>(b[10]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[11] * x2 + a[9];
- t[1] = a[10] * x2 + a[8];
- t[2] = b[11] * x2 + b[9];
- t[3] = b[10] * x2 + b[8];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[2] += static_cast<V>(b[7]);
- t[3] += static_cast<V>(b[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[5]);
- t[3] += static_cast<V>(b[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<13>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[12] * x2 + a[10];
- t[1] = a[11] * x2 + a[9];
- t[2] = b[12] * x2 + b[10];
- t[3] = b[11] * x2 + b[9];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[12]);
- t[2] += static_cast<V>(b[12]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<14>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[13] * x2 + a[11];
- t[1] = a[12] * x2 + a[10];
- t[2] = b[13] * x2 + b[11];
- t[3] = b[12] * x2 + b[10];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[9]);
- t[1] += static_cast<V>(a[8]);
- t[2] += static_cast<V>(b[9]);
- t[3] += static_cast<V>(b[8]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[2] += static_cast<V>(b[7]);
- t[3] += static_cast<V>(b[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[5]);
- t[3] += static_cast<V>(b[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[12]);
- t[1] += static_cast<V>(a[13]);
- t[2] += static_cast<V>(b[12]);
- t[3] += static_cast<V>(b[13]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<15>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[14] * x2 + a[12];
- t[1] = a[13] * x2 + a[11];
- t[2] = b[14] * x2 + b[12];
- t[3] = b[13] * x2 + b[11];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[12]);
- t[1] += static_cast<V>(a[13]);
- t[2] += static_cast<V>(b[12]);
- t[3] += static_cast<V>(b[13]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[14]);
- t[2] += static_cast<V>(b[14]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<16>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[15] * x2 + a[13];
- t[1] = a[14] * x2 + a[12];
- t[2] = b[15] * x2 + b[13];
- t[3] = b[14] * x2 + b[12];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[11]);
- t[1] += static_cast<V>(a[10]);
- t[2] += static_cast<V>(b[11]);
- t[3] += static_cast<V>(b[10]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[9]);
- t[1] += static_cast<V>(a[8]);
- t[2] += static_cast<V>(b[9]);
- t[3] += static_cast<V>(b[8]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[2] += static_cast<V>(b[7]);
- t[3] += static_cast<V>(b[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[5]);
- t[3] += static_cast<V>(b[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[12]);
- t[1] += static_cast<V>(a[13]);
- t[2] += static_cast<V>(b[12]);
- t[3] += static_cast<V>(b[13]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[14]);
- t[1] += static_cast<V>(a[15]);
- t[2] += static_cast<V>(b[14]);
- t[3] += static_cast<V>(b[15]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<17>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[16] * x2 + a[14];
- t[1] = a[15] * x2 + a[13];
- t[2] = b[16] * x2 + b[14];
- t[3] = b[15] * x2 + b[13];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[12]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[12]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[12]);
- t[1] += static_cast<V>(a[13]);
- t[2] += static_cast<V>(b[12]);
- t[3] += static_cast<V>(b[13]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[14]);
- t[1] += static_cast<V>(a[15]);
- t[2] += static_cast<V>(b[14]);
- t[3] += static_cast<V>(b[15]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[16]);
- t[2] += static_cast<V>(b[16]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<18>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[17] * x2 + a[15];
- t[1] = a[16] * x2 + a[14];
- t[2] = b[17] * x2 + b[15];
- t[3] = b[16] * x2 + b[14];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[13]);
- t[1] += static_cast<V>(a[12]);
- t[2] += static_cast<V>(b[13]);
- t[3] += static_cast<V>(b[12]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[11]);
- t[1] += static_cast<V>(a[10]);
- t[2] += static_cast<V>(b[11]);
- t[3] += static_cast<V>(b[10]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[9]);
- t[1] += static_cast<V>(a[8]);
- t[2] += static_cast<V>(b[9]);
- t[3] += static_cast<V>(b[8]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[2] += static_cast<V>(b[7]);
- t[3] += static_cast<V>(b[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[5]);
- t[3] += static_cast<V>(b[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[12]);
- t[1] += static_cast<V>(a[13]);
- t[2] += static_cast<V>(b[12]);
- t[3] += static_cast<V>(b[13]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[14]);
- t[1] += static_cast<V>(a[15]);
- t[2] += static_cast<V>(b[14]);
- t[3] += static_cast<V>(b[15]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[16]);
- t[1] += static_cast<V>(a[17]);
- t[2] += static_cast<V>(b[16]);
- t[3] += static_cast<V>(b[17]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<19>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[18] * x2 + a[16];
- t[1] = a[17] * x2 + a[15];
- t[2] = b[18] * x2 + b[16];
- t[3] = b[17] * x2 + b[15];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[14]);
- t[1] += static_cast<V>(a[13]);
- t[2] += static_cast<V>(b[14]);
- t[3] += static_cast<V>(b[13]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[12]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[12]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[12]);
- t[1] += static_cast<V>(a[13]);
- t[2] += static_cast<V>(b[12]);
- t[3] += static_cast<V>(b[13]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[14]);
- t[1] += static_cast<V>(a[15]);
- t[2] += static_cast<V>(b[14]);
- t[3] += static_cast<V>(b[15]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[16]);
- t[1] += static_cast<V>(a[17]);
- t[2] += static_cast<V>(b[16]);
- t[3] += static_cast<V>(b[17]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[18]);
- t[2] += static_cast<V>(b[18]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<20>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[19] * x2 + a[17];
- t[1] = a[18] * x2 + a[16];
- t[2] = b[19] * x2 + b[17];
- t[3] = b[18] * x2 + b[16];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[15]);
- t[1] += static_cast<V>(a[14]);
- t[2] += static_cast<V>(b[15]);
- t[3] += static_cast<V>(b[14]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[13]);
- t[1] += static_cast<V>(a[12]);
- t[2] += static_cast<V>(b[13]);
- t[3] += static_cast<V>(b[12]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[11]);
- t[1] += static_cast<V>(a[10]);
- t[2] += static_cast<V>(b[11]);
- t[3] += static_cast<V>(b[10]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[9]);
- t[1] += static_cast<V>(a[8]);
- t[2] += static_cast<V>(b[9]);
- t[3] += static_cast<V>(b[8]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[7]);
- t[1] += static_cast<V>(a[6]);
- t[2] += static_cast<V>(b[7]);
- t[3] += static_cast<V>(b[6]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[5]);
- t[1] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[5]);
- t[3] += static_cast<V>(b[4]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[1] += static_cast<V>(a[9]);
- t[2] += static_cast<V>(b[8]);
- t[3] += static_cast<V>(b[9]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[10]);
- t[1] += static_cast<V>(a[11]);
- t[2] += static_cast<V>(b[10]);
- t[3] += static_cast<V>(b[11]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[12]);
- t[1] += static_cast<V>(a[13]);
- t[2] += static_cast<V>(b[12]);
- t[3] += static_cast<V>(b[13]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[14]);
- t[1] += static_cast<V>(a[15]);
- t[2] += static_cast<V>(b[14]);
- t[3] += static_cast<V>(b[15]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[16]);
- t[1] += static_cast<V>(a[17]);
- t[2] += static_cast<V>(b[16]);
- t[3] += static_cast<V>(b[17]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[18]);
- t[1] += static_cast<V>(a[19]);
- t[2] += static_cast<V>(b[18]);
- t[3] += static_cast<V>(b[19]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner3_3.hpp b/boost/math/tools/detail/rational_horner3_3.hpp
deleted file mode 100644
index 8838ac1..0000000
--- a/boost/math/tools/detail/rational_horner3_3.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_RAT_EVAL_3_HPP
-#define BOOST_MATH_TOOLS_RAT_EVAL_3_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner3_4.hpp b/boost/math/tools/detail/rational_horner3_4.hpp
deleted file mode 100644
index 5fe5ada..0000000
--- a/boost/math/tools/detail/rational_horner3_4.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_RAT_EVAL_4_HPP
-#define BOOST_MATH_TOOLS_RAT_EVAL_4_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner3_5.hpp b/boost/math/tools/detail/rational_horner3_5.hpp
deleted file mode 100644
index 23a6068..0000000
--- a/boost/math/tools/detail/rational_horner3_5.hpp
+++ /dev/null
@@ -1,86 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_RAT_EVAL_5_HPP
-#define BOOST_MATH_TOOLS_RAT_EVAL_5_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[4] * x2 + a[2];
- t[1] = a[3] * x2 + a[1];
- t[2] = b[4] * x2 + b[2];
- t[3] = b[3] * x2 + b[1];
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[4]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner3_6.hpp b/boost/math/tools/detail/rational_horner3_6.hpp
deleted file mode 100644
index 186167d..0000000
--- a/boost/math/tools/detail/rational_horner3_6.hpp
+++ /dev/null
@@ -1,132 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_RAT_EVAL_6_HPP
-#define BOOST_MATH_TOOLS_RAT_EVAL_6_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[4] * x2 + a[2];
- t[1] = a[3] * x2 + a[1];
- t[2] = b[4] * x2 + b[2];
- t[3] = b[3] * x2 + b[1];
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[4]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[5] * x2 + a[3];
- t[1] = a[4] * x2 + a[2];
- t[2] = b[5] * x2 + b[3];
- t[3] = b[4] * x2 + b[2];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner3_7.hpp b/boost/math/tools/detail/rational_horner3_7.hpp
deleted file mode 100644
index e08dce6..0000000
--- a/boost/math/tools/detail/rational_horner3_7.hpp
+++ /dev/null
@@ -1,186 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_RAT_EVAL_7_HPP
-#define BOOST_MATH_TOOLS_RAT_EVAL_7_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[4] * x2 + a[2];
- t[1] = a[3] * x2 + a[1];
- t[2] = b[4] * x2 + b[2];
- t[3] = b[3] * x2 + b[1];
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[4]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[5] * x2 + a[3];
- t[1] = a[4] * x2 + a[2];
- t[2] = b[5] * x2 + b[3];
- t[3] = b[4] * x2 + b[2];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[6] * x2 + a[4];
- t[1] = a[5] * x2 + a[3];
- t[2] = b[6] * x2 + b[4];
- t[3] = b[5] * x2 + b[3];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[2] += static_cast<V>(b[6]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner3_8.hpp b/boost/math/tools/detail/rational_horner3_8.hpp
deleted file mode 100644
index 3ceb717..0000000
--- a/boost/math/tools/detail/rational_horner3_8.hpp
+++ /dev/null
@@ -1,248 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_RAT_EVAL_8_HPP
-#define BOOST_MATH_TOOLS_RAT_EVAL_8_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[4] * x2 + a[2];
- t[1] = a[3] * x2 + a[1];
- t[2] = b[4] * x2 + b[2];
- t[3] = b[3] * x2 + b[1];
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[4]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[5] * x2 + a[3];
- t[1] = a[4] * x2 + a[2];
- t[2] = b[5] * x2 + b[3];
- t[3] = b[4] * x2 + b[2];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[6] * x2 + a[4];
- t[1] = a[5] * x2 + a[3];
- t[2] = b[6] * x2 + b[4];
- t[3] = b[5] * x2 + b[3];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[2] += static_cast<V>(b[6]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[7] * x2 + a[5];
- t[1] = a[6] * x2 + a[4];
- t[2] = b[7] * x2 + b[5];
- t[3] = b[6] * x2 + b[4];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/detail/rational_horner3_9.hpp b/boost/math/tools/detail/rational_horner3_9.hpp
deleted file mode 100644
index 94dab4c..0000000
--- a/boost/math/tools/detail/rational_horner3_9.hpp
+++ /dev/null
@@ -1,318 +0,0 @@
-// (C) 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 file is machine generated, do not edit by hand
-
-// Polynomial evaluation using second order Horners rule
-#ifndef BOOST_MATH_TOOLS_RAT_EVAL_9_HPP
-#define BOOST_MATH_TOOLS_RAT_EVAL_9_HPP
-
-namespace boost{ namespace math{ namespace tools{ namespace detail{
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*)
-{
- return static_cast<V>(0);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*)
-{
- return static_cast<V>(a[0]) / static_cast<V>(b[0]);
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*)
-{
- return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*)
-{
- return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*)
-{
- return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0]));
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[4] * x2 + a[2];
- t[1] = a[3] * x2 + a[1];
- t[2] = b[4] * x2 + b[2];
- t[3] = b[3] * x2 + b[1];
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[2] += static_cast<V>(b[4]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[5] * x2 + a[3];
- t[1] = a[4] * x2 + a[2];
- t[2] = b[5] * x2 + b[3];
- t[3] = b[4] * x2 + b[2];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[6] * x2 + a[4];
- t[1] = a[5] * x2 + a[3];
- t[2] = b[6] * x2 + b[4];
- t[3] = b[5] * x2 + b[3];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[2] += static_cast<V>(b[6]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[7] * x2 + a[5];
- t[1] = a[6] * x2 + a[4];
- t[2] = b[7] * x2 + b[5];
- t[3] = b[6] * x2 + b[4];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[3]);
- t[1] += static_cast<V>(a[2]);
- t[2] += static_cast<V>(b[3]);
- t[3] += static_cast<V>(b[2]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[1]);
- t[1] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[1]);
- t[3] += static_cast<V>(b[0]);
- t[0] *= x;
- t[2] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z;
- t[2] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-template <class T, class U, class V>
-inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*)
-{
- if(x <= 1)
- {
- V x2 = x * x;
- V t[4];
- t[0] = a[8] * x2 + a[6];
- t[1] = a[7] * x2 + a[5];
- t[2] = b[8] * x2 + b[6];
- t[3] = b[7] * x2 + b[5];
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[3]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[3]);
- t[0] *= x2;
- t[1] *= x2;
- t[2] *= x2;
- t[3] *= x2;
- t[0] += static_cast<V>(a[2]);
- t[1] += static_cast<V>(a[1]);
- t[2] += static_cast<V>(b[2]);
- t[3] += static_cast<V>(b[1]);
- t[0] *= x2;
- t[2] *= x2;
- t[0] += static_cast<V>(a[0]);
- t[2] += static_cast<V>(b[0]);
- t[1] *= x;
- t[3] *= x;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
- else
- {
- V z = 1 / x;
- V z2 = 1 / (x * x);
- V t[4];
- t[0] = a[0] * z2 + a[2];
- t[1] = a[1] * z2 + a[3];
- t[2] = b[0] * z2 + b[2];
- t[3] = b[1] * z2 + b[3];
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[4]);
- t[1] += static_cast<V>(a[5]);
- t[2] += static_cast<V>(b[4]);
- t[3] += static_cast<V>(b[5]);
- t[0] *= z2;
- t[1] *= z2;
- t[2] *= z2;
- t[3] *= z2;
- t[0] += static_cast<V>(a[6]);
- t[1] += static_cast<V>(a[7]);
- t[2] += static_cast<V>(b[6]);
- t[3] += static_cast<V>(b[7]);
- t[0] *= z2;
- t[2] *= z2;
- t[0] += static_cast<V>(a[8]);
- t[2] += static_cast<V>(b[8]);
- t[1] *= z;
- t[3] *= z;
- return (t[0] + t[1]) / (t[2] + t[3]);
- }
-}
-
-
-}}}} // namespaces
-
-#endif // include guard
-
diff --git a/boost/math/tools/fraction.hpp b/boost/math/tools/fraction.hpp
deleted file mode 100644
index b245ddd..0000000
--- a/boost/math/tools/fraction.hpp
+++ /dev/null
@@ -1,252 +0,0 @@
-// (C) 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_FRACTION_INCLUDED
-#define BOOST_MATH_TOOLS_FRACTION_INCLUDED
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/config/no_tr1/cmath.hpp>
-#include <boost/cstdint.hpp>
-#include <boost/type_traits/integral_constant.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/math/tools/precision.hpp>
-
-namespace boost{ namespace math{ namespace tools{
-
-namespace detail
-{
-
- template <class T>
- struct is_pair : public boost::false_type{};
-
- template <class T, class U>
- struct is_pair<std::pair<T,U> > : public boost::true_type{};
-
- template <class Gen>
- struct fraction_traits_simple
- {
- typedef typename Gen::result_type result_type;
- typedef typename Gen::result_type value_type;
-
- static result_type a(const value_type&)
- {
- return 1;
- }
- static result_type b(const value_type& v)
- {
- return v;
- }
- };
-
- template <class Gen>
- struct fraction_traits_pair
- {
- typedef typename Gen::result_type value_type;
- typedef typename value_type::first_type result_type;
-
- static result_type a(const value_type& v)
- {
- return v.first;
- }
- static result_type b(const value_type& v)
- {
- return v.second;
- }
- };
-
- template <class Gen>
- struct fraction_traits
- : public boost::mpl::if_c<
- is_pair<typename Gen::result_type>::value,
- fraction_traits_pair<Gen>,
- fraction_traits_simple<Gen> >::type
- {
- };
-
-} // namespace detail
-
-//
-// continued_fraction_b
-// Evaluates:
-//
-// b0 + a1
-// ---------------
-// b1 + a2
-// ----------
-// b2 + a3
-// -----
-// b3 + ...
-//
-// Note that the first a0 returned by generator Gen is disarded.
-//
-template <class Gen, class U>
-inline typename detail::fraction_traits<Gen>::result_type continued_fraction_b(Gen& g, const U& factor, boost::uintmax_t& max_terms)
-{
- BOOST_MATH_STD_USING // ADL of std names
-
- typedef detail::fraction_traits<Gen> traits;
- typedef typename traits::result_type result_type;
- typedef typename traits::value_type value_type;
-
- result_type tiny = tools::min_value<result_type>();
-
- value_type v = g();
-
- result_type f, C, D, delta;
- f = traits::b(v);
- if(f == 0)
- f = tiny;
- C = f;
- D = 0;
-
- boost::uintmax_t counter(max_terms);
-
- do{
- v = g();
- D = traits::b(v) + traits::a(v) * D;
- if(D == 0)
- D = tiny;
- C = traits::b(v) + traits::a(v) / C;
- if(C == 0)
- C = tiny;
- D = 1/D;
- delta = C*D;
- f = f * delta;
- }while((fabs(delta - 1) > factor) && --counter);
-
- max_terms = max_terms - counter;
-
- return f;
-}
-
-template <class Gen, class U>
-inline typename detail::fraction_traits<Gen>::result_type continued_fraction_b(Gen& g, const U& factor)
-{
- boost::uintmax_t max_terms = (std::numeric_limits<boost::uintmax_t>::max)();
- return continued_fraction_b(g, factor, max_terms);
-}
-
-template <class Gen>
-inline typename detail::fraction_traits<Gen>::result_type continued_fraction_b(Gen& g, int bits)
-{
- BOOST_MATH_STD_USING // ADL of std names
-
- typedef detail::fraction_traits<Gen> traits;
- typedef typename traits::result_type result_type;
-
- result_type factor = ldexp(1.0f, 1 - bits); // 1 / pow(result_type(2), bits);
- boost::uintmax_t max_terms = (std::numeric_limits<boost::uintmax_t>::max)();
- return continued_fraction_b(g, factor, max_terms);
-}
-
-template <class Gen>
-inline typename detail::fraction_traits<Gen>::result_type continued_fraction_b(Gen& g, int bits, boost::uintmax_t& max_terms)
-{
- BOOST_MATH_STD_USING // ADL of std names
-
- typedef detail::fraction_traits<Gen> traits;
- typedef typename traits::result_type result_type;
-
- result_type factor = ldexp(1.0f, 1 - bits); // 1 / pow(result_type(2), bits);
- return continued_fraction_b(g, factor, max_terms);
-}
-
-//
-// continued_fraction_a
-// Evaluates:
-//
-// a1
-// ---------------
-// b1 + a2
-// ----------
-// b2 + a3
-// -----
-// b3 + ...
-//
-// Note that the first a1 and b1 returned by generator Gen are both used.
-//
-template <class Gen, class U>
-inline typename detail::fraction_traits<Gen>::result_type continued_fraction_a(Gen& g, const U& factor, boost::uintmax_t& max_terms)
-{
- BOOST_MATH_STD_USING // ADL of std names
-
- typedef detail::fraction_traits<Gen> traits;
- typedef typename traits::result_type result_type;
- typedef typename traits::value_type value_type;
-
- result_type tiny = tools::min_value<result_type>();
-
- value_type v = g();
-
- result_type f, C, D, delta, a0;
- f = traits::b(v);
- a0 = traits::a(v);
- if(f == 0)
- f = tiny;
- C = f;
- D = 0;
-
- boost::uintmax_t counter(max_terms);
-
- do{
- v = g();
- D = traits::b(v) + traits::a(v) * D;
- if(D == 0)
- D = tiny;
- C = traits::b(v) + traits::a(v) / C;
- if(C == 0)
- C = tiny;
- D = 1/D;
- delta = C*D;
- f = f * delta;
- }while((fabs(delta - 1) > factor) && --counter);
-
- max_terms = max_terms - counter;
-
- return a0/f;
-}
-
-template <class Gen, class U>
-inline typename detail::fraction_traits<Gen>::result_type continued_fraction_a(Gen& g, const U& factor)
-{
- boost::uintmax_t max_iter = (std::numeric_limits<boost::uintmax_t>::max)();
- return continued_fraction_a(g, factor, max_iter);
-}
-
-template <class Gen>
-inline typename detail::fraction_traits<Gen>::result_type continued_fraction_a(Gen& g, int bits)
-{
- BOOST_MATH_STD_USING // ADL of std names
-
- typedef detail::fraction_traits<Gen> traits;
- typedef typename traits::result_type result_type;
-
- result_type factor = ldexp(1.0f, 1-bits); // 1 / pow(result_type(2), bits);
- boost::uintmax_t max_iter = (std::numeric_limits<boost::uintmax_t>::max)();
-
- return continued_fraction_a(g, factor, max_iter);
-}
-
-template <class Gen>
-inline typename detail::fraction_traits<Gen>::result_type continued_fraction_a(Gen& g, int bits, boost::uintmax_t& max_terms)
-{
- BOOST_MATH_STD_USING // ADL of std names
-
- typedef detail::fraction_traits<Gen> traits;
- typedef typename traits::result_type result_type;
-
- result_type factor = ldexp(1.0f, 1-bits); // 1 / pow(result_type(2), bits);
- return continued_fraction_a(g, factor, max_terms);
-}
-
-} // namespace tools
-} // namespace math
-} // namespace boost
-
-#endif // BOOST_MATH_TOOLS_FRACTION_INCLUDED
-
diff --git a/boost/math/tools/precision.hpp b/boost/math/tools/precision.hpp
deleted file mode 100644
index 66d2754..0000000
--- a/boost/math/tools/precision.hpp
+++ /dev/null
@@ -1,335 +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 <boost/limits.hpp>
-#include <boost/assert.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/math/policies/policy.hpp>
-
-// These two are for LDBL_MAN_DIG:
-#include <limits.h>
-#include <math.h>
-
-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<NTL::RR> ...
-// See Conceptual Requirements for Real Number Types.
-
-template <class T>
-inline int digits(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(T))
-{
-#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
- BOOST_STATIC_ASSERT( ::std::numeric_limits<T>::is_specialized);
- BOOST_STATIC_ASSERT( ::std::numeric_limits<T>::radix == 2 || ::std::numeric_limits<T>::radix == 10);
-#else
- BOOST_ASSERT(::std::numeric_limits<T>::is_specialized);
- BOOST_ASSERT(::std::numeric_limits<T>::radix == 2 || ::std::numeric_limits<T>::radix == 10);
-#endif
- return std::numeric_limits<T>::radix == 2
- ? std::numeric_limits<T>::digits
- : ((std::numeric_limits<T>::digits + 1) * 1000L) / 301L;
-}
-
-template <class T>
-inline T max_value(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE(T))
-{
-#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
- BOOST_STATIC_ASSERT( ::std::numeric_limits<T>::is_specialized);
-#else
- BOOST_ASSERT(::std::numeric_limits<T>::is_specialized);
-#endif
- return (std::numeric_limits<T>::max)();
-} // Also used as a finite 'infinite' value for - and +infinity, for example:
-// -max_value<double> = -1.79769e+308, max_value<double> = 1.79769e+308.
-
-template <class T>
-inline T min_value(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE(T))
-{
-#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
- BOOST_STATIC_ASSERT( ::std::numeric_limits<T>::is_specialized);
-#else
- BOOST_ASSERT(::std::numeric_limits<T>::is_specialized);
-#endif
- return (std::numeric_limits<T>::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 <class T>
-inline T log_max_value(const mpl::int_<128>& BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE(T))
-{
- return 88.0f;
-}
-
-template <class T>
-inline T log_min_value(const mpl::int_<128>& BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE(T))
-{
- return -87.0f;
-}
-//
-// Now double:
-//
-template <class T>
-inline T log_max_value(const mpl::int_<1024>& BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE(T))
-{
- return 709.0;
-}
-
-template <class T>
-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 <class T>
-inline T log_max_value(const mpl::int_<16384>& BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE(T))
-{
- return 11356.0L;
-}
-
-template <class T>
-inline T log_min_value(const mpl::int_<16384>& BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE(T))
-{
- return -11355.0L;
-}
-
-template <class T>
-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<T>::is_specialized);
-#else
- BOOST_ASSERT(::std::numeric_limits<T>::is_specialized);
-#endif
- BOOST_MATH_STD_USING
- static const T val = log((std::numeric_limits<T>::max)());
- return val;
-}
-
-template <class T>
-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<T>::is_specialized);
-#else
- BOOST_ASSERT(::std::numeric_limits<T>::is_specialized);
-#endif
- BOOST_MATH_STD_USING
- static const T val = log((std::numeric_limits<T>::min)());
- return val;
-}
-
-template <class T>
-inline T epsilon(const mpl::true_& BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE(T))
-{
- return std::numeric_limits<T>::epsilon();
-}
-
-#if (defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)) && ((LDBL_MANT_DIG == 106) || (__LDBL_MANT_DIG__ == 106))
-template <>
-inline long double epsilon<long double>(const mpl::true_& BOOST_MATH_APPEND_EXPLICIT_TEMPLATE_TYPE(long double))
-{
- // numeric_limits on Darwin tells lies here.
- // This static assert fails for some unknown reason, so
- // disabled for now...
- // BOOST_STATIC_ASSERT(std::numeric_limits<long double>::digits == 106);
- return 2.4651903288156618919116517665087e-32L;
-}
-#endif
-
-template <class T>
-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<T>(1), 1-policies::digits<T, policies::policy<> >());
- return eps;
-}
-
-} // namespace detail
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4309)
-#endif
-
-template <class T>
-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<T>::radix == 2) &&
- (std::numeric_limits<T>::max_exponent == 128
- || std::numeric_limits<T>::max_exponent == 1024
- || std::numeric_limits<T>::max_exponent == 16384),
- mpl::int_<(std::numeric_limits<T>::max_exponent > INT_MAX ? INT_MAX : static_cast<int>(std::numeric_limits<T>::max_exponent))>,
- mpl::int_<0>
- >::type tag_type;
- BOOST_STATIC_ASSERT( ::std::numeric_limits<T>::is_specialized);
- return detail::log_max_value<T>(tag_type());
-#else
- BOOST_ASSERT(::std::numeric_limits<T>::is_specialized);
- BOOST_MATH_STD_USING
- static const T val = log((std::numeric_limits<T>::max)());
- return val;
-#endif
-}
-
-template <class T>
-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<T>::radix == 2) &&
- (std::numeric_limits<T>::max_exponent == 128
- || std::numeric_limits<T>::max_exponent == 1024
- || std::numeric_limits<T>::max_exponent == 16384),
- mpl::int_<(std::numeric_limits<T>::max_exponent > INT_MAX ? INT_MAX : static_cast<int>(std::numeric_limits<T>::max_exponent))>,
- mpl::int_<0>
- >::type tag_type;
-
- BOOST_STATIC_ASSERT( ::std::numeric_limits<T>::is_specialized);
- return detail::log_min_value<T>(tag_type());
-#else
- BOOST_ASSERT(::std::numeric_limits<T>::is_specialized);
- BOOST_MATH_STD_USING
- static const T val = log((std::numeric_limits<T>::min)());
- return val;
-#endif
-}
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-template <class T>
-inline T epsilon(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(T))
-{
-#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
- return detail::epsilon<T>(mpl::bool_< ::std::numeric_limits<T>::is_specialized>());
-#else
- return ::std::numeric_limits<T>::is_specialized ?
- detail::epsilon<T>(mpl::true_()) :
- detail::epsilon<T>(mpl::false_());
-#endif
-}
-
-namespace detail{
-
-template <class T>
-inline T root_epsilon_imp(const mpl::int_<24>&)
-{
- return static_cast<T>(0.00034526698300124390839884978618400831996329879769945L);
-}
-
-template <class T>
-inline T root_epsilon_imp(const T*, const mpl::int_<53>&)
-{
- return static_cast<T>(0.1490116119384765625e-7L);
-}
-
-template <class T>
-inline T root_epsilon_imp(const T*, const mpl::int_<64>&)
-{
- return static_cast<T>(0.32927225399135962333569506281281311031656150598474e-9L);
-}
-
-template <class T>
-inline T root_epsilon_imp(const T*, const mpl::int_<113>&)
-{
- return static_cast<T>(0.1387778780781445675529539585113525390625e-16L);
-}
-
-template <class T, class Tag>
-inline T root_epsilon_imp(const T*, const Tag&)
-{
- BOOST_MATH_STD_USING
- static const T r_eps = sqrt(tools::epsilon<T>());
- return r_eps;
-}
-
-template <class T>
-inline T forth_root_epsilon_imp(const T*, const mpl::int_<24>&)
-{
- return static_cast<T>(0.018581361171917516667460937040007436176452688944747L);
-}
-
-template <class T>
-inline T forth_root_epsilon_imp(const T*, const mpl::int_<53>&)
-{
- return static_cast<T>(0.0001220703125L);
-}
-
-template <class T>
-inline T forth_root_epsilon_imp(const T*, const mpl::int_<64>&)
-{
- return static_cast<T>(0.18145860519450699870567321328132261891067079047605e-4L);
-}
-
-template <class T>
-inline T forth_root_epsilon_imp(const T*, const mpl::int_<113>&)
-{
- return static_cast<T>(0.37252902984619140625e-8L);
-}
-
-template <class T, class Tag>
-inline T forth_root_epsilon_imp(const T*, const Tag&)
-{
- BOOST_MATH_STD_USING
- static const T r_eps = sqrt(sqrt(tools::epsilon<T>()));
- return r_eps;
-}
-
-}
-
-template <class T>
-inline T root_epsilon()
-{
- typedef mpl::int_< (::std::numeric_limits<T>::radix == 2) ? std::numeric_limits<T>::digits : 0> tag_type;
- return detail::root_epsilon_imp(static_cast<T const*>(0), tag_type());
-}
-
-template <class T>
-inline T forth_root_epsilon()
-{
- typedef mpl::int_< (::std::numeric_limits<T>::radix == 2) ? std::numeric_limits<T>::digits : 0> tag_type;
- return detail::forth_root_epsilon_imp(static_cast<T const*>(0), tag_type());
-}
-
-} // namespace tools
-} // namespace math
-} // namespace boost
-
-#endif // BOOST_MATH_TOOLS_PRECISION_INCLUDED
-
diff --git a/boost/math/tools/promotion.hpp b/boost/math/tools/promotion.hpp
deleted file mode 100644
index b3ad204..0000000
--- a/boost/math/tools/promotion.hpp
+++ /dev/null
@@ -1,175 +0,0 @@
-// boost\math\tools\promotion.hpp
-
-// Copyright John Maddock 2006.
-// Copyright Paul A. Bristow 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)
-
-// Promote arguments functions to allow math functions to have arguments
-// provided as integer OR real (floating-point, built-in or UDT)
-// (called ArithmeticType in functions that use promotion)
-// that help to reduce the risk of creating multiple instantiations.
-// Allows creation of an inline wrapper that forwards to a foo(RT, RT) function,
-// so you never get to instantiate any mixed foo(RT, IT) functions.
-
-#ifndef BOOST_MATH_PROMOTION_HPP
-#define BOOST_MATH_PROMOTION_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-// Boost type traits:
-#include <boost/math/tools/config.hpp>
-#include <boost/type_traits/is_floating_point.hpp> // for boost::is_floating_point;
-#include <boost/type_traits/is_integral.hpp> // for boost::is_integral
-#include <boost/type_traits/is_convertible.hpp> // for boost::is_convertible
-#include <boost/type_traits/is_same.hpp>// for boost::is_same
-#include <boost/type_traits/remove_cv.hpp>// for boost::remove_cv
-// Boost Template meta programming:
-#include <boost/mpl/if.hpp> // for boost::mpl::if_c.
-#include <boost/mpl/and.hpp> // for boost::mpl::if_c.
-#include <boost/mpl/or.hpp> // for boost::mpl::if_c.
-#include <boost/mpl/not.hpp> // for boost::mpl::if_c.
-
-#ifdef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
-#include <boost/static_assert.hpp>
-#endif
-
-namespace boost
-{
- namespace math
- {
- namespace tools
- {
- // If either T1 or T2 is an integer type,
- // pretend it was a double (for the purposes of further analysis).
- // Then pick the wider of the two floating-point types
- // as the actual signature to forward to.
- // For example:
- // foo(int, short) -> double foo(double, double);
- // foo(int, float) -> double foo(double, double);
- // Note: NOT float foo(float, float)
- // foo(int, double) -> foo(double, double);
- // foo(double, float) -> double foo(double, double);
- // foo(double, float) -> double foo(double, double);
- // foo(any-int-or-float-type, long double) -> foo(long double, long double);
- // but ONLY float foo(float, float) is unchanged.
- // So the only way to get an entirely float version is to call foo(1.F, 2.F),
- // But since most (all?) the math functions convert to double internally,
- // probably there would not be the hoped-for gain by using float here.
-
- // This follows the C-compatible conversion rules of pow, etc
- // where pow(int, float) is converted to pow(double, double).
-
- template <class T>
- struct promote_arg
- { // If T is integral type, then promote to double.
- typedef typename mpl::if_<is_integral<T>, double, T>::type type;
- };
- // These full specialisations reduce mpl::if_ usage and speed up
- // compilation:
- template <> struct promote_arg<float> { typedef float type; };
- template <> struct promote_arg<double>{ typedef double type; };
- template <> struct promote_arg<long double> { typedef long double type; };
- template <> struct promote_arg<int> { typedef double type; };
-
- template <class T1, class T2>
- struct promote_args_2
- { // Promote, if necessary, & pick the wider of the two floating-point types.
- // for both parameter types, if integral promote to double.
- typedef typename promote_arg<T1>::type T1P; // T1 perhaps promoted.
- typedef typename promote_arg<T2>::type T2P; // T2 perhaps promoted.
-
- typedef typename mpl::if_<
- typename mpl::and_<is_floating_point<T1P>, is_floating_point<T2P> >::type, // both T1P and T2P are floating-point?
- typename mpl::if_< typename mpl::or_<is_same<long double, T1P>, is_same<long double, T2P> >::type, // either long double?
- long double, // then result type is long double.
- typename mpl::if_< typename mpl::or_<is_same<double, T1P>, is_same<double, T2P> >::type, // either double?
- double, // result type is double.
- float // else result type is float.
- >::type
- >::type,
- // else one or the other is a user-defined type:
- typename mpl::if_< typename mpl::and_<mpl::not_<is_floating_point<T2P> >, ::boost::is_convertible<T1P, T2P> >, T2P, T1P>::type>::type type;
- }; // promote_arg2
- // These full specialisations reduce mpl::if_ usage and speed up
- // compilation:
- template <> struct promote_args_2<float, float> { typedef float type; };
- template <> struct promote_args_2<double, double>{ typedef double type; };
- template <> struct promote_args_2<long double, long double> { typedef long double type; };
- template <> struct promote_args_2<int, int> { typedef double type; };
- template <> struct promote_args_2<int, float> { typedef double type; };
- template <> struct promote_args_2<float, int> { typedef double type; };
- template <> struct promote_args_2<int, double> { typedef double type; };
- template <> struct promote_args_2<double, int> { typedef double type; };
- template <> struct promote_args_2<int, long double> { typedef long double type; };
- template <> struct promote_args_2<long double, int> { typedef long double type; };
- template <> struct promote_args_2<float, double> { typedef double type; };
- template <> struct promote_args_2<double, float> { typedef double type; };
- template <> struct promote_args_2<float, long double> { typedef long double type; };
- template <> struct promote_args_2<long double, float> { typedef long double type; };
- template <> struct promote_args_2<double, long double> { typedef long double type; };
- template <> struct promote_args_2<long double, double> { typedef long double type; };
-
- template <class T1, class T2=float, class T3=float, class T4=float, class T5=float, class T6=float>
- struct promote_args
- {
- typedef typename promote_args_2<
- typename remove_cv<T1>::type,
- typename promote_args_2<
- typename remove_cv<T2>::type,
- typename promote_args_2<
- typename remove_cv<T3>::type,
- typename promote_args_2<
- typename remove_cv<T4>::type,
- typename promote_args_2<
- typename remove_cv<T5>::type, typename remove_cv<T6>::type
- >::type
- >::type
- >::type
- >::type
- >::type type;
-
-#ifdef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
- //
- // Guard against use of long double if it's not supported:
- //
- BOOST_STATIC_ASSERT_MSG((0 == ::boost::is_same<type, long double>::value), "Sorry, but this platform does not have sufficient long double support for the special functions to be reliably implemented.");
-#endif
- };
-
- //
- // This struct is the same as above, but has no static assert on long double usage,
- // it should be used only on functions that can be implemented for long double
- // even when std lib support is missing or broken for that type.
- //
- template <class T1, class T2=float, class T3=float, class T4=float, class T5=float, class T6=float>
- struct promote_args_permissive
- {
- typedef typename promote_args_2<
- typename remove_cv<T1>::type,
- typename promote_args_2<
- typename remove_cv<T2>::type,
- typename promote_args_2<
- typename remove_cv<T3>::type,
- typename promote_args_2<
- typename remove_cv<T4>::type,
- typename promote_args_2<
- typename remove_cv<T5>::type, typename remove_cv<T6>::type
- >::type
- >::type
- >::type
- >::type
- >::type type;
- };
-
- } // namespace tools
- } // namespace math
-} // namespace boost
-
-#endif // BOOST_MATH_PROMOTION_HPP
-
diff --git a/boost/math/tools/rational.hpp b/boost/math/tools/rational.hpp
deleted file mode 100644
index accffea..0000000
--- a/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 <boost/array.hpp>
-#include <boost/math/tools/config.hpp>
-#include <boost/mpl/int.hpp>
-
-#if BOOST_MATH_POLY_METHOD == 1
-# define BOOST_HEADER() <BOOST_JOIN(boost/math/tools/detail/polynomial_horner1_, BOOST_MATH_MAX_POLY_ORDER).hpp>
-# include BOOST_HEADER()
-# undef BOOST_HEADER
-#elif BOOST_MATH_POLY_METHOD == 2
-# define BOOST_HEADER() <BOOST_JOIN(boost/math/tools/detail/polynomial_horner2_, BOOST_MATH_MAX_POLY_ORDER).hpp>
-# include BOOST_HEADER()
-# undef BOOST_HEADER
-#elif BOOST_MATH_POLY_METHOD == 3
-# define BOOST_HEADER() <BOOST_JOIN(boost/math/tools/detail/polynomial_horner3_, BOOST_MATH_MAX_POLY_ORDER).hpp>
-# include BOOST_HEADER()
-# undef BOOST_HEADER
-#endif
-#if BOOST_MATH_RATIONAL_METHOD == 1
-# define BOOST_HEADER() <BOOST_JOIN(boost/math/tools/detail/rational_horner1_, BOOST_MATH_MAX_POLY_ORDER).hpp>
-# include BOOST_HEADER()
-# undef BOOST_HEADER
-#elif BOOST_MATH_RATIONAL_METHOD == 2
-# define BOOST_HEADER() <BOOST_JOIN(boost/math/tools/detail/rational_horner2_, BOOST_MATH_MAX_POLY_ORDER).hpp>
-# include BOOST_HEADER()
-# undef BOOST_HEADER
-#elif BOOST_MATH_RATIONAL_METHOD == 3
-# define BOOST_HEADER() <BOOST_JOIN(boost/math/tools/detail/rational_horner3_, BOOST_MATH_MAX_POLY_ORDER).hpp>
-# 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 <boost/math/tools/detail/polynomial_horner1_2.hpp>
-#include <boost/math/tools/detail/polynomial_horner1_3.hpp>
-#include <boost/math/tools/detail/polynomial_horner1_4.hpp>
-#include <boost/math/tools/detail/polynomial_horner1_5.hpp>
-#include <boost/math/tools/detail/polynomial_horner1_6.hpp>
-#include <boost/math/tools/detail/polynomial_horner1_7.hpp>
-#include <boost/math/tools/detail/polynomial_horner1_8.hpp>
-#include <boost/math/tools/detail/polynomial_horner1_9.hpp>
-#include <boost/math/tools/detail/polynomial_horner1_10.hpp>
-#include <boost/math/tools/detail/polynomial_horner1_11.hpp>
-#include <boost/math/tools/detail/polynomial_horner1_12.hpp>
-#include <boost/math/tools/detail/polynomial_horner1_13.hpp>
-#include <boost/math/tools/detail/polynomial_horner1_14.hpp>
-#include <boost/math/tools/detail/polynomial_horner1_15.hpp>
-#include <boost/math/tools/detail/polynomial_horner1_16.hpp>
-#include <boost/math/tools/detail/polynomial_horner1_17.hpp>
-#include <boost/math/tools/detail/polynomial_horner1_18.hpp>
-#include <boost/math/tools/detail/polynomial_horner1_19.hpp>
-#include <boost/math/tools/detail/polynomial_horner1_20.hpp>
-#include <boost/math/tools/detail/polynomial_horner2_2.hpp>
-#include <boost/math/tools/detail/polynomial_horner2_3.hpp>
-#include <boost/math/tools/detail/polynomial_horner2_4.hpp>
-#include <boost/math/tools/detail/polynomial_horner2_5.hpp>
-#include <boost/math/tools/detail/polynomial_horner2_6.hpp>
-#include <boost/math/tools/detail/polynomial_horner2_7.hpp>
-#include <boost/math/tools/detail/polynomial_horner2_8.hpp>
-#include <boost/math/tools/detail/polynomial_horner2_9.hpp>
-#include <boost/math/tools/detail/polynomial_horner2_10.hpp>
-#include <boost/math/tools/detail/polynomial_horner2_11.hpp>
-#include <boost/math/tools/detail/polynomial_horner2_12.hpp>
-#include <boost/math/tools/detail/polynomial_horner2_13.hpp>
-#include <boost/math/tools/detail/polynomial_horner2_14.hpp>
-#include <boost/math/tools/detail/polynomial_horner2_15.hpp>
-#include <boost/math/tools/detail/polynomial_horner2_16.hpp>
-#include <boost/math/tools/detail/polynomial_horner2_17.hpp>
-#include <boost/math/tools/detail/polynomial_horner2_18.hpp>
-#include <boost/math/tools/detail/polynomial_horner2_19.hpp>
-#include <boost/math/tools/detail/polynomial_horner2_20.hpp>
-#include <boost/math/tools/detail/polynomial_horner3_2.hpp>
-#include <boost/math/tools/detail/polynomial_horner3_3.hpp>
-#include <boost/math/tools/detail/polynomial_horner3_4.hpp>
-#include <boost/math/tools/detail/polynomial_horner3_5.hpp>
-#include <boost/math/tools/detail/polynomial_horner3_6.hpp>
-#include <boost/math/tools/detail/polynomial_horner3_7.hpp>
-#include <boost/math/tools/detail/polynomial_horner3_8.hpp>
-#include <boost/math/tools/detail/polynomial_horner3_9.hpp>
-#include <boost/math/tools/detail/polynomial_horner3_10.hpp>
-#include <boost/math/tools/detail/polynomial_horner3_11.hpp>
-#include <boost/math/tools/detail/polynomial_horner3_12.hpp>
-#include <boost/math/tools/detail/polynomial_horner3_13.hpp>
-#include <boost/math/tools/detail/polynomial_horner3_14.hpp>
-#include <boost/math/tools/detail/polynomial_horner3_15.hpp>
-#include <boost/math/tools/detail/polynomial_horner3_16.hpp>
-#include <boost/math/tools/detail/polynomial_horner3_17.hpp>
-#include <boost/math/tools/detail/polynomial_horner3_18.hpp>
-#include <boost/math/tools/detail/polynomial_horner3_19.hpp>
-#include <boost/math/tools/detail/polynomial_horner3_20.hpp>
-#include <boost/math/tools/detail/rational_horner1_2.hpp>
-#include <boost/math/tools/detail/rational_horner1_3.hpp>
-#include <boost/math/tools/detail/rational_horner1_4.hpp>
-#include <boost/math/tools/detail/rational_horner1_5.hpp>
-#include <boost/math/tools/detail/rational_horner1_6.hpp>
-#include <boost/math/tools/detail/rational_horner1_7.hpp>
-#include <boost/math/tools/detail/rational_horner1_8.hpp>
-#include <boost/math/tools/detail/rational_horner1_9.hpp>
-#include <boost/math/tools/detail/rational_horner1_10.hpp>
-#include <boost/math/tools/detail/rational_horner1_11.hpp>
-#include <boost/math/tools/detail/rational_horner1_12.hpp>
-#include <boost/math/tools/detail/rational_horner1_13.hpp>
-#include <boost/math/tools/detail/rational_horner1_14.hpp>
-#include <boost/math/tools/detail/rational_horner1_15.hpp>
-#include <boost/math/tools/detail/rational_horner1_16.hpp>
-#include <boost/math/tools/detail/rational_horner1_17.hpp>
-#include <boost/math/tools/detail/rational_horner1_18.hpp>
-#include <boost/math/tools/detail/rational_horner1_19.hpp>
-#include <boost/math/tools/detail/rational_horner1_20.hpp>
-#include <boost/math/tools/detail/rational_horner2_2.hpp>
-#include <boost/math/tools/detail/rational_horner2_3.hpp>
-#include <boost/math/tools/detail/rational_horner2_4.hpp>
-#include <boost/math/tools/detail/rational_horner2_5.hpp>
-#include <boost/math/tools/detail/rational_horner2_6.hpp>
-#include <boost/math/tools/detail/rational_horner2_7.hpp>
-#include <boost/math/tools/detail/rational_horner2_8.hpp>
-#include <boost/math/tools/detail/rational_horner2_9.hpp>
-#include <boost/math/tools/detail/rational_horner2_10.hpp>
-#include <boost/math/tools/detail/rational_horner2_11.hpp>
-#include <boost/math/tools/detail/rational_horner2_12.hpp>
-#include <boost/math/tools/detail/rational_horner2_13.hpp>
-#include <boost/math/tools/detail/rational_horner2_14.hpp>
-#include <boost/math/tools/detail/rational_horner2_15.hpp>
-#include <boost/math/tools/detail/rational_horner2_16.hpp>
-#include <boost/math/tools/detail/rational_horner2_17.hpp>
-#include <boost/math/tools/detail/rational_horner2_18.hpp>
-#include <boost/math/tools/detail/rational_horner2_19.hpp>
-#include <boost/math/tools/detail/rational_horner2_20.hpp>
-#include <boost/math/tools/detail/rational_horner3_2.hpp>
-#include <boost/math/tools/detail/rational_horner3_3.hpp>
-#include <boost/math/tools/detail/rational_horner3_4.hpp>
-#include <boost/math/tools/detail/rational_horner3_5.hpp>
-#include <boost/math/tools/detail/rational_horner3_6.hpp>
-#include <boost/math/tools/detail/rational_horner3_7.hpp>
-#include <boost/math/tools/detail/rational_horner3_8.hpp>
-#include <boost/math/tools/detail/rational_horner3_9.hpp>
-#include <boost/math/tools/detail/rational_horner3_10.hpp>
-#include <boost/math/tools/detail/rational_horner3_11.hpp>
-#include <boost/math/tools/detail/rational_horner3_12.hpp>
-#include <boost/math/tools/detail/rational_horner3_13.hpp>
-#include <boost/math/tools/detail/rational_horner3_14.hpp>
-#include <boost/math/tools/detail/rational_horner3_15.hpp>
-#include <boost/math/tools/detail/rational_horner3_16.hpp>
-#include <boost/math/tools/detail/rational_horner3_17.hpp>
-#include <boost/math/tools/detail/rational_horner3_18.hpp>
-#include <boost/math/tools/detail/rational_horner3_19.hpp>
-#include <boost/math/tools/detail/rational_horner3_20.hpp>
-#endif
-
-namespace boost{ namespace math{ namespace tools{
-
-//
-// Forward declaration to keep two phase lookup happy:
-//
-template <class T, class U>
-U evaluate_polynomial(const T* poly, U const& z, std::size_t count);
-
-namespace detail{
-
-template <class T, class V, class Tag>
-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 <class T, class U>
-inline U evaluate_polynomial(const T* poly, U const& z, std::size_t count)
-{
- BOOST_ASSERT(count > 0);
- U sum = static_cast<U>(poly[count - 1]);
- for(int i = static_cast<int>(count) - 2; i >= 0; --i)
- {
- sum *= z;
- sum += static_cast<U>(poly[i]);
- }
- return sum;
-}
-//
-// Compile time sized polynomials, just inline forwarders to the
-// implementations above:
-//
-template <std::size_t N, class T, class V>
-inline V evaluate_polynomial(const T(&a)[N], const V& val)
-{
- typedef mpl::int_<N> tag_type;
- return detail::evaluate_polynomial_c_imp(static_cast<const T*>(a), val, static_cast<tag_type const*>(0));
-}
-
-template <std::size_t N, class T, class V>
-inline V evaluate_polynomial(const boost::array<T,N>& a, const V& val)
-{
- typedef mpl::int_<N> tag_type;
- return detail::evaluate_polynomial_c_imp(static_cast<const T*>(a.data()), val, static_cast<tag_type const*>(0));
-}
-//
-// Even polynomials are trivial: just square the argument!
-//
-template <class T, class U>
-inline U evaluate_even_polynomial(const T* poly, U z, std::size_t count)
-{
- return evaluate_polynomial(poly, U(z*z), count);
-}
-
-template <std::size_t N, class T, class V>
-inline V evaluate_even_polynomial(const T(&a)[N], const V& z)
-{
- return evaluate_polynomial(a, V(z*z));
-}
-
-template <std::size_t N, class T, class V>
-inline V evaluate_even_polynomial(const boost::array<T,N>& a, const V& z)
-{
- return evaluate_polynomial(a, V(z*z));
-}
-//
-// Odd polynomials come next:
-//
-template <class T, class U>
-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 <std::size_t N, class T, class V>
-inline V evaluate_odd_polynomial(const T(&a)[N], const V& z)
-{
- typedef mpl::int_<N-1> tag_type;
- return a[0] + z * detail::evaluate_polynomial_c_imp(static_cast<const T*>(a) + 1, V(z*z), static_cast<tag_type const*>(0));
-}
-
-template <std::size_t N, class T, class V>
-inline V evaluate_odd_polynomial(const boost::array<T,N>& a, const V& z)
-{
- typedef mpl::int_<N-1> tag_type;
- return a[0] + z * detail::evaluate_polynomial_c_imp(static_cast<const T*>(a.data()) + 1, V(z*z), static_cast<tag_type const*>(0));
-}
-
-template <class T, class U, class V>
-V evaluate_rational(const T* num, const U* denom, const V& z_, std::size_t count);
-
-namespace detail{
-
-template <class T, class U, class V, class Tag>
-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 <class T, class U, class V>
-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<V>(num[count-1]);
- s2 = static_cast<V>(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<V>(num[0]);
- s2 = static_cast<V>(denom[0]);
- for(unsigned i = 1; i < count; ++i)
- {
- s1 *= z;
- s2 *= z;
- s1 += num[i];
- s2 += denom[i];
- }
- }
- return s1 / s2;
-}
-
-template <std::size_t N, class T, class U, class V>
-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<const mpl::int_<N>*>(0));
-}
-
-template <std::size_t N, class T, class U, class V>
-inline V evaluate_rational(const boost::array<T,N>& a, const boost::array<U,N>& b, const V& z)
-{
- return detail::evaluate_rational_c_imp(a.data(), b.data(), z, static_cast<mpl::int_<N>*>(0));
-}
-
-} // namespace tools
-} // namespace math
-} // namespace boost
-
-#endif // BOOST_MATH_TOOLS_RATIONAL_HPP
-
-
-
-
diff --git a/boost/math/tools/real_cast.hpp b/boost/math/tools/real_cast.hpp
deleted file mode 100644
index 9b854e3..0000000
--- a/boost/math/tools/real_cast.hpp
+++ /dev/null
@@ -1,29 +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_TOOLS_REAL_CAST_HPP
-#define BOOST_MATH_TOOLS_REAL_CAST_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-namespace boost{ namespace math
-{
- namespace tools
- {
- template <class To, class T>
- inline To real_cast(T t)
- {
- return static_cast<To>(t);
- }
- } // namespace tools
-} // namespace math
-} // namespace boost
-
-#endif // BOOST_MATH_TOOLS_REAL_CAST_HPP
-
-
-
diff --git a/boost/math/tools/roots.hpp b/boost/math/tools/roots.hpp
deleted file mode 100644
index 7ef7d99..0000000
--- a/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 <utility>
-#include <boost/config/no_tr1/cmath.hpp>
-#include <stdexcept>
-
-#include <boost/math/tools/config.hpp>
-#include <boost/cstdint.hpp>
-#include <boost/assert.hpp>
-#include <boost/throw_exception.hpp>
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4512)
-#endif
-#include <boost/math/tools/tuple.hpp>
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#include <boost/math/special_functions/sign.hpp>
-#include <boost/math/tools/toms748_solve.hpp>
-#include <boost/math/policies/error_handling.hpp>
-
-namespace boost{ namespace math{ namespace tools{
-
-namespace detail{
-
-template <class Tuple, class T>
-inline void unpack_0(const Tuple& t, T& val)
-{ val = boost::math::get<0>(t); }
-
-template <class F, class T>
-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 <class F, class T, class Tol, class Policy>
-std::pair<T, T> 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)
- {
- policies::raise_evaluation_error(function,
- "Arguments in wrong order in boost::math::tools::bisect (first arg=%1%)", min, pol);
- }
- if(fmin * fmax >= 0)
- {
- 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 <class F, class T, class Tol>
-inline std::pair<T, T> 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 <class F, class T, class Tol>
-inline std::pair<T, T> bisect(F f, T min, T max, Tol tol)
-{
- boost::uintmax_t m = (std::numeric_limits<boost::uintmax_t>::max)();
- return bisect(f, min, max, tol, m, policies::policy<>());
-}
-
-template <class F, class T>
-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<T>(ldexp(1.0, 1 - digits));
- T delta = 1;
- T delta1 = tools::max_value<T>();
- T delta2 = tools::max_value<T>();
-
- 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 <class F, class T>
-inline T newton_raphson_iterate(F f, T guess, T min, T max, int digits)
-{
- boost::uintmax_t m = (std::numeric_limits<boost::uintmax_t>::max)();
- return newton_raphson_iterate(f, guess, min, max, digits, m);
-}
-
-template <class F, class T>
-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<T>(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) && (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
- {
- 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<T>()))
- {
- // 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<T>() / 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<T>() / 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 <class F, class T>
-inline T halley_iterate(F f, T guess, T min, T max, int digits)
-{
- boost::uintmax_t m = (std::numeric_limits<boost::uintmax_t>::max)();
- return halley_iterate(f, guess, min, max, digits, m);
-}
-
-template <class F, class T>
-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<T>(ldexp(1.0, 1 - digits));
- T delta = 0;
- T delta1 = tools::max_value<T>();
- T delta2 = tools::max_value<T>();
-
-#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 <class F, class T>
-inline T schroeder_iterate(F f, T guess, T min, T max, int digits)
-{
- boost::uintmax_t m = (std::numeric_limits<boost::uintmax_t>::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/boost/math/tools/series.hpp b/boost/math/tools/series.hpp
deleted file mode 100644
index a32a33f..0000000
--- a/boost/math/tools/series.hpp
+++ /dev/null
@@ -1,158 +0,0 @@
-// (C) 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_SERIES_INCLUDED
-#define BOOST_MATH_TOOLS_SERIES_INCLUDED
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/config/no_tr1/cmath.hpp>
-#include <boost/cstdint.hpp>
-#include <boost/limits.hpp>
-#include <boost/math/tools/config.hpp>
-
-namespace boost{ namespace math{ namespace tools{
-
-//
-// Simple series summation come first:
-//
-template <class Functor, class U, class V>
-inline typename Functor::result_type sum_series(Functor& func, const U& factor, boost::uintmax_t& max_terms, const V& init_value)
-{
- BOOST_MATH_STD_USING
-
- typedef typename Functor::result_type result_type;
-
- boost::uintmax_t counter = max_terms;
-
- result_type result = init_value;
- result_type next_term;
- do{
- next_term = func();
- result += next_term;
- }
- while((fabs(factor * result) < fabs(next_term)) && --counter);
-
- // set max_terms to the actual number of terms of the series evaluated:
- max_terms = max_terms - counter;
-
- return result;
-}
-
-template <class Functor, class U>
-inline typename Functor::result_type sum_series(Functor& func, const U& factor, boost::uintmax_t& max_terms)
-{
- typename Functor::result_type init_value = 0;
- return sum_series(func, factor, max_terms, init_value);
-}
-
-template <class Functor, class U>
-inline typename Functor::result_type sum_series(Functor& func, int bits, boost::uintmax_t& max_terms, const U& init_value)
-{
- BOOST_MATH_STD_USING
- typedef typename Functor::result_type result_type;
- result_type factor = ldexp(result_type(1), 1 - bits);
- return sum_series(func, factor, max_terms, init_value);
-}
-
-template <class Functor>
-inline typename Functor::result_type sum_series(Functor& func, int bits)
-{
- BOOST_MATH_STD_USING
- typedef typename Functor::result_type result_type;
- boost::uintmax_t iters = (std::numeric_limits<boost::uintmax_t>::max)();
- result_type init_val = 0;
- return sum_series(func, bits, iters, init_val);
-}
-
-template <class Functor>
-inline typename Functor::result_type sum_series(Functor& func, int bits, boost::uintmax_t& max_terms)
-{
- BOOST_MATH_STD_USING
- typedef typename Functor::result_type result_type;
- result_type init_val = 0;
- return sum_series(func, bits, max_terms, init_val);
-}
-
-template <class Functor, class U>
-inline typename Functor::result_type sum_series(Functor& func, int bits, const U& init_value)
-{
- BOOST_MATH_STD_USING
- boost::uintmax_t iters = (std::numeric_limits<boost::uintmax_t>::max)();
- return sum_series(func, bits, iters, init_value);
-}
-
-//
-// Algorithm kahan_sum_series invokes Functor func until the N'th
-// term is too small to have any effect on the total, the terms
-// are added using the Kahan summation method.
-//
-// CAUTION: Optimizing compilers combined with extended-precision
-// machine registers conspire to render this algorithm partly broken:
-// double rounding of intermediate terms (first to a long double machine
-// register, and then to a double result) cause the rounding error computed
-// by the algorithm to be off by up to 1ulp. However this occurs rarely, and
-// in any case the result is still much better than a naive summation.
-//
-template <class Functor>
-inline typename Functor::result_type kahan_sum_series(Functor& func, int bits)
-{
- BOOST_MATH_STD_USING
-
- typedef typename Functor::result_type result_type;
-
- result_type factor = pow(result_type(2), bits);
- result_type result = func();
- result_type next_term, y, t;
- result_type carry = 0;
- do{
- next_term = func();
- y = next_term - carry;
- t = result + y;
- carry = t - result;
- carry -= y;
- result = t;
- }
- while(fabs(result) < fabs(factor * next_term));
- return result;
-}
-
-template <class Functor>
-inline typename Functor::result_type kahan_sum_series(Functor& func, int bits, boost::uintmax_t& max_terms)
-{
- BOOST_MATH_STD_USING
-
- typedef typename Functor::result_type result_type;
-
- boost::uintmax_t counter = max_terms;
-
- result_type factor = ldexp(result_type(1), bits);
- result_type result = func();
- result_type next_term, y, t;
- result_type carry = 0;
- do{
- next_term = func();
- y = next_term - carry;
- t = result + y;
- carry = t - result;
- carry -= y;
- result = t;
- }
- while((fabs(result) < fabs(factor * next_term)) && --counter);
-
- // set max_terms to the actual number of terms of the series evaluated:
- max_terms = max_terms - counter;
-
- return result;
-}
-
-} // namespace tools
-} // namespace math
-} // namespace boost
-
-#endif // BOOST_MATH_TOOLS_SERIES_INCLUDED
-
diff --git a/boost/math/tools/toms748_solve.hpp b/boost/math/tools/toms748_solve.hpp
deleted file mode 100644
index 1310ff2..0000000
--- a/boost/math/tools/toms748_solve.hpp
+++ /dev/null
@@ -1,585 +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_SOLVE_ROOT_HPP
-#define BOOST_MATH_TOOLS_SOLVE_ROOT_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-#include <boost/math/tools/precision.hpp>
-#include <boost/math/policies/error_handling.hpp>
-#include <boost/math/tools/config.hpp>
-#include <boost/math/special_functions/sign.hpp>
-#include <boost/cstdint.hpp>
-#include <limits>
-
-namespace boost{ namespace math{ namespace tools{
-
-template <class T>
-class eps_tolerance
-{
-public:
- eps_tolerance(unsigned bits)
- {
- BOOST_MATH_STD_USING
- eps = (std::max)(T(ldexp(1.0F, 1-bits)), T(4 * tools::epsilon<T>()));
- }
- bool operator()(const T& a, const T& b)
- {
- BOOST_MATH_STD_USING
- return fabs(a - b) <= (eps * (std::min)(fabs(a), fabs(b)));
- }
-private:
- T eps;
-};
-
-struct equal_floor
-{
- equal_floor(){}
- template <class T>
- bool operator()(const T& a, const T& b)
- {
- BOOST_MATH_STD_USING
- return floor(a) == floor(b);
- }
-};
-
-struct equal_ceil
-{
- equal_ceil(){}
- template <class T>
- bool operator()(const T& a, const T& b)
- {
- BOOST_MATH_STD_USING
- return ceil(a) == ceil(b);
- }
-};
-
-struct equal_nearest_integer
-{
- equal_nearest_integer(){}
- template <class T>
- bool operator()(const T& a, const T& b)
- {
- BOOST_MATH_STD_USING
- return floor(a + 0.5f) == floor(b + 0.5f);
- }
-};
-
-namespace detail{
-
-template <class F, class T>
-void bracket(F f, T& a, T& b, T c, T& fa, T& fb, T& d, T& fd)
-{
- //
- // Given a point c inside the existing enclosing interval
- // [a, b] sets a = c if f(c) == 0, otherwise finds the new
- // enclosing interval: either [a, c] or [c, b] and sets
- // d and fd to the point that has just been removed from
- // the interval. In other words d is the third best guess
- // to the root.
- //
- BOOST_MATH_STD_USING // For ADL of std math functions
- T tol = tools::epsilon<T>() * 2;
- //
- // If the interval [a,b] is very small, or if c is too close
- // to one end of the interval then we need to adjust the
- // location of c accordingly:
- //
- if((b - a) < 2 * tol * a)
- {
- c = a + (b - a) / 2;
- }
- else if(c <= a + fabs(a) * tol)
- {
- c = a + fabs(a) * tol;
- }
- else if(c >= b - fabs(b) * tol)
- {
- c = b - fabs(a) * tol;
- }
- //
- // OK, lets invoke f(c):
- //
- T fc = f(c);
- //
- // if we have a zero then we have an exact solution to the root:
- //
- if(fc == 0)
- {
- a = c;
- fa = 0;
- d = 0;
- fd = 0;
- return;
- }
- //
- // Non-zero fc, update the interval:
- //
- if(boost::math::sign(fa) * boost::math::sign(fc) < 0)
- {
- d = b;
- fd = fb;
- b = c;
- fb = fc;
- }
- else
- {
- d = a;
- fd = fa;
- a = c;
- fa= fc;
- }
-}
-
-template <class T>
-inline T safe_div(T num, T denom, T r)
-{
- //
- // return num / denom without overflow,
- // return r if overflow would occur.
- //
- BOOST_MATH_STD_USING // For ADL of std math functions
-
- if(fabs(denom) < 1)
- {
- if(fabs(denom * tools::max_value<T>()) <= fabs(num))
- return r;
- }
- return num / denom;
-}
-
-template <class T>
-inline T secant_interpolate(const T& a, const T& b, const T& fa, const T& fb)
-{
- //
- // Performs standard secant interpolation of [a,b] given
- // function evaluations f(a) and f(b). Performs a bisection
- // if secant interpolation would leave us very close to either
- // a or b. Rationale: we only call this function when at least
- // one other form of interpolation has already failed, so we know
- // that the function is unlikely to be smooth with a root very
- // close to a or b.
- //
- BOOST_MATH_STD_USING // For ADL of std math functions
-
- T tol = tools::epsilon<T>() * 5;
- T c = a - (fa / (fb - fa)) * (b - a);
- if((c <= a + fabs(a) * tol) || (c >= b - fabs(b) * tol))
- return (a + b) / 2;
- return c;
-}
-
-template <class T>
-T quadratic_interpolate(const T& a, const T& b, T const& d,
- const T& fa, const T& fb, T const& fd,
- unsigned count)
-{
- //
- // Performs quadratic interpolation to determine the next point,
- // takes count Newton steps to find the location of the
- // quadratic polynomial.
- //
- // Point d must lie outside of the interval [a,b], it is the third
- // best approximation to the root, after a and b.
- //
- // Note: this does not guarentee to find a root
- // inside [a, b], so we fall back to a secant step should
- // the result be out of range.
- //
- // Start by obtaining the coefficients of the quadratic polynomial:
- //
- T B = safe_div(T(fb - fa), T(b - a), tools::max_value<T>());
- T A = safe_div(T(fd - fb), T(d - b), tools::max_value<T>());
- A = safe_div(T(A - B), T(d - a), T(0));
-
- if(A == 0)
- {
- // failure to determine coefficients, try a secant step:
- return secant_interpolate(a, b, fa, fb);
- }
- //
- // Determine the starting point of the Newton steps:
- //
- T c;
- if(boost::math::sign(A) * boost::math::sign(fa) > 0)
- {
- c = a;
- }
- else
- {
- c = b;
- }
- //
- // Take the Newton steps:
- //
- for(unsigned i = 1; i <= count; ++i)
- {
- //c -= safe_div(B * c, (B + A * (2 * c - a - b)), 1 + c - a);
- c -= safe_div(T(fa+(B+A*(c-b))*(c-a)), T(B + A * (2 * c - a - b)), T(1 + c - a));
- }
- if((c <= a) || (c >= b))
- {
- // Oops, failure, try a secant step:
- c = secant_interpolate(a, b, fa, fb);
- }
- return c;
-}
-
-template <class T>
-T cubic_interpolate(const T& a, const T& b, const T& d,
- const T& e, const T& fa, const T& fb,
- const T& fd, const T& fe)
-{
- //
- // Uses inverse cubic interpolation of f(x) at points
- // [a,b,d,e] to obtain an approximate root of f(x).
- // Points d and e lie outside the interval [a,b]
- // and are the third and forth best approximations
- // to the root that we have found so far.
- //
- // Note: this does not guarentee to find a root
- // inside [a, b], so we fall back to quadratic
- // interpolation in case of an erroneous result.
- //
- BOOST_MATH_INSTRUMENT_CODE(" a = " << a << " b = " << b
- << " d = " << d << " e = " << e << " fa = " << fa << " fb = " << fb
- << " fd = " << fd << " fe = " << fe);
- T q11 = (d - e) * fd / (fe - fd);
- T q21 = (b - d) * fb / (fd - fb);
- T q31 = (a - b) * fa / (fb - fa);
- T d21 = (b - d) * fd / (fd - fb);
- T d31 = (a - b) * fb / (fb - fa);
- BOOST_MATH_INSTRUMENT_CODE(
- "q11 = " << q11 << " q21 = " << q21 << " q31 = " << q31
- << " d21 = " << d21 << " d31 = " << d31);
- T q22 = (d21 - q11) * fb / (fe - fb);
- T q32 = (d31 - q21) * fa / (fd - fa);
- T d32 = (d31 - q21) * fd / (fd - fa);
- T q33 = (d32 - q22) * fa / (fe - fa);
- T c = q31 + q32 + q33 + a;
- BOOST_MATH_INSTRUMENT_CODE(
- "q22 = " << q22 << " q32 = " << q32 << " d32 = " << d32
- << " q33 = " << q33 << " c = " << c);
-
- if((c <= a) || (c >= b))
- {
- // Out of bounds step, fall back to quadratic interpolation:
- c = quadratic_interpolate(a, b, d, fa, fb, fd, 3);
- BOOST_MATH_INSTRUMENT_CODE(
- "Out of bounds interpolation, falling back to quadratic interpolation. c = " << c);
- }
-
- return c;
-}
-
-} // namespace detail
-
-template <class F, class T, class Tol, class Policy>
-std::pair<T, T> toms748_solve(F f, const T& ax, const T& bx, const T& fax, const T& fbx, Tol tol, boost::uintmax_t& max_iter, const Policy& pol)
-{
- //
- // Main entry point and logic for Toms Algorithm 748
- // root finder.
- //
- BOOST_MATH_STD_USING // For ADL of std math functions
-
- static const char* function = "boost::math::tools::toms748_solve<%1%>";
-
- boost::uintmax_t count = max_iter;
- T a, b, fa, fb, c, u, fu, a0, b0, d, fd, e, fe;
- static const T mu = 0.5f;
-
- // initialise a, b and fa, fb:
- a = ax;
- b = bx;
- if(a >= b)
- policies::raise_domain_error(
- function,
- "Parameters a and b out of order: a=%1%", a, pol);
- fa = fax;
- fb = fbx;
-
- if(tol(a, b) || (fa == 0) || (fb == 0))
- {
- max_iter = 0;
- if(fa == 0)
- b = a;
- else if(fb == 0)
- a = b;
- return std::make_pair(a, b);
- }
-
- if(boost::math::sign(fa) * boost::math::sign(fb) > 0)
- policies::raise_domain_error(
- function,
- "Parameters a and b do not bracket the root: a=%1%", a, pol);
- // dummy value for fd, e and fe:
- fe = e = fd = 1e5F;
-
- if(fa != 0)
- {
- //
- // On the first step we take a secant step:
- //
- c = detail::secant_interpolate(a, b, fa, fb);
- detail::bracket(f, a, b, c, fa, fb, d, fd);
- --count;
- BOOST_MATH_INSTRUMENT_CODE(" a = " << a << " b = " << b);
-
- if(count && (fa != 0) && !tol(a, b))
- {
- //
- // On the second step we take a quadratic interpolation:
- //
- c = detail::quadratic_interpolate(a, b, d, fa, fb, fd, 2);
- e = d;
- fe = fd;
- detail::bracket(f, a, b, c, fa, fb, d, fd);
- --count;
- BOOST_MATH_INSTRUMENT_CODE(" a = " << a << " b = " << b);
- }
- }
-
- while(count && (fa != 0) && !tol(a, b))
- {
- // save our brackets:
- a0 = a;
- b0 = b;
- //
- // Starting with the third step taken
- // we can use either quadratic or cubic interpolation.
- // Cubic interpolation requires that all four function values
- // fa, fb, fd, and fe are distinct, should that not be the case
- // then variable prof will get set to true, and we'll end up
- // taking a quadratic step instead.
- //
- T min_diff = tools::min_value<T>() * 32;
- bool prof = (fabs(fa - fb) < min_diff) || (fabs(fa - fd) < min_diff) || (fabs(fa - fe) < min_diff) || (fabs(fb - fd) < min_diff) || (fabs(fb - fe) < min_diff) || (fabs(fd - fe) < min_diff);
- if(prof)
- {
- c = detail::quadratic_interpolate(a, b, d, fa, fb, fd, 2);
- BOOST_MATH_INSTRUMENT_CODE("Can't take cubic step!!!!");
- }
- else
- {
- c = detail::cubic_interpolate(a, b, d, e, fa, fb, fd, fe);
- }
- //
- // re-bracket, and check for termination:
- //
- e = d;
- fe = fd;
- detail::bracket(f, a, b, c, fa, fb, d, fd);
- if((0 == --count) || (fa == 0) || tol(a, b))
- break;
- BOOST_MATH_INSTRUMENT_CODE(" a = " << a << " b = " << b);
- //
- // Now another interpolated step:
- //
- prof = (fabs(fa - fb) < min_diff) || (fabs(fa - fd) < min_diff) || (fabs(fa - fe) < min_diff) || (fabs(fb - fd) < min_diff) || (fabs(fb - fe) < min_diff) || (fabs(fd - fe) < min_diff);
- if(prof)
- {
- c = detail::quadratic_interpolate(a, b, d, fa, fb, fd, 3);
- BOOST_MATH_INSTRUMENT_CODE("Can't take cubic step!!!!");
- }
- else
- {
- c = detail::cubic_interpolate(a, b, d, e, fa, fb, fd, fe);
- }
- //
- // Bracket again, and check termination condition, update e:
- //
- detail::bracket(f, a, b, c, fa, fb, d, fd);
- if((0 == --count) || (fa == 0) || tol(a, b))
- break;
- BOOST_MATH_INSTRUMENT_CODE(" a = " << a << " b = " << b);
- //
- // Now we take a double-length secant step:
- //
- if(fabs(fa) < fabs(fb))
- {
- u = a;
- fu = fa;
- }
- else
- {
- u = b;
- fu = fb;
- }
- c = u - 2 * (fu / (fb - fa)) * (b - a);
- if(fabs(c - u) > (b - a) / 2)
- {
- c = a + (b - a) / 2;
- }
- //
- // Bracket again, and check termination condition:
- //
- e = d;
- fe = fd;
- detail::bracket(f, a, b, c, fa, fb, d, fd);
- BOOST_MATH_INSTRUMENT_CODE(" a = " << a << " b = " << b);
- BOOST_MATH_INSTRUMENT_CODE(" tol = " << T((fabs(a) - fabs(b)) / fabs(a)));
- if((0 == --count) || (fa == 0) || tol(a, b))
- break;
- //
- // And finally... check to see if an additional bisection step is
- // to be taken, we do this if we're not converging fast enough:
- //
- if((b - a) < mu * (b0 - a0))
- continue;
- //
- // bracket again on a bisection:
- //
- e = d;
- fe = fd;
- detail::bracket(f, a, b, T(a + (b - a) / 2), fa, fb, d, fd);
- --count;
- BOOST_MATH_INSTRUMENT_CODE("Not converging: Taking a bisection!!!!");
- BOOST_MATH_INSTRUMENT_CODE(" a = " << a << " b = " << b);
- } // while loop
-
- max_iter -= count;
- if(fa == 0)
- {
- b = a;
- }
- else if(fb == 0)
- {
- a = b;
- }
- return std::make_pair(a, b);
-}
-
-template <class F, class T, class Tol>
-inline std::pair<T, T> toms748_solve(F f, const T& ax, const T& bx, const T& fax, const T& fbx, Tol tol, boost::uintmax_t& max_iter)
-{
- return toms748_solve(f, ax, bx, fax, fbx, tol, max_iter, policies::policy<>());
-}
-
-template <class F, class T, class Tol, class Policy>
-inline std::pair<T, T> toms748_solve(F f, const T& ax, const T& bx, Tol tol, boost::uintmax_t& max_iter, const Policy& pol)
-{
- max_iter -= 2;
- std::pair<T, T> r = toms748_solve(f, ax, bx, f(ax), f(bx), tol, max_iter, pol);
- max_iter += 2;
- return r;
-}
-
-template <class F, class T, class Tol>
-inline std::pair<T, T> toms748_solve(F f, const T& ax, const T& bx, Tol tol, boost::uintmax_t& max_iter)
-{
- return toms748_solve(f, ax, bx, tol, max_iter, policies::policy<>());
-}
-
-template <class F, class T, class Tol, class Policy>
-std::pair<T, T> bracket_and_solve_root(F f, const T& guess, T factor, bool rising, Tol tol, boost::uintmax_t& max_iter, const Policy& pol)
-{
- BOOST_MATH_STD_USING
- static const char* function = "boost::math::tools::bracket_and_solve_root<%1%>";
- //
- // Set up inital brackets:
- //
- T a = guess;
- T b = a;
- T fa = f(a);
- T fb = fa;
- //
- // Set up invocation count:
- //
- boost::uintmax_t count = max_iter - 1;
-
- if((fa < 0) == (guess < 0 ? !rising : rising))
- {
- //
- // Zero is to the right of b, so walk upwards
- // until we find it:
- //
- while((boost::math::sign)(fb) == (boost::math::sign)(fa))
- {
- if(count == 0)
- policies::raise_evaluation_error(function, "Unable to bracket root, last nearest value was %1%", b, pol);
- //
- // Heuristic: every 20 iterations we double the growth factor in case the
- // initial guess was *really* bad !
- //
- if((max_iter - count) % 20 == 0)
- factor *= 2;
- //
- // Now go ahead and move our guess by "factor":
- //
- a = b;
- fa = fb;
- b *= factor;
- fb = f(b);
- --count;
- BOOST_MATH_INSTRUMENT_CODE("a = " << a << " b = " << b << " fa = " << fa << " fb = " << fb << " count = " << count);
- }
- }
- else
- {
- //
- // Zero is to the left of a, so walk downwards
- // until we find it:
- //
- while((boost::math::sign)(fb) == (boost::math::sign)(fa))
- {
- if(fabs(a) < tools::min_value<T>())
- {
- // Escape route just in case the answer is zero!
- max_iter -= count;
- max_iter += 1;
- return a > 0 ? std::make_pair(T(0), T(a)) : std::make_pair(T(a), T(0));
- }
- if(count == 0)
- policies::raise_evaluation_error(function, "Unable to bracket root, last nearest value was %1%", a, pol);
- //
- // Heuristic: every 20 iterations we double the growth factor in case the
- // initial guess was *really* bad !
- //
- if((max_iter - count) % 20 == 0)
- factor *= 2;
- //
- // Now go ahead and move are guess by "factor":
- //
- b = a;
- fb = fa;
- a /= factor;
- fa = f(a);
- --count;
- BOOST_MATH_INSTRUMENT_CODE("a = " << a << " b = " << b << " fa = " << fa << " fb = " << fb << " count = " << count);
- }
- }
- max_iter -= count;
- max_iter += 1;
- std::pair<T, T> r = toms748_solve(
- f,
- (a < 0 ? b : a),
- (a < 0 ? a : b),
- (a < 0 ? fb : fa),
- (a < 0 ? fa : fb),
- tol,
- count,
- pol);
- max_iter += count;
- BOOST_MATH_INSTRUMENT_CODE("max_iter = " << max_iter << " count = " << count);
- return r;
-}
-
-template <class F, class T, class Tol>
-inline std::pair<T, T> bracket_and_solve_root(F f, const T& guess, const T& factor, bool rising, Tol tol, boost::uintmax_t& max_iter)
-{
- return bracket_and_solve_root(f, guess, factor, rising, tol, max_iter, policies::policy<>());
-}
-
-} // namespace tools
-} // namespace math
-} // namespace boost
-
-
-#endif // BOOST_MATH_TOOLS_SOLVE_ROOT_HPP
-
diff --git a/boost/math/tools/tuple.hpp b/boost/math/tools/tuple.hpp
deleted file mode 100644
index e8d6df8..0000000
--- a/boost/math/tools/tuple.hpp
+++ /dev/null
@@ -1,112 +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 <boost/config.hpp>
-
-#include <boost/tr1/detail/config.hpp> // for BOOST_HAS_TR1_TUPLE
-
-#ifndef BOOST_NO_CXX11_HDR_TUPLE
-
-#include <tuple>
-
-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(BOOST_HAS_TR1_TUPLE)
-
-#include <boost/tr1/tuple.hpp>
-
-namespace boost{ namespace math{
-
-using ::std::tr1::tuple;
-
-// [6.1.3.2] Tuple creation functions
-using ::std::tr1::ignore;
-using ::std::tr1::make_tuple;
-using ::std::tr1::tie;
-using ::std::tr1::get;
-
-// [6.1.3.3] Tuple helper classes
-using ::std::tr1::tuple_size;
-using ::std::tr1::tuple_element;
-
-}}
-
-#elif (defined(__BORLANDC__) && (__BORLANDC__ <= 0x600)) || defined(__IBMCPP__)
-
-#include <boost/tuple/tuple.hpp>
-#include <boost/tuple/tuple_comparison.hpp>
-#include <boost/type_traits/integral_constant.hpp>
-
-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 <class T>
-struct tuple_size
- : public ::boost::integral_constant
- < ::std::size_t, ::boost::tuples::length<T>::value>
-{};
-
-template < int I, class T>
-struct tuple_element
-{
- typedef typename boost::tuples::element<I,T>::type type;
-};
-
-#if !BOOST_WORKAROUND(__BORLANDC__, < 0x0582)
-// [6.1.3.4] Element access
-using ::boost::get;
-#endif
-
-} } // namespaces
-
-#else
-
-#include <boost/fusion/include/tuple.hpp>
-#include <boost/fusion/include/std_pair.hpp>
-
-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/boost/math/tools/user.hpp b/boost/math/tools/user.hpp
deleted file mode 100644
index c1bdaf7..0000000
--- a/boost/math/tools/user.hpp
+++ /dev/null
@@ -1,97 +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_TOOLS_USER_HPP
-#define BOOST_MATH_TOOLS_USER_HPP
-
-#ifdef _MSC_VER
-#pragma once
-#endif
-
-// This file can be modified by the user to change the default policies.
-// See "Changing the Policy Defaults" in documentation.
-
-// define this if the platform has no long double functions,
-// or if the long double versions have only double precision:
-//
-// #define BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
-//
-// Performance tuning options:
-//
-// #define BOOST_MATH_POLY_METHOD 3
-// #define BOOST_MATH_RATIONAL_METHOD 3
-//
-// The maximum order of polynomial that will be evaluated
-// via an unrolled specialisation:
-//
-// #define BOOST_MATH_MAX_POLY_ORDER 17
-//
-// decide whether to store constants as integers or reals:
-//
-// #define BOOST_MATH_INT_TABLE_TYPE(RT, IT) IT
-
-//
-// Default policies follow:
-//
-// Domain errors:
-//
-// #define BOOST_MATH_DOMAIN_ERROR_POLICY throw_on_error
-//
-// Pole errors:
-//
-// #define BOOST_MATH_POLE_ERROR_POLICY throw_on_error
-//
-// Overflow Errors:
-//
-// #define BOOST_MATH_OVERFLOW_ERROR_POLICY throw_on_error
-//
-// Internal Evaluation Errors:
-//
-// #define BOOST_MATH_EVALUATION_ERROR_POLICY throw_on_error
-//
-// Underfow:
-//
-// #define BOOST_MATH_UNDERFLOW_ERROR_POLICY ignore_error
-//
-// Denorms:
-//
-// #define BOOST_MATH_DENORM_ERROR_POLICY ignore_error
-//
-// Max digits to use for internal calculations:
-//
-// #define BOOST_MATH_DIGITS10_POLICY 0
-//
-// Promote floats to doubles internally?
-//
-// #define BOOST_MATH_PROMOTE_FLOAT_POLICY true
-//
-// Promote doubles to long double internally:
-//
-// #define BOOST_MATH_PROMOTE_DOUBLE_POLICY true
-//
-// What do discrete quantiles return?
-//
-// #define BOOST_MATH_DISCRETE_QUANTILE_POLICY integer_round_outwards
-//
-// If a function is mathematically undefined
-// (for example the Cauchy distribution has no mean),
-// then do we stop the code from compiling?
-//
-// #define BOOST_MATH_ASSERT_UNDEFINED_POLICY true
-//
-// Maximum series iterstions permitted:
-//
-// #define BOOST_MATH_MAX_SERIES_ITERATION_POLICY 1000000
-//
-// Maximum root finding steps permitted:
-//
-// define BOOST_MATH_MAX_ROOT_ITERATION_POLICY 200
-
-#endif // BOOST_MATH_TOOLS_USER_HPP
-
-
diff --git a/boost/math/tools/workaround.hpp b/boost/math/tools/workaround.hpp
deleted file mode 100644
index 2010681..0000000
--- a/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 <boost/math/tools/config.hpp>
-
-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 <class T>
-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/boost/memory_order.hpp b/boost/memory_order.hpp
deleted file mode 100644
index 4945af6..0000000
--- a/boost/memory_order.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-#ifndef BOOST_MEMORY_ORDER_HPP_INCLUDED
-#define BOOST_MEMORY_ORDER_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-// boost/memory_order.hpp
-//
-// Defines enum boost::memory_order per the C++0x working draft
-//
-// Copyright (c) 2008, 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)
-
-
-namespace boost
-{
-
-//
-// Enum values are chosen so that code that needs to insert
-// a trailing fence for acquire semantics can use a single
-// test such as:
-//
-// if( mo & memory_order_acquire ) { ...fence... }
-//
-// For leading fences one can use:
-//
-// if( mo & memory_order_release ) { ...fence... }
-//
-// Architectures such as Alpha that need a fence on consume
-// can use:
-//
-// if( mo & ( memory_order_acquire | memory_order_consume ) ) { ...fence... }
-//
-
-enum memory_order
-{
- memory_order_relaxed = 0,
- memory_order_acquire = 1,
- memory_order_release = 2,
- memory_order_acq_rel = 3, // acquire | release
- memory_order_seq_cst = 7, // acq_rel | 4
- memory_order_consume = 8
-};
-
-} // namespace boost
-
-#endif // #ifndef BOOST_MEMORY_ORDER_HPP_INCLUDED
diff --git a/boost/mpl/O1_size.hpp b/boost/mpl/O1_size.hpp
deleted file mode 100644
index 8baaa79..0000000
--- a/boost/mpl/O1_size.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-
-#ifndef BOOST_MPL_O1_SIZE_HPP_INCLUDED
-#define BOOST_MPL_O1_SIZE_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: O1_size.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/O1_size_fwd.hpp>
-#include <boost/mpl/sequence_tag.hpp>
-#include <boost/mpl/aux_/O1_size_impl.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-namespace boost { namespace mpl {
-
-// returns sequence size if it's an O(1) operation; otherwise returns -1
-template<
- typename BOOST_MPL_AUX_NA_PARAM(Sequence)
- >
-struct O1_size
- : O1_size_impl< typename sequence_tag<Sequence>::type >
- ::template apply< Sequence >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(1, O1_size, (Sequence))
-};
-
-BOOST_MPL_AUX_NA_SPEC(1, O1_size)
-
-}}
-
-#endif // BOOST_MPL_O1_SIZE_HPP_INCLUDED
diff --git a/boost/mpl/O1_size_fwd.hpp b/boost/mpl/O1_size_fwd.hpp
deleted file mode 100644
index d975382..0000000
--- a/boost/mpl/O1_size_fwd.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#ifndef BOOST_MPL_O1_SIZE_FWD_HPP_INCLUDED
-#define BOOST_MPL_O1_SIZE_FWD_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: O1_size_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-namespace boost { namespace mpl {
-
-template< typename Tag > struct O1_size_impl;
-template< typename Sequence > struct O1_size;
-
-}}
-
-#endif // BOOST_MPL_O1_SIZE_FWD_HPP_INCLUDED
diff --git a/boost/mpl/advance.hpp b/boost/mpl/advance.hpp
deleted file mode 100644
index d811a80..0000000
--- a/boost/mpl/advance.hpp
+++ /dev/null
@@ -1,76 +0,0 @@
-
-#ifndef BOOST_MPL_ADVANCE_HPP_INCLUDED
-#define BOOST_MPL_ADVANCE_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: advance.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/advance_fwd.hpp>
-#include <boost/mpl/less.hpp>
-#include <boost/mpl/negate.hpp>
-#include <boost/mpl/long.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/tag.hpp>
-#include <boost/mpl/apply_wrap.hpp>
-#include <boost/mpl/aux_/advance_forward.hpp>
-#include <boost/mpl/aux_/advance_backward.hpp>
-#include <boost/mpl/aux_/value_wknd.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/nttp_decl.hpp>
-
-namespace boost { namespace mpl {
-
-// default implementation for forward/bidirectional iterators
-template< typename Tag >
-struct advance_impl
-{
- template< typename Iterator, typename N > struct apply
- {
- typedef typename less< N,long_<0> >::type backward_;
- typedef typename if_< backward_, negate<N>, N >::type offset_;
-
- typedef typename if_<
- backward_
- , aux::advance_backward< BOOST_MPL_AUX_VALUE_WKND(offset_)::value >
- , aux::advance_forward< BOOST_MPL_AUX_VALUE_WKND(offset_)::value >
- >::type f_;
-
- typedef typename apply_wrap1<f_,Iterator>::type type;
- };
-};
-
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(Iterator)
- , typename BOOST_MPL_AUX_NA_PARAM(N)
- >
-struct advance
- : advance_impl< typename tag<Iterator>::type >
- ::template apply<Iterator,N>
-{
-};
-
-template<
- typename Iterator
- , BOOST_MPL_AUX_NTTP_DECL(long, N)
- >
-struct advance_c
- : advance_impl< typename tag<Iterator>::type >
- ::template apply<Iterator,long_<N> >
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, advance)
-
-}}
-
-#endif // BOOST_MPL_ADVANCE_HPP_INCLUDED
diff --git a/boost/mpl/advance_fwd.hpp b/boost/mpl/advance_fwd.hpp
deleted file mode 100644
index 08ba5fc..0000000
--- a/boost/mpl/advance_fwd.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-
-#ifndef BOOST_MPL_ADVANCE_FWD_HPP_INCLUDED
-#define BOOST_MPL_ADVANCE_FWD_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: advance_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/common_name_wknd.hpp>
-
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_COMMON_NAME_WKND(advance)
-
-template< typename Tag > struct advance_impl;
-template< typename Iterator, typename N > struct advance;
-
-}}
-
-#endif // BOOST_MPL_ADVANCE_FWD_HPP_INCLUDED
diff --git a/boost/mpl/always.hpp b/boost/mpl/always.hpp
deleted file mode 100644
index 5094b3e..0000000
--- a/boost/mpl/always.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-
-#ifndef BOOST_MPL_ALWAYS_HPP_INCLUDED
-#define BOOST_MPL_ALWAYS_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-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: always.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/preprocessor/def_params_tail.hpp>
-#include <boost/mpl/aux_/na.hpp>
-#include <boost/mpl/aux_/arity_spec.hpp>
-
-namespace boost { namespace mpl {
-
-template< typename Value > struct always
-{
- template<
- typename T
- BOOST_MPL_PP_NESTED_DEF_PARAMS_TAIL(1, typename T, na)
- >
- struct apply
- {
- typedef Value type;
- };
-};
-
-BOOST_MPL_AUX_ARITY_SPEC(1, always)
-
-}}
-
-#endif // BOOST_MPL_ALWAYS_HPP_INCLUDED
diff --git a/boost/mpl/and.hpp b/boost/mpl/and.hpp
deleted file mode 100644
index da257c8..0000000
--- a/boost/mpl/and.hpp
+++ /dev/null
@@ -1,60 +0,0 @@
-
-#ifndef BOOST_MPL_AND_HPP_INCLUDED
-#define BOOST_MPL_AND_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: and.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-# include <boost/mpl/bool.hpp>
-# include <boost/mpl/aux_/nested_type_wknd.hpp>
-# include <boost/mpl/aux_/na_spec.hpp>
-# include <boost/mpl/aux_/lambda_support.hpp>
-
-// agurt, 19/may/04: workaround a conflict with <iso646.h> header's
-// 'or' and 'and' macros, see http://tinyurl.com/3et69; 'defined(and)'
-// has to be checked in a separate condition, otherwise GCC complains
-// about 'and' being an alternative token
-#if defined(_MSC_VER)
-#ifndef __GCCXML__
-#if defined(and)
-# pragma push_macro("and")
-# undef and
-# define and(x)
-#endif
-#endif
-#endif
-
-# define BOOST_MPL_PREPROCESSED_HEADER and.hpp
-# include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#if defined(_MSC_VER)
-#ifndef __GCCXML__
-#if defined(and)
-# pragma pop_macro("and")
-#endif
-#endif
-#endif
-
-#else
-
-# define AUX778076_OP_NAME and_
-# define AUX778076_OP_VALUE1 false
-# define AUX778076_OP_VALUE2 true
-# include <boost/mpl/aux_/logical_op.hpp>
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_AND_HPP_INCLUDED
diff --git a/boost/mpl/apply.hpp b/boost/mpl/apply.hpp
deleted file mode 100644
index b0455bc..0000000
--- a/boost/mpl/apply.hpp
+++ /dev/null
@@ -1,229 +0,0 @@
-
-#if !defined(BOOST_PP_IS_ITERATING)
-
-///// header body
-
-#ifndef BOOST_MPL_APPLY_HPP_INCLUDED
-#define BOOST_MPL_APPLY_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: apply.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-# include <boost/mpl/apply_fwd.hpp>
-# include <boost/mpl/apply_wrap.hpp>
-# include <boost/mpl/placeholders.hpp>
-# include <boost/mpl/lambda.hpp>
-# include <boost/mpl/aux_/na.hpp>
-# include <boost/mpl/aux_/lambda_support.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-# define BOOST_MPL_PREPROCESSED_HEADER apply.hpp
-# include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-# include <boost/mpl/limits/arity.hpp>
-# include <boost/mpl/aux_/preprocessor/params.hpp>
-# include <boost/mpl/aux_/preprocessor/default_params.hpp>
-# include <boost/mpl/aux_/preprocessor/partial_spec_params.hpp>
-# include <boost/mpl/aux_/preprocessor/enum.hpp>
-# include <boost/mpl/aux_/config/lambda.hpp>
-# include <boost/mpl/aux_/config/dtp.hpp>
-# include <boost/mpl/aux_/nttp_decl.hpp>
-# include <boost/mpl/aux_/config/eti.hpp>
-# include <boost/mpl/aux_/config/msvc.hpp>
-# include <boost/mpl/aux_/config/workaround.hpp>
-
-# include <boost/preprocessor/comma_if.hpp>
-# include <boost/preprocessor/inc.hpp>
-# include <boost/preprocessor/iterate.hpp>
-# include <boost/preprocessor/cat.hpp>
-
-namespace boost { namespace mpl {
-
-// local macros, #undef-ined at the end of the header
-# define AUX778076_APPLY_PARAMS(param) \
- BOOST_MPL_PP_PARAMS( \
- BOOST_MPL_LIMIT_METAFUNCTION_ARITY \
- , param \
- ) \
- /**/
-
-# define AUX778076_APPLY_DEF_PARAMS(param, value) \
- BOOST_MPL_PP_DEFAULT_PARAMS( \
- BOOST_MPL_LIMIT_METAFUNCTION_ARITY \
- , param \
- , value \
- ) \
- /**/
-
-# define AUX778076_APPLY_N_PARAMS(n, param) \
- BOOST_MPL_PP_PARAMS(n, param) \
- /**/
-
-# define AUX778076_APPLY_N_COMMA_PARAMS(n, param) \
- BOOST_PP_COMMA_IF(n) \
- BOOST_MPL_PP_PARAMS(n, param) \
- /**/
-
-# define AUX778076_APPLY_N_PARTIAL_SPEC_PARAMS(n, param, def) \
- BOOST_PP_COMMA_IF(n) \
- BOOST_MPL_PP_PARTIAL_SPEC_PARAMS(n, param, def) \
- /**/
-
-# define AUX778076_APPLY_N_SPEC_PARAMS(n, param) \
- BOOST_MPL_PP_ENUM(BOOST_PP_INC(n), param) \
- /**/
-
-
-#define BOOST_PP_ITERATION_PARAMS_1 \
- (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, <boost/mpl/apply.hpp>))
-#include BOOST_PP_ITERATE()
-
-# if !defined(BOOST_MPL_CFG_NO_APPLY_TEMPLATE)
-// real C++ version is already taken care of
-# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-namespace aux {
-// apply_count_args
-#define AUX778076_COUNT_ARGS_PREFIX apply
-#define AUX778076_COUNT_ARGS_DEFAULT na
-#define AUX778076_COUNT_ARGS_ARITY BOOST_MPL_LIMIT_METAFUNCTION_ARITY
-#include <boost/mpl/aux_/count_args.hpp>
-}
-
-
-template<
- typename F, AUX778076_APPLY_DEF_PARAMS(typename T, na)
- >
-struct apply
- : aux::apply_chooser<
- aux::apply_count_args< AUX778076_APPLY_PARAMS(T) >::value
- >::template result_< F, AUX778076_APPLY_PARAMS(T) >::type
-{
-};
-
-# endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-# endif // BOOST_MPL_CFG_NO_APPLY_TEMPLATE
-
-# undef AUX778076_APPLY_N_SPEC_PARAMS
-# undef AUX778076_APPLY_N_PARTIAL_SPEC_PARAMS
-# undef AUX778076_APPLY_N_COMMA_PARAMS
-# undef AUX778076_APPLY_N_PARAMS
-# undef AUX778076_APPLY_DEF_PARAMS
-# undef AUX778076_APPLY_PARAMS
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_APPLY_HPP_INCLUDED
-
-///// iteration, depth == 1
-
-// For gcc 4.4 compatability, we must include the
-// BOOST_PP_ITERATION_DEPTH test inside an #else clause.
-#else // BOOST_PP_IS_ITERATING
-#if BOOST_PP_ITERATION_DEPTH() == 1
-
-# define i_ BOOST_PP_FRAME_ITERATION(1)
-
-template<
- typename F AUX778076_APPLY_N_COMMA_PARAMS(i_, typename T)
- >
-struct BOOST_PP_CAT(apply,i_)
-#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
- : BOOST_PP_CAT(apply_wrap,i_)<
- typename lambda<F>::type
- AUX778076_APPLY_N_COMMA_PARAMS(i_, T)
- >
-{
-#else
-{
- typedef typename BOOST_PP_CAT(apply_wrap,i_)<
- typename lambda<F>::type
- AUX778076_APPLY_N_COMMA_PARAMS(i_, T)
- >::type type;
-#endif
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- BOOST_PP_INC(i_)
- , BOOST_PP_CAT(apply,i_)
- , (F AUX778076_APPLY_N_COMMA_PARAMS(i_,T))
- )
-};
-
-
-#if defined(BOOST_MPL_CFG_MSVC_ETI_BUG)
-/// workaround for ETI bug
-template<>
-struct BOOST_PP_CAT(apply,i_)<AUX778076_APPLY_N_SPEC_PARAMS(i_, int)>
-{
- typedef int type;
-};
-#endif
-
-# if !defined(BOOST_MPL_CFG_NO_APPLY_TEMPLATE)
-# if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-#if i_ == BOOST_MPL_LIMIT_METAFUNCTION_ARITY
-/// primary template (not a specialization!)
-template<
- typename F AUX778076_APPLY_N_COMMA_PARAMS(i_, typename T)
- >
-struct apply
- : BOOST_PP_CAT(apply,i_)< F AUX778076_APPLY_N_COMMA_PARAMS(i_, T) >
-{
-};
-#else
-template<
- typename F AUX778076_APPLY_N_COMMA_PARAMS(i_, typename T)
- >
-struct apply< F AUX778076_APPLY_N_PARTIAL_SPEC_PARAMS(i_, T, na) >
- : BOOST_PP_CAT(apply,i_)< F AUX778076_APPLY_N_COMMA_PARAMS(i_, T) >
-{
-};
-#endif
-
-# else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-#if !defined(BOOST_MPL_CFG_NO_APPLY_TEMPLATE)
-namespace aux {
-
-template<>
-struct apply_chooser<i_>
-{
- template<
- typename F, AUX778076_APPLY_PARAMS(typename T)
- >
- struct result_
- {
- typedef BOOST_PP_CAT(apply,i_)<
- F AUX778076_APPLY_N_COMMA_PARAMS(i_, T)
- > type;
- };
-};
-
-} // namespace aux
-#endif
-
-# endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-# endif // BOOST_MPL_CFG_NO_APPLY_TEMPLATE
-
-# undef i_
-
-#endif // BOOST_PP_ITERATION_DEPTH()
-#endif // BOOST_PP_IS_ITERATING
diff --git a/boost/mpl/apply_fwd.hpp b/boost/mpl/apply_fwd.hpp
deleted file mode 100644
index 8cbdfaf..0000000
--- a/boost/mpl/apply_fwd.hpp
+++ /dev/null
@@ -1,107 +0,0 @@
-
-#if !defined(BOOST_PP_IS_ITERATING)
-
-///// header body
-
-#ifndef BOOST_MPL_APPLY_FWD_HPP_INCLUDED
-#define BOOST_MPL_APPLY_FWD_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: apply_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-# include <boost/mpl/aux_/na.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-# define BOOST_MPL_PREPROCESSED_HEADER apply_fwd.hpp
-# include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-# include <boost/mpl/limits/arity.hpp>
-# include <boost/mpl/aux_/preprocessor/params.hpp>
-# include <boost/mpl/aux_/preprocessor/default_params.hpp>
-# include <boost/mpl/aux_/config/ctps.hpp>
-# include <boost/mpl/aux_/nttp_decl.hpp>
-
-# include <boost/preprocessor/comma_if.hpp>
-# include <boost/preprocessor/iterate.hpp>
-# include <boost/preprocessor/cat.hpp>
-
-// agurt, 15/jan/02: top-level 'apply' template gives an ICE on MSVC
-// (for known reasons)
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-# define BOOST_MPL_CFG_NO_APPLY_TEMPLATE
-#endif
-
-namespace boost { namespace mpl {
-
-// local macro, #undef-ined at the end of the header
-# define AUX778076_APPLY_DEF_PARAMS(param, value) \
- BOOST_MPL_PP_DEFAULT_PARAMS( \
- BOOST_MPL_LIMIT_METAFUNCTION_ARITY \
- , param \
- , value \
- ) \
- /**/
-
-# define AUX778076_APPLY_N_COMMA_PARAMS(n, param) \
- BOOST_PP_COMMA_IF(n) \
- BOOST_MPL_PP_PARAMS(n, param) \
- /**/
-
-# if !defined(BOOST_MPL_CFG_NO_APPLY_TEMPLATE)
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-// forward declaration
-template<
- typename F, AUX778076_APPLY_DEF_PARAMS(typename T, na)
- >
-struct apply;
-#else
-namespace aux {
-template< BOOST_AUX_NTTP_DECL(int, arity_) > struct apply_chooser;
-}
-#endif
-
-# endif // BOOST_MPL_CFG_NO_APPLY_TEMPLATE
-
-#define BOOST_PP_ITERATION_PARAMS_1 \
- (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, <boost/mpl/apply_fwd.hpp>))
-#include BOOST_PP_ITERATE()
-
-
-# undef AUX778076_APPLY_N_COMMA_PARAMS
-# undef AUX778076_APPLY_DEF_PARAMS
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_APPLY_FWD_HPP_INCLUDED
-
-///// iteration
-
-#else
-#define i_ BOOST_PP_FRAME_ITERATION(1)
-
-template<
- typename F AUX778076_APPLY_N_COMMA_PARAMS(i_, typename T)
- >
-struct BOOST_PP_CAT(apply,i_);
-
-#undef i_
-#endif // BOOST_PP_IS_ITERATING
diff --git a/boost/mpl/apply_wrap.hpp b/boost/mpl/apply_wrap.hpp
deleted file mode 100644
index 5c5c6df..0000000
--- a/boost/mpl/apply_wrap.hpp
+++ /dev/null
@@ -1,234 +0,0 @@
-
-#if !defined(BOOST_PP_IS_ITERATING)
-
-///// header body
-
-#ifndef BOOST_MPL_APPLY_WRAP_HPP_INCLUDED
-#define BOOST_MPL_APPLY_WRAP_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-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/mpl for documentation.
-
-// $Id: apply_wrap.hpp 49272 2008-10-11 06:50:46Z agurtovoy $
-// $Date: 2008-10-10 23:50:46 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49272 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-# include <boost/mpl/aux_/arity.hpp>
-# include <boost/mpl/aux_/has_apply.hpp>
-# include <boost/mpl/aux_/na.hpp>
-# include <boost/mpl/aux_/msvc_never_true.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-# define BOOST_MPL_PREPROCESSED_HEADER apply_wrap.hpp
-# include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-# include <boost/mpl/limits/arity.hpp>
-# include <boost/mpl/aux_/preprocessor/params.hpp>
-# include <boost/mpl/aux_/preprocessor/enum.hpp>
-# include <boost/mpl/aux_/preprocessor/add.hpp>
-# include <boost/mpl/aux_/config/bcc.hpp>
-# include <boost/mpl/aux_/config/ctps.hpp>
-# include <boost/mpl/aux_/config/dtp.hpp>
-# include <boost/mpl/aux_/config/eti.hpp>
-# include <boost/mpl/aux_/config/msvc.hpp>
-# include <boost/mpl/aux_/config/workaround.hpp>
-
-# include <boost/preprocessor/comma_if.hpp>
-# include <boost/preprocessor/logical/and.hpp>
-# include <boost/preprocessor/inc.hpp>
-# include <boost/preprocessor/iterate.hpp>
-
-
-namespace boost { namespace mpl {
-
-// local macros, #undef-ined at the end of the header
-# define AUX778076_APPLY_WRAP_PARAMS(n, param) \
- BOOST_MPL_PP_PARAMS(n, param) \
- /**/
-
-# define AUX778076_APPLY_WRAP_SPEC_PARAMS(n, param) \
- BOOST_MPL_PP_ENUM(BOOST_PP_INC(n), param) \
- /**/
-
-
-#define BOOST_PP_ITERATION_PARAMS_1 \
- (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, <boost/mpl/apply_wrap.hpp>))
-#include BOOST_PP_ITERATE()
-
-
-# undef AUX778076_APPLY_WRAP_SPEC_PARAMS
-# undef AUX778076_APPLY_WRAP_PARAMS
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_APPLY_WRAP_HPP_INCLUDED
-
-///// iteration, depth == 1
-
-// For gcc 4.4 compatability, we must include the
-// BOOST_PP_ITERATION_DEPTH test inside an #else clause.
-#else // BOOST_PP_IS_ITERATING
-#if BOOST_PP_ITERATION_DEPTH() == 1
-
-# define i_ BOOST_PP_FRAME_ITERATION(1)
-
-# if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-// MSVC version
-
-#define AUX778076_MSVC_DTW_NAME BOOST_PP_CAT(msvc_apply,i_)
-#define AUX778076_MSVC_DTW_ORIGINAL_NAME apply
-#define AUX778076_MSVC_DTW_ARITY i_
-#include <boost/mpl/aux_/msvc_dtw.hpp>
-
-template<
- typename F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T)
- >
-struct BOOST_PP_CAT(apply_wrap,i_)
-{
- // Metafunction forwarding confuses vc6
- typedef typename BOOST_PP_CAT(msvc_apply,i_)<F>::template result_<
- AUX778076_APPLY_WRAP_PARAMS(i_, T)
- >::type type;
-};
-
-# elif defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
-// MWCW/Borland version
-
-template<
- int N, typename F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T)
- >
-struct BOOST_PP_CAT(apply_wrap_impl,i_);
-
-#define BOOST_PP_ITERATION_PARAMS_2 \
- (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY - i_, <boost/mpl/apply_wrap.hpp>))
-#include BOOST_PP_ITERATE()
-
-template<
- typename F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T)
- >
-struct BOOST_PP_CAT(apply_wrap,i_)
- : BOOST_PP_CAT(apply_wrap_impl,i_)<
- ::boost::mpl::aux::arity<F,i_>::value
- , F
- BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, T)
- >::type
-{
-};
-
-# else
-// ISO98 C++, with minor concession to vc7
-
-template<
- typename F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T)
-#if i_ == 0
- , typename has_apply_ = typename aux::has_apply<F>::type
-#endif
- >
-struct BOOST_PP_CAT(apply_wrap,i_)
-// metafunction forwarding confuses MSVC 7.0
-#if !BOOST_WORKAROUND(BOOST_MSVC, == 1300)
- : F::template apply< AUX778076_APPLY_WRAP_PARAMS(i_, T) >
-{
-#else
-{
- typedef typename F::template apply<
- AUX778076_APPLY_WRAP_PARAMS(i_, T)
- >::type type;
-#endif
-};
-
-#if i_ == 0 && !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-template< typename F >
-struct BOOST_PP_CAT(apply_wrap,i_)<F,true_>
- : F::apply
-{
-};
-#endif
-
-# endif // workarounds
-
-#if defined(BOOST_MPL_CFG_MSVC_ETI_BUG)
-/// workaround for ETI bug
-template<>
-struct BOOST_PP_CAT(apply_wrap,i_)<AUX778076_APPLY_WRAP_SPEC_PARAMS(i_, int)>
-{
- typedef int type;
-};
-#endif
-
-# undef i_
-
-///// iteration, depth == 2
-
-#elif BOOST_PP_ITERATION_DEPTH() == 2
-
-# define j_ BOOST_PP_FRAME_ITERATION(2)
-
-#if i_ == 0 && j_ == 0 \
- && defined(BOOST_MPL_CFG_BCC590_WORKAROUNDS) \
- && !defined(BOOST_MPL_CFG_NO_HAS_APPLY)
-
-template< typename F, bool F_has_apply >
-struct apply_wrap_impl0_bcb {
- typedef typename F::template apply< na > type;
-};
-
-template< typename F >
-struct apply_wrap_impl0_bcb< F, true > {
- typedef typename F::apply type;
-};
-
-template<
- typename F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T)
- >
-struct BOOST_PP_CAT(apply_wrap_impl,i_)<
- BOOST_MPL_PP_ADD(i_, j_)
- , F
- BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, T)
- >
-{
- typedef apply_wrap_impl0_bcb< F, aux::has_apply< F >::value >::type type;
-};
-#else
-
-template<
- typename F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T)
- >
-struct BOOST_PP_CAT(apply_wrap_impl,i_)<
- BOOST_MPL_PP_ADD(i_, j_)
- , F
- BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, T)
- >
-{
- typedef typename F::template apply<
- AUX778076_APPLY_WRAP_PARAMS(i_, T)
-#if i_ == 0 && j_ == 0
-/// since the defaults are "lost", we have to pass *something* even for nullary
-/// metafunction classes
- na
-#else
- BOOST_PP_COMMA_IF(BOOST_PP_AND(i_, j_)) BOOST_MPL_PP_ENUM(j_, na)
-#endif
- > type;
-};
-
-#endif
-
-# undef j_
-
-#endif // BOOST_PP_ITERATION_DEPTH()
-#endif // BOOST_PP_IS_ITERATING
diff --git a/boost/mpl/arg.hpp b/boost/mpl/arg.hpp
deleted file mode 100644
index c323a1a..0000000
--- a/boost/mpl/arg.hpp
+++ /dev/null
@@ -1,131 +0,0 @@
-
-#if !defined(BOOST_PP_IS_ITERATING)
-
-///// header body
-
-#ifndef BOOST_MPL_ARG_HPP_INCLUDED
-#define BOOST_MPL_ARG_HPP_INCLUDED
-
-// Copyright Peter Dimov 2001-2002
-// Copyright Aleksey Gurtovoy 2001-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: arg.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-# include <boost/mpl/arg_fwd.hpp>
-# include <boost/mpl/aux_/na.hpp>
-# include <boost/mpl/aux_/na_assert.hpp>
-# include <boost/mpl/aux_/arity_spec.hpp>
-# include <boost/mpl/aux_/arg_typedef.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/static_constant.hpp>
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-# define BOOST_MPL_PREPROCESSED_HEADER arg.hpp
-# include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-# include <boost/mpl/limits/arity.hpp>
-# include <boost/mpl/aux_/preprocessor/default_params.hpp>
-# include <boost/mpl/aux_/preprocessor/params.hpp>
-# include <boost/mpl/aux_/config/lambda.hpp>
-# include <boost/mpl/aux_/config/dtp.hpp>
-# include <boost/mpl/aux_/nttp_decl.hpp>
-
-# include <boost/preprocessor/iterate.hpp>
-# include <boost/preprocessor/inc.hpp>
-# include <boost/preprocessor/cat.hpp>
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-
-// local macro, #undef-ined at the end of the header
-#if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
-# define AUX778076_ARG_N_DEFAULT_PARAMS(param,value) \
- BOOST_MPL_PP_DEFAULT_PARAMS( \
- BOOST_MPL_LIMIT_METAFUNCTION_ARITY \
- , param \
- , value \
- ) \
- /**/
-#else
-# define AUX778076_ARG_N_DEFAULT_PARAMS(param,value) \
- BOOST_MPL_PP_PARAMS( \
- BOOST_MPL_LIMIT_METAFUNCTION_ARITY \
- , param \
- ) \
- /**/
-#endif
-
-#define BOOST_PP_ITERATION_PARAMS_1 \
- (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, <boost/mpl/arg.hpp>))
-#include BOOST_PP_ITERATE()
-
-
-# undef AUX778076_ARG_N_DEFAULT_PARAMS
-
-BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int,arg)
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_ARG_HPP_INCLUDED
-
-///// iteration
-
-#else
-#define i_ BOOST_PP_FRAME_ITERATION(1)
-
-#if i_ > 0
-
-template<> struct arg<i_>
-{
- BOOST_STATIC_CONSTANT(int, value = i_);
- typedef arg<BOOST_PP_INC(i_)> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- AUX778076_ARG_N_DEFAULT_PARAMS(typename U, na)
- >
- struct apply
- {
- typedef BOOST_PP_CAT(U,i_) type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-#else
-
-template<> struct arg<-1>
-{
- BOOST_STATIC_CONSTANT(int, value = -1);
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- AUX778076_ARG_N_DEFAULT_PARAMS(typename U, na)
- >
- struct apply
- {
- typedef U1 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-#endif // i_ > 0
-
-#undef i_
-#endif // BOOST_PP_IS_ITERATING
diff --git a/boost/mpl/arg_fwd.hpp b/boost/mpl/arg_fwd.hpp
deleted file mode 100644
index f79e056..0000000
--- a/boost/mpl/arg_fwd.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-
-#ifndef BOOST_MPL_ARG_FWD_HPP_INCLUDED
-#define BOOST_MPL_ARG_FWD_HPP_INCLUDED
-
-// Copyright Peter Dimov 2001-2002
-// Copyright Aleksey Gurtovoy 2001-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: arg_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/adl_barrier.hpp>
-#include <boost/mpl/aux_/nttp_decl.hpp>
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-
-template< BOOST_MPL_AUX_NTTP_DECL(int, N) > struct arg;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-BOOST_MPL_AUX_ADL_BARRIER_DECL(arg)
-
-#endif // BOOST_MPL_ARG_FWD_HPP_INCLUDED
diff --git a/boost/mpl/assert.hpp b/boost/mpl/assert.hpp
deleted file mode 100644
index 7a5818e..0000000
--- a/boost/mpl/assert.hpp
+++ /dev/null
@@ -1,438 +0,0 @@
-
-#ifndef BOOST_MPL_ASSERT_HPP_INCLUDED
-#define BOOST_MPL_ASSERT_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 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)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: assert.hpp 86514 2013-10-29 13:15:03Z bemandawes $
-// $Date: 2013-10-29 06:15:03 -0700 (Tue, 29 Oct 2013) $
-// $Revision: 86514 $
-
-#include <boost/mpl/not.hpp>
-#include <boost/mpl/aux_/value_wknd.hpp>
-#include <boost/mpl/aux_/nested_type_wknd.hpp>
-#include <boost/mpl/aux_/yes_no.hpp>
-#include <boost/mpl/aux_/na.hpp>
-#include <boost/mpl/aux_/adl_barrier.hpp>
-
-#include <boost/mpl/aux_/config/nttp.hpp>
-#include <boost/mpl/aux_/config/dtp.hpp>
-#include <boost/mpl/aux_/config/gcc.hpp>
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/static_constant.hpp>
-#include <boost/mpl/aux_/config/pp_counter.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#include <boost/preprocessor/cat.hpp>
-
-#include <boost/config.hpp> // make sure 'size_t' is placed into 'std'
-#include <cstddef>
-
-#if BOOST_WORKAROUND(BOOST_MSVC, == 1700)
-#include <boost/mpl/if.hpp>
-#endif
-
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \
- || (BOOST_MPL_CFG_GCC != 0) \
- || BOOST_WORKAROUND(__IBMCPP__, <= 600)
-# define BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES
-#endif
-
-#if BOOST_WORKAROUND(__MWERKS__, < 0x3202) \
- || BOOST_WORKAROUND(__EDG_VERSION__, <= 238) \
- || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \
- || BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
-# define BOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER
-#endif
-
-// agurt, 10/nov/06: use enums for Borland (which cannot cope with static constants)
-// and GCC (which issues "unused variable" warnings when static constants are used
-// at a function scope)
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \
- || (BOOST_MPL_CFG_GCC != 0)
-# define BOOST_MPL_AUX_ASSERT_CONSTANT(T, expr) enum { expr }
-#else
-# define BOOST_MPL_AUX_ASSERT_CONSTANT(T, expr) BOOST_STATIC_CONSTANT(T, expr)
-#endif
-
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-
-struct failed {};
-
-// agurt, 24/aug/04: MSVC 7.1 workaround here and below: return/accept
-// 'assert<false>' by reference; can't apply it unconditionally -- apparently it
-// degrades the quality of GCC diagnostics
-#if BOOST_WORKAROUND(BOOST_MSVC, == 1310)
-# define AUX778076_ASSERT_ARG(x) x&
-#else
-# define AUX778076_ASSERT_ARG(x) x
-#endif
-
-template< bool C > struct assert { typedef void* type; };
-template<> struct assert<false> { typedef AUX778076_ASSERT_ARG(assert) type; };
-
-template< bool C >
-int assertion_failed( typename assert<C>::type );
-
-template< bool C >
-struct assertion
-{
- static int failed( assert<false> );
-};
-
-template<>
-struct assertion<true>
-{
- static int failed( void* );
-};
-
-struct assert_
-{
-#if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
- template< typename T1, typename T2 = na, typename T3 = na, typename T4 = na > struct types {};
-#endif
- static assert_ const arg;
- enum relations { equal = 1, not_equal, greater, greater_equal, less, less_equal };
-};
-
-
-#if !defined(BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES)
-
-bool operator==( failed, failed );
-bool operator!=( failed, failed );
-bool operator>( failed, failed );
-bool operator>=( failed, failed );
-bool operator<( failed, failed );
-bool operator<=( failed, failed );
-
-#if defined(__EDG_VERSION__)
-template< bool (*)(failed, failed), long x, long y > struct assert_relation {};
-# define BOOST_MPL_AUX_ASSERT_RELATION(x, y, r) assert_relation<r,x,y>
-#else
-template< BOOST_MPL_AUX_NTTP_DECL(long, x), BOOST_MPL_AUX_NTTP_DECL(long, y), bool (*)(failed, failed) >
-struct assert_relation {};
-# define BOOST_MPL_AUX_ASSERT_RELATION(x, y, r) assert_relation<x,y,r>
-#endif
-
-#else // BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES
-
-boost::mpl::aux::weighted_tag<1>::type operator==( assert_, assert_ );
-boost::mpl::aux::weighted_tag<2>::type operator!=( assert_, assert_ );
-boost::mpl::aux::weighted_tag<3>::type operator>( assert_, assert_ );
-boost::mpl::aux::weighted_tag<4>::type operator>=( assert_, assert_ );
-boost::mpl::aux::weighted_tag<5>::type operator<( assert_, assert_ );
-boost::mpl::aux::weighted_tag<6>::type operator<=( assert_, assert_ );
-
-template< assert_::relations r, long x, long y > struct assert_relation {};
-
-#endif
-
-#if BOOST_WORKAROUND(BOOST_MSVC, == 1700)
-
-template<class Pred>
-struct extract_assert_pred;
-
-template<class Pred>
-struct extract_assert_pred<void(Pred)> { typedef Pred type; };
-
-template<class Pred>
-struct eval_assert {
- typedef typename extract_assert_pred<Pred>::type P;
- typedef typename P::type p_type;
- typedef typename ::boost::mpl::if_c<p_type::value,
- AUX778076_ASSERT_ARG(assert<false>),
- failed ************ P::************
- >::type type;
-};
-
-template<class Pred>
-struct eval_assert_not {
- typedef typename extract_assert_pred<Pred>::type P;
- typedef typename P::type p_type;
- typedef typename ::boost::mpl::if_c<!p_type::value,
- AUX778076_ASSERT_ARG(assert<false>),
- failed ************ ::boost::mpl::not_<P>::************
- >::type type;
-};
-
-template< typename T >
-T make_assert_arg();
-
-#elif !defined(BOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER)
-
-template< bool > struct assert_arg_pred_impl { typedef int type; };
-template<> struct assert_arg_pred_impl<true> { typedef void* type; };
-
-template< typename P > struct assert_arg_pred
-{
- typedef typename P::type p_type;
- typedef typename assert_arg_pred_impl< p_type::value >::type type;
-};
-
-template< typename P > struct assert_arg_pred_not
-{
- typedef typename P::type p_type;
- BOOST_MPL_AUX_ASSERT_CONSTANT( bool, p = !p_type::value );
- typedef typename assert_arg_pred_impl<p>::type type;
-};
-
-template< typename Pred >
-failed ************ (Pred::************
- assert_arg( void (*)(Pred), typename assert_arg_pred<Pred>::type )
- );
-
-template< typename Pred >
-failed ************ (boost::mpl::not_<Pred>::************
- assert_not_arg( void (*)(Pred), typename assert_arg_pred_not<Pred>::type )
- );
-
-template< typename Pred >
-AUX778076_ASSERT_ARG(assert<false>)
-assert_arg( void (*)(Pred), typename assert_arg_pred_not<Pred>::type );
-
-template< typename Pred >
-AUX778076_ASSERT_ARG(assert<false>)
-assert_not_arg( void (*)(Pred), typename assert_arg_pred<Pred>::type );
-
-
-#else // BOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER
-
-template< bool c, typename Pred > struct assert_arg_type_impl
-{
- typedef failed ************ Pred::* mwcw83_wknd;
- typedef mwcw83_wknd ************* type;
-};
-
-template< typename Pred > struct assert_arg_type_impl<true,Pred>
-{
- typedef AUX778076_ASSERT_ARG(assert<false>) type;
-};
-
-template< typename Pred > struct assert_arg_type
- : assert_arg_type_impl< BOOST_MPL_AUX_VALUE_WKND(BOOST_MPL_AUX_NESTED_TYPE_WKND(Pred))::value, Pred >
-{
-};
-
-template< typename Pred >
-typename assert_arg_type<Pred>::type
-assert_arg(void (*)(Pred), int);
-
-template< typename Pred >
-typename assert_arg_type< boost::mpl::not_<Pred> >::type
-assert_not_arg(void (*)(Pred), int);
-
-# if !defined(BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES)
-template< long x, long y, bool (*r)(failed, failed) >
-typename assert_arg_type_impl< false,BOOST_MPL_AUX_ASSERT_RELATION(x,y,r) >::type
-assert_rel_arg( BOOST_MPL_AUX_ASSERT_RELATION(x,y,r) );
-# else
-template< assert_::relations r, long x, long y >
-typename assert_arg_type_impl< false,assert_relation<r,x,y> >::type
-assert_rel_arg( assert_relation<r,x,y> );
-# endif
-
-#endif // BOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER
-
-#undef AUX778076_ASSERT_ARG
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-
-#if BOOST_WORKAROUND(BOOST_MSVC, == 1700)
-
-// BOOST_MPL_ASSERT((pred<x,...>))
-
-#define BOOST_MPL_ASSERT(pred) \
-BOOST_MPL_AUX_ASSERT_CONSTANT( \
- std::size_t \
- , BOOST_PP_CAT(mpl_assertion_in_line_,BOOST_MPL_AUX_PP_COUNTER()) = sizeof( \
- boost::mpl::assertion_failed<false>( \
- boost::mpl::make_assert_arg< \
- typename boost::mpl::eval_assert<void pred>::type \
- >() \
- ) \
- ) \
- ) \
-/**/
-
-// BOOST_MPL_ASSERT_NOT((pred<x,...>))
-
-#define BOOST_MPL_ASSERT_NOT(pred) \
-BOOST_MPL_AUX_ASSERT_CONSTANT( \
- std::size_t \
- , BOOST_PP_CAT(mpl_assertion_in_line_,BOOST_MPL_AUX_PP_COUNTER()) = sizeof( \
- boost::mpl::assertion_failed<false>( \
- boost::mpl::make_assert_arg< \
- typename boost::mpl::eval_assert_not<void pred>::type \
- >() \
- ) \
- ) \
- ) \
-/**/
-
-#else
-
-// BOOST_MPL_ASSERT((pred<x,...>))
-
-#define BOOST_MPL_ASSERT(pred) \
-BOOST_MPL_AUX_ASSERT_CONSTANT( \
- std::size_t \
- , BOOST_PP_CAT(mpl_assertion_in_line_,BOOST_MPL_AUX_PP_COUNTER()) = sizeof( \
- boost::mpl::assertion_failed<false>( \
- boost::mpl::assert_arg( (void (*) pred)0, 1 ) \
- ) \
- ) \
- ) \
-/**/
-
-// BOOST_MPL_ASSERT_NOT((pred<x,...>))
-
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-# define BOOST_MPL_ASSERT_NOT(pred) \
-enum { \
- BOOST_PP_CAT(mpl_assertion_in_line_,BOOST_MPL_AUX_PP_COUNTER()) = sizeof( \
- boost::mpl::assertion<false>::failed( \
- boost::mpl::assert_not_arg( (void (*) pred)0, 1 ) \
- ) \
- ) \
-}\
-/**/
-#else
-# define BOOST_MPL_ASSERT_NOT(pred) \
-BOOST_MPL_AUX_ASSERT_CONSTANT( \
- std::size_t \
- , BOOST_PP_CAT(mpl_assertion_in_line_,BOOST_MPL_AUX_PP_COUNTER()) = sizeof( \
- boost::mpl::assertion_failed<false>( \
- boost::mpl::assert_not_arg( (void (*) pred)0, 1 ) \
- ) \
- ) \
- ) \
-/**/
-#endif
-
-#endif
-
-// BOOST_MPL_ASSERT_RELATION(x, ==|!=|<=|<|>=|>, y)
-
-#if defined(BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES)
-
-# if !defined(BOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER)
-// agurt, 9/nov/06: 'enum' below is a workaround for gcc 4.0.4/4.1.1 bugs #29522 and #29518
-# define BOOST_MPL_ASSERT_RELATION_IMPL(counter, x, rel, y) \
-enum { BOOST_PP_CAT(mpl_assert_rel_value,counter) = (x rel y) }; \
-BOOST_MPL_AUX_ASSERT_CONSTANT( \
- std::size_t \
- , BOOST_PP_CAT(mpl_assertion_in_line_,counter) = sizeof( \
- boost::mpl::assertion_failed<BOOST_PP_CAT(mpl_assert_rel_value,counter)>( \
- (boost::mpl::failed ************ ( boost::mpl::assert_relation< \
- boost::mpl::assert_::relations( sizeof( \
- boost::mpl::assert_::arg rel boost::mpl::assert_::arg \
- ) ) \
- , x \
- , y \
- >::************)) 0 ) \
- ) \
- ) \
-/**/
-# else
-# define BOOST_MPL_ASSERT_RELATION_IMPL(counter, x, rel, y) \
-BOOST_MPL_AUX_ASSERT_CONSTANT( \
- std::size_t \
- , BOOST_PP_CAT(mpl_assert_rel,counter) = sizeof( \
- boost::mpl::assert_::arg rel boost::mpl::assert_::arg \
- ) \
- ); \
-BOOST_MPL_AUX_ASSERT_CONSTANT( bool, BOOST_PP_CAT(mpl_assert_rel_value,counter) = (x rel y) ); \
-BOOST_MPL_AUX_ASSERT_CONSTANT( \
- std::size_t \
- , BOOST_PP_CAT(mpl_assertion_in_line_,counter) = sizeof( \
- boost::mpl::assertion_failed<BOOST_PP_CAT(mpl_assert_rel_value,counter)>( \
- boost::mpl::assert_rel_arg( boost::mpl::assert_relation< \
- boost::mpl::assert_::relations(BOOST_PP_CAT(mpl_assert_rel,counter)) \
- , x \
- , y \
- >() ) \
- ) \
- ) \
- ) \
-/**/
-# endif
-
-# define BOOST_MPL_ASSERT_RELATION(x, rel, y) \
-BOOST_MPL_ASSERT_RELATION_IMPL(BOOST_MPL_AUX_PP_COUNTER(), x, rel, y) \
-/**/
-
-#else // !BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES
-
-# if defined(BOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER)
-# define BOOST_MPL_ASSERT_RELATION(x, rel, y) \
-BOOST_MPL_AUX_ASSERT_CONSTANT( \
- std::size_t \
- , BOOST_PP_CAT(mpl_assertion_in_line_,BOOST_MPL_AUX_PP_COUNTER()) = sizeof( \
- boost::mpl::assertion_failed<(x rel y)>( boost::mpl::assert_rel_arg( \
- boost::mpl::BOOST_MPL_AUX_ASSERT_RELATION(x,y,(&boost::mpl::operator rel))() \
- ) ) \
- ) \
- ) \
-/**/
-# else
-# define BOOST_MPL_ASSERT_RELATION(x, rel, y) \
-BOOST_MPL_AUX_ASSERT_CONSTANT( \
- std::size_t \
- , BOOST_PP_CAT(mpl_assertion_in_line_,BOOST_MPL_AUX_PP_COUNTER()) = sizeof( \
- boost::mpl::assertion_failed<(x rel y)>( (boost::mpl::failed ************ ( \
- boost::mpl::BOOST_MPL_AUX_ASSERT_RELATION(x,y,(&boost::mpl::operator rel))::************))0 ) \
- ) \
- ) \
-/**/
-# endif
-
-#endif
-
-
-// BOOST_MPL_ASSERT_MSG( (pred<x,...>::value), USER_PROVIDED_MESSAGE, (types<x,...>) )
-
-#if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3202))
-# define BOOST_MPL_ASSERT_MSG_IMPL( counter, c, msg, types_ ) \
-struct msg; \
-typedef struct BOOST_PP_CAT(msg,counter) : boost::mpl::assert_ \
-{ \
- using boost::mpl::assert_::types; \
- static boost::mpl::failed ************ (msg::************ assert_arg()) types_ \
- { return 0; } \
-} BOOST_PP_CAT(mpl_assert_arg,counter); \
-BOOST_MPL_AUX_ASSERT_CONSTANT( \
- std::size_t \
- , BOOST_PP_CAT(mpl_assertion_in_line_,counter) = sizeof( \
- boost::mpl::assertion<(c)>::failed( BOOST_PP_CAT(mpl_assert_arg,counter)::assert_arg() ) \
- ) \
- ) \
-/**/
-#else
-# define BOOST_MPL_ASSERT_MSG_IMPL( counter, c, msg, types_ ) \
-struct msg; \
-typedef struct BOOST_PP_CAT(msg,counter) : boost::mpl::assert_ \
-{ \
- static boost::mpl::failed ************ (msg::************ assert_arg()) types_ \
- { return 0; } \
-} BOOST_PP_CAT(mpl_assert_arg,counter); \
-BOOST_MPL_AUX_ASSERT_CONSTANT( \
- std::size_t \
- , BOOST_PP_CAT(mpl_assertion_in_line_,counter) = sizeof( \
- boost::mpl::assertion_failed<(c)>( BOOST_PP_CAT(mpl_assert_arg,counter)::assert_arg() ) \
- ) \
- ) \
-/**/
-#endif
-
-#define BOOST_MPL_ASSERT_MSG( c, msg, types_ ) \
-BOOST_MPL_ASSERT_MSG_IMPL( BOOST_MPL_AUX_PP_COUNTER(), c, msg, types_ ) \
-/**/
-
-#endif // BOOST_MPL_ASSERT_HPP_INCLUDED
diff --git a/boost/mpl/at.hpp b/boost/mpl/at.hpp
deleted file mode 100644
index d247d71..0000000
--- a/boost/mpl/at.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-
-#ifndef BOOST_MPL_AT_HPP_INCLUDED
-#define BOOST_MPL_AT_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: at.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/at_fwd.hpp>
-#include <boost/mpl/aux_/at_impl.hpp>
-#include <boost/mpl/long.hpp>
-#include <boost/mpl/sequence_tag.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-#include <boost/mpl/aux_/nttp_decl.hpp>
-
-namespace boost { namespace mpl {
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(Sequence)
- , typename BOOST_MPL_AUX_NA_PARAM(N)
- >
-struct at
- : at_impl< typename sequence_tag<Sequence>::type >
- ::template apply< Sequence,N >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2,at,(Sequence,N))
-};
-
-template<
- typename Sequence
- , BOOST_MPL_AUX_NTTP_DECL(long, N)
- >
-struct at_c
- : at_impl< typename sequence_tag<Sequence>::type >
- ::template apply< Sequence,mpl::long_<N> >
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, at)
-
-}}
-
-#endif // BOOST_MPL_AT_HPP_INCLUDED
diff --git a/boost/mpl/at_fwd.hpp b/boost/mpl/at_fwd.hpp
deleted file mode 100644
index a4825f0..0000000
--- a/boost/mpl/at_fwd.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#ifndef BOOST_MPL_AT_FWD_HPP_INCLUDED
-#define BOOST_MPL_AT_FWD_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: at_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-namespace boost { namespace mpl {
-
-template< typename Tag > struct at_impl;
-template< typename Sequence, typename N > struct at;
-
-}}
-
-#endif // BOOST_MPL_AT_FWD_HPP_INCLUDED
diff --git a/boost/mpl/aux_/O1_size_impl.hpp b/boost/mpl/aux_/O1_size_impl.hpp
deleted file mode 100644
index 614730d..0000000
--- a/boost/mpl/aux_/O1_size_impl.hpp
+++ /dev/null
@@ -1,87 +0,0 @@
-
-#ifndef BOOST_MPL_O1_SIZE_IMPL_HPP_INCLUDED
-#define BOOST_MPL_O1_SIZE_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: O1_size_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/O1_size_fwd.hpp>
-#include <boost/mpl/long.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/aux_/has_size.hpp>
-#include <boost/mpl/aux_/config/forwarding.hpp>
-#include <boost/mpl/aux_/config/static_constant.hpp>
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-namespace boost { namespace mpl {
-
-// default implementation - returns 'Sequence::size' if sequence has a 'size'
-// member, and -1 otherwise; conrete sequences might override it by
-// specializing either the 'O1_size_impl' or the primary 'O1_size' template
-
-# if !BOOST_WORKAROUND(BOOST_MSVC, < 1300) \
- && !BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003))
-
-namespace aux {
-template< typename Sequence > struct O1_size_impl
- : Sequence::size
-{
-};
-}
-
-template< typename Tag >
-struct O1_size_impl
-{
- template< typename Sequence > struct apply
-#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)
- : if_<
- aux::has_size<Sequence>
- , aux::O1_size_impl<Sequence>
- , long_<-1>
- >::type
- {
-#else
- {
- typedef typename if_<
- aux::has_size<Sequence>
- , aux::O1_size_impl<Sequence>
- , long_<-1>
- >::type type;
-
- BOOST_STATIC_CONSTANT(long, value =
- (if_<
- aux::has_size<Sequence>
- , aux::O1_size_impl<Sequence>
- , long_<-1>
- >::type::value)
- );
-#endif
- };
-};
-
-# else // BOOST_MSVC
-
-template< typename Tag >
-struct O1_size_impl
-{
- template< typename Sequence > struct apply
- : long_<-1>
- {
- };
-};
-
-# endif
-
-}}
-
-#endif // BOOST_MPL_O1_SIZE_IMPL_HPP_INCLUDED
diff --git a/boost/mpl/aux_/adl_barrier.hpp b/boost/mpl/aux_/adl_barrier.hpp
deleted file mode 100644
index 077f46f..0000000
--- a/boost/mpl/aux_/adl_barrier.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_ADL_BARRIER_HPP_INCLUDED
-#define BOOST_MPL_AUX_ADL_BARRIER_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: adl_barrier.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/adl.hpp>
-#include <boost/mpl/aux_/config/gcc.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE)
-
-# define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE mpl_
-# define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN namespace mpl_ {
-# define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE }
-# define BOOST_MPL_AUX_ADL_BARRIER_DECL(type) \
- namespace boost { namespace mpl { \
- using ::BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::type; \
- } } \
-/**/
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-namespace BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE { namespace aux {} }
-namespace boost { namespace mpl { using namespace BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE;
-namespace aux { using namespace BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::aux; }
-}}
-#endif
-
-#else // BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE
-
-# define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE boost::mpl
-# define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN namespace boost { namespace mpl {
-# define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE }}
-# define BOOST_MPL_AUX_ADL_BARRIER_DECL(type) /**/
-
-#endif
-
-#endif // BOOST_MPL_AUX_ADL_BARRIER_HPP_INCLUDED
diff --git a/boost/mpl/aux_/advance_backward.hpp b/boost/mpl/aux_/advance_backward.hpp
deleted file mode 100644
index d44c59f..0000000
--- a/boost/mpl/aux_/advance_backward.hpp
+++ /dev/null
@@ -1,128 +0,0 @@
-
-#if !defined(BOOST_PP_IS_ITERATING)
-
-///// header body
-
-#ifndef BOOST_MPL_AUX778076_ADVANCE_BACKWARD_HPP_INCLUDED
-#define BOOST_MPL_AUX778076_ADVANCE_BACKWARD_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: advance_backward.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-# include <boost/mpl/prior.hpp>
-# include <boost/mpl/apply_wrap.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-# define BOOST_MPL_PREPROCESSED_HEADER advance_backward.hpp
-# include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-# include <boost/mpl/limits/unrolling.hpp>
-# include <boost/mpl/aux_/nttp_decl.hpp>
-# include <boost/mpl/aux_/config/eti.hpp>
-
-# include <boost/preprocessor/iterate.hpp>
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/inc.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-
-// forward declaration
-template< BOOST_MPL_AUX_NTTP_DECL(long, N) > struct advance_backward;
-
-# define BOOST_PP_ITERATION_PARAMS_1 \
- (3,(0, BOOST_MPL_LIMIT_UNROLLING, <boost/mpl/aux_/advance_backward.hpp>))
-# include BOOST_PP_ITERATE()
-
-// implementation for N that exceeds BOOST_MPL_LIMIT_UNROLLING
-template< BOOST_MPL_AUX_NTTP_DECL(long, N) >
-struct advance_backward
-{
- template< typename Iterator > struct apply
- {
- typedef typename apply_wrap1<
- advance_backward<BOOST_MPL_LIMIT_UNROLLING>
- , Iterator
- >::type chunk_result_;
-
- typedef typename apply_wrap1<
- advance_backward<(
- (N - BOOST_MPL_LIMIT_UNROLLING) < 0
- ? 0
- : N - BOOST_MPL_LIMIT_UNROLLING
- )>
- , chunk_result_
- >::type type;
- };
-};
-
-}}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_AUX778076_ADVANCE_BACKWARD_HPP_INCLUDED
-
-///// iteration, depth == 1
-
-// For gcc 4.4 compatability, we must include the
-// BOOST_PP_ITERATION_DEPTH test inside an #else clause.
-#else // BOOST_PP_IS_ITERATING
-#if BOOST_PP_ITERATION_DEPTH() == 1
-#define i_ BOOST_PP_FRAME_ITERATION(1)
-
-template<>
-struct advance_backward< BOOST_PP_FRAME_ITERATION(1) >
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
-
-#if i_ > 0
-# define BOOST_PP_ITERATION_PARAMS_2 \
- (3,(1, BOOST_PP_FRAME_ITERATION(1), <boost/mpl/aux_/advance_backward.hpp>))
-# include BOOST_PP_ITERATE()
-#endif
-
- typedef BOOST_PP_CAT(iter,BOOST_PP_FRAME_ITERATION(1)) type;
- };
-
-#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)
- /// ETI workaround
- template<> struct apply<int>
- {
- typedef int type;
- };
-#endif
-};
-
-#undef i_
-
-///// iteration, depth == 2
-
-#elif BOOST_PP_ITERATION_DEPTH() == 2
-
-# define AUX778076_ITER_0 BOOST_PP_CAT(iter,BOOST_PP_DEC(BOOST_PP_FRAME_ITERATION(2)))
-# define AUX778076_ITER_1 BOOST_PP_CAT(iter,BOOST_PP_FRAME_ITERATION(2))
-
- typedef typename prior<AUX778076_ITER_0>::type AUX778076_ITER_1;
-
-# undef AUX778076_ITER_1
-# undef AUX778076_ITER_0
-
-#endif // BOOST_PP_ITERATION_DEPTH()
-#endif // BOOST_PP_IS_ITERATING
diff --git a/boost/mpl/aux_/advance_forward.hpp b/boost/mpl/aux_/advance_forward.hpp
deleted file mode 100644
index 4edd3ea..0000000
--- a/boost/mpl/aux_/advance_forward.hpp
+++ /dev/null
@@ -1,127 +0,0 @@
-
-#if !defined(BOOST_PP_IS_ITERATING)
-
-///// header body
-
-#ifndef BOOST_MPL_AUX_ADVANCE_FORWARD_HPP_INCLUDED
-#define BOOST_MPL_AUX_ADVANCE_FORWARD_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: advance_forward.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-# include <boost/mpl/next.hpp>
-# include <boost/mpl/apply_wrap.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-# define BOOST_MPL_PREPROCESSED_HEADER advance_forward.hpp
-# include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-# include <boost/mpl/limits/unrolling.hpp>
-# include <boost/mpl/aux_/nttp_decl.hpp>
-# include <boost/mpl/aux_/config/eti.hpp>
-
-# include <boost/preprocessor/iterate.hpp>
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/inc.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-
-// forward declaration
-template< BOOST_MPL_AUX_NTTP_DECL(long, N) > struct advance_forward;
-
-# define BOOST_PP_ITERATION_PARAMS_1 \
- (3,(0, BOOST_MPL_LIMIT_UNROLLING, <boost/mpl/aux_/advance_forward.hpp>))
-# include BOOST_PP_ITERATE()
-
-// implementation for N that exceeds BOOST_MPL_LIMIT_UNROLLING
-template< BOOST_MPL_AUX_NTTP_DECL(long, N) >
-struct advance_forward
-{
- template< typename Iterator > struct apply
- {
- typedef typename apply_wrap1<
- advance_forward<BOOST_MPL_LIMIT_UNROLLING>
- , Iterator
- >::type chunk_result_;
-
- typedef typename apply_wrap1<
- advance_forward<(
- (N - BOOST_MPL_LIMIT_UNROLLING) < 0
- ? 0
- : N - BOOST_MPL_LIMIT_UNROLLING
- )>
- , chunk_result_
- >::type type;
- };
-};
-
-}}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_AUX_ADVANCE_FORWARD_HPP_INCLUDED
-
-///// iteration, depth == 1
-
-// For gcc 4.4 compatability, we must include the
-// BOOST_PP_ITERATION_DEPTH test inside an #else clause.
-#else // BOOST_PP_IS_ITERATING
-#if BOOST_PP_ITERATION_DEPTH() == 1
-#define i_ BOOST_PP_FRAME_ITERATION(1)
-
-template<>
-struct advance_forward< BOOST_PP_FRAME_ITERATION(1) >
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
-
-#if i_ > 0
-# define BOOST_PP_ITERATION_PARAMS_2 \
- (3,(1, i_, <boost/mpl/aux_/advance_forward.hpp>))
-# include BOOST_PP_ITERATE()
-#endif
- typedef BOOST_PP_CAT(iter,i_) type;
- };
-
-#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)
- /// ETI workaround
- template<> struct apply<int>
- {
- typedef int type;
- };
-#endif
-};
-
-#undef i_
-
-///// iteration, depth == 2
-
-#elif BOOST_PP_ITERATION_DEPTH() == 2
-
-# define AUX778076_ITER_0 BOOST_PP_CAT(iter,BOOST_PP_DEC(BOOST_PP_FRAME_ITERATION(2)))
-# define AUX778076_ITER_1 BOOST_PP_CAT(iter,BOOST_PP_FRAME_ITERATION(2))
-
- typedef typename next<AUX778076_ITER_0>::type AUX778076_ITER_1;
-
-# undef AUX778076_ITER_1
-# undef AUX778076_ITER_0
-
-#endif // BOOST_PP_ITERATION_DEPTH()
-#endif // BOOST_PP_IS_ITERATING
diff --git a/boost/mpl/aux_/arg_typedef.hpp b/boost/mpl/aux_/arg_typedef.hpp
deleted file mode 100644
index ed5e5bd..0000000
--- a/boost/mpl/aux_/arg_typedef.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_ARG_TYPEDEF_HPP_INCLUDED
-#define BOOST_MPL_AUX_ARG_TYPEDEF_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-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: arg_typedef.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/lambda.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#if defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) \
- || BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
-
-# define BOOST_MPL_AUX_ARG_TYPEDEF(T, name) typedef T name;
-
-#else
-
-# define BOOST_MPL_AUX_ARG_TYPEDEF(T, name) /**/
-
-#endif
-
-#endif // BOOST_MPL_AUX_ARG_TYPEDEF_HPP_INCLUDED
diff --git a/boost/mpl/aux_/arithmetic_op.hpp b/boost/mpl/aux_/arithmetic_op.hpp
deleted file mode 100644
index 0a310b7..0000000
--- a/boost/mpl/aux_/arithmetic_op.hpp
+++ /dev/null
@@ -1,92 +0,0 @@
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
-
-// 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: arithmetic_op.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-# include <boost/mpl/integral_c.hpp>
-# include <boost/mpl/aux_/largest_int.hpp>
-# include <boost/mpl/aux_/value_wknd.hpp>
-#endif
-
-#if !defined(AUX778076_OP_PREFIX)
-# define AUX778076_OP_PREFIX AUX778076_OP_NAME
-#endif
-
-#include <boost/mpl/aux_/numeric_op.hpp>
-#include <boost/mpl/aux_/config/static_constant.hpp>
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-# define BOOST_MPL_PREPROCESSED_HEADER AUX778076_OP_PREFIX.hpp
-# include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-# include <boost/mpl/aux_/config/workaround.hpp>
-# include <boost/preprocessor/cat.hpp>
-
-
-namespace boost { namespace mpl {
-
-#if defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC)
-namespace aux {
-template< typename T, T n1, T n2 >
-struct BOOST_PP_CAT(AUX778076_OP_PREFIX,_wknd)
-{
- BOOST_STATIC_CONSTANT(T, value = (n1 AUX778076_OP_TOKEN n2));
- typedef integral_c<T,value> type;
-};
-}
-#endif
-
-template<>
-struct AUX778076_OP_IMPL_NAME<integral_c_tag,integral_c_tag>
-{
- template< typename N1, typename N2 > struct apply
-#if !defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC)
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- AUX778076_OP_TOKEN BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
-#else
- : aux::BOOST_PP_CAT(AUX778076_OP_PREFIX,_wknd)<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , N1::value
- , N2::value
- >::type
-#endif
- {
- };
-};
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#undef AUX778076_OP_TAG_NAME
-#undef AUX778076_OP_IMPL_NAME
-#undef AUX778076_OP_ARITY
-#undef AUX778076_OP_PREFIX
-#undef AUX778076_OP_NAME
-#undef AUX778076_OP_TOKEN
diff --git a/boost/mpl/aux_/arity.hpp b/boost/mpl/aux_/arity.hpp
deleted file mode 100644
index adedcc6..0000000
--- a/boost/mpl/aux_/arity.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_ARITY_HPP_INCLUDED
-#define BOOST_MPL_AUX_ARITY_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-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: arity.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/dtp.hpp>
-
-#if defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
-
-# include <boost/mpl/aux_/nttp_decl.hpp>
-# include <boost/mpl/aux_/config/static_constant.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-
-// agurt, 15/mar/02: it's possible to implement the template so that it will
-// "just work" and do not require any specialization, but not on the compilers
-// that require the arity workaround in the first place
-template< typename F, BOOST_MPL_AUX_NTTP_DECL(int, N) >
-struct arity
-{
- BOOST_STATIC_CONSTANT(int, value = N);
-};
-
-}}}
-
-#endif // BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES
-
-#endif // BOOST_MPL_AUX_ARITY_HPP_INCLUDED
diff --git a/boost/mpl/aux_/arity_spec.hpp b/boost/mpl/aux_/arity_spec.hpp
deleted file mode 100644
index 6ae5cc7..0000000
--- a/boost/mpl/aux_/arity_spec.hpp
+++ /dev/null
@@ -1,67 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_ARITY_SPEC_HPP_INCLUDED
-#define BOOST_MPL_AUX_ARITY_SPEC_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-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: arity_spec.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/int.hpp>
-#include <boost/mpl/limits/arity.hpp>
-#include <boost/mpl/aux_/config/dtp.hpp>
-#include <boost/mpl/aux_/preprocessor/params.hpp>
-#include <boost/mpl/aux_/arity.hpp>
-#include <boost/mpl/aux_/template_arity_fwd.hpp>
-#include <boost/mpl/aux_/config/ttp.hpp>
-#include <boost/mpl/aux_/config/lambda.hpp>
-#include <boost/mpl/aux_/config/static_constant.hpp>
-
-#if defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
-# define BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(i,type,name) \
-namespace aux { \
-template< BOOST_MPL_AUX_NTTP_DECL(int, N), BOOST_MPL_PP_PARAMS(i,type T) > \
-struct arity< \
- name< BOOST_MPL_PP_PARAMS(i,T) > \
- , N \
- > \
-{ \
- BOOST_STATIC_CONSTANT(int \
- , value = BOOST_MPL_LIMIT_METAFUNCTION_ARITY \
- ); \
-}; \
-} \
-/**/
-#else
-# define BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(i,type,name) /**/
-#endif
-
-# define BOOST_MPL_AUX_ARITY_SPEC(i,name) \
- BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(i,typename,name) \
-/**/
-
-
-#if defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING) \
- && !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)
-# define BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(i, name) \
-namespace aux { \
-template< BOOST_MPL_PP_PARAMS(i,typename T) > \
-struct template_arity< name<BOOST_MPL_PP_PARAMS(i,T)> > \
- : int_<i> \
-{ \
-}; \
-} \
-/**/
-#else
-# define BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(i, name) /**/
-#endif
-
-
-#endif // BOOST_MPL_AUX_ARITY_SPEC_HPP_INCLUDED
diff --git a/boost/mpl/aux_/at_impl.hpp b/boost/mpl/aux_/at_impl.hpp
deleted file mode 100644
index 4af7cfe..0000000
--- a/boost/mpl/aux_/at_impl.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_AT_IMPL_HPP_INCLUDED
-#define BOOST_MPL_AUX_AT_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: at_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/begin_end.hpp>
-#include <boost/mpl/advance.hpp>
-#include <boost/mpl/deref.hpp>
-#include <boost/mpl/aux_/traits_lambda_spec.hpp>
-
-namespace boost { namespace mpl {
-
-// default implementation; conrete sequences might override it by
-// specializing either the 'at_impl' or the primary 'at' template
-
-template< typename Tag >
-struct at_impl
-{
- template< typename Sequence, typename N > struct apply
- {
- typedef typename advance<
- typename begin<Sequence>::type
- , N
- >::type iter_;
-
- typedef typename deref<iter_>::type type;
- };
-};
-
-BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2, at_impl)
-
-}}
-
-#endif // BOOST_MPL_AUX_AT_IMPL_HPP_INCLUDED
diff --git a/boost/mpl/aux_/begin_end_impl.hpp b/boost/mpl/aux_/begin_end_impl.hpp
deleted file mode 100644
index 1a220a2..0000000
--- a/boost/mpl/aux_/begin_end_impl.hpp
+++ /dev/null
@@ -1,101 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_BEGIN_END_IMPL_HPP_INCLUDED
-#define BOOST_MPL_AUX_BEGIN_END_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: begin_end_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/begin_end_fwd.hpp>
-#include <boost/mpl/sequence_tag_fwd.hpp>
-#include <boost/mpl/void.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/aux_/has_begin.hpp>
-#include <boost/mpl/aux_/na.hpp>
-#include <boost/mpl/aux_/traits_lambda_spec.hpp>
-#include <boost/mpl/aux_/config/eti.hpp>
-
-namespace boost { namespace mpl {
-
-
-namespace aux {
-
-template< typename Sequence >
-struct begin_type
-{
- typedef typename Sequence::begin type;
-};
-template< typename Sequence >
-struct end_type
-{
- typedef typename Sequence::end type;
-};
-
-}
-
-// default implementation; conrete sequences might override it by
-// specializing either the 'begin_impl/end_impl' or the primary
-// 'begin/end' templates
-
-template< typename Tag >
-struct begin_impl
-{
- template< typename Sequence > struct apply
- {
- typedef typename eval_if<aux::has_begin<Sequence, true_>,
- aux::begin_type<Sequence>, void_>::type type;
- };
-};
-
-template< typename Tag >
-struct end_impl
-{
- template< typename Sequence > struct apply
- {
- typedef typename eval_if<aux::has_begin<Sequence, true_>,
- aux::end_type<Sequence>, void_>::type type;
- };
-};
-
-// specialize 'begin_trait/end_trait' for two pre-defined tags
-
-# define AUX778076_IMPL_SPEC(name, tag, result) \
-template<> \
-struct name##_impl<tag> \
-{ \
- template< typename Sequence > struct apply \
- { \
- typedef result type; \
- }; \
-}; \
-/**/
-
-// a sequence with nested 'begin/end' typedefs; just query them
-AUX778076_IMPL_SPEC(begin, nested_begin_end_tag, typename Sequence::begin)
-AUX778076_IMPL_SPEC(end, nested_begin_end_tag, typename Sequence::end)
-
-// if a type 'T' does not contain 'begin/end' or 'tag' members
-// and doesn't specialize either 'begin/end' or 'begin_impl/end_impl'
-// templates, then we end up here
-AUX778076_IMPL_SPEC(begin, non_sequence_tag, void_)
-AUX778076_IMPL_SPEC(end, non_sequence_tag, void_)
-AUX778076_IMPL_SPEC(begin, na, void_)
-AUX778076_IMPL_SPEC(end, na, void_)
-
-# undef AUX778076_IMPL_SPEC
-
-
-BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC_IMPL(1,begin_impl)
-BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC_IMPL(1,end_impl)
-
-}}
-
-#endif // BOOST_MPL_AUX_BEGIN_END_IMPL_HPP_INCLUDED
diff --git a/boost/mpl/aux_/clear_impl.hpp b/boost/mpl/aux_/clear_impl.hpp
deleted file mode 100644
index 3850086..0000000
--- a/boost/mpl/aux_/clear_impl.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CLEAR_IMPL_HPP_INCLUDED
-#define BOOST_MPL_AUX_CLEAR_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: clear_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/clear_fwd.hpp>
-#include <boost/mpl/aux_/traits_lambda_spec.hpp>
-#include <boost/mpl/aux_/config/eti.hpp>
-
-namespace boost { namespace mpl {
-
-// no default implementation; the definition is needed to make MSVC happy
-
-template< typename Tag >
-struct clear_impl
-{
- template< typename Sequence > struct apply;
-};
-
-BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1, clear_impl)
-
-}}
-
-#endif // BOOST_MPL_AUX_CLEAR_IMPL_HPP_INCLUDED
diff --git a/boost/mpl/aux_/common_name_wknd.hpp b/boost/mpl/aux_/common_name_wknd.hpp
deleted file mode 100644
index a6c7898..0000000
--- a/boost/mpl/aux_/common_name_wknd.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_COMMON_NAME_WKND_HPP_INCLUDED
-#define BOOST_MPL_AUX_COMMON_NAME_WKND_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: common_name_wknd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#if BOOST_WORKAROUND(__BORLANDC__, < 0x561)
-// agurt, 12/nov/02: to suppress the bogus "Cannot have both a template class
-// and function named 'xxx'" diagnostic
-# define BOOST_MPL_AUX_COMMON_NAME_WKND(name) \
-namespace name_##wknd { \
-template< typename > void name(); \
-} \
-/**/
-
-#else
-
-# define BOOST_MPL_AUX_COMMON_NAME_WKND(name) /**/
-
-#endif // __BORLANDC__
-
-#endif // BOOST_MPL_AUX_COMMON_NAME_WKND_HPP_INCLUDED
diff --git a/boost/mpl/aux_/comparison_op.hpp b/boost/mpl/aux_/comparison_op.hpp
deleted file mode 100644
index f0850a4..0000000
--- a/boost/mpl/aux_/comparison_op.hpp
+++ /dev/null
@@ -1,83 +0,0 @@
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
-
-// 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: comparison_op.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-# include <boost/mpl/bool.hpp>
-# include <boost/mpl/aux_/value_wknd.hpp>
-#endif
-
-#if !defined(AUX778076_OP_PREFIX)
-# define AUX778076_OP_PREFIX AUX778076_OP_NAME
-#endif
-
-#define AUX778076_OP_ARITY 2
-
-#include <boost/mpl/aux_/numeric_op.hpp>
-#include <boost/mpl/aux_/config/static_constant.hpp>
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-# define BOOST_MPL_PREPROCESSED_HEADER AUX778076_OP_PREFIX.hpp
-# include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-# include <boost/mpl/aux_/config/integral.hpp>
-# include <boost/preprocessor/cat.hpp>
-
-namespace boost { namespace mpl {
-
-// MSVC workaround: implement less in terms of greater
-#if 0 AUX778076_OP_TOKEN 1 && !(1 AUX778076_OP_TOKEN 0) && !(0 AUX778076_OP_TOKEN 0)
-# define AUX778076_OP(N1, N2) \
- ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) \
-/**/
-#else
-# define AUX778076_OP(N1, N2) \
- ( BOOST_MPL_AUX_VALUE_WKND(N1)::value \
- AUX778076_OP_TOKEN BOOST_MPL_AUX_VALUE_WKND(N2)::value \
- ) \
-/**/
-#endif
-
-template<>
-struct AUX778076_OP_IMPL_NAME<integral_c_tag,integral_c_tag>
-{
- template< typename N1, typename N2 > struct apply
-#if !defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC)
- : bool_< AUX778076_OP(N1, N2) >
- {
-#else
- {
- BOOST_STATIC_CONSTANT(bool, value = AUX778076_OP(N1, N2));
- typedef bool_<value> type;
-#endif
- };
-};
-
-#undef AUX778076_OP
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#undef AUX778076_OP_TAG_NAME
-#undef AUX778076_OP_IMPL_NAME
-#undef AUX778076_OP_ARITY
-#undef AUX778076_OP_PREFIX
-#undef AUX778076_OP_NAME
-#undef AUX778076_OP_TOKEN
diff --git a/boost/mpl/aux_/config/adl.hpp b/boost/mpl/aux_/config/adl.hpp
deleted file mode 100644
index d6ead71..0000000
--- a/boost/mpl/aux_/config/adl.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_ADL_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_ADL_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: adl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/intel.hpp>
-#include <boost/mpl/aux_/config/gcc.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-// agurt, 25/apr/04: technically, the ADL workaround is only needed for GCC,
-// but putting everything expect public, user-specializable metafunctions into
-// a separate global namespace has a nice side effect of reducing the length
-// of template instantiation symbols, so we apply the workaround on all
-// platforms that can handle it
-
-#if !defined(BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE) \
- && ( BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \
- || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \
- || BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) \
- || BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3202)) \
- || BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION, BOOST_TESTED_AT(810)) \
- )
-
-# define BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE
-
-#endif
-
-#endif // BOOST_MPL_AUX_CONFIG_ADL_HPP_INCLUDED
diff --git a/boost/mpl/aux_/config/arrays.hpp b/boost/mpl/aux_/config/arrays.hpp
deleted file mode 100644
index d801cf7..0000000
--- a/boost/mpl/aux_/config/arrays.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_ARRAYS_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_ARRAYS_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2003-2004
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: arrays.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE) \
- && ( BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \
- || BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \
- )
-
-# define BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES
-
-#endif
-
-#endif // BOOST_MPL_AUX_CONFIG_ARRAYS_HPP_INCLUDED
diff --git a/boost/mpl/aux_/config/bcc.hpp b/boost/mpl/aux_/config/bcc.hpp
deleted file mode 100644
index f4817ca..0000000
--- a/boost/mpl/aux_/config/bcc.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_BCC_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_BCC_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 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/mpl for documentation.
-
-// $Id: bcc.hpp 49272 2008-10-11 06:50:46Z agurtovoy $
-// $Date: 2004-09-02 10:41:37 -0500 (Thu, 02 Sep 2004) $
-// $Revision: 24874 $
-
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#if !defined(BOOST_MPL_CFG_BCC590_WORKAROUNDS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE) \
- && BOOST_WORKAROUND(__BORLANDC__, >= 0x590) \
- && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610))
-
-# define BOOST_MPL_CFG_BCC590_WORKAROUNDS
-
-#endif
-
-#endif // BOOST_MPL_AUX_CONFIG_BCC_HPP_INCLUDED
diff --git a/boost/mpl/aux_/config/bind.hpp b/boost/mpl/aux_/config/bind.hpp
deleted file mode 100644
index 02a7814..0000000
--- a/boost/mpl/aux_/config/bind.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_BIND_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_BIND_HPP_INCLUDED
-
-// Copyright David Abrahams 2002
-// 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: bind.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_BIND_TEMPLATE) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE) \
- && ( BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \
- || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \
- )
-
-# define BOOST_MPL_CFG_NO_BIND_TEMPLATE
-
-#endif
-
-//#define BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT
-
-#endif // BOOST_MPL_AUX_CONFIG_BIND_HPP_INCLUDED
diff --git a/boost/mpl/aux_/config/compiler.hpp b/boost/mpl/aux_/config/compiler.hpp
deleted file mode 100644
index e80ccde..0000000
--- a/boost/mpl/aux_/config/compiler.hpp
+++ /dev/null
@@ -1,66 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_COMPILER_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_COMPILER_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-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/mpl for documentation.
-
-// $Id: compiler.hpp 53189 2009-05-22 20:07:55Z hkaiser $
-// $Date: 2009-05-22 13:07:55 -0700 (Fri, 22 May 2009) $
-// $Revision: 53189 $
-
-#if !defined(BOOST_MPL_CFG_COMPILER_DIR)
-
-# include <boost/mpl/aux_/config/dtp.hpp>
-# include <boost/mpl/aux_/config/ttp.hpp>
-# include <boost/mpl/aux_/config/ctps.hpp>
-# include <boost/mpl/aux_/config/msvc.hpp>
-# include <boost/mpl/aux_/config/gcc.hpp>
-# include <boost/mpl/aux_/config/workaround.hpp>
-
-# if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-# define BOOST_MPL_CFG_COMPILER_DIR msvc60
-
-# elif BOOST_WORKAROUND(BOOST_MSVC, == 1300)
-# define BOOST_MPL_CFG_COMPILER_DIR msvc70
-
-# elif BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0304))
-# define BOOST_MPL_CFG_COMPILER_DIR gcc
-
-# elif BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610))
-# if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
-# define BOOST_MPL_CFG_COMPILER_DIR bcc551
-# elif BOOST_WORKAROUND(__BORLANDC__, >= 0x590)
-# define BOOST_MPL_CFG_COMPILER_DIR bcc
-# else
-# define BOOST_MPL_CFG_COMPILER_DIR bcc_pre590
-# endif
-
-# elif BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
-# define BOOST_MPL_CFG_COMPILER_DIR dmc
-
-# elif defined(__MWERKS__)
-# if defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
-# define BOOST_MPL_CFG_COMPILER_DIR mwcw
-# else
-# define BOOST_MPL_CFG_COMPILER_DIR plain
-# endif
-
-# elif defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-# define BOOST_MPL_CFG_COMPILER_DIR no_ctps
-
-# elif defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS)
-# define BOOST_MPL_CFG_COMPILER_DIR no_ttp
-
-# else
-# define BOOST_MPL_CFG_COMPILER_DIR plain
-# endif
-
-#endif // BOOST_MPL_CFG_COMPILER_DIR
-
-#endif // BOOST_MPL_AUX_CONFIG_COMPILER_HPP_INCLUDED
diff --git a/boost/mpl/aux_/config/ctps.hpp b/boost/mpl/aux_/config/ctps.hpp
deleted file mode 100644
index 9a4aaf7..0000000
--- a/boost/mpl/aux_/config/ctps.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_CTPS_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_CTPS_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: ctps.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/workaround.hpp>
-#include <boost/config.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE) \
- && BOOST_WORKAROUND(__BORLANDC__, < 0x582)
-
-# define BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC
-
-#endif
-
-// BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION is defined in <boost/config.hpp>
-
-#endif // BOOST_MPL_AUX_CONFIG_CTPS_HPP_INCLUDED
diff --git a/boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp b/boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp
deleted file mode 100644
index f5f53f7..0000000
--- a/boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_DMC_AMBIGUOUS_CTPS_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_DMC_AMBIGUOUS_CTPS_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 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: dmc_ambiguous_ctps.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#if !defined(BOOST_MPL_CFG_DMC_AMBIGUOUS_CTPS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE) \
- && BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
-
-# define BOOST_MPL_CFG_DMC_AMBIGUOUS_CTPS
-
-#endif
-
-#endif // BOOST_MPL_AUX_CONFIG_DMC_AMBIGUOUS_CTPS_HPP_INCLUDED
diff --git a/boost/mpl/aux_/config/dtp.hpp b/boost/mpl/aux_/config/dtp.hpp
deleted file mode 100644
index e53929b..0000000
--- a/boost/mpl/aux_/config/dtp.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_DTP_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_DTP_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-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: dtp.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-// MWCW 7.x-8.0 "losts" default template parameters of nested class
-// templates when their owner classes are passed as arguments to other
-// templates; Borland 5.5.1 "forgets" them from the very beginning (if
-// the owner class is a class template), and Borland 5.6 isn't even
-// able to compile a definition of nested class template with DTP
-
-#if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE) \
- && BOOST_WORKAROUND(__BORLANDC__, >= 0x560) \
- && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610))
-
-# define BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES
-
-#endif
-
-
-#if !defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE) \
- && ( BOOST_WORKAROUND(__MWERKS__, <= 0x3001) \
- || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \
- || defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) \
- )
-
-# define BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES
-
-#endif
-
-#endif // BOOST_MPL_AUX_CONFIG_DTP_HPP_INCLUDED
diff --git a/boost/mpl/aux_/config/eti.hpp b/boost/mpl/aux_/config/eti.hpp
deleted file mode 100644
index c3fd1c6..0000000
--- a/boost/mpl/aux_/config/eti.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_ETI_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_ETI_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-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: eti.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-// flags for MSVC 6.5's so-called "early template instantiation bug"
-#if !defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE) \
- && BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-
-# define BOOST_MPL_CFG_MSVC_60_ETI_BUG
-
-#endif
-
-#if !defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE) \
- && BOOST_WORKAROUND(BOOST_MSVC, == 1300)
-
-# define BOOST_MPL_CFG_MSVC_70_ETI_BUG
-
-#endif
-
-#if !defined(BOOST_MPL_CFG_MSVC_ETI_BUG) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE) \
- && ( defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) \
- || defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG) \
- )
-
-# define BOOST_MPL_CFG_MSVC_ETI_BUG
-
-#endif
-
-#endif // BOOST_MPL_AUX_CONFIG_ETI_HPP_INCLUDED
diff --git a/boost/mpl/aux_/config/forwarding.hpp b/boost/mpl/aux_/config/forwarding.hpp
deleted file mode 100644
index 0919d07..0000000
--- a/boost/mpl/aux_/config/forwarding.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_FORWARDING_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_FORWARDING_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 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: forwarding.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE) \
- && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610))
-
-# define BOOST_MPL_CFG_NO_NESTED_FORWARDING
-
-#endif
-
-#endif // BOOST_MPL_AUX_CONFIG_FORWARDING_HPP_INCLUDED
diff --git a/boost/mpl/aux_/config/gcc.hpp b/boost/mpl/aux_/config/gcc.hpp
deleted file mode 100644
index b9d8f7d..0000000
--- a/boost/mpl/aux_/config/gcc.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_GCC_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_GCC_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 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: gcc.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if defined(__GNUC__) && !defined(__EDG_VERSION__)
-# define BOOST_MPL_CFG_GCC ((__GNUC__ << 8) | __GNUC_MINOR__)
-#else
-# define BOOST_MPL_CFG_GCC 0
-#endif
-
-#endif // BOOST_MPL_AUX_CONFIG_GCC_HPP_INCLUDED
diff --git a/boost/mpl/aux_/config/has_apply.hpp b/boost/mpl/aux_/config/has_apply.hpp
deleted file mode 100644
index cc52eba..0000000
--- a/boost/mpl/aux_/config/has_apply.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_HAS_APPLY_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_HAS_APPLY_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 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: has_apply.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/has_xxx.hpp>
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_HAS_APPLY) \
- && ( defined(BOOST_MPL_CFG_NO_HAS_XXX) \
- || BOOST_WORKAROUND(__EDG_VERSION__, < 300) \
- || BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \
- || BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3202)) \
- )
-
-# define BOOST_MPL_CFG_NO_HAS_APPLY
-
-#endif
-
-#endif // BOOST_MPL_AUX_CONFIG_HAS_APPLY_HPP_INCLUDED
diff --git a/boost/mpl/aux_/config/has_xxx.hpp b/boost/mpl/aux_/config/has_xxx.hpp
deleted file mode 100644
index 1139b68..0000000
--- a/boost/mpl/aux_/config/has_xxx.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_HAS_XXX_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_HAS_XXX_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2002-2004
-// Copyright David Abrahams 2002-2003
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: has_xxx.hpp 63518 2010-07-02 08:32:03Z agurtovoy $
-// $Date: 2010-07-02 01:32:03 -0700 (Fri, 02 Jul 2010) $
-// $Revision: 63518 $
-
-#include <boost/mpl/aux_/config/overload_resolution.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-// agurt, 11/jan/03: signals a stub-only 'has_xxx' implementation
-
-#if !defined(BOOST_MPL_CFG_NO_HAS_XXX) \
- && ( defined(BOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION) \
- || BOOST_WORKAROUND(__GNUC__, <= 2) \
- || BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) \
- )
-
-# define BOOST_MPL_CFG_NO_HAS_XXX
-# define BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE
-
-#endif
-
-#endif // BOOST_MPL_AUX_CONFIG_HAS_XXX_HPP_INCLUDED
diff --git a/boost/mpl/aux_/config/integral.hpp b/boost/mpl/aux_/config/integral.hpp
deleted file mode 100644
index 6a89160..0000000
--- a/boost/mpl/aux_/config/integral.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_INTEGRAL_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_INTEGRAL_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 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: integral.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#if !defined(BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE) \
- && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610))
-
-# define BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS
-
-#endif
-
-#if !defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE) \
- && ( BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \
- || BOOST_WORKAROUND(__EDG_VERSION__, <= 238) \
- )
-
-# define BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC
-
-#endif
-
-#endif // BOOST_MPL_AUX_CONFIG_INTEGRAL_HPP_INCLUDED
diff --git a/boost/mpl/aux_/config/intel.hpp b/boost/mpl/aux_/config/intel.hpp
deleted file mode 100644
index 141a952..0000000
--- a/boost/mpl/aux_/config/intel.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_INTEL_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_INTEL_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 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: intel.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-
-// BOOST_INTEL_CXX_VERSION is defined here:
-#include <boost/config.hpp>
-
-#endif // BOOST_MPL_AUX_CONFIG_INTEL_HPP_INCLUDED
diff --git a/boost/mpl/aux_/config/lambda.hpp b/boost/mpl/aux_/config/lambda.hpp
deleted file mode 100644
index 7be16bf..0000000
--- a/boost/mpl/aux_/config/lambda.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_LAMBDA_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_LAMBDA_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: lambda.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/ttp.hpp>
-#include <boost/mpl/aux_/config/ctps.hpp>
-
-// agurt, 15/jan/02: full-fledged implementation requires both
-// template template parameters _and_ partial specialization
-
-#if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) \
- && ( defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS) \
- || defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
- )
-
-# define BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT
-
-#endif
-
-#endif // BOOST_MPL_AUX_CONFIG_LAMBDA_HPP_INCLUDED
diff --git a/boost/mpl/aux_/config/msvc.hpp b/boost/mpl/aux_/config/msvc.hpp
deleted file mode 100644
index fe89cda..0000000
--- a/boost/mpl/aux_/config/msvc.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_MSVC_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_MSVC_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: msvc.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-
-// BOOST_MSVC is defined here:
-#include <boost/config.hpp>
-
-#endif // BOOST_MPL_AUX_CONFIG_MSVC_HPP_INCLUDED
diff --git a/boost/mpl/aux_/config/msvc_typename.hpp b/boost/mpl/aux_/config/msvc_typename.hpp
deleted file mode 100644
index 603e275..0000000
--- a/boost/mpl/aux_/config/msvc_typename.hpp
+++ /dev/null
@@ -1,26 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_MSVC_TYPENAME_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_MSVC_TYPENAME_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: msvc_typename.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-# define BOOST_MSVC_TYPENAME
-#else
-# define BOOST_MSVC_TYPENAME typename
-#endif
-
-#endif // BOOST_MPL_AUX_CONFIG_MSVC_TYPENAME_HPP_INCLUDED
diff --git a/boost/mpl/aux_/config/nttp.hpp b/boost/mpl/aux_/config/nttp.hpp
deleted file mode 100644
index f8bd39e..0000000
--- a/boost/mpl/aux_/config/nttp.hpp
+++ /dev/null
@@ -1,41 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_NTTP_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_NTTP_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-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: nttp.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-// MSVC 6.5 ICE-s on the code as simple as this (see "aux_/nttp_decl.hpp"
-// for a workaround):
-//
-// namespace std {
-// template< typename Char > struct string;
-// }
-//
-// void foo(std::string<char>);
-//
-// namespace boost { namespace mpl {
-// template< int > struct arg;
-// }}
-
-#if !defined(BOOST_MPL_CFG_NTTP_BUG) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE) \
- && BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-
-# define BOOST_MPL_CFG_NTTP_BUG
-
-#endif
-
-#endif // BOOST_MPL_AUX_CONFIG_NTTP_HPP_INCLUDED
diff --git a/boost/mpl/aux_/config/overload_resolution.hpp b/boost/mpl/aux_/config/overload_resolution.hpp
deleted file mode 100644
index 9de579f..0000000
--- a/boost/mpl/aux_/config/overload_resolution.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_OVERLOAD_RESOLUTION_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_OVERLOAD_RESOLUTION_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: overload_resolution.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#if !defined(BOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE) \
- && ( BOOST_WORKAROUND(__BORLANDC__, < 0x590) \
- || BOOST_WORKAROUND(__MWERKS__, < 0x3001) \
- )
-
-# define BOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION
-
-#endif
-
-#endif // BOOST_MPL_AUX_CONFIG_OVERLOAD_RESOLUTION_HPP_INCLUDED
diff --git a/boost/mpl/aux_/config/pp_counter.hpp b/boost/mpl/aux_/config/pp_counter.hpp
deleted file mode 100644
index 4592272..0000000
--- a/boost/mpl/aux_/config/pp_counter.hpp
+++ /dev/null
@@ -1,26 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_PP_COUNTER_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_PP_COUNTER_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 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/libs/mpl for documentation.
-
-// $Id: pp_counter.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_AUX_PP_COUNTER)
-# include <boost/mpl/aux_/config/msvc.hpp>
-# if BOOST_WORKAROUND(BOOST_MSVC, >= 1300)
-# define BOOST_MPL_AUX_PP_COUNTER() __COUNTER__
-# else
-# define BOOST_MPL_AUX_PP_COUNTER() __LINE__
-# endif
-#endif
-
-#endif // BOOST_MPL_AUX_CONFIG_PP_COUNTER_HPP_INCLUDED
diff --git a/boost/mpl/aux_/config/preprocessor.hpp b/boost/mpl/aux_/config/preprocessor.hpp
deleted file mode 100644
index 39190c4..0000000
--- a/boost/mpl/aux_/config/preprocessor.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_PREPROCESSOR_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_PREPROCESSOR_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: preprocessor.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#if !defined(BOOST_MPL_CFG_BROKEN_PP_MACRO_EXPANSION) \
- && ( BOOST_WORKAROUND(__MWERKS__, <= 0x3003) \
- || BOOST_WORKAROUND(__BORLANDC__, < 0x582) \
- || BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(502)) \
- )
-
-# define BOOST_MPL_CFG_BROKEN_PP_MACRO_EXPANSION
-
-#endif
-
-#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES)
-# define BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES
-#endif
-
-#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING) \
- && BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
-# define BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING
-#endif
-
-
-#endif // BOOST_MPL_AUX_CONFIG_PREPROCESSOR_HPP_INCLUDED
diff --git a/boost/mpl/aux_/config/static_constant.hpp b/boost/mpl/aux_/config/static_constant.hpp
deleted file mode 100644
index 02cf9c4..0000000
--- a/boost/mpl/aux_/config/static_constant.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_STATIC_CONSTANT_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_STATIC_CONSTANT_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: static_constant.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-// BOOST_STATIC_CONSTANT is defined here:
-# include <boost/config.hpp>
-#else
-// undef the macro for the preprocessing mode
-# undef BOOST_STATIC_CONSTANT
-#endif
-
-#endif // BOOST_MPL_AUX_CONFIG_STATIC_CONSTANT_HPP_INCLUDED
diff --git a/boost/mpl/aux_/config/ttp.hpp b/boost/mpl/aux_/config/ttp.hpp
deleted file mode 100644
index 879ec1d..0000000
--- a/boost/mpl/aux_/config/ttp.hpp
+++ /dev/null
@@ -1,41 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_TTP_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_TTP_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: ttp.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/gcc.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS) \
- && ( defined(BOOST_NO_TEMPLATE_TEMPLATES) \
- || BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT( 0x590) ) \
- )
-
-# define BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS
-
-#endif
-
-
-#if !defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE) \
- && ( BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0302)) \
- || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \
- )
-
-# define BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING
-
-#endif
-
-#endif // BOOST_MPL_AUX_CONFIG_TTP_HPP_INCLUDED
diff --git a/boost/mpl/aux_/config/typeof.hpp b/boost/mpl/aux_/config/typeof.hpp
deleted file mode 100644
index 2244d2c..0000000
--- a/boost/mpl/aux_/config/typeof.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_TYPEOF_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_TYPEOF_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2003-2004
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: typeof.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/gcc.hpp>
-
-#if !defined(BOOST_MPL_CFG_HAS_TYPEOF) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE) \
- && ( defined(BOOST_MPL_CFG_GCC) && BOOST_MPL_CFG_GCC >= 0x0302 \
- || defined(__MWERKS__) && __MWERKS__ >= 0x3000 \
- )
-
-# define BOOST_MPL_CFG_HAS_TYPEOF
-
-#endif
-
-
-#if !defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE) \
- && defined(BOOST_MPL_CFG_HAS_TYPEOF)
-
-# define BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
-
-#endif
-
-#endif // BOOST_MPL_AUX_CONFIG_TYPEOF_HPP_INCLUDED
diff --git a/boost/mpl/aux_/config/use_preprocessed.hpp b/boost/mpl/aux_/config/use_preprocessed.hpp
deleted file mode 100644
index 4494366..0000000
--- a/boost/mpl/aux_/config/use_preprocessed.hpp
+++ /dev/null
@@ -1,19 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_USE_PREPROCESSED_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_USE_PREPROCESSED_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: use_preprocessed.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-// #define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_AUX_CONFIG_USE_PREPROCESSED_HPP_INCLUDED
diff --git a/boost/mpl/aux_/config/workaround.hpp b/boost/mpl/aux_/config/workaround.hpp
deleted file mode 100644
index 8ec172f..0000000
--- a/boost/mpl/aux_/config/workaround.hpp
+++ /dev/null
@@ -1,19 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONFIG_WORKAROUND_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONFIG_WORKAROUND_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: workaround.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/detail/workaround.hpp>
-
-#endif // BOOST_MPL_AUX_CONFIG_WORKAROUND_HPP_INCLUDED
diff --git a/boost/mpl/aux_/contains_impl.hpp b/boost/mpl/aux_/contains_impl.hpp
deleted file mode 100644
index 2dcb609..0000000
--- a/boost/mpl/aux_/contains_impl.hpp
+++ /dev/null
@@ -1,61 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_CONTAINS_IMPL_HPP_INCLUDED
-#define BOOST_MPL_AUX_CONTAINS_IMPL_HPP_INCLUDED
-
-// Copyright Eric Friedman 2002
-// Copyright Aleksey Gurtovoy 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: contains_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/contains_fwd.hpp>
-#include <boost/mpl/begin_end.hpp>
-#include <boost/mpl/find.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/mpl/aux_/traits_lambda_spec.hpp>
-#include <boost/mpl/aux_/config/forwarding.hpp>
-#include <boost/mpl/aux_/config/static_constant.hpp>
-
-#include <boost/type_traits/is_same.hpp>
-
-namespace boost { namespace mpl {
-
-template< typename Tag >
-struct contains_impl
-{
- template< typename Sequence, typename T > struct apply
-#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)
- : not_< is_same<
- typename find<Sequence,T>::type
- , typename end<Sequence>::type
- > >
- {
-#else
- {
- typedef not_< is_same<
- typename find<Sequence,T>::type
- , typename end<Sequence>::type
- > > type;
-
- BOOST_STATIC_CONSTANT(bool, value =
- (not_< is_same<
- typename find<Sequence,T>::type
- , typename end<Sequence>::type
- > >::value)
- );
-#endif
- };
-};
-
-BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2,contains_impl)
-
-}}
-
-#endif // BOOST_MPL_AUX_CONTAINS_IMPL_HPP_INCLUDED
diff --git a/boost/mpl/aux_/count_args.hpp b/boost/mpl/aux_/count_args.hpp
deleted file mode 100644
index 1ab000d..0000000
--- a/boost/mpl/aux_/count_args.hpp
+++ /dev/null
@@ -1,105 +0,0 @@
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
-
-// 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: count_args.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/preprocessor/expr_if.hpp>
-#include <boost/preprocessor/inc.hpp>
-#include <boost/preprocessor/cat.hpp>
-
-#if !defined(AUX778076_COUNT_ARGS_PARAM_NAME)
-# define AUX778076_COUNT_ARGS_PARAM_NAME T
-#endif
-
-#if !defined(AUX778076_COUNT_ARGS_TEMPLATE_PARAM)
-# define AUX778076_COUNT_ARGS_TEMPLATE_PARAM typename AUX778076_COUNT_ARGS_PARAM_NAME
-#endif
-
-// local macros, #undef-ined at the end of the header
-
-#if !defined(AUX778076_COUNT_ARGS_USE_STANDARD_PP_PRIMITIVES)
-
-# include <boost/mpl/aux_/preprocessor/repeat.hpp>
-# include <boost/mpl/aux_/preprocessor/params.hpp>
-
-# define AUX778076_COUNT_ARGS_REPEAT BOOST_MPL_PP_REPEAT
-# define AUX778076_COUNT_ARGS_PARAMS(param) \
- BOOST_MPL_PP_PARAMS( \
- AUX778076_COUNT_ARGS_ARITY \
- , param \
- ) \
- /**/
-
-#else
-
-# include <boost/preprocessor/enum_shifted_params.hpp>
-# include <boost/preprocessor/repeat.hpp>
-# include <boost/preprocessor/inc.hpp>
-
-# define AUX778076_COUNT_ARGS_REPEAT BOOST_PP_REPEAT
-# define AUX778076_COUNT_ARGS_PARAMS(param) \
- BOOST_PP_ENUM_SHIFTED_PARAMS( \
- BOOST_PP_INC(AUX778076_COUNT_ARGS_ARITY) \
- , param \
- ) \
- /**/
-
-#endif // AUX778076_COUNT_ARGS_USE_STANDARD_PP_PRIMITIVES
-
-
-#define AUX778076_IS_ARG_TEMPLATE_NAME \
- BOOST_PP_CAT(is_,BOOST_PP_CAT(AUX778076_COUNT_ARGS_PREFIX,_arg)) \
-/**/
-
-#define AUX778076_COUNT_ARGS_FUNC(unused, i, param) \
- BOOST_PP_EXPR_IF(i, +) \
- AUX778076_IS_ARG_TEMPLATE_NAME<BOOST_PP_CAT(param,BOOST_PP_INC(i))>::value \
-/**/
-
-// is_<xxx>_arg
-template< AUX778076_COUNT_ARGS_TEMPLATE_PARAM >
-struct AUX778076_IS_ARG_TEMPLATE_NAME
-{
- BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template<>
-struct AUX778076_IS_ARG_TEMPLATE_NAME<AUX778076_COUNT_ARGS_DEFAULT>
-{
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-// <xxx>_count_args
-template<
- AUX778076_COUNT_ARGS_PARAMS(AUX778076_COUNT_ARGS_TEMPLATE_PARAM)
- >
-struct BOOST_PP_CAT(AUX778076_COUNT_ARGS_PREFIX,_count_args)
-{
- BOOST_STATIC_CONSTANT(int, value = AUX778076_COUNT_ARGS_REPEAT(
- AUX778076_COUNT_ARGS_ARITY
- , AUX778076_COUNT_ARGS_FUNC
- , AUX778076_COUNT_ARGS_PARAM_NAME
- ));
-};
-
-#undef AUX778076_COUNT_ARGS_FUNC
-#undef AUX778076_IS_ARG_TEMPLATE_NAME
-#undef AUX778076_COUNT_ARGS_PARAMS
-#undef AUX778076_COUNT_ARGS_REPEAT
-
-#undef AUX778076_COUNT_ARGS_ARITY
-#undef AUX778076_COUNT_ARGS_DEFAULT
-#undef AUX778076_COUNT_ARGS_PREFIX
-#undef AUX778076_COUNT_ARGS_USE_STANDARD_PP_PRIMITIVES
-#undef AUX778076_COUNT_ARGS_TEMPLATE_PARAM
-#undef AUX778076_COUNT_ARGS_PARAM_NAME
diff --git a/boost/mpl/aux_/find_if_pred.hpp b/boost/mpl/aux_/find_if_pred.hpp
deleted file mode 100644
index c07d89d..0000000
--- a/boost/mpl/aux_/find_if_pred.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_FIND_IF_PRED_HPP_INCLUDED
-#define BOOST_MPL_AUX_FIND_IF_PRED_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Eric Friedman 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/mpl for documentation.
-
-#include <boost/mpl/aux_/iter_apply.hpp>
-#include <boost/mpl/not.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-
-template< typename Predicate >
-struct find_if_pred
-{
- template< typename Iterator >
- struct apply
- {
- typedef not_< aux::iter_apply1<Predicate,Iterator> > type;
- };
-};
-
-}}}
-
-#endif // BOOST_MPL_AUX_FIND_IF_PRED_HPP_INCLUDED
diff --git a/boost/mpl/aux_/fold_impl.hpp b/boost/mpl/aux_/fold_impl.hpp
deleted file mode 100644
index cc64022..0000000
--- a/boost/mpl/aux_/fold_impl.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_FOLD_IMPL_HPP_INCLUDED
-#define BOOST_MPL_AUX_FOLD_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: fold_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-# include <boost/mpl/next_prior.hpp>
-# include <boost/mpl/apply.hpp>
-# include <boost/mpl/deref.hpp>
-# include <boost/mpl/aux_/config/ctps.hpp>
-# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-# include <boost/mpl/if.hpp>
-# include <boost/type_traits/is_same.hpp>
-# endif
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-# define BOOST_MPL_PREPROCESSED_HEADER fold_impl.hpp
-# include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-# define AUX778076_FOLD_IMPL_OP(iter) typename deref<iter>::type
-# define AUX778076_FOLD_IMPL_NAME_PREFIX fold
-# include <boost/mpl/aux_/fold_impl_body.hpp>
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_AUX_FOLD_IMPL_HPP_INCLUDED
diff --git a/boost/mpl/aux_/fold_impl_body.hpp b/boost/mpl/aux_/fold_impl_body.hpp
deleted file mode 100644
index 0750990..0000000
--- a/boost/mpl/aux_/fold_impl_body.hpp
+++ /dev/null
@@ -1,365 +0,0 @@
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
-
-#if !defined(BOOST_PP_IS_ITERATING)
-
-// 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: fold_impl_body.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-# include <boost/mpl/limits/unrolling.hpp>
-# include <boost/mpl/aux_/preprocessor/repeat.hpp>
-# include <boost/mpl/aux_/config/workaround.hpp>
-# include <boost/mpl/aux_/config/ctps.hpp>
-# include <boost/mpl/aux_/nttp_decl.hpp>
-# include <boost/mpl/aux_/config/eti.hpp>
-
-# include <boost/preprocessor/iterate.hpp>
-# include <boost/preprocessor/dec.hpp>
-# include <boost/preprocessor/cat.hpp>
-
-// local macros, #undef-ined at the end of the header
-
-# define AUX778076_ITER_FOLD_STEP(unused, i, unused2) \
- typedef typename apply2< \
- ForwardOp \
- , BOOST_PP_CAT(state,i) \
- , AUX778076_FOLD_IMPL_OP(BOOST_PP_CAT(iter,i)) \
- >::type BOOST_PP_CAT(state,BOOST_PP_INC(i)); \
- typedef typename mpl::next<BOOST_PP_CAT(iter,i)>::type \
- BOOST_PP_CAT(iter,BOOST_PP_INC(i)); \
- /**/
-
-# define AUX778076_FOLD_IMPL_NAME \
- BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_impl) \
- /**/
-
-# define AUX778076_FOLD_CHUNK_NAME \
- BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_chunk) \
- /**/
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-template<
- BOOST_MPL_AUX_NTTP_DECL(int, N)
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct AUX778076_FOLD_IMPL_NAME;
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-# if !BOOST_WORKAROUND(__BORLANDC__, < 0x600)
-
-# define BOOST_PP_ITERATION_PARAMS_1 \
- (3,(0, BOOST_MPL_LIMIT_UNROLLING, <boost/mpl/aux_/fold_impl_body.hpp>))
-# include BOOST_PP_ITERATE()
-
-// implementation for N that exceeds BOOST_MPL_LIMIT_UNROLLING
-template<
- BOOST_MPL_AUX_NTTP_DECL(int, N)
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct AUX778076_FOLD_IMPL_NAME
-{
- typedef AUX778076_FOLD_IMPL_NAME<
- BOOST_MPL_LIMIT_UNROLLING
- , First
- , Last
- , State
- , ForwardOp
- > chunk_;
-
- typedef AUX778076_FOLD_IMPL_NAME<
- ( (N - BOOST_MPL_LIMIT_UNROLLING) < 0 ? 0 : N - BOOST_MPL_LIMIT_UNROLLING )
- , typename chunk_::iterator
- , Last
- , typename chunk_::state
- , ForwardOp
- > res_;
-
- typedef typename res_::state state;
- typedef typename res_::iterator iterator;
-};
-
-// fallback implementation for sequences of unknown size
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct AUX778076_FOLD_IMPL_NAME<-1,First,Last,State,ForwardOp>
- : AUX778076_FOLD_IMPL_NAME<
- -1
- , typename mpl::next<First>::type
- , Last
- , typename apply2<ForwardOp,State,AUX778076_FOLD_IMPL_OP(First)>::type
- , ForwardOp
- >
-{
-};
-
-template<
- typename Last
- , typename State
- , typename ForwardOp
- >
-struct AUX778076_FOLD_IMPL_NAME<-1,Last,Last,State,ForwardOp>
-{
- typedef State state;
- typedef Last iterator;
-};
-
-# else // BOOST_WORKAROUND(__BORLANDC__, < 0x600)
-
-// Borland have some serious problems with the unrolled version, so
-// we always use a basic implementation
-template<
- BOOST_MPL_AUX_NTTP_DECL(int, N)
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct AUX778076_FOLD_IMPL_NAME
-{
- typedef AUX778076_FOLD_IMPL_NAME<
- -1
- , typename mpl::next<First>::type
- , Last
- , typename apply2<ForwardOp,State,AUX778076_FOLD_IMPL_OP(First)>::type
- , ForwardOp
- > res_;
-
- typedef typename res_::state state;
- typedef typename res_::iterator iterator;
- typedef state type;
-};
-
-template<
- BOOST_MPL_AUX_NTTP_DECL(int, N)
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct AUX778076_FOLD_IMPL_NAME<N,Last,Last,State,ForwardOp >
-{
- typedef State state;
- typedef Last iterator;
- typedef state type;
-};
-
-# endif // BOOST_WORKAROUND(__BORLANDC__, < 0x600)
-
-#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-template< BOOST_MPL_AUX_NTTP_DECL(int, N) >
-struct AUX778076_FOLD_CHUNK_NAME;
-
-# define BOOST_PP_ITERATION_PARAMS_1 \
- (3,(0, BOOST_MPL_LIMIT_UNROLLING, <boost/mpl/aux_/fold_impl_body.hpp>))
-# include BOOST_PP_ITERATE()
-
-// implementation for N that exceeds BOOST_MPL_LIMIT_UNROLLING
-template< BOOST_MPL_AUX_NTTP_DECL(int, N) >
-struct AUX778076_FOLD_CHUNK_NAME
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
- struct result_
- {
- typedef AUX778076_FOLD_IMPL_NAME<
- BOOST_MPL_LIMIT_UNROLLING
- , First
- , Last
- , State
- , ForwardOp
- > chunk_;
-
- typedef AUX778076_FOLD_IMPL_NAME<
- ( (N - BOOST_MPL_LIMIT_UNROLLING) < 0 ? 0 : N - BOOST_MPL_LIMIT_UNROLLING )
- , typename chunk_::iterator
- , Last
- , typename chunk_::state
- , ForwardOp
- > res_;
-
- typedef typename res_::state state;
- typedef typename res_::iterator iterator;
- };
-};
-
-// fallback implementation for sequences of unknown size
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_step);
-
-template<
- typename Last
- , typename State
- >
-struct BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_null_step)
-{
- typedef Last iterator;
- typedef State state;
-};
-
-template<>
-struct AUX778076_FOLD_CHUNK_NAME<-1>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
- struct result_
- {
- typedef typename if_<
- typename is_same<First,Last>::type
- , BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_null_step)<Last,State>
- , BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_step)<First,Last,State,ForwardOp>
- >::type res_;
-
- typedef typename res_::state state;
- typedef typename res_::iterator iterator;
- };
-
-#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)
- /// ETI workaround
- template<> struct result_<int,int,int,int>
- {
- typedef int state;
- typedef int iterator;
- };
-#endif
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_step)
-{
- // can't inherit here - it breaks MSVC 7.0
- typedef AUX778076_FOLD_CHUNK_NAME<-1>::template result_<
- typename mpl::next<First>::type
- , Last
- , typename apply2<ForwardOp,State,AUX778076_FOLD_IMPL_OP(First)>::type
- , ForwardOp
- > chunk_;
-
- typedef typename chunk_::state state;
- typedef typename chunk_::iterator iterator;
-};
-
-template<
- BOOST_MPL_AUX_NTTP_DECL(int, N)
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct AUX778076_FOLD_IMPL_NAME
- : AUX778076_FOLD_CHUNK_NAME<N>
- ::template result_<First,Last,State,ForwardOp>
-{
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-}}}
-
-# undef AUX778076_FOLD_IMPL_NAME
-# undef AUX778076_FOLD_CHUNK_NAME
-# undef AUX778076_ITER_FOLD_STEP
-
-#undef AUX778076_FOLD_IMPL_OP
-#undef AUX778076_FOLD_IMPL_NAME_PREFIX
-
-///// iteration
-
-#else
-
-# define n_ BOOST_PP_FRAME_ITERATION(1)
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct AUX778076_FOLD_IMPL_NAME<n_,First,Last,State,ForwardOp>
-{
- typedef First iter0;
- typedef State state0;
-
- BOOST_MPL_PP_REPEAT(n_, AUX778076_ITER_FOLD_STEP, unused)
-
- typedef BOOST_PP_CAT(state,n_) state;
- typedef BOOST_PP_CAT(iter,n_) iterator;
-};
-
-#else
-
-template<> struct AUX778076_FOLD_CHUNK_NAME<n_>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State state0;
-
- BOOST_MPL_PP_REPEAT(n_, AUX778076_ITER_FOLD_STEP, unused)
-
- typedef BOOST_PP_CAT(state,n_) state;
- typedef BOOST_PP_CAT(iter,n_) iterator;
- };
-
-#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)
- /// ETI workaround
- template<> struct result_<int,int,int,int>
- {
- typedef int state;
- typedef int iterator;
- };
-#endif
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-# undef n_
-
-#endif // BOOST_PP_IS_ITERATING
diff --git a/boost/mpl/aux_/full_lambda.hpp b/boost/mpl/aux_/full_lambda.hpp
deleted file mode 100644
index e931199..0000000
--- a/boost/mpl/aux_/full_lambda.hpp
+++ /dev/null
@@ -1,354 +0,0 @@
-
-#if !defined(BOOST_PP_IS_ITERATING)
-
-///// header body
-
-#ifndef BOOST_MPL_AUX_FULL_LAMBDA_HPP_INCLUDED
-#define BOOST_MPL_AUX_FULL_LAMBDA_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-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: full_lambda.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-# include <boost/mpl/lambda_fwd.hpp>
-# include <boost/mpl/bind_fwd.hpp>
-# include <boost/mpl/protect.hpp>
-# include <boost/mpl/quote.hpp>
-# include <boost/mpl/arg.hpp>
-# include <boost/mpl/bool.hpp>
-# include <boost/mpl/int_fwd.hpp>
-# include <boost/mpl/aux_/template_arity.hpp>
-# include <boost/mpl/aux_/na_spec.hpp>
-# include <boost/mpl/aux_/config/ttp.hpp>
-# if defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING)
-# include <boost/mpl/if.hpp>
-# endif
-#endif
-
-#include <boost/mpl/aux_/lambda_arity_param.hpp>
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-# define BOOST_MPL_PREPROCESSED_HEADER full_lambda.hpp
-# include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-# include <boost/mpl/limits/arity.hpp>
-# include <boost/mpl/aux_/preprocessor/default_params.hpp>
-# include <boost/mpl/aux_/preprocessor/params.hpp>
-# include <boost/mpl/aux_/preprocessor/enum.hpp>
-# include <boost/mpl/aux_/preprocessor/repeat.hpp>
-# include <boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp>
-
-# include <boost/preprocessor/iterate.hpp>
-# include <boost/preprocessor/comma_if.hpp>
-# include <boost/preprocessor/inc.hpp>
-# include <boost/preprocessor/cat.hpp>
-
-namespace boost { namespace mpl {
-
-// local macros, #undef-ined at the end of the header
-# define AUX778076_LAMBDA_PARAMS(i_, param) \
- BOOST_MPL_PP_PARAMS(i_, param) \
- /**/
-
-# define AUX778076_BIND_PARAMS(param) \
- BOOST_MPL_PP_PARAMS( \
- BOOST_MPL_LIMIT_METAFUNCTION_ARITY \
- , param \
- ) \
- /**/
-
-# define AUX778076_BIND_N_PARAMS(i_, param) \
- BOOST_PP_COMMA_IF(i_) \
- BOOST_MPL_PP_PARAMS(i_, param) \
- /**/
-
-# define AUX778076_ARITY_PARAM(param) \
- BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(param) \
- /**/
-
-
-#define n_ BOOST_MPL_LIMIT_METAFUNCTION_ARITY
-namespace aux {
-
-template<
- BOOST_MPL_PP_DEFAULT_PARAMS(n_,bool C,false)
- >
-struct lambda_or
- : true_
-{
-};
-
-template<>
-struct lambda_or< BOOST_MPL_PP_ENUM(n_,false) >
- : false_
-{
-};
-
-} // namespace aux
-#undef n_
-
-template<
- typename T
- , typename Tag
- AUX778076_ARITY_PARAM(typename Arity)
- >
-struct lambda
-{
- typedef false_ is_le;
- typedef T result_;
- typedef T type;
-};
-
-template<
- typename T
- >
-struct is_lambda_expression
- : lambda<T>::is_le
-{
-};
-
-
-template< int N, typename Tag >
-struct lambda< arg<N>,Tag AUX778076_ARITY_PARAM(int_<-1>) >
-{
- typedef true_ is_le;
- typedef mpl::arg<N> result_; // qualified for the sake of MIPSpro 7.41
- typedef mpl::protect<result_> type;
-};
-
-
-#define BOOST_PP_ITERATION_PARAMS_1 \
- (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, <boost/mpl/aux_/full_lambda.hpp>))
-#include BOOST_PP_ITERATE()
-
-/// special case for 'protect'
-template< typename T, typename Tag >
-struct lambda< mpl::protect<T>,Tag AUX778076_ARITY_PARAM(int_<1>) >
-{
- typedef false_ is_le;
- typedef mpl::protect<T> result_;
- typedef result_ type;
-};
-
-/// specializations for the main 'bind' form
-template<
- typename F, AUX778076_BIND_PARAMS(typename T)
- , typename Tag
- >
-struct lambda<
- bind<F,AUX778076_BIND_PARAMS(T)>
- , Tag
- AUX778076_ARITY_PARAM(int_<BOOST_PP_INC(BOOST_MPL_LIMIT_METAFUNCTION_ARITY)>)
- >
-{
- typedef false_ is_le;
- typedef bind<F, AUX778076_BIND_PARAMS(T)> result_;
- typedef result_ type;
-};
-
-
-#if defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING)
-
-template<
- typename F
- , typename Tag1
- , typename Tag2
- , typename Arity
- >
-struct lambda<
- lambda<F,Tag1,Arity>
- , Tag2
- , int_<3>
- >
-{
- typedef lambda< F,Tag2 > l1;
- typedef lambda< Tag1,Tag2 > l2;
-
- typedef typename l1::is_le is_le;
- typedef bind1< quote1<aux::template_arity>, typename l1::result_ > arity_;
- typedef lambda< typename if_<is_le,arity_,Arity>::type,Tag2 > l3;
-
- typedef aux::le_result3<is_le, Tag2, mpl::lambda, l1, l2, l3> le_result_;
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-#elif !defined(BOOST_MPL_CFG_DMC_AMBIGUOUS_CTPS)
-
-/// workaround for MWCW 8.3+/EDG < 303, leads to ambiguity on Digital Mars
-template<
- typename F, typename Tag1, typename Tag2
- >
-struct lambda<
- lambda< F,Tag1 >
- , Tag2
- >
-{
- typedef lambda< F,Tag2 > l1;
- typedef lambda< Tag1,Tag2 > l2;
-
- typedef typename l1::is_le is_le;
- typedef aux::le_result2<is_le, Tag2, mpl::lambda, l1, l2> le_result_;
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-#endif
-
-# undef AUX778076_ARITY_PARAM
-# undef AUX778076_BIND_N_PARAMS
-# undef AUX778076_BIND_PARAMS
-# undef AUX778076_LAMBDA_PARAMS
-
-#if !defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING)
-BOOST_MPL_AUX_NA_SPEC(2, lambda)
-#else
-BOOST_MPL_AUX_NA_SPEC2(2, 3, lambda)
-#endif
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_AUX_FULL_LAMBDA_HPP_INCLUDED
-
-///// iteration, depth == 1
-
-// For gcc 4.4 compatability, we must include the
-// BOOST_PP_ITERATION_DEPTH test inside an #else clause.
-#else // BOOST_PP_IS_ITERATING
-#if BOOST_PP_ITERATION_DEPTH() == 1
-#define i_ BOOST_PP_FRAME_ITERATION(1)
-
-#if i_ > 0
-
-namespace aux {
-
-# define AUX778076_RESULT(unused, i_, T) \
- BOOST_PP_COMMA_IF(i_) \
- typename BOOST_PP_CAT(T, BOOST_PP_INC(i_))::result_ \
- /**/
-
-# define AUX778076_TYPE(unused, i_, T) \
- BOOST_PP_COMMA_IF(i_) \
- typename BOOST_PP_CAT(T, BOOST_PP_INC(i_))::type \
- /**/
-
-template<
- typename IsLE, typename Tag
- , template< AUX778076_LAMBDA_PARAMS(i_, typename P) > class F
- , AUX778076_LAMBDA_PARAMS(i_, typename L)
- >
-struct BOOST_PP_CAT(le_result,i_)
-{
- typedef F<
- BOOST_MPL_PP_REPEAT(i_, AUX778076_TYPE, L)
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< AUX778076_LAMBDA_PARAMS(i_, typename P) > class F
- , AUX778076_LAMBDA_PARAMS(i_, typename L)
- >
-struct BOOST_PP_CAT(le_result,i_)< true_,Tag,F,AUX778076_LAMBDA_PARAMS(i_, L) >
-{
- typedef BOOST_PP_CAT(bind,i_)<
- BOOST_PP_CAT(quote,i_)<F,Tag>
- , BOOST_MPL_PP_REPEAT(i_, AUX778076_RESULT, L)
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-# undef AUX778076_TYPE
-# undef AUX778076_RESULT
-
-} // namespace aux
-
-
-# define AUX778076_LAMBDA_TYPEDEF(unused, i_, T) \
- typedef lambda< BOOST_PP_CAT(T, BOOST_PP_INC(i_)), Tag > \
- BOOST_PP_CAT(l,BOOST_PP_INC(i_)); \
-/**/
-
-# define AUX778076_IS_LE_TYPEDEF(unused, i_, unused2) \
- typedef typename BOOST_PP_CAT(l,BOOST_PP_INC(i_))::is_le \
- BOOST_PP_CAT(is_le,BOOST_PP_INC(i_)); \
-/**/
-
-# define AUX778076_IS_LAMBDA_EXPR(unused, i_, unused2) \
- BOOST_PP_COMMA_IF(i_) \
- BOOST_PP_CAT(is_le,BOOST_PP_INC(i_))::value \
-/**/
-
-template<
- template< AUX778076_LAMBDA_PARAMS(i_, typename P) > class F
- , AUX778076_LAMBDA_PARAMS(i_, typename T)
- , typename Tag
- >
-struct lambda<
- F<AUX778076_LAMBDA_PARAMS(i_, T)>
- , Tag
- AUX778076_ARITY_PARAM(int_<i_>)
- >
-{
- BOOST_MPL_PP_REPEAT(i_, AUX778076_LAMBDA_TYPEDEF, T)
- BOOST_MPL_PP_REPEAT(i_, AUX778076_IS_LE_TYPEDEF, unused)
-
- typedef typename aux::lambda_or<
- BOOST_MPL_PP_REPEAT(i_, AUX778076_IS_LAMBDA_EXPR, unused)
- >::type is_le;
-
- typedef aux::BOOST_PP_CAT(le_result,i_)<
- is_le, Tag, F, AUX778076_LAMBDA_PARAMS(i_, l)
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-
-# undef AUX778076_IS_LAMBDA_EXPR
-# undef AUX778076_IS_LE_TYPEDEF
-# undef AUX778076_LAMBDA_TYPEDEF
-
-#endif // i_ > 0
-
-template<
- typename F AUX778076_BIND_N_PARAMS(i_, typename T)
- , typename Tag
- >
-struct lambda<
- BOOST_PP_CAT(bind,i_)<F AUX778076_BIND_N_PARAMS(i_, T)>
- , Tag
- AUX778076_ARITY_PARAM(int_<BOOST_PP_INC(i_)>)
- >
-{
- typedef false_ is_le;
- typedef BOOST_PP_CAT(bind,i_)<
- F
- AUX778076_BIND_N_PARAMS(i_, T)
- > result_;
-
- typedef result_ type;
-};
-
-#undef i_
-#endif // BOOST_PP_ITERATION_DEPTH()
-#endif // BOOST_PP_IS_ITERATING
diff --git a/boost/mpl/aux_/has_apply.hpp b/boost/mpl/aux_/has_apply.hpp
deleted file mode 100644
index cfb496e..0000000
--- a/boost/mpl/aux_/has_apply.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_HAS_APPLY_HPP_INCLUDED
-#define BOOST_MPL_AUX_HAS_APPLY_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 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: has_apply.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/has_xxx.hpp>
-#include <boost/mpl/aux_/config/has_apply.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-#if !defined(BOOST_MPL_CFG_NO_HAS_APPLY)
-BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_apply, apply, false)
-#else
-template< typename T, typename fallback_ = false_ >
-struct has_apply
- : fallback_
-{
-};
-#endif
-}}}
-
-#endif // BOOST_MPL_AUX_HAS_APPLY_HPP_INCLUDED
diff --git a/boost/mpl/aux_/has_begin.hpp b/boost/mpl/aux_/has_begin.hpp
deleted file mode 100644
index c2b3bdb..0000000
--- a/boost/mpl/aux_/has_begin.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_HAS_BEGIN_HPP_INCLUDED
-#define BOOST_MPL_AUX_HAS_BEGIN_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: has_begin.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/has_xxx.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_begin, begin, true)
-}}}
-
-#endif // BOOST_MPL_AUX_HAS_BEGIN_HPP_INCLUDED
diff --git a/boost/mpl/aux_/has_rebind.hpp b/boost/mpl/aux_/has_rebind.hpp
deleted file mode 100644
index f07e79e..0000000
--- a/boost/mpl/aux_/has_rebind.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_HAS_REBIND_HPP_INCLUDED
-#define BOOST_MPL_AUX_HAS_REBIND_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: has_rebind.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/intel.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#if BOOST_WORKAROUND(__EDG_VERSION__, <= 244) && !defined(BOOST_INTEL_CXX_VERSION)
-# include <boost/mpl/has_xxx.hpp>
-#elif BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-# include <boost/mpl/has_xxx.hpp>
-# include <boost/mpl/if.hpp>
-# include <boost/mpl/bool.hpp>
-# include <boost/mpl/aux_/msvc_is_class.hpp>
-#elif BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610))
-# include <boost/mpl/if.hpp>
-# include <boost/mpl/bool.hpp>
-# include <boost/mpl/aux_/yes_no.hpp>
-# include <boost/mpl/aux_/config/static_constant.hpp>
-# include <boost/type_traits/is_class.hpp>
-#else
-# include <boost/mpl/aux_/type_wrapper.hpp>
-# include <boost/mpl/aux_/yes_no.hpp>
-# include <boost/mpl/aux_/config/static_constant.hpp>
-#endif
-
-namespace boost { namespace mpl { namespace aux {
-
-#if BOOST_WORKAROUND(__EDG_VERSION__, <= 244) && !defined(BOOST_INTEL_CXX_VERSION)
-
-BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_rebind, rebind, false)
-
-#elif BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-
-BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_rebind_impl, rebind, false)
-
-template< typename T >
-struct has_rebind
- : if_<
- msvc_is_class<T>
- , has_rebind_impl<T>
- , bool_<false>
- >::type
-{
-};
-
-#else // the rest
-
-template< typename T > struct has_rebind_tag {};
-no_tag operator|(has_rebind_tag<int>, void const volatile*);
-
-# if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610))
-template< typename T >
-struct has_rebind
-{
- static has_rebind_tag<T>* get();
- BOOST_STATIC_CONSTANT(bool, value =
- sizeof(has_rebind_tag<int>() | get()) == sizeof(yes_tag)
- );
-};
-# else // __BORLANDC__
-template< typename T >
-struct has_rebind_impl
-{
- static T* get();
- BOOST_STATIC_CONSTANT(bool, value =
- sizeof(has_rebind_tag<int>() | get()) == sizeof(yes_tag)
- );
-};
-
-template< typename T >
-struct has_rebind
- : if_<
- is_class<T>
- , has_rebind_impl<T>
- , bool_<false>
- >::type
-{
-};
-# endif // __BORLANDC__
-
-#endif
-
-}}}
-
-#endif // BOOST_MPL_AUX_HAS_REBIND_HPP_INCLUDED
diff --git a/boost/mpl/aux_/has_size.hpp b/boost/mpl/aux_/has_size.hpp
deleted file mode 100644
index 23588af..0000000
--- a/boost/mpl/aux_/has_size.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_HAS_SIZE_HPP_INCLUDED
-#define BOOST_MPL_AUX_HAS_SIZE_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: has_size.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/has_xxx.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-BOOST_MPL_HAS_XXX_TRAIT_DEF(size)
-}}}
-
-#endif // BOOST_MPL_AUX_HAS_SIZE_HPP_INCLUDED
diff --git a/boost/mpl/aux_/has_tag.hpp b/boost/mpl/aux_/has_tag.hpp
deleted file mode 100644
index 915a8b6..0000000
--- a/boost/mpl/aux_/has_tag.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_HAS_TAG_HPP_INCLUDED
-#define BOOST_MPL_AUX_HAS_TAG_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: has_tag.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/has_xxx.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_tag, tag, false)
-}}}
-
-#endif // BOOST_MPL_AUX_HAS_TAG_HPP_INCLUDED
diff --git a/boost/mpl/aux_/has_type.hpp b/boost/mpl/aux_/has_type.hpp
deleted file mode 100644
index 4f05072..0000000
--- a/boost/mpl/aux_/has_type.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_HAS_TYPE_HPP_INCLUDED
-#define BOOST_MPL_AUX_HAS_TYPE_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: has_type.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/has_xxx.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_type, type, true)
-}}}
-
-#endif // BOOST_MPL_AUX_HAS_TYPE_HPP_INCLUDED
diff --git a/boost/mpl/aux_/include_preprocessed.hpp b/boost/mpl/aux_/include_preprocessed.hpp
deleted file mode 100644
index 162b05c..0000000
--- a/boost/mpl/aux_/include_preprocessed.hpp
+++ /dev/null
@@ -1,42 +0,0 @@
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
-
-// Copyright Aleksey Gurtovoy 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)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: include_preprocessed.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/compiler.hpp>
-#include <boost/mpl/aux_/config/preprocessor.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/stringize.hpp>
-
-#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING)
-# define AUX778076_PREPROCESSED_HEADER \
- BOOST_MPL_CFG_COMPILER_DIR/BOOST_MPL_PREPROCESSED_HEADER \
-/**/
-#else
-# define AUX778076_PREPROCESSED_HEADER \
- BOOST_PP_CAT(BOOST_MPL_CFG_COMPILER_DIR,/)##BOOST_MPL_PREPROCESSED_HEADER \
-/**/
-#endif
-
-#if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(700))
-# define AUX778076_INCLUDE_STRING BOOST_PP_STRINGIZE(boost/mpl/aux_/preprocessed/AUX778076_PREPROCESSED_HEADER)
-# include AUX778076_INCLUDE_STRING
-# undef AUX778076_INCLUDE_STRING
-#else
-# include BOOST_PP_STRINGIZE(boost/mpl/aux_/preprocessed/AUX778076_PREPROCESSED_HEADER)
-#endif
-
-# undef AUX778076_PREPROCESSED_HEADER
-
-#undef BOOST_MPL_PREPROCESSED_HEADER
diff --git a/boost/mpl/aux_/inserter_algorithm.hpp b/boost/mpl/aux_/inserter_algorithm.hpp
deleted file mode 100644
index 2d7e1d9..0000000
--- a/boost/mpl/aux_/inserter_algorithm.hpp
+++ /dev/null
@@ -1,159 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_INSERTER_ALGORITHM_HPP_INCLUDED
-#define BOOST_MPL_AUX_INSERTER_ALGORITHM_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: inserter_algorithm.hpp 55648 2009-08-18 05:16:53Z agurtovoy $
-// $Date: 2009-08-17 22:16:53 -0700 (Mon, 17 Aug 2009) $
-// $Revision: 55648 $
-
-#include <boost/mpl/back_inserter.hpp>
-#include <boost/mpl/front_inserter.hpp>
-#include <boost/mpl/push_back.hpp>
-#include <boost/mpl/push_front.hpp>
-#include <boost/mpl/back_inserter.hpp>
-#include <boost/mpl/front_inserter.hpp>
-#include <boost/mpl/clear.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/aux_/na.hpp>
-#include <boost/mpl/aux_/common_name_wknd.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/preprocessor/params.hpp>
-#include <boost/mpl/aux_/preprocessor/default_params.hpp>
-#include <boost/mpl/aux_/config/ctps.hpp>
-
-#include <boost/preprocessor/arithmetic/dec.hpp>
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-# define BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(arity, name) \
-BOOST_MPL_AUX_COMMON_NAME_WKND(name) \
-template< \
- BOOST_MPL_PP_DEFAULT_PARAMS(arity, typename P, na) \
- > \
-struct name \
- : aux::name##_impl<BOOST_MPL_PP_PARAMS(arity, P)> \
-{ \
-}; \
-\
-template< \
- BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), typename P) \
- > \
-struct name< BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P),na > \
- : if_< has_push_back< typename clear<P1>::type> \
- , aux::name##_impl< \
- BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P) \
- , back_inserter< typename clear<P1>::type > \
- > \
- , aux::reverse_##name##_impl< \
- BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P) \
- , front_inserter< typename clear<P1>::type > \
- > \
- >::type \
-{ \
-}; \
-\
-template< \
- BOOST_MPL_PP_DEFAULT_PARAMS(arity, typename P, na) \
- > \
-struct reverse_##name \
- : aux::reverse_##name##_impl<BOOST_MPL_PP_PARAMS(arity, P)> \
-{ \
-}; \
-\
-template< \
- BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), typename P) \
- > \
-struct reverse_##name< BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P),na > \
- : if_< has_push_back<P1> \
- , aux::reverse_##name##_impl< \
- BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P) \
- , back_inserter< typename clear<P1>::type > \
- > \
- , aux::name##_impl< \
- BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P) \
- , front_inserter< typename clear<P1>::type > \
- > \
- >::type \
-{ \
-}; \
-BOOST_MPL_AUX_NA_SPEC(arity, name) \
-BOOST_MPL_AUX_NA_SPEC(arity, reverse_##name) \
-/**/
-
-#else
-
-# define BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(arity, name) \
-BOOST_MPL_AUX_COMMON_NAME_WKND(name) \
-template< \
- BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), typename P) \
- > \
-struct def_##name##_impl \
- : if_< has_push_back<P1> \
- , aux::name##_impl< \
- BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P) \
- , back_inserter< typename clear<P1>::type > \
- > \
- , aux::reverse_##name##_impl< \
- BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P) \
- , front_inserter< typename clear<P1>::type > \
- > \
- >::type \
-{ \
-}; \
-\
-template< \
- BOOST_MPL_PP_DEFAULT_PARAMS(arity, typename P, na) \
- > \
-struct name \
-{ \
- typedef typename eval_if< \
- is_na<BOOST_PP_CAT(P, arity)> \
- , def_##name##_impl<BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P)> \
- , aux::name##_impl<BOOST_MPL_PP_PARAMS(arity, P)> \
- >::type type; \
-}; \
-\
-template< \
- BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), typename P) \
- > \
-struct def_reverse_##name##_impl \
- : if_< has_push_back<P1> \
- , aux::reverse_##name##_impl< \
- BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P) \
- , back_inserter< typename clear<P1>::type > \
- > \
- , aux::name##_impl< \
- BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P) \
- , front_inserter< typename clear<P1>::type > \
- > \
- >::type \
-{ \
-}; \
-template< \
- BOOST_MPL_PP_DEFAULT_PARAMS(arity, typename P, na) \
- > \
-struct reverse_##name \
-{ \
- typedef typename eval_if< \
- is_na<BOOST_PP_CAT(P, arity)> \
- , def_reverse_##name##_impl<BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P)> \
- , aux::reverse_##name##_impl<BOOST_MPL_PP_PARAMS(arity, P)> \
- >::type type; \
-}; \
-BOOST_MPL_AUX_NA_SPEC(arity, name) \
-BOOST_MPL_AUX_NA_SPEC(arity, reverse_##name) \
-/**/
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-#endif // BOOST_MPL_AUX_INSERTER_ALGORITHM_HPP_INCLUDED
diff --git a/boost/mpl/aux_/integral_wrapper.hpp b/boost/mpl/aux_/integral_wrapper.hpp
deleted file mode 100644
index d36e7cb..0000000
--- a/boost/mpl/aux_/integral_wrapper.hpp
+++ /dev/null
@@ -1,93 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 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)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: integral_wrapper.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION!
-
-#include <boost/mpl/integral_c_tag.hpp>
-#include <boost/mpl/aux_/static_cast.hpp>
-#include <boost/mpl/aux_/nttp_decl.hpp>
-#include <boost/mpl/aux_/config/static_constant.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#include <boost/preprocessor/cat.hpp>
-
-#if !defined(AUX_WRAPPER_NAME)
-# define AUX_WRAPPER_NAME BOOST_PP_CAT(AUX_WRAPPER_VALUE_TYPE,_)
-#endif
-
-#if !defined(AUX_WRAPPER_PARAMS)
-# define AUX_WRAPPER_PARAMS(N) BOOST_MPL_AUX_NTTP_DECL(AUX_WRAPPER_VALUE_TYPE, N)
-#endif
-
-#if !defined(AUX_WRAPPER_INST)
-# if BOOST_WORKAROUND(__MWERKS__, <= 0x2407)
-# define AUX_WRAPPER_INST(value) AUX_WRAPPER_NAME< value >
-# else
-# define AUX_WRAPPER_INST(value) BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::AUX_WRAPPER_NAME< value >
-# endif
-#endif
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-
-template< AUX_WRAPPER_PARAMS(N) >
-struct AUX_WRAPPER_NAME
-{
- BOOST_STATIC_CONSTANT(AUX_WRAPPER_VALUE_TYPE, value = N);
-// agurt, 08/mar/03: SGI MIPSpro C++ workaround, have to #ifdef because some
-// other compilers (e.g. MSVC) are not particulary happy about it
-#if BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
- typedef struct AUX_WRAPPER_NAME type;
-#else
- typedef AUX_WRAPPER_NAME type;
-#endif
- typedef AUX_WRAPPER_VALUE_TYPE value_type;
- typedef integral_c_tag tag;
-
-// have to #ifdef here: some compilers don't like the 'N + 1' form (MSVC),
-// while some other don't like 'value + 1' (Borland), and some don't like
-// either
-#if BOOST_WORKAROUND(__EDG_VERSION__, <= 243)
- private:
- BOOST_STATIC_CONSTANT(AUX_WRAPPER_VALUE_TYPE, next_value = BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (N + 1)));
- BOOST_STATIC_CONSTANT(AUX_WRAPPER_VALUE_TYPE, prior_value = BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (N - 1)));
- public:
- typedef AUX_WRAPPER_INST(next_value) next;
- typedef AUX_WRAPPER_INST(prior_value) prior;
-#elif BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x561)) \
- || BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(502)) \
- || (BOOST_WORKAROUND(__HP_aCC, <= 53800) && (BOOST_WORKAROUND(__hpxstd98, != 1)))
- typedef AUX_WRAPPER_INST( BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (N + 1)) ) next;
- typedef AUX_WRAPPER_INST( BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (N - 1)) ) prior;
-#else
- typedef AUX_WRAPPER_INST( BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (value + 1)) ) next;
- typedef AUX_WRAPPER_INST( BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (value - 1)) ) prior;
-#endif
-
- // enables uniform function call syntax for families of overloaded
- // functions that return objects of both arithmetic ('int', 'long',
- // 'double', etc.) and wrapped integral types (for an example, see
- // "mpl/example/power.cpp")
- operator AUX_WRAPPER_VALUE_TYPE() const { return static_cast<AUX_WRAPPER_VALUE_TYPE>(this->value); }
-};
-
-#if !defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION)
-template< AUX_WRAPPER_PARAMS(N) >
-AUX_WRAPPER_VALUE_TYPE const AUX_WRAPPER_INST(N)::value;
-#endif
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-
-#undef AUX_WRAPPER_NAME
-#undef AUX_WRAPPER_PARAMS
-#undef AUX_WRAPPER_INST
-#undef AUX_WRAPPER_VALUE_TYPE
diff --git a/boost/mpl/aux_/is_msvc_eti_arg.hpp b/boost/mpl/aux_/is_msvc_eti_arg.hpp
deleted file mode 100644
index 917b57c..0000000
--- a/boost/mpl/aux_/is_msvc_eti_arg.hpp
+++ /dev/null
@@ -1,64 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_IS_MSVC_ETI_ARG_HPP_INCLUDED
-#define BOOST_MPL_AUX_IS_MSVC_ETI_ARG_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-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: is_msvc_eti_arg.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/yes_no.hpp>
-#include <boost/mpl/aux_/config/eti.hpp>
-#include <boost/mpl/aux_/config/static_constant.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-
-#if defined(BOOST_MPL_CFG_MSVC_ETI_BUG)
-
-#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)
-
-template< typename T >
-struct is_msvc_eti_arg
-{
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-#else // BOOST_MPL_CFG_MSVC_60_ETI_BUG
-
-struct eti_int_convertible
-{
- eti_int_convertible(int);
-};
-
-template< typename T >
-struct is_msvc_eti_arg
-{
- static no_tag test(...);
- static yes_tag test(eti_int_convertible);
- static T& get();
-
- BOOST_STATIC_CONSTANT(bool, value =
- sizeof(test(get())) == sizeof(yes_tag)
- );
-};
-
-#endif
-
-template<>
-struct is_msvc_eti_arg<int>
-{
- BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-#endif // BOOST_MPL_CFG_MSVC_ETI_BUG
-
-}}}
-
-#endif // BOOST_MPL_AUX_IS_MSVC_ETI_ARG_HPP_INCLUDED
diff --git a/boost/mpl/aux_/iter_apply.hpp b/boost/mpl/aux_/iter_apply.hpp
deleted file mode 100644
index fee4d81..0000000
--- a/boost/mpl/aux_/iter_apply.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-
-#ifndef BOOST_MPL_ITER_APPLY_HPP_INCLUDED
-#define BOOST_MPL_ITER_APPLY_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: iter_apply.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/apply.hpp>
-#include <boost/mpl/deref.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-
-template<
- typename F
- , typename Iterator
- >
-struct iter_apply1
- : apply1< F,typename deref<Iterator>::type >
-{
-};
-
-template<
- typename F
- , typename Iterator1
- , typename Iterator2
- >
-struct iter_apply2
- : apply2<
- F
- , typename deref<Iterator1>::type
- , typename deref<Iterator2>::type
- >
-{
-};
-
-}}}
-
-#endif // BOOST_MPL_ITER_APPLY_HPP_INCLUDED
diff --git a/boost/mpl/aux_/iter_fold_if_impl.hpp b/boost/mpl/aux_/iter_fold_if_impl.hpp
deleted file mode 100644
index ad80250..0000000
--- a/boost/mpl/aux_/iter_fold_if_impl.hpp
+++ /dev/null
@@ -1,210 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_ITER_FOLD_IF_IMPL_HPP_INCLUDED
-#define BOOST_MPL_AUX_ITER_FOLD_IF_IMPL_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright David Abrahams 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/mpl for documentation.
-
-// $Id: iter_fold_if_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-# include <boost/mpl/identity.hpp>
-# include <boost/mpl/next.hpp>
-# include <boost/mpl/if.hpp>
-# include <boost/mpl/apply.hpp>
-# include <boost/mpl/aux_/value_wknd.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-# define BOOST_MPL_PREPROCESSED_HEADER iter_fold_if_impl.hpp
-# include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-# include <boost/mpl/limits/unrolling.hpp>
-# include <boost/preprocessor/arithmetic/sub.hpp>
-# include <boost/preprocessor/repeat.hpp>
-# include <boost/preprocessor/inc.hpp>
-# include <boost/preprocessor/dec.hpp>
-# include <boost/preprocessor/cat.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-
-template< typename Iterator, typename State >
-struct iter_fold_if_null_step
-{
- typedef State state;
- typedef Iterator iterator;
-};
-
-template< bool >
-struct iter_fold_if_step_impl
-{
- template<
- typename Iterator
- , typename State
- , typename StateOp
- , typename IteratorOp
- >
- struct result_
- {
- typedef typename apply2<StateOp,State,Iterator>::type state;
- typedef typename IteratorOp::type iterator;
- };
-};
-
-template<>
-struct iter_fold_if_step_impl<false>
-{
- template<
- typename Iterator
- , typename State
- , typename StateOp
- , typename IteratorOp
- >
- struct result_
- {
- typedef State state;
- typedef Iterator iterator;
- };
-};
-
-// agurt, 25/jun/02: MSVC 6.5 workaround, had to get rid of inheritance
-// here and in 'iter_fold_if_backward_step', because sometimes it interfered
-// with the "early template instantiation bug" in _really_ ugly ways
-template<
- typename Iterator
- , typename State
- , typename ForwardOp
- , typename Predicate
- >
-struct iter_fold_if_forward_step
-{
- typedef typename apply2<Predicate,State,Iterator>::type not_last;
- typedef typename iter_fold_if_step_impl<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
- >::template result_< Iterator,State,ForwardOp,mpl::next<Iterator> > impl_;
-
- typedef typename impl_::state state;
- typedef typename impl_::iterator iterator;
-};
-
-template<
- typename Iterator
- , typename State
- , typename BackwardOp
- , typename Predicate
- >
-struct iter_fold_if_backward_step
-{
- typedef typename apply2<Predicate,State,Iterator>::type not_last;
- typedef typename iter_fold_if_step_impl<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
- >::template result_< Iterator,State,BackwardOp,identity<Iterator> > impl_;
-
- typedef typename impl_::state state;
- typedef typename impl_::iterator iterator;
-};
-
-
-// local macros, #undef-ined at the end of the header
-
-# define AUX_ITER_FOLD_FORWARD_STEP(unused, i, unused2) \
- typedef iter_fold_if_forward_step< \
- typename BOOST_PP_CAT(forward_step,i)::iterator \
- , typename BOOST_PP_CAT(forward_step,i)::state \
- , ForwardOp \
- , ForwardPredicate \
- > BOOST_PP_CAT(forward_step, BOOST_PP_INC(i)); \
- /**/
-
-# define AUX_ITER_FOLD_BACKWARD_STEP_FUNC(i) \
- typedef iter_fold_if_backward_step< \
- typename BOOST_PP_CAT(forward_step,BOOST_PP_DEC(i))::iterator \
- , typename BOOST_PP_CAT(backward_step,i)::state \
- , BackwardOp \
- , BackwardPredicate \
- > BOOST_PP_CAT(backward_step,BOOST_PP_DEC(i)); \
- /**/
-
-# define AUX_ITER_FOLD_BACKWARD_STEP(unused, i, unused2) \
- AUX_ITER_FOLD_BACKWARD_STEP_FUNC( \
- BOOST_PP_SUB_D(1,BOOST_MPL_LIMIT_UNROLLING,i) \
- ) \
- /**/
-
-# define AUX_LAST_FORWARD_STEP \
- BOOST_PP_CAT(forward_step, BOOST_MPL_LIMIT_UNROLLING) \
- /**/
-
-# define AUX_LAST_BACKWARD_STEP \
- BOOST_PP_CAT(backward_step, BOOST_MPL_LIMIT_UNROLLING) \
- /**/
-
-template<
- typename Iterator
- , typename State
- , typename ForwardOp
- , typename ForwardPredicate
- , typename BackwardOp
- , typename BackwardPredicate
- >
-struct iter_fold_if_impl
-{
- private:
- typedef iter_fold_if_null_step<Iterator,State> forward_step0;
- BOOST_PP_REPEAT(
- BOOST_MPL_LIMIT_UNROLLING
- , AUX_ITER_FOLD_FORWARD_STEP
- , unused
- )
-
- typedef typename if_<
- typename AUX_LAST_FORWARD_STEP::not_last
- , iter_fold_if_impl<
- typename AUX_LAST_FORWARD_STEP::iterator
- , typename AUX_LAST_FORWARD_STEP::state
- , ForwardOp
- , ForwardPredicate
- , BackwardOp
- , BackwardPredicate
- >
- , iter_fold_if_null_step<
- typename AUX_LAST_FORWARD_STEP::iterator
- , typename AUX_LAST_FORWARD_STEP::state
- >
- >::type AUX_LAST_BACKWARD_STEP;
-
- BOOST_PP_REPEAT(
- BOOST_MPL_LIMIT_UNROLLING
- , AUX_ITER_FOLD_BACKWARD_STEP
- , unused
- )
-
- public:
- typedef typename backward_step0::state state;
- typedef typename AUX_LAST_BACKWARD_STEP::iterator iterator;
-};
-
-# undef AUX_LAST_BACKWARD_STEP
-# undef AUX_LAST_FORWARD_STEP
-# undef AUX_ITER_FOLD_BACKWARD_STEP
-# undef AUX_ITER_FOLD_BACKWARD_STEP_FUNC
-# undef AUX_ITER_FOLD_FORWARD_STEP
-
-}}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_AUX_ITER_FOLD_IF_IMPL_HPP_INCLUDED
diff --git a/boost/mpl/aux_/iter_fold_impl.hpp b/boost/mpl/aux_/iter_fold_impl.hpp
deleted file mode 100644
index 7bc5720..0000000
--- a/boost/mpl/aux_/iter_fold_impl.hpp
+++ /dev/null
@@ -1,42 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_ITER_FOLD_IMPL_HPP_INCLUDED
-#define BOOST_MPL_AUX_ITER_FOLD_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: iter_fold_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-# include <boost/mpl/next_prior.hpp>
-# include <boost/mpl/apply.hpp>
-# include <boost/mpl/aux_/config/ctps.hpp>
-# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-# include <boost/mpl/if.hpp>
-# include <boost/type_traits/is_same.hpp>
-# endif
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-# define BOOST_MPL_PREPROCESSED_HEADER iter_fold_impl.hpp
-# include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-# define AUX778076_FOLD_IMPL_OP(iter) iter
-# define AUX778076_FOLD_IMPL_NAME_PREFIX iter_fold
-# include <boost/mpl/aux_/fold_impl_body.hpp>
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_AUX_ITER_FOLD_IMPL_HPP_INCLUDED
diff --git a/boost/mpl/aux_/lambda_arity_param.hpp b/boost/mpl/aux_/lambda_arity_param.hpp
deleted file mode 100644
index 5418f2c..0000000
--- a/boost/mpl/aux_/lambda_arity_param.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_LAMBDA_ARITY_PARAM_HPP_INCLUDED
-#define BOOST_MPL_AUX_LAMBDA_ARITY_PARAM_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-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: lambda_arity_param.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/ttp.hpp>
-
-#if !defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING)
-# define BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(param)
-#else
-# define BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(param) , param
-#endif
-
-#endif // BOOST_MPL_AUX_LAMBDA_ARITY_PARAM_HPP_INCLUDED
diff --git a/boost/mpl/aux_/lambda_no_ctps.hpp b/boost/mpl/aux_/lambda_no_ctps.hpp
deleted file mode 100644
index 1c383b4..0000000
--- a/boost/mpl/aux_/lambda_no_ctps.hpp
+++ /dev/null
@@ -1,193 +0,0 @@
-
-#if !defined(BOOST_PP_IS_ITERATING)
-
-///// header body
-
-#ifndef BOOST_MPL_AUX_LAMBDA_NO_CTPS_HPP_INCLUDED
-#define BOOST_MPL_AUX_LAMBDA_NO_CTPS_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: lambda_no_ctps.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-# include <boost/mpl/lambda_fwd.hpp>
-# include <boost/mpl/bind_fwd.hpp>
-# include <boost/mpl/protect.hpp>
-# include <boost/mpl/is_placeholder.hpp>
-# include <boost/mpl/if.hpp>
-# include <boost/mpl/identity.hpp>
-# include <boost/mpl/bool.hpp>
-# include <boost/mpl/aux_/na_spec.hpp>
-# include <boost/mpl/aux_/lambda_support.hpp>
-# include <boost/mpl/aux_/template_arity.hpp>
-# include <boost/mpl/aux_/value_wknd.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-# define BOOST_MPL_PREPROCESSED_HEADER lambda_no_ctps.hpp
-# include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-# include <boost/mpl/limits/arity.hpp>
-# include <boost/mpl/aux_/preprocessor/params.hpp>
-# include <boost/mpl/aux_/preprocessor/default_params.hpp>
-# include <boost/mpl/aux_/preprocessor/repeat.hpp>
-# include <boost/mpl/aux_/preprocessor/enum.hpp>
-# include <boost/mpl/aux_/config/msvc.hpp>
-# include <boost/mpl/aux_/config/workaround.hpp>
-
-# include <boost/preprocessor/comma_if.hpp>
-# include <boost/preprocessor/iterate.hpp>
-# include <boost/preprocessor/inc.hpp>
-# include <boost/preprocessor/cat.hpp>
-
-namespace boost { namespace mpl {
-
-# define AUX778076_LAMBDA_PARAMS(i_, param) \
- BOOST_MPL_PP_PARAMS(i_, param) \
- /**/
-
-namespace aux {
-
-#define n_ BOOST_MPL_LIMIT_METAFUNCTION_ARITY
-template<
- BOOST_MPL_PP_DEFAULT_PARAMS(n_,bool C,false)
- >
-struct lambda_or
- : true_
-{
-};
-
-template<>
-struct lambda_or< BOOST_MPL_PP_ENUM(n_,false) >
- : false_
-{
-};
-#undef n_
-
-template< typename Arity > struct lambda_impl
-{
- template< typename T, typename Tag, typename Protect > struct result_
- {
- typedef T type;
- typedef is_placeholder<T> is_le;
- };
-};
-
-#define BOOST_PP_ITERATION_PARAMS_1 \
- (3,(1, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, <boost/mpl/aux_/lambda_no_ctps.hpp>))
-#include BOOST_PP_ITERATE()
-
-} // namespace aux
-
-template<
- typename T
- , typename Tag
- , typename Protect
- >
-struct lambda
-{
- /// Metafunction forwarding confuses MSVC 6.x
- typedef typename aux::template_arity<T>::type arity_;
- typedef typename aux::lambda_impl<arity_>
- ::template result_< T,Tag,Protect > l_;
-
- typedef typename l_::type type;
- typedef typename l_::is_le is_le;
-
- BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))
-};
-
-BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
-
-template<
- typename T
- >
-struct is_lambda_expression
- : lambda<T>::is_le
-{
-};
-
-# undef AUX778076_LAMBDA_PARAMS
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_AUX_LAMBDA_NO_CTPS_HPP_INCLUDED
-
-///// iteration, depth == 1
-
-#else
-
-#define i_ BOOST_PP_FRAME_ITERATION(1)
-
-# define AUX778076_LAMBDA_TYPEDEF(unused, i_, F) \
- typedef lambda< \
- typename F::BOOST_PP_CAT(arg,BOOST_PP_INC(i_)) \
- , Tag \
- , false_ \
- > BOOST_PP_CAT(l,BOOST_PP_INC(i_)); \
- /**/
-
-# define AUX778076_IS_LE_TYPEDEF(unused, i_, unused2) \
- typedef typename BOOST_PP_CAT(l,BOOST_PP_INC(i_))::is_le \
- BOOST_PP_CAT(is_le,BOOST_PP_INC(i_)); \
- /**/
-
-# define AUX778076_IS_LAMBDA_EXPR(unused, i_, unused2) \
- BOOST_PP_COMMA_IF(i_) \
- BOOST_MPL_AUX_MSVC_VALUE_WKND(BOOST_PP_CAT(is_le,BOOST_PP_INC(i_)))::value \
- /**/
-
-# define AUX778076_LAMBDA_RESULT(unused, i_, unused2) \
- , typename BOOST_PP_CAT(l,BOOST_PP_INC(i_))::type \
- /**/
-
-template<> struct lambda_impl< int_<i_> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- BOOST_MPL_PP_REPEAT(i_, AUX778076_LAMBDA_TYPEDEF, F)
- BOOST_MPL_PP_REPEAT(i_, AUX778076_IS_LE_TYPEDEF, unused)
-
- typedef aux::lambda_or<
- BOOST_MPL_PP_REPEAT(i_, AUX778076_IS_LAMBDA_EXPR, unused)
- > is_le;
-
- typedef BOOST_PP_CAT(bind,i_)<
- typename F::rebind
- BOOST_MPL_PP_REPEAT(i_, AUX778076_LAMBDA_RESULT, unused)
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-# undef AUX778076_LAMBDA_RESULT
-# undef AUX778076_IS_LAMBDA_EXPR
-# undef AUX778076_IS_LE_TYPEDEF
-# undef AUX778076_LAMBDA_TYPEDEF
-
-#undef i_
-
-#endif // BOOST_PP_IS_ITERATING
diff --git a/boost/mpl/aux_/lambda_spec.hpp b/boost/mpl/aux_/lambda_spec.hpp
deleted file mode 100644
index 52b1dcd..0000000
--- a/boost/mpl/aux_/lambda_spec.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_LAMBDA_SPEC_HPP_INCLUDED
-#define BOOST_MPL_AUX_LAMBDA_SPEC_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: lambda_spec.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/void.hpp>
-#include <boost/mpl/lambda_fwd.hpp>
-#include <boost/mpl/int_fwd.hpp>
-#include <boost/mpl/aux_/preprocessor/params.hpp>
-#include <boost/mpl/aux_/lambda_arity_param.hpp>
-#include <boost/mpl/aux_/config/lambda.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)
-
-# define BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(i, name) \
-template< \
- BOOST_MPL_PP_PARAMS(i, typename T) \
- , typename Tag \
- > \
-struct lambda< \
- name< BOOST_MPL_PP_PARAMS(i, T) > \
- , Tag \
- BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(int_<i>) \
- > \
-{ \
- typedef false_ is_le; \
- typedef name< BOOST_MPL_PP_PARAMS(i, T) > result_; \
- typedef result_ type; \
-}; \
-/**/
-
-#else
-
-# define BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(i, name) /**/
-
-#endif
-
-#endif // BOOST_MPL_AUX_LAMBDA_SPEC_HPP_INCLUDED
diff --git a/boost/mpl/aux_/lambda_support.hpp b/boost/mpl/aux_/lambda_support.hpp
deleted file mode 100644
index 2d25348..0000000
--- a/boost/mpl/aux_/lambda_support.hpp
+++ /dev/null
@@ -1,169 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_LAMBDA_SUPPORT_HPP_INCLUDED
-#define BOOST_MPL_AUX_LAMBDA_SUPPORT_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-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: lambda_support.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/lambda.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)
-
-# define BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) /**/
-# define BOOST_MPL_AUX_LAMBDA_SUPPORT(i,name,params) /**/
-
-#else
-
-# include <boost/mpl/int_fwd.hpp>
-# include <boost/mpl/aux_/yes_no.hpp>
-# include <boost/mpl/aux_/na_fwd.hpp>
-# include <boost/mpl/aux_/preprocessor/params.hpp>
-# include <boost/mpl/aux_/preprocessor/enum.hpp>
-# include <boost/mpl/aux_/config/msvc.hpp>
-# include <boost/mpl/aux_/config/workaround.hpp>
-
-# include <boost/preprocessor/tuple/to_list.hpp>
-# include <boost/preprocessor/list/for_each_i.hpp>
-# include <boost/preprocessor/inc.hpp>
-# include <boost/preprocessor/cat.hpp>
-
-# define BOOST_MPL_AUX_LAMBDA_SUPPORT_ARG_TYPEDEF_FUNC(R,typedef_,i,param) \
- typedef_ param BOOST_PP_CAT(arg,BOOST_PP_INC(i)); \
- /**/
-
-// agurt, 07/mar/03: restore an old revision for the sake of SGI MIPSpro C++
-#if BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
-
-# define BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \
- typedef BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::int_<i> arity; \
- BOOST_PP_LIST_FOR_EACH_I_R( \
- 1 \
- , BOOST_MPL_AUX_LAMBDA_SUPPORT_ARG_TYPEDEF_FUNC \
- , typedef \
- , BOOST_PP_TUPLE_TO_LIST(i,params) \
- ) \
- struct rebind \
- { \
- template< BOOST_MPL_PP_PARAMS(i,typename U) > struct apply \
- : name< BOOST_MPL_PP_PARAMS(i,U) > \
- { \
- }; \
- }; \
- /**/
-
-# define BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \
- BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \
- /**/
-
-#elif BOOST_WORKAROUND(__EDG_VERSION__, <= 244) && !defined(BOOST_INTEL_CXX_VERSION)
-// agurt, 18/jan/03: old EDG-based compilers actually enforce 11.4 para 9
-// (in strict mode), so we have to provide an alternative to the
-// MSVC-optimized implementation
-
-# define BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \
- typedef BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::int_<i> arity; \
- BOOST_PP_LIST_FOR_EACH_I_R( \
- 1 \
- , BOOST_MPL_AUX_LAMBDA_SUPPORT_ARG_TYPEDEF_FUNC \
- , typedef \
- , BOOST_PP_TUPLE_TO_LIST(i,params) \
- ) \
- struct rebind; \
-/**/
-
-# define BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \
-}; \
-template< BOOST_MPL_PP_PARAMS(i,typename T) > \
-struct name<BOOST_MPL_PP_PARAMS(i,T)>::rebind \
-{ \
- template< BOOST_MPL_PP_PARAMS(i,typename U) > struct apply \
- : name< BOOST_MPL_PP_PARAMS(i,U) > \
- { \
- }; \
-/**/
-
-#else // __EDG_VERSION__
-
-namespace boost { namespace mpl { namespace aux {
-template< typename T > struct has_rebind_tag;
-}}}
-
-# define BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \
- typedef BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::int_<i> arity; \
- BOOST_PP_LIST_FOR_EACH_I_R( \
- 1 \
- , BOOST_MPL_AUX_LAMBDA_SUPPORT_ARG_TYPEDEF_FUNC \
- , typedef \
- , BOOST_PP_TUPLE_TO_LIST(i,params) \
- ) \
- friend class BOOST_PP_CAT(name,_rebind); \
- typedef BOOST_PP_CAT(name,_rebind) rebind; \
-/**/
-
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610))
-# define BOOST_MPL_AUX_LAMBDA_SUPPORT_HAS_REBIND(i, name, params) \
-template< BOOST_MPL_PP_PARAMS(i,typename T) > \
-::boost::mpl::aux::yes_tag operator|( \
- ::boost::mpl::aux::has_rebind_tag<int> \
- , name<BOOST_MPL_PP_PARAMS(i,T)>* \
- ); \
-::boost::mpl::aux::no_tag operator|( \
- ::boost::mpl::aux::has_rebind_tag<int> \
- , name< BOOST_MPL_PP_ENUM(i,::boost::mpl::na) >* \
- ); \
-/**/
-#elif !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-# define BOOST_MPL_AUX_LAMBDA_SUPPORT_HAS_REBIND(i, name, params) \
-template< BOOST_MPL_PP_PARAMS(i,typename T) > \
-::boost::mpl::aux::yes_tag operator|( \
- ::boost::mpl::aux::has_rebind_tag<int> \
- , ::boost::mpl::aux::has_rebind_tag< name<BOOST_MPL_PP_PARAMS(i,T)> >* \
- ); \
-/**/
-#else
-# define BOOST_MPL_AUX_LAMBDA_SUPPORT_HAS_REBIND(i, name, params) /**/
-#endif
-
-# if !defined(__BORLANDC__)
-# define BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \
-}; \
-BOOST_MPL_AUX_LAMBDA_SUPPORT_HAS_REBIND(i, name, params) \
-class BOOST_PP_CAT(name,_rebind) \
-{ \
- public: \
- template< BOOST_MPL_PP_PARAMS(i,typename U) > struct apply \
- : name< BOOST_MPL_PP_PARAMS(i,U) > \
- { \
- }; \
-/**/
-# else
-# define BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \
-}; \
-BOOST_MPL_AUX_LAMBDA_SUPPORT_HAS_REBIND(i, name, params) \
-class BOOST_PP_CAT(name,_rebind) \
-{ \
- public: \
- template< BOOST_MPL_PP_PARAMS(i,typename U) > struct apply \
- { \
- typedef typename name< BOOST_MPL_PP_PARAMS(i,U) >::type type; \
- }; \
-/**/
-# endif // __BORLANDC__
-
-#endif // __EDG_VERSION__
-
-#endif // BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT
-
-#endif // BOOST_MPL_AUX_LAMBDA_SUPPORT_HPP_INCLUDED
diff --git a/boost/mpl/aux_/largest_int.hpp b/boost/mpl/aux_/largest_int.hpp
deleted file mode 100644
index 1b9f1cf..0000000
--- a/boost/mpl/aux_/largest_int.hpp
+++ /dev/null
@@ -1,63 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_LARGEST_INT_HPP_INCLUDED
-#define BOOST_MPL_AUX_LARGEST_INT_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: largest_int.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/mpl/aux_/config/integral.hpp>
-#include <boost/config.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-
-template< typename T > struct integral_rank;
-
-template<> struct integral_rank<bool> : int_<1> {};
-template<> struct integral_rank<signed char> : int_<2> {};
-template<> struct integral_rank<char> : int_<3> {};
-template<> struct integral_rank<unsigned char> : int_<4> {};
-#if !defined(BOOST_NO_INTRINSIC_WCHAR_T)
-template<> struct integral_rank<wchar_t> : int_<5> {};
-#endif
-template<> struct integral_rank<short> : int_<6> {};
-template<> struct integral_rank<unsigned short> : int_<7> {};
-template<> struct integral_rank<int> : int_<8> {};
-template<> struct integral_rank<unsigned int> : int_<9> {};
-template<> struct integral_rank<long> : int_<10> {};
-template<> struct integral_rank<unsigned long> : int_<11> {};
-
-#if defined(BOOST_HAS_LONG_LONG)
-template<> struct integral_rank<long_long_type> : int_<12> {};
-template<> struct integral_rank<ulong_long_type>: int_<13> {};
-#endif
-
-template< typename T1, typename T2 > struct largest_int
-#if !defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC)
- : if_c<
- ( integral_rank<T1>::value >= integral_rank<T2>::value )
- , T1
- , T2
- >
-{
-#else
-{
- enum { rank1 = integral_rank<T1>::value };
- enum { rank2 = integral_rank<T2>::value };
- typedef typename if_c< (rank1 >= rank2),T1,T2 >::type type;
-#endif
-};
-
-}}}
-
-#endif // BOOST_MPL_AUX_LARGEST_INT_HPP_INCLUDED
diff --git a/boost/mpl/aux_/logical_op.hpp b/boost/mpl/aux_/logical_op.hpp
deleted file mode 100644
index d964049..0000000
--- a/boost/mpl/aux_/logical_op.hpp
+++ /dev/null
@@ -1,165 +0,0 @@
-
-// 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: logical_op.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION!
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-# include <boost/mpl/bool.hpp>
-# include <boost/mpl/aux_/nested_type_wknd.hpp>
-# include <boost/mpl/aux_/na_spec.hpp>
-# include <boost/mpl/aux_/lambda_support.hpp>
-#endif
-
-#include <boost/mpl/limits/arity.hpp>
-#include <boost/mpl/aux_/preprocessor/params.hpp>
-#include <boost/mpl/aux_/preprocessor/ext_params.hpp>
-#include <boost/mpl/aux_/preprocessor/def_params_tail.hpp>
-#include <boost/mpl/aux_/preprocessor/enum.hpp>
-#include <boost/mpl/aux_/preprocessor/sub.hpp>
-#include <boost/mpl/aux_/config/ctps.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#include <boost/preprocessor/dec.hpp>
-#include <boost/preprocessor/inc.hpp>
-#include <boost/preprocessor/cat.hpp>
-
-namespace boost { namespace mpl {
-
-# define AUX778076_PARAMS(param, sub) \
- BOOST_MPL_PP_PARAMS( \
- BOOST_MPL_PP_SUB(BOOST_MPL_LIMIT_METAFUNCTION_ARITY, sub) \
- , param \
- ) \
- /**/
-
-# define AUX778076_SHIFTED_PARAMS(param, sub) \
- BOOST_MPL_PP_EXT_PARAMS( \
- 2, BOOST_MPL_PP_SUB(BOOST_PP_INC(BOOST_MPL_LIMIT_METAFUNCTION_ARITY), sub) \
- , param \
- ) \
- /**/
-
-# define AUX778076_SPEC_PARAMS(param) \
- BOOST_MPL_PP_ENUM( \
- BOOST_PP_DEC(BOOST_MPL_LIMIT_METAFUNCTION_ARITY) \
- , param \
- ) \
- /**/
-
-namespace aux {
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template< bool C_, AUX778076_PARAMS(typename T, 1) >
-struct BOOST_PP_CAT(AUX778076_OP_NAME,impl)
- : BOOST_PP_CAT(AUX778076_OP_VALUE1,_)
-{
-};
-
-template< AUX778076_PARAMS(typename T, 1) >
-struct BOOST_PP_CAT(AUX778076_OP_NAME,impl)< AUX778076_OP_VALUE2,AUX778076_PARAMS(T, 1) >
- : BOOST_PP_CAT(AUX778076_OP_NAME,impl)<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
- , AUX778076_SHIFTED_PARAMS(T, 1)
- , BOOST_PP_CAT(AUX778076_OP_VALUE2,_)
- >
-{
-};
-
-template<>
-struct BOOST_PP_CAT(AUX778076_OP_NAME,impl)<
- AUX778076_OP_VALUE2
- , AUX778076_SPEC_PARAMS(BOOST_PP_CAT(AUX778076_OP_VALUE2,_))
- >
- : BOOST_PP_CAT(AUX778076_OP_VALUE2,_)
-{
-};
-
-#else
-
-template< bool C_ > struct BOOST_PP_CAT(AUX778076_OP_NAME,impl)
-{
- template< AUX778076_PARAMS(typename T, 1) > struct result_
- : BOOST_PP_CAT(AUX778076_OP_VALUE1,_)
- {
- };
-};
-
-template<> struct BOOST_PP_CAT(AUX778076_OP_NAME,impl)<AUX778076_OP_VALUE2>
-{
- template< AUX778076_PARAMS(typename T, 1) > struct result_
- : BOOST_PP_CAT(AUX778076_OP_NAME,impl)<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
- >::template result_< AUX778076_SHIFTED_PARAMS(T,1),BOOST_PP_CAT(AUX778076_OP_VALUE2,_) >
- {
- };
-
-#if BOOST_WORKAROUND(BOOST_MSVC, == 1300)
- template<> struct result_<AUX778076_SPEC_PARAMS(BOOST_PP_CAT(AUX778076_OP_VALUE2,_))>
- : BOOST_PP_CAT(AUX778076_OP_VALUE2,_)
- {
- };
-};
-#else
-};
-
-template<>
-struct BOOST_PP_CAT(AUX778076_OP_NAME,impl)<AUX778076_OP_VALUE2>
- ::result_< AUX778076_SPEC_PARAMS(BOOST_PP_CAT(AUX778076_OP_VALUE2,_)) >
- : BOOST_PP_CAT(AUX778076_OP_VALUE2,_)
-{
-};
-#endif // BOOST_MSVC == 1300
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-} // namespace aux
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(T1)
- , typename BOOST_MPL_AUX_NA_PARAM(T2)
- BOOST_MPL_PP_DEF_PARAMS_TAIL(2, typename T, BOOST_PP_CAT(AUX778076_OP_VALUE2,_))
- >
-struct AUX778076_OP_NAME
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
- : aux::BOOST_PP_CAT(AUX778076_OP_NAME,impl)<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
- , AUX778076_SHIFTED_PARAMS(T,0)
- >
-#else
- : aux::BOOST_PP_CAT(AUX778076_OP_NAME,impl)<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
- >::template result_< AUX778076_SHIFTED_PARAMS(T,0) >
-#endif
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- BOOST_MPL_LIMIT_METAFUNCTION_ARITY
- , AUX778076_OP_NAME
- , (AUX778076_PARAMS(T, 0))
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC2(
- 2
- , BOOST_MPL_LIMIT_METAFUNCTION_ARITY
- , AUX778076_OP_NAME
- )
-
-}}
-
-#undef AUX778076_SPEC_PARAMS
-#undef AUX778076_SHIFTED_PARAMS
-#undef AUX778076_PARAMS
-#undef AUX778076_OP_NAME
-#undef AUX778076_OP_VALUE1
-#undef AUX778076_OP_VALUE2
diff --git a/boost/mpl/aux_/msvc_dtw.hpp b/boost/mpl/aux_/msvc_dtw.hpp
deleted file mode 100644
index b8953f5..0000000
--- a/boost/mpl/aux_/msvc_dtw.hpp
+++ /dev/null
@@ -1,68 +0,0 @@
-
-// 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: msvc_dtw.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION!
-
-#include <boost/mpl/aux_/preprocessor/params.hpp>
-
-// local macros, #undef-ined at the end of the header
-#define AUX778076_DTW_PARAMS(param) \
- BOOST_MPL_PP_PARAMS(AUX778076_MSVC_DTW_ARITY, param) \
-/**/
-
-#define AUX778076_DTW_ORIGINAL_NAME \
- AUX778076_MSVC_DTW_ORIGINAL_NAME \
-/**/
-
-// warning: not a well-formed C++
-// workaround for MSVC 6.5's "dependent template typedef bug"
-
-template< typename F>
-struct AUX778076_MSVC_DTW_NAME
-{
- template< bool > struct f_ : F {};
- template<> struct f_<true>
- {
-#if AUX778076_MSVC_DTW_ARITY > 0
- template< AUX778076_DTW_PARAMS(typename P) > struct AUX778076_DTW_ORIGINAL_NAME
- {
- typedef int type;
- };
- };
-
- template< AUX778076_DTW_PARAMS(typename T) > struct result_
- : f_< aux::msvc_never_true<F>::value >
- ::template AUX778076_DTW_ORIGINAL_NAME< AUX778076_DTW_PARAMS(T) >
- {
- };
-#else
- template< typename P = int > struct AUX778076_DTW_ORIGINAL_NAME
- {
- typedef int type;
- };
- };
-
- template< typename T = int > struct result_
- : f_< aux::msvc_never_true<F>::value >
- ::template AUX778076_DTW_ORIGINAL_NAME<>
- {
- };
-#endif
-};
-
-#undef AUX778076_DTW_ORIGINAL_NAME
-#undef AUX778076_DTW_PARAMS
-
-#undef AUX778076_MSVC_DTW_NAME
-#undef AUX778076_MSVC_DTW_ORIGINAL_NAME
-#undef AUX778076_MSVC_DTW_ARITY
diff --git a/boost/mpl/aux_/msvc_eti_base.hpp b/boost/mpl/aux_/msvc_eti_base.hpp
deleted file mode 100644
index 61bd38a..0000000
--- a/boost/mpl/aux_/msvc_eti_base.hpp
+++ /dev/null
@@ -1,77 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_MSVC_ETI_BASE_HPP_INCLUDED
-#define BOOST_MPL_AUX_MSVC_ETI_BASE_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-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: msvc_eti_base.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/is_msvc_eti_arg.hpp>
-#include <boost/mpl/aux_/config/eti.hpp>
-#include <boost/mpl/aux_/config/gcc.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-
-#if defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG)
-
-template< bool > struct msvc_eti_base_impl
-{
- template< typename T > struct result_
- : T
- {
- typedef T type;
- };
-};
-
-template<> struct msvc_eti_base_impl<true>
-{
- template< typename T > struct result_
- {
- typedef result_ type;
- typedef result_ first;
- typedef result_ second;
- typedef result_ tag;
- enum { value = 0 };
- };
-};
-
-template< typename T > struct msvc_eti_base
- : msvc_eti_base_impl< is_msvc_eti_arg<T>::value >
- ::template result_<T>
-{
-};
-
-#else // !BOOST_MPL_CFG_MSVC_70_ETI_BUG
-
-template< typename T > struct msvc_eti_base
- : T
-{
-#if BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0304))
- msvc_eti_base();
-#endif
- typedef T type;
-};
-
-#endif
-
-template<> struct msvc_eti_base<int>
-{
- typedef msvc_eti_base type;
- typedef msvc_eti_base first;
- typedef msvc_eti_base second;
- typedef msvc_eti_base tag;
- enum { value = 0 };
-};
-
-}}}
-
-#endif // BOOST_MPL_AUX_MSVC_ETI_BASE_HPP_INCLUDED
diff --git a/boost/mpl/aux_/msvc_is_class.hpp b/boost/mpl/aux_/msvc_is_class.hpp
deleted file mode 100644
index 54a2c57..0000000
--- a/boost/mpl/aux_/msvc_is_class.hpp
+++ /dev/null
@@ -1,58 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_MSVC_IS_CLASS_HPP_INCLUDED
-#define BOOST_MPL_AUX_MSVC_IS_CLASS_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: msvc_is_class.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/aux_/type_wrapper.hpp>
-#include <boost/mpl/aux_/yes_no.hpp>
-
-#include <boost/type_traits/is_reference.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-
-template< typename T > struct is_class_helper
-{
- typedef int (T::* type)();
-};
-
-// MSVC 6.x-specific lightweight 'is_class' implementation;
-// Distinguishing feature: does not instantiate the type being tested.
-template< typename T >
-struct msvc_is_class_impl
-{
- template< typename U>
- static yes_tag test(type_wrapper<U>*, /*typename*/ is_class_helper<U>::type = 0);
- static no_tag test(void const volatile*, ...);
-
- enum { value = sizeof(test((type_wrapper<T>*)0)) == sizeof(yes_tag) };
- typedef bool_<value> type;
-};
-
-// agurt, 17/sep/04: have to check for 'is_reference' upfront to avoid ICEs in
-// complex metaprograms
-template< typename T >
-struct msvc_is_class
- : if_<
- is_reference<T>
- , false_
- , msvc_is_class_impl<T>
- >::type
-{
-};
-
-}}}
-
-#endif // BOOST_MPL_AUX_MSVC_IS_CLASS_HPP_INCLUDED
diff --git a/boost/mpl/aux_/msvc_never_true.hpp b/boost/mpl/aux_/msvc_never_true.hpp
deleted file mode 100644
index ca35adc..0000000
--- a/boost/mpl/aux_/msvc_never_true.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_MSVC_NEVER_TRUE_HPP_INCLUDED
-#define BOOST_MPL_AUX_MSVC_NEVER_TRUE_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: msvc_never_true.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-
-namespace boost { namespace mpl { namespace aux {
-
-template< typename T >
-struct msvc_never_true
-{
- enum { value = false };
-};
-
-}}}
-
-#endif // BOOST_MSVC
-
-#endif // BOOST_MPL_AUX_MSVC_NEVER_TRUE_HPP_INCLUDED
diff --git a/boost/mpl/aux_/msvc_type.hpp b/boost/mpl/aux_/msvc_type.hpp
deleted file mode 100644
index 643fd83..0000000
--- a/boost/mpl/aux_/msvc_type.hpp
+++ /dev/null
@@ -1,62 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_MSVC_TYPE_HPP_INCLUDED
-#define BOOST_MPL_AUX_MSVC_TYPE_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-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: msvc_type.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/eti.hpp>
-#include <boost/mpl/aux_/is_msvc_eti_arg.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-
-#if defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG)
-
-template< bool > struct msvc_type_impl
-{
- template< typename T > struct result_
- {
- typedef typename T::type type;
- };
-};
-
-template<> struct msvc_type_impl<true>
-{
- template< typename T > struct result_
- {
- typedef result_ type;
- };
-};
-
-template< typename T > struct msvc_type
- : msvc_type_impl< is_msvc_eti_arg<T>::value >
- ::template result_<T>
-{
-};
-
-#else // BOOST_MPL_CFG_MSVC_70_ETI_BUG
-
-template< typename T > struct msvc_type
-{
- typedef typename T::type type;
-};
-
-template<> struct msvc_type<int>
-{
- typedef int type;
-};
-
-#endif
-
-}}}
-
-#endif // BOOST_MPL_AUX_MSVC_TYPE_HPP_INCLUDED
diff --git a/boost/mpl/aux_/na.hpp b/boost/mpl/aux_/na.hpp
deleted file mode 100644
index b75fcdd..0000000
--- a/boost/mpl/aux_/na.hpp
+++ /dev/null
@@ -1,95 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_NA_HPP_INCLUDED
-#define BOOST_MPL_AUX_NA_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-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: na.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/aux_/na_fwd.hpp>
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/ctps.hpp>
-
-namespace boost { namespace mpl {
-
-template< typename T >
-struct is_na
- : false_
-{
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
- using false_::value;
-#endif
-};
-
-template<>
-struct is_na<na>
- : true_
-{
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
- using true_::value;
-#endif
-};
-
-template< typename T >
-struct is_not_na
- : true_
-{
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
- using true_::value;
-#endif
-};
-
-template<>
-struct is_not_na<na>
- : false_
-{
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
- using false_::value;
-#endif
-};
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-template< typename T, typename U > struct if_na
-{
- typedef T type;
-};
-
-template< typename U > struct if_na<na,U>
-{
- typedef U type;
-};
-#else
-template< typename T > struct if_na_impl
-{
- template< typename U > struct apply
- {
- typedef T type;
- };
-};
-
-template<> struct if_na_impl<na>
-{
- template< typename U > struct apply
- {
- typedef U type;
- };
-};
-
-template< typename T, typename U > struct if_na
- : if_na_impl<T>::template apply<U>
-{
-};
-#endif
-
-}}
-
-#endif // BOOST_MPL_AUX_NA_HPP_INCLUDED
diff --git a/boost/mpl/aux_/na_assert.hpp b/boost/mpl/aux_/na_assert.hpp
deleted file mode 100644
index df88ba3..0000000
--- a/boost/mpl/aux_/na_assert.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_NA_ASSERT_HPP_INCLUDED
-#define BOOST_MPL_AUX_NA_ASSERT_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-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: na_assert.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/na.hpp>
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#if !BOOST_WORKAROUND(_MSC_FULL_VER, <= 140050601) \
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 243)
-# include <boost/mpl/assert.hpp>
-# define BOOST_MPL_AUX_ASSERT_NOT_NA(x) \
- BOOST_MPL_ASSERT_NOT((boost::mpl::is_na<type>)) \
-/**/
-#else
-# include <boost/static_assert.hpp>
-# define BOOST_MPL_AUX_ASSERT_NOT_NA(x) \
- BOOST_STATIC_ASSERT(!boost::mpl::is_na<x>::value) \
-/**/
-#endif
-
-#endif // BOOST_MPL_AUX_NA_ASSERT_HPP_INCLUDED
diff --git a/boost/mpl/aux_/na_fwd.hpp b/boost/mpl/aux_/na_fwd.hpp
deleted file mode 100644
index 2409fc8..0000000
--- a/boost/mpl/aux_/na_fwd.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_NA_FWD_HPP_INCLUDED
-#define BOOST_MPL_AUX_NA_FWD_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-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: na_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/adl_barrier.hpp>
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-
-// n.a. == not available
-struct na
-{
- typedef na type;
- enum { value = 0 };
-};
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-BOOST_MPL_AUX_ADL_BARRIER_DECL(na)
-
-#endif // BOOST_MPL_AUX_NA_FWD_HPP_INCLUDED
diff --git a/boost/mpl/aux_/na_spec.hpp b/boost/mpl/aux_/na_spec.hpp
deleted file mode 100644
index 6cd7721..0000000
--- a/boost/mpl/aux_/na_spec.hpp
+++ /dev/null
@@ -1,175 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_NA_SPEC_HPP_INCLUDED
-#define BOOST_MPL_AUX_NA_SPEC_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-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: na_spec.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-# include <boost/mpl/lambda_fwd.hpp>
-# include <boost/mpl/int.hpp>
-# include <boost/mpl/bool.hpp>
-# include <boost/mpl/aux_/na.hpp>
-# include <boost/mpl/aux_/arity.hpp>
-# include <boost/mpl/aux_/template_arity_fwd.hpp>
-#endif
-
-#include <boost/mpl/aux_/preprocessor/params.hpp>
-#include <boost/mpl/aux_/preprocessor/enum.hpp>
-#include <boost/mpl/aux_/preprocessor/def_params_tail.hpp>
-#include <boost/mpl/aux_/lambda_arity_param.hpp>
-#include <boost/mpl/aux_/config/dtp.hpp>
-#include <boost/mpl/aux_/config/eti.hpp>
-#include <boost/mpl/aux_/nttp_decl.hpp>
-#include <boost/mpl/aux_/config/ttp.hpp>
-#include <boost/mpl/aux_/config/lambda.hpp>
-#include <boost/mpl/aux_/config/overload_resolution.hpp>
-
-
-#define BOOST_MPL_AUX_NA_PARAMS(i) \
- BOOST_MPL_PP_ENUM(i, na) \
-/**/
-
-#if defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
-# define BOOST_MPL_AUX_NA_SPEC_ARITY(i, name) \
-namespace aux { \
-template< BOOST_MPL_AUX_NTTP_DECL(int, N) > \
-struct arity< \
- name< BOOST_MPL_AUX_NA_PARAMS(i) > \
- , N \
- > \
- : int_< BOOST_MPL_LIMIT_METAFUNCTION_ARITY > \
-{ \
-}; \
-} \
-/**/
-#else
-# define BOOST_MPL_AUX_NA_SPEC_ARITY(i, name) /**/
-#endif
-
-#define BOOST_MPL_AUX_NA_SPEC_MAIN(i, name) \
-template<> \
-struct name< BOOST_MPL_AUX_NA_PARAMS(i) > \
-{ \
- template< \
- BOOST_MPL_PP_PARAMS(i, typename T) \
- BOOST_MPL_PP_NESTED_DEF_PARAMS_TAIL(i, typename T, na) \
- > \
- struct apply \
- : name< BOOST_MPL_PP_PARAMS(i, T) > \
- { \
- }; \
-}; \
-/**/
-
-#if defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)
-# define BOOST_MPL_AUX_NA_SPEC_LAMBDA(i, name) \
-template<> \
-struct lambda< \
- name< BOOST_MPL_AUX_NA_PARAMS(i) > \
- , void_ \
- , true_ \
- > \
-{ \
- typedef false_ is_le; \
- typedef name< BOOST_MPL_AUX_NA_PARAMS(i) > type; \
-}; \
-template<> \
-struct lambda< \
- name< BOOST_MPL_AUX_NA_PARAMS(i) > \
- , void_ \
- , false_ \
- > \
-{ \
- typedef false_ is_le; \
- typedef name< BOOST_MPL_AUX_NA_PARAMS(i) > type; \
-}; \
-/**/
-#else
-# define BOOST_MPL_AUX_NA_SPEC_LAMBDA(i, name) \
-template< typename Tag > \
-struct lambda< \
- name< BOOST_MPL_AUX_NA_PARAMS(i) > \
- , Tag \
- BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(int_<-1>) \
- > \
-{ \
- typedef false_ is_le; \
- typedef name< BOOST_MPL_AUX_NA_PARAMS(i) > result_; \
- typedef name< BOOST_MPL_AUX_NA_PARAMS(i) > type; \
-}; \
-/**/
-#endif
-
-#if defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING) \
- || defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) \
- && defined(BOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION)
-# define BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(i, j, name) \
-namespace aux { \
-template< BOOST_MPL_PP_PARAMS(j, typename T) > \
-struct template_arity< \
- name< BOOST_MPL_PP_PARAMS(j, T) > \
- > \
- : int_<j> \
-{ \
-}; \
-\
-template<> \
-struct template_arity< \
- name< BOOST_MPL_PP_ENUM(i, na) > \
- > \
- : int_<-1> \
-{ \
-}; \
-} \
-/**/
-#else
-# define BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(i, j, name) /**/
-#endif
-
-#if defined(BOOST_MPL_CFG_MSVC_ETI_BUG)
-# define BOOST_MPL_AUX_NA_SPEC_ETI(i, name) \
-template<> \
-struct name< BOOST_MPL_PP_ENUM(i, int) > \
-{ \
- typedef int type; \
- enum { value = 0 }; \
-}; \
-/**/
-#else
-# define BOOST_MPL_AUX_NA_SPEC_ETI(i, name) /**/
-#endif
-
-#define BOOST_MPL_AUX_NA_PARAM(param) param = na
-
-#define BOOST_MPL_AUX_NA_SPEC_NO_ETI(i, name) \
-BOOST_MPL_AUX_NA_SPEC_MAIN(i, name) \
-BOOST_MPL_AUX_NA_SPEC_LAMBDA(i, name) \
-BOOST_MPL_AUX_NA_SPEC_ARITY(i, name) \
-BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(i, i, name) \
-/**/
-
-#define BOOST_MPL_AUX_NA_SPEC(i, name) \
-BOOST_MPL_AUX_NA_SPEC_NO_ETI(i, name) \
-BOOST_MPL_AUX_NA_SPEC_ETI(i, name) \
-/**/
-
-#define BOOST_MPL_AUX_NA_SPEC2(i, j, name) \
-BOOST_MPL_AUX_NA_SPEC_MAIN(i, name) \
-BOOST_MPL_AUX_NA_SPEC_ETI(i, name) \
-BOOST_MPL_AUX_NA_SPEC_LAMBDA(i, name) \
-BOOST_MPL_AUX_NA_SPEC_ARITY(i, name) \
-BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(i, j, name) \
-/**/
-
-
-#endif // BOOST_MPL_AUX_NA_SPEC_HPP_INCLUDED
diff --git a/boost/mpl/aux_/nested_type_wknd.hpp b/boost/mpl/aux_/nested_type_wknd.hpp
deleted file mode 100644
index cc46286..0000000
--- a/boost/mpl/aux_/nested_type_wknd.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_NESTED_TYPE_WKND_HPP_INCLUDED
-#define BOOST_MPL_AUX_NESTED_TYPE_WKND_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: nested_type_wknd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/gcc.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#if BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0302)) \
- || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x561)) \
- || BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x530)) \
- || BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
-
-namespace boost { namespace mpl { namespace aux {
-template< typename T > struct nested_type_wknd
- : T::type
-{
-};
-}}}
-
-#if BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
-# define BOOST_MPL_AUX_NESTED_TYPE_WKND(T) \
- aux::nested_type_wknd<T> \
-/**/
-#else
-# define BOOST_MPL_AUX_NESTED_TYPE_WKND(T) \
- ::boost::mpl::aux::nested_type_wknd<T> \
-/**/
-#endif
-
-#else // !BOOST_MPL_CFG_GCC et al.
-
-# define BOOST_MPL_AUX_NESTED_TYPE_WKND(T) T::type
-
-#endif
-
-#endif // BOOST_MPL_AUX_NESTED_TYPE_WKND_HPP_INCLUDED
diff --git a/boost/mpl/aux_/nttp_decl.hpp b/boost/mpl/aux_/nttp_decl.hpp
deleted file mode 100644
index 65e2929..0000000
--- a/boost/mpl/aux_/nttp_decl.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_NTTP_DECL_HPP_INCLUDED
-#define BOOST_MPL_AUX_NTTP_DECL_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-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: nttp_decl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/nttp.hpp>
-
-#if defined(BOOST_MPL_CFG_NTTP_BUG)
-
-typedef bool _mpl_nttp_bool;
-typedef int _mpl_nttp_int;
-typedef unsigned _mpl_nttp_unsigned;
-typedef long _mpl_nttp_long;
-
-# include <boost/preprocessor/cat.hpp>
-# define BOOST_MPL_AUX_NTTP_DECL(T, x) BOOST_PP_CAT(_mpl_nttp_,T) x /**/
-
-#else
-
-# define BOOST_MPL_AUX_NTTP_DECL(T, x) T x /**/
-
-#endif
-
-#endif // BOOST_MPL_AUX_NTTP_DECL_HPP_INCLUDED
diff --git a/boost/mpl/aux_/numeric_cast_utils.hpp b/boost/mpl/aux_/numeric_cast_utils.hpp
deleted file mode 100644
index 11f04ed..0000000
--- a/boost/mpl/aux_/numeric_cast_utils.hpp
+++ /dev/null
@@ -1,77 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_NUMERIC_CAST_HPP_INCLUDED
-#define BOOST_MPL_AUX_NUMERIC_CAST_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2003-2004
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: numeric_cast_utils.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/numeric_cast.hpp>
-#include <boost/mpl/apply_wrap.hpp>
-#include <boost/mpl/aux_/config/forwarding.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-
-template<
- typename F
- , typename Tag1
- , typename Tag2
- >
-struct cast1st_impl
-{
- template< typename N1, typename N2 > struct apply
-#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)
- : apply_wrap2<
- F
- , typename apply_wrap1< BOOST_MPL_AUX_NUMERIC_CAST<Tag1,Tag2>,N1 >::type
- , N2
- >
- {
-#else
- {
- typedef typename apply_wrap2<
- F
- , typename apply_wrap1< BOOST_MPL_AUX_NUMERIC_CAST<Tag1,Tag2>,N1 >::type
- , N2
- >::type type;
-#endif
- };
-};
-
-template<
- typename F
- , typename Tag1
- , typename Tag2
- >
-struct cast2nd_impl
-{
- template< typename N1, typename N2 > struct apply
-#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)
- : apply_wrap2<
- F
- , N1
- , typename apply_wrap1< BOOST_MPL_AUX_NUMERIC_CAST<Tag2,Tag1>,N2 >::type
- >
- {
-#else
- {
- typedef typename apply_wrap2<
- F
- , N1
- , typename apply_wrap1< BOOST_MPL_AUX_NUMERIC_CAST<Tag2,Tag1>,N2 >::type
- >::type type;
-#endif
- };
-};
-
-}}}
-
-#endif // BOOST_MPL_AUX_NUMERIC_CAST_HPP_INCLUDED
diff --git a/boost/mpl/aux_/numeric_op.hpp b/boost/mpl/aux_/numeric_op.hpp
deleted file mode 100644
index 896935c..0000000
--- a/boost/mpl/aux_/numeric_op.hpp
+++ /dev/null
@@ -1,315 +0,0 @@
-
-#if !defined(BOOST_PP_IS_ITERATING)
-
-///// header body
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION!
-
-// 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: numeric_op.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-# include <boost/mpl/numeric_cast.hpp>
-# include <boost/mpl/apply_wrap.hpp>
-# include <boost/mpl/if.hpp>
-# include <boost/mpl/tag.hpp>
-# include <boost/mpl/aux_/numeric_cast_utils.hpp>
-# include <boost/mpl/aux_/na.hpp>
-# include <boost/mpl/aux_/na_spec.hpp>
-# include <boost/mpl/aux_/lambda_support.hpp>
-# include <boost/mpl/aux_/msvc_eti_base.hpp>
-# include <boost/mpl/aux_/value_wknd.hpp>
-# include <boost/mpl/aux_/config/eti.hpp>
-# include <boost/mpl/aux_/nttp_decl.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/static_constant.hpp>
-
-#if defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- || defined(BOOST_MPL_PREPROCESSING_MODE)
-
-# include <boost/mpl/limits/arity.hpp>
-# include <boost/mpl/aux_/preprocessor/partial_spec_params.hpp>
-# include <boost/mpl/aux_/preprocessor/def_params_tail.hpp>
-# include <boost/mpl/aux_/preprocessor/repeat.hpp>
-# include <boost/mpl/aux_/preprocessor/ext_params.hpp>
-# include <boost/mpl/aux_/preprocessor/params.hpp>
-# include <boost/mpl/aux_/preprocessor/enum.hpp>
-# include <boost/mpl/aux_/preprocessor/add.hpp>
-# include <boost/mpl/aux_/preprocessor/sub.hpp>
-# include <boost/mpl/aux_/config/ctps.hpp>
-# include <boost/mpl/aux_/config/eti.hpp>
-# include <boost/mpl/aux_/config/msvc.hpp>
-# include <boost/mpl/aux_/config/workaround.hpp>
-
-# include <boost/preprocessor/dec.hpp>
-# include <boost/preprocessor/inc.hpp>
-# include <boost/preprocessor/iterate.hpp>
-# include <boost/preprocessor/cat.hpp>
-
-
-#if !defined(AUX778076_OP_ARITY)
-# define AUX778076_OP_ARITY BOOST_MPL_LIMIT_METAFUNCTION_ARITY
-#endif
-
-#if !defined(AUX778076_OP_IMPL_NAME)
-# define AUX778076_OP_IMPL_NAME BOOST_PP_CAT(AUX778076_OP_PREFIX,_impl)
-#endif
-
-#if !defined(AUX778076_OP_TAG_NAME)
-# define AUX778076_OP_TAG_NAME BOOST_PP_CAT(AUX778076_OP_PREFIX,_tag)
-#endif
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
- , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
- , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
- >
-struct AUX778076_OP_IMPL_NAME
- : if_c<
- ( tag1_ > tag2_ )
-#else
- >
-struct AUX778076_OP_IMPL_NAME
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-#endif
- , aux::cast2nd_impl< AUX778076_OP_IMPL_NAME<Tag1,Tag1>,Tag1,Tag2 >
- , aux::cast1st_impl< AUX778076_OP_IMPL_NAME<Tag2,Tag2>,Tag1,Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct AUX778076_OP_IMPL_NAME<na,na>
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-template< typename Tag > struct AUX778076_OP_IMPL_NAME<na,Tag>
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct AUX778076_OP_IMPL_NAME<Tag,na>
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-#else
-template<> struct AUX778076_OP_IMPL_NAME<na,integral_c_tag>
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct AUX778076_OP_IMPL_NAME<integral_c_tag,na>
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-#endif
-
-
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
- && BOOST_WORKAROUND(BOOST_MSVC, >= 1300)
-template< typename T > struct AUX778076_OP_TAG_NAME
- : tag<T,na>
-{
-};
-#else
-template< typename T > struct AUX778076_OP_TAG_NAME
-{
- typedef typename T::tag type;
-};
-#endif
-
-
-#if AUX778076_OP_ARITY != 2
-
-# if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-# define AUX778076_OP_RIGHT_OPERAND(unused, i, N) , BOOST_PP_CAT(N, BOOST_MPL_PP_ADD(i, 2))>
-# define AUX778076_OP_N_CALLS(i, N) \
- BOOST_MPL_PP_REPEAT( BOOST_PP_DEC(i), BOOST_MPL_PP_REPEAT_IDENTITY_FUNC, AUX778076_OP_NAME< ) \
- N1 BOOST_MPL_PP_REPEAT( BOOST_MPL_PP_SUB(i, 1), AUX778076_OP_RIGHT_OPERAND, N ) \
-/**/
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- BOOST_MPL_PP_DEF_PARAMS_TAIL(2, typename N, na)
- >
-struct AUX778076_OP_NAME
- : AUX778076_OP_N_CALLS(AUX778076_OP_ARITY, N)
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- AUX778076_OP_ARITY
- , AUX778076_OP_NAME
- , ( BOOST_MPL_PP_PARAMS(AUX778076_OP_ARITY, N) )
- )
-};
-
-#define BOOST_PP_ITERATION_PARAMS_1 \
- (3,( BOOST_PP_DEC(AUX778076_OP_ARITY), 2, <boost/mpl/aux_/numeric_op.hpp> ))
-#include BOOST_PP_ITERATE()
-
-# undef AUX778076_OP_N_CALLS
-# undef AUX778076_OP_RIGHT_OPERAND
-
-# else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-/// forward declaration
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct BOOST_PP_CAT(AUX778076_OP_NAME,2);
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- BOOST_MPL_PP_DEF_PARAMS_TAIL(2, typename N, na)
- >
-struct AUX778076_OP_NAME
-#if BOOST_WORKAROUND(BOOST_MSVC, == 1300)
- : aux::msvc_eti_base< typename if_<
-#else
- : if_<
-#endif
- is_na<N3>
- , BOOST_PP_CAT(AUX778076_OP_NAME,2)<N1,N2>
- , AUX778076_OP_NAME<
- BOOST_PP_CAT(AUX778076_OP_NAME,2)<N1,N2>
- , BOOST_MPL_PP_EXT_PARAMS(3, BOOST_PP_INC(AUX778076_OP_ARITY), N)
- >
- >::type
-#if BOOST_WORKAROUND(BOOST_MSVC, == 1300)
- >
-#endif
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- AUX778076_OP_ARITY
- , AUX778076_OP_NAME
- , ( BOOST_MPL_PP_PARAMS(AUX778076_OP_ARITY, N) )
- )
-};
-
-template<
- typename N1
- , typename N2
- >
-struct BOOST_PP_CAT(AUX778076_OP_NAME,2)
-
-#endif
-
-#else // AUX778076_OP_ARITY == 2
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct AUX778076_OP_NAME
-
-#endif
-
-#if !defined(BOOST_MPL_CFG_MSVC_ETI_BUG)
- : AUX778076_OP_IMPL_NAME<
- typename AUX778076_OP_TAG_NAME<N1>::type
- , typename AUX778076_OP_TAG_NAME<N2>::type
- >::template apply<N1,N2>::type
-#else
- : aux::msvc_eti_base< typename apply_wrap2<
- AUX778076_OP_IMPL_NAME<
- typename AUX778076_OP_TAG_NAME<N1>::type
- , typename AUX778076_OP_TAG_NAME<N2>::type
- >
- , N1
- , N2
- >::type >::type
-#endif
-{
-#if AUX778076_OP_ARITY != 2
-
-# if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- AUX778076_OP_ARITY
- , AUX778076_OP_NAME
- , ( BOOST_MPL_PP_PARTIAL_SPEC_PARAMS(2, N, na) )
- )
-# else
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, BOOST_PP_CAT(AUX778076_OP_NAME,2), (N1, N2))
-# endif
-
-#else
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, AUX778076_OP_NAME, (N1, N2))
-#endif
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, AUX778076_OP_ARITY, AUX778076_OP_NAME)
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-///// iteration, depth == 1
-
-// For gcc 4.4 compatability, we must include the
-// BOOST_PP_ITERATION_DEPTH test inside an #else clause.
-#else // BOOST_PP_IS_ITERATING
-#if BOOST_PP_ITERATION_DEPTH() == 1
-
-# define i_ BOOST_PP_FRAME_ITERATION(1)
-
-template<
- BOOST_MPL_PP_PARAMS(i_, typename N)
- >
-struct AUX778076_OP_NAME<BOOST_MPL_PP_PARTIAL_SPEC_PARAMS(i_, N, na)>
-#if i_ != 2
- : AUX778076_OP_N_CALLS(i_, N)
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- AUX778076_OP_ARITY
- , AUX778076_OP_NAME
- , ( BOOST_MPL_PP_PARTIAL_SPEC_PARAMS(i_, N, na) )
- )
-};
-#endif
-
-# undef i_
-
-#endif // BOOST_PP_ITERATION_DEPTH()
-#endif // BOOST_PP_IS_ITERATING
diff --git a/boost/mpl/aux_/preprocessed/bcc/advance_backward.hpp b/boost/mpl/aux_/preprocessed/bcc/advance_backward.hpp
deleted file mode 100644
index 5cb50dc..0000000
--- a/boost/mpl/aux_/preprocessed/bcc/advance_backward.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "advance_backward.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< long N > struct advance_backward;
-template<>
-struct advance_backward<0>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef iter0 type;
- };
-};
-
-template<>
-struct advance_backward<1>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename prior<iter0>::type iter1;
- typedef iter1 type;
- };
-};
-
-template<>
-struct advance_backward<2>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename prior<iter0>::type iter1;
- typedef typename prior<iter1>::type iter2;
- typedef iter2 type;
- };
-};
-
-template<>
-struct advance_backward<3>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename prior<iter0>::type iter1;
- typedef typename prior<iter1>::type iter2;
- typedef typename prior<iter2>::type iter3;
- typedef iter3 type;
- };
-};
-
-template<>
-struct advance_backward<4>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename prior<iter0>::type iter1;
- typedef typename prior<iter1>::type iter2;
- typedef typename prior<iter2>::type iter3;
- typedef typename prior<iter3>::type iter4;
- typedef iter4 type;
- };
-};
-
-template< long N >
-struct advance_backward
-{
- template< typename Iterator > struct apply
- {
- typedef typename apply_wrap1<
- advance_backward<4>
- , Iterator
- >::type chunk_result_;
-
- typedef typename apply_wrap1<
- advance_backward<(
- (N - 4) < 0
- ? 0
- : N - 4
- )>
- , chunk_result_
- >::type type;
- };
-};
-
-}}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc/advance_forward.hpp b/boost/mpl/aux_/preprocessed/bcc/advance_forward.hpp
deleted file mode 100644
index 9654ee3..0000000
--- a/boost/mpl/aux_/preprocessed/bcc/advance_forward.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "advance_forward.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< long N > struct advance_forward;
-template<>
-struct advance_forward<0>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef iter0 type;
- };
-};
-
-template<>
-struct advance_forward<1>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename next<iter0>::type iter1;
- typedef iter1 type;
- };
-};
-
-template<>
-struct advance_forward<2>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename next<iter0>::type iter1;
- typedef typename next<iter1>::type iter2;
- typedef iter2 type;
- };
-};
-
-template<>
-struct advance_forward<3>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename next<iter0>::type iter1;
- typedef typename next<iter1>::type iter2;
- typedef typename next<iter2>::type iter3;
- typedef iter3 type;
- };
-};
-
-template<>
-struct advance_forward<4>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename next<iter0>::type iter1;
- typedef typename next<iter1>::type iter2;
- typedef typename next<iter2>::type iter3;
- typedef typename next<iter3>::type iter4;
- typedef iter4 type;
- };
-};
-
-template< long N >
-struct advance_forward
-{
- template< typename Iterator > struct apply
- {
- typedef typename apply_wrap1<
- advance_forward<4>
- , Iterator
- >::type chunk_result_;
-
- typedef typename apply_wrap1<
- advance_forward<(
- (N - 4) < 0
- ? 0
- : N - 4
- )>
- , chunk_result_
- >::type type;
- };
-};
-
-}}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc/and.hpp b/boost/mpl/aux_/preprocessed/bcc/and.hpp
deleted file mode 100644
index f345689..0000000
--- a/boost/mpl/aux_/preprocessed/bcc/and.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "and.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< bool C_, typename T1, typename T2, typename T3, typename T4 >
-struct and_impl
- : false_
-{
-};
-
-template< typename T1, typename T2, typename T3, typename T4 >
-struct and_impl< true,T1,T2,T3,T4 >
- : and_impl<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
- , T2, T3, T4
- , true_
- >
-{
-};
-
-template<>
-struct and_impl<
- true
- , true_, true_, true_, true_
- >
- : true_
-{
-};
-
-} // namespace aux
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(T1)
- , typename BOOST_MPL_AUX_NA_PARAM(T2)
- , typename T3 = true_, typename T4 = true_, typename T5 = true_
- >
-struct and_
-
- : aux::and_impl<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
- , T2, T3, T4, T5
- >
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , and_
- , ( T1, T2, T3, T4, T5)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC2(
- 2
- , 5
- , and_
- )
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc/apply.hpp b/boost/mpl/aux_/preprocessed/bcc/apply.hpp
deleted file mode 100644
index bce7c2c..0000000
--- a/boost/mpl/aux_/preprocessed/bcc/apply.hpp
+++ /dev/null
@@ -1,169 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "apply.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename F
- >
-struct apply0
-
- : apply_wrap0<
- typename lambda<F>::type
-
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 1
- , apply0
- , (F )
- )
-};
-
-template<
- typename F
- >
-struct apply< F,na,na,na,na,na >
- : apply0<F>
-{
-};
-
-template<
- typename F, typename T1
- >
-struct apply1
-
- : apply_wrap1<
- typename lambda<F>::type
- , T1
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 2
- , apply1
- , (F, T1)
- )
-};
-
-template<
- typename F, typename T1
- >
-struct apply< F,T1,na,na,na,na >
- : apply1< F,T1 >
-{
-};
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply2
-
- : apply_wrap2<
- typename lambda<F>::type
- , T1, T2
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 3
- , apply2
- , (F, T1, T2)
- )
-};
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply< F,T1,T2,na,na,na >
- : apply2< F,T1,T2 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply3
-
- : apply_wrap3<
- typename lambda<F>::type
- , T1, T2, T3
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 4
- , apply3
- , (F, T1, T2, T3)
- )
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply< F,T1,T2,T3,na,na >
- : apply3< F,T1,T2,T3 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply4
-
- : apply_wrap4<
- typename lambda<F>::type
- , T1, T2, T3, T4
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , apply4
- , (F, T1, T2, T3, T4)
- )
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply< F,T1,T2,T3,T4,na >
- : apply4< F,T1,T2,T3,T4 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct apply5
-
- : apply_wrap5<
- typename lambda<F>::type
- , T1, T2, T3, T4, T5
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 6
- , apply5
- , (F, T1, T2, T3, T4, T5)
- )
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct apply
- : apply5< F,T1,T2,T3,T4,T5 >
-{
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc/apply_fwd.hpp b/boost/mpl/aux_/preprocessed/bcc/apply_fwd.hpp
deleted file mode 100644
index 1ba706f..0000000
--- a/boost/mpl/aux_/preprocessed/bcc/apply_fwd.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "apply_fwd.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename F, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na
- >
-struct apply;
-
-template<
- typename F
- >
-struct apply0;
-
-template<
- typename F, typename T1
- >
-struct apply1;
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply2;
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply3;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply4;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct apply5;
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc/apply_wrap.hpp b/boost/mpl/aux_/preprocessed/bcc/apply_wrap.hpp
deleted file mode 100644
index 45b75c7..0000000
--- a/boost/mpl/aux_/preprocessed/bcc/apply_wrap.hpp
+++ /dev/null
@@ -1,461 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-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)
-//
-
-// *Preprocessed* version of the main "apply_wrap.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- int N, typename F
- >
-struct apply_wrap_impl0;
-
-template< typename F, bool F_has_apply >
-struct apply_wrap_impl0_bcb {
- typedef typename F::template apply<na> type;
-};
-
-template< typename F >
-struct apply_wrap_impl0_bcb< F,true > {
- typedef typename F::apply type;
-};
-
-template<
- typename F
- >
-struct apply_wrap_impl0<
- 0
- , F
-
- >
-{
- typedef apply_wrap_impl0_bcb< F, aux::has_apply<F>::value >::type type;
-};
-
-template<
- typename F
- >
-struct apply_wrap_impl0<
- 1
- , F
-
- >
-{
- typedef typename F::template apply<
-
- na
- > type;
-};
-
-template<
- typename F
- >
-struct apply_wrap_impl0<
- 2
- , F
-
- >
-{
- typedef typename F::template apply<
-
- na, na
-
- > type;
-};
-
-template<
- typename F
- >
-struct apply_wrap_impl0<
- 3
- , F
-
- >
-{
- typedef typename F::template apply<
-
- na, na, na
-
- > type;
-};
-
-template<
- typename F
- >
-struct apply_wrap_impl0<
- 4
- , F
-
- >
-{
- typedef typename F::template apply<
-
- na, na, na, na
-
- > type;
-};
-
-template<
- typename F
- >
-struct apply_wrap_impl0<
- 5
- , F
-
- >
-{
- typedef typename F::template apply<
-
- na, na, na, na, na
-
- > type;
-};
-
-template<
- typename F
- >
-struct apply_wrap0
- : apply_wrap_impl0<
- ::boost::mpl::aux::arity< F,0 >::value
- , F
-
- >::type
-{
-};
-
-template<
- int N, typename F, typename T1
- >
-struct apply_wrap_impl1;
-
-template<
- typename F, typename T1
- >
-struct apply_wrap_impl1<
- 1
- , F
- , T1
- >
-{
- typedef typename F::template apply<
- T1
- > type;
-};
-
-template<
- typename F, typename T1
- >
-struct apply_wrap_impl1<
- 2
- , F
- , T1
- >
-{
- typedef typename F::template apply<
- T1
- , na
-
- > type;
-};
-
-template<
- typename F, typename T1
- >
-struct apply_wrap_impl1<
- 3
- , F
- , T1
- >
-{
- typedef typename F::template apply<
- T1
- , na, na
-
- > type;
-};
-
-template<
- typename F, typename T1
- >
-struct apply_wrap_impl1<
- 4
- , F
- , T1
- >
-{
- typedef typename F::template apply<
- T1
- , na, na, na
-
- > type;
-};
-
-template<
- typename F, typename T1
- >
-struct apply_wrap_impl1<
- 5
- , F
- , T1
- >
-{
- typedef typename F::template apply<
- T1
- , na, na, na, na
-
- > type;
-};
-
-template<
- typename F, typename T1
- >
-struct apply_wrap1
- : apply_wrap_impl1<
- ::boost::mpl::aux::arity< F,1 >::value
- , F
- , T1
- >::type
-{
-};
-
-template<
- int N, typename F, typename T1, typename T2
- >
-struct apply_wrap_impl2;
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply_wrap_impl2<
- 2
- , F
- , T1, T2
- >
-{
- typedef typename F::template apply<
- T1, T2
-
- > type;
-};
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply_wrap_impl2<
- 3
- , F
- , T1, T2
- >
-{
- typedef typename F::template apply<
- T1, T2
-
- , na
-
- > type;
-};
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply_wrap_impl2<
- 4
- , F
- , T1, T2
- >
-{
- typedef typename F::template apply<
- T1, T2
-
- , na, na
-
- > type;
-};
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply_wrap_impl2<
- 5
- , F
- , T1, T2
- >
-{
- typedef typename F::template apply<
- T1, T2
-
- , na, na, na
-
- > type;
-};
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply_wrap2
- : apply_wrap_impl2<
- ::boost::mpl::aux::arity< F,2 >::value
- , F
- , T1, T2
- >::type
-{
-};
-
-template<
- int N, typename F, typename T1, typename T2, typename T3
- >
-struct apply_wrap_impl3;
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply_wrap_impl3<
- 3
- , F
- , T1, T2, T3
- >
-{
- typedef typename F::template apply<
- T1, T2, T3
-
- > type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply_wrap_impl3<
- 4
- , F
- , T1, T2, T3
- >
-{
- typedef typename F::template apply<
- T1, T2, T3
-
- , na
-
- > type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply_wrap_impl3<
- 5
- , F
- , T1, T2, T3
- >
-{
- typedef typename F::template apply<
- T1, T2, T3
-
- , na, na
-
- > type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply_wrap3
- : apply_wrap_impl3<
- ::boost::mpl::aux::arity< F,3 >::value
- , F
- , T1, T2, T3
- >::type
-{
-};
-
-template<
- int N, typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply_wrap_impl4;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply_wrap_impl4<
- 4
- , F
- , T1, T2, T3, T4
- >
-{
- typedef typename F::template apply<
- T1, T2, T3, T4
-
- > type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply_wrap_impl4<
- 5
- , F
- , T1, T2, T3, T4
- >
-{
- typedef typename F::template apply<
- T1, T2, T3, T4
-
- , na
-
- > type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply_wrap4
- : apply_wrap_impl4<
- ::boost::mpl::aux::arity< F,4 >::value
- , F
- , T1, T2, T3, T4
- >::type
-{
-};
-
-template<
- int N, typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct apply_wrap_impl5;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct apply_wrap_impl5<
- 5
- , F
- , T1, T2, T3, T4, T5
- >
-{
- typedef typename F::template apply<
- T1, T2, T3, T4, T5
-
- > type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct apply_wrap5
- : apply_wrap_impl5<
- ::boost::mpl::aux::arity< F,5 >::value
- , F
- , T1, T2, T3, T4, T5
- >::type
-{
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc/arg.hpp b/boost/mpl/aux_/preprocessed/bcc/arg.hpp
deleted file mode 100644
index 3ac4340..0000000
--- a/boost/mpl/aux_/preprocessed/bcc/arg.hpp
+++ /dev/null
@@ -1,117 +0,0 @@
-
-// Copyright Peter Dimov 2001-2002
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// *Preprocessed* version of the main "arg.hpp" header
-// -- DO NOT modify by hand!
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-template<> struct arg< -1 >
-{
- BOOST_STATIC_CONSTANT(int, value = -1);
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1, typename U2, typename U3, typename U4, typename U5
- >
- struct apply
- {
- typedef U1 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<1>
-{
- BOOST_STATIC_CONSTANT(int, value = 1);
- typedef arg<2> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1, typename U2, typename U3, typename U4, typename U5
- >
- struct apply
- {
- typedef U1 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<2>
-{
- BOOST_STATIC_CONSTANT(int, value = 2);
- typedef arg<3> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1, typename U2, typename U3, typename U4, typename U5
- >
- struct apply
- {
- typedef U2 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<3>
-{
- BOOST_STATIC_CONSTANT(int, value = 3);
- typedef arg<4> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1, typename U2, typename U3, typename U4, typename U5
- >
- struct apply
- {
- typedef U3 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<4>
-{
- BOOST_STATIC_CONSTANT(int, value = 4);
- typedef arg<5> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1, typename U2, typename U3, typename U4, typename U5
- >
- struct apply
- {
- typedef U4 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<5>
-{
- BOOST_STATIC_CONSTANT(int, value = 5);
- typedef arg<6> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1, typename U2, typename U3, typename U4, typename U5
- >
- struct apply
- {
- typedef U5 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
diff --git a/boost/mpl/aux_/preprocessed/bcc/basic_bind.hpp b/boost/mpl/aux_/preprocessed/bcc/basic_bind.hpp
deleted file mode 100644
index 74b0029..0000000
--- a/boost/mpl/aux_/preprocessed/bcc/basic_bind.hpp
+++ /dev/null
@@ -1,300 +0,0 @@
-
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// *Preprocessed* version of the main "basic_bind.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
- typename T, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg
-{
- typedef T type;
-};
-
-template<
- int N, typename U1, typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >
-{
- typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;
-};
-
-} // namespace aux
-
-template<
- typename F
- >
-struct bind0
-{
- template<
- typename U1, typename U2, typename U3, typename U4, typename U5
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-
- public:
- typedef typename apply_wrap0<
- f_
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg<
- bind0<F>, U1, U2, U3, U4, U5
- >
-{
- typedef bind0<F> f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
-
-template<
- typename F, typename T1
- >
-struct bind1
-{
- template<
- typename U1, typename U2, typename U3, typename U4, typename U5
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-
- public:
- typedef typename apply_wrap1<
- f_
- , typename t1::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename U1, typename U2, typename U3
- , typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind1< F,T1 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind1< F,T1 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
-
-template<
- typename F, typename T1, typename T2
- >
-struct bind2
-{
- template<
- typename U1, typename U2, typename U3, typename U4, typename U5
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-
- public:
- typedef typename apply_wrap2<
- f_
- , typename t1::type, typename t2::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename U1, typename U2
- , typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind2< F,T1,T2 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind2< F,T1,T2 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct bind3
-{
- template<
- typename U1, typename U2, typename U3, typename U4, typename U5
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
- typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-
- public:
- typedef typename apply_wrap3<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename U1
- , typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind3< F,T1,T2,T3 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct bind4
-{
- template<
- typename U1, typename U2, typename U3, typename U4, typename U5
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
- typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
- typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
-
- public:
- typedef typename apply_wrap4<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- , typename t4::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename U1, typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind4< F,T1,T2,T3,T4 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct bind5
-{
- template<
- typename U1, typename U2, typename U3, typename U4, typename U5
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
- typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
- typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
- typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5;
-
- public:
- typedef typename apply_wrap5<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- , typename t4::type, typename t5::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg<
- bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind5< F,T1,T2,T3,T4,T5 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc/bind.hpp b/boost/mpl/aux_/preprocessed/bcc/bind.hpp
deleted file mode 100644
index e769a0c..0000000
--- a/boost/mpl/aux_/preprocessed/bcc/bind.hpp
+++ /dev/null
@@ -1,397 +0,0 @@
-
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// *Preprocessed* version of the main "bind.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
- typename T, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg
-{
- typedef T type;
-};
-
-template<
- typename T
- , typename Arg
- >
-struct replace_unnamed_arg
-{
- typedef Arg next;
- typedef T type;
-};
-
-template<
- typename Arg
- >
-struct replace_unnamed_arg< arg< -1 >, Arg >
-{
- typedef typename Arg::next next;
- typedef Arg type;
-};
-
-template<
- int N, typename U1, typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >
-{
- typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;
-};
-
-} // namespace aux
-
-template<
- typename F
- >
-struct bind0
-{
- template<
- typename U1, typename U2, typename U3, typename U4, typename U5
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- public:
- typedef typename apply_wrap0<
- f_
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg<
- bind0<F>, U1, U2, U3, U4, U5
- >
-{
- typedef bind0<F> f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
-
-template<
- typename F, typename T1
- >
-struct bind1
-{
- template<
- typename U1, typename U2, typename U3, typename U4, typename U5
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- public:
- typedef typename apply_wrap1<
- f_
- , typename t1::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename U1, typename U2, typename U3
- , typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind1< F,T1 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind1< F,T1 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
-
-template<
- typename F, typename T1, typename T2
- >
-struct bind2
-{
- template<
- typename U1, typename U2, typename U3, typename U4, typename U5
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- public:
- typedef typename apply_wrap2<
- f_
- , typename t1::type, typename t2::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename U1, typename U2
- , typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind2< F,T1,T2 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind2< F,T1,T2 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct bind3
-{
- template<
- typename U1, typename U2, typename U3, typename U4, typename U5
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- typedef aux::replace_unnamed_arg< T3,n3 > r3;
- typedef typename r3::type a3;
- typedef typename r3::next n4;
- typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
- ///
- public:
- typedef typename apply_wrap3<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename U1
- , typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind3< F,T1,T2,T3 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct bind4
-{
- template<
- typename U1, typename U2, typename U3, typename U4, typename U5
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- typedef aux::replace_unnamed_arg< T3,n3 > r3;
- typedef typename r3::type a3;
- typedef typename r3::next n4;
- typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
- ///
- typedef aux::replace_unnamed_arg< T4,n4 > r4;
- typedef typename r4::type a4;
- typedef typename r4::next n5;
- typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
- ///
- public:
- typedef typename apply_wrap4<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- , typename t4::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename U1, typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind4< F,T1,T2,T3,T4 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct bind5
-{
- template<
- typename U1, typename U2, typename U3, typename U4, typename U5
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- typedef aux::replace_unnamed_arg< T3,n3 > r3;
- typedef typename r3::type a3;
- typedef typename r3::next n4;
- typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
- ///
- typedef aux::replace_unnamed_arg< T4,n4 > r4;
- typedef typename r4::type a4;
- typedef typename r4::next n5;
- typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
- ///
- typedef aux::replace_unnamed_arg< T5,n5 > r5;
- typedef typename r5::type a5;
- typedef typename r5::next n6;
- typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5;
- ///
- public:
- typedef typename apply_wrap5<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- , typename t4::type, typename t5::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg<
- bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind5< F,T1,T2,T3,T4,T5 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc/bind_fwd.hpp b/boost/mpl/aux_/preprocessed/bcc/bind_fwd.hpp
deleted file mode 100644
index 962b5c9..0000000
--- a/boost/mpl/aux_/preprocessed/bcc/bind_fwd.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "bind_fwd.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename F
- >
-struct bind0;
-
-template<
- typename F, typename T1
- >
-struct bind1;
-
-template<
- typename F, typename T1, typename T2
- >
-struct bind2;
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct bind3;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct bind4;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct bind5;
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc/bitand.hpp b/boost/mpl/aux_/preprocessed/bcc/bitand.hpp
deleted file mode 100644
index 527b689..0000000
--- a/boost/mpl/aux_/preprocessed/bcc/bitand.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// *Preprocessed* version of the main "bitand.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct bitand_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitand_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitand_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitand_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct bitand_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct bitand_
- : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , bitand_
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct bitand_< N1,N2,N3,N4,na >
-
- : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitand_
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct bitand_< N1,N2,N3,na,na >
-
- : bitand_< bitand_< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitand_
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct bitand_< N1,N2,na,na,na >
- : bitand_impl<
- typename bitand_tag<N1>::type
- , typename bitand_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitand_
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitand_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- & BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc/bitor.hpp b/boost/mpl/aux_/preprocessed/bcc/bitor.hpp
deleted file mode 100644
index 3f0d5ca..0000000
--- a/boost/mpl/aux_/preprocessed/bcc/bitor.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// *Preprocessed* version of the main "bitor.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct bitor_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitor_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitor_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitor_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct bitor_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct bitor_
- : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , bitor_
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct bitor_< N1,N2,N3,N4,na >
-
- : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitor_
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct bitor_< N1,N2,N3,na,na >
-
- : bitor_< bitor_< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitor_
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct bitor_< N1,N2,na,na,na >
- : bitor_impl<
- typename bitor_tag<N1>::type
- , typename bitor_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitor_
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitor_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- | BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc/bitxor.hpp b/boost/mpl/aux_/preprocessed/bcc/bitxor.hpp
deleted file mode 100644
index 06996c0..0000000
--- a/boost/mpl/aux_/preprocessed/bcc/bitxor.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// *Preprocessed* version of the main "bitxor.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct bitxor_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitxor_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitxor_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitxor_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct bitxor_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct bitxor_
- : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , bitxor_
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct bitxor_< N1,N2,N3,N4,na >
-
- : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitxor_
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct bitxor_< N1,N2,N3,na,na >
-
- : bitxor_< bitxor_< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitxor_
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct bitxor_< N1,N2,na,na,na >
- : bitxor_impl<
- typename bitxor_tag<N1>::type
- , typename bitxor_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitxor_
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitxor_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc/deque.hpp b/boost/mpl/aux_/preprocessed/bcc/deque.hpp
deleted file mode 100644
index 06505c9..0000000
--- a/boost/mpl/aux_/preprocessed/bcc/deque.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "deque.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct deque;
-
-template<
-
- >
-struct deque<
- na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector0< >
-{
- typedef vector0< >::type type;
-};
-
-template<
- typename T0
- >
-struct deque<
- T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector1<T0>
-{
- typedef typename vector1<T0>::type type;
-};
-
-template<
- typename T0, typename T1
- >
-struct deque<
- T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector2< T0,T1 >
-{
- typedef typename vector2< T0,T1 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct deque<
- T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector3< T0,T1,T2 >
-{
- typedef typename vector3< T0,T1,T2 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct deque<
- T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector4< T0,T1,T2,T3 >
-{
- typedef typename vector4< T0,T1,T2,T3 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct deque<
- T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector5< T0,T1,T2,T3,T4 >
-{
- typedef typename vector5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector6< T0,T1,T2,T3,T4,T5 >
-{
- typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector7< T0,T1,T2,T3,T4,T5,T6 >
-{
- typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
- typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
- typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
- typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
- , na, na, na
- >
- : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
- typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
- , na, na, na, na
- >
- : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
- typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
- , na, na, na, na
- >
- : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
- typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
- , na, na, na, na
- >
- : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
- typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
- , na, na, na, na
- >
- : vector15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >
-{
- typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, na, na, na, na
- >
- : vector16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15
- >
-{
- typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, na, na, na
- >
- : vector17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16
- >
-{
- typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, na, na
- >
- : vector18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17
- >
-{
- typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, na
- >
- : vector19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18
- >
-{
- typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct deque
- : vector20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, T19
- >
-{
- typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc/divides.hpp b/boost/mpl/aux_/preprocessed/bcc/divides.hpp
deleted file mode 100644
index 6b4178a..0000000
--- a/boost/mpl/aux_/preprocessed/bcc/divides.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "divides.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct divides_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct divides_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct divides_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct divides_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct divides_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct divides
- : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , divides
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct divides< N1,N2,N3,N4,na >
-
- : divides< divides< divides< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , divides
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct divides< N1,N2,N3,na,na >
-
- : divides< divides< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , divides
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct divides< N1,N2,na,na,na >
- : divides_impl<
- typename divides_tag<N1>::type
- , typename divides_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , divides
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, divides)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct divides_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- / BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc/equal_to.hpp b/boost/mpl/aux_/preprocessed/bcc/equal_to.hpp
deleted file mode 100644
index 901a93c..0000000
--- a/boost/mpl/aux_/preprocessed/bcc/equal_to.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "equal_to.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct equal_to_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct equal_to_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct equal_to_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct equal_to_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct equal_to_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct equal_to
-
- : equal_to_impl<
- typename equal_to_tag<N1>::type
- , typename equal_to_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct equal_to_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc/fold_impl.hpp b/boost/mpl/aux_/preprocessed/bcc/fold_impl.hpp
deleted file mode 100644
index 45ab4e7..0000000
--- a/boost/mpl/aux_/preprocessed/bcc/fold_impl.hpp
+++ /dev/null
@@ -1,180 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
- int N
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl;
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< 0,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef state0 state;
- typedef iter0 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< 1,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
-
-
- typedef state1 state;
- typedef iter1 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< 2,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
-
-
- typedef state2 state;
- typedef iter2 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< 3,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
- typedef typename mpl::next<iter2>::type iter3;
-
-
- typedef state3 state;
- typedef iter3 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< 4,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp, state3, typename deref<iter3>::type >::type state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef state4 state;
- typedef iter4 iterator;
-};
-
-template<
- int N
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl
-{
- typedef fold_impl<
- 4
- , First
- , Last
- , State
- , ForwardOp
- > chunk_;
-
- typedef fold_impl<
- ( (N - 4) < 0 ? 0 : N - 4 )
- , typename chunk_::iterator
- , Last
- , typename chunk_::state
- , ForwardOp
- > res_;
-
- typedef typename res_::state state;
- typedef typename res_::iterator iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< -1,First,Last,State,ForwardOp >
- : fold_impl<
- -1
- , typename mpl::next<First>::type
- , Last
- , typename apply2<ForwardOp,State, typename deref<First>::type>::type
- , ForwardOp
- >
-{
-};
-
-template<
- typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< -1,Last,Last,State,ForwardOp >
-{
- typedef State state;
- typedef Last iterator;
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/bcc/full_lambda.hpp b/boost/mpl/aux_/preprocessed/bcc/full_lambda.hpp
deleted file mode 100644
index 8b2bf59..0000000
--- a/boost/mpl/aux_/preprocessed/bcc/full_lambda.hpp
+++ /dev/null
@@ -1,558 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// *Preprocessed* version of the main "full_lambda.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
- bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
- , bool C5 = false
- >
-struct lambda_or
- : true_
-{
-};
-
-template<>
-struct lambda_or< false,false,false,false,false >
- : false_
-{
-};
-
-} // namespace aux
-
-template<
- typename T
- , typename Tag
- , typename Arity
- >
-struct lambda
-{
- typedef false_ is_le;
- typedef T result_;
- typedef T type;
-};
-
-template<
- typename T
- >
-struct is_lambda_expression
- : lambda<T>::is_le
-{
-};
-
-template< int N, typename Tag >
-struct lambda< arg<N>,Tag, int_< -1 > >
-{
- typedef true_ is_le;
- typedef mpl::arg<N> result_; // qualified for the sake of MIPSpro 7.41
- typedef mpl::protect<result_> type;
-};
-
-template<
- typename F
- , typename Tag
- >
-struct lambda<
- bind0<F>
- , Tag
- , int_<1>
- >
-{
- typedef false_ is_le;
- typedef bind0<
- F
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1 > class F
- , typename L1
- >
-struct le_result1
-{
- typedef F<
- typename L1::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1 > class F
- , typename L1
- >
-struct le_result1< true_,Tag,F,L1 >
-{
- typedef bind1<
- quote1< F,Tag >
- , typename L1::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template< typename P1 > class F
- , typename T1
- , typename Tag
- >
-struct lambda<
- F<T1>
- , Tag
- , int_<1>
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef typename l1::is_le is_le1;
- typedef typename aux::lambda_or<
- is_le1::value
- >::type is_le;
-
- typedef aux::le_result1<
- is_le, Tag, F, l1
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1
- , typename Tag
- >
-struct lambda<
- bind1< F,T1 >
- , Tag
- , int_<2>
- >
-{
- typedef false_ is_le;
- typedef bind1<
- F
- , T1
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1, typename P2 > class F
- , typename L1, typename L2
- >
-struct le_result2
-{
- typedef F<
- typename L1::type, typename L2::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1, typename P2 > class F
- , typename L1, typename L2
- >
-struct le_result2< true_,Tag,F,L1,L2 >
-{
- typedef bind2<
- quote2< F,Tag >
- , typename L1::result_, typename L2::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template< typename P1, typename P2 > class F
- , typename T1, typename T2
- , typename Tag
- >
-struct lambda<
- F< T1,T2 >
- , Tag
- , int_<2>
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef lambda< T2,Tag > l2;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
-
-
- typedef typename aux::lambda_or<
- is_le1::value, is_le2::value
- >::type is_le;
-
- typedef aux::le_result2<
- is_le, Tag, F, l1, l2
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1, typename T2
- , typename Tag
- >
-struct lambda<
- bind2< F,T1,T2 >
- , Tag
- , int_<3>
- >
-{
- typedef false_ is_le;
- typedef bind2<
- F
- , T1, T2
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1, typename P2, typename P3 > class F
- , typename L1, typename L2, typename L3
- >
-struct le_result3
-{
- typedef F<
- typename L1::type, typename L2::type, typename L3::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1, typename P2, typename P3 > class F
- , typename L1, typename L2, typename L3
- >
-struct le_result3< true_,Tag,F,L1,L2,L3 >
-{
- typedef bind3<
- quote3< F,Tag >
- , typename L1::result_, typename L2::result_, typename L3::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template< typename P1, typename P2, typename P3 > class F
- , typename T1, typename T2, typename T3
- , typename Tag
- >
-struct lambda<
- F< T1,T2,T3 >
- , Tag
- , int_<3>
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef lambda< T2,Tag > l2;
- typedef lambda< T3,Tag > l3;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
-
-
- typedef typename aux::lambda_or<
- is_le1::value, is_le2::value, is_le3::value
- >::type is_le;
-
- typedef aux::le_result3<
- is_le, Tag, F, l1, l2, l3
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- , typename Tag
- >
-struct lambda<
- bind3< F,T1,T2,T3 >
- , Tag
- , int_<4>
- >
-{
- typedef false_ is_le;
- typedef bind3<
- F
- , T1, T2, T3
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1, typename P2, typename P3, typename P4 > class F
- , typename L1, typename L2, typename L3, typename L4
- >
-struct le_result4
-{
- typedef F<
- typename L1::type, typename L2::type, typename L3::type
- , typename L4::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1, typename P2, typename P3, typename P4 > class F
- , typename L1, typename L2, typename L3, typename L4
- >
-struct le_result4< true_,Tag,F,L1,L2,L3,L4 >
-{
- typedef bind4<
- quote4< F,Tag >
- , typename L1::result_, typename L2::result_, typename L3::result_
- , typename L4::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template< typename P1, typename P2, typename P3, typename P4 > class F
- , typename T1, typename T2, typename T3, typename T4
- , typename Tag
- >
-struct lambda<
- F< T1,T2,T3,T4 >
- , Tag
- , int_<4>
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef lambda< T2,Tag > l2;
- typedef lambda< T3,Tag > l3;
- typedef lambda< T4,Tag > l4;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
- typedef typename l4::is_le is_le4;
-
-
- typedef typename aux::lambda_or<
- is_le1::value, is_le2::value, is_le3::value, is_le4::value
- >::type is_le;
-
- typedef aux::le_result4<
- is_le, Tag, F, l1, l2, l3, l4
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename Tag
- >
-struct lambda<
- bind4< F,T1,T2,T3,T4 >
- , Tag
- , int_<5>
- >
-{
- typedef false_ is_le;
- typedef bind4<
- F
- , T1, T2, T3, T4
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
- , typename L1, typename L2, typename L3, typename L4, typename L5
- >
-struct le_result5
-{
- typedef F<
- typename L1::type, typename L2::type, typename L3::type
- , typename L4::type, typename L5::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
- , typename L1, typename L2, typename L3, typename L4, typename L5
- >
-struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 >
-{
- typedef bind5<
- quote5< F,Tag >
- , typename L1::result_, typename L2::result_, typename L3::result_
- , typename L4::result_, typename L5::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template<
- typename P1, typename P2, typename P3, typename P4
- , typename P5
- >
- class F
- , typename T1, typename T2, typename T3, typename T4, typename T5
- , typename Tag
- >
-struct lambda<
- F< T1,T2,T3,T4,T5 >
- , Tag
- , int_<5>
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef lambda< T2,Tag > l2;
- typedef lambda< T3,Tag > l3;
- typedef lambda< T4,Tag > l4;
- typedef lambda< T5,Tag > l5;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
- typedef typename l4::is_le is_le4;
- typedef typename l5::is_le is_le5;
-
-
- typedef typename aux::lambda_or<
- is_le1::value, is_le2::value, is_le3::value, is_le4::value
- , is_le5::value
- >::type is_le;
-
- typedef aux::le_result5<
- is_le, Tag, F, l1, l2, l3, l4, l5
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- , typename Tag
- >
-struct lambda<
- bind5< F,T1,T2,T3,T4,T5 >
- , Tag
- , int_<6>
- >
-{
- typedef false_ is_le;
- typedef bind5<
- F
- , T1, T2, T3, T4, T5
- > result_;
-
- typedef result_ type;
-};
-
-/// special case for 'protect'
-template< typename T, typename Tag >
-struct lambda< mpl::protect<T>,Tag, int_<1> >
-{
- typedef false_ is_le;
- typedef mpl::protect<T> result_;
- typedef result_ type;
-};
-
-/// specializations for the main 'bind' form
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- , typename Tag
- >
-struct lambda<
- bind< F,T1,T2,T3,T4,T5 >
- , Tag
- , int_<6>
- >
-{
- typedef false_ is_le;
- typedef bind< F,T1,T2,T3,T4,T5 > result_;
- typedef result_ type;
-};
-
-template<
- typename F
- , typename Tag1
- , typename Tag2
- , typename Arity
- >
-struct lambda<
- lambda< F,Tag1,Arity >
- , Tag2
- , int_<3>
- >
-{
- typedef lambda< F,Tag2 > l1;
- typedef lambda< Tag1,Tag2 > l2;
- typedef typename l1::is_le is_le;
- typedef bind1< quote1<aux::template_arity>, typename l1::result_ > arity_;
- typedef lambda< typename if_< is_le,arity_,Arity >::type, Tag2 > l3;
- typedef aux::le_result3<is_le, Tag2, mpl::lambda, l1, l2, l3> le_result_;
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 3, lambda)
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc/greater.hpp b/boost/mpl/aux_/preprocessed/bcc/greater.hpp
deleted file mode 100644
index 3d1c3dc..0000000
--- a/boost/mpl/aux_/preprocessed/bcc/greater.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "greater.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct greater_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct greater_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct greater_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct greater_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct greater_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct greater
-
- : greater_impl<
- typename greater_tag<N1>::type
- , typename greater_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct greater_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc/greater_equal.hpp b/boost/mpl/aux_/preprocessed/bcc/greater_equal.hpp
deleted file mode 100644
index fb01186..0000000
--- a/boost/mpl/aux_/preprocessed/bcc/greater_equal.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "greater_equal.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct greater_equal_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct greater_equal_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct greater_equal_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct greater_equal_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct greater_equal_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct greater_equal
-
- : greater_equal_impl<
- typename greater_equal_tag<N1>::type
- , typename greater_equal_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct greater_equal_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc/inherit.hpp b/boost/mpl/aux_/preprocessed/bcc/inherit.hpp
deleted file mode 100644
index 6adcc01..0000000
--- a/boost/mpl/aux_/preprocessed/bcc/inherit.hpp
+++ /dev/null
@@ -1,139 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// *Preprocessed* version of the main "inherit.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(T1)
- , typename BOOST_MPL_AUX_NA_PARAM(T2)
- >
-struct inherit2
- : T1, T2
-{
- typedef inherit2 type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))
-};
-
-template< typename T1 >
-struct inherit2< T1,empty_base >
-{
- typedef T1 type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base))
-};
-
-template< typename T2 >
-struct inherit2< empty_base,T2 >
-{
- typedef T2 type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2))
-};
-
-template<>
-struct inherit2< empty_base,empty_base >
-{
- typedef empty_base type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base))
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, inherit2)
-
-template<
- typename T1 = na, typename T2 = na, typename T3 = na
- >
-struct inherit3
- : inherit2<
- typename inherit2<
- T1, T2
- >::type
- , T3
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 3
- , inherit3
- , ( T1, T2, T3)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC(3, inherit3)
-
-template<
- typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
- >
-struct inherit4
- : inherit2<
- typename inherit3<
- T1, T2, T3
- >::type
- , T4
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 4
- , inherit4
- , ( T1, T2, T3, T4)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC(4, inherit4)
-
-template<
- typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
- , typename T5 = na
- >
-struct inherit5
- : inherit2<
- typename inherit4<
- T1, T2, T3, T4
- >::type
- , T5
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , inherit5
- , ( T1, T2, T3, T4, T5)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC(5, inherit5)
-
-/// primary template
-
-template<
- typename T1 = empty_base, typename T2 = empty_base
- , typename T3 = empty_base, typename T4 = empty_base
- , typename T5 = empty_base
- >
-struct inherit
- : inherit5< T1,T2,T3,T4,T5 >
-{
-};
-
-template<>
-struct inherit< na,na,na,na,na >
-{
- template<
-
- typename T1, typename T2, typename T3, typename T4, typename T5
-
- >
- struct apply
- : inherit< T1,T2,T3,T4,T5 >
- {
- };
-};
-
-BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc/iter_fold_if_impl.hpp b/boost/mpl/aux_/preprocessed/bcc/iter_fold_if_impl.hpp
deleted file mode 100644
index b767e95..0000000
--- a/boost/mpl/aux_/preprocessed/bcc/iter_fold_if_impl.hpp
+++ /dev/null
@@ -1,133 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright David Abrahams 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)
-//
-
-// *Preprocessed* version of the main "iter_fold_if_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< typename Iterator, typename State >
-struct iter_fold_if_null_step
-{
- typedef State state;
- typedef Iterator iterator;
-};
-
-template< bool >
-struct iter_fold_if_step_impl
-{
- template<
- typename Iterator
- , typename State
- , typename StateOp
- , typename IteratorOp
- >
- struct result_
- {
- typedef typename apply2< StateOp,State,Iterator >::type state;
- typedef typename IteratorOp::type iterator;
- };
-};
-
-template<>
-struct iter_fold_if_step_impl<false>
-{
- template<
- typename Iterator
- , typename State
- , typename StateOp
- , typename IteratorOp
- >
- struct result_
- {
- typedef State state;
- typedef Iterator iterator;
- };
-};
-
-template<
- typename Iterator
- , typename State
- , typename ForwardOp
- , typename Predicate
- >
-struct iter_fold_if_forward_step
-{
- typedef typename apply2< Predicate,State,Iterator >::type not_last;
- typedef typename iter_fold_if_step_impl<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
- >::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_;
-
- typedef typename impl_::state state;
- typedef typename impl_::iterator iterator;
-};
-
-template<
- typename Iterator
- , typename State
- , typename BackwardOp
- , typename Predicate
- >
-struct iter_fold_if_backward_step
-{
- typedef typename apply2< Predicate,State,Iterator >::type not_last;
- typedef typename iter_fold_if_step_impl<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
- >::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_;
-
- typedef typename impl_::state state;
- typedef typename impl_::iterator iterator;
-};
-
-template<
- typename Iterator
- , typename State
- , typename ForwardOp
- , typename ForwardPredicate
- , typename BackwardOp
- , typename BackwardPredicate
- >
-struct iter_fold_if_impl
-{
- private:
- typedef iter_fold_if_null_step< Iterator,State > forward_step0;
- typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1;
- typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2;
- typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3;
- typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4;
-
-
- typedef typename if_<
- typename forward_step4::not_last
- , iter_fold_if_impl<
- typename forward_step4::iterator
- , typename forward_step4::state
- , ForwardOp
- , ForwardPredicate
- , BackwardOp
- , BackwardPredicate
- >
- , iter_fold_if_null_step<
- typename forward_step4::iterator
- , typename forward_step4::state
- >
- >::type backward_step4;
-
- typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3;
- typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2;
- typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1;
- typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0;
-
-
- public:
- typedef typename backward_step0::state state;
- typedef typename backward_step4::iterator iterator;
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/bcc/iter_fold_impl.hpp b/boost/mpl/aux_/preprocessed/bcc/iter_fold_impl.hpp
deleted file mode 100644
index 1dd216c..0000000
--- a/boost/mpl/aux_/preprocessed/bcc/iter_fold_impl.hpp
+++ /dev/null
@@ -1,180 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "iter_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
- int N
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl;
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< 0,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef state0 state;
- typedef iter0 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< 1,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
-
-
- typedef state1 state;
- typedef iter1 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< 2,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
-
-
- typedef state2 state;
- typedef iter2 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< 3,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
- typedef typename mpl::next<iter2>::type iter3;
-
-
- typedef state3 state;
- typedef iter3 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< 4,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp,state3,iter3 >::type state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef state4 state;
- typedef iter4 iterator;
-};
-
-template<
- int N
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl
-{
- typedef iter_fold_impl<
- 4
- , First
- , Last
- , State
- , ForwardOp
- > chunk_;
-
- typedef iter_fold_impl<
- ( (N - 4) < 0 ? 0 : N - 4 )
- , typename chunk_::iterator
- , Last
- , typename chunk_::state
- , ForwardOp
- > res_;
-
- typedef typename res_::state state;
- typedef typename res_::iterator iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< -1,First,Last,State,ForwardOp >
- : iter_fold_impl<
- -1
- , typename mpl::next<First>::type
- , Last
- , typename apply2< ForwardOp,State,First >::type
- , ForwardOp
- >
-{
-};
-
-template<
- typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< -1,Last,Last,State,ForwardOp >
-{
- typedef State state;
- typedef Last iterator;
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/bcc/lambda_no_ctps.hpp b/boost/mpl/aux_/preprocessed/bcc/lambda_no_ctps.hpp
deleted file mode 100644
index 75b30ce..0000000
--- a/boost/mpl/aux_/preprocessed/bcc/lambda_no_ctps.hpp
+++ /dev/null
@@ -1,229 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "lambda_no_ctps.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
- bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
- , bool C5 = false
- >
-struct lambda_or
- : true_
-{
-};
-
-template<>
-struct lambda_or< false,false,false,false,false >
- : false_
-{
-};
-
-template< typename Arity > struct lambda_impl
-{
- template< typename T, typename Tag, typename Protect > struct result_
- {
- typedef T type;
- typedef is_placeholder<T> is_le;
- };
-};
-
-template<> struct lambda_impl< int_<1> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef typename l1::is_le is_le1;
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value
- > is_le;
-
- typedef bind1<
- typename F::rebind
- , typename l1::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-template<> struct lambda_impl< int_<2> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef lambda< typename F::arg2, Tag, false_ > l2;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
-
-
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value
- > is_le;
-
- typedef bind2<
- typename F::rebind
- , typename l1::type, typename l2::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-template<> struct lambda_impl< int_<3> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef lambda< typename F::arg2, Tag, false_ > l2;
- typedef lambda< typename F::arg3, Tag, false_ > l3;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
-
-
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value
- > is_le;
-
- typedef bind3<
- typename F::rebind
- , typename l1::type, typename l2::type, typename l3::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-template<> struct lambda_impl< int_<4> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef lambda< typename F::arg2, Tag, false_ > l2;
- typedef lambda< typename F::arg3, Tag, false_ > l3;
- typedef lambda< typename F::arg4, Tag, false_ > l4;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
- typedef typename l4::is_le is_le4;
-
-
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value
- > is_le;
-
- typedef bind4<
- typename F::rebind
- , typename l1::type, typename l2::type, typename l3::type
- , typename l4::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-template<> struct lambda_impl< int_<5> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef lambda< typename F::arg2, Tag, false_ > l2;
- typedef lambda< typename F::arg3, Tag, false_ > l3;
- typedef lambda< typename F::arg4, Tag, false_ > l4;
- typedef lambda< typename F::arg5, Tag, false_ > l5;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
- typedef typename l4::is_le is_le4;
- typedef typename l5::is_le is_le5;
-
-
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value
- > is_le;
-
- typedef bind5<
- typename F::rebind
- , typename l1::type, typename l2::type, typename l3::type
- , typename l4::type, typename l5::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-} // namespace aux
-
-template<
- typename T
- , typename Tag
- , typename Protect
- >
-struct lambda
-{
- /// Metafunction forwarding confuses MSVC 6.x
- typedef typename aux::template_arity<T>::type arity_;
- typedef typename aux::lambda_impl<arity_>
- ::template result_< T,Tag,Protect > l_;
-
- typedef typename l_::type type;
- typedef typename l_::is_le is_le;
- BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))
-};
-
-BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
-
-template<
- typename T
- >
-struct is_lambda_expression
- : lambda<T>::is_le
-{
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc/less.hpp b/boost/mpl/aux_/preprocessed/bcc/less.hpp
deleted file mode 100644
index 0b6ce1d..0000000
--- a/boost/mpl/aux_/preprocessed/bcc/less.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "less.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct less_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct less_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct less_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct less_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct less_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct less
-
- : less_impl<
- typename less_tag<N1>::type
- , typename less_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct less_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc/less_equal.hpp b/boost/mpl/aux_/preprocessed/bcc/less_equal.hpp
deleted file mode 100644
index 0010e08..0000000
--- a/boost/mpl/aux_/preprocessed/bcc/less_equal.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "less_equal.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct less_equal_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct less_equal_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct less_equal_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct less_equal_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct less_equal_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct less_equal
-
- : less_equal_impl<
- typename less_equal_tag<N1>::type
- , typename less_equal_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct less_equal_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc/list.hpp b/boost/mpl/aux_/preprocessed/bcc/list.hpp
deleted file mode 100644
index cbd58ac..0000000
--- a/boost/mpl/aux_/preprocessed/bcc/list.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "list.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct list;
-
-template<
-
- >
-struct list<
- na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list0< >
-{
- typedef list0< >::type type;
-};
-
-template<
- typename T0
- >
-struct list<
- T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list1<T0>
-{
- typedef typename list1<T0>::type type;
-};
-
-template<
- typename T0, typename T1
- >
-struct list<
- T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list2< T0,T1 >
-{
- typedef typename list2< T0,T1 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct list<
- T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list3< T0,T1,T2 >
-{
- typedef typename list3< T0,T1,T2 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct list<
- T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list4< T0,T1,T2,T3 >
-{
- typedef typename list4< T0,T1,T2,T3 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct list<
- T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list5< T0,T1,T2,T3,T4 >
-{
- typedef typename list5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct list<
- T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list6< T0,T1,T2,T3,T4,T5 >
-{
- typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list7< T0,T1,T2,T3,T4,T5,T6 >
-{
- typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
- typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
- typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
- , na, na, na
- >
- : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
- typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
- , na, na, na
- >
- : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
- typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
- , na, na, na, na
- >
- : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
- typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
- , na, na, na, na
- >
- : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
- typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
- , na, na, na, na
- >
- : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
- typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
- , na, na, na, na
- >
- : list15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >
-{
- typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, na, na, na, na
- >
- : list16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15
- >
-{
- typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, na, na, na
- >
- : list17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16
- >
-{
- typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, na, na
- >
- : list18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17
- >
-{
- typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, na
- >
- : list19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18
- >
-{
- typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct list
- : list20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, T19
- >
-{
- typedef typename list20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc/list_c.hpp b/boost/mpl/aux_/preprocessed/bcc/list_c.hpp
deleted file mode 100644
index 495c3f7..0000000
--- a/boost/mpl/aux_/preprocessed/bcc/list_c.hpp
+++ /dev/null
@@ -1,328 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "list_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
- , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
- , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
- , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
- , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
- , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
- , long C18 = LONG_MAX, long C19 = LONG_MAX
- >
-struct list_c;
-
-template<
- typename T
- >
-struct list_c<
- T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list0_c<T>
-{
- typedef typename list0_c<T>::type type;
-};
-
-template<
- typename T, long C0
- >
-struct list_c<
- T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list1_c< T,C0 >
-{
- typedef typename list1_c< T,C0 >::type type;
-};
-
-template<
- typename T, long C0, long C1
- >
-struct list_c<
- T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list2_c< T,C0,C1 >
-{
- typedef typename list2_c< T,C0,C1 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2
- >
-struct list_c<
- T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list3_c< T,C0,C1,C2 >
-{
- typedef typename list3_c< T,C0,C1,C2 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3
- >
-struct list_c<
- T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list4_c< T,C0,C1,C2,C3 >
-{
- typedef typename list4_c< T,C0,C1,C2,C3 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list5_c< T,C0,C1,C2,C3,C4 >
-{
- typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list6_c< T,C0,C1,C2,C3,C4,C5 >
-{
- typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list7_c< T,C0,C1,C2,C3,C4,C5,C6 >
-{
- typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX
- >
- : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >
-{
- typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >
-{
- typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >
-{
- typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >
-{
- typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >
-{
- typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >
-{
- typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list14_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- >
-{
- typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list15_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- >
-{
- typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list16_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15
- >
-{
- typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list17_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16
- >
-{
- typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, LONG_MAX, LONG_MAX
- >
- : list18_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17
- >
-{
- typedef typename list18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18, LONG_MAX
- >
- : list19_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18
- >
-{
- typedef typename list19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
-struct list_c
- : list20_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18, C19
- >
-{
- typedef typename list20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc/map.hpp b/boost/mpl/aux_/preprocessed/bcc/map.hpp
deleted file mode 100644
index 80ef156..0000000
--- a/boost/mpl/aux_/preprocessed/bcc/map.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "map.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct map;
-
-template<
-
- >
-struct map<
- na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map0< >
-{
- typedef map0< >::type type;
-};
-
-template<
- typename T0
- >
-struct map<
- T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map1<T0>
-{
- typedef typename map1<T0>::type type;
-};
-
-template<
- typename T0, typename T1
- >
-struct map<
- T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map2< T0,T1 >
-{
- typedef typename map2< T0,T1 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct map<
- T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map3< T0,T1,T2 >
-{
- typedef typename map3< T0,T1,T2 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct map<
- T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map4< T0,T1,T2,T3 >
-{
- typedef typename map4< T0,T1,T2,T3 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct map<
- T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map5< T0,T1,T2,T3,T4 >
-{
- typedef typename map5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct map<
- T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map6< T0,T1,T2,T3,T4,T5 >
-{
- typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map7< T0,T1,T2,T3,T4,T5,T6 >
-{
- typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
- typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
- typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
- , na, na, na
- >
- : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
- typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
- , na, na, na
- >
- : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
- typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
- , na, na, na, na
- >
- : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
- typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
- , na, na, na, na
- >
- : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
- typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
- , na, na, na, na
- >
- : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
- typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
- , na, na, na, na
- >
- : map15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >
-{
- typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, na, na, na, na
- >
- : map16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15
- >
-{
- typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, na, na, na
- >
- : map17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16
- >
-{
- typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, na, na
- >
- : map18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17
- >
-{
- typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, na
- >
- : map19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18
- >
-{
- typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct map
- : map20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, T19
- >
-{
- typedef typename map20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc/minus.hpp b/boost/mpl/aux_/preprocessed/bcc/minus.hpp
deleted file mode 100644
index cfddc15..0000000
--- a/boost/mpl/aux_/preprocessed/bcc/minus.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "minus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct minus_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct minus_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct minus_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct minus_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct minus_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct minus
- : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , minus
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct minus< N1,N2,N3,N4,na >
-
- : minus< minus< minus< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , minus
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct minus< N1,N2,N3,na,na >
-
- : minus< minus< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , minus
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct minus< N1,N2,na,na,na >
- : minus_impl<
- typename minus_tag<N1>::type
- , typename minus_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , minus
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, minus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct minus_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- - BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc/modulus.hpp b/boost/mpl/aux_/preprocessed/bcc/modulus.hpp
deleted file mode 100644
index eb5eff0..0000000
--- a/boost/mpl/aux_/preprocessed/bcc/modulus.hpp
+++ /dev/null
@@ -1,101 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "modulus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct modulus_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct modulus_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct modulus_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct modulus_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct modulus_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct modulus
-
- : modulus_impl<
- typename modulus_tag<N1>::type
- , typename modulus_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct modulus_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- % BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc/not_equal_to.hpp b/boost/mpl/aux_/preprocessed/bcc/not_equal_to.hpp
deleted file mode 100644
index 68356ee..0000000
--- a/boost/mpl/aux_/preprocessed/bcc/not_equal_to.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "not_equal_to.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct not_equal_to_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct not_equal_to_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct not_equal_to_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct not_equal_to_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct not_equal_to_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct not_equal_to
-
- : not_equal_to_impl<
- typename not_equal_to_tag<N1>::type
- , typename not_equal_to_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct not_equal_to_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc/or.hpp b/boost/mpl/aux_/preprocessed/bcc/or.hpp
deleted file mode 100644
index ff7ce9f..0000000
--- a/boost/mpl/aux_/preprocessed/bcc/or.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "or.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< bool C_, typename T1, typename T2, typename T3, typename T4 >
-struct or_impl
- : true_
-{
-};
-
-template< typename T1, typename T2, typename T3, typename T4 >
-struct or_impl< false,T1,T2,T3,T4 >
- : or_impl<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
- , T2, T3, T4
- , false_
- >
-{
-};
-
-template<>
-struct or_impl<
- false
- , false_, false_, false_, false_
- >
- : false_
-{
-};
-
-} // namespace aux
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(T1)
- , typename BOOST_MPL_AUX_NA_PARAM(T2)
- , typename T3 = false_, typename T4 = false_, typename T5 = false_
- >
-struct or_
-
- : aux::or_impl<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
- , T2, T3, T4, T5
- >
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , or_
- , ( T1, T2, T3, T4, T5)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC2(
- 2
- , 5
- , or_
- )
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc/placeholders.hpp b/boost/mpl/aux_/preprocessed/bcc/placeholders.hpp
deleted file mode 100644
index b306bbb..0000000
--- a/boost/mpl/aux_/preprocessed/bcc/placeholders.hpp
+++ /dev/null
@@ -1,105 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright Peter Dimov 2001-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)
-//
-
-// *Preprocessed* version of the main "placeholders.hpp" header
-// -- DO NOT modify by hand!
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg< -1 > _;
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
-}
-
-}}
-
-/// agurt, 17/mar/02: one more placeholder for the last 'apply#'
-/// specialization
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<1> _1;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<2> _2;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<3> _3;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<4> _4;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<5> _5;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<6> _6;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;
-}
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc/plus.hpp b/boost/mpl/aux_/preprocessed/bcc/plus.hpp
deleted file mode 100644
index 82539ab..0000000
--- a/boost/mpl/aux_/preprocessed/bcc/plus.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "plus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct plus_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct plus_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct plus_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct plus_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct plus_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct plus
- : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , plus
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct plus< N1,N2,N3,N4,na >
-
- : plus< plus< plus< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , plus
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct plus< N1,N2,N3,na,na >
-
- : plus< plus< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , plus
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct plus< N1,N2,na,na,na >
- : plus_impl<
- typename plus_tag<N1>::type
- , typename plus_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , plus
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, plus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct plus_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- + BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc/quote.hpp b/boost/mpl/aux_/preprocessed/bcc/quote.hpp
deleted file mode 100644
index 677a3f9..0000000
--- a/boost/mpl/aux_/preprocessed/bcc/quote.hpp
+++ /dev/null
@@ -1,119 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-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)
-//
-
-// *Preprocessed* version of the main "quote.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template< typename T, bool has_type_ >
-struct quote_impl
-
-{
- typedef typename T::type type;
-};
-
-template< typename T >
-struct quote_impl< T,false >
-{
- typedef T type;
-};
-
-template<
- template< typename P1 > class F
- , typename Tag = void_
- >
-struct quote1
-{
- template< typename U1 > struct apply
-
- {
- typedef typename quote_impl<
- F<U1>
- , aux::has_type< F<U1> >::value
- >::type type;
- };
-};
-
-template<
- template< typename P1, typename P2 > class F
- , typename Tag = void_
- >
-struct quote2
-{
- template< typename U1, typename U2 > struct apply
-
- {
- typedef typename quote_impl<
- F< U1,U2 >
- , aux::has_type< F< U1,U2 > >::value
- >::type type;
- };
-};
-
-template<
- template< typename P1, typename P2, typename P3 > class F
- , typename Tag = void_
- >
-struct quote3
-{
- template< typename U1, typename U2, typename U3 > struct apply
-
- {
- typedef typename quote_impl<
- F< U1,U2,U3 >
- , aux::has_type< F< U1,U2,U3 > >::value
- >::type type;
- };
-};
-
-template<
- template< typename P1, typename P2, typename P3, typename P4 > class F
- , typename Tag = void_
- >
-struct quote4
-{
- template<
- typename U1, typename U2, typename U3, typename U4
- >
- struct apply
-
- {
- typedef typename quote_impl<
- F< U1,U2,U3,U4 >
- , aux::has_type< F< U1,U2,U3,U4 > >::value
- >::type type;
- };
-};
-
-template<
- template<
- typename P1, typename P2, typename P3, typename P4
- , typename P5
- >
- class F
- , typename Tag = void_
- >
-struct quote5
-{
- template<
- typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
- struct apply
-
- {
- typedef typename quote_impl<
- F< U1,U2,U3,U4,U5 >
- , aux::has_type< F< U1,U2,U3,U4,U5 > >::value
- >::type type;
- };
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc/reverse_fold_impl.hpp b/boost/mpl/aux_/preprocessed/bcc/reverse_fold_impl.hpp
deleted file mode 100644
index 372f0d2..0000000
--- a/boost/mpl/aux_/preprocessed/bcc/reverse_fold_impl.hpp
+++ /dev/null
@@ -1,295 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "reverse_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
- long N
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl;
-
-template< long N >
-struct reverse_fold_chunk;
-
-template<> struct reverse_fold_chunk<0>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef fwd_state0 bkwd_state0;
- typedef bkwd_state0 state;
- typedef iter0 iterator;
- };
-};
-
-template<> struct reverse_fold_chunk<1>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
-
-
- typedef fwd_state1 bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
- typedef bkwd_state0 state;
- typedef iter1 iterator;
- };
-};
-
-template<> struct reverse_fold_chunk<2>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
-
-
- typedef fwd_state2 bkwd_state2;
- typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter2 iterator;
- };
-};
-
-template<> struct reverse_fold_chunk<3>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
-
-
- typedef fwd_state3 bkwd_state3;
- typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
- typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter3 iterator;
- };
-};
-
-template<> struct reverse_fold_chunk<4>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef fwd_state4 bkwd_state4;
- typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;
- typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
- typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter4 iterator;
- };
-};
-
-template< long N >
-struct reverse_fold_chunk
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef reverse_fold_impl<
- ( (N - 4) < 0 ? 0 : N - 4 )
- , iter4
- , Last
- , fwd_state4
- , BackwardOp
- , ForwardOp
- > nested_chunk;
-
- typedef typename nested_chunk::state bkwd_state4;
- typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;
- typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
- typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef typename nested_chunk::iterator iterator;
- };
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_step;
-
-template<
- typename Last
- , typename State
- >
-struct reverse_fold_null_step
-{
- typedef Last iterator;
- typedef State state;
-};
-
-template<>
-struct reverse_fold_chunk< -1 >
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef typename if_<
- typename is_same< First,Last >::type
- , reverse_fold_null_step< Last,State >
- , reverse_fold_step< First,Last,State,BackwardOp,ForwardOp >
- >::type res_;
-
- typedef typename res_::state state;
- typedef typename res_::iterator iterator;
- };
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_step
-{
- typedef reverse_fold_chunk< -1 >::template result_<
- typename mpl::next<First>::type
- , Last
- , typename apply2<ForwardOp,State, typename deref<First>::type>::type
- , BackwardOp
- , ForwardOp
- > nested_step;
-
- typedef typename apply2<
- BackwardOp
- , typename nested_step::state
- , typename deref<First>::type
- >::type state;
-
- typedef typename nested_step::iterator iterator;
-};
-
-template<
- long N
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl
- : reverse_fold_chunk<N>
- ::template result_< First,Last,State,BackwardOp,ForwardOp >
-{
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/bcc/reverse_iter_fold_impl.hpp b/boost/mpl/aux_/preprocessed/bcc/reverse_iter_fold_impl.hpp
deleted file mode 100644
index 44aadf7..0000000
--- a/boost/mpl/aux_/preprocessed/bcc/reverse_iter_fold_impl.hpp
+++ /dev/null
@@ -1,295 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "reverse_iter_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
- long N
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl;
-
-template< long N >
-struct reverse_iter_fold_chunk;
-
-template<> struct reverse_iter_fold_chunk<0>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef fwd_state0 bkwd_state0;
- typedef bkwd_state0 state;
- typedef iter0 iterator;
- };
-};
-
-template<> struct reverse_iter_fold_chunk<1>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
-
-
- typedef fwd_state1 bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
- typedef bkwd_state0 state;
- typedef iter1 iterator;
- };
-};
-
-template<> struct reverse_iter_fold_chunk<2>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
-
-
- typedef fwd_state2 bkwd_state2;
- typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter2 iterator;
- };
-};
-
-template<> struct reverse_iter_fold_chunk<3>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
-
-
- typedef fwd_state3 bkwd_state3;
- typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
- typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter3 iterator;
- };
-};
-
-template<> struct reverse_iter_fold_chunk<4>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef fwd_state4 bkwd_state4;
- typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;
- typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
- typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter4 iterator;
- };
-};
-
-template< long N >
-struct reverse_iter_fold_chunk
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef reverse_iter_fold_impl<
- ( (N - 4) < 0 ? 0 : N - 4 )
- , iter4
- , Last
- , fwd_state4
- , BackwardOp
- , ForwardOp
- > nested_chunk;
-
- typedef typename nested_chunk::state bkwd_state4;
- typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;
- typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
- typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef typename nested_chunk::iterator iterator;
- };
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_step;
-
-template<
- typename Last
- , typename State
- >
-struct reverse_iter_fold_null_step
-{
- typedef Last iterator;
- typedef State state;
-};
-
-template<>
-struct reverse_iter_fold_chunk< -1 >
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef typename if_<
- typename is_same< First,Last >::type
- , reverse_iter_fold_null_step< Last,State >
- , reverse_iter_fold_step< First,Last,State,BackwardOp,ForwardOp >
- >::type res_;
-
- typedef typename res_::state state;
- typedef typename res_::iterator iterator;
- };
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_step
-{
- typedef reverse_iter_fold_chunk< -1 >::template result_<
- typename mpl::next<First>::type
- , Last
- , typename apply2< ForwardOp,State,First >::type
- , BackwardOp
- , ForwardOp
- > nested_step;
-
- typedef typename apply2<
- BackwardOp
- , typename nested_step::state
- , First
- >::type state;
-
- typedef typename nested_step::iterator iterator;
-};
-
-template<
- long N
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl
- : reverse_iter_fold_chunk<N>
- ::template result_< First,Last,State,BackwardOp,ForwardOp >
-{
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/bcc/set.hpp b/boost/mpl/aux_/preprocessed/bcc/set.hpp
deleted file mode 100644
index ace3a4f..0000000
--- a/boost/mpl/aux_/preprocessed/bcc/set.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "set.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct set;
-
-template<
-
- >
-struct set<
- na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set0< >
-{
- typedef set0< >::type type;
-};
-
-template<
- typename T0
- >
-struct set<
- T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set1<T0>
-{
- typedef typename set1<T0>::type type;
-};
-
-template<
- typename T0, typename T1
- >
-struct set<
- T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set2< T0,T1 >
-{
- typedef typename set2< T0,T1 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct set<
- T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set3< T0,T1,T2 >
-{
- typedef typename set3< T0,T1,T2 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct set<
- T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set4< T0,T1,T2,T3 >
-{
- typedef typename set4< T0,T1,T2,T3 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct set<
- T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set5< T0,T1,T2,T3,T4 >
-{
- typedef typename set5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct set<
- T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set6< T0,T1,T2,T3,T4,T5 >
-{
- typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set7< T0,T1,T2,T3,T4,T5,T6 >
-{
- typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
- typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
- typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
- , na, na, na
- >
- : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
- typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
- , na, na, na
- >
- : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
- typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
- , na, na, na, na
- >
- : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
- typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
- , na, na, na, na
- >
- : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
- typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
- , na, na, na, na
- >
- : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
- typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
- , na, na, na, na
- >
- : set15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >
-{
- typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, na, na, na, na
- >
- : set16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15
- >
-{
- typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, na, na, na
- >
- : set17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16
- >
-{
- typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, na, na
- >
- : set18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17
- >
-{
- typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, na
- >
- : set19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18
- >
-{
- typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct set
- : set20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, T19
- >
-{
- typedef typename set20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc/set_c.hpp b/boost/mpl/aux_/preprocessed/bcc/set_c.hpp
deleted file mode 100644
index 4e6993c..0000000
--- a/boost/mpl/aux_/preprocessed/bcc/set_c.hpp
+++ /dev/null
@@ -1,328 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "set_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
- , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
- , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
- , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
- , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
- , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
- , long C18 = LONG_MAX, long C19 = LONG_MAX
- >
-struct set_c;
-
-template<
- typename T
- >
-struct set_c<
- T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set0_c<T>
-{
- typedef typename set0_c<T>::type type;
-};
-
-template<
- typename T, long C0
- >
-struct set_c<
- T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set1_c< T,C0 >
-{
- typedef typename set1_c< T,C0 >::type type;
-};
-
-template<
- typename T, long C0, long C1
- >
-struct set_c<
- T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set2_c< T,C0,C1 >
-{
- typedef typename set2_c< T,C0,C1 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2
- >
-struct set_c<
- T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set3_c< T,C0,C1,C2 >
-{
- typedef typename set3_c< T,C0,C1,C2 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3
- >
-struct set_c<
- T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set4_c< T,C0,C1,C2,C3 >
-{
- typedef typename set4_c< T,C0,C1,C2,C3 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set5_c< T,C0,C1,C2,C3,C4 >
-{
- typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set6_c< T,C0,C1,C2,C3,C4,C5 >
-{
- typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set7_c< T,C0,C1,C2,C3,C4,C5,C6 >
-{
- typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX
- >
- : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >
-{
- typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >
-{
- typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >
-{
- typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >
-{
- typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >
-{
- typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >
-{
- typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set14_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- >
-{
- typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set15_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- >
-{
- typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set16_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15
- >
-{
- typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set17_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16
- >
-{
- typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, LONG_MAX, LONG_MAX
- >
- : set18_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17
- >
-{
- typedef typename set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18, LONG_MAX
- >
- : set19_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18
- >
-{
- typedef typename set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
-struct set_c
- : set20_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18, C19
- >
-{
- typedef typename set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc/shift_left.hpp b/boost/mpl/aux_/preprocessed/bcc/shift_left.hpp
deleted file mode 100644
index 6d19e94..0000000
--- a/boost/mpl/aux_/preprocessed/bcc/shift_left.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// *Preprocessed* version of the main "shift_left.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct shift_left_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct shift_left_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct shift_left_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct shift_left_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct shift_left_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct shift_left
-
- : shift_left_impl<
- typename shift_left_tag<N1>::type
- , typename shift_left_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct shift_left_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N, typename S > struct apply
-
- : integral_c<
- typename N::value_type
- , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
- << BOOST_MPL_AUX_VALUE_WKND(S)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc/shift_right.hpp b/boost/mpl/aux_/preprocessed/bcc/shift_right.hpp
deleted file mode 100644
index dd31d97..0000000
--- a/boost/mpl/aux_/preprocessed/bcc/shift_right.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// *Preprocessed* version of the main "shift_right.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct shift_right_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct shift_right_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct shift_right_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct shift_right_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct shift_right_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct shift_right
-
- : shift_right_impl<
- typename shift_right_tag<N1>::type
- , typename shift_right_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct shift_right_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N, typename S > struct apply
-
- : integral_c<
- typename N::value_type
- , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
- >> BOOST_MPL_AUX_VALUE_WKND(S)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc/template_arity.hpp b/boost/mpl/aux_/preprocessed/bcc/template_arity.hpp
deleted file mode 100644
index b24a0a7..0000000
--- a/boost/mpl/aux_/preprocessed/bcc/template_arity.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// *Preprocessed* version of the main "template_arity.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< bool >
-struct template_arity_impl
-{
- template< typename F > struct result_
- : mpl::int_< -1 >
- {
- };
-};
-
-template<>
-struct template_arity_impl<true>
-{
- template< typename F > struct result_
- : F::arity
- {
- };
-};
-
-template< typename F >
-struct template_arity
- : template_arity_impl< ::boost::mpl::aux::has_rebind<F>::value >
- ::template result_<F>
-{
-};
-
-}}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc/times.hpp b/boost/mpl/aux_/preprocessed/bcc/times.hpp
deleted file mode 100644
index ab100f1..0000000
--- a/boost/mpl/aux_/preprocessed/bcc/times.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "times.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct times_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct times_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct times_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct times_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct times_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct times
- : times< times< times< times< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , times
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct times< N1,N2,N3,N4,na >
-
- : times< times< times< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , times
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct times< N1,N2,N3,na,na >
-
- : times< times< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , times
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct times< N1,N2,na,na,na >
- : times_impl<
- typename times_tag<N1>::type
- , typename times_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , times
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, times)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct times_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- * BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc/unpack_args.hpp b/boost/mpl/aux_/preprocessed/bcc/unpack_args.hpp
deleted file mode 100644
index f391dc1..0000000
--- a/boost/mpl/aux_/preprocessed/bcc/unpack_args.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "unpack_args.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< int size, typename F, typename Args >
-struct unpack_args_impl;
-
-template< typename F, typename Args >
-struct unpack_args_impl< 0,F,Args >
- : apply0<
- F
- >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 1,F,Args >
- : apply1<
- F
- , typename at_c< Args,0 >::type
- >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 2,F,Args >
- : apply2<
- F
- , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
- >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 3,F,Args >
- : apply3<
- F
- , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
- , typename at_c< Args,2 >::type
- >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 4,F,Args >
- : apply4<
- F
- , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
- , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
- >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 5,F,Args >
- : apply5<
- F
- , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
- , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
- , typename at_c< Args,4 >::type
- >
-{
-};
-
-}
-
-template<
- typename F
- >
-struct unpack_args
-{
- template< typename Args > struct apply
- {
- typedef typename aux::unpack_args_impl<
- size<Args>::value
- , F
- , Args
- >::type type;
-
- };
-};
-
-BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc/vector.hpp b/boost/mpl/aux_/preprocessed/bcc/vector.hpp
deleted file mode 100644
index 803e217..0000000
--- a/boost/mpl/aux_/preprocessed/bcc/vector.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "vector.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct vector;
-
-template<
-
- >
-struct vector<
- na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector0< >
-{
- typedef vector0< >::type type;
-};
-
-template<
- typename T0
- >
-struct vector<
- T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector1<T0>
-{
- typedef typename vector1<T0>::type type;
-};
-
-template<
- typename T0, typename T1
- >
-struct vector<
- T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector2< T0,T1 >
-{
- typedef typename vector2< T0,T1 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct vector<
- T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector3< T0,T1,T2 >
-{
- typedef typename vector3< T0,T1,T2 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct vector<
- T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector4< T0,T1,T2,T3 >
-{
- typedef typename vector4< T0,T1,T2,T3 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct vector<
- T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector5< T0,T1,T2,T3,T4 >
-{
- typedef typename vector5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector6< T0,T1,T2,T3,T4,T5 >
-{
- typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector7< T0,T1,T2,T3,T4,T5,T6 >
-{
- typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
- typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
- typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
- typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
- , na, na, na
- >
- : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
- typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
- , na, na, na, na
- >
- : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
- typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
- , na, na, na, na
- >
- : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
- typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
- , na, na, na, na
- >
- : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
- typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
- , na, na, na, na
- >
- : vector15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >
-{
- typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, na, na, na, na
- >
- : vector16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15
- >
-{
- typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, na, na, na
- >
- : vector17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16
- >
-{
- typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, na, na
- >
- : vector18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17
- >
-{
- typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, na
- >
- : vector19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18
- >
-{
- typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct vector
- : vector20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, T19
- >
-{
- typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc/vector_c.hpp b/boost/mpl/aux_/preprocessed/bcc/vector_c.hpp
deleted file mode 100644
index 643b7fd..0000000
--- a/boost/mpl/aux_/preprocessed/bcc/vector_c.hpp
+++ /dev/null
@@ -1,309 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-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)
-//
-
-// *Preprocessed* version of the main "vector_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
- , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
- , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
- , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
- , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
- , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
- , long C18 = LONG_MAX, long C19 = LONG_MAX
- >
-struct vector_c;
-
-template<
- typename T
- >
-struct vector_c<
- T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector0_c<T>
-{
- typedef typename vector0_c<T>::type type;
-};
-
-template<
- typename T, long C0
- >
-struct vector_c<
- T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector1_c< T, T(C0) >
-{
- typedef typename vector1_c< T, T(C0) >::type type;
-};
-
-template<
- typename T, long C0, long C1
- >
-struct vector_c<
- T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector2_c< T, T(C0), T(C1) >
-{
- typedef typename vector2_c< T, T(C0), T(C1) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2
- >
-struct vector_c<
- T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector3_c< T, T(C0), T(C1), T(C2) >
-{
- typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3
- >
-struct vector_c<
- T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector4_c< T, T(C0), T(C1), T(C2), T(C3) >
-{
- typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >
-{
- typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >
-{
- typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >
-{
- typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX
- >
- : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >
-{
- typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >
-{
- typedef typename vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >
-{
- typedef typename vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >
-{
- typedef typename vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >
-{
- typedef typename vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >
-{
- typedef typename vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >
-{
- typedef typename vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >
-{
- typedef typename vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >
-{
- typedef typename vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >
-{
- typedef typename vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, LONG_MAX, LONG_MAX
- >
- : vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >
-{
- typedef typename vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18, LONG_MAX
- >
- : vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >
-{
- typedef typename vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
-struct vector_c
- : vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >
-{
- typedef typename vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc551/advance_backward.hpp b/boost/mpl/aux_/preprocessed/bcc551/advance_backward.hpp
deleted file mode 100644
index 26de94c..0000000
--- a/boost/mpl/aux_/preprocessed/bcc551/advance_backward.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< long N > struct advance_backward;
-template<>
-struct advance_backward<0>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef iter0 type;
- };
-};
-
-template<>
-struct advance_backward<1>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename prior<iter0>::type iter1;
- typedef iter1 type;
- };
-};
-
-template<>
-struct advance_backward<2>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename prior<iter0>::type iter1;
- typedef typename prior<iter1>::type iter2;
- typedef iter2 type;
- };
-};
-
-template<>
-struct advance_backward<3>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename prior<iter0>::type iter1;
- typedef typename prior<iter1>::type iter2;
- typedef typename prior<iter2>::type iter3;
- typedef iter3 type;
- };
-};
-
-template<>
-struct advance_backward<4>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename prior<iter0>::type iter1;
- typedef typename prior<iter1>::type iter2;
- typedef typename prior<iter2>::type iter3;
- typedef typename prior<iter3>::type iter4;
- typedef iter4 type;
- };
-};
-
-template< long N >
-struct advance_backward
-{
- template< typename Iterator > struct apply
- {
- typedef typename apply_wrap1<
- advance_backward<4>
- , Iterator
- >::type chunk_result_;
-
- typedef typename apply_wrap1<
- advance_backward<(
- (N - 4) < 0
- ? 0
- : N - 4
- )>
- , chunk_result_
- >::type type;
- };
-};
-
-}}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc551/advance_forward.hpp b/boost/mpl/aux_/preprocessed/bcc551/advance_forward.hpp
deleted file mode 100644
index b137cc7..0000000
--- a/boost/mpl/aux_/preprocessed/bcc551/advance_forward.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< long N > struct advance_forward;
-template<>
-struct advance_forward<0>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef iter0 type;
- };
-};
-
-template<>
-struct advance_forward<1>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename next<iter0>::type iter1;
- typedef iter1 type;
- };
-};
-
-template<>
-struct advance_forward<2>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename next<iter0>::type iter1;
- typedef typename next<iter1>::type iter2;
- typedef iter2 type;
- };
-};
-
-template<>
-struct advance_forward<3>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename next<iter0>::type iter1;
- typedef typename next<iter1>::type iter2;
- typedef typename next<iter2>::type iter3;
- typedef iter3 type;
- };
-};
-
-template<>
-struct advance_forward<4>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename next<iter0>::type iter1;
- typedef typename next<iter1>::type iter2;
- typedef typename next<iter2>::type iter3;
- typedef typename next<iter3>::type iter4;
- typedef iter4 type;
- };
-};
-
-template< long N >
-struct advance_forward
-{
- template< typename Iterator > struct apply
- {
- typedef typename apply_wrap1<
- advance_forward<4>
- , Iterator
- >::type chunk_result_;
-
- typedef typename apply_wrap1<
- advance_forward<(
- (N - 4) < 0
- ? 0
- : N - 4
- )>
- , chunk_result_
- >::type type;
- };
-};
-
-}}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc551/and.hpp b/boost/mpl/aux_/preprocessed/bcc551/and.hpp
deleted file mode 100644
index 010ad1f..0000000
--- a/boost/mpl/aux_/preprocessed/bcc551/and.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/and.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< bool C_, typename T1, typename T2, typename T3, typename T4 >
-struct and_impl
- : false_
-{
-};
-
-template< typename T1, typename T2, typename T3, typename T4 >
-struct and_impl< true,T1,T2,T3,T4 >
- : and_impl<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
- , T2, T3, T4
- , true_
- >
-{
-};
-
-template<>
-struct and_impl<
- true
- , true_, true_, true_, true_
- >
- : true_
-{
-};
-
-} // namespace aux
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(T1)
- , typename BOOST_MPL_AUX_NA_PARAM(T2)
- , typename T3 = true_, typename T4 = true_, typename T5 = true_
- >
-struct and_
-
- : aux::and_impl<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
- , T2, T3, T4, T5
- >
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , and_
- , ( T1, T2, T3, T4, T5)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC2(
- 2
- , 5
- , and_
- )
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc551/apply.hpp b/boost/mpl/aux_/preprocessed/bcc551/apply.hpp
deleted file mode 100644
index e08eacc..0000000
--- a/boost/mpl/aux_/preprocessed/bcc551/apply.hpp
+++ /dev/null
@@ -1,169 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/apply.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename F
- >
-struct apply0
-
- : apply_wrap0<
- typename lambda<F>::type
-
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 1
- , apply0
- , (F )
- )
-};
-
-template<
- typename F
- >
-struct apply< F,na,na,na,na,na >
- : apply0<F>
-{
-};
-
-template<
- typename F, typename T1
- >
-struct apply1
-
- : apply_wrap1<
- typename lambda<F>::type
- , T1
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 2
- , apply1
- , (F, T1)
- )
-};
-
-template<
- typename F, typename T1
- >
-struct apply< F,T1,na,na,na,na >
- : apply1< F,T1 >
-{
-};
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply2
-
- : apply_wrap2<
- typename lambda<F>::type
- , T1, T2
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 3
- , apply2
- , (F, T1, T2)
- )
-};
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply< F,T1,T2,na,na,na >
- : apply2< F,T1,T2 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply3
-
- : apply_wrap3<
- typename lambda<F>::type
- , T1, T2, T3
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 4
- , apply3
- , (F, T1, T2, T3)
- )
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply< F,T1,T2,T3,na,na >
- : apply3< F,T1,T2,T3 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply4
-
- : apply_wrap4<
- typename lambda<F>::type
- , T1, T2, T3, T4
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , apply4
- , (F, T1, T2, T3, T4)
- )
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply< F,T1,T2,T3,T4,na >
- : apply4< F,T1,T2,T3,T4 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct apply5
-
- : apply_wrap5<
- typename lambda<F>::type
- , T1, T2, T3, T4, T5
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 6
- , apply5
- , (F, T1, T2, T3, T4, T5)
- )
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct apply
- : apply5< F,T1,T2,T3,T4,T5 >
-{
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc551/apply_fwd.hpp b/boost/mpl/aux_/preprocessed/bcc551/apply_fwd.hpp
deleted file mode 100644
index b2ed5d5..0000000
--- a/boost/mpl/aux_/preprocessed/bcc551/apply_fwd.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/apply_fwd.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename F, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na
- >
-struct apply;
-
-template<
- typename F
- >
-struct apply0;
-
-template<
- typename F, typename T1
- >
-struct apply1;
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply2;
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply3;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply4;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct apply5;
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc551/apply_wrap.hpp b/boost/mpl/aux_/preprocessed/bcc551/apply_wrap.hpp
deleted file mode 100644
index 2ffe709..0000000
--- a/boost/mpl/aux_/preprocessed/bcc551/apply_wrap.hpp
+++ /dev/null
@@ -1,456 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/apply_wrap.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- int N, typename F
- >
-struct apply_wrap_impl0;
-
-template<
- typename F
- >
-struct apply_wrap_impl0<
- 0
- , F
-
- >
-{
- typedef typename F::template apply<
-
-/// since the defaults are "lost", we have to pass *something* even for nullary
-/// metafunction classes
- na
- > type;
-};
-
-template<
- typename F
- >
-struct apply_wrap_impl0<
- 1
- , F
-
- >
-{
- typedef typename F::template apply<
-
- na
- > type;
-};
-
-template<
- typename F
- >
-struct apply_wrap_impl0<
- 2
- , F
-
- >
-{
- typedef typename F::template apply<
-
- na, na
-
- > type;
-};
-
-template<
- typename F
- >
-struct apply_wrap_impl0<
- 3
- , F
-
- >
-{
- typedef typename F::template apply<
-
- na, na, na
-
- > type;
-};
-
-template<
- typename F
- >
-struct apply_wrap_impl0<
- 4
- , F
-
- >
-{
- typedef typename F::template apply<
-
- na, na, na, na
-
- > type;
-};
-
-template<
- typename F
- >
-struct apply_wrap_impl0<
- 5
- , F
-
- >
-{
- typedef typename F::template apply<
-
- na, na, na, na, na
-
- > type;
-};
-
-template<
- typename F
- >
-struct apply_wrap0
- : apply_wrap_impl0<
- ::boost::mpl::aux::arity< F,0 >::value
- , F
-
- >::type
-{
-};
-
-template<
- int N, typename F, typename T1
- >
-struct apply_wrap_impl1;
-
-template<
- typename F, typename T1
- >
-struct apply_wrap_impl1<
- 1
- , F
- , T1
- >
-{
- typedef typename F::template apply<
- T1
- > type;
-};
-
-template<
- typename F, typename T1
- >
-struct apply_wrap_impl1<
- 2
- , F
- , T1
- >
-{
- typedef typename F::template apply<
- T1
- , na
-
- > type;
-};
-
-template<
- typename F, typename T1
- >
-struct apply_wrap_impl1<
- 3
- , F
- , T1
- >
-{
- typedef typename F::template apply<
- T1
- , na, na
-
- > type;
-};
-
-template<
- typename F, typename T1
- >
-struct apply_wrap_impl1<
- 4
- , F
- , T1
- >
-{
- typedef typename F::template apply<
- T1
- , na, na, na
-
- > type;
-};
-
-template<
- typename F, typename T1
- >
-struct apply_wrap_impl1<
- 5
- , F
- , T1
- >
-{
- typedef typename F::template apply<
- T1
- , na, na, na, na
-
- > type;
-};
-
-template<
- typename F, typename T1
- >
-struct apply_wrap1
- : apply_wrap_impl1<
- ::boost::mpl::aux::arity< F,1 >::value
- , F
- , T1
- >::type
-{
-};
-
-template<
- int N, typename F, typename T1, typename T2
- >
-struct apply_wrap_impl2;
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply_wrap_impl2<
- 2
- , F
- , T1, T2
- >
-{
- typedef typename F::template apply<
- T1, T2
-
- > type;
-};
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply_wrap_impl2<
- 3
- , F
- , T1, T2
- >
-{
- typedef typename F::template apply<
- T1, T2
-
- , na
-
- > type;
-};
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply_wrap_impl2<
- 4
- , F
- , T1, T2
- >
-{
- typedef typename F::template apply<
- T1, T2
-
- , na, na
-
- > type;
-};
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply_wrap_impl2<
- 5
- , F
- , T1, T2
- >
-{
- typedef typename F::template apply<
- T1, T2
-
- , na, na, na
-
- > type;
-};
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply_wrap2
- : apply_wrap_impl2<
- ::boost::mpl::aux::arity< F,2 >::value
- , F
- , T1, T2
- >::type
-{
-};
-
-template<
- int N, typename F, typename T1, typename T2, typename T3
- >
-struct apply_wrap_impl3;
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply_wrap_impl3<
- 3
- , F
- , T1, T2, T3
- >
-{
- typedef typename F::template apply<
- T1, T2, T3
-
- > type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply_wrap_impl3<
- 4
- , F
- , T1, T2, T3
- >
-{
- typedef typename F::template apply<
- T1, T2, T3
-
- , na
-
- > type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply_wrap_impl3<
- 5
- , F
- , T1, T2, T3
- >
-{
- typedef typename F::template apply<
- T1, T2, T3
-
- , na, na
-
- > type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply_wrap3
- : apply_wrap_impl3<
- ::boost::mpl::aux::arity< F,3 >::value
- , F
- , T1, T2, T3
- >::type
-{
-};
-
-template<
- int N, typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply_wrap_impl4;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply_wrap_impl4<
- 4
- , F
- , T1, T2, T3, T4
- >
-{
- typedef typename F::template apply<
- T1, T2, T3, T4
-
- > type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply_wrap_impl4<
- 5
- , F
- , T1, T2, T3, T4
- >
-{
- typedef typename F::template apply<
- T1, T2, T3, T4
-
- , na
-
- > type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply_wrap4
- : apply_wrap_impl4<
- ::boost::mpl::aux::arity< F,4 >::value
- , F
- , T1, T2, T3, T4
- >::type
-{
-};
-
-template<
- int N, typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct apply_wrap_impl5;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct apply_wrap_impl5<
- 5
- , F
- , T1, T2, T3, T4, T5
- >
-{
- typedef typename F::template apply<
- T1, T2, T3, T4, T5
-
- > type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct apply_wrap5
- : apply_wrap_impl5<
- ::boost::mpl::aux::arity< F,5 >::value
- , F
- , T1, T2, T3, T4, T5
- >::type
-{
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc551/arg.hpp b/boost/mpl/aux_/preprocessed/bcc551/arg.hpp
deleted file mode 100644
index 6f2f8a8..0000000
--- a/boost/mpl/aux_/preprocessed/bcc551/arg.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-
-// Copyright Peter Dimov 2001-2002
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/arg.hpp" header
-// -- DO NOT modify by hand!
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-template<> struct arg< -1 >
-{
- BOOST_STATIC_CONSTANT(int, value = -1);
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U1 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<1>
-{
- BOOST_STATIC_CONSTANT(int, value = 1);
- typedef arg<2> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U1 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<2>
-{
- BOOST_STATIC_CONSTANT(int, value = 2);
- typedef arg<3> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U2 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<3>
-{
- BOOST_STATIC_CONSTANT(int, value = 3);
- typedef arg<4> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U3 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<4>
-{
- BOOST_STATIC_CONSTANT(int, value = 4);
- typedef arg<5> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U4 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<5>
-{
- BOOST_STATIC_CONSTANT(int, value = 5);
- typedef arg<6> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U5 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
diff --git a/boost/mpl/aux_/preprocessed/bcc551/basic_bind.hpp b/boost/mpl/aux_/preprocessed/bcc551/basic_bind.hpp
deleted file mode 100644
index a29daa0..0000000
--- a/boost/mpl/aux_/preprocessed/bcc551/basic_bind.hpp
+++ /dev/null
@@ -1,306 +0,0 @@
-
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
- typename T, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg
-{
- typedef T type;
-};
-
-template<
- int N, typename U1, typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >
-{
- typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;
-};
-
-} // namespace aux
-
-template<
- typename F
- >
-struct bind0
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-
- public:
- typedef typename apply_wrap0<
- f_
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg<
- bind0<F>, U1, U2, U3, U4, U5
- >
-{
- typedef bind0<F> f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
-
-template<
- typename F, typename T1
- >
-struct bind1
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-
- public:
- typedef typename apply_wrap1<
- f_
- , typename t1::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename U1, typename U2, typename U3
- , typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind1< F,T1 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind1< F,T1 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
-
-template<
- typename F, typename T1, typename T2
- >
-struct bind2
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-
- public:
- typedef typename apply_wrap2<
- f_
- , typename t1::type, typename t2::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename U1, typename U2
- , typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind2< F,T1,T2 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind2< F,T1,T2 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct bind3
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
- typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-
- public:
- typedef typename apply_wrap3<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename U1
- , typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind3< F,T1,T2,T3 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct bind4
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
- typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
- typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
-
- public:
- typedef typename apply_wrap4<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- , typename t4::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename U1, typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind4< F,T1,T2,T3,T4 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct bind5
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
- typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
- typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
- typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5;
-
- public:
- typedef typename apply_wrap5<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- , typename t4::type, typename t5::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg<
- bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind5< F,T1,T2,T3,T4,T5 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc551/bind.hpp b/boost/mpl/aux_/preprocessed/bcc551/bind.hpp
deleted file mode 100644
index 34b1b5c..0000000
--- a/boost/mpl/aux_/preprocessed/bcc551/bind.hpp
+++ /dev/null
@@ -1,403 +0,0 @@
-
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/bind.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
- typename T, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg
-{
- typedef T type;
-};
-
-template<
- typename T
- , typename Arg
- >
-struct replace_unnamed_arg
-{
- typedef Arg next;
- typedef T type;
-};
-
-template<
- typename Arg
- >
-struct replace_unnamed_arg< arg< -1 >, Arg >
-{
- typedef typename Arg::next next;
- typedef Arg type;
-};
-
-template<
- int N, typename U1, typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >
-{
- typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;
-};
-
-} // namespace aux
-
-template<
- typename F
- >
-struct bind0
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- public:
- typedef typename apply_wrap0<
- f_
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg<
- bind0<F>, U1, U2, U3, U4, U5
- >
-{
- typedef bind0<F> f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
-
-template<
- typename F, typename T1
- >
-struct bind1
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- public:
- typedef typename apply_wrap1<
- f_
- , typename t1::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename U1, typename U2, typename U3
- , typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind1< F,T1 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind1< F,T1 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
-
-template<
- typename F, typename T1, typename T2
- >
-struct bind2
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- public:
- typedef typename apply_wrap2<
- f_
- , typename t1::type, typename t2::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename U1, typename U2
- , typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind2< F,T1,T2 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind2< F,T1,T2 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct bind3
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- typedef aux::replace_unnamed_arg< T3,n3 > r3;
- typedef typename r3::type a3;
- typedef typename r3::next n4;
- typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
- ///
- public:
- typedef typename apply_wrap3<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename U1
- , typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind3< F,T1,T2,T3 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct bind4
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- typedef aux::replace_unnamed_arg< T3,n3 > r3;
- typedef typename r3::type a3;
- typedef typename r3::next n4;
- typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
- ///
- typedef aux::replace_unnamed_arg< T4,n4 > r4;
- typedef typename r4::type a4;
- typedef typename r4::next n5;
- typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
- ///
- public:
- typedef typename apply_wrap4<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- , typename t4::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename U1, typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind4< F,T1,T2,T3,T4 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct bind5
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- typedef aux::replace_unnamed_arg< T3,n3 > r3;
- typedef typename r3::type a3;
- typedef typename r3::next n4;
- typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
- ///
- typedef aux::replace_unnamed_arg< T4,n4 > r4;
- typedef typename r4::type a4;
- typedef typename r4::next n5;
- typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
- ///
- typedef aux::replace_unnamed_arg< T5,n5 > r5;
- typedef typename r5::type a5;
- typedef typename r5::next n6;
- typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5;
- ///
- public:
- typedef typename apply_wrap5<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- , typename t4::type, typename t5::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg<
- bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind5< F,T1,T2,T3,T4,T5 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc551/bind_fwd.hpp b/boost/mpl/aux_/preprocessed/bcc551/bind_fwd.hpp
deleted file mode 100644
index 022cba3..0000000
--- a/boost/mpl/aux_/preprocessed/bcc551/bind_fwd.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/bind_fwd.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename F
- >
-struct bind0;
-
-template<
- typename F, typename T1
- >
-struct bind1;
-
-template<
- typename F, typename T1, typename T2
- >
-struct bind2;
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct bind3;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct bind4;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct bind5;
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc551/bitand.hpp b/boost/mpl/aux_/preprocessed/bcc551/bitand.hpp
deleted file mode 100644
index 0bbf54e..0000000
--- a/boost/mpl/aux_/preprocessed/bcc551/bitand.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// Preprocessed version of "boost/mpl/bitand.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct bitand_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitand_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitand_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitand_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct bitand_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct bitand_
- : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , bitand_
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct bitand_< N1,N2,N3,N4,na >
-
- : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitand_
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct bitand_< N1,N2,N3,na,na >
-
- : bitand_< bitand_< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitand_
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct bitand_< N1,N2,na,na,na >
- : bitand_impl<
- typename bitand_tag<N1>::type
- , typename bitand_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitand_
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitand_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- & BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc551/bitor.hpp b/boost/mpl/aux_/preprocessed/bcc551/bitor.hpp
deleted file mode 100644
index 55b31cb..0000000
--- a/boost/mpl/aux_/preprocessed/bcc551/bitor.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// Preprocessed version of "boost/mpl/bitor.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct bitor_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitor_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitor_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitor_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct bitor_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct bitor_
- : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , bitor_
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct bitor_< N1,N2,N3,N4,na >
-
- : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitor_
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct bitor_< N1,N2,N3,na,na >
-
- : bitor_< bitor_< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitor_
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct bitor_< N1,N2,na,na,na >
- : bitor_impl<
- typename bitor_tag<N1>::type
- , typename bitor_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitor_
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitor_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- | BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc551/bitxor.hpp b/boost/mpl/aux_/preprocessed/bcc551/bitxor.hpp
deleted file mode 100644
index ec19391..0000000
--- a/boost/mpl/aux_/preprocessed/bcc551/bitxor.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// Preprocessed version of "boost/mpl/bitxor.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct bitxor_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitxor_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitxor_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitxor_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct bitxor_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct bitxor_
- : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , bitxor_
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct bitxor_< N1,N2,N3,N4,na >
-
- : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitxor_
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct bitxor_< N1,N2,N3,na,na >
-
- : bitxor_< bitxor_< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitxor_
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct bitxor_< N1,N2,na,na,na >
- : bitxor_impl<
- typename bitxor_tag<N1>::type
- , typename bitxor_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitxor_
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitxor_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc551/deque.hpp b/boost/mpl/aux_/preprocessed/bcc551/deque.hpp
deleted file mode 100644
index de67398..0000000
--- a/boost/mpl/aux_/preprocessed/bcc551/deque.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/deque.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct deque;
-
-template<
-
- >
-struct deque<
- na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector0< >
-{
- typedef vector0< >::type type;
-};
-
-template<
- typename T0
- >
-struct deque<
- T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector1<T0>
-{
- typedef typename vector1<T0>::type type;
-};
-
-template<
- typename T0, typename T1
- >
-struct deque<
- T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector2< T0,T1 >
-{
- typedef typename vector2< T0,T1 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct deque<
- T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector3< T0,T1,T2 >
-{
- typedef typename vector3< T0,T1,T2 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct deque<
- T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector4< T0,T1,T2,T3 >
-{
- typedef typename vector4< T0,T1,T2,T3 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct deque<
- T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector5< T0,T1,T2,T3,T4 >
-{
- typedef typename vector5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector6< T0,T1,T2,T3,T4,T5 >
-{
- typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector7< T0,T1,T2,T3,T4,T5,T6 >
-{
- typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
- typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
- typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
- typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
- , na, na, na
- >
- : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
- typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
- , na, na, na, na
- >
- : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
- typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
- , na, na, na, na
- >
- : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
- typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
- , na, na, na, na
- >
- : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
- typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
- , na, na, na, na
- >
- : vector15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >
-{
- typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, na, na, na, na
- >
- : vector16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15
- >
-{
- typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, na, na, na
- >
- : vector17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16
- >
-{
- typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, na, na
- >
- : vector18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17
- >
-{
- typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, na
- >
- : vector19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18
- >
-{
- typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct deque
- : vector20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, T19
- >
-{
- typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc551/divides.hpp b/boost/mpl/aux_/preprocessed/bcc551/divides.hpp
deleted file mode 100644
index 86f1682..0000000
--- a/boost/mpl/aux_/preprocessed/bcc551/divides.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/divides.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct divides_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct divides_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct divides_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct divides_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct divides_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct divides
- : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , divides
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct divides< N1,N2,N3,N4,na >
-
- : divides< divides< divides< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , divides
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct divides< N1,N2,N3,na,na >
-
- : divides< divides< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , divides
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct divides< N1,N2,na,na,na >
- : divides_impl<
- typename divides_tag<N1>::type
- , typename divides_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , divides
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, divides)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct divides_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- / BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc551/equal_to.hpp b/boost/mpl/aux_/preprocessed/bcc551/equal_to.hpp
deleted file mode 100644
index 62c9945..0000000
--- a/boost/mpl/aux_/preprocessed/bcc551/equal_to.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/equal_to.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct equal_to_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct equal_to_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct equal_to_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct equal_to_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct equal_to_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct equal_to
-
- : equal_to_impl<
- typename equal_to_tag<N1>::type
- , typename equal_to_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct equal_to_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc551/fold_impl.hpp b/boost/mpl/aux_/preprocessed/bcc551/fold_impl.hpp
deleted file mode 100644
index 9e7a293..0000000
--- a/boost/mpl/aux_/preprocessed/bcc551/fold_impl.hpp
+++ /dev/null
@@ -1,180 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
- int N
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl;
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< 0,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef state0 state;
- typedef iter0 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< 1,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
-
-
- typedef state1 state;
- typedef iter1 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< 2,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
-
-
- typedef state2 state;
- typedef iter2 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< 3,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
- typedef typename mpl::next<iter2>::type iter3;
-
-
- typedef state3 state;
- typedef iter3 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< 4,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp, state3, typename deref<iter3>::type >::type state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef state4 state;
- typedef iter4 iterator;
-};
-
-template<
- int N
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl
-{
- typedef fold_impl<
- 4
- , First
- , Last
- , State
- , ForwardOp
- > chunk_;
-
- typedef fold_impl<
- ( (N - 4) < 0 ? 0 : N - 4 )
- , typename chunk_::iterator
- , Last
- , typename chunk_::state
- , ForwardOp
- > res_;
-
- typedef typename res_::state state;
- typedef typename res_::iterator iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< -1,First,Last,State,ForwardOp >
- : fold_impl<
- -1
- , typename mpl::next<First>::type
- , Last
- , typename apply2<ForwardOp,State, typename deref<First>::type>::type
- , ForwardOp
- >
-{
-};
-
-template<
- typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< -1,Last,Last,State,ForwardOp >
-{
- typedef State state;
- typedef Last iterator;
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/bcc551/full_lambda.hpp b/boost/mpl/aux_/preprocessed/bcc551/full_lambda.hpp
deleted file mode 100644
index e3eef71..0000000
--- a/boost/mpl/aux_/preprocessed/bcc551/full_lambda.hpp
+++ /dev/null
@@ -1,558 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
- bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
- , bool C5 = false
- >
-struct lambda_or
- : true_
-{
-};
-
-template<>
-struct lambda_or< false,false,false,false,false >
- : false_
-{
-};
-
-} // namespace aux
-
-template<
- typename T
- , typename Tag
- , typename Arity
- >
-struct lambda
-{
- typedef false_ is_le;
- typedef T result_;
- typedef T type;
-};
-
-template<
- typename T
- >
-struct is_lambda_expression
- : lambda<T>::is_le
-{
-};
-
-template< int N, typename Tag >
-struct lambda< arg<N>,Tag, int_< -1 > >
-{
- typedef true_ is_le;
- typedef mpl::arg<N> result_; // qualified for the sake of MIPSpro 7.41
- typedef mpl::protect<result_> type;
-};
-
-template<
- typename F
- , typename Tag
- >
-struct lambda<
- bind0<F>
- , Tag
- , int_<1>
- >
-{
- typedef false_ is_le;
- typedef bind0<
- F
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1 > class F
- , typename L1
- >
-struct le_result1
-{
- typedef F<
- typename L1::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1 > class F
- , typename L1
- >
-struct le_result1< true_,Tag,F,L1 >
-{
- typedef bind1<
- quote1< F,Tag >
- , typename L1::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template< typename P1 > class F
- , typename T1
- , typename Tag
- >
-struct lambda<
- F<T1>
- , Tag
- , int_<1>
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef typename l1::is_le is_le1;
- typedef typename aux::lambda_or<
- is_le1::value
- >::type is_le;
-
- typedef aux::le_result1<
- is_le, Tag, F, l1
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1
- , typename Tag
- >
-struct lambda<
- bind1< F,T1 >
- , Tag
- , int_<2>
- >
-{
- typedef false_ is_le;
- typedef bind1<
- F
- , T1
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1, typename P2 > class F
- , typename L1, typename L2
- >
-struct le_result2
-{
- typedef F<
- typename L1::type, typename L2::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1, typename P2 > class F
- , typename L1, typename L2
- >
-struct le_result2< true_,Tag,F,L1,L2 >
-{
- typedef bind2<
- quote2< F,Tag >
- , typename L1::result_, typename L2::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template< typename P1, typename P2 > class F
- , typename T1, typename T2
- , typename Tag
- >
-struct lambda<
- F< T1,T2 >
- , Tag
- , int_<2>
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef lambda< T2,Tag > l2;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
-
-
- typedef typename aux::lambda_or<
- is_le1::value, is_le2::value
- >::type is_le;
-
- typedef aux::le_result2<
- is_le, Tag, F, l1, l2
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1, typename T2
- , typename Tag
- >
-struct lambda<
- bind2< F,T1,T2 >
- , Tag
- , int_<3>
- >
-{
- typedef false_ is_le;
- typedef bind2<
- F
- , T1, T2
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1, typename P2, typename P3 > class F
- , typename L1, typename L2, typename L3
- >
-struct le_result3
-{
- typedef F<
- typename L1::type, typename L2::type, typename L3::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1, typename P2, typename P3 > class F
- , typename L1, typename L2, typename L3
- >
-struct le_result3< true_,Tag,F,L1,L2,L3 >
-{
- typedef bind3<
- quote3< F,Tag >
- , typename L1::result_, typename L2::result_, typename L3::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template< typename P1, typename P2, typename P3 > class F
- , typename T1, typename T2, typename T3
- , typename Tag
- >
-struct lambda<
- F< T1,T2,T3 >
- , Tag
- , int_<3>
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef lambda< T2,Tag > l2;
- typedef lambda< T3,Tag > l3;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
-
-
- typedef typename aux::lambda_or<
- is_le1::value, is_le2::value, is_le3::value
- >::type is_le;
-
- typedef aux::le_result3<
- is_le, Tag, F, l1, l2, l3
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- , typename Tag
- >
-struct lambda<
- bind3< F,T1,T2,T3 >
- , Tag
- , int_<4>
- >
-{
- typedef false_ is_le;
- typedef bind3<
- F
- , T1, T2, T3
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1, typename P2, typename P3, typename P4 > class F
- , typename L1, typename L2, typename L3, typename L4
- >
-struct le_result4
-{
- typedef F<
- typename L1::type, typename L2::type, typename L3::type
- , typename L4::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1, typename P2, typename P3, typename P4 > class F
- , typename L1, typename L2, typename L3, typename L4
- >
-struct le_result4< true_,Tag,F,L1,L2,L3,L4 >
-{
- typedef bind4<
- quote4< F,Tag >
- , typename L1::result_, typename L2::result_, typename L3::result_
- , typename L4::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template< typename P1, typename P2, typename P3, typename P4 > class F
- , typename T1, typename T2, typename T3, typename T4
- , typename Tag
- >
-struct lambda<
- F< T1,T2,T3,T4 >
- , Tag
- , int_<4>
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef lambda< T2,Tag > l2;
- typedef lambda< T3,Tag > l3;
- typedef lambda< T4,Tag > l4;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
- typedef typename l4::is_le is_le4;
-
-
- typedef typename aux::lambda_or<
- is_le1::value, is_le2::value, is_le3::value, is_le4::value
- >::type is_le;
-
- typedef aux::le_result4<
- is_le, Tag, F, l1, l2, l3, l4
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename Tag
- >
-struct lambda<
- bind4< F,T1,T2,T3,T4 >
- , Tag
- , int_<5>
- >
-{
- typedef false_ is_le;
- typedef bind4<
- F
- , T1, T2, T3, T4
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
- , typename L1, typename L2, typename L3, typename L4, typename L5
- >
-struct le_result5
-{
- typedef F<
- typename L1::type, typename L2::type, typename L3::type
- , typename L4::type, typename L5::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
- , typename L1, typename L2, typename L3, typename L4, typename L5
- >
-struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 >
-{
- typedef bind5<
- quote5< F,Tag >
- , typename L1::result_, typename L2::result_, typename L3::result_
- , typename L4::result_, typename L5::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template<
- typename P1, typename P2, typename P3, typename P4
- , typename P5
- >
- class F
- , typename T1, typename T2, typename T3, typename T4, typename T5
- , typename Tag
- >
-struct lambda<
- F< T1,T2,T3,T4,T5 >
- , Tag
- , int_<5>
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef lambda< T2,Tag > l2;
- typedef lambda< T3,Tag > l3;
- typedef lambda< T4,Tag > l4;
- typedef lambda< T5,Tag > l5;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
- typedef typename l4::is_le is_le4;
- typedef typename l5::is_le is_le5;
-
-
- typedef typename aux::lambda_or<
- is_le1::value, is_le2::value, is_le3::value, is_le4::value
- , is_le5::value
- >::type is_le;
-
- typedef aux::le_result5<
- is_le, Tag, F, l1, l2, l3, l4, l5
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- , typename Tag
- >
-struct lambda<
- bind5< F,T1,T2,T3,T4,T5 >
- , Tag
- , int_<6>
- >
-{
- typedef false_ is_le;
- typedef bind5<
- F
- , T1, T2, T3, T4, T5
- > result_;
-
- typedef result_ type;
-};
-
-/// special case for 'protect'
-template< typename T, typename Tag >
-struct lambda< mpl::protect<T>,Tag, int_<1> >
-{
- typedef false_ is_le;
- typedef mpl::protect<T> result_;
- typedef result_ type;
-};
-
-/// specializations for the main 'bind' form
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- , typename Tag
- >
-struct lambda<
- bind< F,T1,T2,T3,T4,T5 >
- , Tag
- , int_<6>
- >
-{
- typedef false_ is_le;
- typedef bind< F,T1,T2,T3,T4,T5 > result_;
- typedef result_ type;
-};
-
-template<
- typename F
- , typename Tag1
- , typename Tag2
- , typename Arity
- >
-struct lambda<
- lambda< F,Tag1,Arity >
- , Tag2
- , int_<3>
- >
-{
- typedef lambda< F,Tag2 > l1;
- typedef lambda< Tag1,Tag2 > l2;
- typedef typename l1::is_le is_le;
- typedef bind1< quote1<aux::template_arity>, typename l1::result_ > arity_;
- typedef lambda< typename if_< is_le,arity_,Arity >::type, Tag2 > l3;
- typedef aux::le_result3<is_le, Tag2, mpl::lambda, l1, l2, l3> le_result_;
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 3, lambda)
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc551/greater.hpp b/boost/mpl/aux_/preprocessed/bcc551/greater.hpp
deleted file mode 100644
index 14d8e08..0000000
--- a/boost/mpl/aux_/preprocessed/bcc551/greater.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/greater.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct greater_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct greater_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct greater_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct greater_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct greater_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct greater
-
- : greater_impl<
- typename greater_tag<N1>::type
- , typename greater_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct greater_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc551/greater_equal.hpp b/boost/mpl/aux_/preprocessed/bcc551/greater_equal.hpp
deleted file mode 100644
index 2603f91..0000000
--- a/boost/mpl/aux_/preprocessed/bcc551/greater_equal.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/greater_equal.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct greater_equal_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct greater_equal_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct greater_equal_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct greater_equal_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct greater_equal_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct greater_equal
-
- : greater_equal_impl<
- typename greater_equal_tag<N1>::type
- , typename greater_equal_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct greater_equal_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc551/inherit.hpp b/boost/mpl/aux_/preprocessed/bcc551/inherit.hpp
deleted file mode 100644
index 00f31c4..0000000
--- a/boost/mpl/aux_/preprocessed/bcc551/inherit.hpp
+++ /dev/null
@@ -1,141 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/inherit.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(T1)
- , typename BOOST_MPL_AUX_NA_PARAM(T2)
- >
-struct inherit2
- : T1, T2
-{
- typedef inherit2 type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))
-};
-
-template< typename T1 >
-struct inherit2< T1,empty_base >
-{
- typedef T1 type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base))
-};
-
-template< typename T2 >
-struct inherit2< empty_base,T2 >
-{
- typedef T2 type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2))
-};
-
-template<>
-struct inherit2< empty_base,empty_base >
-{
- typedef empty_base type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base))
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, inherit2)
-
-template<
- typename T1 = na, typename T2 = na, typename T3 = na
- >
-struct inherit3
- : inherit2<
- typename inherit2<
- T1, T2
- >::type
- , T3
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 3
- , inherit3
- , ( T1, T2, T3)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC(3, inherit3)
-
-template<
- typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
- >
-struct inherit4
- : inherit2<
- typename inherit3<
- T1, T2, T3
- >::type
- , T4
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 4
- , inherit4
- , ( T1, T2, T3, T4)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC(4, inherit4)
-
-template<
- typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
- , typename T5 = na
- >
-struct inherit5
- : inherit2<
- typename inherit4<
- T1, T2, T3, T4
- >::type
- , T5
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , inherit5
- , ( T1, T2, T3, T4, T5)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC(5, inherit5)
-
-/// primary template
-
-template<
- typename T1 = empty_base, typename T2 = empty_base
- , typename T3 = empty_base, typename T4 = empty_base
- , typename T5 = empty_base
- >
-struct inherit
- : inherit5< T1,T2,T3,T4,T5 >
-{
-};
-
-template<>
-struct inherit< na,na,na,na,na >
-{
- template<
-
- typename T1 = empty_base, typename T2 = empty_base
- , typename T3 = empty_base, typename T4 = empty_base
- , typename T5 = empty_base
-
- >
- struct apply
- : inherit< T1,T2,T3,T4,T5 >
- {
- };
-};
-
-BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc551/iter_fold_if_impl.hpp b/boost/mpl/aux_/preprocessed/bcc551/iter_fold_if_impl.hpp
deleted file mode 100644
index 6951795..0000000
--- a/boost/mpl/aux_/preprocessed/bcc551/iter_fold_if_impl.hpp
+++ /dev/null
@@ -1,133 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright David Abrahams 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< typename Iterator, typename State >
-struct iter_fold_if_null_step
-{
- typedef State state;
- typedef Iterator iterator;
-};
-
-template< bool >
-struct iter_fold_if_step_impl
-{
- template<
- typename Iterator
- , typename State
- , typename StateOp
- , typename IteratorOp
- >
- struct result_
- {
- typedef typename apply2< StateOp,State,Iterator >::type state;
- typedef typename IteratorOp::type iterator;
- };
-};
-
-template<>
-struct iter_fold_if_step_impl<false>
-{
- template<
- typename Iterator
- , typename State
- , typename StateOp
- , typename IteratorOp
- >
- struct result_
- {
- typedef State state;
- typedef Iterator iterator;
- };
-};
-
-template<
- typename Iterator
- , typename State
- , typename ForwardOp
- , typename Predicate
- >
-struct iter_fold_if_forward_step
-{
- typedef typename apply2< Predicate,State,Iterator >::type not_last;
- typedef typename iter_fold_if_step_impl<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
- >::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_;
-
- typedef typename impl_::state state;
- typedef typename impl_::iterator iterator;
-};
-
-template<
- typename Iterator
- , typename State
- , typename BackwardOp
- , typename Predicate
- >
-struct iter_fold_if_backward_step
-{
- typedef typename apply2< Predicate,State,Iterator >::type not_last;
- typedef typename iter_fold_if_step_impl<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
- >::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_;
-
- typedef typename impl_::state state;
- typedef typename impl_::iterator iterator;
-};
-
-template<
- typename Iterator
- , typename State
- , typename ForwardOp
- , typename ForwardPredicate
- , typename BackwardOp
- , typename BackwardPredicate
- >
-struct iter_fold_if_impl
-{
- private:
- typedef iter_fold_if_null_step< Iterator,State > forward_step0;
- typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1;
- typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2;
- typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3;
- typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4;
-
-
- typedef typename if_<
- typename forward_step4::not_last
- , iter_fold_if_impl<
- typename forward_step4::iterator
- , typename forward_step4::state
- , ForwardOp
- , ForwardPredicate
- , BackwardOp
- , BackwardPredicate
- >
- , iter_fold_if_null_step<
- typename forward_step4::iterator
- , typename forward_step4::state
- >
- >::type backward_step4;
-
- typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3;
- typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2;
- typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1;
- typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0;
-
-
- public:
- typedef typename backward_step0::state state;
- typedef typename backward_step4::iterator iterator;
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/bcc551/iter_fold_impl.hpp b/boost/mpl/aux_/preprocessed/bcc551/iter_fold_impl.hpp
deleted file mode 100644
index 805790e..0000000
--- a/boost/mpl/aux_/preprocessed/bcc551/iter_fold_impl.hpp
+++ /dev/null
@@ -1,180 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
- int N
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl;
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< 0,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef state0 state;
- typedef iter0 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< 1,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
-
-
- typedef state1 state;
- typedef iter1 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< 2,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
-
-
- typedef state2 state;
- typedef iter2 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< 3,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
- typedef typename mpl::next<iter2>::type iter3;
-
-
- typedef state3 state;
- typedef iter3 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< 4,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp,state3,iter3 >::type state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef state4 state;
- typedef iter4 iterator;
-};
-
-template<
- int N
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl
-{
- typedef iter_fold_impl<
- 4
- , First
- , Last
- , State
- , ForwardOp
- > chunk_;
-
- typedef iter_fold_impl<
- ( (N - 4) < 0 ? 0 : N - 4 )
- , typename chunk_::iterator
- , Last
- , typename chunk_::state
- , ForwardOp
- > res_;
-
- typedef typename res_::state state;
- typedef typename res_::iterator iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< -1,First,Last,State,ForwardOp >
- : iter_fold_impl<
- -1
- , typename mpl::next<First>::type
- , Last
- , typename apply2< ForwardOp,State,First >::type
- , ForwardOp
- >
-{
-};
-
-template<
- typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< -1,Last,Last,State,ForwardOp >
-{
- typedef State state;
- typedef Last iterator;
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/bcc551/lambda_no_ctps.hpp b/boost/mpl/aux_/preprocessed/bcc551/lambda_no_ctps.hpp
deleted file mode 100644
index 890a198..0000000
--- a/boost/mpl/aux_/preprocessed/bcc551/lambda_no_ctps.hpp
+++ /dev/null
@@ -1,229 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
- bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
- , bool C5 = false
- >
-struct lambda_or
- : true_
-{
-};
-
-template<>
-struct lambda_or< false,false,false,false,false >
- : false_
-{
-};
-
-template< typename Arity > struct lambda_impl
-{
- template< typename T, typename Tag, typename Protect > struct result_
- {
- typedef T type;
- typedef is_placeholder<T> is_le;
- };
-};
-
-template<> struct lambda_impl< int_<1> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef typename l1::is_le is_le1;
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value
- > is_le;
-
- typedef bind1<
- typename F::rebind
- , typename l1::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-template<> struct lambda_impl< int_<2> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef lambda< typename F::arg2, Tag, false_ > l2;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
-
-
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value
- > is_le;
-
- typedef bind2<
- typename F::rebind
- , typename l1::type, typename l2::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-template<> struct lambda_impl< int_<3> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef lambda< typename F::arg2, Tag, false_ > l2;
- typedef lambda< typename F::arg3, Tag, false_ > l3;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
-
-
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value
- > is_le;
-
- typedef bind3<
- typename F::rebind
- , typename l1::type, typename l2::type, typename l3::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-template<> struct lambda_impl< int_<4> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef lambda< typename F::arg2, Tag, false_ > l2;
- typedef lambda< typename F::arg3, Tag, false_ > l3;
- typedef lambda< typename F::arg4, Tag, false_ > l4;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
- typedef typename l4::is_le is_le4;
-
-
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value
- > is_le;
-
- typedef bind4<
- typename F::rebind
- , typename l1::type, typename l2::type, typename l3::type
- , typename l4::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-template<> struct lambda_impl< int_<5> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef lambda< typename F::arg2, Tag, false_ > l2;
- typedef lambda< typename F::arg3, Tag, false_ > l3;
- typedef lambda< typename F::arg4, Tag, false_ > l4;
- typedef lambda< typename F::arg5, Tag, false_ > l5;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
- typedef typename l4::is_le is_le4;
- typedef typename l5::is_le is_le5;
-
-
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value
- > is_le;
-
- typedef bind5<
- typename F::rebind
- , typename l1::type, typename l2::type, typename l3::type
- , typename l4::type, typename l5::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-} // namespace aux
-
-template<
- typename T
- , typename Tag
- , typename Protect
- >
-struct lambda
-{
- /// Metafunction forwarding confuses MSVC 6.x
- typedef typename aux::template_arity<T>::type arity_;
- typedef typename aux::lambda_impl<arity_>
- ::template result_< T,Tag,Protect > l_;
-
- typedef typename l_::type type;
- typedef typename l_::is_le is_le;
- BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))
-};
-
-BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
-
-template<
- typename T
- >
-struct is_lambda_expression
- : lambda<T>::is_le
-{
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc551/less.hpp b/boost/mpl/aux_/preprocessed/bcc551/less.hpp
deleted file mode 100644
index 4fe3cd1..0000000
--- a/boost/mpl/aux_/preprocessed/bcc551/less.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/less.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct less_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct less_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct less_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct less_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct less_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct less
-
- : less_impl<
- typename less_tag<N1>::type
- , typename less_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct less_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc551/less_equal.hpp b/boost/mpl/aux_/preprocessed/bcc551/less_equal.hpp
deleted file mode 100644
index ca2894f..0000000
--- a/boost/mpl/aux_/preprocessed/bcc551/less_equal.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/less_equal.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct less_equal_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct less_equal_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct less_equal_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct less_equal_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct less_equal_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct less_equal
-
- : less_equal_impl<
- typename less_equal_tag<N1>::type
- , typename less_equal_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct less_equal_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc551/list.hpp b/boost/mpl/aux_/preprocessed/bcc551/list.hpp
deleted file mode 100644
index 4e8ad53..0000000
--- a/boost/mpl/aux_/preprocessed/bcc551/list.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/list.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct list;
-
-template<
-
- >
-struct list<
- na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list0< >
-{
- typedef list0< >::type type;
-};
-
-template<
- typename T0
- >
-struct list<
- T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list1<T0>
-{
- typedef typename list1<T0>::type type;
-};
-
-template<
- typename T0, typename T1
- >
-struct list<
- T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list2< T0,T1 >
-{
- typedef typename list2< T0,T1 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct list<
- T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list3< T0,T1,T2 >
-{
- typedef typename list3< T0,T1,T2 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct list<
- T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list4< T0,T1,T2,T3 >
-{
- typedef typename list4< T0,T1,T2,T3 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct list<
- T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list5< T0,T1,T2,T3,T4 >
-{
- typedef typename list5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct list<
- T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list6< T0,T1,T2,T3,T4,T5 >
-{
- typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list7< T0,T1,T2,T3,T4,T5,T6 >
-{
- typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
- typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
- typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
- , na, na, na
- >
- : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
- typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
- , na, na, na
- >
- : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
- typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
- , na, na, na, na
- >
- : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
- typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
- , na, na, na, na
- >
- : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
- typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
- , na, na, na, na
- >
- : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
- typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
- , na, na, na, na
- >
- : list15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >
-{
- typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, na, na, na, na
- >
- : list16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15
- >
-{
- typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, na, na, na
- >
- : list17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16
- >
-{
- typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, na, na
- >
- : list18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17
- >
-{
- typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, na
- >
- : list19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18
- >
-{
- typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct list
- : list20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, T19
- >
-{
- typedef typename list20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc551/list_c.hpp b/boost/mpl/aux_/preprocessed/bcc551/list_c.hpp
deleted file mode 100644
index 0b48a7f..0000000
--- a/boost/mpl/aux_/preprocessed/bcc551/list_c.hpp
+++ /dev/null
@@ -1,328 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/list_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
- , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
- , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
- , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
- , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
- , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
- , long C18 = LONG_MAX, long C19 = LONG_MAX
- >
-struct list_c;
-
-template<
- typename T
- >
-struct list_c<
- T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list0_c<T>
-{
- typedef typename list0_c<T>::type type;
-};
-
-template<
- typename T, long C0
- >
-struct list_c<
- T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list1_c< T,C0 >
-{
- typedef typename list1_c< T,C0 >::type type;
-};
-
-template<
- typename T, long C0, long C1
- >
-struct list_c<
- T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list2_c< T,C0,C1 >
-{
- typedef typename list2_c< T,C0,C1 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2
- >
-struct list_c<
- T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list3_c< T,C0,C1,C2 >
-{
- typedef typename list3_c< T,C0,C1,C2 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3
- >
-struct list_c<
- T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list4_c< T,C0,C1,C2,C3 >
-{
- typedef typename list4_c< T,C0,C1,C2,C3 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list5_c< T,C0,C1,C2,C3,C4 >
-{
- typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list6_c< T,C0,C1,C2,C3,C4,C5 >
-{
- typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list7_c< T,C0,C1,C2,C3,C4,C5,C6 >
-{
- typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX
- >
- : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >
-{
- typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >
-{
- typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >
-{
- typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >
-{
- typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >
-{
- typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >
-{
- typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list14_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- >
-{
- typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list15_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- >
-{
- typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list16_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15
- >
-{
- typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list17_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16
- >
-{
- typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, LONG_MAX, LONG_MAX
- >
- : list18_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17
- >
-{
- typedef typename list18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18, LONG_MAX
- >
- : list19_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18
- >
-{
- typedef typename list19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
-struct list_c
- : list20_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18, C19
- >
-{
- typedef typename list20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc551/map.hpp b/boost/mpl/aux_/preprocessed/bcc551/map.hpp
deleted file mode 100644
index 837e013..0000000
--- a/boost/mpl/aux_/preprocessed/bcc551/map.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/map.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct map;
-
-template<
-
- >
-struct map<
- na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map0< >
-{
- typedef map0< >::type type;
-};
-
-template<
- typename T0
- >
-struct map<
- T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map1<T0>
-{
- typedef typename map1<T0>::type type;
-};
-
-template<
- typename T0, typename T1
- >
-struct map<
- T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map2< T0,T1 >
-{
- typedef typename map2< T0,T1 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct map<
- T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map3< T0,T1,T2 >
-{
- typedef typename map3< T0,T1,T2 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct map<
- T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map4< T0,T1,T2,T3 >
-{
- typedef typename map4< T0,T1,T2,T3 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct map<
- T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map5< T0,T1,T2,T3,T4 >
-{
- typedef typename map5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct map<
- T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map6< T0,T1,T2,T3,T4,T5 >
-{
- typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map7< T0,T1,T2,T3,T4,T5,T6 >
-{
- typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
- typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
- typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
- , na, na, na
- >
- : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
- typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
- , na, na, na
- >
- : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
- typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
- , na, na, na, na
- >
- : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
- typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
- , na, na, na, na
- >
- : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
- typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
- , na, na, na, na
- >
- : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
- typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
- , na, na, na, na
- >
- : map15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >
-{
- typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, na, na, na, na
- >
- : map16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15
- >
-{
- typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, na, na, na
- >
- : map17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16
- >
-{
- typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, na, na
- >
- : map18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17
- >
-{
- typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, na
- >
- : map19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18
- >
-{
- typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct map
- : map20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, T19
- >
-{
- typedef typename map20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc551/minus.hpp b/boost/mpl/aux_/preprocessed/bcc551/minus.hpp
deleted file mode 100644
index 71d4913..0000000
--- a/boost/mpl/aux_/preprocessed/bcc551/minus.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/minus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct minus_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct minus_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct minus_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct minus_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct minus_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct minus
- : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , minus
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct minus< N1,N2,N3,N4,na >
-
- : minus< minus< minus< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , minus
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct minus< N1,N2,N3,na,na >
-
- : minus< minus< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , minus
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct minus< N1,N2,na,na,na >
- : minus_impl<
- typename minus_tag<N1>::type
- , typename minus_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , minus
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, minus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct minus_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- - BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc551/modulus.hpp b/boost/mpl/aux_/preprocessed/bcc551/modulus.hpp
deleted file mode 100644
index 224b349..0000000
--- a/boost/mpl/aux_/preprocessed/bcc551/modulus.hpp
+++ /dev/null
@@ -1,101 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/modulus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct modulus_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct modulus_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct modulus_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct modulus_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct modulus_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct modulus
-
- : modulus_impl<
- typename modulus_tag<N1>::type
- , typename modulus_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct modulus_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- % BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc551/not_equal_to.hpp b/boost/mpl/aux_/preprocessed/bcc551/not_equal_to.hpp
deleted file mode 100644
index 98b21b1..0000000
--- a/boost/mpl/aux_/preprocessed/bcc551/not_equal_to.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/not_equal_to.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct not_equal_to_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct not_equal_to_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct not_equal_to_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct not_equal_to_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct not_equal_to_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct not_equal_to
-
- : not_equal_to_impl<
- typename not_equal_to_tag<N1>::type
- , typename not_equal_to_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct not_equal_to_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc551/or.hpp b/boost/mpl/aux_/preprocessed/bcc551/or.hpp
deleted file mode 100644
index 31e1aaa..0000000
--- a/boost/mpl/aux_/preprocessed/bcc551/or.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/or.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< bool C_, typename T1, typename T2, typename T3, typename T4 >
-struct or_impl
- : true_
-{
-};
-
-template< typename T1, typename T2, typename T3, typename T4 >
-struct or_impl< false,T1,T2,T3,T4 >
- : or_impl<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
- , T2, T3, T4
- , false_
- >
-{
-};
-
-template<>
-struct or_impl<
- false
- , false_, false_, false_, false_
- >
- : false_
-{
-};
-
-} // namespace aux
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(T1)
- , typename BOOST_MPL_AUX_NA_PARAM(T2)
- , typename T3 = false_, typename T4 = false_, typename T5 = false_
- >
-struct or_
-
- : aux::or_impl<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
- , T2, T3, T4, T5
- >
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , or_
- , ( T1, T2, T3, T4, T5)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC2(
- 2
- , 5
- , or_
- )
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc551/placeholders.hpp b/boost/mpl/aux_/preprocessed/bcc551/placeholders.hpp
deleted file mode 100644
index ff97364..0000000
--- a/boost/mpl/aux_/preprocessed/bcc551/placeholders.hpp
+++ /dev/null
@@ -1,105 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright Peter Dimov 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/placeholders.hpp" header
-// -- DO NOT modify by hand!
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg< -1 > _;
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
-}
-
-}}
-
-/// agurt, 17/mar/02: one more placeholder for the last 'apply#'
-/// specialization
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<1> _1;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<2> _2;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<3> _3;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<4> _4;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<5> _5;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<6> _6;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;
-}
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc551/plus.hpp b/boost/mpl/aux_/preprocessed/bcc551/plus.hpp
deleted file mode 100644
index a9f6ee7..0000000
--- a/boost/mpl/aux_/preprocessed/bcc551/plus.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/plus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct plus_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct plus_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct plus_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct plus_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct plus_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct plus
- : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , plus
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct plus< N1,N2,N3,N4,na >
-
- : plus< plus< plus< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , plus
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct plus< N1,N2,N3,na,na >
-
- : plus< plus< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , plus
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct plus< N1,N2,na,na,na >
- : plus_impl<
- typename plus_tag<N1>::type
- , typename plus_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , plus
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, plus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct plus_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- + BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc551/quote.hpp b/boost/mpl/aux_/preprocessed/bcc551/quote.hpp
deleted file mode 100644
index e7a7f00..0000000
--- a/boost/mpl/aux_/preprocessed/bcc551/quote.hpp
+++ /dev/null
@@ -1,11 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/quote.hpp" header
-// -- DO NOT modify by hand!
-
diff --git a/boost/mpl/aux_/preprocessed/bcc551/reverse_fold_impl.hpp b/boost/mpl/aux_/preprocessed/bcc551/reverse_fold_impl.hpp
deleted file mode 100644
index 7a07414..0000000
--- a/boost/mpl/aux_/preprocessed/bcc551/reverse_fold_impl.hpp
+++ /dev/null
@@ -1,295 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
- long N
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl;
-
-template< long N >
-struct reverse_fold_chunk;
-
-template<> struct reverse_fold_chunk<0>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef fwd_state0 bkwd_state0;
- typedef bkwd_state0 state;
- typedef iter0 iterator;
- };
-};
-
-template<> struct reverse_fold_chunk<1>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
-
-
- typedef fwd_state1 bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
- typedef bkwd_state0 state;
- typedef iter1 iterator;
- };
-};
-
-template<> struct reverse_fold_chunk<2>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
-
-
- typedef fwd_state2 bkwd_state2;
- typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter2 iterator;
- };
-};
-
-template<> struct reverse_fold_chunk<3>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
-
-
- typedef fwd_state3 bkwd_state3;
- typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
- typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter3 iterator;
- };
-};
-
-template<> struct reverse_fold_chunk<4>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef fwd_state4 bkwd_state4;
- typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;
- typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
- typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter4 iterator;
- };
-};
-
-template< long N >
-struct reverse_fold_chunk
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef reverse_fold_impl<
- ( (N - 4) < 0 ? 0 : N - 4 )
- , iter4
- , Last
- , fwd_state4
- , BackwardOp
- , ForwardOp
- > nested_chunk;
-
- typedef typename nested_chunk::state bkwd_state4;
- typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;
- typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
- typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef typename nested_chunk::iterator iterator;
- };
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_step;
-
-template<
- typename Last
- , typename State
- >
-struct reverse_fold_null_step
-{
- typedef Last iterator;
- typedef State state;
-};
-
-template<>
-struct reverse_fold_chunk< -1 >
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef typename if_<
- typename is_same< First,Last >::type
- , reverse_fold_null_step< Last,State >
- , reverse_fold_step< First,Last,State,BackwardOp,ForwardOp >
- >::type res_;
-
- typedef typename res_::state state;
- typedef typename res_::iterator iterator;
- };
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_step
-{
- typedef reverse_fold_chunk< -1 >::template result_<
- typename mpl::next<First>::type
- , Last
- , typename apply2<ForwardOp,State, typename deref<First>::type>::type
- , BackwardOp
- , ForwardOp
- > nested_step;
-
- typedef typename apply2<
- BackwardOp
- , typename nested_step::state
- , typename deref<First>::type
- >::type state;
-
- typedef typename nested_step::iterator iterator;
-};
-
-template<
- long N
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl
- : reverse_fold_chunk<N>
- ::template result_< First,Last,State,BackwardOp,ForwardOp >
-{
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/bcc551/reverse_iter_fold_impl.hpp b/boost/mpl/aux_/preprocessed/bcc551/reverse_iter_fold_impl.hpp
deleted file mode 100644
index 39a4057..0000000
--- a/boost/mpl/aux_/preprocessed/bcc551/reverse_iter_fold_impl.hpp
+++ /dev/null
@@ -1,295 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
- long N
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl;
-
-template< long N >
-struct reverse_iter_fold_chunk;
-
-template<> struct reverse_iter_fold_chunk<0>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef fwd_state0 bkwd_state0;
- typedef bkwd_state0 state;
- typedef iter0 iterator;
- };
-};
-
-template<> struct reverse_iter_fold_chunk<1>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
-
-
- typedef fwd_state1 bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
- typedef bkwd_state0 state;
- typedef iter1 iterator;
- };
-};
-
-template<> struct reverse_iter_fold_chunk<2>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
-
-
- typedef fwd_state2 bkwd_state2;
- typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter2 iterator;
- };
-};
-
-template<> struct reverse_iter_fold_chunk<3>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
-
-
- typedef fwd_state3 bkwd_state3;
- typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
- typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter3 iterator;
- };
-};
-
-template<> struct reverse_iter_fold_chunk<4>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef fwd_state4 bkwd_state4;
- typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;
- typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
- typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter4 iterator;
- };
-};
-
-template< long N >
-struct reverse_iter_fold_chunk
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef reverse_iter_fold_impl<
- ( (N - 4) < 0 ? 0 : N - 4 )
- , iter4
- , Last
- , fwd_state4
- , BackwardOp
- , ForwardOp
- > nested_chunk;
-
- typedef typename nested_chunk::state bkwd_state4;
- typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;
- typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
- typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef typename nested_chunk::iterator iterator;
- };
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_step;
-
-template<
- typename Last
- , typename State
- >
-struct reverse_iter_fold_null_step
-{
- typedef Last iterator;
- typedef State state;
-};
-
-template<>
-struct reverse_iter_fold_chunk< -1 >
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef typename if_<
- typename is_same< First,Last >::type
- , reverse_iter_fold_null_step< Last,State >
- , reverse_iter_fold_step< First,Last,State,BackwardOp,ForwardOp >
- >::type res_;
-
- typedef typename res_::state state;
- typedef typename res_::iterator iterator;
- };
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_step
-{
- typedef reverse_iter_fold_chunk< -1 >::template result_<
- typename mpl::next<First>::type
- , Last
- , typename apply2< ForwardOp,State,First >::type
- , BackwardOp
- , ForwardOp
- > nested_step;
-
- typedef typename apply2<
- BackwardOp
- , typename nested_step::state
- , First
- >::type state;
-
- typedef typename nested_step::iterator iterator;
-};
-
-template<
- long N
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl
- : reverse_iter_fold_chunk<N>
- ::template result_< First,Last,State,BackwardOp,ForwardOp >
-{
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/bcc551/set.hpp b/boost/mpl/aux_/preprocessed/bcc551/set.hpp
deleted file mode 100644
index 5721922..0000000
--- a/boost/mpl/aux_/preprocessed/bcc551/set.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/set.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct set;
-
-template<
-
- >
-struct set<
- na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set0< >
-{
- typedef set0< >::type type;
-};
-
-template<
- typename T0
- >
-struct set<
- T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set1<T0>
-{
- typedef typename set1<T0>::type type;
-};
-
-template<
- typename T0, typename T1
- >
-struct set<
- T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set2< T0,T1 >
-{
- typedef typename set2< T0,T1 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct set<
- T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set3< T0,T1,T2 >
-{
- typedef typename set3< T0,T1,T2 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct set<
- T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set4< T0,T1,T2,T3 >
-{
- typedef typename set4< T0,T1,T2,T3 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct set<
- T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set5< T0,T1,T2,T3,T4 >
-{
- typedef typename set5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct set<
- T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set6< T0,T1,T2,T3,T4,T5 >
-{
- typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set7< T0,T1,T2,T3,T4,T5,T6 >
-{
- typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
- typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
- typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
- , na, na, na
- >
- : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
- typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
- , na, na, na
- >
- : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
- typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
- , na, na, na, na
- >
- : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
- typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
- , na, na, na, na
- >
- : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
- typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
- , na, na, na, na
- >
- : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
- typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
- , na, na, na, na
- >
- : set15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >
-{
- typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, na, na, na, na
- >
- : set16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15
- >
-{
- typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, na, na, na
- >
- : set17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16
- >
-{
- typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, na, na
- >
- : set18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17
- >
-{
- typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, na
- >
- : set19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18
- >
-{
- typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct set
- : set20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, T19
- >
-{
- typedef typename set20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc551/set_c.hpp b/boost/mpl/aux_/preprocessed/bcc551/set_c.hpp
deleted file mode 100644
index cbeb932..0000000
--- a/boost/mpl/aux_/preprocessed/bcc551/set_c.hpp
+++ /dev/null
@@ -1,328 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/set_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
- , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
- , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
- , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
- , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
- , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
- , long C18 = LONG_MAX, long C19 = LONG_MAX
- >
-struct set_c;
-
-template<
- typename T
- >
-struct set_c<
- T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set0_c<T>
-{
- typedef typename set0_c<T>::type type;
-};
-
-template<
- typename T, long C0
- >
-struct set_c<
- T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set1_c< T,C0 >
-{
- typedef typename set1_c< T,C0 >::type type;
-};
-
-template<
- typename T, long C0, long C1
- >
-struct set_c<
- T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set2_c< T,C0,C1 >
-{
- typedef typename set2_c< T,C0,C1 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2
- >
-struct set_c<
- T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set3_c< T,C0,C1,C2 >
-{
- typedef typename set3_c< T,C0,C1,C2 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3
- >
-struct set_c<
- T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set4_c< T,C0,C1,C2,C3 >
-{
- typedef typename set4_c< T,C0,C1,C2,C3 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set5_c< T,C0,C1,C2,C3,C4 >
-{
- typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set6_c< T,C0,C1,C2,C3,C4,C5 >
-{
- typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set7_c< T,C0,C1,C2,C3,C4,C5,C6 >
-{
- typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX
- >
- : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >
-{
- typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >
-{
- typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >
-{
- typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >
-{
- typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >
-{
- typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >
-{
- typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set14_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- >
-{
- typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set15_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- >
-{
- typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set16_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15
- >
-{
- typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set17_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16
- >
-{
- typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, LONG_MAX, LONG_MAX
- >
- : set18_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17
- >
-{
- typedef typename set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18, LONG_MAX
- >
- : set19_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18
- >
-{
- typedef typename set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
-struct set_c
- : set20_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18, C19
- >
-{
- typedef typename set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc551/shift_left.hpp b/boost/mpl/aux_/preprocessed/bcc551/shift_left.hpp
deleted file mode 100644
index b5b181c..0000000
--- a/boost/mpl/aux_/preprocessed/bcc551/shift_left.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// Preprocessed version of "boost/mpl/shift_left.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct shift_left_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct shift_left_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct shift_left_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct shift_left_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct shift_left_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct shift_left
-
- : shift_left_impl<
- typename shift_left_tag<N1>::type
- , typename shift_left_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct shift_left_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N, typename S > struct apply
-
- : integral_c<
- typename N::value_type
- , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
- << BOOST_MPL_AUX_VALUE_WKND(S)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc551/shift_right.hpp b/boost/mpl/aux_/preprocessed/bcc551/shift_right.hpp
deleted file mode 100644
index f7a342e..0000000
--- a/boost/mpl/aux_/preprocessed/bcc551/shift_right.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// Preprocessed version of "boost/mpl/shift_right.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct shift_right_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct shift_right_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct shift_right_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct shift_right_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct shift_right_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct shift_right
-
- : shift_right_impl<
- typename shift_right_tag<N1>::type
- , typename shift_right_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct shift_right_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N, typename S > struct apply
-
- : integral_c<
- typename N::value_type
- , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
- >> BOOST_MPL_AUX_VALUE_WKND(S)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc551/template_arity.hpp b/boost/mpl/aux_/preprocessed/bcc551/template_arity.hpp
deleted file mode 100644
index 1164f0f..0000000
--- a/boost/mpl/aux_/preprocessed/bcc551/template_arity.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< bool >
-struct template_arity_impl
-{
- template< typename F > struct result_
- : mpl::int_< -1 >
- {
- };
-};
-
-template<>
-struct template_arity_impl<true>
-{
- template< typename F > struct result_
- : F::arity
- {
- };
-};
-
-template< typename F >
-struct template_arity
- : template_arity_impl< ::boost::mpl::aux::has_rebind<F>::value >
- ::template result_<F>
-{
-};
-
-}}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc551/times.hpp b/boost/mpl/aux_/preprocessed/bcc551/times.hpp
deleted file mode 100644
index cb97cc4..0000000
--- a/boost/mpl/aux_/preprocessed/bcc551/times.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/times.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct times_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct times_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct times_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct times_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct times_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct times
- : times< times< times< times< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , times
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct times< N1,N2,N3,N4,na >
-
- : times< times< times< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , times
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct times< N1,N2,N3,na,na >
-
- : times< times< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , times
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct times< N1,N2,na,na,na >
- : times_impl<
- typename times_tag<N1>::type
- , typename times_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , times
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, times)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct times_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- * BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc551/unpack_args.hpp b/boost/mpl/aux_/preprocessed/bcc551/unpack_args.hpp
deleted file mode 100644
index ef7c2b0..0000000
--- a/boost/mpl/aux_/preprocessed/bcc551/unpack_args.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/unpack_args.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< int size, typename F, typename Args >
-struct unpack_args_impl;
-
-template< typename F, typename Args >
-struct unpack_args_impl< 0,F,Args >
- : apply0<
- F
- >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 1,F,Args >
- : apply1<
- F
- , typename at_c< Args,0 >::type
- >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 2,F,Args >
- : apply2<
- F
- , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
- >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 3,F,Args >
- : apply3<
- F
- , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
- , typename at_c< Args,2 >::type
- >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 4,F,Args >
- : apply4<
- F
- , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
- , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
- >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 5,F,Args >
- : apply5<
- F
- , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
- , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
- , typename at_c< Args,4 >::type
- >
-{
-};
-
-}
-
-template<
- typename F
- >
-struct unpack_args
-{
- template< typename Args > struct apply
- {
- typedef typename aux::unpack_args_impl<
- size<Args>::value
- , F
- , Args
- >::type type;
-
- };
-};
-
-BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc551/vector.hpp b/boost/mpl/aux_/preprocessed/bcc551/vector.hpp
deleted file mode 100644
index bfa9565..0000000
--- a/boost/mpl/aux_/preprocessed/bcc551/vector.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/vector.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct vector;
-
-template<
-
- >
-struct vector<
- na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector0< >
-{
- typedef vector0< >::type type;
-};
-
-template<
- typename T0
- >
-struct vector<
- T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector1<T0>
-{
- typedef typename vector1<T0>::type type;
-};
-
-template<
- typename T0, typename T1
- >
-struct vector<
- T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector2< T0,T1 >
-{
- typedef typename vector2< T0,T1 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct vector<
- T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector3< T0,T1,T2 >
-{
- typedef typename vector3< T0,T1,T2 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct vector<
- T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector4< T0,T1,T2,T3 >
-{
- typedef typename vector4< T0,T1,T2,T3 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct vector<
- T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector5< T0,T1,T2,T3,T4 >
-{
- typedef typename vector5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector6< T0,T1,T2,T3,T4,T5 >
-{
- typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector7< T0,T1,T2,T3,T4,T5,T6 >
-{
- typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
- typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
- typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
- typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
- , na, na, na
- >
- : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
- typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
- , na, na, na, na
- >
- : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
- typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
- , na, na, na, na
- >
- : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
- typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
- , na, na, na, na
- >
- : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
- typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
- , na, na, na, na
- >
- : vector15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >
-{
- typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, na, na, na, na
- >
- : vector16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15
- >
-{
- typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, na, na, na
- >
- : vector17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16
- >
-{
- typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, na, na
- >
- : vector18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17
- >
-{
- typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, na
- >
- : vector19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18
- >
-{
- typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct vector
- : vector20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, T19
- >
-{
- typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc551/vector_c.hpp b/boost/mpl/aux_/preprocessed/bcc551/vector_c.hpp
deleted file mode 100644
index 0f1560d..0000000
--- a/boost/mpl/aux_/preprocessed/bcc551/vector_c.hpp
+++ /dev/null
@@ -1,309 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/vector_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
- , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
- , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
- , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
- , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
- , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
- , long C18 = LONG_MAX, long C19 = LONG_MAX
- >
-struct vector_c;
-
-template<
- typename T
- >
-struct vector_c<
- T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector0_c<T>
-{
- typedef typename vector0_c<T>::type type;
-};
-
-template<
- typename T, long C0
- >
-struct vector_c<
- T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector1_c< T, T(C0) >
-{
- typedef typename vector1_c< T, T(C0) >::type type;
-};
-
-template<
- typename T, long C0, long C1
- >
-struct vector_c<
- T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector2_c< T, T(C0), T(C1) >
-{
- typedef typename vector2_c< T, T(C0), T(C1) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2
- >
-struct vector_c<
- T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector3_c< T, T(C0), T(C1), T(C2) >
-{
- typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3
- >
-struct vector_c<
- T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector4_c< T, T(C0), T(C1), T(C2), T(C3) >
-{
- typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >
-{
- typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >
-{
- typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >
-{
- typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX
- >
- : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >
-{
- typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >
-{
- typedef typename vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >
-{
- typedef typename vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >
-{
- typedef typename vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >
-{
- typedef typename vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >
-{
- typedef typename vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >
-{
- typedef typename vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >
-{
- typedef typename vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >
-{
- typedef typename vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >
-{
- typedef typename vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, LONG_MAX, LONG_MAX
- >
- : vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >
-{
- typedef typename vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18, LONG_MAX
- >
- : vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >
-{
- typedef typename vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
-struct vector_c
- : vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >
-{
- typedef typename vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc_pre590/advance_backward.hpp b/boost/mpl/aux_/preprocessed/bcc_pre590/advance_backward.hpp
deleted file mode 100644
index 5cb50dc..0000000
--- a/boost/mpl/aux_/preprocessed/bcc_pre590/advance_backward.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "advance_backward.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< long N > struct advance_backward;
-template<>
-struct advance_backward<0>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef iter0 type;
- };
-};
-
-template<>
-struct advance_backward<1>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename prior<iter0>::type iter1;
- typedef iter1 type;
- };
-};
-
-template<>
-struct advance_backward<2>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename prior<iter0>::type iter1;
- typedef typename prior<iter1>::type iter2;
- typedef iter2 type;
- };
-};
-
-template<>
-struct advance_backward<3>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename prior<iter0>::type iter1;
- typedef typename prior<iter1>::type iter2;
- typedef typename prior<iter2>::type iter3;
- typedef iter3 type;
- };
-};
-
-template<>
-struct advance_backward<4>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename prior<iter0>::type iter1;
- typedef typename prior<iter1>::type iter2;
- typedef typename prior<iter2>::type iter3;
- typedef typename prior<iter3>::type iter4;
- typedef iter4 type;
- };
-};
-
-template< long N >
-struct advance_backward
-{
- template< typename Iterator > struct apply
- {
- typedef typename apply_wrap1<
- advance_backward<4>
- , Iterator
- >::type chunk_result_;
-
- typedef typename apply_wrap1<
- advance_backward<(
- (N - 4) < 0
- ? 0
- : N - 4
- )>
- , chunk_result_
- >::type type;
- };
-};
-
-}}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc_pre590/advance_forward.hpp b/boost/mpl/aux_/preprocessed/bcc_pre590/advance_forward.hpp
deleted file mode 100644
index 9654ee3..0000000
--- a/boost/mpl/aux_/preprocessed/bcc_pre590/advance_forward.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "advance_forward.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< long N > struct advance_forward;
-template<>
-struct advance_forward<0>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef iter0 type;
- };
-};
-
-template<>
-struct advance_forward<1>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename next<iter0>::type iter1;
- typedef iter1 type;
- };
-};
-
-template<>
-struct advance_forward<2>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename next<iter0>::type iter1;
- typedef typename next<iter1>::type iter2;
- typedef iter2 type;
- };
-};
-
-template<>
-struct advance_forward<3>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename next<iter0>::type iter1;
- typedef typename next<iter1>::type iter2;
- typedef typename next<iter2>::type iter3;
- typedef iter3 type;
- };
-};
-
-template<>
-struct advance_forward<4>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename next<iter0>::type iter1;
- typedef typename next<iter1>::type iter2;
- typedef typename next<iter2>::type iter3;
- typedef typename next<iter3>::type iter4;
- typedef iter4 type;
- };
-};
-
-template< long N >
-struct advance_forward
-{
- template< typename Iterator > struct apply
- {
- typedef typename apply_wrap1<
- advance_forward<4>
- , Iterator
- >::type chunk_result_;
-
- typedef typename apply_wrap1<
- advance_forward<(
- (N - 4) < 0
- ? 0
- : N - 4
- )>
- , chunk_result_
- >::type type;
- };
-};
-
-}}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc_pre590/and.hpp b/boost/mpl/aux_/preprocessed/bcc_pre590/and.hpp
deleted file mode 100644
index f345689..0000000
--- a/boost/mpl/aux_/preprocessed/bcc_pre590/and.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "and.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< bool C_, typename T1, typename T2, typename T3, typename T4 >
-struct and_impl
- : false_
-{
-};
-
-template< typename T1, typename T2, typename T3, typename T4 >
-struct and_impl< true,T1,T2,T3,T4 >
- : and_impl<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
- , T2, T3, T4
- , true_
- >
-{
-};
-
-template<>
-struct and_impl<
- true
- , true_, true_, true_, true_
- >
- : true_
-{
-};
-
-} // namespace aux
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(T1)
- , typename BOOST_MPL_AUX_NA_PARAM(T2)
- , typename T3 = true_, typename T4 = true_, typename T5 = true_
- >
-struct and_
-
- : aux::and_impl<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
- , T2, T3, T4, T5
- >
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , and_
- , ( T1, T2, T3, T4, T5)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC2(
- 2
- , 5
- , and_
- )
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc_pre590/apply.hpp b/boost/mpl/aux_/preprocessed/bcc_pre590/apply.hpp
deleted file mode 100644
index bce7c2c..0000000
--- a/boost/mpl/aux_/preprocessed/bcc_pre590/apply.hpp
+++ /dev/null
@@ -1,169 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "apply.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename F
- >
-struct apply0
-
- : apply_wrap0<
- typename lambda<F>::type
-
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 1
- , apply0
- , (F )
- )
-};
-
-template<
- typename F
- >
-struct apply< F,na,na,na,na,na >
- : apply0<F>
-{
-};
-
-template<
- typename F, typename T1
- >
-struct apply1
-
- : apply_wrap1<
- typename lambda<F>::type
- , T1
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 2
- , apply1
- , (F, T1)
- )
-};
-
-template<
- typename F, typename T1
- >
-struct apply< F,T1,na,na,na,na >
- : apply1< F,T1 >
-{
-};
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply2
-
- : apply_wrap2<
- typename lambda<F>::type
- , T1, T2
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 3
- , apply2
- , (F, T1, T2)
- )
-};
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply< F,T1,T2,na,na,na >
- : apply2< F,T1,T2 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply3
-
- : apply_wrap3<
- typename lambda<F>::type
- , T1, T2, T3
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 4
- , apply3
- , (F, T1, T2, T3)
- )
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply< F,T1,T2,T3,na,na >
- : apply3< F,T1,T2,T3 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply4
-
- : apply_wrap4<
- typename lambda<F>::type
- , T1, T2, T3, T4
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , apply4
- , (F, T1, T2, T3, T4)
- )
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply< F,T1,T2,T3,T4,na >
- : apply4< F,T1,T2,T3,T4 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct apply5
-
- : apply_wrap5<
- typename lambda<F>::type
- , T1, T2, T3, T4, T5
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 6
- , apply5
- , (F, T1, T2, T3, T4, T5)
- )
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct apply
- : apply5< F,T1,T2,T3,T4,T5 >
-{
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc_pre590/apply_fwd.hpp b/boost/mpl/aux_/preprocessed/bcc_pre590/apply_fwd.hpp
deleted file mode 100644
index 1ba706f..0000000
--- a/boost/mpl/aux_/preprocessed/bcc_pre590/apply_fwd.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "apply_fwd.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename F, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na
- >
-struct apply;
-
-template<
- typename F
- >
-struct apply0;
-
-template<
- typename F, typename T1
- >
-struct apply1;
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply2;
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply3;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply4;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct apply5;
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc_pre590/apply_wrap.hpp b/boost/mpl/aux_/preprocessed/bcc_pre590/apply_wrap.hpp
deleted file mode 100644
index d88129d..0000000
--- a/boost/mpl/aux_/preprocessed/bcc_pre590/apply_wrap.hpp
+++ /dev/null
@@ -1,456 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-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)
-//
-
-// *Preprocessed* version of the main "apply_wrap.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- int N, typename F
- >
-struct apply_wrap_impl0;
-
-template<
- typename F
- >
-struct apply_wrap_impl0<
- 0
- , F
-
- >
-{
- typedef typename F::template apply<
-
-/// since the defaults are "lost", we have to pass *something* even for nullary
-/// metafunction classes
- na
- > type;
-};
-
-template<
- typename F
- >
-struct apply_wrap_impl0<
- 1
- , F
-
- >
-{
- typedef typename F::template apply<
-
- na
- > type;
-};
-
-template<
- typename F
- >
-struct apply_wrap_impl0<
- 2
- , F
-
- >
-{
- typedef typename F::template apply<
-
- na, na
-
- > type;
-};
-
-template<
- typename F
- >
-struct apply_wrap_impl0<
- 3
- , F
-
- >
-{
- typedef typename F::template apply<
-
- na, na, na
-
- > type;
-};
-
-template<
- typename F
- >
-struct apply_wrap_impl0<
- 4
- , F
-
- >
-{
- typedef typename F::template apply<
-
- na, na, na, na
-
- > type;
-};
-
-template<
- typename F
- >
-struct apply_wrap_impl0<
- 5
- , F
-
- >
-{
- typedef typename F::template apply<
-
- na, na, na, na, na
-
- > type;
-};
-
-template<
- typename F
- >
-struct apply_wrap0
- : apply_wrap_impl0<
- ::boost::mpl::aux::arity< F,0 >::value
- , F
-
- >::type
-{
-};
-
-template<
- int N, typename F, typename T1
- >
-struct apply_wrap_impl1;
-
-template<
- typename F, typename T1
- >
-struct apply_wrap_impl1<
- 1
- , F
- , T1
- >
-{
- typedef typename F::template apply<
- T1
- > type;
-};
-
-template<
- typename F, typename T1
- >
-struct apply_wrap_impl1<
- 2
- , F
- , T1
- >
-{
- typedef typename F::template apply<
- T1
- , na
-
- > type;
-};
-
-template<
- typename F, typename T1
- >
-struct apply_wrap_impl1<
- 3
- , F
- , T1
- >
-{
- typedef typename F::template apply<
- T1
- , na, na
-
- > type;
-};
-
-template<
- typename F, typename T1
- >
-struct apply_wrap_impl1<
- 4
- , F
- , T1
- >
-{
- typedef typename F::template apply<
- T1
- , na, na, na
-
- > type;
-};
-
-template<
- typename F, typename T1
- >
-struct apply_wrap_impl1<
- 5
- , F
- , T1
- >
-{
- typedef typename F::template apply<
- T1
- , na, na, na, na
-
- > type;
-};
-
-template<
- typename F, typename T1
- >
-struct apply_wrap1
- : apply_wrap_impl1<
- ::boost::mpl::aux::arity< F,1 >::value
- , F
- , T1
- >::type
-{
-};
-
-template<
- int N, typename F, typename T1, typename T2
- >
-struct apply_wrap_impl2;
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply_wrap_impl2<
- 2
- , F
- , T1, T2
- >
-{
- typedef typename F::template apply<
- T1, T2
-
- > type;
-};
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply_wrap_impl2<
- 3
- , F
- , T1, T2
- >
-{
- typedef typename F::template apply<
- T1, T2
-
- , na
-
- > type;
-};
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply_wrap_impl2<
- 4
- , F
- , T1, T2
- >
-{
- typedef typename F::template apply<
- T1, T2
-
- , na, na
-
- > type;
-};
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply_wrap_impl2<
- 5
- , F
- , T1, T2
- >
-{
- typedef typename F::template apply<
- T1, T2
-
- , na, na, na
-
- > type;
-};
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply_wrap2
- : apply_wrap_impl2<
- ::boost::mpl::aux::arity< F,2 >::value
- , F
- , T1, T2
- >::type
-{
-};
-
-template<
- int N, typename F, typename T1, typename T2, typename T3
- >
-struct apply_wrap_impl3;
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply_wrap_impl3<
- 3
- , F
- , T1, T2, T3
- >
-{
- typedef typename F::template apply<
- T1, T2, T3
-
- > type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply_wrap_impl3<
- 4
- , F
- , T1, T2, T3
- >
-{
- typedef typename F::template apply<
- T1, T2, T3
-
- , na
-
- > type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply_wrap_impl3<
- 5
- , F
- , T1, T2, T3
- >
-{
- typedef typename F::template apply<
- T1, T2, T3
-
- , na, na
-
- > type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply_wrap3
- : apply_wrap_impl3<
- ::boost::mpl::aux::arity< F,3 >::value
- , F
- , T1, T2, T3
- >::type
-{
-};
-
-template<
- int N, typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply_wrap_impl4;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply_wrap_impl4<
- 4
- , F
- , T1, T2, T3, T4
- >
-{
- typedef typename F::template apply<
- T1, T2, T3, T4
-
- > type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply_wrap_impl4<
- 5
- , F
- , T1, T2, T3, T4
- >
-{
- typedef typename F::template apply<
- T1, T2, T3, T4
-
- , na
-
- > type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply_wrap4
- : apply_wrap_impl4<
- ::boost::mpl::aux::arity< F,4 >::value
- , F
- , T1, T2, T3, T4
- >::type
-{
-};
-
-template<
- int N, typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct apply_wrap_impl5;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct apply_wrap_impl5<
- 5
- , F
- , T1, T2, T3, T4, T5
- >
-{
- typedef typename F::template apply<
- T1, T2, T3, T4, T5
-
- > type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct apply_wrap5
- : apply_wrap_impl5<
- ::boost::mpl::aux::arity< F,5 >::value
- , F
- , T1, T2, T3, T4, T5
- >::type
-{
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc_pre590/arg.hpp b/boost/mpl/aux_/preprocessed/bcc_pre590/arg.hpp
deleted file mode 100644
index 3ac4340..0000000
--- a/boost/mpl/aux_/preprocessed/bcc_pre590/arg.hpp
+++ /dev/null
@@ -1,117 +0,0 @@
-
-// Copyright Peter Dimov 2001-2002
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// *Preprocessed* version of the main "arg.hpp" header
-// -- DO NOT modify by hand!
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-template<> struct arg< -1 >
-{
- BOOST_STATIC_CONSTANT(int, value = -1);
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1, typename U2, typename U3, typename U4, typename U5
- >
- struct apply
- {
- typedef U1 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<1>
-{
- BOOST_STATIC_CONSTANT(int, value = 1);
- typedef arg<2> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1, typename U2, typename U3, typename U4, typename U5
- >
- struct apply
- {
- typedef U1 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<2>
-{
- BOOST_STATIC_CONSTANT(int, value = 2);
- typedef arg<3> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1, typename U2, typename U3, typename U4, typename U5
- >
- struct apply
- {
- typedef U2 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<3>
-{
- BOOST_STATIC_CONSTANT(int, value = 3);
- typedef arg<4> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1, typename U2, typename U3, typename U4, typename U5
- >
- struct apply
- {
- typedef U3 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<4>
-{
- BOOST_STATIC_CONSTANT(int, value = 4);
- typedef arg<5> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1, typename U2, typename U3, typename U4, typename U5
- >
- struct apply
- {
- typedef U4 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<5>
-{
- BOOST_STATIC_CONSTANT(int, value = 5);
- typedef arg<6> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1, typename U2, typename U3, typename U4, typename U5
- >
- struct apply
- {
- typedef U5 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
diff --git a/boost/mpl/aux_/preprocessed/bcc_pre590/basic_bind.hpp b/boost/mpl/aux_/preprocessed/bcc_pre590/basic_bind.hpp
deleted file mode 100644
index 74b0029..0000000
--- a/boost/mpl/aux_/preprocessed/bcc_pre590/basic_bind.hpp
+++ /dev/null
@@ -1,300 +0,0 @@
-
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// *Preprocessed* version of the main "basic_bind.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
- typename T, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg
-{
- typedef T type;
-};
-
-template<
- int N, typename U1, typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >
-{
- typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;
-};
-
-} // namespace aux
-
-template<
- typename F
- >
-struct bind0
-{
- template<
- typename U1, typename U2, typename U3, typename U4, typename U5
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-
- public:
- typedef typename apply_wrap0<
- f_
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg<
- bind0<F>, U1, U2, U3, U4, U5
- >
-{
- typedef bind0<F> f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
-
-template<
- typename F, typename T1
- >
-struct bind1
-{
- template<
- typename U1, typename U2, typename U3, typename U4, typename U5
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-
- public:
- typedef typename apply_wrap1<
- f_
- , typename t1::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename U1, typename U2, typename U3
- , typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind1< F,T1 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind1< F,T1 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
-
-template<
- typename F, typename T1, typename T2
- >
-struct bind2
-{
- template<
- typename U1, typename U2, typename U3, typename U4, typename U5
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-
- public:
- typedef typename apply_wrap2<
- f_
- , typename t1::type, typename t2::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename U1, typename U2
- , typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind2< F,T1,T2 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind2< F,T1,T2 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct bind3
-{
- template<
- typename U1, typename U2, typename U3, typename U4, typename U5
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
- typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-
- public:
- typedef typename apply_wrap3<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename U1
- , typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind3< F,T1,T2,T3 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct bind4
-{
- template<
- typename U1, typename U2, typename U3, typename U4, typename U5
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
- typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
- typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
-
- public:
- typedef typename apply_wrap4<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- , typename t4::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename U1, typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind4< F,T1,T2,T3,T4 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct bind5
-{
- template<
- typename U1, typename U2, typename U3, typename U4, typename U5
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
- typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
- typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
- typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5;
-
- public:
- typedef typename apply_wrap5<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- , typename t4::type, typename t5::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg<
- bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind5< F,T1,T2,T3,T4,T5 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc_pre590/bind.hpp b/boost/mpl/aux_/preprocessed/bcc_pre590/bind.hpp
deleted file mode 100644
index e769a0c..0000000
--- a/boost/mpl/aux_/preprocessed/bcc_pre590/bind.hpp
+++ /dev/null
@@ -1,397 +0,0 @@
-
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// *Preprocessed* version of the main "bind.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
- typename T, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg
-{
- typedef T type;
-};
-
-template<
- typename T
- , typename Arg
- >
-struct replace_unnamed_arg
-{
- typedef Arg next;
- typedef T type;
-};
-
-template<
- typename Arg
- >
-struct replace_unnamed_arg< arg< -1 >, Arg >
-{
- typedef typename Arg::next next;
- typedef Arg type;
-};
-
-template<
- int N, typename U1, typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >
-{
- typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;
-};
-
-} // namespace aux
-
-template<
- typename F
- >
-struct bind0
-{
- template<
- typename U1, typename U2, typename U3, typename U4, typename U5
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- public:
- typedef typename apply_wrap0<
- f_
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg<
- bind0<F>, U1, U2, U3, U4, U5
- >
-{
- typedef bind0<F> f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
-
-template<
- typename F, typename T1
- >
-struct bind1
-{
- template<
- typename U1, typename U2, typename U3, typename U4, typename U5
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- public:
- typedef typename apply_wrap1<
- f_
- , typename t1::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename U1, typename U2, typename U3
- , typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind1< F,T1 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind1< F,T1 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
-
-template<
- typename F, typename T1, typename T2
- >
-struct bind2
-{
- template<
- typename U1, typename U2, typename U3, typename U4, typename U5
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- public:
- typedef typename apply_wrap2<
- f_
- , typename t1::type, typename t2::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename U1, typename U2
- , typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind2< F,T1,T2 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind2< F,T1,T2 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct bind3
-{
- template<
- typename U1, typename U2, typename U3, typename U4, typename U5
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- typedef aux::replace_unnamed_arg< T3,n3 > r3;
- typedef typename r3::type a3;
- typedef typename r3::next n4;
- typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
- ///
- public:
- typedef typename apply_wrap3<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename U1
- , typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind3< F,T1,T2,T3 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct bind4
-{
- template<
- typename U1, typename U2, typename U3, typename U4, typename U5
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- typedef aux::replace_unnamed_arg< T3,n3 > r3;
- typedef typename r3::type a3;
- typedef typename r3::next n4;
- typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
- ///
- typedef aux::replace_unnamed_arg< T4,n4 > r4;
- typedef typename r4::type a4;
- typedef typename r4::next n5;
- typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
- ///
- public:
- typedef typename apply_wrap4<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- , typename t4::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename U1, typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind4< F,T1,T2,T3,T4 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct bind5
-{
- template<
- typename U1, typename U2, typename U3, typename U4, typename U5
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- typedef aux::replace_unnamed_arg< T3,n3 > r3;
- typedef typename r3::type a3;
- typedef typename r3::next n4;
- typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
- ///
- typedef aux::replace_unnamed_arg< T4,n4 > r4;
- typedef typename r4::type a4;
- typedef typename r4::next n5;
- typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
- ///
- typedef aux::replace_unnamed_arg< T5,n5 > r5;
- typedef typename r5::type a5;
- typedef typename r5::next n6;
- typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5;
- ///
- public:
- typedef typename apply_wrap5<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- , typename t4::type, typename t5::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg<
- bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind5< F,T1,T2,T3,T4,T5 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc_pre590/bind_fwd.hpp b/boost/mpl/aux_/preprocessed/bcc_pre590/bind_fwd.hpp
deleted file mode 100644
index 962b5c9..0000000
--- a/boost/mpl/aux_/preprocessed/bcc_pre590/bind_fwd.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "bind_fwd.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename F
- >
-struct bind0;
-
-template<
- typename F, typename T1
- >
-struct bind1;
-
-template<
- typename F, typename T1, typename T2
- >
-struct bind2;
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct bind3;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct bind4;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct bind5;
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc_pre590/bitand.hpp b/boost/mpl/aux_/preprocessed/bcc_pre590/bitand.hpp
deleted file mode 100644
index 527b689..0000000
--- a/boost/mpl/aux_/preprocessed/bcc_pre590/bitand.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// *Preprocessed* version of the main "bitand.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct bitand_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitand_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitand_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitand_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct bitand_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct bitand_
- : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , bitand_
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct bitand_< N1,N2,N3,N4,na >
-
- : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitand_
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct bitand_< N1,N2,N3,na,na >
-
- : bitand_< bitand_< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitand_
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct bitand_< N1,N2,na,na,na >
- : bitand_impl<
- typename bitand_tag<N1>::type
- , typename bitand_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitand_
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitand_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- & BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc_pre590/bitor.hpp b/boost/mpl/aux_/preprocessed/bcc_pre590/bitor.hpp
deleted file mode 100644
index 3f0d5ca..0000000
--- a/boost/mpl/aux_/preprocessed/bcc_pre590/bitor.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// *Preprocessed* version of the main "bitor.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct bitor_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitor_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitor_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitor_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct bitor_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct bitor_
- : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , bitor_
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct bitor_< N1,N2,N3,N4,na >
-
- : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitor_
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct bitor_< N1,N2,N3,na,na >
-
- : bitor_< bitor_< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitor_
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct bitor_< N1,N2,na,na,na >
- : bitor_impl<
- typename bitor_tag<N1>::type
- , typename bitor_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitor_
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitor_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- | BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc_pre590/bitxor.hpp b/boost/mpl/aux_/preprocessed/bcc_pre590/bitxor.hpp
deleted file mode 100644
index 06996c0..0000000
--- a/boost/mpl/aux_/preprocessed/bcc_pre590/bitxor.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// *Preprocessed* version of the main "bitxor.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct bitxor_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitxor_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitxor_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitxor_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct bitxor_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct bitxor_
- : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , bitxor_
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct bitxor_< N1,N2,N3,N4,na >
-
- : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitxor_
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct bitxor_< N1,N2,N3,na,na >
-
- : bitxor_< bitxor_< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitxor_
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct bitxor_< N1,N2,na,na,na >
- : bitxor_impl<
- typename bitxor_tag<N1>::type
- , typename bitxor_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitxor_
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitxor_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc_pre590/deque.hpp b/boost/mpl/aux_/preprocessed/bcc_pre590/deque.hpp
deleted file mode 100644
index 06505c9..0000000
--- a/boost/mpl/aux_/preprocessed/bcc_pre590/deque.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "deque.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct deque;
-
-template<
-
- >
-struct deque<
- na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector0< >
-{
- typedef vector0< >::type type;
-};
-
-template<
- typename T0
- >
-struct deque<
- T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector1<T0>
-{
- typedef typename vector1<T0>::type type;
-};
-
-template<
- typename T0, typename T1
- >
-struct deque<
- T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector2< T0,T1 >
-{
- typedef typename vector2< T0,T1 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct deque<
- T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector3< T0,T1,T2 >
-{
- typedef typename vector3< T0,T1,T2 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct deque<
- T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector4< T0,T1,T2,T3 >
-{
- typedef typename vector4< T0,T1,T2,T3 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct deque<
- T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector5< T0,T1,T2,T3,T4 >
-{
- typedef typename vector5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector6< T0,T1,T2,T3,T4,T5 >
-{
- typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector7< T0,T1,T2,T3,T4,T5,T6 >
-{
- typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
- typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
- typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
- typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
- , na, na, na
- >
- : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
- typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
- , na, na, na, na
- >
- : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
- typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
- , na, na, na, na
- >
- : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
- typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
- , na, na, na, na
- >
- : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
- typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
- , na, na, na, na
- >
- : vector15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >
-{
- typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, na, na, na, na
- >
- : vector16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15
- >
-{
- typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, na, na, na
- >
- : vector17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16
- >
-{
- typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, na, na
- >
- : vector18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17
- >
-{
- typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, na
- >
- : vector19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18
- >
-{
- typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct deque
- : vector20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, T19
- >
-{
- typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc_pre590/divides.hpp b/boost/mpl/aux_/preprocessed/bcc_pre590/divides.hpp
deleted file mode 100644
index 6b4178a..0000000
--- a/boost/mpl/aux_/preprocessed/bcc_pre590/divides.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "divides.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct divides_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct divides_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct divides_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct divides_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct divides_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct divides
- : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , divides
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct divides< N1,N2,N3,N4,na >
-
- : divides< divides< divides< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , divides
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct divides< N1,N2,N3,na,na >
-
- : divides< divides< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , divides
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct divides< N1,N2,na,na,na >
- : divides_impl<
- typename divides_tag<N1>::type
- , typename divides_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , divides
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, divides)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct divides_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- / BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc_pre590/equal_to.hpp b/boost/mpl/aux_/preprocessed/bcc_pre590/equal_to.hpp
deleted file mode 100644
index 901a93c..0000000
--- a/boost/mpl/aux_/preprocessed/bcc_pre590/equal_to.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "equal_to.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct equal_to_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct equal_to_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct equal_to_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct equal_to_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct equal_to_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct equal_to
-
- : equal_to_impl<
- typename equal_to_tag<N1>::type
- , typename equal_to_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct equal_to_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc_pre590/fold_impl.hpp b/boost/mpl/aux_/preprocessed/bcc_pre590/fold_impl.hpp
deleted file mode 100644
index 45ab4e7..0000000
--- a/boost/mpl/aux_/preprocessed/bcc_pre590/fold_impl.hpp
+++ /dev/null
@@ -1,180 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
- int N
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl;
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< 0,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef state0 state;
- typedef iter0 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< 1,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
-
-
- typedef state1 state;
- typedef iter1 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< 2,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
-
-
- typedef state2 state;
- typedef iter2 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< 3,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
- typedef typename mpl::next<iter2>::type iter3;
-
-
- typedef state3 state;
- typedef iter3 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< 4,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp, state3, typename deref<iter3>::type >::type state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef state4 state;
- typedef iter4 iterator;
-};
-
-template<
- int N
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl
-{
- typedef fold_impl<
- 4
- , First
- , Last
- , State
- , ForwardOp
- > chunk_;
-
- typedef fold_impl<
- ( (N - 4) < 0 ? 0 : N - 4 )
- , typename chunk_::iterator
- , Last
- , typename chunk_::state
- , ForwardOp
- > res_;
-
- typedef typename res_::state state;
- typedef typename res_::iterator iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< -1,First,Last,State,ForwardOp >
- : fold_impl<
- -1
- , typename mpl::next<First>::type
- , Last
- , typename apply2<ForwardOp,State, typename deref<First>::type>::type
- , ForwardOp
- >
-{
-};
-
-template<
- typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< -1,Last,Last,State,ForwardOp >
-{
- typedef State state;
- typedef Last iterator;
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/bcc_pre590/full_lambda.hpp b/boost/mpl/aux_/preprocessed/bcc_pre590/full_lambda.hpp
deleted file mode 100644
index 8b2bf59..0000000
--- a/boost/mpl/aux_/preprocessed/bcc_pre590/full_lambda.hpp
+++ /dev/null
@@ -1,558 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// *Preprocessed* version of the main "full_lambda.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
- bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
- , bool C5 = false
- >
-struct lambda_or
- : true_
-{
-};
-
-template<>
-struct lambda_or< false,false,false,false,false >
- : false_
-{
-};
-
-} // namespace aux
-
-template<
- typename T
- , typename Tag
- , typename Arity
- >
-struct lambda
-{
- typedef false_ is_le;
- typedef T result_;
- typedef T type;
-};
-
-template<
- typename T
- >
-struct is_lambda_expression
- : lambda<T>::is_le
-{
-};
-
-template< int N, typename Tag >
-struct lambda< arg<N>,Tag, int_< -1 > >
-{
- typedef true_ is_le;
- typedef mpl::arg<N> result_; // qualified for the sake of MIPSpro 7.41
- typedef mpl::protect<result_> type;
-};
-
-template<
- typename F
- , typename Tag
- >
-struct lambda<
- bind0<F>
- , Tag
- , int_<1>
- >
-{
- typedef false_ is_le;
- typedef bind0<
- F
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1 > class F
- , typename L1
- >
-struct le_result1
-{
- typedef F<
- typename L1::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1 > class F
- , typename L1
- >
-struct le_result1< true_,Tag,F,L1 >
-{
- typedef bind1<
- quote1< F,Tag >
- , typename L1::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template< typename P1 > class F
- , typename T1
- , typename Tag
- >
-struct lambda<
- F<T1>
- , Tag
- , int_<1>
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef typename l1::is_le is_le1;
- typedef typename aux::lambda_or<
- is_le1::value
- >::type is_le;
-
- typedef aux::le_result1<
- is_le, Tag, F, l1
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1
- , typename Tag
- >
-struct lambda<
- bind1< F,T1 >
- , Tag
- , int_<2>
- >
-{
- typedef false_ is_le;
- typedef bind1<
- F
- , T1
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1, typename P2 > class F
- , typename L1, typename L2
- >
-struct le_result2
-{
- typedef F<
- typename L1::type, typename L2::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1, typename P2 > class F
- , typename L1, typename L2
- >
-struct le_result2< true_,Tag,F,L1,L2 >
-{
- typedef bind2<
- quote2< F,Tag >
- , typename L1::result_, typename L2::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template< typename P1, typename P2 > class F
- , typename T1, typename T2
- , typename Tag
- >
-struct lambda<
- F< T1,T2 >
- , Tag
- , int_<2>
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef lambda< T2,Tag > l2;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
-
-
- typedef typename aux::lambda_or<
- is_le1::value, is_le2::value
- >::type is_le;
-
- typedef aux::le_result2<
- is_le, Tag, F, l1, l2
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1, typename T2
- , typename Tag
- >
-struct lambda<
- bind2< F,T1,T2 >
- , Tag
- , int_<3>
- >
-{
- typedef false_ is_le;
- typedef bind2<
- F
- , T1, T2
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1, typename P2, typename P3 > class F
- , typename L1, typename L2, typename L3
- >
-struct le_result3
-{
- typedef F<
- typename L1::type, typename L2::type, typename L3::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1, typename P2, typename P3 > class F
- , typename L1, typename L2, typename L3
- >
-struct le_result3< true_,Tag,F,L1,L2,L3 >
-{
- typedef bind3<
- quote3< F,Tag >
- , typename L1::result_, typename L2::result_, typename L3::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template< typename P1, typename P2, typename P3 > class F
- , typename T1, typename T2, typename T3
- , typename Tag
- >
-struct lambda<
- F< T1,T2,T3 >
- , Tag
- , int_<3>
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef lambda< T2,Tag > l2;
- typedef lambda< T3,Tag > l3;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
-
-
- typedef typename aux::lambda_or<
- is_le1::value, is_le2::value, is_le3::value
- >::type is_le;
-
- typedef aux::le_result3<
- is_le, Tag, F, l1, l2, l3
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- , typename Tag
- >
-struct lambda<
- bind3< F,T1,T2,T3 >
- , Tag
- , int_<4>
- >
-{
- typedef false_ is_le;
- typedef bind3<
- F
- , T1, T2, T3
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1, typename P2, typename P3, typename P4 > class F
- , typename L1, typename L2, typename L3, typename L4
- >
-struct le_result4
-{
- typedef F<
- typename L1::type, typename L2::type, typename L3::type
- , typename L4::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1, typename P2, typename P3, typename P4 > class F
- , typename L1, typename L2, typename L3, typename L4
- >
-struct le_result4< true_,Tag,F,L1,L2,L3,L4 >
-{
- typedef bind4<
- quote4< F,Tag >
- , typename L1::result_, typename L2::result_, typename L3::result_
- , typename L4::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template< typename P1, typename P2, typename P3, typename P4 > class F
- , typename T1, typename T2, typename T3, typename T4
- , typename Tag
- >
-struct lambda<
- F< T1,T2,T3,T4 >
- , Tag
- , int_<4>
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef lambda< T2,Tag > l2;
- typedef lambda< T3,Tag > l3;
- typedef lambda< T4,Tag > l4;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
- typedef typename l4::is_le is_le4;
-
-
- typedef typename aux::lambda_or<
- is_le1::value, is_le2::value, is_le3::value, is_le4::value
- >::type is_le;
-
- typedef aux::le_result4<
- is_le, Tag, F, l1, l2, l3, l4
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename Tag
- >
-struct lambda<
- bind4< F,T1,T2,T3,T4 >
- , Tag
- , int_<5>
- >
-{
- typedef false_ is_le;
- typedef bind4<
- F
- , T1, T2, T3, T4
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
- , typename L1, typename L2, typename L3, typename L4, typename L5
- >
-struct le_result5
-{
- typedef F<
- typename L1::type, typename L2::type, typename L3::type
- , typename L4::type, typename L5::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
- , typename L1, typename L2, typename L3, typename L4, typename L5
- >
-struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 >
-{
- typedef bind5<
- quote5< F,Tag >
- , typename L1::result_, typename L2::result_, typename L3::result_
- , typename L4::result_, typename L5::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template<
- typename P1, typename P2, typename P3, typename P4
- , typename P5
- >
- class F
- , typename T1, typename T2, typename T3, typename T4, typename T5
- , typename Tag
- >
-struct lambda<
- F< T1,T2,T3,T4,T5 >
- , Tag
- , int_<5>
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef lambda< T2,Tag > l2;
- typedef lambda< T3,Tag > l3;
- typedef lambda< T4,Tag > l4;
- typedef lambda< T5,Tag > l5;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
- typedef typename l4::is_le is_le4;
- typedef typename l5::is_le is_le5;
-
-
- typedef typename aux::lambda_or<
- is_le1::value, is_le2::value, is_le3::value, is_le4::value
- , is_le5::value
- >::type is_le;
-
- typedef aux::le_result5<
- is_le, Tag, F, l1, l2, l3, l4, l5
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- , typename Tag
- >
-struct lambda<
- bind5< F,T1,T2,T3,T4,T5 >
- , Tag
- , int_<6>
- >
-{
- typedef false_ is_le;
- typedef bind5<
- F
- , T1, T2, T3, T4, T5
- > result_;
-
- typedef result_ type;
-};
-
-/// special case for 'protect'
-template< typename T, typename Tag >
-struct lambda< mpl::protect<T>,Tag, int_<1> >
-{
- typedef false_ is_le;
- typedef mpl::protect<T> result_;
- typedef result_ type;
-};
-
-/// specializations for the main 'bind' form
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- , typename Tag
- >
-struct lambda<
- bind< F,T1,T2,T3,T4,T5 >
- , Tag
- , int_<6>
- >
-{
- typedef false_ is_le;
- typedef bind< F,T1,T2,T3,T4,T5 > result_;
- typedef result_ type;
-};
-
-template<
- typename F
- , typename Tag1
- , typename Tag2
- , typename Arity
- >
-struct lambda<
- lambda< F,Tag1,Arity >
- , Tag2
- , int_<3>
- >
-{
- typedef lambda< F,Tag2 > l1;
- typedef lambda< Tag1,Tag2 > l2;
- typedef typename l1::is_le is_le;
- typedef bind1< quote1<aux::template_arity>, typename l1::result_ > arity_;
- typedef lambda< typename if_< is_le,arity_,Arity >::type, Tag2 > l3;
- typedef aux::le_result3<is_le, Tag2, mpl::lambda, l1, l2, l3> le_result_;
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 3, lambda)
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc_pre590/greater.hpp b/boost/mpl/aux_/preprocessed/bcc_pre590/greater.hpp
deleted file mode 100644
index 3d1c3dc..0000000
--- a/boost/mpl/aux_/preprocessed/bcc_pre590/greater.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "greater.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct greater_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct greater_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct greater_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct greater_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct greater_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct greater
-
- : greater_impl<
- typename greater_tag<N1>::type
- , typename greater_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct greater_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc_pre590/greater_equal.hpp b/boost/mpl/aux_/preprocessed/bcc_pre590/greater_equal.hpp
deleted file mode 100644
index fb01186..0000000
--- a/boost/mpl/aux_/preprocessed/bcc_pre590/greater_equal.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "greater_equal.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct greater_equal_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct greater_equal_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct greater_equal_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct greater_equal_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct greater_equal_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct greater_equal
-
- : greater_equal_impl<
- typename greater_equal_tag<N1>::type
- , typename greater_equal_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct greater_equal_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc_pre590/inherit.hpp b/boost/mpl/aux_/preprocessed/bcc_pre590/inherit.hpp
deleted file mode 100644
index 6adcc01..0000000
--- a/boost/mpl/aux_/preprocessed/bcc_pre590/inherit.hpp
+++ /dev/null
@@ -1,139 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// *Preprocessed* version of the main "inherit.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(T1)
- , typename BOOST_MPL_AUX_NA_PARAM(T2)
- >
-struct inherit2
- : T1, T2
-{
- typedef inherit2 type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))
-};
-
-template< typename T1 >
-struct inherit2< T1,empty_base >
-{
- typedef T1 type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base))
-};
-
-template< typename T2 >
-struct inherit2< empty_base,T2 >
-{
- typedef T2 type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2))
-};
-
-template<>
-struct inherit2< empty_base,empty_base >
-{
- typedef empty_base type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base))
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, inherit2)
-
-template<
- typename T1 = na, typename T2 = na, typename T3 = na
- >
-struct inherit3
- : inherit2<
- typename inherit2<
- T1, T2
- >::type
- , T3
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 3
- , inherit3
- , ( T1, T2, T3)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC(3, inherit3)
-
-template<
- typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
- >
-struct inherit4
- : inherit2<
- typename inherit3<
- T1, T2, T3
- >::type
- , T4
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 4
- , inherit4
- , ( T1, T2, T3, T4)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC(4, inherit4)
-
-template<
- typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
- , typename T5 = na
- >
-struct inherit5
- : inherit2<
- typename inherit4<
- T1, T2, T3, T4
- >::type
- , T5
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , inherit5
- , ( T1, T2, T3, T4, T5)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC(5, inherit5)
-
-/// primary template
-
-template<
- typename T1 = empty_base, typename T2 = empty_base
- , typename T3 = empty_base, typename T4 = empty_base
- , typename T5 = empty_base
- >
-struct inherit
- : inherit5< T1,T2,T3,T4,T5 >
-{
-};
-
-template<>
-struct inherit< na,na,na,na,na >
-{
- template<
-
- typename T1, typename T2, typename T3, typename T4, typename T5
-
- >
- struct apply
- : inherit< T1,T2,T3,T4,T5 >
- {
- };
-};
-
-BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_if_impl.hpp b/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_if_impl.hpp
deleted file mode 100644
index b767e95..0000000
--- a/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_if_impl.hpp
+++ /dev/null
@@ -1,133 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright David Abrahams 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)
-//
-
-// *Preprocessed* version of the main "iter_fold_if_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< typename Iterator, typename State >
-struct iter_fold_if_null_step
-{
- typedef State state;
- typedef Iterator iterator;
-};
-
-template< bool >
-struct iter_fold_if_step_impl
-{
- template<
- typename Iterator
- , typename State
- , typename StateOp
- , typename IteratorOp
- >
- struct result_
- {
- typedef typename apply2< StateOp,State,Iterator >::type state;
- typedef typename IteratorOp::type iterator;
- };
-};
-
-template<>
-struct iter_fold_if_step_impl<false>
-{
- template<
- typename Iterator
- , typename State
- , typename StateOp
- , typename IteratorOp
- >
- struct result_
- {
- typedef State state;
- typedef Iterator iterator;
- };
-};
-
-template<
- typename Iterator
- , typename State
- , typename ForwardOp
- , typename Predicate
- >
-struct iter_fold_if_forward_step
-{
- typedef typename apply2< Predicate,State,Iterator >::type not_last;
- typedef typename iter_fold_if_step_impl<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
- >::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_;
-
- typedef typename impl_::state state;
- typedef typename impl_::iterator iterator;
-};
-
-template<
- typename Iterator
- , typename State
- , typename BackwardOp
- , typename Predicate
- >
-struct iter_fold_if_backward_step
-{
- typedef typename apply2< Predicate,State,Iterator >::type not_last;
- typedef typename iter_fold_if_step_impl<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
- >::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_;
-
- typedef typename impl_::state state;
- typedef typename impl_::iterator iterator;
-};
-
-template<
- typename Iterator
- , typename State
- , typename ForwardOp
- , typename ForwardPredicate
- , typename BackwardOp
- , typename BackwardPredicate
- >
-struct iter_fold_if_impl
-{
- private:
- typedef iter_fold_if_null_step< Iterator,State > forward_step0;
- typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1;
- typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2;
- typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3;
- typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4;
-
-
- typedef typename if_<
- typename forward_step4::not_last
- , iter_fold_if_impl<
- typename forward_step4::iterator
- , typename forward_step4::state
- , ForwardOp
- , ForwardPredicate
- , BackwardOp
- , BackwardPredicate
- >
- , iter_fold_if_null_step<
- typename forward_step4::iterator
- , typename forward_step4::state
- >
- >::type backward_step4;
-
- typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3;
- typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2;
- typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1;
- typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0;
-
-
- public:
- typedef typename backward_step0::state state;
- typedef typename backward_step4::iterator iterator;
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_impl.hpp b/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_impl.hpp
deleted file mode 100644
index 1dd216c..0000000
--- a/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_impl.hpp
+++ /dev/null
@@ -1,180 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "iter_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
- int N
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl;
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< 0,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef state0 state;
- typedef iter0 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< 1,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
-
-
- typedef state1 state;
- typedef iter1 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< 2,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
-
-
- typedef state2 state;
- typedef iter2 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< 3,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
- typedef typename mpl::next<iter2>::type iter3;
-
-
- typedef state3 state;
- typedef iter3 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< 4,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp,state3,iter3 >::type state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef state4 state;
- typedef iter4 iterator;
-};
-
-template<
- int N
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl
-{
- typedef iter_fold_impl<
- 4
- , First
- , Last
- , State
- , ForwardOp
- > chunk_;
-
- typedef iter_fold_impl<
- ( (N - 4) < 0 ? 0 : N - 4 )
- , typename chunk_::iterator
- , Last
- , typename chunk_::state
- , ForwardOp
- > res_;
-
- typedef typename res_::state state;
- typedef typename res_::iterator iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< -1,First,Last,State,ForwardOp >
- : iter_fold_impl<
- -1
- , typename mpl::next<First>::type
- , Last
- , typename apply2< ForwardOp,State,First >::type
- , ForwardOp
- >
-{
-};
-
-template<
- typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< -1,Last,Last,State,ForwardOp >
-{
- typedef State state;
- typedef Last iterator;
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/bcc_pre590/lambda_no_ctps.hpp b/boost/mpl/aux_/preprocessed/bcc_pre590/lambda_no_ctps.hpp
deleted file mode 100644
index 75b30ce..0000000
--- a/boost/mpl/aux_/preprocessed/bcc_pre590/lambda_no_ctps.hpp
+++ /dev/null
@@ -1,229 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "lambda_no_ctps.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
- bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
- , bool C5 = false
- >
-struct lambda_or
- : true_
-{
-};
-
-template<>
-struct lambda_or< false,false,false,false,false >
- : false_
-{
-};
-
-template< typename Arity > struct lambda_impl
-{
- template< typename T, typename Tag, typename Protect > struct result_
- {
- typedef T type;
- typedef is_placeholder<T> is_le;
- };
-};
-
-template<> struct lambda_impl< int_<1> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef typename l1::is_le is_le1;
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value
- > is_le;
-
- typedef bind1<
- typename F::rebind
- , typename l1::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-template<> struct lambda_impl< int_<2> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef lambda< typename F::arg2, Tag, false_ > l2;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
-
-
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value
- > is_le;
-
- typedef bind2<
- typename F::rebind
- , typename l1::type, typename l2::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-template<> struct lambda_impl< int_<3> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef lambda< typename F::arg2, Tag, false_ > l2;
- typedef lambda< typename F::arg3, Tag, false_ > l3;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
-
-
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value
- > is_le;
-
- typedef bind3<
- typename F::rebind
- , typename l1::type, typename l2::type, typename l3::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-template<> struct lambda_impl< int_<4> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef lambda< typename F::arg2, Tag, false_ > l2;
- typedef lambda< typename F::arg3, Tag, false_ > l3;
- typedef lambda< typename F::arg4, Tag, false_ > l4;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
- typedef typename l4::is_le is_le4;
-
-
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value
- > is_le;
-
- typedef bind4<
- typename F::rebind
- , typename l1::type, typename l2::type, typename l3::type
- , typename l4::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-template<> struct lambda_impl< int_<5> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef lambda< typename F::arg2, Tag, false_ > l2;
- typedef lambda< typename F::arg3, Tag, false_ > l3;
- typedef lambda< typename F::arg4, Tag, false_ > l4;
- typedef lambda< typename F::arg5, Tag, false_ > l5;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
- typedef typename l4::is_le is_le4;
- typedef typename l5::is_le is_le5;
-
-
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value
- > is_le;
-
- typedef bind5<
- typename F::rebind
- , typename l1::type, typename l2::type, typename l3::type
- , typename l4::type, typename l5::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-} // namespace aux
-
-template<
- typename T
- , typename Tag
- , typename Protect
- >
-struct lambda
-{
- /// Metafunction forwarding confuses MSVC 6.x
- typedef typename aux::template_arity<T>::type arity_;
- typedef typename aux::lambda_impl<arity_>
- ::template result_< T,Tag,Protect > l_;
-
- typedef typename l_::type type;
- typedef typename l_::is_le is_le;
- BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))
-};
-
-BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
-
-template<
- typename T
- >
-struct is_lambda_expression
- : lambda<T>::is_le
-{
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc_pre590/less.hpp b/boost/mpl/aux_/preprocessed/bcc_pre590/less.hpp
deleted file mode 100644
index 0b6ce1d..0000000
--- a/boost/mpl/aux_/preprocessed/bcc_pre590/less.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "less.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct less_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct less_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct less_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct less_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct less_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct less
-
- : less_impl<
- typename less_tag<N1>::type
- , typename less_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct less_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc_pre590/less_equal.hpp b/boost/mpl/aux_/preprocessed/bcc_pre590/less_equal.hpp
deleted file mode 100644
index 0010e08..0000000
--- a/boost/mpl/aux_/preprocessed/bcc_pre590/less_equal.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "less_equal.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct less_equal_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct less_equal_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct less_equal_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct less_equal_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct less_equal_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct less_equal
-
- : less_equal_impl<
- typename less_equal_tag<N1>::type
- , typename less_equal_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct less_equal_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc_pre590/list.hpp b/boost/mpl/aux_/preprocessed/bcc_pre590/list.hpp
deleted file mode 100644
index cbd58ac..0000000
--- a/boost/mpl/aux_/preprocessed/bcc_pre590/list.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "list.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct list;
-
-template<
-
- >
-struct list<
- na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list0< >
-{
- typedef list0< >::type type;
-};
-
-template<
- typename T0
- >
-struct list<
- T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list1<T0>
-{
- typedef typename list1<T0>::type type;
-};
-
-template<
- typename T0, typename T1
- >
-struct list<
- T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list2< T0,T1 >
-{
- typedef typename list2< T0,T1 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct list<
- T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list3< T0,T1,T2 >
-{
- typedef typename list3< T0,T1,T2 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct list<
- T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list4< T0,T1,T2,T3 >
-{
- typedef typename list4< T0,T1,T2,T3 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct list<
- T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list5< T0,T1,T2,T3,T4 >
-{
- typedef typename list5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct list<
- T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list6< T0,T1,T2,T3,T4,T5 >
-{
- typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list7< T0,T1,T2,T3,T4,T5,T6 >
-{
- typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
- typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
- typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
- , na, na, na
- >
- : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
- typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
- , na, na, na
- >
- : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
- typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
- , na, na, na, na
- >
- : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
- typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
- , na, na, na, na
- >
- : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
- typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
- , na, na, na, na
- >
- : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
- typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
- , na, na, na, na
- >
- : list15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >
-{
- typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, na, na, na, na
- >
- : list16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15
- >
-{
- typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, na, na, na
- >
- : list17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16
- >
-{
- typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, na, na
- >
- : list18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17
- >
-{
- typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, na
- >
- : list19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18
- >
-{
- typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct list
- : list20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, T19
- >
-{
- typedef typename list20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc_pre590/list_c.hpp b/boost/mpl/aux_/preprocessed/bcc_pre590/list_c.hpp
deleted file mode 100644
index 495c3f7..0000000
--- a/boost/mpl/aux_/preprocessed/bcc_pre590/list_c.hpp
+++ /dev/null
@@ -1,328 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "list_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
- , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
- , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
- , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
- , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
- , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
- , long C18 = LONG_MAX, long C19 = LONG_MAX
- >
-struct list_c;
-
-template<
- typename T
- >
-struct list_c<
- T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list0_c<T>
-{
- typedef typename list0_c<T>::type type;
-};
-
-template<
- typename T, long C0
- >
-struct list_c<
- T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list1_c< T,C0 >
-{
- typedef typename list1_c< T,C0 >::type type;
-};
-
-template<
- typename T, long C0, long C1
- >
-struct list_c<
- T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list2_c< T,C0,C1 >
-{
- typedef typename list2_c< T,C0,C1 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2
- >
-struct list_c<
- T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list3_c< T,C0,C1,C2 >
-{
- typedef typename list3_c< T,C0,C1,C2 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3
- >
-struct list_c<
- T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list4_c< T,C0,C1,C2,C3 >
-{
- typedef typename list4_c< T,C0,C1,C2,C3 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list5_c< T,C0,C1,C2,C3,C4 >
-{
- typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list6_c< T,C0,C1,C2,C3,C4,C5 >
-{
- typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list7_c< T,C0,C1,C2,C3,C4,C5,C6 >
-{
- typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX
- >
- : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >
-{
- typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >
-{
- typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >
-{
- typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >
-{
- typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >
-{
- typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >
-{
- typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list14_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- >
-{
- typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list15_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- >
-{
- typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list16_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15
- >
-{
- typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list17_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16
- >
-{
- typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, LONG_MAX, LONG_MAX
- >
- : list18_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17
- >
-{
- typedef typename list18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18, LONG_MAX
- >
- : list19_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18
- >
-{
- typedef typename list19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
-struct list_c
- : list20_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18, C19
- >
-{
- typedef typename list20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc_pre590/map.hpp b/boost/mpl/aux_/preprocessed/bcc_pre590/map.hpp
deleted file mode 100644
index 80ef156..0000000
--- a/boost/mpl/aux_/preprocessed/bcc_pre590/map.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "map.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct map;
-
-template<
-
- >
-struct map<
- na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map0< >
-{
- typedef map0< >::type type;
-};
-
-template<
- typename T0
- >
-struct map<
- T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map1<T0>
-{
- typedef typename map1<T0>::type type;
-};
-
-template<
- typename T0, typename T1
- >
-struct map<
- T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map2< T0,T1 >
-{
- typedef typename map2< T0,T1 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct map<
- T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map3< T0,T1,T2 >
-{
- typedef typename map3< T0,T1,T2 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct map<
- T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map4< T0,T1,T2,T3 >
-{
- typedef typename map4< T0,T1,T2,T3 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct map<
- T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map5< T0,T1,T2,T3,T4 >
-{
- typedef typename map5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct map<
- T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map6< T0,T1,T2,T3,T4,T5 >
-{
- typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map7< T0,T1,T2,T3,T4,T5,T6 >
-{
- typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
- typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
- typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
- , na, na, na
- >
- : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
- typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
- , na, na, na
- >
- : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
- typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
- , na, na, na, na
- >
- : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
- typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
- , na, na, na, na
- >
- : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
- typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
- , na, na, na, na
- >
- : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
- typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
- , na, na, na, na
- >
- : map15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >
-{
- typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, na, na, na, na
- >
- : map16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15
- >
-{
- typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, na, na, na
- >
- : map17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16
- >
-{
- typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, na, na
- >
- : map18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17
- >
-{
- typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, na
- >
- : map19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18
- >
-{
- typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct map
- : map20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, T19
- >
-{
- typedef typename map20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc_pre590/minus.hpp b/boost/mpl/aux_/preprocessed/bcc_pre590/minus.hpp
deleted file mode 100644
index cfddc15..0000000
--- a/boost/mpl/aux_/preprocessed/bcc_pre590/minus.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "minus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct minus_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct minus_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct minus_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct minus_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct minus_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct minus
- : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , minus
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct minus< N1,N2,N3,N4,na >
-
- : minus< minus< minus< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , minus
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct minus< N1,N2,N3,na,na >
-
- : minus< minus< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , minus
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct minus< N1,N2,na,na,na >
- : minus_impl<
- typename minus_tag<N1>::type
- , typename minus_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , minus
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, minus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct minus_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- - BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc_pre590/modulus.hpp b/boost/mpl/aux_/preprocessed/bcc_pre590/modulus.hpp
deleted file mode 100644
index eb5eff0..0000000
--- a/boost/mpl/aux_/preprocessed/bcc_pre590/modulus.hpp
+++ /dev/null
@@ -1,101 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "modulus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct modulus_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct modulus_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct modulus_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct modulus_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct modulus_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct modulus
-
- : modulus_impl<
- typename modulus_tag<N1>::type
- , typename modulus_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct modulus_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- % BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc_pre590/not_equal_to.hpp b/boost/mpl/aux_/preprocessed/bcc_pre590/not_equal_to.hpp
deleted file mode 100644
index 68356ee..0000000
--- a/boost/mpl/aux_/preprocessed/bcc_pre590/not_equal_to.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "not_equal_to.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct not_equal_to_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct not_equal_to_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct not_equal_to_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct not_equal_to_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct not_equal_to_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct not_equal_to
-
- : not_equal_to_impl<
- typename not_equal_to_tag<N1>::type
- , typename not_equal_to_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct not_equal_to_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc_pre590/or.hpp b/boost/mpl/aux_/preprocessed/bcc_pre590/or.hpp
deleted file mode 100644
index ff7ce9f..0000000
--- a/boost/mpl/aux_/preprocessed/bcc_pre590/or.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "or.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< bool C_, typename T1, typename T2, typename T3, typename T4 >
-struct or_impl
- : true_
-{
-};
-
-template< typename T1, typename T2, typename T3, typename T4 >
-struct or_impl< false,T1,T2,T3,T4 >
- : or_impl<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
- , T2, T3, T4
- , false_
- >
-{
-};
-
-template<>
-struct or_impl<
- false
- , false_, false_, false_, false_
- >
- : false_
-{
-};
-
-} // namespace aux
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(T1)
- , typename BOOST_MPL_AUX_NA_PARAM(T2)
- , typename T3 = false_, typename T4 = false_, typename T5 = false_
- >
-struct or_
-
- : aux::or_impl<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
- , T2, T3, T4, T5
- >
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , or_
- , ( T1, T2, T3, T4, T5)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC2(
- 2
- , 5
- , or_
- )
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc_pre590/placeholders.hpp b/boost/mpl/aux_/preprocessed/bcc_pre590/placeholders.hpp
deleted file mode 100644
index b306bbb..0000000
--- a/boost/mpl/aux_/preprocessed/bcc_pre590/placeholders.hpp
+++ /dev/null
@@ -1,105 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright Peter Dimov 2001-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)
-//
-
-// *Preprocessed* version of the main "placeholders.hpp" header
-// -- DO NOT modify by hand!
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg< -1 > _;
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
-}
-
-}}
-
-/// agurt, 17/mar/02: one more placeholder for the last 'apply#'
-/// specialization
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<1> _1;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<2> _2;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<3> _3;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<4> _4;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<5> _5;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<6> _6;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;
-}
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc_pre590/plus.hpp b/boost/mpl/aux_/preprocessed/bcc_pre590/plus.hpp
deleted file mode 100644
index 82539ab..0000000
--- a/boost/mpl/aux_/preprocessed/bcc_pre590/plus.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "plus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct plus_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct plus_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct plus_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct plus_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct plus_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct plus
- : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , plus
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct plus< N1,N2,N3,N4,na >
-
- : plus< plus< plus< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , plus
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct plus< N1,N2,N3,na,na >
-
- : plus< plus< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , plus
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct plus< N1,N2,na,na,na >
- : plus_impl<
- typename plus_tag<N1>::type
- , typename plus_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , plus
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, plus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct plus_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- + BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc_pre590/quote.hpp b/boost/mpl/aux_/preprocessed/bcc_pre590/quote.hpp
deleted file mode 100644
index 7f9d18b..0000000
--- a/boost/mpl/aux_/preprocessed/bcc_pre590/quote.hpp
+++ /dev/null
@@ -1,11 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-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)
-//
-
-// *Preprocessed* version of the main "quote.hpp" header
-// -- DO NOT modify by hand!
-
diff --git a/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_fold_impl.hpp b/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_fold_impl.hpp
deleted file mode 100644
index 372f0d2..0000000
--- a/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_fold_impl.hpp
+++ /dev/null
@@ -1,295 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "reverse_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
- long N
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl;
-
-template< long N >
-struct reverse_fold_chunk;
-
-template<> struct reverse_fold_chunk<0>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef fwd_state0 bkwd_state0;
- typedef bkwd_state0 state;
- typedef iter0 iterator;
- };
-};
-
-template<> struct reverse_fold_chunk<1>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
-
-
- typedef fwd_state1 bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
- typedef bkwd_state0 state;
- typedef iter1 iterator;
- };
-};
-
-template<> struct reverse_fold_chunk<2>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
-
-
- typedef fwd_state2 bkwd_state2;
- typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter2 iterator;
- };
-};
-
-template<> struct reverse_fold_chunk<3>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
-
-
- typedef fwd_state3 bkwd_state3;
- typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
- typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter3 iterator;
- };
-};
-
-template<> struct reverse_fold_chunk<4>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef fwd_state4 bkwd_state4;
- typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;
- typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
- typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter4 iterator;
- };
-};
-
-template< long N >
-struct reverse_fold_chunk
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef reverse_fold_impl<
- ( (N - 4) < 0 ? 0 : N - 4 )
- , iter4
- , Last
- , fwd_state4
- , BackwardOp
- , ForwardOp
- > nested_chunk;
-
- typedef typename nested_chunk::state bkwd_state4;
- typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;
- typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
- typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef typename nested_chunk::iterator iterator;
- };
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_step;
-
-template<
- typename Last
- , typename State
- >
-struct reverse_fold_null_step
-{
- typedef Last iterator;
- typedef State state;
-};
-
-template<>
-struct reverse_fold_chunk< -1 >
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef typename if_<
- typename is_same< First,Last >::type
- , reverse_fold_null_step< Last,State >
- , reverse_fold_step< First,Last,State,BackwardOp,ForwardOp >
- >::type res_;
-
- typedef typename res_::state state;
- typedef typename res_::iterator iterator;
- };
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_step
-{
- typedef reverse_fold_chunk< -1 >::template result_<
- typename mpl::next<First>::type
- , Last
- , typename apply2<ForwardOp,State, typename deref<First>::type>::type
- , BackwardOp
- , ForwardOp
- > nested_step;
-
- typedef typename apply2<
- BackwardOp
- , typename nested_step::state
- , typename deref<First>::type
- >::type state;
-
- typedef typename nested_step::iterator iterator;
-};
-
-template<
- long N
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl
- : reverse_fold_chunk<N>
- ::template result_< First,Last,State,BackwardOp,ForwardOp >
-{
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_iter_fold_impl.hpp b/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_iter_fold_impl.hpp
deleted file mode 100644
index 44aadf7..0000000
--- a/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_iter_fold_impl.hpp
+++ /dev/null
@@ -1,295 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "reverse_iter_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
- long N
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl;
-
-template< long N >
-struct reverse_iter_fold_chunk;
-
-template<> struct reverse_iter_fold_chunk<0>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef fwd_state0 bkwd_state0;
- typedef bkwd_state0 state;
- typedef iter0 iterator;
- };
-};
-
-template<> struct reverse_iter_fold_chunk<1>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
-
-
- typedef fwd_state1 bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
- typedef bkwd_state0 state;
- typedef iter1 iterator;
- };
-};
-
-template<> struct reverse_iter_fold_chunk<2>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
-
-
- typedef fwd_state2 bkwd_state2;
- typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter2 iterator;
- };
-};
-
-template<> struct reverse_iter_fold_chunk<3>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
-
-
- typedef fwd_state3 bkwd_state3;
- typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
- typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter3 iterator;
- };
-};
-
-template<> struct reverse_iter_fold_chunk<4>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef fwd_state4 bkwd_state4;
- typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;
- typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
- typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter4 iterator;
- };
-};
-
-template< long N >
-struct reverse_iter_fold_chunk
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef reverse_iter_fold_impl<
- ( (N - 4) < 0 ? 0 : N - 4 )
- , iter4
- , Last
- , fwd_state4
- , BackwardOp
- , ForwardOp
- > nested_chunk;
-
- typedef typename nested_chunk::state bkwd_state4;
- typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;
- typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
- typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef typename nested_chunk::iterator iterator;
- };
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_step;
-
-template<
- typename Last
- , typename State
- >
-struct reverse_iter_fold_null_step
-{
- typedef Last iterator;
- typedef State state;
-};
-
-template<>
-struct reverse_iter_fold_chunk< -1 >
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef typename if_<
- typename is_same< First,Last >::type
- , reverse_iter_fold_null_step< Last,State >
- , reverse_iter_fold_step< First,Last,State,BackwardOp,ForwardOp >
- >::type res_;
-
- typedef typename res_::state state;
- typedef typename res_::iterator iterator;
- };
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_step
-{
- typedef reverse_iter_fold_chunk< -1 >::template result_<
- typename mpl::next<First>::type
- , Last
- , typename apply2< ForwardOp,State,First >::type
- , BackwardOp
- , ForwardOp
- > nested_step;
-
- typedef typename apply2<
- BackwardOp
- , typename nested_step::state
- , First
- >::type state;
-
- typedef typename nested_step::iterator iterator;
-};
-
-template<
- long N
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl
- : reverse_iter_fold_chunk<N>
- ::template result_< First,Last,State,BackwardOp,ForwardOp >
-{
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/bcc_pre590/set.hpp b/boost/mpl/aux_/preprocessed/bcc_pre590/set.hpp
deleted file mode 100644
index ace3a4f..0000000
--- a/boost/mpl/aux_/preprocessed/bcc_pre590/set.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "set.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct set;
-
-template<
-
- >
-struct set<
- na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set0< >
-{
- typedef set0< >::type type;
-};
-
-template<
- typename T0
- >
-struct set<
- T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set1<T0>
-{
- typedef typename set1<T0>::type type;
-};
-
-template<
- typename T0, typename T1
- >
-struct set<
- T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set2< T0,T1 >
-{
- typedef typename set2< T0,T1 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct set<
- T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set3< T0,T1,T2 >
-{
- typedef typename set3< T0,T1,T2 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct set<
- T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set4< T0,T1,T2,T3 >
-{
- typedef typename set4< T0,T1,T2,T3 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct set<
- T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set5< T0,T1,T2,T3,T4 >
-{
- typedef typename set5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct set<
- T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set6< T0,T1,T2,T3,T4,T5 >
-{
- typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set7< T0,T1,T2,T3,T4,T5,T6 >
-{
- typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
- typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
- typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
- , na, na, na
- >
- : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
- typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
- , na, na, na
- >
- : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
- typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
- , na, na, na, na
- >
- : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
- typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
- , na, na, na, na
- >
- : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
- typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
- , na, na, na, na
- >
- : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
- typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
- , na, na, na, na
- >
- : set15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >
-{
- typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, na, na, na, na
- >
- : set16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15
- >
-{
- typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, na, na, na
- >
- : set17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16
- >
-{
- typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, na, na
- >
- : set18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17
- >
-{
- typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, na
- >
- : set19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18
- >
-{
- typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct set
- : set20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, T19
- >
-{
- typedef typename set20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc_pre590/set_c.hpp b/boost/mpl/aux_/preprocessed/bcc_pre590/set_c.hpp
deleted file mode 100644
index 4e6993c..0000000
--- a/boost/mpl/aux_/preprocessed/bcc_pre590/set_c.hpp
+++ /dev/null
@@ -1,328 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "set_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
- , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
- , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
- , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
- , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
- , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
- , long C18 = LONG_MAX, long C19 = LONG_MAX
- >
-struct set_c;
-
-template<
- typename T
- >
-struct set_c<
- T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set0_c<T>
-{
- typedef typename set0_c<T>::type type;
-};
-
-template<
- typename T, long C0
- >
-struct set_c<
- T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set1_c< T,C0 >
-{
- typedef typename set1_c< T,C0 >::type type;
-};
-
-template<
- typename T, long C0, long C1
- >
-struct set_c<
- T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set2_c< T,C0,C1 >
-{
- typedef typename set2_c< T,C0,C1 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2
- >
-struct set_c<
- T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set3_c< T,C0,C1,C2 >
-{
- typedef typename set3_c< T,C0,C1,C2 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3
- >
-struct set_c<
- T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set4_c< T,C0,C1,C2,C3 >
-{
- typedef typename set4_c< T,C0,C1,C2,C3 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set5_c< T,C0,C1,C2,C3,C4 >
-{
- typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set6_c< T,C0,C1,C2,C3,C4,C5 >
-{
- typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set7_c< T,C0,C1,C2,C3,C4,C5,C6 >
-{
- typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX
- >
- : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >
-{
- typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >
-{
- typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >
-{
- typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >
-{
- typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >
-{
- typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >
-{
- typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set14_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- >
-{
- typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set15_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- >
-{
- typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set16_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15
- >
-{
- typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set17_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16
- >
-{
- typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, LONG_MAX, LONG_MAX
- >
- : set18_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17
- >
-{
- typedef typename set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18, LONG_MAX
- >
- : set19_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18
- >
-{
- typedef typename set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
-struct set_c
- : set20_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18, C19
- >
-{
- typedef typename set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc_pre590/shift_left.hpp b/boost/mpl/aux_/preprocessed/bcc_pre590/shift_left.hpp
deleted file mode 100644
index 6d19e94..0000000
--- a/boost/mpl/aux_/preprocessed/bcc_pre590/shift_left.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// *Preprocessed* version of the main "shift_left.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct shift_left_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct shift_left_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct shift_left_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct shift_left_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct shift_left_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct shift_left
-
- : shift_left_impl<
- typename shift_left_tag<N1>::type
- , typename shift_left_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct shift_left_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N, typename S > struct apply
-
- : integral_c<
- typename N::value_type
- , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
- << BOOST_MPL_AUX_VALUE_WKND(S)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc_pre590/shift_right.hpp b/boost/mpl/aux_/preprocessed/bcc_pre590/shift_right.hpp
deleted file mode 100644
index dd31d97..0000000
--- a/boost/mpl/aux_/preprocessed/bcc_pre590/shift_right.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// *Preprocessed* version of the main "shift_right.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct shift_right_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct shift_right_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct shift_right_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct shift_right_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct shift_right_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct shift_right
-
- : shift_right_impl<
- typename shift_right_tag<N1>::type
- , typename shift_right_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct shift_right_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N, typename S > struct apply
-
- : integral_c<
- typename N::value_type
- , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
- >> BOOST_MPL_AUX_VALUE_WKND(S)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc_pre590/template_arity.hpp b/boost/mpl/aux_/preprocessed/bcc_pre590/template_arity.hpp
deleted file mode 100644
index b24a0a7..0000000
--- a/boost/mpl/aux_/preprocessed/bcc_pre590/template_arity.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// *Preprocessed* version of the main "template_arity.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< bool >
-struct template_arity_impl
-{
- template< typename F > struct result_
- : mpl::int_< -1 >
- {
- };
-};
-
-template<>
-struct template_arity_impl<true>
-{
- template< typename F > struct result_
- : F::arity
- {
- };
-};
-
-template< typename F >
-struct template_arity
- : template_arity_impl< ::boost::mpl::aux::has_rebind<F>::value >
- ::template result_<F>
-{
-};
-
-}}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc_pre590/times.hpp b/boost/mpl/aux_/preprocessed/bcc_pre590/times.hpp
deleted file mode 100644
index ab100f1..0000000
--- a/boost/mpl/aux_/preprocessed/bcc_pre590/times.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "times.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct times_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct times_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct times_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct times_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct times_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct times
- : times< times< times< times< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , times
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct times< N1,N2,N3,N4,na >
-
- : times< times< times< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , times
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct times< N1,N2,N3,na,na >
-
- : times< times< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , times
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct times< N1,N2,na,na,na >
- : times_impl<
- typename times_tag<N1>::type
- , typename times_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , times
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, times)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct times_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- * BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/bcc_pre590/unpack_args.hpp b/boost/mpl/aux_/preprocessed/bcc_pre590/unpack_args.hpp
deleted file mode 100644
index f391dc1..0000000
--- a/boost/mpl/aux_/preprocessed/bcc_pre590/unpack_args.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "unpack_args.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< int size, typename F, typename Args >
-struct unpack_args_impl;
-
-template< typename F, typename Args >
-struct unpack_args_impl< 0,F,Args >
- : apply0<
- F
- >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 1,F,Args >
- : apply1<
- F
- , typename at_c< Args,0 >::type
- >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 2,F,Args >
- : apply2<
- F
- , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
- >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 3,F,Args >
- : apply3<
- F
- , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
- , typename at_c< Args,2 >::type
- >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 4,F,Args >
- : apply4<
- F
- , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
- , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
- >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 5,F,Args >
- : apply5<
- F
- , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
- , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
- , typename at_c< Args,4 >::type
- >
-{
-};
-
-}
-
-template<
- typename F
- >
-struct unpack_args
-{
- template< typename Args > struct apply
- {
- typedef typename aux::unpack_args_impl<
- size<Args>::value
- , F
- , Args
- >::type type;
-
- };
-};
-
-BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc_pre590/vector.hpp b/boost/mpl/aux_/preprocessed/bcc_pre590/vector.hpp
deleted file mode 100644
index 803e217..0000000
--- a/boost/mpl/aux_/preprocessed/bcc_pre590/vector.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// 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)
-//
-
-// *Preprocessed* version of the main "vector.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct vector;
-
-template<
-
- >
-struct vector<
- na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector0< >
-{
- typedef vector0< >::type type;
-};
-
-template<
- typename T0
- >
-struct vector<
- T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector1<T0>
-{
- typedef typename vector1<T0>::type type;
-};
-
-template<
- typename T0, typename T1
- >
-struct vector<
- T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector2< T0,T1 >
-{
- typedef typename vector2< T0,T1 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct vector<
- T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector3< T0,T1,T2 >
-{
- typedef typename vector3< T0,T1,T2 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct vector<
- T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector4< T0,T1,T2,T3 >
-{
- typedef typename vector4< T0,T1,T2,T3 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct vector<
- T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector5< T0,T1,T2,T3,T4 >
-{
- typedef typename vector5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector6< T0,T1,T2,T3,T4,T5 >
-{
- typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector7< T0,T1,T2,T3,T4,T5,T6 >
-{
- typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
- typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
- typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
- typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
- , na, na, na
- >
- : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
- typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
- , na, na, na, na
- >
- : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
- typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
- , na, na, na, na
- >
- : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
- typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
- , na, na, na, na
- >
- : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
- typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
- , na, na, na, na
- >
- : vector15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >
-{
- typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, na, na, na, na
- >
- : vector16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15
- >
-{
- typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, na, na, na
- >
- : vector17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16
- >
-{
- typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, na, na
- >
- : vector18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17
- >
-{
- typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, na
- >
- : vector19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18
- >
-{
- typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct vector
- : vector20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, T19
- >
-{
- typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/bcc_pre590/vector_c.hpp b/boost/mpl/aux_/preprocessed/bcc_pre590/vector_c.hpp
deleted file mode 100644
index 643b7fd..0000000
--- a/boost/mpl/aux_/preprocessed/bcc_pre590/vector_c.hpp
+++ /dev/null
@@ -1,309 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-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)
-//
-
-// *Preprocessed* version of the main "vector_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
- , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
- , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
- , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
- , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
- , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
- , long C18 = LONG_MAX, long C19 = LONG_MAX
- >
-struct vector_c;
-
-template<
- typename T
- >
-struct vector_c<
- T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector0_c<T>
-{
- typedef typename vector0_c<T>::type type;
-};
-
-template<
- typename T, long C0
- >
-struct vector_c<
- T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector1_c< T, T(C0) >
-{
- typedef typename vector1_c< T, T(C0) >::type type;
-};
-
-template<
- typename T, long C0, long C1
- >
-struct vector_c<
- T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector2_c< T, T(C0), T(C1) >
-{
- typedef typename vector2_c< T, T(C0), T(C1) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2
- >
-struct vector_c<
- T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector3_c< T, T(C0), T(C1), T(C2) >
-{
- typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3
- >
-struct vector_c<
- T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector4_c< T, T(C0), T(C1), T(C2), T(C3) >
-{
- typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >
-{
- typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >
-{
- typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >
-{
- typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX
- >
- : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >
-{
- typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >
-{
- typedef typename vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >
-{
- typedef typename vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >
-{
- typedef typename vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >
-{
- typedef typename vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >
-{
- typedef typename vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >
-{
- typedef typename vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >
-{
- typedef typename vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >
-{
- typedef typename vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >
-{
- typedef typename vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, LONG_MAX, LONG_MAX
- >
- : vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >
-{
- typedef typename vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18, LONG_MAX
- >
- : vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >
-{
- typedef typename vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
-struct vector_c
- : vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >
-{
- typedef typename vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/dmc/advance_backward.hpp b/boost/mpl/aux_/preprocessed/dmc/advance_backward.hpp
deleted file mode 100644
index 26de94c..0000000
--- a/boost/mpl/aux_/preprocessed/dmc/advance_backward.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< long N > struct advance_backward;
-template<>
-struct advance_backward<0>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef iter0 type;
- };
-};
-
-template<>
-struct advance_backward<1>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename prior<iter0>::type iter1;
- typedef iter1 type;
- };
-};
-
-template<>
-struct advance_backward<2>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename prior<iter0>::type iter1;
- typedef typename prior<iter1>::type iter2;
- typedef iter2 type;
- };
-};
-
-template<>
-struct advance_backward<3>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename prior<iter0>::type iter1;
- typedef typename prior<iter1>::type iter2;
- typedef typename prior<iter2>::type iter3;
- typedef iter3 type;
- };
-};
-
-template<>
-struct advance_backward<4>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename prior<iter0>::type iter1;
- typedef typename prior<iter1>::type iter2;
- typedef typename prior<iter2>::type iter3;
- typedef typename prior<iter3>::type iter4;
- typedef iter4 type;
- };
-};
-
-template< long N >
-struct advance_backward
-{
- template< typename Iterator > struct apply
- {
- typedef typename apply_wrap1<
- advance_backward<4>
- , Iterator
- >::type chunk_result_;
-
- typedef typename apply_wrap1<
- advance_backward<(
- (N - 4) < 0
- ? 0
- : N - 4
- )>
- , chunk_result_
- >::type type;
- };
-};
-
-}}}
-
diff --git a/boost/mpl/aux_/preprocessed/dmc/advance_forward.hpp b/boost/mpl/aux_/preprocessed/dmc/advance_forward.hpp
deleted file mode 100644
index b137cc7..0000000
--- a/boost/mpl/aux_/preprocessed/dmc/advance_forward.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< long N > struct advance_forward;
-template<>
-struct advance_forward<0>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef iter0 type;
- };
-};
-
-template<>
-struct advance_forward<1>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename next<iter0>::type iter1;
- typedef iter1 type;
- };
-};
-
-template<>
-struct advance_forward<2>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename next<iter0>::type iter1;
- typedef typename next<iter1>::type iter2;
- typedef iter2 type;
- };
-};
-
-template<>
-struct advance_forward<3>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename next<iter0>::type iter1;
- typedef typename next<iter1>::type iter2;
- typedef typename next<iter2>::type iter3;
- typedef iter3 type;
- };
-};
-
-template<>
-struct advance_forward<4>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename next<iter0>::type iter1;
- typedef typename next<iter1>::type iter2;
- typedef typename next<iter2>::type iter3;
- typedef typename next<iter3>::type iter4;
- typedef iter4 type;
- };
-};
-
-template< long N >
-struct advance_forward
-{
- template< typename Iterator > struct apply
- {
- typedef typename apply_wrap1<
- advance_forward<4>
- , Iterator
- >::type chunk_result_;
-
- typedef typename apply_wrap1<
- advance_forward<(
- (N - 4) < 0
- ? 0
- : N - 4
- )>
- , chunk_result_
- >::type type;
- };
-};
-
-}}}
-
diff --git a/boost/mpl/aux_/preprocessed/dmc/and.hpp b/boost/mpl/aux_/preprocessed/dmc/and.hpp
deleted file mode 100644
index 010ad1f..0000000
--- a/boost/mpl/aux_/preprocessed/dmc/and.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/and.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< bool C_, typename T1, typename T2, typename T3, typename T4 >
-struct and_impl
- : false_
-{
-};
-
-template< typename T1, typename T2, typename T3, typename T4 >
-struct and_impl< true,T1,T2,T3,T4 >
- : and_impl<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
- , T2, T3, T4
- , true_
- >
-{
-};
-
-template<>
-struct and_impl<
- true
- , true_, true_, true_, true_
- >
- : true_
-{
-};
-
-} // namespace aux
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(T1)
- , typename BOOST_MPL_AUX_NA_PARAM(T2)
- , typename T3 = true_, typename T4 = true_, typename T5 = true_
- >
-struct and_
-
- : aux::and_impl<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
- , T2, T3, T4, T5
- >
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , and_
- , ( T1, T2, T3, T4, T5)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC2(
- 2
- , 5
- , and_
- )
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/dmc/apply.hpp b/boost/mpl/aux_/preprocessed/dmc/apply.hpp
deleted file mode 100644
index e08eacc..0000000
--- a/boost/mpl/aux_/preprocessed/dmc/apply.hpp
+++ /dev/null
@@ -1,169 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/apply.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename F
- >
-struct apply0
-
- : apply_wrap0<
- typename lambda<F>::type
-
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 1
- , apply0
- , (F )
- )
-};
-
-template<
- typename F
- >
-struct apply< F,na,na,na,na,na >
- : apply0<F>
-{
-};
-
-template<
- typename F, typename T1
- >
-struct apply1
-
- : apply_wrap1<
- typename lambda<F>::type
- , T1
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 2
- , apply1
- , (F, T1)
- )
-};
-
-template<
- typename F, typename T1
- >
-struct apply< F,T1,na,na,na,na >
- : apply1< F,T1 >
-{
-};
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply2
-
- : apply_wrap2<
- typename lambda<F>::type
- , T1, T2
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 3
- , apply2
- , (F, T1, T2)
- )
-};
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply< F,T1,T2,na,na,na >
- : apply2< F,T1,T2 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply3
-
- : apply_wrap3<
- typename lambda<F>::type
- , T1, T2, T3
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 4
- , apply3
- , (F, T1, T2, T3)
- )
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply< F,T1,T2,T3,na,na >
- : apply3< F,T1,T2,T3 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply4
-
- : apply_wrap4<
- typename lambda<F>::type
- , T1, T2, T3, T4
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , apply4
- , (F, T1, T2, T3, T4)
- )
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply< F,T1,T2,T3,T4,na >
- : apply4< F,T1,T2,T3,T4 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct apply5
-
- : apply_wrap5<
- typename lambda<F>::type
- , T1, T2, T3, T4, T5
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 6
- , apply5
- , (F, T1, T2, T3, T4, T5)
- )
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct apply
- : apply5< F,T1,T2,T3,T4,T5 >
-{
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/dmc/apply_fwd.hpp b/boost/mpl/aux_/preprocessed/dmc/apply_fwd.hpp
deleted file mode 100644
index b2ed5d5..0000000
--- a/boost/mpl/aux_/preprocessed/dmc/apply_fwd.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/apply_fwd.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename F, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na
- >
-struct apply;
-
-template<
- typename F
- >
-struct apply0;
-
-template<
- typename F, typename T1
- >
-struct apply1;
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply2;
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply3;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply4;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct apply5;
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/dmc/apply_wrap.hpp b/boost/mpl/aux_/preprocessed/dmc/apply_wrap.hpp
deleted file mode 100644
index 34d51a1..0000000
--- a/boost/mpl/aux_/preprocessed/dmc/apply_wrap.hpp
+++ /dev/null
@@ -1,84 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/apply_wrap.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename F
-
- , typename has_apply_ = typename aux::has_apply<F>::type
-
- >
-struct apply_wrap0
-
- : F::template apply< >
-{
-};
-
-template< typename F >
-struct apply_wrap0< F,true_ >
- : F::apply
-{
-};
-
-template<
- typename F, typename T1
-
- >
-struct apply_wrap1
-
- : F::template apply<T1>
-{
-};
-
-template<
- typename F, typename T1, typename T2
-
- >
-struct apply_wrap2
-
- : F::template apply< T1,T2 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
-
- >
-struct apply_wrap3
-
- : F::template apply< T1,T2,T3 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
-
- >
-struct apply_wrap4
-
- : F::template apply< T1,T2,T3,T4 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
-
- >
-struct apply_wrap5
-
- : F::template apply< T1,T2,T3,T4,T5 >
-{
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/dmc/arg.hpp b/boost/mpl/aux_/preprocessed/dmc/arg.hpp
deleted file mode 100644
index 6f2f8a8..0000000
--- a/boost/mpl/aux_/preprocessed/dmc/arg.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-
-// Copyright Peter Dimov 2001-2002
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/arg.hpp" header
-// -- DO NOT modify by hand!
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-template<> struct arg< -1 >
-{
- BOOST_STATIC_CONSTANT(int, value = -1);
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U1 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<1>
-{
- BOOST_STATIC_CONSTANT(int, value = 1);
- typedef arg<2> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U1 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<2>
-{
- BOOST_STATIC_CONSTANT(int, value = 2);
- typedef arg<3> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U2 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<3>
-{
- BOOST_STATIC_CONSTANT(int, value = 3);
- typedef arg<4> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U3 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<4>
-{
- BOOST_STATIC_CONSTANT(int, value = 4);
- typedef arg<5> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U4 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<5>
-{
- BOOST_STATIC_CONSTANT(int, value = 5);
- typedef arg<6> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U5 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
diff --git a/boost/mpl/aux_/preprocessed/dmc/basic_bind.hpp b/boost/mpl/aux_/preprocessed/dmc/basic_bind.hpp
deleted file mode 100644
index 1e73429..0000000
--- a/boost/mpl/aux_/preprocessed/dmc/basic_bind.hpp
+++ /dev/null
@@ -1,406 +0,0 @@
-
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
- typename T, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg
-{
- typedef T type;
-};
-
-template<
- int N, typename U1, typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >
-{
- typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 >
-{
- typedef bind< F,T1,T2,T3,T4,T5 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-template<
- typename F, int dummy_
- >
-struct bind0
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-
- public:
- typedef typename apply_wrap0<
- f_
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg<
- bind0<F>, U1, U2, U3, U4, U5
- >
-{
- typedef bind0<F> f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
-
-template<
- typename F, int dummy_
- >
-struct bind< F,na,na,na,na,na >
- : bind0<F>
-{
-};
-
-template<
- typename F, typename T1, int dummy_
- >
-struct bind1
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-
- public:
- typedef typename apply_wrap1<
- f_
- , typename t1::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename U1, typename U2, typename U3
- , typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind1< F,T1 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind1< F,T1 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
-
-template<
- typename F, typename T1, int dummy_
- >
-struct bind< F,T1,na,na,na,na >
- : bind1< F,T1 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, int dummy_
- >
-struct bind2
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-
- public:
- typedef typename apply_wrap2<
- f_
- , typename t1::type, typename t2::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename U1, typename U2
- , typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind2< F,T1,T2 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind2< F,T1,T2 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
-
-template<
- typename F, typename T1, typename T2, int dummy_
- >
-struct bind< F,T1,T2,na,na,na >
- : bind2< F,T1,T2 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, int dummy_
- >
-struct bind3
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
- typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-
- public:
- typedef typename apply_wrap3<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename U1
- , typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind3< F,T1,T2,T3 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
-
-template<
- typename F, typename T1, typename T2, typename T3, int dummy_
- >
-struct bind< F,T1,T2,T3,na,na >
- : bind3< F,T1,T2,T3 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , int dummy_
- >
-struct bind4
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
- typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
- typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
-
- public:
- typedef typename apply_wrap4<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- , typename t4::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename U1, typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind4< F,T1,T2,T3,T4 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , int dummy_
- >
-struct bind< F,T1,T2,T3,T4,na >
- : bind4< F,T1,T2,T3,T4 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5, int dummy_
- >
-struct bind5
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
- typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
- typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
- typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5;
-
- public:
- typedef typename apply_wrap5<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- , typename t4::type, typename t5::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg<
- bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind5< F,T1,T2,T3,T4,T5 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
-
-/// primary template (not a specialization!)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5, int dummy_
- >
-struct bind
- : bind5< F,T1,T2,T3,T4,T5 >
-{
-};
-
-/// if_/eval_if specializations
-template< template< typename T1, typename T2, typename T3 > class F, typename Tag >
-struct quote3;
-
-template< typename T1, typename T2, typename T3 > struct if_;
-
-template<
- typename Tag, typename T1, typename T2, typename T3
- >
-struct bind3<
- quote3< if_,Tag >
- , T1, T2, T3
- >
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef mpl::arg<1> n1;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
- typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
- typedef typename if_<
- typename t1::type
- , t2, t3
- >::type f_;
-
- public:
- typedef typename f_::type type;
- };
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/dmc/bind.hpp b/boost/mpl/aux_/preprocessed/dmc/bind.hpp
deleted file mode 100644
index 94bfe1f..0000000
--- a/boost/mpl/aux_/preprocessed/dmc/bind.hpp
+++ /dev/null
@@ -1,515 +0,0 @@
-
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/bind.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
- typename T, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg
-{
- typedef T type;
-};
-
-template<
- typename T
- , typename Arg
- >
-struct replace_unnamed_arg
-{
- typedef Arg next;
- typedef T type;
-};
-
-template<
- typename Arg
- >
-struct replace_unnamed_arg< arg< -1 >, Arg >
-{
- typedef typename Arg::next next;
- typedef Arg type;
-};
-
-template<
- int N, typename U1, typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >
-{
- typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 >
-{
- typedef bind< F,T1,T2,T3,T4,T5 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-template<
- typename F, int dummy_
- >
-struct bind0
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- public:
- typedef typename apply_wrap0<
- f_
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg<
- bind0<F>, U1, U2, U3, U4, U5
- >
-{
- typedef bind0<F> f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
-
-template<
- typename F, int dummy_
- >
-struct bind< F,na,na,na,na,na >
- : bind0<F>
-{
-};
-
-template<
- typename F, typename T1, int dummy_
- >
-struct bind1
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- public:
- typedef typename apply_wrap1<
- f_
- , typename t1::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename U1, typename U2, typename U3
- , typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind1< F,T1 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind1< F,T1 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
-
-template<
- typename F, typename T1, int dummy_
- >
-struct bind< F,T1,na,na,na,na >
- : bind1< F,T1 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, int dummy_
- >
-struct bind2
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- public:
- typedef typename apply_wrap2<
- f_
- , typename t1::type, typename t2::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename U1, typename U2
- , typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind2< F,T1,T2 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind2< F,T1,T2 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
-
-template<
- typename F, typename T1, typename T2, int dummy_
- >
-struct bind< F,T1,T2,na,na,na >
- : bind2< F,T1,T2 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, int dummy_
- >
-struct bind3
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- typedef aux::replace_unnamed_arg< T3,n3 > r3;
- typedef typename r3::type a3;
- typedef typename r3::next n4;
- typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
- ///
- public:
- typedef typename apply_wrap3<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename U1
- , typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind3< F,T1,T2,T3 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
-
-template<
- typename F, typename T1, typename T2, typename T3, int dummy_
- >
-struct bind< F,T1,T2,T3,na,na >
- : bind3< F,T1,T2,T3 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , int dummy_
- >
-struct bind4
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- typedef aux::replace_unnamed_arg< T3,n3 > r3;
- typedef typename r3::type a3;
- typedef typename r3::next n4;
- typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
- ///
- typedef aux::replace_unnamed_arg< T4,n4 > r4;
- typedef typename r4::type a4;
- typedef typename r4::next n5;
- typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
- ///
- public:
- typedef typename apply_wrap4<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- , typename t4::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename U1, typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind4< F,T1,T2,T3,T4 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , int dummy_
- >
-struct bind< F,T1,T2,T3,T4,na >
- : bind4< F,T1,T2,T3,T4 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5, int dummy_
- >
-struct bind5
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- typedef aux::replace_unnamed_arg< T3,n3 > r3;
- typedef typename r3::type a3;
- typedef typename r3::next n4;
- typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
- ///
- typedef aux::replace_unnamed_arg< T4,n4 > r4;
- typedef typename r4::type a4;
- typedef typename r4::next n5;
- typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
- ///
- typedef aux::replace_unnamed_arg< T5,n5 > r5;
- typedef typename r5::type a5;
- typedef typename r5::next n6;
- typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5;
- ///
- public:
- typedef typename apply_wrap5<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- , typename t4::type, typename t5::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg<
- bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind5< F,T1,T2,T3,T4,T5 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
-
-/// primary template (not a specialization!)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5, int dummy_
- >
-struct bind
- : bind5< F,T1,T2,T3,T4,T5 >
-{
-};
-
-/// if_/eval_if specializations
-template< template< typename T1, typename T2, typename T3 > class F, typename Tag >
-struct quote3;
-
-template< typename T1, typename T2, typename T3 > struct if_;
-
-template<
- typename Tag, typename T1, typename T2, typename T3
- >
-struct bind3<
- quote3< if_,Tag >
- , T1, T2, T3
- >
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef mpl::arg<1> n1;
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- typedef aux::replace_unnamed_arg< T3,n3 > r3;
- typedef typename r3::type a3;
- typedef typename r3::next n4;
- typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
- ///
- typedef typename if_<
- typename t1::type
- , t2, t3
- >::type f_;
-
- public:
- typedef typename f_::type type;
- };
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/dmc/bind_fwd.hpp b/boost/mpl/aux_/preprocessed/dmc/bind_fwd.hpp
deleted file mode 100644
index 181bc77..0000000
--- a/boost/mpl/aux_/preprocessed/dmc/bind_fwd.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/bind_fwd.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename F, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, int dummy_ = 0
- >
-struct bind;
-
-template<
- typename F, int dummy_ = 0
- >
-struct bind0;
-
-template<
- typename F, typename T1, int dummy_ = 0
- >
-struct bind1;
-
-template<
- typename F, typename T1, typename T2, int dummy_ = 0
- >
-struct bind2;
-
-template<
- typename F, typename T1, typename T2, typename T3, int dummy_ = 0
- >
-struct bind3;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , int dummy_ = 0
- >
-struct bind4;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5, int dummy_ = 0
- >
-struct bind5;
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/dmc/bitand.hpp b/boost/mpl/aux_/preprocessed/dmc/bitand.hpp
deleted file mode 100644
index 0bbf54e..0000000
--- a/boost/mpl/aux_/preprocessed/dmc/bitand.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// Preprocessed version of "boost/mpl/bitand.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct bitand_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitand_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitand_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitand_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct bitand_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct bitand_
- : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , bitand_
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct bitand_< N1,N2,N3,N4,na >
-
- : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitand_
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct bitand_< N1,N2,N3,na,na >
-
- : bitand_< bitand_< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitand_
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct bitand_< N1,N2,na,na,na >
- : bitand_impl<
- typename bitand_tag<N1>::type
- , typename bitand_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitand_
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitand_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- & BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/dmc/bitor.hpp b/boost/mpl/aux_/preprocessed/dmc/bitor.hpp
deleted file mode 100644
index 55b31cb..0000000
--- a/boost/mpl/aux_/preprocessed/dmc/bitor.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// Preprocessed version of "boost/mpl/bitor.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct bitor_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitor_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitor_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitor_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct bitor_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct bitor_
- : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , bitor_
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct bitor_< N1,N2,N3,N4,na >
-
- : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitor_
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct bitor_< N1,N2,N3,na,na >
-
- : bitor_< bitor_< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitor_
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct bitor_< N1,N2,na,na,na >
- : bitor_impl<
- typename bitor_tag<N1>::type
- , typename bitor_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitor_
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitor_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- | BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/dmc/bitxor.hpp b/boost/mpl/aux_/preprocessed/dmc/bitxor.hpp
deleted file mode 100644
index ec19391..0000000
--- a/boost/mpl/aux_/preprocessed/dmc/bitxor.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// Preprocessed version of "boost/mpl/bitxor.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct bitxor_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitxor_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitxor_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitxor_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct bitxor_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct bitxor_
- : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , bitxor_
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct bitxor_< N1,N2,N3,N4,na >
-
- : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitxor_
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct bitxor_< N1,N2,N3,na,na >
-
- : bitxor_< bitxor_< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitxor_
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct bitxor_< N1,N2,na,na,na >
- : bitxor_impl<
- typename bitxor_tag<N1>::type
- , typename bitxor_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitxor_
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitxor_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/dmc/deque.hpp b/boost/mpl/aux_/preprocessed/dmc/deque.hpp
deleted file mode 100644
index de67398..0000000
--- a/boost/mpl/aux_/preprocessed/dmc/deque.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/deque.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct deque;
-
-template<
-
- >
-struct deque<
- na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector0< >
-{
- typedef vector0< >::type type;
-};
-
-template<
- typename T0
- >
-struct deque<
- T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector1<T0>
-{
- typedef typename vector1<T0>::type type;
-};
-
-template<
- typename T0, typename T1
- >
-struct deque<
- T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector2< T0,T1 >
-{
- typedef typename vector2< T0,T1 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct deque<
- T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector3< T0,T1,T2 >
-{
- typedef typename vector3< T0,T1,T2 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct deque<
- T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector4< T0,T1,T2,T3 >
-{
- typedef typename vector4< T0,T1,T2,T3 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct deque<
- T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector5< T0,T1,T2,T3,T4 >
-{
- typedef typename vector5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector6< T0,T1,T2,T3,T4,T5 >
-{
- typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector7< T0,T1,T2,T3,T4,T5,T6 >
-{
- typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
- typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
- typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
- typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
- , na, na, na
- >
- : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
- typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
- , na, na, na, na
- >
- : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
- typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
- , na, na, na, na
- >
- : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
- typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
- , na, na, na, na
- >
- : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
- typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
- , na, na, na, na
- >
- : vector15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >
-{
- typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, na, na, na, na
- >
- : vector16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15
- >
-{
- typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, na, na, na
- >
- : vector17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16
- >
-{
- typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, na, na
- >
- : vector18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17
- >
-{
- typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, na
- >
- : vector19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18
- >
-{
- typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct deque
- : vector20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, T19
- >
-{
- typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/dmc/divides.hpp b/boost/mpl/aux_/preprocessed/dmc/divides.hpp
deleted file mode 100644
index 86f1682..0000000
--- a/boost/mpl/aux_/preprocessed/dmc/divides.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/divides.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct divides_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct divides_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct divides_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct divides_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct divides_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct divides
- : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , divides
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct divides< N1,N2,N3,N4,na >
-
- : divides< divides< divides< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , divides
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct divides< N1,N2,N3,na,na >
-
- : divides< divides< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , divides
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct divides< N1,N2,na,na,na >
- : divides_impl<
- typename divides_tag<N1>::type
- , typename divides_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , divides
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, divides)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct divides_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- / BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/dmc/equal_to.hpp b/boost/mpl/aux_/preprocessed/dmc/equal_to.hpp
deleted file mode 100644
index 62c9945..0000000
--- a/boost/mpl/aux_/preprocessed/dmc/equal_to.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/equal_to.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct equal_to_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct equal_to_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct equal_to_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct equal_to_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct equal_to_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct equal_to
-
- : equal_to_impl<
- typename equal_to_tag<N1>::type
- , typename equal_to_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct equal_to_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/dmc/fold_impl.hpp b/boost/mpl/aux_/preprocessed/dmc/fold_impl.hpp
deleted file mode 100644
index 9e7a293..0000000
--- a/boost/mpl/aux_/preprocessed/dmc/fold_impl.hpp
+++ /dev/null
@@ -1,180 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
- int N
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl;
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< 0,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef state0 state;
- typedef iter0 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< 1,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
-
-
- typedef state1 state;
- typedef iter1 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< 2,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
-
-
- typedef state2 state;
- typedef iter2 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< 3,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
- typedef typename mpl::next<iter2>::type iter3;
-
-
- typedef state3 state;
- typedef iter3 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< 4,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp, state3, typename deref<iter3>::type >::type state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef state4 state;
- typedef iter4 iterator;
-};
-
-template<
- int N
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl
-{
- typedef fold_impl<
- 4
- , First
- , Last
- , State
- , ForwardOp
- > chunk_;
-
- typedef fold_impl<
- ( (N - 4) < 0 ? 0 : N - 4 )
- , typename chunk_::iterator
- , Last
- , typename chunk_::state
- , ForwardOp
- > res_;
-
- typedef typename res_::state state;
- typedef typename res_::iterator iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< -1,First,Last,State,ForwardOp >
- : fold_impl<
- -1
- , typename mpl::next<First>::type
- , Last
- , typename apply2<ForwardOp,State, typename deref<First>::type>::type
- , ForwardOp
- >
-{
-};
-
-template<
- typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< -1,Last,Last,State,ForwardOp >
-{
- typedef State state;
- typedef Last iterator;
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/dmc/full_lambda.hpp b/boost/mpl/aux_/preprocessed/dmc/full_lambda.hpp
deleted file mode 100644
index 026418c..0000000
--- a/boost/mpl/aux_/preprocessed/dmc/full_lambda.hpp
+++ /dev/null
@@ -1,536 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
- bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
- , bool C5 = false
- >
-struct lambda_or
- : true_
-{
-};
-
-template<>
-struct lambda_or< false,false,false,false,false >
- : false_
-{
-};
-
-} // namespace aux
-
-template<
- typename T
- , typename Tag
-
- >
-struct lambda
-{
- typedef false_ is_le;
- typedef T result_;
- typedef T type;
-};
-
-template<
- typename T
- >
-struct is_lambda_expression
- : lambda<T>::is_le
-{
-};
-
-template< int N, typename Tag >
-struct lambda< arg<N>, Tag >
-{
- typedef true_ is_le;
- typedef mpl::arg<N> result_; // qualified for the sake of MIPSpro 7.41
- typedef mpl::protect<result_> type;
-};
-
-template<
- typename F
- , typename Tag
- >
-struct lambda<
- bind0<F>
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind0<
- F
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1 > class F
- , typename L1
- >
-struct le_result1
-{
- typedef F<
- typename L1::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1 > class F
- , typename L1
- >
-struct le_result1< true_,Tag,F,L1 >
-{
- typedef bind1<
- quote1< F,Tag >
- , typename L1::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template< typename P1 > class F
- , typename T1
- , typename Tag
- >
-struct lambda<
- F<T1>
- , Tag
-
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef typename l1::is_le is_le1;
- typedef typename aux::lambda_or<
- is_le1::value
- >::type is_le;
-
- typedef aux::le_result1<
- is_le, Tag, F, l1
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1
- , typename Tag
- >
-struct lambda<
- bind1< F,T1 >
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind1<
- F
- , T1
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1, typename P2 > class F
- , typename L1, typename L2
- >
-struct le_result2
-{
- typedef F<
- typename L1::type, typename L2::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1, typename P2 > class F
- , typename L1, typename L2
- >
-struct le_result2< true_,Tag,F,L1,L2 >
-{
- typedef bind2<
- quote2< F,Tag >
- , typename L1::result_, typename L2::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template< typename P1, typename P2 > class F
- , typename T1, typename T2
- , typename Tag
- >
-struct lambda<
- F< T1,T2 >
- , Tag
-
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef lambda< T2,Tag > l2;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
-
-
- typedef typename aux::lambda_or<
- is_le1::value, is_le2::value
- >::type is_le;
-
- typedef aux::le_result2<
- is_le, Tag, F, l1, l2
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1, typename T2
- , typename Tag
- >
-struct lambda<
- bind2< F,T1,T2 >
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind2<
- F
- , T1, T2
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1, typename P2, typename P3 > class F
- , typename L1, typename L2, typename L3
- >
-struct le_result3
-{
- typedef F<
- typename L1::type, typename L2::type, typename L3::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1, typename P2, typename P3 > class F
- , typename L1, typename L2, typename L3
- >
-struct le_result3< true_,Tag,F,L1,L2,L3 >
-{
- typedef bind3<
- quote3< F,Tag >
- , typename L1::result_, typename L2::result_, typename L3::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template< typename P1, typename P2, typename P3 > class F
- , typename T1, typename T2, typename T3
- , typename Tag
- >
-struct lambda<
- F< T1,T2,T3 >
- , Tag
-
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef lambda< T2,Tag > l2;
- typedef lambda< T3,Tag > l3;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
-
-
- typedef typename aux::lambda_or<
- is_le1::value, is_le2::value, is_le3::value
- >::type is_le;
-
- typedef aux::le_result3<
- is_le, Tag, F, l1, l2, l3
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- , typename Tag
- >
-struct lambda<
- bind3< F,T1,T2,T3 >
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind3<
- F
- , T1, T2, T3
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1, typename P2, typename P3, typename P4 > class F
- , typename L1, typename L2, typename L3, typename L4
- >
-struct le_result4
-{
- typedef F<
- typename L1::type, typename L2::type, typename L3::type
- , typename L4::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1, typename P2, typename P3, typename P4 > class F
- , typename L1, typename L2, typename L3, typename L4
- >
-struct le_result4< true_,Tag,F,L1,L2,L3,L4 >
-{
- typedef bind4<
- quote4< F,Tag >
- , typename L1::result_, typename L2::result_, typename L3::result_
- , typename L4::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template< typename P1, typename P2, typename P3, typename P4 > class F
- , typename T1, typename T2, typename T3, typename T4
- , typename Tag
- >
-struct lambda<
- F< T1,T2,T3,T4 >
- , Tag
-
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef lambda< T2,Tag > l2;
- typedef lambda< T3,Tag > l3;
- typedef lambda< T4,Tag > l4;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
- typedef typename l4::is_le is_le4;
-
-
- typedef typename aux::lambda_or<
- is_le1::value, is_le2::value, is_le3::value, is_le4::value
- >::type is_le;
-
- typedef aux::le_result4<
- is_le, Tag, F, l1, l2, l3, l4
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename Tag
- >
-struct lambda<
- bind4< F,T1,T2,T3,T4 >
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind4<
- F
- , T1, T2, T3, T4
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
- , typename L1, typename L2, typename L3, typename L4, typename L5
- >
-struct le_result5
-{
- typedef F<
- typename L1::type, typename L2::type, typename L3::type
- , typename L4::type, typename L5::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
- , typename L1, typename L2, typename L3, typename L4, typename L5
- >
-struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 >
-{
- typedef bind5<
- quote5< F,Tag >
- , typename L1::result_, typename L2::result_, typename L3::result_
- , typename L4::result_, typename L5::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template<
- typename P1, typename P2, typename P3, typename P4
- , typename P5
- >
- class F
- , typename T1, typename T2, typename T3, typename T4, typename T5
- , typename Tag
- >
-struct lambda<
- F< T1,T2,T3,T4,T5 >
- , Tag
-
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef lambda< T2,Tag > l2;
- typedef lambda< T3,Tag > l3;
- typedef lambda< T4,Tag > l4;
- typedef lambda< T5,Tag > l5;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
- typedef typename l4::is_le is_le4;
- typedef typename l5::is_le is_le5;
-
-
- typedef typename aux::lambda_or<
- is_le1::value, is_le2::value, is_le3::value, is_le4::value
- , is_le5::value
- >::type is_le;
-
- typedef aux::le_result5<
- is_le, Tag, F, l1, l2, l3, l4, l5
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- , typename Tag
- >
-struct lambda<
- bind5< F,T1,T2,T3,T4,T5 >
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind5<
- F
- , T1, T2, T3, T4, T5
- > result_;
-
- typedef result_ type;
-};
-
-/// special case for 'protect'
-template< typename T, typename Tag >
-struct lambda< mpl::protect<T>, Tag >
-{
- typedef false_ is_le;
- typedef mpl::protect<T> result_;
- typedef result_ type;
-};
-
-/// specializations for the main 'bind' form
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- , typename Tag
- >
-struct lambda<
- bind< F,T1,T2,T3,T4,T5 >
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind< F,T1,T2,T3,T4,T5 > result_;
- typedef result_ type;
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, lambda)
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/dmc/greater.hpp b/boost/mpl/aux_/preprocessed/dmc/greater.hpp
deleted file mode 100644
index 14d8e08..0000000
--- a/boost/mpl/aux_/preprocessed/dmc/greater.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/greater.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct greater_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct greater_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct greater_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct greater_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct greater_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct greater
-
- : greater_impl<
- typename greater_tag<N1>::type
- , typename greater_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct greater_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/dmc/greater_equal.hpp b/boost/mpl/aux_/preprocessed/dmc/greater_equal.hpp
deleted file mode 100644
index 2603f91..0000000
--- a/boost/mpl/aux_/preprocessed/dmc/greater_equal.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/greater_equal.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct greater_equal_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct greater_equal_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct greater_equal_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct greater_equal_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct greater_equal_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct greater_equal
-
- : greater_equal_impl<
- typename greater_equal_tag<N1>::type
- , typename greater_equal_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct greater_equal_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/dmc/inherit.hpp b/boost/mpl/aux_/preprocessed/dmc/inherit.hpp
deleted file mode 100644
index 00f31c4..0000000
--- a/boost/mpl/aux_/preprocessed/dmc/inherit.hpp
+++ /dev/null
@@ -1,141 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/inherit.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(T1)
- , typename BOOST_MPL_AUX_NA_PARAM(T2)
- >
-struct inherit2
- : T1, T2
-{
- typedef inherit2 type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))
-};
-
-template< typename T1 >
-struct inherit2< T1,empty_base >
-{
- typedef T1 type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base))
-};
-
-template< typename T2 >
-struct inherit2< empty_base,T2 >
-{
- typedef T2 type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2))
-};
-
-template<>
-struct inherit2< empty_base,empty_base >
-{
- typedef empty_base type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base))
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, inherit2)
-
-template<
- typename T1 = na, typename T2 = na, typename T3 = na
- >
-struct inherit3
- : inherit2<
- typename inherit2<
- T1, T2
- >::type
- , T3
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 3
- , inherit3
- , ( T1, T2, T3)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC(3, inherit3)
-
-template<
- typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
- >
-struct inherit4
- : inherit2<
- typename inherit3<
- T1, T2, T3
- >::type
- , T4
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 4
- , inherit4
- , ( T1, T2, T3, T4)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC(4, inherit4)
-
-template<
- typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
- , typename T5 = na
- >
-struct inherit5
- : inherit2<
- typename inherit4<
- T1, T2, T3, T4
- >::type
- , T5
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , inherit5
- , ( T1, T2, T3, T4, T5)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC(5, inherit5)
-
-/// primary template
-
-template<
- typename T1 = empty_base, typename T2 = empty_base
- , typename T3 = empty_base, typename T4 = empty_base
- , typename T5 = empty_base
- >
-struct inherit
- : inherit5< T1,T2,T3,T4,T5 >
-{
-};
-
-template<>
-struct inherit< na,na,na,na,na >
-{
- template<
-
- typename T1 = empty_base, typename T2 = empty_base
- , typename T3 = empty_base, typename T4 = empty_base
- , typename T5 = empty_base
-
- >
- struct apply
- : inherit< T1,T2,T3,T4,T5 >
- {
- };
-};
-
-BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/dmc/iter_fold_if_impl.hpp b/boost/mpl/aux_/preprocessed/dmc/iter_fold_if_impl.hpp
deleted file mode 100644
index 6951795..0000000
--- a/boost/mpl/aux_/preprocessed/dmc/iter_fold_if_impl.hpp
+++ /dev/null
@@ -1,133 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright David Abrahams 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< typename Iterator, typename State >
-struct iter_fold_if_null_step
-{
- typedef State state;
- typedef Iterator iterator;
-};
-
-template< bool >
-struct iter_fold_if_step_impl
-{
- template<
- typename Iterator
- , typename State
- , typename StateOp
- , typename IteratorOp
- >
- struct result_
- {
- typedef typename apply2< StateOp,State,Iterator >::type state;
- typedef typename IteratorOp::type iterator;
- };
-};
-
-template<>
-struct iter_fold_if_step_impl<false>
-{
- template<
- typename Iterator
- , typename State
- , typename StateOp
- , typename IteratorOp
- >
- struct result_
- {
- typedef State state;
- typedef Iterator iterator;
- };
-};
-
-template<
- typename Iterator
- , typename State
- , typename ForwardOp
- , typename Predicate
- >
-struct iter_fold_if_forward_step
-{
- typedef typename apply2< Predicate,State,Iterator >::type not_last;
- typedef typename iter_fold_if_step_impl<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
- >::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_;
-
- typedef typename impl_::state state;
- typedef typename impl_::iterator iterator;
-};
-
-template<
- typename Iterator
- , typename State
- , typename BackwardOp
- , typename Predicate
- >
-struct iter_fold_if_backward_step
-{
- typedef typename apply2< Predicate,State,Iterator >::type not_last;
- typedef typename iter_fold_if_step_impl<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
- >::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_;
-
- typedef typename impl_::state state;
- typedef typename impl_::iterator iterator;
-};
-
-template<
- typename Iterator
- , typename State
- , typename ForwardOp
- , typename ForwardPredicate
- , typename BackwardOp
- , typename BackwardPredicate
- >
-struct iter_fold_if_impl
-{
- private:
- typedef iter_fold_if_null_step< Iterator,State > forward_step0;
- typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1;
- typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2;
- typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3;
- typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4;
-
-
- typedef typename if_<
- typename forward_step4::not_last
- , iter_fold_if_impl<
- typename forward_step4::iterator
- , typename forward_step4::state
- , ForwardOp
- , ForwardPredicate
- , BackwardOp
- , BackwardPredicate
- >
- , iter_fold_if_null_step<
- typename forward_step4::iterator
- , typename forward_step4::state
- >
- >::type backward_step4;
-
- typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3;
- typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2;
- typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1;
- typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0;
-
-
- public:
- typedef typename backward_step0::state state;
- typedef typename backward_step4::iterator iterator;
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/dmc/iter_fold_impl.hpp b/boost/mpl/aux_/preprocessed/dmc/iter_fold_impl.hpp
deleted file mode 100644
index 805790e..0000000
--- a/boost/mpl/aux_/preprocessed/dmc/iter_fold_impl.hpp
+++ /dev/null
@@ -1,180 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
- int N
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl;
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< 0,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef state0 state;
- typedef iter0 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< 1,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
-
-
- typedef state1 state;
- typedef iter1 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< 2,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
-
-
- typedef state2 state;
- typedef iter2 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< 3,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
- typedef typename mpl::next<iter2>::type iter3;
-
-
- typedef state3 state;
- typedef iter3 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< 4,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp,state3,iter3 >::type state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef state4 state;
- typedef iter4 iterator;
-};
-
-template<
- int N
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl
-{
- typedef iter_fold_impl<
- 4
- , First
- , Last
- , State
- , ForwardOp
- > chunk_;
-
- typedef iter_fold_impl<
- ( (N - 4) < 0 ? 0 : N - 4 )
- , typename chunk_::iterator
- , Last
- , typename chunk_::state
- , ForwardOp
- > res_;
-
- typedef typename res_::state state;
- typedef typename res_::iterator iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< -1,First,Last,State,ForwardOp >
- : iter_fold_impl<
- -1
- , typename mpl::next<First>::type
- , Last
- , typename apply2< ForwardOp,State,First >::type
- , ForwardOp
- >
-{
-};
-
-template<
- typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< -1,Last,Last,State,ForwardOp >
-{
- typedef State state;
- typedef Last iterator;
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/dmc/lambda_no_ctps.hpp b/boost/mpl/aux_/preprocessed/dmc/lambda_no_ctps.hpp
deleted file mode 100644
index 890a198..0000000
--- a/boost/mpl/aux_/preprocessed/dmc/lambda_no_ctps.hpp
+++ /dev/null
@@ -1,229 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
- bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
- , bool C5 = false
- >
-struct lambda_or
- : true_
-{
-};
-
-template<>
-struct lambda_or< false,false,false,false,false >
- : false_
-{
-};
-
-template< typename Arity > struct lambda_impl
-{
- template< typename T, typename Tag, typename Protect > struct result_
- {
- typedef T type;
- typedef is_placeholder<T> is_le;
- };
-};
-
-template<> struct lambda_impl< int_<1> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef typename l1::is_le is_le1;
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value
- > is_le;
-
- typedef bind1<
- typename F::rebind
- , typename l1::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-template<> struct lambda_impl< int_<2> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef lambda< typename F::arg2, Tag, false_ > l2;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
-
-
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value
- > is_le;
-
- typedef bind2<
- typename F::rebind
- , typename l1::type, typename l2::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-template<> struct lambda_impl< int_<3> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef lambda< typename F::arg2, Tag, false_ > l2;
- typedef lambda< typename F::arg3, Tag, false_ > l3;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
-
-
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value
- > is_le;
-
- typedef bind3<
- typename F::rebind
- , typename l1::type, typename l2::type, typename l3::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-template<> struct lambda_impl< int_<4> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef lambda< typename F::arg2, Tag, false_ > l2;
- typedef lambda< typename F::arg3, Tag, false_ > l3;
- typedef lambda< typename F::arg4, Tag, false_ > l4;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
- typedef typename l4::is_le is_le4;
-
-
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value
- > is_le;
-
- typedef bind4<
- typename F::rebind
- , typename l1::type, typename l2::type, typename l3::type
- , typename l4::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-template<> struct lambda_impl< int_<5> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef lambda< typename F::arg2, Tag, false_ > l2;
- typedef lambda< typename F::arg3, Tag, false_ > l3;
- typedef lambda< typename F::arg4, Tag, false_ > l4;
- typedef lambda< typename F::arg5, Tag, false_ > l5;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
- typedef typename l4::is_le is_le4;
- typedef typename l5::is_le is_le5;
-
-
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value
- > is_le;
-
- typedef bind5<
- typename F::rebind
- , typename l1::type, typename l2::type, typename l3::type
- , typename l4::type, typename l5::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-} // namespace aux
-
-template<
- typename T
- , typename Tag
- , typename Protect
- >
-struct lambda
-{
- /// Metafunction forwarding confuses MSVC 6.x
- typedef typename aux::template_arity<T>::type arity_;
- typedef typename aux::lambda_impl<arity_>
- ::template result_< T,Tag,Protect > l_;
-
- typedef typename l_::type type;
- typedef typename l_::is_le is_le;
- BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))
-};
-
-BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
-
-template<
- typename T
- >
-struct is_lambda_expression
- : lambda<T>::is_le
-{
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/dmc/less.hpp b/boost/mpl/aux_/preprocessed/dmc/less.hpp
deleted file mode 100644
index 4fe3cd1..0000000
--- a/boost/mpl/aux_/preprocessed/dmc/less.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/less.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct less_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct less_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct less_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct less_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct less_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct less
-
- : less_impl<
- typename less_tag<N1>::type
- , typename less_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct less_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/dmc/less_equal.hpp b/boost/mpl/aux_/preprocessed/dmc/less_equal.hpp
deleted file mode 100644
index ca2894f..0000000
--- a/boost/mpl/aux_/preprocessed/dmc/less_equal.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/less_equal.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct less_equal_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct less_equal_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct less_equal_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct less_equal_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct less_equal_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct less_equal
-
- : less_equal_impl<
- typename less_equal_tag<N1>::type
- , typename less_equal_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct less_equal_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/dmc/list.hpp b/boost/mpl/aux_/preprocessed/dmc/list.hpp
deleted file mode 100644
index 4e8ad53..0000000
--- a/boost/mpl/aux_/preprocessed/dmc/list.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/list.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct list;
-
-template<
-
- >
-struct list<
- na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list0< >
-{
- typedef list0< >::type type;
-};
-
-template<
- typename T0
- >
-struct list<
- T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list1<T0>
-{
- typedef typename list1<T0>::type type;
-};
-
-template<
- typename T0, typename T1
- >
-struct list<
- T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list2< T0,T1 >
-{
- typedef typename list2< T0,T1 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct list<
- T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list3< T0,T1,T2 >
-{
- typedef typename list3< T0,T1,T2 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct list<
- T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list4< T0,T1,T2,T3 >
-{
- typedef typename list4< T0,T1,T2,T3 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct list<
- T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list5< T0,T1,T2,T3,T4 >
-{
- typedef typename list5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct list<
- T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list6< T0,T1,T2,T3,T4,T5 >
-{
- typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list7< T0,T1,T2,T3,T4,T5,T6 >
-{
- typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
- typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
- typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
- , na, na, na
- >
- : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
- typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
- , na, na, na
- >
- : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
- typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
- , na, na, na, na
- >
- : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
- typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
- , na, na, na, na
- >
- : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
- typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
- , na, na, na, na
- >
- : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
- typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
- , na, na, na, na
- >
- : list15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >
-{
- typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, na, na, na, na
- >
- : list16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15
- >
-{
- typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, na, na, na
- >
- : list17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16
- >
-{
- typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, na, na
- >
- : list18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17
- >
-{
- typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, na
- >
- : list19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18
- >
-{
- typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct list
- : list20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, T19
- >
-{
- typedef typename list20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/dmc/list_c.hpp b/boost/mpl/aux_/preprocessed/dmc/list_c.hpp
deleted file mode 100644
index 0b48a7f..0000000
--- a/boost/mpl/aux_/preprocessed/dmc/list_c.hpp
+++ /dev/null
@@ -1,328 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/list_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
- , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
- , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
- , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
- , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
- , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
- , long C18 = LONG_MAX, long C19 = LONG_MAX
- >
-struct list_c;
-
-template<
- typename T
- >
-struct list_c<
- T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list0_c<T>
-{
- typedef typename list0_c<T>::type type;
-};
-
-template<
- typename T, long C0
- >
-struct list_c<
- T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list1_c< T,C0 >
-{
- typedef typename list1_c< T,C0 >::type type;
-};
-
-template<
- typename T, long C0, long C1
- >
-struct list_c<
- T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list2_c< T,C0,C1 >
-{
- typedef typename list2_c< T,C0,C1 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2
- >
-struct list_c<
- T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list3_c< T,C0,C1,C2 >
-{
- typedef typename list3_c< T,C0,C1,C2 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3
- >
-struct list_c<
- T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list4_c< T,C0,C1,C2,C3 >
-{
- typedef typename list4_c< T,C0,C1,C2,C3 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list5_c< T,C0,C1,C2,C3,C4 >
-{
- typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list6_c< T,C0,C1,C2,C3,C4,C5 >
-{
- typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list7_c< T,C0,C1,C2,C3,C4,C5,C6 >
-{
- typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX
- >
- : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >
-{
- typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >
-{
- typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >
-{
- typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >
-{
- typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >
-{
- typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >
-{
- typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list14_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- >
-{
- typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list15_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- >
-{
- typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list16_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15
- >
-{
- typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list17_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16
- >
-{
- typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, LONG_MAX, LONG_MAX
- >
- : list18_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17
- >
-{
- typedef typename list18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18, LONG_MAX
- >
- : list19_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18
- >
-{
- typedef typename list19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
-struct list_c
- : list20_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18, C19
- >
-{
- typedef typename list20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/dmc/map.hpp b/boost/mpl/aux_/preprocessed/dmc/map.hpp
deleted file mode 100644
index 837e013..0000000
--- a/boost/mpl/aux_/preprocessed/dmc/map.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/map.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct map;
-
-template<
-
- >
-struct map<
- na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map0< >
-{
- typedef map0< >::type type;
-};
-
-template<
- typename T0
- >
-struct map<
- T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map1<T0>
-{
- typedef typename map1<T0>::type type;
-};
-
-template<
- typename T0, typename T1
- >
-struct map<
- T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map2< T0,T1 >
-{
- typedef typename map2< T0,T1 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct map<
- T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map3< T0,T1,T2 >
-{
- typedef typename map3< T0,T1,T2 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct map<
- T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map4< T0,T1,T2,T3 >
-{
- typedef typename map4< T0,T1,T2,T3 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct map<
- T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map5< T0,T1,T2,T3,T4 >
-{
- typedef typename map5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct map<
- T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map6< T0,T1,T2,T3,T4,T5 >
-{
- typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map7< T0,T1,T2,T3,T4,T5,T6 >
-{
- typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
- typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
- typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
- , na, na, na
- >
- : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
- typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
- , na, na, na
- >
- : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
- typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
- , na, na, na, na
- >
- : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
- typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
- , na, na, na, na
- >
- : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
- typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
- , na, na, na, na
- >
- : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
- typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
- , na, na, na, na
- >
- : map15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >
-{
- typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, na, na, na, na
- >
- : map16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15
- >
-{
- typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, na, na, na
- >
- : map17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16
- >
-{
- typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, na, na
- >
- : map18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17
- >
-{
- typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, na
- >
- : map19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18
- >
-{
- typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct map
- : map20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, T19
- >
-{
- typedef typename map20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/dmc/minus.hpp b/boost/mpl/aux_/preprocessed/dmc/minus.hpp
deleted file mode 100644
index 71d4913..0000000
--- a/boost/mpl/aux_/preprocessed/dmc/minus.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/minus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct minus_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct minus_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct minus_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct minus_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct minus_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct minus
- : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , minus
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct minus< N1,N2,N3,N4,na >
-
- : minus< minus< minus< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , minus
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct minus< N1,N2,N3,na,na >
-
- : minus< minus< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , minus
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct minus< N1,N2,na,na,na >
- : minus_impl<
- typename minus_tag<N1>::type
- , typename minus_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , minus
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, minus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct minus_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- - BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/dmc/modulus.hpp b/boost/mpl/aux_/preprocessed/dmc/modulus.hpp
deleted file mode 100644
index 224b349..0000000
--- a/boost/mpl/aux_/preprocessed/dmc/modulus.hpp
+++ /dev/null
@@ -1,101 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/modulus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct modulus_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct modulus_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct modulus_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct modulus_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct modulus_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct modulus
-
- : modulus_impl<
- typename modulus_tag<N1>::type
- , typename modulus_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct modulus_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- % BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/dmc/not_equal_to.hpp b/boost/mpl/aux_/preprocessed/dmc/not_equal_to.hpp
deleted file mode 100644
index 98b21b1..0000000
--- a/boost/mpl/aux_/preprocessed/dmc/not_equal_to.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/not_equal_to.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct not_equal_to_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct not_equal_to_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct not_equal_to_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct not_equal_to_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct not_equal_to_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct not_equal_to
-
- : not_equal_to_impl<
- typename not_equal_to_tag<N1>::type
- , typename not_equal_to_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct not_equal_to_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/dmc/or.hpp b/boost/mpl/aux_/preprocessed/dmc/or.hpp
deleted file mode 100644
index 31e1aaa..0000000
--- a/boost/mpl/aux_/preprocessed/dmc/or.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/or.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< bool C_, typename T1, typename T2, typename T3, typename T4 >
-struct or_impl
- : true_
-{
-};
-
-template< typename T1, typename T2, typename T3, typename T4 >
-struct or_impl< false,T1,T2,T3,T4 >
- : or_impl<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
- , T2, T3, T4
- , false_
- >
-{
-};
-
-template<>
-struct or_impl<
- false
- , false_, false_, false_, false_
- >
- : false_
-{
-};
-
-} // namespace aux
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(T1)
- , typename BOOST_MPL_AUX_NA_PARAM(T2)
- , typename T3 = false_, typename T4 = false_, typename T5 = false_
- >
-struct or_
-
- : aux::or_impl<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
- , T2, T3, T4, T5
- >
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , or_
- , ( T1, T2, T3, T4, T5)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC2(
- 2
- , 5
- , or_
- )
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/dmc/placeholders.hpp b/boost/mpl/aux_/preprocessed/dmc/placeholders.hpp
deleted file mode 100644
index ff97364..0000000
--- a/boost/mpl/aux_/preprocessed/dmc/placeholders.hpp
+++ /dev/null
@@ -1,105 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright Peter Dimov 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/placeholders.hpp" header
-// -- DO NOT modify by hand!
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg< -1 > _;
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
-}
-
-}}
-
-/// agurt, 17/mar/02: one more placeholder for the last 'apply#'
-/// specialization
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<1> _1;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<2> _2;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<3> _3;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<4> _4;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<5> _5;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<6> _6;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;
-}
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/dmc/plus.hpp b/boost/mpl/aux_/preprocessed/dmc/plus.hpp
deleted file mode 100644
index a9f6ee7..0000000
--- a/boost/mpl/aux_/preprocessed/dmc/plus.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/plus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct plus_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct plus_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct plus_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct plus_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct plus_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct plus
- : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , plus
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct plus< N1,N2,N3,N4,na >
-
- : plus< plus< plus< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , plus
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct plus< N1,N2,N3,na,na >
-
- : plus< plus< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , plus
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct plus< N1,N2,na,na,na >
- : plus_impl<
- typename plus_tag<N1>::type
- , typename plus_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , plus
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, plus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct plus_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- + BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/dmc/quote.hpp b/boost/mpl/aux_/preprocessed/dmc/quote.hpp
deleted file mode 100644
index d7d0420..0000000
--- a/boost/mpl/aux_/preprocessed/dmc/quote.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/quote.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template< typename T, bool has_type_ >
-struct quote_impl
- : T
-{
-};
-
-template< typename T >
-struct quote_impl< T,false >
-{
- typedef T type;
-};
-
-template<
- template< typename P1 > class F
- , typename Tag = void_
- >
-struct quote1
-{
- template< typename U1 > struct apply
-
- : quote_impl<
- F<U1>
- , aux::has_type< F<U1> >::value
- >
-
- {
- };
-};
-
-template<
- template< typename P1, typename P2 > class F
- , typename Tag = void_
- >
-struct quote2
-{
- template< typename U1, typename U2 > struct apply
-
- : quote_impl<
- F< U1,U2 >
- , aux::has_type< F< U1,U2 > >::value
- >
-
- {
- };
-};
-
-template<
- template< typename P1, typename P2, typename P3 > class F
- , typename Tag = void_
- >
-struct quote3
-{
- template< typename U1, typename U2, typename U3 > struct apply
-
- : quote_impl<
- F< U1,U2,U3 >
- , aux::has_type< F< U1,U2,U3 > >::value
- >
-
- {
- };
-};
-
-template<
- template< typename P1, typename P2, typename P3, typename P4 > class F
- , typename Tag = void_
- >
-struct quote4
-{
- template<
- typename U1, typename U2, typename U3, typename U4
- >
- struct apply
-
- : quote_impl<
- F< U1,U2,U3,U4 >
- , aux::has_type< F< U1,U2,U3,U4 > >::value
- >
-
- {
- };
-};
-
-template<
- template<
- typename P1, typename P2, typename P3, typename P4
- , typename P5
- >
- class F
- , typename Tag = void_
- >
-struct quote5
-{
- template<
- typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
- struct apply
-
- : quote_impl<
- F< U1,U2,U3,U4,U5 >
- , aux::has_type< F< U1,U2,U3,U4,U5 > >::value
- >
-
- {
- };
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/dmc/reverse_fold_impl.hpp b/boost/mpl/aux_/preprocessed/dmc/reverse_fold_impl.hpp
deleted file mode 100644
index c468684..0000000
--- a/boost/mpl/aux_/preprocessed/dmc/reverse_fold_impl.hpp
+++ /dev/null
@@ -1,231 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
- long N
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl;
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef fwd_state0 bkwd_state0;
- typedef bkwd_state0 state;
- typedef iter0 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
-
-
- typedef fwd_state1 bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
- typedef bkwd_state0 state;
- typedef iter1 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
-
-
- typedef fwd_state2 bkwd_state2;
- typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter2 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
-
-
- typedef fwd_state3 bkwd_state3;
- typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
- typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter3 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef fwd_state4 bkwd_state4;
- typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;
- typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
- typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter4 iterator;
-};
-
-template<
- long N
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef reverse_fold_impl<
- ( (N - 4) < 0 ? 0 : N - 4 )
- , iter4
- , Last
- , fwd_state4
- , BackwardOp
- , ForwardOp
- > nested_chunk;
-
- typedef typename nested_chunk::state bkwd_state4;
- typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;
- typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
- typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef typename nested_chunk::iterator iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef reverse_fold_impl<
- -1
- , typename mpl::next<First>::type
- , Last
- , typename apply2<ForwardOp,State, typename deref<First>::type>::type
- , BackwardOp
- , ForwardOp
- > nested_step;
-
- typedef typename apply2<
- BackwardOp
- , typename nested_step::state
- , typename deref<First>::type
- >::type state;
-
- typedef typename nested_step::iterator iterator;
-};
-
-template<
- typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp >
-{
- typedef State state;
- typedef Last iterator;
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/dmc/reverse_iter_fold_impl.hpp b/boost/mpl/aux_/preprocessed/dmc/reverse_iter_fold_impl.hpp
deleted file mode 100644
index 658f92a..0000000
--- a/boost/mpl/aux_/preprocessed/dmc/reverse_iter_fold_impl.hpp
+++ /dev/null
@@ -1,231 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
- long N
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl;
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef fwd_state0 bkwd_state0;
- typedef bkwd_state0 state;
- typedef iter0 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
-
-
- typedef fwd_state1 bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
- typedef bkwd_state0 state;
- typedef iter1 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
-
-
- typedef fwd_state2 bkwd_state2;
- typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter2 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
-
-
- typedef fwd_state3 bkwd_state3;
- typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
- typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter3 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef fwd_state4 bkwd_state4;
- typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;
- typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
- typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter4 iterator;
-};
-
-template<
- long N
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef reverse_iter_fold_impl<
- ( (N - 4) < 0 ? 0 : N - 4 )
- , iter4
- , Last
- , fwd_state4
- , BackwardOp
- , ForwardOp
- > nested_chunk;
-
- typedef typename nested_chunk::state bkwd_state4;
- typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;
- typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
- typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef typename nested_chunk::iterator iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef reverse_iter_fold_impl<
- -1
- , typename mpl::next<First>::type
- , Last
- , typename apply2< ForwardOp,State,First >::type
- , BackwardOp
- , ForwardOp
- > nested_step;
-
- typedef typename apply2<
- BackwardOp
- , typename nested_step::state
- , First
- >::type state;
-
- typedef typename nested_step::iterator iterator;
-};
-
-template<
- typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp >
-{
- typedef State state;
- typedef Last iterator;
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/dmc/set.hpp b/boost/mpl/aux_/preprocessed/dmc/set.hpp
deleted file mode 100644
index 5721922..0000000
--- a/boost/mpl/aux_/preprocessed/dmc/set.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/set.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct set;
-
-template<
-
- >
-struct set<
- na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set0< >
-{
- typedef set0< >::type type;
-};
-
-template<
- typename T0
- >
-struct set<
- T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set1<T0>
-{
- typedef typename set1<T0>::type type;
-};
-
-template<
- typename T0, typename T1
- >
-struct set<
- T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set2< T0,T1 >
-{
- typedef typename set2< T0,T1 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct set<
- T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set3< T0,T1,T2 >
-{
- typedef typename set3< T0,T1,T2 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct set<
- T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set4< T0,T1,T2,T3 >
-{
- typedef typename set4< T0,T1,T2,T3 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct set<
- T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set5< T0,T1,T2,T3,T4 >
-{
- typedef typename set5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct set<
- T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set6< T0,T1,T2,T3,T4,T5 >
-{
- typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set7< T0,T1,T2,T3,T4,T5,T6 >
-{
- typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
- typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
- typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
- , na, na, na
- >
- : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
- typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
- , na, na, na
- >
- : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
- typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
- , na, na, na, na
- >
- : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
- typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
- , na, na, na, na
- >
- : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
- typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
- , na, na, na, na
- >
- : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
- typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
- , na, na, na, na
- >
- : set15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >
-{
- typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, na, na, na, na
- >
- : set16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15
- >
-{
- typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, na, na, na
- >
- : set17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16
- >
-{
- typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, na, na
- >
- : set18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17
- >
-{
- typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, na
- >
- : set19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18
- >
-{
- typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct set
- : set20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, T19
- >
-{
- typedef typename set20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/dmc/set_c.hpp b/boost/mpl/aux_/preprocessed/dmc/set_c.hpp
deleted file mode 100644
index cbeb932..0000000
--- a/boost/mpl/aux_/preprocessed/dmc/set_c.hpp
+++ /dev/null
@@ -1,328 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/set_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
- , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
- , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
- , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
- , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
- , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
- , long C18 = LONG_MAX, long C19 = LONG_MAX
- >
-struct set_c;
-
-template<
- typename T
- >
-struct set_c<
- T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set0_c<T>
-{
- typedef typename set0_c<T>::type type;
-};
-
-template<
- typename T, long C0
- >
-struct set_c<
- T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set1_c< T,C0 >
-{
- typedef typename set1_c< T,C0 >::type type;
-};
-
-template<
- typename T, long C0, long C1
- >
-struct set_c<
- T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set2_c< T,C0,C1 >
-{
- typedef typename set2_c< T,C0,C1 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2
- >
-struct set_c<
- T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set3_c< T,C0,C1,C2 >
-{
- typedef typename set3_c< T,C0,C1,C2 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3
- >
-struct set_c<
- T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set4_c< T,C0,C1,C2,C3 >
-{
- typedef typename set4_c< T,C0,C1,C2,C3 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set5_c< T,C0,C1,C2,C3,C4 >
-{
- typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set6_c< T,C0,C1,C2,C3,C4,C5 >
-{
- typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set7_c< T,C0,C1,C2,C3,C4,C5,C6 >
-{
- typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX
- >
- : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >
-{
- typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >
-{
- typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >
-{
- typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >
-{
- typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >
-{
- typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >
-{
- typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set14_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- >
-{
- typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set15_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- >
-{
- typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set16_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15
- >
-{
- typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set17_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16
- >
-{
- typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, LONG_MAX, LONG_MAX
- >
- : set18_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17
- >
-{
- typedef typename set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18, LONG_MAX
- >
- : set19_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18
- >
-{
- typedef typename set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
-struct set_c
- : set20_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18, C19
- >
-{
- typedef typename set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/dmc/shift_left.hpp b/boost/mpl/aux_/preprocessed/dmc/shift_left.hpp
deleted file mode 100644
index b5b181c..0000000
--- a/boost/mpl/aux_/preprocessed/dmc/shift_left.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// Preprocessed version of "boost/mpl/shift_left.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct shift_left_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct shift_left_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct shift_left_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct shift_left_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct shift_left_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct shift_left
-
- : shift_left_impl<
- typename shift_left_tag<N1>::type
- , typename shift_left_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct shift_left_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N, typename S > struct apply
-
- : integral_c<
- typename N::value_type
- , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
- << BOOST_MPL_AUX_VALUE_WKND(S)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/dmc/shift_right.hpp b/boost/mpl/aux_/preprocessed/dmc/shift_right.hpp
deleted file mode 100644
index f7a342e..0000000
--- a/boost/mpl/aux_/preprocessed/dmc/shift_right.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// Preprocessed version of "boost/mpl/shift_right.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct shift_right_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct shift_right_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct shift_right_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct shift_right_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct shift_right_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct shift_right
-
- : shift_right_impl<
- typename shift_right_tag<N1>::type
- , typename shift_right_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct shift_right_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N, typename S > struct apply
-
- : integral_c<
- typename N::value_type
- , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
- >> BOOST_MPL_AUX_VALUE_WKND(S)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/dmc/template_arity.hpp b/boost/mpl/aux_/preprocessed/dmc/template_arity.hpp
deleted file mode 100644
index a23fc23..0000000
--- a/boost/mpl/aux_/preprocessed/dmc/template_arity.hpp
+++ /dev/null
@@ -1,11 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header
-// -- DO NOT modify by hand!
-
diff --git a/boost/mpl/aux_/preprocessed/dmc/times.hpp b/boost/mpl/aux_/preprocessed/dmc/times.hpp
deleted file mode 100644
index cb97cc4..0000000
--- a/boost/mpl/aux_/preprocessed/dmc/times.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/times.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct times_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct times_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct times_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct times_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct times_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct times
- : times< times< times< times< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , times
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct times< N1,N2,N3,N4,na >
-
- : times< times< times< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , times
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct times< N1,N2,N3,na,na >
-
- : times< times< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , times
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct times< N1,N2,na,na,na >
- : times_impl<
- typename times_tag<N1>::type
- , typename times_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , times
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, times)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct times_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- * BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/dmc/unpack_args.hpp b/boost/mpl/aux_/preprocessed/dmc/unpack_args.hpp
deleted file mode 100644
index 2194ce9..0000000
--- a/boost/mpl/aux_/preprocessed/dmc/unpack_args.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/unpack_args.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< int size, typename F, typename Args >
-struct unpack_args_impl;
-
-template< typename F, typename Args >
-struct unpack_args_impl< 0,F,Args >
- : apply0<
- F
- >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 1,F,Args >
- : apply1<
- F
- , typename at_c< Args,0 >::type
- >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 2,F,Args >
- : apply2<
- F
- , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
- >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 3,F,Args >
- : apply3<
- F
- , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
- , typename at_c< Args,2 >::type
- >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 4,F,Args >
- : apply4<
- F
- , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
- , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
- >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 5,F,Args >
- : apply5<
- F
- , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
- , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
- , typename at_c< Args,4 >::type
- >
-{
-};
-
-}
-
-template<
- typename F
- >
-struct unpack_args
-{
- template< typename Args > struct apply
-
- : aux::unpack_args_impl< size<Args>::value,F, Args >
-
- {
- };
-};
-
-BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/dmc/vector.hpp b/boost/mpl/aux_/preprocessed/dmc/vector.hpp
deleted file mode 100644
index bfa9565..0000000
--- a/boost/mpl/aux_/preprocessed/dmc/vector.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/vector.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct vector;
-
-template<
-
- >
-struct vector<
- na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector0< >
-{
- typedef vector0< >::type type;
-};
-
-template<
- typename T0
- >
-struct vector<
- T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector1<T0>
-{
- typedef typename vector1<T0>::type type;
-};
-
-template<
- typename T0, typename T1
- >
-struct vector<
- T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector2< T0,T1 >
-{
- typedef typename vector2< T0,T1 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct vector<
- T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector3< T0,T1,T2 >
-{
- typedef typename vector3< T0,T1,T2 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct vector<
- T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector4< T0,T1,T2,T3 >
-{
- typedef typename vector4< T0,T1,T2,T3 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct vector<
- T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector5< T0,T1,T2,T3,T4 >
-{
- typedef typename vector5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector6< T0,T1,T2,T3,T4,T5 >
-{
- typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector7< T0,T1,T2,T3,T4,T5,T6 >
-{
- typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
- typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
- typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
- typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
- , na, na, na
- >
- : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
- typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
- , na, na, na, na
- >
- : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
- typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
- , na, na, na, na
- >
- : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
- typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
- , na, na, na, na
- >
- : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
- typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
- , na, na, na, na
- >
- : vector15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >
-{
- typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, na, na, na, na
- >
- : vector16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15
- >
-{
- typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, na, na, na
- >
- : vector17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16
- >
-{
- typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, na, na
- >
- : vector18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17
- >
-{
- typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, na
- >
- : vector19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18
- >
-{
- typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct vector
- : vector20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, T19
- >
-{
- typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/dmc/vector_c.hpp b/boost/mpl/aux_/preprocessed/dmc/vector_c.hpp
deleted file mode 100644
index 0f1560d..0000000
--- a/boost/mpl/aux_/preprocessed/dmc/vector_c.hpp
+++ /dev/null
@@ -1,309 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/vector_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
- , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
- , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
- , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
- , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
- , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
- , long C18 = LONG_MAX, long C19 = LONG_MAX
- >
-struct vector_c;
-
-template<
- typename T
- >
-struct vector_c<
- T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector0_c<T>
-{
- typedef typename vector0_c<T>::type type;
-};
-
-template<
- typename T, long C0
- >
-struct vector_c<
- T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector1_c< T, T(C0) >
-{
- typedef typename vector1_c< T, T(C0) >::type type;
-};
-
-template<
- typename T, long C0, long C1
- >
-struct vector_c<
- T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector2_c< T, T(C0), T(C1) >
-{
- typedef typename vector2_c< T, T(C0), T(C1) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2
- >
-struct vector_c<
- T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector3_c< T, T(C0), T(C1), T(C2) >
-{
- typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3
- >
-struct vector_c<
- T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector4_c< T, T(C0), T(C1), T(C2), T(C3) >
-{
- typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >
-{
- typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >
-{
- typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >
-{
- typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX
- >
- : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >
-{
- typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >
-{
- typedef typename vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >
-{
- typedef typename vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >
-{
- typedef typename vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >
-{
- typedef typename vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >
-{
- typedef typename vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >
-{
- typedef typename vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >
-{
- typedef typename vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >
-{
- typedef typename vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >
-{
- typedef typename vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, LONG_MAX, LONG_MAX
- >
- : vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >
-{
- typedef typename vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18, LONG_MAX
- >
- : vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >
-{
- typedef typename vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
-struct vector_c
- : vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >
-{
- typedef typename vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/gcc/advance_backward.hpp b/boost/mpl/aux_/preprocessed/gcc/advance_backward.hpp
deleted file mode 100644
index 26de94c..0000000
--- a/boost/mpl/aux_/preprocessed/gcc/advance_backward.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< long N > struct advance_backward;
-template<>
-struct advance_backward<0>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef iter0 type;
- };
-};
-
-template<>
-struct advance_backward<1>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename prior<iter0>::type iter1;
- typedef iter1 type;
- };
-};
-
-template<>
-struct advance_backward<2>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename prior<iter0>::type iter1;
- typedef typename prior<iter1>::type iter2;
- typedef iter2 type;
- };
-};
-
-template<>
-struct advance_backward<3>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename prior<iter0>::type iter1;
- typedef typename prior<iter1>::type iter2;
- typedef typename prior<iter2>::type iter3;
- typedef iter3 type;
- };
-};
-
-template<>
-struct advance_backward<4>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename prior<iter0>::type iter1;
- typedef typename prior<iter1>::type iter2;
- typedef typename prior<iter2>::type iter3;
- typedef typename prior<iter3>::type iter4;
- typedef iter4 type;
- };
-};
-
-template< long N >
-struct advance_backward
-{
- template< typename Iterator > struct apply
- {
- typedef typename apply_wrap1<
- advance_backward<4>
- , Iterator
- >::type chunk_result_;
-
- typedef typename apply_wrap1<
- advance_backward<(
- (N - 4) < 0
- ? 0
- : N - 4
- )>
- , chunk_result_
- >::type type;
- };
-};
-
-}}}
-
diff --git a/boost/mpl/aux_/preprocessed/gcc/advance_forward.hpp b/boost/mpl/aux_/preprocessed/gcc/advance_forward.hpp
deleted file mode 100644
index b137cc7..0000000
--- a/boost/mpl/aux_/preprocessed/gcc/advance_forward.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< long N > struct advance_forward;
-template<>
-struct advance_forward<0>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef iter0 type;
- };
-};
-
-template<>
-struct advance_forward<1>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename next<iter0>::type iter1;
- typedef iter1 type;
- };
-};
-
-template<>
-struct advance_forward<2>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename next<iter0>::type iter1;
- typedef typename next<iter1>::type iter2;
- typedef iter2 type;
- };
-};
-
-template<>
-struct advance_forward<3>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename next<iter0>::type iter1;
- typedef typename next<iter1>::type iter2;
- typedef typename next<iter2>::type iter3;
- typedef iter3 type;
- };
-};
-
-template<>
-struct advance_forward<4>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename next<iter0>::type iter1;
- typedef typename next<iter1>::type iter2;
- typedef typename next<iter2>::type iter3;
- typedef typename next<iter3>::type iter4;
- typedef iter4 type;
- };
-};
-
-template< long N >
-struct advance_forward
-{
- template< typename Iterator > struct apply
- {
- typedef typename apply_wrap1<
- advance_forward<4>
- , Iterator
- >::type chunk_result_;
-
- typedef typename apply_wrap1<
- advance_forward<(
- (N - 4) < 0
- ? 0
- : N - 4
- )>
- , chunk_result_
- >::type type;
- };
-};
-
-}}}
-
diff --git a/boost/mpl/aux_/preprocessed/gcc/and.hpp b/boost/mpl/aux_/preprocessed/gcc/and.hpp
deleted file mode 100644
index 010ad1f..0000000
--- a/boost/mpl/aux_/preprocessed/gcc/and.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/and.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< bool C_, typename T1, typename T2, typename T3, typename T4 >
-struct and_impl
- : false_
-{
-};
-
-template< typename T1, typename T2, typename T3, typename T4 >
-struct and_impl< true,T1,T2,T3,T4 >
- : and_impl<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
- , T2, T3, T4
- , true_
- >
-{
-};
-
-template<>
-struct and_impl<
- true
- , true_, true_, true_, true_
- >
- : true_
-{
-};
-
-} // namespace aux
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(T1)
- , typename BOOST_MPL_AUX_NA_PARAM(T2)
- , typename T3 = true_, typename T4 = true_, typename T5 = true_
- >
-struct and_
-
- : aux::and_impl<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
- , T2, T3, T4, T5
- >
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , and_
- , ( T1, T2, T3, T4, T5)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC2(
- 2
- , 5
- , and_
- )
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/gcc/apply.hpp b/boost/mpl/aux_/preprocessed/gcc/apply.hpp
deleted file mode 100644
index e08eacc..0000000
--- a/boost/mpl/aux_/preprocessed/gcc/apply.hpp
+++ /dev/null
@@ -1,169 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/apply.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename F
- >
-struct apply0
-
- : apply_wrap0<
- typename lambda<F>::type
-
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 1
- , apply0
- , (F )
- )
-};
-
-template<
- typename F
- >
-struct apply< F,na,na,na,na,na >
- : apply0<F>
-{
-};
-
-template<
- typename F, typename T1
- >
-struct apply1
-
- : apply_wrap1<
- typename lambda<F>::type
- , T1
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 2
- , apply1
- , (F, T1)
- )
-};
-
-template<
- typename F, typename T1
- >
-struct apply< F,T1,na,na,na,na >
- : apply1< F,T1 >
-{
-};
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply2
-
- : apply_wrap2<
- typename lambda<F>::type
- , T1, T2
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 3
- , apply2
- , (F, T1, T2)
- )
-};
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply< F,T1,T2,na,na,na >
- : apply2< F,T1,T2 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply3
-
- : apply_wrap3<
- typename lambda<F>::type
- , T1, T2, T3
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 4
- , apply3
- , (F, T1, T2, T3)
- )
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply< F,T1,T2,T3,na,na >
- : apply3< F,T1,T2,T3 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply4
-
- : apply_wrap4<
- typename lambda<F>::type
- , T1, T2, T3, T4
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , apply4
- , (F, T1, T2, T3, T4)
- )
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply< F,T1,T2,T3,T4,na >
- : apply4< F,T1,T2,T3,T4 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct apply5
-
- : apply_wrap5<
- typename lambda<F>::type
- , T1, T2, T3, T4, T5
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 6
- , apply5
- , (F, T1, T2, T3, T4, T5)
- )
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct apply
- : apply5< F,T1,T2,T3,T4,T5 >
-{
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp b/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp
deleted file mode 100644
index b2ed5d5..0000000
--- a/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/apply_fwd.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename F, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na
- >
-struct apply;
-
-template<
- typename F
- >
-struct apply0;
-
-template<
- typename F, typename T1
- >
-struct apply1;
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply2;
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply3;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply4;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct apply5;
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp b/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp
deleted file mode 100644
index 34d51a1..0000000
--- a/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp
+++ /dev/null
@@ -1,84 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/apply_wrap.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename F
-
- , typename has_apply_ = typename aux::has_apply<F>::type
-
- >
-struct apply_wrap0
-
- : F::template apply< >
-{
-};
-
-template< typename F >
-struct apply_wrap0< F,true_ >
- : F::apply
-{
-};
-
-template<
- typename F, typename T1
-
- >
-struct apply_wrap1
-
- : F::template apply<T1>
-{
-};
-
-template<
- typename F, typename T1, typename T2
-
- >
-struct apply_wrap2
-
- : F::template apply< T1,T2 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
-
- >
-struct apply_wrap3
-
- : F::template apply< T1,T2,T3 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
-
- >
-struct apply_wrap4
-
- : F::template apply< T1,T2,T3,T4 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
-
- >
-struct apply_wrap5
-
- : F::template apply< T1,T2,T3,T4,T5 >
-{
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/gcc/arg.hpp b/boost/mpl/aux_/preprocessed/gcc/arg.hpp
deleted file mode 100644
index 6f2f8a8..0000000
--- a/boost/mpl/aux_/preprocessed/gcc/arg.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-
-// Copyright Peter Dimov 2001-2002
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/arg.hpp" header
-// -- DO NOT modify by hand!
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-template<> struct arg< -1 >
-{
- BOOST_STATIC_CONSTANT(int, value = -1);
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U1 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<1>
-{
- BOOST_STATIC_CONSTANT(int, value = 1);
- typedef arg<2> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U1 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<2>
-{
- BOOST_STATIC_CONSTANT(int, value = 2);
- typedef arg<3> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U2 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<3>
-{
- BOOST_STATIC_CONSTANT(int, value = 3);
- typedef arg<4> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U3 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<4>
-{
- BOOST_STATIC_CONSTANT(int, value = 4);
- typedef arg<5> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U4 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<5>
-{
- BOOST_STATIC_CONSTANT(int, value = 5);
- typedef arg<6> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U5 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
diff --git a/boost/mpl/aux_/preprocessed/gcc/basic_bind.hpp b/boost/mpl/aux_/preprocessed/gcc/basic_bind.hpp
deleted file mode 100644
index b070232..0000000
--- a/boost/mpl/aux_/preprocessed/gcc/basic_bind.hpp
+++ /dev/null
@@ -1,440 +0,0 @@
-
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
- typename T, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg
-{
- typedef T type;
-};
-
-template<
- int N, typename U1, typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >
-{
- typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 >
-{
- typedef bind< F,T1,T2,T3,T4,T5 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-template<
- typename F
- >
-struct bind0
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-
- public:
- typedef typename apply_wrap0<
- f_
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg<
- bind0<F>, U1, U2, U3, U4, U5
- >
-{
- typedef bind0<F> f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
-
-template<
- typename F
- >
-struct bind< F,na,na,na,na,na >
- : bind0<F>
-{
-};
-
-template<
- typename F, typename T1
- >
-struct bind1
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-
- public:
- typedef typename apply_wrap1<
- f_
- , typename t1::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename U1, typename U2, typename U3
- , typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind1< F,T1 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind1< F,T1 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
-
-template<
- typename F, typename T1
- >
-struct bind< F,T1,na,na,na,na >
- : bind1< F,T1 >
-{
-};
-
-template<
- typename F, typename T1, typename T2
- >
-struct bind2
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-
- public:
- typedef typename apply_wrap2<
- f_
- , typename t1::type, typename t2::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename U1, typename U2
- , typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind2< F,T1,T2 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind2< F,T1,T2 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
-
-template<
- typename F, typename T1, typename T2
- >
-struct bind< F,T1,T2,na,na,na >
- : bind2< F,T1,T2 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct bind3
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
- typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-
- public:
- typedef typename apply_wrap3<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename U1
- , typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind3< F,T1,T2,T3 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct bind< F,T1,T2,T3,na,na >
- : bind3< F,T1,T2,T3 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct bind4
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
- typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
- typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
-
- public:
- typedef typename apply_wrap4<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- , typename t4::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename U1, typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind4< F,T1,T2,T3,T4 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct bind< F,T1,T2,T3,T4,na >
- : bind4< F,T1,T2,T3,T4 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct bind5
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
- typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
- typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
- typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5;
-
- public:
- typedef typename apply_wrap5<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- , typename t4::type, typename t5::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg<
- bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind5< F,T1,T2,T3,T4,T5 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
-
-/// primary template (not a specialization!)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct bind
- : bind5< F,T1,T2,T3,T4,T5 >
-{
-};
-
-/// if_/eval_if specializations
-template< template< typename T1, typename T2, typename T3 > class F, typename Tag >
-struct quote3;
-
-template< typename T1, typename T2, typename T3 > struct if_;
-
-template<
- typename Tag, typename T1, typename T2, typename T3
- >
-struct bind3<
- quote3< if_,Tag >
- , T1, T2, T3
- >
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef mpl::arg<1> n1;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
- typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
- typedef typename if_<
- typename t1::type
- , t2, t3
- >::type f_;
-
- public:
- typedef typename f_::type type;
- };
-};
-
-template<
- template< typename T1, typename T2, typename T3 > class F, typename Tag
- >
-struct quote3;
-
-template< typename T1, typename T2, typename T3 > struct eval_if;
-
-template<
- typename Tag, typename T1, typename T2, typename T3
- >
-struct bind3<
- quote3< eval_if,Tag >
- , T1, T2, T3
- >
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef mpl::arg<1> n1;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
- typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
- typedef typename eval_if<
- typename t1::type
- , t2, t3
- >::type f_;
-
- public:
- typedef typename f_::type type;
- };
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/gcc/bind.hpp b/boost/mpl/aux_/preprocessed/gcc/bind.hpp
deleted file mode 100644
index 0e9513a..0000000
--- a/boost/mpl/aux_/preprocessed/gcc/bind.hpp
+++ /dev/null
@@ -1,561 +0,0 @@
-
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/bind.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
- typename T, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg
-{
- typedef T type;
-};
-
-template<
- typename T
- , typename Arg
- >
-struct replace_unnamed_arg
-{
- typedef Arg next;
- typedef T type;
-};
-
-template<
- typename Arg
- >
-struct replace_unnamed_arg< arg< -1 >, Arg >
-{
- typedef typename Arg::next next;
- typedef Arg type;
-};
-
-template<
- int N, typename U1, typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >
-{
- typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 >
-{
- typedef bind< F,T1,T2,T3,T4,T5 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-template<
- typename F
- >
-struct bind0
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- public:
- typedef typename apply_wrap0<
- f_
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg<
- bind0<F>, U1, U2, U3, U4, U5
- >
-{
- typedef bind0<F> f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
-
-template<
- typename F
- >
-struct bind< F,na,na,na,na,na >
- : bind0<F>
-{
-};
-
-template<
- typename F, typename T1
- >
-struct bind1
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- public:
- typedef typename apply_wrap1<
- f_
- , typename t1::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename U1, typename U2, typename U3
- , typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind1< F,T1 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind1< F,T1 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
-
-template<
- typename F, typename T1
- >
-struct bind< F,T1,na,na,na,na >
- : bind1< F,T1 >
-{
-};
-
-template<
- typename F, typename T1, typename T2
- >
-struct bind2
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- public:
- typedef typename apply_wrap2<
- f_
- , typename t1::type, typename t2::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename U1, typename U2
- , typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind2< F,T1,T2 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind2< F,T1,T2 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
-
-template<
- typename F, typename T1, typename T2
- >
-struct bind< F,T1,T2,na,na,na >
- : bind2< F,T1,T2 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct bind3
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- typedef aux::replace_unnamed_arg< T3,n3 > r3;
- typedef typename r3::type a3;
- typedef typename r3::next n4;
- typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
- ///
- public:
- typedef typename apply_wrap3<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename U1
- , typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind3< F,T1,T2,T3 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct bind< F,T1,T2,T3,na,na >
- : bind3< F,T1,T2,T3 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct bind4
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- typedef aux::replace_unnamed_arg< T3,n3 > r3;
- typedef typename r3::type a3;
- typedef typename r3::next n4;
- typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
- ///
- typedef aux::replace_unnamed_arg< T4,n4 > r4;
- typedef typename r4::type a4;
- typedef typename r4::next n5;
- typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
- ///
- public:
- typedef typename apply_wrap4<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- , typename t4::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename U1, typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind4< F,T1,T2,T3,T4 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct bind< F,T1,T2,T3,T4,na >
- : bind4< F,T1,T2,T3,T4 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct bind5
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- typedef aux::replace_unnamed_arg< T3,n3 > r3;
- typedef typename r3::type a3;
- typedef typename r3::next n4;
- typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
- ///
- typedef aux::replace_unnamed_arg< T4,n4 > r4;
- typedef typename r4::type a4;
- typedef typename r4::next n5;
- typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
- ///
- typedef aux::replace_unnamed_arg< T5,n5 > r5;
- typedef typename r5::type a5;
- typedef typename r5::next n6;
- typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5;
- ///
- public:
- typedef typename apply_wrap5<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- , typename t4::type, typename t5::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg<
- bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind5< F,T1,T2,T3,T4,T5 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
-
-/// primary template (not a specialization!)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct bind
- : bind5< F,T1,T2,T3,T4,T5 >
-{
-};
-
-/// if_/eval_if specializations
-template< template< typename T1, typename T2, typename T3 > class F, typename Tag >
-struct quote3;
-
-template< typename T1, typename T2, typename T3 > struct if_;
-
-template<
- typename Tag, typename T1, typename T2, typename T3
- >
-struct bind3<
- quote3< if_,Tag >
- , T1, T2, T3
- >
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef mpl::arg<1> n1;
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- typedef aux::replace_unnamed_arg< T3,n3 > r3;
- typedef typename r3::type a3;
- typedef typename r3::next n4;
- typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
- ///
- typedef typename if_<
- typename t1::type
- , t2, t3
- >::type f_;
-
- public:
- typedef typename f_::type type;
- };
-};
-
-template<
- template< typename T1, typename T2, typename T3 > class F, typename Tag
- >
-struct quote3;
-
-template< typename T1, typename T2, typename T3 > struct eval_if;
-
-template<
- typename Tag, typename T1, typename T2, typename T3
- >
-struct bind3<
- quote3< eval_if,Tag >
- , T1, T2, T3
- >
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef mpl::arg<1> n1;
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- typedef aux::replace_unnamed_arg< T3,n3 > r3;
- typedef typename r3::type a3;
- typedef typename r3::next n4;
- typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
- ///
- typedef typename eval_if<
- typename t1::type
- , t2, t3
- >::type f_;
-
- public:
- typedef typename f_::type type;
- };
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp b/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp
deleted file mode 100644
index c4a5060..0000000
--- a/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/bind_fwd.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename F, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na
- >
-struct bind;
-
-template<
- typename F
- >
-struct bind0;
-
-template<
- typename F, typename T1
- >
-struct bind1;
-
-template<
- typename F, typename T1, typename T2
- >
-struct bind2;
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct bind3;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct bind4;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct bind5;
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/gcc/bitand.hpp b/boost/mpl/aux_/preprocessed/gcc/bitand.hpp
deleted file mode 100644
index 0bbf54e..0000000
--- a/boost/mpl/aux_/preprocessed/gcc/bitand.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// Preprocessed version of "boost/mpl/bitand.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct bitand_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitand_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitand_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitand_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct bitand_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct bitand_
- : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , bitand_
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct bitand_< N1,N2,N3,N4,na >
-
- : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitand_
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct bitand_< N1,N2,N3,na,na >
-
- : bitand_< bitand_< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitand_
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct bitand_< N1,N2,na,na,na >
- : bitand_impl<
- typename bitand_tag<N1>::type
- , typename bitand_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitand_
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitand_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- & BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/gcc/bitor.hpp b/boost/mpl/aux_/preprocessed/gcc/bitor.hpp
deleted file mode 100644
index 55b31cb..0000000
--- a/boost/mpl/aux_/preprocessed/gcc/bitor.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// Preprocessed version of "boost/mpl/bitor.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct bitor_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitor_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitor_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitor_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct bitor_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct bitor_
- : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , bitor_
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct bitor_< N1,N2,N3,N4,na >
-
- : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitor_
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct bitor_< N1,N2,N3,na,na >
-
- : bitor_< bitor_< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitor_
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct bitor_< N1,N2,na,na,na >
- : bitor_impl<
- typename bitor_tag<N1>::type
- , typename bitor_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitor_
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitor_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- | BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/gcc/bitxor.hpp b/boost/mpl/aux_/preprocessed/gcc/bitxor.hpp
deleted file mode 100644
index ec19391..0000000
--- a/boost/mpl/aux_/preprocessed/gcc/bitxor.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// Preprocessed version of "boost/mpl/bitxor.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct bitxor_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitxor_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitxor_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitxor_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct bitxor_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct bitxor_
- : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , bitxor_
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct bitxor_< N1,N2,N3,N4,na >
-
- : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitxor_
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct bitxor_< N1,N2,N3,na,na >
-
- : bitxor_< bitxor_< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitxor_
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct bitxor_< N1,N2,na,na,na >
- : bitxor_impl<
- typename bitxor_tag<N1>::type
- , typename bitxor_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitxor_
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitxor_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/gcc/deque.hpp b/boost/mpl/aux_/preprocessed/gcc/deque.hpp
deleted file mode 100644
index de67398..0000000
--- a/boost/mpl/aux_/preprocessed/gcc/deque.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/deque.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct deque;
-
-template<
-
- >
-struct deque<
- na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector0< >
-{
- typedef vector0< >::type type;
-};
-
-template<
- typename T0
- >
-struct deque<
- T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector1<T0>
-{
- typedef typename vector1<T0>::type type;
-};
-
-template<
- typename T0, typename T1
- >
-struct deque<
- T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector2< T0,T1 >
-{
- typedef typename vector2< T0,T1 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct deque<
- T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector3< T0,T1,T2 >
-{
- typedef typename vector3< T0,T1,T2 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct deque<
- T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector4< T0,T1,T2,T3 >
-{
- typedef typename vector4< T0,T1,T2,T3 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct deque<
- T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector5< T0,T1,T2,T3,T4 >
-{
- typedef typename vector5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector6< T0,T1,T2,T3,T4,T5 >
-{
- typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector7< T0,T1,T2,T3,T4,T5,T6 >
-{
- typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
- typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
- typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
- typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
- , na, na, na
- >
- : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
- typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
- , na, na, na, na
- >
- : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
- typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
- , na, na, na, na
- >
- : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
- typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
- , na, na, na, na
- >
- : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
- typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
- , na, na, na, na
- >
- : vector15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >
-{
- typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, na, na, na, na
- >
- : vector16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15
- >
-{
- typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, na, na, na
- >
- : vector17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16
- >
-{
- typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, na, na
- >
- : vector18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17
- >
-{
- typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, na
- >
- : vector19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18
- >
-{
- typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct deque
- : vector20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, T19
- >
-{
- typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/gcc/divides.hpp b/boost/mpl/aux_/preprocessed/gcc/divides.hpp
deleted file mode 100644
index 86f1682..0000000
--- a/boost/mpl/aux_/preprocessed/gcc/divides.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/divides.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct divides_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct divides_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct divides_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct divides_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct divides_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct divides
- : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , divides
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct divides< N1,N2,N3,N4,na >
-
- : divides< divides< divides< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , divides
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct divides< N1,N2,N3,na,na >
-
- : divides< divides< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , divides
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct divides< N1,N2,na,na,na >
- : divides_impl<
- typename divides_tag<N1>::type
- , typename divides_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , divides
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, divides)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct divides_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- / BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/gcc/equal_to.hpp b/boost/mpl/aux_/preprocessed/gcc/equal_to.hpp
deleted file mode 100644
index 62c9945..0000000
--- a/boost/mpl/aux_/preprocessed/gcc/equal_to.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/equal_to.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct equal_to_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct equal_to_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct equal_to_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct equal_to_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct equal_to_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct equal_to
-
- : equal_to_impl<
- typename equal_to_tag<N1>::type
- , typename equal_to_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct equal_to_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp b/boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp
deleted file mode 100644
index 9e7a293..0000000
--- a/boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp
+++ /dev/null
@@ -1,180 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
- int N
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl;
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< 0,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef state0 state;
- typedef iter0 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< 1,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
-
-
- typedef state1 state;
- typedef iter1 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< 2,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
-
-
- typedef state2 state;
- typedef iter2 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< 3,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
- typedef typename mpl::next<iter2>::type iter3;
-
-
- typedef state3 state;
- typedef iter3 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< 4,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp, state3, typename deref<iter3>::type >::type state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef state4 state;
- typedef iter4 iterator;
-};
-
-template<
- int N
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl
-{
- typedef fold_impl<
- 4
- , First
- , Last
- , State
- , ForwardOp
- > chunk_;
-
- typedef fold_impl<
- ( (N - 4) < 0 ? 0 : N - 4 )
- , typename chunk_::iterator
- , Last
- , typename chunk_::state
- , ForwardOp
- > res_;
-
- typedef typename res_::state state;
- typedef typename res_::iterator iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< -1,First,Last,State,ForwardOp >
- : fold_impl<
- -1
- , typename mpl::next<First>::type
- , Last
- , typename apply2<ForwardOp,State, typename deref<First>::type>::type
- , ForwardOp
- >
-{
-};
-
-template<
- typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< -1,Last,Last,State,ForwardOp >
-{
- typedef State state;
- typedef Last iterator;
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp b/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp
deleted file mode 100644
index e3eef71..0000000
--- a/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp
+++ /dev/null
@@ -1,558 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
- bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
- , bool C5 = false
- >
-struct lambda_or
- : true_
-{
-};
-
-template<>
-struct lambda_or< false,false,false,false,false >
- : false_
-{
-};
-
-} // namespace aux
-
-template<
- typename T
- , typename Tag
- , typename Arity
- >
-struct lambda
-{
- typedef false_ is_le;
- typedef T result_;
- typedef T type;
-};
-
-template<
- typename T
- >
-struct is_lambda_expression
- : lambda<T>::is_le
-{
-};
-
-template< int N, typename Tag >
-struct lambda< arg<N>,Tag, int_< -1 > >
-{
- typedef true_ is_le;
- typedef mpl::arg<N> result_; // qualified for the sake of MIPSpro 7.41
- typedef mpl::protect<result_> type;
-};
-
-template<
- typename F
- , typename Tag
- >
-struct lambda<
- bind0<F>
- , Tag
- , int_<1>
- >
-{
- typedef false_ is_le;
- typedef bind0<
- F
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1 > class F
- , typename L1
- >
-struct le_result1
-{
- typedef F<
- typename L1::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1 > class F
- , typename L1
- >
-struct le_result1< true_,Tag,F,L1 >
-{
- typedef bind1<
- quote1< F,Tag >
- , typename L1::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template< typename P1 > class F
- , typename T1
- , typename Tag
- >
-struct lambda<
- F<T1>
- , Tag
- , int_<1>
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef typename l1::is_le is_le1;
- typedef typename aux::lambda_or<
- is_le1::value
- >::type is_le;
-
- typedef aux::le_result1<
- is_le, Tag, F, l1
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1
- , typename Tag
- >
-struct lambda<
- bind1< F,T1 >
- , Tag
- , int_<2>
- >
-{
- typedef false_ is_le;
- typedef bind1<
- F
- , T1
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1, typename P2 > class F
- , typename L1, typename L2
- >
-struct le_result2
-{
- typedef F<
- typename L1::type, typename L2::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1, typename P2 > class F
- , typename L1, typename L2
- >
-struct le_result2< true_,Tag,F,L1,L2 >
-{
- typedef bind2<
- quote2< F,Tag >
- , typename L1::result_, typename L2::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template< typename P1, typename P2 > class F
- , typename T1, typename T2
- , typename Tag
- >
-struct lambda<
- F< T1,T2 >
- , Tag
- , int_<2>
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef lambda< T2,Tag > l2;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
-
-
- typedef typename aux::lambda_or<
- is_le1::value, is_le2::value
- >::type is_le;
-
- typedef aux::le_result2<
- is_le, Tag, F, l1, l2
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1, typename T2
- , typename Tag
- >
-struct lambda<
- bind2< F,T1,T2 >
- , Tag
- , int_<3>
- >
-{
- typedef false_ is_le;
- typedef bind2<
- F
- , T1, T2
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1, typename P2, typename P3 > class F
- , typename L1, typename L2, typename L3
- >
-struct le_result3
-{
- typedef F<
- typename L1::type, typename L2::type, typename L3::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1, typename P2, typename P3 > class F
- , typename L1, typename L2, typename L3
- >
-struct le_result3< true_,Tag,F,L1,L2,L3 >
-{
- typedef bind3<
- quote3< F,Tag >
- , typename L1::result_, typename L2::result_, typename L3::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template< typename P1, typename P2, typename P3 > class F
- , typename T1, typename T2, typename T3
- , typename Tag
- >
-struct lambda<
- F< T1,T2,T3 >
- , Tag
- , int_<3>
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef lambda< T2,Tag > l2;
- typedef lambda< T3,Tag > l3;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
-
-
- typedef typename aux::lambda_or<
- is_le1::value, is_le2::value, is_le3::value
- >::type is_le;
-
- typedef aux::le_result3<
- is_le, Tag, F, l1, l2, l3
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- , typename Tag
- >
-struct lambda<
- bind3< F,T1,T2,T3 >
- , Tag
- , int_<4>
- >
-{
- typedef false_ is_le;
- typedef bind3<
- F
- , T1, T2, T3
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1, typename P2, typename P3, typename P4 > class F
- , typename L1, typename L2, typename L3, typename L4
- >
-struct le_result4
-{
- typedef F<
- typename L1::type, typename L2::type, typename L3::type
- , typename L4::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1, typename P2, typename P3, typename P4 > class F
- , typename L1, typename L2, typename L3, typename L4
- >
-struct le_result4< true_,Tag,F,L1,L2,L3,L4 >
-{
- typedef bind4<
- quote4< F,Tag >
- , typename L1::result_, typename L2::result_, typename L3::result_
- , typename L4::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template< typename P1, typename P2, typename P3, typename P4 > class F
- , typename T1, typename T2, typename T3, typename T4
- , typename Tag
- >
-struct lambda<
- F< T1,T2,T3,T4 >
- , Tag
- , int_<4>
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef lambda< T2,Tag > l2;
- typedef lambda< T3,Tag > l3;
- typedef lambda< T4,Tag > l4;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
- typedef typename l4::is_le is_le4;
-
-
- typedef typename aux::lambda_or<
- is_le1::value, is_le2::value, is_le3::value, is_le4::value
- >::type is_le;
-
- typedef aux::le_result4<
- is_le, Tag, F, l1, l2, l3, l4
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename Tag
- >
-struct lambda<
- bind4< F,T1,T2,T3,T4 >
- , Tag
- , int_<5>
- >
-{
- typedef false_ is_le;
- typedef bind4<
- F
- , T1, T2, T3, T4
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
- , typename L1, typename L2, typename L3, typename L4, typename L5
- >
-struct le_result5
-{
- typedef F<
- typename L1::type, typename L2::type, typename L3::type
- , typename L4::type, typename L5::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
- , typename L1, typename L2, typename L3, typename L4, typename L5
- >
-struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 >
-{
- typedef bind5<
- quote5< F,Tag >
- , typename L1::result_, typename L2::result_, typename L3::result_
- , typename L4::result_, typename L5::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template<
- typename P1, typename P2, typename P3, typename P4
- , typename P5
- >
- class F
- , typename T1, typename T2, typename T3, typename T4, typename T5
- , typename Tag
- >
-struct lambda<
- F< T1,T2,T3,T4,T5 >
- , Tag
- , int_<5>
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef lambda< T2,Tag > l2;
- typedef lambda< T3,Tag > l3;
- typedef lambda< T4,Tag > l4;
- typedef lambda< T5,Tag > l5;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
- typedef typename l4::is_le is_le4;
- typedef typename l5::is_le is_le5;
-
-
- typedef typename aux::lambda_or<
- is_le1::value, is_le2::value, is_le3::value, is_le4::value
- , is_le5::value
- >::type is_le;
-
- typedef aux::le_result5<
- is_le, Tag, F, l1, l2, l3, l4, l5
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- , typename Tag
- >
-struct lambda<
- bind5< F,T1,T2,T3,T4,T5 >
- , Tag
- , int_<6>
- >
-{
- typedef false_ is_le;
- typedef bind5<
- F
- , T1, T2, T3, T4, T5
- > result_;
-
- typedef result_ type;
-};
-
-/// special case for 'protect'
-template< typename T, typename Tag >
-struct lambda< mpl::protect<T>,Tag, int_<1> >
-{
- typedef false_ is_le;
- typedef mpl::protect<T> result_;
- typedef result_ type;
-};
-
-/// specializations for the main 'bind' form
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- , typename Tag
- >
-struct lambda<
- bind< F,T1,T2,T3,T4,T5 >
- , Tag
- , int_<6>
- >
-{
- typedef false_ is_le;
- typedef bind< F,T1,T2,T3,T4,T5 > result_;
- typedef result_ type;
-};
-
-template<
- typename F
- , typename Tag1
- , typename Tag2
- , typename Arity
- >
-struct lambda<
- lambda< F,Tag1,Arity >
- , Tag2
- , int_<3>
- >
-{
- typedef lambda< F,Tag2 > l1;
- typedef lambda< Tag1,Tag2 > l2;
- typedef typename l1::is_le is_le;
- typedef bind1< quote1<aux::template_arity>, typename l1::result_ > arity_;
- typedef lambda< typename if_< is_le,arity_,Arity >::type, Tag2 > l3;
- typedef aux::le_result3<is_le, Tag2, mpl::lambda, l1, l2, l3> le_result_;
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 3, lambda)
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/gcc/greater.hpp b/boost/mpl/aux_/preprocessed/gcc/greater.hpp
deleted file mode 100644
index 14d8e08..0000000
--- a/boost/mpl/aux_/preprocessed/gcc/greater.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/greater.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct greater_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct greater_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct greater_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct greater_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct greater_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct greater
-
- : greater_impl<
- typename greater_tag<N1>::type
- , typename greater_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct greater_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/gcc/greater_equal.hpp b/boost/mpl/aux_/preprocessed/gcc/greater_equal.hpp
deleted file mode 100644
index 2603f91..0000000
--- a/boost/mpl/aux_/preprocessed/gcc/greater_equal.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/greater_equal.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct greater_equal_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct greater_equal_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct greater_equal_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct greater_equal_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct greater_equal_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct greater_equal
-
- : greater_equal_impl<
- typename greater_equal_tag<N1>::type
- , typename greater_equal_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct greater_equal_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/gcc/inherit.hpp b/boost/mpl/aux_/preprocessed/gcc/inherit.hpp
deleted file mode 100644
index 00f31c4..0000000
--- a/boost/mpl/aux_/preprocessed/gcc/inherit.hpp
+++ /dev/null
@@ -1,141 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/inherit.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(T1)
- , typename BOOST_MPL_AUX_NA_PARAM(T2)
- >
-struct inherit2
- : T1, T2
-{
- typedef inherit2 type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))
-};
-
-template< typename T1 >
-struct inherit2< T1,empty_base >
-{
- typedef T1 type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base))
-};
-
-template< typename T2 >
-struct inherit2< empty_base,T2 >
-{
- typedef T2 type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2))
-};
-
-template<>
-struct inherit2< empty_base,empty_base >
-{
- typedef empty_base type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base))
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, inherit2)
-
-template<
- typename T1 = na, typename T2 = na, typename T3 = na
- >
-struct inherit3
- : inherit2<
- typename inherit2<
- T1, T2
- >::type
- , T3
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 3
- , inherit3
- , ( T1, T2, T3)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC(3, inherit3)
-
-template<
- typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
- >
-struct inherit4
- : inherit2<
- typename inherit3<
- T1, T2, T3
- >::type
- , T4
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 4
- , inherit4
- , ( T1, T2, T3, T4)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC(4, inherit4)
-
-template<
- typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
- , typename T5 = na
- >
-struct inherit5
- : inherit2<
- typename inherit4<
- T1, T2, T3, T4
- >::type
- , T5
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , inherit5
- , ( T1, T2, T3, T4, T5)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC(5, inherit5)
-
-/// primary template
-
-template<
- typename T1 = empty_base, typename T2 = empty_base
- , typename T3 = empty_base, typename T4 = empty_base
- , typename T5 = empty_base
- >
-struct inherit
- : inherit5< T1,T2,T3,T4,T5 >
-{
-};
-
-template<>
-struct inherit< na,na,na,na,na >
-{
- template<
-
- typename T1 = empty_base, typename T2 = empty_base
- , typename T3 = empty_base, typename T4 = empty_base
- , typename T5 = empty_base
-
- >
- struct apply
- : inherit< T1,T2,T3,T4,T5 >
- {
- };
-};
-
-BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/gcc/iter_fold_if_impl.hpp b/boost/mpl/aux_/preprocessed/gcc/iter_fold_if_impl.hpp
deleted file mode 100644
index 6951795..0000000
--- a/boost/mpl/aux_/preprocessed/gcc/iter_fold_if_impl.hpp
+++ /dev/null
@@ -1,133 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright David Abrahams 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< typename Iterator, typename State >
-struct iter_fold_if_null_step
-{
- typedef State state;
- typedef Iterator iterator;
-};
-
-template< bool >
-struct iter_fold_if_step_impl
-{
- template<
- typename Iterator
- , typename State
- , typename StateOp
- , typename IteratorOp
- >
- struct result_
- {
- typedef typename apply2< StateOp,State,Iterator >::type state;
- typedef typename IteratorOp::type iterator;
- };
-};
-
-template<>
-struct iter_fold_if_step_impl<false>
-{
- template<
- typename Iterator
- , typename State
- , typename StateOp
- , typename IteratorOp
- >
- struct result_
- {
- typedef State state;
- typedef Iterator iterator;
- };
-};
-
-template<
- typename Iterator
- , typename State
- , typename ForwardOp
- , typename Predicate
- >
-struct iter_fold_if_forward_step
-{
- typedef typename apply2< Predicate,State,Iterator >::type not_last;
- typedef typename iter_fold_if_step_impl<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
- >::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_;
-
- typedef typename impl_::state state;
- typedef typename impl_::iterator iterator;
-};
-
-template<
- typename Iterator
- , typename State
- , typename BackwardOp
- , typename Predicate
- >
-struct iter_fold_if_backward_step
-{
- typedef typename apply2< Predicate,State,Iterator >::type not_last;
- typedef typename iter_fold_if_step_impl<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
- >::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_;
-
- typedef typename impl_::state state;
- typedef typename impl_::iterator iterator;
-};
-
-template<
- typename Iterator
- , typename State
- , typename ForwardOp
- , typename ForwardPredicate
- , typename BackwardOp
- , typename BackwardPredicate
- >
-struct iter_fold_if_impl
-{
- private:
- typedef iter_fold_if_null_step< Iterator,State > forward_step0;
- typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1;
- typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2;
- typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3;
- typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4;
-
-
- typedef typename if_<
- typename forward_step4::not_last
- , iter_fold_if_impl<
- typename forward_step4::iterator
- , typename forward_step4::state
- , ForwardOp
- , ForwardPredicate
- , BackwardOp
- , BackwardPredicate
- >
- , iter_fold_if_null_step<
- typename forward_step4::iterator
- , typename forward_step4::state
- >
- >::type backward_step4;
-
- typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3;
- typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2;
- typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1;
- typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0;
-
-
- public:
- typedef typename backward_step0::state state;
- typedef typename backward_step4::iterator iterator;
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/gcc/iter_fold_impl.hpp b/boost/mpl/aux_/preprocessed/gcc/iter_fold_impl.hpp
deleted file mode 100644
index 805790e..0000000
--- a/boost/mpl/aux_/preprocessed/gcc/iter_fold_impl.hpp
+++ /dev/null
@@ -1,180 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
- int N
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl;
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< 0,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef state0 state;
- typedef iter0 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< 1,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
-
-
- typedef state1 state;
- typedef iter1 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< 2,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
-
-
- typedef state2 state;
- typedef iter2 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< 3,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
- typedef typename mpl::next<iter2>::type iter3;
-
-
- typedef state3 state;
- typedef iter3 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< 4,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp,state3,iter3 >::type state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef state4 state;
- typedef iter4 iterator;
-};
-
-template<
- int N
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl
-{
- typedef iter_fold_impl<
- 4
- , First
- , Last
- , State
- , ForwardOp
- > chunk_;
-
- typedef iter_fold_impl<
- ( (N - 4) < 0 ? 0 : N - 4 )
- , typename chunk_::iterator
- , Last
- , typename chunk_::state
- , ForwardOp
- > res_;
-
- typedef typename res_::state state;
- typedef typename res_::iterator iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< -1,First,Last,State,ForwardOp >
- : iter_fold_impl<
- -1
- , typename mpl::next<First>::type
- , Last
- , typename apply2< ForwardOp,State,First >::type
- , ForwardOp
- >
-{
-};
-
-template<
- typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< -1,Last,Last,State,ForwardOp >
-{
- typedef State state;
- typedef Last iterator;
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/gcc/lambda_no_ctps.hpp b/boost/mpl/aux_/preprocessed/gcc/lambda_no_ctps.hpp
deleted file mode 100644
index 890a198..0000000
--- a/boost/mpl/aux_/preprocessed/gcc/lambda_no_ctps.hpp
+++ /dev/null
@@ -1,229 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
- bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
- , bool C5 = false
- >
-struct lambda_or
- : true_
-{
-};
-
-template<>
-struct lambda_or< false,false,false,false,false >
- : false_
-{
-};
-
-template< typename Arity > struct lambda_impl
-{
- template< typename T, typename Tag, typename Protect > struct result_
- {
- typedef T type;
- typedef is_placeholder<T> is_le;
- };
-};
-
-template<> struct lambda_impl< int_<1> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef typename l1::is_le is_le1;
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value
- > is_le;
-
- typedef bind1<
- typename F::rebind
- , typename l1::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-template<> struct lambda_impl< int_<2> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef lambda< typename F::arg2, Tag, false_ > l2;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
-
-
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value
- > is_le;
-
- typedef bind2<
- typename F::rebind
- , typename l1::type, typename l2::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-template<> struct lambda_impl< int_<3> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef lambda< typename F::arg2, Tag, false_ > l2;
- typedef lambda< typename F::arg3, Tag, false_ > l3;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
-
-
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value
- > is_le;
-
- typedef bind3<
- typename F::rebind
- , typename l1::type, typename l2::type, typename l3::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-template<> struct lambda_impl< int_<4> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef lambda< typename F::arg2, Tag, false_ > l2;
- typedef lambda< typename F::arg3, Tag, false_ > l3;
- typedef lambda< typename F::arg4, Tag, false_ > l4;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
- typedef typename l4::is_le is_le4;
-
-
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value
- > is_le;
-
- typedef bind4<
- typename F::rebind
- , typename l1::type, typename l2::type, typename l3::type
- , typename l4::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-template<> struct lambda_impl< int_<5> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef lambda< typename F::arg2, Tag, false_ > l2;
- typedef lambda< typename F::arg3, Tag, false_ > l3;
- typedef lambda< typename F::arg4, Tag, false_ > l4;
- typedef lambda< typename F::arg5, Tag, false_ > l5;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
- typedef typename l4::is_le is_le4;
- typedef typename l5::is_le is_le5;
-
-
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value
- > is_le;
-
- typedef bind5<
- typename F::rebind
- , typename l1::type, typename l2::type, typename l3::type
- , typename l4::type, typename l5::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-} // namespace aux
-
-template<
- typename T
- , typename Tag
- , typename Protect
- >
-struct lambda
-{
- /// Metafunction forwarding confuses MSVC 6.x
- typedef typename aux::template_arity<T>::type arity_;
- typedef typename aux::lambda_impl<arity_>
- ::template result_< T,Tag,Protect > l_;
-
- typedef typename l_::type type;
- typedef typename l_::is_le is_le;
- BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))
-};
-
-BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
-
-template<
- typename T
- >
-struct is_lambda_expression
- : lambda<T>::is_le
-{
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/gcc/less.hpp b/boost/mpl/aux_/preprocessed/gcc/less.hpp
deleted file mode 100644
index 4fe3cd1..0000000
--- a/boost/mpl/aux_/preprocessed/gcc/less.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/less.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct less_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct less_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct less_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct less_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct less_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct less
-
- : less_impl<
- typename less_tag<N1>::type
- , typename less_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct less_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/gcc/less_equal.hpp b/boost/mpl/aux_/preprocessed/gcc/less_equal.hpp
deleted file mode 100644
index ca2894f..0000000
--- a/boost/mpl/aux_/preprocessed/gcc/less_equal.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/less_equal.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct less_equal_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct less_equal_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct less_equal_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct less_equal_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct less_equal_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct less_equal
-
- : less_equal_impl<
- typename less_equal_tag<N1>::type
- , typename less_equal_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct less_equal_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/gcc/list.hpp b/boost/mpl/aux_/preprocessed/gcc/list.hpp
deleted file mode 100644
index 4e8ad53..0000000
--- a/boost/mpl/aux_/preprocessed/gcc/list.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/list.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct list;
-
-template<
-
- >
-struct list<
- na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list0< >
-{
- typedef list0< >::type type;
-};
-
-template<
- typename T0
- >
-struct list<
- T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list1<T0>
-{
- typedef typename list1<T0>::type type;
-};
-
-template<
- typename T0, typename T1
- >
-struct list<
- T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list2< T0,T1 >
-{
- typedef typename list2< T0,T1 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct list<
- T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list3< T0,T1,T2 >
-{
- typedef typename list3< T0,T1,T2 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct list<
- T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list4< T0,T1,T2,T3 >
-{
- typedef typename list4< T0,T1,T2,T3 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct list<
- T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list5< T0,T1,T2,T3,T4 >
-{
- typedef typename list5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct list<
- T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list6< T0,T1,T2,T3,T4,T5 >
-{
- typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list7< T0,T1,T2,T3,T4,T5,T6 >
-{
- typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
- typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
- typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
- , na, na, na
- >
- : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
- typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
- , na, na, na
- >
- : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
- typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
- , na, na, na, na
- >
- : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
- typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
- , na, na, na, na
- >
- : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
- typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
- , na, na, na, na
- >
- : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
- typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
- , na, na, na, na
- >
- : list15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >
-{
- typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, na, na, na, na
- >
- : list16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15
- >
-{
- typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, na, na, na
- >
- : list17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16
- >
-{
- typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, na, na
- >
- : list18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17
- >
-{
- typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, na
- >
- : list19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18
- >
-{
- typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct list
- : list20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, T19
- >
-{
- typedef typename list20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/gcc/list_c.hpp b/boost/mpl/aux_/preprocessed/gcc/list_c.hpp
deleted file mode 100644
index 0b48a7f..0000000
--- a/boost/mpl/aux_/preprocessed/gcc/list_c.hpp
+++ /dev/null
@@ -1,328 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/list_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
- , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
- , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
- , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
- , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
- , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
- , long C18 = LONG_MAX, long C19 = LONG_MAX
- >
-struct list_c;
-
-template<
- typename T
- >
-struct list_c<
- T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list0_c<T>
-{
- typedef typename list0_c<T>::type type;
-};
-
-template<
- typename T, long C0
- >
-struct list_c<
- T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list1_c< T,C0 >
-{
- typedef typename list1_c< T,C0 >::type type;
-};
-
-template<
- typename T, long C0, long C1
- >
-struct list_c<
- T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list2_c< T,C0,C1 >
-{
- typedef typename list2_c< T,C0,C1 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2
- >
-struct list_c<
- T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list3_c< T,C0,C1,C2 >
-{
- typedef typename list3_c< T,C0,C1,C2 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3
- >
-struct list_c<
- T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list4_c< T,C0,C1,C2,C3 >
-{
- typedef typename list4_c< T,C0,C1,C2,C3 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list5_c< T,C0,C1,C2,C3,C4 >
-{
- typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list6_c< T,C0,C1,C2,C3,C4,C5 >
-{
- typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list7_c< T,C0,C1,C2,C3,C4,C5,C6 >
-{
- typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX
- >
- : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >
-{
- typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >
-{
- typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >
-{
- typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >
-{
- typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >
-{
- typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >
-{
- typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list14_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- >
-{
- typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list15_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- >
-{
- typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list16_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15
- >
-{
- typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list17_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16
- >
-{
- typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, LONG_MAX, LONG_MAX
- >
- : list18_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17
- >
-{
- typedef typename list18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18, LONG_MAX
- >
- : list19_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18
- >
-{
- typedef typename list19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
-struct list_c
- : list20_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18, C19
- >
-{
- typedef typename list20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/gcc/map.hpp b/boost/mpl/aux_/preprocessed/gcc/map.hpp
deleted file mode 100644
index 837e013..0000000
--- a/boost/mpl/aux_/preprocessed/gcc/map.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/map.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct map;
-
-template<
-
- >
-struct map<
- na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map0< >
-{
- typedef map0< >::type type;
-};
-
-template<
- typename T0
- >
-struct map<
- T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map1<T0>
-{
- typedef typename map1<T0>::type type;
-};
-
-template<
- typename T0, typename T1
- >
-struct map<
- T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map2< T0,T1 >
-{
- typedef typename map2< T0,T1 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct map<
- T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map3< T0,T1,T2 >
-{
- typedef typename map3< T0,T1,T2 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct map<
- T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map4< T0,T1,T2,T3 >
-{
- typedef typename map4< T0,T1,T2,T3 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct map<
- T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map5< T0,T1,T2,T3,T4 >
-{
- typedef typename map5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct map<
- T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map6< T0,T1,T2,T3,T4,T5 >
-{
- typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map7< T0,T1,T2,T3,T4,T5,T6 >
-{
- typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
- typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
- typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
- , na, na, na
- >
- : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
- typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
- , na, na, na
- >
- : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
- typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
- , na, na, na, na
- >
- : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
- typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
- , na, na, na, na
- >
- : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
- typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
- , na, na, na, na
- >
- : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
- typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
- , na, na, na, na
- >
- : map15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >
-{
- typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, na, na, na, na
- >
- : map16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15
- >
-{
- typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, na, na, na
- >
- : map17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16
- >
-{
- typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, na, na
- >
- : map18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17
- >
-{
- typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, na
- >
- : map19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18
- >
-{
- typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct map
- : map20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, T19
- >
-{
- typedef typename map20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/gcc/minus.hpp b/boost/mpl/aux_/preprocessed/gcc/minus.hpp
deleted file mode 100644
index 71d4913..0000000
--- a/boost/mpl/aux_/preprocessed/gcc/minus.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/minus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct minus_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct minus_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct minus_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct minus_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct minus_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct minus
- : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , minus
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct minus< N1,N2,N3,N4,na >
-
- : minus< minus< minus< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , minus
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct minus< N1,N2,N3,na,na >
-
- : minus< minus< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , minus
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct minus< N1,N2,na,na,na >
- : minus_impl<
- typename minus_tag<N1>::type
- , typename minus_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , minus
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, minus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct minus_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- - BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/gcc/modulus.hpp b/boost/mpl/aux_/preprocessed/gcc/modulus.hpp
deleted file mode 100644
index 224b349..0000000
--- a/boost/mpl/aux_/preprocessed/gcc/modulus.hpp
+++ /dev/null
@@ -1,101 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/modulus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct modulus_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct modulus_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct modulus_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct modulus_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct modulus_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct modulus
-
- : modulus_impl<
- typename modulus_tag<N1>::type
- , typename modulus_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct modulus_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- % BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/gcc/not_equal_to.hpp b/boost/mpl/aux_/preprocessed/gcc/not_equal_to.hpp
deleted file mode 100644
index 98b21b1..0000000
--- a/boost/mpl/aux_/preprocessed/gcc/not_equal_to.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/not_equal_to.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct not_equal_to_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct not_equal_to_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct not_equal_to_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct not_equal_to_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct not_equal_to_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct not_equal_to
-
- : not_equal_to_impl<
- typename not_equal_to_tag<N1>::type
- , typename not_equal_to_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct not_equal_to_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/gcc/or.hpp b/boost/mpl/aux_/preprocessed/gcc/or.hpp
deleted file mode 100644
index 31e1aaa..0000000
--- a/boost/mpl/aux_/preprocessed/gcc/or.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/or.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< bool C_, typename T1, typename T2, typename T3, typename T4 >
-struct or_impl
- : true_
-{
-};
-
-template< typename T1, typename T2, typename T3, typename T4 >
-struct or_impl< false,T1,T2,T3,T4 >
- : or_impl<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
- , T2, T3, T4
- , false_
- >
-{
-};
-
-template<>
-struct or_impl<
- false
- , false_, false_, false_, false_
- >
- : false_
-{
-};
-
-} // namespace aux
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(T1)
- , typename BOOST_MPL_AUX_NA_PARAM(T2)
- , typename T3 = false_, typename T4 = false_, typename T5 = false_
- >
-struct or_
-
- : aux::or_impl<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
- , T2, T3, T4, T5
- >
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , or_
- , ( T1, T2, T3, T4, T5)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC2(
- 2
- , 5
- , or_
- )
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp b/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp
deleted file mode 100644
index ff97364..0000000
--- a/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp
+++ /dev/null
@@ -1,105 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright Peter Dimov 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/placeholders.hpp" header
-// -- DO NOT modify by hand!
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg< -1 > _;
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
-}
-
-}}
-
-/// agurt, 17/mar/02: one more placeholder for the last 'apply#'
-/// specialization
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<1> _1;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<2> _2;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<3> _3;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<4> _4;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<5> _5;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<6> _6;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;
-}
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/gcc/plus.hpp b/boost/mpl/aux_/preprocessed/gcc/plus.hpp
deleted file mode 100644
index a9f6ee7..0000000
--- a/boost/mpl/aux_/preprocessed/gcc/plus.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/plus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct plus_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct plus_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct plus_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct plus_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct plus_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct plus
- : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , plus
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct plus< N1,N2,N3,N4,na >
-
- : plus< plus< plus< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , plus
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct plus< N1,N2,N3,na,na >
-
- : plus< plus< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , plus
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct plus< N1,N2,na,na,na >
- : plus_impl<
- typename plus_tag<N1>::type
- , typename plus_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , plus
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, plus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct plus_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- + BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/gcc/quote.hpp b/boost/mpl/aux_/preprocessed/gcc/quote.hpp
deleted file mode 100644
index 020f093..0000000
--- a/boost/mpl/aux_/preprocessed/gcc/quote.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/quote.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template< typename T, bool has_type_ >
-struct quote_impl
-{
- typedef typename T::type type;
-};
-
-template< typename T >
-struct quote_impl< T,false >
-{
- typedef T type;
-};
-
-template<
- template< typename P1 > class F
- , typename Tag = void_
- >
-struct quote1
-{
- template< typename U1 > struct apply
-
- : quote_impl<
- F<U1>
- , aux::has_type< F<U1> >::value
- >
-
- {
- };
-};
-
-template<
- template< typename P1, typename P2 > class F
- , typename Tag = void_
- >
-struct quote2
-{
- template< typename U1, typename U2 > struct apply
-
- : quote_impl<
- F< U1,U2 >
- , aux::has_type< F< U1,U2 > >::value
- >
-
- {
- };
-};
-
-template<
- template< typename P1, typename P2, typename P3 > class F
- , typename Tag = void_
- >
-struct quote3
-{
- template< typename U1, typename U2, typename U3 > struct apply
-
- : quote_impl<
- F< U1,U2,U3 >
- , aux::has_type< F< U1,U2,U3 > >::value
- >
-
- {
- };
-};
-
-template<
- template< typename P1, typename P2, typename P3, typename P4 > class F
- , typename Tag = void_
- >
-struct quote4
-{
- template<
- typename U1, typename U2, typename U3, typename U4
- >
- struct apply
-
- : quote_impl<
- F< U1,U2,U3,U4 >
- , aux::has_type< F< U1,U2,U3,U4 > >::value
- >
-
- {
- };
-};
-
-template<
- template<
- typename P1, typename P2, typename P3, typename P4
- , typename P5
- >
- class F
- , typename Tag = void_
- >
-struct quote5
-{
- template<
- typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
- struct apply
-
- : quote_impl<
- F< U1,U2,U3,U4,U5 >
- , aux::has_type< F< U1,U2,U3,U4,U5 > >::value
- >
-
- {
- };
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/gcc/reverse_fold_impl.hpp b/boost/mpl/aux_/preprocessed/gcc/reverse_fold_impl.hpp
deleted file mode 100644
index c468684..0000000
--- a/boost/mpl/aux_/preprocessed/gcc/reverse_fold_impl.hpp
+++ /dev/null
@@ -1,231 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
- long N
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl;
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef fwd_state0 bkwd_state0;
- typedef bkwd_state0 state;
- typedef iter0 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
-
-
- typedef fwd_state1 bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
- typedef bkwd_state0 state;
- typedef iter1 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
-
-
- typedef fwd_state2 bkwd_state2;
- typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter2 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
-
-
- typedef fwd_state3 bkwd_state3;
- typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
- typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter3 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef fwd_state4 bkwd_state4;
- typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;
- typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
- typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter4 iterator;
-};
-
-template<
- long N
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef reverse_fold_impl<
- ( (N - 4) < 0 ? 0 : N - 4 )
- , iter4
- , Last
- , fwd_state4
- , BackwardOp
- , ForwardOp
- > nested_chunk;
-
- typedef typename nested_chunk::state bkwd_state4;
- typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;
- typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
- typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef typename nested_chunk::iterator iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef reverse_fold_impl<
- -1
- , typename mpl::next<First>::type
- , Last
- , typename apply2<ForwardOp,State, typename deref<First>::type>::type
- , BackwardOp
- , ForwardOp
- > nested_step;
-
- typedef typename apply2<
- BackwardOp
- , typename nested_step::state
- , typename deref<First>::type
- >::type state;
-
- typedef typename nested_step::iterator iterator;
-};
-
-template<
- typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp >
-{
- typedef State state;
- typedef Last iterator;
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/gcc/reverse_iter_fold_impl.hpp b/boost/mpl/aux_/preprocessed/gcc/reverse_iter_fold_impl.hpp
deleted file mode 100644
index 658f92a..0000000
--- a/boost/mpl/aux_/preprocessed/gcc/reverse_iter_fold_impl.hpp
+++ /dev/null
@@ -1,231 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
- long N
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl;
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef fwd_state0 bkwd_state0;
- typedef bkwd_state0 state;
- typedef iter0 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
-
-
- typedef fwd_state1 bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
- typedef bkwd_state0 state;
- typedef iter1 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
-
-
- typedef fwd_state2 bkwd_state2;
- typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter2 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
-
-
- typedef fwd_state3 bkwd_state3;
- typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
- typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter3 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef fwd_state4 bkwd_state4;
- typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;
- typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
- typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter4 iterator;
-};
-
-template<
- long N
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef reverse_iter_fold_impl<
- ( (N - 4) < 0 ? 0 : N - 4 )
- , iter4
- , Last
- , fwd_state4
- , BackwardOp
- , ForwardOp
- > nested_chunk;
-
- typedef typename nested_chunk::state bkwd_state4;
- typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;
- typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
- typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef typename nested_chunk::iterator iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef reverse_iter_fold_impl<
- -1
- , typename mpl::next<First>::type
- , Last
- , typename apply2< ForwardOp,State,First >::type
- , BackwardOp
- , ForwardOp
- > nested_step;
-
- typedef typename apply2<
- BackwardOp
- , typename nested_step::state
- , First
- >::type state;
-
- typedef typename nested_step::iterator iterator;
-};
-
-template<
- typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp >
-{
- typedef State state;
- typedef Last iterator;
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/gcc/set.hpp b/boost/mpl/aux_/preprocessed/gcc/set.hpp
deleted file mode 100644
index 5721922..0000000
--- a/boost/mpl/aux_/preprocessed/gcc/set.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/set.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct set;
-
-template<
-
- >
-struct set<
- na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set0< >
-{
- typedef set0< >::type type;
-};
-
-template<
- typename T0
- >
-struct set<
- T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set1<T0>
-{
- typedef typename set1<T0>::type type;
-};
-
-template<
- typename T0, typename T1
- >
-struct set<
- T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set2< T0,T1 >
-{
- typedef typename set2< T0,T1 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct set<
- T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set3< T0,T1,T2 >
-{
- typedef typename set3< T0,T1,T2 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct set<
- T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set4< T0,T1,T2,T3 >
-{
- typedef typename set4< T0,T1,T2,T3 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct set<
- T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set5< T0,T1,T2,T3,T4 >
-{
- typedef typename set5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct set<
- T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set6< T0,T1,T2,T3,T4,T5 >
-{
- typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set7< T0,T1,T2,T3,T4,T5,T6 >
-{
- typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
- typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
- typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
- , na, na, na
- >
- : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
- typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
- , na, na, na
- >
- : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
- typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
- , na, na, na, na
- >
- : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
- typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
- , na, na, na, na
- >
- : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
- typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
- , na, na, na, na
- >
- : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
- typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
- , na, na, na, na
- >
- : set15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >
-{
- typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, na, na, na, na
- >
- : set16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15
- >
-{
- typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, na, na, na
- >
- : set17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16
- >
-{
- typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, na, na
- >
- : set18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17
- >
-{
- typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, na
- >
- : set19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18
- >
-{
- typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct set
- : set20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, T19
- >
-{
- typedef typename set20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/gcc/set_c.hpp b/boost/mpl/aux_/preprocessed/gcc/set_c.hpp
deleted file mode 100644
index cbeb932..0000000
--- a/boost/mpl/aux_/preprocessed/gcc/set_c.hpp
+++ /dev/null
@@ -1,328 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/set_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
- , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
- , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
- , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
- , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
- , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
- , long C18 = LONG_MAX, long C19 = LONG_MAX
- >
-struct set_c;
-
-template<
- typename T
- >
-struct set_c<
- T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set0_c<T>
-{
- typedef typename set0_c<T>::type type;
-};
-
-template<
- typename T, long C0
- >
-struct set_c<
- T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set1_c< T,C0 >
-{
- typedef typename set1_c< T,C0 >::type type;
-};
-
-template<
- typename T, long C0, long C1
- >
-struct set_c<
- T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set2_c< T,C0,C1 >
-{
- typedef typename set2_c< T,C0,C1 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2
- >
-struct set_c<
- T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set3_c< T,C0,C1,C2 >
-{
- typedef typename set3_c< T,C0,C1,C2 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3
- >
-struct set_c<
- T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set4_c< T,C0,C1,C2,C3 >
-{
- typedef typename set4_c< T,C0,C1,C2,C3 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set5_c< T,C0,C1,C2,C3,C4 >
-{
- typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set6_c< T,C0,C1,C2,C3,C4,C5 >
-{
- typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set7_c< T,C0,C1,C2,C3,C4,C5,C6 >
-{
- typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX
- >
- : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >
-{
- typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >
-{
- typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >
-{
- typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >
-{
- typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >
-{
- typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >
-{
- typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set14_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- >
-{
- typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set15_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- >
-{
- typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set16_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15
- >
-{
- typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set17_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16
- >
-{
- typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, LONG_MAX, LONG_MAX
- >
- : set18_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17
- >
-{
- typedef typename set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18, LONG_MAX
- >
- : set19_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18
- >
-{
- typedef typename set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
-struct set_c
- : set20_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18, C19
- >
-{
- typedef typename set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/gcc/shift_left.hpp b/boost/mpl/aux_/preprocessed/gcc/shift_left.hpp
deleted file mode 100644
index b5b181c..0000000
--- a/boost/mpl/aux_/preprocessed/gcc/shift_left.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// Preprocessed version of "boost/mpl/shift_left.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct shift_left_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct shift_left_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct shift_left_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct shift_left_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct shift_left_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct shift_left
-
- : shift_left_impl<
- typename shift_left_tag<N1>::type
- , typename shift_left_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct shift_left_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N, typename S > struct apply
-
- : integral_c<
- typename N::value_type
- , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
- << BOOST_MPL_AUX_VALUE_WKND(S)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/gcc/shift_right.hpp b/boost/mpl/aux_/preprocessed/gcc/shift_right.hpp
deleted file mode 100644
index f7a342e..0000000
--- a/boost/mpl/aux_/preprocessed/gcc/shift_right.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// Preprocessed version of "boost/mpl/shift_right.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct shift_right_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct shift_right_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct shift_right_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct shift_right_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct shift_right_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct shift_right
-
- : shift_right_impl<
- typename shift_right_tag<N1>::type
- , typename shift_right_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct shift_right_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N, typename S > struct apply
-
- : integral_c<
- typename N::value_type
- , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
- >> BOOST_MPL_AUX_VALUE_WKND(S)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp b/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp
deleted file mode 100644
index daec4b8..0000000
--- a/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// *Preprocessed* version of the main "template_arity.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-template< int N > struct arity_tag
-{
- typedef char (&type)[N + 1];
-};
-
-template<
- int C1, int C2, int C3, int C4, int C5, int C6
- >
-struct max_arity
-{
- BOOST_STATIC_CONSTANT(int, value =
- ( C6 > 0 ? C6 : ( C5 > 0 ? C5 : ( C4 > 0 ? C4 : ( C3 > 0 ? C3 : ( C2 > 0 ? C2 : ( C1 > 0 ? C1 : -1 ) ) ) ) ) )
- );
-};
-
-arity_tag<0>::type arity_helper(...);
-
-template<
- template< typename P1 > class F
- , typename T1
- >
-typename arity_tag<1>::type
-arity_helper(type_wrapper< F<T1> >, arity_tag<1>);
-
-template<
- template< typename P1, typename P2 > class F
- , typename T1, typename T2
- >
-typename arity_tag<2>::type
-arity_helper(type_wrapper< F< T1,T2 > >, arity_tag<2>);
-
-template<
- template< typename P1, typename P2, typename P3 > class F
- , typename T1, typename T2, typename T3
- >
-typename arity_tag<3>::type
-arity_helper(type_wrapper< F< T1,T2,T3 > >, arity_tag<3>);
-
-template<
- template< typename P1, typename P2, typename P3, typename P4 > class F
- , typename T1, typename T2, typename T3, typename T4
- >
-typename arity_tag<4>::type
-arity_helper(type_wrapper< F< T1,T2,T3,T4 > >, arity_tag<4>);
-
-template<
- template<
- typename P1, typename P2, typename P3, typename P4
- , typename P5
- >
- class F
- , typename T1, typename T2, typename T3, typename T4, typename T5
- >
-typename arity_tag<5>::type
-arity_helper(type_wrapper< F< T1,T2,T3,T4,T5 > >, arity_tag<5>);
-
-template<
- template<
- typename P1, typename P2, typename P3, typename P4
- , typename P5, typename P6
- >
- class F
- , typename T1, typename T2, typename T3, typename T4, typename T5
- , typename T6
- >
-typename arity_tag<6>::type
-arity_helper(type_wrapper< F< T1,T2,T3,T4,T5,T6 > >, arity_tag<6>);
-template< typename F, int N >
-struct template_arity_impl
-{
- BOOST_STATIC_CONSTANT(int, value =
- sizeof(::boost::mpl::aux::arity_helper(type_wrapper<F>(), arity_tag<N>())) - 1
- );
-};
-
-template< typename F >
-struct template_arity
-{
- BOOST_STATIC_CONSTANT(int, value = (
- max_arity< template_arity_impl< F,1 >::value, template_arity_impl< F,2 >::value, template_arity_impl< F,3 >::value, template_arity_impl< F,4 >::value, template_arity_impl< F,5 >::value, template_arity_impl< F,6 >::value >::value
- ));
- typedef mpl::int_<value> type;
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/gcc/times.hpp b/boost/mpl/aux_/preprocessed/gcc/times.hpp
deleted file mode 100644
index cb97cc4..0000000
--- a/boost/mpl/aux_/preprocessed/gcc/times.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/times.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct times_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct times_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct times_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct times_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct times_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct times
- : times< times< times< times< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , times
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct times< N1,N2,N3,N4,na >
-
- : times< times< times< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , times
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct times< N1,N2,N3,na,na >
-
- : times< times< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , times
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct times< N1,N2,na,na,na >
- : times_impl<
- typename times_tag<N1>::type
- , typename times_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , times
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, times)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct times_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- * BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/gcc/unpack_args.hpp b/boost/mpl/aux_/preprocessed/gcc/unpack_args.hpp
deleted file mode 100644
index 2194ce9..0000000
--- a/boost/mpl/aux_/preprocessed/gcc/unpack_args.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/unpack_args.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< int size, typename F, typename Args >
-struct unpack_args_impl;
-
-template< typename F, typename Args >
-struct unpack_args_impl< 0,F,Args >
- : apply0<
- F
- >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 1,F,Args >
- : apply1<
- F
- , typename at_c< Args,0 >::type
- >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 2,F,Args >
- : apply2<
- F
- , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
- >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 3,F,Args >
- : apply3<
- F
- , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
- , typename at_c< Args,2 >::type
- >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 4,F,Args >
- : apply4<
- F
- , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
- , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
- >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 5,F,Args >
- : apply5<
- F
- , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
- , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
- , typename at_c< Args,4 >::type
- >
-{
-};
-
-}
-
-template<
- typename F
- >
-struct unpack_args
-{
- template< typename Args > struct apply
-
- : aux::unpack_args_impl< size<Args>::value,F, Args >
-
- {
- };
-};
-
-BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/gcc/vector.hpp b/boost/mpl/aux_/preprocessed/gcc/vector.hpp
deleted file mode 100644
index bfa9565..0000000
--- a/boost/mpl/aux_/preprocessed/gcc/vector.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/vector.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct vector;
-
-template<
-
- >
-struct vector<
- na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector0< >
-{
- typedef vector0< >::type type;
-};
-
-template<
- typename T0
- >
-struct vector<
- T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector1<T0>
-{
- typedef typename vector1<T0>::type type;
-};
-
-template<
- typename T0, typename T1
- >
-struct vector<
- T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector2< T0,T1 >
-{
- typedef typename vector2< T0,T1 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct vector<
- T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector3< T0,T1,T2 >
-{
- typedef typename vector3< T0,T1,T2 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct vector<
- T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector4< T0,T1,T2,T3 >
-{
- typedef typename vector4< T0,T1,T2,T3 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct vector<
- T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector5< T0,T1,T2,T3,T4 >
-{
- typedef typename vector5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector6< T0,T1,T2,T3,T4,T5 >
-{
- typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector7< T0,T1,T2,T3,T4,T5,T6 >
-{
- typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
- typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
- typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
- typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
- , na, na, na
- >
- : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
- typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
- , na, na, na, na
- >
- : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
- typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
- , na, na, na, na
- >
- : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
- typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
- , na, na, na, na
- >
- : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
- typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
- , na, na, na, na
- >
- : vector15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >
-{
- typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, na, na, na, na
- >
- : vector16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15
- >
-{
- typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, na, na, na
- >
- : vector17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16
- >
-{
- typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, na, na
- >
- : vector18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17
- >
-{
- typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, na
- >
- : vector19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18
- >
-{
- typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct vector
- : vector20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, T19
- >
-{
- typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/gcc/vector_c.hpp b/boost/mpl/aux_/preprocessed/gcc/vector_c.hpp
deleted file mode 100644
index 0f1560d..0000000
--- a/boost/mpl/aux_/preprocessed/gcc/vector_c.hpp
+++ /dev/null
@@ -1,309 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/vector_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
- , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
- , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
- , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
- , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
- , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
- , long C18 = LONG_MAX, long C19 = LONG_MAX
- >
-struct vector_c;
-
-template<
- typename T
- >
-struct vector_c<
- T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector0_c<T>
-{
- typedef typename vector0_c<T>::type type;
-};
-
-template<
- typename T, long C0
- >
-struct vector_c<
- T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector1_c< T, T(C0) >
-{
- typedef typename vector1_c< T, T(C0) >::type type;
-};
-
-template<
- typename T, long C0, long C1
- >
-struct vector_c<
- T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector2_c< T, T(C0), T(C1) >
-{
- typedef typename vector2_c< T, T(C0), T(C1) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2
- >
-struct vector_c<
- T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector3_c< T, T(C0), T(C1), T(C2) >
-{
- typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3
- >
-struct vector_c<
- T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector4_c< T, T(C0), T(C1), T(C2), T(C3) >
-{
- typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >
-{
- typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >
-{
- typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >
-{
- typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX
- >
- : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >
-{
- typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >
-{
- typedef typename vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >
-{
- typedef typename vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >
-{
- typedef typename vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >
-{
- typedef typename vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >
-{
- typedef typename vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >
-{
- typedef typename vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >
-{
- typedef typename vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >
-{
- typedef typename vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >
-{
- typedef typename vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, LONG_MAX, LONG_MAX
- >
- : vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >
-{
- typedef typename vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18, LONG_MAX
- >
- : vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >
-{
- typedef typename vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
-struct vector_c
- : vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >
-{
- typedef typename vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/msvc60/advance_backward.hpp b/boost/mpl/aux_/preprocessed/msvc60/advance_backward.hpp
deleted file mode 100644
index 36337c8..0000000
--- a/boost/mpl/aux_/preprocessed/msvc60/advance_backward.hpp
+++ /dev/null
@@ -1,132 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< long N > struct advance_backward;
-template<>
-struct advance_backward<0>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef iter0 type;
- };
-
- /// ETI workaround
- template<> struct apply<int>
- {
- typedef int type;
- };
-
-};
-
-template<>
-struct advance_backward<1>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename prior<iter0>::type iter1;
- typedef iter1 type;
- };
-
- /// ETI workaround
- template<> struct apply<int>
- {
- typedef int type;
- };
-
-};
-
-template<>
-struct advance_backward<2>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename prior<iter0>::type iter1;
- typedef typename prior<iter1>::type iter2;
- typedef iter2 type;
- };
-
- /// ETI workaround
- template<> struct apply<int>
- {
- typedef int type;
- };
-
-};
-
-template<>
-struct advance_backward<3>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename prior<iter0>::type iter1;
- typedef typename prior<iter1>::type iter2;
- typedef typename prior<iter2>::type iter3;
- typedef iter3 type;
- };
-
- /// ETI workaround
- template<> struct apply<int>
- {
- typedef int type;
- };
-
-};
-
-template<>
-struct advance_backward<4>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename prior<iter0>::type iter1;
- typedef typename prior<iter1>::type iter2;
- typedef typename prior<iter2>::type iter3;
- typedef typename prior<iter3>::type iter4;
- typedef iter4 type;
- };
-
- /// ETI workaround
- template<> struct apply<int>
- {
- typedef int type;
- };
-
-};
-
-template< long N >
-struct advance_backward
-{
- template< typename Iterator > struct apply
- {
- typedef typename apply_wrap1<
- advance_backward<4>
- , Iterator
- >::type chunk_result_;
-
- typedef typename apply_wrap1<
- advance_backward<(
- (N - 4) < 0
- ? 0
- : N - 4
- )>
- , chunk_result_
- >::type type;
- };
-};
-
-}}}
-
diff --git a/boost/mpl/aux_/preprocessed/msvc60/advance_forward.hpp b/boost/mpl/aux_/preprocessed/msvc60/advance_forward.hpp
deleted file mode 100644
index 4ffbe78..0000000
--- a/boost/mpl/aux_/preprocessed/msvc60/advance_forward.hpp
+++ /dev/null
@@ -1,132 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< long N > struct advance_forward;
-template<>
-struct advance_forward<0>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef iter0 type;
- };
-
- /// ETI workaround
- template<> struct apply<int>
- {
- typedef int type;
- };
-
-};
-
-template<>
-struct advance_forward<1>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename next<iter0>::type iter1;
- typedef iter1 type;
- };
-
- /// ETI workaround
- template<> struct apply<int>
- {
- typedef int type;
- };
-
-};
-
-template<>
-struct advance_forward<2>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename next<iter0>::type iter1;
- typedef typename next<iter1>::type iter2;
- typedef iter2 type;
- };
-
- /// ETI workaround
- template<> struct apply<int>
- {
- typedef int type;
- };
-
-};
-
-template<>
-struct advance_forward<3>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename next<iter0>::type iter1;
- typedef typename next<iter1>::type iter2;
- typedef typename next<iter2>::type iter3;
- typedef iter3 type;
- };
-
- /// ETI workaround
- template<> struct apply<int>
- {
- typedef int type;
- };
-
-};
-
-template<>
-struct advance_forward<4>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename next<iter0>::type iter1;
- typedef typename next<iter1>::type iter2;
- typedef typename next<iter2>::type iter3;
- typedef typename next<iter3>::type iter4;
- typedef iter4 type;
- };
-
- /// ETI workaround
- template<> struct apply<int>
- {
- typedef int type;
- };
-
-};
-
-template< long N >
-struct advance_forward
-{
- template< typename Iterator > struct apply
- {
- typedef typename apply_wrap1<
- advance_forward<4>
- , Iterator
- >::type chunk_result_;
-
- typedef typename apply_wrap1<
- advance_forward<(
- (N - 4) < 0
- ? 0
- : N - 4
- )>
- , chunk_result_
- >::type type;
- };
-};
-
-}}}
-
diff --git a/boost/mpl/aux_/preprocessed/msvc60/and.hpp b/boost/mpl/aux_/preprocessed/msvc60/and.hpp
deleted file mode 100644
index 555c800..0000000
--- a/boost/mpl/aux_/preprocessed/msvc60/and.hpp
+++ /dev/null
@@ -1,73 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/and.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< bool C_ > struct and_impl
-{
- template<
- typename T1, typename T2, typename T3, typename T4
- >
- struct result_
- : false_
- {
- };
-};
-
-template<> struct and_impl<true>
-{
- template<
- typename T1, typename T2, typename T3, typename T4
- >
- struct result_
- : and_impl<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
- >::template result_< T2,T3,T4,true_ >
- {
- };
-};
-
-template<>
-struct and_impl<true>
- ::result_< true_,true_,true_,true_ >
- : true_
-{
-};
-
-} // namespace aux
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(T1)
- , typename BOOST_MPL_AUX_NA_PARAM(T2)
- , typename T3 = true_, typename T4 = true_, typename T5 = true_
- >
-struct and_
-
- : aux::and_impl<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
- >::template result_< T2,T3,T4,T5 >
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , and_
- , ( T1, T2, T3, T4, T5)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC2(
- 2
- , 5
- , and_
- )
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/msvc60/apply.hpp b/boost/mpl/aux_/preprocessed/msvc60/apply.hpp
deleted file mode 100644
index a3e2929..0000000
--- a/boost/mpl/aux_/preprocessed/msvc60/apply.hpp
+++ /dev/null
@@ -1,166 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/apply.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename F
- >
-struct apply0
-
-{
- typedef typename apply_wrap0<
- typename lambda<F>::type
-
- >::type type;
-
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 1
- , apply0
- , (F )
- )
-};
-
-/// workaround for ETI bug
-template<>
-struct apply0<int>
-{
- typedef int type;
-};
-
-template<
- typename F, typename T1
- >
-struct apply1
-
-{
- typedef typename apply_wrap1<
- typename lambda<F>::type
- , T1
- >::type type;
-
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 2
- , apply1
- , (F, T1)
- )
-};
-
-/// workaround for ETI bug
-template<>
-struct apply1< int,int >
-{
- typedef int type;
-};
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply2
-
-{
- typedef typename apply_wrap2<
- typename lambda<F>::type
- , T1, T2
- >::type type;
-
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 3
- , apply2
- , (F, T1, T2)
- )
-};
-
-/// workaround for ETI bug
-template<>
-struct apply2< int,int,int >
-{
- typedef int type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply3
-
-{
- typedef typename apply_wrap3<
- typename lambda<F>::type
- , T1, T2, T3
- >::type type;
-
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 4
- , apply3
- , (F, T1, T2, T3)
- )
-};
-
-/// workaround for ETI bug
-template<>
-struct apply3< int,int,int,int >
-{
- typedef int type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply4
-
-{
- typedef typename apply_wrap4<
- typename lambda<F>::type
- , T1, T2, T3, T4
- >::type type;
-
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , apply4
- , (F, T1, T2, T3, T4)
- )
-};
-
-/// workaround for ETI bug
-template<>
-struct apply4< int,int,int,int,int >
-{
- typedef int type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct apply5
-
-{
- typedef typename apply_wrap5<
- typename lambda<F>::type
- , T1, T2, T3, T4, T5
- >::type type;
-
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 6
- , apply5
- , (F, T1, T2, T3, T4, T5)
- )
-};
-
-/// workaround for ETI bug
-template<>
-struct apply5< int,int,int,int,int,int >
-{
- typedef int type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/msvc60/apply_fwd.hpp b/boost/mpl/aux_/preprocessed/msvc60/apply_fwd.hpp
deleted file mode 100644
index f0f86c1..0000000
--- a/boost/mpl/aux_/preprocessed/msvc60/apply_fwd.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/apply_fwd.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename F
- >
-struct apply0;
-
-template<
- typename F, typename T1
- >
-struct apply1;
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply2;
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply3;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply4;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct apply5;
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/msvc60/apply_wrap.hpp b/boost/mpl/aux_/preprocessed/msvc60/apply_wrap.hpp
deleted file mode 100644
index 4e89507..0000000
--- a/boost/mpl/aux_/preprocessed/msvc60/apply_wrap.hpp
+++ /dev/null
@@ -1,247 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/apply_wrap.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template< typename F>
-struct msvc_apply0
-{
- template< bool > struct f_ : F {};
- template<> struct f_<true>
- {
- template< typename P = int > struct apply
- {
- typedef int type;
- };
- };
-
- template< typename T = int > struct result_
- : f_< aux::msvc_never_true<F>::value >
- ::template apply<>
- {
- };
-
-};
-
-template<
- typename F
- >
-struct apply_wrap0
-{
- typedef typename msvc_apply0<F>::template result_<
-
- >::type type;
-};
-
-/// workaround for ETI bug
-template<>
-struct apply_wrap0<int>
-{
- typedef int type;
-};
-
-template< typename F>
-struct msvc_apply1
-{
- template< bool > struct f_ : F {};
- template<> struct f_<true>
- {
- template< typename P1 > struct apply
- {
- typedef int type;
- };
- };
-
- template< typename T1 > struct result_
- : f_< aux::msvc_never_true<F>::value >
- ::template apply<T1>
- {
- };
-};
-
-template<
- typename F, typename T1
- >
-struct apply_wrap1
-{
- typedef typename msvc_apply1<F>::template result_<
- T1
- >::type type;
-};
-
-/// workaround for ETI bug
-template<>
-struct apply_wrap1< int,int >
-{
- typedef int type;
-};
-
-template< typename F>
-struct msvc_apply2
-{
- template< bool > struct f_ : F {};
- template<> struct f_<true>
- {
- template< typename P1, typename P2 > struct apply
- {
- typedef int type;
- };
- };
-
- template< typename T1, typename T2 > struct result_
- : f_< aux::msvc_never_true<F>::value >
- ::template apply< T1,T2 >
- {
- };
-};
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply_wrap2
-{
- typedef typename msvc_apply2<F>::template result_<
- T1, T2
- >::type type;
-};
-
-/// workaround for ETI bug
-template<>
-struct apply_wrap2< int,int,int >
-{
- typedef int type;
-};
-
-template< typename F>
-struct msvc_apply3
-{
- template< bool > struct f_ : F {};
- template<> struct f_<true>
- {
- template< typename P1, typename P2, typename P3 > struct apply
- {
- typedef int type;
- };
- };
-
- template< typename T1, typename T2, typename T3 > struct result_
- : f_< aux::msvc_never_true<F>::value >
- ::template apply< T1,T2,T3 >
- {
- };
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply_wrap3
-{
- typedef typename msvc_apply3<F>::template result_<
- T1, T2, T3
- >::type type;
-};
-
-/// workaround for ETI bug
-template<>
-struct apply_wrap3< int,int,int,int >
-{
- typedef int type;
-};
-
-template< typename F>
-struct msvc_apply4
-{
- template< bool > struct f_ : F {};
- template<> struct f_<true>
- {
- template<
- typename P1, typename P2, typename P3, typename P4
- >
- struct apply
- {
- typedef int type;
- };
- };
-
- template<
- typename T1, typename T2, typename T3, typename T4
- >
- struct result_
- : f_< aux::msvc_never_true<F>::value >
- ::template apply< T1,T2,T3,T4 >
- {
- };
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply_wrap4
-{
- typedef typename msvc_apply4<F>::template result_<
- T1, T2, T3, T4
- >::type type;
-};
-
-/// workaround for ETI bug
-template<>
-struct apply_wrap4< int,int,int,int,int >
-{
- typedef int type;
-};
-
-template< typename F>
-struct msvc_apply5
-{
- template< bool > struct f_ : F {};
- template<> struct f_<true>
- {
- template<
- typename P1, typename P2, typename P3, typename P4
- , typename P5
- >
- struct apply
- {
- typedef int type;
- };
- };
-
- template<
- typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
- struct result_
- : f_< aux::msvc_never_true<F>::value >
- ::template apply< T1,T2,T3,T4,T5 >
- {
- };
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct apply_wrap5
-{
- typedef typename msvc_apply5<F>::template result_<
- T1, T2, T3, T4, T5
- >::type type;
-};
-
-/// workaround for ETI bug
-template<>
-struct apply_wrap5< int,int,int,int,int,int >
-{
- typedef int type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/msvc60/arg.hpp b/boost/mpl/aux_/preprocessed/msvc60/arg.hpp
deleted file mode 100644
index 6f2f8a8..0000000
--- a/boost/mpl/aux_/preprocessed/msvc60/arg.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-
-// Copyright Peter Dimov 2001-2002
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/arg.hpp" header
-// -- DO NOT modify by hand!
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-template<> struct arg< -1 >
-{
- BOOST_STATIC_CONSTANT(int, value = -1);
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U1 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<1>
-{
- BOOST_STATIC_CONSTANT(int, value = 1);
- typedef arg<2> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U1 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<2>
-{
- BOOST_STATIC_CONSTANT(int, value = 2);
- typedef arg<3> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U2 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<3>
-{
- BOOST_STATIC_CONSTANT(int, value = 3);
- typedef arg<4> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U3 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<4>
-{
- BOOST_STATIC_CONSTANT(int, value = 4);
- typedef arg<5> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U4 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<5>
-{
- BOOST_STATIC_CONSTANT(int, value = 5);
- typedef arg<6> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U5 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
diff --git a/boost/mpl/aux_/preprocessed/msvc60/basic_bind.hpp b/boost/mpl/aux_/preprocessed/msvc60/basic_bind.hpp
deleted file mode 100644
index 4f12a40..0000000
--- a/boost/mpl/aux_/preprocessed/msvc60/basic_bind.hpp
+++ /dev/null
@@ -1,328 +0,0 @@
-
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< bool >
-struct resolve_arg_impl
-{
- template<
- typename T, typename U1, typename U2, typename U3
- , typename U4, typename U5
- >
- struct result_
- {
- typedef T type;
- };
-};
-
-template<>
-struct resolve_arg_impl<true>
-{
- template<
- typename T, typename U1, typename U2, typename U3
- , typename U4, typename U5
- >
- struct result_
- {
- typedef typename apply_wrap5<
- T
- , U1, U2, U3, U4, U5
- >::type type;
- };
-};
-
-template< typename T > struct is_bind_template;
-
-template<
- typename T, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg
- : resolve_arg_impl< is_bind_template<T>::value >
- ::template result_< T,U1,U2,U3,U4,U5 >
-{
-};
-
-template< int arity_ > struct bind_chooser;
-
-aux::no_tag is_bind_helper(...);
-template< typename T > aux::no_tag is_bind_helper(protect<T>*);
-
-template< int N >
-aux::yes_tag is_bind_helper(arg<N>*);
-
-template< bool is_ref_ = true >
-struct is_bind_template_impl
-{
- template< typename T > struct result_
- {
- BOOST_STATIC_CONSTANT(bool, value = false);
- };
-};
-
-template<>
-struct is_bind_template_impl<false>
-{
- template< typename T > struct result_
- {
- BOOST_STATIC_CONSTANT(bool, value =
- sizeof(aux::is_bind_helper(static_cast<T*>(0)))
- == sizeof(aux::yes_tag)
- );
- };
-};
-
-template< typename T > struct is_bind_template
- : is_bind_template_impl< ::boost::detail::is_reference_impl<T>::value >
- ::template result_<T>
-{
-};
-
-} // namespace aux
-
-template<
- typename F
- >
-struct bind0
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-
- public:
- typedef typename apply_wrap0<
- f_
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F
- >
-aux::yes_tag
-is_bind_helper(bind0<F>*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
-
-template<
- typename F, typename T1
- >
-struct bind1
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-
- public:
- typedef typename apply_wrap1<
- f_
- , typename t1::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1
- >
-aux::yes_tag
-is_bind_helper(bind1< F,T1 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
-
-template<
- typename F, typename T1, typename T2
- >
-struct bind2
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-
- public:
- typedef typename apply_wrap2<
- f_
- , typename t1::type, typename t2::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2
- >
-aux::yes_tag
-is_bind_helper(bind2< F,T1,T2 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct bind3
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
- typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-
- public:
- typedef typename apply_wrap3<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-aux::yes_tag
-is_bind_helper(bind3< F,T1,T2,T3 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct bind4
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
- typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
- typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
-
- public:
- typedef typename apply_wrap4<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- , typename t4::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-aux::yes_tag
-is_bind_helper(bind4< F,T1,T2,T3,T4 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct bind5
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
- typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
- typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
- typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5;
-
- public:
- typedef typename apply_wrap5<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- , typename t4::type, typename t5::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-aux::yes_tag
-is_bind_helper(bind5< F,T1,T2,T3,T4,T5 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/msvc60/bind.hpp b/boost/mpl/aux_/preprocessed/msvc60/bind.hpp
deleted file mode 100644
index 53c76e8..0000000
--- a/boost/mpl/aux_/preprocessed/msvc60/bind.hpp
+++ /dev/null
@@ -1,432 +0,0 @@
-
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/bind.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< bool >
-struct resolve_arg_impl
-{
- template<
- typename T, typename U1, typename U2, typename U3
- , typename U4, typename U5
- >
- struct result_
- {
- typedef T type;
- };
-};
-
-template<>
-struct resolve_arg_impl<true>
-{
- template<
- typename T, typename U1, typename U2, typename U3
- , typename U4, typename U5
- >
- struct result_
- {
- typedef typename apply_wrap5<
- T
- , U1, U2, U3, U4, U5
- >::type type;
- };
-};
-
-template< typename T > struct is_bind_template;
-
-template<
- typename T, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg
- : resolve_arg_impl< is_bind_template<T>::value >
- ::template result_< T,U1,U2,U3,U4,U5 >
-{
-};
-
-template< typename T >
-struct replace_unnamed_arg_impl
-{
- template< typename Arg > struct result_
- {
- typedef Arg next;
- typedef T type;
- };
-};
-
-template<>
-struct replace_unnamed_arg_impl< arg< -1 > >
-{
- template< typename Arg > struct result_
- {
- typedef typename next<Arg>::type next;
- typedef Arg type;
- };
-};
-
-template< typename T, typename Arg >
-struct replace_unnamed_arg
- : replace_unnamed_arg_impl<T>::template result_<Arg>
-{
-};
-
-template< int arity_ > struct bind_chooser;
-
-aux::no_tag is_bind_helper(...);
-template< typename T > aux::no_tag is_bind_helper(protect<T>*);
-
-template< int N >
-aux::yes_tag is_bind_helper(arg<N>*);
-
-template< bool is_ref_ = true >
-struct is_bind_template_impl
-{
- template< typename T > struct result_
- {
- BOOST_STATIC_CONSTANT(bool, value = false);
- };
-};
-
-template<>
-struct is_bind_template_impl<false>
-{
- template< typename T > struct result_
- {
- BOOST_STATIC_CONSTANT(bool, value =
- sizeof(aux::is_bind_helper(static_cast<T*>(0)))
- == sizeof(aux::yes_tag)
- );
- };
-};
-
-template< typename T > struct is_bind_template
- : is_bind_template_impl< ::boost::detail::is_reference_impl<T>::value >
- ::template result_<T>
-{
-};
-
-} // namespace aux
-
-template<
- typename F
- >
-struct bind0
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- public:
- typedef typename apply_wrap0<
- f_
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F
- >
-aux::yes_tag
-is_bind_helper(bind0<F>*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
-
-template<
- typename F, typename T1
- >
-struct bind1
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- public:
- typedef typename apply_wrap1<
- f_
- , typename t1::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1
- >
-aux::yes_tag
-is_bind_helper(bind1< F,T1 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
-
-template<
- typename F, typename T1, typename T2
- >
-struct bind2
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- public:
- typedef typename apply_wrap2<
- f_
- , typename t1::type, typename t2::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2
- >
-aux::yes_tag
-is_bind_helper(bind2< F,T1,T2 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct bind3
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- typedef aux::replace_unnamed_arg< T3,n3 > r3;
- typedef typename r3::type a3;
- typedef typename r3::next n4;
- typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
- ///
- public:
- typedef typename apply_wrap3<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-aux::yes_tag
-is_bind_helper(bind3< F,T1,T2,T3 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct bind4
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- typedef aux::replace_unnamed_arg< T3,n3 > r3;
- typedef typename r3::type a3;
- typedef typename r3::next n4;
- typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
- ///
- typedef aux::replace_unnamed_arg< T4,n4 > r4;
- typedef typename r4::type a4;
- typedef typename r4::next n5;
- typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
- ///
- public:
- typedef typename apply_wrap4<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- , typename t4::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-aux::yes_tag
-is_bind_helper(bind4< F,T1,T2,T3,T4 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct bind5
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- typedef aux::replace_unnamed_arg< T3,n3 > r3;
- typedef typename r3::type a3;
- typedef typename r3::next n4;
- typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
- ///
- typedef aux::replace_unnamed_arg< T4,n4 > r4;
- typedef typename r4::type a4;
- typedef typename r4::next n5;
- typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
- ///
- typedef aux::replace_unnamed_arg< T5,n5 > r5;
- typedef typename r5::type a5;
- typedef typename r5::next n6;
- typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5;
- ///
- public:
- typedef typename apply_wrap5<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- , typename t4::type, typename t5::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-aux::yes_tag
-is_bind_helper(bind5< F,T1,T2,T3,T4,T5 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/msvc60/bind_fwd.hpp b/boost/mpl/aux_/preprocessed/msvc60/bind_fwd.hpp
deleted file mode 100644
index 022cba3..0000000
--- a/boost/mpl/aux_/preprocessed/msvc60/bind_fwd.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/bind_fwd.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename F
- >
-struct bind0;
-
-template<
- typename F, typename T1
- >
-struct bind1;
-
-template<
- typename F, typename T1, typename T2
- >
-struct bind2;
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct bind3;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct bind4;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct bind5;
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/msvc60/bitand.hpp b/boost/mpl/aux_/preprocessed/msvc60/bitand.hpp
deleted file mode 100644
index e96cf1a..0000000
--- a/boost/mpl/aux_/preprocessed/msvc60/bitand.hpp
+++ /dev/null
@@ -1,149 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// Preprocessed version of "boost/mpl/bitand.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
-
- , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
- , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
- >
-struct bitand_impl
- : if_c<
- ( tag1_ > tag2_ )
- , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitand_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct bitand_impl< na,integral_c_tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct bitand_impl< integral_c_tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct bitand_tag
-{
- typedef typename T::tag type;
-};
-
-/// forward declaration
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct bitand_2;
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct bitand_
-
- : if_<
-
- is_na<N3>
- , bitand_2< N1,N2 >
- , bitand_<
- bitand_2< N1,N2 >
- , N3, N4, N5
- >
- >::type
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , bitand_
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1
- , typename N2
- >
-struct bitand_2
- : aux::msvc_eti_base< typename apply_wrap2<
- bitand_impl<
- typename bitand_tag<N1>::type
- , typename bitand_tag<N2>::type
- >
- , N1
- , N2
- >::type >::type
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitand_2, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, T n1, T n2 >
-struct bitand_wknd
-{
- BOOST_STATIC_CONSTANT(T, value = (n1 & n2));
- typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct bitand_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
- : aux::bitand_wknd<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , N1::value
- , N2::value
- >::type
-
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/msvc60/bitor.hpp b/boost/mpl/aux_/preprocessed/msvc60/bitor.hpp
deleted file mode 100644
index bbc96ab..0000000
--- a/boost/mpl/aux_/preprocessed/msvc60/bitor.hpp
+++ /dev/null
@@ -1,149 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// Preprocessed version of "boost/mpl/bitor.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
-
- , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
- , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
- >
-struct bitor_impl
- : if_c<
- ( tag1_ > tag2_ )
- , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitor_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct bitor_impl< na,integral_c_tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct bitor_impl< integral_c_tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct bitor_tag
-{
- typedef typename T::tag type;
-};
-
-/// forward declaration
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct bitor_2;
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct bitor_
-
- : if_<
-
- is_na<N3>
- , bitor_2< N1,N2 >
- , bitor_<
- bitor_2< N1,N2 >
- , N3, N4, N5
- >
- >::type
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , bitor_
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1
- , typename N2
- >
-struct bitor_2
- : aux::msvc_eti_base< typename apply_wrap2<
- bitor_impl<
- typename bitor_tag<N1>::type
- , typename bitor_tag<N2>::type
- >
- , N1
- , N2
- >::type >::type
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitor_2, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, T n1, T n2 >
-struct bitor_wknd
-{
- BOOST_STATIC_CONSTANT(T, value = (n1 | n2));
- typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct bitor_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
- : aux::bitor_wknd<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , N1::value
- , N2::value
- >::type
-
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/msvc60/bitxor.hpp b/boost/mpl/aux_/preprocessed/msvc60/bitxor.hpp
deleted file mode 100644
index 4c14297..0000000
--- a/boost/mpl/aux_/preprocessed/msvc60/bitxor.hpp
+++ /dev/null
@@ -1,149 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// Preprocessed version of "boost/mpl/bitxor.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
-
- , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
- , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
- >
-struct bitxor_impl
- : if_c<
- ( tag1_ > tag2_ )
- , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitxor_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct bitxor_impl< na,integral_c_tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct bitxor_impl< integral_c_tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct bitxor_tag
-{
- typedef typename T::tag type;
-};
-
-/// forward declaration
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct bitxor_2;
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct bitxor_
-
- : if_<
-
- is_na<N3>
- , bitxor_2< N1,N2 >
- , bitxor_<
- bitxor_2< N1,N2 >
- , N3, N4, N5
- >
- >::type
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , bitxor_
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1
- , typename N2
- >
-struct bitxor_2
- : aux::msvc_eti_base< typename apply_wrap2<
- bitxor_impl<
- typename bitxor_tag<N1>::type
- , typename bitxor_tag<N2>::type
- >
- , N1
- , N2
- >::type >::type
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitxor_2, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, T n1, T n2 >
-struct bitxor_wknd
-{
- BOOST_STATIC_CONSTANT(T, value = (n1 ^ n2));
- typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct bitxor_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
- : aux::bitxor_wknd<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , N1::value
- , N2::value
- >::type
-
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/msvc60/deque.hpp b/boost/mpl/aux_/preprocessed/msvc60/deque.hpp
deleted file mode 100644
index a0445d9..0000000
--- a/boost/mpl/aux_/preprocessed/msvc60/deque.hpp
+++ /dev/null
@@ -1,556 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/deque.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< int N >
-struct deque_chooser;
-
-}
-
-namespace aux {
-
-template<>
-struct deque_chooser<0>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef vector0<
-
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<1>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector1<
- T0
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<2>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector2<
- T0, T1
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<3>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector3<
- T0, T1, T2
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<4>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector4<
- T0, T1, T2, T3
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<5>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector5<
- T0, T1, T2, T3, T4
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<6>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector6<
- T0, T1, T2, T3, T4, T5
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<7>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector7<
- T0, T1, T2, T3, T4, T5, T6
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<8>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector8<
- T0, T1, T2, T3, T4, T5, T6, T7
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<9>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector9<
- T0, T1, T2, T3, T4, T5, T6, T7, T8
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<10>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector10<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<11>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector11<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<12>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector12<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<13>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector13<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<14>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector14<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<15>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<16>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<17>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<18>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<19>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<20>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< typename T >
-struct is_deque_arg
-{
- BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template<>
-struct is_deque_arg<na>
-{
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template<
- typename T1, typename T2, typename T3, typename T4, typename T5
- , typename T6, typename T7, typename T8, typename T9, typename T10
- , typename T11, typename T12, typename T13, typename T14, typename T15
- , typename T16, typename T17, typename T18, typename T19, typename T20
- >
-struct deque_count_args
-{
- BOOST_STATIC_CONSTANT(int, value =
- is_deque_arg<T1>::value + is_deque_arg<T2>::value
- + is_deque_arg<T3>::value + is_deque_arg<T4>::value
- + is_deque_arg<T5>::value + is_deque_arg<T6>::value
- + is_deque_arg<T7>::value + is_deque_arg<T8>::value
- + is_deque_arg<T9>::value + is_deque_arg<T10>::value
- + is_deque_arg<T11>::value + is_deque_arg<T12>::value
- + is_deque_arg<T13>::value + is_deque_arg<T14>::value
- + is_deque_arg<T15>::value + is_deque_arg<T16>::value
- + is_deque_arg<T17>::value + is_deque_arg<T18>::value
- + is_deque_arg<T19>::value + is_deque_arg<T20>::value
- );
-
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct deque_impl
-{
- typedef aux::deque_count_args<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- > arg_num_;
-
- typedef typename aux::deque_chooser< arg_num_::value >
- ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-} // namespace aux
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct deque
- : aux::deque_impl<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- >::type
-{
- typedef typename aux::deque_impl<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/msvc60/divides.hpp b/boost/mpl/aux_/preprocessed/msvc60/divides.hpp
deleted file mode 100644
index 7681491..0000000
--- a/boost/mpl/aux_/preprocessed/msvc60/divides.hpp
+++ /dev/null
@@ -1,148 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/divides.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
-
- , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
- , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
- >
-struct divides_impl
- : if_c<
- ( tag1_ > tag2_ )
- , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct divides_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct divides_impl< na,integral_c_tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct divides_impl< integral_c_tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct divides_tag
-{
- typedef typename T::tag type;
-};
-
-/// forward declaration
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct divides2;
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct divides
-
- : if_<
-
- is_na<N3>
- , divides2< N1,N2 >
- , divides<
- divides2< N1,N2 >
- , N3, N4, N5
- >
- >::type
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , divides
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1
- , typename N2
- >
-struct divides2
- : aux::msvc_eti_base< typename apply_wrap2<
- divides_impl<
- typename divides_tag<N1>::type
- , typename divides_tag<N2>::type
- >
- , N1
- , N2
- >::type >::type
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, divides2, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, divides)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, T n1, T n2 >
-struct divides_wknd
-{
- BOOST_STATIC_CONSTANT(T, value = (n1 / n2));
- typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct divides_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
- : aux::divides_wknd<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , N1::value
- , N2::value
- >::type
-
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/msvc60/equal_to.hpp b/boost/mpl/aux_/preprocessed/msvc60/equal_to.hpp
deleted file mode 100644
index 64e9065..0000000
--- a/boost/mpl/aux_/preprocessed/msvc60/equal_to.hpp
+++ /dev/null
@@ -1,102 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/equal_to.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
-
- , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
- , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
- >
-struct equal_to_impl
- : if_c<
- ( tag1_ > tag2_ )
- , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct equal_to_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct equal_to_impl< na,integral_c_tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct equal_to_impl< integral_c_tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct equal_to_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct equal_to
- : aux::msvc_eti_base< typename apply_wrap2<
- equal_to_impl<
- typename equal_to_tag<N1>::type
- , typename equal_to_tag<N2>::type
- >
- , N1
- , N2
- >::type >::type
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct equal_to_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- {
- BOOST_STATIC_CONSTANT(bool, value =
- ( BOOST_MPL_AUX_VALUE_WKND(N1)::value ==
- BOOST_MPL_AUX_VALUE_WKND(N2)::value )
- );
- typedef bool_<value> type;
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/msvc60/fold_impl.hpp b/boost/mpl/aux_/preprocessed/msvc60/fold_impl.hpp
deleted file mode 100644
index 4b3c690..0000000
--- a/boost/mpl/aux_/preprocessed/msvc60/fold_impl.hpp
+++ /dev/null
@@ -1,293 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
- int N
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl;
-
-template< int N >
-struct fold_chunk;
-
-template<> struct fold_chunk<0>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State state0;
- typedef state0 state;
- typedef iter0 iterator;
- };
-
- /// ETI workaround
- template<> struct result_< int,int,int,int >
- {
- typedef int state;
- typedef int iterator;
- };
-
-};
-
-template<> struct fold_chunk<1>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
-
-
- typedef state1 state;
- typedef iter1 iterator;
- };
-
- /// ETI workaround
- template<> struct result_< int,int,int,int >
- {
- typedef int state;
- typedef int iterator;
- };
-
-};
-
-template<> struct fold_chunk<2>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
-
-
- typedef state2 state;
- typedef iter2 iterator;
- };
-
- /// ETI workaround
- template<> struct result_< int,int,int,int >
- {
- typedef int state;
- typedef int iterator;
- };
-
-};
-
-template<> struct fold_chunk<3>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
- typedef typename mpl::next<iter2>::type iter3;
-
-
- typedef state3 state;
- typedef iter3 iterator;
- };
-
- /// ETI workaround
- template<> struct result_< int,int,int,int >
- {
- typedef int state;
- typedef int iterator;
- };
-
-};
-
-template<> struct fold_chunk<4>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp, state3, typename deref<iter3>::type >::type state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef state4 state;
- typedef iter4 iterator;
- };
-
- /// ETI workaround
- template<> struct result_< int,int,int,int >
- {
- typedef int state;
- typedef int iterator;
- };
-
-};
-
-template< int N >
-struct fold_chunk
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
- struct result_
- {
- typedef fold_impl<
- 4
- , First
- , Last
- , State
- , ForwardOp
- > chunk_;
-
- typedef fold_impl<
- ( (N - 4) < 0 ? 0 : N - 4 )
- , typename chunk_::iterator
- , Last
- , typename chunk_::state
- , ForwardOp
- > res_;
-
- typedef typename res_::state state;
- typedef typename res_::iterator iterator;
- };
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_step;
-
-template<
- typename Last
- , typename State
- >
-struct fold_null_step
-{
- typedef Last iterator;
- typedef State state;
-};
-
-template<>
-struct fold_chunk< -1 >
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
- struct result_
- {
- typedef typename if_<
- typename is_same< First,Last >::type
- , fold_null_step< Last,State >
- , fold_step< First,Last,State,ForwardOp >
- >::type res_;
-
- typedef typename res_::state state;
- typedef typename res_::iterator iterator;
- };
-
- /// ETI workaround
- template<> struct result_< int,int,int,int >
- {
- typedef int state;
- typedef int iterator;
- };
-
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_step
-{
- typedef fold_chunk< -1 >::template result_<
- typename mpl::next<First>::type
- , Last
- , typename apply2<ForwardOp,State, typename deref<First>::type>::type
- , ForwardOp
- > chunk_;
-
- typedef typename chunk_::state state;
- typedef typename chunk_::iterator iterator;
-};
-
-template<
- int N
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl
- : fold_chunk<N>
- ::template result_< First,Last,State,ForwardOp >
-{
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/msvc60/full_lambda.hpp b/boost/mpl/aux_/preprocessed/msvc60/full_lambda.hpp
deleted file mode 100644
index bf81873..0000000
--- a/boost/mpl/aux_/preprocessed/msvc60/full_lambda.hpp
+++ /dev/null
@@ -1,554 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
- bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
- , bool C5 = false
- >
-struct lambda_or
- : true_
-{
-};
-
-template<>
-struct lambda_or< false,false,false,false,false >
- : false_
-{
-};
-
-} // namespace aux
-
-template<
- typename T
- , typename Tag
-
- >
-struct lambda
-{
- typedef false_ is_le;
- typedef T result_;
- typedef T type;
-};
-
-template<
- typename T
- >
-struct is_lambda_expression
- : lambda<T>::is_le
-{
-};
-
-template< int N, typename Tag >
-struct lambda< arg<N>, Tag >
-{
- typedef true_ is_le;
- typedef mpl::arg<N> result_; // qualified for the sake of MIPSpro 7.41
- typedef mpl::protect<result_> type;
-};
-
-template<
- typename F
- , typename Tag
- >
-struct lambda<
- bind0<F>
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind0<
- F
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1 > class F
- , typename L1
- >
-struct le_result1
-{
- typedef F<
- typename L1::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1 > class F
- , typename L1
- >
-struct le_result1< true_,Tag,F,L1 >
-{
- typedef bind1<
- quote1< F,Tag >
- , typename L1::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template< typename P1 > class F
- , typename T1
- , typename Tag
- >
-struct lambda<
- F<T1>
- , Tag
-
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef typename l1::is_le is_le1;
- typedef typename aux::lambda_or<
- is_le1::value
- >::type is_le;
-
- typedef aux::le_result1<
- is_le, Tag, F, l1
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1
- , typename Tag
- >
-struct lambda<
- bind1< F,T1 >
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind1<
- F
- , T1
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1, typename P2 > class F
- , typename L1, typename L2
- >
-struct le_result2
-{
- typedef F<
- typename L1::type, typename L2::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1, typename P2 > class F
- , typename L1, typename L2
- >
-struct le_result2< true_,Tag,F,L1,L2 >
-{
- typedef bind2<
- quote2< F,Tag >
- , typename L1::result_, typename L2::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template< typename P1, typename P2 > class F
- , typename T1, typename T2
- , typename Tag
- >
-struct lambda<
- F< T1,T2 >
- , Tag
-
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef lambda< T2,Tag > l2;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
-
-
- typedef typename aux::lambda_or<
- is_le1::value, is_le2::value
- >::type is_le;
-
- typedef aux::le_result2<
- is_le, Tag, F, l1, l2
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1, typename T2
- , typename Tag
- >
-struct lambda<
- bind2< F,T1,T2 >
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind2<
- F
- , T1, T2
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1, typename P2, typename P3 > class F
- , typename L1, typename L2, typename L3
- >
-struct le_result3
-{
- typedef F<
- typename L1::type, typename L2::type, typename L3::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1, typename P2, typename P3 > class F
- , typename L1, typename L2, typename L3
- >
-struct le_result3< true_,Tag,F,L1,L2,L3 >
-{
- typedef bind3<
- quote3< F,Tag >
- , typename L1::result_, typename L2::result_, typename L3::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template< typename P1, typename P2, typename P3 > class F
- , typename T1, typename T2, typename T3
- , typename Tag
- >
-struct lambda<
- F< T1,T2,T3 >
- , Tag
-
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef lambda< T2,Tag > l2;
- typedef lambda< T3,Tag > l3;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
-
-
- typedef typename aux::lambda_or<
- is_le1::value, is_le2::value, is_le3::value
- >::type is_le;
-
- typedef aux::le_result3<
- is_le, Tag, F, l1, l2, l3
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- , typename Tag
- >
-struct lambda<
- bind3< F,T1,T2,T3 >
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind3<
- F
- , T1, T2, T3
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1, typename P2, typename P3, typename P4 > class F
- , typename L1, typename L2, typename L3, typename L4
- >
-struct le_result4
-{
- typedef F<
- typename L1::type, typename L2::type, typename L3::type
- , typename L4::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1, typename P2, typename P3, typename P4 > class F
- , typename L1, typename L2, typename L3, typename L4
- >
-struct le_result4< true_,Tag,F,L1,L2,L3,L4 >
-{
- typedef bind4<
- quote4< F,Tag >
- , typename L1::result_, typename L2::result_, typename L3::result_
- , typename L4::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template< typename P1, typename P2, typename P3, typename P4 > class F
- , typename T1, typename T2, typename T3, typename T4
- , typename Tag
- >
-struct lambda<
- F< T1,T2,T3,T4 >
- , Tag
-
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef lambda< T2,Tag > l2;
- typedef lambda< T3,Tag > l3;
- typedef lambda< T4,Tag > l4;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
- typedef typename l4::is_le is_le4;
-
-
- typedef typename aux::lambda_or<
- is_le1::value, is_le2::value, is_le3::value, is_le4::value
- >::type is_le;
-
- typedef aux::le_result4<
- is_le, Tag, F, l1, l2, l3, l4
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename Tag
- >
-struct lambda<
- bind4< F,T1,T2,T3,T4 >
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind4<
- F
- , T1, T2, T3, T4
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
- , typename L1, typename L2, typename L3, typename L4, typename L5
- >
-struct le_result5
-{
- typedef F<
- typename L1::type, typename L2::type, typename L3::type
- , typename L4::type, typename L5::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
- , typename L1, typename L2, typename L3, typename L4, typename L5
- >
-struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 >
-{
- typedef bind5<
- quote5< F,Tag >
- , typename L1::result_, typename L2::result_, typename L3::result_
- , typename L4::result_, typename L5::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template<
- typename P1, typename P2, typename P3, typename P4
- , typename P5
- >
- class F
- , typename T1, typename T2, typename T3, typename T4, typename T5
- , typename Tag
- >
-struct lambda<
- F< T1,T2,T3,T4,T5 >
- , Tag
-
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef lambda< T2,Tag > l2;
- typedef lambda< T3,Tag > l3;
- typedef lambda< T4,Tag > l4;
- typedef lambda< T5,Tag > l5;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
- typedef typename l4::is_le is_le4;
- typedef typename l5::is_le is_le5;
-
-
- typedef typename aux::lambda_or<
- is_le1::value, is_le2::value, is_le3::value, is_le4::value
- , is_le5::value
- >::type is_le;
-
- typedef aux::le_result5<
- is_le, Tag, F, l1, l2, l3, l4, l5
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- , typename Tag
- >
-struct lambda<
- bind5< F,T1,T2,T3,T4,T5 >
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind5<
- F
- , T1, T2, T3, T4, T5
- > result_;
-
- typedef result_ type;
-};
-
-/// special case for 'protect'
-template< typename T, typename Tag >
-struct lambda< mpl::protect<T>, Tag >
-{
- typedef false_ is_le;
- typedef mpl::protect<T> result_;
- typedef result_ type;
-};
-
-/// specializations for the main 'bind' form
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- , typename Tag
- >
-struct lambda<
- bind< F,T1,T2,T3,T4,T5 >
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind< F,T1,T2,T3,T4,T5 > result_;
- typedef result_ type;
-};
-
-/// workaround for MWCW 8.3+/EDG < 303, leads to ambiguity on Digital Mars
-
-template<
- typename F, typename Tag1, typename Tag2
- >
-struct lambda<
- lambda< F,Tag1 >
- , Tag2
- >
-{
- typedef lambda< F,Tag2 > l1;
- typedef lambda< Tag1,Tag2 > l2;
- typedef typename l1::is_le is_le;
- typedef aux::le_result2<is_le, Tag2, mpl::lambda, l1, l2> le_result_;
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, lambda)
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/msvc60/greater.hpp b/boost/mpl/aux_/preprocessed/msvc60/greater.hpp
deleted file mode 100644
index 5f5662d..0000000
--- a/boost/mpl/aux_/preprocessed/msvc60/greater.hpp
+++ /dev/null
@@ -1,102 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/greater.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
-
- , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
- , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
- >
-struct greater_impl
- : if_c<
- ( tag1_ > tag2_ )
- , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct greater_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct greater_impl< na,integral_c_tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct greater_impl< integral_c_tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct greater_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct greater
- : aux::msvc_eti_base< typename apply_wrap2<
- greater_impl<
- typename greater_tag<N1>::type
- , typename greater_tag<N2>::type
- >
- , N1
- , N2
- >::type >::type
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct greater_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- {
- BOOST_STATIC_CONSTANT(bool, value =
- ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >
- BOOST_MPL_AUX_VALUE_WKND(N2)::value )
- );
- typedef bool_<value> type;
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/msvc60/greater_equal.hpp b/boost/mpl/aux_/preprocessed/msvc60/greater_equal.hpp
deleted file mode 100644
index ae776fc..0000000
--- a/boost/mpl/aux_/preprocessed/msvc60/greater_equal.hpp
+++ /dev/null
@@ -1,102 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/greater_equal.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
-
- , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
- , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
- >
-struct greater_equal_impl
- : if_c<
- ( tag1_ > tag2_ )
- , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct greater_equal_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct greater_equal_impl< na,integral_c_tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct greater_equal_impl< integral_c_tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct greater_equal_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct greater_equal
- : aux::msvc_eti_base< typename apply_wrap2<
- greater_equal_impl<
- typename greater_equal_tag<N1>::type
- , typename greater_equal_tag<N2>::type
- >
- , N1
- , N2
- >::type >::type
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct greater_equal_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- {
- BOOST_STATIC_CONSTANT(bool, value =
- ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >=
- BOOST_MPL_AUX_VALUE_WKND(N2)::value )
- );
- typedef bool_<value> type;
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/msvc60/inherit.hpp b/boost/mpl/aux_/preprocessed/msvc60/inherit.hpp
deleted file mode 100644
index 233a1ec..0000000
--- a/boost/mpl/aux_/preprocessed/msvc60/inherit.hpp
+++ /dev/null
@@ -1,166 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/inherit.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< bool C1, bool C2 >
-struct inherit2_impl
-{
- template< typename Derived, typename T1, typename T2 > struct result_
- : T1, T2
- {
- typedef Derived type_;
- };
-};
-
-template<>
-struct inherit2_impl< false,true >
-{
- template< typename Derived, typename T1, typename T2 > struct result_
- : T1
- {
- typedef T1 type_;
- };
-};
-
-template<>
-struct inherit2_impl< true,false >
-{
- template< typename Derived, typename T1, typename T2 > struct result_
- : T2
- {
- typedef T2 type_;
- };
-};
-
-template<>
-struct inherit2_impl< true,true >
-{
- template< typename Derived, typename T1, typename T2 > struct result_
- {
- typedef T1 type_;
- };
-};
-
-} // namespace aux
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(T1)
- , typename BOOST_MPL_AUX_NA_PARAM(T2)
- >
-struct inherit2
- : aux::inherit2_impl<
- is_empty_base<T1>::value
- , is_empty_base<T2>::value
- >::template result_< inherit2< T1,T2 >,T1, T2 >
-{
- typedef typename inherit2::type_ type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, inherit2)
-
-template<
- typename T1 = na, typename T2 = na, typename T3 = na
- >
-struct inherit3
- : inherit2<
- typename inherit2<
- T1, T2
- >::type
- , T3
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 3
- , inherit3
- , ( T1, T2, T3)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC(3, inherit3)
-
-template<
- typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
- >
-struct inherit4
- : inherit2<
- typename inherit3<
- T1, T2, T3
- >::type
- , T4
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 4
- , inherit4
- , ( T1, T2, T3, T4)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC(4, inherit4)
-
-template<
- typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
- , typename T5 = na
- >
-struct inherit5
- : inherit2<
- typename inherit4<
- T1, T2, T3, T4
- >::type
- , T5
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , inherit5
- , ( T1, T2, T3, T4, T5)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC(5, inherit5)
-
-/// primary template
-
-template<
- typename T1 = empty_base, typename T2 = empty_base
- , typename T3 = empty_base, typename T4 = empty_base
- , typename T5 = empty_base
- >
-struct inherit
- : inherit5< T1,T2,T3,T4,T5 >
-{
-};
-
-template<>
-struct inherit< na,na,na,na,na >
-{
- template<
-
- typename T1 = empty_base, typename T2 = empty_base
- , typename T3 = empty_base, typename T4 = empty_base
- , typename T5 = empty_base
-
- >
- struct apply
- : inherit< T1,T2,T3,T4,T5 >
- {
- };
-};
-
-BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/msvc60/iter_fold_if_impl.hpp b/boost/mpl/aux_/preprocessed/msvc60/iter_fold_if_impl.hpp
deleted file mode 100644
index 6951795..0000000
--- a/boost/mpl/aux_/preprocessed/msvc60/iter_fold_if_impl.hpp
+++ /dev/null
@@ -1,133 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright David Abrahams 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< typename Iterator, typename State >
-struct iter_fold_if_null_step
-{
- typedef State state;
- typedef Iterator iterator;
-};
-
-template< bool >
-struct iter_fold_if_step_impl
-{
- template<
- typename Iterator
- , typename State
- , typename StateOp
- , typename IteratorOp
- >
- struct result_
- {
- typedef typename apply2< StateOp,State,Iterator >::type state;
- typedef typename IteratorOp::type iterator;
- };
-};
-
-template<>
-struct iter_fold_if_step_impl<false>
-{
- template<
- typename Iterator
- , typename State
- , typename StateOp
- , typename IteratorOp
- >
- struct result_
- {
- typedef State state;
- typedef Iterator iterator;
- };
-};
-
-template<
- typename Iterator
- , typename State
- , typename ForwardOp
- , typename Predicate
- >
-struct iter_fold_if_forward_step
-{
- typedef typename apply2< Predicate,State,Iterator >::type not_last;
- typedef typename iter_fold_if_step_impl<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
- >::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_;
-
- typedef typename impl_::state state;
- typedef typename impl_::iterator iterator;
-};
-
-template<
- typename Iterator
- , typename State
- , typename BackwardOp
- , typename Predicate
- >
-struct iter_fold_if_backward_step
-{
- typedef typename apply2< Predicate,State,Iterator >::type not_last;
- typedef typename iter_fold_if_step_impl<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
- >::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_;
-
- typedef typename impl_::state state;
- typedef typename impl_::iterator iterator;
-};
-
-template<
- typename Iterator
- , typename State
- , typename ForwardOp
- , typename ForwardPredicate
- , typename BackwardOp
- , typename BackwardPredicate
- >
-struct iter_fold_if_impl
-{
- private:
- typedef iter_fold_if_null_step< Iterator,State > forward_step0;
- typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1;
- typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2;
- typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3;
- typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4;
-
-
- typedef typename if_<
- typename forward_step4::not_last
- , iter_fold_if_impl<
- typename forward_step4::iterator
- , typename forward_step4::state
- , ForwardOp
- , ForwardPredicate
- , BackwardOp
- , BackwardPredicate
- >
- , iter_fold_if_null_step<
- typename forward_step4::iterator
- , typename forward_step4::state
- >
- >::type backward_step4;
-
- typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3;
- typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2;
- typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1;
- typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0;
-
-
- public:
- typedef typename backward_step0::state state;
- typedef typename backward_step4::iterator iterator;
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/msvc60/iter_fold_impl.hpp b/boost/mpl/aux_/preprocessed/msvc60/iter_fold_impl.hpp
deleted file mode 100644
index 69aadc4..0000000
--- a/boost/mpl/aux_/preprocessed/msvc60/iter_fold_impl.hpp
+++ /dev/null
@@ -1,293 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
- int N
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl;
-
-template< int N >
-struct iter_fold_chunk;
-
-template<> struct iter_fold_chunk<0>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State state0;
- typedef state0 state;
- typedef iter0 iterator;
- };
-
- /// ETI workaround
- template<> struct result_< int,int,int,int >
- {
- typedef int state;
- typedef int iterator;
- };
-
-};
-
-template<> struct iter_fold_chunk<1>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
-
-
- typedef state1 state;
- typedef iter1 iterator;
- };
-
- /// ETI workaround
- template<> struct result_< int,int,int,int >
- {
- typedef int state;
- typedef int iterator;
- };
-
-};
-
-template<> struct iter_fold_chunk<2>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
-
-
- typedef state2 state;
- typedef iter2 iterator;
- };
-
- /// ETI workaround
- template<> struct result_< int,int,int,int >
- {
- typedef int state;
- typedef int iterator;
- };
-
-};
-
-template<> struct iter_fold_chunk<3>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
- typedef typename mpl::next<iter2>::type iter3;
-
-
- typedef state3 state;
- typedef iter3 iterator;
- };
-
- /// ETI workaround
- template<> struct result_< int,int,int,int >
- {
- typedef int state;
- typedef int iterator;
- };
-
-};
-
-template<> struct iter_fold_chunk<4>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp,state3,iter3 >::type state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef state4 state;
- typedef iter4 iterator;
- };
-
- /// ETI workaround
- template<> struct result_< int,int,int,int >
- {
- typedef int state;
- typedef int iterator;
- };
-
-};
-
-template< int N >
-struct iter_fold_chunk
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
- struct result_
- {
- typedef iter_fold_impl<
- 4
- , First
- , Last
- , State
- , ForwardOp
- > chunk_;
-
- typedef iter_fold_impl<
- ( (N - 4) < 0 ? 0 : N - 4 )
- , typename chunk_::iterator
- , Last
- , typename chunk_::state
- , ForwardOp
- > res_;
-
- typedef typename res_::state state;
- typedef typename res_::iterator iterator;
- };
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_step;
-
-template<
- typename Last
- , typename State
- >
-struct iter_fold_null_step
-{
- typedef Last iterator;
- typedef State state;
-};
-
-template<>
-struct iter_fold_chunk< -1 >
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
- struct result_
- {
- typedef typename if_<
- typename is_same< First,Last >::type
- , iter_fold_null_step< Last,State >
- , iter_fold_step< First,Last,State,ForwardOp >
- >::type res_;
-
- typedef typename res_::state state;
- typedef typename res_::iterator iterator;
- };
-
- /// ETI workaround
- template<> struct result_< int,int,int,int >
- {
- typedef int state;
- typedef int iterator;
- };
-
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_step
-{
- typedef iter_fold_chunk< -1 >::template result_<
- typename mpl::next<First>::type
- , Last
- , typename apply2< ForwardOp,State,First >::type
- , ForwardOp
- > chunk_;
-
- typedef typename chunk_::state state;
- typedef typename chunk_::iterator iterator;
-};
-
-template<
- int N
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl
- : iter_fold_chunk<N>
- ::template result_< First,Last,State,ForwardOp >
-{
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/msvc60/lambda_no_ctps.hpp b/boost/mpl/aux_/preprocessed/msvc60/lambda_no_ctps.hpp
deleted file mode 100644
index 890a198..0000000
--- a/boost/mpl/aux_/preprocessed/msvc60/lambda_no_ctps.hpp
+++ /dev/null
@@ -1,229 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
- bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
- , bool C5 = false
- >
-struct lambda_or
- : true_
-{
-};
-
-template<>
-struct lambda_or< false,false,false,false,false >
- : false_
-{
-};
-
-template< typename Arity > struct lambda_impl
-{
- template< typename T, typename Tag, typename Protect > struct result_
- {
- typedef T type;
- typedef is_placeholder<T> is_le;
- };
-};
-
-template<> struct lambda_impl< int_<1> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef typename l1::is_le is_le1;
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value
- > is_le;
-
- typedef bind1<
- typename F::rebind
- , typename l1::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-template<> struct lambda_impl< int_<2> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef lambda< typename F::arg2, Tag, false_ > l2;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
-
-
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value
- > is_le;
-
- typedef bind2<
- typename F::rebind
- , typename l1::type, typename l2::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-template<> struct lambda_impl< int_<3> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef lambda< typename F::arg2, Tag, false_ > l2;
- typedef lambda< typename F::arg3, Tag, false_ > l3;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
-
-
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value
- > is_le;
-
- typedef bind3<
- typename F::rebind
- , typename l1::type, typename l2::type, typename l3::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-template<> struct lambda_impl< int_<4> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef lambda< typename F::arg2, Tag, false_ > l2;
- typedef lambda< typename F::arg3, Tag, false_ > l3;
- typedef lambda< typename F::arg4, Tag, false_ > l4;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
- typedef typename l4::is_le is_le4;
-
-
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value
- > is_le;
-
- typedef bind4<
- typename F::rebind
- , typename l1::type, typename l2::type, typename l3::type
- , typename l4::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-template<> struct lambda_impl< int_<5> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef lambda< typename F::arg2, Tag, false_ > l2;
- typedef lambda< typename F::arg3, Tag, false_ > l3;
- typedef lambda< typename F::arg4, Tag, false_ > l4;
- typedef lambda< typename F::arg5, Tag, false_ > l5;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
- typedef typename l4::is_le is_le4;
- typedef typename l5::is_le is_le5;
-
-
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value
- > is_le;
-
- typedef bind5<
- typename F::rebind
- , typename l1::type, typename l2::type, typename l3::type
- , typename l4::type, typename l5::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-} // namespace aux
-
-template<
- typename T
- , typename Tag
- , typename Protect
- >
-struct lambda
-{
- /// Metafunction forwarding confuses MSVC 6.x
- typedef typename aux::template_arity<T>::type arity_;
- typedef typename aux::lambda_impl<arity_>
- ::template result_< T,Tag,Protect > l_;
-
- typedef typename l_::type type;
- typedef typename l_::is_le is_le;
- BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))
-};
-
-BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
-
-template<
- typename T
- >
-struct is_lambda_expression
- : lambda<T>::is_le
-{
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/msvc60/less.hpp b/boost/mpl/aux_/preprocessed/msvc60/less.hpp
deleted file mode 100644
index 951f060..0000000
--- a/boost/mpl/aux_/preprocessed/msvc60/less.hpp
+++ /dev/null
@@ -1,102 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/less.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
-
- , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
- , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
- >
-struct less_impl
- : if_c<
- ( tag1_ > tag2_ )
- , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct less_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct less_impl< na,integral_c_tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct less_impl< integral_c_tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct less_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct less
- : aux::msvc_eti_base< typename apply_wrap2<
- less_impl<
- typename less_tag<N1>::type
- , typename less_tag<N2>::type
- >
- , N1
- , N2
- >::type >::type
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct less_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- {
- BOOST_STATIC_CONSTANT(bool, value =
- ( BOOST_MPL_AUX_VALUE_WKND(N2)::value >
- BOOST_MPL_AUX_VALUE_WKND(N1)::value )
- );
- typedef bool_<value> type;
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/msvc60/less_equal.hpp b/boost/mpl/aux_/preprocessed/msvc60/less_equal.hpp
deleted file mode 100644
index a56e692..0000000
--- a/boost/mpl/aux_/preprocessed/msvc60/less_equal.hpp
+++ /dev/null
@@ -1,102 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/less_equal.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
-
- , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
- , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
- >
-struct less_equal_impl
- : if_c<
- ( tag1_ > tag2_ )
- , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct less_equal_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct less_equal_impl< na,integral_c_tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct less_equal_impl< integral_c_tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct less_equal_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct less_equal
- : aux::msvc_eti_base< typename apply_wrap2<
- less_equal_impl<
- typename less_equal_tag<N1>::type
- , typename less_equal_tag<N2>::type
- >
- , N1
- , N2
- >::type >::type
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct less_equal_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- {
- BOOST_STATIC_CONSTANT(bool, value =
- ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <=
- BOOST_MPL_AUX_VALUE_WKND(N2)::value )
- );
- typedef bool_<value> type;
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/msvc60/list.hpp b/boost/mpl/aux_/preprocessed/msvc60/list.hpp
deleted file mode 100644
index e5ea456..0000000
--- a/boost/mpl/aux_/preprocessed/msvc60/list.hpp
+++ /dev/null
@@ -1,556 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/list.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< int N >
-struct list_chooser;
-
-}
-
-namespace aux {
-
-template<>
-struct list_chooser<0>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef list0<
-
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<1>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list1<
- T0
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<2>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list2<
- T0, T1
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<3>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list3<
- T0, T1, T2
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<4>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list4<
- T0, T1, T2, T3
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<5>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list5<
- T0, T1, T2, T3, T4
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<6>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list6<
- T0, T1, T2, T3, T4, T5
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<7>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list7<
- T0, T1, T2, T3, T4, T5, T6
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<8>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list8<
- T0, T1, T2, T3, T4, T5, T6, T7
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<9>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list9<
- T0, T1, T2, T3, T4, T5, T6, T7, T8
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<10>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list10<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<11>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list11<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<12>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list12<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<13>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list13<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<14>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list14<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<15>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<16>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<17>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<18>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<19>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<20>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< typename T >
-struct is_list_arg
-{
- BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template<>
-struct is_list_arg<na>
-{
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template<
- typename T1, typename T2, typename T3, typename T4, typename T5
- , typename T6, typename T7, typename T8, typename T9, typename T10
- , typename T11, typename T12, typename T13, typename T14, typename T15
- , typename T16, typename T17, typename T18, typename T19, typename T20
- >
-struct list_count_args
-{
- BOOST_STATIC_CONSTANT(int, value =
- is_list_arg<T1>::value + is_list_arg<T2>::value
- + is_list_arg<T3>::value + is_list_arg<T4>::value
- + is_list_arg<T5>::value + is_list_arg<T6>::value
- + is_list_arg<T7>::value + is_list_arg<T8>::value
- + is_list_arg<T9>::value + is_list_arg<T10>::value
- + is_list_arg<T11>::value + is_list_arg<T12>::value
- + is_list_arg<T13>::value + is_list_arg<T14>::value
- + is_list_arg<T15>::value + is_list_arg<T16>::value
- + is_list_arg<T17>::value + is_list_arg<T18>::value
- + is_list_arg<T19>::value + is_list_arg<T20>::value
- );
-
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct list_impl
-{
- typedef aux::list_count_args<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- > arg_num_;
-
- typedef typename aux::list_chooser< arg_num_::value >
- ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-} // namespace aux
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct list
- : aux::list_impl<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- >::type
-{
- typedef typename aux::list_impl<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/msvc60/list_c.hpp b/boost/mpl/aux_/preprocessed/msvc60/list_c.hpp
deleted file mode 100644
index ab25482..0000000
--- a/boost/mpl/aux_/preprocessed/msvc60/list_c.hpp
+++ /dev/null
@@ -1,534 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/list_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< int N >
-struct list_c_chooser;
-
-}
-
-namespace aux {
-
-template<>
-struct list_c_chooser<0>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list0_c<
- T
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<1>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list1_c<
- T, C0
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<2>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list2_c<
- T, C0, C1
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<3>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list3_c<
- T, C0, C1, C2
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<4>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list4_c<
- T, C0, C1, C2, C3
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<5>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list5_c<
- T, C0, C1, C2, C3, C4
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<6>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list6_c<
- T, C0, C1, C2, C3, C4, C5
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<7>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list7_c<
- T, C0, C1, C2, C3, C4, C5, C6
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<8>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list8_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<9>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list9_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<10>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list10_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<11>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list11_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<12>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list12_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<13>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list13_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<14>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list14_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<15>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list15_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<16>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list16_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<17>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list17_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<18>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list18_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<19>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list19_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<20>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list20_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< long C >
-struct is_list_c_arg
-{
- BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template<>
-struct is_list_c_arg<LONG_MAX>
-{
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template<
- long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8
- , long C9, long C10, long C11, long C12, long C13, long C14, long C15
- , long C16, long C17, long C18, long C19, long C20
- >
-struct list_c_count_args
-{
- BOOST_STATIC_CONSTANT(int, value =
- is_list_c_arg<C1>::value + is_list_c_arg<C2>::value
- + is_list_c_arg<C3>::value + is_list_c_arg<C4>::value
- + is_list_c_arg<C5>::value + is_list_c_arg<C6>::value
- + is_list_c_arg<C7>::value + is_list_c_arg<C8>::value
- + is_list_c_arg<C9>::value + is_list_c_arg<C10>::value
- + is_list_c_arg<C11>::value + is_list_c_arg<C12>::value
- + is_list_c_arg<C13>::value + is_list_c_arg<C14>::value
- + is_list_c_arg<C15>::value + is_list_c_arg<C16>::value
- + is_list_c_arg<C17>::value + is_list_c_arg<C18>::value
- + is_list_c_arg<C19>::value + is_list_c_arg<C20>::value
- );
-
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
-struct list_c_impl
-{
- typedef aux::list_c_count_args<
- C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
- > arg_num_;
-
- typedef typename aux::list_c_chooser< arg_num_::value >
- ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-} // namespace aux
-
-template<
- typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
- , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
- , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
- , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
- , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
- , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
- , long C18 = LONG_MAX, long C19 = LONG_MAX
- >
-struct list_c
- : aux::list_c_impl<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
- >::type
-{
- typedef typename aux::list_c_impl<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
- >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/msvc60/map.hpp b/boost/mpl/aux_/preprocessed/msvc60/map.hpp
deleted file mode 100644
index 970e0b7..0000000
--- a/boost/mpl/aux_/preprocessed/msvc60/map.hpp
+++ /dev/null
@@ -1,556 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/map.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< int N >
-struct map_chooser;
-
-}
-
-namespace aux {
-
-template<>
-struct map_chooser<0>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef map0<
-
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<1>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map1<
- T0
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<2>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map2<
- T0, T1
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<3>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map3<
- T0, T1, T2
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<4>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map4<
- T0, T1, T2, T3
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<5>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map5<
- T0, T1, T2, T3, T4
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<6>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map6<
- T0, T1, T2, T3, T4, T5
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<7>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map7<
- T0, T1, T2, T3, T4, T5, T6
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<8>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map8<
- T0, T1, T2, T3, T4, T5, T6, T7
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<9>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map9<
- T0, T1, T2, T3, T4, T5, T6, T7, T8
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<10>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map10<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<11>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map11<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<12>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map12<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<13>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map13<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<14>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map14<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<15>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<16>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<17>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<18>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<19>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<20>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< typename T >
-struct is_map_arg
-{
- BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template<>
-struct is_map_arg<na>
-{
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template<
- typename T1, typename T2, typename T3, typename T4, typename T5
- , typename T6, typename T7, typename T8, typename T9, typename T10
- , typename T11, typename T12, typename T13, typename T14, typename T15
- , typename T16, typename T17, typename T18, typename T19, typename T20
- >
-struct map_count_args
-{
- BOOST_STATIC_CONSTANT(int, value =
- is_map_arg<T1>::value + is_map_arg<T2>::value
- + is_map_arg<T3>::value + is_map_arg<T4>::value
- + is_map_arg<T5>::value + is_map_arg<T6>::value
- + is_map_arg<T7>::value + is_map_arg<T8>::value
- + is_map_arg<T9>::value + is_map_arg<T10>::value
- + is_map_arg<T11>::value + is_map_arg<T12>::value
- + is_map_arg<T13>::value + is_map_arg<T14>::value
- + is_map_arg<T15>::value + is_map_arg<T16>::value
- + is_map_arg<T17>::value + is_map_arg<T18>::value
- + is_map_arg<T19>::value + is_map_arg<T20>::value
- );
-
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct map_impl
-{
- typedef aux::map_count_args<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- > arg_num_;
-
- typedef typename aux::map_chooser< arg_num_::value >
- ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-} // namespace aux
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct map
- : aux::map_impl<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- >::type
-{
- typedef typename aux::map_impl<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/msvc60/minus.hpp b/boost/mpl/aux_/preprocessed/msvc60/minus.hpp
deleted file mode 100644
index b47f328..0000000
--- a/boost/mpl/aux_/preprocessed/msvc60/minus.hpp
+++ /dev/null
@@ -1,148 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/minus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
-
- , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
- , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
- >
-struct minus_impl
- : if_c<
- ( tag1_ > tag2_ )
- , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct minus_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct minus_impl< na,integral_c_tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct minus_impl< integral_c_tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct minus_tag
-{
- typedef typename T::tag type;
-};
-
-/// forward declaration
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct minus2;
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct minus
-
- : if_<
-
- is_na<N3>
- , minus2< N1,N2 >
- , minus<
- minus2< N1,N2 >
- , N3, N4, N5
- >
- >::type
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , minus
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1
- , typename N2
- >
-struct minus2
- : aux::msvc_eti_base< typename apply_wrap2<
- minus_impl<
- typename minus_tag<N1>::type
- , typename minus_tag<N2>::type
- >
- , N1
- , N2
- >::type >::type
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, minus2, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, minus)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, T n1, T n2 >
-struct minus_wknd
-{
- BOOST_STATIC_CONSTANT(T, value = (n1 - n2));
- typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct minus_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
- : aux::minus_wknd<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , N1::value
- , N2::value
- >::type
-
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/msvc60/modulus.hpp b/boost/mpl/aux_/preprocessed/msvc60/modulus.hpp
deleted file mode 100644
index c12b3f9..0000000
--- a/boost/mpl/aux_/preprocessed/msvc60/modulus.hpp
+++ /dev/null
@@ -1,115 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/modulus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
-
- , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
- , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
- >
-struct modulus_impl
- : if_c<
- ( tag1_ > tag2_ )
- , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct modulus_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct modulus_impl< na,integral_c_tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct modulus_impl< integral_c_tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct modulus_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct modulus
- : aux::msvc_eti_base< typename apply_wrap2<
- modulus_impl<
- typename modulus_tag<N1>::type
- , typename modulus_tag<N2>::type
- >
- , N1
- , N2
- >::type >::type
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, T n1, T n2 >
-struct modulus_wknd
-{
- BOOST_STATIC_CONSTANT(T, value = (n1 % n2));
- typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct modulus_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
- : aux::modulus_wknd<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , N1::value
- , N2::value
- >::type
-
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/msvc60/not_equal_to.hpp b/boost/mpl/aux_/preprocessed/msvc60/not_equal_to.hpp
deleted file mode 100644
index 6e56b1e..0000000
--- a/boost/mpl/aux_/preprocessed/msvc60/not_equal_to.hpp
+++ /dev/null
@@ -1,102 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/not_equal_to.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
-
- , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
- , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
- >
-struct not_equal_to_impl
- : if_c<
- ( tag1_ > tag2_ )
- , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct not_equal_to_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct not_equal_to_impl< na,integral_c_tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct not_equal_to_impl< integral_c_tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct not_equal_to_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct not_equal_to
- : aux::msvc_eti_base< typename apply_wrap2<
- not_equal_to_impl<
- typename not_equal_to_tag<N1>::type
- , typename not_equal_to_tag<N2>::type
- >
- , N1
- , N2
- >::type >::type
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct not_equal_to_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- {
- BOOST_STATIC_CONSTANT(bool, value =
- ( BOOST_MPL_AUX_VALUE_WKND(N1)::value !=
- BOOST_MPL_AUX_VALUE_WKND(N2)::value )
- );
- typedef bool_<value> type;
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/msvc60/or.hpp b/boost/mpl/aux_/preprocessed/msvc60/or.hpp
deleted file mode 100644
index 3f7394e..0000000
--- a/boost/mpl/aux_/preprocessed/msvc60/or.hpp
+++ /dev/null
@@ -1,73 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/or.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< bool C_ > struct or_impl
-{
- template<
- typename T1, typename T2, typename T3, typename T4
- >
- struct result_
- : true_
- {
- };
-};
-
-template<> struct or_impl<false>
-{
- template<
- typename T1, typename T2, typename T3, typename T4
- >
- struct result_
- : or_impl<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
- >::template result_< T2,T3,T4,false_ >
- {
- };
-};
-
-template<>
-struct or_impl<false>
- ::result_< false_,false_,false_,false_ >
- : false_
-{
-};
-
-} // namespace aux
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(T1)
- , typename BOOST_MPL_AUX_NA_PARAM(T2)
- , typename T3 = false_, typename T4 = false_, typename T5 = false_
- >
-struct or_
-
- : aux::or_impl<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
- >::template result_< T2,T3,T4,T5 >
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , or_
- , ( T1, T2, T3, T4, T5)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC2(
- 2
- , 5
- , or_
- )
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/msvc60/placeholders.hpp b/boost/mpl/aux_/preprocessed/msvc60/placeholders.hpp
deleted file mode 100644
index ff97364..0000000
--- a/boost/mpl/aux_/preprocessed/msvc60/placeholders.hpp
+++ /dev/null
@@ -1,105 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright Peter Dimov 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/placeholders.hpp" header
-// -- DO NOT modify by hand!
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg< -1 > _;
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
-}
-
-}}
-
-/// agurt, 17/mar/02: one more placeholder for the last 'apply#'
-/// specialization
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<1> _1;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<2> _2;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<3> _3;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<4> _4;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<5> _5;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<6> _6;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;
-}
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/msvc60/plus.hpp b/boost/mpl/aux_/preprocessed/msvc60/plus.hpp
deleted file mode 100644
index 1052335..0000000
--- a/boost/mpl/aux_/preprocessed/msvc60/plus.hpp
+++ /dev/null
@@ -1,148 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/plus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
-
- , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
- , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
- >
-struct plus_impl
- : if_c<
- ( tag1_ > tag2_ )
- , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct plus_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct plus_impl< na,integral_c_tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct plus_impl< integral_c_tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct plus_tag
-{
- typedef typename T::tag type;
-};
-
-/// forward declaration
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct plus2;
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct plus
-
- : if_<
-
- is_na<N3>
- , plus2< N1,N2 >
- , plus<
- plus2< N1,N2 >
- , N3, N4, N5
- >
- >::type
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , plus
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1
- , typename N2
- >
-struct plus2
- : aux::msvc_eti_base< typename apply_wrap2<
- plus_impl<
- typename plus_tag<N1>::type
- , typename plus_tag<N2>::type
- >
- , N1
- , N2
- >::type >::type
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, plus2, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, plus)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, T n1, T n2 >
-struct plus_wknd
-{
- BOOST_STATIC_CONSTANT(T, value = (n1 + n2));
- typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct plus_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
- : aux::plus_wknd<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , N1::value
- , N2::value
- >::type
-
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/msvc60/quote.hpp b/boost/mpl/aux_/preprocessed/msvc60/quote.hpp
deleted file mode 100644
index e7a7f00..0000000
--- a/boost/mpl/aux_/preprocessed/msvc60/quote.hpp
+++ /dev/null
@@ -1,11 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/quote.hpp" header
-// -- DO NOT modify by hand!
-
diff --git a/boost/mpl/aux_/preprocessed/msvc60/reverse_fold_impl.hpp b/boost/mpl/aux_/preprocessed/msvc60/reverse_fold_impl.hpp
deleted file mode 100644
index adf15b6..0000000
--- a/boost/mpl/aux_/preprocessed/msvc60/reverse_fold_impl.hpp
+++ /dev/null
@@ -1,343 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
- long N
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl;
-
-template< long N >
-struct reverse_fold_chunk;
-
-template<> struct reverse_fold_chunk<0>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef fwd_state0 bkwd_state0;
- typedef bkwd_state0 state;
- typedef iter0 iterator;
- };
-
- /// ETI workaround
- template<> struct result_< int,int,int,int,int >
- {
- typedef int state;
- typedef int iterator;
- };
-
-};
-
-template<> struct reverse_fold_chunk<1>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
-
-
- typedef fwd_state1 bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
- typedef bkwd_state0 state;
- typedef iter1 iterator;
- };
-
- /// ETI workaround
- template<> struct result_< int,int,int,int,int >
- {
- typedef int state;
- typedef int iterator;
- };
-
-};
-
-template<> struct reverse_fold_chunk<2>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
-
-
- typedef fwd_state2 bkwd_state2;
- typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter2 iterator;
- };
-
- /// ETI workaround
- template<> struct result_< int,int,int,int,int >
- {
- typedef int state;
- typedef int iterator;
- };
-
-};
-
-template<> struct reverse_fold_chunk<3>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
-
-
- typedef fwd_state3 bkwd_state3;
- typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
- typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter3 iterator;
- };
-
- /// ETI workaround
- template<> struct result_< int,int,int,int,int >
- {
- typedef int state;
- typedef int iterator;
- };
-
-};
-
-template<> struct reverse_fold_chunk<4>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef fwd_state4 bkwd_state4;
- typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;
- typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
- typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter4 iterator;
- };
-
- /// ETI workaround
- template<> struct result_< int,int,int,int,int >
- {
- typedef int state;
- typedef int iterator;
- };
-
-};
-
-template< long N >
-struct reverse_fold_chunk
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef reverse_fold_impl<
- ( (N - 4) < 0 ? 0 : N - 4 )
- , iter4
- , Last
- , fwd_state4
- , BackwardOp
- , ForwardOp
- > nested_chunk;
-
- typedef typename nested_chunk::state bkwd_state4;
- typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;
- typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
- typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef typename nested_chunk::iterator iterator;
- };
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_step;
-
-template<
- typename Last
- , typename State
- >
-struct reverse_fold_null_step
-{
- typedef Last iterator;
- typedef State state;
-};
-
-template<>
-struct reverse_fold_chunk< -1 >
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef typename if_<
- typename is_same< First,Last >::type
- , reverse_fold_null_step< Last,State >
- , reverse_fold_step< First,Last,State,BackwardOp,ForwardOp >
- >::type res_;
-
- typedef typename res_::state state;
- typedef typename res_::iterator iterator;
- };
-
- /// ETI workaround
- template<> struct result_< int,int,int,int,int >
- {
- typedef int state;
- typedef int iterator;
- };
-
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_step
-{
- typedef reverse_fold_chunk< -1 >::template result_<
- typename mpl::next<First>::type
- , Last
- , typename apply2<ForwardOp,State, typename deref<First>::type>::type
- , BackwardOp
- , ForwardOp
- > nested_step;
-
- typedef typename apply2<
- BackwardOp
- , typename nested_step::state
- , typename deref<First>::type
- >::type state;
-
- typedef typename nested_step::iterator iterator;
-};
-
-template<
- long N
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl
- : reverse_fold_chunk<N>
- ::template result_< First,Last,State,BackwardOp,ForwardOp >
-{
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/msvc60/reverse_iter_fold_impl.hpp b/boost/mpl/aux_/preprocessed/msvc60/reverse_iter_fold_impl.hpp
deleted file mode 100644
index 208ad97..0000000
--- a/boost/mpl/aux_/preprocessed/msvc60/reverse_iter_fold_impl.hpp
+++ /dev/null
@@ -1,343 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
- long N
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl;
-
-template< long N >
-struct reverse_iter_fold_chunk;
-
-template<> struct reverse_iter_fold_chunk<0>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef fwd_state0 bkwd_state0;
- typedef bkwd_state0 state;
- typedef iter0 iterator;
- };
-
- /// ETI workaround
- template<> struct result_< int,int,int,int,int >
- {
- typedef int state;
- typedef int iterator;
- };
-
-};
-
-template<> struct reverse_iter_fold_chunk<1>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
-
-
- typedef fwd_state1 bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
- typedef bkwd_state0 state;
- typedef iter1 iterator;
- };
-
- /// ETI workaround
- template<> struct result_< int,int,int,int,int >
- {
- typedef int state;
- typedef int iterator;
- };
-
-};
-
-template<> struct reverse_iter_fold_chunk<2>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
-
-
- typedef fwd_state2 bkwd_state2;
- typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter2 iterator;
- };
-
- /// ETI workaround
- template<> struct result_< int,int,int,int,int >
- {
- typedef int state;
- typedef int iterator;
- };
-
-};
-
-template<> struct reverse_iter_fold_chunk<3>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
-
-
- typedef fwd_state3 bkwd_state3;
- typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
- typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter3 iterator;
- };
-
- /// ETI workaround
- template<> struct result_< int,int,int,int,int >
- {
- typedef int state;
- typedef int iterator;
- };
-
-};
-
-template<> struct reverse_iter_fold_chunk<4>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef fwd_state4 bkwd_state4;
- typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;
- typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
- typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter4 iterator;
- };
-
- /// ETI workaround
- template<> struct result_< int,int,int,int,int >
- {
- typedef int state;
- typedef int iterator;
- };
-
-};
-
-template< long N >
-struct reverse_iter_fold_chunk
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef reverse_iter_fold_impl<
- ( (N - 4) < 0 ? 0 : N - 4 )
- , iter4
- , Last
- , fwd_state4
- , BackwardOp
- , ForwardOp
- > nested_chunk;
-
- typedef typename nested_chunk::state bkwd_state4;
- typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;
- typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
- typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef typename nested_chunk::iterator iterator;
- };
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_step;
-
-template<
- typename Last
- , typename State
- >
-struct reverse_iter_fold_null_step
-{
- typedef Last iterator;
- typedef State state;
-};
-
-template<>
-struct reverse_iter_fold_chunk< -1 >
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef typename if_<
- typename is_same< First,Last >::type
- , reverse_iter_fold_null_step< Last,State >
- , reverse_iter_fold_step< First,Last,State,BackwardOp,ForwardOp >
- >::type res_;
-
- typedef typename res_::state state;
- typedef typename res_::iterator iterator;
- };
-
- /// ETI workaround
- template<> struct result_< int,int,int,int,int >
- {
- typedef int state;
- typedef int iterator;
- };
-
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_step
-{
- typedef reverse_iter_fold_chunk< -1 >::template result_<
- typename mpl::next<First>::type
- , Last
- , typename apply2< ForwardOp,State,First >::type
- , BackwardOp
- , ForwardOp
- > nested_step;
-
- typedef typename apply2<
- BackwardOp
- , typename nested_step::state
- , First
- >::type state;
-
- typedef typename nested_step::iterator iterator;
-};
-
-template<
- long N
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl
- : reverse_iter_fold_chunk<N>
- ::template result_< First,Last,State,BackwardOp,ForwardOp >
-{
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/msvc60/set.hpp b/boost/mpl/aux_/preprocessed/msvc60/set.hpp
deleted file mode 100644
index 95aaa5c..0000000
--- a/boost/mpl/aux_/preprocessed/msvc60/set.hpp
+++ /dev/null
@@ -1,556 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/set.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< int N >
-struct set_chooser;
-
-}
-
-namespace aux {
-
-template<>
-struct set_chooser<0>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef set0<
-
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<1>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set1<
- T0
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<2>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set2<
- T0, T1
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<3>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set3<
- T0, T1, T2
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<4>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set4<
- T0, T1, T2, T3
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<5>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set5<
- T0, T1, T2, T3, T4
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<6>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set6<
- T0, T1, T2, T3, T4, T5
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<7>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set7<
- T0, T1, T2, T3, T4, T5, T6
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<8>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set8<
- T0, T1, T2, T3, T4, T5, T6, T7
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<9>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set9<
- T0, T1, T2, T3, T4, T5, T6, T7, T8
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<10>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set10<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<11>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set11<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<12>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set12<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<13>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set13<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<14>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set14<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<15>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<16>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<17>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<18>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<19>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<20>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< typename T >
-struct is_set_arg
-{
- BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template<>
-struct is_set_arg<na>
-{
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template<
- typename T1, typename T2, typename T3, typename T4, typename T5
- , typename T6, typename T7, typename T8, typename T9, typename T10
- , typename T11, typename T12, typename T13, typename T14, typename T15
- , typename T16, typename T17, typename T18, typename T19, typename T20
- >
-struct set_count_args
-{
- BOOST_STATIC_CONSTANT(int, value =
- is_set_arg<T1>::value + is_set_arg<T2>::value
- + is_set_arg<T3>::value + is_set_arg<T4>::value
- + is_set_arg<T5>::value + is_set_arg<T6>::value
- + is_set_arg<T7>::value + is_set_arg<T8>::value
- + is_set_arg<T9>::value + is_set_arg<T10>::value
- + is_set_arg<T11>::value + is_set_arg<T12>::value
- + is_set_arg<T13>::value + is_set_arg<T14>::value
- + is_set_arg<T15>::value + is_set_arg<T16>::value
- + is_set_arg<T17>::value + is_set_arg<T18>::value
- + is_set_arg<T19>::value + is_set_arg<T20>::value
- );
-
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct set_impl
-{
- typedef aux::set_count_args<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- > arg_num_;
-
- typedef typename aux::set_chooser< arg_num_::value >
- ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-} // namespace aux
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct set
- : aux::set_impl<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- >::type
-{
- typedef typename aux::set_impl<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/msvc60/set_c.hpp b/boost/mpl/aux_/preprocessed/msvc60/set_c.hpp
deleted file mode 100644
index 1ff34f9..0000000
--- a/boost/mpl/aux_/preprocessed/msvc60/set_c.hpp
+++ /dev/null
@@ -1,534 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/set_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< int N >
-struct set_c_chooser;
-
-}
-
-namespace aux {
-
-template<>
-struct set_c_chooser<0>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set0_c<
- T
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<1>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set1_c<
- T, C0
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<2>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set2_c<
- T, C0, C1
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<3>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set3_c<
- T, C0, C1, C2
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<4>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set4_c<
- T, C0, C1, C2, C3
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<5>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set5_c<
- T, C0, C1, C2, C3, C4
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<6>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set6_c<
- T, C0, C1, C2, C3, C4, C5
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<7>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set7_c<
- T, C0, C1, C2, C3, C4, C5, C6
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<8>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set8_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<9>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set9_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<10>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set10_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<11>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set11_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<12>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set12_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<13>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set13_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<14>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set14_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<15>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set15_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<16>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set16_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<17>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set17_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<18>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set18_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<19>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set19_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<20>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set20_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< long C >
-struct is_set_c_arg
-{
- BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template<>
-struct is_set_c_arg<LONG_MAX>
-{
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template<
- long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8
- , long C9, long C10, long C11, long C12, long C13, long C14, long C15
- , long C16, long C17, long C18, long C19, long C20
- >
-struct set_c_count_args
-{
- BOOST_STATIC_CONSTANT(int, value =
- is_set_c_arg<C1>::value + is_set_c_arg<C2>::value
- + is_set_c_arg<C3>::value + is_set_c_arg<C4>::value
- + is_set_c_arg<C5>::value + is_set_c_arg<C6>::value
- + is_set_c_arg<C7>::value + is_set_c_arg<C8>::value
- + is_set_c_arg<C9>::value + is_set_c_arg<C10>::value
- + is_set_c_arg<C11>::value + is_set_c_arg<C12>::value
- + is_set_c_arg<C13>::value + is_set_c_arg<C14>::value
- + is_set_c_arg<C15>::value + is_set_c_arg<C16>::value
- + is_set_c_arg<C17>::value + is_set_c_arg<C18>::value
- + is_set_c_arg<C19>::value + is_set_c_arg<C20>::value
- );
-
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
-struct set_c_impl
-{
- typedef aux::set_c_count_args<
- C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
- > arg_num_;
-
- typedef typename aux::set_c_chooser< arg_num_::value >
- ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-} // namespace aux
-
-template<
- typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
- , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
- , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
- , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
- , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
- , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
- , long C18 = LONG_MAX, long C19 = LONG_MAX
- >
-struct set_c
- : aux::set_c_impl<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
- >::type
-{
- typedef typename aux::set_c_impl<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
- >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/msvc60/shift_left.hpp b/boost/mpl/aux_/preprocessed/msvc60/shift_left.hpp
deleted file mode 100644
index 3861ca1..0000000
--- a/boost/mpl/aux_/preprocessed/msvc60/shift_left.hpp
+++ /dev/null
@@ -1,114 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// Preprocessed version of "boost/mpl/shift_left.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
-
- , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
- , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
- >
-struct shift_left_impl
- : if_c<
- ( tag1_ > tag2_ )
- , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct shift_left_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct shift_left_impl< na,integral_c_tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct shift_left_impl< integral_c_tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct shift_left_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct shift_left
- : aux::msvc_eti_base< typename apply_wrap2<
- shift_left_impl<
- typename shift_left_tag<N1>::type
- , typename shift_left_tag<N2>::type
- >
- , N1
- , N2
- >::type >::type
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, typename Shift, T n, Shift s >
-struct shift_left_wknd
-{
- BOOST_STATIC_CONSTANT(T, value = (n << s));
- typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct shift_left_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N, typename S > struct apply
- : aux::shift_left_wknd<
- typename N::value_type
- , typename S::value_type
- , N::value
- , S::value
- >::type
-
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/msvc60/shift_right.hpp b/boost/mpl/aux_/preprocessed/msvc60/shift_right.hpp
deleted file mode 100644
index 24ea094..0000000
--- a/boost/mpl/aux_/preprocessed/msvc60/shift_right.hpp
+++ /dev/null
@@ -1,114 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// Preprocessed version of "boost/mpl/shift_right.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
-
- , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
- , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
- >
-struct shift_right_impl
- : if_c<
- ( tag1_ > tag2_ )
- , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct shift_right_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct shift_right_impl< na,integral_c_tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct shift_right_impl< integral_c_tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct shift_right_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct shift_right
- : aux::msvc_eti_base< typename apply_wrap2<
- shift_right_impl<
- typename shift_right_tag<N1>::type
- , typename shift_right_tag<N2>::type
- >
- , N1
- , N2
- >::type >::type
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, typename Shift, T n, Shift s >
-struct shift_right_wknd
-{
- BOOST_STATIC_CONSTANT(T, value = (n >> s));
- typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct shift_right_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N, typename S > struct apply
- : aux::shift_right_wknd<
- typename N::value_type
- , typename S::value_type
- , N::value
- , S::value
- >::type
-
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/msvc60/template_arity.hpp b/boost/mpl/aux_/preprocessed/msvc60/template_arity.hpp
deleted file mode 100644
index 1668771..0000000
--- a/boost/mpl/aux_/preprocessed/msvc60/template_arity.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< bool >
-struct template_arity_impl
-{
- template< typename F > struct result_
- : mpl::int_< -1 >
- {
- };
-};
-
-template<>
-struct template_arity_impl<true>
-{
- template< typename F > struct result_
- : F::arity
- {
- };
-};
-
-template< typename F >
-struct template_arity
- : template_arity_impl< ::boost::mpl::aux::has_rebind<F>::value >
- ::template result_<F>
-{
-};
-
-template<>
-struct template_arity<int>
- : mpl::int_< -1 >
-{
-};
-
-}}}
-
diff --git a/boost/mpl/aux_/preprocessed/msvc60/times.hpp b/boost/mpl/aux_/preprocessed/msvc60/times.hpp
deleted file mode 100644
index dee7fd4..0000000
--- a/boost/mpl/aux_/preprocessed/msvc60/times.hpp
+++ /dev/null
@@ -1,148 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/times.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
-
- , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
- , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
- >
-struct times_impl
- : if_c<
- ( tag1_ > tag2_ )
- , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct times_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct times_impl< na,integral_c_tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct times_impl< integral_c_tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct times_tag
-{
- typedef typename T::tag type;
-};
-
-/// forward declaration
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct times2;
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct times
-
- : if_<
-
- is_na<N3>
- , times2< N1,N2 >
- , times<
- times2< N1,N2 >
- , N3, N4, N5
- >
- >::type
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , times
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1
- , typename N2
- >
-struct times2
- : aux::msvc_eti_base< typename apply_wrap2<
- times_impl<
- typename times_tag<N1>::type
- , typename times_tag<N2>::type
- >
- , N1
- , N2
- >::type >::type
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, times2, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, times)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, T n1, T n2 >
-struct times_wknd
-{
- BOOST_STATIC_CONSTANT(T, value = (n1 * n2));
- typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct times_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
- : aux::times_wknd<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , N1::value
- , N2::value
- >::type
-
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/msvc60/unpack_args.hpp b/boost/mpl/aux_/preprocessed/msvc60/unpack_args.hpp
deleted file mode 100644
index 26533dd..0000000
--- a/boost/mpl/aux_/preprocessed/msvc60/unpack_args.hpp
+++ /dev/null
@@ -1,109 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/unpack_args.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< BOOST_MPL_AUX_NTTP_DECL(int, size) > struct unpack_args_impl
-{
- template< typename F, typename Args > struct apply;
-};
-
-template<> struct unpack_args_impl<0>
-{
- template< typename F, typename Args > struct apply
- : apply0<
- F
- >
- {
- };
-};
-
-template<> struct unpack_args_impl<1>
-{
- template< typename F, typename Args > struct apply
- : apply1<
- F
- , typename at_c< Args,0 >::type
- >
- {
- };
-};
-
-template<> struct unpack_args_impl<2>
-{
- template< typename F, typename Args > struct apply
- : apply2<
- F
- , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
- >
- {
- };
-};
-
-template<> struct unpack_args_impl<3>
-{
- template< typename F, typename Args > struct apply
- : apply3<
- F
- , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
- , typename at_c< Args,2 >::type
- >
- {
- };
-};
-
-template<> struct unpack_args_impl<4>
-{
- template< typename F, typename Args > struct apply
- : apply4<
- F
- , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
- , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
- >
- {
- };
-};
-
-template<> struct unpack_args_impl<5>
-{
- template< typename F, typename Args > struct apply
- : apply5<
- F
- , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
- , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
- , typename at_c< Args,4 >::type
- >
- {
- };
-};
-
-}
-
-template<
- typename F
- >
-struct unpack_args
-{
- template< typename Args > struct apply
-
- : aux::unpack_args_impl< size<Args>::value >
- ::template apply< F,Args >
-
- {
- };
-};
-
-BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/msvc60/vector.hpp b/boost/mpl/aux_/preprocessed/msvc60/vector.hpp
deleted file mode 100644
index a6c7b62..0000000
--- a/boost/mpl/aux_/preprocessed/msvc60/vector.hpp
+++ /dev/null
@@ -1,556 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/vector.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< int N >
-struct vector_chooser;
-
-}
-
-namespace aux {
-
-template<>
-struct vector_chooser<0>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef vector0<
-
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<1>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector1<
- T0
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<2>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector2<
- T0, T1
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<3>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector3<
- T0, T1, T2
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<4>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector4<
- T0, T1, T2, T3
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<5>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector5<
- T0, T1, T2, T3, T4
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<6>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector6<
- T0, T1, T2, T3, T4, T5
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<7>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector7<
- T0, T1, T2, T3, T4, T5, T6
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<8>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector8<
- T0, T1, T2, T3, T4, T5, T6, T7
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<9>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector9<
- T0, T1, T2, T3, T4, T5, T6, T7, T8
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<10>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector10<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<11>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector11<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<12>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector12<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<13>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector13<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<14>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector14<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<15>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<16>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<17>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<18>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<19>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<20>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< typename T >
-struct is_vector_arg
-{
- BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template<>
-struct is_vector_arg<na>
-{
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template<
- typename T1, typename T2, typename T3, typename T4, typename T5
- , typename T6, typename T7, typename T8, typename T9, typename T10
- , typename T11, typename T12, typename T13, typename T14, typename T15
- , typename T16, typename T17, typename T18, typename T19, typename T20
- >
-struct vector_count_args
-{
- BOOST_STATIC_CONSTANT(int, value =
- is_vector_arg<T1>::value + is_vector_arg<T2>::value
- + is_vector_arg<T3>::value + is_vector_arg<T4>::value
- + is_vector_arg<T5>::value + is_vector_arg<T6>::value
- + is_vector_arg<T7>::value + is_vector_arg<T8>::value
- + is_vector_arg<T9>::value + is_vector_arg<T10>::value
- + is_vector_arg<T11>::value + is_vector_arg<T12>::value
- + is_vector_arg<T13>::value + is_vector_arg<T14>::value
- + is_vector_arg<T15>::value + is_vector_arg<T16>::value
- + is_vector_arg<T17>::value + is_vector_arg<T18>::value
- + is_vector_arg<T19>::value + is_vector_arg<T20>::value
- );
-
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct vector_impl
-{
- typedef aux::vector_count_args<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- > arg_num_;
-
- typedef typename aux::vector_chooser< arg_num_::value >
- ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-} // namespace aux
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct vector
- : aux::vector_impl<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- >::type
-{
- typedef typename aux::vector_impl<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/msvc60/vector_c.hpp b/boost/mpl/aux_/preprocessed/msvc60/vector_c.hpp
deleted file mode 100644
index c522d08..0000000
--- a/boost/mpl/aux_/preprocessed/msvc60/vector_c.hpp
+++ /dev/null
@@ -1,534 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/vector_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< int N >
-struct vector_c_chooser;
-
-}
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<0>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector0_c<
- T
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<1>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector1_c<
- T, T(C0)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<2>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector2_c<
- T, T(C0), T(C1)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<3>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector3_c<
- T, T(C0), T(C1), T(C2)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<4>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector4_c<
- T, T(C0), T(C1), T(C2), T(C3)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<5>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector5_c<
- T, T(C0), T(C1), T(C2), T(C3), T(C4)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<6>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector6_c<
- T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<7>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector7_c<
- T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<8>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector8_c<
- T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<9>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector9_c<
- T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<10>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector10_c<
- T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<11>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector11_c<
- T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<12>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector12_c<
- T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<13>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector13_c<
- T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<14>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector14_c<
- T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<15>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector15_c<
- T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<16>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector16_c<
- T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<17>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector17_c<
- T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<18>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector18_c<
- T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<19>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector19_c<
- T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<20>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector20_c<
- T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< long C >
-struct is_vector_c_arg
-{
- BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template<>
-struct is_vector_c_arg<LONG_MAX>
-{
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template<
- long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8
- , long C9, long C10, long C11, long C12, long C13, long C14, long C15
- , long C16, long C17, long C18, long C19, long C20
- >
-struct vector_c_count_args
-{
- BOOST_STATIC_CONSTANT(int, value =
- is_vector_c_arg<C1>::value + is_vector_c_arg<C2>::value
- + is_vector_c_arg<C3>::value + is_vector_c_arg<C4>::value
- + is_vector_c_arg<C5>::value + is_vector_c_arg<C6>::value
- + is_vector_c_arg<C7>::value + is_vector_c_arg<C8>::value
- + is_vector_c_arg<C9>::value + is_vector_c_arg<C10>::value
- + is_vector_c_arg<C11>::value + is_vector_c_arg<C12>::value
- + is_vector_c_arg<C13>::value + is_vector_c_arg<C14>::value
- + is_vector_c_arg<C15>::value + is_vector_c_arg<C16>::value
- + is_vector_c_arg<C17>::value + is_vector_c_arg<C18>::value
- + is_vector_c_arg<C19>::value + is_vector_c_arg<C20>::value
- );
-
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
-struct vector_c_impl
-{
- typedef aux::vector_c_count_args<
- C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
- > arg_num_;
-
- typedef typename aux::vector_c_chooser< arg_num_::value >
- ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-} // namespace aux
-
-template<
- typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
- , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
- , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
- , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
- , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
- , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
- , long C18 = LONG_MAX, long C19 = LONG_MAX
- >
-struct vector_c
- : aux::vector_c_impl<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
- >::type
-{
- typedef typename aux::vector_c_impl<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
- >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/msvc70/advance_backward.hpp b/boost/mpl/aux_/preprocessed/msvc70/advance_backward.hpp
deleted file mode 100644
index 26de94c..0000000
--- a/boost/mpl/aux_/preprocessed/msvc70/advance_backward.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< long N > struct advance_backward;
-template<>
-struct advance_backward<0>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef iter0 type;
- };
-};
-
-template<>
-struct advance_backward<1>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename prior<iter0>::type iter1;
- typedef iter1 type;
- };
-};
-
-template<>
-struct advance_backward<2>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename prior<iter0>::type iter1;
- typedef typename prior<iter1>::type iter2;
- typedef iter2 type;
- };
-};
-
-template<>
-struct advance_backward<3>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename prior<iter0>::type iter1;
- typedef typename prior<iter1>::type iter2;
- typedef typename prior<iter2>::type iter3;
- typedef iter3 type;
- };
-};
-
-template<>
-struct advance_backward<4>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename prior<iter0>::type iter1;
- typedef typename prior<iter1>::type iter2;
- typedef typename prior<iter2>::type iter3;
- typedef typename prior<iter3>::type iter4;
- typedef iter4 type;
- };
-};
-
-template< long N >
-struct advance_backward
-{
- template< typename Iterator > struct apply
- {
- typedef typename apply_wrap1<
- advance_backward<4>
- , Iterator
- >::type chunk_result_;
-
- typedef typename apply_wrap1<
- advance_backward<(
- (N - 4) < 0
- ? 0
- : N - 4
- )>
- , chunk_result_
- >::type type;
- };
-};
-
-}}}
-
diff --git a/boost/mpl/aux_/preprocessed/msvc70/advance_forward.hpp b/boost/mpl/aux_/preprocessed/msvc70/advance_forward.hpp
deleted file mode 100644
index b137cc7..0000000
--- a/boost/mpl/aux_/preprocessed/msvc70/advance_forward.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< long N > struct advance_forward;
-template<>
-struct advance_forward<0>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef iter0 type;
- };
-};
-
-template<>
-struct advance_forward<1>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename next<iter0>::type iter1;
- typedef iter1 type;
- };
-};
-
-template<>
-struct advance_forward<2>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename next<iter0>::type iter1;
- typedef typename next<iter1>::type iter2;
- typedef iter2 type;
- };
-};
-
-template<>
-struct advance_forward<3>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename next<iter0>::type iter1;
- typedef typename next<iter1>::type iter2;
- typedef typename next<iter2>::type iter3;
- typedef iter3 type;
- };
-};
-
-template<>
-struct advance_forward<4>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename next<iter0>::type iter1;
- typedef typename next<iter1>::type iter2;
- typedef typename next<iter2>::type iter3;
- typedef typename next<iter3>::type iter4;
- typedef iter4 type;
- };
-};
-
-template< long N >
-struct advance_forward
-{
- template< typename Iterator > struct apply
- {
- typedef typename apply_wrap1<
- advance_forward<4>
- , Iterator
- >::type chunk_result_;
-
- typedef typename apply_wrap1<
- advance_forward<(
- (N - 4) < 0
- ? 0
- : N - 4
- )>
- , chunk_result_
- >::type type;
- };
-};
-
-}}}
-
diff --git a/boost/mpl/aux_/preprocessed/msvc70/and.hpp b/boost/mpl/aux_/preprocessed/msvc70/and.hpp
deleted file mode 100644
index e58640a..0000000
--- a/boost/mpl/aux_/preprocessed/msvc70/and.hpp
+++ /dev/null
@@ -1,71 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/and.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< bool C_ > struct and_impl
-{
- template<
- typename T1, typename T2, typename T3, typename T4
- >
- struct result_
- : false_
- {
- };
-};
-
-template<> struct and_impl<true>
-{
- template<
- typename T1, typename T2, typename T3, typename T4
- >
- struct result_
- : and_impl<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
- >::template result_< T2,T3,T4,true_ >
- {
- };
-
- template<> struct result_< true_,true_,true_,true_ >
- : true_
- {
- };
-};
-
-} // namespace aux
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(T1)
- , typename BOOST_MPL_AUX_NA_PARAM(T2)
- , typename T3 = true_, typename T4 = true_, typename T5 = true_
- >
-struct and_
-
- : aux::and_impl<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
- >::template result_< T2,T3,T4,T5 >
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , and_
- , ( T1, T2, T3, T4, T5)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC2(
- 2
- , 5
- , and_
- )
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/msvc70/apply.hpp b/boost/mpl/aux_/preprocessed/msvc70/apply.hpp
deleted file mode 100644
index d46d030..0000000
--- a/boost/mpl/aux_/preprocessed/msvc70/apply.hpp
+++ /dev/null
@@ -1,160 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/apply.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename F
- >
-struct apply0
-
- : apply_wrap0<
- typename lambda<F>::type
-
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 1
- , apply0
- , (F )
- )
-};
-
-/// workaround for ETI bug
-template<>
-struct apply0<int>
-{
- typedef int type;
-};
-
-template<
- typename F, typename T1
- >
-struct apply1
-
- : apply_wrap1<
- typename lambda<F>::type
- , T1
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 2
- , apply1
- , (F, T1)
- )
-};
-
-/// workaround for ETI bug
-template<>
-struct apply1< int,int >
-{
- typedef int type;
-};
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply2
-
- : apply_wrap2<
- typename lambda<F>::type
- , T1, T2
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 3
- , apply2
- , (F, T1, T2)
- )
-};
-
-/// workaround for ETI bug
-template<>
-struct apply2< int,int,int >
-{
- typedef int type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply3
-
- : apply_wrap3<
- typename lambda<F>::type
- , T1, T2, T3
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 4
- , apply3
- , (F, T1, T2, T3)
- )
-};
-
-/// workaround for ETI bug
-template<>
-struct apply3< int,int,int,int >
-{
- typedef int type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply4
-
- : apply_wrap4<
- typename lambda<F>::type
- , T1, T2, T3, T4
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , apply4
- , (F, T1, T2, T3, T4)
- )
-};
-
-/// workaround for ETI bug
-template<>
-struct apply4< int,int,int,int,int >
-{
- typedef int type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct apply5
-
- : apply_wrap5<
- typename lambda<F>::type
- , T1, T2, T3, T4, T5
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 6
- , apply5
- , (F, T1, T2, T3, T4, T5)
- )
-};
-
-/// workaround for ETI bug
-template<>
-struct apply5< int,int,int,int,int,int >
-{
- typedef int type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/msvc70/apply_fwd.hpp b/boost/mpl/aux_/preprocessed/msvc70/apply_fwd.hpp
deleted file mode 100644
index f0f86c1..0000000
--- a/boost/mpl/aux_/preprocessed/msvc70/apply_fwd.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/apply_fwd.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename F
- >
-struct apply0;
-
-template<
- typename F, typename T1
- >
-struct apply1;
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply2;
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply3;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply4;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct apply5;
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/msvc70/apply_wrap.hpp b/boost/mpl/aux_/preprocessed/msvc70/apply_wrap.hpp
deleted file mode 100644
index d307517..0000000
--- a/boost/mpl/aux_/preprocessed/msvc70/apply_wrap.hpp
+++ /dev/null
@@ -1,138 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/apply_wrap.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename F
-
- , typename has_apply_ = typename aux::has_apply<F>::type
-
- >
-struct apply_wrap0
-
-{
- typedef typename F::template apply<
-
- >::type type;
-
-};
-
-/// workaround for ETI bug
-template<>
-struct apply_wrap0<int>
-{
- typedef int type;
-};
-
-template<
- typename F, typename T1
-
- >
-struct apply_wrap1
-
-{
- typedef typename F::template apply<
- T1
- >::type type;
-
-};
-
-/// workaround for ETI bug
-template<>
-struct apply_wrap1< int,int >
-{
- typedef int type;
-};
-
-template<
- typename F, typename T1, typename T2
-
- >
-struct apply_wrap2
-
-{
- typedef typename F::template apply<
- T1, T2
- >::type type;
-
-};
-
-/// workaround for ETI bug
-template<>
-struct apply_wrap2< int,int,int >
-{
- typedef int type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
-
- >
-struct apply_wrap3
-
-{
- typedef typename F::template apply<
- T1, T2, T3
- >::type type;
-
-};
-
-/// workaround for ETI bug
-template<>
-struct apply_wrap3< int,int,int,int >
-{
- typedef int type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
-
- >
-struct apply_wrap4
-
-{
- typedef typename F::template apply<
- T1, T2, T3, T4
- >::type type;
-
-};
-
-/// workaround for ETI bug
-template<>
-struct apply_wrap4< int,int,int,int,int >
-{
- typedef int type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
-
- >
-struct apply_wrap5
-
-{
- typedef typename F::template apply<
- T1, T2, T3, T4, T5
- >::type type;
-
-};
-
-/// workaround for ETI bug
-template<>
-struct apply_wrap5< int,int,int,int,int,int >
-{
- typedef int type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/msvc70/arg.hpp b/boost/mpl/aux_/preprocessed/msvc70/arg.hpp
deleted file mode 100644
index 6f2f8a8..0000000
--- a/boost/mpl/aux_/preprocessed/msvc70/arg.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-
-// Copyright Peter Dimov 2001-2002
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/arg.hpp" header
-// -- DO NOT modify by hand!
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-template<> struct arg< -1 >
-{
- BOOST_STATIC_CONSTANT(int, value = -1);
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U1 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<1>
-{
- BOOST_STATIC_CONSTANT(int, value = 1);
- typedef arg<2> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U1 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<2>
-{
- BOOST_STATIC_CONSTANT(int, value = 2);
- typedef arg<3> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U2 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<3>
-{
- BOOST_STATIC_CONSTANT(int, value = 3);
- typedef arg<4> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U3 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<4>
-{
- BOOST_STATIC_CONSTANT(int, value = 4);
- typedef arg<5> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U4 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<5>
-{
- BOOST_STATIC_CONSTANT(int, value = 5);
- typedef arg<6> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U5 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
diff --git a/boost/mpl/aux_/preprocessed/msvc70/basic_bind.hpp b/boost/mpl/aux_/preprocessed/msvc70/basic_bind.hpp
deleted file mode 100644
index 4f12a40..0000000
--- a/boost/mpl/aux_/preprocessed/msvc70/basic_bind.hpp
+++ /dev/null
@@ -1,328 +0,0 @@
-
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< bool >
-struct resolve_arg_impl
-{
- template<
- typename T, typename U1, typename U2, typename U3
- , typename U4, typename U5
- >
- struct result_
- {
- typedef T type;
- };
-};
-
-template<>
-struct resolve_arg_impl<true>
-{
- template<
- typename T, typename U1, typename U2, typename U3
- , typename U4, typename U5
- >
- struct result_
- {
- typedef typename apply_wrap5<
- T
- , U1, U2, U3, U4, U5
- >::type type;
- };
-};
-
-template< typename T > struct is_bind_template;
-
-template<
- typename T, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg
- : resolve_arg_impl< is_bind_template<T>::value >
- ::template result_< T,U1,U2,U3,U4,U5 >
-{
-};
-
-template< int arity_ > struct bind_chooser;
-
-aux::no_tag is_bind_helper(...);
-template< typename T > aux::no_tag is_bind_helper(protect<T>*);
-
-template< int N >
-aux::yes_tag is_bind_helper(arg<N>*);
-
-template< bool is_ref_ = true >
-struct is_bind_template_impl
-{
- template< typename T > struct result_
- {
- BOOST_STATIC_CONSTANT(bool, value = false);
- };
-};
-
-template<>
-struct is_bind_template_impl<false>
-{
- template< typename T > struct result_
- {
- BOOST_STATIC_CONSTANT(bool, value =
- sizeof(aux::is_bind_helper(static_cast<T*>(0)))
- == sizeof(aux::yes_tag)
- );
- };
-};
-
-template< typename T > struct is_bind_template
- : is_bind_template_impl< ::boost::detail::is_reference_impl<T>::value >
- ::template result_<T>
-{
-};
-
-} // namespace aux
-
-template<
- typename F
- >
-struct bind0
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-
- public:
- typedef typename apply_wrap0<
- f_
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F
- >
-aux::yes_tag
-is_bind_helper(bind0<F>*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
-
-template<
- typename F, typename T1
- >
-struct bind1
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-
- public:
- typedef typename apply_wrap1<
- f_
- , typename t1::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1
- >
-aux::yes_tag
-is_bind_helper(bind1< F,T1 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
-
-template<
- typename F, typename T1, typename T2
- >
-struct bind2
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-
- public:
- typedef typename apply_wrap2<
- f_
- , typename t1::type, typename t2::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2
- >
-aux::yes_tag
-is_bind_helper(bind2< F,T1,T2 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct bind3
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
- typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-
- public:
- typedef typename apply_wrap3<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-aux::yes_tag
-is_bind_helper(bind3< F,T1,T2,T3 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct bind4
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
- typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
- typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
-
- public:
- typedef typename apply_wrap4<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- , typename t4::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-aux::yes_tag
-is_bind_helper(bind4< F,T1,T2,T3,T4 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct bind5
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
- typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
- typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
- typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5;
-
- public:
- typedef typename apply_wrap5<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- , typename t4::type, typename t5::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-aux::yes_tag
-is_bind_helper(bind5< F,T1,T2,T3,T4,T5 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/msvc70/bind.hpp b/boost/mpl/aux_/preprocessed/msvc70/bind.hpp
deleted file mode 100644
index 53c76e8..0000000
--- a/boost/mpl/aux_/preprocessed/msvc70/bind.hpp
+++ /dev/null
@@ -1,432 +0,0 @@
-
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/bind.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< bool >
-struct resolve_arg_impl
-{
- template<
- typename T, typename U1, typename U2, typename U3
- , typename U4, typename U5
- >
- struct result_
- {
- typedef T type;
- };
-};
-
-template<>
-struct resolve_arg_impl<true>
-{
- template<
- typename T, typename U1, typename U2, typename U3
- , typename U4, typename U5
- >
- struct result_
- {
- typedef typename apply_wrap5<
- T
- , U1, U2, U3, U4, U5
- >::type type;
- };
-};
-
-template< typename T > struct is_bind_template;
-
-template<
- typename T, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg
- : resolve_arg_impl< is_bind_template<T>::value >
- ::template result_< T,U1,U2,U3,U4,U5 >
-{
-};
-
-template< typename T >
-struct replace_unnamed_arg_impl
-{
- template< typename Arg > struct result_
- {
- typedef Arg next;
- typedef T type;
- };
-};
-
-template<>
-struct replace_unnamed_arg_impl< arg< -1 > >
-{
- template< typename Arg > struct result_
- {
- typedef typename next<Arg>::type next;
- typedef Arg type;
- };
-};
-
-template< typename T, typename Arg >
-struct replace_unnamed_arg
- : replace_unnamed_arg_impl<T>::template result_<Arg>
-{
-};
-
-template< int arity_ > struct bind_chooser;
-
-aux::no_tag is_bind_helper(...);
-template< typename T > aux::no_tag is_bind_helper(protect<T>*);
-
-template< int N >
-aux::yes_tag is_bind_helper(arg<N>*);
-
-template< bool is_ref_ = true >
-struct is_bind_template_impl
-{
- template< typename T > struct result_
- {
- BOOST_STATIC_CONSTANT(bool, value = false);
- };
-};
-
-template<>
-struct is_bind_template_impl<false>
-{
- template< typename T > struct result_
- {
- BOOST_STATIC_CONSTANT(bool, value =
- sizeof(aux::is_bind_helper(static_cast<T*>(0)))
- == sizeof(aux::yes_tag)
- );
- };
-};
-
-template< typename T > struct is_bind_template
- : is_bind_template_impl< ::boost::detail::is_reference_impl<T>::value >
- ::template result_<T>
-{
-};
-
-} // namespace aux
-
-template<
- typename F
- >
-struct bind0
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- public:
- typedef typename apply_wrap0<
- f_
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F
- >
-aux::yes_tag
-is_bind_helper(bind0<F>*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
-
-template<
- typename F, typename T1
- >
-struct bind1
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- public:
- typedef typename apply_wrap1<
- f_
- , typename t1::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1
- >
-aux::yes_tag
-is_bind_helper(bind1< F,T1 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
-
-template<
- typename F, typename T1, typename T2
- >
-struct bind2
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- public:
- typedef typename apply_wrap2<
- f_
- , typename t1::type, typename t2::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2
- >
-aux::yes_tag
-is_bind_helper(bind2< F,T1,T2 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct bind3
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- typedef aux::replace_unnamed_arg< T3,n3 > r3;
- typedef typename r3::type a3;
- typedef typename r3::next n4;
- typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
- ///
- public:
- typedef typename apply_wrap3<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-aux::yes_tag
-is_bind_helper(bind3< F,T1,T2,T3 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct bind4
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- typedef aux::replace_unnamed_arg< T3,n3 > r3;
- typedef typename r3::type a3;
- typedef typename r3::next n4;
- typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
- ///
- typedef aux::replace_unnamed_arg< T4,n4 > r4;
- typedef typename r4::type a4;
- typedef typename r4::next n5;
- typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
- ///
- public:
- typedef typename apply_wrap4<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- , typename t4::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-aux::yes_tag
-is_bind_helper(bind4< F,T1,T2,T3,T4 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct bind5
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- typedef aux::replace_unnamed_arg< T3,n3 > r3;
- typedef typename r3::type a3;
- typedef typename r3::next n4;
- typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
- ///
- typedef aux::replace_unnamed_arg< T4,n4 > r4;
- typedef typename r4::type a4;
- typedef typename r4::next n5;
- typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
- ///
- typedef aux::replace_unnamed_arg< T5,n5 > r5;
- typedef typename r5::type a5;
- typedef typename r5::next n6;
- typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5;
- ///
- public:
- typedef typename apply_wrap5<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- , typename t4::type, typename t5::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-aux::yes_tag
-is_bind_helper(bind5< F,T1,T2,T3,T4,T5 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/msvc70/bind_fwd.hpp b/boost/mpl/aux_/preprocessed/msvc70/bind_fwd.hpp
deleted file mode 100644
index 022cba3..0000000
--- a/boost/mpl/aux_/preprocessed/msvc70/bind_fwd.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/bind_fwd.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename F
- >
-struct bind0;
-
-template<
- typename F, typename T1
- >
-struct bind1;
-
-template<
- typename F, typename T1, typename T2
- >
-struct bind2;
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct bind3;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct bind4;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct bind5;
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/msvc70/bitand.hpp b/boost/mpl/aux_/preprocessed/msvc70/bitand.hpp
deleted file mode 100644
index e54b4ce..0000000
--- a/boost/mpl/aux_/preprocessed/msvc70/bitand.hpp
+++ /dev/null
@@ -1,151 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// Preprocessed version of "boost/mpl/bitand.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
-
- , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
- , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
- >
-struct bitand_impl
- : if_c<
- ( tag1_ > tag2_ )
- , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitand_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct bitand_impl< na,integral_c_tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct bitand_impl< integral_c_tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct bitand_tag
- : tag< T,na >
-{
-};
-
-/// forward declaration
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct bitand_2;
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct bitand_
-
- : aux::msvc_eti_base< typename if_<
-
- is_na<N3>
- , bitand_2< N1,N2 >
- , bitand_<
- bitand_2< N1,N2 >
- , N3, N4, N5
- >
- >::type
-
- >
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , bitand_
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1
- , typename N2
- >
-struct bitand_2
- : aux::msvc_eti_base< typename apply_wrap2<
- bitand_impl<
- typename bitand_tag<N1>::type
- , typename bitand_tag<N2>::type
- >
- , N1
- , N2
- >::type >::type
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitand_2, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, T n1, T n2 >
-struct bitand_wknd
-{
- BOOST_STATIC_CONSTANT(T, value = (n1 & n2));
- typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct bitand_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
- : aux::bitand_wknd<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , N1::value
- , N2::value
- >::type
-
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/msvc70/bitor.hpp b/boost/mpl/aux_/preprocessed/msvc70/bitor.hpp
deleted file mode 100644
index 3b465b3..0000000
--- a/boost/mpl/aux_/preprocessed/msvc70/bitor.hpp
+++ /dev/null
@@ -1,151 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// Preprocessed version of "boost/mpl/bitor.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
-
- , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
- , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
- >
-struct bitor_impl
- : if_c<
- ( tag1_ > tag2_ )
- , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitor_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct bitor_impl< na,integral_c_tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct bitor_impl< integral_c_tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct bitor_tag
- : tag< T,na >
-{
-};
-
-/// forward declaration
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct bitor_2;
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct bitor_
-
- : aux::msvc_eti_base< typename if_<
-
- is_na<N3>
- , bitor_2< N1,N2 >
- , bitor_<
- bitor_2< N1,N2 >
- , N3, N4, N5
- >
- >::type
-
- >
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , bitor_
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1
- , typename N2
- >
-struct bitor_2
- : aux::msvc_eti_base< typename apply_wrap2<
- bitor_impl<
- typename bitor_tag<N1>::type
- , typename bitor_tag<N2>::type
- >
- , N1
- , N2
- >::type >::type
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitor_2, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, T n1, T n2 >
-struct bitor_wknd
-{
- BOOST_STATIC_CONSTANT(T, value = (n1 | n2));
- typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct bitor_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
- : aux::bitor_wknd<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , N1::value
- , N2::value
- >::type
-
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/msvc70/bitxor.hpp b/boost/mpl/aux_/preprocessed/msvc70/bitxor.hpp
deleted file mode 100644
index f7c5d43..0000000
--- a/boost/mpl/aux_/preprocessed/msvc70/bitxor.hpp
+++ /dev/null
@@ -1,151 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// Preprocessed version of "boost/mpl/bitxor.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
-
- , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
- , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
- >
-struct bitxor_impl
- : if_c<
- ( tag1_ > tag2_ )
- , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitxor_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct bitxor_impl< na,integral_c_tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct bitxor_impl< integral_c_tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct bitxor_tag
- : tag< T,na >
-{
-};
-
-/// forward declaration
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct bitxor_2;
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct bitxor_
-
- : aux::msvc_eti_base< typename if_<
-
- is_na<N3>
- , bitxor_2< N1,N2 >
- , bitxor_<
- bitxor_2< N1,N2 >
- , N3, N4, N5
- >
- >::type
-
- >
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , bitxor_
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1
- , typename N2
- >
-struct bitxor_2
- : aux::msvc_eti_base< typename apply_wrap2<
- bitxor_impl<
- typename bitxor_tag<N1>::type
- , typename bitxor_tag<N2>::type
- >
- , N1
- , N2
- >::type >::type
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitxor_2, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, T n1, T n2 >
-struct bitxor_wknd
-{
- BOOST_STATIC_CONSTANT(T, value = (n1 ^ n2));
- typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct bitxor_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
- : aux::bitxor_wknd<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , N1::value
- , N2::value
- >::type
-
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/msvc70/deque.hpp b/boost/mpl/aux_/preprocessed/msvc70/deque.hpp
deleted file mode 100644
index a0445d9..0000000
--- a/boost/mpl/aux_/preprocessed/msvc70/deque.hpp
+++ /dev/null
@@ -1,556 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/deque.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< int N >
-struct deque_chooser;
-
-}
-
-namespace aux {
-
-template<>
-struct deque_chooser<0>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef vector0<
-
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<1>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector1<
- T0
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<2>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector2<
- T0, T1
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<3>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector3<
- T0, T1, T2
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<4>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector4<
- T0, T1, T2, T3
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<5>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector5<
- T0, T1, T2, T3, T4
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<6>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector6<
- T0, T1, T2, T3, T4, T5
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<7>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector7<
- T0, T1, T2, T3, T4, T5, T6
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<8>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector8<
- T0, T1, T2, T3, T4, T5, T6, T7
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<9>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector9<
- T0, T1, T2, T3, T4, T5, T6, T7, T8
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<10>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector10<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<11>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector11<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<12>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector12<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<13>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector13<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<14>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector14<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<15>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<16>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<17>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<18>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<19>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<20>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< typename T >
-struct is_deque_arg
-{
- BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template<>
-struct is_deque_arg<na>
-{
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template<
- typename T1, typename T2, typename T3, typename T4, typename T5
- , typename T6, typename T7, typename T8, typename T9, typename T10
- , typename T11, typename T12, typename T13, typename T14, typename T15
- , typename T16, typename T17, typename T18, typename T19, typename T20
- >
-struct deque_count_args
-{
- BOOST_STATIC_CONSTANT(int, value =
- is_deque_arg<T1>::value + is_deque_arg<T2>::value
- + is_deque_arg<T3>::value + is_deque_arg<T4>::value
- + is_deque_arg<T5>::value + is_deque_arg<T6>::value
- + is_deque_arg<T7>::value + is_deque_arg<T8>::value
- + is_deque_arg<T9>::value + is_deque_arg<T10>::value
- + is_deque_arg<T11>::value + is_deque_arg<T12>::value
- + is_deque_arg<T13>::value + is_deque_arg<T14>::value
- + is_deque_arg<T15>::value + is_deque_arg<T16>::value
- + is_deque_arg<T17>::value + is_deque_arg<T18>::value
- + is_deque_arg<T19>::value + is_deque_arg<T20>::value
- );
-
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct deque_impl
-{
- typedef aux::deque_count_args<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- > arg_num_;
-
- typedef typename aux::deque_chooser< arg_num_::value >
- ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-} // namespace aux
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct deque
- : aux::deque_impl<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- >::type
-{
- typedef typename aux::deque_impl<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/msvc70/divides.hpp b/boost/mpl/aux_/preprocessed/msvc70/divides.hpp
deleted file mode 100644
index 0c60c43..0000000
--- a/boost/mpl/aux_/preprocessed/msvc70/divides.hpp
+++ /dev/null
@@ -1,150 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/divides.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
-
- , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
- , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
- >
-struct divides_impl
- : if_c<
- ( tag1_ > tag2_ )
- , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct divides_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct divides_impl< na,integral_c_tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct divides_impl< integral_c_tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct divides_tag
- : tag< T,na >
-{
-};
-
-/// forward declaration
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct divides2;
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct divides
-
- : aux::msvc_eti_base< typename if_<
-
- is_na<N3>
- , divides2< N1,N2 >
- , divides<
- divides2< N1,N2 >
- , N3, N4, N5
- >
- >::type
-
- >
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , divides
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1
- , typename N2
- >
-struct divides2
- : aux::msvc_eti_base< typename apply_wrap2<
- divides_impl<
- typename divides_tag<N1>::type
- , typename divides_tag<N2>::type
- >
- , N1
- , N2
- >::type >::type
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, divides2, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, divides)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, T n1, T n2 >
-struct divides_wknd
-{
- BOOST_STATIC_CONSTANT(T, value = (n1 / n2));
- typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct divides_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
- : aux::divides_wknd<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , N1::value
- , N2::value
- >::type
-
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/msvc70/equal_to.hpp b/boost/mpl/aux_/preprocessed/msvc70/equal_to.hpp
deleted file mode 100644
index 107912b..0000000
--- a/boost/mpl/aux_/preprocessed/msvc70/equal_to.hpp
+++ /dev/null
@@ -1,102 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/equal_to.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
-
- , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
- , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
- >
-struct equal_to_impl
- : if_c<
- ( tag1_ > tag2_ )
- , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct equal_to_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct equal_to_impl< na,integral_c_tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct equal_to_impl< integral_c_tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct equal_to_tag
- : tag< T,na >
-{
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct equal_to
- : aux::msvc_eti_base< typename apply_wrap2<
- equal_to_impl<
- typename equal_to_tag<N1>::type
- , typename equal_to_tag<N2>::type
- >
- , N1
- , N2
- >::type >::type
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct equal_to_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- {
- BOOST_STATIC_CONSTANT(bool, value =
- ( BOOST_MPL_AUX_VALUE_WKND(N1)::value ==
- BOOST_MPL_AUX_VALUE_WKND(N2)::value )
- );
- typedef bool_<value> type;
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/msvc70/fold_impl.hpp b/boost/mpl/aux_/preprocessed/msvc70/fold_impl.hpp
deleted file mode 100644
index 58066d8..0000000
--- a/boost/mpl/aux_/preprocessed/msvc70/fold_impl.hpp
+++ /dev/null
@@ -1,245 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
- int N
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl;
-
-template< int N >
-struct fold_chunk;
-
-template<> struct fold_chunk<0>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State state0;
- typedef state0 state;
- typedef iter0 iterator;
- };
-};
-
-template<> struct fold_chunk<1>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
-
-
- typedef state1 state;
- typedef iter1 iterator;
- };
-};
-
-template<> struct fold_chunk<2>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
-
-
- typedef state2 state;
- typedef iter2 iterator;
- };
-};
-
-template<> struct fold_chunk<3>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
- typedef typename mpl::next<iter2>::type iter3;
-
-
- typedef state3 state;
- typedef iter3 iterator;
- };
-};
-
-template<> struct fold_chunk<4>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp, state3, typename deref<iter3>::type >::type state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef state4 state;
- typedef iter4 iterator;
- };
-};
-
-template< int N >
-struct fold_chunk
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
- struct result_
- {
- typedef fold_impl<
- 4
- , First
- , Last
- , State
- , ForwardOp
- > chunk_;
-
- typedef fold_impl<
- ( (N - 4) < 0 ? 0 : N - 4 )
- , typename chunk_::iterator
- , Last
- , typename chunk_::state
- , ForwardOp
- > res_;
-
- typedef typename res_::state state;
- typedef typename res_::iterator iterator;
- };
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_step;
-
-template<
- typename Last
- , typename State
- >
-struct fold_null_step
-{
- typedef Last iterator;
- typedef State state;
-};
-
-template<>
-struct fold_chunk< -1 >
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
- struct result_
- {
- typedef typename if_<
- typename is_same< First,Last >::type
- , fold_null_step< Last,State >
- , fold_step< First,Last,State,ForwardOp >
- >::type res_;
-
- typedef typename res_::state state;
- typedef typename res_::iterator iterator;
- };
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_step
-{
- typedef fold_chunk< -1 >::template result_<
- typename mpl::next<First>::type
- , Last
- , typename apply2<ForwardOp,State, typename deref<First>::type>::type
- , ForwardOp
- > chunk_;
-
- typedef typename chunk_::state state;
- typedef typename chunk_::iterator iterator;
-};
-
-template<
- int N
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl
- : fold_chunk<N>
- ::template result_< First,Last,State,ForwardOp >
-{
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/msvc70/full_lambda.hpp b/boost/mpl/aux_/preprocessed/msvc70/full_lambda.hpp
deleted file mode 100644
index bf81873..0000000
--- a/boost/mpl/aux_/preprocessed/msvc70/full_lambda.hpp
+++ /dev/null
@@ -1,554 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
- bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
- , bool C5 = false
- >
-struct lambda_or
- : true_
-{
-};
-
-template<>
-struct lambda_or< false,false,false,false,false >
- : false_
-{
-};
-
-} // namespace aux
-
-template<
- typename T
- , typename Tag
-
- >
-struct lambda
-{
- typedef false_ is_le;
- typedef T result_;
- typedef T type;
-};
-
-template<
- typename T
- >
-struct is_lambda_expression
- : lambda<T>::is_le
-{
-};
-
-template< int N, typename Tag >
-struct lambda< arg<N>, Tag >
-{
- typedef true_ is_le;
- typedef mpl::arg<N> result_; // qualified for the sake of MIPSpro 7.41
- typedef mpl::protect<result_> type;
-};
-
-template<
- typename F
- , typename Tag
- >
-struct lambda<
- bind0<F>
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind0<
- F
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1 > class F
- , typename L1
- >
-struct le_result1
-{
- typedef F<
- typename L1::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1 > class F
- , typename L1
- >
-struct le_result1< true_,Tag,F,L1 >
-{
- typedef bind1<
- quote1< F,Tag >
- , typename L1::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template< typename P1 > class F
- , typename T1
- , typename Tag
- >
-struct lambda<
- F<T1>
- , Tag
-
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef typename l1::is_le is_le1;
- typedef typename aux::lambda_or<
- is_le1::value
- >::type is_le;
-
- typedef aux::le_result1<
- is_le, Tag, F, l1
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1
- , typename Tag
- >
-struct lambda<
- bind1< F,T1 >
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind1<
- F
- , T1
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1, typename P2 > class F
- , typename L1, typename L2
- >
-struct le_result2
-{
- typedef F<
- typename L1::type, typename L2::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1, typename P2 > class F
- , typename L1, typename L2
- >
-struct le_result2< true_,Tag,F,L1,L2 >
-{
- typedef bind2<
- quote2< F,Tag >
- , typename L1::result_, typename L2::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template< typename P1, typename P2 > class F
- , typename T1, typename T2
- , typename Tag
- >
-struct lambda<
- F< T1,T2 >
- , Tag
-
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef lambda< T2,Tag > l2;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
-
-
- typedef typename aux::lambda_or<
- is_le1::value, is_le2::value
- >::type is_le;
-
- typedef aux::le_result2<
- is_le, Tag, F, l1, l2
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1, typename T2
- , typename Tag
- >
-struct lambda<
- bind2< F,T1,T2 >
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind2<
- F
- , T1, T2
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1, typename P2, typename P3 > class F
- , typename L1, typename L2, typename L3
- >
-struct le_result3
-{
- typedef F<
- typename L1::type, typename L2::type, typename L3::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1, typename P2, typename P3 > class F
- , typename L1, typename L2, typename L3
- >
-struct le_result3< true_,Tag,F,L1,L2,L3 >
-{
- typedef bind3<
- quote3< F,Tag >
- , typename L1::result_, typename L2::result_, typename L3::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template< typename P1, typename P2, typename P3 > class F
- , typename T1, typename T2, typename T3
- , typename Tag
- >
-struct lambda<
- F< T1,T2,T3 >
- , Tag
-
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef lambda< T2,Tag > l2;
- typedef lambda< T3,Tag > l3;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
-
-
- typedef typename aux::lambda_or<
- is_le1::value, is_le2::value, is_le3::value
- >::type is_le;
-
- typedef aux::le_result3<
- is_le, Tag, F, l1, l2, l3
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- , typename Tag
- >
-struct lambda<
- bind3< F,T1,T2,T3 >
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind3<
- F
- , T1, T2, T3
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1, typename P2, typename P3, typename P4 > class F
- , typename L1, typename L2, typename L3, typename L4
- >
-struct le_result4
-{
- typedef F<
- typename L1::type, typename L2::type, typename L3::type
- , typename L4::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1, typename P2, typename P3, typename P4 > class F
- , typename L1, typename L2, typename L3, typename L4
- >
-struct le_result4< true_,Tag,F,L1,L2,L3,L4 >
-{
- typedef bind4<
- quote4< F,Tag >
- , typename L1::result_, typename L2::result_, typename L3::result_
- , typename L4::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template< typename P1, typename P2, typename P3, typename P4 > class F
- , typename T1, typename T2, typename T3, typename T4
- , typename Tag
- >
-struct lambda<
- F< T1,T2,T3,T4 >
- , Tag
-
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef lambda< T2,Tag > l2;
- typedef lambda< T3,Tag > l3;
- typedef lambda< T4,Tag > l4;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
- typedef typename l4::is_le is_le4;
-
-
- typedef typename aux::lambda_or<
- is_le1::value, is_le2::value, is_le3::value, is_le4::value
- >::type is_le;
-
- typedef aux::le_result4<
- is_le, Tag, F, l1, l2, l3, l4
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename Tag
- >
-struct lambda<
- bind4< F,T1,T2,T3,T4 >
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind4<
- F
- , T1, T2, T3, T4
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
- , typename L1, typename L2, typename L3, typename L4, typename L5
- >
-struct le_result5
-{
- typedef F<
- typename L1::type, typename L2::type, typename L3::type
- , typename L4::type, typename L5::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
- , typename L1, typename L2, typename L3, typename L4, typename L5
- >
-struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 >
-{
- typedef bind5<
- quote5< F,Tag >
- , typename L1::result_, typename L2::result_, typename L3::result_
- , typename L4::result_, typename L5::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template<
- typename P1, typename P2, typename P3, typename P4
- , typename P5
- >
- class F
- , typename T1, typename T2, typename T3, typename T4, typename T5
- , typename Tag
- >
-struct lambda<
- F< T1,T2,T3,T4,T5 >
- , Tag
-
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef lambda< T2,Tag > l2;
- typedef lambda< T3,Tag > l3;
- typedef lambda< T4,Tag > l4;
- typedef lambda< T5,Tag > l5;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
- typedef typename l4::is_le is_le4;
- typedef typename l5::is_le is_le5;
-
-
- typedef typename aux::lambda_or<
- is_le1::value, is_le2::value, is_le3::value, is_le4::value
- , is_le5::value
- >::type is_le;
-
- typedef aux::le_result5<
- is_le, Tag, F, l1, l2, l3, l4, l5
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- , typename Tag
- >
-struct lambda<
- bind5< F,T1,T2,T3,T4,T5 >
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind5<
- F
- , T1, T2, T3, T4, T5
- > result_;
-
- typedef result_ type;
-};
-
-/// special case for 'protect'
-template< typename T, typename Tag >
-struct lambda< mpl::protect<T>, Tag >
-{
- typedef false_ is_le;
- typedef mpl::protect<T> result_;
- typedef result_ type;
-};
-
-/// specializations for the main 'bind' form
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- , typename Tag
- >
-struct lambda<
- bind< F,T1,T2,T3,T4,T5 >
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind< F,T1,T2,T3,T4,T5 > result_;
- typedef result_ type;
-};
-
-/// workaround for MWCW 8.3+/EDG < 303, leads to ambiguity on Digital Mars
-
-template<
- typename F, typename Tag1, typename Tag2
- >
-struct lambda<
- lambda< F,Tag1 >
- , Tag2
- >
-{
- typedef lambda< F,Tag2 > l1;
- typedef lambda< Tag1,Tag2 > l2;
- typedef typename l1::is_le is_le;
- typedef aux::le_result2<is_le, Tag2, mpl::lambda, l1, l2> le_result_;
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, lambda)
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/msvc70/greater.hpp b/boost/mpl/aux_/preprocessed/msvc70/greater.hpp
deleted file mode 100644
index f60a860..0000000
--- a/boost/mpl/aux_/preprocessed/msvc70/greater.hpp
+++ /dev/null
@@ -1,102 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/greater.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
-
- , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
- , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
- >
-struct greater_impl
- : if_c<
- ( tag1_ > tag2_ )
- , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct greater_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct greater_impl< na,integral_c_tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct greater_impl< integral_c_tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct greater_tag
- : tag< T,na >
-{
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct greater
- : aux::msvc_eti_base< typename apply_wrap2<
- greater_impl<
- typename greater_tag<N1>::type
- , typename greater_tag<N2>::type
- >
- , N1
- , N2
- >::type >::type
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct greater_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- {
- BOOST_STATIC_CONSTANT(bool, value =
- ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >
- BOOST_MPL_AUX_VALUE_WKND(N2)::value )
- );
- typedef bool_<value> type;
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/msvc70/greater_equal.hpp b/boost/mpl/aux_/preprocessed/msvc70/greater_equal.hpp
deleted file mode 100644
index 2ab09fd..0000000
--- a/boost/mpl/aux_/preprocessed/msvc70/greater_equal.hpp
+++ /dev/null
@@ -1,102 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/greater_equal.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
-
- , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
- , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
- >
-struct greater_equal_impl
- : if_c<
- ( tag1_ > tag2_ )
- , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct greater_equal_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct greater_equal_impl< na,integral_c_tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct greater_equal_impl< integral_c_tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct greater_equal_tag
- : tag< T,na >
-{
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct greater_equal
- : aux::msvc_eti_base< typename apply_wrap2<
- greater_equal_impl<
- typename greater_equal_tag<N1>::type
- , typename greater_equal_tag<N2>::type
- >
- , N1
- , N2
- >::type >::type
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct greater_equal_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- {
- BOOST_STATIC_CONSTANT(bool, value =
- ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >=
- BOOST_MPL_AUX_VALUE_WKND(N2)::value )
- );
- typedef bool_<value> type;
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/msvc70/inherit.hpp b/boost/mpl/aux_/preprocessed/msvc70/inherit.hpp
deleted file mode 100644
index 233a1ec..0000000
--- a/boost/mpl/aux_/preprocessed/msvc70/inherit.hpp
+++ /dev/null
@@ -1,166 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/inherit.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< bool C1, bool C2 >
-struct inherit2_impl
-{
- template< typename Derived, typename T1, typename T2 > struct result_
- : T1, T2
- {
- typedef Derived type_;
- };
-};
-
-template<>
-struct inherit2_impl< false,true >
-{
- template< typename Derived, typename T1, typename T2 > struct result_
- : T1
- {
- typedef T1 type_;
- };
-};
-
-template<>
-struct inherit2_impl< true,false >
-{
- template< typename Derived, typename T1, typename T2 > struct result_
- : T2
- {
- typedef T2 type_;
- };
-};
-
-template<>
-struct inherit2_impl< true,true >
-{
- template< typename Derived, typename T1, typename T2 > struct result_
- {
- typedef T1 type_;
- };
-};
-
-} // namespace aux
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(T1)
- , typename BOOST_MPL_AUX_NA_PARAM(T2)
- >
-struct inherit2
- : aux::inherit2_impl<
- is_empty_base<T1>::value
- , is_empty_base<T2>::value
- >::template result_< inherit2< T1,T2 >,T1, T2 >
-{
- typedef typename inherit2::type_ type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, inherit2)
-
-template<
- typename T1 = na, typename T2 = na, typename T3 = na
- >
-struct inherit3
- : inherit2<
- typename inherit2<
- T1, T2
- >::type
- , T3
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 3
- , inherit3
- , ( T1, T2, T3)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC(3, inherit3)
-
-template<
- typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
- >
-struct inherit4
- : inherit2<
- typename inherit3<
- T1, T2, T3
- >::type
- , T4
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 4
- , inherit4
- , ( T1, T2, T3, T4)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC(4, inherit4)
-
-template<
- typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
- , typename T5 = na
- >
-struct inherit5
- : inherit2<
- typename inherit4<
- T1, T2, T3, T4
- >::type
- , T5
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , inherit5
- , ( T1, T2, T3, T4, T5)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC(5, inherit5)
-
-/// primary template
-
-template<
- typename T1 = empty_base, typename T2 = empty_base
- , typename T3 = empty_base, typename T4 = empty_base
- , typename T5 = empty_base
- >
-struct inherit
- : inherit5< T1,T2,T3,T4,T5 >
-{
-};
-
-template<>
-struct inherit< na,na,na,na,na >
-{
- template<
-
- typename T1 = empty_base, typename T2 = empty_base
- , typename T3 = empty_base, typename T4 = empty_base
- , typename T5 = empty_base
-
- >
- struct apply
- : inherit< T1,T2,T3,T4,T5 >
- {
- };
-};
-
-BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/msvc70/iter_fold_if_impl.hpp b/boost/mpl/aux_/preprocessed/msvc70/iter_fold_if_impl.hpp
deleted file mode 100644
index 6951795..0000000
--- a/boost/mpl/aux_/preprocessed/msvc70/iter_fold_if_impl.hpp
+++ /dev/null
@@ -1,133 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright David Abrahams 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< typename Iterator, typename State >
-struct iter_fold_if_null_step
-{
- typedef State state;
- typedef Iterator iterator;
-};
-
-template< bool >
-struct iter_fold_if_step_impl
-{
- template<
- typename Iterator
- , typename State
- , typename StateOp
- , typename IteratorOp
- >
- struct result_
- {
- typedef typename apply2< StateOp,State,Iterator >::type state;
- typedef typename IteratorOp::type iterator;
- };
-};
-
-template<>
-struct iter_fold_if_step_impl<false>
-{
- template<
- typename Iterator
- , typename State
- , typename StateOp
- , typename IteratorOp
- >
- struct result_
- {
- typedef State state;
- typedef Iterator iterator;
- };
-};
-
-template<
- typename Iterator
- , typename State
- , typename ForwardOp
- , typename Predicate
- >
-struct iter_fold_if_forward_step
-{
- typedef typename apply2< Predicate,State,Iterator >::type not_last;
- typedef typename iter_fold_if_step_impl<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
- >::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_;
-
- typedef typename impl_::state state;
- typedef typename impl_::iterator iterator;
-};
-
-template<
- typename Iterator
- , typename State
- , typename BackwardOp
- , typename Predicate
- >
-struct iter_fold_if_backward_step
-{
- typedef typename apply2< Predicate,State,Iterator >::type not_last;
- typedef typename iter_fold_if_step_impl<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
- >::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_;
-
- typedef typename impl_::state state;
- typedef typename impl_::iterator iterator;
-};
-
-template<
- typename Iterator
- , typename State
- , typename ForwardOp
- , typename ForwardPredicate
- , typename BackwardOp
- , typename BackwardPredicate
- >
-struct iter_fold_if_impl
-{
- private:
- typedef iter_fold_if_null_step< Iterator,State > forward_step0;
- typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1;
- typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2;
- typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3;
- typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4;
-
-
- typedef typename if_<
- typename forward_step4::not_last
- , iter_fold_if_impl<
- typename forward_step4::iterator
- , typename forward_step4::state
- , ForwardOp
- , ForwardPredicate
- , BackwardOp
- , BackwardPredicate
- >
- , iter_fold_if_null_step<
- typename forward_step4::iterator
- , typename forward_step4::state
- >
- >::type backward_step4;
-
- typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3;
- typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2;
- typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1;
- typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0;
-
-
- public:
- typedef typename backward_step0::state state;
- typedef typename backward_step4::iterator iterator;
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/msvc70/iter_fold_impl.hpp b/boost/mpl/aux_/preprocessed/msvc70/iter_fold_impl.hpp
deleted file mode 100644
index 50ea754..0000000
--- a/boost/mpl/aux_/preprocessed/msvc70/iter_fold_impl.hpp
+++ /dev/null
@@ -1,245 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
- int N
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl;
-
-template< int N >
-struct iter_fold_chunk;
-
-template<> struct iter_fold_chunk<0>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State state0;
- typedef state0 state;
- typedef iter0 iterator;
- };
-};
-
-template<> struct iter_fold_chunk<1>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
-
-
- typedef state1 state;
- typedef iter1 iterator;
- };
-};
-
-template<> struct iter_fold_chunk<2>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
-
-
- typedef state2 state;
- typedef iter2 iterator;
- };
-};
-
-template<> struct iter_fold_chunk<3>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
- typedef typename mpl::next<iter2>::type iter3;
-
-
- typedef state3 state;
- typedef iter3 iterator;
- };
-};
-
-template<> struct iter_fold_chunk<4>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp,state3,iter3 >::type state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef state4 state;
- typedef iter4 iterator;
- };
-};
-
-template< int N >
-struct iter_fold_chunk
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
- struct result_
- {
- typedef iter_fold_impl<
- 4
- , First
- , Last
- , State
- , ForwardOp
- > chunk_;
-
- typedef iter_fold_impl<
- ( (N - 4) < 0 ? 0 : N - 4 )
- , typename chunk_::iterator
- , Last
- , typename chunk_::state
- , ForwardOp
- > res_;
-
- typedef typename res_::state state;
- typedef typename res_::iterator iterator;
- };
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_step;
-
-template<
- typename Last
- , typename State
- >
-struct iter_fold_null_step
-{
- typedef Last iterator;
- typedef State state;
-};
-
-template<>
-struct iter_fold_chunk< -1 >
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
- struct result_
- {
- typedef typename if_<
- typename is_same< First,Last >::type
- , iter_fold_null_step< Last,State >
- , iter_fold_step< First,Last,State,ForwardOp >
- >::type res_;
-
- typedef typename res_::state state;
- typedef typename res_::iterator iterator;
- };
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_step
-{
- typedef iter_fold_chunk< -1 >::template result_<
- typename mpl::next<First>::type
- , Last
- , typename apply2< ForwardOp,State,First >::type
- , ForwardOp
- > chunk_;
-
- typedef typename chunk_::state state;
- typedef typename chunk_::iterator iterator;
-};
-
-template<
- int N
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl
- : iter_fold_chunk<N>
- ::template result_< First,Last,State,ForwardOp >
-{
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/msvc70/lambda_no_ctps.hpp b/boost/mpl/aux_/preprocessed/msvc70/lambda_no_ctps.hpp
deleted file mode 100644
index 890a198..0000000
--- a/boost/mpl/aux_/preprocessed/msvc70/lambda_no_ctps.hpp
+++ /dev/null
@@ -1,229 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
- bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
- , bool C5 = false
- >
-struct lambda_or
- : true_
-{
-};
-
-template<>
-struct lambda_or< false,false,false,false,false >
- : false_
-{
-};
-
-template< typename Arity > struct lambda_impl
-{
- template< typename T, typename Tag, typename Protect > struct result_
- {
- typedef T type;
- typedef is_placeholder<T> is_le;
- };
-};
-
-template<> struct lambda_impl< int_<1> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef typename l1::is_le is_le1;
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value
- > is_le;
-
- typedef bind1<
- typename F::rebind
- , typename l1::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-template<> struct lambda_impl< int_<2> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef lambda< typename F::arg2, Tag, false_ > l2;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
-
-
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value
- > is_le;
-
- typedef bind2<
- typename F::rebind
- , typename l1::type, typename l2::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-template<> struct lambda_impl< int_<3> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef lambda< typename F::arg2, Tag, false_ > l2;
- typedef lambda< typename F::arg3, Tag, false_ > l3;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
-
-
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value
- > is_le;
-
- typedef bind3<
- typename F::rebind
- , typename l1::type, typename l2::type, typename l3::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-template<> struct lambda_impl< int_<4> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef lambda< typename F::arg2, Tag, false_ > l2;
- typedef lambda< typename F::arg3, Tag, false_ > l3;
- typedef lambda< typename F::arg4, Tag, false_ > l4;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
- typedef typename l4::is_le is_le4;
-
-
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value
- > is_le;
-
- typedef bind4<
- typename F::rebind
- , typename l1::type, typename l2::type, typename l3::type
- , typename l4::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-template<> struct lambda_impl< int_<5> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef lambda< typename F::arg2, Tag, false_ > l2;
- typedef lambda< typename F::arg3, Tag, false_ > l3;
- typedef lambda< typename F::arg4, Tag, false_ > l4;
- typedef lambda< typename F::arg5, Tag, false_ > l5;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
- typedef typename l4::is_le is_le4;
- typedef typename l5::is_le is_le5;
-
-
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value
- > is_le;
-
- typedef bind5<
- typename F::rebind
- , typename l1::type, typename l2::type, typename l3::type
- , typename l4::type, typename l5::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-} // namespace aux
-
-template<
- typename T
- , typename Tag
- , typename Protect
- >
-struct lambda
-{
- /// Metafunction forwarding confuses MSVC 6.x
- typedef typename aux::template_arity<T>::type arity_;
- typedef typename aux::lambda_impl<arity_>
- ::template result_< T,Tag,Protect > l_;
-
- typedef typename l_::type type;
- typedef typename l_::is_le is_le;
- BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))
-};
-
-BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
-
-template<
- typename T
- >
-struct is_lambda_expression
- : lambda<T>::is_le
-{
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/msvc70/less.hpp b/boost/mpl/aux_/preprocessed/msvc70/less.hpp
deleted file mode 100644
index 72338de..0000000
--- a/boost/mpl/aux_/preprocessed/msvc70/less.hpp
+++ /dev/null
@@ -1,102 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/less.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
-
- , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
- , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
- >
-struct less_impl
- : if_c<
- ( tag1_ > tag2_ )
- , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct less_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct less_impl< na,integral_c_tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct less_impl< integral_c_tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct less_tag
- : tag< T,na >
-{
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct less
- : aux::msvc_eti_base< typename apply_wrap2<
- less_impl<
- typename less_tag<N1>::type
- , typename less_tag<N2>::type
- >
- , N1
- , N2
- >::type >::type
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct less_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- {
- BOOST_STATIC_CONSTANT(bool, value =
- ( BOOST_MPL_AUX_VALUE_WKND(N2)::value >
- BOOST_MPL_AUX_VALUE_WKND(N1)::value )
- );
- typedef bool_<value> type;
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/msvc70/less_equal.hpp b/boost/mpl/aux_/preprocessed/msvc70/less_equal.hpp
deleted file mode 100644
index b588697..0000000
--- a/boost/mpl/aux_/preprocessed/msvc70/less_equal.hpp
+++ /dev/null
@@ -1,102 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/less_equal.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
-
- , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
- , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
- >
-struct less_equal_impl
- : if_c<
- ( tag1_ > tag2_ )
- , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct less_equal_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct less_equal_impl< na,integral_c_tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct less_equal_impl< integral_c_tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct less_equal_tag
- : tag< T,na >
-{
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct less_equal
- : aux::msvc_eti_base< typename apply_wrap2<
- less_equal_impl<
- typename less_equal_tag<N1>::type
- , typename less_equal_tag<N2>::type
- >
- , N1
- , N2
- >::type >::type
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct less_equal_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- {
- BOOST_STATIC_CONSTANT(bool, value =
- ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <=
- BOOST_MPL_AUX_VALUE_WKND(N2)::value )
- );
- typedef bool_<value> type;
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/msvc70/list.hpp b/boost/mpl/aux_/preprocessed/msvc70/list.hpp
deleted file mode 100644
index e5ea456..0000000
--- a/boost/mpl/aux_/preprocessed/msvc70/list.hpp
+++ /dev/null
@@ -1,556 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/list.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< int N >
-struct list_chooser;
-
-}
-
-namespace aux {
-
-template<>
-struct list_chooser<0>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef list0<
-
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<1>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list1<
- T0
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<2>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list2<
- T0, T1
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<3>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list3<
- T0, T1, T2
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<4>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list4<
- T0, T1, T2, T3
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<5>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list5<
- T0, T1, T2, T3, T4
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<6>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list6<
- T0, T1, T2, T3, T4, T5
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<7>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list7<
- T0, T1, T2, T3, T4, T5, T6
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<8>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list8<
- T0, T1, T2, T3, T4, T5, T6, T7
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<9>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list9<
- T0, T1, T2, T3, T4, T5, T6, T7, T8
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<10>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list10<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<11>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list11<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<12>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list12<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<13>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list13<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<14>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list14<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<15>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<16>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<17>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<18>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<19>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<20>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< typename T >
-struct is_list_arg
-{
- BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template<>
-struct is_list_arg<na>
-{
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template<
- typename T1, typename T2, typename T3, typename T4, typename T5
- , typename T6, typename T7, typename T8, typename T9, typename T10
- , typename T11, typename T12, typename T13, typename T14, typename T15
- , typename T16, typename T17, typename T18, typename T19, typename T20
- >
-struct list_count_args
-{
- BOOST_STATIC_CONSTANT(int, value =
- is_list_arg<T1>::value + is_list_arg<T2>::value
- + is_list_arg<T3>::value + is_list_arg<T4>::value
- + is_list_arg<T5>::value + is_list_arg<T6>::value
- + is_list_arg<T7>::value + is_list_arg<T8>::value
- + is_list_arg<T9>::value + is_list_arg<T10>::value
- + is_list_arg<T11>::value + is_list_arg<T12>::value
- + is_list_arg<T13>::value + is_list_arg<T14>::value
- + is_list_arg<T15>::value + is_list_arg<T16>::value
- + is_list_arg<T17>::value + is_list_arg<T18>::value
- + is_list_arg<T19>::value + is_list_arg<T20>::value
- );
-
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct list_impl
-{
- typedef aux::list_count_args<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- > arg_num_;
-
- typedef typename aux::list_chooser< arg_num_::value >
- ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-} // namespace aux
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct list
- : aux::list_impl<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- >::type
-{
- typedef typename aux::list_impl<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/msvc70/list_c.hpp b/boost/mpl/aux_/preprocessed/msvc70/list_c.hpp
deleted file mode 100644
index ab25482..0000000
--- a/boost/mpl/aux_/preprocessed/msvc70/list_c.hpp
+++ /dev/null
@@ -1,534 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/list_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< int N >
-struct list_c_chooser;
-
-}
-
-namespace aux {
-
-template<>
-struct list_c_chooser<0>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list0_c<
- T
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<1>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list1_c<
- T, C0
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<2>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list2_c<
- T, C0, C1
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<3>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list3_c<
- T, C0, C1, C2
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<4>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list4_c<
- T, C0, C1, C2, C3
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<5>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list5_c<
- T, C0, C1, C2, C3, C4
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<6>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list6_c<
- T, C0, C1, C2, C3, C4, C5
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<7>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list7_c<
- T, C0, C1, C2, C3, C4, C5, C6
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<8>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list8_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<9>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list9_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<10>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list10_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<11>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list11_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<12>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list12_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<13>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list13_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<14>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list14_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<15>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list15_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<16>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list16_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<17>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list17_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<18>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list18_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<19>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list19_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<20>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list20_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< long C >
-struct is_list_c_arg
-{
- BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template<>
-struct is_list_c_arg<LONG_MAX>
-{
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template<
- long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8
- , long C9, long C10, long C11, long C12, long C13, long C14, long C15
- , long C16, long C17, long C18, long C19, long C20
- >
-struct list_c_count_args
-{
- BOOST_STATIC_CONSTANT(int, value =
- is_list_c_arg<C1>::value + is_list_c_arg<C2>::value
- + is_list_c_arg<C3>::value + is_list_c_arg<C4>::value
- + is_list_c_arg<C5>::value + is_list_c_arg<C6>::value
- + is_list_c_arg<C7>::value + is_list_c_arg<C8>::value
- + is_list_c_arg<C9>::value + is_list_c_arg<C10>::value
- + is_list_c_arg<C11>::value + is_list_c_arg<C12>::value
- + is_list_c_arg<C13>::value + is_list_c_arg<C14>::value
- + is_list_c_arg<C15>::value + is_list_c_arg<C16>::value
- + is_list_c_arg<C17>::value + is_list_c_arg<C18>::value
- + is_list_c_arg<C19>::value + is_list_c_arg<C20>::value
- );
-
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
-struct list_c_impl
-{
- typedef aux::list_c_count_args<
- C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
- > arg_num_;
-
- typedef typename aux::list_c_chooser< arg_num_::value >
- ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-} // namespace aux
-
-template<
- typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
- , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
- , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
- , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
- , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
- , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
- , long C18 = LONG_MAX, long C19 = LONG_MAX
- >
-struct list_c
- : aux::list_c_impl<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
- >::type
-{
- typedef typename aux::list_c_impl<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
- >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/msvc70/map.hpp b/boost/mpl/aux_/preprocessed/msvc70/map.hpp
deleted file mode 100644
index 970e0b7..0000000
--- a/boost/mpl/aux_/preprocessed/msvc70/map.hpp
+++ /dev/null
@@ -1,556 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/map.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< int N >
-struct map_chooser;
-
-}
-
-namespace aux {
-
-template<>
-struct map_chooser<0>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef map0<
-
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<1>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map1<
- T0
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<2>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map2<
- T0, T1
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<3>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map3<
- T0, T1, T2
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<4>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map4<
- T0, T1, T2, T3
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<5>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map5<
- T0, T1, T2, T3, T4
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<6>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map6<
- T0, T1, T2, T3, T4, T5
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<7>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map7<
- T0, T1, T2, T3, T4, T5, T6
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<8>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map8<
- T0, T1, T2, T3, T4, T5, T6, T7
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<9>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map9<
- T0, T1, T2, T3, T4, T5, T6, T7, T8
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<10>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map10<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<11>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map11<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<12>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map12<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<13>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map13<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<14>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map14<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<15>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<16>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<17>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<18>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<19>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<20>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< typename T >
-struct is_map_arg
-{
- BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template<>
-struct is_map_arg<na>
-{
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template<
- typename T1, typename T2, typename T3, typename T4, typename T5
- , typename T6, typename T7, typename T8, typename T9, typename T10
- , typename T11, typename T12, typename T13, typename T14, typename T15
- , typename T16, typename T17, typename T18, typename T19, typename T20
- >
-struct map_count_args
-{
- BOOST_STATIC_CONSTANT(int, value =
- is_map_arg<T1>::value + is_map_arg<T2>::value
- + is_map_arg<T3>::value + is_map_arg<T4>::value
- + is_map_arg<T5>::value + is_map_arg<T6>::value
- + is_map_arg<T7>::value + is_map_arg<T8>::value
- + is_map_arg<T9>::value + is_map_arg<T10>::value
- + is_map_arg<T11>::value + is_map_arg<T12>::value
- + is_map_arg<T13>::value + is_map_arg<T14>::value
- + is_map_arg<T15>::value + is_map_arg<T16>::value
- + is_map_arg<T17>::value + is_map_arg<T18>::value
- + is_map_arg<T19>::value + is_map_arg<T20>::value
- );
-
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct map_impl
-{
- typedef aux::map_count_args<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- > arg_num_;
-
- typedef typename aux::map_chooser< arg_num_::value >
- ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-} // namespace aux
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct map
- : aux::map_impl<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- >::type
-{
- typedef typename aux::map_impl<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/msvc70/minus.hpp b/boost/mpl/aux_/preprocessed/msvc70/minus.hpp
deleted file mode 100644
index 3237fa6..0000000
--- a/boost/mpl/aux_/preprocessed/msvc70/minus.hpp
+++ /dev/null
@@ -1,150 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/minus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
-
- , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
- , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
- >
-struct minus_impl
- : if_c<
- ( tag1_ > tag2_ )
- , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct minus_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct minus_impl< na,integral_c_tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct minus_impl< integral_c_tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct minus_tag
- : tag< T,na >
-{
-};
-
-/// forward declaration
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct minus2;
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct minus
-
- : aux::msvc_eti_base< typename if_<
-
- is_na<N3>
- , minus2< N1,N2 >
- , minus<
- minus2< N1,N2 >
- , N3, N4, N5
- >
- >::type
-
- >
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , minus
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1
- , typename N2
- >
-struct minus2
- : aux::msvc_eti_base< typename apply_wrap2<
- minus_impl<
- typename minus_tag<N1>::type
- , typename minus_tag<N2>::type
- >
- , N1
- , N2
- >::type >::type
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, minus2, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, minus)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, T n1, T n2 >
-struct minus_wknd
-{
- BOOST_STATIC_CONSTANT(T, value = (n1 - n2));
- typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct minus_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
- : aux::minus_wknd<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , N1::value
- , N2::value
- >::type
-
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/msvc70/modulus.hpp b/boost/mpl/aux_/preprocessed/msvc70/modulus.hpp
deleted file mode 100644
index 9c672c0..0000000
--- a/boost/mpl/aux_/preprocessed/msvc70/modulus.hpp
+++ /dev/null
@@ -1,115 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/modulus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
-
- , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
- , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
- >
-struct modulus_impl
- : if_c<
- ( tag1_ > tag2_ )
- , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct modulus_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct modulus_impl< na,integral_c_tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct modulus_impl< integral_c_tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct modulus_tag
- : tag< T,na >
-{
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct modulus
- : aux::msvc_eti_base< typename apply_wrap2<
- modulus_impl<
- typename modulus_tag<N1>::type
- , typename modulus_tag<N2>::type
- >
- , N1
- , N2
- >::type >::type
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, T n1, T n2 >
-struct modulus_wknd
-{
- BOOST_STATIC_CONSTANT(T, value = (n1 % n2));
- typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct modulus_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
- : aux::modulus_wknd<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , N1::value
- , N2::value
- >::type
-
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/msvc70/not_equal_to.hpp b/boost/mpl/aux_/preprocessed/msvc70/not_equal_to.hpp
deleted file mode 100644
index 1e48e7f..0000000
--- a/boost/mpl/aux_/preprocessed/msvc70/not_equal_to.hpp
+++ /dev/null
@@ -1,102 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/not_equal_to.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
-
- , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
- , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
- >
-struct not_equal_to_impl
- : if_c<
- ( tag1_ > tag2_ )
- , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct not_equal_to_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct not_equal_to_impl< na,integral_c_tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct not_equal_to_impl< integral_c_tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct not_equal_to_tag
- : tag< T,na >
-{
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct not_equal_to
- : aux::msvc_eti_base< typename apply_wrap2<
- not_equal_to_impl<
- typename not_equal_to_tag<N1>::type
- , typename not_equal_to_tag<N2>::type
- >
- , N1
- , N2
- >::type >::type
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct not_equal_to_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- {
- BOOST_STATIC_CONSTANT(bool, value =
- ( BOOST_MPL_AUX_VALUE_WKND(N1)::value !=
- BOOST_MPL_AUX_VALUE_WKND(N2)::value )
- );
- typedef bool_<value> type;
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/msvc70/or.hpp b/boost/mpl/aux_/preprocessed/msvc70/or.hpp
deleted file mode 100644
index 8d0ba0a..0000000
--- a/boost/mpl/aux_/preprocessed/msvc70/or.hpp
+++ /dev/null
@@ -1,71 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/or.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< bool C_ > struct or_impl
-{
- template<
- typename T1, typename T2, typename T3, typename T4
- >
- struct result_
- : true_
- {
- };
-};
-
-template<> struct or_impl<false>
-{
- template<
- typename T1, typename T2, typename T3, typename T4
- >
- struct result_
- : or_impl<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
- >::template result_< T2,T3,T4,false_ >
- {
- };
-
- template<> struct result_< false_,false_,false_,false_ >
- : false_
- {
- };
-};
-
-} // namespace aux
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(T1)
- , typename BOOST_MPL_AUX_NA_PARAM(T2)
- , typename T3 = false_, typename T4 = false_, typename T5 = false_
- >
-struct or_
-
- : aux::or_impl<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
- >::template result_< T2,T3,T4,T5 >
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , or_
- , ( T1, T2, T3, T4, T5)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC2(
- 2
- , 5
- , or_
- )
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/msvc70/placeholders.hpp b/boost/mpl/aux_/preprocessed/msvc70/placeholders.hpp
deleted file mode 100644
index ff97364..0000000
--- a/boost/mpl/aux_/preprocessed/msvc70/placeholders.hpp
+++ /dev/null
@@ -1,105 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright Peter Dimov 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/placeholders.hpp" header
-// -- DO NOT modify by hand!
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg< -1 > _;
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
-}
-
-}}
-
-/// agurt, 17/mar/02: one more placeholder for the last 'apply#'
-/// specialization
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<1> _1;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<2> _2;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<3> _3;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<4> _4;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<5> _5;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<6> _6;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;
-}
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/msvc70/plus.hpp b/boost/mpl/aux_/preprocessed/msvc70/plus.hpp
deleted file mode 100644
index c8f3355..0000000
--- a/boost/mpl/aux_/preprocessed/msvc70/plus.hpp
+++ /dev/null
@@ -1,150 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/plus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
-
- , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
- , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
- >
-struct plus_impl
- : if_c<
- ( tag1_ > tag2_ )
- , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct plus_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct plus_impl< na,integral_c_tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct plus_impl< integral_c_tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct plus_tag
- : tag< T,na >
-{
-};
-
-/// forward declaration
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct plus2;
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct plus
-
- : aux::msvc_eti_base< typename if_<
-
- is_na<N3>
- , plus2< N1,N2 >
- , plus<
- plus2< N1,N2 >
- , N3, N4, N5
- >
- >::type
-
- >
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , plus
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1
- , typename N2
- >
-struct plus2
- : aux::msvc_eti_base< typename apply_wrap2<
- plus_impl<
- typename plus_tag<N1>::type
- , typename plus_tag<N2>::type
- >
- , N1
- , N2
- >::type >::type
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, plus2, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, plus)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, T n1, T n2 >
-struct plus_wknd
-{
- BOOST_STATIC_CONSTANT(T, value = (n1 + n2));
- typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct plus_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
- : aux::plus_wknd<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , N1::value
- , N2::value
- >::type
-
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/msvc70/quote.hpp b/boost/mpl/aux_/preprocessed/msvc70/quote.hpp
deleted file mode 100644
index b85880f..0000000
--- a/boost/mpl/aux_/preprocessed/msvc70/quote.hpp
+++ /dev/null
@@ -1,116 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/quote.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-template< bool > struct quote_impl
-{
- template< typename T > struct result_
- : T
- {
- };
-};
-
-template<> struct quote_impl<false>
-{
- template< typename T > struct result_
- {
- typedef T type;
- };
-};
-
-template<
- template< typename P1 > class F
- , typename Tag = void_
- >
-struct quote1
-{
- template< typename U1 > struct apply
-
- : quote_impl< aux::has_type< F<U1> >::value >
- ::template result_< F<U1> >
-
- {
- };
-};
-
-template<
- template< typename P1, typename P2 > class F
- , typename Tag = void_
- >
-struct quote2
-{
- template< typename U1, typename U2 > struct apply
-
- : quote_impl< aux::has_type< F< U1,U2 > >::value >
- ::template result_< F< U1,U2 > >
-
- {
- };
-};
-
-template<
- template< typename P1, typename P2, typename P3 > class F
- , typename Tag = void_
- >
-struct quote3
-{
- template< typename U1, typename U2, typename U3 > struct apply
-
- : quote_impl< aux::has_type< F< U1,U2,U3 > >::value >
- ::template result_< F< U1,U2,U3 > >
-
- {
- };
-};
-
-template<
- template< typename P1, typename P2, typename P3, typename P4 > class F
- , typename Tag = void_
- >
-struct quote4
-{
- template<
- typename U1, typename U2, typename U3, typename U4
- >
- struct apply
-
- : quote_impl< aux::has_type< F< U1,U2,U3,U4 > >::value >
- ::template result_< F< U1,U2,U3,U4 > >
-
- {
- };
-};
-
-template<
- template<
- typename P1, typename P2, typename P3, typename P4
- , typename P5
- >
- class F
- , typename Tag = void_
- >
-struct quote5
-{
- template<
- typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
- struct apply
-
- : quote_impl< aux::has_type< F< U1,U2,U3,U4,U5 > >::value >
- ::template result_< F< U1,U2,U3,U4,U5 > >
-
- {
- };
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/msvc70/reverse_fold_impl.hpp b/boost/mpl/aux_/preprocessed/msvc70/reverse_fold_impl.hpp
deleted file mode 100644
index 7a07414..0000000
--- a/boost/mpl/aux_/preprocessed/msvc70/reverse_fold_impl.hpp
+++ /dev/null
@@ -1,295 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
- long N
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl;
-
-template< long N >
-struct reverse_fold_chunk;
-
-template<> struct reverse_fold_chunk<0>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef fwd_state0 bkwd_state0;
- typedef bkwd_state0 state;
- typedef iter0 iterator;
- };
-};
-
-template<> struct reverse_fold_chunk<1>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
-
-
- typedef fwd_state1 bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
- typedef bkwd_state0 state;
- typedef iter1 iterator;
- };
-};
-
-template<> struct reverse_fold_chunk<2>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
-
-
- typedef fwd_state2 bkwd_state2;
- typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter2 iterator;
- };
-};
-
-template<> struct reverse_fold_chunk<3>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
-
-
- typedef fwd_state3 bkwd_state3;
- typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
- typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter3 iterator;
- };
-};
-
-template<> struct reverse_fold_chunk<4>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef fwd_state4 bkwd_state4;
- typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;
- typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
- typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter4 iterator;
- };
-};
-
-template< long N >
-struct reverse_fold_chunk
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef reverse_fold_impl<
- ( (N - 4) < 0 ? 0 : N - 4 )
- , iter4
- , Last
- , fwd_state4
- , BackwardOp
- , ForwardOp
- > nested_chunk;
-
- typedef typename nested_chunk::state bkwd_state4;
- typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;
- typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
- typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef typename nested_chunk::iterator iterator;
- };
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_step;
-
-template<
- typename Last
- , typename State
- >
-struct reverse_fold_null_step
-{
- typedef Last iterator;
- typedef State state;
-};
-
-template<>
-struct reverse_fold_chunk< -1 >
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef typename if_<
- typename is_same< First,Last >::type
- , reverse_fold_null_step< Last,State >
- , reverse_fold_step< First,Last,State,BackwardOp,ForwardOp >
- >::type res_;
-
- typedef typename res_::state state;
- typedef typename res_::iterator iterator;
- };
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_step
-{
- typedef reverse_fold_chunk< -1 >::template result_<
- typename mpl::next<First>::type
- , Last
- , typename apply2<ForwardOp,State, typename deref<First>::type>::type
- , BackwardOp
- , ForwardOp
- > nested_step;
-
- typedef typename apply2<
- BackwardOp
- , typename nested_step::state
- , typename deref<First>::type
- >::type state;
-
- typedef typename nested_step::iterator iterator;
-};
-
-template<
- long N
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl
- : reverse_fold_chunk<N>
- ::template result_< First,Last,State,BackwardOp,ForwardOp >
-{
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/msvc70/reverse_iter_fold_impl.hpp b/boost/mpl/aux_/preprocessed/msvc70/reverse_iter_fold_impl.hpp
deleted file mode 100644
index 39a4057..0000000
--- a/boost/mpl/aux_/preprocessed/msvc70/reverse_iter_fold_impl.hpp
+++ /dev/null
@@ -1,295 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
- long N
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl;
-
-template< long N >
-struct reverse_iter_fold_chunk;
-
-template<> struct reverse_iter_fold_chunk<0>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef fwd_state0 bkwd_state0;
- typedef bkwd_state0 state;
- typedef iter0 iterator;
- };
-};
-
-template<> struct reverse_iter_fold_chunk<1>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
-
-
- typedef fwd_state1 bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
- typedef bkwd_state0 state;
- typedef iter1 iterator;
- };
-};
-
-template<> struct reverse_iter_fold_chunk<2>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
-
-
- typedef fwd_state2 bkwd_state2;
- typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter2 iterator;
- };
-};
-
-template<> struct reverse_iter_fold_chunk<3>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
-
-
- typedef fwd_state3 bkwd_state3;
- typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
- typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter3 iterator;
- };
-};
-
-template<> struct reverse_iter_fold_chunk<4>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef fwd_state4 bkwd_state4;
- typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;
- typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
- typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter4 iterator;
- };
-};
-
-template< long N >
-struct reverse_iter_fold_chunk
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef reverse_iter_fold_impl<
- ( (N - 4) < 0 ? 0 : N - 4 )
- , iter4
- , Last
- , fwd_state4
- , BackwardOp
- , ForwardOp
- > nested_chunk;
-
- typedef typename nested_chunk::state bkwd_state4;
- typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;
- typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
- typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef typename nested_chunk::iterator iterator;
- };
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_step;
-
-template<
- typename Last
- , typename State
- >
-struct reverse_iter_fold_null_step
-{
- typedef Last iterator;
- typedef State state;
-};
-
-template<>
-struct reverse_iter_fold_chunk< -1 >
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef typename if_<
- typename is_same< First,Last >::type
- , reverse_iter_fold_null_step< Last,State >
- , reverse_iter_fold_step< First,Last,State,BackwardOp,ForwardOp >
- >::type res_;
-
- typedef typename res_::state state;
- typedef typename res_::iterator iterator;
- };
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_step
-{
- typedef reverse_iter_fold_chunk< -1 >::template result_<
- typename mpl::next<First>::type
- , Last
- , typename apply2< ForwardOp,State,First >::type
- , BackwardOp
- , ForwardOp
- > nested_step;
-
- typedef typename apply2<
- BackwardOp
- , typename nested_step::state
- , First
- >::type state;
-
- typedef typename nested_step::iterator iterator;
-};
-
-template<
- long N
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl
- : reverse_iter_fold_chunk<N>
- ::template result_< First,Last,State,BackwardOp,ForwardOp >
-{
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/msvc70/set.hpp b/boost/mpl/aux_/preprocessed/msvc70/set.hpp
deleted file mode 100644
index 95aaa5c..0000000
--- a/boost/mpl/aux_/preprocessed/msvc70/set.hpp
+++ /dev/null
@@ -1,556 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/set.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< int N >
-struct set_chooser;
-
-}
-
-namespace aux {
-
-template<>
-struct set_chooser<0>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef set0<
-
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<1>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set1<
- T0
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<2>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set2<
- T0, T1
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<3>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set3<
- T0, T1, T2
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<4>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set4<
- T0, T1, T2, T3
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<5>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set5<
- T0, T1, T2, T3, T4
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<6>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set6<
- T0, T1, T2, T3, T4, T5
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<7>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set7<
- T0, T1, T2, T3, T4, T5, T6
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<8>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set8<
- T0, T1, T2, T3, T4, T5, T6, T7
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<9>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set9<
- T0, T1, T2, T3, T4, T5, T6, T7, T8
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<10>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set10<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<11>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set11<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<12>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set12<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<13>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set13<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<14>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set14<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<15>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<16>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<17>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<18>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<19>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<20>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< typename T >
-struct is_set_arg
-{
- BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template<>
-struct is_set_arg<na>
-{
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template<
- typename T1, typename T2, typename T3, typename T4, typename T5
- , typename T6, typename T7, typename T8, typename T9, typename T10
- , typename T11, typename T12, typename T13, typename T14, typename T15
- , typename T16, typename T17, typename T18, typename T19, typename T20
- >
-struct set_count_args
-{
- BOOST_STATIC_CONSTANT(int, value =
- is_set_arg<T1>::value + is_set_arg<T2>::value
- + is_set_arg<T3>::value + is_set_arg<T4>::value
- + is_set_arg<T5>::value + is_set_arg<T6>::value
- + is_set_arg<T7>::value + is_set_arg<T8>::value
- + is_set_arg<T9>::value + is_set_arg<T10>::value
- + is_set_arg<T11>::value + is_set_arg<T12>::value
- + is_set_arg<T13>::value + is_set_arg<T14>::value
- + is_set_arg<T15>::value + is_set_arg<T16>::value
- + is_set_arg<T17>::value + is_set_arg<T18>::value
- + is_set_arg<T19>::value + is_set_arg<T20>::value
- );
-
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct set_impl
-{
- typedef aux::set_count_args<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- > arg_num_;
-
- typedef typename aux::set_chooser< arg_num_::value >
- ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-} // namespace aux
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct set
- : aux::set_impl<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- >::type
-{
- typedef typename aux::set_impl<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/msvc70/set_c.hpp b/boost/mpl/aux_/preprocessed/msvc70/set_c.hpp
deleted file mode 100644
index 1ff34f9..0000000
--- a/boost/mpl/aux_/preprocessed/msvc70/set_c.hpp
+++ /dev/null
@@ -1,534 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/set_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< int N >
-struct set_c_chooser;
-
-}
-
-namespace aux {
-
-template<>
-struct set_c_chooser<0>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set0_c<
- T
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<1>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set1_c<
- T, C0
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<2>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set2_c<
- T, C0, C1
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<3>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set3_c<
- T, C0, C1, C2
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<4>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set4_c<
- T, C0, C1, C2, C3
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<5>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set5_c<
- T, C0, C1, C2, C3, C4
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<6>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set6_c<
- T, C0, C1, C2, C3, C4, C5
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<7>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set7_c<
- T, C0, C1, C2, C3, C4, C5, C6
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<8>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set8_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<9>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set9_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<10>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set10_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<11>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set11_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<12>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set12_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<13>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set13_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<14>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set14_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<15>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set15_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<16>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set16_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<17>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set17_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<18>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set18_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<19>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set19_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<20>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set20_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< long C >
-struct is_set_c_arg
-{
- BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template<>
-struct is_set_c_arg<LONG_MAX>
-{
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template<
- long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8
- , long C9, long C10, long C11, long C12, long C13, long C14, long C15
- , long C16, long C17, long C18, long C19, long C20
- >
-struct set_c_count_args
-{
- BOOST_STATIC_CONSTANT(int, value =
- is_set_c_arg<C1>::value + is_set_c_arg<C2>::value
- + is_set_c_arg<C3>::value + is_set_c_arg<C4>::value
- + is_set_c_arg<C5>::value + is_set_c_arg<C6>::value
- + is_set_c_arg<C7>::value + is_set_c_arg<C8>::value
- + is_set_c_arg<C9>::value + is_set_c_arg<C10>::value
- + is_set_c_arg<C11>::value + is_set_c_arg<C12>::value
- + is_set_c_arg<C13>::value + is_set_c_arg<C14>::value
- + is_set_c_arg<C15>::value + is_set_c_arg<C16>::value
- + is_set_c_arg<C17>::value + is_set_c_arg<C18>::value
- + is_set_c_arg<C19>::value + is_set_c_arg<C20>::value
- );
-
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
-struct set_c_impl
-{
- typedef aux::set_c_count_args<
- C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
- > arg_num_;
-
- typedef typename aux::set_c_chooser< arg_num_::value >
- ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-} // namespace aux
-
-template<
- typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
- , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
- , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
- , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
- , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
- , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
- , long C18 = LONG_MAX, long C19 = LONG_MAX
- >
-struct set_c
- : aux::set_c_impl<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
- >::type
-{
- typedef typename aux::set_c_impl<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
- >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/msvc70/shift_left.hpp b/boost/mpl/aux_/preprocessed/msvc70/shift_left.hpp
deleted file mode 100644
index 176fc00..0000000
--- a/boost/mpl/aux_/preprocessed/msvc70/shift_left.hpp
+++ /dev/null
@@ -1,114 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// Preprocessed version of "boost/mpl/shift_left.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
-
- , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
- , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
- >
-struct shift_left_impl
- : if_c<
- ( tag1_ > tag2_ )
- , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct shift_left_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct shift_left_impl< na,integral_c_tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct shift_left_impl< integral_c_tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct shift_left_tag
- : tag< T,na >
-{
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct shift_left
- : aux::msvc_eti_base< typename apply_wrap2<
- shift_left_impl<
- typename shift_left_tag<N1>::type
- , typename shift_left_tag<N2>::type
- >
- , N1
- , N2
- >::type >::type
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, typename Shift, T n, Shift s >
-struct shift_left_wknd
-{
- BOOST_STATIC_CONSTANT(T, value = (n << s));
- typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct shift_left_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N, typename S > struct apply
- : aux::shift_left_wknd<
- typename N::value_type
- , typename S::value_type
- , N::value
- , S::value
- >::type
-
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/msvc70/shift_right.hpp b/boost/mpl/aux_/preprocessed/msvc70/shift_right.hpp
deleted file mode 100644
index 6b6e01f..0000000
--- a/boost/mpl/aux_/preprocessed/msvc70/shift_right.hpp
+++ /dev/null
@@ -1,114 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// Preprocessed version of "boost/mpl/shift_right.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
-
- , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
- , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
- >
-struct shift_right_impl
- : if_c<
- ( tag1_ > tag2_ )
- , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct shift_right_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct shift_right_impl< na,integral_c_tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct shift_right_impl< integral_c_tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct shift_right_tag
- : tag< T,na >
-{
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct shift_right
- : aux::msvc_eti_base< typename apply_wrap2<
- shift_right_impl<
- typename shift_right_tag<N1>::type
- , typename shift_right_tag<N2>::type
- >
- , N1
- , N2
- >::type >::type
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, typename Shift, T n, Shift s >
-struct shift_right_wknd
-{
- BOOST_STATIC_CONSTANT(T, value = (n >> s));
- typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct shift_right_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N, typename S > struct apply
- : aux::shift_right_wknd<
- typename N::value_type
- , typename S::value_type
- , N::value
- , S::value
- >::type
-
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/msvc70/template_arity.hpp b/boost/mpl/aux_/preprocessed/msvc70/template_arity.hpp
deleted file mode 100644
index 1668771..0000000
--- a/boost/mpl/aux_/preprocessed/msvc70/template_arity.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< bool >
-struct template_arity_impl
-{
- template< typename F > struct result_
- : mpl::int_< -1 >
- {
- };
-};
-
-template<>
-struct template_arity_impl<true>
-{
- template< typename F > struct result_
- : F::arity
- {
- };
-};
-
-template< typename F >
-struct template_arity
- : template_arity_impl< ::boost::mpl::aux::has_rebind<F>::value >
- ::template result_<F>
-{
-};
-
-template<>
-struct template_arity<int>
- : mpl::int_< -1 >
-{
-};
-
-}}}
-
diff --git a/boost/mpl/aux_/preprocessed/msvc70/times.hpp b/boost/mpl/aux_/preprocessed/msvc70/times.hpp
deleted file mode 100644
index a6ae333..0000000
--- a/boost/mpl/aux_/preprocessed/msvc70/times.hpp
+++ /dev/null
@@ -1,150 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/times.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
-
- , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value
- , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value
- >
-struct times_impl
- : if_c<
- ( tag1_ > tag2_ )
- , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct times_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct times_impl< na,integral_c_tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct times_impl< integral_c_tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct times_tag
- : tag< T,na >
-{
-};
-
-/// forward declaration
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct times2;
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct times
-
- : aux::msvc_eti_base< typename if_<
-
- is_na<N3>
- , times2< N1,N2 >
- , times<
- times2< N1,N2 >
- , N3, N4, N5
- >
- >::type
-
- >
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , times
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1
- , typename N2
- >
-struct times2
- : aux::msvc_eti_base< typename apply_wrap2<
- times_impl<
- typename times_tag<N1>::type
- , typename times_tag<N2>::type
- >
- , N1
- , N2
- >::type >::type
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, times2, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, times)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, T n1, T n2 >
-struct times_wknd
-{
- BOOST_STATIC_CONSTANT(T, value = (n1 * n2));
- typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct times_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
- : aux::times_wknd<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , N1::value
- , N2::value
- >::type
-
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/msvc70/unpack_args.hpp b/boost/mpl/aux_/preprocessed/msvc70/unpack_args.hpp
deleted file mode 100644
index 26533dd..0000000
--- a/boost/mpl/aux_/preprocessed/msvc70/unpack_args.hpp
+++ /dev/null
@@ -1,109 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/unpack_args.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< BOOST_MPL_AUX_NTTP_DECL(int, size) > struct unpack_args_impl
-{
- template< typename F, typename Args > struct apply;
-};
-
-template<> struct unpack_args_impl<0>
-{
- template< typename F, typename Args > struct apply
- : apply0<
- F
- >
- {
- };
-};
-
-template<> struct unpack_args_impl<1>
-{
- template< typename F, typename Args > struct apply
- : apply1<
- F
- , typename at_c< Args,0 >::type
- >
- {
- };
-};
-
-template<> struct unpack_args_impl<2>
-{
- template< typename F, typename Args > struct apply
- : apply2<
- F
- , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
- >
- {
- };
-};
-
-template<> struct unpack_args_impl<3>
-{
- template< typename F, typename Args > struct apply
- : apply3<
- F
- , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
- , typename at_c< Args,2 >::type
- >
- {
- };
-};
-
-template<> struct unpack_args_impl<4>
-{
- template< typename F, typename Args > struct apply
- : apply4<
- F
- , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
- , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
- >
- {
- };
-};
-
-template<> struct unpack_args_impl<5>
-{
- template< typename F, typename Args > struct apply
- : apply5<
- F
- , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
- , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
- , typename at_c< Args,4 >::type
- >
- {
- };
-};
-
-}
-
-template<
- typename F
- >
-struct unpack_args
-{
- template< typename Args > struct apply
-
- : aux::unpack_args_impl< size<Args>::value >
- ::template apply< F,Args >
-
- {
- };
-};
-
-BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/msvc70/vector.hpp b/boost/mpl/aux_/preprocessed/msvc70/vector.hpp
deleted file mode 100644
index a6c7b62..0000000
--- a/boost/mpl/aux_/preprocessed/msvc70/vector.hpp
+++ /dev/null
@@ -1,556 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/vector.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< int N >
-struct vector_chooser;
-
-}
-
-namespace aux {
-
-template<>
-struct vector_chooser<0>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef vector0<
-
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<1>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector1<
- T0
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<2>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector2<
- T0, T1
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<3>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector3<
- T0, T1, T2
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<4>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector4<
- T0, T1, T2, T3
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<5>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector5<
- T0, T1, T2, T3, T4
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<6>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector6<
- T0, T1, T2, T3, T4, T5
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<7>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector7<
- T0, T1, T2, T3, T4, T5, T6
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<8>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector8<
- T0, T1, T2, T3, T4, T5, T6, T7
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<9>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector9<
- T0, T1, T2, T3, T4, T5, T6, T7, T8
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<10>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector10<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<11>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector11<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<12>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector12<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<13>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector13<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<14>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector14<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<15>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<16>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<17>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<18>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<19>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<20>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< typename T >
-struct is_vector_arg
-{
- BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template<>
-struct is_vector_arg<na>
-{
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template<
- typename T1, typename T2, typename T3, typename T4, typename T5
- , typename T6, typename T7, typename T8, typename T9, typename T10
- , typename T11, typename T12, typename T13, typename T14, typename T15
- , typename T16, typename T17, typename T18, typename T19, typename T20
- >
-struct vector_count_args
-{
- BOOST_STATIC_CONSTANT(int, value =
- is_vector_arg<T1>::value + is_vector_arg<T2>::value
- + is_vector_arg<T3>::value + is_vector_arg<T4>::value
- + is_vector_arg<T5>::value + is_vector_arg<T6>::value
- + is_vector_arg<T7>::value + is_vector_arg<T8>::value
- + is_vector_arg<T9>::value + is_vector_arg<T10>::value
- + is_vector_arg<T11>::value + is_vector_arg<T12>::value
- + is_vector_arg<T13>::value + is_vector_arg<T14>::value
- + is_vector_arg<T15>::value + is_vector_arg<T16>::value
- + is_vector_arg<T17>::value + is_vector_arg<T18>::value
- + is_vector_arg<T19>::value + is_vector_arg<T20>::value
- );
-
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct vector_impl
-{
- typedef aux::vector_count_args<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- > arg_num_;
-
- typedef typename aux::vector_chooser< arg_num_::value >
- ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-} // namespace aux
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct vector
- : aux::vector_impl<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- >::type
-{
- typedef typename aux::vector_impl<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/msvc70/vector_c.hpp b/boost/mpl/aux_/preprocessed/msvc70/vector_c.hpp
deleted file mode 100644
index c522d08..0000000
--- a/boost/mpl/aux_/preprocessed/msvc70/vector_c.hpp
+++ /dev/null
@@ -1,534 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/vector_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< int N >
-struct vector_c_chooser;
-
-}
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<0>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector0_c<
- T
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<1>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector1_c<
- T, T(C0)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<2>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector2_c<
- T, T(C0), T(C1)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<3>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector3_c<
- T, T(C0), T(C1), T(C2)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<4>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector4_c<
- T, T(C0), T(C1), T(C2), T(C3)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<5>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector5_c<
- T, T(C0), T(C1), T(C2), T(C3), T(C4)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<6>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector6_c<
- T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<7>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector7_c<
- T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<8>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector8_c<
- T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<9>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector9_c<
- T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<10>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector10_c<
- T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<11>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector11_c<
- T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<12>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector12_c<
- T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<13>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector13_c<
- T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<14>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector14_c<
- T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<15>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector15_c<
- T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<16>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector16_c<
- T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<17>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector17_c<
- T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<18>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector18_c<
- T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<19>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector19_c<
- T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<20>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector20_c<
- T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< long C >
-struct is_vector_c_arg
-{
- BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template<>
-struct is_vector_c_arg<LONG_MAX>
-{
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template<
- long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8
- , long C9, long C10, long C11, long C12, long C13, long C14, long C15
- , long C16, long C17, long C18, long C19, long C20
- >
-struct vector_c_count_args
-{
- BOOST_STATIC_CONSTANT(int, value =
- is_vector_c_arg<C1>::value + is_vector_c_arg<C2>::value
- + is_vector_c_arg<C3>::value + is_vector_c_arg<C4>::value
- + is_vector_c_arg<C5>::value + is_vector_c_arg<C6>::value
- + is_vector_c_arg<C7>::value + is_vector_c_arg<C8>::value
- + is_vector_c_arg<C9>::value + is_vector_c_arg<C10>::value
- + is_vector_c_arg<C11>::value + is_vector_c_arg<C12>::value
- + is_vector_c_arg<C13>::value + is_vector_c_arg<C14>::value
- + is_vector_c_arg<C15>::value + is_vector_c_arg<C16>::value
- + is_vector_c_arg<C17>::value + is_vector_c_arg<C18>::value
- + is_vector_c_arg<C19>::value + is_vector_c_arg<C20>::value
- );
-
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
-struct vector_c_impl
-{
- typedef aux::vector_c_count_args<
- C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
- > arg_num_;
-
- typedef typename aux::vector_c_chooser< arg_num_::value >
- ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-} // namespace aux
-
-template<
- typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
- , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
- , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
- , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
- , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
- , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
- , long C18 = LONG_MAX, long C19 = LONG_MAX
- >
-struct vector_c
- : aux::vector_c_impl<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
- >::type
-{
- typedef typename aux::vector_c_impl<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
- >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/mwcw/advance_backward.hpp b/boost/mpl/aux_/preprocessed/mwcw/advance_backward.hpp
deleted file mode 100644
index 26de94c..0000000
--- a/boost/mpl/aux_/preprocessed/mwcw/advance_backward.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< long N > struct advance_backward;
-template<>
-struct advance_backward<0>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef iter0 type;
- };
-};
-
-template<>
-struct advance_backward<1>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename prior<iter0>::type iter1;
- typedef iter1 type;
- };
-};
-
-template<>
-struct advance_backward<2>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename prior<iter0>::type iter1;
- typedef typename prior<iter1>::type iter2;
- typedef iter2 type;
- };
-};
-
-template<>
-struct advance_backward<3>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename prior<iter0>::type iter1;
- typedef typename prior<iter1>::type iter2;
- typedef typename prior<iter2>::type iter3;
- typedef iter3 type;
- };
-};
-
-template<>
-struct advance_backward<4>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename prior<iter0>::type iter1;
- typedef typename prior<iter1>::type iter2;
- typedef typename prior<iter2>::type iter3;
- typedef typename prior<iter3>::type iter4;
- typedef iter4 type;
- };
-};
-
-template< long N >
-struct advance_backward
-{
- template< typename Iterator > struct apply
- {
- typedef typename apply_wrap1<
- advance_backward<4>
- , Iterator
- >::type chunk_result_;
-
- typedef typename apply_wrap1<
- advance_backward<(
- (N - 4) < 0
- ? 0
- : N - 4
- )>
- , chunk_result_
- >::type type;
- };
-};
-
-}}}
-
diff --git a/boost/mpl/aux_/preprocessed/mwcw/advance_forward.hpp b/boost/mpl/aux_/preprocessed/mwcw/advance_forward.hpp
deleted file mode 100644
index b137cc7..0000000
--- a/boost/mpl/aux_/preprocessed/mwcw/advance_forward.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< long N > struct advance_forward;
-template<>
-struct advance_forward<0>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef iter0 type;
- };
-};
-
-template<>
-struct advance_forward<1>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename next<iter0>::type iter1;
- typedef iter1 type;
- };
-};
-
-template<>
-struct advance_forward<2>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename next<iter0>::type iter1;
- typedef typename next<iter1>::type iter2;
- typedef iter2 type;
- };
-};
-
-template<>
-struct advance_forward<3>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename next<iter0>::type iter1;
- typedef typename next<iter1>::type iter2;
- typedef typename next<iter2>::type iter3;
- typedef iter3 type;
- };
-};
-
-template<>
-struct advance_forward<4>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename next<iter0>::type iter1;
- typedef typename next<iter1>::type iter2;
- typedef typename next<iter2>::type iter3;
- typedef typename next<iter3>::type iter4;
- typedef iter4 type;
- };
-};
-
-template< long N >
-struct advance_forward
-{
- template< typename Iterator > struct apply
- {
- typedef typename apply_wrap1<
- advance_forward<4>
- , Iterator
- >::type chunk_result_;
-
- typedef typename apply_wrap1<
- advance_forward<(
- (N - 4) < 0
- ? 0
- : N - 4
- )>
- , chunk_result_
- >::type type;
- };
-};
-
-}}}
-
diff --git a/boost/mpl/aux_/preprocessed/mwcw/and.hpp b/boost/mpl/aux_/preprocessed/mwcw/and.hpp
deleted file mode 100644
index 010ad1f..0000000
--- a/boost/mpl/aux_/preprocessed/mwcw/and.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/and.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< bool C_, typename T1, typename T2, typename T3, typename T4 >
-struct and_impl
- : false_
-{
-};
-
-template< typename T1, typename T2, typename T3, typename T4 >
-struct and_impl< true,T1,T2,T3,T4 >
- : and_impl<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
- , T2, T3, T4
- , true_
- >
-{
-};
-
-template<>
-struct and_impl<
- true
- , true_, true_, true_, true_
- >
- : true_
-{
-};
-
-} // namespace aux
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(T1)
- , typename BOOST_MPL_AUX_NA_PARAM(T2)
- , typename T3 = true_, typename T4 = true_, typename T5 = true_
- >
-struct and_
-
- : aux::and_impl<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
- , T2, T3, T4, T5
- >
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , and_
- , ( T1, T2, T3, T4, T5)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC2(
- 2
- , 5
- , and_
- )
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/mwcw/apply.hpp b/boost/mpl/aux_/preprocessed/mwcw/apply.hpp
deleted file mode 100644
index e08eacc..0000000
--- a/boost/mpl/aux_/preprocessed/mwcw/apply.hpp
+++ /dev/null
@@ -1,169 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/apply.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename F
- >
-struct apply0
-
- : apply_wrap0<
- typename lambda<F>::type
-
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 1
- , apply0
- , (F )
- )
-};
-
-template<
- typename F
- >
-struct apply< F,na,na,na,na,na >
- : apply0<F>
-{
-};
-
-template<
- typename F, typename T1
- >
-struct apply1
-
- : apply_wrap1<
- typename lambda<F>::type
- , T1
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 2
- , apply1
- , (F, T1)
- )
-};
-
-template<
- typename F, typename T1
- >
-struct apply< F,T1,na,na,na,na >
- : apply1< F,T1 >
-{
-};
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply2
-
- : apply_wrap2<
- typename lambda<F>::type
- , T1, T2
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 3
- , apply2
- , (F, T1, T2)
- )
-};
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply< F,T1,T2,na,na,na >
- : apply2< F,T1,T2 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply3
-
- : apply_wrap3<
- typename lambda<F>::type
- , T1, T2, T3
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 4
- , apply3
- , (F, T1, T2, T3)
- )
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply< F,T1,T2,T3,na,na >
- : apply3< F,T1,T2,T3 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply4
-
- : apply_wrap4<
- typename lambda<F>::type
- , T1, T2, T3, T4
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , apply4
- , (F, T1, T2, T3, T4)
- )
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply< F,T1,T2,T3,T4,na >
- : apply4< F,T1,T2,T3,T4 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct apply5
-
- : apply_wrap5<
- typename lambda<F>::type
- , T1, T2, T3, T4, T5
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 6
- , apply5
- , (F, T1, T2, T3, T4, T5)
- )
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct apply
- : apply5< F,T1,T2,T3,T4,T5 >
-{
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/mwcw/apply_fwd.hpp b/boost/mpl/aux_/preprocessed/mwcw/apply_fwd.hpp
deleted file mode 100644
index b2ed5d5..0000000
--- a/boost/mpl/aux_/preprocessed/mwcw/apply_fwd.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/apply_fwd.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename F, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na
- >
-struct apply;
-
-template<
- typename F
- >
-struct apply0;
-
-template<
- typename F, typename T1
- >
-struct apply1;
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply2;
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply3;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply4;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct apply5;
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/mwcw/apply_wrap.hpp b/boost/mpl/aux_/preprocessed/mwcw/apply_wrap.hpp
deleted file mode 100644
index 2ffe709..0000000
--- a/boost/mpl/aux_/preprocessed/mwcw/apply_wrap.hpp
+++ /dev/null
@@ -1,456 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/apply_wrap.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- int N, typename F
- >
-struct apply_wrap_impl0;
-
-template<
- typename F
- >
-struct apply_wrap_impl0<
- 0
- , F
-
- >
-{
- typedef typename F::template apply<
-
-/// since the defaults are "lost", we have to pass *something* even for nullary
-/// metafunction classes
- na
- > type;
-};
-
-template<
- typename F
- >
-struct apply_wrap_impl0<
- 1
- , F
-
- >
-{
- typedef typename F::template apply<
-
- na
- > type;
-};
-
-template<
- typename F
- >
-struct apply_wrap_impl0<
- 2
- , F
-
- >
-{
- typedef typename F::template apply<
-
- na, na
-
- > type;
-};
-
-template<
- typename F
- >
-struct apply_wrap_impl0<
- 3
- , F
-
- >
-{
- typedef typename F::template apply<
-
- na, na, na
-
- > type;
-};
-
-template<
- typename F
- >
-struct apply_wrap_impl0<
- 4
- , F
-
- >
-{
- typedef typename F::template apply<
-
- na, na, na, na
-
- > type;
-};
-
-template<
- typename F
- >
-struct apply_wrap_impl0<
- 5
- , F
-
- >
-{
- typedef typename F::template apply<
-
- na, na, na, na, na
-
- > type;
-};
-
-template<
- typename F
- >
-struct apply_wrap0
- : apply_wrap_impl0<
- ::boost::mpl::aux::arity< F,0 >::value
- , F
-
- >::type
-{
-};
-
-template<
- int N, typename F, typename T1
- >
-struct apply_wrap_impl1;
-
-template<
- typename F, typename T1
- >
-struct apply_wrap_impl1<
- 1
- , F
- , T1
- >
-{
- typedef typename F::template apply<
- T1
- > type;
-};
-
-template<
- typename F, typename T1
- >
-struct apply_wrap_impl1<
- 2
- , F
- , T1
- >
-{
- typedef typename F::template apply<
- T1
- , na
-
- > type;
-};
-
-template<
- typename F, typename T1
- >
-struct apply_wrap_impl1<
- 3
- , F
- , T1
- >
-{
- typedef typename F::template apply<
- T1
- , na, na
-
- > type;
-};
-
-template<
- typename F, typename T1
- >
-struct apply_wrap_impl1<
- 4
- , F
- , T1
- >
-{
- typedef typename F::template apply<
- T1
- , na, na, na
-
- > type;
-};
-
-template<
- typename F, typename T1
- >
-struct apply_wrap_impl1<
- 5
- , F
- , T1
- >
-{
- typedef typename F::template apply<
- T1
- , na, na, na, na
-
- > type;
-};
-
-template<
- typename F, typename T1
- >
-struct apply_wrap1
- : apply_wrap_impl1<
- ::boost::mpl::aux::arity< F,1 >::value
- , F
- , T1
- >::type
-{
-};
-
-template<
- int N, typename F, typename T1, typename T2
- >
-struct apply_wrap_impl2;
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply_wrap_impl2<
- 2
- , F
- , T1, T2
- >
-{
- typedef typename F::template apply<
- T1, T2
-
- > type;
-};
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply_wrap_impl2<
- 3
- , F
- , T1, T2
- >
-{
- typedef typename F::template apply<
- T1, T2
-
- , na
-
- > type;
-};
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply_wrap_impl2<
- 4
- , F
- , T1, T2
- >
-{
- typedef typename F::template apply<
- T1, T2
-
- , na, na
-
- > type;
-};
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply_wrap_impl2<
- 5
- , F
- , T1, T2
- >
-{
- typedef typename F::template apply<
- T1, T2
-
- , na, na, na
-
- > type;
-};
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply_wrap2
- : apply_wrap_impl2<
- ::boost::mpl::aux::arity< F,2 >::value
- , F
- , T1, T2
- >::type
-{
-};
-
-template<
- int N, typename F, typename T1, typename T2, typename T3
- >
-struct apply_wrap_impl3;
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply_wrap_impl3<
- 3
- , F
- , T1, T2, T3
- >
-{
- typedef typename F::template apply<
- T1, T2, T3
-
- > type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply_wrap_impl3<
- 4
- , F
- , T1, T2, T3
- >
-{
- typedef typename F::template apply<
- T1, T2, T3
-
- , na
-
- > type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply_wrap_impl3<
- 5
- , F
- , T1, T2, T3
- >
-{
- typedef typename F::template apply<
- T1, T2, T3
-
- , na, na
-
- > type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply_wrap3
- : apply_wrap_impl3<
- ::boost::mpl::aux::arity< F,3 >::value
- , F
- , T1, T2, T3
- >::type
-{
-};
-
-template<
- int N, typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply_wrap_impl4;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply_wrap_impl4<
- 4
- , F
- , T1, T2, T3, T4
- >
-{
- typedef typename F::template apply<
- T1, T2, T3, T4
-
- > type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply_wrap_impl4<
- 5
- , F
- , T1, T2, T3, T4
- >
-{
- typedef typename F::template apply<
- T1, T2, T3, T4
-
- , na
-
- > type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply_wrap4
- : apply_wrap_impl4<
- ::boost::mpl::aux::arity< F,4 >::value
- , F
- , T1, T2, T3, T4
- >::type
-{
-};
-
-template<
- int N, typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct apply_wrap_impl5;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct apply_wrap_impl5<
- 5
- , F
- , T1, T2, T3, T4, T5
- >
-{
- typedef typename F::template apply<
- T1, T2, T3, T4, T5
-
- > type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct apply_wrap5
- : apply_wrap_impl5<
- ::boost::mpl::aux::arity< F,5 >::value
- , F
- , T1, T2, T3, T4, T5
- >::type
-{
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/mwcw/arg.hpp b/boost/mpl/aux_/preprocessed/mwcw/arg.hpp
deleted file mode 100644
index 6f2f8a8..0000000
--- a/boost/mpl/aux_/preprocessed/mwcw/arg.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-
-// Copyright Peter Dimov 2001-2002
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/arg.hpp" header
-// -- DO NOT modify by hand!
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-template<> struct arg< -1 >
-{
- BOOST_STATIC_CONSTANT(int, value = -1);
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U1 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<1>
-{
- BOOST_STATIC_CONSTANT(int, value = 1);
- typedef arg<2> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U1 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<2>
-{
- BOOST_STATIC_CONSTANT(int, value = 2);
- typedef arg<3> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U2 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<3>
-{
- BOOST_STATIC_CONSTANT(int, value = 3);
- typedef arg<4> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U3 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<4>
-{
- BOOST_STATIC_CONSTANT(int, value = 4);
- typedef arg<5> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U4 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<5>
-{
- BOOST_STATIC_CONSTANT(int, value = 5);
- typedef arg<6> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U5 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
diff --git a/boost/mpl/aux_/preprocessed/mwcw/basic_bind.hpp b/boost/mpl/aux_/preprocessed/mwcw/basic_bind.hpp
deleted file mode 100644
index b070232..0000000
--- a/boost/mpl/aux_/preprocessed/mwcw/basic_bind.hpp
+++ /dev/null
@@ -1,440 +0,0 @@
-
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
- typename T, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg
-{
- typedef T type;
-};
-
-template<
- int N, typename U1, typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >
-{
- typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 >
-{
- typedef bind< F,T1,T2,T3,T4,T5 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-template<
- typename F
- >
-struct bind0
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-
- public:
- typedef typename apply_wrap0<
- f_
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg<
- bind0<F>, U1, U2, U3, U4, U5
- >
-{
- typedef bind0<F> f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
-
-template<
- typename F
- >
-struct bind< F,na,na,na,na,na >
- : bind0<F>
-{
-};
-
-template<
- typename F, typename T1
- >
-struct bind1
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-
- public:
- typedef typename apply_wrap1<
- f_
- , typename t1::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename U1, typename U2, typename U3
- , typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind1< F,T1 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind1< F,T1 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
-
-template<
- typename F, typename T1
- >
-struct bind< F,T1,na,na,na,na >
- : bind1< F,T1 >
-{
-};
-
-template<
- typename F, typename T1, typename T2
- >
-struct bind2
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-
- public:
- typedef typename apply_wrap2<
- f_
- , typename t1::type, typename t2::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename U1, typename U2
- , typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind2< F,T1,T2 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind2< F,T1,T2 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
-
-template<
- typename F, typename T1, typename T2
- >
-struct bind< F,T1,T2,na,na,na >
- : bind2< F,T1,T2 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct bind3
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
- typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-
- public:
- typedef typename apply_wrap3<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename U1
- , typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind3< F,T1,T2,T3 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct bind< F,T1,T2,T3,na,na >
- : bind3< F,T1,T2,T3 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct bind4
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
- typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
- typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
-
- public:
- typedef typename apply_wrap4<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- , typename t4::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename U1, typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind4< F,T1,T2,T3,T4 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct bind< F,T1,T2,T3,T4,na >
- : bind4< F,T1,T2,T3,T4 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct bind5
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
- typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
- typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
- typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5;
-
- public:
- typedef typename apply_wrap5<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- , typename t4::type, typename t5::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg<
- bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind5< F,T1,T2,T3,T4,T5 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
-
-/// primary template (not a specialization!)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct bind
- : bind5< F,T1,T2,T3,T4,T5 >
-{
-};
-
-/// if_/eval_if specializations
-template< template< typename T1, typename T2, typename T3 > class F, typename Tag >
-struct quote3;
-
-template< typename T1, typename T2, typename T3 > struct if_;
-
-template<
- typename Tag, typename T1, typename T2, typename T3
- >
-struct bind3<
- quote3< if_,Tag >
- , T1, T2, T3
- >
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef mpl::arg<1> n1;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
- typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
- typedef typename if_<
- typename t1::type
- , t2, t3
- >::type f_;
-
- public:
- typedef typename f_::type type;
- };
-};
-
-template<
- template< typename T1, typename T2, typename T3 > class F, typename Tag
- >
-struct quote3;
-
-template< typename T1, typename T2, typename T3 > struct eval_if;
-
-template<
- typename Tag, typename T1, typename T2, typename T3
- >
-struct bind3<
- quote3< eval_if,Tag >
- , T1, T2, T3
- >
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef mpl::arg<1> n1;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
- typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
- typedef typename eval_if<
- typename t1::type
- , t2, t3
- >::type f_;
-
- public:
- typedef typename f_::type type;
- };
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/mwcw/bind.hpp b/boost/mpl/aux_/preprocessed/mwcw/bind.hpp
deleted file mode 100644
index 0e9513a..0000000
--- a/boost/mpl/aux_/preprocessed/mwcw/bind.hpp
+++ /dev/null
@@ -1,561 +0,0 @@
-
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/bind.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
- typename T, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg
-{
- typedef T type;
-};
-
-template<
- typename T
- , typename Arg
- >
-struct replace_unnamed_arg
-{
- typedef Arg next;
- typedef T type;
-};
-
-template<
- typename Arg
- >
-struct replace_unnamed_arg< arg< -1 >, Arg >
-{
- typedef typename Arg::next next;
- typedef Arg type;
-};
-
-template<
- int N, typename U1, typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >
-{
- typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 >
-{
- typedef bind< F,T1,T2,T3,T4,T5 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-template<
- typename F
- >
-struct bind0
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- public:
- typedef typename apply_wrap0<
- f_
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg<
- bind0<F>, U1, U2, U3, U4, U5
- >
-{
- typedef bind0<F> f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
-
-template<
- typename F
- >
-struct bind< F,na,na,na,na,na >
- : bind0<F>
-{
-};
-
-template<
- typename F, typename T1
- >
-struct bind1
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- public:
- typedef typename apply_wrap1<
- f_
- , typename t1::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename U1, typename U2, typename U3
- , typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind1< F,T1 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind1< F,T1 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
-
-template<
- typename F, typename T1
- >
-struct bind< F,T1,na,na,na,na >
- : bind1< F,T1 >
-{
-};
-
-template<
- typename F, typename T1, typename T2
- >
-struct bind2
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- public:
- typedef typename apply_wrap2<
- f_
- , typename t1::type, typename t2::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename U1, typename U2
- , typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind2< F,T1,T2 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind2< F,T1,T2 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
-
-template<
- typename F, typename T1, typename T2
- >
-struct bind< F,T1,T2,na,na,na >
- : bind2< F,T1,T2 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct bind3
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- typedef aux::replace_unnamed_arg< T3,n3 > r3;
- typedef typename r3::type a3;
- typedef typename r3::next n4;
- typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
- ///
- public:
- typedef typename apply_wrap3<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename U1
- , typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind3< F,T1,T2,T3 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct bind< F,T1,T2,T3,na,na >
- : bind3< F,T1,T2,T3 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct bind4
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- typedef aux::replace_unnamed_arg< T3,n3 > r3;
- typedef typename r3::type a3;
- typedef typename r3::next n4;
- typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
- ///
- typedef aux::replace_unnamed_arg< T4,n4 > r4;
- typedef typename r4::type a4;
- typedef typename r4::next n5;
- typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
- ///
- public:
- typedef typename apply_wrap4<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- , typename t4::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename U1, typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind4< F,T1,T2,T3,T4 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct bind< F,T1,T2,T3,T4,na >
- : bind4< F,T1,T2,T3,T4 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct bind5
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- typedef aux::replace_unnamed_arg< T3,n3 > r3;
- typedef typename r3::type a3;
- typedef typename r3::next n4;
- typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
- ///
- typedef aux::replace_unnamed_arg< T4,n4 > r4;
- typedef typename r4::type a4;
- typedef typename r4::next n5;
- typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
- ///
- typedef aux::replace_unnamed_arg< T5,n5 > r5;
- typedef typename r5::type a5;
- typedef typename r5::next n6;
- typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5;
- ///
- public:
- typedef typename apply_wrap5<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- , typename t4::type, typename t5::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg<
- bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind5< F,T1,T2,T3,T4,T5 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
-
-/// primary template (not a specialization!)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct bind
- : bind5< F,T1,T2,T3,T4,T5 >
-{
-};
-
-/// if_/eval_if specializations
-template< template< typename T1, typename T2, typename T3 > class F, typename Tag >
-struct quote3;
-
-template< typename T1, typename T2, typename T3 > struct if_;
-
-template<
- typename Tag, typename T1, typename T2, typename T3
- >
-struct bind3<
- quote3< if_,Tag >
- , T1, T2, T3
- >
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef mpl::arg<1> n1;
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- typedef aux::replace_unnamed_arg< T3,n3 > r3;
- typedef typename r3::type a3;
- typedef typename r3::next n4;
- typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
- ///
- typedef typename if_<
- typename t1::type
- , t2, t3
- >::type f_;
-
- public:
- typedef typename f_::type type;
- };
-};
-
-template<
- template< typename T1, typename T2, typename T3 > class F, typename Tag
- >
-struct quote3;
-
-template< typename T1, typename T2, typename T3 > struct eval_if;
-
-template<
- typename Tag, typename T1, typename T2, typename T3
- >
-struct bind3<
- quote3< eval_if,Tag >
- , T1, T2, T3
- >
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef mpl::arg<1> n1;
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- typedef aux::replace_unnamed_arg< T3,n3 > r3;
- typedef typename r3::type a3;
- typedef typename r3::next n4;
- typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
- ///
- typedef typename eval_if<
- typename t1::type
- , t2, t3
- >::type f_;
-
- public:
- typedef typename f_::type type;
- };
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/mwcw/bind_fwd.hpp b/boost/mpl/aux_/preprocessed/mwcw/bind_fwd.hpp
deleted file mode 100644
index c4a5060..0000000
--- a/boost/mpl/aux_/preprocessed/mwcw/bind_fwd.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/bind_fwd.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename F, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na
- >
-struct bind;
-
-template<
- typename F
- >
-struct bind0;
-
-template<
- typename F, typename T1
- >
-struct bind1;
-
-template<
- typename F, typename T1, typename T2
- >
-struct bind2;
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct bind3;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct bind4;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct bind5;
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/mwcw/bitand.hpp b/boost/mpl/aux_/preprocessed/mwcw/bitand.hpp
deleted file mode 100644
index 0bbf54e..0000000
--- a/boost/mpl/aux_/preprocessed/mwcw/bitand.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// Preprocessed version of "boost/mpl/bitand.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct bitand_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitand_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitand_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitand_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct bitand_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct bitand_
- : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , bitand_
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct bitand_< N1,N2,N3,N4,na >
-
- : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitand_
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct bitand_< N1,N2,N3,na,na >
-
- : bitand_< bitand_< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitand_
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct bitand_< N1,N2,na,na,na >
- : bitand_impl<
- typename bitand_tag<N1>::type
- , typename bitand_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitand_
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitand_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- & BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/mwcw/bitor.hpp b/boost/mpl/aux_/preprocessed/mwcw/bitor.hpp
deleted file mode 100644
index 55b31cb..0000000
--- a/boost/mpl/aux_/preprocessed/mwcw/bitor.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// Preprocessed version of "boost/mpl/bitor.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct bitor_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitor_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitor_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitor_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct bitor_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct bitor_
- : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , bitor_
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct bitor_< N1,N2,N3,N4,na >
-
- : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitor_
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct bitor_< N1,N2,N3,na,na >
-
- : bitor_< bitor_< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitor_
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct bitor_< N1,N2,na,na,na >
- : bitor_impl<
- typename bitor_tag<N1>::type
- , typename bitor_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitor_
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitor_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- | BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/mwcw/bitxor.hpp b/boost/mpl/aux_/preprocessed/mwcw/bitxor.hpp
deleted file mode 100644
index ec19391..0000000
--- a/boost/mpl/aux_/preprocessed/mwcw/bitxor.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// Preprocessed version of "boost/mpl/bitxor.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct bitxor_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitxor_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitxor_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitxor_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct bitxor_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct bitxor_
- : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , bitxor_
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct bitxor_< N1,N2,N3,N4,na >
-
- : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitxor_
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct bitxor_< N1,N2,N3,na,na >
-
- : bitxor_< bitxor_< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitxor_
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct bitxor_< N1,N2,na,na,na >
- : bitxor_impl<
- typename bitxor_tag<N1>::type
- , typename bitxor_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitxor_
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitxor_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/mwcw/deque.hpp b/boost/mpl/aux_/preprocessed/mwcw/deque.hpp
deleted file mode 100644
index de67398..0000000
--- a/boost/mpl/aux_/preprocessed/mwcw/deque.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/deque.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct deque;
-
-template<
-
- >
-struct deque<
- na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector0< >
-{
- typedef vector0< >::type type;
-};
-
-template<
- typename T0
- >
-struct deque<
- T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector1<T0>
-{
- typedef typename vector1<T0>::type type;
-};
-
-template<
- typename T0, typename T1
- >
-struct deque<
- T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector2< T0,T1 >
-{
- typedef typename vector2< T0,T1 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct deque<
- T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector3< T0,T1,T2 >
-{
- typedef typename vector3< T0,T1,T2 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct deque<
- T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector4< T0,T1,T2,T3 >
-{
- typedef typename vector4< T0,T1,T2,T3 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct deque<
- T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector5< T0,T1,T2,T3,T4 >
-{
- typedef typename vector5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector6< T0,T1,T2,T3,T4,T5 >
-{
- typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector7< T0,T1,T2,T3,T4,T5,T6 >
-{
- typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
- typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
- typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
- typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
- , na, na, na
- >
- : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
- typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
- , na, na, na, na
- >
- : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
- typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
- , na, na, na, na
- >
- : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
- typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
- , na, na, na, na
- >
- : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
- typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
- , na, na, na, na
- >
- : vector15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >
-{
- typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, na, na, na, na
- >
- : vector16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15
- >
-{
- typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, na, na, na
- >
- : vector17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16
- >
-{
- typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, na, na
- >
- : vector18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17
- >
-{
- typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, na
- >
- : vector19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18
- >
-{
- typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct deque
- : vector20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, T19
- >
-{
- typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/mwcw/divides.hpp b/boost/mpl/aux_/preprocessed/mwcw/divides.hpp
deleted file mode 100644
index 86f1682..0000000
--- a/boost/mpl/aux_/preprocessed/mwcw/divides.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/divides.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct divides_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct divides_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct divides_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct divides_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct divides_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct divides
- : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , divides
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct divides< N1,N2,N3,N4,na >
-
- : divides< divides< divides< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , divides
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct divides< N1,N2,N3,na,na >
-
- : divides< divides< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , divides
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct divides< N1,N2,na,na,na >
- : divides_impl<
- typename divides_tag<N1>::type
- , typename divides_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , divides
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, divides)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct divides_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- / BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/mwcw/equal_to.hpp b/boost/mpl/aux_/preprocessed/mwcw/equal_to.hpp
deleted file mode 100644
index 62c9945..0000000
--- a/boost/mpl/aux_/preprocessed/mwcw/equal_to.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/equal_to.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct equal_to_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct equal_to_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct equal_to_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct equal_to_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct equal_to_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct equal_to
-
- : equal_to_impl<
- typename equal_to_tag<N1>::type
- , typename equal_to_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct equal_to_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/mwcw/fold_impl.hpp b/boost/mpl/aux_/preprocessed/mwcw/fold_impl.hpp
deleted file mode 100644
index 9e7a293..0000000
--- a/boost/mpl/aux_/preprocessed/mwcw/fold_impl.hpp
+++ /dev/null
@@ -1,180 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
- int N
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl;
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< 0,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef state0 state;
- typedef iter0 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< 1,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
-
-
- typedef state1 state;
- typedef iter1 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< 2,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
-
-
- typedef state2 state;
- typedef iter2 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< 3,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
- typedef typename mpl::next<iter2>::type iter3;
-
-
- typedef state3 state;
- typedef iter3 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< 4,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp, state3, typename deref<iter3>::type >::type state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef state4 state;
- typedef iter4 iterator;
-};
-
-template<
- int N
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl
-{
- typedef fold_impl<
- 4
- , First
- , Last
- , State
- , ForwardOp
- > chunk_;
-
- typedef fold_impl<
- ( (N - 4) < 0 ? 0 : N - 4 )
- , typename chunk_::iterator
- , Last
- , typename chunk_::state
- , ForwardOp
- > res_;
-
- typedef typename res_::state state;
- typedef typename res_::iterator iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< -1,First,Last,State,ForwardOp >
- : fold_impl<
- -1
- , typename mpl::next<First>::type
- , Last
- , typename apply2<ForwardOp,State, typename deref<First>::type>::type
- , ForwardOp
- >
-{
-};
-
-template<
- typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< -1,Last,Last,State,ForwardOp >
-{
- typedef State state;
- typedef Last iterator;
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/mwcw/full_lambda.hpp b/boost/mpl/aux_/preprocessed/mwcw/full_lambda.hpp
deleted file mode 100644
index bf81873..0000000
--- a/boost/mpl/aux_/preprocessed/mwcw/full_lambda.hpp
+++ /dev/null
@@ -1,554 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
- bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
- , bool C5 = false
- >
-struct lambda_or
- : true_
-{
-};
-
-template<>
-struct lambda_or< false,false,false,false,false >
- : false_
-{
-};
-
-} // namespace aux
-
-template<
- typename T
- , typename Tag
-
- >
-struct lambda
-{
- typedef false_ is_le;
- typedef T result_;
- typedef T type;
-};
-
-template<
- typename T
- >
-struct is_lambda_expression
- : lambda<T>::is_le
-{
-};
-
-template< int N, typename Tag >
-struct lambda< arg<N>, Tag >
-{
- typedef true_ is_le;
- typedef mpl::arg<N> result_; // qualified for the sake of MIPSpro 7.41
- typedef mpl::protect<result_> type;
-};
-
-template<
- typename F
- , typename Tag
- >
-struct lambda<
- bind0<F>
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind0<
- F
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1 > class F
- , typename L1
- >
-struct le_result1
-{
- typedef F<
- typename L1::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1 > class F
- , typename L1
- >
-struct le_result1< true_,Tag,F,L1 >
-{
- typedef bind1<
- quote1< F,Tag >
- , typename L1::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template< typename P1 > class F
- , typename T1
- , typename Tag
- >
-struct lambda<
- F<T1>
- , Tag
-
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef typename l1::is_le is_le1;
- typedef typename aux::lambda_or<
- is_le1::value
- >::type is_le;
-
- typedef aux::le_result1<
- is_le, Tag, F, l1
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1
- , typename Tag
- >
-struct lambda<
- bind1< F,T1 >
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind1<
- F
- , T1
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1, typename P2 > class F
- , typename L1, typename L2
- >
-struct le_result2
-{
- typedef F<
- typename L1::type, typename L2::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1, typename P2 > class F
- , typename L1, typename L2
- >
-struct le_result2< true_,Tag,F,L1,L2 >
-{
- typedef bind2<
- quote2< F,Tag >
- , typename L1::result_, typename L2::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template< typename P1, typename P2 > class F
- , typename T1, typename T2
- , typename Tag
- >
-struct lambda<
- F< T1,T2 >
- , Tag
-
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef lambda< T2,Tag > l2;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
-
-
- typedef typename aux::lambda_or<
- is_le1::value, is_le2::value
- >::type is_le;
-
- typedef aux::le_result2<
- is_le, Tag, F, l1, l2
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1, typename T2
- , typename Tag
- >
-struct lambda<
- bind2< F,T1,T2 >
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind2<
- F
- , T1, T2
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1, typename P2, typename P3 > class F
- , typename L1, typename L2, typename L3
- >
-struct le_result3
-{
- typedef F<
- typename L1::type, typename L2::type, typename L3::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1, typename P2, typename P3 > class F
- , typename L1, typename L2, typename L3
- >
-struct le_result3< true_,Tag,F,L1,L2,L3 >
-{
- typedef bind3<
- quote3< F,Tag >
- , typename L1::result_, typename L2::result_, typename L3::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template< typename P1, typename P2, typename P3 > class F
- , typename T1, typename T2, typename T3
- , typename Tag
- >
-struct lambda<
- F< T1,T2,T3 >
- , Tag
-
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef lambda< T2,Tag > l2;
- typedef lambda< T3,Tag > l3;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
-
-
- typedef typename aux::lambda_or<
- is_le1::value, is_le2::value, is_le3::value
- >::type is_le;
-
- typedef aux::le_result3<
- is_le, Tag, F, l1, l2, l3
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- , typename Tag
- >
-struct lambda<
- bind3< F,T1,T2,T3 >
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind3<
- F
- , T1, T2, T3
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1, typename P2, typename P3, typename P4 > class F
- , typename L1, typename L2, typename L3, typename L4
- >
-struct le_result4
-{
- typedef F<
- typename L1::type, typename L2::type, typename L3::type
- , typename L4::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1, typename P2, typename P3, typename P4 > class F
- , typename L1, typename L2, typename L3, typename L4
- >
-struct le_result4< true_,Tag,F,L1,L2,L3,L4 >
-{
- typedef bind4<
- quote4< F,Tag >
- , typename L1::result_, typename L2::result_, typename L3::result_
- , typename L4::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template< typename P1, typename P2, typename P3, typename P4 > class F
- , typename T1, typename T2, typename T3, typename T4
- , typename Tag
- >
-struct lambda<
- F< T1,T2,T3,T4 >
- , Tag
-
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef lambda< T2,Tag > l2;
- typedef lambda< T3,Tag > l3;
- typedef lambda< T4,Tag > l4;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
- typedef typename l4::is_le is_le4;
-
-
- typedef typename aux::lambda_or<
- is_le1::value, is_le2::value, is_le3::value, is_le4::value
- >::type is_le;
-
- typedef aux::le_result4<
- is_le, Tag, F, l1, l2, l3, l4
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename Tag
- >
-struct lambda<
- bind4< F,T1,T2,T3,T4 >
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind4<
- F
- , T1, T2, T3, T4
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
- , typename L1, typename L2, typename L3, typename L4, typename L5
- >
-struct le_result5
-{
- typedef F<
- typename L1::type, typename L2::type, typename L3::type
- , typename L4::type, typename L5::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
- , typename L1, typename L2, typename L3, typename L4, typename L5
- >
-struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 >
-{
- typedef bind5<
- quote5< F,Tag >
- , typename L1::result_, typename L2::result_, typename L3::result_
- , typename L4::result_, typename L5::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template<
- typename P1, typename P2, typename P3, typename P4
- , typename P5
- >
- class F
- , typename T1, typename T2, typename T3, typename T4, typename T5
- , typename Tag
- >
-struct lambda<
- F< T1,T2,T3,T4,T5 >
- , Tag
-
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef lambda< T2,Tag > l2;
- typedef lambda< T3,Tag > l3;
- typedef lambda< T4,Tag > l4;
- typedef lambda< T5,Tag > l5;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
- typedef typename l4::is_le is_le4;
- typedef typename l5::is_le is_le5;
-
-
- typedef typename aux::lambda_or<
- is_le1::value, is_le2::value, is_le3::value, is_le4::value
- , is_le5::value
- >::type is_le;
-
- typedef aux::le_result5<
- is_le, Tag, F, l1, l2, l3, l4, l5
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- , typename Tag
- >
-struct lambda<
- bind5< F,T1,T2,T3,T4,T5 >
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind5<
- F
- , T1, T2, T3, T4, T5
- > result_;
-
- typedef result_ type;
-};
-
-/// special case for 'protect'
-template< typename T, typename Tag >
-struct lambda< mpl::protect<T>, Tag >
-{
- typedef false_ is_le;
- typedef mpl::protect<T> result_;
- typedef result_ type;
-};
-
-/// specializations for the main 'bind' form
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- , typename Tag
- >
-struct lambda<
- bind< F,T1,T2,T3,T4,T5 >
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind< F,T1,T2,T3,T4,T5 > result_;
- typedef result_ type;
-};
-
-/// workaround for MWCW 8.3+/EDG < 303, leads to ambiguity on Digital Mars
-
-template<
- typename F, typename Tag1, typename Tag2
- >
-struct lambda<
- lambda< F,Tag1 >
- , Tag2
- >
-{
- typedef lambda< F,Tag2 > l1;
- typedef lambda< Tag1,Tag2 > l2;
- typedef typename l1::is_le is_le;
- typedef aux::le_result2<is_le, Tag2, mpl::lambda, l1, l2> le_result_;
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, lambda)
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/mwcw/greater.hpp b/boost/mpl/aux_/preprocessed/mwcw/greater.hpp
deleted file mode 100644
index 14d8e08..0000000
--- a/boost/mpl/aux_/preprocessed/mwcw/greater.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/greater.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct greater_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct greater_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct greater_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct greater_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct greater_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct greater
-
- : greater_impl<
- typename greater_tag<N1>::type
- , typename greater_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct greater_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/mwcw/greater_equal.hpp b/boost/mpl/aux_/preprocessed/mwcw/greater_equal.hpp
deleted file mode 100644
index 2603f91..0000000
--- a/boost/mpl/aux_/preprocessed/mwcw/greater_equal.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/greater_equal.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct greater_equal_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct greater_equal_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct greater_equal_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct greater_equal_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct greater_equal_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct greater_equal
-
- : greater_equal_impl<
- typename greater_equal_tag<N1>::type
- , typename greater_equal_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct greater_equal_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/mwcw/inherit.hpp b/boost/mpl/aux_/preprocessed/mwcw/inherit.hpp
deleted file mode 100644
index 00f31c4..0000000
--- a/boost/mpl/aux_/preprocessed/mwcw/inherit.hpp
+++ /dev/null
@@ -1,141 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/inherit.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(T1)
- , typename BOOST_MPL_AUX_NA_PARAM(T2)
- >
-struct inherit2
- : T1, T2
-{
- typedef inherit2 type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))
-};
-
-template< typename T1 >
-struct inherit2< T1,empty_base >
-{
- typedef T1 type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base))
-};
-
-template< typename T2 >
-struct inherit2< empty_base,T2 >
-{
- typedef T2 type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2))
-};
-
-template<>
-struct inherit2< empty_base,empty_base >
-{
- typedef empty_base type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base))
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, inherit2)
-
-template<
- typename T1 = na, typename T2 = na, typename T3 = na
- >
-struct inherit3
- : inherit2<
- typename inherit2<
- T1, T2
- >::type
- , T3
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 3
- , inherit3
- , ( T1, T2, T3)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC(3, inherit3)
-
-template<
- typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
- >
-struct inherit4
- : inherit2<
- typename inherit3<
- T1, T2, T3
- >::type
- , T4
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 4
- , inherit4
- , ( T1, T2, T3, T4)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC(4, inherit4)
-
-template<
- typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
- , typename T5 = na
- >
-struct inherit5
- : inherit2<
- typename inherit4<
- T1, T2, T3, T4
- >::type
- , T5
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , inherit5
- , ( T1, T2, T3, T4, T5)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC(5, inherit5)
-
-/// primary template
-
-template<
- typename T1 = empty_base, typename T2 = empty_base
- , typename T3 = empty_base, typename T4 = empty_base
- , typename T5 = empty_base
- >
-struct inherit
- : inherit5< T1,T2,T3,T4,T5 >
-{
-};
-
-template<>
-struct inherit< na,na,na,na,na >
-{
- template<
-
- typename T1 = empty_base, typename T2 = empty_base
- , typename T3 = empty_base, typename T4 = empty_base
- , typename T5 = empty_base
-
- >
- struct apply
- : inherit< T1,T2,T3,T4,T5 >
- {
- };
-};
-
-BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/mwcw/iter_fold_if_impl.hpp b/boost/mpl/aux_/preprocessed/mwcw/iter_fold_if_impl.hpp
deleted file mode 100644
index 6951795..0000000
--- a/boost/mpl/aux_/preprocessed/mwcw/iter_fold_if_impl.hpp
+++ /dev/null
@@ -1,133 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright David Abrahams 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< typename Iterator, typename State >
-struct iter_fold_if_null_step
-{
- typedef State state;
- typedef Iterator iterator;
-};
-
-template< bool >
-struct iter_fold_if_step_impl
-{
- template<
- typename Iterator
- , typename State
- , typename StateOp
- , typename IteratorOp
- >
- struct result_
- {
- typedef typename apply2< StateOp,State,Iterator >::type state;
- typedef typename IteratorOp::type iterator;
- };
-};
-
-template<>
-struct iter_fold_if_step_impl<false>
-{
- template<
- typename Iterator
- , typename State
- , typename StateOp
- , typename IteratorOp
- >
- struct result_
- {
- typedef State state;
- typedef Iterator iterator;
- };
-};
-
-template<
- typename Iterator
- , typename State
- , typename ForwardOp
- , typename Predicate
- >
-struct iter_fold_if_forward_step
-{
- typedef typename apply2< Predicate,State,Iterator >::type not_last;
- typedef typename iter_fold_if_step_impl<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
- >::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_;
-
- typedef typename impl_::state state;
- typedef typename impl_::iterator iterator;
-};
-
-template<
- typename Iterator
- , typename State
- , typename BackwardOp
- , typename Predicate
- >
-struct iter_fold_if_backward_step
-{
- typedef typename apply2< Predicate,State,Iterator >::type not_last;
- typedef typename iter_fold_if_step_impl<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
- >::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_;
-
- typedef typename impl_::state state;
- typedef typename impl_::iterator iterator;
-};
-
-template<
- typename Iterator
- , typename State
- , typename ForwardOp
- , typename ForwardPredicate
- , typename BackwardOp
- , typename BackwardPredicate
- >
-struct iter_fold_if_impl
-{
- private:
- typedef iter_fold_if_null_step< Iterator,State > forward_step0;
- typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1;
- typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2;
- typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3;
- typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4;
-
-
- typedef typename if_<
- typename forward_step4::not_last
- , iter_fold_if_impl<
- typename forward_step4::iterator
- , typename forward_step4::state
- , ForwardOp
- , ForwardPredicate
- , BackwardOp
- , BackwardPredicate
- >
- , iter_fold_if_null_step<
- typename forward_step4::iterator
- , typename forward_step4::state
- >
- >::type backward_step4;
-
- typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3;
- typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2;
- typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1;
- typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0;
-
-
- public:
- typedef typename backward_step0::state state;
- typedef typename backward_step4::iterator iterator;
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/mwcw/iter_fold_impl.hpp b/boost/mpl/aux_/preprocessed/mwcw/iter_fold_impl.hpp
deleted file mode 100644
index 805790e..0000000
--- a/boost/mpl/aux_/preprocessed/mwcw/iter_fold_impl.hpp
+++ /dev/null
@@ -1,180 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
- int N
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl;
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< 0,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef state0 state;
- typedef iter0 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< 1,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
-
-
- typedef state1 state;
- typedef iter1 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< 2,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
-
-
- typedef state2 state;
- typedef iter2 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< 3,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
- typedef typename mpl::next<iter2>::type iter3;
-
-
- typedef state3 state;
- typedef iter3 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< 4,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp,state3,iter3 >::type state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef state4 state;
- typedef iter4 iterator;
-};
-
-template<
- int N
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl
-{
- typedef iter_fold_impl<
- 4
- , First
- , Last
- , State
- , ForwardOp
- > chunk_;
-
- typedef iter_fold_impl<
- ( (N - 4) < 0 ? 0 : N - 4 )
- , typename chunk_::iterator
- , Last
- , typename chunk_::state
- , ForwardOp
- > res_;
-
- typedef typename res_::state state;
- typedef typename res_::iterator iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< -1,First,Last,State,ForwardOp >
- : iter_fold_impl<
- -1
- , typename mpl::next<First>::type
- , Last
- , typename apply2< ForwardOp,State,First >::type
- , ForwardOp
- >
-{
-};
-
-template<
- typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< -1,Last,Last,State,ForwardOp >
-{
- typedef State state;
- typedef Last iterator;
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/mwcw/lambda_no_ctps.hpp b/boost/mpl/aux_/preprocessed/mwcw/lambda_no_ctps.hpp
deleted file mode 100644
index 890a198..0000000
--- a/boost/mpl/aux_/preprocessed/mwcw/lambda_no_ctps.hpp
+++ /dev/null
@@ -1,229 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
- bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
- , bool C5 = false
- >
-struct lambda_or
- : true_
-{
-};
-
-template<>
-struct lambda_or< false,false,false,false,false >
- : false_
-{
-};
-
-template< typename Arity > struct lambda_impl
-{
- template< typename T, typename Tag, typename Protect > struct result_
- {
- typedef T type;
- typedef is_placeholder<T> is_le;
- };
-};
-
-template<> struct lambda_impl< int_<1> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef typename l1::is_le is_le1;
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value
- > is_le;
-
- typedef bind1<
- typename F::rebind
- , typename l1::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-template<> struct lambda_impl< int_<2> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef lambda< typename F::arg2, Tag, false_ > l2;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
-
-
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value
- > is_le;
-
- typedef bind2<
- typename F::rebind
- , typename l1::type, typename l2::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-template<> struct lambda_impl< int_<3> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef lambda< typename F::arg2, Tag, false_ > l2;
- typedef lambda< typename F::arg3, Tag, false_ > l3;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
-
-
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value
- > is_le;
-
- typedef bind3<
- typename F::rebind
- , typename l1::type, typename l2::type, typename l3::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-template<> struct lambda_impl< int_<4> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef lambda< typename F::arg2, Tag, false_ > l2;
- typedef lambda< typename F::arg3, Tag, false_ > l3;
- typedef lambda< typename F::arg4, Tag, false_ > l4;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
- typedef typename l4::is_le is_le4;
-
-
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value
- > is_le;
-
- typedef bind4<
- typename F::rebind
- , typename l1::type, typename l2::type, typename l3::type
- , typename l4::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-template<> struct lambda_impl< int_<5> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef lambda< typename F::arg2, Tag, false_ > l2;
- typedef lambda< typename F::arg3, Tag, false_ > l3;
- typedef lambda< typename F::arg4, Tag, false_ > l4;
- typedef lambda< typename F::arg5, Tag, false_ > l5;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
- typedef typename l4::is_le is_le4;
- typedef typename l5::is_le is_le5;
-
-
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value
- > is_le;
-
- typedef bind5<
- typename F::rebind
- , typename l1::type, typename l2::type, typename l3::type
- , typename l4::type, typename l5::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-} // namespace aux
-
-template<
- typename T
- , typename Tag
- , typename Protect
- >
-struct lambda
-{
- /// Metafunction forwarding confuses MSVC 6.x
- typedef typename aux::template_arity<T>::type arity_;
- typedef typename aux::lambda_impl<arity_>
- ::template result_< T,Tag,Protect > l_;
-
- typedef typename l_::type type;
- typedef typename l_::is_le is_le;
- BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))
-};
-
-BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
-
-template<
- typename T
- >
-struct is_lambda_expression
- : lambda<T>::is_le
-{
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/mwcw/less.hpp b/boost/mpl/aux_/preprocessed/mwcw/less.hpp
deleted file mode 100644
index 4fe3cd1..0000000
--- a/boost/mpl/aux_/preprocessed/mwcw/less.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/less.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct less_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct less_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct less_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct less_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct less_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct less
-
- : less_impl<
- typename less_tag<N1>::type
- , typename less_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct less_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/mwcw/less_equal.hpp b/boost/mpl/aux_/preprocessed/mwcw/less_equal.hpp
deleted file mode 100644
index ca2894f..0000000
--- a/boost/mpl/aux_/preprocessed/mwcw/less_equal.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/less_equal.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct less_equal_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct less_equal_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct less_equal_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct less_equal_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct less_equal_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct less_equal
-
- : less_equal_impl<
- typename less_equal_tag<N1>::type
- , typename less_equal_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct less_equal_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/mwcw/list.hpp b/boost/mpl/aux_/preprocessed/mwcw/list.hpp
deleted file mode 100644
index 4e8ad53..0000000
--- a/boost/mpl/aux_/preprocessed/mwcw/list.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/list.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct list;
-
-template<
-
- >
-struct list<
- na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list0< >
-{
- typedef list0< >::type type;
-};
-
-template<
- typename T0
- >
-struct list<
- T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list1<T0>
-{
- typedef typename list1<T0>::type type;
-};
-
-template<
- typename T0, typename T1
- >
-struct list<
- T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list2< T0,T1 >
-{
- typedef typename list2< T0,T1 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct list<
- T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list3< T0,T1,T2 >
-{
- typedef typename list3< T0,T1,T2 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct list<
- T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list4< T0,T1,T2,T3 >
-{
- typedef typename list4< T0,T1,T2,T3 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct list<
- T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list5< T0,T1,T2,T3,T4 >
-{
- typedef typename list5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct list<
- T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list6< T0,T1,T2,T3,T4,T5 >
-{
- typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list7< T0,T1,T2,T3,T4,T5,T6 >
-{
- typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
- typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
- typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
- , na, na, na
- >
- : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
- typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
- , na, na, na
- >
- : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
- typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
- , na, na, na, na
- >
- : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
- typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
- , na, na, na, na
- >
- : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
- typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
- , na, na, na, na
- >
- : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
- typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
- , na, na, na, na
- >
- : list15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >
-{
- typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, na, na, na, na
- >
- : list16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15
- >
-{
- typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, na, na, na
- >
- : list17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16
- >
-{
- typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, na, na
- >
- : list18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17
- >
-{
- typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, na
- >
- : list19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18
- >
-{
- typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct list
- : list20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, T19
- >
-{
- typedef typename list20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/mwcw/list_c.hpp b/boost/mpl/aux_/preprocessed/mwcw/list_c.hpp
deleted file mode 100644
index 0b48a7f..0000000
--- a/boost/mpl/aux_/preprocessed/mwcw/list_c.hpp
+++ /dev/null
@@ -1,328 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/list_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
- , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
- , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
- , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
- , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
- , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
- , long C18 = LONG_MAX, long C19 = LONG_MAX
- >
-struct list_c;
-
-template<
- typename T
- >
-struct list_c<
- T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list0_c<T>
-{
- typedef typename list0_c<T>::type type;
-};
-
-template<
- typename T, long C0
- >
-struct list_c<
- T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list1_c< T,C0 >
-{
- typedef typename list1_c< T,C0 >::type type;
-};
-
-template<
- typename T, long C0, long C1
- >
-struct list_c<
- T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list2_c< T,C0,C1 >
-{
- typedef typename list2_c< T,C0,C1 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2
- >
-struct list_c<
- T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list3_c< T,C0,C1,C2 >
-{
- typedef typename list3_c< T,C0,C1,C2 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3
- >
-struct list_c<
- T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list4_c< T,C0,C1,C2,C3 >
-{
- typedef typename list4_c< T,C0,C1,C2,C3 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list5_c< T,C0,C1,C2,C3,C4 >
-{
- typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list6_c< T,C0,C1,C2,C3,C4,C5 >
-{
- typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list7_c< T,C0,C1,C2,C3,C4,C5,C6 >
-{
- typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX
- >
- : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >
-{
- typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >
-{
- typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >
-{
- typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >
-{
- typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >
-{
- typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >
-{
- typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list14_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- >
-{
- typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list15_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- >
-{
- typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list16_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15
- >
-{
- typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list17_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16
- >
-{
- typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, LONG_MAX, LONG_MAX
- >
- : list18_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17
- >
-{
- typedef typename list18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18, LONG_MAX
- >
- : list19_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18
- >
-{
- typedef typename list19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
-struct list_c
- : list20_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18, C19
- >
-{
- typedef typename list20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/mwcw/map.hpp b/boost/mpl/aux_/preprocessed/mwcw/map.hpp
deleted file mode 100644
index 837e013..0000000
--- a/boost/mpl/aux_/preprocessed/mwcw/map.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/map.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct map;
-
-template<
-
- >
-struct map<
- na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map0< >
-{
- typedef map0< >::type type;
-};
-
-template<
- typename T0
- >
-struct map<
- T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map1<T0>
-{
- typedef typename map1<T0>::type type;
-};
-
-template<
- typename T0, typename T1
- >
-struct map<
- T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map2< T0,T1 >
-{
- typedef typename map2< T0,T1 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct map<
- T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map3< T0,T1,T2 >
-{
- typedef typename map3< T0,T1,T2 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct map<
- T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map4< T0,T1,T2,T3 >
-{
- typedef typename map4< T0,T1,T2,T3 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct map<
- T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map5< T0,T1,T2,T3,T4 >
-{
- typedef typename map5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct map<
- T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map6< T0,T1,T2,T3,T4,T5 >
-{
- typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map7< T0,T1,T2,T3,T4,T5,T6 >
-{
- typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
- typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
- typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
- , na, na, na
- >
- : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
- typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
- , na, na, na
- >
- : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
- typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
- , na, na, na, na
- >
- : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
- typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
- , na, na, na, na
- >
- : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
- typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
- , na, na, na, na
- >
- : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
- typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
- , na, na, na, na
- >
- : map15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >
-{
- typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, na, na, na, na
- >
- : map16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15
- >
-{
- typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, na, na, na
- >
- : map17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16
- >
-{
- typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, na, na
- >
- : map18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17
- >
-{
- typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, na
- >
- : map19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18
- >
-{
- typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct map
- : map20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, T19
- >
-{
- typedef typename map20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/mwcw/minus.hpp b/boost/mpl/aux_/preprocessed/mwcw/minus.hpp
deleted file mode 100644
index 71d4913..0000000
--- a/boost/mpl/aux_/preprocessed/mwcw/minus.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/minus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct minus_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct minus_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct minus_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct minus_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct minus_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct minus
- : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , minus
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct minus< N1,N2,N3,N4,na >
-
- : minus< minus< minus< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , minus
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct minus< N1,N2,N3,na,na >
-
- : minus< minus< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , minus
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct minus< N1,N2,na,na,na >
- : minus_impl<
- typename minus_tag<N1>::type
- , typename minus_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , minus
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, minus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct minus_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- - BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/mwcw/modulus.hpp b/boost/mpl/aux_/preprocessed/mwcw/modulus.hpp
deleted file mode 100644
index 224b349..0000000
--- a/boost/mpl/aux_/preprocessed/mwcw/modulus.hpp
+++ /dev/null
@@ -1,101 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/modulus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct modulus_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct modulus_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct modulus_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct modulus_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct modulus_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct modulus
-
- : modulus_impl<
- typename modulus_tag<N1>::type
- , typename modulus_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct modulus_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- % BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/mwcw/not_equal_to.hpp b/boost/mpl/aux_/preprocessed/mwcw/not_equal_to.hpp
deleted file mode 100644
index 98b21b1..0000000
--- a/boost/mpl/aux_/preprocessed/mwcw/not_equal_to.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/not_equal_to.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct not_equal_to_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct not_equal_to_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct not_equal_to_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct not_equal_to_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct not_equal_to_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct not_equal_to
-
- : not_equal_to_impl<
- typename not_equal_to_tag<N1>::type
- , typename not_equal_to_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct not_equal_to_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/mwcw/or.hpp b/boost/mpl/aux_/preprocessed/mwcw/or.hpp
deleted file mode 100644
index 31e1aaa..0000000
--- a/boost/mpl/aux_/preprocessed/mwcw/or.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/or.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< bool C_, typename T1, typename T2, typename T3, typename T4 >
-struct or_impl
- : true_
-{
-};
-
-template< typename T1, typename T2, typename T3, typename T4 >
-struct or_impl< false,T1,T2,T3,T4 >
- : or_impl<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
- , T2, T3, T4
- , false_
- >
-{
-};
-
-template<>
-struct or_impl<
- false
- , false_, false_, false_, false_
- >
- : false_
-{
-};
-
-} // namespace aux
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(T1)
- , typename BOOST_MPL_AUX_NA_PARAM(T2)
- , typename T3 = false_, typename T4 = false_, typename T5 = false_
- >
-struct or_
-
- : aux::or_impl<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
- , T2, T3, T4, T5
- >
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , or_
- , ( T1, T2, T3, T4, T5)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC2(
- 2
- , 5
- , or_
- )
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/mwcw/placeholders.hpp b/boost/mpl/aux_/preprocessed/mwcw/placeholders.hpp
deleted file mode 100644
index ff97364..0000000
--- a/boost/mpl/aux_/preprocessed/mwcw/placeholders.hpp
+++ /dev/null
@@ -1,105 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright Peter Dimov 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/placeholders.hpp" header
-// -- DO NOT modify by hand!
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg< -1 > _;
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
-}
-
-}}
-
-/// agurt, 17/mar/02: one more placeholder for the last 'apply#'
-/// specialization
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<1> _1;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<2> _2;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<3> _3;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<4> _4;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<5> _5;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<6> _6;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;
-}
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/mwcw/plus.hpp b/boost/mpl/aux_/preprocessed/mwcw/plus.hpp
deleted file mode 100644
index a9f6ee7..0000000
--- a/boost/mpl/aux_/preprocessed/mwcw/plus.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/plus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct plus_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct plus_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct plus_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct plus_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct plus_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct plus
- : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , plus
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct plus< N1,N2,N3,N4,na >
-
- : plus< plus< plus< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , plus
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct plus< N1,N2,N3,na,na >
-
- : plus< plus< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , plus
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct plus< N1,N2,na,na,na >
- : plus_impl<
- typename plus_tag<N1>::type
- , typename plus_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , plus
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, plus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct plus_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- + BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/mwcw/quote.hpp b/boost/mpl/aux_/preprocessed/mwcw/quote.hpp
deleted file mode 100644
index d7d0420..0000000
--- a/boost/mpl/aux_/preprocessed/mwcw/quote.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/quote.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template< typename T, bool has_type_ >
-struct quote_impl
- : T
-{
-};
-
-template< typename T >
-struct quote_impl< T,false >
-{
- typedef T type;
-};
-
-template<
- template< typename P1 > class F
- , typename Tag = void_
- >
-struct quote1
-{
- template< typename U1 > struct apply
-
- : quote_impl<
- F<U1>
- , aux::has_type< F<U1> >::value
- >
-
- {
- };
-};
-
-template<
- template< typename P1, typename P2 > class F
- , typename Tag = void_
- >
-struct quote2
-{
- template< typename U1, typename U2 > struct apply
-
- : quote_impl<
- F< U1,U2 >
- , aux::has_type< F< U1,U2 > >::value
- >
-
- {
- };
-};
-
-template<
- template< typename P1, typename P2, typename P3 > class F
- , typename Tag = void_
- >
-struct quote3
-{
- template< typename U1, typename U2, typename U3 > struct apply
-
- : quote_impl<
- F< U1,U2,U3 >
- , aux::has_type< F< U1,U2,U3 > >::value
- >
-
- {
- };
-};
-
-template<
- template< typename P1, typename P2, typename P3, typename P4 > class F
- , typename Tag = void_
- >
-struct quote4
-{
- template<
- typename U1, typename U2, typename U3, typename U4
- >
- struct apply
-
- : quote_impl<
- F< U1,U2,U3,U4 >
- , aux::has_type< F< U1,U2,U3,U4 > >::value
- >
-
- {
- };
-};
-
-template<
- template<
- typename P1, typename P2, typename P3, typename P4
- , typename P5
- >
- class F
- , typename Tag = void_
- >
-struct quote5
-{
- template<
- typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
- struct apply
-
- : quote_impl<
- F< U1,U2,U3,U4,U5 >
- , aux::has_type< F< U1,U2,U3,U4,U5 > >::value
- >
-
- {
- };
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/mwcw/reverse_fold_impl.hpp b/boost/mpl/aux_/preprocessed/mwcw/reverse_fold_impl.hpp
deleted file mode 100644
index c468684..0000000
--- a/boost/mpl/aux_/preprocessed/mwcw/reverse_fold_impl.hpp
+++ /dev/null
@@ -1,231 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
- long N
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl;
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef fwd_state0 bkwd_state0;
- typedef bkwd_state0 state;
- typedef iter0 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
-
-
- typedef fwd_state1 bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
- typedef bkwd_state0 state;
- typedef iter1 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
-
-
- typedef fwd_state2 bkwd_state2;
- typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter2 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
-
-
- typedef fwd_state3 bkwd_state3;
- typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
- typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter3 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef fwd_state4 bkwd_state4;
- typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;
- typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
- typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter4 iterator;
-};
-
-template<
- long N
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef reverse_fold_impl<
- ( (N - 4) < 0 ? 0 : N - 4 )
- , iter4
- , Last
- , fwd_state4
- , BackwardOp
- , ForwardOp
- > nested_chunk;
-
- typedef typename nested_chunk::state bkwd_state4;
- typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;
- typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
- typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef typename nested_chunk::iterator iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef reverse_fold_impl<
- -1
- , typename mpl::next<First>::type
- , Last
- , typename apply2<ForwardOp,State, typename deref<First>::type>::type
- , BackwardOp
- , ForwardOp
- > nested_step;
-
- typedef typename apply2<
- BackwardOp
- , typename nested_step::state
- , typename deref<First>::type
- >::type state;
-
- typedef typename nested_step::iterator iterator;
-};
-
-template<
- typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp >
-{
- typedef State state;
- typedef Last iterator;
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/mwcw/reverse_iter_fold_impl.hpp b/boost/mpl/aux_/preprocessed/mwcw/reverse_iter_fold_impl.hpp
deleted file mode 100644
index 658f92a..0000000
--- a/boost/mpl/aux_/preprocessed/mwcw/reverse_iter_fold_impl.hpp
+++ /dev/null
@@ -1,231 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
- long N
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl;
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef fwd_state0 bkwd_state0;
- typedef bkwd_state0 state;
- typedef iter0 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
-
-
- typedef fwd_state1 bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
- typedef bkwd_state0 state;
- typedef iter1 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
-
-
- typedef fwd_state2 bkwd_state2;
- typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter2 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
-
-
- typedef fwd_state3 bkwd_state3;
- typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
- typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter3 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef fwd_state4 bkwd_state4;
- typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;
- typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
- typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter4 iterator;
-};
-
-template<
- long N
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef reverse_iter_fold_impl<
- ( (N - 4) < 0 ? 0 : N - 4 )
- , iter4
- , Last
- , fwd_state4
- , BackwardOp
- , ForwardOp
- > nested_chunk;
-
- typedef typename nested_chunk::state bkwd_state4;
- typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;
- typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
- typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef typename nested_chunk::iterator iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef reverse_iter_fold_impl<
- -1
- , typename mpl::next<First>::type
- , Last
- , typename apply2< ForwardOp,State,First >::type
- , BackwardOp
- , ForwardOp
- > nested_step;
-
- typedef typename apply2<
- BackwardOp
- , typename nested_step::state
- , First
- >::type state;
-
- typedef typename nested_step::iterator iterator;
-};
-
-template<
- typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp >
-{
- typedef State state;
- typedef Last iterator;
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/mwcw/set.hpp b/boost/mpl/aux_/preprocessed/mwcw/set.hpp
deleted file mode 100644
index 5721922..0000000
--- a/boost/mpl/aux_/preprocessed/mwcw/set.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/set.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct set;
-
-template<
-
- >
-struct set<
- na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set0< >
-{
- typedef set0< >::type type;
-};
-
-template<
- typename T0
- >
-struct set<
- T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set1<T0>
-{
- typedef typename set1<T0>::type type;
-};
-
-template<
- typename T0, typename T1
- >
-struct set<
- T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set2< T0,T1 >
-{
- typedef typename set2< T0,T1 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct set<
- T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set3< T0,T1,T2 >
-{
- typedef typename set3< T0,T1,T2 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct set<
- T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set4< T0,T1,T2,T3 >
-{
- typedef typename set4< T0,T1,T2,T3 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct set<
- T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set5< T0,T1,T2,T3,T4 >
-{
- typedef typename set5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct set<
- T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set6< T0,T1,T2,T3,T4,T5 >
-{
- typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set7< T0,T1,T2,T3,T4,T5,T6 >
-{
- typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
- typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
- typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
- , na, na, na
- >
- : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
- typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
- , na, na, na
- >
- : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
- typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
- , na, na, na, na
- >
- : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
- typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
- , na, na, na, na
- >
- : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
- typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
- , na, na, na, na
- >
- : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
- typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
- , na, na, na, na
- >
- : set15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >
-{
- typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, na, na, na, na
- >
- : set16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15
- >
-{
- typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, na, na, na
- >
- : set17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16
- >
-{
- typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, na, na
- >
- : set18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17
- >
-{
- typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, na
- >
- : set19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18
- >
-{
- typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct set
- : set20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, T19
- >
-{
- typedef typename set20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/mwcw/set_c.hpp b/boost/mpl/aux_/preprocessed/mwcw/set_c.hpp
deleted file mode 100644
index cbeb932..0000000
--- a/boost/mpl/aux_/preprocessed/mwcw/set_c.hpp
+++ /dev/null
@@ -1,328 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/set_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
- , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
- , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
- , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
- , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
- , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
- , long C18 = LONG_MAX, long C19 = LONG_MAX
- >
-struct set_c;
-
-template<
- typename T
- >
-struct set_c<
- T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set0_c<T>
-{
- typedef typename set0_c<T>::type type;
-};
-
-template<
- typename T, long C0
- >
-struct set_c<
- T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set1_c< T,C0 >
-{
- typedef typename set1_c< T,C0 >::type type;
-};
-
-template<
- typename T, long C0, long C1
- >
-struct set_c<
- T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set2_c< T,C0,C1 >
-{
- typedef typename set2_c< T,C0,C1 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2
- >
-struct set_c<
- T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set3_c< T,C0,C1,C2 >
-{
- typedef typename set3_c< T,C0,C1,C2 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3
- >
-struct set_c<
- T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set4_c< T,C0,C1,C2,C3 >
-{
- typedef typename set4_c< T,C0,C1,C2,C3 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set5_c< T,C0,C1,C2,C3,C4 >
-{
- typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set6_c< T,C0,C1,C2,C3,C4,C5 >
-{
- typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set7_c< T,C0,C1,C2,C3,C4,C5,C6 >
-{
- typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX
- >
- : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >
-{
- typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >
-{
- typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >
-{
- typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >
-{
- typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >
-{
- typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >
-{
- typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set14_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- >
-{
- typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set15_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- >
-{
- typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set16_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15
- >
-{
- typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set17_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16
- >
-{
- typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, LONG_MAX, LONG_MAX
- >
- : set18_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17
- >
-{
- typedef typename set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18, LONG_MAX
- >
- : set19_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18
- >
-{
- typedef typename set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
-struct set_c
- : set20_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18, C19
- >
-{
- typedef typename set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/mwcw/shift_left.hpp b/boost/mpl/aux_/preprocessed/mwcw/shift_left.hpp
deleted file mode 100644
index b5b181c..0000000
--- a/boost/mpl/aux_/preprocessed/mwcw/shift_left.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// Preprocessed version of "boost/mpl/shift_left.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct shift_left_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct shift_left_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct shift_left_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct shift_left_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct shift_left_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct shift_left
-
- : shift_left_impl<
- typename shift_left_tag<N1>::type
- , typename shift_left_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct shift_left_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N, typename S > struct apply
-
- : integral_c<
- typename N::value_type
- , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
- << BOOST_MPL_AUX_VALUE_WKND(S)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/mwcw/shift_right.hpp b/boost/mpl/aux_/preprocessed/mwcw/shift_right.hpp
deleted file mode 100644
index f7a342e..0000000
--- a/boost/mpl/aux_/preprocessed/mwcw/shift_right.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// Preprocessed version of "boost/mpl/shift_right.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct shift_right_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct shift_right_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct shift_right_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct shift_right_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct shift_right_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct shift_right
-
- : shift_right_impl<
- typename shift_right_tag<N1>::type
- , typename shift_right_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct shift_right_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N, typename S > struct apply
-
- : integral_c<
- typename N::value_type
- , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
- >> BOOST_MPL_AUX_VALUE_WKND(S)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/mwcw/template_arity.hpp b/boost/mpl/aux_/preprocessed/mwcw/template_arity.hpp
deleted file mode 100644
index a23fc23..0000000
--- a/boost/mpl/aux_/preprocessed/mwcw/template_arity.hpp
+++ /dev/null
@@ -1,11 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header
-// -- DO NOT modify by hand!
-
diff --git a/boost/mpl/aux_/preprocessed/mwcw/times.hpp b/boost/mpl/aux_/preprocessed/mwcw/times.hpp
deleted file mode 100644
index cb97cc4..0000000
--- a/boost/mpl/aux_/preprocessed/mwcw/times.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/times.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct times_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct times_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct times_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct times_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct times_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct times
- : times< times< times< times< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , times
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct times< N1,N2,N3,N4,na >
-
- : times< times< times< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , times
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct times< N1,N2,N3,na,na >
-
- : times< times< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , times
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct times< N1,N2,na,na,na >
- : times_impl<
- typename times_tag<N1>::type
- , typename times_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , times
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, times)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct times_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- * BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/mwcw/unpack_args.hpp b/boost/mpl/aux_/preprocessed/mwcw/unpack_args.hpp
deleted file mode 100644
index 2194ce9..0000000
--- a/boost/mpl/aux_/preprocessed/mwcw/unpack_args.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/unpack_args.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< int size, typename F, typename Args >
-struct unpack_args_impl;
-
-template< typename F, typename Args >
-struct unpack_args_impl< 0,F,Args >
- : apply0<
- F
- >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 1,F,Args >
- : apply1<
- F
- , typename at_c< Args,0 >::type
- >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 2,F,Args >
- : apply2<
- F
- , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
- >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 3,F,Args >
- : apply3<
- F
- , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
- , typename at_c< Args,2 >::type
- >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 4,F,Args >
- : apply4<
- F
- , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
- , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
- >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 5,F,Args >
- : apply5<
- F
- , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
- , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
- , typename at_c< Args,4 >::type
- >
-{
-};
-
-}
-
-template<
- typename F
- >
-struct unpack_args
-{
- template< typename Args > struct apply
-
- : aux::unpack_args_impl< size<Args>::value,F, Args >
-
- {
- };
-};
-
-BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/mwcw/vector.hpp b/boost/mpl/aux_/preprocessed/mwcw/vector.hpp
deleted file mode 100644
index bfa9565..0000000
--- a/boost/mpl/aux_/preprocessed/mwcw/vector.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/vector.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct vector;
-
-template<
-
- >
-struct vector<
- na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector0< >
-{
- typedef vector0< >::type type;
-};
-
-template<
- typename T0
- >
-struct vector<
- T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector1<T0>
-{
- typedef typename vector1<T0>::type type;
-};
-
-template<
- typename T0, typename T1
- >
-struct vector<
- T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector2< T0,T1 >
-{
- typedef typename vector2< T0,T1 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct vector<
- T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector3< T0,T1,T2 >
-{
- typedef typename vector3< T0,T1,T2 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct vector<
- T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector4< T0,T1,T2,T3 >
-{
- typedef typename vector4< T0,T1,T2,T3 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct vector<
- T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector5< T0,T1,T2,T3,T4 >
-{
- typedef typename vector5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector6< T0,T1,T2,T3,T4,T5 >
-{
- typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector7< T0,T1,T2,T3,T4,T5,T6 >
-{
- typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
- typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
- typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
- typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
- , na, na, na
- >
- : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
- typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
- , na, na, na, na
- >
- : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
- typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
- , na, na, na, na
- >
- : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
- typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
- , na, na, na, na
- >
- : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
- typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
- , na, na, na, na
- >
- : vector15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >
-{
- typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, na, na, na, na
- >
- : vector16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15
- >
-{
- typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, na, na, na
- >
- : vector17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16
- >
-{
- typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, na, na
- >
- : vector18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17
- >
-{
- typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, na
- >
- : vector19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18
- >
-{
- typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct vector
- : vector20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, T19
- >
-{
- typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/mwcw/vector_c.hpp b/boost/mpl/aux_/preprocessed/mwcw/vector_c.hpp
deleted file mode 100644
index 0f1560d..0000000
--- a/boost/mpl/aux_/preprocessed/mwcw/vector_c.hpp
+++ /dev/null
@@ -1,309 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/vector_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
- , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
- , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
- , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
- , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
- , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
- , long C18 = LONG_MAX, long C19 = LONG_MAX
- >
-struct vector_c;
-
-template<
- typename T
- >
-struct vector_c<
- T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector0_c<T>
-{
- typedef typename vector0_c<T>::type type;
-};
-
-template<
- typename T, long C0
- >
-struct vector_c<
- T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector1_c< T, T(C0) >
-{
- typedef typename vector1_c< T, T(C0) >::type type;
-};
-
-template<
- typename T, long C0, long C1
- >
-struct vector_c<
- T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector2_c< T, T(C0), T(C1) >
-{
- typedef typename vector2_c< T, T(C0), T(C1) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2
- >
-struct vector_c<
- T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector3_c< T, T(C0), T(C1), T(C2) >
-{
- typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3
- >
-struct vector_c<
- T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector4_c< T, T(C0), T(C1), T(C2), T(C3) >
-{
- typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >
-{
- typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >
-{
- typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >
-{
- typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX
- >
- : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >
-{
- typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >
-{
- typedef typename vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >
-{
- typedef typename vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >
-{
- typedef typename vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >
-{
- typedef typename vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >
-{
- typedef typename vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >
-{
- typedef typename vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >
-{
- typedef typename vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >
-{
- typedef typename vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >
-{
- typedef typename vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, LONG_MAX, LONG_MAX
- >
- : vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >
-{
- typedef typename vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18, LONG_MAX
- >
- : vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >
-{
- typedef typename vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
-struct vector_c
- : vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >
-{
- typedef typename vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/no_ctps/advance_backward.hpp b/boost/mpl/aux_/preprocessed/no_ctps/advance_backward.hpp
deleted file mode 100644
index 26de94c..0000000
--- a/boost/mpl/aux_/preprocessed/no_ctps/advance_backward.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< long N > struct advance_backward;
-template<>
-struct advance_backward<0>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef iter0 type;
- };
-};
-
-template<>
-struct advance_backward<1>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename prior<iter0>::type iter1;
- typedef iter1 type;
- };
-};
-
-template<>
-struct advance_backward<2>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename prior<iter0>::type iter1;
- typedef typename prior<iter1>::type iter2;
- typedef iter2 type;
- };
-};
-
-template<>
-struct advance_backward<3>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename prior<iter0>::type iter1;
- typedef typename prior<iter1>::type iter2;
- typedef typename prior<iter2>::type iter3;
- typedef iter3 type;
- };
-};
-
-template<>
-struct advance_backward<4>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename prior<iter0>::type iter1;
- typedef typename prior<iter1>::type iter2;
- typedef typename prior<iter2>::type iter3;
- typedef typename prior<iter3>::type iter4;
- typedef iter4 type;
- };
-};
-
-template< long N >
-struct advance_backward
-{
- template< typename Iterator > struct apply
- {
- typedef typename apply_wrap1<
- advance_backward<4>
- , Iterator
- >::type chunk_result_;
-
- typedef typename apply_wrap1<
- advance_backward<(
- (N - 4) < 0
- ? 0
- : N - 4
- )>
- , chunk_result_
- >::type type;
- };
-};
-
-}}}
-
diff --git a/boost/mpl/aux_/preprocessed/no_ctps/advance_forward.hpp b/boost/mpl/aux_/preprocessed/no_ctps/advance_forward.hpp
deleted file mode 100644
index b137cc7..0000000
--- a/boost/mpl/aux_/preprocessed/no_ctps/advance_forward.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< long N > struct advance_forward;
-template<>
-struct advance_forward<0>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef iter0 type;
- };
-};
-
-template<>
-struct advance_forward<1>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename next<iter0>::type iter1;
- typedef iter1 type;
- };
-};
-
-template<>
-struct advance_forward<2>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename next<iter0>::type iter1;
- typedef typename next<iter1>::type iter2;
- typedef iter2 type;
- };
-};
-
-template<>
-struct advance_forward<3>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename next<iter0>::type iter1;
- typedef typename next<iter1>::type iter2;
- typedef typename next<iter2>::type iter3;
- typedef iter3 type;
- };
-};
-
-template<>
-struct advance_forward<4>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename next<iter0>::type iter1;
- typedef typename next<iter1>::type iter2;
- typedef typename next<iter2>::type iter3;
- typedef typename next<iter3>::type iter4;
- typedef iter4 type;
- };
-};
-
-template< long N >
-struct advance_forward
-{
- template< typename Iterator > struct apply
- {
- typedef typename apply_wrap1<
- advance_forward<4>
- , Iterator
- >::type chunk_result_;
-
- typedef typename apply_wrap1<
- advance_forward<(
- (N - 4) < 0
- ? 0
- : N - 4
- )>
- , chunk_result_
- >::type type;
- };
-};
-
-}}}
-
diff --git a/boost/mpl/aux_/preprocessed/no_ctps/and.hpp b/boost/mpl/aux_/preprocessed/no_ctps/and.hpp
deleted file mode 100644
index 555c800..0000000
--- a/boost/mpl/aux_/preprocessed/no_ctps/and.hpp
+++ /dev/null
@@ -1,73 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/and.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< bool C_ > struct and_impl
-{
- template<
- typename T1, typename T2, typename T3, typename T4
- >
- struct result_
- : false_
- {
- };
-};
-
-template<> struct and_impl<true>
-{
- template<
- typename T1, typename T2, typename T3, typename T4
- >
- struct result_
- : and_impl<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
- >::template result_< T2,T3,T4,true_ >
- {
- };
-};
-
-template<>
-struct and_impl<true>
- ::result_< true_,true_,true_,true_ >
- : true_
-{
-};
-
-} // namespace aux
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(T1)
- , typename BOOST_MPL_AUX_NA_PARAM(T2)
- , typename T3 = true_, typename T4 = true_, typename T5 = true_
- >
-struct and_
-
- : aux::and_impl<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
- >::template result_< T2,T3,T4,T5 >
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , and_
- , ( T1, T2, T3, T4, T5)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC2(
- 2
- , 5
- , and_
- )
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/no_ctps/apply.hpp b/boost/mpl/aux_/preprocessed/no_ctps/apply.hpp
deleted file mode 100644
index 9838e79..0000000
--- a/boost/mpl/aux_/preprocessed/no_ctps/apply.hpp
+++ /dev/null
@@ -1,268 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/apply.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename F
- >
-struct apply0
-
- : apply_wrap0<
- typename lambda<F>::type
-
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 1
- , apply0
- , (F )
- )
-};
-
-namespace aux {
-
-template<>
-struct apply_chooser<0>
-{
- template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
- struct result_
- {
- typedef apply0<
- F
- > type;
- };
-};
-
-} // namespace aux
-
-template<
- typename F, typename T1
- >
-struct apply1
-
- : apply_wrap1<
- typename lambda<F>::type
- , T1
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 2
- , apply1
- , (F, T1)
- )
-};
-
-namespace aux {
-
-template<>
-struct apply_chooser<1>
-{
- template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
- struct result_
- {
- typedef apply1<
- F, T1
- > type;
- };
-};
-
-} // namespace aux
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply2
-
- : apply_wrap2<
- typename lambda<F>::type
- , T1, T2
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 3
- , apply2
- , (F, T1, T2)
- )
-};
-
-namespace aux {
-
-template<>
-struct apply_chooser<2>
-{
- template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
- struct result_
- {
- typedef apply2<
- F, T1, T2
- > type;
- };
-};
-
-} // namespace aux
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply3
-
- : apply_wrap3<
- typename lambda<F>::type
- , T1, T2, T3
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 4
- , apply3
- , (F, T1, T2, T3)
- )
-};
-
-namespace aux {
-
-template<>
-struct apply_chooser<3>
-{
- template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
- struct result_
- {
- typedef apply3<
- F, T1, T2, T3
- > type;
- };
-};
-
-} // namespace aux
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply4
-
- : apply_wrap4<
- typename lambda<F>::type
- , T1, T2, T3, T4
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , apply4
- , (F, T1, T2, T3, T4)
- )
-};
-
-namespace aux {
-
-template<>
-struct apply_chooser<4>
-{
- template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
- struct result_
- {
- typedef apply4<
- F, T1, T2, T3, T4
- > type;
- };
-};
-
-} // namespace aux
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct apply5
-
- : apply_wrap5<
- typename lambda<F>::type
- , T1, T2, T3, T4, T5
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 6
- , apply5
- , (F, T1, T2, T3, T4, T5)
- )
-};
-
-namespace aux {
-
-template<>
-struct apply_chooser<5>
-{
- template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
- struct result_
- {
- typedef apply5<
- F, T1, T2, T3, T4, T5
- > type;
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< typename T >
-struct is_apply_arg
-{
- static bool const value = true;
-};
-
-template<>
-struct is_apply_arg<na>
-{
- static bool const value = false;
-};
-
-template<
- typename T1, typename T2, typename T3, typename T4, typename T5
- >
-struct apply_count_args
-{
- static int const value = is_apply_arg<T1>::value + is_apply_arg<T2>::value + is_apply_arg<T3>::value + is_apply_arg<T4>::value + is_apply_arg<T5>::value;
-
-};
-
-}
-
-template<
- typename F, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na
- >
-struct apply
- : aux::apply_chooser<
- aux::apply_count_args< T1,T2,T3,T4,T5 >::value
- >::template result_< F,T1,T2,T3,T4,T5 >::type
-{
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/no_ctps/apply_fwd.hpp b/boost/mpl/aux_/preprocessed/no_ctps/apply_fwd.hpp
deleted file mode 100644
index 7de6dad..0000000
--- a/boost/mpl/aux_/preprocessed/no_ctps/apply_fwd.hpp
+++ /dev/null
@@ -1,50 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/apply_fwd.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< BOOST_AUX_NTTP_DECL(int, arity_) > struct apply_chooser;
-}
-
-template<
- typename F
- >
-struct apply0;
-
-template<
- typename F, typename T1
- >
-struct apply1;
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply2;
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply3;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply4;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct apply5;
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/no_ctps/apply_wrap.hpp b/boost/mpl/aux_/preprocessed/no_ctps/apply_wrap.hpp
deleted file mode 100644
index efa213d..0000000
--- a/boost/mpl/aux_/preprocessed/no_ctps/apply_wrap.hpp
+++ /dev/null
@@ -1,78 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/apply_wrap.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename F
-
- , typename has_apply_ = typename aux::has_apply<F>::type
-
- >
-struct apply_wrap0
-
- : F::template apply< >
-{
-};
-
-template<
- typename F, typename T1
-
- >
-struct apply_wrap1
-
- : F::template apply<T1>
-{
-};
-
-template<
- typename F, typename T1, typename T2
-
- >
-struct apply_wrap2
-
- : F::template apply< T1,T2 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
-
- >
-struct apply_wrap3
-
- : F::template apply< T1,T2,T3 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
-
- >
-struct apply_wrap4
-
- : F::template apply< T1,T2,T3,T4 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
-
- >
-struct apply_wrap5
-
- : F::template apply< T1,T2,T3,T4,T5 >
-{
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/no_ctps/arg.hpp b/boost/mpl/aux_/preprocessed/no_ctps/arg.hpp
deleted file mode 100644
index 6f2f8a8..0000000
--- a/boost/mpl/aux_/preprocessed/no_ctps/arg.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-
-// Copyright Peter Dimov 2001-2002
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/arg.hpp" header
-// -- DO NOT modify by hand!
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-template<> struct arg< -1 >
-{
- BOOST_STATIC_CONSTANT(int, value = -1);
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U1 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<1>
-{
- BOOST_STATIC_CONSTANT(int, value = 1);
- typedef arg<2> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U1 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<2>
-{
- BOOST_STATIC_CONSTANT(int, value = 2);
- typedef arg<3> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U2 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<3>
-{
- BOOST_STATIC_CONSTANT(int, value = 3);
- typedef arg<4> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U3 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<4>
-{
- BOOST_STATIC_CONSTANT(int, value = 4);
- typedef arg<5> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U4 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<5>
-{
- BOOST_STATIC_CONSTANT(int, value = 5);
- typedef arg<6> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U5 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
diff --git a/boost/mpl/aux_/preprocessed/no_ctps/basic_bind.hpp b/boost/mpl/aux_/preprocessed/no_ctps/basic_bind.hpp
deleted file mode 100644
index 254e5b8..0000000
--- a/boost/mpl/aux_/preprocessed/no_ctps/basic_bind.hpp
+++ /dev/null
@@ -1,486 +0,0 @@
-
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< bool >
-struct resolve_arg_impl
-{
- template<
- typename T, typename U1, typename U2, typename U3
- , typename U4, typename U5
- >
- struct result_
- {
- typedef T type;
- };
-};
-
-template<>
-struct resolve_arg_impl<true>
-{
- template<
- typename T, typename U1, typename U2, typename U3
- , typename U4, typename U5
- >
- struct result_
- {
- typedef typename apply_wrap5<
- T
- , U1, U2, U3, U4, U5
- >::type type;
- };
-};
-
-template< typename T > struct is_bind_template;
-
-template<
- typename T, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg
- : resolve_arg_impl< is_bind_template<T>::value >
- ::template result_< T,U1,U2,U3,U4,U5 >
-{
-};
-
-template< int arity_ > struct bind_chooser;
-
-aux::no_tag is_bind_helper(...);
-template< typename T > aux::no_tag is_bind_helper(protect<T>*);
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-aux::yes_tag is_bind_helper(bind< F,T1,T2,T3,T4,T5 >*);
-
-template< int N >
-aux::yes_tag is_bind_helper(arg<N>*);
-
-template< bool is_ref_ = true >
-struct is_bind_template_impl
-{
- template< typename T > struct result_
- {
- BOOST_STATIC_CONSTANT(bool, value = false);
- };
-};
-
-template<>
-struct is_bind_template_impl<false>
-{
- template< typename T > struct result_
- {
- BOOST_STATIC_CONSTANT(bool, value =
- sizeof(aux::is_bind_helper(static_cast<T*>(0)))
- == sizeof(aux::yes_tag)
- );
- };
-};
-
-template< typename T > struct is_bind_template
- : is_bind_template_impl< ::boost::detail::is_reference_impl<T>::value >
- ::template result_<T>
-{
-};
-
-} // namespace aux
-
-template<
- typename F
- >
-struct bind0
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-
- public:
- typedef typename apply_wrap0<
- f_
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F
- >
-aux::yes_tag
-is_bind_helper(bind0<F>*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
-
-namespace aux {
-
-template<>
-struct bind_chooser<0>
-{
- template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
- struct result_
- {
- typedef bind0<F> type;
- };
-};
-
-} // namespace aux
-
-template<
- typename F, typename T1
- >
-struct bind1
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-
- public:
- typedef typename apply_wrap1<
- f_
- , typename t1::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1
- >
-aux::yes_tag
-is_bind_helper(bind1< F,T1 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
-
-namespace aux {
-
-template<>
-struct bind_chooser<1>
-{
- template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
- struct result_
- {
- typedef bind1< F,T1 > type;
- };
-};
-
-} // namespace aux
-
-template<
- typename F, typename T1, typename T2
- >
-struct bind2
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-
- public:
- typedef typename apply_wrap2<
- f_
- , typename t1::type, typename t2::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2
- >
-aux::yes_tag
-is_bind_helper(bind2< F,T1,T2 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
-
-namespace aux {
-
-template<>
-struct bind_chooser<2>
-{
- template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
- struct result_
- {
- typedef bind2< F,T1,T2 > type;
- };
-};
-
-} // namespace aux
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct bind3
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
- typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-
- public:
- typedef typename apply_wrap3<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-aux::yes_tag
-is_bind_helper(bind3< F,T1,T2,T3 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
-
-namespace aux {
-
-template<>
-struct bind_chooser<3>
-{
- template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
- struct result_
- {
- typedef bind3< F,T1,T2,T3 > type;
- };
-};
-
-} // namespace aux
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct bind4
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
- typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
- typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
-
- public:
- typedef typename apply_wrap4<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- , typename t4::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-aux::yes_tag
-is_bind_helper(bind4< F,T1,T2,T3,T4 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
-
-namespace aux {
-
-template<>
-struct bind_chooser<4>
-{
- template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
- struct result_
- {
- typedef bind4< F,T1,T2,T3,T4 > type;
- };
-};
-
-} // namespace aux
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct bind5
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
- typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
- typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
- typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5;
-
- public:
- typedef typename apply_wrap5<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- , typename t4::type, typename t5::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-aux::yes_tag
-is_bind_helper(bind5< F,T1,T2,T3,T4,T5 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
-
-namespace aux {
-
-template<>
-struct bind_chooser<5>
-{
- template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
- struct result_
- {
- typedef bind5< F,T1,T2,T3,T4,T5 > type;
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< typename T >
-struct is_bind_arg
-{
- BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template<>
-struct is_bind_arg<na>
-{
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template<
- typename T1, typename T2, typename T3, typename T4, typename T5
- >
-struct bind_count_args
-{
- BOOST_STATIC_CONSTANT(int, value =
- is_bind_arg<T1>::value + is_bind_arg<T2>::value
- + is_bind_arg<T3>::value + is_bind_arg<T4>::value
- + is_bind_arg<T5>::value
- );
-
-};
-
-}
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct bind
- : aux::bind_chooser<
- aux::bind_count_args< T1,T2,T3,T4,T5 >::value
- >::template result_< F,T1,T2,T3,T4,T5 >::type
-{
-};
-
-BOOST_MPL_AUX_ARITY_SPEC(
- 6
- , bind
- )
-
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(
- 6
- , bind
- )
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/no_ctps/bind.hpp b/boost/mpl/aux_/preprocessed/no_ctps/bind.hpp
deleted file mode 100644
index 12062b4..0000000
--- a/boost/mpl/aux_/preprocessed/no_ctps/bind.hpp
+++ /dev/null
@@ -1,590 +0,0 @@
-
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/bind.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< bool >
-struct resolve_arg_impl
-{
- template<
- typename T, typename U1, typename U2, typename U3
- , typename U4, typename U5
- >
- struct result_
- {
- typedef T type;
- };
-};
-
-template<>
-struct resolve_arg_impl<true>
-{
- template<
- typename T, typename U1, typename U2, typename U3
- , typename U4, typename U5
- >
- struct result_
- {
- typedef typename apply_wrap5<
- T
- , U1, U2, U3, U4, U5
- >::type type;
- };
-};
-
-template< typename T > struct is_bind_template;
-
-template<
- typename T, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg
- : resolve_arg_impl< is_bind_template<T>::value >
- ::template result_< T,U1,U2,U3,U4,U5 >
-{
-};
-
-template< typename T >
-struct replace_unnamed_arg_impl
-{
- template< typename Arg > struct result_
- {
- typedef Arg next;
- typedef T type;
- };
-};
-
-template<>
-struct replace_unnamed_arg_impl< arg< -1 > >
-{
- template< typename Arg > struct result_
- {
- typedef typename next<Arg>::type next;
- typedef Arg type;
- };
-};
-
-template< typename T, typename Arg >
-struct replace_unnamed_arg
- : replace_unnamed_arg_impl<T>::template result_<Arg>
-{
-};
-
-template< int arity_ > struct bind_chooser;
-
-aux::no_tag is_bind_helper(...);
-template< typename T > aux::no_tag is_bind_helper(protect<T>*);
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-aux::yes_tag is_bind_helper(bind< F,T1,T2,T3,T4,T5 >*);
-
-template< int N >
-aux::yes_tag is_bind_helper(arg<N>*);
-
-template< bool is_ref_ = true >
-struct is_bind_template_impl
-{
- template< typename T > struct result_
- {
- BOOST_STATIC_CONSTANT(bool, value = false);
- };
-};
-
-template<>
-struct is_bind_template_impl<false>
-{
- template< typename T > struct result_
- {
- BOOST_STATIC_CONSTANT(bool, value =
- sizeof(aux::is_bind_helper(static_cast<T*>(0)))
- == sizeof(aux::yes_tag)
- );
- };
-};
-
-template< typename T > struct is_bind_template
- : is_bind_template_impl< ::boost::detail::is_reference_impl<T>::value >
- ::template result_<T>
-{
-};
-
-} // namespace aux
-
-template<
- typename F
- >
-struct bind0
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- public:
- typedef typename apply_wrap0<
- f_
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F
- >
-aux::yes_tag
-is_bind_helper(bind0<F>*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
-
-namespace aux {
-
-template<>
-struct bind_chooser<0>
-{
- template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
- struct result_
- {
- typedef bind0<F> type;
- };
-};
-
-} // namespace aux
-
-template<
- typename F, typename T1
- >
-struct bind1
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- public:
- typedef typename apply_wrap1<
- f_
- , typename t1::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1
- >
-aux::yes_tag
-is_bind_helper(bind1< F,T1 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
-
-namespace aux {
-
-template<>
-struct bind_chooser<1>
-{
- template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
- struct result_
- {
- typedef bind1< F,T1 > type;
- };
-};
-
-} // namespace aux
-
-template<
- typename F, typename T1, typename T2
- >
-struct bind2
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- public:
- typedef typename apply_wrap2<
- f_
- , typename t1::type, typename t2::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2
- >
-aux::yes_tag
-is_bind_helper(bind2< F,T1,T2 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
-
-namespace aux {
-
-template<>
-struct bind_chooser<2>
-{
- template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
- struct result_
- {
- typedef bind2< F,T1,T2 > type;
- };
-};
-
-} // namespace aux
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct bind3
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- typedef aux::replace_unnamed_arg< T3,n3 > r3;
- typedef typename r3::type a3;
- typedef typename r3::next n4;
- typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
- ///
- public:
- typedef typename apply_wrap3<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-aux::yes_tag
-is_bind_helper(bind3< F,T1,T2,T3 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
-
-namespace aux {
-
-template<>
-struct bind_chooser<3>
-{
- template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
- struct result_
- {
- typedef bind3< F,T1,T2,T3 > type;
- };
-};
-
-} // namespace aux
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct bind4
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- typedef aux::replace_unnamed_arg< T3,n3 > r3;
- typedef typename r3::type a3;
- typedef typename r3::next n4;
- typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
- ///
- typedef aux::replace_unnamed_arg< T4,n4 > r4;
- typedef typename r4::type a4;
- typedef typename r4::next n5;
- typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
- ///
- public:
- typedef typename apply_wrap4<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- , typename t4::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-aux::yes_tag
-is_bind_helper(bind4< F,T1,T2,T3,T4 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
-
-namespace aux {
-
-template<>
-struct bind_chooser<4>
-{
- template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
- struct result_
- {
- typedef bind4< F,T1,T2,T3,T4 > type;
- };
-};
-
-} // namespace aux
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct bind5
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- typedef aux::replace_unnamed_arg< T3,n3 > r3;
- typedef typename r3::type a3;
- typedef typename r3::next n4;
- typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
- ///
- typedef aux::replace_unnamed_arg< T4,n4 > r4;
- typedef typename r4::type a4;
- typedef typename r4::next n5;
- typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
- ///
- typedef aux::replace_unnamed_arg< T5,n5 > r5;
- typedef typename r5::type a5;
- typedef typename r5::next n6;
- typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5;
- ///
- public:
- typedef typename apply_wrap5<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- , typename t4::type, typename t5::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-aux::yes_tag
-is_bind_helper(bind5< F,T1,T2,T3,T4,T5 >*);
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
-
-namespace aux {
-
-template<>
-struct bind_chooser<5>
-{
- template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
- struct result_
- {
- typedef bind5< F,T1,T2,T3,T4,T5 > type;
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< typename T >
-struct is_bind_arg
-{
- BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template<>
-struct is_bind_arg<na>
-{
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template<
- typename T1, typename T2, typename T3, typename T4, typename T5
- >
-struct bind_count_args
-{
- BOOST_STATIC_CONSTANT(int, value =
- is_bind_arg<T1>::value + is_bind_arg<T2>::value
- + is_bind_arg<T3>::value + is_bind_arg<T4>::value
- + is_bind_arg<T5>::value
- );
-
-};
-
-}
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct bind
- : aux::bind_chooser<
- aux::bind_count_args< T1,T2,T3,T4,T5 >::value
- >::template result_< F,T1,T2,T3,T4,T5 >::type
-{
-};
-
-BOOST_MPL_AUX_ARITY_SPEC(
- 6
- , bind
- )
-
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(
- 6
- , bind
- )
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/no_ctps/bind_fwd.hpp b/boost/mpl/aux_/preprocessed/no_ctps/bind_fwd.hpp
deleted file mode 100644
index c4a5060..0000000
--- a/boost/mpl/aux_/preprocessed/no_ctps/bind_fwd.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/bind_fwd.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename F, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na
- >
-struct bind;
-
-template<
- typename F
- >
-struct bind0;
-
-template<
- typename F, typename T1
- >
-struct bind1;
-
-template<
- typename F, typename T1, typename T2
- >
-struct bind2;
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct bind3;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct bind4;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct bind5;
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/no_ctps/bitand.hpp b/boost/mpl/aux_/preprocessed/no_ctps/bitand.hpp
deleted file mode 100644
index 020d6ba..0000000
--- a/boost/mpl/aux_/preprocessed/no_ctps/bitand.hpp
+++ /dev/null
@@ -1,134 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// Preprocessed version of "boost/mpl/bitand.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct bitand_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitand_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct bitand_impl< na,integral_c_tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct bitand_impl< integral_c_tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct bitand_tag
-{
- typedef typename T::tag type;
-};
-
-/// forward declaration
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct bitand_2;
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct bitand_
-
- : if_<
-
- is_na<N3>
- , bitand_2< N1,N2 >
- , bitand_<
- bitand_2< N1,N2 >
- , N3, N4, N5
- >
- >::type
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , bitand_
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1
- , typename N2
- >
-struct bitand_2
- : bitand_impl<
- typename bitand_tag<N1>::type
- , typename bitand_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitand_2, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitand_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- & BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/no_ctps/bitor.hpp b/boost/mpl/aux_/preprocessed/no_ctps/bitor.hpp
deleted file mode 100644
index 0474877..0000000
--- a/boost/mpl/aux_/preprocessed/no_ctps/bitor.hpp
+++ /dev/null
@@ -1,134 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// Preprocessed version of "boost/mpl/bitor.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct bitor_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitor_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct bitor_impl< na,integral_c_tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct bitor_impl< integral_c_tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct bitor_tag
-{
- typedef typename T::tag type;
-};
-
-/// forward declaration
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct bitor_2;
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct bitor_
-
- : if_<
-
- is_na<N3>
- , bitor_2< N1,N2 >
- , bitor_<
- bitor_2< N1,N2 >
- , N3, N4, N5
- >
- >::type
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , bitor_
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1
- , typename N2
- >
-struct bitor_2
- : bitor_impl<
- typename bitor_tag<N1>::type
- , typename bitor_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitor_2, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitor_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- | BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp b/boost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp
deleted file mode 100644
index 42a9758..0000000
--- a/boost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp
+++ /dev/null
@@ -1,134 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// Preprocessed version of "boost/mpl/bitxor.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct bitxor_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitxor_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct bitxor_impl< na,integral_c_tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct bitxor_impl< integral_c_tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct bitxor_tag
-{
- typedef typename T::tag type;
-};
-
-/// forward declaration
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct bitxor_2;
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct bitxor_
-
- : if_<
-
- is_na<N3>
- , bitxor_2< N1,N2 >
- , bitxor_<
- bitxor_2< N1,N2 >
- , N3, N4, N5
- >
- >::type
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , bitxor_
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1
- , typename N2
- >
-struct bitxor_2
- : bitxor_impl<
- typename bitxor_tag<N1>::type
- , typename bitxor_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitxor_2, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitxor_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/no_ctps/deque.hpp b/boost/mpl/aux_/preprocessed/no_ctps/deque.hpp
deleted file mode 100644
index a0445d9..0000000
--- a/boost/mpl/aux_/preprocessed/no_ctps/deque.hpp
+++ /dev/null
@@ -1,556 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/deque.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< int N >
-struct deque_chooser;
-
-}
-
-namespace aux {
-
-template<>
-struct deque_chooser<0>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef vector0<
-
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<1>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector1<
- T0
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<2>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector2<
- T0, T1
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<3>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector3<
- T0, T1, T2
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<4>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector4<
- T0, T1, T2, T3
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<5>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector5<
- T0, T1, T2, T3, T4
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<6>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector6<
- T0, T1, T2, T3, T4, T5
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<7>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector7<
- T0, T1, T2, T3, T4, T5, T6
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<8>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector8<
- T0, T1, T2, T3, T4, T5, T6, T7
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<9>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector9<
- T0, T1, T2, T3, T4, T5, T6, T7, T8
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<10>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector10<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<11>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector11<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<12>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector12<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<13>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector13<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<14>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector14<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<15>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<16>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<17>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<18>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<19>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct deque_chooser<20>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< typename T >
-struct is_deque_arg
-{
- BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template<>
-struct is_deque_arg<na>
-{
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template<
- typename T1, typename T2, typename T3, typename T4, typename T5
- , typename T6, typename T7, typename T8, typename T9, typename T10
- , typename T11, typename T12, typename T13, typename T14, typename T15
- , typename T16, typename T17, typename T18, typename T19, typename T20
- >
-struct deque_count_args
-{
- BOOST_STATIC_CONSTANT(int, value =
- is_deque_arg<T1>::value + is_deque_arg<T2>::value
- + is_deque_arg<T3>::value + is_deque_arg<T4>::value
- + is_deque_arg<T5>::value + is_deque_arg<T6>::value
- + is_deque_arg<T7>::value + is_deque_arg<T8>::value
- + is_deque_arg<T9>::value + is_deque_arg<T10>::value
- + is_deque_arg<T11>::value + is_deque_arg<T12>::value
- + is_deque_arg<T13>::value + is_deque_arg<T14>::value
- + is_deque_arg<T15>::value + is_deque_arg<T16>::value
- + is_deque_arg<T17>::value + is_deque_arg<T18>::value
- + is_deque_arg<T19>::value + is_deque_arg<T20>::value
- );
-
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct deque_impl
-{
- typedef aux::deque_count_args<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- > arg_num_;
-
- typedef typename aux::deque_chooser< arg_num_::value >
- ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-} // namespace aux
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct deque
- : aux::deque_impl<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- >::type
-{
- typedef typename aux::deque_impl<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/no_ctps/divides.hpp b/boost/mpl/aux_/preprocessed/no_ctps/divides.hpp
deleted file mode 100644
index 00636dc..0000000
--- a/boost/mpl/aux_/preprocessed/no_ctps/divides.hpp
+++ /dev/null
@@ -1,133 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/divides.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct divides_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct divides_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct divides_impl< na,integral_c_tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct divides_impl< integral_c_tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct divides_tag
-{
- typedef typename T::tag type;
-};
-
-/// forward declaration
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct divides2;
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct divides
-
- : if_<
-
- is_na<N3>
- , divides2< N1,N2 >
- , divides<
- divides2< N1,N2 >
- , N3, N4, N5
- >
- >::type
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , divides
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1
- , typename N2
- >
-struct divides2
- : divides_impl<
- typename divides_tag<N1>::type
- , typename divides_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, divides2, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, divides)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct divides_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- / BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/no_ctps/equal_to.hpp b/boost/mpl/aux_/preprocessed/no_ctps/equal_to.hpp
deleted file mode 100644
index b14cdda..0000000
--- a/boost/mpl/aux_/preprocessed/no_ctps/equal_to.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/equal_to.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct equal_to_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct equal_to_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct equal_to_impl< na,integral_c_tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct equal_to_impl< integral_c_tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct equal_to_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct equal_to
-
- : equal_to_impl<
- typename equal_to_tag<N1>::type
- , typename equal_to_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct equal_to_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/no_ctps/fold_impl.hpp b/boost/mpl/aux_/preprocessed/no_ctps/fold_impl.hpp
deleted file mode 100644
index 58066d8..0000000
--- a/boost/mpl/aux_/preprocessed/no_ctps/fold_impl.hpp
+++ /dev/null
@@ -1,245 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
- int N
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl;
-
-template< int N >
-struct fold_chunk;
-
-template<> struct fold_chunk<0>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State state0;
- typedef state0 state;
- typedef iter0 iterator;
- };
-};
-
-template<> struct fold_chunk<1>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
-
-
- typedef state1 state;
- typedef iter1 iterator;
- };
-};
-
-template<> struct fold_chunk<2>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
-
-
- typedef state2 state;
- typedef iter2 iterator;
- };
-};
-
-template<> struct fold_chunk<3>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
- typedef typename mpl::next<iter2>::type iter3;
-
-
- typedef state3 state;
- typedef iter3 iterator;
- };
-};
-
-template<> struct fold_chunk<4>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp, state3, typename deref<iter3>::type >::type state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef state4 state;
- typedef iter4 iterator;
- };
-};
-
-template< int N >
-struct fold_chunk
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
- struct result_
- {
- typedef fold_impl<
- 4
- , First
- , Last
- , State
- , ForwardOp
- > chunk_;
-
- typedef fold_impl<
- ( (N - 4) < 0 ? 0 : N - 4 )
- , typename chunk_::iterator
- , Last
- , typename chunk_::state
- , ForwardOp
- > res_;
-
- typedef typename res_::state state;
- typedef typename res_::iterator iterator;
- };
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_step;
-
-template<
- typename Last
- , typename State
- >
-struct fold_null_step
-{
- typedef Last iterator;
- typedef State state;
-};
-
-template<>
-struct fold_chunk< -1 >
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
- struct result_
- {
- typedef typename if_<
- typename is_same< First,Last >::type
- , fold_null_step< Last,State >
- , fold_step< First,Last,State,ForwardOp >
- >::type res_;
-
- typedef typename res_::state state;
- typedef typename res_::iterator iterator;
- };
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_step
-{
- typedef fold_chunk< -1 >::template result_<
- typename mpl::next<First>::type
- , Last
- , typename apply2<ForwardOp,State, typename deref<First>::type>::type
- , ForwardOp
- > chunk_;
-
- typedef typename chunk_::state state;
- typedef typename chunk_::iterator iterator;
-};
-
-template<
- int N
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl
- : fold_chunk<N>
- ::template result_< First,Last,State,ForwardOp >
-{
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/no_ctps/full_lambda.hpp b/boost/mpl/aux_/preprocessed/no_ctps/full_lambda.hpp
deleted file mode 100644
index bf81873..0000000
--- a/boost/mpl/aux_/preprocessed/no_ctps/full_lambda.hpp
+++ /dev/null
@@ -1,554 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
- bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
- , bool C5 = false
- >
-struct lambda_or
- : true_
-{
-};
-
-template<>
-struct lambda_or< false,false,false,false,false >
- : false_
-{
-};
-
-} // namespace aux
-
-template<
- typename T
- , typename Tag
-
- >
-struct lambda
-{
- typedef false_ is_le;
- typedef T result_;
- typedef T type;
-};
-
-template<
- typename T
- >
-struct is_lambda_expression
- : lambda<T>::is_le
-{
-};
-
-template< int N, typename Tag >
-struct lambda< arg<N>, Tag >
-{
- typedef true_ is_le;
- typedef mpl::arg<N> result_; // qualified for the sake of MIPSpro 7.41
- typedef mpl::protect<result_> type;
-};
-
-template<
- typename F
- , typename Tag
- >
-struct lambda<
- bind0<F>
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind0<
- F
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1 > class F
- , typename L1
- >
-struct le_result1
-{
- typedef F<
- typename L1::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1 > class F
- , typename L1
- >
-struct le_result1< true_,Tag,F,L1 >
-{
- typedef bind1<
- quote1< F,Tag >
- , typename L1::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template< typename P1 > class F
- , typename T1
- , typename Tag
- >
-struct lambda<
- F<T1>
- , Tag
-
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef typename l1::is_le is_le1;
- typedef typename aux::lambda_or<
- is_le1::value
- >::type is_le;
-
- typedef aux::le_result1<
- is_le, Tag, F, l1
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1
- , typename Tag
- >
-struct lambda<
- bind1< F,T1 >
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind1<
- F
- , T1
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1, typename P2 > class F
- , typename L1, typename L2
- >
-struct le_result2
-{
- typedef F<
- typename L1::type, typename L2::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1, typename P2 > class F
- , typename L1, typename L2
- >
-struct le_result2< true_,Tag,F,L1,L2 >
-{
- typedef bind2<
- quote2< F,Tag >
- , typename L1::result_, typename L2::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template< typename P1, typename P2 > class F
- , typename T1, typename T2
- , typename Tag
- >
-struct lambda<
- F< T1,T2 >
- , Tag
-
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef lambda< T2,Tag > l2;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
-
-
- typedef typename aux::lambda_or<
- is_le1::value, is_le2::value
- >::type is_le;
-
- typedef aux::le_result2<
- is_le, Tag, F, l1, l2
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1, typename T2
- , typename Tag
- >
-struct lambda<
- bind2< F,T1,T2 >
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind2<
- F
- , T1, T2
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1, typename P2, typename P3 > class F
- , typename L1, typename L2, typename L3
- >
-struct le_result3
-{
- typedef F<
- typename L1::type, typename L2::type, typename L3::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1, typename P2, typename P3 > class F
- , typename L1, typename L2, typename L3
- >
-struct le_result3< true_,Tag,F,L1,L2,L3 >
-{
- typedef bind3<
- quote3< F,Tag >
- , typename L1::result_, typename L2::result_, typename L3::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template< typename P1, typename P2, typename P3 > class F
- , typename T1, typename T2, typename T3
- , typename Tag
- >
-struct lambda<
- F< T1,T2,T3 >
- , Tag
-
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef lambda< T2,Tag > l2;
- typedef lambda< T3,Tag > l3;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
-
-
- typedef typename aux::lambda_or<
- is_le1::value, is_le2::value, is_le3::value
- >::type is_le;
-
- typedef aux::le_result3<
- is_le, Tag, F, l1, l2, l3
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- , typename Tag
- >
-struct lambda<
- bind3< F,T1,T2,T3 >
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind3<
- F
- , T1, T2, T3
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1, typename P2, typename P3, typename P4 > class F
- , typename L1, typename L2, typename L3, typename L4
- >
-struct le_result4
-{
- typedef F<
- typename L1::type, typename L2::type, typename L3::type
- , typename L4::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1, typename P2, typename P3, typename P4 > class F
- , typename L1, typename L2, typename L3, typename L4
- >
-struct le_result4< true_,Tag,F,L1,L2,L3,L4 >
-{
- typedef bind4<
- quote4< F,Tag >
- , typename L1::result_, typename L2::result_, typename L3::result_
- , typename L4::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template< typename P1, typename P2, typename P3, typename P4 > class F
- , typename T1, typename T2, typename T3, typename T4
- , typename Tag
- >
-struct lambda<
- F< T1,T2,T3,T4 >
- , Tag
-
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef lambda< T2,Tag > l2;
- typedef lambda< T3,Tag > l3;
- typedef lambda< T4,Tag > l4;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
- typedef typename l4::is_le is_le4;
-
-
- typedef typename aux::lambda_or<
- is_le1::value, is_le2::value, is_le3::value, is_le4::value
- >::type is_le;
-
- typedef aux::le_result4<
- is_le, Tag, F, l1, l2, l3, l4
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename Tag
- >
-struct lambda<
- bind4< F,T1,T2,T3,T4 >
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind4<
- F
- , T1, T2, T3, T4
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
- , typename L1, typename L2, typename L3, typename L4, typename L5
- >
-struct le_result5
-{
- typedef F<
- typename L1::type, typename L2::type, typename L3::type
- , typename L4::type, typename L5::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
- , typename L1, typename L2, typename L3, typename L4, typename L5
- >
-struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 >
-{
- typedef bind5<
- quote5< F,Tag >
- , typename L1::result_, typename L2::result_, typename L3::result_
- , typename L4::result_, typename L5::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template<
- typename P1, typename P2, typename P3, typename P4
- , typename P5
- >
- class F
- , typename T1, typename T2, typename T3, typename T4, typename T5
- , typename Tag
- >
-struct lambda<
- F< T1,T2,T3,T4,T5 >
- , Tag
-
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef lambda< T2,Tag > l2;
- typedef lambda< T3,Tag > l3;
- typedef lambda< T4,Tag > l4;
- typedef lambda< T5,Tag > l5;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
- typedef typename l4::is_le is_le4;
- typedef typename l5::is_le is_le5;
-
-
- typedef typename aux::lambda_or<
- is_le1::value, is_le2::value, is_le3::value, is_le4::value
- , is_le5::value
- >::type is_le;
-
- typedef aux::le_result5<
- is_le, Tag, F, l1, l2, l3, l4, l5
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- , typename Tag
- >
-struct lambda<
- bind5< F,T1,T2,T3,T4,T5 >
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind5<
- F
- , T1, T2, T3, T4, T5
- > result_;
-
- typedef result_ type;
-};
-
-/// special case for 'protect'
-template< typename T, typename Tag >
-struct lambda< mpl::protect<T>, Tag >
-{
- typedef false_ is_le;
- typedef mpl::protect<T> result_;
- typedef result_ type;
-};
-
-/// specializations for the main 'bind' form
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- , typename Tag
- >
-struct lambda<
- bind< F,T1,T2,T3,T4,T5 >
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind< F,T1,T2,T3,T4,T5 > result_;
- typedef result_ type;
-};
-
-/// workaround for MWCW 8.3+/EDG < 303, leads to ambiguity on Digital Mars
-
-template<
- typename F, typename Tag1, typename Tag2
- >
-struct lambda<
- lambda< F,Tag1 >
- , Tag2
- >
-{
- typedef lambda< F,Tag2 > l1;
- typedef lambda< Tag1,Tag2 > l2;
- typedef typename l1::is_le is_le;
- typedef aux::le_result2<is_le, Tag2, mpl::lambda, l1, l2> le_result_;
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, lambda)
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/no_ctps/greater.hpp b/boost/mpl/aux_/preprocessed/no_ctps/greater.hpp
deleted file mode 100644
index 6fdf8ba..0000000
--- a/boost/mpl/aux_/preprocessed/no_ctps/greater.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/greater.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct greater_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct greater_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct greater_impl< na,integral_c_tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct greater_impl< integral_c_tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct greater_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct greater
-
- : greater_impl<
- typename greater_tag<N1>::type
- , typename greater_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct greater_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/no_ctps/greater_equal.hpp b/boost/mpl/aux_/preprocessed/no_ctps/greater_equal.hpp
deleted file mode 100644
index f848eef..0000000
--- a/boost/mpl/aux_/preprocessed/no_ctps/greater_equal.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/greater_equal.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct greater_equal_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct greater_equal_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct greater_equal_impl< na,integral_c_tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct greater_equal_impl< integral_c_tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct greater_equal_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct greater_equal
-
- : greater_equal_impl<
- typename greater_equal_tag<N1>::type
- , typename greater_equal_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct greater_equal_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/no_ctps/inherit.hpp b/boost/mpl/aux_/preprocessed/no_ctps/inherit.hpp
deleted file mode 100644
index 233a1ec..0000000
--- a/boost/mpl/aux_/preprocessed/no_ctps/inherit.hpp
+++ /dev/null
@@ -1,166 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/inherit.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< bool C1, bool C2 >
-struct inherit2_impl
-{
- template< typename Derived, typename T1, typename T2 > struct result_
- : T1, T2
- {
- typedef Derived type_;
- };
-};
-
-template<>
-struct inherit2_impl< false,true >
-{
- template< typename Derived, typename T1, typename T2 > struct result_
- : T1
- {
- typedef T1 type_;
- };
-};
-
-template<>
-struct inherit2_impl< true,false >
-{
- template< typename Derived, typename T1, typename T2 > struct result_
- : T2
- {
- typedef T2 type_;
- };
-};
-
-template<>
-struct inherit2_impl< true,true >
-{
- template< typename Derived, typename T1, typename T2 > struct result_
- {
- typedef T1 type_;
- };
-};
-
-} // namespace aux
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(T1)
- , typename BOOST_MPL_AUX_NA_PARAM(T2)
- >
-struct inherit2
- : aux::inherit2_impl<
- is_empty_base<T1>::value
- , is_empty_base<T2>::value
- >::template result_< inherit2< T1,T2 >,T1, T2 >
-{
- typedef typename inherit2::type_ type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, inherit2)
-
-template<
- typename T1 = na, typename T2 = na, typename T3 = na
- >
-struct inherit3
- : inherit2<
- typename inherit2<
- T1, T2
- >::type
- , T3
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 3
- , inherit3
- , ( T1, T2, T3)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC(3, inherit3)
-
-template<
- typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
- >
-struct inherit4
- : inherit2<
- typename inherit3<
- T1, T2, T3
- >::type
- , T4
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 4
- , inherit4
- , ( T1, T2, T3, T4)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC(4, inherit4)
-
-template<
- typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
- , typename T5 = na
- >
-struct inherit5
- : inherit2<
- typename inherit4<
- T1, T2, T3, T4
- >::type
- , T5
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , inherit5
- , ( T1, T2, T3, T4, T5)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC(5, inherit5)
-
-/// primary template
-
-template<
- typename T1 = empty_base, typename T2 = empty_base
- , typename T3 = empty_base, typename T4 = empty_base
- , typename T5 = empty_base
- >
-struct inherit
- : inherit5< T1,T2,T3,T4,T5 >
-{
-};
-
-template<>
-struct inherit< na,na,na,na,na >
-{
- template<
-
- typename T1 = empty_base, typename T2 = empty_base
- , typename T3 = empty_base, typename T4 = empty_base
- , typename T5 = empty_base
-
- >
- struct apply
- : inherit< T1,T2,T3,T4,T5 >
- {
- };
-};
-
-BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_if_impl.hpp b/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_if_impl.hpp
deleted file mode 100644
index 6951795..0000000
--- a/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_if_impl.hpp
+++ /dev/null
@@ -1,133 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright David Abrahams 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< typename Iterator, typename State >
-struct iter_fold_if_null_step
-{
- typedef State state;
- typedef Iterator iterator;
-};
-
-template< bool >
-struct iter_fold_if_step_impl
-{
- template<
- typename Iterator
- , typename State
- , typename StateOp
- , typename IteratorOp
- >
- struct result_
- {
- typedef typename apply2< StateOp,State,Iterator >::type state;
- typedef typename IteratorOp::type iterator;
- };
-};
-
-template<>
-struct iter_fold_if_step_impl<false>
-{
- template<
- typename Iterator
- , typename State
- , typename StateOp
- , typename IteratorOp
- >
- struct result_
- {
- typedef State state;
- typedef Iterator iterator;
- };
-};
-
-template<
- typename Iterator
- , typename State
- , typename ForwardOp
- , typename Predicate
- >
-struct iter_fold_if_forward_step
-{
- typedef typename apply2< Predicate,State,Iterator >::type not_last;
- typedef typename iter_fold_if_step_impl<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
- >::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_;
-
- typedef typename impl_::state state;
- typedef typename impl_::iterator iterator;
-};
-
-template<
- typename Iterator
- , typename State
- , typename BackwardOp
- , typename Predicate
- >
-struct iter_fold_if_backward_step
-{
- typedef typename apply2< Predicate,State,Iterator >::type not_last;
- typedef typename iter_fold_if_step_impl<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
- >::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_;
-
- typedef typename impl_::state state;
- typedef typename impl_::iterator iterator;
-};
-
-template<
- typename Iterator
- , typename State
- , typename ForwardOp
- , typename ForwardPredicate
- , typename BackwardOp
- , typename BackwardPredicate
- >
-struct iter_fold_if_impl
-{
- private:
- typedef iter_fold_if_null_step< Iterator,State > forward_step0;
- typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1;
- typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2;
- typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3;
- typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4;
-
-
- typedef typename if_<
- typename forward_step4::not_last
- , iter_fold_if_impl<
- typename forward_step4::iterator
- , typename forward_step4::state
- , ForwardOp
- , ForwardPredicate
- , BackwardOp
- , BackwardPredicate
- >
- , iter_fold_if_null_step<
- typename forward_step4::iterator
- , typename forward_step4::state
- >
- >::type backward_step4;
-
- typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3;
- typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2;
- typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1;
- typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0;
-
-
- public:
- typedef typename backward_step0::state state;
- typedef typename backward_step4::iterator iterator;
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_impl.hpp b/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_impl.hpp
deleted file mode 100644
index 50ea754..0000000
--- a/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_impl.hpp
+++ /dev/null
@@ -1,245 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
- int N
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl;
-
-template< int N >
-struct iter_fold_chunk;
-
-template<> struct iter_fold_chunk<0>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State state0;
- typedef state0 state;
- typedef iter0 iterator;
- };
-};
-
-template<> struct iter_fold_chunk<1>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
-
-
- typedef state1 state;
- typedef iter1 iterator;
- };
-};
-
-template<> struct iter_fold_chunk<2>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
-
-
- typedef state2 state;
- typedef iter2 iterator;
- };
-};
-
-template<> struct iter_fold_chunk<3>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
- typedef typename mpl::next<iter2>::type iter3;
-
-
- typedef state3 state;
- typedef iter3 iterator;
- };
-};
-
-template<> struct iter_fold_chunk<4>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp,state3,iter3 >::type state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef state4 state;
- typedef iter4 iterator;
- };
-};
-
-template< int N >
-struct iter_fold_chunk
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
- struct result_
- {
- typedef iter_fold_impl<
- 4
- , First
- , Last
- , State
- , ForwardOp
- > chunk_;
-
- typedef iter_fold_impl<
- ( (N - 4) < 0 ? 0 : N - 4 )
- , typename chunk_::iterator
- , Last
- , typename chunk_::state
- , ForwardOp
- > res_;
-
- typedef typename res_::state state;
- typedef typename res_::iterator iterator;
- };
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_step;
-
-template<
- typename Last
- , typename State
- >
-struct iter_fold_null_step
-{
- typedef Last iterator;
- typedef State state;
-};
-
-template<>
-struct iter_fold_chunk< -1 >
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
- struct result_
- {
- typedef typename if_<
- typename is_same< First,Last >::type
- , iter_fold_null_step< Last,State >
- , iter_fold_step< First,Last,State,ForwardOp >
- >::type res_;
-
- typedef typename res_::state state;
- typedef typename res_::iterator iterator;
- };
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_step
-{
- typedef iter_fold_chunk< -1 >::template result_<
- typename mpl::next<First>::type
- , Last
- , typename apply2< ForwardOp,State,First >::type
- , ForwardOp
- > chunk_;
-
- typedef typename chunk_::state state;
- typedef typename chunk_::iterator iterator;
-};
-
-template<
- int N
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl
- : iter_fold_chunk<N>
- ::template result_< First,Last,State,ForwardOp >
-{
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/no_ctps/lambda_no_ctps.hpp b/boost/mpl/aux_/preprocessed/no_ctps/lambda_no_ctps.hpp
deleted file mode 100644
index 890a198..0000000
--- a/boost/mpl/aux_/preprocessed/no_ctps/lambda_no_ctps.hpp
+++ /dev/null
@@ -1,229 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
- bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
- , bool C5 = false
- >
-struct lambda_or
- : true_
-{
-};
-
-template<>
-struct lambda_or< false,false,false,false,false >
- : false_
-{
-};
-
-template< typename Arity > struct lambda_impl
-{
- template< typename T, typename Tag, typename Protect > struct result_
- {
- typedef T type;
- typedef is_placeholder<T> is_le;
- };
-};
-
-template<> struct lambda_impl< int_<1> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef typename l1::is_le is_le1;
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value
- > is_le;
-
- typedef bind1<
- typename F::rebind
- , typename l1::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-template<> struct lambda_impl< int_<2> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef lambda< typename F::arg2, Tag, false_ > l2;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
-
-
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value
- > is_le;
-
- typedef bind2<
- typename F::rebind
- , typename l1::type, typename l2::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-template<> struct lambda_impl< int_<3> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef lambda< typename F::arg2, Tag, false_ > l2;
- typedef lambda< typename F::arg3, Tag, false_ > l3;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
-
-
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value
- > is_le;
-
- typedef bind3<
- typename F::rebind
- , typename l1::type, typename l2::type, typename l3::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-template<> struct lambda_impl< int_<4> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef lambda< typename F::arg2, Tag, false_ > l2;
- typedef lambda< typename F::arg3, Tag, false_ > l3;
- typedef lambda< typename F::arg4, Tag, false_ > l4;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
- typedef typename l4::is_le is_le4;
-
-
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value
- > is_le;
-
- typedef bind4<
- typename F::rebind
- , typename l1::type, typename l2::type, typename l3::type
- , typename l4::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-template<> struct lambda_impl< int_<5> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef lambda< typename F::arg2, Tag, false_ > l2;
- typedef lambda< typename F::arg3, Tag, false_ > l3;
- typedef lambda< typename F::arg4, Tag, false_ > l4;
- typedef lambda< typename F::arg5, Tag, false_ > l5;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
- typedef typename l4::is_le is_le4;
- typedef typename l5::is_le is_le5;
-
-
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value
- > is_le;
-
- typedef bind5<
- typename F::rebind
- , typename l1::type, typename l2::type, typename l3::type
- , typename l4::type, typename l5::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-} // namespace aux
-
-template<
- typename T
- , typename Tag
- , typename Protect
- >
-struct lambda
-{
- /// Metafunction forwarding confuses MSVC 6.x
- typedef typename aux::template_arity<T>::type arity_;
- typedef typename aux::lambda_impl<arity_>
- ::template result_< T,Tag,Protect > l_;
-
- typedef typename l_::type type;
- typedef typename l_::is_le is_le;
- BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))
-};
-
-BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
-
-template<
- typename T
- >
-struct is_lambda_expression
- : lambda<T>::is_le
-{
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/no_ctps/less.hpp b/boost/mpl/aux_/preprocessed/no_ctps/less.hpp
deleted file mode 100644
index 7fb35e1..0000000
--- a/boost/mpl/aux_/preprocessed/no_ctps/less.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/less.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct less_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct less_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct less_impl< na,integral_c_tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct less_impl< integral_c_tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct less_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct less
-
- : less_impl<
- typename less_tag<N1>::type
- , typename less_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct less_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/no_ctps/less_equal.hpp b/boost/mpl/aux_/preprocessed/no_ctps/less_equal.hpp
deleted file mode 100644
index 206ecdc..0000000
--- a/boost/mpl/aux_/preprocessed/no_ctps/less_equal.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/less_equal.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct less_equal_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct less_equal_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct less_equal_impl< na,integral_c_tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct less_equal_impl< integral_c_tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct less_equal_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct less_equal
-
- : less_equal_impl<
- typename less_equal_tag<N1>::type
- , typename less_equal_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct less_equal_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/no_ctps/list.hpp b/boost/mpl/aux_/preprocessed/no_ctps/list.hpp
deleted file mode 100644
index e5ea456..0000000
--- a/boost/mpl/aux_/preprocessed/no_ctps/list.hpp
+++ /dev/null
@@ -1,556 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/list.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< int N >
-struct list_chooser;
-
-}
-
-namespace aux {
-
-template<>
-struct list_chooser<0>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef list0<
-
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<1>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list1<
- T0
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<2>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list2<
- T0, T1
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<3>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list3<
- T0, T1, T2
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<4>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list4<
- T0, T1, T2, T3
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<5>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list5<
- T0, T1, T2, T3, T4
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<6>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list6<
- T0, T1, T2, T3, T4, T5
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<7>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list7<
- T0, T1, T2, T3, T4, T5, T6
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<8>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list8<
- T0, T1, T2, T3, T4, T5, T6, T7
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<9>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list9<
- T0, T1, T2, T3, T4, T5, T6, T7, T8
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<10>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list10<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<11>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list11<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<12>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list12<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<13>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list13<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<14>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list14<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<15>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<16>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<17>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<18>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<19>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_chooser<20>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename list20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< typename T >
-struct is_list_arg
-{
- BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template<>
-struct is_list_arg<na>
-{
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template<
- typename T1, typename T2, typename T3, typename T4, typename T5
- , typename T6, typename T7, typename T8, typename T9, typename T10
- , typename T11, typename T12, typename T13, typename T14, typename T15
- , typename T16, typename T17, typename T18, typename T19, typename T20
- >
-struct list_count_args
-{
- BOOST_STATIC_CONSTANT(int, value =
- is_list_arg<T1>::value + is_list_arg<T2>::value
- + is_list_arg<T3>::value + is_list_arg<T4>::value
- + is_list_arg<T5>::value + is_list_arg<T6>::value
- + is_list_arg<T7>::value + is_list_arg<T8>::value
- + is_list_arg<T9>::value + is_list_arg<T10>::value
- + is_list_arg<T11>::value + is_list_arg<T12>::value
- + is_list_arg<T13>::value + is_list_arg<T14>::value
- + is_list_arg<T15>::value + is_list_arg<T16>::value
- + is_list_arg<T17>::value + is_list_arg<T18>::value
- + is_list_arg<T19>::value + is_list_arg<T20>::value
- );
-
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct list_impl
-{
- typedef aux::list_count_args<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- > arg_num_;
-
- typedef typename aux::list_chooser< arg_num_::value >
- ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-} // namespace aux
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct list
- : aux::list_impl<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- >::type
-{
- typedef typename aux::list_impl<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/no_ctps/list_c.hpp b/boost/mpl/aux_/preprocessed/no_ctps/list_c.hpp
deleted file mode 100644
index ab25482..0000000
--- a/boost/mpl/aux_/preprocessed/no_ctps/list_c.hpp
+++ /dev/null
@@ -1,534 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/list_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< int N >
-struct list_c_chooser;
-
-}
-
-namespace aux {
-
-template<>
-struct list_c_chooser<0>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list0_c<
- T
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<1>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list1_c<
- T, C0
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<2>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list2_c<
- T, C0, C1
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<3>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list3_c<
- T, C0, C1, C2
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<4>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list4_c<
- T, C0, C1, C2, C3
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<5>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list5_c<
- T, C0, C1, C2, C3, C4
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<6>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list6_c<
- T, C0, C1, C2, C3, C4, C5
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<7>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list7_c<
- T, C0, C1, C2, C3, C4, C5, C6
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<8>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list8_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<9>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list9_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<10>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list10_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<11>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list11_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<12>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list12_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<13>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list13_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<14>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list14_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<15>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list15_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<16>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list16_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<17>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list17_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<18>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list18_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<19>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list19_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct list_c_chooser<20>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename list20_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< long C >
-struct is_list_c_arg
-{
- BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template<>
-struct is_list_c_arg<LONG_MAX>
-{
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template<
- long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8
- , long C9, long C10, long C11, long C12, long C13, long C14, long C15
- , long C16, long C17, long C18, long C19, long C20
- >
-struct list_c_count_args
-{
- BOOST_STATIC_CONSTANT(int, value =
- is_list_c_arg<C1>::value + is_list_c_arg<C2>::value
- + is_list_c_arg<C3>::value + is_list_c_arg<C4>::value
- + is_list_c_arg<C5>::value + is_list_c_arg<C6>::value
- + is_list_c_arg<C7>::value + is_list_c_arg<C8>::value
- + is_list_c_arg<C9>::value + is_list_c_arg<C10>::value
- + is_list_c_arg<C11>::value + is_list_c_arg<C12>::value
- + is_list_c_arg<C13>::value + is_list_c_arg<C14>::value
- + is_list_c_arg<C15>::value + is_list_c_arg<C16>::value
- + is_list_c_arg<C17>::value + is_list_c_arg<C18>::value
- + is_list_c_arg<C19>::value + is_list_c_arg<C20>::value
- );
-
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
-struct list_c_impl
-{
- typedef aux::list_c_count_args<
- C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
- > arg_num_;
-
- typedef typename aux::list_c_chooser< arg_num_::value >
- ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-} // namespace aux
-
-template<
- typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
- , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
- , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
- , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
- , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
- , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
- , long C18 = LONG_MAX, long C19 = LONG_MAX
- >
-struct list_c
- : aux::list_c_impl<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
- >::type
-{
- typedef typename aux::list_c_impl<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
- >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/no_ctps/map.hpp b/boost/mpl/aux_/preprocessed/no_ctps/map.hpp
deleted file mode 100644
index 970e0b7..0000000
--- a/boost/mpl/aux_/preprocessed/no_ctps/map.hpp
+++ /dev/null
@@ -1,556 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/map.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< int N >
-struct map_chooser;
-
-}
-
-namespace aux {
-
-template<>
-struct map_chooser<0>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef map0<
-
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<1>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map1<
- T0
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<2>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map2<
- T0, T1
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<3>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map3<
- T0, T1, T2
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<4>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map4<
- T0, T1, T2, T3
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<5>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map5<
- T0, T1, T2, T3, T4
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<6>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map6<
- T0, T1, T2, T3, T4, T5
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<7>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map7<
- T0, T1, T2, T3, T4, T5, T6
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<8>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map8<
- T0, T1, T2, T3, T4, T5, T6, T7
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<9>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map9<
- T0, T1, T2, T3, T4, T5, T6, T7, T8
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<10>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map10<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<11>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map11<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<12>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map12<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<13>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map13<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<14>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map14<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<15>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<16>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<17>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<18>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<19>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct map_chooser<20>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename map20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< typename T >
-struct is_map_arg
-{
- BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template<>
-struct is_map_arg<na>
-{
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template<
- typename T1, typename T2, typename T3, typename T4, typename T5
- , typename T6, typename T7, typename T8, typename T9, typename T10
- , typename T11, typename T12, typename T13, typename T14, typename T15
- , typename T16, typename T17, typename T18, typename T19, typename T20
- >
-struct map_count_args
-{
- BOOST_STATIC_CONSTANT(int, value =
- is_map_arg<T1>::value + is_map_arg<T2>::value
- + is_map_arg<T3>::value + is_map_arg<T4>::value
- + is_map_arg<T5>::value + is_map_arg<T6>::value
- + is_map_arg<T7>::value + is_map_arg<T8>::value
- + is_map_arg<T9>::value + is_map_arg<T10>::value
- + is_map_arg<T11>::value + is_map_arg<T12>::value
- + is_map_arg<T13>::value + is_map_arg<T14>::value
- + is_map_arg<T15>::value + is_map_arg<T16>::value
- + is_map_arg<T17>::value + is_map_arg<T18>::value
- + is_map_arg<T19>::value + is_map_arg<T20>::value
- );
-
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct map_impl
-{
- typedef aux::map_count_args<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- > arg_num_;
-
- typedef typename aux::map_chooser< arg_num_::value >
- ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-} // namespace aux
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct map
- : aux::map_impl<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- >::type
-{
- typedef typename aux::map_impl<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/no_ctps/minus.hpp b/boost/mpl/aux_/preprocessed/no_ctps/minus.hpp
deleted file mode 100644
index 7b49450..0000000
--- a/boost/mpl/aux_/preprocessed/no_ctps/minus.hpp
+++ /dev/null
@@ -1,133 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/minus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct minus_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct minus_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct minus_impl< na,integral_c_tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct minus_impl< integral_c_tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct minus_tag
-{
- typedef typename T::tag type;
-};
-
-/// forward declaration
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct minus2;
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct minus
-
- : if_<
-
- is_na<N3>
- , minus2< N1,N2 >
- , minus<
- minus2< N1,N2 >
- , N3, N4, N5
- >
- >::type
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , minus
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1
- , typename N2
- >
-struct minus2
- : minus_impl<
- typename minus_tag<N1>::type
- , typename minus_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, minus2, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, minus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct minus_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- - BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/no_ctps/modulus.hpp b/boost/mpl/aux_/preprocessed/no_ctps/modulus.hpp
deleted file mode 100644
index 8badbab..0000000
--- a/boost/mpl/aux_/preprocessed/no_ctps/modulus.hpp
+++ /dev/null
@@ -1,101 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/modulus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct modulus_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct modulus_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct modulus_impl< na,integral_c_tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct modulus_impl< integral_c_tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct modulus_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct modulus
-
- : modulus_impl<
- typename modulus_tag<N1>::type
- , typename modulus_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct modulus_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- % BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/no_ctps/not_equal_to.hpp b/boost/mpl/aux_/preprocessed/no_ctps/not_equal_to.hpp
deleted file mode 100644
index d87d8cd..0000000
--- a/boost/mpl/aux_/preprocessed/no_ctps/not_equal_to.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/not_equal_to.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct not_equal_to_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct not_equal_to_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct not_equal_to_impl< na,integral_c_tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct not_equal_to_impl< integral_c_tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct not_equal_to_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct not_equal_to
-
- : not_equal_to_impl<
- typename not_equal_to_tag<N1>::type
- , typename not_equal_to_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct not_equal_to_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/no_ctps/or.hpp b/boost/mpl/aux_/preprocessed/no_ctps/or.hpp
deleted file mode 100644
index 3f7394e..0000000
--- a/boost/mpl/aux_/preprocessed/no_ctps/or.hpp
+++ /dev/null
@@ -1,73 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/or.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< bool C_ > struct or_impl
-{
- template<
- typename T1, typename T2, typename T3, typename T4
- >
- struct result_
- : true_
- {
- };
-};
-
-template<> struct or_impl<false>
-{
- template<
- typename T1, typename T2, typename T3, typename T4
- >
- struct result_
- : or_impl<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
- >::template result_< T2,T3,T4,false_ >
- {
- };
-};
-
-template<>
-struct or_impl<false>
- ::result_< false_,false_,false_,false_ >
- : false_
-{
-};
-
-} // namespace aux
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(T1)
- , typename BOOST_MPL_AUX_NA_PARAM(T2)
- , typename T3 = false_, typename T4 = false_, typename T5 = false_
- >
-struct or_
-
- : aux::or_impl<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
- >::template result_< T2,T3,T4,T5 >
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , or_
- , ( T1, T2, T3, T4, T5)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC2(
- 2
- , 5
- , or_
- )
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/no_ctps/placeholders.hpp b/boost/mpl/aux_/preprocessed/no_ctps/placeholders.hpp
deleted file mode 100644
index ff97364..0000000
--- a/boost/mpl/aux_/preprocessed/no_ctps/placeholders.hpp
+++ /dev/null
@@ -1,105 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright Peter Dimov 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/placeholders.hpp" header
-// -- DO NOT modify by hand!
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg< -1 > _;
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
-}
-
-}}
-
-/// agurt, 17/mar/02: one more placeholder for the last 'apply#'
-/// specialization
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<1> _1;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<2> _2;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<3> _3;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<4> _4;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<5> _5;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<6> _6;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;
-}
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/no_ctps/plus.hpp b/boost/mpl/aux_/preprocessed/no_ctps/plus.hpp
deleted file mode 100644
index a55b24c..0000000
--- a/boost/mpl/aux_/preprocessed/no_ctps/plus.hpp
+++ /dev/null
@@ -1,133 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/plus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct plus_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct plus_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct plus_impl< na,integral_c_tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct plus_impl< integral_c_tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct plus_tag
-{
- typedef typename T::tag type;
-};
-
-/// forward declaration
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct plus2;
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct plus
-
- : if_<
-
- is_na<N3>
- , plus2< N1,N2 >
- , plus<
- plus2< N1,N2 >
- , N3, N4, N5
- >
- >::type
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , plus
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1
- , typename N2
- >
-struct plus2
- : plus_impl<
- typename plus_tag<N1>::type
- , typename plus_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, plus2, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, plus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct plus_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- + BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/no_ctps/quote.hpp b/boost/mpl/aux_/preprocessed/no_ctps/quote.hpp
deleted file mode 100644
index b85880f..0000000
--- a/boost/mpl/aux_/preprocessed/no_ctps/quote.hpp
+++ /dev/null
@@ -1,116 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/quote.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-template< bool > struct quote_impl
-{
- template< typename T > struct result_
- : T
- {
- };
-};
-
-template<> struct quote_impl<false>
-{
- template< typename T > struct result_
- {
- typedef T type;
- };
-};
-
-template<
- template< typename P1 > class F
- , typename Tag = void_
- >
-struct quote1
-{
- template< typename U1 > struct apply
-
- : quote_impl< aux::has_type< F<U1> >::value >
- ::template result_< F<U1> >
-
- {
- };
-};
-
-template<
- template< typename P1, typename P2 > class F
- , typename Tag = void_
- >
-struct quote2
-{
- template< typename U1, typename U2 > struct apply
-
- : quote_impl< aux::has_type< F< U1,U2 > >::value >
- ::template result_< F< U1,U2 > >
-
- {
- };
-};
-
-template<
- template< typename P1, typename P2, typename P3 > class F
- , typename Tag = void_
- >
-struct quote3
-{
- template< typename U1, typename U2, typename U3 > struct apply
-
- : quote_impl< aux::has_type< F< U1,U2,U3 > >::value >
- ::template result_< F< U1,U2,U3 > >
-
- {
- };
-};
-
-template<
- template< typename P1, typename P2, typename P3, typename P4 > class F
- , typename Tag = void_
- >
-struct quote4
-{
- template<
- typename U1, typename U2, typename U3, typename U4
- >
- struct apply
-
- : quote_impl< aux::has_type< F< U1,U2,U3,U4 > >::value >
- ::template result_< F< U1,U2,U3,U4 > >
-
- {
- };
-};
-
-template<
- template<
- typename P1, typename P2, typename P3, typename P4
- , typename P5
- >
- class F
- , typename Tag = void_
- >
-struct quote5
-{
- template<
- typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
- struct apply
-
- : quote_impl< aux::has_type< F< U1,U2,U3,U4,U5 > >::value >
- ::template result_< F< U1,U2,U3,U4,U5 > >
-
- {
- };
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/no_ctps/reverse_fold_impl.hpp b/boost/mpl/aux_/preprocessed/no_ctps/reverse_fold_impl.hpp
deleted file mode 100644
index 7a07414..0000000
--- a/boost/mpl/aux_/preprocessed/no_ctps/reverse_fold_impl.hpp
+++ /dev/null
@@ -1,295 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
- long N
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl;
-
-template< long N >
-struct reverse_fold_chunk;
-
-template<> struct reverse_fold_chunk<0>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef fwd_state0 bkwd_state0;
- typedef bkwd_state0 state;
- typedef iter0 iterator;
- };
-};
-
-template<> struct reverse_fold_chunk<1>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
-
-
- typedef fwd_state1 bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
- typedef bkwd_state0 state;
- typedef iter1 iterator;
- };
-};
-
-template<> struct reverse_fold_chunk<2>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
-
-
- typedef fwd_state2 bkwd_state2;
- typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter2 iterator;
- };
-};
-
-template<> struct reverse_fold_chunk<3>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
-
-
- typedef fwd_state3 bkwd_state3;
- typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
- typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter3 iterator;
- };
-};
-
-template<> struct reverse_fold_chunk<4>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef fwd_state4 bkwd_state4;
- typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;
- typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
- typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter4 iterator;
- };
-};
-
-template< long N >
-struct reverse_fold_chunk
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef reverse_fold_impl<
- ( (N - 4) < 0 ? 0 : N - 4 )
- , iter4
- , Last
- , fwd_state4
- , BackwardOp
- , ForwardOp
- > nested_chunk;
-
- typedef typename nested_chunk::state bkwd_state4;
- typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;
- typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
- typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef typename nested_chunk::iterator iterator;
- };
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_step;
-
-template<
- typename Last
- , typename State
- >
-struct reverse_fold_null_step
-{
- typedef Last iterator;
- typedef State state;
-};
-
-template<>
-struct reverse_fold_chunk< -1 >
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef typename if_<
- typename is_same< First,Last >::type
- , reverse_fold_null_step< Last,State >
- , reverse_fold_step< First,Last,State,BackwardOp,ForwardOp >
- >::type res_;
-
- typedef typename res_::state state;
- typedef typename res_::iterator iterator;
- };
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_step
-{
- typedef reverse_fold_chunk< -1 >::template result_<
- typename mpl::next<First>::type
- , Last
- , typename apply2<ForwardOp,State, typename deref<First>::type>::type
- , BackwardOp
- , ForwardOp
- > nested_step;
-
- typedef typename apply2<
- BackwardOp
- , typename nested_step::state
- , typename deref<First>::type
- >::type state;
-
- typedef typename nested_step::iterator iterator;
-};
-
-template<
- long N
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl
- : reverse_fold_chunk<N>
- ::template result_< First,Last,State,BackwardOp,ForwardOp >
-{
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/no_ctps/reverse_iter_fold_impl.hpp b/boost/mpl/aux_/preprocessed/no_ctps/reverse_iter_fold_impl.hpp
deleted file mode 100644
index 39a4057..0000000
--- a/boost/mpl/aux_/preprocessed/no_ctps/reverse_iter_fold_impl.hpp
+++ /dev/null
@@ -1,295 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
- long N
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl;
-
-template< long N >
-struct reverse_iter_fold_chunk;
-
-template<> struct reverse_iter_fold_chunk<0>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef fwd_state0 bkwd_state0;
- typedef bkwd_state0 state;
- typedef iter0 iterator;
- };
-};
-
-template<> struct reverse_iter_fold_chunk<1>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
-
-
- typedef fwd_state1 bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
- typedef bkwd_state0 state;
- typedef iter1 iterator;
- };
-};
-
-template<> struct reverse_iter_fold_chunk<2>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
-
-
- typedef fwd_state2 bkwd_state2;
- typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter2 iterator;
- };
-};
-
-template<> struct reverse_iter_fold_chunk<3>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
-
-
- typedef fwd_state3 bkwd_state3;
- typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
- typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter3 iterator;
- };
-};
-
-template<> struct reverse_iter_fold_chunk<4>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef fwd_state4 bkwd_state4;
- typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;
- typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
- typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter4 iterator;
- };
-};
-
-template< long N >
-struct reverse_iter_fold_chunk
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef reverse_iter_fold_impl<
- ( (N - 4) < 0 ? 0 : N - 4 )
- , iter4
- , Last
- , fwd_state4
- , BackwardOp
- , ForwardOp
- > nested_chunk;
-
- typedef typename nested_chunk::state bkwd_state4;
- typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;
- typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
- typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef typename nested_chunk::iterator iterator;
- };
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_step;
-
-template<
- typename Last
- , typename State
- >
-struct reverse_iter_fold_null_step
-{
- typedef Last iterator;
- typedef State state;
-};
-
-template<>
-struct reverse_iter_fold_chunk< -1 >
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef typename if_<
- typename is_same< First,Last >::type
- , reverse_iter_fold_null_step< Last,State >
- , reverse_iter_fold_step< First,Last,State,BackwardOp,ForwardOp >
- >::type res_;
-
- typedef typename res_::state state;
- typedef typename res_::iterator iterator;
- };
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_step
-{
- typedef reverse_iter_fold_chunk< -1 >::template result_<
- typename mpl::next<First>::type
- , Last
- , typename apply2< ForwardOp,State,First >::type
- , BackwardOp
- , ForwardOp
- > nested_step;
-
- typedef typename apply2<
- BackwardOp
- , typename nested_step::state
- , First
- >::type state;
-
- typedef typename nested_step::iterator iterator;
-};
-
-template<
- long N
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl
- : reverse_iter_fold_chunk<N>
- ::template result_< First,Last,State,BackwardOp,ForwardOp >
-{
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/no_ctps/set.hpp b/boost/mpl/aux_/preprocessed/no_ctps/set.hpp
deleted file mode 100644
index 95aaa5c..0000000
--- a/boost/mpl/aux_/preprocessed/no_ctps/set.hpp
+++ /dev/null
@@ -1,556 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/set.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< int N >
-struct set_chooser;
-
-}
-
-namespace aux {
-
-template<>
-struct set_chooser<0>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef set0<
-
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<1>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set1<
- T0
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<2>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set2<
- T0, T1
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<3>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set3<
- T0, T1, T2
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<4>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set4<
- T0, T1, T2, T3
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<5>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set5<
- T0, T1, T2, T3, T4
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<6>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set6<
- T0, T1, T2, T3, T4, T5
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<7>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set7<
- T0, T1, T2, T3, T4, T5, T6
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<8>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set8<
- T0, T1, T2, T3, T4, T5, T6, T7
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<9>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set9<
- T0, T1, T2, T3, T4, T5, T6, T7, T8
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<10>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set10<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<11>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set11<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<12>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set12<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<13>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set13<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<14>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set14<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<15>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<16>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<17>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<18>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<19>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_chooser<20>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename set20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< typename T >
-struct is_set_arg
-{
- BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template<>
-struct is_set_arg<na>
-{
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template<
- typename T1, typename T2, typename T3, typename T4, typename T5
- , typename T6, typename T7, typename T8, typename T9, typename T10
- , typename T11, typename T12, typename T13, typename T14, typename T15
- , typename T16, typename T17, typename T18, typename T19, typename T20
- >
-struct set_count_args
-{
- BOOST_STATIC_CONSTANT(int, value =
- is_set_arg<T1>::value + is_set_arg<T2>::value
- + is_set_arg<T3>::value + is_set_arg<T4>::value
- + is_set_arg<T5>::value + is_set_arg<T6>::value
- + is_set_arg<T7>::value + is_set_arg<T8>::value
- + is_set_arg<T9>::value + is_set_arg<T10>::value
- + is_set_arg<T11>::value + is_set_arg<T12>::value
- + is_set_arg<T13>::value + is_set_arg<T14>::value
- + is_set_arg<T15>::value + is_set_arg<T16>::value
- + is_set_arg<T17>::value + is_set_arg<T18>::value
- + is_set_arg<T19>::value + is_set_arg<T20>::value
- );
-
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct set_impl
-{
- typedef aux::set_count_args<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- > arg_num_;
-
- typedef typename aux::set_chooser< arg_num_::value >
- ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-} // namespace aux
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct set
- : aux::set_impl<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- >::type
-{
- typedef typename aux::set_impl<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/no_ctps/set_c.hpp b/boost/mpl/aux_/preprocessed/no_ctps/set_c.hpp
deleted file mode 100644
index 1ff34f9..0000000
--- a/boost/mpl/aux_/preprocessed/no_ctps/set_c.hpp
+++ /dev/null
@@ -1,534 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/set_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< int N >
-struct set_c_chooser;
-
-}
-
-namespace aux {
-
-template<>
-struct set_c_chooser<0>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set0_c<
- T
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<1>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set1_c<
- T, C0
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<2>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set2_c<
- T, C0, C1
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<3>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set3_c<
- T, C0, C1, C2
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<4>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set4_c<
- T, C0, C1, C2, C3
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<5>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set5_c<
- T, C0, C1, C2, C3, C4
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<6>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set6_c<
- T, C0, C1, C2, C3, C4, C5
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<7>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set7_c<
- T, C0, C1, C2, C3, C4, C5, C6
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<8>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set8_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<9>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set9_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<10>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set10_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<11>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set11_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<12>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set12_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<13>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set13_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<14>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set14_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<15>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set15_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<16>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set16_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<17>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set17_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<18>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set18_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<19>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set19_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct set_c_chooser<20>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename set20_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< long C >
-struct is_set_c_arg
-{
- BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template<>
-struct is_set_c_arg<LONG_MAX>
-{
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template<
- long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8
- , long C9, long C10, long C11, long C12, long C13, long C14, long C15
- , long C16, long C17, long C18, long C19, long C20
- >
-struct set_c_count_args
-{
- BOOST_STATIC_CONSTANT(int, value =
- is_set_c_arg<C1>::value + is_set_c_arg<C2>::value
- + is_set_c_arg<C3>::value + is_set_c_arg<C4>::value
- + is_set_c_arg<C5>::value + is_set_c_arg<C6>::value
- + is_set_c_arg<C7>::value + is_set_c_arg<C8>::value
- + is_set_c_arg<C9>::value + is_set_c_arg<C10>::value
- + is_set_c_arg<C11>::value + is_set_c_arg<C12>::value
- + is_set_c_arg<C13>::value + is_set_c_arg<C14>::value
- + is_set_c_arg<C15>::value + is_set_c_arg<C16>::value
- + is_set_c_arg<C17>::value + is_set_c_arg<C18>::value
- + is_set_c_arg<C19>::value + is_set_c_arg<C20>::value
- );
-
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
-struct set_c_impl
-{
- typedef aux::set_c_count_args<
- C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
- > arg_num_;
-
- typedef typename aux::set_c_chooser< arg_num_::value >
- ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-} // namespace aux
-
-template<
- typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
- , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
- , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
- , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
- , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
- , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
- , long C18 = LONG_MAX, long C19 = LONG_MAX
- >
-struct set_c
- : aux::set_c_impl<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
- >::type
-{
- typedef typename aux::set_c_impl<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
- >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/no_ctps/shift_left.hpp b/boost/mpl/aux_/preprocessed/no_ctps/shift_left.hpp
deleted file mode 100644
index d14a5e4..0000000
--- a/boost/mpl/aux_/preprocessed/no_ctps/shift_left.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// Preprocessed version of "boost/mpl/shift_left.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct shift_left_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct shift_left_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct shift_left_impl< na,integral_c_tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct shift_left_impl< integral_c_tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct shift_left_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct shift_left
-
- : shift_left_impl<
- typename shift_left_tag<N1>::type
- , typename shift_left_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct shift_left_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N, typename S > struct apply
-
- : integral_c<
- typename N::value_type
- , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
- << BOOST_MPL_AUX_VALUE_WKND(S)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/no_ctps/shift_right.hpp b/boost/mpl/aux_/preprocessed/no_ctps/shift_right.hpp
deleted file mode 100644
index 08c4915..0000000
--- a/boost/mpl/aux_/preprocessed/no_ctps/shift_right.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// Preprocessed version of "boost/mpl/shift_right.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct shift_right_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct shift_right_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct shift_right_impl< na,integral_c_tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct shift_right_impl< integral_c_tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct shift_right_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct shift_right
-
- : shift_right_impl<
- typename shift_right_tag<N1>::type
- , typename shift_right_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct shift_right_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N, typename S > struct apply
-
- : integral_c<
- typename N::value_type
- , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
- >> BOOST_MPL_AUX_VALUE_WKND(S)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/no_ctps/template_arity.hpp b/boost/mpl/aux_/preprocessed/no_ctps/template_arity.hpp
deleted file mode 100644
index 1164f0f..0000000
--- a/boost/mpl/aux_/preprocessed/no_ctps/template_arity.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< bool >
-struct template_arity_impl
-{
- template< typename F > struct result_
- : mpl::int_< -1 >
- {
- };
-};
-
-template<>
-struct template_arity_impl<true>
-{
- template< typename F > struct result_
- : F::arity
- {
- };
-};
-
-template< typename F >
-struct template_arity
- : template_arity_impl< ::boost::mpl::aux::has_rebind<F>::value >
- ::template result_<F>
-{
-};
-
-}}}
-
diff --git a/boost/mpl/aux_/preprocessed/no_ctps/times.hpp b/boost/mpl/aux_/preprocessed/no_ctps/times.hpp
deleted file mode 100644
index fd773cc..0000000
--- a/boost/mpl/aux_/preprocessed/no_ctps/times.hpp
+++ /dev/null
@@ -1,133 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/times.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct times_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct times_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct times_impl< na,integral_c_tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template<> struct times_impl< integral_c_tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct times_tag
-{
- typedef typename T::tag type;
-};
-
-/// forward declaration
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct times2;
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct times
-
- : if_<
-
- is_na<N3>
- , times2< N1,N2 >
- , times<
- times2< N1,N2 >
- , N3, N4, N5
- >
- >::type
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , times
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1
- , typename N2
- >
-struct times2
- : times_impl<
- typename times_tag<N1>::type
- , typename times_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, times2, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, times)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct times_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- * BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/no_ctps/unpack_args.hpp b/boost/mpl/aux_/preprocessed/no_ctps/unpack_args.hpp
deleted file mode 100644
index 26533dd..0000000
--- a/boost/mpl/aux_/preprocessed/no_ctps/unpack_args.hpp
+++ /dev/null
@@ -1,109 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/unpack_args.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< BOOST_MPL_AUX_NTTP_DECL(int, size) > struct unpack_args_impl
-{
- template< typename F, typename Args > struct apply;
-};
-
-template<> struct unpack_args_impl<0>
-{
- template< typename F, typename Args > struct apply
- : apply0<
- F
- >
- {
- };
-};
-
-template<> struct unpack_args_impl<1>
-{
- template< typename F, typename Args > struct apply
- : apply1<
- F
- , typename at_c< Args,0 >::type
- >
- {
- };
-};
-
-template<> struct unpack_args_impl<2>
-{
- template< typename F, typename Args > struct apply
- : apply2<
- F
- , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
- >
- {
- };
-};
-
-template<> struct unpack_args_impl<3>
-{
- template< typename F, typename Args > struct apply
- : apply3<
- F
- , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
- , typename at_c< Args,2 >::type
- >
- {
- };
-};
-
-template<> struct unpack_args_impl<4>
-{
- template< typename F, typename Args > struct apply
- : apply4<
- F
- , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
- , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
- >
- {
- };
-};
-
-template<> struct unpack_args_impl<5>
-{
- template< typename F, typename Args > struct apply
- : apply5<
- F
- , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
- , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
- , typename at_c< Args,4 >::type
- >
- {
- };
-};
-
-}
-
-template<
- typename F
- >
-struct unpack_args
-{
- template< typename Args > struct apply
-
- : aux::unpack_args_impl< size<Args>::value >
- ::template apply< F,Args >
-
- {
- };
-};
-
-BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/no_ctps/vector.hpp b/boost/mpl/aux_/preprocessed/no_ctps/vector.hpp
deleted file mode 100644
index a6c7b62..0000000
--- a/boost/mpl/aux_/preprocessed/no_ctps/vector.hpp
+++ /dev/null
@@ -1,556 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/vector.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< int N >
-struct vector_chooser;
-
-}
-
-namespace aux {
-
-template<>
-struct vector_chooser<0>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef vector0<
-
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<1>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector1<
- T0
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<2>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector2<
- T0, T1
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<3>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector3<
- T0, T1, T2
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<4>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector4<
- T0, T1, T2, T3
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<5>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector5<
- T0, T1, T2, T3, T4
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<6>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector6<
- T0, T1, T2, T3, T4, T5
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<7>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector7<
- T0, T1, T2, T3, T4, T5, T6
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<8>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector8<
- T0, T1, T2, T3, T4, T5, T6, T7
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<9>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector9<
- T0, T1, T2, T3, T4, T5, T6, T7, T8
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<10>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector10<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<11>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector11<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<12>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector12<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<13>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector13<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<14>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector14<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<15>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<16>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<17>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<18>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<19>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_chooser<20>
-{
- template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
- struct result_
- {
- typedef typename vector20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< typename T >
-struct is_vector_arg
-{
- BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template<>
-struct is_vector_arg<na>
-{
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template<
- typename T1, typename T2, typename T3, typename T4, typename T5
- , typename T6, typename T7, typename T8, typename T9, typename T10
- , typename T11, typename T12, typename T13, typename T14, typename T15
- , typename T16, typename T17, typename T18, typename T19, typename T20
- >
-struct vector_count_args
-{
- BOOST_STATIC_CONSTANT(int, value =
- is_vector_arg<T1>::value + is_vector_arg<T2>::value
- + is_vector_arg<T3>::value + is_vector_arg<T4>::value
- + is_vector_arg<T5>::value + is_vector_arg<T6>::value
- + is_vector_arg<T7>::value + is_vector_arg<T8>::value
- + is_vector_arg<T9>::value + is_vector_arg<T10>::value
- + is_vector_arg<T11>::value + is_vector_arg<T12>::value
- + is_vector_arg<T13>::value + is_vector_arg<T14>::value
- + is_vector_arg<T15>::value + is_vector_arg<T16>::value
- + is_vector_arg<T17>::value + is_vector_arg<T18>::value
- + is_vector_arg<T19>::value + is_vector_arg<T20>::value
- );
-
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct vector_impl
-{
- typedef aux::vector_count_args<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- > arg_num_;
-
- typedef typename aux::vector_chooser< arg_num_::value >
- ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-} // namespace aux
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct vector
- : aux::vector_impl<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- >::type
-{
- typedef typename aux::vector_impl<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
- >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/no_ctps/vector_c.hpp b/boost/mpl/aux_/preprocessed/no_ctps/vector_c.hpp
deleted file mode 100644
index c522d08..0000000
--- a/boost/mpl/aux_/preprocessed/no_ctps/vector_c.hpp
+++ /dev/null
@@ -1,534 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/vector_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< int N >
-struct vector_c_chooser;
-
-}
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<0>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector0_c<
- T
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<1>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector1_c<
- T, T(C0)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<2>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector2_c<
- T, T(C0), T(C1)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<3>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector3_c<
- T, T(C0), T(C1), T(C2)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<4>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector4_c<
- T, T(C0), T(C1), T(C2), T(C3)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<5>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector5_c<
- T, T(C0), T(C1), T(C2), T(C3), T(C4)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<6>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector6_c<
- T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<7>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector7_c<
- T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<8>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector8_c<
- T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<9>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector9_c<
- T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<10>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector10_c<
- T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<11>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector11_c<
- T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<12>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector12_c<
- T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<13>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector13_c<
- T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<14>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector14_c<
- T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<15>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector15_c<
- T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<16>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector16_c<
- T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<17>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector17_c<
- T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<18>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector18_c<
- T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<19>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector19_c<
- T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template<>
-struct vector_c_chooser<20>
-{
- template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
- struct result_
- {
- typedef typename vector20_c<
- T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19)
- >::type type;
-
- };
-};
-
-} // namespace aux
-
-namespace aux {
-
-template< long C >
-struct is_vector_c_arg
-{
- BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template<>
-struct is_vector_c_arg<LONG_MAX>
-{
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template<
- long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8
- , long C9, long C10, long C11, long C12, long C13, long C14, long C15
- , long C16, long C17, long C18, long C19, long C20
- >
-struct vector_c_count_args
-{
- BOOST_STATIC_CONSTANT(int, value =
- is_vector_c_arg<C1>::value + is_vector_c_arg<C2>::value
- + is_vector_c_arg<C3>::value + is_vector_c_arg<C4>::value
- + is_vector_c_arg<C5>::value + is_vector_c_arg<C6>::value
- + is_vector_c_arg<C7>::value + is_vector_c_arg<C8>::value
- + is_vector_c_arg<C9>::value + is_vector_c_arg<C10>::value
- + is_vector_c_arg<C11>::value + is_vector_c_arg<C12>::value
- + is_vector_c_arg<C13>::value + is_vector_c_arg<C14>::value
- + is_vector_c_arg<C15>::value + is_vector_c_arg<C16>::value
- + is_vector_c_arg<C17>::value + is_vector_c_arg<C18>::value
- + is_vector_c_arg<C19>::value + is_vector_c_arg<C20>::value
- );
-
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
-struct vector_c_impl
-{
- typedef aux::vector_c_count_args<
- C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
- > arg_num_;
-
- typedef typename aux::vector_c_chooser< arg_num_::value >
- ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-} // namespace aux
-
-template<
- typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
- , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
- , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
- , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
- , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
- , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
- , long C18 = LONG_MAX, long C19 = LONG_MAX
- >
-struct vector_c
- : aux::vector_c_impl<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
- >::type
-{
- typedef typename aux::vector_c_impl<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
- >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/no_ttp/advance_backward.hpp b/boost/mpl/aux_/preprocessed/no_ttp/advance_backward.hpp
deleted file mode 100644
index 26de94c..0000000
--- a/boost/mpl/aux_/preprocessed/no_ttp/advance_backward.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< long N > struct advance_backward;
-template<>
-struct advance_backward<0>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef iter0 type;
- };
-};
-
-template<>
-struct advance_backward<1>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename prior<iter0>::type iter1;
- typedef iter1 type;
- };
-};
-
-template<>
-struct advance_backward<2>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename prior<iter0>::type iter1;
- typedef typename prior<iter1>::type iter2;
- typedef iter2 type;
- };
-};
-
-template<>
-struct advance_backward<3>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename prior<iter0>::type iter1;
- typedef typename prior<iter1>::type iter2;
- typedef typename prior<iter2>::type iter3;
- typedef iter3 type;
- };
-};
-
-template<>
-struct advance_backward<4>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename prior<iter0>::type iter1;
- typedef typename prior<iter1>::type iter2;
- typedef typename prior<iter2>::type iter3;
- typedef typename prior<iter3>::type iter4;
- typedef iter4 type;
- };
-};
-
-template< long N >
-struct advance_backward
-{
- template< typename Iterator > struct apply
- {
- typedef typename apply_wrap1<
- advance_backward<4>
- , Iterator
- >::type chunk_result_;
-
- typedef typename apply_wrap1<
- advance_backward<(
- (N - 4) < 0
- ? 0
- : N - 4
- )>
- , chunk_result_
- >::type type;
- };
-};
-
-}}}
-
diff --git a/boost/mpl/aux_/preprocessed/no_ttp/advance_forward.hpp b/boost/mpl/aux_/preprocessed/no_ttp/advance_forward.hpp
deleted file mode 100644
index b137cc7..0000000
--- a/boost/mpl/aux_/preprocessed/no_ttp/advance_forward.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< long N > struct advance_forward;
-template<>
-struct advance_forward<0>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef iter0 type;
- };
-};
-
-template<>
-struct advance_forward<1>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename next<iter0>::type iter1;
- typedef iter1 type;
- };
-};
-
-template<>
-struct advance_forward<2>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename next<iter0>::type iter1;
- typedef typename next<iter1>::type iter2;
- typedef iter2 type;
- };
-};
-
-template<>
-struct advance_forward<3>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename next<iter0>::type iter1;
- typedef typename next<iter1>::type iter2;
- typedef typename next<iter2>::type iter3;
- typedef iter3 type;
- };
-};
-
-template<>
-struct advance_forward<4>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename next<iter0>::type iter1;
- typedef typename next<iter1>::type iter2;
- typedef typename next<iter2>::type iter3;
- typedef typename next<iter3>::type iter4;
- typedef iter4 type;
- };
-};
-
-template< long N >
-struct advance_forward
-{
- template< typename Iterator > struct apply
- {
- typedef typename apply_wrap1<
- advance_forward<4>
- , Iterator
- >::type chunk_result_;
-
- typedef typename apply_wrap1<
- advance_forward<(
- (N - 4) < 0
- ? 0
- : N - 4
- )>
- , chunk_result_
- >::type type;
- };
-};
-
-}}}
-
diff --git a/boost/mpl/aux_/preprocessed/no_ttp/and.hpp b/boost/mpl/aux_/preprocessed/no_ttp/and.hpp
deleted file mode 100644
index 010ad1f..0000000
--- a/boost/mpl/aux_/preprocessed/no_ttp/and.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/and.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< bool C_, typename T1, typename T2, typename T3, typename T4 >
-struct and_impl
- : false_
-{
-};
-
-template< typename T1, typename T2, typename T3, typename T4 >
-struct and_impl< true,T1,T2,T3,T4 >
- : and_impl<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
- , T2, T3, T4
- , true_
- >
-{
-};
-
-template<>
-struct and_impl<
- true
- , true_, true_, true_, true_
- >
- : true_
-{
-};
-
-} // namespace aux
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(T1)
- , typename BOOST_MPL_AUX_NA_PARAM(T2)
- , typename T3 = true_, typename T4 = true_, typename T5 = true_
- >
-struct and_
-
- : aux::and_impl<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
- , T2, T3, T4, T5
- >
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , and_
- , ( T1, T2, T3, T4, T5)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC2(
- 2
- , 5
- , and_
- )
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/no_ttp/apply.hpp b/boost/mpl/aux_/preprocessed/no_ttp/apply.hpp
deleted file mode 100644
index e08eacc..0000000
--- a/boost/mpl/aux_/preprocessed/no_ttp/apply.hpp
+++ /dev/null
@@ -1,169 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/apply.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename F
- >
-struct apply0
-
- : apply_wrap0<
- typename lambda<F>::type
-
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 1
- , apply0
- , (F )
- )
-};
-
-template<
- typename F
- >
-struct apply< F,na,na,na,na,na >
- : apply0<F>
-{
-};
-
-template<
- typename F, typename T1
- >
-struct apply1
-
- : apply_wrap1<
- typename lambda<F>::type
- , T1
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 2
- , apply1
- , (F, T1)
- )
-};
-
-template<
- typename F, typename T1
- >
-struct apply< F,T1,na,na,na,na >
- : apply1< F,T1 >
-{
-};
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply2
-
- : apply_wrap2<
- typename lambda<F>::type
- , T1, T2
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 3
- , apply2
- , (F, T1, T2)
- )
-};
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply< F,T1,T2,na,na,na >
- : apply2< F,T1,T2 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply3
-
- : apply_wrap3<
- typename lambda<F>::type
- , T1, T2, T3
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 4
- , apply3
- , (F, T1, T2, T3)
- )
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply< F,T1,T2,T3,na,na >
- : apply3< F,T1,T2,T3 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply4
-
- : apply_wrap4<
- typename lambda<F>::type
- , T1, T2, T3, T4
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , apply4
- , (F, T1, T2, T3, T4)
- )
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply< F,T1,T2,T3,T4,na >
- : apply4< F,T1,T2,T3,T4 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct apply5
-
- : apply_wrap5<
- typename lambda<F>::type
- , T1, T2, T3, T4, T5
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 6
- , apply5
- , (F, T1, T2, T3, T4, T5)
- )
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct apply
- : apply5< F,T1,T2,T3,T4,T5 >
-{
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/no_ttp/apply_fwd.hpp b/boost/mpl/aux_/preprocessed/no_ttp/apply_fwd.hpp
deleted file mode 100644
index b2ed5d5..0000000
--- a/boost/mpl/aux_/preprocessed/no_ttp/apply_fwd.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/apply_fwd.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename F, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na
- >
-struct apply;
-
-template<
- typename F
- >
-struct apply0;
-
-template<
- typename F, typename T1
- >
-struct apply1;
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply2;
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply3;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply4;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct apply5;
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/no_ttp/apply_wrap.hpp b/boost/mpl/aux_/preprocessed/no_ttp/apply_wrap.hpp
deleted file mode 100644
index 34d51a1..0000000
--- a/boost/mpl/aux_/preprocessed/no_ttp/apply_wrap.hpp
+++ /dev/null
@@ -1,84 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/apply_wrap.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename F
-
- , typename has_apply_ = typename aux::has_apply<F>::type
-
- >
-struct apply_wrap0
-
- : F::template apply< >
-{
-};
-
-template< typename F >
-struct apply_wrap0< F,true_ >
- : F::apply
-{
-};
-
-template<
- typename F, typename T1
-
- >
-struct apply_wrap1
-
- : F::template apply<T1>
-{
-};
-
-template<
- typename F, typename T1, typename T2
-
- >
-struct apply_wrap2
-
- : F::template apply< T1,T2 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
-
- >
-struct apply_wrap3
-
- : F::template apply< T1,T2,T3 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
-
- >
-struct apply_wrap4
-
- : F::template apply< T1,T2,T3,T4 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
-
- >
-struct apply_wrap5
-
- : F::template apply< T1,T2,T3,T4,T5 >
-{
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/no_ttp/arg.hpp b/boost/mpl/aux_/preprocessed/no_ttp/arg.hpp
deleted file mode 100644
index 6f2f8a8..0000000
--- a/boost/mpl/aux_/preprocessed/no_ttp/arg.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-
-// Copyright Peter Dimov 2001-2002
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/arg.hpp" header
-// -- DO NOT modify by hand!
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-template<> struct arg< -1 >
-{
- BOOST_STATIC_CONSTANT(int, value = -1);
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U1 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<1>
-{
- BOOST_STATIC_CONSTANT(int, value = 1);
- typedef arg<2> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U1 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<2>
-{
- BOOST_STATIC_CONSTANT(int, value = 2);
- typedef arg<3> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U2 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<3>
-{
- BOOST_STATIC_CONSTANT(int, value = 3);
- typedef arg<4> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U3 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<4>
-{
- BOOST_STATIC_CONSTANT(int, value = 4);
- typedef arg<5> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U4 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<5>
-{
- BOOST_STATIC_CONSTANT(int, value = 5);
- typedef arg<6> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U5 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
diff --git a/boost/mpl/aux_/preprocessed/no_ttp/basic_bind.hpp b/boost/mpl/aux_/preprocessed/no_ttp/basic_bind.hpp
deleted file mode 100644
index 095b84d..0000000
--- a/boost/mpl/aux_/preprocessed/no_ttp/basic_bind.hpp
+++ /dev/null
@@ -1,369 +0,0 @@
-
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
- typename T, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg
-{
- typedef T type;
-};
-
-template<
- int N, typename U1, typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >
-{
- typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 >
-{
- typedef bind< F,T1,T2,T3,T4,T5 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-template<
- typename F
- >
-struct bind0
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-
- public:
- typedef typename apply_wrap0<
- f_
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg<
- bind0<F>, U1, U2, U3, U4, U5
- >
-{
- typedef bind0<F> f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
-
-template<
- typename F
- >
-struct bind< F,na,na,na,na,na >
- : bind0<F>
-{
-};
-
-template<
- typename F, typename T1
- >
-struct bind1
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-
- public:
- typedef typename apply_wrap1<
- f_
- , typename t1::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename U1, typename U2, typename U3
- , typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind1< F,T1 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind1< F,T1 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
-
-template<
- typename F, typename T1
- >
-struct bind< F,T1,na,na,na,na >
- : bind1< F,T1 >
-{
-};
-
-template<
- typename F, typename T1, typename T2
- >
-struct bind2
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-
- public:
- typedef typename apply_wrap2<
- f_
- , typename t1::type, typename t2::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename U1, typename U2
- , typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind2< F,T1,T2 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind2< F,T1,T2 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
-
-template<
- typename F, typename T1, typename T2
- >
-struct bind< F,T1,T2,na,na,na >
- : bind2< F,T1,T2 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct bind3
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
- typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-
- public:
- typedef typename apply_wrap3<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename U1
- , typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind3< F,T1,T2,T3 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct bind< F,T1,T2,T3,na,na >
- : bind3< F,T1,T2,T3 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct bind4
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
- typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
- typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
-
- public:
- typedef typename apply_wrap4<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- , typename t4::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename U1, typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind4< F,T1,T2,T3,T4 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct bind< F,T1,T2,T3,T4,na >
- : bind4< F,T1,T2,T3,T4 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct bind5
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
- typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
- typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
- typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5;
-
- public:
- typedef typename apply_wrap5<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- , typename t4::type, typename t5::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg<
- bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind5< F,T1,T2,T3,T4,T5 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
-
-/// primary template (not a specialization!)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct bind
- : bind5< F,T1,T2,T3,T4,T5 >
-{
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/no_ttp/bind.hpp b/boost/mpl/aux_/preprocessed/no_ttp/bind.hpp
deleted file mode 100644
index 2891440..0000000
--- a/boost/mpl/aux_/preprocessed/no_ttp/bind.hpp
+++ /dev/null
@@ -1,466 +0,0 @@
-
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/bind.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
- typename T, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg
-{
- typedef T type;
-};
-
-template<
- typename T
- , typename Arg
- >
-struct replace_unnamed_arg
-{
- typedef Arg next;
- typedef T type;
-};
-
-template<
- typename Arg
- >
-struct replace_unnamed_arg< arg< -1 >, Arg >
-{
- typedef typename Arg::next next;
- typedef Arg type;
-};
-
-template<
- int N, typename U1, typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >
-{
- typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 >
-{
- typedef bind< F,T1,T2,T3,T4,T5 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-template<
- typename F
- >
-struct bind0
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- public:
- typedef typename apply_wrap0<
- f_
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg<
- bind0<F>, U1, U2, U3, U4, U5
- >
-{
- typedef bind0<F> f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
-
-template<
- typename F
- >
-struct bind< F,na,na,na,na,na >
- : bind0<F>
-{
-};
-
-template<
- typename F, typename T1
- >
-struct bind1
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- public:
- typedef typename apply_wrap1<
- f_
- , typename t1::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename U1, typename U2, typename U3
- , typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind1< F,T1 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind1< F,T1 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
-
-template<
- typename F, typename T1
- >
-struct bind< F,T1,na,na,na,na >
- : bind1< F,T1 >
-{
-};
-
-template<
- typename F, typename T1, typename T2
- >
-struct bind2
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- public:
- typedef typename apply_wrap2<
- f_
- , typename t1::type, typename t2::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename U1, typename U2
- , typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind2< F,T1,T2 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind2< F,T1,T2 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
-
-template<
- typename F, typename T1, typename T2
- >
-struct bind< F,T1,T2,na,na,na >
- : bind2< F,T1,T2 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct bind3
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- typedef aux::replace_unnamed_arg< T3,n3 > r3;
- typedef typename r3::type a3;
- typedef typename r3::next n4;
- typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
- ///
- public:
- typedef typename apply_wrap3<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename U1
- , typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind3< F,T1,T2,T3 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct bind< F,T1,T2,T3,na,na >
- : bind3< F,T1,T2,T3 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct bind4
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- typedef aux::replace_unnamed_arg< T3,n3 > r3;
- typedef typename r3::type a3;
- typedef typename r3::next n4;
- typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
- ///
- typedef aux::replace_unnamed_arg< T4,n4 > r4;
- typedef typename r4::type a4;
- typedef typename r4::next n5;
- typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
- ///
- public:
- typedef typename apply_wrap4<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- , typename t4::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename U1, typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind4< F,T1,T2,T3,T4 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct bind< F,T1,T2,T3,T4,na >
- : bind4< F,T1,T2,T3,T4 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct bind5
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- typedef aux::replace_unnamed_arg< T3,n3 > r3;
- typedef typename r3::type a3;
- typedef typename r3::next n4;
- typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
- ///
- typedef aux::replace_unnamed_arg< T4,n4 > r4;
- typedef typename r4::type a4;
- typedef typename r4::next n5;
- typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
- ///
- typedef aux::replace_unnamed_arg< T5,n5 > r5;
- typedef typename r5::type a5;
- typedef typename r5::next n6;
- typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5;
- ///
- public:
- typedef typename apply_wrap5<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- , typename t4::type, typename t5::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg<
- bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind5< F,T1,T2,T3,T4,T5 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
-
-/// primary template (not a specialization!)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct bind
- : bind5< F,T1,T2,T3,T4,T5 >
-{
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/no_ttp/bind_fwd.hpp b/boost/mpl/aux_/preprocessed/no_ttp/bind_fwd.hpp
deleted file mode 100644
index c4a5060..0000000
--- a/boost/mpl/aux_/preprocessed/no_ttp/bind_fwd.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/bind_fwd.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename F, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na
- >
-struct bind;
-
-template<
- typename F
- >
-struct bind0;
-
-template<
- typename F, typename T1
- >
-struct bind1;
-
-template<
- typename F, typename T1, typename T2
- >
-struct bind2;
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct bind3;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct bind4;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct bind5;
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/no_ttp/bitand.hpp b/boost/mpl/aux_/preprocessed/no_ttp/bitand.hpp
deleted file mode 100644
index 282771b..0000000
--- a/boost/mpl/aux_/preprocessed/no_ttp/bitand.hpp
+++ /dev/null
@@ -1,157 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// Preprocessed version of "boost/mpl/bitand.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct bitand_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitand_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitand_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitand_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct bitand_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct bitand_
- : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , bitand_
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct bitand_< N1,N2,N3,N4,na >
-
- : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitand_
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct bitand_< N1,N2,N3,na,na >
-
- : bitand_< bitand_< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitand_
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct bitand_< N1,N2,na,na,na >
- : bitand_impl<
- typename bitand_tag<N1>::type
- , typename bitand_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitand_
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, T n1, T n2 >
-struct bitand_wknd
-{
- BOOST_STATIC_CONSTANT(T, value = (n1 & n2));
- typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct bitand_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
- : aux::bitand_wknd<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , N1::value
- , N2::value
- >::type
-
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/no_ttp/bitor.hpp b/boost/mpl/aux_/preprocessed/no_ttp/bitor.hpp
deleted file mode 100644
index bc9c198..0000000
--- a/boost/mpl/aux_/preprocessed/no_ttp/bitor.hpp
+++ /dev/null
@@ -1,157 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// Preprocessed version of "boost/mpl/bitor.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct bitor_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitor_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitor_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitor_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct bitor_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct bitor_
- : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , bitor_
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct bitor_< N1,N2,N3,N4,na >
-
- : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitor_
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct bitor_< N1,N2,N3,na,na >
-
- : bitor_< bitor_< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitor_
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct bitor_< N1,N2,na,na,na >
- : bitor_impl<
- typename bitor_tag<N1>::type
- , typename bitor_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitor_
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, T n1, T n2 >
-struct bitor_wknd
-{
- BOOST_STATIC_CONSTANT(T, value = (n1 | n2));
- typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct bitor_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
- : aux::bitor_wknd<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , N1::value
- , N2::value
- >::type
-
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/no_ttp/bitxor.hpp b/boost/mpl/aux_/preprocessed/no_ttp/bitxor.hpp
deleted file mode 100644
index 76ce540..0000000
--- a/boost/mpl/aux_/preprocessed/no_ttp/bitxor.hpp
+++ /dev/null
@@ -1,157 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// Preprocessed version of "boost/mpl/bitxor.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct bitxor_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitxor_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitxor_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitxor_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct bitxor_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct bitxor_
- : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , bitxor_
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct bitxor_< N1,N2,N3,N4,na >
-
- : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitxor_
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct bitxor_< N1,N2,N3,na,na >
-
- : bitxor_< bitxor_< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitxor_
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct bitxor_< N1,N2,na,na,na >
- : bitxor_impl<
- typename bitxor_tag<N1>::type
- , typename bitxor_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitxor_
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, T n1, T n2 >
-struct bitxor_wknd
-{
- BOOST_STATIC_CONSTANT(T, value = (n1 ^ n2));
- typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct bitxor_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
- : aux::bitxor_wknd<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , N1::value
- , N2::value
- >::type
-
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/no_ttp/deque.hpp b/boost/mpl/aux_/preprocessed/no_ttp/deque.hpp
deleted file mode 100644
index de67398..0000000
--- a/boost/mpl/aux_/preprocessed/no_ttp/deque.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/deque.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct deque;
-
-template<
-
- >
-struct deque<
- na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector0< >
-{
- typedef vector0< >::type type;
-};
-
-template<
- typename T0
- >
-struct deque<
- T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector1<T0>
-{
- typedef typename vector1<T0>::type type;
-};
-
-template<
- typename T0, typename T1
- >
-struct deque<
- T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector2< T0,T1 >
-{
- typedef typename vector2< T0,T1 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct deque<
- T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector3< T0,T1,T2 >
-{
- typedef typename vector3< T0,T1,T2 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct deque<
- T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector4< T0,T1,T2,T3 >
-{
- typedef typename vector4< T0,T1,T2,T3 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct deque<
- T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector5< T0,T1,T2,T3,T4 >
-{
- typedef typename vector5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector6< T0,T1,T2,T3,T4,T5 >
-{
- typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector7< T0,T1,T2,T3,T4,T5,T6 >
-{
- typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
- typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
- typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
- typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
- , na, na, na
- >
- : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
- typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
- , na, na, na, na
- >
- : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
- typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
- , na, na, na, na
- >
- : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
- typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
- , na, na, na, na
- >
- : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
- typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
- , na, na, na, na
- >
- : vector15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >
-{
- typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, na, na, na, na
- >
- : vector16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15
- >
-{
- typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, na, na, na
- >
- : vector17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16
- >
-{
- typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, na, na
- >
- : vector18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17
- >
-{
- typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, na
- >
- : vector19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18
- >
-{
- typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct deque
- : vector20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, T19
- >
-{
- typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/no_ttp/divides.hpp b/boost/mpl/aux_/preprocessed/no_ttp/divides.hpp
deleted file mode 100644
index 9bc7fb1..0000000
--- a/boost/mpl/aux_/preprocessed/no_ttp/divides.hpp
+++ /dev/null
@@ -1,156 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/divides.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct divides_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct divides_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct divides_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct divides_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct divides_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct divides
- : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , divides
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct divides< N1,N2,N3,N4,na >
-
- : divides< divides< divides< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , divides
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct divides< N1,N2,N3,na,na >
-
- : divides< divides< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , divides
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct divides< N1,N2,na,na,na >
- : divides_impl<
- typename divides_tag<N1>::type
- , typename divides_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , divides
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, divides)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, T n1, T n2 >
-struct divides_wknd
-{
- BOOST_STATIC_CONSTANT(T, value = (n1 / n2));
- typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct divides_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
- : aux::divides_wknd<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , N1::value
- , N2::value
- >::type
-
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/no_ttp/equal_to.hpp b/boost/mpl/aux_/preprocessed/no_ttp/equal_to.hpp
deleted file mode 100644
index fa2dc4a..0000000
--- a/boost/mpl/aux_/preprocessed/no_ttp/equal_to.hpp
+++ /dev/null
@@ -1,98 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/equal_to.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct equal_to_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct equal_to_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct equal_to_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct equal_to_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct equal_to_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct equal_to
-
- : equal_to_impl<
- typename equal_to_tag<N1>::type
- , typename equal_to_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct equal_to_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- {
- BOOST_STATIC_CONSTANT(bool, value =
- ( BOOST_MPL_AUX_VALUE_WKND(N1)::value ==
- BOOST_MPL_AUX_VALUE_WKND(N2)::value )
- );
- typedef bool_<value> type;
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/no_ttp/fold_impl.hpp b/boost/mpl/aux_/preprocessed/no_ttp/fold_impl.hpp
deleted file mode 100644
index 9e7a293..0000000
--- a/boost/mpl/aux_/preprocessed/no_ttp/fold_impl.hpp
+++ /dev/null
@@ -1,180 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
- int N
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl;
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< 0,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef state0 state;
- typedef iter0 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< 1,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
-
-
- typedef state1 state;
- typedef iter1 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< 2,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
-
-
- typedef state2 state;
- typedef iter2 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< 3,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
- typedef typename mpl::next<iter2>::type iter3;
-
-
- typedef state3 state;
- typedef iter3 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< 4,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp, state3, typename deref<iter3>::type >::type state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef state4 state;
- typedef iter4 iterator;
-};
-
-template<
- int N
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl
-{
- typedef fold_impl<
- 4
- , First
- , Last
- , State
- , ForwardOp
- > chunk_;
-
- typedef fold_impl<
- ( (N - 4) < 0 ? 0 : N - 4 )
- , typename chunk_::iterator
- , Last
- , typename chunk_::state
- , ForwardOp
- > res_;
-
- typedef typename res_::state state;
- typedef typename res_::iterator iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< -1,First,Last,State,ForwardOp >
- : fold_impl<
- -1
- , typename mpl::next<First>::type
- , Last
- , typename apply2<ForwardOp,State, typename deref<First>::type>::type
- , ForwardOp
- >
-{
-};
-
-template<
- typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< -1,Last,Last,State,ForwardOp >
-{
- typedef State state;
- typedef Last iterator;
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/no_ttp/full_lambda.hpp b/boost/mpl/aux_/preprocessed/no_ttp/full_lambda.hpp
deleted file mode 100644
index bf81873..0000000
--- a/boost/mpl/aux_/preprocessed/no_ttp/full_lambda.hpp
+++ /dev/null
@@ -1,554 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
- bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
- , bool C5 = false
- >
-struct lambda_or
- : true_
-{
-};
-
-template<>
-struct lambda_or< false,false,false,false,false >
- : false_
-{
-};
-
-} // namespace aux
-
-template<
- typename T
- , typename Tag
-
- >
-struct lambda
-{
- typedef false_ is_le;
- typedef T result_;
- typedef T type;
-};
-
-template<
- typename T
- >
-struct is_lambda_expression
- : lambda<T>::is_le
-{
-};
-
-template< int N, typename Tag >
-struct lambda< arg<N>, Tag >
-{
- typedef true_ is_le;
- typedef mpl::arg<N> result_; // qualified for the sake of MIPSpro 7.41
- typedef mpl::protect<result_> type;
-};
-
-template<
- typename F
- , typename Tag
- >
-struct lambda<
- bind0<F>
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind0<
- F
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1 > class F
- , typename L1
- >
-struct le_result1
-{
- typedef F<
- typename L1::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1 > class F
- , typename L1
- >
-struct le_result1< true_,Tag,F,L1 >
-{
- typedef bind1<
- quote1< F,Tag >
- , typename L1::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template< typename P1 > class F
- , typename T1
- , typename Tag
- >
-struct lambda<
- F<T1>
- , Tag
-
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef typename l1::is_le is_le1;
- typedef typename aux::lambda_or<
- is_le1::value
- >::type is_le;
-
- typedef aux::le_result1<
- is_le, Tag, F, l1
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1
- , typename Tag
- >
-struct lambda<
- bind1< F,T1 >
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind1<
- F
- , T1
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1, typename P2 > class F
- , typename L1, typename L2
- >
-struct le_result2
-{
- typedef F<
- typename L1::type, typename L2::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1, typename P2 > class F
- , typename L1, typename L2
- >
-struct le_result2< true_,Tag,F,L1,L2 >
-{
- typedef bind2<
- quote2< F,Tag >
- , typename L1::result_, typename L2::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template< typename P1, typename P2 > class F
- , typename T1, typename T2
- , typename Tag
- >
-struct lambda<
- F< T1,T2 >
- , Tag
-
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef lambda< T2,Tag > l2;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
-
-
- typedef typename aux::lambda_or<
- is_le1::value, is_le2::value
- >::type is_le;
-
- typedef aux::le_result2<
- is_le, Tag, F, l1, l2
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1, typename T2
- , typename Tag
- >
-struct lambda<
- bind2< F,T1,T2 >
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind2<
- F
- , T1, T2
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1, typename P2, typename P3 > class F
- , typename L1, typename L2, typename L3
- >
-struct le_result3
-{
- typedef F<
- typename L1::type, typename L2::type, typename L3::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1, typename P2, typename P3 > class F
- , typename L1, typename L2, typename L3
- >
-struct le_result3< true_,Tag,F,L1,L2,L3 >
-{
- typedef bind3<
- quote3< F,Tag >
- , typename L1::result_, typename L2::result_, typename L3::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template< typename P1, typename P2, typename P3 > class F
- , typename T1, typename T2, typename T3
- , typename Tag
- >
-struct lambda<
- F< T1,T2,T3 >
- , Tag
-
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef lambda< T2,Tag > l2;
- typedef lambda< T3,Tag > l3;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
-
-
- typedef typename aux::lambda_or<
- is_le1::value, is_le2::value, is_le3::value
- >::type is_le;
-
- typedef aux::le_result3<
- is_le, Tag, F, l1, l2, l3
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- , typename Tag
- >
-struct lambda<
- bind3< F,T1,T2,T3 >
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind3<
- F
- , T1, T2, T3
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1, typename P2, typename P3, typename P4 > class F
- , typename L1, typename L2, typename L3, typename L4
- >
-struct le_result4
-{
- typedef F<
- typename L1::type, typename L2::type, typename L3::type
- , typename L4::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1, typename P2, typename P3, typename P4 > class F
- , typename L1, typename L2, typename L3, typename L4
- >
-struct le_result4< true_,Tag,F,L1,L2,L3,L4 >
-{
- typedef bind4<
- quote4< F,Tag >
- , typename L1::result_, typename L2::result_, typename L3::result_
- , typename L4::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template< typename P1, typename P2, typename P3, typename P4 > class F
- , typename T1, typename T2, typename T3, typename T4
- , typename Tag
- >
-struct lambda<
- F< T1,T2,T3,T4 >
- , Tag
-
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef lambda< T2,Tag > l2;
- typedef lambda< T3,Tag > l3;
- typedef lambda< T4,Tag > l4;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
- typedef typename l4::is_le is_le4;
-
-
- typedef typename aux::lambda_or<
- is_le1::value, is_le2::value, is_le3::value, is_le4::value
- >::type is_le;
-
- typedef aux::le_result4<
- is_le, Tag, F, l1, l2, l3, l4
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename Tag
- >
-struct lambda<
- bind4< F,T1,T2,T3,T4 >
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind4<
- F
- , T1, T2, T3, T4
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
- , typename L1, typename L2, typename L3, typename L4, typename L5
- >
-struct le_result5
-{
- typedef F<
- typename L1::type, typename L2::type, typename L3::type
- , typename L4::type, typename L5::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
- , typename L1, typename L2, typename L3, typename L4, typename L5
- >
-struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 >
-{
- typedef bind5<
- quote5< F,Tag >
- , typename L1::result_, typename L2::result_, typename L3::result_
- , typename L4::result_, typename L5::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template<
- typename P1, typename P2, typename P3, typename P4
- , typename P5
- >
- class F
- , typename T1, typename T2, typename T3, typename T4, typename T5
- , typename Tag
- >
-struct lambda<
- F< T1,T2,T3,T4,T5 >
- , Tag
-
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef lambda< T2,Tag > l2;
- typedef lambda< T3,Tag > l3;
- typedef lambda< T4,Tag > l4;
- typedef lambda< T5,Tag > l5;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
- typedef typename l4::is_le is_le4;
- typedef typename l5::is_le is_le5;
-
-
- typedef typename aux::lambda_or<
- is_le1::value, is_le2::value, is_le3::value, is_le4::value
- , is_le5::value
- >::type is_le;
-
- typedef aux::le_result5<
- is_le, Tag, F, l1, l2, l3, l4, l5
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- , typename Tag
- >
-struct lambda<
- bind5< F,T1,T2,T3,T4,T5 >
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind5<
- F
- , T1, T2, T3, T4, T5
- > result_;
-
- typedef result_ type;
-};
-
-/// special case for 'protect'
-template< typename T, typename Tag >
-struct lambda< mpl::protect<T>, Tag >
-{
- typedef false_ is_le;
- typedef mpl::protect<T> result_;
- typedef result_ type;
-};
-
-/// specializations for the main 'bind' form
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- , typename Tag
- >
-struct lambda<
- bind< F,T1,T2,T3,T4,T5 >
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind< F,T1,T2,T3,T4,T5 > result_;
- typedef result_ type;
-};
-
-/// workaround for MWCW 8.3+/EDG < 303, leads to ambiguity on Digital Mars
-
-template<
- typename F, typename Tag1, typename Tag2
- >
-struct lambda<
- lambda< F,Tag1 >
- , Tag2
- >
-{
- typedef lambda< F,Tag2 > l1;
- typedef lambda< Tag1,Tag2 > l2;
- typedef typename l1::is_le is_le;
- typedef aux::le_result2<is_le, Tag2, mpl::lambda, l1, l2> le_result_;
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, lambda)
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/no_ttp/greater.hpp b/boost/mpl/aux_/preprocessed/no_ttp/greater.hpp
deleted file mode 100644
index faa3f2b..0000000
--- a/boost/mpl/aux_/preprocessed/no_ttp/greater.hpp
+++ /dev/null
@@ -1,98 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/greater.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct greater_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct greater_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct greater_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct greater_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct greater_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct greater
-
- : greater_impl<
- typename greater_tag<N1>::type
- , typename greater_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct greater_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- {
- BOOST_STATIC_CONSTANT(bool, value =
- ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >
- BOOST_MPL_AUX_VALUE_WKND(N2)::value )
- );
- typedef bool_<value> type;
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/no_ttp/greater_equal.hpp b/boost/mpl/aux_/preprocessed/no_ttp/greater_equal.hpp
deleted file mode 100644
index 392d142..0000000
--- a/boost/mpl/aux_/preprocessed/no_ttp/greater_equal.hpp
+++ /dev/null
@@ -1,98 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/greater_equal.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct greater_equal_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct greater_equal_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct greater_equal_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct greater_equal_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct greater_equal_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct greater_equal
-
- : greater_equal_impl<
- typename greater_equal_tag<N1>::type
- , typename greater_equal_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct greater_equal_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- {
- BOOST_STATIC_CONSTANT(bool, value =
- ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >=
- BOOST_MPL_AUX_VALUE_WKND(N2)::value )
- );
- typedef bool_<value> type;
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/no_ttp/inherit.hpp b/boost/mpl/aux_/preprocessed/no_ttp/inherit.hpp
deleted file mode 100644
index 00f31c4..0000000
--- a/boost/mpl/aux_/preprocessed/no_ttp/inherit.hpp
+++ /dev/null
@@ -1,141 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/inherit.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(T1)
- , typename BOOST_MPL_AUX_NA_PARAM(T2)
- >
-struct inherit2
- : T1, T2
-{
- typedef inherit2 type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))
-};
-
-template< typename T1 >
-struct inherit2< T1,empty_base >
-{
- typedef T1 type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base))
-};
-
-template< typename T2 >
-struct inherit2< empty_base,T2 >
-{
- typedef T2 type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2))
-};
-
-template<>
-struct inherit2< empty_base,empty_base >
-{
- typedef empty_base type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base))
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, inherit2)
-
-template<
- typename T1 = na, typename T2 = na, typename T3 = na
- >
-struct inherit3
- : inherit2<
- typename inherit2<
- T1, T2
- >::type
- , T3
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 3
- , inherit3
- , ( T1, T2, T3)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC(3, inherit3)
-
-template<
- typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
- >
-struct inherit4
- : inherit2<
- typename inherit3<
- T1, T2, T3
- >::type
- , T4
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 4
- , inherit4
- , ( T1, T2, T3, T4)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC(4, inherit4)
-
-template<
- typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
- , typename T5 = na
- >
-struct inherit5
- : inherit2<
- typename inherit4<
- T1, T2, T3, T4
- >::type
- , T5
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , inherit5
- , ( T1, T2, T3, T4, T5)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC(5, inherit5)
-
-/// primary template
-
-template<
- typename T1 = empty_base, typename T2 = empty_base
- , typename T3 = empty_base, typename T4 = empty_base
- , typename T5 = empty_base
- >
-struct inherit
- : inherit5< T1,T2,T3,T4,T5 >
-{
-};
-
-template<>
-struct inherit< na,na,na,na,na >
-{
- template<
-
- typename T1 = empty_base, typename T2 = empty_base
- , typename T3 = empty_base, typename T4 = empty_base
- , typename T5 = empty_base
-
- >
- struct apply
- : inherit< T1,T2,T3,T4,T5 >
- {
- };
-};
-
-BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_if_impl.hpp b/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_if_impl.hpp
deleted file mode 100644
index 6951795..0000000
--- a/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_if_impl.hpp
+++ /dev/null
@@ -1,133 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright David Abrahams 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< typename Iterator, typename State >
-struct iter_fold_if_null_step
-{
- typedef State state;
- typedef Iterator iterator;
-};
-
-template< bool >
-struct iter_fold_if_step_impl
-{
- template<
- typename Iterator
- , typename State
- , typename StateOp
- , typename IteratorOp
- >
- struct result_
- {
- typedef typename apply2< StateOp,State,Iterator >::type state;
- typedef typename IteratorOp::type iterator;
- };
-};
-
-template<>
-struct iter_fold_if_step_impl<false>
-{
- template<
- typename Iterator
- , typename State
- , typename StateOp
- , typename IteratorOp
- >
- struct result_
- {
- typedef State state;
- typedef Iterator iterator;
- };
-};
-
-template<
- typename Iterator
- , typename State
- , typename ForwardOp
- , typename Predicate
- >
-struct iter_fold_if_forward_step
-{
- typedef typename apply2< Predicate,State,Iterator >::type not_last;
- typedef typename iter_fold_if_step_impl<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
- >::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_;
-
- typedef typename impl_::state state;
- typedef typename impl_::iterator iterator;
-};
-
-template<
- typename Iterator
- , typename State
- , typename BackwardOp
- , typename Predicate
- >
-struct iter_fold_if_backward_step
-{
- typedef typename apply2< Predicate,State,Iterator >::type not_last;
- typedef typename iter_fold_if_step_impl<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
- >::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_;
-
- typedef typename impl_::state state;
- typedef typename impl_::iterator iterator;
-};
-
-template<
- typename Iterator
- , typename State
- , typename ForwardOp
- , typename ForwardPredicate
- , typename BackwardOp
- , typename BackwardPredicate
- >
-struct iter_fold_if_impl
-{
- private:
- typedef iter_fold_if_null_step< Iterator,State > forward_step0;
- typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1;
- typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2;
- typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3;
- typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4;
-
-
- typedef typename if_<
- typename forward_step4::not_last
- , iter_fold_if_impl<
- typename forward_step4::iterator
- , typename forward_step4::state
- , ForwardOp
- , ForwardPredicate
- , BackwardOp
- , BackwardPredicate
- >
- , iter_fold_if_null_step<
- typename forward_step4::iterator
- , typename forward_step4::state
- >
- >::type backward_step4;
-
- typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3;
- typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2;
- typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1;
- typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0;
-
-
- public:
- typedef typename backward_step0::state state;
- typedef typename backward_step4::iterator iterator;
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_impl.hpp b/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_impl.hpp
deleted file mode 100644
index 805790e..0000000
--- a/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_impl.hpp
+++ /dev/null
@@ -1,180 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
- int N
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl;
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< 0,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef state0 state;
- typedef iter0 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< 1,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
-
-
- typedef state1 state;
- typedef iter1 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< 2,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
-
-
- typedef state2 state;
- typedef iter2 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< 3,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
- typedef typename mpl::next<iter2>::type iter3;
-
-
- typedef state3 state;
- typedef iter3 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< 4,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp,state3,iter3 >::type state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef state4 state;
- typedef iter4 iterator;
-};
-
-template<
- int N
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl
-{
- typedef iter_fold_impl<
- 4
- , First
- , Last
- , State
- , ForwardOp
- > chunk_;
-
- typedef iter_fold_impl<
- ( (N - 4) < 0 ? 0 : N - 4 )
- , typename chunk_::iterator
- , Last
- , typename chunk_::state
- , ForwardOp
- > res_;
-
- typedef typename res_::state state;
- typedef typename res_::iterator iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< -1,First,Last,State,ForwardOp >
- : iter_fold_impl<
- -1
- , typename mpl::next<First>::type
- , Last
- , typename apply2< ForwardOp,State,First >::type
- , ForwardOp
- >
-{
-};
-
-template<
- typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< -1,Last,Last,State,ForwardOp >
-{
- typedef State state;
- typedef Last iterator;
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/no_ttp/lambda_no_ctps.hpp b/boost/mpl/aux_/preprocessed/no_ttp/lambda_no_ctps.hpp
deleted file mode 100644
index 890a198..0000000
--- a/boost/mpl/aux_/preprocessed/no_ttp/lambda_no_ctps.hpp
+++ /dev/null
@@ -1,229 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
- bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
- , bool C5 = false
- >
-struct lambda_or
- : true_
-{
-};
-
-template<>
-struct lambda_or< false,false,false,false,false >
- : false_
-{
-};
-
-template< typename Arity > struct lambda_impl
-{
- template< typename T, typename Tag, typename Protect > struct result_
- {
- typedef T type;
- typedef is_placeholder<T> is_le;
- };
-};
-
-template<> struct lambda_impl< int_<1> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef typename l1::is_le is_le1;
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value
- > is_le;
-
- typedef bind1<
- typename F::rebind
- , typename l1::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-template<> struct lambda_impl< int_<2> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef lambda< typename F::arg2, Tag, false_ > l2;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
-
-
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value
- > is_le;
-
- typedef bind2<
- typename F::rebind
- , typename l1::type, typename l2::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-template<> struct lambda_impl< int_<3> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef lambda< typename F::arg2, Tag, false_ > l2;
- typedef lambda< typename F::arg3, Tag, false_ > l3;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
-
-
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value
- > is_le;
-
- typedef bind3<
- typename F::rebind
- , typename l1::type, typename l2::type, typename l3::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-template<> struct lambda_impl< int_<4> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef lambda< typename F::arg2, Tag, false_ > l2;
- typedef lambda< typename F::arg3, Tag, false_ > l3;
- typedef lambda< typename F::arg4, Tag, false_ > l4;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
- typedef typename l4::is_le is_le4;
-
-
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value
- > is_le;
-
- typedef bind4<
- typename F::rebind
- , typename l1::type, typename l2::type, typename l3::type
- , typename l4::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-template<> struct lambda_impl< int_<5> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef lambda< typename F::arg2, Tag, false_ > l2;
- typedef lambda< typename F::arg3, Tag, false_ > l3;
- typedef lambda< typename F::arg4, Tag, false_ > l4;
- typedef lambda< typename F::arg5, Tag, false_ > l5;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
- typedef typename l4::is_le is_le4;
- typedef typename l5::is_le is_le5;
-
-
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value
- > is_le;
-
- typedef bind5<
- typename F::rebind
- , typename l1::type, typename l2::type, typename l3::type
- , typename l4::type, typename l5::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-} // namespace aux
-
-template<
- typename T
- , typename Tag
- , typename Protect
- >
-struct lambda
-{
- /// Metafunction forwarding confuses MSVC 6.x
- typedef typename aux::template_arity<T>::type arity_;
- typedef typename aux::lambda_impl<arity_>
- ::template result_< T,Tag,Protect > l_;
-
- typedef typename l_::type type;
- typedef typename l_::is_le is_le;
- BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))
-};
-
-BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
-
-template<
- typename T
- >
-struct is_lambda_expression
- : lambda<T>::is_le
-{
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/no_ttp/less.hpp b/boost/mpl/aux_/preprocessed/no_ttp/less.hpp
deleted file mode 100644
index 6451680..0000000
--- a/boost/mpl/aux_/preprocessed/no_ttp/less.hpp
+++ /dev/null
@@ -1,98 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/less.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct less_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct less_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct less_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct less_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct less_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct less
-
- : less_impl<
- typename less_tag<N1>::type
- , typename less_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct less_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- {
- BOOST_STATIC_CONSTANT(bool, value =
- ( BOOST_MPL_AUX_VALUE_WKND(N2)::value >
- BOOST_MPL_AUX_VALUE_WKND(N1)::value )
- );
- typedef bool_<value> type;
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/no_ttp/less_equal.hpp b/boost/mpl/aux_/preprocessed/no_ttp/less_equal.hpp
deleted file mode 100644
index 00ae0d3..0000000
--- a/boost/mpl/aux_/preprocessed/no_ttp/less_equal.hpp
+++ /dev/null
@@ -1,98 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/less_equal.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct less_equal_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct less_equal_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct less_equal_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct less_equal_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct less_equal_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct less_equal
-
- : less_equal_impl<
- typename less_equal_tag<N1>::type
- , typename less_equal_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct less_equal_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- {
- BOOST_STATIC_CONSTANT(bool, value =
- ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <=
- BOOST_MPL_AUX_VALUE_WKND(N2)::value )
- );
- typedef bool_<value> type;
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/no_ttp/list.hpp b/boost/mpl/aux_/preprocessed/no_ttp/list.hpp
deleted file mode 100644
index 4e8ad53..0000000
--- a/boost/mpl/aux_/preprocessed/no_ttp/list.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/list.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct list;
-
-template<
-
- >
-struct list<
- na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list0< >
-{
- typedef list0< >::type type;
-};
-
-template<
- typename T0
- >
-struct list<
- T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list1<T0>
-{
- typedef typename list1<T0>::type type;
-};
-
-template<
- typename T0, typename T1
- >
-struct list<
- T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list2< T0,T1 >
-{
- typedef typename list2< T0,T1 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct list<
- T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list3< T0,T1,T2 >
-{
- typedef typename list3< T0,T1,T2 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct list<
- T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list4< T0,T1,T2,T3 >
-{
- typedef typename list4< T0,T1,T2,T3 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct list<
- T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list5< T0,T1,T2,T3,T4 >
-{
- typedef typename list5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct list<
- T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list6< T0,T1,T2,T3,T4,T5 >
-{
- typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list7< T0,T1,T2,T3,T4,T5,T6 >
-{
- typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
- typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
- typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
- , na, na, na
- >
- : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
- typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
- , na, na, na
- >
- : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
- typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
- , na, na, na, na
- >
- : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
- typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
- , na, na, na, na
- >
- : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
- typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
- , na, na, na, na
- >
- : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
- typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
- , na, na, na, na
- >
- : list15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >
-{
- typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, na, na, na, na
- >
- : list16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15
- >
-{
- typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, na, na, na
- >
- : list17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16
- >
-{
- typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, na, na
- >
- : list18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17
- >
-{
- typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, na
- >
- : list19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18
- >
-{
- typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct list
- : list20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, T19
- >
-{
- typedef typename list20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/no_ttp/list_c.hpp b/boost/mpl/aux_/preprocessed/no_ttp/list_c.hpp
deleted file mode 100644
index 0b48a7f..0000000
--- a/boost/mpl/aux_/preprocessed/no_ttp/list_c.hpp
+++ /dev/null
@@ -1,328 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/list_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
- , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
- , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
- , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
- , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
- , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
- , long C18 = LONG_MAX, long C19 = LONG_MAX
- >
-struct list_c;
-
-template<
- typename T
- >
-struct list_c<
- T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list0_c<T>
-{
- typedef typename list0_c<T>::type type;
-};
-
-template<
- typename T, long C0
- >
-struct list_c<
- T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list1_c< T,C0 >
-{
- typedef typename list1_c< T,C0 >::type type;
-};
-
-template<
- typename T, long C0, long C1
- >
-struct list_c<
- T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list2_c< T,C0,C1 >
-{
- typedef typename list2_c< T,C0,C1 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2
- >
-struct list_c<
- T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list3_c< T,C0,C1,C2 >
-{
- typedef typename list3_c< T,C0,C1,C2 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3
- >
-struct list_c<
- T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list4_c< T,C0,C1,C2,C3 >
-{
- typedef typename list4_c< T,C0,C1,C2,C3 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list5_c< T,C0,C1,C2,C3,C4 >
-{
- typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list6_c< T,C0,C1,C2,C3,C4,C5 >
-{
- typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list7_c< T,C0,C1,C2,C3,C4,C5,C6 >
-{
- typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX
- >
- : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >
-{
- typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >
-{
- typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >
-{
- typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >
-{
- typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >
-{
- typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >
-{
- typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list14_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- >
-{
- typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list15_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- >
-{
- typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list16_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15
- >
-{
- typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list17_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16
- >
-{
- typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, LONG_MAX, LONG_MAX
- >
- : list18_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17
- >
-{
- typedef typename list18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18, LONG_MAX
- >
- : list19_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18
- >
-{
- typedef typename list19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
-struct list_c
- : list20_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18, C19
- >
-{
- typedef typename list20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/no_ttp/map.hpp b/boost/mpl/aux_/preprocessed/no_ttp/map.hpp
deleted file mode 100644
index 837e013..0000000
--- a/boost/mpl/aux_/preprocessed/no_ttp/map.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/map.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct map;
-
-template<
-
- >
-struct map<
- na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map0< >
-{
- typedef map0< >::type type;
-};
-
-template<
- typename T0
- >
-struct map<
- T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map1<T0>
-{
- typedef typename map1<T0>::type type;
-};
-
-template<
- typename T0, typename T1
- >
-struct map<
- T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map2< T0,T1 >
-{
- typedef typename map2< T0,T1 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct map<
- T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map3< T0,T1,T2 >
-{
- typedef typename map3< T0,T1,T2 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct map<
- T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map4< T0,T1,T2,T3 >
-{
- typedef typename map4< T0,T1,T2,T3 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct map<
- T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map5< T0,T1,T2,T3,T4 >
-{
- typedef typename map5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct map<
- T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map6< T0,T1,T2,T3,T4,T5 >
-{
- typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map7< T0,T1,T2,T3,T4,T5,T6 >
-{
- typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
- typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
- typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
- , na, na, na
- >
- : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
- typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
- , na, na, na
- >
- : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
- typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
- , na, na, na, na
- >
- : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
- typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
- , na, na, na, na
- >
- : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
- typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
- , na, na, na, na
- >
- : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
- typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
- , na, na, na, na
- >
- : map15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >
-{
- typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, na, na, na, na
- >
- : map16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15
- >
-{
- typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, na, na, na
- >
- : map17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16
- >
-{
- typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, na, na
- >
- : map18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17
- >
-{
- typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, na
- >
- : map19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18
- >
-{
- typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct map
- : map20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, T19
- >
-{
- typedef typename map20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/no_ttp/minus.hpp b/boost/mpl/aux_/preprocessed/no_ttp/minus.hpp
deleted file mode 100644
index bb67c59..0000000
--- a/boost/mpl/aux_/preprocessed/no_ttp/minus.hpp
+++ /dev/null
@@ -1,156 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/minus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct minus_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct minus_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct minus_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct minus_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct minus_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct minus
- : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , minus
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct minus< N1,N2,N3,N4,na >
-
- : minus< minus< minus< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , minus
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct minus< N1,N2,N3,na,na >
-
- : minus< minus< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , minus
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct minus< N1,N2,na,na,na >
- : minus_impl<
- typename minus_tag<N1>::type
- , typename minus_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , minus
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, minus)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, T n1, T n2 >
-struct minus_wknd
-{
- BOOST_STATIC_CONSTANT(T, value = (n1 - n2));
- typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct minus_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
- : aux::minus_wknd<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , N1::value
- , N2::value
- >::type
-
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/no_ttp/modulus.hpp b/boost/mpl/aux_/preprocessed/no_ttp/modulus.hpp
deleted file mode 100644
index 6fd0cab..0000000
--- a/boost/mpl/aux_/preprocessed/no_ttp/modulus.hpp
+++ /dev/null
@@ -1,111 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/modulus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct modulus_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct modulus_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct modulus_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct modulus_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct modulus_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct modulus
-
- : modulus_impl<
- typename modulus_tag<N1>::type
- , typename modulus_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, T n1, T n2 >
-struct modulus_wknd
-{
- BOOST_STATIC_CONSTANT(T, value = (n1 % n2));
- typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct modulus_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
- : aux::modulus_wknd<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , N1::value
- , N2::value
- >::type
-
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/no_ttp/not_equal_to.hpp b/boost/mpl/aux_/preprocessed/no_ttp/not_equal_to.hpp
deleted file mode 100644
index 7c940a5..0000000
--- a/boost/mpl/aux_/preprocessed/no_ttp/not_equal_to.hpp
+++ /dev/null
@@ -1,98 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/not_equal_to.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct not_equal_to_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct not_equal_to_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct not_equal_to_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct not_equal_to_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct not_equal_to_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct not_equal_to
-
- : not_equal_to_impl<
- typename not_equal_to_tag<N1>::type
- , typename not_equal_to_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct not_equal_to_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- {
- BOOST_STATIC_CONSTANT(bool, value =
- ( BOOST_MPL_AUX_VALUE_WKND(N1)::value !=
- BOOST_MPL_AUX_VALUE_WKND(N2)::value )
- );
- typedef bool_<value> type;
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/no_ttp/or.hpp b/boost/mpl/aux_/preprocessed/no_ttp/or.hpp
deleted file mode 100644
index 31e1aaa..0000000
--- a/boost/mpl/aux_/preprocessed/no_ttp/or.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/or.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< bool C_, typename T1, typename T2, typename T3, typename T4 >
-struct or_impl
- : true_
-{
-};
-
-template< typename T1, typename T2, typename T3, typename T4 >
-struct or_impl< false,T1,T2,T3,T4 >
- : or_impl<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
- , T2, T3, T4
- , false_
- >
-{
-};
-
-template<>
-struct or_impl<
- false
- , false_, false_, false_, false_
- >
- : false_
-{
-};
-
-} // namespace aux
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(T1)
- , typename BOOST_MPL_AUX_NA_PARAM(T2)
- , typename T3 = false_, typename T4 = false_, typename T5 = false_
- >
-struct or_
-
- : aux::or_impl<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
- , T2, T3, T4, T5
- >
-
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , or_
- , ( T1, T2, T3, T4, T5)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC2(
- 2
- , 5
- , or_
- )
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/no_ttp/placeholders.hpp b/boost/mpl/aux_/preprocessed/no_ttp/placeholders.hpp
deleted file mode 100644
index ff97364..0000000
--- a/boost/mpl/aux_/preprocessed/no_ttp/placeholders.hpp
+++ /dev/null
@@ -1,105 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright Peter Dimov 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/placeholders.hpp" header
-// -- DO NOT modify by hand!
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg< -1 > _;
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
-}
-
-}}
-
-/// agurt, 17/mar/02: one more placeholder for the last 'apply#'
-/// specialization
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<1> _1;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<2> _2;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<3> _3;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<4> _4;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<5> _5;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<6> _6;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;
-}
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/no_ttp/plus.hpp b/boost/mpl/aux_/preprocessed/no_ttp/plus.hpp
deleted file mode 100644
index cecead7..0000000
--- a/boost/mpl/aux_/preprocessed/no_ttp/plus.hpp
+++ /dev/null
@@ -1,156 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/plus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct plus_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct plus_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct plus_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct plus_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct plus_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct plus
- : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , plus
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct plus< N1,N2,N3,N4,na >
-
- : plus< plus< plus< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , plus
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct plus< N1,N2,N3,na,na >
-
- : plus< plus< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , plus
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct plus< N1,N2,na,na,na >
- : plus_impl<
- typename plus_tag<N1>::type
- , typename plus_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , plus
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, plus)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, T n1, T n2 >
-struct plus_wknd
-{
- BOOST_STATIC_CONSTANT(T, value = (n1 + n2));
- typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct plus_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
- : aux::plus_wknd<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , N1::value
- , N2::value
- >::type
-
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/no_ttp/quote.hpp b/boost/mpl/aux_/preprocessed/no_ttp/quote.hpp
deleted file mode 100644
index e7a7f00..0000000
--- a/boost/mpl/aux_/preprocessed/no_ttp/quote.hpp
+++ /dev/null
@@ -1,11 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/quote.hpp" header
-// -- DO NOT modify by hand!
-
diff --git a/boost/mpl/aux_/preprocessed/no_ttp/reverse_fold_impl.hpp b/boost/mpl/aux_/preprocessed/no_ttp/reverse_fold_impl.hpp
deleted file mode 100644
index c468684..0000000
--- a/boost/mpl/aux_/preprocessed/no_ttp/reverse_fold_impl.hpp
+++ /dev/null
@@ -1,231 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
- long N
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl;
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef fwd_state0 bkwd_state0;
- typedef bkwd_state0 state;
- typedef iter0 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
-
-
- typedef fwd_state1 bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
- typedef bkwd_state0 state;
- typedef iter1 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
-
-
- typedef fwd_state2 bkwd_state2;
- typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter2 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
-
-
- typedef fwd_state3 bkwd_state3;
- typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
- typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter3 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef fwd_state4 bkwd_state4;
- typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;
- typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
- typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter4 iterator;
-};
-
-template<
- long N
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef reverse_fold_impl<
- ( (N - 4) < 0 ? 0 : N - 4 )
- , iter4
- , Last
- , fwd_state4
- , BackwardOp
- , ForwardOp
- > nested_chunk;
-
- typedef typename nested_chunk::state bkwd_state4;
- typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;
- typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
- typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef typename nested_chunk::iterator iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef reverse_fold_impl<
- -1
- , typename mpl::next<First>::type
- , Last
- , typename apply2<ForwardOp,State, typename deref<First>::type>::type
- , BackwardOp
- , ForwardOp
- > nested_step;
-
- typedef typename apply2<
- BackwardOp
- , typename nested_step::state
- , typename deref<First>::type
- >::type state;
-
- typedef typename nested_step::iterator iterator;
-};
-
-template<
- typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp >
-{
- typedef State state;
- typedef Last iterator;
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/no_ttp/reverse_iter_fold_impl.hpp b/boost/mpl/aux_/preprocessed/no_ttp/reverse_iter_fold_impl.hpp
deleted file mode 100644
index 658f92a..0000000
--- a/boost/mpl/aux_/preprocessed/no_ttp/reverse_iter_fold_impl.hpp
+++ /dev/null
@@ -1,231 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
- long N
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl;
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef fwd_state0 bkwd_state0;
- typedef bkwd_state0 state;
- typedef iter0 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
-
-
- typedef fwd_state1 bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
- typedef bkwd_state0 state;
- typedef iter1 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
-
-
- typedef fwd_state2 bkwd_state2;
- typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter2 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
-
-
- typedef fwd_state3 bkwd_state3;
- typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
- typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter3 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef fwd_state4 bkwd_state4;
- typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;
- typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
- typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter4 iterator;
-};
-
-template<
- long N
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef reverse_iter_fold_impl<
- ( (N - 4) < 0 ? 0 : N - 4 )
- , iter4
- , Last
- , fwd_state4
- , BackwardOp
- , ForwardOp
- > nested_chunk;
-
- typedef typename nested_chunk::state bkwd_state4;
- typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;
- typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
- typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef typename nested_chunk::iterator iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef reverse_iter_fold_impl<
- -1
- , typename mpl::next<First>::type
- , Last
- , typename apply2< ForwardOp,State,First >::type
- , BackwardOp
- , ForwardOp
- > nested_step;
-
- typedef typename apply2<
- BackwardOp
- , typename nested_step::state
- , First
- >::type state;
-
- typedef typename nested_step::iterator iterator;
-};
-
-template<
- typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp >
-{
- typedef State state;
- typedef Last iterator;
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/no_ttp/set.hpp b/boost/mpl/aux_/preprocessed/no_ttp/set.hpp
deleted file mode 100644
index 5721922..0000000
--- a/boost/mpl/aux_/preprocessed/no_ttp/set.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/set.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct set;
-
-template<
-
- >
-struct set<
- na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set0< >
-{
- typedef set0< >::type type;
-};
-
-template<
- typename T0
- >
-struct set<
- T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set1<T0>
-{
- typedef typename set1<T0>::type type;
-};
-
-template<
- typename T0, typename T1
- >
-struct set<
- T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set2< T0,T1 >
-{
- typedef typename set2< T0,T1 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct set<
- T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set3< T0,T1,T2 >
-{
- typedef typename set3< T0,T1,T2 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct set<
- T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set4< T0,T1,T2,T3 >
-{
- typedef typename set4< T0,T1,T2,T3 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct set<
- T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set5< T0,T1,T2,T3,T4 >
-{
- typedef typename set5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct set<
- T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set6< T0,T1,T2,T3,T4,T5 >
-{
- typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set7< T0,T1,T2,T3,T4,T5,T6 >
-{
- typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
- typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
- typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
- , na, na, na
- >
- : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
- typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
- , na, na, na
- >
- : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
- typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
- , na, na, na, na
- >
- : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
- typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
- , na, na, na, na
- >
- : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
- typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
- , na, na, na, na
- >
- : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
- typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
- , na, na, na, na
- >
- : set15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >
-{
- typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, na, na, na, na
- >
- : set16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15
- >
-{
- typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, na, na, na
- >
- : set17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16
- >
-{
- typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, na, na
- >
- : set18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17
- >
-{
- typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, na
- >
- : set19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18
- >
-{
- typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct set
- : set20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, T19
- >
-{
- typedef typename set20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/no_ttp/set_c.hpp b/boost/mpl/aux_/preprocessed/no_ttp/set_c.hpp
deleted file mode 100644
index cbeb932..0000000
--- a/boost/mpl/aux_/preprocessed/no_ttp/set_c.hpp
+++ /dev/null
@@ -1,328 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/set_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
- , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
- , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
- , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
- , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
- , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
- , long C18 = LONG_MAX, long C19 = LONG_MAX
- >
-struct set_c;
-
-template<
- typename T
- >
-struct set_c<
- T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set0_c<T>
-{
- typedef typename set0_c<T>::type type;
-};
-
-template<
- typename T, long C0
- >
-struct set_c<
- T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set1_c< T,C0 >
-{
- typedef typename set1_c< T,C0 >::type type;
-};
-
-template<
- typename T, long C0, long C1
- >
-struct set_c<
- T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set2_c< T,C0,C1 >
-{
- typedef typename set2_c< T,C0,C1 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2
- >
-struct set_c<
- T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set3_c< T,C0,C1,C2 >
-{
- typedef typename set3_c< T,C0,C1,C2 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3
- >
-struct set_c<
- T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set4_c< T,C0,C1,C2,C3 >
-{
- typedef typename set4_c< T,C0,C1,C2,C3 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set5_c< T,C0,C1,C2,C3,C4 >
-{
- typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set6_c< T,C0,C1,C2,C3,C4,C5 >
-{
- typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set7_c< T,C0,C1,C2,C3,C4,C5,C6 >
-{
- typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX
- >
- : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >
-{
- typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >
-{
- typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >
-{
- typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >
-{
- typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >
-{
- typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >
-{
- typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set14_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- >
-{
- typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set15_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- >
-{
- typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set16_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15
- >
-{
- typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set17_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16
- >
-{
- typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, LONG_MAX, LONG_MAX
- >
- : set18_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17
- >
-{
- typedef typename set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18, LONG_MAX
- >
- : set19_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18
- >
-{
- typedef typename set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
-struct set_c
- : set20_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18, C19
- >
-{
- typedef typename set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/no_ttp/shift_left.hpp b/boost/mpl/aux_/preprocessed/no_ttp/shift_left.hpp
deleted file mode 100644
index 7ef4672..0000000
--- a/boost/mpl/aux_/preprocessed/no_ttp/shift_left.hpp
+++ /dev/null
@@ -1,110 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// Preprocessed version of "boost/mpl/shift_left.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct shift_left_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct shift_left_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct shift_left_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct shift_left_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct shift_left_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct shift_left
-
- : shift_left_impl<
- typename shift_left_tag<N1>::type
- , typename shift_left_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, typename Shift, T n, Shift s >
-struct shift_left_wknd
-{
- BOOST_STATIC_CONSTANT(T, value = (n << s));
- typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct shift_left_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N, typename S > struct apply
- : aux::shift_left_wknd<
- typename N::value_type
- , typename S::value_type
- , N::value
- , S::value
- >::type
-
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/no_ttp/shift_right.hpp b/boost/mpl/aux_/preprocessed/no_ttp/shift_right.hpp
deleted file mode 100644
index 91a98f7..0000000
--- a/boost/mpl/aux_/preprocessed/no_ttp/shift_right.hpp
+++ /dev/null
@@ -1,110 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// Preprocessed version of "boost/mpl/shift_right.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct shift_right_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct shift_right_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct shift_right_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct shift_right_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct shift_right_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct shift_right
-
- : shift_right_impl<
- typename shift_right_tag<N1>::type
- , typename shift_right_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, typename Shift, T n, Shift s >
-struct shift_right_wknd
-{
- BOOST_STATIC_CONSTANT(T, value = (n >> s));
- typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct shift_right_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N, typename S > struct apply
- : aux::shift_right_wknd<
- typename N::value_type
- , typename S::value_type
- , N::value
- , S::value
- >::type
-
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/no_ttp/template_arity.hpp b/boost/mpl/aux_/preprocessed/no_ttp/template_arity.hpp
deleted file mode 100644
index 1164f0f..0000000
--- a/boost/mpl/aux_/preprocessed/no_ttp/template_arity.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< bool >
-struct template_arity_impl
-{
- template< typename F > struct result_
- : mpl::int_< -1 >
- {
- };
-};
-
-template<>
-struct template_arity_impl<true>
-{
- template< typename F > struct result_
- : F::arity
- {
- };
-};
-
-template< typename F >
-struct template_arity
- : template_arity_impl< ::boost::mpl::aux::has_rebind<F>::value >
- ::template result_<F>
-{
-};
-
-}}}
-
diff --git a/boost/mpl/aux_/preprocessed/no_ttp/times.hpp b/boost/mpl/aux_/preprocessed/no_ttp/times.hpp
deleted file mode 100644
index d019b57..0000000
--- a/boost/mpl/aux_/preprocessed/no_ttp/times.hpp
+++ /dev/null
@@ -1,156 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/times.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct times_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct times_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct times_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct times_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct times_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct times
- : times< times< times< times< N1,N2 >, N3>, N4>, N5>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 5
- , times
- , ( N1, N2, N3, N4, N5 )
- )
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct times< N1,N2,N3,N4,na >
-
- : times< times< times< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , times
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct times< N1,N2,N3,na,na >
-
- : times< times< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , times
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct times< N1,N2,na,na,na >
- : times_impl<
- typename times_tag<N1>::type
- , typename times_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , times
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, times)
-
-}}
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T, T n1, T n2 >
-struct times_wknd
-{
- BOOST_STATIC_CONSTANT(T, value = (n1 * n2));
- typedef integral_c< T,value > type;
-};
-
-}
-
-template<>
-struct times_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
- : aux::times_wknd<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , N1::value
- , N2::value
- >::type
-
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/no_ttp/unpack_args.hpp b/boost/mpl/aux_/preprocessed/no_ttp/unpack_args.hpp
deleted file mode 100644
index 2194ce9..0000000
--- a/boost/mpl/aux_/preprocessed/no_ttp/unpack_args.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/unpack_args.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< int size, typename F, typename Args >
-struct unpack_args_impl;
-
-template< typename F, typename Args >
-struct unpack_args_impl< 0,F,Args >
- : apply0<
- F
- >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 1,F,Args >
- : apply1<
- F
- , typename at_c< Args,0 >::type
- >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 2,F,Args >
- : apply2<
- F
- , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
- >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 3,F,Args >
- : apply3<
- F
- , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
- , typename at_c< Args,2 >::type
- >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 4,F,Args >
- : apply4<
- F
- , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
- , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
- >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 5,F,Args >
- : apply5<
- F
- , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
- , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
- , typename at_c< Args,4 >::type
- >
-{
-};
-
-}
-
-template<
- typename F
- >
-struct unpack_args
-{
- template< typename Args > struct apply
-
- : aux::unpack_args_impl< size<Args>::value,F, Args >
-
- {
- };
-};
-
-BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/no_ttp/vector.hpp b/boost/mpl/aux_/preprocessed/no_ttp/vector.hpp
deleted file mode 100644
index bfa9565..0000000
--- a/boost/mpl/aux_/preprocessed/no_ttp/vector.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/vector.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct vector;
-
-template<
-
- >
-struct vector<
- na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector0< >
-{
- typedef vector0< >::type type;
-};
-
-template<
- typename T0
- >
-struct vector<
- T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector1<T0>
-{
- typedef typename vector1<T0>::type type;
-};
-
-template<
- typename T0, typename T1
- >
-struct vector<
- T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector2< T0,T1 >
-{
- typedef typename vector2< T0,T1 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct vector<
- T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector3< T0,T1,T2 >
-{
- typedef typename vector3< T0,T1,T2 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct vector<
- T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector4< T0,T1,T2,T3 >
-{
- typedef typename vector4< T0,T1,T2,T3 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct vector<
- T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector5< T0,T1,T2,T3,T4 >
-{
- typedef typename vector5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector6< T0,T1,T2,T3,T4,T5 >
-{
- typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector7< T0,T1,T2,T3,T4,T5,T6 >
-{
- typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
- typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
- typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
- typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
- , na, na, na
- >
- : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
- typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
- , na, na, na, na
- >
- : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
- typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
- , na, na, na, na
- >
- : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
- typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
- , na, na, na, na
- >
- : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
- typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
- , na, na, na, na
- >
- : vector15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >
-{
- typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, na, na, na, na
- >
- : vector16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15
- >
-{
- typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, na, na, na
- >
- : vector17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16
- >
-{
- typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, na, na
- >
- : vector18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17
- >
-{
- typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, na
- >
- : vector19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18
- >
-{
- typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct vector
- : vector20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, T19
- >
-{
- typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/no_ttp/vector_c.hpp b/boost/mpl/aux_/preprocessed/no_ttp/vector_c.hpp
deleted file mode 100644
index 0f1560d..0000000
--- a/boost/mpl/aux_/preprocessed/no_ttp/vector_c.hpp
+++ /dev/null
@@ -1,309 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/vector_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
- , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
- , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
- , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
- , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
- , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
- , long C18 = LONG_MAX, long C19 = LONG_MAX
- >
-struct vector_c;
-
-template<
- typename T
- >
-struct vector_c<
- T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector0_c<T>
-{
- typedef typename vector0_c<T>::type type;
-};
-
-template<
- typename T, long C0
- >
-struct vector_c<
- T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector1_c< T, T(C0) >
-{
- typedef typename vector1_c< T, T(C0) >::type type;
-};
-
-template<
- typename T, long C0, long C1
- >
-struct vector_c<
- T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector2_c< T, T(C0), T(C1) >
-{
- typedef typename vector2_c< T, T(C0), T(C1) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2
- >
-struct vector_c<
- T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector3_c< T, T(C0), T(C1), T(C2) >
-{
- typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3
- >
-struct vector_c<
- T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector4_c< T, T(C0), T(C1), T(C2), T(C3) >
-{
- typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >
-{
- typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >
-{
- typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >
-{
- typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX
- >
- : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >
-{
- typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >
-{
- typedef typename vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >
-{
- typedef typename vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >
-{
- typedef typename vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >
-{
- typedef typename vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >
-{
- typedef typename vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >
-{
- typedef typename vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >
-{
- typedef typename vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >
-{
- typedef typename vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >
-{
- typedef typename vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, LONG_MAX, LONG_MAX
- >
- : vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >
-{
- typedef typename vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18, LONG_MAX
- >
- : vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >
-{
- typedef typename vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
-struct vector_c
- : vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >
-{
- typedef typename vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/plain/advance_backward.hpp b/boost/mpl/aux_/preprocessed/plain/advance_backward.hpp
deleted file mode 100644
index 26de94c..0000000
--- a/boost/mpl/aux_/preprocessed/plain/advance_backward.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< long N > struct advance_backward;
-template<>
-struct advance_backward<0>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef iter0 type;
- };
-};
-
-template<>
-struct advance_backward<1>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename prior<iter0>::type iter1;
- typedef iter1 type;
- };
-};
-
-template<>
-struct advance_backward<2>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename prior<iter0>::type iter1;
- typedef typename prior<iter1>::type iter2;
- typedef iter2 type;
- };
-};
-
-template<>
-struct advance_backward<3>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename prior<iter0>::type iter1;
- typedef typename prior<iter1>::type iter2;
- typedef typename prior<iter2>::type iter3;
- typedef iter3 type;
- };
-};
-
-template<>
-struct advance_backward<4>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename prior<iter0>::type iter1;
- typedef typename prior<iter1>::type iter2;
- typedef typename prior<iter2>::type iter3;
- typedef typename prior<iter3>::type iter4;
- typedef iter4 type;
- };
-};
-
-template< long N >
-struct advance_backward
-{
- template< typename Iterator > struct apply
- {
- typedef typename apply_wrap1<
- advance_backward<4>
- , Iterator
- >::type chunk_result_;
-
- typedef typename apply_wrap1<
- advance_backward<(
- (N - 4) < 0
- ? 0
- : N - 4
- )>
- , chunk_result_
- >::type type;
- };
-};
-
-}}}
-
diff --git a/boost/mpl/aux_/preprocessed/plain/advance_forward.hpp b/boost/mpl/aux_/preprocessed/plain/advance_forward.hpp
deleted file mode 100644
index b137cc7..0000000
--- a/boost/mpl/aux_/preprocessed/plain/advance_forward.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< long N > struct advance_forward;
-template<>
-struct advance_forward<0>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef iter0 type;
- };
-};
-
-template<>
-struct advance_forward<1>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename next<iter0>::type iter1;
- typedef iter1 type;
- };
-};
-
-template<>
-struct advance_forward<2>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename next<iter0>::type iter1;
- typedef typename next<iter1>::type iter2;
- typedef iter2 type;
- };
-};
-
-template<>
-struct advance_forward<3>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename next<iter0>::type iter1;
- typedef typename next<iter1>::type iter2;
- typedef typename next<iter2>::type iter3;
- typedef iter3 type;
- };
-};
-
-template<>
-struct advance_forward<4>
-{
- template< typename Iterator > struct apply
- {
- typedef Iterator iter0;
- typedef typename next<iter0>::type iter1;
- typedef typename next<iter1>::type iter2;
- typedef typename next<iter2>::type iter3;
- typedef typename next<iter3>::type iter4;
- typedef iter4 type;
- };
-};
-
-template< long N >
-struct advance_forward
-{
- template< typename Iterator > struct apply
- {
- typedef typename apply_wrap1<
- advance_forward<4>
- , Iterator
- >::type chunk_result_;
-
- typedef typename apply_wrap1<
- advance_forward<(
- (N - 4) < 0
- ? 0
- : N - 4
- )>
- , chunk_result_
- >::type type;
- };
-};
-
-}}}
-
diff --git a/boost/mpl/aux_/preprocessed/plain/and.hpp b/boost/mpl/aux_/preprocessed/plain/and.hpp
deleted file mode 100644
index 163913f..0000000
--- a/boost/mpl/aux_/preprocessed/plain/and.hpp
+++ /dev/null
@@ -1,64 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/and.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< bool C_, typename T1, typename T2, typename T3, typename T4 >
-struct and_impl
- : false_
-{
-};
-
-template< typename T1, typename T2, typename T3, typename T4 >
-struct and_impl< true,T1,T2,T3,T4 >
- : and_impl<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
- , T2, T3, T4
- , true_
- >
-{
-};
-
-template<>
-struct and_impl<
- true
- , true_, true_, true_, true_
- >
- : true_
-{
-};
-
-} // namespace aux
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(T1)
- , typename BOOST_MPL_AUX_NA_PARAM(T2)
- , typename T3 = true_, typename T4 = true_, typename T5 = true_
- >
-struct and_
-
- : aux::and_impl<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
- , T2, T3, T4, T5
- >
-
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC2(
- 2
- , 5
- , and_
- )
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/plain/apply.hpp b/boost/mpl/aux_/preprocessed/plain/apply.hpp
deleted file mode 100644
index 89d9e4b..0000000
--- a/boost/mpl/aux_/preprocessed/plain/apply.hpp
+++ /dev/null
@@ -1,139 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/apply.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename F
- >
-struct apply0
-
- : apply_wrap0<
- typename lambda<F>::type
-
- >
-{
-};
-
-template<
- typename F
- >
-struct apply< F,na,na,na,na,na >
- : apply0<F>
-{
-};
-
-template<
- typename F, typename T1
- >
-struct apply1
-
- : apply_wrap1<
- typename lambda<F>::type
- , T1
- >
-{
-};
-
-template<
- typename F, typename T1
- >
-struct apply< F,T1,na,na,na,na >
- : apply1< F,T1 >
-{
-};
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply2
-
- : apply_wrap2<
- typename lambda<F>::type
- , T1, T2
- >
-{
-};
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply< F,T1,T2,na,na,na >
- : apply2< F,T1,T2 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply3
-
- : apply_wrap3<
- typename lambda<F>::type
- , T1, T2, T3
- >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply< F,T1,T2,T3,na,na >
- : apply3< F,T1,T2,T3 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply4
-
- : apply_wrap4<
- typename lambda<F>::type
- , T1, T2, T3, T4
- >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply< F,T1,T2,T3,T4,na >
- : apply4< F,T1,T2,T3,T4 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct apply5
-
- : apply_wrap5<
- typename lambda<F>::type
- , T1, T2, T3, T4, T5
- >
-{
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct apply
- : apply5< F,T1,T2,T3,T4,T5 >
-{
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/plain/apply_fwd.hpp b/boost/mpl/aux_/preprocessed/plain/apply_fwd.hpp
deleted file mode 100644
index b2ed5d5..0000000
--- a/boost/mpl/aux_/preprocessed/plain/apply_fwd.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/apply_fwd.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename F, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na
- >
-struct apply;
-
-template<
- typename F
- >
-struct apply0;
-
-template<
- typename F, typename T1
- >
-struct apply1;
-
-template<
- typename F, typename T1, typename T2
- >
-struct apply2;
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct apply3;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct apply4;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct apply5;
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp b/boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp
deleted file mode 100644
index 34d51a1..0000000
--- a/boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp
+++ /dev/null
@@ -1,84 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/apply_wrap.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename F
-
- , typename has_apply_ = typename aux::has_apply<F>::type
-
- >
-struct apply_wrap0
-
- : F::template apply< >
-{
-};
-
-template< typename F >
-struct apply_wrap0< F,true_ >
- : F::apply
-{
-};
-
-template<
- typename F, typename T1
-
- >
-struct apply_wrap1
-
- : F::template apply<T1>
-{
-};
-
-template<
- typename F, typename T1, typename T2
-
- >
-struct apply_wrap2
-
- : F::template apply< T1,T2 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
-
- >
-struct apply_wrap3
-
- : F::template apply< T1,T2,T3 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
-
- >
-struct apply_wrap4
-
- : F::template apply< T1,T2,T3,T4 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
-
- >
-struct apply_wrap5
-
- : F::template apply< T1,T2,T3,T4,T5 >
-{
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/plain/arg.hpp b/boost/mpl/aux_/preprocessed/plain/arg.hpp
deleted file mode 100644
index 6f2f8a8..0000000
--- a/boost/mpl/aux_/preprocessed/plain/arg.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-
-// Copyright Peter Dimov 2001-2002
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/arg.hpp" header
-// -- DO NOT modify by hand!
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-template<> struct arg< -1 >
-{
- BOOST_STATIC_CONSTANT(int, value = -1);
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U1 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<1>
-{
- BOOST_STATIC_CONSTANT(int, value = 1);
- typedef arg<2> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U1 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<2>
-{
- BOOST_STATIC_CONSTANT(int, value = 2);
- typedef arg<3> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U2 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<3>
-{
- BOOST_STATIC_CONSTANT(int, value = 3);
- typedef arg<4> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U3 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<4>
-{
- BOOST_STATIC_CONSTANT(int, value = 4);
- typedef arg<5> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U4 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-template<> struct arg<5>
-{
- BOOST_STATIC_CONSTANT(int, value = 5);
- typedef arg<6> next;
- BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
- BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
-
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- typedef U5 type;
- BOOST_MPL_AUX_ASSERT_NOT_NA(type);
- };
-};
-
-BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
diff --git a/boost/mpl/aux_/preprocessed/plain/basic_bind.hpp b/boost/mpl/aux_/preprocessed/plain/basic_bind.hpp
deleted file mode 100644
index b070232..0000000
--- a/boost/mpl/aux_/preprocessed/plain/basic_bind.hpp
+++ /dev/null
@@ -1,440 +0,0 @@
-
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
- typename T, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg
-{
- typedef T type;
-};
-
-template<
- int N, typename U1, typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >
-{
- typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 >
-{
- typedef bind< F,T1,T2,T3,T4,T5 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-template<
- typename F
- >
-struct bind0
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
-
- public:
- typedef typename apply_wrap0<
- f_
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg<
- bind0<F>, U1, U2, U3, U4, U5
- >
-{
- typedef bind0<F> f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
-
-template<
- typename F
- >
-struct bind< F,na,na,na,na,na >
- : bind0<F>
-{
-};
-
-template<
- typename F, typename T1
- >
-struct bind1
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
-
- public:
- typedef typename apply_wrap1<
- f_
- , typename t1::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename U1, typename U2, typename U3
- , typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind1< F,T1 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind1< F,T1 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
-
-template<
- typename F, typename T1
- >
-struct bind< F,T1,na,na,na,na >
- : bind1< F,T1 >
-{
-};
-
-template<
- typename F, typename T1, typename T2
- >
-struct bind2
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
-
- public:
- typedef typename apply_wrap2<
- f_
- , typename t1::type, typename t2::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename U1, typename U2
- , typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind2< F,T1,T2 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind2< F,T1,T2 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
-
-template<
- typename F, typename T1, typename T2
- >
-struct bind< F,T1,T2,na,na,na >
- : bind2< F,T1,T2 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct bind3
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
- typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
-
- public:
- typedef typename apply_wrap3<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename U1
- , typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind3< F,T1,T2,T3 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct bind< F,T1,T2,T3,na,na >
- : bind3< F,T1,T2,T3 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct bind4
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
- typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
- typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
-
- public:
- typedef typename apply_wrap4<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- , typename t4::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename U1, typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind4< F,T1,T2,T3,T4 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct bind< F,T1,T2,T3,T4,na >
- : bind4< F,T1,T2,T3,T4 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct bind5
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
- typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
- typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
- typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5;
-
- public:
- typedef typename apply_wrap5<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- , typename t4::type, typename t5::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg<
- bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind5< F,T1,T2,T3,T4,T5 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
-
-/// primary template (not a specialization!)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct bind
- : bind5< F,T1,T2,T3,T4,T5 >
-{
-};
-
-/// if_/eval_if specializations
-template< template< typename T1, typename T2, typename T3 > class F, typename Tag >
-struct quote3;
-
-template< typename T1, typename T2, typename T3 > struct if_;
-
-template<
- typename Tag, typename T1, typename T2, typename T3
- >
-struct bind3<
- quote3< if_,Tag >
- , T1, T2, T3
- >
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef mpl::arg<1> n1;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
- typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
- typedef typename if_<
- typename t1::type
- , t2, t3
- >::type f_;
-
- public:
- typedef typename f_::type type;
- };
-};
-
-template<
- template< typename T1, typename T2, typename T3 > class F, typename Tag
- >
-struct quote3;
-
-template< typename T1, typename T2, typename T3 > struct eval_if;
-
-template<
- typename Tag, typename T1, typename T2, typename T3
- >
-struct bind3<
- quote3< eval_if,Tag >
- , T1, T2, T3
- >
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef mpl::arg<1> n1;
- typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
- typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
- typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
- typedef typename eval_if<
- typename t1::type
- , t2, t3
- >::type f_;
-
- public:
- typedef typename f_::type type;
- };
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/plain/bind.hpp b/boost/mpl/aux_/preprocessed/plain/bind.hpp
deleted file mode 100644
index 0e9513a..0000000
--- a/boost/mpl/aux_/preprocessed/plain/bind.hpp
+++ /dev/null
@@ -1,561 +0,0 @@
-
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/bind.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
- typename T, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg
-{
- typedef T type;
-};
-
-template<
- typename T
- , typename Arg
- >
-struct replace_unnamed_arg
-{
- typedef Arg next;
- typedef T type;
-};
-
-template<
- typename Arg
- >
-struct replace_unnamed_arg< arg< -1 >, Arg >
-{
- typedef typename Arg::next next;
- typedef Arg type;
-};
-
-template<
- int N, typename U1, typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >
-{
- typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 >
-{
- typedef bind< F,T1,T2,T3,T4,T5 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-template<
- typename F
- >
-struct bind0
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- public:
- typedef typename apply_wrap0<
- f_
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg<
- bind0<F>, U1, U2, U3, U4, U5
- >
-{
- typedef bind0<F> f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
-
-template<
- typename F
- >
-struct bind< F,na,na,na,na,na >
- : bind0<F>
-{
-};
-
-template<
- typename F, typename T1
- >
-struct bind1
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- public:
- typedef typename apply_wrap1<
- f_
- , typename t1::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename U1, typename U2, typename U3
- , typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind1< F,T1 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind1< F,T1 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
-
-template<
- typename F, typename T1
- >
-struct bind< F,T1,na,na,na,na >
- : bind1< F,T1 >
-{
-};
-
-template<
- typename F, typename T1, typename T2
- >
-struct bind2
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- public:
- typedef typename apply_wrap2<
- f_
- , typename t1::type, typename t2::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename U1, typename U2
- , typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind2< F,T1,T2 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind2< F,T1,T2 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
-
-template<
- typename F, typename T1, typename T2
- >
-struct bind< F,T1,T2,na,na,na >
- : bind2< F,T1,T2 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct bind3
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- typedef aux::replace_unnamed_arg< T3,n3 > r3;
- typedef typename r3::type a3;
- typedef typename r3::next n4;
- typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
- ///
- public:
- typedef typename apply_wrap3<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename U1
- , typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind3< F,T1,T2,T3 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct bind< F,T1,T2,T3,na,na >
- : bind3< F,T1,T2,T3 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct bind4
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- typedef aux::replace_unnamed_arg< T3,n3 > r3;
- typedef typename r3::type a3;
- typedef typename r3::next n4;
- typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
- ///
- typedef aux::replace_unnamed_arg< T4,n4 > r4;
- typedef typename r4::type a4;
- typedef typename r4::next n5;
- typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
- ///
- public:
- typedef typename apply_wrap4<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- , typename t4::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename U1, typename U2, typename U3, typename U4, typename U5
- >
-struct resolve_bind_arg<
- bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind4< F,T1,T2,T3,T4 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct bind< F,T1,T2,T3,T4,na >
- : bind4< F,T1,T2,T3,T4 >
-{
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct bind5
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
- ///
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- typedef aux::replace_unnamed_arg< T3,n3 > r3;
- typedef typename r3::type a3;
- typedef typename r3::next n4;
- typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
- ///
- typedef aux::replace_unnamed_arg< T4,n4 > r4;
- typedef typename r4::type a4;
- typedef typename r4::next n5;
- typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
- ///
- typedef aux::replace_unnamed_arg< T5,n5 > r5;
- typedef typename r5::type a5;
- typedef typename r5::next n6;
- typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5;
- ///
- public:
- typedef typename apply_wrap5<
- f_
- , typename t1::type, typename t2::type, typename t3::type
- , typename t4::type, typename t5::type
- >::type type;
-
- };
-};
-
-namespace aux {
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
-struct resolve_bind_arg<
- bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5
- >
-{
- typedef bind5< F,T1,T2,T3,T4,T5 > f_;
- typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
-
-/// primary template (not a specialization!)
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct bind
- : bind5< F,T1,T2,T3,T4,T5 >
-{
-};
-
-/// if_/eval_if specializations
-template< template< typename T1, typename T2, typename T3 > class F, typename Tag >
-struct quote3;
-
-template< typename T1, typename T2, typename T3 > struct if_;
-
-template<
- typename Tag, typename T1, typename T2, typename T3
- >
-struct bind3<
- quote3< if_,Tag >
- , T1, T2, T3
- >
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef mpl::arg<1> n1;
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- typedef aux::replace_unnamed_arg< T3,n3 > r3;
- typedef typename r3::type a3;
- typedef typename r3::next n4;
- typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
- ///
- typedef typename if_<
- typename t1::type
- , t2, t3
- >::type f_;
-
- public:
- typedef typename f_::type type;
- };
-};
-
-template<
- template< typename T1, typename T2, typename T3 > class F, typename Tag
- >
-struct quote3;
-
-template< typename T1, typename T2, typename T3 > struct eval_if;
-
-template<
- typename Tag, typename T1, typename T2, typename T3
- >
-struct bind3<
- quote3< eval_if,Tag >
- , T1, T2, T3
- >
-{
- template<
- typename U1 = na, typename U2 = na, typename U3 = na
- , typename U4 = na, typename U5 = na
- >
- struct apply
- {
- private:
- typedef mpl::arg<1> n1;
- typedef aux::replace_unnamed_arg< T1,n1 > r1;
- typedef typename r1::type a1;
- typedef typename r1::next n2;
- typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
- ///
- typedef aux::replace_unnamed_arg< T2,n2 > r2;
- typedef typename r2::type a2;
- typedef typename r2::next n3;
- typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
- ///
- typedef aux::replace_unnamed_arg< T3,n3 > r3;
- typedef typename r3::type a3;
- typedef typename r3::next n4;
- typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
- ///
- typedef typename eval_if<
- typename t1::type
- , t2, t3
- >::type f_;
-
- public:
- typedef typename f_::type type;
- };
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/plain/bind_fwd.hpp b/boost/mpl/aux_/preprocessed/plain/bind_fwd.hpp
deleted file mode 100644
index c4a5060..0000000
--- a/boost/mpl/aux_/preprocessed/plain/bind_fwd.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/bind_fwd.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename F, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na
- >
-struct bind;
-
-template<
- typename F
- >
-struct bind0;
-
-template<
- typename F, typename T1
- >
-struct bind1;
-
-template<
- typename F, typename T1, typename T2
- >
-struct bind2;
-
-template<
- typename F, typename T1, typename T2, typename T3
- >
-struct bind3;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- >
-struct bind4;
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct bind5;
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/plain/bitand.hpp b/boost/mpl/aux_/preprocessed/plain/bitand.hpp
deleted file mode 100644
index ee40fb3..0000000
--- a/boost/mpl/aux_/preprocessed/plain/bitand.hpp
+++ /dev/null
@@ -1,142 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// Preprocessed version of "boost/mpl/bitand.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct bitand_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitand_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitand_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitand_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct bitand_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct bitand_
- : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5>
-{
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct bitand_< N1,N2,N3,N4,na >
-
- : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitand_
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct bitand_< N1,N2,N3,na,na >
-
- : bitand_< bitand_< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitand_
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct bitand_< N1,N2,na,na,na >
- : bitand_impl<
- typename bitand_tag<N1>::type
- , typename bitand_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitand_
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitand_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- & BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/plain/bitor.hpp b/boost/mpl/aux_/preprocessed/plain/bitor.hpp
deleted file mode 100644
index 1e28d3b..0000000
--- a/boost/mpl/aux_/preprocessed/plain/bitor.hpp
+++ /dev/null
@@ -1,142 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// Preprocessed version of "boost/mpl/bitor.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct bitor_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitor_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitor_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitor_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct bitor_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct bitor_
- : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5>
-{
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct bitor_< N1,N2,N3,N4,na >
-
- : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitor_
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct bitor_< N1,N2,N3,na,na >
-
- : bitor_< bitor_< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitor_
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct bitor_< N1,N2,na,na,na >
- : bitor_impl<
- typename bitor_tag<N1>::type
- , typename bitor_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitor_
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitor_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- | BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/plain/bitxor.hpp b/boost/mpl/aux_/preprocessed/plain/bitxor.hpp
deleted file mode 100644
index 2ba879d..0000000
--- a/boost/mpl/aux_/preprocessed/plain/bitxor.hpp
+++ /dev/null
@@ -1,142 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// Preprocessed version of "boost/mpl/bitxor.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct bitxor_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct bitxor_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitxor_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct bitxor_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct bitxor_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct bitxor_
- : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5>
-{
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct bitxor_< N1,N2,N3,N4,na >
-
- : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitxor_
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct bitxor_< N1,N2,N3,na,na >
-
- : bitxor_< bitxor_< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitxor_
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct bitxor_< N1,N2,na,na,na >
- : bitxor_impl<
- typename bitxor_tag<N1>::type
- , typename bitxor_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , bitxor_
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct bitxor_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/plain/deque.hpp b/boost/mpl/aux_/preprocessed/plain/deque.hpp
deleted file mode 100644
index de67398..0000000
--- a/boost/mpl/aux_/preprocessed/plain/deque.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/deque.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct deque;
-
-template<
-
- >
-struct deque<
- na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector0< >
-{
- typedef vector0< >::type type;
-};
-
-template<
- typename T0
- >
-struct deque<
- T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector1<T0>
-{
- typedef typename vector1<T0>::type type;
-};
-
-template<
- typename T0, typename T1
- >
-struct deque<
- T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector2< T0,T1 >
-{
- typedef typename vector2< T0,T1 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct deque<
- T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector3< T0,T1,T2 >
-{
- typedef typename vector3< T0,T1,T2 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct deque<
- T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector4< T0,T1,T2,T3 >
-{
- typedef typename vector4< T0,T1,T2,T3 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct deque<
- T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector5< T0,T1,T2,T3,T4 >
-{
- typedef typename vector5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector6< T0,T1,T2,T3,T4,T5 >
-{
- typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector7< T0,T1,T2,T3,T4,T5,T6 >
-{
- typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
- typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
- typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
- typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
- , na, na, na
- >
- : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
- typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
- , na, na, na, na
- >
- : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
- typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
- , na, na, na, na
- >
- : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
- typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
- , na, na, na, na
- >
- : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
- typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
- , na, na, na, na
- >
- : vector15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >
-{
- typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, na, na, na, na
- >
- : vector16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15
- >
-{
- typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, na, na, na
- >
- : vector17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16
- >
-{
- typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, na, na
- >
- : vector18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17
- >
-{
- typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct deque<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, na
- >
- : vector19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18
- >
-{
- typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct deque
- : vector20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, T19
- >
-{
- typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/plain/divides.hpp b/boost/mpl/aux_/preprocessed/plain/divides.hpp
deleted file mode 100644
index f365d62..0000000
--- a/boost/mpl/aux_/preprocessed/plain/divides.hpp
+++ /dev/null
@@ -1,141 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/divides.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct divides_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct divides_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct divides_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct divides_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct divides_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct divides
- : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5>
-{
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct divides< N1,N2,N3,N4,na >
-
- : divides< divides< divides< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , divides
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct divides< N1,N2,N3,na,na >
-
- : divides< divides< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , divides
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct divides< N1,N2,na,na,na >
- : divides_impl<
- typename divides_tag<N1>::type
- , typename divides_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , divides
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, divides)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct divides_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- / BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/plain/equal_to.hpp b/boost/mpl/aux_/preprocessed/plain/equal_to.hpp
deleted file mode 100644
index bbc6bf0..0000000
--- a/boost/mpl/aux_/preprocessed/plain/equal_to.hpp
+++ /dev/null
@@ -1,92 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/equal_to.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct equal_to_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct equal_to_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct equal_to_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct equal_to_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct equal_to_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct equal_to
-
- : equal_to_impl<
- typename equal_to_tag<N1>::type
- , typename equal_to_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct equal_to_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/plain/fold_impl.hpp b/boost/mpl/aux_/preprocessed/plain/fold_impl.hpp
deleted file mode 100644
index 9e7a293..0000000
--- a/boost/mpl/aux_/preprocessed/plain/fold_impl.hpp
+++ /dev/null
@@ -1,180 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
- int N
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl;
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< 0,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef state0 state;
- typedef iter0 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< 1,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
-
-
- typedef state1 state;
- typedef iter1 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< 2,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
-
-
- typedef state2 state;
- typedef iter2 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< 3,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
- typedef typename mpl::next<iter2>::type iter3;
-
-
- typedef state3 state;
- typedef iter3 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< 4,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp, state3, typename deref<iter3>::type >::type state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef state4 state;
- typedef iter4 iterator;
-};
-
-template<
- int N
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl
-{
- typedef fold_impl<
- 4
- , First
- , Last
- , State
- , ForwardOp
- > chunk_;
-
- typedef fold_impl<
- ( (N - 4) < 0 ? 0 : N - 4 )
- , typename chunk_::iterator
- , Last
- , typename chunk_::state
- , ForwardOp
- > res_;
-
- typedef typename res_::state state;
- typedef typename res_::iterator iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< -1,First,Last,State,ForwardOp >
- : fold_impl<
- -1
- , typename mpl::next<First>::type
- , Last
- , typename apply2<ForwardOp,State, typename deref<First>::type>::type
- , ForwardOp
- >
-{
-};
-
-template<
- typename Last
- , typename State
- , typename ForwardOp
- >
-struct fold_impl< -1,Last,Last,State,ForwardOp >
-{
- typedef State state;
- typedef Last iterator;
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/plain/full_lambda.hpp b/boost/mpl/aux_/preprocessed/plain/full_lambda.hpp
deleted file mode 100644
index bf81873..0000000
--- a/boost/mpl/aux_/preprocessed/plain/full_lambda.hpp
+++ /dev/null
@@ -1,554 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
- bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
- , bool C5 = false
- >
-struct lambda_or
- : true_
-{
-};
-
-template<>
-struct lambda_or< false,false,false,false,false >
- : false_
-{
-};
-
-} // namespace aux
-
-template<
- typename T
- , typename Tag
-
- >
-struct lambda
-{
- typedef false_ is_le;
- typedef T result_;
- typedef T type;
-};
-
-template<
- typename T
- >
-struct is_lambda_expression
- : lambda<T>::is_le
-{
-};
-
-template< int N, typename Tag >
-struct lambda< arg<N>, Tag >
-{
- typedef true_ is_le;
- typedef mpl::arg<N> result_; // qualified for the sake of MIPSpro 7.41
- typedef mpl::protect<result_> type;
-};
-
-template<
- typename F
- , typename Tag
- >
-struct lambda<
- bind0<F>
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind0<
- F
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1 > class F
- , typename L1
- >
-struct le_result1
-{
- typedef F<
- typename L1::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1 > class F
- , typename L1
- >
-struct le_result1< true_,Tag,F,L1 >
-{
- typedef bind1<
- quote1< F,Tag >
- , typename L1::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template< typename P1 > class F
- , typename T1
- , typename Tag
- >
-struct lambda<
- F<T1>
- , Tag
-
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef typename l1::is_le is_le1;
- typedef typename aux::lambda_or<
- is_le1::value
- >::type is_le;
-
- typedef aux::le_result1<
- is_le, Tag, F, l1
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1
- , typename Tag
- >
-struct lambda<
- bind1< F,T1 >
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind1<
- F
- , T1
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1, typename P2 > class F
- , typename L1, typename L2
- >
-struct le_result2
-{
- typedef F<
- typename L1::type, typename L2::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1, typename P2 > class F
- , typename L1, typename L2
- >
-struct le_result2< true_,Tag,F,L1,L2 >
-{
- typedef bind2<
- quote2< F,Tag >
- , typename L1::result_, typename L2::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template< typename P1, typename P2 > class F
- , typename T1, typename T2
- , typename Tag
- >
-struct lambda<
- F< T1,T2 >
- , Tag
-
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef lambda< T2,Tag > l2;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
-
-
- typedef typename aux::lambda_or<
- is_le1::value, is_le2::value
- >::type is_le;
-
- typedef aux::le_result2<
- is_le, Tag, F, l1, l2
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1, typename T2
- , typename Tag
- >
-struct lambda<
- bind2< F,T1,T2 >
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind2<
- F
- , T1, T2
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1, typename P2, typename P3 > class F
- , typename L1, typename L2, typename L3
- >
-struct le_result3
-{
- typedef F<
- typename L1::type, typename L2::type, typename L3::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1, typename P2, typename P3 > class F
- , typename L1, typename L2, typename L3
- >
-struct le_result3< true_,Tag,F,L1,L2,L3 >
-{
- typedef bind3<
- quote3< F,Tag >
- , typename L1::result_, typename L2::result_, typename L3::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template< typename P1, typename P2, typename P3 > class F
- , typename T1, typename T2, typename T3
- , typename Tag
- >
-struct lambda<
- F< T1,T2,T3 >
- , Tag
-
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef lambda< T2,Tag > l2;
- typedef lambda< T3,Tag > l3;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
-
-
- typedef typename aux::lambda_or<
- is_le1::value, is_le2::value, is_le3::value
- >::type is_le;
-
- typedef aux::le_result3<
- is_le, Tag, F, l1, l2, l3
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3
- , typename Tag
- >
-struct lambda<
- bind3< F,T1,T2,T3 >
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind3<
- F
- , T1, T2, T3
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1, typename P2, typename P3, typename P4 > class F
- , typename L1, typename L2, typename L3, typename L4
- >
-struct le_result4
-{
- typedef F<
- typename L1::type, typename L2::type, typename L3::type
- , typename L4::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1, typename P2, typename P3, typename P4 > class F
- , typename L1, typename L2, typename L3, typename L4
- >
-struct le_result4< true_,Tag,F,L1,L2,L3,L4 >
-{
- typedef bind4<
- quote4< F,Tag >
- , typename L1::result_, typename L2::result_, typename L3::result_
- , typename L4::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template< typename P1, typename P2, typename P3, typename P4 > class F
- , typename T1, typename T2, typename T3, typename T4
- , typename Tag
- >
-struct lambda<
- F< T1,T2,T3,T4 >
- , Tag
-
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef lambda< T2,Tag > l2;
- typedef lambda< T3,Tag > l3;
- typedef lambda< T4,Tag > l4;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
- typedef typename l4::is_le is_le4;
-
-
- typedef typename aux::lambda_or<
- is_le1::value, is_le2::value, is_le3::value, is_le4::value
- >::type is_le;
-
- typedef aux::le_result4<
- is_le, Tag, F, l1, l2, l3, l4
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename Tag
- >
-struct lambda<
- bind4< F,T1,T2,T3,T4 >
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind4<
- F
- , T1, T2, T3, T4
- > result_;
-
- typedef result_ type;
-};
-
-namespace aux {
-
-template<
- typename IsLE, typename Tag
- , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
- , typename L1, typename L2, typename L3, typename L4, typename L5
- >
-struct le_result5
-{
- typedef F<
- typename L1::type, typename L2::type, typename L3::type
- , typename L4::type, typename L5::type
- > result_;
-
- typedef result_ type;
-};
-
-template<
- typename Tag
- , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
- , typename L1, typename L2, typename L3, typename L4, typename L5
- >
-struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 >
-{
- typedef bind5<
- quote5< F,Tag >
- , typename L1::result_, typename L2::result_, typename L3::result_
- , typename L4::result_, typename L5::result_
- > result_;
-
- typedef mpl::protect<result_> type;
-};
-
-} // namespace aux
-
-template<
- template<
- typename P1, typename P2, typename P3, typename P4
- , typename P5
- >
- class F
- , typename T1, typename T2, typename T3, typename T4, typename T5
- , typename Tag
- >
-struct lambda<
- F< T1,T2,T3,T4,T5 >
- , Tag
-
- >
-{
- typedef lambda< T1,Tag > l1;
- typedef lambda< T2,Tag > l2;
- typedef lambda< T3,Tag > l3;
- typedef lambda< T4,Tag > l4;
- typedef lambda< T5,Tag > l5;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
- typedef typename l4::is_le is_le4;
- typedef typename l5::is_le is_le5;
-
-
- typedef typename aux::lambda_or<
- is_le1::value, is_le2::value, is_le3::value, is_le4::value
- , is_le5::value
- >::type is_le;
-
- typedef aux::le_result5<
- is_le, Tag, F, l1, l2, l3, l4, l5
- > le_result_;
-
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- , typename Tag
- >
-struct lambda<
- bind5< F,T1,T2,T3,T4,T5 >
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind5<
- F
- , T1, T2, T3, T4, T5
- > result_;
-
- typedef result_ type;
-};
-
-/// special case for 'protect'
-template< typename T, typename Tag >
-struct lambda< mpl::protect<T>, Tag >
-{
- typedef false_ is_le;
- typedef mpl::protect<T> result_;
- typedef result_ type;
-};
-
-/// specializations for the main 'bind' form
-
-template<
- typename F, typename T1, typename T2, typename T3, typename T4
- , typename T5
- , typename Tag
- >
-struct lambda<
- bind< F,T1,T2,T3,T4,T5 >
- , Tag
-
- >
-{
- typedef false_ is_le;
- typedef bind< F,T1,T2,T3,T4,T5 > result_;
- typedef result_ type;
-};
-
-/// workaround for MWCW 8.3+/EDG < 303, leads to ambiguity on Digital Mars
-
-template<
- typename F, typename Tag1, typename Tag2
- >
-struct lambda<
- lambda< F,Tag1 >
- , Tag2
- >
-{
- typedef lambda< F,Tag2 > l1;
- typedef lambda< Tag1,Tag2 > l2;
- typedef typename l1::is_le is_le;
- typedef aux::le_result2<is_le, Tag2, mpl::lambda, l1, l2> le_result_;
- typedef typename le_result_::result_ result_;
- typedef typename le_result_::type type;
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, lambda)
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/plain/greater.hpp b/boost/mpl/aux_/preprocessed/plain/greater.hpp
deleted file mode 100644
index 38c8bb3..0000000
--- a/boost/mpl/aux_/preprocessed/plain/greater.hpp
+++ /dev/null
@@ -1,92 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/greater.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct greater_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct greater_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct greater_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct greater_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct greater_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct greater
-
- : greater_impl<
- typename greater_tag<N1>::type
- , typename greater_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct greater_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/plain/greater_equal.hpp b/boost/mpl/aux_/preprocessed/plain/greater_equal.hpp
deleted file mode 100644
index 2aa8370..0000000
--- a/boost/mpl/aux_/preprocessed/plain/greater_equal.hpp
+++ /dev/null
@@ -1,92 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/greater_equal.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct greater_equal_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct greater_equal_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct greater_equal_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct greater_equal_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct greater_equal_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct greater_equal
-
- : greater_equal_impl<
- typename greater_equal_tag<N1>::type
- , typename greater_equal_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct greater_equal_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/plain/inherit.hpp b/boost/mpl/aux_/preprocessed/plain/inherit.hpp
deleted file mode 100644
index 8b34e71..0000000
--- a/boost/mpl/aux_/preprocessed/plain/inherit.hpp
+++ /dev/null
@@ -1,125 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/inherit.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(T1)
- , typename BOOST_MPL_AUX_NA_PARAM(T2)
- >
-struct inherit2
- : T1, T2
-{
- typedef inherit2 type;
-};
-
-template< typename T1 >
-struct inherit2< T1,empty_base >
-{
- typedef T1 type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base))
-};
-
-template< typename T2 >
-struct inherit2< empty_base,T2 >
-{
- typedef T2 type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2))
-};
-
-template<>
-struct inherit2< empty_base,empty_base >
-{
- typedef empty_base type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base))
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, inherit2)
-
-template<
- typename T1 = na, typename T2 = na, typename T3 = na
- >
-struct inherit3
- : inherit2<
- typename inherit2<
- T1, T2
- >::type
- , T3
- >
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC(3, inherit3)
-
-template<
- typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
- >
-struct inherit4
- : inherit2<
- typename inherit3<
- T1, T2, T3
- >::type
- , T4
- >
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC(4, inherit4)
-
-template<
- typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
- , typename T5 = na
- >
-struct inherit5
- : inherit2<
- typename inherit4<
- T1, T2, T3, T4
- >::type
- , T5
- >
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC(5, inherit5)
-
-/// primary template
-
-template<
- typename T1 = empty_base, typename T2 = empty_base
- , typename T3 = empty_base, typename T4 = empty_base
- , typename T5 = empty_base
- >
-struct inherit
- : inherit5< T1,T2,T3,T4,T5 >
-{
-};
-
-template<>
-struct inherit< na,na,na,na,na >
-{
- template<
-
- typename T1 = empty_base, typename T2 = empty_base
- , typename T3 = empty_base, typename T4 = empty_base
- , typename T5 = empty_base
-
- >
- struct apply
- : inherit< T1,T2,T3,T4,T5 >
- {
- };
-};
-
-BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
-BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp b/boost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp
deleted file mode 100644
index 6951795..0000000
--- a/boost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp
+++ /dev/null
@@ -1,133 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright David Abrahams 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-template< typename Iterator, typename State >
-struct iter_fold_if_null_step
-{
- typedef State state;
- typedef Iterator iterator;
-};
-
-template< bool >
-struct iter_fold_if_step_impl
-{
- template<
- typename Iterator
- , typename State
- , typename StateOp
- , typename IteratorOp
- >
- struct result_
- {
- typedef typename apply2< StateOp,State,Iterator >::type state;
- typedef typename IteratorOp::type iterator;
- };
-};
-
-template<>
-struct iter_fold_if_step_impl<false>
-{
- template<
- typename Iterator
- , typename State
- , typename StateOp
- , typename IteratorOp
- >
- struct result_
- {
- typedef State state;
- typedef Iterator iterator;
- };
-};
-
-template<
- typename Iterator
- , typename State
- , typename ForwardOp
- , typename Predicate
- >
-struct iter_fold_if_forward_step
-{
- typedef typename apply2< Predicate,State,Iterator >::type not_last;
- typedef typename iter_fold_if_step_impl<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
- >::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_;
-
- typedef typename impl_::state state;
- typedef typename impl_::iterator iterator;
-};
-
-template<
- typename Iterator
- , typename State
- , typename BackwardOp
- , typename Predicate
- >
-struct iter_fold_if_backward_step
-{
- typedef typename apply2< Predicate,State,Iterator >::type not_last;
- typedef typename iter_fold_if_step_impl<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
- >::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_;
-
- typedef typename impl_::state state;
- typedef typename impl_::iterator iterator;
-};
-
-template<
- typename Iterator
- , typename State
- , typename ForwardOp
- , typename ForwardPredicate
- , typename BackwardOp
- , typename BackwardPredicate
- >
-struct iter_fold_if_impl
-{
- private:
- typedef iter_fold_if_null_step< Iterator,State > forward_step0;
- typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1;
- typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2;
- typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3;
- typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4;
-
-
- typedef typename if_<
- typename forward_step4::not_last
- , iter_fold_if_impl<
- typename forward_step4::iterator
- , typename forward_step4::state
- , ForwardOp
- , ForwardPredicate
- , BackwardOp
- , BackwardPredicate
- >
- , iter_fold_if_null_step<
- typename forward_step4::iterator
- , typename forward_step4::state
- >
- >::type backward_step4;
-
- typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3;
- typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2;
- typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1;
- typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0;
-
-
- public:
- typedef typename backward_step0::state state;
- typedef typename backward_step4::iterator iterator;
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/plain/iter_fold_impl.hpp b/boost/mpl/aux_/preprocessed/plain/iter_fold_impl.hpp
deleted file mode 100644
index 805790e..0000000
--- a/boost/mpl/aux_/preprocessed/plain/iter_fold_impl.hpp
+++ /dev/null
@@ -1,180 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
- int N
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl;
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< 0,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef state0 state;
- typedef iter0 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< 1,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
-
-
- typedef state1 state;
- typedef iter1 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< 2,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
-
-
- typedef state2 state;
- typedef iter2 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< 3,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
- typedef typename mpl::next<iter2>::type iter3;
-
-
- typedef state3 state;
- typedef iter3 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< 4,First,Last,State,ForwardOp >
-{
- typedef First iter0;
- typedef State state0;
- typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp,state3,iter3 >::type state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef state4 state;
- typedef iter4 iterator;
-};
-
-template<
- int N
- , typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl
-{
- typedef iter_fold_impl<
- 4
- , First
- , Last
- , State
- , ForwardOp
- > chunk_;
-
- typedef iter_fold_impl<
- ( (N - 4) < 0 ? 0 : N - 4 )
- , typename chunk_::iterator
- , Last
- , typename chunk_::state
- , ForwardOp
- > res_;
-
- typedef typename res_::state state;
- typedef typename res_::iterator iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< -1,First,Last,State,ForwardOp >
- : iter_fold_impl<
- -1
- , typename mpl::next<First>::type
- , Last
- , typename apply2< ForwardOp,State,First >::type
- , ForwardOp
- >
-{
-};
-
-template<
- typename Last
- , typename State
- , typename ForwardOp
- >
-struct iter_fold_impl< -1,Last,Last,State,ForwardOp >
-{
- typedef State state;
- typedef Last iterator;
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/plain/lambda_no_ctps.hpp b/boost/mpl/aux_/preprocessed/plain/lambda_no_ctps.hpp
deleted file mode 100644
index f8f109c..0000000
--- a/boost/mpl/aux_/preprocessed/plain/lambda_no_ctps.hpp
+++ /dev/null
@@ -1,228 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
- bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
- , bool C5 = false
- >
-struct lambda_or
- : true_
-{
-};
-
-template<>
-struct lambda_or< false,false,false,false,false >
- : false_
-{
-};
-
-template< typename Arity > struct lambda_impl
-{
- template< typename T, typename Tag, typename Protect > struct result_
- {
- typedef T type;
- typedef is_placeholder<T> is_le;
- };
-};
-
-template<> struct lambda_impl< int_<1> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef typename l1::is_le is_le1;
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value
- > is_le;
-
- typedef bind1<
- typename F::rebind
- , typename l1::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-template<> struct lambda_impl< int_<2> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef lambda< typename F::arg2, Tag, false_ > l2;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
-
-
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value
- > is_le;
-
- typedef bind2<
- typename F::rebind
- , typename l1::type, typename l2::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-template<> struct lambda_impl< int_<3> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef lambda< typename F::arg2, Tag, false_ > l2;
- typedef lambda< typename F::arg3, Tag, false_ > l3;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
-
-
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value
- > is_le;
-
- typedef bind3<
- typename F::rebind
- , typename l1::type, typename l2::type, typename l3::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-template<> struct lambda_impl< int_<4> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef lambda< typename F::arg2, Tag, false_ > l2;
- typedef lambda< typename F::arg3, Tag, false_ > l3;
- typedef lambda< typename F::arg4, Tag, false_ > l4;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
- typedef typename l4::is_le is_le4;
-
-
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value
- > is_le;
-
- typedef bind4<
- typename F::rebind
- , typename l1::type, typename l2::type, typename l3::type
- , typename l4::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-template<> struct lambda_impl< int_<5> >
-{
- template< typename F, typename Tag, typename Protect > struct result_
- {
- typedef lambda< typename F::arg1, Tag, false_ > l1;
- typedef lambda< typename F::arg2, Tag, false_ > l2;
- typedef lambda< typename F::arg3, Tag, false_ > l3;
- typedef lambda< typename F::arg4, Tag, false_ > l4;
- typedef lambda< typename F::arg5, Tag, false_ > l5;
-
- typedef typename l1::is_le is_le1;
- typedef typename l2::is_le is_le2;
- typedef typename l3::is_le is_le3;
- typedef typename l4::is_le is_le4;
- typedef typename l5::is_le is_le5;
-
-
- typedef aux::lambda_or<
- BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value
- > is_le;
-
- typedef bind5<
- typename F::rebind
- , typename l1::type, typename l2::type, typename l3::type
- , typename l4::type, typename l5::type
- > bind_;
-
- typedef typename if_<
- is_le
- , if_< Protect, mpl::protect<bind_>, bind_ >
- , identity<F>
- >::type type_;
-
- typedef typename type_::type type;
- };
-};
-
-} // namespace aux
-
-template<
- typename T
- , typename Tag
- , typename Protect
- >
-struct lambda
-{
- /// Metafunction forwarding confuses MSVC 6.x
- typedef typename aux::template_arity<T>::type arity_;
- typedef typename aux::lambda_impl<arity_>
- ::template result_< T,Tag,Protect > l_;
-
- typedef typename l_::type type;
- typedef typename l_::is_le is_le;
-};
-
-BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
-
-template<
- typename T
- >
-struct is_lambda_expression
- : lambda<T>::is_le
-{
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/plain/less.hpp b/boost/mpl/aux_/preprocessed/plain/less.hpp
deleted file mode 100644
index 928d0e3..0000000
--- a/boost/mpl/aux_/preprocessed/plain/less.hpp
+++ /dev/null
@@ -1,92 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/less.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct less_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct less_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct less_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct less_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct less_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct less
-
- : less_impl<
- typename less_tag<N1>::type
- , typename less_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct less_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/plain/less_equal.hpp b/boost/mpl/aux_/preprocessed/plain/less_equal.hpp
deleted file mode 100644
index 364cd96..0000000
--- a/boost/mpl/aux_/preprocessed/plain/less_equal.hpp
+++ /dev/null
@@ -1,92 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/less_equal.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct less_equal_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct less_equal_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct less_equal_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct less_equal_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct less_equal_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct less_equal
-
- : less_equal_impl<
- typename less_equal_tag<N1>::type
- , typename less_equal_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct less_equal_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/plain/list.hpp b/boost/mpl/aux_/preprocessed/plain/list.hpp
deleted file mode 100644
index 4e8ad53..0000000
--- a/boost/mpl/aux_/preprocessed/plain/list.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/list.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct list;
-
-template<
-
- >
-struct list<
- na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list0< >
-{
- typedef list0< >::type type;
-};
-
-template<
- typename T0
- >
-struct list<
- T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list1<T0>
-{
- typedef typename list1<T0>::type type;
-};
-
-template<
- typename T0, typename T1
- >
-struct list<
- T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list2< T0,T1 >
-{
- typedef typename list2< T0,T1 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct list<
- T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list3< T0,T1,T2 >
-{
- typedef typename list3< T0,T1,T2 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct list<
- T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list4< T0,T1,T2,T3 >
-{
- typedef typename list4< T0,T1,T2,T3 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct list<
- T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list5< T0,T1,T2,T3,T4 >
-{
- typedef typename list5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct list<
- T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list6< T0,T1,T2,T3,T4,T5 >
-{
- typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list7< T0,T1,T2,T3,T4,T5,T6 >
-{
- typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
- typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
- typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
- , na, na, na
- >
- : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
- typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
- , na, na, na
- >
- : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
- typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
- , na, na, na, na
- >
- : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
- typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
- , na, na, na, na
- >
- : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
- typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
- , na, na, na, na
- >
- : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
- typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
- , na, na, na, na
- >
- : list15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >
-{
- typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, na, na, na, na
- >
- : list16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15
- >
-{
- typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, na, na, na
- >
- : list17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16
- >
-{
- typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, na, na
- >
- : list18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17
- >
-{
- typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct list<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, na
- >
- : list19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18
- >
-{
- typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct list
- : list20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, T19
- >
-{
- typedef typename list20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/plain/list_c.hpp b/boost/mpl/aux_/preprocessed/plain/list_c.hpp
deleted file mode 100644
index 0b48a7f..0000000
--- a/boost/mpl/aux_/preprocessed/plain/list_c.hpp
+++ /dev/null
@@ -1,328 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/list_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
- , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
- , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
- , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
- , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
- , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
- , long C18 = LONG_MAX, long C19 = LONG_MAX
- >
-struct list_c;
-
-template<
- typename T
- >
-struct list_c<
- T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list0_c<T>
-{
- typedef typename list0_c<T>::type type;
-};
-
-template<
- typename T, long C0
- >
-struct list_c<
- T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list1_c< T,C0 >
-{
- typedef typename list1_c< T,C0 >::type type;
-};
-
-template<
- typename T, long C0, long C1
- >
-struct list_c<
- T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list2_c< T,C0,C1 >
-{
- typedef typename list2_c< T,C0,C1 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2
- >
-struct list_c<
- T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list3_c< T,C0,C1,C2 >
-{
- typedef typename list3_c< T,C0,C1,C2 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3
- >
-struct list_c<
- T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list4_c< T,C0,C1,C2,C3 >
-{
- typedef typename list4_c< T,C0,C1,C2,C3 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list5_c< T,C0,C1,C2,C3,C4 >
-{
- typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list6_c< T,C0,C1,C2,C3,C4,C5 >
-{
- typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list7_c< T,C0,C1,C2,C3,C4,C5,C6 >
-{
- typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX
- >
- : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >
-{
- typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >
-{
- typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >
-{
- typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >
-{
- typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >
-{
- typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >
-{
- typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list14_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- >
-{
- typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list15_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- >
-{
- typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list16_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15
- >
-{
- typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : list17_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16
- >
-{
- typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, LONG_MAX, LONG_MAX
- >
- : list18_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17
- >
-{
- typedef typename list18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18
- >
-struct list_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18, LONG_MAX
- >
- : list19_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18
- >
-{
- typedef typename list19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
-struct list_c
- : list20_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18, C19
- >
-{
- typedef typename list20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/plain/map.hpp b/boost/mpl/aux_/preprocessed/plain/map.hpp
deleted file mode 100644
index 837e013..0000000
--- a/boost/mpl/aux_/preprocessed/plain/map.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/map.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct map;
-
-template<
-
- >
-struct map<
- na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map0< >
-{
- typedef map0< >::type type;
-};
-
-template<
- typename T0
- >
-struct map<
- T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map1<T0>
-{
- typedef typename map1<T0>::type type;
-};
-
-template<
- typename T0, typename T1
- >
-struct map<
- T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map2< T0,T1 >
-{
- typedef typename map2< T0,T1 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct map<
- T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map3< T0,T1,T2 >
-{
- typedef typename map3< T0,T1,T2 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct map<
- T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map4< T0,T1,T2,T3 >
-{
- typedef typename map4< T0,T1,T2,T3 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct map<
- T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map5< T0,T1,T2,T3,T4 >
-{
- typedef typename map5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct map<
- T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map6< T0,T1,T2,T3,T4,T5 >
-{
- typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map7< T0,T1,T2,T3,T4,T5,T6 >
-{
- typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
- typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
- typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
- , na, na, na
- >
- : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
- typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
- , na, na, na
- >
- : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
- typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
- , na, na, na, na
- >
- : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
- typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
- , na, na, na, na
- >
- : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
- typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
- , na, na, na, na
- >
- : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
- typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
- , na, na, na, na
- >
- : map15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >
-{
- typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, na, na, na, na
- >
- : map16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15
- >
-{
- typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, na, na, na
- >
- : map17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16
- >
-{
- typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, na, na
- >
- : map18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17
- >
-{
- typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct map<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, na
- >
- : map19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18
- >
-{
- typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct map
- : map20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, T19
- >
-{
- typedef typename map20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/plain/minus.hpp b/boost/mpl/aux_/preprocessed/plain/minus.hpp
deleted file mode 100644
index 0b8b5ce..0000000
--- a/boost/mpl/aux_/preprocessed/plain/minus.hpp
+++ /dev/null
@@ -1,141 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/minus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct minus_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct minus_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct minus_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct minus_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct minus_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct minus
- : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5>
-{
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct minus< N1,N2,N3,N4,na >
-
- : minus< minus< minus< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , minus
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct minus< N1,N2,N3,na,na >
-
- : minus< minus< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , minus
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct minus< N1,N2,na,na,na >
- : minus_impl<
- typename minus_tag<N1>::type
- , typename minus_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , minus
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, minus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct minus_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- - BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/plain/modulus.hpp b/boost/mpl/aux_/preprocessed/plain/modulus.hpp
deleted file mode 100644
index 6a64e49..0000000
--- a/boost/mpl/aux_/preprocessed/plain/modulus.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/modulus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct modulus_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct modulus_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct modulus_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct modulus_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct modulus_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct modulus
-
- : modulus_impl<
- typename modulus_tag<N1>::type
- , typename modulus_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct modulus_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- % BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/plain/not_equal_to.hpp b/boost/mpl/aux_/preprocessed/plain/not_equal_to.hpp
deleted file mode 100644
index c08d7f0..0000000
--- a/boost/mpl/aux_/preprocessed/plain/not_equal_to.hpp
+++ /dev/null
@@ -1,92 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/not_equal_to.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct not_equal_to_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct not_equal_to_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct not_equal_to_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct not_equal_to_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct not_equal_to_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct not_equal_to
-
- : not_equal_to_impl<
- typename not_equal_to_tag<N1>::type
- , typename not_equal_to_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)
-
-}}
-
-namespace boost { namespace mpl {
-
-template<>
-struct not_equal_to_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/plain/or.hpp b/boost/mpl/aux_/preprocessed/plain/or.hpp
deleted file mode 100644
index 986b2e0..0000000
--- a/boost/mpl/aux_/preprocessed/plain/or.hpp
+++ /dev/null
@@ -1,64 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/or.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< bool C_, typename T1, typename T2, typename T3, typename T4 >
-struct or_impl
- : true_
-{
-};
-
-template< typename T1, typename T2, typename T3, typename T4 >
-struct or_impl< false,T1,T2,T3,T4 >
- : or_impl<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
- , T2, T3, T4
- , false_
- >
-{
-};
-
-template<>
-struct or_impl<
- false
- , false_, false_, false_, false_
- >
- : false_
-{
-};
-
-} // namespace aux
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(T1)
- , typename BOOST_MPL_AUX_NA_PARAM(T2)
- , typename T3 = false_, typename T4 = false_, typename T5 = false_
- >
-struct or_
-
- : aux::or_impl<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
- , T2, T3, T4, T5
- >
-
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC2(
- 2
- , 5
- , or_
- )
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/plain/placeholders.hpp b/boost/mpl/aux_/preprocessed/plain/placeholders.hpp
deleted file mode 100644
index ff97364..0000000
--- a/boost/mpl/aux_/preprocessed/plain/placeholders.hpp
+++ /dev/null
@@ -1,105 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright Peter Dimov 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/placeholders.hpp" header
-// -- DO NOT modify by hand!
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg< -1 > _;
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
-}
-
-}}
-
-/// agurt, 17/mar/02: one more placeholder for the last 'apply#'
-/// specialization
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<1> _1;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<2> _2;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<3> _3;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<4> _4;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<5> _5;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;
-}
-
-}}
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<6> _6;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;
-}
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/plain/plus.hpp b/boost/mpl/aux_/preprocessed/plain/plus.hpp
deleted file mode 100644
index ed2e432..0000000
--- a/boost/mpl/aux_/preprocessed/plain/plus.hpp
+++ /dev/null
@@ -1,141 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/plus.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct plus_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct plus_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct plus_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct plus_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct plus_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct plus
- : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5>
-{
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct plus< N1,N2,N3,N4,na >
-
- : plus< plus< plus< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , plus
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct plus< N1,N2,N3,na,na >
-
- : plus< plus< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , plus
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct plus< N1,N2,na,na,na >
- : plus_impl<
- typename plus_tag<N1>::type
- , typename plus_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , plus
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, plus)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct plus_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- + BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/plain/quote.hpp b/boost/mpl/aux_/preprocessed/plain/quote.hpp
deleted file mode 100644
index d7d0420..0000000
--- a/boost/mpl/aux_/preprocessed/plain/quote.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/quote.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template< typename T, bool has_type_ >
-struct quote_impl
- : T
-{
-};
-
-template< typename T >
-struct quote_impl< T,false >
-{
- typedef T type;
-};
-
-template<
- template< typename P1 > class F
- , typename Tag = void_
- >
-struct quote1
-{
- template< typename U1 > struct apply
-
- : quote_impl<
- F<U1>
- , aux::has_type< F<U1> >::value
- >
-
- {
- };
-};
-
-template<
- template< typename P1, typename P2 > class F
- , typename Tag = void_
- >
-struct quote2
-{
- template< typename U1, typename U2 > struct apply
-
- : quote_impl<
- F< U1,U2 >
- , aux::has_type< F< U1,U2 > >::value
- >
-
- {
- };
-};
-
-template<
- template< typename P1, typename P2, typename P3 > class F
- , typename Tag = void_
- >
-struct quote3
-{
- template< typename U1, typename U2, typename U3 > struct apply
-
- : quote_impl<
- F< U1,U2,U3 >
- , aux::has_type< F< U1,U2,U3 > >::value
- >
-
- {
- };
-};
-
-template<
- template< typename P1, typename P2, typename P3, typename P4 > class F
- , typename Tag = void_
- >
-struct quote4
-{
- template<
- typename U1, typename U2, typename U3, typename U4
- >
- struct apply
-
- : quote_impl<
- F< U1,U2,U3,U4 >
- , aux::has_type< F< U1,U2,U3,U4 > >::value
- >
-
- {
- };
-};
-
-template<
- template<
- typename P1, typename P2, typename P3, typename P4
- , typename P5
- >
- class F
- , typename Tag = void_
- >
-struct quote5
-{
- template<
- typename U1, typename U2, typename U3, typename U4
- , typename U5
- >
- struct apply
-
- : quote_impl<
- F< U1,U2,U3,U4,U5 >
- , aux::has_type< F< U1,U2,U3,U4,U5 > >::value
- >
-
- {
- };
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/plain/reverse_fold_impl.hpp b/boost/mpl/aux_/preprocessed/plain/reverse_fold_impl.hpp
deleted file mode 100644
index c468684..0000000
--- a/boost/mpl/aux_/preprocessed/plain/reverse_fold_impl.hpp
+++ /dev/null
@@ -1,231 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
- long N
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl;
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef fwd_state0 bkwd_state0;
- typedef bkwd_state0 state;
- typedef iter0 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
-
-
- typedef fwd_state1 bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
- typedef bkwd_state0 state;
- typedef iter1 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
-
-
- typedef fwd_state2 bkwd_state2;
- typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter2 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
-
-
- typedef fwd_state3 bkwd_state3;
- typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
- typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter3 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef fwd_state4 bkwd_state4;
- typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;
- typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
- typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter4 iterator;
-};
-
-template<
- long N
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef reverse_fold_impl<
- ( (N - 4) < 0 ? 0 : N - 4 )
- , iter4
- , Last
- , fwd_state4
- , BackwardOp
- , ForwardOp
- > nested_chunk;
-
- typedef typename nested_chunk::state bkwd_state4;
- typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;
- typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
- typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
- typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef typename nested_chunk::iterator iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef reverse_fold_impl<
- -1
- , typename mpl::next<First>::type
- , Last
- , typename apply2<ForwardOp,State, typename deref<First>::type>::type
- , BackwardOp
- , ForwardOp
- > nested_step;
-
- typedef typename apply2<
- BackwardOp
- , typename nested_step::state
- , typename deref<First>::type
- >::type state;
-
- typedef typename nested_step::iterator iterator;
-};
-
-template<
- typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp >
-{
- typedef State state;
- typedef Last iterator;
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/plain/reverse_iter_fold_impl.hpp b/boost/mpl/aux_/preprocessed/plain/reverse_iter_fold_impl.hpp
deleted file mode 100644
index 658f92a..0000000
--- a/boost/mpl/aux_/preprocessed/plain/reverse_iter_fold_impl.hpp
+++ /dev/null
@@ -1,231 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-
-template<
- long N
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl;
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef fwd_state0 bkwd_state0;
- typedef bkwd_state0 state;
- typedef iter0 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
-
-
- typedef fwd_state1 bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
- typedef bkwd_state0 state;
- typedef iter1 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
-
-
- typedef fwd_state2 bkwd_state2;
- typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter2 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
-
-
- typedef fwd_state3 bkwd_state3;
- typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
- typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter3 iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef fwd_state4 bkwd_state4;
- typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;
- typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
- typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef iter4 iterator;
-};
-
-template<
- long N
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl
-{
- typedef First iter0;
- typedef State fwd_state0;
- typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
- typedef typename mpl::next<iter0>::type iter1;
- typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
- typedef typename mpl::next<iter1>::type iter2;
- typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
- typedef typename mpl::next<iter2>::type iter3;
- typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;
- typedef typename mpl::next<iter3>::type iter4;
-
-
- typedef reverse_iter_fold_impl<
- ( (N - 4) < 0 ? 0 : N - 4 )
- , iter4
- , Last
- , fwd_state4
- , BackwardOp
- , ForwardOp
- > nested_chunk;
-
- typedef typename nested_chunk::state bkwd_state4;
- typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;
- typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
- typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
- typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
-
-
- typedef bkwd_state0 state;
- typedef typename nested_chunk::iterator iterator;
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp >
-{
- typedef reverse_iter_fold_impl<
- -1
- , typename mpl::next<First>::type
- , Last
- , typename apply2< ForwardOp,State,First >::type
- , BackwardOp
- , ForwardOp
- > nested_step;
-
- typedef typename apply2<
- BackwardOp
- , typename nested_step::state
- , First
- >::type state;
-
- typedef typename nested_step::iterator iterator;
-};
-
-template<
- typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct reverse_iter_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp >
-{
- typedef State state;
- typedef Last iterator;
-};
-
-}}}
diff --git a/boost/mpl/aux_/preprocessed/plain/set.hpp b/boost/mpl/aux_/preprocessed/plain/set.hpp
deleted file mode 100644
index 5721922..0000000
--- a/boost/mpl/aux_/preprocessed/plain/set.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/set.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct set;
-
-template<
-
- >
-struct set<
- na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set0< >
-{
- typedef set0< >::type type;
-};
-
-template<
- typename T0
- >
-struct set<
- T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set1<T0>
-{
- typedef typename set1<T0>::type type;
-};
-
-template<
- typename T0, typename T1
- >
-struct set<
- T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set2< T0,T1 >
-{
- typedef typename set2< T0,T1 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct set<
- T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set3< T0,T1,T2 >
-{
- typedef typename set3< T0,T1,T2 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct set<
- T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set4< T0,T1,T2,T3 >
-{
- typedef typename set4< T0,T1,T2,T3 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct set<
- T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set5< T0,T1,T2,T3,T4 >
-{
- typedef typename set5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct set<
- T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set6< T0,T1,T2,T3,T4,T5 >
-{
- typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set7< T0,T1,T2,T3,T4,T5,T6 >
-{
- typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
- typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
- typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
- , na, na, na
- >
- : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
- typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
- , na, na, na
- >
- : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
- typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
- , na, na, na, na
- >
- : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
- typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
- , na, na, na, na
- >
- : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
- typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
- , na, na, na, na
- >
- : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
- typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
- , na, na, na, na
- >
- : set15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >
-{
- typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, na, na, na, na
- >
- : set16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15
- >
-{
- typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, na, na, na
- >
- : set17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16
- >
-{
- typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, na, na
- >
- : set18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17
- >
-{
- typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct set<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, na
- >
- : set19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18
- >
-{
- typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct set
- : set20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, T19
- >
-{
- typedef typename set20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/plain/set_c.hpp b/boost/mpl/aux_/preprocessed/plain/set_c.hpp
deleted file mode 100644
index cbeb932..0000000
--- a/boost/mpl/aux_/preprocessed/plain/set_c.hpp
+++ /dev/null
@@ -1,328 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/set_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
- , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
- , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
- , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
- , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
- , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
- , long C18 = LONG_MAX, long C19 = LONG_MAX
- >
-struct set_c;
-
-template<
- typename T
- >
-struct set_c<
- T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set0_c<T>
-{
- typedef typename set0_c<T>::type type;
-};
-
-template<
- typename T, long C0
- >
-struct set_c<
- T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set1_c< T,C0 >
-{
- typedef typename set1_c< T,C0 >::type type;
-};
-
-template<
- typename T, long C0, long C1
- >
-struct set_c<
- T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set2_c< T,C0,C1 >
-{
- typedef typename set2_c< T,C0,C1 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2
- >
-struct set_c<
- T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set3_c< T,C0,C1,C2 >
-{
- typedef typename set3_c< T,C0,C1,C2 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3
- >
-struct set_c<
- T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set4_c< T,C0,C1,C2,C3 >
-{
- typedef typename set4_c< T,C0,C1,C2,C3 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set5_c< T,C0,C1,C2,C3,C4 >
-{
- typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set6_c< T,C0,C1,C2,C3,C4,C5 >
-{
- typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set7_c< T,C0,C1,C2,C3,C4,C5,C6 >
-{
- typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX
- >
- : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >
-{
- typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >
-{
- typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >
-{
- typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >
-{
- typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >
-{
- typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >
-{
- typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set14_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- >
-{
- typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set15_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- >
-{
- typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set16_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15
- >
-{
- typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : set17_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16
- >
-{
- typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, LONG_MAX, LONG_MAX
- >
- : set18_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17
- >
-{
- typedef typename set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18
- >
-struct set_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18, LONG_MAX
- >
- : set19_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18
- >
-{
- typedef typename set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
-struct set_c
- : set20_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18, C19
- >
-{
- typedef typename set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/plain/shift_left.hpp b/boost/mpl/aux_/preprocessed/plain/shift_left.hpp
deleted file mode 100644
index cf9c837..0000000
--- a/boost/mpl/aux_/preprocessed/plain/shift_left.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// Preprocessed version of "boost/mpl/shift_left.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct shift_left_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct shift_left_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct shift_left_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct shift_left_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct shift_left_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct shift_left
-
- : shift_left_impl<
- typename shift_left_tag<N1>::type
- , typename shift_left_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct shift_left_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N, typename S > struct apply
-
- : integral_c<
- typename N::value_type
- , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
- << BOOST_MPL_AUX_VALUE_WKND(S)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/plain/shift_right.hpp b/boost/mpl/aux_/preprocessed/plain/shift_right.hpp
deleted file mode 100644
index 477229f..0000000
--- a/boost/mpl/aux_/preprocessed/plain/shift_right.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Jaap Suter 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)
-//
-
-// Preprocessed version of "boost/mpl/shift_right.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct shift_right_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct shift_right_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct shift_right_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct shift_right_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct shift_right_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- >
-struct shift_right
-
- : shift_right_impl<
- typename shift_right_tag<N1>::type
- , typename shift_right_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct shift_right_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N, typename S > struct apply
-
- : integral_c<
- typename N::value_type
- , ( BOOST_MPL_AUX_VALUE_WKND(N)::value
- >> BOOST_MPL_AUX_VALUE_WKND(S)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/plain/template_arity.hpp b/boost/mpl/aux_/preprocessed/plain/template_arity.hpp
deleted file mode 100644
index a23fc23..0000000
--- a/boost/mpl/aux_/preprocessed/plain/template_arity.hpp
+++ /dev/null
@@ -1,11 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-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)
-//
-
-// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header
-// -- DO NOT modify by hand!
-
diff --git a/boost/mpl/aux_/preprocessed/plain/times.hpp b/boost/mpl/aux_/preprocessed/plain/times.hpp
deleted file mode 100644
index ca88d40..0000000
--- a/boost/mpl/aux_/preprocessed/plain/times.hpp
+++ /dev/null
@@ -1,141 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/times.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename Tag1
- , typename Tag2
- >
-struct times_impl
- : if_c<
- ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
- > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
- )
-
- , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 >
- , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 >
- >::type
-{
-};
-
-/// for Digital Mars C++/compilers with no CTPS/TTP support
-template<> struct times_impl< na,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct times_impl< na,Tag >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename Tag > struct times_impl< Tag,na >
-{
- template< typename U1, typename U2 > struct apply
- {
- typedef apply type;
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-};
-
-template< typename T > struct times_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N1)
- , typename BOOST_MPL_AUX_NA_PARAM(N2)
- , typename N3 = na, typename N4 = na, typename N5 = na
- >
-struct times
- : times< times< times< times< N1,N2 >, N3>, N4>, N5>
-{
-};
-
-template<
- typename N1, typename N2, typename N3, typename N4
- >
-struct times< N1,N2,N3,N4,na >
-
- : times< times< times< N1,N2 >, N3>, N4>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , times
- , ( N1, N2, N3, N4, na )
- )
-};
-
-template<
- typename N1, typename N2, typename N3
- >
-struct times< N1,N2,N3,na,na >
-
- : times< times< N1,N2 >, N3>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , times
- , ( N1, N2, N3, na, na )
- )
-};
-
-template<
- typename N1, typename N2
- >
-struct times< N1,N2,na,na,na >
- : times_impl<
- typename times_tag<N1>::type
- , typename times_tag<N2>::type
- >::template apply< N1,N2 >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
- 5
- , times
- , ( N1, N2, na, na, na )
- )
-
-};
-
-BOOST_MPL_AUX_NA_SPEC2(2, 5, times)
-
-}}
-
-namespace boost { namespace mpl {
-template<>
-struct times_impl< integral_c_tag,integral_c_tag >
-{
- template< typename N1, typename N2 > struct apply
-
- : integral_c<
- typename aux::largest_int<
- typename N1::value_type
- , typename N2::value_type
- >::type
- , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
- * BOOST_MPL_AUX_VALUE_WKND(N2)::value
- )
- >
- {
- };
-};
-
-}}
diff --git a/boost/mpl/aux_/preprocessed/plain/unpack_args.hpp b/boost/mpl/aux_/preprocessed/plain/unpack_args.hpp
deleted file mode 100644
index 2194ce9..0000000
--- a/boost/mpl/aux_/preprocessed/plain/unpack_args.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/unpack_args.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< int size, typename F, typename Args >
-struct unpack_args_impl;
-
-template< typename F, typename Args >
-struct unpack_args_impl< 0,F,Args >
- : apply0<
- F
- >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 1,F,Args >
- : apply1<
- F
- , typename at_c< Args,0 >::type
- >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 2,F,Args >
- : apply2<
- F
- , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
- >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 3,F,Args >
- : apply3<
- F
- , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
- , typename at_c< Args,2 >::type
- >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 4,F,Args >
- : apply4<
- F
- , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
- , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
- >
-{
-};
-
-template< typename F, typename Args >
-struct unpack_args_impl< 5,F,Args >
- : apply5<
- F
- , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
- , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
- , typename at_c< Args,4 >::type
- >
-{
-};
-
-}
-
-template<
- typename F
- >
-struct unpack_args
-{
- template< typename Args > struct apply
-
- : aux::unpack_args_impl< size<Args>::value,F, Args >
-
- {
- };
-};
-
-BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/plain/vector.hpp b/boost/mpl/aux_/preprocessed/plain/vector.hpp
deleted file mode 100644
index bfa9565..0000000
--- a/boost/mpl/aux_/preprocessed/plain/vector.hpp
+++ /dev/null
@@ -1,323 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/vector.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
- , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
- , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
- , typename T12 = na, typename T13 = na, typename T14 = na
- , typename T15 = na, typename T16 = na, typename T17 = na
- , typename T18 = na, typename T19 = na
- >
-struct vector;
-
-template<
-
- >
-struct vector<
- na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector0< >
-{
- typedef vector0< >::type type;
-};
-
-template<
- typename T0
- >
-struct vector<
- T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector1<T0>
-{
- typedef typename vector1<T0>::type type;
-};
-
-template<
- typename T0, typename T1
- >
-struct vector<
- T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector2< T0,T1 >
-{
- typedef typename vector2< T0,T1 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct vector<
- T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector3< T0,T1,T2 >
-{
- typedef typename vector3< T0,T1,T2 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct vector<
- T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector4< T0,T1,T2,T3 >
-{
- typedef typename vector4< T0,T1,T2,T3 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct vector<
- T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector5< T0,T1,T2,T3,T4 >
-{
- typedef typename vector5< T0,T1,T2,T3,T4 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector6< T0,T1,T2,T3,T4,T5 >
-{
- typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector7< T0,T1,T2,T3,T4,T5,T6 >
-{
- typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector8< T0,T1,T2,T3,T4,T5,T6,T7 >
-{
- typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
-{
- typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
- , na, na, na
- >
- : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
-{
- typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
- , na, na, na
- >
- : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
-{
- typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
- , na, na, na, na
- >
- : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
-{
- typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
- , na, na, na, na
- >
- : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
-{
- typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
- , na, na, na, na
- >
- : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
-{
- typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
- , na, na, na, na
- >
- : vector15<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- >
-{
- typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, na, na, na, na
- >
- : vector16<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15
- >
-{
- typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, na, na, na
- >
- : vector17<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16
- >
-{
- typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, na, na
- >
- : vector18<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17
- >
-{
- typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct vector<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, na
- >
- : vector19<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18
- >
-{
- typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct vector
- : vector20<
- T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
- , T15, T16, T17, T18, T19
- >
-{
- typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessed/plain/vector_c.hpp b/boost/mpl/aux_/preprocessed/plain/vector_c.hpp
deleted file mode 100644
index 0f1560d..0000000
--- a/boost/mpl/aux_/preprocessed/plain/vector_c.hpp
+++ /dev/null
@@ -1,309 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/vector_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
- , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
- , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
- , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
- , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
- , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
- , long C18 = LONG_MAX, long C19 = LONG_MAX
- >
-struct vector_c;
-
-template<
- typename T
- >
-struct vector_c<
- T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector0_c<T>
-{
- typedef typename vector0_c<T>::type type;
-};
-
-template<
- typename T, long C0
- >
-struct vector_c<
- T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector1_c< T, T(C0) >
-{
- typedef typename vector1_c< T, T(C0) >::type type;
-};
-
-template<
- typename T, long C0, long C1
- >
-struct vector_c<
- T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector2_c< T, T(C0), T(C1) >
-{
- typedef typename vector2_c< T, T(C0), T(C1) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2
- >
-struct vector_c<
- T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector3_c< T, T(C0), T(C1), T(C2) >
-{
- typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3
- >
-struct vector_c<
- T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector4_c< T, T(C0), T(C1), T(C2), T(C3) >
-{
- typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >
-{
- typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >
-{
- typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >
-{
- typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX
- >
- : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >
-{
- typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >
-{
- typedef typename vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- , LONG_MAX
- >
- : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >
-{
- typedef typename vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >
-{
- typedef typename vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >
-{
- typedef typename vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >
-{
- typedef typename vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >
-{
- typedef typename vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >
-{
- typedef typename vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >
-{
- typedef typename vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
- >
- : vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >
-{
- typedef typename vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, LONG_MAX, LONG_MAX
- >
- : vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >
-{
- typedef typename vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >::type type;
-};
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18
- >
-struct vector_c<
- T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
- , C15, C16, C17, C18, LONG_MAX
- >
- : vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >
-{
- typedef typename vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >::type type;
-};
-
-/// primary template (not a specialization!)
-
-template<
- typename T, long C0, long C1, long C2, long C3, long C4, long C5
- , long C6, long C7, long C8, long C9, long C10, long C11, long C12
- , long C13, long C14, long C15, long C16, long C17, long C18, long C19
- >
-struct vector_c
- : vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >
-{
- typedef typename vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >::type type;
-};
-
-}}
-
diff --git a/boost/mpl/aux_/preprocessor/add.hpp b/boost/mpl/aux_/preprocessor/add.hpp
deleted file mode 100644
index 26a70e7..0000000
--- a/boost/mpl/aux_/preprocessor/add.hpp
+++ /dev/null
@@ -1,65 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_PREPROCESSOR_ADD_HPP_INCLUDED
-#define BOOST_MPL_AUX_PREPROCESSOR_ADD_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: add.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/preprocessor.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES)
-
-# include <boost/mpl/aux_/preprocessor/tuple.hpp>
-
-#if defined(BOOST_MPL_CFG_BROKEN_PP_MACRO_EXPANSION)
-# include <boost/preprocessor/cat.hpp>
-
-# define BOOST_MPL_PP_ADD(i,j) \
- BOOST_MPL_PP_ADD_DELAY(i,j) \
- /**/
-
-# define BOOST_MPL_PP_ADD_DELAY(i,j) \
- BOOST_PP_CAT(BOOST_MPL_PP_TUPLE_11_ELEM_##i,BOOST_MPL_PP_ADD_##j) \
- /**/
-#else
-# define BOOST_MPL_PP_ADD(i,j) \
- BOOST_MPL_PP_ADD_DELAY(i,j) \
- /**/
-
-# define BOOST_MPL_PP_ADD_DELAY(i,j) \
- BOOST_MPL_PP_TUPLE_11_ELEM_##i BOOST_MPL_PP_ADD_##j \
- /**/
-#endif
-
-# define BOOST_MPL_PP_ADD_0 (0,1,2,3,4,5,6,7,8,9,10)
-# define BOOST_MPL_PP_ADD_1 (1,2,3,4,5,6,7,8,9,10,0)
-# define BOOST_MPL_PP_ADD_2 (2,3,4,5,6,7,8,9,10,0,0)
-# define BOOST_MPL_PP_ADD_3 (3,4,5,6,7,8,9,10,0,0,0)
-# define BOOST_MPL_PP_ADD_4 (4,5,6,7,8,9,10,0,0,0,0)
-# define BOOST_MPL_PP_ADD_5 (5,6,7,8,9,10,0,0,0,0,0)
-# define BOOST_MPL_PP_ADD_6 (6,7,8,9,10,0,0,0,0,0,0)
-# define BOOST_MPL_PP_ADD_7 (7,8,9,10,0,0,0,0,0,0,0)
-# define BOOST_MPL_PP_ADD_8 (8,9,10,0,0,0,0,0,0,0,0)
-# define BOOST_MPL_PP_ADD_9 (9,10,0,0,0,0,0,0,0,0,0)
-# define BOOST_MPL_PP_ADD_10 (10,0,0,0,0,0,0,0,0,0,0)
-
-#else
-
-# include <boost/preprocessor/arithmetic/add.hpp>
-
-# define BOOST_MPL_PP_ADD(i,j) \
- BOOST_PP_ADD(i,j) \
- /**/
-
-#endif
-
-#endif // BOOST_MPL_AUX_PREPROCESSOR_ADD_HPP_INCLUDED
diff --git a/boost/mpl/aux_/preprocessor/def_params_tail.hpp b/boost/mpl/aux_/preprocessor/def_params_tail.hpp
deleted file mode 100644
index c51636e..0000000
--- a/boost/mpl/aux_/preprocessor/def_params_tail.hpp
+++ /dev/null
@@ -1,105 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_PREPROCESSOR_DEF_PARAMS_TAIL_HPP_INCLUDED
-#define BOOST_MPL_AUX_PREPROCESSOR_DEF_PARAMS_TAIL_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: def_params_tail.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/limits/arity.hpp>
-#include <boost/mpl/aux_/config/dtp.hpp>
-#include <boost/mpl/aux_/config/preprocessor.hpp>
-
-#include <boost/preprocessor/comma_if.hpp>
-#include <boost/preprocessor/logical/and.hpp>
-#include <boost/preprocessor/identity.hpp>
-#include <boost/preprocessor/empty.hpp>
-
-// BOOST_MPL_PP_DEF_PARAMS_TAIL(1,T,value): , T1 = value, .., Tn = value
-// BOOST_MPL_PP_DEF_PARAMS_TAIL(2,T,value): , T2 = value, .., Tn = value
-// BOOST_MPL_PP_DEF_PARAMS_TAIL(n,T,value): <nothing>
-
-#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES)
-
-# include <boost/mpl/aux_/preprocessor/filter_params.hpp>
-# include <boost/mpl/aux_/preprocessor/sub.hpp>
-
-# define BOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, value_func) \
- BOOST_MPL_PP_DEF_PARAMS_TAIL_DELAY_1( \
- i \
- , BOOST_MPL_PP_SUB(BOOST_MPL_LIMIT_METAFUNCTION_ARITY,i) \
- , param \
- , value_func \
- ) \
- /**/
-
-# define BOOST_MPL_PP_DEF_PARAMS_TAIL_DELAY_1(i, n, param, value_func) \
- BOOST_MPL_PP_DEF_PARAMS_TAIL_DELAY_2(i,n,param,value_func) \
- /**/
-
-# define BOOST_MPL_PP_DEF_PARAMS_TAIL_DELAY_2(i, n, param, value_func) \
- BOOST_PP_COMMA_IF(BOOST_PP_AND(i,n)) \
- BOOST_MPL_PP_DEF_PARAMS_TAIL_##i(n,param,value_func) \
- /**/
-
-# define BOOST_MPL_PP_DEF_PARAMS_TAIL_0(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##1 v(),p##2 v(),p##3 v(),p##4 v(),p##5 v(),p##6 v(),p##7 v(),p##8 v(),p##9 v())
-# define BOOST_MPL_PP_DEF_PARAMS_TAIL_1(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##2 v(),p##3 v(),p##4 v(),p##5 v(),p##6 v(),p##7 v(),p##8 v(),p##9 v(),p1)
-# define BOOST_MPL_PP_DEF_PARAMS_TAIL_2(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##3 v(),p##4 v(),p##5 v(),p##6 v(),p##7 v(),p##8 v(),p##9 v(),p1,p2)
-# define BOOST_MPL_PP_DEF_PARAMS_TAIL_3(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##4 v(),p##5 v(),p##6 v(),p##7 v(),p##8 v(),p##9 v(),p1,p2,p3)
-# define BOOST_MPL_PP_DEF_PARAMS_TAIL_4(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##5 v(),p##6 v(),p##7 v(),p##8 v(),p##9 v(),p1,p2,p3,p4)
-# define BOOST_MPL_PP_DEF_PARAMS_TAIL_5(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##6 v(),p##7 v(),p##8 v(),p##9 v(),p1,p2,p3,p4,p5)
-# define BOOST_MPL_PP_DEF_PARAMS_TAIL_6(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##7 v(),p##8 v(),p##9 v(),p1,p2,p3,p4,p5,p6)
-# define BOOST_MPL_PP_DEF_PARAMS_TAIL_7(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##8 v(),p##9 v(),p1,p2,p3,p4,p5,p6,p7)
-# define BOOST_MPL_PP_DEF_PARAMS_TAIL_8(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##9 v(),p1,p2,p3,p4,p5,p6,p7,p8)
-# define BOOST_MPL_PP_DEF_PARAMS_TAIL_9(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p1,p2,p3,p4,p5,p6,p7,p8,p9)
-
-#else
-
-# include <boost/preprocessor/arithmetic/add.hpp>
-# include <boost/preprocessor/arithmetic/sub.hpp>
-# include <boost/preprocessor/inc.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-# include <boost/preprocessor/repeat.hpp>
-# include <boost/preprocessor/cat.hpp>
-
-# define BOOST_MPL_PP_AUX_TAIL_PARAM_FUNC(unused, i, op) \
- , BOOST_PP_CAT( \
- BOOST_PP_TUPLE_ELEM(3, 1, op) \
- , BOOST_PP_ADD_D(1, i, BOOST_PP_INC(BOOST_PP_TUPLE_ELEM(3, 0, op))) \
- ) BOOST_PP_TUPLE_ELEM(3, 2, op)() \
- /**/
-
-# define BOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, value_func) \
- BOOST_PP_REPEAT( \
- BOOST_PP_SUB_D(1, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, i) \
- , BOOST_MPL_PP_AUX_TAIL_PARAM_FUNC \
- , (i, param, value_func) \
- ) \
- /**/
-
-
-#endif // BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES
-
-#define BOOST_MPL_PP_DEF_PARAMS_TAIL(i, param, value) \
- BOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, BOOST_PP_IDENTITY(=value)) \
- /**/
-
-#if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
-# define BOOST_MPL_PP_NESTED_DEF_PARAMS_TAIL(i, param, value) \
- BOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, BOOST_PP_IDENTITY(=value)) \
- /**/
-#else
-# define BOOST_MPL_PP_NESTED_DEF_PARAMS_TAIL(i, param, value) \
- BOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, BOOST_PP_EMPTY) \
- /**/
-#endif
-
-#endif // BOOST_MPL_AUX_PREPROCESSOR_DEF_PARAMS_TAIL_HPP_INCLUDED
diff --git a/boost/mpl/aux_/preprocessor/default_params.hpp b/boost/mpl/aux_/preprocessor/default_params.hpp
deleted file mode 100644
index 66d6d03..0000000
--- a/boost/mpl/aux_/preprocessor/default_params.hpp
+++ /dev/null
@@ -1,67 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_PREPROCESSOR_DEFAULT_PARAMS_HPP_INCLUDED
-#define BOOST_MPL_AUX_PREPROCESSOR_DEFAULT_PARAMS_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: default_params.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/preprocessor.hpp>
-
-// BOOST_MPL_PP_DEFAULT_PARAMS(0,T,int): <nothing>
-// BOOST_MPL_PP_DEFAULT_PARAMS(1,T,int): T1 = int
-// BOOST_MPL_PP_DEFAULT_PARAMS(2,T,int): T1 = int, T2 = int
-// BOOST_MPL_PP_DEFAULT_PARAMS(n,T,int): T1 = int, T2 = int, .., Tn = int
-
-#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES)
-
-# include <boost/preprocessor/cat.hpp>
-
-# define BOOST_MPL_PP_DEFAULT_PARAMS(n,p,v) \
- BOOST_PP_CAT(BOOST_MPL_PP_DEFAULT_PARAMS_,n)(p,v) \
- /**/
-
-# define BOOST_MPL_PP_DEFAULT_PARAMS_0(p,v)
-# define BOOST_MPL_PP_DEFAULT_PARAMS_1(p,v) p##1=v
-# define BOOST_MPL_PP_DEFAULT_PARAMS_2(p,v) p##1=v,p##2=v
-# define BOOST_MPL_PP_DEFAULT_PARAMS_3(p,v) p##1=v,p##2=v,p##3=v
-# define BOOST_MPL_PP_DEFAULT_PARAMS_4(p,v) p##1=v,p##2=v,p##3=v,p##4=v
-# define BOOST_MPL_PP_DEFAULT_PARAMS_5(p,v) p##1=v,p##2=v,p##3=v,p##4=v,p##5=v
-# define BOOST_MPL_PP_DEFAULT_PARAMS_6(p,v) p##1=v,p##2=v,p##3=v,p##4=v,p##5=v,p##6=v
-# define BOOST_MPL_PP_DEFAULT_PARAMS_7(p,v) p##1=v,p##2=v,p##3=v,p##4=v,p##5=v,p##6=v,p##7=v
-# define BOOST_MPL_PP_DEFAULT_PARAMS_8(p,v) p##1=v,p##2=v,p##3=v,p##4=v,p##5=v,p##6=v,p##7=v,p##8=v
-# define BOOST_MPL_PP_DEFAULT_PARAMS_9(p,v) p##1=v,p##2=v,p##3=v,p##4=v,p##5=v,p##6=v,p##7=v,p##8=v,p##9=v
-
-#else
-
-# include <boost/preprocessor/tuple/elem.hpp>
-# include <boost/preprocessor/comma_if.hpp>
-# include <boost/preprocessor/repeat.hpp>
-# include <boost/preprocessor/inc.hpp>
-# include <boost/preprocessor/cat.hpp>
-
-# define BOOST_MPL_PP_AUX_DEFAULT_PARAM_FUNC(unused, i, pv) \
- BOOST_PP_COMMA_IF(i) \
- BOOST_PP_CAT( BOOST_PP_TUPLE_ELEM(2,0,pv), BOOST_PP_INC(i) ) \
- = BOOST_PP_TUPLE_ELEM(2,1,pv) \
- /**/
-
-# define BOOST_MPL_PP_DEFAULT_PARAMS(n, param, value) \
- BOOST_PP_REPEAT( \
- n \
- , BOOST_MPL_PP_AUX_DEFAULT_PARAM_FUNC \
- , (param,value) \
- ) \
- /**/
-
-#endif
-
-#endif // BOOST_MPL_AUX_PREPROCESSOR_DEFAULT_PARAMS_HPP_INCLUDED
diff --git a/boost/mpl/aux_/preprocessor/enum.hpp b/boost/mpl/aux_/preprocessor/enum.hpp
deleted file mode 100644
index 11541a0..0000000
--- a/boost/mpl/aux_/preprocessor/enum.hpp
+++ /dev/null
@@ -1,62 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_PREPROCESSOR_ENUM_HPP_INCLUDED
-#define BOOST_MPL_AUX_PREPROCESSOR_ENUM_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: enum.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/preprocessor.hpp>
-
-// BOOST_MPL_PP_ENUM(0,int): <nothing>
-// BOOST_MPL_PP_ENUM(1,int): int
-// BOOST_MPL_PP_ENUM(2,int): int, int
-// BOOST_MPL_PP_ENUM(n,int): int, int, .., int
-
-#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES)
-
-# include <boost/preprocessor/cat.hpp>
-
-# define BOOST_MPL_PP_ENUM(n, param) \
- BOOST_PP_CAT(BOOST_MPL_PP_ENUM_,n)(param) \
- /**/
-
-# define BOOST_MPL_PP_ENUM_0(p)
-# define BOOST_MPL_PP_ENUM_1(p) p
-# define BOOST_MPL_PP_ENUM_2(p) p,p
-# define BOOST_MPL_PP_ENUM_3(p) p,p,p
-# define BOOST_MPL_PP_ENUM_4(p) p,p,p,p
-# define BOOST_MPL_PP_ENUM_5(p) p,p,p,p,p
-# define BOOST_MPL_PP_ENUM_6(p) p,p,p,p,p,p
-# define BOOST_MPL_PP_ENUM_7(p) p,p,p,p,p,p,p
-# define BOOST_MPL_PP_ENUM_8(p) p,p,p,p,p,p,p,p
-# define BOOST_MPL_PP_ENUM_9(p) p,p,p,p,p,p,p,p,p
-
-#else
-
-# include <boost/preprocessor/comma_if.hpp>
-# include <boost/preprocessor/repeat.hpp>
-
-# define BOOST_MPL_PP_AUX_ENUM_FUNC(unused, i, param) \
- BOOST_PP_COMMA_IF(i) param \
- /**/
-
-# define BOOST_MPL_PP_ENUM(n, param) \
- BOOST_PP_REPEAT( \
- n \
- , BOOST_MPL_PP_AUX_ENUM_FUNC \
- , param \
- ) \
- /**/
-
-#endif
-
-#endif // BOOST_MPL_AUX_PREPROCESSOR_ENUM_HPP_INCLUDED
diff --git a/boost/mpl/aux_/preprocessor/ext_params.hpp b/boost/mpl/aux_/preprocessor/ext_params.hpp
deleted file mode 100644
index a89535d..0000000
--- a/boost/mpl/aux_/preprocessor/ext_params.hpp
+++ /dev/null
@@ -1,78 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_PREPROCESSOR_EXT_PARAMS_HPP_INCLUDED
-#define BOOST_MPL_AUX_PREPROCESSOR_EXT_PARAMS_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: ext_params.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/preprocessor.hpp>
-
-// BOOST_MPL_PP_EXT_PARAMS(2,2,T): <nothing>
-// BOOST_MPL_PP_EXT_PARAMS(2,3,T): T2
-// BOOST_MPL_PP_EXT_PARAMS(2,4,T): T2, T3
-// BOOST_MPL_PP_EXT_PARAMS(2,n,T): T2, T3, .., Tn-1
-
-#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES)
-
-# include <boost/mpl/aux_/preprocessor/filter_params.hpp>
-# include <boost/mpl/aux_/preprocessor/sub.hpp>
-
-# define BOOST_MPL_PP_EXT_PARAMS(i,j,p) \
- BOOST_MPL_PP_EXT_PARAMS_DELAY_1(i,BOOST_MPL_PP_SUB(j,i),p) \
- /**/
-
-# define BOOST_MPL_PP_EXT_PARAMS_DELAY_1(i,n,p) \
- BOOST_MPL_PP_EXT_PARAMS_DELAY_2(i,n,p) \
- /**/
-
-# define BOOST_MPL_PP_EXT_PARAMS_DELAY_2(i,n,p) \
- BOOST_MPL_PP_EXT_PARAMS_##i(n,p) \
- /**/
-
-# define BOOST_MPL_PP_EXT_PARAMS_1(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##1,p##2,p##3,p##4,p##5,p##6,p##7,p##8,p##9)
-# define BOOST_MPL_PP_EXT_PARAMS_2(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##2,p##3,p##4,p##5,p##6,p##7,p##8,p##9,p1)
-# define BOOST_MPL_PP_EXT_PARAMS_3(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##3,p##4,p##5,p##6,p##7,p##8,p##9,p1,p2)
-# define BOOST_MPL_PP_EXT_PARAMS_4(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##4,p##5,p##6,p##7,p##8,p##9,p1,p2,p3)
-# define BOOST_MPL_PP_EXT_PARAMS_5(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##5,p##6,p##7,p##8,p##9,p1,p2,p3,p4)
-# define BOOST_MPL_PP_EXT_PARAMS_6(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##6,p##7,p##8,p##9,p1,p2,p3,p4,p5)
-# define BOOST_MPL_PP_EXT_PARAMS_7(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##7,p##8,p##9,p1,p2,p3,p4,p5,p6)
-# define BOOST_MPL_PP_EXT_PARAMS_8(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##8,p##9,p1,p2,p3,p4,p5,p6,p7)
-# define BOOST_MPL_PP_EXT_PARAMS_9(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##9,p1,p2,p3,p4,p5,p6,p7,p8)
-
-#else
-
-# include <boost/preprocessor/arithmetic/add.hpp>
-# include <boost/preprocessor/arithmetic/sub.hpp>
-# include <boost/preprocessor/comma_if.hpp>
-# include <boost/preprocessor/repeat.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-# include <boost/preprocessor/cat.hpp>
-
-# define BOOST_MPL_PP_AUX_EXT_PARAM_FUNC(unused, i, op) \
- BOOST_PP_COMMA_IF(i) \
- BOOST_PP_CAT( \
- BOOST_PP_TUPLE_ELEM(2,1,op) \
- , BOOST_PP_ADD_D(1, i, BOOST_PP_TUPLE_ELEM(2,0,op)) \
- ) \
- /**/
-
-# define BOOST_MPL_PP_EXT_PARAMS(i, j, param) \
- BOOST_PP_REPEAT( \
- BOOST_PP_SUB_D(1,j,i) \
- , BOOST_MPL_PP_AUX_EXT_PARAM_FUNC \
- , (i,param) \
- ) \
- /**/
-
-#endif
-
-#endif // BOOST_MPL_AUX_PREPROCESSOR_EXT_PARAMS_HPP_INCLUDED
diff --git a/boost/mpl/aux_/preprocessor/filter_params.hpp b/boost/mpl/aux_/preprocessor/filter_params.hpp
deleted file mode 100644
index fefd984..0000000
--- a/boost/mpl/aux_/preprocessor/filter_params.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_PREPROCESSOR_FILTER_PARAMS_HPP_INCLUDED
-#define BOOST_MPL_AUX_PREPROCESSOR_FILTER_PARAMS_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: filter_params.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#define BOOST_MPL_PP_FILTER_PARAMS_0(p1,p2,p3,p4,p5,p6,p7,p8,p9)
-#define BOOST_MPL_PP_FILTER_PARAMS_1(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1
-#define BOOST_MPL_PP_FILTER_PARAMS_2(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2
-#define BOOST_MPL_PP_FILTER_PARAMS_3(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3
-#define BOOST_MPL_PP_FILTER_PARAMS_4(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4
-#define BOOST_MPL_PP_FILTER_PARAMS_5(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5
-#define BOOST_MPL_PP_FILTER_PARAMS_6(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5,p6
-#define BOOST_MPL_PP_FILTER_PARAMS_7(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5,p6,p7
-#define BOOST_MPL_PP_FILTER_PARAMS_8(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5,p6,p7,p8
-#define BOOST_MPL_PP_FILTER_PARAMS_9(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5,p6,p7,p8,p9
-
-#endif // BOOST_MPL_AUX_PREPROCESSOR_FILTER_PARAMS_HPP_INCLUDED
diff --git a/boost/mpl/aux_/preprocessor/params.hpp b/boost/mpl/aux_/preprocessor/params.hpp
deleted file mode 100644
index ac861ec..0000000
--- a/boost/mpl/aux_/preprocessor/params.hpp
+++ /dev/null
@@ -1,65 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_PREPROCESSOR_PARAMS_HPP_INCLUDED
-#define BOOST_MPL_AUX_PREPROCESSOR_PARAMS_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: params.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/preprocessor.hpp>
-
-// BOOST_MPL_PP_PARAMS(0,T): <nothing>
-// BOOST_MPL_PP_PARAMS(1,T): T1
-// BOOST_MPL_PP_PARAMS(2,T): T1, T2
-// BOOST_MPL_PP_PARAMS(n,T): T1, T2, .., Tn
-
-#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES)
-
-# include <boost/preprocessor/cat.hpp>
-
-# define BOOST_MPL_PP_PARAMS(n,p) \
- BOOST_PP_CAT(BOOST_MPL_PP_PARAMS_,n)(p) \
- /**/
-
-# define BOOST_MPL_PP_PARAMS_0(p)
-# define BOOST_MPL_PP_PARAMS_1(p) p##1
-# define BOOST_MPL_PP_PARAMS_2(p) p##1,p##2
-# define BOOST_MPL_PP_PARAMS_3(p) p##1,p##2,p##3
-# define BOOST_MPL_PP_PARAMS_4(p) p##1,p##2,p##3,p##4
-# define BOOST_MPL_PP_PARAMS_5(p) p##1,p##2,p##3,p##4,p##5
-# define BOOST_MPL_PP_PARAMS_6(p) p##1,p##2,p##3,p##4,p##5,p##6
-# define BOOST_MPL_PP_PARAMS_7(p) p##1,p##2,p##3,p##4,p##5,p##6,p##7
-# define BOOST_MPL_PP_PARAMS_8(p) p##1,p##2,p##3,p##4,p##5,p##6,p##7,p##8
-# define BOOST_MPL_PP_PARAMS_9(p) p##1,p##2,p##3,p##4,p##5,p##6,p##7,p##8,p##9
-
-#else
-
-# include <boost/preprocessor/comma_if.hpp>
-# include <boost/preprocessor/repeat.hpp>
-# include <boost/preprocessor/inc.hpp>
-# include <boost/preprocessor/cat.hpp>
-
-# define BOOST_MPL_PP_AUX_PARAM_FUNC(unused, i, param) \
- BOOST_PP_COMMA_IF(i) \
- BOOST_PP_CAT(param, BOOST_PP_INC(i)) \
- /**/
-
-# define BOOST_MPL_PP_PARAMS(n, param) \
- BOOST_PP_REPEAT( \
- n \
- , BOOST_MPL_PP_AUX_PARAM_FUNC \
- , param \
- ) \
- /**/
-
-#endif
-
-#endif // BOOST_MPL_AUX_PREPROCESSOR_PARAMS_HPP_INCLUDED
diff --git a/boost/mpl/aux_/preprocessor/partial_spec_params.hpp b/boost/mpl/aux_/preprocessor/partial_spec_params.hpp
deleted file mode 100644
index e2e1fa9..0000000
--- a/boost/mpl/aux_/preprocessor/partial_spec_params.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_PREPROCESSOR_PARTIAL_SPEC_PARAMS_HPP_INCLUDED
-#define BOOST_MPL_AUX_PREPROCESSOR_PARTIAL_SPEC_PARAMS_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: partial_spec_params.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/limits/arity.hpp>
-#include <boost/mpl/aux_/preprocessor/params.hpp>
-#include <boost/mpl/aux_/preprocessor/enum.hpp>
-#include <boost/mpl/aux_/preprocessor/sub.hpp>
-#include <boost/preprocessor/comma_if.hpp>
-
-#define BOOST_MPL_PP_PARTIAL_SPEC_PARAMS(n, param, def) \
-BOOST_MPL_PP_PARAMS(n, param) \
-BOOST_PP_COMMA_IF(BOOST_MPL_PP_SUB(BOOST_MPL_LIMIT_METAFUNCTION_ARITY,n)) \
-BOOST_MPL_PP_ENUM( \
- BOOST_MPL_PP_SUB(BOOST_MPL_LIMIT_METAFUNCTION_ARITY,n) \
- , def \
- ) \
-/**/
-
-#endif // BOOST_MPL_AUX_PREPROCESSOR_PARTIAL_SPEC_PARAMS_HPP_INCLUDED
diff --git a/boost/mpl/aux_/preprocessor/range.hpp b/boost/mpl/aux_/preprocessor/range.hpp
deleted file mode 100644
index e69a9e1..0000000
--- a/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: range.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/preprocessor/seq/subseq.hpp>
-
-#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/boost/mpl/aux_/preprocessor/repeat.hpp b/boost/mpl/aux_/preprocessor/repeat.hpp
deleted file mode 100644
index 2c314ec..0000000
--- a/boost/mpl/aux_/preprocessor/repeat.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_PREPROCESSOR_REPEAT_HPP_INCLUDED
-#define BOOST_MPL_AUX_PREPROCESSOR_REPEAT_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: repeat.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/preprocessor.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES)
-
-# include <boost/preprocessor/cat.hpp>
-
-# define BOOST_MPL_PP_REPEAT(n,f,param) \
- BOOST_PP_CAT(BOOST_MPL_PP_REPEAT_,n)(f,param) \
- /**/
-
-# define BOOST_MPL_PP_REPEAT_0(f,p)
-# define BOOST_MPL_PP_REPEAT_1(f,p) f(0,0,p)
-# define BOOST_MPL_PP_REPEAT_2(f,p) f(0,0,p) f(0,1,p)
-# define BOOST_MPL_PP_REPEAT_3(f,p) f(0,0,p) f(0,1,p) f(0,2,p)
-# define BOOST_MPL_PP_REPEAT_4(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p)
-# define BOOST_MPL_PP_REPEAT_5(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p) f(0,4,p)
-# define BOOST_MPL_PP_REPEAT_6(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p) f(0,4,p) f(0,5,p)
-# define BOOST_MPL_PP_REPEAT_7(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p) f(0,4,p) f(0,5,p) f(0,6,p)
-# define BOOST_MPL_PP_REPEAT_8(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p) f(0,4,p) f(0,5,p) f(0,6,p) f(0,7,p)
-# define BOOST_MPL_PP_REPEAT_9(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p) f(0,4,p) f(0,5,p) f(0,6,p) f(0,7,p) f(0,8,p)
-# define BOOST_MPL_PP_REPEAT_10(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p) f(0,4,p) f(0,5,p) f(0,6,p) f(0,7,p) f(0,8,p) f(0,9,p)
-
-#else
-
-# include <boost/preprocessor/repeat.hpp>
-
-# define BOOST_MPL_PP_REPEAT(n,f,param) \
- BOOST_PP_REPEAT(n,f,param) \
- /**/
-
-#endif
-
-#define BOOST_MPL_PP_REPEAT_IDENTITY_FUNC(unused1, unused2, x) x
-
-#endif // BOOST_MPL_AUX_PREPROCESSOR_REPEAT_HPP_INCLUDED
diff --git a/boost/mpl/aux_/preprocessor/sub.hpp b/boost/mpl/aux_/preprocessor/sub.hpp
deleted file mode 100644
index 7f5e291..0000000
--- a/boost/mpl/aux_/preprocessor/sub.hpp
+++ /dev/null
@@ -1,65 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_PREPROCESSOR_SUB_HPP_INCLUDED
-#define BOOST_MPL_AUX_PREPROCESSOR_SUB_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: sub.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/preprocessor.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES)
-
-# include <boost/mpl/aux_/preprocessor/tuple.hpp>
-
-#if defined(BOOST_MPL_CFG_BROKEN_PP_MACRO_EXPANSION)
-# include <boost/preprocessor/cat.hpp>
-
-# define BOOST_MPL_PP_SUB(i,j) \
- BOOST_MPL_PP_SUB_DELAY(i,j) \
- /**/
-
-# define BOOST_MPL_PP_SUB_DELAY(i,j) \
- BOOST_PP_CAT(BOOST_MPL_PP_TUPLE_11_ELEM_##i,BOOST_MPL_PP_SUB_##j) \
- /**/
-#else
-# define BOOST_MPL_PP_SUB(i,j) \
- BOOST_MPL_PP_SUB_DELAY(i,j) \
- /**/
-
-# define BOOST_MPL_PP_SUB_DELAY(i,j) \
- BOOST_MPL_PP_TUPLE_11_ELEM_##i BOOST_MPL_PP_SUB_##j \
- /**/
-#endif
-
-# define BOOST_MPL_PP_SUB_0 (0,1,2,3,4,5,6,7,8,9,10)
-# define BOOST_MPL_PP_SUB_1 (0,0,1,2,3,4,5,6,7,8,9)
-# define BOOST_MPL_PP_SUB_2 (0,0,0,1,2,3,4,5,6,7,8)
-# define BOOST_MPL_PP_SUB_3 (0,0,0,0,1,2,3,4,5,6,7)
-# define BOOST_MPL_PP_SUB_4 (0,0,0,0,0,1,2,3,4,5,6)
-# define BOOST_MPL_PP_SUB_5 (0,0,0,0,0,0,1,2,3,4,5)
-# define BOOST_MPL_PP_SUB_6 (0,0,0,0,0,0,0,1,2,3,4)
-# define BOOST_MPL_PP_SUB_7 (0,0,0,0,0,0,0,0,1,2,3)
-# define BOOST_MPL_PP_SUB_8 (0,0,0,0,0,0,0,0,0,1,2)
-# define BOOST_MPL_PP_SUB_9 (0,0,0,0,0,0,0,0,0,0,1)
-# define BOOST_MPL_PP_SUB_10 (0,0,0,0,0,0,0,0,0,0,0)
-
-#else
-
-# include <boost/preprocessor/arithmetic/sub.hpp>
-
-# define BOOST_MPL_PP_SUB(i,j) \
- BOOST_PP_SUB(i,j) \
- /**/
-
-#endif
-
-#endif // BOOST_MPL_AUX_PREPROCESSOR_SUB_HPP_INCLUDED
diff --git a/boost/mpl/aux_/preprocessor/tuple.hpp b/boost/mpl/aux_/preprocessor/tuple.hpp
deleted file mode 100644
index ed59407..0000000
--- a/boost/mpl/aux_/preprocessor/tuple.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_PREPROCESSOR_TUPLE_HPP_INCLUDED
-#define BOOST_MPL_AUX_PREPROCESSOR_TUPLE_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: tuple.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#define BOOST_MPL_PP_TUPLE_11_ELEM_0(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e0
-#define BOOST_MPL_PP_TUPLE_11_ELEM_1(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e1
-#define BOOST_MPL_PP_TUPLE_11_ELEM_2(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e2
-#define BOOST_MPL_PP_TUPLE_11_ELEM_3(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e3
-#define BOOST_MPL_PP_TUPLE_11_ELEM_4(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e4
-#define BOOST_MPL_PP_TUPLE_11_ELEM_5(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e5
-#define BOOST_MPL_PP_TUPLE_11_ELEM_6(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e6
-#define BOOST_MPL_PP_TUPLE_11_ELEM_7(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e7
-#define BOOST_MPL_PP_TUPLE_11_ELEM_8(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e8
-#define BOOST_MPL_PP_TUPLE_11_ELEM_9(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e9
-#define BOOST_MPL_PP_TUPLE_11_ELEM_10(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e10
-
-#endif // BOOST_MPL_AUX_PREPROCESSOR_TUPLE_HPP_INCLUDED
diff --git a/boost/mpl/aux_/push_back_impl.hpp b/boost/mpl/aux_/push_back_impl.hpp
deleted file mode 100644
index 732c43c..0000000
--- a/boost/mpl/aux_/push_back_impl.hpp
+++ /dev/null
@@ -1,70 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_PUSH_BACK_IMPL_HPP_INCLUDED
-#define BOOST_MPL_AUX_PUSH_BACK_IMPL_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-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/mpl for documentation.
-
-// $Id: push_back_impl.hpp 55679 2009-08-20 07:50:16Z agurtovoy $
-// $Date: 2009-08-20 00:50:16 -0700 (Thu, 20 Aug 2009) $
-// $Revision: 55679 $
-
-#include <boost/mpl/push_back_fwd.hpp>
-#include <boost/mpl/assert.hpp>
-#include <boost/mpl/aux_/has_type.hpp>
-#include <boost/mpl/aux_/traits_lambda_spec.hpp>
-#include <boost/mpl/aux_/config/forwarding.hpp>
-#include <boost/mpl/aux_/config/static_constant.hpp>
-
-#include <boost/type_traits/is_same.hpp>
-
-namespace boost { namespace mpl {
-
-struct has_push_back_arg {};
-
-// agurt 05/feb/04: no default implementation; the stub definition is needed
-// to enable the default 'has_push_back' implementation below
-template< typename Tag >
-struct push_back_impl
-{
- template< typename Sequence, typename T > struct apply
- {
- // should be instantiated only in the context of 'has_push_back_impl';
- // if you've got an assert here, you are requesting a 'push_back'
- // specialization that doesn't exist.
- BOOST_MPL_ASSERT_MSG(
- ( boost::is_same< T, has_push_back_arg >::value )
- , REQUESTED_PUSH_BACK_SPECIALIZATION_FOR_SEQUENCE_DOES_NOT_EXIST
- , ( Sequence )
- );
- };
-};
-
-template< typename Tag >
-struct has_push_back_impl
-{
- template< typename Seq > struct apply
-#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)
- : aux::has_type< push_back< Seq, has_push_back_arg > >
- {
-#else
- {
- typedef aux::has_type< push_back< Seq, has_push_back_arg > > type;
- BOOST_STATIC_CONSTANT(bool, value =
- (aux::has_type< push_back< Seq, has_push_back_arg > >::value)
- );
-#endif
- };
-};
-
-BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2, push_back_impl)
-BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1, has_push_back_impl)
-
-}}
-
-#endif // BOOST_MPL_AUX_PUSH_BACK_IMPL_HPP_INCLUDED
diff --git a/boost/mpl/aux_/push_front_impl.hpp b/boost/mpl/aux_/push_front_impl.hpp
deleted file mode 100644
index ae1bc22..0000000
--- a/boost/mpl/aux_/push_front_impl.hpp
+++ /dev/null
@@ -1,71 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_PUSH_FRONT_IMPL_HPP_INCLUDED
-#define BOOST_MPL_AUX_PUSH_FRONT_IMPL_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-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/mpl for documentation.
-
-// $Id: push_front_impl.hpp 55679 2009-08-20 07:50:16Z agurtovoy $
-// $Date: 2009-08-20 00:50:16 -0700 (Thu, 20 Aug 2009) $
-// $Revision: 55679 $
-
-#include <boost/mpl/push_front_fwd.hpp>
-#include <boost/mpl/assert.hpp>
-#include <boost/mpl/aux_/has_type.hpp>
-#include <boost/mpl/aux_/traits_lambda_spec.hpp>
-#include <boost/mpl/aux_/config/forwarding.hpp>
-#include <boost/mpl/aux_/config/static_constant.hpp>
-
-#include <boost/type_traits/is_same.hpp>
-
-namespace boost { namespace mpl {
-
-struct has_push_front_arg {};
-
-// agurt 05/feb/04: no default implementation; the stub definition is needed
-// to enable the default 'has_push_front' implementation below
-
-template< typename Tag >
-struct push_front_impl
-{
- template< typename Sequence, typename T > struct apply
- {
- // should be instantiated only in the context of 'has_push_front_impl';
- // if you've got an assert here, you are requesting a 'push_front'
- // specialization that doesn't exist.
- BOOST_MPL_ASSERT_MSG(
- ( boost::is_same< T, has_push_front_arg >::value )
- , REQUESTED_PUSH_FRONT_SPECIALIZATION_FOR_SEQUENCE_DOES_NOT_EXIST
- , ( Sequence )
- );
- };
-};
-
-template< typename Tag >
-struct has_push_front_impl
-{
- template< typename Seq > struct apply
-#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)
- : aux::has_type< push_front< Seq, has_push_front_arg > >
- {
-#else
- {
- typedef aux::has_type< push_front< Seq, has_push_front_arg > > type;
- BOOST_STATIC_CONSTANT(bool, value =
- (aux::has_type< push_front< Seq, has_push_front_arg > >::value)
- );
-#endif
- };
-};
-
-BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2, push_front_impl)
-BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1, has_push_front_impl)
-
-}}
-
-#endif // BOOST_MPL_AUX_PUSH_FRONT_IMPL_HPP_INCLUDED
diff --git a/boost/mpl/aux_/reverse_fold_impl.hpp b/boost/mpl/aux_/reverse_fold_impl.hpp
deleted file mode 100644
index 9c17c01..0000000
--- a/boost/mpl/aux_/reverse_fold_impl.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_REVERSE_FOLD_IMPL_HPP_INCLUDED
-#define BOOST_MPL_AUX_REVERSE_FOLD_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: reverse_fold_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-# include <boost/mpl/next_prior.hpp>
-# include <boost/mpl/deref.hpp>
-# include <boost/mpl/apply.hpp>
-# include <boost/mpl/aux_/config/ctps.hpp>
-# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
- || defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC)
-# include <boost/mpl/if.hpp>
-# include <boost/type_traits/is_same.hpp>
-# endif
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-# define BOOST_MPL_PREPROCESSED_HEADER reverse_fold_impl.hpp
-# include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-# define AUX778076_FOLD_IMPL_OP(iter) typename deref<iter>::type
-# define AUX778076_FOLD_IMPL_NAME_PREFIX reverse_fold
-# include <boost/mpl/aux_/reverse_fold_impl_body.hpp>
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_AUX_REVERSE_FOLD_IMPL_HPP_INCLUDED
diff --git a/boost/mpl/aux_/reverse_fold_impl_body.hpp b/boost/mpl/aux_/reverse_fold_impl_body.hpp
deleted file mode 100644
index c815e0a..0000000
--- a/boost/mpl/aux_/reverse_fold_impl_body.hpp
+++ /dev/null
@@ -1,412 +0,0 @@
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION!
-
-#if !defined(BOOST_PP_IS_ITERATING)
-
-// 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: reverse_fold_impl_body.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-# include <boost/mpl/limits/unrolling.hpp>
-# include <boost/mpl/aux_/preprocessor/repeat.hpp>
-# include <boost/mpl/aux_/config/ctps.hpp>
-# include <boost/mpl/aux_/nttp_decl.hpp>
-
-# include <boost/preprocessor/arithmetic/sub.hpp>
-# include <boost/preprocessor/iterate.hpp>
-# include <boost/preprocessor/dec.hpp>
-# include <boost/preprocessor/inc.hpp>
-# include <boost/preprocessor/cat.hpp>
-
-// local macros, #undef-ined at the end of the header
-
-# define AUX778076_ITER_FOLD_FORWARD_STEP(unused, n_, unused2) \
- typedef typename apply2< \
- ForwardOp \
- , BOOST_PP_CAT(fwd_state,n_) \
- , AUX778076_FOLD_IMPL_OP(BOOST_PP_CAT(iter,n_)) \
- >::type BOOST_PP_CAT(fwd_state,BOOST_PP_INC(n_)); \
- typedef typename mpl::next<BOOST_PP_CAT(iter,n_)>::type \
- BOOST_PP_CAT(iter,BOOST_PP_INC(n_)); \
- /**/
-
-# define AUX778076_ITER_FOLD_BACKWARD_STEP_FUNC(n_) \
- typedef typename apply2< \
- BackwardOp \
- , BOOST_PP_CAT(bkwd_state,n_) \
- , AUX778076_FOLD_IMPL_OP(BOOST_PP_CAT(iter,BOOST_PP_DEC(n_))) \
- >::type BOOST_PP_CAT(bkwd_state,BOOST_PP_DEC(n_)); \
- /**/
-
-# define AUX778076_ITER_FOLD_BACKWARD_STEP(unused, n_, j) \
- AUX778076_ITER_FOLD_BACKWARD_STEP_FUNC( \
- BOOST_PP_SUB_D(1,j,n_) \
- ) \
- /**/
-
-# define AUX778076_FIRST_BACKWARD_STATE_TYPEDEF(n_) \
- typedef typename nested_chunk::state BOOST_PP_CAT(bkwd_state,n_);
- /**/
-
-# define AUX778076_FOLD_IMPL_NAME \
- BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_impl) \
- /**/
-
-# define AUX778076_FOLD_CHUNK_NAME \
- BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_chunk) \
- /**/
-
-namespace boost { namespace mpl { namespace aux {
-
-/// forward declaration
-template<
- BOOST_MPL_AUX_NTTP_DECL(long, N)
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct AUX778076_FOLD_IMPL_NAME;
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
- && !defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC)
-
-# define BOOST_PP_ITERATION_PARAMS_1 \
- (3,(0, BOOST_MPL_LIMIT_UNROLLING, <boost/mpl/aux_/reverse_fold_impl_body.hpp>))
-# include BOOST_PP_ITERATE()
-
-// implementation for N that exceeds BOOST_MPL_LIMIT_UNROLLING
-template<
- BOOST_MPL_AUX_NTTP_DECL(long, N)
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct AUX778076_FOLD_IMPL_NAME
-{
- typedef First iter0;
- typedef State fwd_state0;
-
- BOOST_MPL_PP_REPEAT(
- BOOST_MPL_LIMIT_UNROLLING
- , AUX778076_ITER_FOLD_FORWARD_STEP
- , unused
- )
-
- typedef AUX778076_FOLD_IMPL_NAME<
- ( (N - BOOST_MPL_LIMIT_UNROLLING) < 0 ? 0 : N - BOOST_MPL_LIMIT_UNROLLING )
- , BOOST_PP_CAT(iter,BOOST_MPL_LIMIT_UNROLLING)
- , Last
- , BOOST_PP_CAT(fwd_state,BOOST_MPL_LIMIT_UNROLLING)
- , BackwardOp
- , ForwardOp
- > nested_chunk;
-
- AUX778076_FIRST_BACKWARD_STATE_TYPEDEF(BOOST_MPL_LIMIT_UNROLLING)
-
- BOOST_MPL_PP_REPEAT(
- BOOST_MPL_LIMIT_UNROLLING
- , AUX778076_ITER_FOLD_BACKWARD_STEP
- , BOOST_MPL_LIMIT_UNROLLING
- )
-
- typedef bkwd_state0 state;
- typedef typename nested_chunk::iterator iterator;
-};
-
-// fallback implementation for sequences of unknown size
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct AUX778076_FOLD_IMPL_NAME<-1,First,Last,State,BackwardOp,ForwardOp>
-{
- typedef AUX778076_FOLD_IMPL_NAME<
- -1
- , typename mpl::next<First>::type
- , Last
- , typename apply2<ForwardOp,State,AUX778076_FOLD_IMPL_OP(First)>::type
- , BackwardOp
- , ForwardOp
- > nested_step;
-
- typedef typename apply2<
- BackwardOp
- , typename nested_step::state
- , AUX778076_FOLD_IMPL_OP(First)
- >::type state;
-
- typedef typename nested_step::iterator iterator;
-};
-
-template<
- typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct AUX778076_FOLD_IMPL_NAME<-1,Last,Last,State,BackwardOp,ForwardOp>
-{
- typedef State state;
- typedef Last iterator;
-};
-
-#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-template< BOOST_MPL_AUX_NTTP_DECL(long, N) >
-struct AUX778076_FOLD_CHUNK_NAME;
-
-# define BOOST_PP_ITERATION_PARAMS_1 \
- (3,(0, BOOST_MPL_LIMIT_UNROLLING, <boost/mpl/aux_/reverse_fold_impl_body.hpp>))
-# include BOOST_PP_ITERATE()
-
-// implementation for N that exceeds BOOST_MPL_LIMIT_UNROLLING
-template< BOOST_MPL_AUX_NTTP_DECL(long, N) >
-struct AUX778076_FOLD_CHUNK_NAME
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
-
- BOOST_MPL_PP_REPEAT(
- BOOST_MPL_LIMIT_UNROLLING
- , AUX778076_ITER_FOLD_FORWARD_STEP
- , unused
- )
-
- typedef AUX778076_FOLD_IMPL_NAME<
- ( (N - BOOST_MPL_LIMIT_UNROLLING) < 0 ? 0 : N - BOOST_MPL_LIMIT_UNROLLING )
- , BOOST_PP_CAT(iter,BOOST_MPL_LIMIT_UNROLLING)
- , Last
- , BOOST_PP_CAT(fwd_state,BOOST_MPL_LIMIT_UNROLLING)
- , BackwardOp
- , ForwardOp
- > nested_chunk;
-
- AUX778076_FIRST_BACKWARD_STATE_TYPEDEF(BOOST_MPL_LIMIT_UNROLLING)
-
- BOOST_MPL_PP_REPEAT(
- BOOST_MPL_LIMIT_UNROLLING
- , AUX778076_ITER_FOLD_BACKWARD_STEP
- , BOOST_MPL_LIMIT_UNROLLING
- )
-
- typedef bkwd_state0 state;
- typedef typename nested_chunk::iterator iterator;
- };
-};
-
-// fallback implementation for sequences of unknown size
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_step);
-
-template<
- typename Last
- , typename State
- >
-struct BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_null_step)
-{
- typedef Last iterator;
- typedef State state;
-};
-
-template<>
-struct AUX778076_FOLD_CHUNK_NAME<-1>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef typename if_<
- typename is_same<First,Last>::type
- , BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_null_step)<Last,State>
- , BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_step)<First,Last,State,BackwardOp,ForwardOp>
- >::type res_;
-
- typedef typename res_::state state;
- typedef typename res_::iterator iterator;
- };
-
-#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)
- /// ETI workaround
- template<> struct result_<int,int,int,int,int>
- {
- typedef int state;
- typedef int iterator;
- };
-#endif
-};
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_step)
-{
- typedef AUX778076_FOLD_CHUNK_NAME<-1>::template result_<
- typename mpl::next<First>::type
- , Last
- , typename apply2<ForwardOp,State,AUX778076_FOLD_IMPL_OP(First)>::type
- , BackwardOp
- , ForwardOp
- > nested_step;
-
- typedef typename apply2<
- BackwardOp
- , typename nested_step::state
- , AUX778076_FOLD_IMPL_OP(First)
- >::type state;
-
- typedef typename nested_step::iterator iterator;
-};
-
-template<
- BOOST_MPL_AUX_NTTP_DECL(long, N)
- , typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct AUX778076_FOLD_IMPL_NAME
- : AUX778076_FOLD_CHUNK_NAME<N>
- ::template result_<First,Last,State,BackwardOp,ForwardOp>
-{
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-}}}
-
-# undef AUX778076_FIRST_BACKWARD_STATE_TYPEDEF
-# undef AUX778076_ITER_FOLD_BACKWARD_STEP
-# undef AUX778076_ITER_FOLD_BACKWARD_STEP_FUNC
-# undef AUX778076_ITER_FOLD_FORWARD_STEP
-
-#undef AUX778076_FOLD_IMPL_OP
-#undef AUX778076_FOLD_IMPL_NAME_PREFIX
-
-///// iteration
-
-#else
-
-# define n_ BOOST_PP_FRAME_ITERATION(1)
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
- && !defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC)
-
-template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
-struct AUX778076_FOLD_IMPL_NAME<n_,First,Last,State,BackwardOp,ForwardOp>
-{
- typedef First iter0;
- typedef State fwd_state0;
-
- BOOST_MPL_PP_REPEAT(
- n_
- , AUX778076_ITER_FOLD_FORWARD_STEP
- , unused
- )
-
- typedef BOOST_PP_CAT(fwd_state,n_) BOOST_PP_CAT(bkwd_state,n_);
-
- BOOST_MPL_PP_REPEAT(
- n_
- , AUX778076_ITER_FOLD_BACKWARD_STEP
- , n_
- )
-
- typedef bkwd_state0 state;
- typedef BOOST_PP_CAT(iter,n_) iterator;
-};
-
-#else
-
-template<> struct AUX778076_FOLD_CHUNK_NAME<n_>
-{
- template<
- typename First
- , typename Last
- , typename State
- , typename BackwardOp
- , typename ForwardOp
- >
- struct result_
- {
- typedef First iter0;
- typedef State fwd_state0;
-
- BOOST_MPL_PP_REPEAT(
- n_
- , AUX778076_ITER_FOLD_FORWARD_STEP
- , unused
- )
-
- typedef BOOST_PP_CAT(fwd_state,n_) BOOST_PP_CAT(bkwd_state,n_);
-
- BOOST_MPL_PP_REPEAT(
- n_
- , AUX778076_ITER_FOLD_BACKWARD_STEP
- , n_
- )
-
- typedef bkwd_state0 state;
- typedef BOOST_PP_CAT(iter,n_) iterator;
- };
-
-#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)
- /// ETI workaround
- template<> struct result_<int,int,int,int,int>
- {
- typedef int state;
- typedef int iterator;
- };
-#endif
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-# undef n_
-
-#endif // BOOST_PP_IS_ITERATING
diff --git a/boost/mpl/aux_/sequence_wrapper.hpp b/boost/mpl/aux_/sequence_wrapper.hpp
deleted file mode 100644
index 8b49c74..0000000
--- a/boost/mpl/aux_/sequence_wrapper.hpp
+++ /dev/null
@@ -1,292 +0,0 @@
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
-
-#if !defined(BOOST_PP_IS_ITERATING)
-
-///// header body
-
-// Copyright Aleksey Gurtovoy 2000-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/mpl for documentation.
-
-// $Id: sequence_wrapper.hpp 49271 2008-10-11 06:46:00Z agurtovoy $
-// $Date: 2008-10-10 23:46:00 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49271 $
-
-# include <boost/mpl/aux_/config/ctps.hpp>
-# include <boost/mpl/aux_/config/static_constant.hpp>
-# include <boost/mpl/aux_/nttp_decl.hpp>
-
-# include <boost/preprocessor/arithmetic/sub.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-# include <boost/preprocessor/enum_params_with_a_default.hpp>
-# include <boost/preprocessor/enum_params.hpp>
-# include <boost/preprocessor/enum.hpp>
-# include <boost/preprocessor/repeat.hpp>
-# include <boost/preprocessor/comma_if.hpp>
-# include <boost/preprocessor/iterate.hpp>
-
-#if defined(BOOST_MPL_PREPROCESSING_MODE)
-# undef LONG_MAX
-#endif
-
-namespace boost { namespace mpl {
-
-#if !defined(AUX778076_SEQUENCE_BASE_NAME)
-# define AUX778076_SEQUENCE_BASE_NAME AUX778076_SEQUENCE_NAME
-#endif
-
-#if !defined(AUX778076_SEQUENCE_INTEGRAL_WRAPPER)
-
-# define AUX778076_SEQUENCE_PARAM_NAME T
-# define AUX778076_SEQUENCE_TEMPLATE_PARAM typename T
-# define AUX778076_SEQUENCE_DEFAULT na
-
-# define AUX778076_SEQUENCE_NAME_N(n) \
- BOOST_PP_CAT(AUX778076_SEQUENCE_BASE_NAME,n) \
- /**/
-
-# define AUX778076_SEQUENCE_PARAMS() \
- BOOST_PP_ENUM_PARAMS( \
- AUX778076_SEQUENCE_LIMIT \
- , AUX778076_SEQUENCE_TEMPLATE_PARAM \
- ) \
- /**/
-
-# define AUX778076_SEQUENCE_ARGS() \
- BOOST_PP_ENUM_PARAMS( \
- AUX778076_SEQUENCE_LIMIT \
- , T \
- ) \
- /**/
-
-# define AUX778076_SEQUENCE_DEFAULT_PARAMS() \
- BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( \
- AUX778076_SEQUENCE_LIMIT \
- , AUX778076_SEQUENCE_TEMPLATE_PARAM \
- , AUX778076_SEQUENCE_DEFAULT \
- ) \
- /**/
-
-# define AUX778076_SEQUENCE_N_PARAMS(n) \
- BOOST_PP_ENUM_PARAMS(n, AUX778076_SEQUENCE_TEMPLATE_PARAM) \
- /**/
-
-# define AUX778076_SEQUENCE_N_ARGS(n) \
- BOOST_PP_ENUM_PARAMS(n, T) \
- /**/
-
-# define AUX778076_SEQUENCE_N_PARTIAL_SPEC_ARGS(n) \
- BOOST_PP_ENUM_PARAMS(n, T) \
- BOOST_PP_COMMA_IF(n) \
- BOOST_PP_ENUM( \
- BOOST_PP_SUB_D(1,AUX778076_SEQUENCE_LIMIT,n) \
- , BOOST_PP_TUPLE_ELEM_3_2 \
- , AUX778076_SEQUENCE_DEFAULT \
- ) \
- /**/
-
-#else // AUX778076_SEQUENCE_INTEGRAL_WRAPPER
-
-# define AUX778076_SEQUENCE_PARAM_NAME C
-# define AUX778076_SEQUENCE_TEMPLATE_PARAM BOOST_MPL_AUX_NTTP_DECL(long, C)
-# define AUX778076_SEQUENCE_DEFAULT LONG_MAX
-
-# define AUX778076_SEQUENCE_PARAMS() \
- typename T, BOOST_PP_ENUM_PARAMS( \
- AUX778076_SEQUENCE_LIMIT \
- , AUX778076_SEQUENCE_TEMPLATE_PARAM \
- ) \
- /**/
-
-# define AUX778076_SEQUENCE_ARGS() \
- T, BOOST_PP_ENUM_PARAMS( \
- AUX778076_SEQUENCE_LIMIT \
- , C \
- ) \
- /**/
-
-# define AUX778076_SEQUENCE_DEFAULT_PARAMS() \
- typename T, \
- BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( \
- AUX778076_SEQUENCE_LIMIT \
- , AUX778076_SEQUENCE_TEMPLATE_PARAM \
- , AUX778076_SEQUENCE_DEFAULT \
- ) \
- /**/
-
-# define AUX778076_SEQUENCE_N_PARAMS(n) \
- typename T BOOST_PP_COMMA_IF(n) \
- BOOST_PP_ENUM_PARAMS(n, AUX778076_SEQUENCE_TEMPLATE_PARAM) \
- /**/
-
-# if !defined(AUX778076_SEQUENCE_CONVERT_CN_TO)
-# define AUX778076_SEQUENCE_CONVERT_CN_TO(z,n,TARGET) BOOST_PP_CAT(C,n)
-# endif
-
-# define AUX778076_SEQUENCE_N_ARGS(n) \
- T BOOST_PP_COMMA_IF(n) \
- BOOST_PP_ENUM(n,AUX778076_SEQUENCE_CONVERT_CN_TO,T) \
- /**/
-
-# define AUX778076_SEQUENCE_N_PARTIAL_SPEC_ARGS(n) \
- T, BOOST_PP_ENUM_PARAMS(n, C) \
- BOOST_PP_COMMA_IF(n) \
- BOOST_PP_ENUM( \
- BOOST_PP_SUB_D(1,AUX778076_SEQUENCE_LIMIT,n) \
- , BOOST_PP_TUPLE_ELEM_3_2 \
- , AUX778076_SEQUENCE_DEFAULT \
- ) \
- /**/
-
-#endif // AUX778076_SEQUENCE_INTEGRAL_WRAPPER
-
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-// forward declaration
-template<
- AUX778076_SEQUENCE_DEFAULT_PARAMS()
- >
-struct AUX778076_SEQUENCE_NAME;
-#else
-namespace aux {
-template< BOOST_MPL_AUX_NTTP_DECL(int, N) >
-struct BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_chooser);
-}
-#endif
-
-#define BOOST_PP_ITERATION_PARAMS_1 \
- (3,(0, AUX778076_SEQUENCE_LIMIT, <boost/mpl/aux_/sequence_wrapper.hpp>))
-#include BOOST_PP_ITERATE()
-
-// real C++ version is already taken care of
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-namespace aux {
-// ???_count_args
-#define AUX778076_COUNT_ARGS_PREFIX AUX778076_SEQUENCE_NAME
-#define AUX778076_COUNT_ARGS_DEFAULT AUX778076_SEQUENCE_DEFAULT
-#define AUX778076_COUNT_ARGS_PARAM_NAME AUX778076_SEQUENCE_PARAM_NAME
-#define AUX778076_COUNT_ARGS_TEMPLATE_PARAM AUX778076_SEQUENCE_TEMPLATE_PARAM
-#define AUX778076_COUNT_ARGS_ARITY AUX778076_SEQUENCE_LIMIT
-#define AUX778076_COUNT_ARGS_USE_STANDARD_PP_PRIMITIVES
-#include <boost/mpl/aux_/count_args.hpp>
-
-template<
- AUX778076_SEQUENCE_PARAMS()
- >
-struct BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_impl)
-{
- typedef aux::BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_count_args)<
- BOOST_PP_ENUM_PARAMS(AUX778076_SEQUENCE_LIMIT, AUX778076_SEQUENCE_PARAM_NAME)
- > arg_num_;
-
- typedef typename aux::BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_chooser)< arg_num_::value >
- ::template result_< AUX778076_SEQUENCE_ARGS() >::type type;
-};
-
-} // namespace aux
-
-template<
- AUX778076_SEQUENCE_DEFAULT_PARAMS()
- >
-struct AUX778076_SEQUENCE_NAME
- : aux::BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_impl)<
- AUX778076_SEQUENCE_ARGS()
- >::type
-{
- typedef typename aux::BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_impl)<
- AUX778076_SEQUENCE_ARGS()
- >::type type;
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-# undef AUX778076_SEQUENCE_N_PARTIAL_SPEC_ARGS
-# undef AUX778076_SEQUENCE_N_ARGS
-# undef AUX778076_SEQUENCE_CONVERT_CN_TO
-# undef AUX778076_SEQUENCE_N_PARAMS
-# undef AUX778076_SEQUENCE_DEFAULT_PARAMS
-# undef AUX778076_SEQUENCE_ARGS
-# undef AUX778076_SEQUENCE_PARAMS
-# undef AUX778076_SEQUENCE_NAME_N
-# undef AUX778076_SEQUENCE_DEFAULT
-# undef AUX778076_SEQUENCE_TEMPLATE_PARAM
-# undef AUX778076_SEQUENCE_PARAM_NAME
-# undef AUX778076_SEQUENCE_LIMIT
-# undef AUX778076_SEQUENCE_BASE_NAME
-# undef AUX778076_SEQUENCE_NAME
-# undef AUX778076_SEQUENCE_INTEGRAL_WRAPPER
-
-}}
-
-///// iteration
-
-#else
-#define i_ BOOST_PP_FRAME_ITERATION(1)
-
-# if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-#if i_ == AUX778076_SEQUENCE_LIMIT
-
-/// primary template (not a specialization!)
-template<
- AUX778076_SEQUENCE_N_PARAMS(i_)
- >
-struct AUX778076_SEQUENCE_NAME
- : AUX778076_SEQUENCE_NAME_N(i_)< AUX778076_SEQUENCE_N_ARGS(i_) >
-{
- typedef typename AUX778076_SEQUENCE_NAME_N(i_)< AUX778076_SEQUENCE_N_ARGS(i_) >::type type;
-};
-
-#else
-
-template<
- AUX778076_SEQUENCE_N_PARAMS(i_)
- >
-struct AUX778076_SEQUENCE_NAME< AUX778076_SEQUENCE_N_PARTIAL_SPEC_ARGS(i_) >
- : AUX778076_SEQUENCE_NAME_N(i_)< AUX778076_SEQUENCE_N_ARGS(i_) >
-{
-#if i_ > 0 || defined(AUX778076_SEQUENCE_INTEGRAL_WRAPPER)
- typedef typename AUX778076_SEQUENCE_NAME_N(i_)< AUX778076_SEQUENCE_N_ARGS(i_) >::type type;
-#else
- typedef AUX778076_SEQUENCE_NAME_N(i_)< AUX778076_SEQUENCE_N_ARGS(i_) >::type type;
-#endif
-};
-
-#endif // i_ == AUX778076_SEQUENCE_LIMIT
-
-# else
-
-namespace aux {
-
-template<>
-struct BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_chooser)<i_>
-{
- template<
- AUX778076_SEQUENCE_PARAMS()
- >
- struct result_
- {
-#if i_ > 0 || defined(AUX778076_SEQUENCE_INTEGRAL_WRAPPER)
- typedef typename AUX778076_SEQUENCE_NAME_N(i_)<
- AUX778076_SEQUENCE_N_ARGS(i_)
- >::type type;
-#else
- typedef AUX778076_SEQUENCE_NAME_N(i_)<
- AUX778076_SEQUENCE_N_ARGS(i_)
- >::type type;
-#endif
- };
-};
-
-} // namespace aux
-
-# endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-#undef i_
-#endif // BOOST_PP_IS_ITERATING
diff --git a/boost/mpl/aux_/size_impl.hpp b/boost/mpl/aux_/size_impl.hpp
deleted file mode 100644
index 73dc50d..0000000
--- a/boost/mpl/aux_/size_impl.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_SIZE_IMPL_HPP_INCLUDED
-#define BOOST_MPL_AUX_SIZE_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: size_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/size_fwd.hpp>
-#include <boost/mpl/begin_end.hpp>
-#include <boost/mpl/distance.hpp>
-#include <boost/mpl/aux_/traits_lambda_spec.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-namespace boost { namespace mpl {
-
-// default implementation; conrete sequences might override it by
-// specializing either the 'size_impl' or the primary 'size' template
-
-template< typename Tag >
-struct size_impl
-{
- template< typename Sequence > struct apply
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x561))
- : distance<
- typename begin<Sequence>::type
- , typename end<Sequence>::type
- >
- {
-#else
- {
- typedef typename distance<
- typename begin<Sequence>::type
- , typename end<Sequence>::type
- >::type type;
-#endif
- };
-};
-
-BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1, size_impl)
-
-}}
-
-#endif // BOOST_MPL_AUX_SIZE_IMPL_HPP_INCLUDED
diff --git a/boost/mpl/aux_/static_cast.hpp b/boost/mpl/aux_/static_cast.hpp
deleted file mode 100644
index 8c12128..0000000
--- a/boost/mpl/aux_/static_cast.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_STATIC_CAST_HPP_INCLUDED
-#define BOOST_MPL_AUX_STATIC_CAST_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-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: static_cast.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x561)) \
- || BOOST_WORKAROUND(__GNUC__, < 3) \
- || BOOST_WORKAROUND(__MWERKS__, <= 0x3001)
-# define BOOST_MPL_AUX_STATIC_CAST(T, expr) (T)(expr)
-#else
-# define BOOST_MPL_AUX_STATIC_CAST(T, expr) static_cast<T>(expr)
-#endif
-
-#endif // BOOST_MPL_AUX_STATIC_CAST_HPP_INCLUDED
diff --git a/boost/mpl/aux_/template_arity.hpp b/boost/mpl/aux_/template_arity.hpp
deleted file mode 100644
index 5e3f6e0..0000000
--- a/boost/mpl/aux_/template_arity.hpp
+++ /dev/null
@@ -1,189 +0,0 @@
-
-#if !defined(BOOST_PP_IS_ITERATING)
-
-///// header body
-
-#ifndef BOOST_MPL_AUX_TEMPLATE_ARITY_HPP_INCLUDED
-#define BOOST_MPL_AUX_TEMPLATE_ARITY_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-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: template_arity.hpp 61584 2010-04-26 18:48:26Z agurtovoy $
-// $Date: 2010-04-26 11:48:26 -0700 (Mon, 26 Apr 2010) $
-// $Revision: 61584 $
-
-#include <boost/mpl/aux_/config/ttp.hpp>
-#include <boost/mpl/aux_/config/lambda.hpp>
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-# include <boost/mpl/aux_/template_arity_fwd.hpp>
-# include <boost/mpl/int.hpp>
-# if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)
-# if defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING)
-# include <boost/mpl/aux_/type_wrapper.hpp>
-# endif
-# else
-# include <boost/mpl/aux_/has_rebind.hpp>
-# endif
-#endif
-
-#include <boost/mpl/aux_/config/static_constant.hpp>
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-# define BOOST_MPL_PREPROCESSED_HEADER template_arity.hpp
-# include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-# if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)
-# if defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING)
-
-# include <boost/mpl/limits/arity.hpp>
-# include <boost/mpl/aux_/preprocessor/range.hpp>
-# include <boost/mpl/aux_/preprocessor/repeat.hpp>
-# include <boost/mpl/aux_/preprocessor/params.hpp>
-# include <boost/mpl/aux_/nttp_decl.hpp>
-
-# include <boost/preprocessor/seq/fold_left.hpp>
-# include <boost/preprocessor/comma_if.hpp>
-# include <boost/preprocessor/iterate.hpp>
-# include <boost/preprocessor/inc.hpp>
-# include <boost/preprocessor/cat.hpp>
-
-# define AUX778076_ARITY BOOST_PP_INC(BOOST_MPL_LIMIT_METAFUNCTION_ARITY)
-
-namespace boost { namespace mpl { namespace aux {
-
-template< BOOST_MPL_AUX_NTTP_DECL(int, N) > struct arity_tag
-{
- typedef char (&type)[N + 1];
-};
-
-# define AUX778076_MAX_ARITY_OP(unused, state, i_) \
- ( BOOST_PP_CAT(C,i_) > 0 ? BOOST_PP_CAT(C,i_) : state ) \
-/**/
-
-template<
- BOOST_MPL_PP_PARAMS(AUX778076_ARITY, BOOST_MPL_AUX_NTTP_DECL(int, C))
- >
-struct max_arity
-{
- BOOST_STATIC_CONSTANT(int, value =
- BOOST_PP_SEQ_FOLD_LEFT(
- AUX778076_MAX_ARITY_OP
- , -1
- , BOOST_MPL_PP_RANGE(1, AUX778076_ARITY)
- )
- );
-};
-
-# undef AUX778076_MAX_ARITY_OP
-
-arity_tag<0>::type arity_helper(...);
-
-# define BOOST_PP_ITERATION_LIMITS (1, AUX778076_ARITY)
-# define BOOST_PP_FILENAME_1 <boost/mpl/aux_/template_arity.hpp>
-# include BOOST_PP_ITERATE()
-
-template< typename F, BOOST_MPL_AUX_NTTP_DECL(int, N) >
-struct template_arity_impl
-{
- BOOST_STATIC_CONSTANT(int, value =
- sizeof(::boost::mpl::aux::arity_helper(type_wrapper<F>(),arity_tag<N>())) - 1
- );
-};
-
-# define AUX778076_TEMPLATE_ARITY_IMPL_INVOCATION(unused, i_, F) \
- BOOST_PP_COMMA_IF(i_) template_arity_impl<F,BOOST_PP_INC(i_)>::value \
-/**/
-
-template< typename F >
-struct template_arity
-{
- BOOST_STATIC_CONSTANT(int, value = (
- max_arity< BOOST_MPL_PP_REPEAT(
- AUX778076_ARITY
- , AUX778076_TEMPLATE_ARITY_IMPL_INVOCATION
- , F
- ) >::value
- ));
-
- typedef mpl::int_<value> type;
-};
-
-# undef AUX778076_TEMPLATE_ARITY_IMPL_INVOCATION
-
-# undef AUX778076_ARITY
-
-}}}
-
-# endif // BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING
-# else // BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT
-
-# include <boost/mpl/aux_/config/eti.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-
-template< bool >
-struct template_arity_impl
-{
- template< typename F > struct result_
- : mpl::int_<-1>
- {
- };
-};
-
-template<>
-struct template_arity_impl<true>
-{
- template< typename F > struct result_
- : F::arity
- {
- };
-};
-
-template< typename F >
-struct template_arity
- : template_arity_impl< ::boost::mpl::aux::has_rebind<F>::value >
- ::template result_<F>
-{
-};
-
-#if defined(BOOST_MPL_CFG_MSVC_ETI_BUG)
-template<>
-struct template_arity<int>
- : mpl::int_<-1>
-{
-};
-#endif
-
-}}}
-
-# endif // BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_AUX_TEMPLATE_ARITY_HPP_INCLUDED
-
-///// iteration
-
-#else
-#define i_ BOOST_PP_FRAME_ITERATION(1)
-
-template<
- template< BOOST_MPL_PP_PARAMS(i_, typename P) > class F
- , BOOST_MPL_PP_PARAMS(i_, typename T)
- >
-typename arity_tag<i_>::type
-arity_helper(type_wrapper< F<BOOST_MPL_PP_PARAMS(i_, T)> >, arity_tag<i_>);
-
-#undef i_
-#endif // BOOST_PP_IS_ITERATING
diff --git a/boost/mpl/aux_/template_arity_fwd.hpp b/boost/mpl/aux_/template_arity_fwd.hpp
deleted file mode 100644
index 44bc9d2..0000000
--- a/boost/mpl/aux_/template_arity_fwd.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_TEMPLATE_ARITY_FWD_HPP_INCLUDED
-#define BOOST_MPL_AUX_TEMPLATE_ARITY_FWD_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-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: template_arity_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-namespace boost { namespace mpl { namespace aux {
-
-template< typename F > struct template_arity;
-
-}}}
-
-#endif // BOOST_MPL_AUX_TEMPLATE_ARITY_FWD_HPP_INCLUDED
diff --git a/boost/mpl/aux_/traits_lambda_spec.hpp b/boost/mpl/aux_/traits_lambda_spec.hpp
deleted file mode 100644
index c9b60fe..0000000
--- a/boost/mpl/aux_/traits_lambda_spec.hpp
+++ /dev/null
@@ -1,63 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_TRAITS_LAMBDA_SPEC_HPP_INCLUDED
-#define BOOST_MPL_AUX_TRAITS_LAMBDA_SPEC_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-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/mpl for documentation.
-
-// $Id: traits_lambda_spec.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/sequence_tag_fwd.hpp>
-#include <boost/mpl/void.hpp>
-#include <boost/mpl/aux_/preprocessor/params.hpp>
-#include <boost/mpl/aux_/config/lambda.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)
-
-# define BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC_IMPL(i, trait) /**/
-
-#elif !defined(BOOST_MPL_CFG_MSVC_ETI_BUG)
-
-# define BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC_IMPL(i, trait) \
-template<> struct trait<void_> \
-{ \
- template< BOOST_MPL_PP_PARAMS(i, typename T) > struct apply \
- { \
- }; \
-}; \
-/**/
-
-#else
-
-# define BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC_IMPL(i, trait) \
-template<> struct trait<void_> \
-{ \
- template< BOOST_MPL_PP_PARAMS(i, typename T) > struct apply \
- { \
- }; \
-}; \
-template<> struct trait<int> \
-{ \
- template< BOOST_MPL_PP_PARAMS(i, typename T) > struct apply \
- { \
- typedef int type; \
- }; \
-}; \
-/**/
-
-#endif // BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT
-
-
-#define BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(i, trait) \
- BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC_IMPL(i, trait) \
- template<> struct trait<non_sequence_tag> {}; \
-/**/
-
-#endif // BOOST_MPL_AUX_TRAITS_LAMBDA_SPEC_HPP_INCLUDED
diff --git a/boost/mpl/aux_/type_wrapper.hpp b/boost/mpl/aux_/type_wrapper.hpp
deleted file mode 100644
index 6d6091b..0000000
--- a/boost/mpl/aux_/type_wrapper.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_TYPE_WRAPPER_HPP_INCLUDED
-#define BOOST_MPL_AUX_TYPE_WRAPPER_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-2004
-// Copyright Peter Dimov 2000-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/mpl for documentation.
-
-// $Id: type_wrapper.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/ctps.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-
-template< typename T > struct type_wrapper
-{
- typedef T type;
-};
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-// agurt 08/may/03: a complicated way to extract the wrapped type; need it
-// mostly for the sake of GCC (3.2.x), which ICEs if you try to extract the
-// nested 'type' from 'type_wrapper<T>' when the latter was the result of a
-// 'typeof' expression
-template< typename T > struct wrapped_type;
-
-template< typename T > struct wrapped_type< type_wrapper<T> >
-{
- typedef T type;
-};
-#else
-template< typename W > struct wrapped_type
-{
- typedef typename W::type type;
-};
-#endif
-
-}}}
-
-#endif // BOOST_MPL_AUX_TYPE_WRAPPER_HPP_INCLUDED
diff --git a/boost/mpl/aux_/value_wknd.hpp b/boost/mpl/aux_/value_wknd.hpp
deleted file mode 100644
index 7baa8bf..0000000
--- a/boost/mpl/aux_/value_wknd.hpp
+++ /dev/null
@@ -1,89 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_VALUE_WKND_HPP_INCLUDED
-#define BOOST_MPL_AUX_VALUE_WKND_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: value_wknd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/static_cast.hpp>
-#include <boost/mpl/aux_/config/integral.hpp>
-#include <boost/mpl/aux_/config/eti.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#if defined(BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS) \
- || defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)
-
-# include <boost/mpl/int.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-template< typename C_ > struct value_wknd
- : C_
-{
-};
-
-#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)
-template<> struct value_wknd<int>
- : int_<1>
-{
- using int_<1>::value;
-};
-#endif
-}}}
-
-
-#if !defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)
-# define BOOST_MPL_AUX_VALUE_WKND(C) \
- ::BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::aux::value_wknd< C > \
-/**/
-# define BOOST_MPL_AUX_MSVC_VALUE_WKND(C) BOOST_MPL_AUX_VALUE_WKND(C)
-#else
-# define BOOST_MPL_AUX_VALUE_WKND(C) C
-# define BOOST_MPL_AUX_MSVC_VALUE_WKND(C) \
- ::boost::mpl::aux::value_wknd< C > \
-/**/
-#endif
-
-#else // BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS
-
-# define BOOST_MPL_AUX_VALUE_WKND(C) C
-# define BOOST_MPL_AUX_MSVC_VALUE_WKND(C) C
-
-#endif
-
-#if BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
-# define BOOST_MPL_AUX_NESTED_VALUE_WKND(T, C) \
- BOOST_MPL_AUX_STATIC_CAST(T, C::value) \
-/**/
-#else
-# define BOOST_MPL_AUX_NESTED_VALUE_WKND(T, C) \
- BOOST_MPL_AUX_VALUE_WKND(C)::value \
-/**/
-#endif
-
-
-namespace boost { namespace mpl { namespace aux {
-
-template< typename T > struct value_type_wknd
-{
- typedef typename T::value_type type;
-};
-
-#if defined(BOOST_MPL_CFG_MSVC_ETI_BUG)
-template<> struct value_type_wknd<int>
-{
- typedef int type;
-};
-#endif
-
-}}}
-
-#endif // BOOST_MPL_AUX_VALUE_WKND_HPP_INCLUDED
diff --git a/boost/mpl/aux_/yes_no.hpp b/boost/mpl/aux_/yes_no.hpp
deleted file mode 100644
index ebcb00d..0000000
--- a/boost/mpl/aux_/yes_no.hpp
+++ /dev/null
@@ -1,58 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_YES_NO_HPP_INCLUDED
-#define BOOST_MPL_AUX_YES_NO_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: yes_no.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/nttp_decl.hpp>
-#include <boost/mpl/aux_/config/arrays.hpp>
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-
-namespace boost { namespace mpl { namespace aux {
-
-typedef char (&no_tag)[1];
-typedef char (&yes_tag)[2];
-
-template< bool C_ > struct yes_no_tag
-{
- typedef no_tag type;
-};
-
-template<> struct yes_no_tag<true>
-{
- typedef yes_tag type;
-};
-
-
-template< BOOST_MPL_AUX_NTTP_DECL(long, n) > struct weighted_tag
-{
-#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
- typedef char (&type)[n];
-#else
- char buf[n];
- typedef weighted_tag type;
-#endif
-};
-
-#if defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES)
-template<> struct weighted_tag<0>
-{
- typedef char (&type)[1];
-};
-#endif
-
-}}}
-
-#endif // BOOST_MPL_AUX_YES_NO_HPP_INCLUDED
diff --git a/boost/mpl/back_fwd.hpp b/boost/mpl/back_fwd.hpp
deleted file mode 100644
index c8b1fe9..0000000
--- a/boost/mpl/back_fwd.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#ifndef BOOST_MPL_BACK_FWD_HPP_INCLUDED
-#define BOOST_MPL_BACK_FWD_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: back_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-namespace boost { namespace mpl {
-
-template< typename Tag > struct back_impl;
-template< typename Sequence > struct back;
-
-}}
-
-#endif // BOOST_MPL_BACK_FWD_HPP_INCLUDED
diff --git a/boost/mpl/back_inserter.hpp b/boost/mpl/back_inserter.hpp
deleted file mode 100644
index ce2a284..0000000
--- a/boost/mpl/back_inserter.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-
-#ifndef BOOST_MPL_BACK_INSERTER_HPP_INCLUDED
-#define BOOST_MPL_BACK_INSERTER_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: back_inserter.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/push_back.hpp>
-#include <boost/mpl/inserter.hpp>
-
-namespace boost {
-namespace mpl {
-
-template<
- typename Sequence
- >
-struct back_inserter
- : inserter< Sequence,push_back<> >
-{
-};
-
-}}
-
-#endif // BOOST_MPL_BACK_INSERTER_HPP_INCLUDED
diff --git a/boost/mpl/begin.hpp b/boost/mpl/begin.hpp
deleted file mode 100644
index 9dab265..0000000
--- a/boost/mpl/begin.hpp
+++ /dev/null
@@ -1,19 +0,0 @@
-
-#ifndef BOOST_MPL_BEGIN_HPP_INCLUDED
-#define BOOST_MPL_BEGIN_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 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: begin.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/begin_end.hpp>
-
-#endif // BOOST_MPL_BEGIN_HPP_INCLUDED
diff --git a/boost/mpl/begin_end.hpp b/boost/mpl/begin_end.hpp
deleted file mode 100644
index 6c3accc..0000000
--- a/boost/mpl/begin_end.hpp
+++ /dev/null
@@ -1,57 +0,0 @@
-
-#ifndef BOOST_MPL_BEGIN_END_HPP_INCLUDED
-#define BOOST_MPL_BEGIN_END_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: begin_end.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/begin_end_fwd.hpp>
-#include <boost/mpl/aux_/begin_end_impl.hpp>
-#include <boost/mpl/sequence_tag.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-namespace boost { namespace mpl {
-
-// agurt, 13/sep/02: switched from inheritance to typedef; MSVC is more
-// happy this way (less ETI-related errors), and it doesn't affect
-// anything else
-template<
- typename BOOST_MPL_AUX_NA_PARAM(Sequence)
- >
-struct begin
-{
- typedef typename sequence_tag<Sequence>::type tag_;
- typedef typename begin_impl< tag_ >
- ::template apply< Sequence >::type type;
-
- BOOST_MPL_AUX_LAMBDA_SUPPORT(1,begin,(Sequence))
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(Sequence)
- >
-struct end
-{
- typedef typename sequence_tag<Sequence>::type tag_;
- typedef typename end_impl< tag_ >
- ::template apply< Sequence >::type type;
-
- BOOST_MPL_AUX_LAMBDA_SUPPORT(1,end,(Sequence))
-};
-
-BOOST_MPL_AUX_NA_SPEC(1, begin)
-BOOST_MPL_AUX_NA_SPEC(1, end)
-
-}}
-
-#endif // BOOST_MPL_BEGIN_END_HPP_INCLUDED
diff --git a/boost/mpl/begin_end_fwd.hpp b/boost/mpl/begin_end_fwd.hpp
deleted file mode 100644
index d1edaca..0000000
--- a/boost/mpl/begin_end_fwd.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-
-#ifndef BOOST_MPL_BEGIN_END_FWD_HPP_INCLUDED
-#define BOOST_MPL_BEGIN_END_FWD_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: begin_end_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-namespace boost { namespace mpl {
-
-template< typename Tag > struct begin_impl;
-template< typename Tag > struct end_impl;
-
-template< typename Sequence > struct begin;
-template< typename Sequence > struct end;
-
-}}
-
-#endif // BOOST_MPL_BEGIN_END_FWD_HPP_INCLUDED
diff --git a/boost/mpl/bind.hpp b/boost/mpl/bind.hpp
deleted file mode 100644
index 25e46b4..0000000
--- a/boost/mpl/bind.hpp
+++ /dev/null
@@ -1,551 +0,0 @@
-
-#if !defined(BOOST_PP_IS_ITERATING)
-
-///// header body
-
-#ifndef BOOST_MPL_BIND_HPP_INCLUDED
-#define BOOST_MPL_BIND_HPP_INCLUDED
-
-// Copyright Peter Dimov 2001
-// Copyright Aleksey Gurtovoy 2001-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: bind.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-# include <boost/mpl/bind_fwd.hpp>
-# include <boost/mpl/placeholders.hpp>
-# include <boost/mpl/next.hpp>
-# include <boost/mpl/protect.hpp>
-# include <boost/mpl/apply_wrap.hpp>
-# include <boost/mpl/limits/arity.hpp>
-# include <boost/mpl/aux_/na.hpp>
-# include <boost/mpl/aux_/arity_spec.hpp>
-# include <boost/mpl/aux_/type_wrapper.hpp>
-# include <boost/mpl/aux_/yes_no.hpp>
-# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-# include <boost/type_traits/is_reference.hpp>
-# endif
-#endif
-
-#include <boost/mpl/aux_/config/bind.hpp>
-#include <boost/mpl/aux_/config/static_constant.hpp>
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-# if defined(BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT)
-# define BOOST_MPL_PREPROCESSED_HEADER basic_bind.hpp
-# else
-# define BOOST_MPL_PREPROCESSED_HEADER bind.hpp
-# endif
-# include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-# include <boost/mpl/aux_/preprocessor/params.hpp>
-# include <boost/mpl/aux_/preprocessor/default_params.hpp>
-# include <boost/mpl/aux_/preprocessor/def_params_tail.hpp>
-# include <boost/mpl/aux_/preprocessor/partial_spec_params.hpp>
-# include <boost/mpl/aux_/preprocessor/ext_params.hpp>
-# include <boost/mpl/aux_/preprocessor/repeat.hpp>
-# include <boost/mpl/aux_/preprocessor/enum.hpp>
-# include <boost/mpl/aux_/preprocessor/add.hpp>
-# include <boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp>
-# include <boost/mpl/aux_/config/ctps.hpp>
-# include <boost/mpl/aux_/config/ttp.hpp>
-# include <boost/mpl/aux_/config/dtp.hpp>
-# include <boost/mpl/aux_/nttp_decl.hpp>
-
-# include <boost/preprocessor/iterate.hpp>
-# include <boost/preprocessor/comma_if.hpp>
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/inc.hpp>
-
-namespace boost { namespace mpl {
-
-// local macros, #undef-ined at the end of the header
-# define AUX778076_APPLY \
- BOOST_PP_CAT(apply_wrap,BOOST_MPL_LIMIT_METAFUNCTION_ARITY) \
- /**/
-
-# if defined(BOOST_MPL_CFG_DMC_AMBIGUOUS_CTPS)
-# define AUX778076_DMC_PARAM() , int dummy_
-# else
-# define AUX778076_DMC_PARAM()
-# endif
-
-# define AUX778076_BIND_PARAMS(param) \
- BOOST_MPL_PP_PARAMS( \
- BOOST_MPL_LIMIT_METAFUNCTION_ARITY \
- , param \
- ) \
- /**/
-
-# define AUX778076_BIND_DEFAULT_PARAMS(param, value) \
- BOOST_MPL_PP_DEFAULT_PARAMS( \
- BOOST_MPL_LIMIT_METAFUNCTION_ARITY \
- , param \
- , value \
- ) \
- /**/
-
-# define AUX778076_BIND_N_PARAMS(n, param) \
- BOOST_PP_COMMA_IF(n) BOOST_MPL_PP_PARAMS(n, param) \
- /**/
-
-# define AUX778076_BIND_N_SPEC_PARAMS(n, param, def) \
- BOOST_PP_COMMA_IF(n) \
- BOOST_MPL_PP_PARTIAL_SPEC_PARAMS(n, param, def) \
- /**/
-
-#if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
-# define AUX778076_BIND_NESTED_DEFAULT_PARAMS(param, value) \
- AUX778076_BIND_DEFAULT_PARAMS(param, value) \
- /**/
-#else
-# define AUX778076_BIND_NESTED_DEFAULT_PARAMS(param, value) \
- AUX778076_BIND_PARAMS(param) \
- /**/
-#endif
-
-namespace aux {
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template<
- typename T, AUX778076_BIND_PARAMS(typename U)
- >
-struct resolve_bind_arg
-{
- typedef T type;
-};
-
-# if !defined(BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT)
-
-template<
- typename T
- , typename Arg
- >
-struct replace_unnamed_arg
-{
- typedef Arg next;
- typedef T type;
-};
-
-template<
- typename Arg
- >
-struct replace_unnamed_arg< arg<-1>,Arg >
-{
- typedef typename Arg::next next;
- typedef Arg type;
-};
-
-# endif // BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT
-
-template<
- BOOST_MPL_AUX_NTTP_DECL(int, N), AUX778076_BIND_PARAMS(typename U)
- >
-struct resolve_bind_arg< arg<N>,AUX778076_BIND_PARAMS(U) >
-{
- typedef typename AUX778076_APPLY<mpl::arg<N>, AUX778076_BIND_PARAMS(U)>::type type;
-};
-
-#if !defined(BOOST_MPL_CFG_NO_BIND_TEMPLATE)
-template<
- typename F, AUX778076_BIND_PARAMS(typename T), AUX778076_BIND_PARAMS(typename U)
- >
-struct resolve_bind_arg< bind<F,AUX778076_BIND_PARAMS(T)>,AUX778076_BIND_PARAMS(U) >
-{
- typedef bind<F,AUX778076_BIND_PARAMS(T)> f_;
- typedef typename AUX778076_APPLY<f_, AUX778076_BIND_PARAMS(U)>::type type;
-};
-#endif
-
-#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-// agurt, 15/jan/02: it's not a intended to be used as a function class, and
-// MSVC6.5 has problems with 'apply' name here (the code compiles, but doesn't
-// work), so I went with the 'result_' here, and in all other similar cases
-template< bool >
-struct resolve_arg_impl
-{
- template< typename T, AUX778076_BIND_PARAMS(typename U) > struct result_
- {
- typedef T type;
- };
-};
-
-template<>
-struct resolve_arg_impl<true>
-{
- template< typename T, AUX778076_BIND_PARAMS(typename U) > struct result_
- {
- typedef typename AUX778076_APPLY<
- T
- , AUX778076_BIND_PARAMS(U)
- >::type type;
- };
-};
-
-// for 'resolve_bind_arg'
-template< typename T > struct is_bind_template;
-
-template<
- typename T, AUX778076_BIND_PARAMS(typename U)
- >
-struct resolve_bind_arg
- : resolve_arg_impl< is_bind_template<T>::value >
- ::template result_< T,AUX778076_BIND_PARAMS(U) >
-{
-};
-
-# if !defined(BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT)
-
-template< typename T >
-struct replace_unnamed_arg_impl
-{
- template< typename Arg > struct result_
- {
- typedef Arg next;
- typedef T type;
- };
-};
-
-template<>
-struct replace_unnamed_arg_impl< arg<-1> >
-{
- template< typename Arg > struct result_
- {
- typedef typename next<Arg>::type next;
- typedef Arg type;
- };
-};
-
-template< typename T, typename Arg >
-struct replace_unnamed_arg
- : replace_unnamed_arg_impl<T>::template result_<Arg>
-{
-};
-
-# endif // BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT
-
-// agurt, 10/mar/02: the forward declaration has to appear before any of
-// 'is_bind_helper' overloads, otherwise MSVC6.5 issues an ICE on it
-template< BOOST_MPL_AUX_NTTP_DECL(int, arity_) > struct bind_chooser;
-
-aux::no_tag is_bind_helper(...);
-template< typename T > aux::no_tag is_bind_helper(protect<T>*);
-
-// overload for "main" form
-// agurt, 15/mar/02: MSVC 6.5 fails to properly resolve the overload
-// in case if we use 'aux::type_wrapper< bind<...> >' here, and all
-// 'bind' instantiations form a complete type anyway
-#if !defined(BOOST_MPL_CFG_NO_BIND_TEMPLATE)
-template<
- typename F, AUX778076_BIND_PARAMS(typename T)
- >
-aux::yes_tag is_bind_helper(bind<F,AUX778076_BIND_PARAMS(T)>*);
-#endif
-
-template< BOOST_MPL_AUX_NTTP_DECL(int, N) >
-aux::yes_tag is_bind_helper(arg<N>*);
-
-template< bool is_ref_ = true >
-struct is_bind_template_impl
-{
- template< typename T > struct result_
- {
- BOOST_STATIC_CONSTANT(bool, value = false);
- };
-};
-
-template<>
-struct is_bind_template_impl<false>
-{
- template< typename T > struct result_
- {
- BOOST_STATIC_CONSTANT(bool, value =
- sizeof(aux::is_bind_helper(static_cast<T*>(0)))
- == sizeof(aux::yes_tag)
- );
- };
-};
-
-template< typename T > struct is_bind_template
- : is_bind_template_impl< ::boost::detail::is_reference_impl<T>::value >
- ::template result_<T>
-{
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-} // namespace aux
-
-
-#define BOOST_PP_ITERATION_PARAMS_1 \
- (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, <boost/mpl/bind.hpp>))
-#include BOOST_PP_ITERATE()
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
- && !defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS)
-/// if_/eval_if specializations
-# define AUX778076_SPEC_NAME if_
-# define BOOST_PP_ITERATION_PARAMS_1 (3,(3, 3, <boost/mpl/bind.hpp>))
-# include BOOST_PP_ITERATE()
-
-#if !defined(BOOST_MPL_CFG_DMC_AMBIGUOUS_CTPS)
-# define AUX778076_SPEC_NAME eval_if
-# define BOOST_PP_ITERATION_PARAMS_1 (3,(3, 3, <boost/mpl/bind.hpp>))
-# include BOOST_PP_ITERATE()
-#endif
-#endif
-
-// real C++ version is already taken care of
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
- && !defined(BOOST_MPL_CFG_NO_BIND_TEMPLATE)
-
-namespace aux {
-// apply_count_args
-#define AUX778076_COUNT_ARGS_PREFIX bind
-#define AUX778076_COUNT_ARGS_DEFAULT na
-#define AUX778076_COUNT_ARGS_ARITY BOOST_MPL_LIMIT_METAFUNCTION_ARITY
-#include <boost/mpl/aux_/count_args.hpp>
-}
-
-// bind
-template<
- typename F, AUX778076_BIND_PARAMS(typename T) AUX778076_DMC_PARAM()
- >
-struct bind
- : aux::bind_chooser<
- aux::bind_count_args<AUX778076_BIND_PARAMS(T)>::value
- >::template result_< F,AUX778076_BIND_PARAMS(T) >::type
-{
-};
-
-BOOST_MPL_AUX_ARITY_SPEC(
- BOOST_PP_INC(BOOST_MPL_LIMIT_METAFUNCTION_ARITY)
- , bind
- )
-
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(
- BOOST_PP_INC(BOOST_MPL_LIMIT_METAFUNCTION_ARITY)
- , bind
- )
-
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-# undef AUX778076_BIND_NESTED_DEFAULT_PARAMS
-# undef AUX778076_BIND_N_SPEC_PARAMS
-# undef AUX778076_BIND_N_PARAMS
-# undef AUX778076_BIND_DEFAULT_PARAMS
-# undef AUX778076_BIND_PARAMS
-# undef AUX778076_DMC_PARAM
-# undef AUX778076_APPLY
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_BIND_HPP_INCLUDED
-
-///// iteration, depth == 1
-
-// For gcc 4.4 compatability, we must include the
-// BOOST_PP_ITERATION_DEPTH test inside an #else clause.
-#else // BOOST_PP_IS_ITERATING
-#if BOOST_PP_ITERATION_DEPTH() == 1
-
-# define i_ BOOST_PP_FRAME_ITERATION(1)
-
-#if defined(AUX778076_SPEC_NAME)
-
-// lazy metafunction specialization
-template< template< BOOST_MPL_PP_PARAMS(i_, typename T) > class F, typename Tag >
-struct BOOST_PP_CAT(quote,i_);
-
-template< BOOST_MPL_PP_PARAMS(i_, typename T) > struct AUX778076_SPEC_NAME;
-
-template<
- typename Tag AUX778076_BIND_N_PARAMS(i_, typename T)
- >
-struct BOOST_PP_CAT(bind,i_)<
- BOOST_PP_CAT(quote,i_)<AUX778076_SPEC_NAME,Tag>
- AUX778076_BIND_N_PARAMS(i_,T)
- >
-{
- template<
- AUX778076_BIND_NESTED_DEFAULT_PARAMS(typename U, na)
- >
- struct apply
- {
- private:
- typedef mpl::arg<1> n1;
-# define BOOST_PP_ITERATION_PARAMS_2 (3,(1, i_, <boost/mpl/bind.hpp>))
-# include BOOST_PP_ITERATE()
-
- typedef typename AUX778076_SPEC_NAME<
- typename t1::type
- , BOOST_MPL_PP_EXT_PARAMS(2, BOOST_PP_INC(i_), t)
- >::type f_;
-
- public:
- typedef typename f_::type type;
- };
-};
-
-#undef AUX778076_SPEC_NAME
-
-#else // AUX778076_SPEC_NAME
-
-template<
- typename F AUX778076_BIND_N_PARAMS(i_, typename T) AUX778076_DMC_PARAM()
- >
-struct BOOST_PP_CAT(bind,i_)
-{
- template<
- AUX778076_BIND_NESTED_DEFAULT_PARAMS(typename U, na)
- >
- struct apply
- {
- private:
-# if !defined(BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT)
-
- typedef aux::replace_unnamed_arg< F,mpl::arg<1> > r0;
- typedef typename r0::type a0;
- typedef typename r0::next n1;
- typedef typename aux::resolve_bind_arg<a0,AUX778076_BIND_PARAMS(U)>::type f_;
- ///
-# else
- typedef typename aux::resolve_bind_arg<F,AUX778076_BIND_PARAMS(U)>::type f_;
-
-# endif // BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT
-
-# if i_ > 0
-# define BOOST_PP_ITERATION_PARAMS_2 (3,(1, i_, <boost/mpl/bind.hpp>))
-# include BOOST_PP_ITERATE()
-# endif
-
- public:
-
-# define AUX778076_ARG(unused, i_, t) \
- BOOST_PP_COMMA_IF(i_) \
- typename BOOST_PP_CAT(t,BOOST_PP_INC(i_))::type \
-/**/
-
- typedef typename BOOST_PP_CAT(apply_wrap,i_)<
- f_
- BOOST_PP_COMMA_IF(i_) BOOST_MPL_PP_REPEAT(i_, AUX778076_ARG, t)
- >::type type;
-
-# undef AUX778076_ARG
- };
-};
-
-namespace aux {
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template<
- typename F AUX778076_BIND_N_PARAMS(i_, typename T), AUX778076_BIND_PARAMS(typename U)
- >
-struct resolve_bind_arg<
- BOOST_PP_CAT(bind,i_)<F AUX778076_BIND_N_PARAMS(i_,T)>,AUX778076_BIND_PARAMS(U)
- >
-{
- typedef BOOST_PP_CAT(bind,i_)<F AUX778076_BIND_N_PARAMS(i_,T)> f_;
- typedef typename AUX778076_APPLY<f_, AUX778076_BIND_PARAMS(U)>::type type;
-};
-
-#else
-
-template<
- typename F AUX778076_BIND_N_PARAMS(i_, typename T)
- >
-aux::yes_tag
-is_bind_helper(BOOST_PP_CAT(bind,i_)<F AUX778076_BIND_N_PARAMS(i_,T)>*);
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-} // namespace aux
-
-BOOST_MPL_AUX_ARITY_SPEC(BOOST_PP_INC(i_), BOOST_PP_CAT(bind,i_))
-BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(BOOST_PP_INC(i_), BOOST_PP_CAT(bind,i_))
-
-# if !defined(BOOST_MPL_CFG_NO_BIND_TEMPLATE)
-# if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-#if i_ == BOOST_MPL_LIMIT_METAFUNCTION_ARITY
-/// primary template (not a specialization!)
-template<
- typename F AUX778076_BIND_N_PARAMS(i_, typename T) AUX778076_DMC_PARAM()
- >
-struct bind
- : BOOST_PP_CAT(bind,i_)<F AUX778076_BIND_N_PARAMS(i_,T) >
-{
-};
-#else
-template<
- typename F AUX778076_BIND_N_PARAMS(i_, typename T) AUX778076_DMC_PARAM()
- >
-struct bind< F AUX778076_BIND_N_SPEC_PARAMS(i_, T, na) >
- : BOOST_PP_CAT(bind,i_)<F AUX778076_BIND_N_PARAMS(i_,T) >
-{
-};
-#endif
-
-# else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-namespace aux {
-
-template<>
-struct bind_chooser<i_>
-{
- template<
- typename F, AUX778076_BIND_PARAMS(typename T)
- >
- struct result_
- {
- typedef BOOST_PP_CAT(bind,i_)< F AUX778076_BIND_N_PARAMS(i_,T) > type;
- };
-};
-
-} // namespace aux
-
-# endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-# endif // BOOST_MPL_CFG_NO_BIND_TEMPLATE
-
-#endif // AUX778076_SPEC_NAME
-
-# undef i_
-
-///// iteration, depth == 2
-
-#elif BOOST_PP_ITERATION_DEPTH() == 2
-
-# define j_ BOOST_PP_FRAME_ITERATION(2)
-# if !defined(BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT)
-
- typedef aux::replace_unnamed_arg< BOOST_PP_CAT(T,j_),BOOST_PP_CAT(n,j_) > BOOST_PP_CAT(r,j_);
- typedef typename BOOST_PP_CAT(r,j_)::type BOOST_PP_CAT(a,j_);
- typedef typename BOOST_PP_CAT(r,j_)::next BOOST_PP_CAT(n,BOOST_PP_INC(j_));
- typedef aux::resolve_bind_arg<BOOST_PP_CAT(a,j_), AUX778076_BIND_PARAMS(U)> BOOST_PP_CAT(t,j_);
- ///
-# else
- typedef aux::resolve_bind_arg< BOOST_PP_CAT(T,j_),AUX778076_BIND_PARAMS(U)> BOOST_PP_CAT(t,j_);
-
-# endif
-# undef j_
-
-#endif // BOOST_PP_ITERATION_DEPTH()
-#endif // BOOST_PP_IS_ITERATING
diff --git a/boost/mpl/bind_fwd.hpp b/boost/mpl/bind_fwd.hpp
deleted file mode 100644
index 35795ac..0000000
--- a/boost/mpl/bind_fwd.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-
-#if !defined(BOOST_PP_IS_ITERATING)
-
-///// header body
-
-#ifndef BOOST_MPL_BIND_FWD_HPP_INCLUDED
-#define BOOST_MPL_BIND_FWD_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: bind_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-# include <boost/mpl/aux_/na.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/bind.hpp>
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-# define BOOST_MPL_PREPROCESSED_HEADER bind_fwd.hpp
-# include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-# include <boost/mpl/limits/arity.hpp>
-# include <boost/mpl/aux_/preprocessor/params.hpp>
-# include <boost/mpl/aux_/preprocessor/default_params.hpp>
-# include <boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp>
-
-# include <boost/preprocessor/comma_if.hpp>
-# include <boost/preprocessor/iterate.hpp>
-# include <boost/preprocessor/cat.hpp>
-
-namespace boost { namespace mpl {
-
-// local macros, #undef-ined at the end of the header
-
-# if defined(BOOST_MPL_CFG_DMC_AMBIGUOUS_CTPS)
-# define AUX778076_DMC_PARAM() , int dummy_ = 0
-# else
-# define AUX778076_DMC_PARAM()
-# endif
-
-# define AUX778076_BIND_DEFAULT_PARAMS(param, value) \
- BOOST_MPL_PP_DEFAULT_PARAMS( \
- BOOST_MPL_LIMIT_METAFUNCTION_ARITY \
- , param \
- , value \
- ) \
- AUX778076_DMC_PARAM() \
- /**/
-
-# define AUX778076_BIND_N_PARAMS(n, param) \
- BOOST_PP_COMMA_IF(n) BOOST_MPL_PP_PARAMS(n, param) \
- AUX778076_DMC_PARAM() \
- /**/
-
-#if !defined(BOOST_MPL_CFG_NO_BIND_TEMPLATE)
-template<
- typename F, AUX778076_BIND_DEFAULT_PARAMS(typename T, na)
- >
-struct bind;
-#endif
-
-#define BOOST_PP_ITERATION_PARAMS_1 \
- (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, <boost/mpl/bind_fwd.hpp>))
-#include BOOST_PP_ITERATE()
-
-# undef AUX778076_BIND_N_PARAMS
-# undef AUX778076_BIND_DEFAULT_PARAMS
-# undef AUX778076_DMC_PARAM
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_BIND_FWD_HPP_INCLUDED
-
-///// iteration
-
-#else
-#define i_ BOOST_PP_FRAME_ITERATION(1)
-
-template<
- typename F AUX778076_BIND_N_PARAMS(i_, typename T)
- >
-struct BOOST_PP_CAT(bind,i_);
-
-#undef i_
-#endif // BOOST_PP_IS_ITERATING
diff --git a/boost/mpl/bool.hpp b/boost/mpl/bool.hpp
deleted file mode 100644
index cabf22f..0000000
--- a/boost/mpl/bool.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-
-#ifndef BOOST_MPL_BOOL_HPP_INCLUDED
-#define BOOST_MPL_BOOL_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: bool.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/bool_fwd.hpp>
-#include <boost/mpl/integral_c_tag.hpp>
-#include <boost/mpl/aux_/config/static_constant.hpp>
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-
-template< bool C_ > struct bool_
-{
- BOOST_STATIC_CONSTANT(bool, value = C_);
- typedef integral_c_tag tag;
- typedef bool_ type;
- typedef bool value_type;
- operator bool() const { return this->value; }
-};
-
-#if !defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION)
-template< bool C_ >
-bool const bool_<C_>::value;
-#endif
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-
-#endif // BOOST_MPL_BOOL_HPP_INCLUDED
diff --git a/boost/mpl/bool_fwd.hpp b/boost/mpl/bool_fwd.hpp
deleted file mode 100644
index e71ab9c..0000000
--- a/boost/mpl/bool_fwd.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-
-#ifndef BOOST_MPL_BOOL_FWD_HPP_INCLUDED
-#define BOOST_MPL_BOOL_FWD_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: bool_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/adl_barrier.hpp>
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-
-template< bool C_ > struct bool_;
-
-// shorcuts
-typedef bool_<true> true_;
-typedef bool_<false> false_;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-
-BOOST_MPL_AUX_ADL_BARRIER_DECL(bool_)
-BOOST_MPL_AUX_ADL_BARRIER_DECL(true_)
-BOOST_MPL_AUX_ADL_BARRIER_DECL(false_)
-
-#endif // BOOST_MPL_BOOL_FWD_HPP_INCLUDED
diff --git a/boost/mpl/clear.hpp b/boost/mpl/clear.hpp
deleted file mode 100644
index 9cf16fa..0000000
--- a/boost/mpl/clear.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-
-#ifndef BOOST_MPL_CLEAR_HPP_INCLUDED
-#define BOOST_MPL_CLEAR_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: clear.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/clear_fwd.hpp>
-#include <boost/mpl/aux_/clear_impl.hpp>
-#include <boost/mpl/sequence_tag.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-namespace boost { namespace mpl {
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(Sequence)
- >
-struct clear
- : clear_impl< typename sequence_tag<Sequence>::type >
- ::template apply< Sequence >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(1,clear,(Sequence))
-};
-
-BOOST_MPL_AUX_NA_SPEC(1, clear)
-
-}}
-
-#endif // BOOST_MPL_CLEAR_HPP_INCLUDED
diff --git a/boost/mpl/clear_fwd.hpp b/boost/mpl/clear_fwd.hpp
deleted file mode 100644
index e660bc2..0000000
--- a/boost/mpl/clear_fwd.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#ifndef BOOST_MPL_CLEAR_FWD_HPP_INCLUDED
-#define BOOST_MPL_CLEAR_FWD_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: clear_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-namespace boost { namespace mpl {
-
-template< typename Tag > struct clear_impl;
-template< typename Sequence > struct clear;
-
-}}
-
-#endif // BOOST_MPL_CLEAR_FWD_HPP_INCLUDED
diff --git a/boost/mpl/comparison.hpp b/boost/mpl/comparison.hpp
deleted file mode 100644
index 223b9ef..0000000
--- a/boost/mpl/comparison.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#ifndef BOOST_MPL_COMPARISON_HPP_INCLUDED
-#define BOOST_MPL_COMPARISON_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: comparison.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/equal_to.hpp>
-#include <boost/mpl/not_equal_to.hpp>
-#include <boost/mpl/less.hpp>
-#include <boost/mpl/greater.hpp>
-#include <boost/mpl/less_equal.hpp>
-#include <boost/mpl/greater_equal.hpp>
-
-#endif // BOOST_MPL_COMPARISON_HPP_INCLUDED
diff --git a/boost/mpl/contains.hpp b/boost/mpl/contains.hpp
deleted file mode 100644
index 620fe41..0000000
--- a/boost/mpl/contains.hpp
+++ /dev/null
@@ -1,41 +0,0 @@
-
-#ifndef BOOST_MPL_CONTAINS_HPP_INCLUDED
-#define BOOST_MPL_CONTAINS_HPP_INCLUDED
-
-// Copyright Eric Friedman 2002
-// Copyright Aleksey Gurtovoy 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: contains.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/contains_fwd.hpp>
-#include <boost/mpl/sequence_tag.hpp>
-#include <boost/mpl/aux_/contains_impl.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-namespace boost { namespace mpl {
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(Sequence)
- , typename BOOST_MPL_AUX_NA_PARAM(T)
- >
-struct contains
- : contains_impl< typename sequence_tag<Sequence>::type >
- ::template apply< Sequence,T >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2,contains,(Sequence,T))
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, contains)
-
-}}
-
-#endif // BOOST_MPL_CONTAINS_HPP_INCLUDED
diff --git a/boost/mpl/contains_fwd.hpp b/boost/mpl/contains_fwd.hpp
deleted file mode 100644
index af7721a..0000000
--- a/boost/mpl/contains_fwd.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-
-#ifndef BOOST_MPL_CONTAINS_FWD_HPP_INCLUDED
-#define BOOST_MPL_CONTAINS_FWD_HPP_INCLUDED
-
-// Copyright Eric Friedman 2002
-// Copyright Aleksey Gurtovoy 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: contains_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-namespace boost { namespace mpl {
-
-template< typename Tag > struct contains_impl;
-template< typename Sequence, typename T > struct contains;
-
-}}
-
-#endif // BOOST_MPL_CONTAINS_FWD_HPP_INCLUDED
diff --git a/boost/mpl/copy.hpp b/boost/mpl/copy.hpp
deleted file mode 100644
index 6849ec8..0000000
--- a/boost/mpl/copy.hpp
+++ /dev/null
@@ -1,58 +0,0 @@
-
-#ifndef BOOST_MPL_COPY_HPP_INCLUDED
-#define BOOST_MPL_COPY_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-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: copy.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/fold.hpp>
-#include <boost/mpl/reverse_fold.hpp>
-#include <boost/mpl/aux_/inserter_algorithm.hpp>
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template<
- typename Sequence
- , typename Inserter
- >
-struct copy_impl
- : fold<
- Sequence
- , typename Inserter::state
- , typename Inserter::operation
- >
-{
-};
-
-template<
- typename Sequence
- , typename Inserter
- >
-struct reverse_copy_impl
- : reverse_fold<
- Sequence
- , typename Inserter::state
- , typename Inserter::operation
- >
-{
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(2, copy)
-
-}}
-
-#endif // BOOST_MPL_COPY_HPP_INCLUDED
diff --git a/boost/mpl/deref.hpp b/boost/mpl/deref.hpp
deleted file mode 100644
index 15479e1..0000000
--- a/boost/mpl/deref.hpp
+++ /dev/null
@@ -1,41 +0,0 @@
-
-#ifndef BOOST_MPL_DEREF_HPP_INCLUDED
-#define BOOST_MPL_DEREF_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: deref.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/msvc_type.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-#include <boost/mpl/aux_/config/eti.hpp>
-
-namespace boost { namespace mpl {
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(Iterator)
- >
-struct deref
-{
-#if !defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG)
- typedef typename Iterator::type type;
-#else
- typedef typename aux::msvc_type<Iterator>::type type;
-#endif
- BOOST_MPL_AUX_LAMBDA_SUPPORT(1,deref,(Iterator))
-};
-
-BOOST_MPL_AUX_NA_SPEC(1, deref)
-
-}}
-
-#endif // BOOST_MPL_DEREF_HPP_INCLUDED
diff --git a/boost/mpl/distance.hpp b/boost/mpl/distance.hpp
deleted file mode 100644
index 8ecd3c1..0000000
--- a/boost/mpl/distance.hpp
+++ /dev/null
@@ -1,78 +0,0 @@
-
-#ifndef BOOST_MPL_DISTANCE_HPP_INCLUDED
-#define BOOST_MPL_DISTANCE_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: distance.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/distance_fwd.hpp>
-#include <boost/mpl/iter_fold.hpp>
-#include <boost/mpl/iterator_range.hpp>
-#include <boost/mpl/long.hpp>
-#include <boost/mpl/next.hpp>
-#include <boost/mpl/tag.hpp>
-#include <boost/mpl/apply_wrap.hpp>
-#include <boost/mpl/aux_/msvc_eti_base.hpp>
-#include <boost/mpl/aux_/value_wknd.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/config/forwarding.hpp>
-#include <boost/mpl/aux_/config/static_constant.hpp>
-
-
-namespace boost { namespace mpl {
-
-// default implementation for forward/bidirectional iterators
-template< typename Tag > struct distance_impl
-{
- template< typename First, typename Last > struct apply
-#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)
- : aux::msvc_eti_base< typename iter_fold<
- iterator_range<First,Last>
- , mpl::long_<0>
- , next<>
- >::type >
- {
-#else
- {
- typedef typename iter_fold<
- iterator_range<First,Last>
- , mpl::long_<0>
- , next<>
- >::type type;
-
- BOOST_STATIC_CONSTANT(long, value =
- (iter_fold<
- iterator_range<First,Last>
- , mpl::long_<0>
- , next<>
- >::type::value)
- );
-#endif
- };
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(First)
- , typename BOOST_MPL_AUX_NA_PARAM(Last)
- >
-struct distance
- : distance_impl< typename tag<First>::type >
- ::template apply<First, Last>
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, distance, (First, Last))
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, distance)
-
-}}
-
-#endif // BOOST_MPL_DISTANCE_HPP_INCLUDED
diff --git a/boost/mpl/distance_fwd.hpp b/boost/mpl/distance_fwd.hpp
deleted file mode 100644
index 766ceb4..0000000
--- a/boost/mpl/distance_fwd.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-
-#ifndef BOOST_MPL_DISTANCE_FWD_HPP_INCLUDED
-#define BOOST_MPL_DISTANCE_FWD_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: distance_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/common_name_wknd.hpp>
-
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_COMMON_NAME_WKND(distance)
-
-template< typename Tag > struct distance_impl;
-template< typename First, typename Last > struct distance;
-
-}}
-
-#endif // BOOST_MPL_DISTANCE_FWD_HPP_INCLUDED
diff --git a/boost/mpl/divides.hpp b/boost/mpl/divides.hpp
deleted file mode 100644
index 6f54496..0000000
--- a/boost/mpl/divides.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#ifndef BOOST_MPL_DIVIDES_HPP_INCLUDED
-#define BOOST_MPL_DIVIDES_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: divides.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#define AUX778076_OP_NAME divides
-#define AUX778076_OP_TOKEN /
-#include <boost/mpl/aux_/arithmetic_op.hpp>
-
-#endif // BOOST_MPL_DIVIDES_HPP_INCLUDED
diff --git a/boost/mpl/empty_base.hpp b/boost/mpl/empty_base.hpp
deleted file mode 100644
index 095003e..0000000
--- a/boost/mpl/empty_base.hpp
+++ /dev/null
@@ -1,59 +0,0 @@
-
-#ifndef BOOST_MPL_EMPTY_BASE_HPP_INCLUDED
-#define BOOST_MPL_EMPTY_BASE_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-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: empty_base.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#include <boost/type_traits/is_empty.hpp>
-
-// should be always the last #include directive
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost { namespace mpl {
-
-// empty base class, guaranteed to have no members; inheritance from
-// 'empty_base' through the 'inherit' metafunction is a no-op - see
-// "mpl/inherit.hpp> header for the details
-struct empty_base {};
-
-template< typename T >
-struct is_empty_base
- : false_
-{
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
- using false_::value;
-#endif
-};
-
-template<>
-struct is_empty_base<empty_base>
- : true_
-{
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
- using true_::value;
-#endif
-};
-
-}}
-
-namespace boost {
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_empty, mpl::empty_base, true)
-}
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_MPL_EMPTY_BASE_HPP_INCLUDED
diff --git a/boost/mpl/empty_fwd.hpp b/boost/mpl/empty_fwd.hpp
deleted file mode 100644
index 4bf6868..0000000
--- a/boost/mpl/empty_fwd.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#ifndef BOOST_MPL_EMPTY_FWD_HPP_INCLUDED
-#define BOOST_MPL_EMPTY_FWD_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: empty_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-namespace boost { namespace mpl {
-
-template< typename Tag > struct empty_impl;
-template< typename Sequence > struct empty;
-
-}}
-
-#endif // BOOST_MPL_EMPTY_FWD_HPP_INCLUDED
diff --git a/boost/mpl/end.hpp b/boost/mpl/end.hpp
deleted file mode 100644
index ddee556..0000000
--- a/boost/mpl/end.hpp
+++ /dev/null
@@ -1,19 +0,0 @@
-
-#ifndef BOOST_MPL_END_HPP_INCLUDED
-#define BOOST_MPL_END_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 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: end.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/begin_end.hpp>
-
-#endif // BOOST_MPL_END_HPP_INCLUDED
diff --git a/boost/mpl/equal_to.hpp b/boost/mpl/equal_to.hpp
deleted file mode 100644
index 359031c..0000000
--- a/boost/mpl/equal_to.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#ifndef BOOST_MPL_EQUAL_TO_HPP_INCLUDED
-#define BOOST_MPL_EQUAL_TO_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: equal_to.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#define AUX778076_OP_NAME equal_to
-#define AUX778076_OP_TOKEN ==
-#include <boost/mpl/aux_/comparison_op.hpp>
-
-#endif // BOOST_MPL_EQUAL_TO_HPP_INCLUDED
diff --git a/boost/mpl/eval_if.hpp b/boost/mpl/eval_if.hpp
deleted file mode 100644
index f1a5b70..0000000
--- a/boost/mpl/eval_if.hpp
+++ /dev/null
@@ -1,71 +0,0 @@
-
-#ifndef BOOST_MPL_EVAL_IF_HPP_INCLUDED
-#define BOOST_MPL_EVAL_IF_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: eval_if.hpp 61921 2010-05-11 21:33:24Z neilgroves $
-// $Date: 2010-05-11 14:33:24 -0700 (Tue, 11 May 2010) $
-// $Revision: 61921 $
-
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/gcc.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-namespace boost { namespace mpl {
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(C)
- , typename BOOST_MPL_AUX_NA_PARAM(F1)
- , typename BOOST_MPL_AUX_NA_PARAM(F2)
- >
-struct eval_if
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \
- || ( BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, >= 0x0300) \
- && BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0304)) \
- )
-{
- typedef typename if_<C,F1,F2>::type f_;
- typedef typename f_::type type;
-#else
- : if_<C,F1,F2>::type
-{
-#endif
- BOOST_MPL_AUX_LAMBDA_SUPPORT(3,eval_if,(C,F1,F2))
-};
-
-// (almost) copy & paste in order to save one more
-// recursively nested template instantiation to user
-template<
- bool C
- , typename F1
- , typename F2
- >
-struct eval_if_c
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \
- || ( BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, >= 0x0300) \
- && BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0304)) \
- )
-{
- typedef typename if_c<C,F1,F2>::type f_;
- typedef typename f_::type type;
-#else
- : if_c<C,F1,F2>::type
-{
-#endif
-};
-
-BOOST_MPL_AUX_NA_SPEC(3, eval_if)
-
-}}
-
-#endif // BOOST_MPL_EVAL_IF_HPP_INCLUDED
diff --git a/boost/mpl/find.hpp b/boost/mpl/find.hpp
deleted file mode 100644
index 7b09423..0000000
--- a/boost/mpl/find.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-
-#ifndef BOOST_MPL_FIND_HPP_INCLUDED
-#define BOOST_MPL_FIND_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-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/mpl for documentation.
-
-// $Id: find.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/find_if.hpp>
-#include <boost/mpl/same_as.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-namespace boost { namespace mpl {
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(Sequence)
- , typename BOOST_MPL_AUX_NA_PARAM(T)
- >
-struct find
- : find_if< Sequence,same_as<T> >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2,find,(Sequence,T))
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, find)
-
-}}
-
-#endif // BOOST_MPL_FIND_HPP_INCLUDED
diff --git a/boost/mpl/find_if.hpp b/boost/mpl/find_if.hpp
deleted file mode 100644
index a066e71..0000000
--- a/boost/mpl/find_if.hpp
+++ /dev/null
@@ -1,50 +0,0 @@
-
-#ifndef BOOST_MPL_FIND_IF_HPP_INCLUDED
-#define BOOST_MPL_FIND_IF_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: find_if.hpp 49274 2008-10-11 07:22:05Z agurtovoy $
-// $Date: 2008-10-11 00:22:05 -0700 (Sat, 11 Oct 2008) $
-// $Revision: 49274 $
-
-#include <boost/mpl/aux_/find_if_pred.hpp>
-#include <boost/mpl/arg.hpp>
-#include <boost/mpl/iter_fold_if.hpp>
-#include <boost/mpl/aux_/common_name_wknd.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_COMMON_NAME_WKND(find_if)
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(Sequence)
- , typename BOOST_MPL_AUX_NA_PARAM(Predicate)
- >
-struct find_if
-{
- typedef typename iter_fold_if<
- Sequence
- , void
- , mpl::arg<1> // ignore
- , protect< aux::find_if_pred<Predicate> >
- >::type result_;
-
- typedef typename second<result_>::type type;
-
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2,find_if,(Sequence,Predicate))
-};
-
-BOOST_MPL_AUX_NA_SPEC(2,find_if)
-
-}}
-
-#endif // BOOST_MPL_FIND_IF_HPP_INCLUDED
diff --git a/boost/mpl/fold.hpp b/boost/mpl/fold.hpp
deleted file mode 100644
index e5e02bd..0000000
--- a/boost/mpl/fold.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-
-#ifndef BOOST_MPL_FOLD_HPP_INCLUDED
-#define BOOST_MPL_FOLD_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright David Abrahams 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/mpl for documentation.
-
-// $Id: fold.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/begin_end.hpp>
-#include <boost/mpl/O1_size.hpp>
-#include <boost/mpl/aux_/fold_impl.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-namespace boost { namespace mpl {
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(Sequence)
- , typename BOOST_MPL_AUX_NA_PARAM(State)
- , typename BOOST_MPL_AUX_NA_PARAM(ForwardOp)
- >
-struct fold
-{
- typedef typename aux::fold_impl<
- ::boost::mpl::O1_size<Sequence>::value
- , typename begin<Sequence>::type
- , typename end<Sequence>::type
- , State
- , ForwardOp
- >::state type;
-
- BOOST_MPL_AUX_LAMBDA_SUPPORT(3,fold,(Sequence,State,ForwardOp))
-};
-
-BOOST_MPL_AUX_NA_SPEC(3, fold)
-
-}}
-
-#endif // BOOST_MPL_FOLD_HPP_INCLUDED
diff --git a/boost/mpl/front_fwd.hpp b/boost/mpl/front_fwd.hpp
deleted file mode 100644
index 6275001..0000000
--- a/boost/mpl/front_fwd.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#ifndef BOOST_MPL_FRONT_FWD_HPP_INCLUDED
-#define BOOST_MPL_FRONT_FWD_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: front_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-namespace boost { namespace mpl {
-
-template< typename Tag > struct front_impl;
-template< typename Sequence > struct front;
-
-}}
-
-#endif // BOOST_MPL_FRONT_FWD_HPP_INCLUDED
diff --git a/boost/mpl/front_inserter.hpp b/boost/mpl/front_inserter.hpp
deleted file mode 100644
index 7220f76..0000000
--- a/boost/mpl/front_inserter.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-
-#ifndef BOOST_MPL_FRONT_INSERTER_HPP_INCLUDED
-#define BOOST_MPL_FRONT_INSERTER_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: front_inserter.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/push_front.hpp>
-#include <boost/mpl/inserter.hpp>
-
-namespace boost { namespace mpl {
-
-template<
- typename Sequence
- >
-struct front_inserter
- : inserter< Sequence,push_front<> >
-{
-};
-
-}}
-
-#endif // BOOST_MPL_FRONT_INSERTER_HPP_INCLUDED
diff --git a/boost/mpl/greater.hpp b/boost/mpl/greater.hpp
deleted file mode 100644
index c73276b..0000000
--- a/boost/mpl/greater.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#ifndef BOOST_MPL_GREATER_HPP_INCLUDED
-#define BOOST_MPL_GREATER_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: greater.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#define AUX778076_OP_NAME greater
-#define AUX778076_OP_TOKEN >
-#include <boost/mpl/aux_/comparison_op.hpp>
-
-#endif // BOOST_MPL_GREATER_HPP_INCLUDED
diff --git a/boost/mpl/greater_equal.hpp b/boost/mpl/greater_equal.hpp
deleted file mode 100644
index 119710f..0000000
--- a/boost/mpl/greater_equal.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#ifndef BOOST_MPL_GREATER_EQUAL_HPP_INCLUDED
-#define BOOST_MPL_GREATER_EQUAL_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: greater_equal.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#define AUX778076_OP_NAME greater_equal
-#define AUX778076_OP_TOKEN >=
-#include <boost/mpl/aux_/comparison_op.hpp>
-
-#endif // BOOST_MPL_GREATER_EQUAL_HPP_INCLUDED
diff --git a/boost/mpl/has_xxx.hpp b/boost/mpl/has_xxx.hpp
deleted file mode 100644
index 121bc48..0000000
--- a/boost/mpl/has_xxx.hpp
+++ /dev/null
@@ -1,640 +0,0 @@
-
-#ifndef BOOST_MPL_HAS_XXX_HPP_INCLUDED
-#define BOOST_MPL_HAS_XXX_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2002-2006
-// Copyright David Abrahams 2002-2003
-// Copyright Daniel Walker 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)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: has_xxx.hpp 64146 2010-07-19 00:46:31Z djwalker $
-// $Date: 2010-07-18 17:46:31 -0700 (Sun, 18 Jul 2010) $
-// $Revision: 64146 $
-
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/type_wrapper.hpp>
-#include <boost/mpl/aux_/yes_no.hpp>
-#include <boost/mpl/aux_/config/gcc.hpp>
-#include <boost/mpl/aux_/config/has_xxx.hpp>
-#include <boost/mpl/aux_/config/msvc_typename.hpp>
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/static_constant.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#include <boost/preprocessor/array/elem.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/control/if.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_trailing_params.hpp>
-
-#if BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT(0x590) )
-# include <boost/type_traits/is_class.hpp>
-#endif
-
-#if !defined(BOOST_MPL_CFG_NO_HAS_XXX)
-
-# if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-
-// agurt, 11/sep/02: MSVC-specific version (< 7.1), based on a USENET
-// newsgroup's posting by John Madsen (comp.lang.c++.moderated,
-// 1999-11-12 19:17:06 GMT); the code is _not_ standard-conforming, but
-// it works way more reliably than the SFINAE-based implementation
-
-// Modified dwa 8/Oct/02 to handle reference types.
-
-# include <boost/mpl/if.hpp>
-# include <boost/mpl/bool.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-
-struct has_xxx_tag;
-
-#if BOOST_WORKAROUND(BOOST_MSVC, == 1300)
-template< typename U > struct msvc_incomplete_array
-{
- typedef char (&type)[sizeof(U) + 1];
-};
-#endif
-
-template< typename T >
-struct msvc_is_incomplete
-{
- // MSVC is capable of some kinds of SFINAE. If U is an incomplete
- // type, it won't pick the second overload
- static char tester(...);
-
-#if BOOST_WORKAROUND(BOOST_MSVC, == 1300)
- template< typename U >
- static typename msvc_incomplete_array<U>::type tester(type_wrapper<U>);
-#else
- template< typename U >
- static char (& tester(type_wrapper<U>) )[sizeof(U)+1];
-#endif
-
- BOOST_STATIC_CONSTANT(bool, value =
- sizeof(tester(type_wrapper<T>())) == 1
- );
-};
-
-template<>
-struct msvc_is_incomplete<int>
-{
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-}}}
-
-# define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF_(trait, name, default_) \
-template< typename T, typename name = ::boost::mpl::aux::has_xxx_tag > \
-struct BOOST_PP_CAT(trait,_impl) : T \
-{ \
- static boost::mpl::aux::no_tag \
- test(void(*)(::boost::mpl::aux::has_xxx_tag)); \
- \
- static boost::mpl::aux::yes_tag test(...); \
- \
- BOOST_STATIC_CONSTANT(bool, value = \
- sizeof(test(static_cast<void(*)(name)>(0))) \
- != sizeof(boost::mpl::aux::no_tag) \
- ); \
- typedef boost::mpl::bool_<value> type; \
-}; \
-\
-template< typename T, typename fallback_ = boost::mpl::bool_<default_> > \
-struct trait \
- : boost::mpl::if_c< \
- boost::mpl::aux::msvc_is_incomplete<T>::value \
- , boost::mpl::bool_<false> \
- , BOOST_PP_CAT(trait,_impl)<T> \
- >::type \
-{ \
-}; \
-\
-BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, void) \
-BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, bool) \
-BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, char) \
-BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, signed char) \
-BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, unsigned char) \
-BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, signed short) \
-BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, unsigned short) \
-BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, signed int) \
-BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, unsigned int) \
-BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, signed long) \
-BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, unsigned long) \
-BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, float) \
-BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, double) \
-BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, long double) \
-/**/
-
-# define BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, T) \
-template<> struct trait<T> \
-{ \
- BOOST_STATIC_CONSTANT(bool, value = false); \
- typedef boost::mpl::bool_<false> type; \
-}; \
-/**/
-
-#if !defined(BOOST_NO_INTRINSIC_WCHAR_T)
-# define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, unused) \
- BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF_(trait, name, unused) \
- BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, wchar_t) \
-/**/
-#else
-# define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, unused) \
- BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF_(trait, name, unused) \
-/**/
-#endif
-
-
-// SFINAE-based implementations below are derived from a USENET newsgroup's
-// posting by Rani Sharoni (comp.lang.c++.moderated, 2002-03-17 07:45:09 PST)
-
-# elif BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \
- || BOOST_WORKAROUND(__IBMCPP__, <= 700)
-
-// MSVC 7.1+ & VACPP
-
-// agurt, 15/jun/05: replace overload-based SFINAE implementation with SFINAE
-// applied to partial specialization to fix some apparently random failures
-// (thanks to Daniel Wallin for researching this!)
-
-# define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, default_) \
-template< typename T > \
-struct BOOST_PP_CAT(trait, _msvc_sfinae_helper) \
-{ \
- typedef void type; \
-};\
-\
-template< typename T, typename U = void > \
-struct BOOST_PP_CAT(trait,_impl_) \
-{ \
- BOOST_STATIC_CONSTANT(bool, value = false); \
- typedef boost::mpl::bool_<value> type; \
-}; \
-\
-template< typename T > \
-struct BOOST_PP_CAT(trait,_impl_)< \
- T \
- , typename BOOST_PP_CAT(trait, _msvc_sfinae_helper)< typename T::name >::type \
- > \
-{ \
- BOOST_STATIC_CONSTANT(bool, value = true); \
- typedef boost::mpl::bool_<value> type; \
-}; \
-\
-template< typename T, typename fallback_ = boost::mpl::bool_<default_> > \
-struct trait \
- : BOOST_PP_CAT(trait,_impl_)<T> \
-{ \
-}; \
-/**/
-
-# elif BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT(0x590) )
-
-# define BOOST_MPL_HAS_XXX_TRAIT_NAMED_BCB_DEF(trait, trait_tester, name, default_) \
-template< typename T, bool IS_CLASS > \
-struct trait_tester \
-{ \
- BOOST_STATIC_CONSTANT( bool, value = false ); \
-}; \
-template< typename T > \
-struct trait_tester< T, true > \
-{ \
- struct trait_tester_impl \
- { \
- template < class U > \
- static int resolve( boost::mpl::aux::type_wrapper<U> const volatile * \
- , boost::mpl::aux::type_wrapper<typename U::name >* = 0 ); \
- static char resolve( ... ); \
- }; \
- typedef boost::mpl::aux::type_wrapper<T> t_; \
- BOOST_STATIC_CONSTANT( bool, value = ( sizeof( trait_tester_impl::resolve( static_cast< t_ * >(0) ) ) == sizeof(int) ) ); \
-}; \
-template< typename T, typename fallback_ = boost::mpl::bool_<default_> > \
-struct trait \
-{ \
- BOOST_STATIC_CONSTANT( bool, value = (trait_tester< T, boost::is_class< T >::value >::value) ); \
- typedef boost::mpl::bool_< trait< T, fallback_ >::value > type; \
-};
-
-# define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, default_) \
- BOOST_MPL_HAS_XXX_TRAIT_NAMED_BCB_DEF( trait \
- , BOOST_PP_CAT(trait,_tester) \
- , name \
- , default_ ) \
-/**/
-
-# else // other SFINAE-capable compilers
-
-# define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, default_) \
-template< typename T, typename fallback_ = boost::mpl::bool_<default_> > \
-struct trait \
-{ \
- struct gcc_3_2_wknd \
- { \
- template< typename U > \
- static boost::mpl::aux::yes_tag test( \
- boost::mpl::aux::type_wrapper<U> const volatile* \
- , boost::mpl::aux::type_wrapper<BOOST_MSVC_TYPENAME U::name>* = 0 \
- ); \
- \
- static boost::mpl::aux::no_tag test(...); \
- }; \
- \
- typedef boost::mpl::aux::type_wrapper<T> t_; \
- BOOST_STATIC_CONSTANT(bool, value = \
- sizeof(gcc_3_2_wknd::test(static_cast<t_*>(0))) \
- == sizeof(boost::mpl::aux::yes_tag) \
- ); \
- typedef boost::mpl::bool_<value> type; \
-}; \
-/**/
-
-# endif // BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-
-
-#else // BOOST_MPL_CFG_NO_HAS_XXX
-
-// placeholder implementation
-
-# define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, default_) \
-template< typename T, typename fallback_ = boost::mpl::bool_<default_> > \
-struct trait \
-{ \
- BOOST_STATIC_CONSTANT(bool, value = fallback_::value); \
- typedef fallback_ type; \
-}; \
-/**/
-
-#endif
-
-#define BOOST_MPL_HAS_XXX_TRAIT_DEF(name) \
- BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(BOOST_PP_CAT(has_,name), name, false) \
-/**/
-
-
-#if !defined(BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE)
-
-// Create a boolean Metafunction to detect a nested template
-// member. This implementation is based on a USENET newsgroup's
-// posting by Aleksey Gurtovoy (comp.lang.c++.moderated, 2002-03-19),
-// Rani Sharoni's USENET posting cited above, the non-template has_xxx
-// implementations above, and discussion on the Boost mailing list.
-
-# if !defined(BOOST_MPL_HAS_XXX_NO_WRAPPED_TYPES)
-# if BOOST_WORKAROUND(BOOST_MSVC, <= 1400)
-# define BOOST_MPL_HAS_XXX_NO_WRAPPED_TYPES 1
-# endif
-# endif
-
-# if !defined(BOOST_MPL_HAS_XXX_NO_EXPLICIT_TEST_FUNCTION)
-# if (defined(BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS))
-# define BOOST_MPL_HAS_XXX_NO_EXPLICIT_TEST_FUNCTION 1
-# endif
-# endif
-
-# if !defined(BOOST_MPL_HAS_XXX_NEEDS_TEMPLATE_SFINAE)
-# if BOOST_WORKAROUND(BOOST_MSVC, <= 1400)
-# define BOOST_MPL_HAS_XXX_NEEDS_TEMPLATE_SFINAE 1
-# endif
-# endif
-
-// NOTE: Many internal implementation macros take a Boost.Preprocessor
-// array argument called args which is of the following form.
-// ( 4, ( trait, name, max_arity, default_ ) )
-
-# define BOOST_MPL_HAS_MEMBER_INTROSPECTION_NAME(args) \
- BOOST_PP_CAT(BOOST_PP_ARRAY_ELEM(0, args) , _introspect) \
- /**/
-
-# define BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME(args, n) \
- BOOST_PP_CAT(BOOST_PP_CAT(BOOST_PP_ARRAY_ELEM(0, args) , _substitute), n) \
- /**/
-
-# define BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args) \
- BOOST_PP_CAT(BOOST_PP_ARRAY_ELEM(0, args) , _test) \
- /**/
-
-// Thanks to Guillaume Melquiond for pointing out the need for the
-// "substitute" template as an argument to the overloaded test
-// functions to get SFINAE to work for member templates with the
-// correct name but different number of arguments.
-# define BOOST_MPL_HAS_MEMBER_MULTI_SUBSTITUTE(z, n, args) \
- template< \
- template< BOOST_PP_ENUM_PARAMS(BOOST_PP_INC(n), typename V) > class V \
- > \
- struct BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME(args, n) { \
- }; \
- /**/
-
-# define BOOST_MPL_HAS_MEMBER_SUBSTITUTE(args, substitute_macro) \
- BOOST_PP_REPEAT( \
- BOOST_PP_ARRAY_ELEM(2, args) \
- , BOOST_MPL_HAS_MEMBER_MULTI_SUBSTITUTE \
- , args \
- ) \
- /**/
-
-# if !BOOST_MPL_HAS_XXX_NO_EXPLICIT_TEST_FUNCTION
-# define BOOST_MPL_HAS_MEMBER_REJECT(args, member_macro) \
- template< typename V > \
- static boost::mpl::aux::no_tag \
- BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)(...); \
- /**/
-# else
-# define BOOST_MPL_HAS_MEMBER_REJECT(args, member_macro) \
- static boost::mpl::aux::no_tag \
- BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)(...); \
- /**/
-# endif
-
-# if !BOOST_MPL_HAS_XXX_NO_WRAPPED_TYPES
-# define BOOST_MPL_HAS_MEMBER_MULTI_ACCEPT(z, n, args) \
- template< typename V > \
- static boost::mpl::aux::yes_tag \
- BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)( \
- boost::mpl::aux::type_wrapper< V > const volatile* \
- , BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME(args, n) < \
- V::template BOOST_PP_ARRAY_ELEM(1, args) \
- >* = 0 \
- ); \
- /**/
-# define BOOST_MPL_HAS_MEMBER_ACCEPT(args, member_macro) \
- BOOST_PP_REPEAT( \
- BOOST_PP_ARRAY_ELEM(2, args) \
- , BOOST_MPL_HAS_MEMBER_MULTI_ACCEPT \
- , args \
- ) \
- /**/
-# else
-# define BOOST_MPL_HAS_MEMBER_ACCEPT(args, member_macro) \
- template< typename V > \
- static boost::mpl::aux::yes_tag \
- BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)( \
- V const volatile* \
- , member_macro(args, V, T)* = 0 \
- ); \
- /**/
-# endif
-
-# if !BOOST_MPL_HAS_XXX_NO_EXPLICIT_TEST_FUNCTION
-# define BOOST_MPL_HAS_MEMBER_TEST(args) \
- sizeof(BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)< U >(0)) \
- == sizeof(boost::mpl::aux::yes_tag) \
- /**/
-# else
-# if !BOOST_MPL_HAS_XXX_NO_WRAPPED_TYPES
-# define BOOST_MPL_HAS_MEMBER_TEST(args) \
- sizeof( \
- BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)( \
- static_cast< boost::mpl::aux::type_wrapper< U >* >(0) \
- ) \
- ) == sizeof(boost::mpl::aux::yes_tag) \
- /**/
-# else
-# define BOOST_MPL_HAS_MEMBER_TEST(args) \
- sizeof( \
- BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)( \
- static_cast< U* >(0) \
- ) \
- ) == sizeof(boost::mpl::aux::yes_tag) \
- /**/
-# endif
-# endif
-
-# define BOOST_MPL_HAS_MEMBER_INTROSPECT( \
- args, substitute_macro, member_macro \
- ) \
- template< typename U > \
- struct BOOST_MPL_HAS_MEMBER_INTROSPECTION_NAME(args) { \
- BOOST_MPL_HAS_MEMBER_SUBSTITUTE(args, substitute_macro) \
- BOOST_MPL_HAS_MEMBER_REJECT(args, member_macro) \
- BOOST_MPL_HAS_MEMBER_ACCEPT(args, member_macro) \
- BOOST_STATIC_CONSTANT( \
- bool, value = BOOST_MPL_HAS_MEMBER_TEST(args) \
- ); \
- typedef boost::mpl::bool_< value > type; \
- }; \
- /**/
-
-# define BOOST_MPL_HAS_MEMBER_IMPLEMENTATION( \
- args, introspect_macro, substitute_macro, member_macro \
- ) \
- template< \
- typename T \
- , typename fallback_ \
- = boost::mpl::bool_< BOOST_PP_ARRAY_ELEM(3, args) > \
- > \
- class BOOST_PP_ARRAY_ELEM(0, args) { \
- introspect_macro(args, substitute_macro, member_macro) \
- public: \
- static const bool value \
- = BOOST_MPL_HAS_MEMBER_INTROSPECTION_NAME(args)< T >::value; \
- typedef typename BOOST_MPL_HAS_MEMBER_INTROSPECTION_NAME(args)< \
- T \
- >::type type; \
- }; \
- /**/
-
-// BOOST_MPL_HAS_MEMBER_WITH_FUNCTION_SFINAE expands to the full
-// implementation of the function-based metafunction. Compile with -E
-// to see the preprocessor output for this macro.
-# define BOOST_MPL_HAS_MEMBER_WITH_FUNCTION_SFINAE( \
- args, substitute_macro, member_macro \
- ) \
- BOOST_MPL_HAS_MEMBER_IMPLEMENTATION( \
- args \
- , BOOST_MPL_HAS_MEMBER_INTROSPECT \
- , substitute_macro \
- , member_macro \
- ) \
- /**/
-
-# if BOOST_MPL_HAS_XXX_NEEDS_TEMPLATE_SFINAE
-
-# if !defined(BOOST_MPL_HAS_XXX_NEEDS_NAMESPACE_LEVEL_SUBSTITUTE)
-# if BOOST_WORKAROUND(BOOST_MSVC, <= 1400)
-# define BOOST_MPL_HAS_XXX_NEEDS_NAMESPACE_LEVEL_SUBSTITUTE 1
-# endif
-# endif
-
-# if !BOOST_MPL_HAS_XXX_NEEDS_NAMESPACE_LEVEL_SUBSTITUTE
-# define BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME_WITH_TEMPLATE_SFINAE( \
- args, n \
- ) \
- BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME(args, n) \
- /**/
-# else
-# define BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME_WITH_TEMPLATE_SFINAE( \
- args, n \
- ) \
- BOOST_PP_CAT( \
- boost_mpl_has_xxx_ \
- , BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME(args, n) \
- ) \
- /**/
-# endif
-
-# define BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_TAG_NAME( \
- args \
- ) \
- BOOST_PP_CAT( \
- BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME_WITH_TEMPLATE_SFINAE( \
- args, 0 \
- ) \
- , _tag \
- ) \
- /**/
-
-# define BOOST_MPL_HAS_MEMBER_MULTI_SUBSTITUTE_WITH_TEMPLATE_SFINAE( \
- z, n, args \
- ) \
- template< \
- template< BOOST_PP_ENUM_PARAMS(BOOST_PP_INC(n), typename U) > class U \
- > \
- struct BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME_WITH_TEMPLATE_SFINAE( \
- args, n \
- ) { \
- typedef \
- BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_TAG_NAME(args) \
- type; \
- }; \
- /**/
-
-# define BOOST_MPL_HAS_MEMBER_SUBSTITUTE_WITH_TEMPLATE_SFINAE( \
- args, substitute_macro \
- ) \
- typedef void \
- BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_TAG_NAME(args); \
- BOOST_PP_REPEAT( \
- BOOST_PP_ARRAY_ELEM(2, args) \
- , BOOST_MPL_HAS_MEMBER_MULTI_SUBSTITUTE_WITH_TEMPLATE_SFINAE \
- , args \
- ) \
- /**/
-
-# define BOOST_MPL_HAS_MEMBER_REJECT_WITH_TEMPLATE_SFINAE( \
- args, member_macro \
- ) \
- template< \
- typename U \
- , typename V \
- = BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_TAG_NAME(args) \
- > \
- struct BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args) { \
- BOOST_STATIC_CONSTANT(bool, value = false); \
- typedef boost::mpl::bool_< value > type; \
- }; \
- /**/
-
-# define BOOST_MPL_HAS_MEMBER_MULTI_ACCEPT_WITH_TEMPLATE_SFINAE( \
- z, n, args \
- ) \
- template< typename U > \
- struct BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)< \
- U \
- , typename \
- BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME_WITH_TEMPLATE_SFINAE( \
- args, n \
- )< \
- BOOST_MSVC_TYPENAME U::BOOST_PP_ARRAY_ELEM(1, args)< > \
- >::type \
- > { \
- BOOST_STATIC_CONSTANT(bool, value = true); \
- typedef boost::mpl::bool_< value > type; \
- }; \
- /**/
-
-# define BOOST_MPL_HAS_MEMBER_ACCEPT_WITH_TEMPLATE_SFINAE( \
- args, member_macro \
- ) \
- BOOST_PP_REPEAT( \
- BOOST_PP_ARRAY_ELEM(2, args) \
- , BOOST_MPL_HAS_MEMBER_MULTI_ACCEPT_WITH_TEMPLATE_SFINAE \
- , args \
- ) \
- /**/
-
-# define BOOST_MPL_HAS_MEMBER_INTROSPECT_WITH_TEMPLATE_SFINAE( \
- args, substitute_macro, member_macro \
- ) \
- BOOST_MPL_HAS_MEMBER_REJECT_WITH_TEMPLATE_SFINAE(args, member_macro) \
- BOOST_MPL_HAS_MEMBER_ACCEPT_WITH_TEMPLATE_SFINAE(args, member_macro) \
- template< typename U > \
- struct BOOST_MPL_HAS_MEMBER_INTROSPECTION_NAME(args) \
- : BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)< U > { \
- }; \
- /**/
-
-// BOOST_MPL_HAS_MEMBER_WITH_TEMPLATE_SFINAE expands to the full
-// implementation of the template-based metafunction. Compile with -E
-// to see the preprocessor output for this macro.
-//
-// Note that if BOOST_MPL_HAS_XXX_NEEDS_NAMESPACE_LEVEL_SUBSTITUTE is
-// defined BOOST_MPL_HAS_MEMBER_SUBSTITUTE_WITH_TEMPLATE_SFINAE needs
-// to be expanded at namespace level before
-// BOOST_MPL_HAS_MEMBER_WITH_TEMPLATE_SFINAE can be used.
-# define BOOST_MPL_HAS_MEMBER_WITH_TEMPLATE_SFINAE( \
- args, substitute_macro, member_macro \
- ) \
- BOOST_MPL_HAS_MEMBER_SUBSTITUTE_WITH_TEMPLATE_SFINAE( \
- args, substitute_macro \
- ) \
- BOOST_MPL_HAS_MEMBER_IMPLEMENTATION( \
- args \
- , BOOST_MPL_HAS_MEMBER_INTROSPECT_WITH_TEMPLATE_SFINAE \
- , substitute_macro \
- , member_macro \
- ) \
- /**/
-
-# endif // BOOST_MPL_HAS_XXX_NEEDS_TEMPLATE_SFINAE
-
-// Note: In the current implementation the parameter and access macros
-// are no longer expanded.
-# if !BOOST_WORKAROUND(BOOST_MSVC, <= 1400)
-# define BOOST_MPL_HAS_XXX_TEMPLATE_NAMED_DEF(trait, name, default_) \
- BOOST_MPL_HAS_MEMBER_WITH_FUNCTION_SFINAE( \
- ( 4, ( trait, name, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, default_ ) ) \
- , BOOST_MPL_HAS_MEMBER_TEMPLATE_SUBSTITUTE_PARAMETER \
- , BOOST_MPL_HAS_MEMBER_TEMPLATE_ACCESS \
- ) \
- /**/
-# else
-# define BOOST_MPL_HAS_XXX_TEMPLATE_NAMED_DEF(trait, name, default_) \
- BOOST_MPL_HAS_MEMBER_WITH_TEMPLATE_SFINAE( \
- ( 4, ( trait, name, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, default_ ) ) \
- , BOOST_MPL_HAS_MEMBER_TEMPLATE_SUBSTITUTE_PARAMETER \
- , BOOST_MPL_HAS_MEMBER_TEMPLATE_ACCESS \
- ) \
- /**/
-# endif
-
-#else // BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE
-
-// placeholder implementation
-
-# define BOOST_MPL_HAS_XXX_TEMPLATE_NAMED_DEF(trait, name, default_) \
- template< typename T \
- , typename fallback_ = boost::mpl::bool_< default_ > > \
- struct trait { \
- BOOST_STATIC_CONSTANT(bool, value = fallback_::value); \
- typedef fallback_ type; \
- }; \
- /**/
-
-#endif // BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE
-
-# define BOOST_MPL_HAS_XXX_TEMPLATE_DEF(name) \
- BOOST_MPL_HAS_XXX_TEMPLATE_NAMED_DEF( \
- BOOST_PP_CAT(has_, name), name, false \
- ) \
- /**/
-
-#endif // BOOST_MPL_HAS_XXX_HPP_INCLUDED
diff --git a/boost/mpl/identity.hpp b/boost/mpl/identity.hpp
deleted file mode 100644
index 5424f71..0000000
--- a/boost/mpl/identity.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-
-#ifndef BOOST_MPL_IDENTITY_HPP_INCLUDED
-#define BOOST_MPL_IDENTITY_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: identity.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-namespace boost { namespace mpl {
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(T)
- >
-struct identity
-{
- typedef T type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT(1, identity, (T))
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(T)
- >
-struct make_identity
-{
- typedef identity<T> type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT(1, make_identity, (T))
-};
-
-BOOST_MPL_AUX_NA_SPEC_NO_ETI(1, identity)
-BOOST_MPL_AUX_NA_SPEC_NO_ETI(1, make_identity)
-
-}}
-
-#endif // BOOST_MPL_IDENTITY_HPP_INCLUDED
diff --git a/boost/mpl/if.hpp b/boost/mpl/if.hpp
deleted file mode 100644
index 245c993..0000000
--- a/boost/mpl/if.hpp
+++ /dev/null
@@ -1,135 +0,0 @@
-
-#ifndef BOOST_MPL_IF_HPP_INCLUDED
-#define BOOST_MPL_IF_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: if.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/value_wknd.hpp>
-#include <boost/mpl/aux_/static_cast.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-#include <boost/mpl/aux_/config/integral.hpp>
-#include <boost/mpl/aux_/config/ctps.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-namespace boost { namespace mpl {
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template<
- bool C
- , typename T1
- , typename T2
- >
-struct if_c
-{
- typedef T1 type;
-};
-
-template<
- typename T1
- , typename T2
- >
-struct if_c<false,T1,T2>
-{
- typedef T2 type;
-};
-
-// agurt, 05/sep/04: nondescriptive parameter names for the sake of DigitalMars
-// (and possibly MWCW < 8.0); see http://article.gmane.org/gmane.comp.lib.boost.devel/108959
-template<
- typename BOOST_MPL_AUX_NA_PARAM(T1)
- , typename BOOST_MPL_AUX_NA_PARAM(T2)
- , typename BOOST_MPL_AUX_NA_PARAM(T3)
- >
-struct if_
-{
- private:
- // agurt, 02/jan/03: two-step 'type' definition for the sake of aCC
- typedef if_c<
-#if defined(BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS)
- BOOST_MPL_AUX_VALUE_WKND(T1)::value
-#else
- BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
-#endif
- , T2
- , T3
- > almost_type_;
-
- public:
- typedef typename almost_type_::type type;
-
- BOOST_MPL_AUX_LAMBDA_SUPPORT(3,if_,(T1,T2,T3))
-};
-
-#else
-
-// no partial class template specialization
-
-namespace aux {
-
-template< bool C >
-struct if_impl
-{
- template< typename T1, typename T2 > struct result_
- {
- typedef T1 type;
- };
-};
-
-template<>
-struct if_impl<false>
-{
- template< typename T1, typename T2 > struct result_
- {
- typedef T2 type;
- };
-};
-
-} // namespace aux
-
-template<
- bool C_
- , typename T1
- , typename T2
- >
-struct if_c
-{
- typedef typename aux::if_impl< C_ >
- ::template result_<T1,T2>::type type;
-};
-
-// (almost) copy & paste in order to save one more
-// recursively nested template instantiation to user
-template<
- typename BOOST_MPL_AUX_NA_PARAM(C_)
- , typename BOOST_MPL_AUX_NA_PARAM(T1)
- , typename BOOST_MPL_AUX_NA_PARAM(T2)
- >
-struct if_
-{
- enum { msvc_wknd_ = BOOST_MPL_AUX_MSVC_VALUE_WKND(C_)::value };
-
- typedef typename aux::if_impl< BOOST_MPL_AUX_STATIC_CAST(bool, msvc_wknd_) >
- ::template result_<T1,T2>::type type;
-
- BOOST_MPL_AUX_LAMBDA_SUPPORT(3,if_,(C_,T1,T2))
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-BOOST_MPL_AUX_NA_SPEC(3, if_)
-
-}}
-
-#endif // BOOST_MPL_IF_HPP_INCLUDED
diff --git a/boost/mpl/inherit.hpp b/boost/mpl/inherit.hpp
deleted file mode 100644
index 59715ed..0000000
--- a/boost/mpl/inherit.hpp
+++ /dev/null
@@ -1,229 +0,0 @@
-
-#if !defined(BOOST_PP_IS_ITERATING)
-
-///// header body
-
-#ifndef BOOST_MPL_INHERIT_HPP_INCLUDED
-#define BOOST_MPL_INHERIT_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-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: inherit.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-# include <boost/mpl/empty_base.hpp>
-# include <boost/mpl/aux_/na_spec.hpp>
-# include <boost/mpl/aux_/lambda_support.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-# define BOOST_MPL_PREPROCESSED_HEADER inherit.hpp
-# include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-# include <boost/mpl/limits/arity.hpp>
-# include <boost/mpl/aux_/preprocessor/params.hpp>
-# include <boost/mpl/aux_/preprocessor/default_params.hpp>
-# include <boost/mpl/aux_/preprocessor/enum.hpp>
-# include <boost/mpl/aux_/config/ctps.hpp>
-# include <boost/mpl/aux_/config/dtp.hpp>
-
-# include <boost/preprocessor/iterate.hpp>
-# include <boost/preprocessor/dec.hpp>
-# include <boost/preprocessor/cat.hpp>
-
-namespace boost { namespace mpl {
-
-// 'inherit<T1,T2,..,Tn>' metafunction; returns an unspecified class type
-// produced by public derivation from all metafunction's parameters
-// (T1,T2,..,Tn), except the parameters of 'empty_base' class type;
-// regardless the position and number of 'empty_base' parameters in the
-// metafunction's argument list, derivation from them is always a no-op;
-// for instance:
-// inherit<her>::type == her
-// inherit<her,my>::type == struct unspecified : her, my {};
-// inherit<empty_base,her>::type == her
-// inherit<empty_base,her,empty_base,empty_base>::type == her
-// inherit<her,empty_base,my>::type == struct unspecified : her, my {};
-// inherit<empty_base,empty_base>::type == empty_base
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(T1)
- , typename BOOST_MPL_AUX_NA_PARAM(T2)
- >
-struct inherit2
- : T1, T2
-{
- typedef inherit2 type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1,T2))
-};
-
-template< typename T1 >
-struct inherit2<T1,empty_base>
-{
- typedef T1 type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1,empty_base))
-};
-
-template< typename T2 >
-struct inherit2<empty_base,T2>
-{
- typedef T2 type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base,T2))
-};
-
-// needed to disambiguate the previous two in case when both
-// T1 and T2 == empty_base
-template<>
-struct inherit2<empty_base,empty_base>
-{
- typedef empty_base type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base,empty_base))
-};
-
-#else
-
-namespace aux {
-
-template< bool C1, bool C2 >
-struct inherit2_impl
-{
- template< typename Derived, typename T1, typename T2 > struct result_
- : T1, T2
- {
- typedef Derived type_;
- };
-};
-
-template<>
-struct inherit2_impl<false,true>
-{
- template< typename Derived, typename T1, typename T2 > struct result_
- : T1
- {
- typedef T1 type_;
- };
-};
-
-template<>
-struct inherit2_impl<true,false>
-{
- template< typename Derived, typename T1, typename T2 > struct result_
- : T2
- {
- typedef T2 type_;
- };
-};
-
-template<>
-struct inherit2_impl<true,true>
-{
- template< typename Derived, typename T1, typename T2 > struct result_
- {
- typedef T1 type_;
- };
-};
-
-} // namespace aux
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(T1)
- , typename BOOST_MPL_AUX_NA_PARAM(T2)
- >
-struct inherit2
- : aux::inherit2_impl<
- is_empty_base<T1>::value
- , is_empty_base<T2>::value
- >::template result_< inherit2<T1,T2>,T1,T2 >
-{
- typedef typename inherit2::type_ type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1,T2))
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-BOOST_MPL_AUX_NA_SPEC(2, inherit2)
-
-#define BOOST_PP_ITERATION_PARAMS_1 \
- (3,(3, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, <boost/mpl/inherit.hpp>))
-#include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_INHERIT_HPP_INCLUDED
-
-///// iteration
-
-#else
-#define n_ BOOST_PP_FRAME_ITERATION(1)
-
-template<
- BOOST_MPL_PP_DEFAULT_PARAMS(n_, typename T, na)
- >
-struct BOOST_PP_CAT(inherit,n_)
- : inherit2<
- typename BOOST_PP_CAT(inherit,BOOST_PP_DEC(n_))<
- BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(n_), T)
- >::type
- , BOOST_PP_CAT(T,n_)
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- n_
- , BOOST_PP_CAT(inherit,n_)
- , (BOOST_MPL_PP_PARAMS(n_, T))
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC(n_, BOOST_PP_CAT(inherit,n_))
-
-#if n_ == BOOST_MPL_LIMIT_METAFUNCTION_ARITY
-/// primary template
-template<
- BOOST_MPL_PP_DEFAULT_PARAMS(n_, typename T, empty_base)
- >
-struct inherit
- : BOOST_PP_CAT(inherit,n_)<BOOST_MPL_PP_PARAMS(n_, T)>
-{
-};
-
-// 'na' specialization
-template<>
-struct inherit< BOOST_MPL_PP_ENUM(5, na) >
-{
- template<
-#if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
- BOOST_MPL_PP_DEFAULT_PARAMS(n_, typename T, empty_base)
-#else
- BOOST_MPL_PP_PARAMS(n_, typename T)
-#endif
- >
- struct apply
- : inherit< BOOST_MPL_PP_PARAMS(n_, T) >
- {
- };
-};
-
-BOOST_MPL_AUX_NA_SPEC_LAMBDA(n_, inherit)
-BOOST_MPL_AUX_NA_SPEC_ARITY(n_, inherit)
-BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(n_, n_, inherit)
-#endif
-
-#undef n_
-#endif // BOOST_PP_IS_ITERATING
diff --git a/boost/mpl/inserter.hpp b/boost/mpl/inserter.hpp
deleted file mode 100644
index 0c014d1..0000000
--- a/boost/mpl/inserter.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-
-#ifndef BOOST_MPL_INSERTER_HPP_INCLUDED
-#define BOOST_MPL_INSERTER_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: inserter.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-namespace boost { namespace mpl {
-
-template<
- typename Sequence
- , typename Operation
- >
-struct inserter
-{
- typedef Sequence state;
- typedef Operation operation;
-};
-
-}}
-
-#endif // BOOST_MPL_INSERTER_HPP_INCLUDED
diff --git a/boost/mpl/int.hpp b/boost/mpl/int.hpp
deleted file mode 100644
index 14db548..0000000
--- a/boost/mpl/int.hpp
+++ /dev/null
@@ -1,22 +0,0 @@
-
-#ifndef BOOST_MPL_INT_HPP_INCLUDED
-#define BOOST_MPL_INT_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: int.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/int_fwd.hpp>
-
-#define AUX_WRAPPER_VALUE_TYPE int
-#include <boost/mpl/aux_/integral_wrapper.hpp>
-
-#endif // BOOST_MPL_INT_HPP_INCLUDED
diff --git a/boost/mpl/int_fwd.hpp b/boost/mpl/int_fwd.hpp
deleted file mode 100644
index 87b043c..0000000
--- a/boost/mpl/int_fwd.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-
-#ifndef BOOST_MPL_INT_FWD_HPP_INCLUDED
-#define BOOST_MPL_INT_FWD_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: int_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/adl_barrier.hpp>
-#include <boost/mpl/aux_/nttp_decl.hpp>
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-
-template< BOOST_MPL_AUX_NTTP_DECL(int, N) > struct int_;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-BOOST_MPL_AUX_ADL_BARRIER_DECL(int_)
-
-#endif // BOOST_MPL_INT_FWD_HPP_INCLUDED
diff --git a/boost/mpl/integral_c.hpp b/boost/mpl/integral_c.hpp
deleted file mode 100644
index e270dc5..0000000
--- a/boost/mpl/integral_c.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-
-#ifndef BOOST_MPL_INTEGRAL_C_HPP_INCLUDED
-#define BOOST_MPL_INTEGRAL_C_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 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)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: integral_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/integral_c_fwd.hpp>
-#include <boost/mpl/aux_/config/ctps.hpp>
-#include <boost/mpl/aux_/config/static_constant.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#if BOOST_WORKAROUND(__HP_aCC, <= 53800)
-// the type of non-type template arguments may not depend on template arguments
-# define AUX_WRAPPER_PARAMS(N) typename T, long N
-#else
-# define AUX_WRAPPER_PARAMS(N) typename T, T N
-#endif
-
-#define AUX_WRAPPER_NAME integral_c
-#define AUX_WRAPPER_VALUE_TYPE T
-#define AUX_WRAPPER_INST(value) AUX_WRAPPER_NAME< T, value >
-#include <boost/mpl/aux_/integral_wrapper.hpp>
-
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
- && !BOOST_WORKAROUND(__BORLANDC__, <= 0x551)
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-// 'bool' constant doesn't have 'next'/'prior' members
-template< bool C >
-struct integral_c<bool, C>
-{
- BOOST_STATIC_CONSTANT(bool, value = C);
- typedef integral_c_tag tag;
- typedef integral_c type;
- typedef bool value_type;
- operator bool() const { return this->value; }
-};
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-#endif
-
-#endif // BOOST_MPL_INTEGRAL_C_HPP_INCLUDED
diff --git a/boost/mpl/integral_c_fwd.hpp b/boost/mpl/integral_c_fwd.hpp
deleted file mode 100644
index 7fcbfd5..0000000
--- a/boost/mpl/integral_c_fwd.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-
-#ifndef BOOST_MPL_INTEGRAL_C_FWD_HPP_INCLUDED
-#define BOOST_MPL_INTEGRAL_C_FWD_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 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)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: integral_c_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/workaround.hpp>
-#include <boost/mpl/aux_/adl_barrier.hpp>
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-
-#if BOOST_WORKAROUND(__HP_aCC, <= 53800)
-// the type of non-type template arguments may not depend on template arguments
-template< typename T, long N > struct integral_c;
-#else
-template< typename T, T N > struct integral_c;
-#endif
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-BOOST_MPL_AUX_ADL_BARRIER_DECL(integral_c)
-
-#endif // BOOST_MPL_INTEGRAL_C_FWD_HPP_INCLUDED
diff --git a/boost/mpl/integral_c_tag.hpp b/boost/mpl/integral_c_tag.hpp
deleted file mode 100644
index 27da563..0000000
--- a/boost/mpl/integral_c_tag.hpp
+++ /dev/null
@@ -1,26 +0,0 @@
-
-#ifndef BOOST_MPL_INTEGRAL_C_TAG_HPP_INCLUDED
-#define BOOST_MPL_INTEGRAL_C_TAG_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 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: integral_c_tag.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-
-#include <boost/mpl/aux_/adl_barrier.hpp>
-#include <boost/mpl/aux_/config/static_constant.hpp>
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-struct integral_c_tag { BOOST_STATIC_CONSTANT(int, value = 0); };
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-BOOST_MPL_AUX_ADL_BARRIER_DECL(integral_c_tag)
-
-#endif // BOOST_MPL_INTEGRAL_C_TAG_HPP_INCLUDED
diff --git a/boost/mpl/is_placeholder.hpp b/boost/mpl/is_placeholder.hpp
deleted file mode 100644
index 565df89..0000000
--- a/boost/mpl/is_placeholder.hpp
+++ /dev/null
@@ -1,67 +0,0 @@
-
-#ifndef BOOST_MPL_IS_PLACEHOLDER_HPP_INCLUDED
-#define BOOST_MPL_IS_PLACEHOLDER_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-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: is_placeholder.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/arg_fwd.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/aux_/yes_no.hpp>
-#include <boost/mpl/aux_/type_wrapper.hpp>
-#include <boost/mpl/aux_/nttp_decl.hpp>
-#include <boost/mpl/aux_/config/ctps.hpp>
-#include <boost/mpl/aux_/config/static_constant.hpp>
-
-namespace boost { namespace mpl {
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template< typename T >
-struct is_placeholder
- : bool_<false>
-{
-};
-
-template< BOOST_MPL_AUX_NTTP_DECL(int, N) >
-struct is_placeholder< arg<N> >
- : bool_<true>
-{
-};
-
-#else
-
-namespace aux {
-
-aux::no_tag is_placeholder_helper(...);
-
-template< BOOST_MPL_AUX_NTTP_DECL(int, N) >
-aux::yes_tag is_placeholder_helper(aux::type_wrapper< arg<N> >*);
-
-} // namespace aux
-
-template< typename T >
-struct is_placeholder
-{
- static aux::type_wrapper<T>* get();
- BOOST_STATIC_CONSTANT(bool, value =
- sizeof(aux::is_placeholder_helper(get())) == sizeof(aux::yes_tag)
- );
-
- typedef bool_<value> type;
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-}}
-
-#endif // BOOST_MPL_IS_PLACEHOLDER_HPP_INCLUDED
diff --git a/boost/mpl/is_sequence.hpp b/boost/mpl/is_sequence.hpp
deleted file mode 100644
index 4e61fcf..0000000
--- a/boost/mpl/is_sequence.hpp
+++ /dev/null
@@ -1,112 +0,0 @@
-
-#ifndef BOOST_MPL_IS_SEQUENCE_HPP_INCLUDED
-#define BOOST_MPL_IS_SEQUENCE_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: is_sequence.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/not.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/begin_end.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/sequence_tag_fwd.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/void.hpp>
-#include <boost/mpl/aux_/has_tag.hpp>
-#include <boost/mpl/aux_/has_begin.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-#include <boost/mpl/aux_/config/eti.hpp>
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-# include <boost/mpl/aux_/msvc_is_class.hpp>
-#elif BOOST_WORKAROUND(BOOST_MSVC, == 1300)
-# include <boost/type_traits/is_class.hpp>
-#endif
-
-#include <boost/type_traits/is_same.hpp>
-
-namespace boost { namespace mpl {
-
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
-
-namespace aux {
-
-// agurt, 11/jun/03:
-// MSVC 6.5/7.0 fails if 'has_begin' is instantiated on a class type that has a
-// 'begin' member that doesn't name a type; e.g. 'has_begin< std::vector<int> >'
-// would fail; requiring 'T' to have _both_ 'tag' and 'begin' members workarounds
-// the issue for most real-world cases
-template< typename T > struct is_sequence_impl
- : and_<
- identity< aux::has_tag<T> >
- , identity< aux::has_begin<T> >
- >
-{
-};
-
-} // namespace aux
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(T)
- >
-struct is_sequence
- : if_<
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
- aux::msvc_is_class<T>
-#else
- boost::is_class<T>
-#endif
- , aux::is_sequence_impl<T>
- , bool_<false>
- >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(1, is_sequence, (T))
-};
-
-#elif defined(BOOST_MPL_CFG_NO_HAS_XXX)
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(T)
- >
-struct is_sequence
- : bool_<false>
-{
-};
-
-#else
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(T)
- >
-struct is_sequence
- : not_< is_same< typename begin<T>::type, void_ > >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(1, is_sequence, (T))
-};
-
-#endif // BOOST_MSVC
-
-#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG)
-template<> struct is_sequence<int>
- : bool_<false>
-{
-};
-#endif
-
-BOOST_MPL_AUX_NA_SPEC_NO_ETI(1, is_sequence)
-
-}}
-
-#endif // BOOST_MPL_IS_SEQUENCE_HPP_INCLUDED
diff --git a/boost/mpl/iter_fold.hpp b/boost/mpl/iter_fold.hpp
deleted file mode 100644
index 1b52dd4..0000000
--- a/boost/mpl/iter_fold.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-
-#ifndef BOOST_MPL_ITER_FOLD_HPP_INCLUDED
-#define BOOST_MPL_ITER_FOLD_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright David Abrahams 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/mpl for documentation.
-
-// $Id: iter_fold.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/begin_end.hpp>
-#include <boost/mpl/O1_size.hpp>
-#include <boost/mpl/lambda.hpp>
-#include <boost/mpl/aux_/iter_fold_impl.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-namespace boost { namespace mpl {
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(Sequence)
- , typename BOOST_MPL_AUX_NA_PARAM(State)
- , typename BOOST_MPL_AUX_NA_PARAM(ForwardOp)
- >
-struct iter_fold
-{
- typedef typename aux::iter_fold_impl<
- ::boost::mpl::O1_size<Sequence>::value
- , typename begin<Sequence>::type
- , typename end<Sequence>::type
- , State
- , typename lambda<ForwardOp>::type
- >::state type;
-
- BOOST_MPL_AUX_LAMBDA_SUPPORT(3,iter_fold,(Sequence,State,ForwardOp))
-};
-
-BOOST_MPL_AUX_NA_SPEC(3, iter_fold)
-
-}}
-
-#endif // BOOST_MPL_ITER_FOLD_HPP_INCLUDED
diff --git a/boost/mpl/iter_fold_if.hpp b/boost/mpl/iter_fold_if.hpp
deleted file mode 100644
index 01847ef..0000000
--- a/boost/mpl/iter_fold_if.hpp
+++ /dev/null
@@ -1,117 +0,0 @@
-
-#ifndef BOOST_MPL_ITER_FOLD_IF_HPP_INCLUDED
-#define BOOST_MPL_ITER_FOLD_IF_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2003-2004
-// Copyright Eric Friedman 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/mpl for documentation.
-
-// $Id: iter_fold_if.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/begin_end.hpp>
-#include <boost/mpl/logical.hpp>
-#include <boost/mpl/always.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/pair.hpp>
-#include <boost/mpl/apply.hpp>
-#include <boost/mpl/aux_/iter_fold_if_impl.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-#include <boost/mpl/aux_/config/forwarding.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#include <boost/type_traits/is_same.hpp>
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< typename Predicate, typename LastIterator >
-struct iter_fold_if_pred
-{
- template< typename State, typename Iterator > struct apply
-#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)
- : and_<
- not_< is_same<Iterator,LastIterator> >
- , apply1<Predicate,Iterator>
- >
- {
-#else
- {
- typedef and_<
- not_< is_same<Iterator,LastIterator> >
- , apply1<Predicate,Iterator>
- > type;
-#endif
- };
-};
-
-} // namespace aux
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(Sequence)
- , typename BOOST_MPL_AUX_NA_PARAM(State)
- , typename BOOST_MPL_AUX_NA_PARAM(ForwardOp)
- , typename BOOST_MPL_AUX_NA_PARAM(ForwardPredicate)
- , typename BOOST_MPL_AUX_NA_PARAM(BackwardOp)
- , typename BOOST_MPL_AUX_NA_PARAM(BackwardPredicate)
- >
-struct iter_fold_if
-{
-
- typedef typename begin<Sequence>::type first_;
- typedef typename end<Sequence>::type last_;
-
- typedef typename eval_if<
- is_na<BackwardPredicate>
- , if_< is_na<BackwardOp>, always<false_>, always<true_> >
- , identity<BackwardPredicate>
- >::type backward_pred_;
-
-// cwpro8 doesn't like 'cut-off' type here (use typedef instead)
-#if !BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003)) && !BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600))
- struct result_ :
-#else
- typedef
-#endif
- aux::iter_fold_if_impl<
- first_
- , State
- , ForwardOp
- , protect< aux::iter_fold_if_pred< ForwardPredicate,last_ > >
- , BackwardOp
- , backward_pred_
- >
-#if !BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003)) && !BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600))
- { };
-#else
- result_;
-#endif
-
-public:
-
- typedef pair<
- typename result_::state
- , typename result_::iterator
- > type;
-
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- 6
- , iter_fold_if
- , (Sequence,State,ForwardOp,ForwardPredicate,BackwardOp,BackwardPredicate)
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC(6, iter_fold_if)
-
-}}
-
-#endif // BOOST_MPL_ITER_FOLD_IF_HPP_INCLUDED
diff --git a/boost/mpl/iterator_range.hpp b/boost/mpl/iterator_range.hpp
deleted file mode 100644
index 995ddc0..0000000
--- a/boost/mpl/iterator_range.hpp
+++ /dev/null
@@ -1,42 +0,0 @@
-
-#ifndef BOOST_MPL_ITERATOR_RANGE_HPP_INCLUDED
-#define BOOST_MPL_ITERATOR_RANGE_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-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: iterator_range.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-namespace boost { namespace mpl {
-
-struct iterator_range_tag;
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(First)
- , typename BOOST_MPL_AUX_NA_PARAM(Last)
- >
-struct iterator_range
-{
- typedef iterator_range_tag tag;
- typedef iterator_range type;
- typedef First begin;
- typedef Last end;
-
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2,iterator_range,(First,Last))
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, iterator_range)
-
-}}
-
-#endif // BOOST_MPL_ITERATOR_RANGE_HPP_INCLUDED
diff --git a/boost/mpl/iterator_tags.hpp b/boost/mpl/iterator_tags.hpp
deleted file mode 100644
index fce2734..0000000
--- a/boost/mpl/iterator_tags.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-
-#ifndef BOOST_MPL_ITERATOR_TAG_HPP_INCLUDED
-#define BOOST_MPL_ITERATOR_TAG_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: iterator_tags.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/int.hpp>
-
-namespace boost { namespace mpl {
-
-struct forward_iterator_tag : int_<0> { typedef forward_iterator_tag type; };
-struct bidirectional_iterator_tag : int_<1> { typedef bidirectional_iterator_tag type; };
-struct random_access_iterator_tag : int_<2> { typedef random_access_iterator_tag type; };
-
-}}
-
-#endif // BOOST_MPL_ITERATOR_TAG_HPP_INCLUDED
diff --git a/boost/mpl/lambda.hpp b/boost/mpl/lambda.hpp
deleted file mode 100644
index 05c2716..0000000
--- a/boost/mpl/lambda.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-
-#ifndef BOOST_MPL_LAMBDA_HPP_INCLUDED
-#define BOOST_MPL_LAMBDA_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-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: lambda.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/lambda_fwd.hpp>
-#include <boost/mpl/bind.hpp>
-#include <boost/mpl/aux_/config/lambda.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)
-# include <boost/mpl/aux_/full_lambda.hpp>
-#else
-# include <boost/mpl/aux_/lambda_no_ctps.hpp>
-# include <boost/mpl/aux_/lambda_support.hpp>
-# define BOOST_MPL_CFG_NO_IMPLICIT_METAFUNCTIONS
-#endif
-
-#endif // BOOST_MPL_LAMBDA_HPP_INCLUDED
diff --git a/boost/mpl/lambda_fwd.hpp b/boost/mpl/lambda_fwd.hpp
deleted file mode 100644
index 16c73e4..0000000
--- a/boost/mpl/lambda_fwd.hpp
+++ /dev/null
@@ -1,57 +0,0 @@
-
-#ifndef BOOST_MPL_LAMBDA_FWD_HPP_INCLUDED
-#define BOOST_MPL_LAMBDA_FWD_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-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: lambda_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/void_fwd.hpp>
-#include <boost/mpl/aux_/na.hpp>
-#include <boost/mpl/aux_/config/lambda.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)
-
-# include <boost/mpl/int.hpp>
-# include <boost/mpl/aux_/lambda_arity_param.hpp>
-# include <boost/mpl/aux_/template_arity_fwd.hpp>
-
-namespace boost { namespace mpl {
-
-template<
- typename T = na
- , typename Tag = void_
- BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(
- typename Arity = int_< aux::template_arity<T>::value >
- )
- >
-struct lambda;
-
-}}
-
-#else // BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT
-
-# include <boost/mpl/bool.hpp>
-
-namespace boost { namespace mpl {
-
-template<
- typename T = na
- , typename Tag = void_
- , typename Protect = true_
- >
-struct lambda;
-
-}}
-
-#endif
-
-#endif // BOOST_MPL_LAMBDA_FWD_HPP_INCLUDED
diff --git a/boost/mpl/less.hpp b/boost/mpl/less.hpp
deleted file mode 100644
index 33a570c..0000000
--- a/boost/mpl/less.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#ifndef BOOST_MPL_LESS_HPP_INCLUDED
-#define BOOST_MPL_LESS_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: less.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#define AUX778076_OP_NAME less
-#define AUX778076_OP_TOKEN <
-#include <boost/mpl/aux_/comparison_op.hpp>
-
-#endif // BOOST_MPL_LESS_HPP_INCLUDED
diff --git a/boost/mpl/less_equal.hpp b/boost/mpl/less_equal.hpp
deleted file mode 100644
index 8b9a4ff..0000000
--- a/boost/mpl/less_equal.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#ifndef BOOST_MPL_LESS_EQUAL_HPP_INCLUDED
-#define BOOST_MPL_LESS_EQUAL_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: less_equal.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#define AUX778076_OP_NAME less_equal
-#define AUX778076_OP_TOKEN <=
-#include <boost/mpl/aux_/comparison_op.hpp>
-
-#endif // BOOST_MPL_LESS_EQUAL_HPP_INCLUDED
diff --git a/boost/mpl/limits/arity.hpp b/boost/mpl/limits/arity.hpp
deleted file mode 100644
index 9da70ab..0000000
--- a/boost/mpl/limits/arity.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#ifndef BOOST_MPL_LIMITS_ARITY_HPP_INCLUDED
-#define BOOST_MPL_LIMITS_ARITY_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: arity.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_LIMIT_METAFUNCTION_ARITY)
-# define BOOST_MPL_LIMIT_METAFUNCTION_ARITY 5
-#endif
-
-#endif // BOOST_MPL_LIMITS_ARITY_HPP_INCLUDED
diff --git a/boost/mpl/limits/list.hpp b/boost/mpl/limits/list.hpp
deleted file mode 100644
index 6ae7387..0000000
--- a/boost/mpl/limits/list.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#ifndef BOOST_MPL_LIMITS_LIST_HPP_INCLUDED
-#define BOOST_MPL_LIMITS_LIST_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: list.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_LIMIT_LIST_SIZE)
-# define BOOST_MPL_LIMIT_LIST_SIZE 20
-#endif
-
-#endif // BOOST_MPL_LIMITS_LIST_HPP_INCLUDED
diff --git a/boost/mpl/limits/unrolling.hpp b/boost/mpl/limits/unrolling.hpp
deleted file mode 100644
index 3914f0a..0000000
--- a/boost/mpl/limits/unrolling.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#ifndef BOOST_MPL_LIMITS_UNROLLING_HPP_INCLUDED
-#define BOOST_MPL_LIMITS_UNROLLING_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: unrolling.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_LIMIT_UNROLLING)
-# define BOOST_MPL_LIMIT_UNROLLING 4
-#endif
-
-#endif // BOOST_MPL_LIMITS_UNROLLING_HPP_INCLUDED
diff --git a/boost/mpl/limits/vector.hpp b/boost/mpl/limits/vector.hpp
deleted file mode 100644
index 5de3811..0000000
--- a/boost/mpl/limits/vector.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#ifndef BOOST_MPL_LIMITS_VECTOR_HPP_INCLUDED
-#define BOOST_MPL_LIMITS_VECTOR_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: vector.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_LIMIT_VECTOR_SIZE)
-# define BOOST_MPL_LIMIT_VECTOR_SIZE 20
-#endif
-
-#endif // BOOST_MPL_LIMITS_VECTOR_HPP_INCLUDED
diff --git a/boost/mpl/list.hpp b/boost/mpl/list.hpp
deleted file mode 100644
index 6d96831..0000000
--- a/boost/mpl/list.hpp
+++ /dev/null
@@ -1,57 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_HPP_INCLUDED
-#define BOOST_MPL_LIST_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: list.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-# include <boost/mpl/limits/list.hpp>
-# include <boost/mpl/aux_/na.hpp>
-# include <boost/mpl/aux_/config/preprocessor.hpp>
-
-# include <boost/preprocessor/inc.hpp>
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/stringize.hpp>
-
-#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING)
-# define AUX778076_LIST_HEADER \
- BOOST_PP_CAT(list,BOOST_MPL_LIMIT_LIST_SIZE).hpp \
- /**/
-#else
-# define AUX778076_LIST_HEADER \
- BOOST_PP_CAT(list,BOOST_MPL_LIMIT_LIST_SIZE)##.hpp \
- /**/
-#endif
-
-# include BOOST_PP_STRINGIZE(boost/mpl/list/AUX778076_LIST_HEADER)
-# undef AUX778076_LIST_HEADER
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-# define BOOST_MPL_PREPROCESSED_HEADER list.hpp
-# include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-# include <boost/mpl/limits/list.hpp>
-
-# define AUX778076_SEQUENCE_NAME list
-# define AUX778076_SEQUENCE_LIMIT BOOST_MPL_LIMIT_LIST_SIZE
-# include <boost/mpl/aux_/sequence_wrapper.hpp>
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_LIST_HPP_INCLUDED
diff --git a/boost/mpl/list/aux_/O1_size.hpp b/boost/mpl/list/aux_/O1_size.hpp
deleted file mode 100644
index 0d93dab..0000000
--- a/boost/mpl/list/aux_/O1_size.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_AUX_O1_SIZE_HPP_INCLUDED
-#define BOOST_MPL_LIST_AUX_O1_SIZE_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: O1_size.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/O1_size_fwd.hpp>
-#include <boost/mpl/list/aux_/tag.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct O1_size_impl< aux::list_tag >
-{
- template< typename List > struct apply
- : List::size
- {
- };
-};
-
-}}
-
-#endif // BOOST_MPL_LIST_AUX_O1_SIZE_HPP_INCLUDED
diff --git a/boost/mpl/list/aux_/begin_end.hpp b/boost/mpl/list/aux_/begin_end.hpp
deleted file mode 100644
index 7fbddad..0000000
--- a/boost/mpl/list/aux_/begin_end.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_AUX_BEGIN_END_HPP_INCLUDED
-#define BOOST_MPL_LIST_AUX_BEGIN_END_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: begin_end.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/begin_end_fwd.hpp>
-#include <boost/mpl/list/aux_/iterator.hpp>
-#include <boost/mpl/list/aux_/tag.hpp>
-#include <boost/mpl/list/aux_/item.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct begin_impl< aux::list_tag >
-{
- template< typename List > struct apply
- {
- typedef l_iter<typename List::type> type;
- };
-};
-
-template<>
-struct end_impl< aux::list_tag >
-{
- template< typename > struct apply
- {
- typedef l_iter<l_end> type;
- };
-};
-
-}}
-
-#endif // BOOST_MPL_LIST_AUX_BEGIN_END_HPP_INCLUDED
diff --git a/boost/mpl/list/aux_/clear.hpp b/boost/mpl/list/aux_/clear.hpp
deleted file mode 100644
index 3deafe7..0000000
--- a/boost/mpl/list/aux_/clear.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_AUX_CLEAR_HPP_INCLUDED
-#define BOOST_MPL_LIST_AUX_CLEAR_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: clear.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/clear_fwd.hpp>
-#include <boost/mpl/list/aux_/item.hpp>
-#include <boost/mpl/list/aux_/tag.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct clear_impl< aux::list_tag >
-{
- template< typename List > struct apply
- {
- typedef l_end type;
- };
-};
-
-}}
-
-#endif // BOOST_MPL_LIST_AUX_CLEAR_HPP_INCLUDED
diff --git a/boost/mpl/list/aux_/empty.hpp b/boost/mpl/list/aux_/empty.hpp
deleted file mode 100644
index c282cfe..0000000
--- a/boost/mpl/list/aux_/empty.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_AUX_EMPTY_HPP_INCLUDED
-#define BOOST_MPL_LIST_AUX_EMPTY_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: empty.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/empty_fwd.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/mpl/list/aux_/tag.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct empty_impl< aux::list_tag >
-{
- template< typename List > struct apply
- : not_<typename List::size>
- {
- };
-};
-
-}}
-
-#endif // BOOST_MPL_LIST_AUX_EMPTY_HPP_INCLUDED
diff --git a/boost/mpl/list/aux_/front.hpp b/boost/mpl/list/aux_/front.hpp
deleted file mode 100644
index eb0b689..0000000
--- a/boost/mpl/list/aux_/front.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_AUX_FRONT_HPP_INCLUDED
-#define BOOST_MPL_LIST_AUX_FRONT_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: front.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/front_fwd.hpp>
-#include <boost/mpl/list/aux_/tag.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct front_impl< aux::list_tag >
-{
- template< typename List > struct apply
- {
- typedef typename List::item type;
- };
-};
-
-}}
-
-#endif // BOOST_MPL_LIST_AUX_FRONT_HPP_INCLUDED
diff --git a/boost/mpl/list/aux_/include_preprocessed.hpp b/boost/mpl/list/aux_/include_preprocessed.hpp
deleted file mode 100644
index 4e7f6e4..0000000
--- a/boost/mpl/list/aux_/include_preprocessed.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-
-// Copyright Aleksey Gurtovoy 2001-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/libs/mpl for documentation.
-
-// $Id: include_preprocessed.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION!
-
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/stringize.hpp>
-
-# define AUX778076_HEADER \
- aux_/preprocessed/plain/BOOST_MPL_PREPROCESSED_HEADER \
-/**/
-
-#if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(700))
-# define AUX778076_INCLUDE_STRING BOOST_PP_STRINGIZE(boost/mpl/list/AUX778076_HEADER)
-# include AUX778076_INCLUDE_STRING
-# undef AUX778076_INCLUDE_STRING
-#else
-# include BOOST_PP_STRINGIZE(boost/mpl/list/AUX778076_HEADER)
-#endif
-
-# undef AUX778076_HEADER
-
-#undef BOOST_MPL_PREPROCESSED_HEADER
diff --git a/boost/mpl/list/aux_/item.hpp b/boost/mpl/list/aux_/item.hpp
deleted file mode 100644
index 24b5e40..0000000
--- a/boost/mpl/list/aux_/item.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_AUX_NODE_HPP_INCLUDED
-#define BOOST_MPL_LIST_AUX_NODE_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: item.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/long.hpp>
-#include <boost/mpl/list/aux_/tag.hpp>
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-namespace boost { namespace mpl {
-
-template<
- typename Size
- , typename T
- , typename Next
- >
-struct l_item
-{
-// agurt, 17/jul/03: to facilitate the deficient 'is_sequence' implementation
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
- typedef int begin;
-#endif
- typedef aux::list_tag tag;
- typedef l_item type;
-
- typedef Size size;
- typedef T item;
- typedef Next next;
-};
-
-struct l_end
-{
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
- typedef int begin;
-#endif
- typedef aux::list_tag tag;
- typedef l_end type;
- typedef long_<0> size;
-};
-
-}}
-
-#endif // BOOST_MPL_LIST_AUX_NODE_HPP_INCLUDED
diff --git a/boost/mpl/list/aux_/iterator.hpp b/boost/mpl/list/aux_/iterator.hpp
deleted file mode 100644
index 4d0431f..0000000
--- a/boost/mpl/list/aux_/iterator.hpp
+++ /dev/null
@@ -1,76 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_AUX_ITERATOR_HPP_INCLUDED
-#define BOOST_MPL_LIST_AUX_ITERATOR_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: iterator.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/iterator_tags.hpp>
-#include <boost/mpl/next_prior.hpp>
-#include <boost/mpl/deref.hpp>
-#include <boost/mpl/list/aux_/item.hpp>
-#include <boost/mpl/aux_/na.hpp>
-#include <boost/mpl/aux_/lambda_spec.hpp>
-#include <boost/mpl/aux_/config/ctps.hpp>
-
-namespace boost { namespace mpl {
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template< typename Node >
-struct l_iter
-{
- typedef aux::l_iter_tag tag;
- typedef forward_iterator_tag category;
-};
-
-template< typename Node >
-struct deref< l_iter<Node> >
-{
- typedef typename Node::item type;
-};
-
-template< typename Node >
-struct next< l_iter<Node> >
-{
- typedef l_iter< typename Node::next > type;
-};
-
-#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-template< typename Node >
-struct l_iter
-{
- typedef aux::l_iter_tag tag;
- typedef forward_iterator_tag category;
- typedef typename Node::item type;
- typedef l_iter< typename mpl::next<Node>::type > next;
-};
-
-#endif
-
-
-template<> struct l_iter<l_end>
-{
- typedef aux::l_iter_tag tag;
- typedef forward_iterator_tag category;
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
- typedef na type;
- typedef l_iter next;
-#endif
-};
-
-BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, l_iter)
-
-}}
-
-#endif // BOOST_MPL_LIST_AUX_ITERATOR_HPP_INCLUDED
diff --git a/boost/mpl/list/aux_/numbered.hpp b/boost/mpl/list/aux_/numbered.hpp
deleted file mode 100644
index 7b661e5..0000000
--- a/boost/mpl/list/aux_/numbered.hpp
+++ /dev/null
@@ -1,68 +0,0 @@
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
-
-// Copyright Peter Dimov 2000-2002
-// 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: numbered.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if defined(BOOST_PP_IS_ITERATING)
-
-#include <boost/preprocessor/enum_params.hpp>
-#include <boost/preprocessor/enum_shifted_params.hpp>
-#include <boost/preprocessor/dec.hpp>
-#include <boost/preprocessor/cat.hpp>
-
-#define i BOOST_PP_FRAME_ITERATION(1)
-
-#if i == 1
-
-template<
- BOOST_PP_ENUM_PARAMS(i, typename T)
- >
-struct list1
- : l_item<
- long_<1>
- , T0
- , l_end
- >
-{
- typedef list1 type;
-};
-
-#else
-
-# define MPL_AUX_LIST_TAIL(list, i, T) \
- BOOST_PP_CAT(list,BOOST_PP_DEC(i))< \
- BOOST_PP_ENUM_SHIFTED_PARAMS(i, T) \
- > \
- /**/
-
-template<
- BOOST_PP_ENUM_PARAMS(i, typename T)
- >
-struct BOOST_PP_CAT(list,i)
- : l_item<
- long_<i>
- , T0
- , MPL_AUX_LIST_TAIL(list,i,T)
- >
-{
- typedef BOOST_PP_CAT(list,i) type;
-};
-
-# undef MPL_AUX_LIST_TAIL
-
-#endif // i == 1
-
-#undef i
-
-#endif // BOOST_PP_IS_ITERATING
diff --git a/boost/mpl/list/aux_/numbered_c.hpp b/boost/mpl/list/aux_/numbered_c.hpp
deleted file mode 100644
index 0c8e9f6..0000000
--- a/boost/mpl/list/aux_/numbered_c.hpp
+++ /dev/null
@@ -1,71 +0,0 @@
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
-
-// 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: numbered_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if defined(BOOST_PP_IS_ITERATING)
-
-#include <boost/preprocessor/enum_params.hpp>
-#include <boost/preprocessor/enum_shifted_params.hpp>
-#include <boost/preprocessor/dec.hpp>
-#include <boost/preprocessor/cat.hpp>
-
-#define i BOOST_PP_FRAME_ITERATION(1)
-
-#if i == 1
-
-template<
- typename T
- , BOOST_PP_ENUM_PARAMS(i, T C)
- >
-struct list1_c
- : l_item<
- long_<1>
- , integral_c<T,C0>
- , l_end
- >
-{
- typedef list1_c type;
- typedef T value_type;
-};
-
-#else
-
-# define MPL_AUX_LIST_C_TAIL(list, i, C) \
- BOOST_PP_CAT(BOOST_PP_CAT(list,BOOST_PP_DEC(i)),_c)<T, \
- BOOST_PP_ENUM_SHIFTED_PARAMS(i, C) \
- > \
- /**/
-
-template<
- typename T
- , BOOST_PP_ENUM_PARAMS(i, T C)
- >
-struct BOOST_PP_CAT(BOOST_PP_CAT(list,i),_c)
- : l_item<
- long_<i>
- , integral_c<T,C0>
- , MPL_AUX_LIST_C_TAIL(list,i,C)
- >
-{
- typedef BOOST_PP_CAT(BOOST_PP_CAT(list,i),_c) type;
- typedef T value_type;
-};
-
-# undef MPL_AUX_LIST_C_TAIL
-
-#endif // i == 1
-
-#undef i
-
-#endif // BOOST_PP_IS_ITERATING
diff --git a/boost/mpl/list/aux_/pop_front.hpp b/boost/mpl/list/aux_/pop_front.hpp
deleted file mode 100644
index 9c72228..0000000
--- a/boost/mpl/list/aux_/pop_front.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_AUX_POP_FRONT_HPP_INCLUDED
-#define BOOST_MPL_LIST_AUX_POP_FRONT_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: pop_front.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/pop_front_fwd.hpp>
-#include <boost/mpl/next_prior.hpp>
-#include <boost/mpl/list/aux_/tag.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct pop_front_impl< aux::list_tag >
-{
- template< typename List > struct apply
- {
- typedef typename mpl::next<List>::type type;
- };
-};
-
-}}
-
-#endif // BOOST_MPL_LIST_AUX_POP_FRONT_HPP_INCLUDED
diff --git a/boost/mpl/list/aux_/preprocessed/plain/list10.hpp b/boost/mpl/list/aux_/preprocessed/plain/list10.hpp
deleted file mode 100644
index 99368d2..0000000
--- a/boost/mpl/list/aux_/preprocessed/plain/list10.hpp
+++ /dev/null
@@ -1,149 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/list/list10.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0
- >
-struct list1
- : l_item<
- long_<1>
- , T0
- , l_end
- >
-{
- typedef list1 type;
-};
-
-template<
- typename T0, typename T1
- >
-struct list2
- : l_item<
- long_<2>
- , T0
- , list1<T1>
- >
-{
- typedef list2 type;
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct list3
- : l_item<
- long_<3>
- , T0
- , list2< T1,T2 >
- >
-{
- typedef list3 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct list4
- : l_item<
- long_<4>
- , T0
- , list3< T1,T2,T3 >
- >
-{
- typedef list4 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct list5
- : l_item<
- long_<5>
- , T0
- , list4< T1,T2,T3,T4 >
- >
-{
- typedef list5 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct list6
- : l_item<
- long_<6>
- , T0
- , list5< T1,T2,T3,T4,T5 >
- >
-{
- typedef list6 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct list7
- : l_item<
- long_<7>
- , T0
- , list6< T1,T2,T3,T4,T5,T6 >
- >
-{
- typedef list7 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct list8
- : l_item<
- long_<8>
- , T0
- , list7< T1,T2,T3,T4,T5,T6,T7 >
- >
-{
- typedef list8 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct list9
- : l_item<
- long_<9>
- , T0
- , list8< T1,T2,T3,T4,T5,T6,T7,T8 >
- >
-{
- typedef list9 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct list10
- : l_item<
- long_<10>
- , T0
- , list9< T1,T2,T3,T4,T5,T6,T7,T8,T9 >
- >
-{
- typedef list10 type;
-};
-
-}}
diff --git a/boost/mpl/list/aux_/preprocessed/plain/list10_c.hpp b/boost/mpl/list/aux_/preprocessed/plain/list10_c.hpp
deleted file mode 100644
index 7133d71..0000000
--- a/boost/mpl/list/aux_/preprocessed/plain/list10_c.hpp
+++ /dev/null
@@ -1,164 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/list/list10_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T
- , T C0
- >
-struct list1_c
- : l_item<
- long_<1>
- , integral_c< T,C0 >
- , l_end
- >
-{
- typedef list1_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1
- >
-struct list2_c
- : l_item<
- long_<2>
- , integral_c< T,C0 >
- , list1_c< T,C1 >
- >
-{
- typedef list2_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2
- >
-struct list3_c
- : l_item<
- long_<3>
- , integral_c< T,C0 >
- , list2_c< T,C1,C2 >
- >
-{
- typedef list3_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3
- >
-struct list4_c
- : l_item<
- long_<4>
- , integral_c< T,C0 >
- , list3_c< T,C1,C2,C3 >
- >
-{
- typedef list4_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4
- >
-struct list5_c
- : l_item<
- long_<5>
- , integral_c< T,C0 >
- , list4_c< T,C1,C2,C3,C4 >
- >
-{
- typedef list5_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5
- >
-struct list6_c
- : l_item<
- long_<6>
- , integral_c< T,C0 >
- , list5_c< T,C1,C2,C3,C4,C5 >
- >
-{
- typedef list6_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6
- >
-struct list7_c
- : l_item<
- long_<7>
- , integral_c< T,C0 >
- , list6_c< T,C1,C2,C3,C4,C5,C6 >
- >
-{
- typedef list7_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7
- >
-struct list8_c
- : l_item<
- long_<8>
- , integral_c< T,C0 >
- , list7_c< T,C1,C2,C3,C4,C5,C6,C7 >
- >
-{
- typedef list8_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8
- >
-struct list9_c
- : l_item<
- long_<9>
- , integral_c< T,C0 >
- , list8_c< T,C1,C2,C3,C4,C5,C6,C7,C8 >
- >
-{
- typedef list9_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9
- >
-struct list10_c
- : l_item<
- long_<10>
- , integral_c< T,C0 >
- , list9_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9 >
- >
-{
- typedef list10_c type;
- typedef T value_type;
-};
-
-}}
diff --git a/boost/mpl/list/aux_/preprocessed/plain/list20.hpp b/boost/mpl/list/aux_/preprocessed/plain/list20.hpp
deleted file mode 100644
index 750e495..0000000
--- a/boost/mpl/list/aux_/preprocessed/plain/list20.hpp
+++ /dev/null
@@ -1,169 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/list/list20.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct list11
- : l_item<
- long_<11>
- , T0
- , list10< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
- >
-{
- typedef list11 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct list12
- : l_item<
- long_<12>
- , T0
- , list11< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
- >
-{
- typedef list12 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct list13
- : l_item<
- long_<13>
- , T0
- , list12< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
- >
-{
- typedef list13 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct list14
- : l_item<
- long_<14>
- , T0
- , list13< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
- >
-{
- typedef list14 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct list15
- : l_item<
- long_<15>
- , T0
- , list14< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >
- >
-{
- typedef list15 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct list16
- : l_item<
- long_<16>
- , T0
- , list15< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >
- >
-{
- typedef list16 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct list17
- : l_item<
- long_<17>
- , T0
- , list16< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >
- >
-{
- typedef list17 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct list18
- : l_item<
- long_<18>
- , T0
- , list17< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >
- >
-{
- typedef list18 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct list19
- : l_item<
- long_<19>
- , T0
- , list18< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >
- >
-{
- typedef list19 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct list20
- : l_item<
- long_<20>
- , T0
- , list19< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >
- >
-{
- typedef list20 type;
-};
-
-}}
diff --git a/boost/mpl/list/aux_/preprocessed/plain/list20_c.hpp b/boost/mpl/list/aux_/preprocessed/plain/list20_c.hpp
deleted file mode 100644
index 7f15acf..0000000
--- a/boost/mpl/list/aux_/preprocessed/plain/list20_c.hpp
+++ /dev/null
@@ -1,173 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/list/list20_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- >
-struct list11_c
- : l_item<
- long_<11>
- , integral_c< T,C0 >
- , list10_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >
- >
-{
- typedef list11_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11
- >
-struct list12_c
- : l_item<
- long_<12>
- , integral_c< T,C0 >
- , list11_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >
- >
-{
- typedef list12_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12
- >
-struct list13_c
- : l_item<
- long_<13>
- , integral_c< T,C0 >
- , list12_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >
- >
-{
- typedef list13_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13
- >
-struct list14_c
- : l_item<
- long_<14>
- , integral_c< T,C0 >
- , list13_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >
- >
-{
- typedef list14_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14
- >
-struct list15_c
- : l_item<
- long_<15>
- , integral_c< T,C0 >
- , list14_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >
- >
-{
- typedef list15_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15
- >
-struct list16_c
- : l_item<
- long_<16>
- , integral_c< T,C0 >
- , list15_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >
- >
-{
- typedef list16_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16
- >
-struct list17_c
- : l_item<
- long_<17>
- , integral_c< T,C0 >
- , list16_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >
- >
-{
- typedef list17_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17
- >
-struct list18_c
- : l_item<
- long_<18>
- , integral_c< T,C0 >
- , list17_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >
- >
-{
- typedef list18_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18
- >
-struct list19_c
- : l_item<
- long_<19>
- , integral_c< T,C0 >
- , list18_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >
- >
-{
- typedef list19_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19
- >
-struct list20_c
- : l_item<
- long_<20>
- , integral_c< T,C0 >
- , list19_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >
- >
-{
- typedef list20_c type;
- typedef T value_type;
-};
-
-}}
diff --git a/boost/mpl/list/aux_/preprocessed/plain/list30.hpp b/boost/mpl/list/aux_/preprocessed/plain/list30.hpp
deleted file mode 100644
index 5459101..0000000
--- a/boost/mpl/list/aux_/preprocessed/plain/list30.hpp
+++ /dev/null
@@ -1,189 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/list/list30.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20
- >
-struct list21
- : l_item<
- long_<21>
- , T0
- , list20< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20 >
- >
-{
- typedef list21 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21
- >
-struct list22
- : l_item<
- long_<22>
- , T0
- , list21< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21 >
- >
-{
- typedef list22 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22
- >
-struct list23
- : l_item<
- long_<23>
- , T0
- , list22< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22 >
- >
-{
- typedef list23 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23
- >
-struct list24
- : l_item<
- long_<24>
- , T0
- , list23< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23 >
- >
-{
- typedef list24 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- >
-struct list25
- : l_item<
- long_<25>
- , T0
- , list24< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24 >
- >
-{
- typedef list25 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25
- >
-struct list26
- : l_item<
- long_<26>
- , T0
- , list25< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25 >
- >
-{
- typedef list26 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26
- >
-struct list27
- : l_item<
- long_<27>
- , T0
- , list26< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26 >
- >
-{
- typedef list27 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27
- >
-struct list28
- : l_item<
- long_<28>
- , T0
- , list27< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27 >
- >
-{
- typedef list28 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28
- >
-struct list29
- : l_item<
- long_<29>
- , T0
- , list28< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28 >
- >
-{
- typedef list29 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- >
-struct list30
- : l_item<
- long_<30>
- , T0
- , list29< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29 >
- >
-{
- typedef list30 type;
-};
-
-}}
diff --git a/boost/mpl/list/aux_/preprocessed/plain/list30_c.hpp b/boost/mpl/list/aux_/preprocessed/plain/list30_c.hpp
deleted file mode 100644
index 5393d79..0000000
--- a/boost/mpl/list/aux_/preprocessed/plain/list30_c.hpp
+++ /dev/null
@@ -1,183 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/list/list30_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- >
-struct list21_c
- : l_item<
- long_<21>
- , integral_c< T,C0 >
- , list20_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20 >
- >
-{
- typedef list21_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21
- >
-struct list22_c
- : l_item<
- long_<22>
- , integral_c< T,C0 >
- , list21_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21 >
- >
-{
- typedef list22_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22
- >
-struct list23_c
- : l_item<
- long_<23>
- , integral_c< T,C0 >
- , list22_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22 >
- >
-{
- typedef list23_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23
- >
-struct list24_c
- : l_item<
- long_<24>
- , integral_c< T,C0 >
- , list23_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23 >
- >
-{
- typedef list24_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24
- >
-struct list25_c
- : l_item<
- long_<25>
- , integral_c< T,C0 >
- , list24_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24 >
- >
-{
- typedef list25_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25
- >
-struct list26_c
- : l_item<
- long_<26>
- , integral_c< T,C0 >
- , list25_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25 >
- >
-{
- typedef list26_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26
- >
-struct list27_c
- : l_item<
- long_<27>
- , integral_c< T,C0 >
- , list26_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26 >
- >
-{
- typedef list27_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27
- >
-struct list28_c
- : l_item<
- long_<28>
- , integral_c< T,C0 >
- , list27_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27 >
- >
-{
- typedef list28_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28
- >
-struct list29_c
- : l_item<
- long_<29>
- , integral_c< T,C0 >
- , list28_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28 >
- >
-{
- typedef list29_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29
- >
-struct list30_c
- : l_item<
- long_<30>
- , integral_c< T,C0 >
- , list29_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29 >
- >
-{
- typedef list30_c type;
- typedef T value_type;
-};
-
-}}
diff --git a/boost/mpl/list/aux_/preprocessed/plain/list40.hpp b/boost/mpl/list/aux_/preprocessed/plain/list40.hpp
deleted file mode 100644
index 68c6761..0000000
--- a/boost/mpl/list/aux_/preprocessed/plain/list40.hpp
+++ /dev/null
@@ -1,209 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/list/list40.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30
- >
-struct list31
- : l_item<
- long_<31>
- , T0
- , list30< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30 >
- >
-{
- typedef list31 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31
- >
-struct list32
- : l_item<
- long_<32>
- , T0
- , list31< T1,T2,T3,T4,T5,T6,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 >
- >
-{
- typedef list32 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32
- >
-struct list33
- : l_item<
- long_<33>
- , T0
- , list32< T1,T2,T3,T4,T5,T6,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 >
- >
-{
- typedef list33 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33
- >
-struct list34
- : l_item<
- long_<34>
- , T0
- , list33< T1,T2,T3,T4,T5,T6,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 >
- >
-{
- typedef list34 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- >
-struct list35
- : l_item<
- long_<35>
- , T0
- , list34< T1,T2,T3,T4,T5,T6,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 >
- >
-{
- typedef list35 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35
- >
-struct list36
- : l_item<
- long_<36>
- , T0
- , list35< T1,T2,T3,T4,T5,T6,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 >
- >
-{
- typedef list36 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36
- >
-struct list37
- : l_item<
- long_<37>
- , T0
- , list36< T1,T2,T3,T4,T5,T6,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 >
- >
-{
- typedef list37 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37
- >
-struct list38
- : l_item<
- long_<38>
- , T0
- , list37< T1,T2,T3,T4,T5,T6,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 >
- >
-{
- typedef list38 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37, typename T38
- >
-struct list39
- : l_item<
- long_<39>
- , T0
- , list38< T1,T2,T3,T4,T5,T6,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 >
- >
-{
- typedef list39 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37, typename T38, typename T39
- >
-struct list40
- : l_item<
- long_<40>
- , T0
- , list39< T1,T2,T3,T4,T5,T6,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 >
- >
-{
- typedef list40 type;
-};
-
-}}
diff --git a/boost/mpl/list/aux_/preprocessed/plain/list40_c.hpp b/boost/mpl/list/aux_/preprocessed/plain/list40_c.hpp
deleted file mode 100644
index 0c51ba2..0000000
--- a/boost/mpl/list/aux_/preprocessed/plain/list40_c.hpp
+++ /dev/null
@@ -1,193 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/list/list40_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- >
-struct list31_c
- : l_item<
- long_<31>
- , integral_c< T,C0 >
- , list30_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30 >
- >
-{
- typedef list31_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31
- >
-struct list32_c
- : l_item<
- long_<32>
- , integral_c< T,C0 >
- , list31_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31 >
- >
-{
- typedef list32_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32
- >
-struct list33_c
- : l_item<
- long_<33>
- , integral_c< T,C0 >
- , list32_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32 >
- >
-{
- typedef list33_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33
- >
-struct list34_c
- : l_item<
- long_<34>
- , integral_c< T,C0 >
- , list33_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33 >
- >
-{
- typedef list34_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34
- >
-struct list35_c
- : l_item<
- long_<35>
- , integral_c< T,C0 >
- , list34_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34 >
- >
-{
- typedef list35_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35
- >
-struct list36_c
- : l_item<
- long_<36>
- , integral_c< T,C0 >
- , list35_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35 >
- >
-{
- typedef list36_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36
- >
-struct list37_c
- : l_item<
- long_<37>
- , integral_c< T,C0 >
- , list36_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36 >
- >
-{
- typedef list37_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37
- >
-struct list38_c
- : l_item<
- long_<38>
- , integral_c< T,C0 >
- , list37_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37 >
- >
-{
- typedef list38_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38
- >
-struct list39_c
- : l_item<
- long_<39>
- , integral_c< T,C0 >
- , list38_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38 >
- >
-{
- typedef list39_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39
- >
-struct list40_c
- : l_item<
- long_<40>
- , integral_c< T,C0 >
- , list39_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39 >
- >
-{
- typedef list40_c type;
- typedef T value_type;
-};
-
-}}
diff --git a/boost/mpl/list/aux_/preprocessed/plain/list50.hpp b/boost/mpl/list/aux_/preprocessed/plain/list50.hpp
deleted file mode 100644
index 4cc22da..0000000
--- a/boost/mpl/list/aux_/preprocessed/plain/list50.hpp
+++ /dev/null
@@ -1,229 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/list/list50.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37, typename T38, typename T39
- , typename T40
- >
-struct list41
- : l_item<
- long_<41>
- , T0
- , list40< T1,T2,T3,T4,T5,T6,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 >
- >
-{
- typedef list41 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37, typename T38, typename T39
- , typename T40, typename T41
- >
-struct list42
- : l_item<
- long_<42>
- , T0
- , list41< T1,T2,T3,T4,T5,T6,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 >
- >
-{
- typedef list42 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37, typename T38, typename T39
- , typename T40, typename T41, typename T42
- >
-struct list43
- : l_item<
- long_<43>
- , T0
- , list42< T1,T2,T3,T4,T5,T6,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 >
- >
-{
- typedef list43 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37, typename T38, typename T39
- , typename T40, typename T41, typename T42, typename T43
- >
-struct list44
- : l_item<
- long_<44>
- , T0
- , list43< T1,T2,T3,T4,T5,T6,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 >
- >
-{
- typedef list44 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37, typename T38, typename T39
- , typename T40, typename T41, typename T42, typename T43, typename T44
- >
-struct list45
- : l_item<
- long_<45>
- , T0
- , list44< T1,T2,T3,T4,T5,T6,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 >
- >
-{
- typedef list45 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37, typename T38, typename T39
- , typename T40, typename T41, typename T42, typename T43, typename T44
- , typename T45
- >
-struct list46
- : l_item<
- long_<46>
- , T0
- , list45< T1,T2,T3,T4,T5,T6,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 >
- >
-{
- typedef list46 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37, typename T38, typename T39
- , typename T40, typename T41, typename T42, typename T43, typename T44
- , typename T45, typename T46
- >
-struct list47
- : l_item<
- long_<47>
- , T0
- , list46< T1,T2,T3,T4,T5,T6,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 >
- >
-{
- typedef list47 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37, typename T38, typename T39
- , typename T40, typename T41, typename T42, typename T43, typename T44
- , typename T45, typename T46, typename T47
- >
-struct list48
- : l_item<
- long_<48>
- , T0
- , list47< T1,T2,T3,T4,T5,T6,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 >
- >
-{
- typedef list48 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37, typename T38, typename T39
- , typename T40, typename T41, typename T42, typename T43, typename T44
- , typename T45, typename T46, typename T47, typename T48
- >
-struct list49
- : l_item<
- long_<49>
- , T0
- , list48< T1,T2,T3,T4,T5,T6,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 >
- >
-{
- typedef list49 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37, typename T38, typename T39
- , typename T40, typename T41, typename T42, typename T43, typename T44
- , typename T45, typename T46, typename T47, typename T48, typename T49
- >
-struct list50
- : l_item<
- long_<50>
- , T0
- , list49< T1,T2,T3,T4,T5,T6,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 >
- >
-{
- typedef list50 type;
-};
-
-}}
diff --git a/boost/mpl/list/aux_/preprocessed/plain/list50_c.hpp b/boost/mpl/list/aux_/preprocessed/plain/list50_c.hpp
deleted file mode 100644
index 28c061d..0000000
--- a/boost/mpl/list/aux_/preprocessed/plain/list50_c.hpp
+++ /dev/null
@@ -1,203 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/list/list50_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
- >
-struct list41_c
- : l_item<
- long_<41>
- , integral_c< T,C0 >
- , list40_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40 >
- >
-{
- typedef list41_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
- , T C41
- >
-struct list42_c
- : l_item<
- long_<42>
- , integral_c< T,C0 >
- , list41_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41 >
- >
-{
- typedef list42_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
- , T C41, T C42
- >
-struct list43_c
- : l_item<
- long_<43>
- , integral_c< T,C0 >
- , list42_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42 >
- >
-{
- typedef list43_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
- , T C41, T C42, T C43
- >
-struct list44_c
- : l_item<
- long_<44>
- , integral_c< T,C0 >
- , list43_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43 >
- >
-{
- typedef list44_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
- , T C41, T C42, T C43, T C44
- >
-struct list45_c
- : l_item<
- long_<45>
- , integral_c< T,C0 >
- , list44_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43,C44 >
- >
-{
- typedef list45_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
- , T C41, T C42, T C43, T C44, T C45
- >
-struct list46_c
- : l_item<
- long_<46>
- , integral_c< T,C0 >
- , list45_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43,C44,C45 >
- >
-{
- typedef list46_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
- , T C41, T C42, T C43, T C44, T C45, T C46
- >
-struct list47_c
- : l_item<
- long_<47>
- , integral_c< T,C0 >
- , list46_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43,C44,C45,C46 >
- >
-{
- typedef list47_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
- , T C41, T C42, T C43, T C44, T C45, T C46, T C47
- >
-struct list48_c
- : l_item<
- long_<48>
- , integral_c< T,C0 >
- , list47_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43,C44,C45,C46,C47 >
- >
-{
- typedef list48_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
- , T C41, T C42, T C43, T C44, T C45, T C46, T C47, T C48
- >
-struct list49_c
- : l_item<
- long_<49>
- , integral_c< T,C0 >
- , list48_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43,C44,C45,C46,C47,C48 >
- >
-{
- typedef list49_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
- , T C41, T C42, T C43, T C44, T C45, T C46, T C47, T C48, T C49
- >
-struct list50_c
- : l_item<
- long_<50>
- , integral_c< T,C0 >
- , list49_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43,C44,C45,C46,C47,C48,C49 >
- >
-{
- typedef list50_c type;
- typedef T value_type;
-};
-
-}}
diff --git a/boost/mpl/list/aux_/push_back.hpp b/boost/mpl/list/aux_/push_back.hpp
deleted file mode 100644
index 8e9c34b..0000000
--- a/boost/mpl/list/aux_/push_back.hpp
+++ /dev/null
@@ -1,36 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_AUX_PUSH_BACK_HPP_INCLUDED
-#define BOOST_MPL_LIST_AUX_PUSH_BACK_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: push_back.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/push_back_fwd.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/list/aux_/tag.hpp>
-
-namespace boost { namespace mpl {
-
-template< typename Tag > struct has_push_back_impl;
-
-template<>
-struct has_push_back_impl< aux::list_tag >
-{
- template< typename Seq > struct apply
- : false_
- {
- };
-};
-
-}}
-
-#endif // BOOST_MPL_LIST_AUX_PUSH_BACK_HPP_INCLUDED
diff --git a/boost/mpl/list/aux_/push_front.hpp b/boost/mpl/list/aux_/push_front.hpp
deleted file mode 100644
index 942508b..0000000
--- a/boost/mpl/list/aux_/push_front.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_AUX_PUSH_FRONT_HPP_INCLUDED
-#define BOOST_MPL_LIST_AUX_PUSH_FRONT_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: push_front.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/push_front_fwd.hpp>
-#include <boost/mpl/next.hpp>
-#include <boost/mpl/list/aux_/item.hpp>
-#include <boost/mpl/list/aux_/tag.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct push_front_impl< aux::list_tag >
-{
- template< typename List, typename T > struct apply
- {
- typedef l_item<
- typename next<typename List::size>::type
- , T
- , typename List::type
- > type;
- };
-};
-
-}}
-
-#endif // BOOST_MPL_LIST_AUX_PUSH_FRONT_HPP_INCLUDED
diff --git a/boost/mpl/list/aux_/size.hpp b/boost/mpl/list/aux_/size.hpp
deleted file mode 100644
index 9d7191f..0000000
--- a/boost/mpl/list/aux_/size.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_AUX_SIZE_HPP_INCLUDED
-#define BOOST_MPL_LIST_AUX_SIZE_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: size.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/size_fwd.hpp>
-#include <boost/mpl/list/aux_/tag.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct size_impl< aux::list_tag >
-{
- template< typename List > struct apply
- : List::size
- {
- };
-};
-
-}}
-
-#endif // BOOST_MPL_LIST_AUX_SIZE_HPP_INCLUDED
diff --git a/boost/mpl/list/aux_/tag.hpp b/boost/mpl/list/aux_/tag.hpp
deleted file mode 100644
index e1a7533..0000000
--- a/boost/mpl/list/aux_/tag.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_AUX_TAG_HPP_INCLUDED
-#define BOOST_MPL_LIST_AUX_TAG_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: tag.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-namespace boost { namespace mpl { namespace aux {
-
-struct list_tag;
-struct l_iter_tag;
-
-}}}
-
-#endif // BOOST_MPL_LIST_AUX_TAG_HPP_INCLUDED
diff --git a/boost/mpl/list/list0.hpp b/boost/mpl/list/list0.hpp
deleted file mode 100644
index 3ecdac3..0000000
--- a/boost/mpl/list/list0.hpp
+++ /dev/null
@@ -1,42 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_LIST0_HPP_INCLUDED
-#define BOOST_MPL_LIST_LIST0_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: list0.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/long.hpp>
-#include <boost/mpl/aux_/na.hpp>
-#include <boost/mpl/list/aux_/push_front.hpp>
-#include <boost/mpl/list/aux_/pop_front.hpp>
-#include <boost/mpl/list/aux_/push_back.hpp>
-#include <boost/mpl/list/aux_/front.hpp>
-#include <boost/mpl/list/aux_/clear.hpp>
-#include <boost/mpl/list/aux_/O1_size.hpp>
-#include <boost/mpl/list/aux_/size.hpp>
-#include <boost/mpl/list/aux_/empty.hpp>
-#include <boost/mpl/list/aux_/begin_end.hpp>
-#include <boost/mpl/list/aux_/item.hpp>
-
-namespace boost { namespace mpl {
-
-template< typename Dummy = na > struct list0;
-
-template<> struct list0<na>
- : l_end
-{
- typedef l_end type;
-};
-
-}}
-
-#endif // BOOST_MPL_LIST_LIST0_HPP_INCLUDED
diff --git a/boost/mpl/list/list0_c.hpp b/boost/mpl/list/list0_c.hpp
deleted file mode 100644
index 066661f..0000000
--- a/boost/mpl/list/list0_c.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_LIST0_C_HPP_INCLUDED
-#define BOOST_MPL_LIST_LIST0_C_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: list0_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/list/list0.hpp>
-#include <boost/mpl/integral_c.hpp>
-
-namespace boost { namespace mpl {
-
-template< typename T > struct list0_c
- : l_end
-{
- typedef l_end type;
- typedef T value_type;
-};
-
-}}
-
-#endif // BOOST_MPL_LIST_LIST0_C_HPP_INCLUDED
diff --git a/boost/mpl/list/list10.hpp b/boost/mpl/list/list10.hpp
deleted file mode 100644
index 2354694..0000000
--- a/boost/mpl/list/list10.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_LIST10_HPP_INCLUDED
-#define BOOST_MPL_LIST_LIST10_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: list10.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-# include <boost/mpl/list/list0.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-# define BOOST_MPL_PREPROCESSED_HEADER list10.hpp
-# include <boost/mpl/list/aux_/include_preprocessed.hpp>
-
-#else
-
-# include <boost/preprocessor/iterate.hpp>
-
-namespace boost { namespace mpl {
-
-# define BOOST_PP_ITERATION_PARAMS_1 \
- (3,(1, 10, <boost/mpl/list/aux_/numbered.hpp>))
-# include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_LIST_LIST10_HPP_INCLUDED
diff --git a/boost/mpl/list/list10_c.hpp b/boost/mpl/list/list10_c.hpp
deleted file mode 100644
index b1c8e1b..0000000
--- a/boost/mpl/list/list10_c.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_LIST10_C_HPP_INCLUDED
-#define BOOST_MPL_LIST_LIST10_C_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: list10_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-# include <boost/mpl/list/list0_c.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-# define BOOST_MPL_PREPROCESSED_HEADER list10_c.hpp
-# include <boost/mpl/list/aux_/include_preprocessed.hpp>
-
-#else
-
-# include <boost/preprocessor/iterate.hpp>
-
-namespace boost { namespace mpl {
-
-# define BOOST_PP_ITERATION_PARAMS_1 \
- (3,(1, 10, <boost/mpl/list/aux_/numbered_c.hpp>))
-# include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_LIST_LIST10_C_HPP_INCLUDED
diff --git a/boost/mpl/list/list20.hpp b/boost/mpl/list/list20.hpp
deleted file mode 100644
index 29f7d5d..0000000
--- a/boost/mpl/list/list20.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_LIST20_HPP_INCLUDED
-#define BOOST_MPL_LIST_LIST20_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: list20.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-# include <boost/mpl/list/list10.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-# define BOOST_MPL_PREPROCESSED_HEADER list20.hpp
-# include <boost/mpl/list/aux_/include_preprocessed.hpp>
-
-#else
-
-# include <boost/preprocessor/iterate.hpp>
-
-namespace boost { namespace mpl {
-
-# define BOOST_PP_ITERATION_PARAMS_1 \
- (3,(11, 20, <boost/mpl/list/aux_/numbered.hpp>))
-# include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_LIST_LIST20_HPP_INCLUDED
diff --git a/boost/mpl/list/list20_c.hpp b/boost/mpl/list/list20_c.hpp
deleted file mode 100644
index d7f772c..0000000
--- a/boost/mpl/list/list20_c.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_LIST20_C_HPP_INCLUDED
-#define BOOST_MPL_LIST_LIST20_C_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: list20_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-# include <boost/mpl/list/list10_c.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-# define BOOST_MPL_PREPROCESSED_HEADER list20_c.hpp
-# include <boost/mpl/list/aux_/include_preprocessed.hpp>
-
-#else
-
-# include <boost/preprocessor/iterate.hpp>
-
-namespace boost { namespace mpl {
-
-# define BOOST_PP_ITERATION_PARAMS_1 \
- (3,(11, 20, <boost/mpl/list/aux_/numbered_c.hpp>))
-# include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_LIST_LIST20_C_HPP_INCLUDED
diff --git a/boost/mpl/list/list30.hpp b/boost/mpl/list/list30.hpp
deleted file mode 100644
index 704cbdf..0000000
--- a/boost/mpl/list/list30.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_LIST30_HPP_INCLUDED
-#define BOOST_MPL_LIST_LIST30_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: list30.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-# include <boost/mpl/list/list20.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-# define BOOST_MPL_PREPROCESSED_HEADER list30.hpp
-# include <boost/mpl/list/aux_/include_preprocessed.hpp>
-
-#else
-
-# include <boost/preprocessor/iterate.hpp>
-
-namespace boost { namespace mpl {
-
-# define BOOST_PP_ITERATION_PARAMS_1 \
- (3,(21, 30, <boost/mpl/list/aux_/numbered.hpp>))
-# include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_LIST_LIST30_HPP_INCLUDED
diff --git a/boost/mpl/list/list30_c.hpp b/boost/mpl/list/list30_c.hpp
deleted file mode 100644
index 54fd22f..0000000
--- a/boost/mpl/list/list30_c.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_LIST30_C_HPP_INCLUDED
-#define BOOST_MPL_LIST_LIST30_C_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: list30_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-# include <boost/mpl/list/list20_c.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-# define BOOST_MPL_PREPROCESSED_HEADER list30_c.hpp
-# include <boost/mpl/list/aux_/include_preprocessed.hpp>
-
-#else
-
-# include <boost/preprocessor/iterate.hpp>
-
-namespace boost { namespace mpl {
-
-# define BOOST_PP_ITERATION_PARAMS_1 \
- (3,(21, 30, <boost/mpl/list/aux_/numbered_c.hpp>))
-# include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_LIST_LIST30_C_HPP_INCLUDED
diff --git a/boost/mpl/list/list40.hpp b/boost/mpl/list/list40.hpp
deleted file mode 100644
index 11d12e3..0000000
--- a/boost/mpl/list/list40.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_LIST40_HPP_INCLUDED
-#define BOOST_MPL_LIST_LIST40_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: list40.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-# include <boost/mpl/list/list30.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-# define BOOST_MPL_PREPROCESSED_HEADER list40.hpp
-# include <boost/mpl/list/aux_/include_preprocessed.hpp>
-
-#else
-
-# include <boost/preprocessor/iterate.hpp>
-
-namespace boost { namespace mpl {
-
-# define BOOST_PP_ITERATION_PARAMS_1 \
- (3,(31, 40, <boost/mpl/list/aux_/numbered.hpp>))
-# include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_LIST_LIST40_HPP_INCLUDED
diff --git a/boost/mpl/list/list40_c.hpp b/boost/mpl/list/list40_c.hpp
deleted file mode 100644
index 0ae99fc..0000000
--- a/boost/mpl/list/list40_c.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_LIST40_C_HPP_INCLUDED
-#define BOOST_MPL_LIST_LIST40_C_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: list40_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-# include <boost/mpl/list/list30_c.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-# define BOOST_MPL_PREPROCESSED_HEADER list40_c.hpp
-# include <boost/mpl/list/aux_/include_preprocessed.hpp>
-
-#else
-
-# include <boost/preprocessor/iterate.hpp>
-
-namespace boost { namespace mpl {
-
-# define BOOST_PP_ITERATION_PARAMS_1 \
- (3,(31, 40, <boost/mpl/list/aux_/numbered_c.hpp>))
-# include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_LIST_LIST40_C_HPP_INCLUDED
diff --git a/boost/mpl/list/list50.hpp b/boost/mpl/list/list50.hpp
deleted file mode 100644
index 4050a81..0000000
--- a/boost/mpl/list/list50.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_LIST50_HPP_INCLUDED
-#define BOOST_MPL_LIST_LIST50_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: list50.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-# include <boost/mpl/list/list40.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-# define BOOST_MPL_PREPROCESSED_HEADER list50.hpp
-# include <boost/mpl/list/aux_/include_preprocessed.hpp>
-
-#else
-
-# include <boost/preprocessor/iterate.hpp>
-
-namespace boost { namespace mpl {
-
-# define BOOST_PP_ITERATION_PARAMS_1 \
- (3,(41, 50, <boost/mpl/list/aux_/numbered.hpp>))
-# include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_LIST_LIST50_HPP_INCLUDED
diff --git a/boost/mpl/list/list50_c.hpp b/boost/mpl/list/list50_c.hpp
deleted file mode 100644
index 4b5b654..0000000
--- a/boost/mpl/list/list50_c.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-
-#ifndef BOOST_MPL_LIST_LIST50_C_HPP_INCLUDED
-#define BOOST_MPL_LIST_LIST50_C_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: list50_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-# include <boost/mpl/list/list40_c.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-# define BOOST_MPL_PREPROCESSED_HEADER list50_c.hpp
-# include <boost/mpl/list/aux_/include_preprocessed.hpp>
-
-#else
-
-# include <boost/preprocessor/iterate.hpp>
-
-namespace boost { namespace mpl {
-
-# define BOOST_PP_ITERATION_PARAMS_1 \
- (3,(41, 50, <boost/mpl/list/aux_/numbered_c.hpp>))
-# include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_LIST_LIST50_C_HPP_INCLUDED
diff --git a/boost/mpl/logical.hpp b/boost/mpl/logical.hpp
deleted file mode 100644
index f8b8fc3..0000000
--- a/boost/mpl/logical.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#ifndef BOOST_MPL_LOGICAL_HPP_INCLUDED
-#define BOOST_MPL_LOGICAL_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: logical.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/or.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/not.hpp>
-
-#endif // BOOST_MPL_LOGICAL_HPP_INCLUDED
diff --git a/boost/mpl/long.hpp b/boost/mpl/long.hpp
deleted file mode 100644
index 1c79afd..0000000
--- a/boost/mpl/long.hpp
+++ /dev/null
@@ -1,22 +0,0 @@
-
-#ifndef BOOST_MPL_LONG_HPP_INCLUDED
-#define BOOST_MPL_LONG_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: long.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/long_fwd.hpp>
-
-#define AUX_WRAPPER_VALUE_TYPE long
-#include <boost/mpl/aux_/integral_wrapper.hpp>
-
-#endif // BOOST_MPL_LONG_HPP_INCLUDED
diff --git a/boost/mpl/long_fwd.hpp b/boost/mpl/long_fwd.hpp
deleted file mode 100644
index 17accd3..0000000
--- a/boost/mpl/long_fwd.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-
-#ifndef BOOST_MPL_LONG_FWD_HPP_INCLUDED
-#define BOOST_MPL_LONG_FWD_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: long_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/adl_barrier.hpp>
-#include <boost/mpl/aux_/nttp_decl.hpp>
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-
-template< BOOST_MPL_AUX_NTTP_DECL(long, N) > struct long_;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-BOOST_MPL_AUX_ADL_BARRIER_DECL(long_)
-
-#endif // BOOST_MPL_LONG_FWD_HPP_INCLUDED
diff --git a/boost/mpl/minus.hpp b/boost/mpl/minus.hpp
deleted file mode 100644
index 123b8af..0000000
--- a/boost/mpl/minus.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#ifndef BOOST_MPL_MINUS_HPP_INCLUDED
-#define BOOST_MPL_MINUS_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: minus.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#define AUX778076_OP_NAME minus
-#define AUX778076_OP_TOKEN -
-#include <boost/mpl/aux_/arithmetic_op.hpp>
-
-#endif // BOOST_MPL_MINUS_HPP_INCLUDED
diff --git a/boost/mpl/multiplies.hpp b/boost/mpl/multiplies.hpp
deleted file mode 100644
index 1c0ec9f..0000000
--- a/boost/mpl/multiplies.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-
-#ifndef BOOST_MPL_MULTIPLIES_HPP_INCLUDED
-#define BOOST_MPL_MULTIPLIES_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: multiplies.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/times.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-#include <boost/mpl/aux_/preprocessor/default_params.hpp>
-#include <boost/mpl/aux_/preprocessor/params.hpp>
-#include <boost/mpl/aux_/config/ctps.hpp>
-
-// backward compatibility header, deprecated
-
-namespace boost { namespace mpl {
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-# define AUX778076_OP_ARITY BOOST_MPL_LIMIT_METAFUNCTION_ARITY
-#else
-# define AUX778076_OP_ARITY 2
-#endif
-
-template<
- BOOST_MPL_PP_DEFAULT_PARAMS(AUX778076_OP_ARITY, typename N, na)
- >
-struct multiplies
- : times< BOOST_MPL_PP_PARAMS(AUX778076_OP_ARITY, N) >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(
- AUX778076_OP_ARITY
- , multiplies
- , ( BOOST_MPL_PP_PARAMS(AUX778076_OP_ARITY, N) )
- )
-};
-
-BOOST_MPL_AUX_NA_SPEC(AUX778076_OP_ARITY, multiplies)
-
-#undef AUX778076_OP_ARITY
-
-}}
-
-#endif // BOOST_MPL_MULTIPLIES_HPP_INCLUDED
diff --git a/boost/mpl/negate.hpp b/boost/mpl/negate.hpp
deleted file mode 100644
index 3d51caf..0000000
--- a/boost/mpl/negate.hpp
+++ /dev/null
@@ -1,81 +0,0 @@
-
-#ifndef BOOST_MPL_NEGATE_HPP_INCLUDED
-#define BOOST_MPL_NEGATE_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: negate.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/integral_c.hpp>
-#include <boost/mpl/aux_/msvc_eti_base.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-#include <boost/mpl/aux_/config/eti.hpp>
-#include <boost/mpl/aux_/config/integral.hpp>
-#include <boost/mpl/aux_/config/static_constant.hpp>
-
-namespace boost { namespace mpl {
-
-template< typename Tag > struct negate_impl;
-
-template< typename T > struct negate_tag
-{
- typedef typename T::tag type;
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(N)
- >
-struct negate
-#if !defined(BOOST_MPL_CFG_MSVC_ETI_BUG)
- : negate_impl<
- typename negate_tag<N>::type
- >::template apply<N>::type
-#else
- : aux::msvc_eti_base< typename apply_wrap1<
- negate_impl< typename negate_tag<N>::type >
- , N
- >::type >::type
-#endif
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(1, negate, (N))
-};
-
-BOOST_MPL_AUX_NA_SPEC(1, negate)
-
-
-#if defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC)
-namespace aux {
-template< typename T, T n > struct negate_wknd
-{
- BOOST_STATIC_CONSTANT(T, value = -n);
- typedef integral_c<T,value> type;
-};
-}
-#endif
-
-template<>
-struct negate_impl<integral_c_tag>
-{
-#if defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC)
- template< typename N > struct apply
- : aux::negate_wknd< typename N::value_type, N::value >
-#else
- template< typename N > struct apply
- : integral_c< typename N::value_type, (-N::value) >
-#endif
- {
- };
-};
-
-}}
-
-#endif // BOOST_MPL_NEGATE_HPP_INCLUDED
diff --git a/boost/mpl/next.hpp b/boost/mpl/next.hpp
deleted file mode 100644
index fcfb01b..0000000
--- a/boost/mpl/next.hpp
+++ /dev/null
@@ -1,19 +0,0 @@
-
-#ifndef BOOST_MPL_NEXT_HPP_INCLUDED
-#define BOOST_MPL_NEXT_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 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: next.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/next_prior.hpp>
-
-#endif // BOOST_MPL_NEXT_HPP_INCLUDED
diff --git a/boost/mpl/next_prior.hpp b/boost/mpl/next_prior.hpp
deleted file mode 100644
index c65d4c4..0000000
--- a/boost/mpl/next_prior.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-
-#ifndef BOOST_MPL_NEXT_PRIOR_HPP_INCLUDED
-#define BOOST_MPL_NEXT_PRIOR_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: next_prior.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/common_name_wknd.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_COMMON_NAME_WKND(next)
-BOOST_MPL_AUX_COMMON_NAME_WKND(prior)
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(T)
- >
-struct next
-{
- typedef typename T::next type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT(1,next,(T))
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(T)
- >
-struct prior
-{
- typedef typename T::prior type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT(1,prior,(T))
-};
-
-BOOST_MPL_AUX_NA_SPEC(1, next)
-BOOST_MPL_AUX_NA_SPEC(1, prior)
-
-}}
-
-#endif // BOOST_MPL_NEXT_PRIOR_HPP_INCLUDED
diff --git a/boost/mpl/not.hpp b/boost/mpl/not.hpp
deleted file mode 100644
index 9886d7d..0000000
--- a/boost/mpl/not.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-
-#ifndef BOOST_MPL_NOT_HPP_INCLUDED
-#define BOOST_MPL_NOT_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: not.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/aux_/nttp_decl.hpp>
-#include <boost/mpl/aux_/nested_type_wknd.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< BOOST_MPL_AUX_NTTP_DECL(long, C_) > // 'long' is intentional here
-struct not_impl
- : bool_<!C_>
-{
-};
-
-} // namespace aux
-
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(T)
- >
-struct not_
- : aux::not_impl<
- BOOST_MPL_AUX_NESTED_TYPE_WKND(T)::value
- >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(1,not_,(T))
-};
-
-BOOST_MPL_AUX_NA_SPEC(1,not_)
-
-}}
-
-#endif // BOOST_MPL_NOT_HPP_INCLUDED
diff --git a/boost/mpl/not_equal_to.hpp b/boost/mpl/not_equal_to.hpp
deleted file mode 100644
index b6997df..0000000
--- a/boost/mpl/not_equal_to.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#ifndef BOOST_MPL_NOT_EQUAL_TO_HPP_INCLUDED
-#define BOOST_MPL_NOT_EQUAL_TO_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: not_equal_to.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#define AUX778076_OP_NAME not_equal_to
-#define AUX778076_OP_TOKEN !=
-#include <boost/mpl/aux_/comparison_op.hpp>
-
-#endif // BOOST_MPL_NOT_EQUAL_TO_HPP_INCLUDED
diff --git a/boost/mpl/numeric_cast.hpp b/boost/mpl/numeric_cast.hpp
deleted file mode 100644
index f890e44..0000000
--- a/boost/mpl/numeric_cast.hpp
+++ /dev/null
@@ -1,41 +0,0 @@
-
-#ifndef BOOST_MPL_NUMERIC_CAST_HPP_INCLUDED
-#define BOOST_MPL_NUMERIC_CAST_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2003-2004
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: numeric_cast.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-// agurt 21/sep/04: portability macro for the sake of MSVC 6.x-7.0;
-// resolves conflicts with 'boost::numeric_cast' function template.
-// use it in your own code _only_ if you care about compatibility with
-// these outdated compilers!
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x570) )
-# define BOOST_MPL_AUX_NUMERIC_CAST numeric_cast_
-#else
-# define BOOST_MPL_AUX_NUMERIC_CAST numeric_cast
-#endif
-
-namespace boost { namespace mpl {
-
-// no default implementation; the definition is needed to make MSVC happy
-
-template< typename SourceTag, typename TargetTag > struct BOOST_MPL_AUX_NUMERIC_CAST
-{
- template< typename N > struct apply;
-};
-
-}}
-
-#endif // BOOST_MPL_NUMERIC_CAST_HPP_INCLUDED
diff --git a/boost/mpl/or.hpp b/boost/mpl/or.hpp
deleted file mode 100644
index 16b42c1..0000000
--- a/boost/mpl/or.hpp
+++ /dev/null
@@ -1,61 +0,0 @@
-
-#ifndef BOOST_MPL_OR_HPP_INCLUDED
-#define BOOST_MPL_OR_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: or.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-# include <boost/mpl/bool.hpp>
-# include <boost/mpl/aux_/nested_type_wknd.hpp>
-# include <boost/mpl/aux_/na_spec.hpp>
-# include <boost/mpl/aux_/lambda_support.hpp>
-# include <boost/mpl/aux_/config/msvc.hpp>
-
-// agurt, 19/may/04: workaround a conflict with <iso646.h> header's
-// 'or' and 'and' macros, see http://tinyurl.com/3et69; 'defined(or)'
-// has to be checked in a separate condition, otherwise GCC complains
-// about 'or' being an alternative token
-#if defined(_MSC_VER)
-#ifndef __GCCXML__
-#if defined(or)
-# pragma push_macro("or")
-# undef or
-# define or(x)
-#endif
-#endif
-#endif
-
-# define BOOST_MPL_PREPROCESSED_HEADER or.hpp
-# include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#if defined(_MSC_VER)
-#ifndef __GCCXML__
-#if defined(or)
-# pragma pop_macro("or")
-#endif
-#endif
-#endif
-
-#else
-
-# define AUX778076_OP_NAME or_
-# define AUX778076_OP_VALUE1 true
-# define AUX778076_OP_VALUE2 false
-# include <boost/mpl/aux_/logical_op.hpp>
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_OR_HPP_INCLUDED
diff --git a/boost/mpl/pair.hpp b/boost/mpl/pair.hpp
deleted file mode 100644
index 9336ca1..0000000
--- a/boost/mpl/pair.hpp
+++ /dev/null
@@ -1,70 +0,0 @@
-
-#ifndef BOOST_MPL_PAIR_HPP_INCLUDED
-#define BOOST_MPL_PAIR_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-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: pair.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/msvc_eti_base.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-#include <boost/mpl/aux_/config/eti.hpp>
-
-namespace boost { namespace mpl {
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(T1)
- , typename BOOST_MPL_AUX_NA_PARAM(T2)
- >
-struct pair
-{
- typedef pair type;
- typedef T1 first;
- typedef T2 second;
-
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2,pair,(T1,T2))
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(P)
- >
-struct first
-{
-#if !defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG)
- typedef typename P::first type;
-#else
- typedef typename aux::msvc_eti_base<P>::first type;
-#endif
- BOOST_MPL_AUX_LAMBDA_SUPPORT(1,first,(P))
-};
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(P)
- >
-struct second
-{
-#if !defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG)
- typedef typename P::second type;
-#else
- typedef typename aux::msvc_eti_base<P>::second type;
-#endif
- BOOST_MPL_AUX_LAMBDA_SUPPORT(1,second,(P))
-};
-
-
-BOOST_MPL_AUX_NA_SPEC_NO_ETI(2, pair)
-BOOST_MPL_AUX_NA_SPEC(1, first)
-BOOST_MPL_AUX_NA_SPEC(1, second)
-
-}}
-
-#endif // BOOST_MPL_PAIR_HPP_INCLUDED
diff --git a/boost/mpl/placeholders.hpp b/boost/mpl/placeholders.hpp
deleted file mode 100644
index 891a818..0000000
--- a/boost/mpl/placeholders.hpp
+++ /dev/null
@@ -1,100 +0,0 @@
-
-#if !defined(BOOST_PP_IS_ITERATING)
-
-///// header body
-
-#ifndef BOOST_MPL_PLACEHOLDERS_HPP_INCLUDED
-#define BOOST_MPL_PLACEHOLDERS_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright Peter Dimov 2001-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/mpl for documentation.
-
-// $Id: placeholders.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-# include <boost/mpl/arg.hpp>
-# include <boost/mpl/aux_/adl_barrier.hpp>
-
-# if !defined(BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE)
-# define BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(type) \
- using ::BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::type; \
- /**/
-# else
-# define BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(type) /**/
-# endif
-
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-# define BOOST_MPL_PREPROCESSED_HEADER placeholders.hpp
-# include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-# include <boost/mpl/aux_/nttp_decl.hpp>
-# include <boost/mpl/limits/arity.hpp>
-# include <boost/preprocessor/iterate.hpp>
-# include <boost/preprocessor/cat.hpp>
-
-// watch out for GNU gettext users, who #define _(x)
-#if !defined(_) || defined(BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT)
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-typedef arg<-1> _;
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
-}
-
-}}
-#endif
-
-/// agurt, 17/mar/02: one more placeholder for the last 'apply#'
-/// specialization
-#define BOOST_PP_ITERATION_PARAMS_1 \
- (3,(1, BOOST_MPL_LIMIT_METAFUNCTION_ARITY + 1, <boost/mpl/placeholders.hpp>))
-#include BOOST_PP_ITERATE()
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_PLACEHOLDERS_HPP_INCLUDED
-
-///// iteration
-
-#else
-#define i_ BOOST_PP_FRAME_ITERATION(1)
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-
-typedef arg<i_> BOOST_PP_CAT(_,i_);
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-
-namespace boost { namespace mpl {
-
-BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(BOOST_PP_CAT(_,i_))
-
-namespace placeholders {
-using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::BOOST_PP_CAT(_,i_);
-}
-
-}}
-
-#undef i_
-#endif // BOOST_PP_IS_ITERATING
diff --git a/boost/mpl/plus.hpp b/boost/mpl/plus.hpp
deleted file mode 100644
index 9f68c49..0000000
--- a/boost/mpl/plus.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#ifndef BOOST_MPL_PLUS_HPP_INCLUDED
-#define BOOST_MPL_PLUS_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: plus.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#define AUX778076_OP_NAME plus
-#define AUX778076_OP_TOKEN +
-#include <boost/mpl/aux_/arithmetic_op.hpp>
-
-#endif // BOOST_MPL_PLUS_HPP_INCLUDED
diff --git a/boost/mpl/pop_back_fwd.hpp b/boost/mpl/pop_back_fwd.hpp
deleted file mode 100644
index c8209a7..0000000
--- a/boost/mpl/pop_back_fwd.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#ifndef BOOST_MPL_POP_BACK_FWD_HPP_INCLUDED
-#define BOOST_MPL_POP_BACK_FWD_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: pop_back_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-namespace boost { namespace mpl {
-
-template< typename Tag > struct pop_back_impl;
-template< typename Sequence > struct pop_back;
-
-}}
-
-#endif // BOOST_MPL_POP_BACK_FWD_HPP_INCLUDED
diff --git a/boost/mpl/pop_front_fwd.hpp b/boost/mpl/pop_front_fwd.hpp
deleted file mode 100644
index eb78347..0000000
--- a/boost/mpl/pop_front_fwd.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#ifndef BOOST_MPL_POP_FRONT_FWD_HPP_INCLUDED
-#define BOOST_MPL_POP_FRONT_FWD_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: pop_front_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-namespace boost { namespace mpl {
-
-template< typename Tag > struct pop_front_impl;
-template< typename Sequence > struct pop_front;
-
-}}
-
-#endif // BOOST_MPL_POP_FRONT_FWD_HPP_INCLUDED
diff --git a/boost/mpl/prior.hpp b/boost/mpl/prior.hpp
deleted file mode 100644
index b8f0dff..0000000
--- a/boost/mpl/prior.hpp
+++ /dev/null
@@ -1,19 +0,0 @@
-
-#ifndef BOOST_MPL_PRIOR_HPP_INCLUDED
-#define BOOST_MPL_PRIOR_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 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: prior.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/next_prior.hpp>
-
-#endif // BOOST_MPL_PRIOR_HPP_INCLUDED
diff --git a/boost/mpl/protect.hpp b/boost/mpl/protect.hpp
deleted file mode 100644
index e3daa4f..0000000
--- a/boost/mpl/protect.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-
-#ifndef BOOST_MPL_PROTECT_HPP_INCLUDED
-#define BOOST_MPL_PROTECT_HPP_INCLUDED
-
-// Copyright Peter Dimov 2001
-// 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: protect.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/arity.hpp>
-#include <boost/mpl/aux_/config/dtp.hpp>
-#include <boost/mpl/aux_/nttp_decl.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-
-namespace boost { namespace mpl {
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(T)
- , int not_le_ = 0
- >
-struct protect : T
-{
-#if BOOST_WORKAROUND(__EDG_VERSION__, == 238)
- typedef mpl::protect type;
-#else
- typedef protect type;
-#endif
-};
-
-#if defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
-namespace aux {
-template< BOOST_MPL_AUX_NTTP_DECL(int, N), typename T >
-struct arity< protect<T>, N >
- : arity<T,N>
-{
-};
-} // namespace aux
-#endif
-
-BOOST_MPL_AUX_NA_SPEC_MAIN(1, protect)
-#if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)
-BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(1, 1, protect)
-#endif
-
-}}
-
-#endif // BOOST_MPL_PROTECT_HPP_INCLUDED
diff --git a/boost/mpl/push_back.hpp b/boost/mpl/push_back.hpp
deleted file mode 100644
index 2e8ad06..0000000
--- a/boost/mpl/push_back.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-
-#ifndef BOOST_MPL_PUSH_BACK_HPP_INCLUDED
-#define BOOST_MPL_PUSH_BACK_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: push_back.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/push_back_fwd.hpp>
-#include <boost/mpl/aux_/push_back_impl.hpp>
-#include <boost/mpl/sequence_tag.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-namespace boost { namespace mpl {
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(Sequence)
- , typename BOOST_MPL_AUX_NA_PARAM(T)
- >
-struct push_back
- : push_back_impl< typename sequence_tag<Sequence>::type >
- ::template apply< Sequence,T >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2,push_back,(Sequence,T))
-};
-
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(Sequence)
- >
-struct has_push_back
- : has_push_back_impl< typename sequence_tag<Sequence>::type >
- ::template apply< Sequence >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(1,has_push_back,(Sequence))
-};
-
-
-BOOST_MPL_AUX_NA_SPEC(2, push_back)
-BOOST_MPL_AUX_NA_SPEC(1, has_push_back)
-
-}}
-
-#endif // BOOST_MPL_PUSH_BACK_HPP_INCLUDED
diff --git a/boost/mpl/push_back_fwd.hpp b/boost/mpl/push_back_fwd.hpp
deleted file mode 100644
index ef04ff5..0000000
--- a/boost/mpl/push_back_fwd.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#ifndef BOOST_MPL_PUSH_BACK_FWD_HPP_INCLUDED
-#define BOOST_MPL_PUSH_BACK_FWD_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: push_back_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-namespace boost { namespace mpl {
-
-template< typename Tag > struct push_back_impl;
-template< typename Sequence, typename T > struct push_back;
-
-}}
-
-#endif // BOOST_MPL_PUSH_BACK_FWD_HPP_INCLUDED
diff --git a/boost/mpl/push_front.hpp b/boost/mpl/push_front.hpp
deleted file mode 100644
index ca943bb..0000000
--- a/boost/mpl/push_front.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-
-#ifndef BOOST_MPL_PUSH_FRONT_HPP_INCLUDED
-#define BOOST_MPL_PUSH_FRONT_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: push_front.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/push_front_fwd.hpp>
-#include <boost/mpl/aux_/push_front_impl.hpp>
-#include <boost/mpl/sequence_tag.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-namespace boost { namespace mpl {
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(Sequence)
- , typename BOOST_MPL_AUX_NA_PARAM(T)
- >
-struct push_front
- : push_front_impl< typename sequence_tag<Sequence>::type >
- ::template apply< Sequence,T >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2,push_front,(Sequence,T))
-};
-
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(Sequence)
- >
-struct has_push_front
- : has_push_front_impl< typename sequence_tag<Sequence>::type >
- ::template apply< Sequence >
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(1,has_push_front,(Sequence))
-};
-
-BOOST_MPL_AUX_NA_SPEC(2, push_front)
-BOOST_MPL_AUX_NA_SPEC(1, has_push_front)
-
-}}
-
-#endif // BOOST_MPL_PUSH_FRONT_HPP_INCLUDED
diff --git a/boost/mpl/push_front_fwd.hpp b/boost/mpl/push_front_fwd.hpp
deleted file mode 100644
index fa3667c..0000000
--- a/boost/mpl/push_front_fwd.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#ifndef BOOST_MPL_PUSH_FRONT_FWD_HPP_INCLUDED
-#define BOOST_MPL_PUSH_FRONT_FWD_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: push_front_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-namespace boost { namespace mpl {
-
-template< typename Tag > struct push_front_impl;
-template< typename Sequence, typename T > struct push_front;
-
-}}
-
-#endif // BOOST_MPL_PUSH_FRONT_FWD_HPP_INCLUDED
diff --git a/boost/mpl/quote.hpp b/boost/mpl/quote.hpp
deleted file mode 100644
index 53b5712..0000000
--- a/boost/mpl/quote.hpp
+++ /dev/null
@@ -1,151 +0,0 @@
-
-#if !defined(BOOST_PP_IS_ITERATING)
-
-///// header body
-
-#ifndef BOOST_MPL_QUOTE_HPP_INCLUDED
-#define BOOST_MPL_QUOTE_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-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/mpl for documentation.
-
-// $Id: quote.hpp 49272 2008-10-11 06:50:46Z agurtovoy $
-// $Date: 2008-10-10 23:50:46 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49272 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-# include <boost/mpl/void.hpp>
-# include <boost/mpl/aux_/has_type.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/bcc.hpp>
-#include <boost/mpl/aux_/config/ttp.hpp>
-
-#if defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS) \
- && !defined(BOOST_MPL_CFG_BCC590_WORKAROUNDS)
-# define BOOST_MPL_CFG_NO_QUOTE_TEMPLATE
-#endif
-
-#if !defined(BOOST_MPL_CFG_NO_IMPLICIT_METAFUNCTIONS) \
- && defined(BOOST_MPL_CFG_NO_HAS_XXX)
-# define BOOST_MPL_CFG_NO_IMPLICIT_METAFUNCTIONS
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-# define BOOST_MPL_PREPROCESSED_HEADER quote.hpp
-# include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-# include <boost/mpl/limits/arity.hpp>
-# include <boost/mpl/aux_/preprocessor/params.hpp>
-# include <boost/mpl/aux_/config/ctps.hpp>
-# include <boost/mpl/aux_/config/workaround.hpp>
-
-# include <boost/preprocessor/iterate.hpp>
-# include <boost/preprocessor/cat.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_QUOTE_TEMPLATE)
-
-namespace boost { namespace mpl {
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template< typename T, bool has_type_ >
-struct quote_impl
-// GCC has a problem with metafunction forwarding when T is a
-// specialization of a template called 'type'.
-# if BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4)) \
- && BOOST_WORKAROUND(__GNUC_MINOR__, BOOST_TESTED_AT(0)) \
- && BOOST_WORKAROUND(__GNUC_PATCHLEVEL__, BOOST_TESTED_AT(2))
-{
- typedef typename T::type type;
-};
-# else
- : T
-{
-};
-# endif
-
-template< typename T >
-struct quote_impl<T,false>
-{
- typedef T type;
-};
-
-#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-template< bool > struct quote_impl
-{
- template< typename T > struct result_
- : T
- {
- };
-};
-
-template<> struct quote_impl<false>
-{
- template< typename T > struct result_
- {
- typedef T type;
- };
-};
-
-#endif
-
-#define BOOST_PP_ITERATION_PARAMS_1 \
- (3,(1, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, <boost/mpl/quote.hpp>))
-#include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_QUOTE_TEMPLATE
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_QUOTE_HPP_INCLUDED
-
-///// iteration
-
-#else
-#define i_ BOOST_PP_FRAME_ITERATION(1)
-
-template<
- template< BOOST_MPL_PP_PARAMS(i_, typename P) > class F
- , typename Tag = void_
- >
-struct BOOST_PP_CAT(quote,i_)
-{
- template< BOOST_MPL_PP_PARAMS(i_, typename U) > struct apply
-#if defined(BOOST_MPL_CFG_BCC590_WORKAROUNDS)
- {
- typedef typename quote_impl<
- F< BOOST_MPL_PP_PARAMS(i_, U) >
- , aux::has_type< F< BOOST_MPL_PP_PARAMS(i_, U) > >::value
- >::type type;
- };
-#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
- : quote_impl<
- F< BOOST_MPL_PP_PARAMS(i_, U) >
- , aux::has_type< F< BOOST_MPL_PP_PARAMS(i_, U) > >::value
- >
- {
- };
-#else
- : quote_impl< aux::has_type< F< BOOST_MPL_PP_PARAMS(i_, U) > >::value >
- ::template result_< F< BOOST_MPL_PP_PARAMS(i_, U) > >
- {
- };
-#endif
-};
-
-#undef i_
-#endif // BOOST_PP_IS_ITERATING
diff --git a/boost/mpl/remove_if.hpp b/boost/mpl/remove_if.hpp
deleted file mode 100644
index 1275bd4..0000000
--- a/boost/mpl/remove_if.hpp
+++ /dev/null
@@ -1,83 +0,0 @@
-
-#ifndef BOOST_MPL_REMOVE_IF_HPP_INCLUDED
-#define BOOST_MPL_REMOVE_IF_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-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: remove_if.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/fold.hpp>
-#include <boost/mpl/reverse_fold.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/protect.hpp>
-#include <boost/mpl/lambda.hpp>
-#include <boost/mpl/apply.hpp>
-#include <boost/mpl/aux_/inserter_algorithm.hpp>
-
-namespace boost { namespace mpl {
-
-namespace aux {
-
-template< typename Pred, typename InsertOp > struct remove_if_helper
-{
- template< typename Sequence, typename U > struct apply
- {
- typedef typename eval_if<
- typename apply1<Pred,U>::type
- , identity<Sequence>
- , apply2<InsertOp,Sequence,U>
- >::type type;
- };
-};
-
-template<
- typename Sequence
- , typename Predicate
- , typename Inserter
- >
-struct remove_if_impl
- : fold<
- Sequence
- , typename Inserter::state
- , protect< aux::remove_if_helper<
- typename lambda<Predicate>::type
- , typename Inserter::operation
- > >
- >
-{
-};
-
-template<
- typename Sequence
- , typename Predicate
- , typename Inserter
- >
-struct reverse_remove_if_impl
- : reverse_fold<
- Sequence
- , typename Inserter::state
- , protect< aux::remove_if_helper<
- typename lambda<Predicate>::type
- , typename Inserter::operation
- > >
- >
-{
-};
-
-} // namespace aux
-
-BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(3, remove_if)
-
-}}
-
-#endif // BOOST_MPL_REMOVE_IF_HPP_INCLUDED
diff --git a/boost/mpl/reverse_fold.hpp b/boost/mpl/reverse_fold.hpp
deleted file mode 100644
index bcf3157..0000000
--- a/boost/mpl/reverse_fold.hpp
+++ /dev/null
@@ -1,50 +0,0 @@
-
-#ifndef BOOST_MPL_REVERSE_FOLD_HPP_INCLUDED
-#define BOOST_MPL_REVERSE_FOLD_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-2004
-// Copyright David Abrahams 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/mpl for documentation.
-
-// $Id: reverse_fold.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/begin_end.hpp>
-#include <boost/mpl/O1_size.hpp>
-#include <boost/mpl/arg.hpp>
-#include <boost/mpl/aux_/reverse_fold_impl.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-
-namespace boost { namespace mpl {
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(Sequence)
- , typename BOOST_MPL_AUX_NA_PARAM(State)
- , typename BOOST_MPL_AUX_NA_PARAM(BackwardOp)
- , typename ForwardOp = arg<1>
- >
-struct reverse_fold
-{
- typedef typename aux::reverse_fold_impl<
- ::boost::mpl::O1_size<Sequence>::value
- , typename begin<Sequence>::type
- , typename end<Sequence>::type
- , State
- , BackwardOp
- , ForwardOp
- >::state type;
-
- BOOST_MPL_AUX_LAMBDA_SUPPORT(3,reverse_fold,(Sequence,State,BackwardOp))
-};
-
-BOOST_MPL_AUX_NA_SPEC(3, reverse_fold)
-
-}}
-
-#endif // BOOST_MPL_REVERSE_FOLD_HPP_INCLUDED
diff --git a/boost/mpl/same_as.hpp b/boost/mpl/same_as.hpp
deleted file mode 100644
index c82cfd7..0000000
--- a/boost/mpl/same_as.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-
-#ifndef BOOST_MPL_SAME_AS_HPP_INCLUDED
-#define BOOST_MPL_SAME_AS_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: same_as.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/not.hpp>
-#include <boost/mpl/aux_/lambda_spec.hpp>
-#include <boost/mpl/aux_/config/forwarding.hpp>
-
-#include <boost/type_traits/is_same.hpp>
-
-namespace boost { namespace mpl {
-
-template< typename T1 >
-struct same_as
-{
- template< typename T2 > struct apply
-#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)
- : is_same<T1,T2>
- {
-#else
- {
- typedef typename is_same<T1,T2>::type type;
-#endif
- };
-};
-
-template< typename T1 >
-struct not_same_as
-{
- template< typename T2 > struct apply
-#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)
- : not_< is_same<T1,T2> >
- {
-#else
- {
- typedef typename not_< is_same<T1,T2> >::type type;
-#endif
- };
-};
-
-}}
-
-#endif // BOOST_MPL_SAME_AS_HPP_INCLUDED
diff --git a/boost/mpl/sequence_tag.hpp b/boost/mpl/sequence_tag.hpp
deleted file mode 100644
index 479175e..0000000
--- a/boost/mpl/sequence_tag.hpp
+++ /dev/null
@@ -1,124 +0,0 @@
-
-#ifndef BOOST_MPL_SEQUENCE_TAG_HPP_INCLUDED
-#define BOOST_MPL_SEQUENCE_TAG_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: sequence_tag.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/sequence_tag_fwd.hpp>
-#include <boost/mpl/aux_/has_tag.hpp>
-#include <boost/mpl/aux_/has_begin.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/is_msvc_eti_arg.hpp>
-#include <boost/mpl/aux_/config/eti.hpp>
-#include <boost/mpl/aux_/yes_no.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-namespace boost { namespace mpl {
-
-// agurt, 27/nov/02: have to use a simplistic 'sequence_tag' implementation
-// on MSVC to avoid dreadful "internal structure overflow" error
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) \
- || defined(BOOST_MPL_CFG_NO_HAS_XXX)
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(Sequence)
- >
-struct sequence_tag
-{
- typedef typename Sequence::tag type;
-};
-
-#elif BOOST_WORKAROUND(BOOST_MSVC, == 1300)
-
-// agurt, 07/feb/03: workaround for what seems to be MSVC 7.0-specific ETI issue
-
-namespace aux {
-
-template< bool >
-struct sequence_tag_impl
-{
- template< typename Sequence > struct result_
- {
- typedef typename Sequence::tag type;
- };
-};
-
-template<>
-struct sequence_tag_impl<false>
-{
- template< typename Sequence > struct result_
- {
- typedef int type;
- };
-};
-
-} // namespace aux
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(Sequence)
- >
-struct sequence_tag
- : aux::sequence_tag_impl< !aux::is_msvc_eti_arg<Sequence>::value >
- ::template result_<Sequence>
-{
-};
-
-#else
-
-namespace aux {
-
-template< bool has_tag_, bool has_begin_ >
-struct sequence_tag_impl
-{
- // agurt 24/nov/02: MSVC 6.5 gets confused in 'sequence_tag_impl<true>'
- // specialization below, if we name it 'result_' here
- template< typename Sequence > struct result2_;
-};
-
-# define AUX_CLASS_SEQUENCE_TAG_SPEC(has_tag, has_begin, result_type) \
-template<> struct sequence_tag_impl<has_tag,has_begin> \
-{ \
- template< typename Sequence > struct result2_ \
- { \
- typedef result_type type; \
- }; \
-}; \
-/**/
-
-AUX_CLASS_SEQUENCE_TAG_SPEC(true, true, typename Sequence::tag)
-AUX_CLASS_SEQUENCE_TAG_SPEC(true, false, typename Sequence::tag)
-AUX_CLASS_SEQUENCE_TAG_SPEC(false, true, nested_begin_end_tag)
-AUX_CLASS_SEQUENCE_TAG_SPEC(false, false, non_sequence_tag)
-
-# undef AUX_CLASS_SEQUENCE_TAG_SPEC
-
-} // namespace aux
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(Sequence)
- >
-struct sequence_tag
- : aux::sequence_tag_impl<
- ::boost::mpl::aux::has_tag<Sequence>::value
- , ::boost::mpl::aux::has_begin<Sequence>::value
- >::template result2_<Sequence>
-{
-};
-
-#endif // BOOST_MSVC
-
-BOOST_MPL_AUX_NA_SPEC(1, sequence_tag)
-
-}}
-
-#endif // BOOST_MPL_SEQUENCE_TAG_HPP_INCLUDED
diff --git a/boost/mpl/sequence_tag_fwd.hpp b/boost/mpl/sequence_tag_fwd.hpp
deleted file mode 100644
index 07a6707..0000000
--- a/boost/mpl/sequence_tag_fwd.hpp
+++ /dev/null
@@ -1,26 +0,0 @@
-
-#ifndef BOOST_MPL_SEQUENCE_TAG_FWD_HPP_INCLUDED
-#define BOOST_MPL_SEQUENCE_TAG_FWD_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: sequence_tag_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-namespace boost { namespace mpl {
-
-struct nested_begin_end_tag;
-struct non_sequence_tag;
-
-template< typename Sequence > struct sequence_tag;
-
-}}
-
-#endif // BOOST_MPL_SEQUENCE_TAG_FWD_HPP_INCLUDED
diff --git a/boost/mpl/size.hpp b/boost/mpl/size.hpp
deleted file mode 100644
index 54b13cb..0000000
--- a/boost/mpl/size.hpp
+++ /dev/null
@@ -1,42 +0,0 @@
-
-#ifndef BOOST_MPL_SIZE_HPP_INCLUDED
-#define BOOST_MPL_SIZE_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: size.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/size_fwd.hpp>
-#include <boost/mpl/sequence_tag.hpp>
-#include <boost/mpl/aux_/size_impl.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-#include <boost/mpl/aux_/msvc_eti_base.hpp>
-
-namespace boost { namespace mpl {
-
-template<
- typename BOOST_MPL_AUX_NA_PARAM(Sequence)
- >
-struct size
- : aux::msvc_eti_base<
- typename size_impl< typename sequence_tag<Sequence>::type >
- ::template apply< Sequence >::type
- >::type
-{
- BOOST_MPL_AUX_LAMBDA_SUPPORT(1, size, (Sequence))
-};
-
-BOOST_MPL_AUX_NA_SPEC(1, size)
-
-}}
-
-#endif // BOOST_MPL_SIZE_HPP_INCLUDED
diff --git a/boost/mpl/size_fwd.hpp b/boost/mpl/size_fwd.hpp
deleted file mode 100644
index 8702da7..0000000
--- a/boost/mpl/size_fwd.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#ifndef BOOST_MPL_SIZE_FWD_HPP_INCLUDED
-#define BOOST_MPL_SIZE_FWD_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: size_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-namespace boost { namespace mpl {
-
-template< typename Tag > struct size_impl;
-template< typename Sequence > struct size;
-
-}}
-
-#endif // BOOST_MPL_SIZE_FWD_HPP_INCLUDED
diff --git a/boost/mpl/size_t.hpp b/boost/mpl/size_t.hpp
deleted file mode 100644
index 54a05c6..0000000
--- a/boost/mpl/size_t.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-
-#ifndef BOOST_MPL_SIZE_T_HPP_INCLUDED
-#define BOOST_MPL_SIZE_T_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: size_t.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/size_t_fwd.hpp>
-
-#define AUX_WRAPPER_VALUE_TYPE std::size_t
-#define AUX_WRAPPER_NAME size_t
-#define AUX_WRAPPER_PARAMS(N) std::size_t N
-
-#include <boost/mpl/aux_/integral_wrapper.hpp>
-
-#endif // BOOST_MPL_SIZE_T_HPP_INCLUDED
diff --git a/boost/mpl/size_t_fwd.hpp b/boost/mpl/size_t_fwd.hpp
deleted file mode 100644
index 396a521..0000000
--- a/boost/mpl/size_t_fwd.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-
-#ifndef BOOST_MPL_SIZE_T_FWD_HPP_INCLUDED
-#define BOOST_MPL_SIZE_T_FWD_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: size_t_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/adl_barrier.hpp>
-#include <boost/config.hpp> // make sure 'size_t' is placed into 'std'
-#include <cstddef>
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-
-template< std::size_t N > struct size_t;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-BOOST_MPL_AUX_ADL_BARRIER_DECL(size_t)
-
-#endif // BOOST_MPL_SIZE_T_FWD_HPP_INCLUDED
diff --git a/boost/mpl/tag.hpp b/boost/mpl/tag.hpp
deleted file mode 100644
index fc0aee2..0000000
--- a/boost/mpl/tag.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-
-#ifndef BOOST_MPL_TAG_HPP_INCLUDED
-#define BOOST_MPL_TAG_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 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: tag.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/void.hpp>
-#include <boost/mpl/aux_/has_tag.hpp>
-#include <boost/mpl/aux_/config/eti.hpp>
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template< typename T > struct tag_impl
-{
- typedef typename T::tag type;
-};
-}
-
-template< typename T, typename Default = void_ > struct tag
-#if !defined(BOOST_MPL_CFG_MSVC_ETI_BUG)
- : if_<
- aux::has_tag<T>
- , aux::tag_impl<T>
- , Default
- >::type
-{
-#else
-{
- typedef typename eval_if<
- aux::has_tag<T>
- , aux::tag_impl<T>
- , Default
- >::type type;
-
-#endif
-};
-
-}}
-
-#endif // BOOST_MPL_TAG_HPP_INCLUDED
diff --git a/boost/mpl/times.hpp b/boost/mpl/times.hpp
deleted file mode 100644
index c73256d..0000000
--- a/boost/mpl/times.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#ifndef BOOST_MPL_TIMES_HPP_INCLUDED
-#define BOOST_MPL_TIMES_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: times.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#define AUX778076_OP_NAME times
-#define AUX778076_OP_TOKEN *
-#include <boost/mpl/aux_/arithmetic_op.hpp>
-
-#endif // BOOST_MPL_TIMES_HPP_INCLUDED
diff --git a/boost/mpl/vector.hpp b/boost/mpl/vector.hpp
deleted file mode 100644
index 833f193..0000000
--- a/boost/mpl/vector.hpp
+++ /dev/null
@@ -1,57 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_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: vector.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-# include <boost/mpl/limits/vector.hpp>
-# include <boost/mpl/aux_/na.hpp>
-# include <boost/mpl/aux_/config/preprocessor.hpp>
-
-# include <boost/preprocessor/inc.hpp>
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/stringize.hpp>
-
-#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING)
-# define AUX778076_VECTOR_HEADER \
- BOOST_PP_CAT(vector, BOOST_MPL_LIMIT_VECTOR_SIZE).hpp \
- /**/
-#else
-# define AUX778076_VECTOR_HEADER \
- BOOST_PP_CAT(vector, BOOST_MPL_LIMIT_VECTOR_SIZE)##.hpp \
- /**/
-#endif
-
-# include BOOST_PP_STRINGIZE(boost/mpl/vector/AUX778076_VECTOR_HEADER)
-# undef AUX778076_VECTOR_HEADER
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-# define BOOST_MPL_PREPROCESSED_HEADER vector.hpp
-# include <boost/mpl/aux_/include_preprocessed.hpp>
-
-#else
-
-# include <boost/mpl/limits/vector.hpp>
-
-# define AUX778076_SEQUENCE_NAME vector
-# define AUX778076_SEQUENCE_LIMIT BOOST_MPL_LIMIT_VECTOR_SIZE
-# include <boost/mpl/aux_/sequence_wrapper.hpp>
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-#endif // BOOST_MPL_VECTOR_HPP_INCLUDED
diff --git a/boost/mpl/vector/aux_/O1_size.hpp b/boost/mpl/vector/aux_/O1_size.hpp
deleted file mode 100644
index 3ca8d21..0000000
--- a/boost/mpl/vector/aux_/O1_size.hpp
+++ /dev/null
@@ -1,56 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_AUX_O1_SIZE_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_AUX_O1_SIZE_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: O1_size.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/O1_size_fwd.hpp>
-#include <boost/mpl/minus.hpp>
-#include <boost/mpl/long.hpp>
-#include <boost/mpl/vector/aux_/tag.hpp>
-#include <boost/mpl/aux_/config/typeof.hpp>
-#include <boost/mpl/aux_/config/ctps.hpp>
-
-namespace boost { namespace mpl {
-
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
-
-template<>
-struct O1_size_impl< aux::vector_tag >
-{
- template< typename Vector > struct apply
- : Vector::size
- {
- };
-};
-
-#else
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template< long N >
-struct O1_size_impl< aux::vector_tag<N> >
-{
- template< typename Vector > struct apply
- : mpl::long_<N>
- {
- };
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
-
-}}
-
-#endif // BOOST_MPL_VECTOR_AUX_O1_SIZE_HPP_INCLUDED
diff --git a/boost/mpl/vector/aux_/at.hpp b/boost/mpl/vector/aux_/at.hpp
deleted file mode 100644
index 9da0595..0000000
--- a/boost/mpl/vector/aux_/at.hpp
+++ /dev/null
@@ -1,116 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_AUX_AT_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_AUX_AT_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: at.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/at_fwd.hpp>
-#include <boost/mpl/vector/aux_/tag.hpp>
-#include <boost/mpl/long.hpp>
-#include <boost/mpl/void.hpp>
-#include <boost/mpl/aux_/nttp_decl.hpp>
-#include <boost/mpl/aux_/type_wrapper.hpp>
-#include <boost/mpl/aux_/value_wknd.hpp>
-#include <boost/mpl/aux_/config/typeof.hpp>
-#include <boost/mpl/aux_/config/ctps.hpp>
-
-namespace boost { namespace mpl {
-
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
-
-template< typename Vector, long n_ >
-struct v_at_impl
-{
- typedef long_< (Vector::lower_bound_::value + n_) > index_;
- typedef __typeof__( Vector::item_(index_()) ) type;
-};
-
-
-template< typename Vector, long n_ >
-struct v_at
- : aux::wrapped_type< typename v_at_impl<Vector,n_>::type >
-{
-};
-
-template<>
-struct at_impl< aux::vector_tag >
-{
- template< typename Vector, typename N > struct apply
- : v_at<
- Vector
- , BOOST_MPL_AUX_VALUE_WKND(N)::value
- >
- {
- };
-};
-
-#else
-
-# if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
- && !defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC)
-
-template< typename Vector, BOOST_MPL_AUX_NTTP_DECL(long, n_) > struct v_at;
-
-template< BOOST_MPL_AUX_NTTP_DECL(long, n_) >
-struct at_impl< aux::vector_tag<n_> >
-{
- template< typename Vector, typename N > struct apply
-#if !defined(__BORLANDC__)
- : v_at<
- Vector
- , BOOST_MPL_AUX_VALUE_WKND(N)::value
- >
- {
-#else
- {
- typedef typename v_at<
- Vector
- , BOOST_MPL_AUX_VALUE_WKND(N)::value
- >::type type;
-#endif
- };
-};
-
-# else
-
-namespace aux {
-
-template< BOOST_MPL_AUX_NTTP_DECL(long, n_) > struct v_at_impl
-{
- template< typename V > struct result_;
-};
-
-// to work around ETI, etc.
-template<> struct v_at_impl<-1>
-{
- template< typename V > struct result_
- {
- typedef void_ type;
- };
-};
-
-} // namespace aux
-
-template< typename T, BOOST_MPL_AUX_NTTP_DECL(long, n_) >
-struct v_at
- : aux::v_at_impl<n_>::template result_<T>
-{
-};
-
-# endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
-
-}}
-
-#endif // BOOST_MPL_VECTOR_AUX_AT_HPP_INCLUDED
diff --git a/boost/mpl/vector/aux_/back.hpp b/boost/mpl/vector/aux_/back.hpp
deleted file mode 100644
index ce84c7a..0000000
--- a/boost/mpl/vector/aux_/back.hpp
+++ /dev/null
@@ -1,59 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_AUX_BACK_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_AUX_BACK_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: back.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/back_fwd.hpp>
-#include <boost/mpl/next_prior.hpp>
-#include <boost/mpl/vector/aux_/at.hpp>
-#include <boost/mpl/vector/aux_/tag.hpp>
-#include <boost/mpl/aux_/config/typeof.hpp>
-#include <boost/mpl/aux_/config/ctps.hpp>
-
-namespace boost { namespace mpl {
-
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
-
-template<>
-struct back_impl< aux::vector_tag >
-{
- template< typename Vector > struct apply
- : v_at<
- Vector
- , prior<typename Vector::size>::type::value
- >
- {
- };
-};
-
-#else
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template< long n_ >
-struct back_impl< aux::vector_tag<n_> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
-
-}}
-
-#endif // BOOST_MPL_VECTOR_AUX_BACK_HPP_INCLUDED
diff --git a/boost/mpl/vector/aux_/begin_end.hpp b/boost/mpl/vector/aux_/begin_end.hpp
deleted file mode 100644
index d79ef9a..0000000
--- a/boost/mpl/vector/aux_/begin_end.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_AUX_BEGIN_END_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_AUX_BEGIN_END_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: begin_end.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/typeof.hpp>
-
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
-
-# include <boost/mpl/begin_end_fwd.hpp>
-# include <boost/mpl/vector/aux_/iterator.hpp>
-# include <boost/mpl/vector/aux_/tag.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct begin_impl< aux::vector_tag >
-{
- template< typename Vector > struct apply
- {
- typedef v_iter<Vector,0> type;
- };
-};
-
-template<>
-struct end_impl< aux::vector_tag >
-{
- template< typename Vector > struct apply
- {
- typedef v_iter<Vector,Vector::size::value> type;
- };
-};
-
-}}
-
-#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
-
-#endif // BOOST_MPL_VECTOR_AUX_BEGIN_END_HPP_INCLUDED
diff --git a/boost/mpl/vector/aux_/clear.hpp b/boost/mpl/vector/aux_/clear.hpp
deleted file mode 100644
index 3308518..0000000
--- a/boost/mpl/vector/aux_/clear.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_AUX_CLEAR_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_AUX_CLEAR_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: clear.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/clear_fwd.hpp>
-#include <boost/mpl/vector/aux_/vector0.hpp>
-#include <boost/mpl/vector/aux_/tag.hpp>
-#include <boost/mpl/aux_/config/typeof.hpp>
-#include <boost/mpl/aux_/config/ctps.hpp>
-
-namespace boost { namespace mpl {
-
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
-
-template<>
-struct clear_impl< aux::vector_tag >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-#else
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template< long N >
-struct clear_impl< aux::vector_tag<N> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
-
-}}
-
-#endif // BOOST_MPL_VECTOR_AUX_CLEAR_HPP_INCLUDED
diff --git a/boost/mpl/vector/aux_/empty.hpp b/boost/mpl/vector/aux_/empty.hpp
deleted file mode 100644
index 84c8792..0000000
--- a/boost/mpl/vector/aux_/empty.hpp
+++ /dev/null
@@ -1,68 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_AUX_EMPTY_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_AUX_EMPTY_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: empty.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/empty_fwd.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/vector/aux_/tag.hpp>
-#include <boost/mpl/aux_/config/typeof.hpp>
-#include <boost/mpl/aux_/config/ctps.hpp>
-#include <boost/type_traits/is_same.hpp>
-
-namespace boost { namespace mpl {
-
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
-
-template<>
-struct empty_impl< aux::vector_tag >
-{
- template< typename Vector > struct apply
- : is_same<
- typename Vector::lower_bound_
- , typename Vector::upper_bound_
- >
- {
- };
-};
-
-#else
-
-template<>
-struct empty_impl< aux::vector_tag<0> >
-{
- template< typename Vector > struct apply
- : true_
- {
- };
-};
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template< long N >
-struct empty_impl< aux::vector_tag<N> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
-
-}}
-
-#endif // BOOST_MPL_VECTOR_AUX_EMPTY_HPP_INCLUDED
diff --git a/boost/mpl/vector/aux_/front.hpp b/boost/mpl/vector/aux_/front.hpp
deleted file mode 100644
index ff2414e..0000000
--- a/boost/mpl/vector/aux_/front.hpp
+++ /dev/null
@@ -1,56 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_AUX_FRONT_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_AUX_FRONT_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2000-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/mpl for documentation.
-
-// $Id: front.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/front_fwd.hpp>
-#include <boost/mpl/vector/aux_/at.hpp>
-#include <boost/mpl/vector/aux_/tag.hpp>
-#include <boost/mpl/aux_/nttp_decl.hpp>
-#include <boost/mpl/aux_/config/typeof.hpp>
-#include <boost/mpl/aux_/config/ctps.hpp>
-
-namespace boost { namespace mpl {
-
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
-
-template<>
-struct front_impl< aux::vector_tag >
-{
- template< typename Vector > struct apply
- : v_at<Vector,0>
- {
- };
-};
-
-#else
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template< BOOST_MPL_AUX_NTTP_DECL(long, n_) >
-struct front_impl< aux::vector_tag<n_> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
-
-}}
-
-#endif // BOOST_MPL_VECTOR_AUX_FRONT_HPP_INCLUDED
diff --git a/boost/mpl/vector/aux_/include_preprocessed.hpp b/boost/mpl/vector/aux_/include_preprocessed.hpp
deleted file mode 100644
index 5c16008..0000000
--- a/boost/mpl/vector/aux_/include_preprocessed.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
-
-// Copyright Aleksey Gurtovoy 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)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id: include_preprocessed.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/typeof.hpp>
-#include <boost/mpl/aux_/config/ctps.hpp>
-#include <boost/mpl/aux_/config/preprocessor.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/stringize.hpp>
-
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
-# define AUX778076_INCLUDE_DIR typeof_based
-#elif defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
- || defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC)
-# define AUX778076_INCLUDE_DIR no_ctps
-#else
-# define AUX778076_INCLUDE_DIR plain
-#endif
-
-#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING)
-# define AUX778076_HEADER \
- AUX778076_INCLUDE_DIR/BOOST_MPL_PREPROCESSED_HEADER \
-/**/
-#else
-# define AUX778076_HEADER \
- BOOST_PP_CAT(AUX778076_INCLUDE_DIR,/)##BOOST_MPL_PREPROCESSED_HEADER \
-/**/
-#endif
-
-
-#if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(700))
-# define AUX778076_INCLUDE_STRING BOOST_PP_STRINGIZE(boost/mpl/vector/aux_/preprocessed/AUX778076_HEADER)
-# include AUX778076_INCLUDE_STRING
-# undef AUX778076_INCLUDE_STRING
-#else
-# include BOOST_PP_STRINGIZE(boost/mpl/vector/aux_/preprocessed/AUX778076_HEADER)
-#endif
-
-# undef AUX778076_HEADER
-# undef AUX778076_INCLUDE_DIR
-
-#undef BOOST_MPL_PREPROCESSED_HEADER
diff --git a/boost/mpl/vector/aux_/item.hpp b/boost/mpl/vector/aux_/item.hpp
deleted file mode 100644
index da2b01b..0000000
--- a/boost/mpl/vector/aux_/item.hpp
+++ /dev/null
@@ -1,103 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_AUX_ITEM_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_AUX_ITEM_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: item.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/long.hpp>
-#include <boost/mpl/void.hpp>
-#include <boost/mpl/next_prior.hpp>
-#include <boost/mpl/aux_/type_wrapper.hpp>
-#include <boost/mpl/aux_/config/typeof.hpp>
-#include <boost/mpl/aux_/config/ctps.hpp>
-
-namespace boost { namespace mpl {
-
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
-
-template<
- typename T
- , typename Base
- , int at_front = 0
- >
-struct v_item
- : Base
-{
- typedef typename Base::upper_bound_ index_;
- typedef typename next<index_>::type upper_bound_;
- typedef typename next<typename Base::size>::type size;
- typedef Base base;
- typedef v_item type;
-
- // agurt 10/sep/04: MWCW <= 9.3 workaround here and below; the compiler
- // breaks if using declaration comes _before_ the new overload
- static aux::type_wrapper<T> item_(index_);
- using Base::item_;
-};
-
-template<
- typename T
- , typename Base
- >
-struct v_item<T,Base,1>
- : Base
-{
- typedef typename prior<typename Base::lower_bound_>::type index_;
- typedef index_ lower_bound_;
- typedef typename next<typename Base::size>::type size;
- typedef Base base;
- typedef v_item type;
-
- static aux::type_wrapper<T> item_(index_);
- using Base::item_;
-};
-
-// "erasure" item
-template<
- typename Base
- , int at_front
- >
-struct v_mask
- : Base
-{
- typedef typename prior<typename Base::upper_bound_>::type index_;
- typedef index_ upper_bound_;
- typedef typename prior<typename Base::size>::type size;
- typedef Base base;
- typedef v_mask type;
-
- static aux::type_wrapper<void_> item_(index_);
- using Base::item_;
-};
-
-template<
- typename Base
- >
-struct v_mask<Base,1>
- : Base
-{
- typedef typename Base::lower_bound_ index_;
- typedef typename next<index_>::type lower_bound_;
- typedef typename prior<typename Base::size>::type size;
- typedef Base base;
- typedef v_mask type;
-
- static aux::type_wrapper<void_> item_(index_);
- using Base::item_;
-};
-
-#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
-
-}}
-
-#endif // BOOST_MPL_VECTOR_AUX_ITEM_HPP_INCLUDED
diff --git a/boost/mpl/vector/aux_/iterator.hpp b/boost/mpl/vector/aux_/iterator.hpp
deleted file mode 100644
index 770ed15..0000000
--- a/boost/mpl/vector/aux_/iterator.hpp
+++ /dev/null
@@ -1,130 +0,0 @@
-
-#ifndef BOOST_MPL_AUX_VECTOR_ITERATOR_HPP_INCLUDED
-#define BOOST_MPL_AUX_VECTOR_ITERATOR_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: iterator.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/vector/aux_/at.hpp>
-#include <boost/mpl/iterator_tags.hpp>
-#include <boost/mpl/plus.hpp>
-#include <boost/mpl/minus.hpp>
-#include <boost/mpl/advance_fwd.hpp>
-#include <boost/mpl/distance_fwd.hpp>
-#include <boost/mpl/next.hpp>
-#include <boost/mpl/prior.hpp>
-#include <boost/mpl/aux_/nttp_decl.hpp>
-#include <boost/mpl/aux_/value_wknd.hpp>
-#include <boost/mpl/aux_/config/ctps.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-namespace boost { namespace mpl {
-
-template<
- typename Vector
- , BOOST_MPL_AUX_NTTP_DECL(long, n_)
- >
-struct v_iter
-{
- typedef aux::v_iter_tag tag;
- typedef random_access_iterator_tag category;
- typedef typename v_at<Vector,n_>::type type;
-
- typedef Vector vector_;
- typedef mpl::long_<n_> pos;
-
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
- enum {
- next_ = n_ + 1
- , prior_ = n_ - 1
- , pos_ = n_
- };
-
- typedef v_iter<Vector,next_> next;
- typedef v_iter<Vector,prior_> prior;
-#endif
-
-};
-
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template<
- typename Vector
- , BOOST_MPL_AUX_NTTP_DECL(long, n_)
- >
-struct next< v_iter<Vector,n_> >
-{
- typedef v_iter<Vector,(n_ + 1)> type;
-};
-
-template<
- typename Vector
- , BOOST_MPL_AUX_NTTP_DECL(long, n_)
- >
-struct prior< v_iter<Vector,n_> >
-{
- typedef v_iter<Vector,(n_ - 1)> type;
-};
-
-template<
- typename Vector
- , BOOST_MPL_AUX_NTTP_DECL(long, n_)
- , typename Distance
- >
-struct advance< v_iter<Vector,n_>,Distance>
-{
- typedef v_iter<
- Vector
- , (n_ + BOOST_MPL_AUX_NESTED_VALUE_WKND(long, Distance))
- > type;
-};
-
-template<
- typename Vector
- , BOOST_MPL_AUX_NTTP_DECL(long, n_)
- , BOOST_MPL_AUX_NTTP_DECL(long, m_)
- >
-struct distance< v_iter<Vector,n_>, v_iter<Vector,m_> >
- : mpl::long_<(m_ - n_)>
-{
-};
-
-#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-template<> struct advance_impl<aux::v_iter_tag>
-{
- template< typename Iterator, typename N > struct apply
- {
- enum { pos_ = Iterator::pos_, n_ = N::value };
- typedef v_iter<
- typename Iterator::vector_
- , (pos_ + n_)
- > type;
- };
-};
-
-template<> struct distance_impl<aux::v_iter_tag>
-{
- template< typename Iter1, typename Iter2 > struct apply
- {
- enum { pos1_ = Iter1::pos_, pos2_ = Iter2::pos_ };
- typedef long_<( pos2_ - pos1_ )> type;
- BOOST_STATIC_CONSTANT(long, value = ( pos2_ - pos1_ ));
- };
-};
-
-#endif
-
-}}
-
-#endif // BOOST_MPL_AUX_VECTOR_ITERATOR_HPP_INCLUDED
diff --git a/boost/mpl/vector/aux_/numbered.hpp b/boost/mpl/vector/aux_/numbered.hpp
deleted file mode 100644
index 04265a3..0000000
--- a/boost/mpl/vector/aux_/numbered.hpp
+++ /dev/null
@@ -1,218 +0,0 @@
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
-
-#if defined(BOOST_PP_IS_ITERATING)
-
-// 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: numbered.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/preprocessor/enum_params.hpp>
-#include <boost/preprocessor/enum_shifted_params.hpp>
-#include <boost/preprocessor/comma_if.hpp>
-#include <boost/preprocessor/repeat.hpp>
-#include <boost/preprocessor/dec.hpp>
-#include <boost/preprocessor/cat.hpp>
-
-#define i_ BOOST_PP_FRAME_ITERATION(1)
-
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
-
-# define AUX778076_VECTOR_TAIL(vector, i_, T) \
- BOOST_PP_CAT(vector,i_)< \
- BOOST_PP_ENUM_PARAMS(i_, T) \
- > \
- /**/
-
-#if i_ > 0
-template<
- BOOST_PP_ENUM_PARAMS(i_, typename T)
- >
-struct BOOST_PP_CAT(vector,i_)
- : v_item<
- BOOST_PP_CAT(T,BOOST_PP_DEC(i_))
- , AUX778076_VECTOR_TAIL(vector,BOOST_PP_DEC(i_),T)
- >
-{
- typedef BOOST_PP_CAT(vector,i_) type;
-};
-#endif
-
-# undef AUX778076_VECTOR_TAIL
-
-#else // "brute force" implementation
-
-# if i_ > 0
-
-template<
- BOOST_PP_ENUM_PARAMS(i_, typename T)
- >
-struct BOOST_PP_CAT(vector,i_)
-{
- typedef aux::vector_tag<i_> tag;
- typedef BOOST_PP_CAT(vector,i_) type;
-
-# define AUX778076_VECTOR_ITEM(unused, i_, unused2) \
- typedef BOOST_PP_CAT(T,i_) BOOST_PP_CAT(item,i_); \
- /**/
-
- BOOST_PP_REPEAT(i_, AUX778076_VECTOR_ITEM, unused)
-# undef AUX778076_VECTOR_ITEM
- typedef void_ BOOST_PP_CAT(item,i_);
- typedef BOOST_PP_CAT(T,BOOST_PP_DEC(i_)) back;
-
- // Borland forces us to use 'type' here (instead of the class name)
- typedef v_iter<type,0> begin;
- typedef v_iter<type,i_> end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<BOOST_PP_DEC(i_)> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef BOOST_PP_CAT(vector,i_)<
- T
- BOOST_PP_COMMA_IF(BOOST_PP_DEC(i_))
- BOOST_PP_ENUM_PARAMS(BOOST_PP_DEC(i_), typename Vector::item)
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<i_> >
-{
- template< typename Vector > struct apply
- {
- typedef BOOST_PP_CAT(vector,BOOST_PP_DEC(i_))<
- BOOST_PP_ENUM_SHIFTED_PARAMS(i_, typename Vector::item)
- > type;
- };
-};
-
-
-template<>
-struct push_back_impl< aux::vector_tag<BOOST_PP_DEC(i_)> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef BOOST_PP_CAT(vector,i_)<
- BOOST_PP_ENUM_PARAMS(BOOST_PP_DEC(i_), typename Vector::item)
- BOOST_PP_COMMA_IF(BOOST_PP_DEC(i_))
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<i_> >
-{
- template< typename Vector > struct apply
- {
- typedef BOOST_PP_CAT(vector,BOOST_PP_DEC(i_))<
- BOOST_PP_ENUM_PARAMS(BOOST_PP_DEC(i_), typename Vector::item)
- > type;
- };
-};
-
-# endif // i_ > 0
-
-# if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
- && !defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC)
-
-template< typename V >
-struct v_at<V,i_>
-{
- typedef typename V::BOOST_PP_CAT(item,i_) type;
-};
-
-# else
-
-namespace aux {
-template<> struct v_at_impl<i_>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::BOOST_PP_CAT(item,i_) type;
- };
-};
-}
-
-template<>
-struct at_impl< aux::vector_tag<i_> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-#if i_ > 0
-template<>
-struct front_impl< aux::vector_tag<i_> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<i_> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<i_> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-#endif
-
-template<>
-struct size_impl< aux::vector_tag<i_> >
-{
- template< typename Vector > struct apply
- : long_<i_>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<i_> >
- : size_impl< aux::vector_tag<i_> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<i_> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-# endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
-
-#undef i_
-
-#endif // BOOST_PP_IS_ITERATING
diff --git a/boost/mpl/vector/aux_/numbered_c.hpp b/boost/mpl/vector/aux_/numbered_c.hpp
deleted file mode 100644
index 6a7cf40..0000000
--- a/boost/mpl/vector/aux_/numbered_c.hpp
+++ /dev/null
@@ -1,77 +0,0 @@
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
-
-#if defined(BOOST_PP_IS_ITERATING)
-
-// 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: numbered_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/preprocessor/enum_params.hpp>
-#include <boost/preprocessor/enum_shifted_params.hpp>
-#include <boost/preprocessor/comma_if.hpp>
-#include <boost/preprocessor/repeat.hpp>
-#include <boost/preprocessor/dec.hpp>
-#include <boost/preprocessor/cat.hpp>
-
-#define i_ BOOST_PP_FRAME_ITERATION(1)
-
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
-
-# define AUX778076_VECTOR_TAIL(vector, i_, C) \
- BOOST_PP_CAT(BOOST_PP_CAT(vector,i_),_c)<T \
- BOOST_PP_COMMA_IF(i_) BOOST_PP_ENUM_PARAMS(i_, C) \
- > \
- /**/
-
-#if i_ > 0
-template<
- typename T
- , BOOST_PP_ENUM_PARAMS(i_, T C)
- >
-struct BOOST_PP_CAT(BOOST_PP_CAT(vector,i_),_c)
- : v_item<
- integral_c<T,BOOST_PP_CAT(C,BOOST_PP_DEC(i_))>
- , AUX778076_VECTOR_TAIL(vector,BOOST_PP_DEC(i_),C)
- >
-{
- typedef BOOST_PP_CAT(BOOST_PP_CAT(vector,i_),_c) type;
- typedef T value_type;
-};
-#endif
-
-# undef AUX778076_VECTOR_TAIL
-
-#else // "brute force" implementation
-
-# define AUX778076_VECTOR_C_PARAM_FUNC(unused, i_, param) \
- BOOST_PP_COMMA_IF(i_) \
- integral_c<T,BOOST_PP_CAT(param,i_)> \
- /**/
-
-template<
- typename T
- , BOOST_PP_ENUM_PARAMS(i_, T C)
- >
-struct BOOST_PP_CAT(BOOST_PP_CAT(vector,i_),_c)
- : BOOST_PP_CAT(vector,i_)< BOOST_PP_REPEAT(i_,AUX778076_VECTOR_C_PARAM_FUNC,C) >
-{
- typedef BOOST_PP_CAT(BOOST_PP_CAT(vector,i_),_c) type;
- typedef T value_type;
-};
-
-# undef AUX778076_VECTOR_C_PARAM_FUNC
-
-#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
-
-#undef i_
-
-#endif // BOOST_PP_IS_ITERATING
diff --git a/boost/mpl/vector/aux_/pop_back.hpp b/boost/mpl/vector/aux_/pop_back.hpp
deleted file mode 100644
index a43a3a6..0000000
--- a/boost/mpl/vector/aux_/pop_back.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_AUX_POP_BACK_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_AUX_POP_BACK_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: pop_back.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/pop_back_fwd.hpp>
-#include <boost/mpl/aux_/config/typeof.hpp>
-
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
-
-# include <boost/mpl/vector/aux_/item.hpp>
-# include <boost/mpl/vector/aux_/tag.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct pop_back_impl< aux::vector_tag >
-{
- template< typename Vector > struct apply
- {
- typedef v_mask<Vector,0> type;
- };
-};
-
-}}
-
-#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
-
-#endif // BOOST_MPL_VECTOR_AUX_POP_BACK_HPP_INCLUDED
diff --git a/boost/mpl/vector/aux_/pop_front.hpp b/boost/mpl/vector/aux_/pop_front.hpp
deleted file mode 100644
index a448d25..0000000
--- a/boost/mpl/vector/aux_/pop_front.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_AUX_POP_FRONT_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_AUX_POP_FRONT_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: pop_front.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/pop_front_fwd.hpp>
-#include <boost/mpl/aux_/config/typeof.hpp>
-
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
-
-# include <boost/mpl/vector/aux_/item.hpp>
-# include <boost/mpl/vector/aux_/tag.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct pop_front_impl< aux::vector_tag >
-{
- template< typename Vector > struct apply
- {
- typedef v_mask<Vector,1> type;
- };
-};
-
-}}
-
-#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
-
-#endif // BOOST_MPL_VECTOR_AUX_POP_FRONT_HPP_INCLUDED
diff --git a/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10.hpp b/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10.hpp
deleted file mode 100644
index c79a1ac..0000000
--- a/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10.hpp
+++ /dev/null
@@ -1,1528 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector10.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-namespace aux {
-template<> struct v_at_impl<0>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item0 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<0> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<0> >
-{
- template< typename Vector > struct apply
- : long_<0>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<0> >
- : size_impl< aux::vector_tag<0> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<0> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-template<
- typename T0
- >
-struct vector1
-{
- typedef aux::vector_tag<1> tag;
- typedef vector1 type;
- typedef T0 item0;
- typedef void_ item1;
- typedef T0 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,1 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<0> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector1<
- T
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<1> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<
-
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<0> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector1<
-
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<1> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<
-
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<1>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item1 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<1> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<1> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<1> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<1> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<1> >
-{
- template< typename Vector > struct apply
- : long_<1>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<1> >
- : size_impl< aux::vector_tag<1> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<1> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-template<
- typename T0, typename T1
- >
-struct vector2
-{
- typedef aux::vector_tag<2> tag;
- typedef vector2 type;
- typedef T0 item0;
- typedef T1 item1;
-
-
- typedef void_ item2;
- typedef T1 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,2 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<1> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector2<
- T
- ,
- typename Vector::item0
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<2> >
-{
- template< typename Vector > struct apply
- {
- typedef vector1<
- typename Vector::item1
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<1> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector2<
- typename Vector::item0
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<2> >
-{
- template< typename Vector > struct apply
- {
- typedef vector1<
- typename Vector::item0
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<2>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item2 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<2> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<2> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<2> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<2> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<2> >
-{
- template< typename Vector > struct apply
- : long_<2>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<2> >
- : size_impl< aux::vector_tag<2> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<2> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct vector3
-{
- typedef aux::vector_tag<3> tag;
- typedef vector3 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
-
-
- typedef void_ item3;
- typedef T2 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,3 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<2> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector3<
- T
- ,
- typename Vector::item0, typename Vector::item1
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<3> >
-{
- template< typename Vector > struct apply
- {
- typedef vector2<
- typename Vector::item1, typename Vector::item2
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<2> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector3<
- typename Vector::item0, typename Vector::item1
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<3> >
-{
- template< typename Vector > struct apply
- {
- typedef vector2<
- typename Vector::item0, typename Vector::item1
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<3>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item3 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<3> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<3> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<3> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<3> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<3> >
-{
- template< typename Vector > struct apply
- : long_<3>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<3> >
- : size_impl< aux::vector_tag<3> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<3> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct vector4
-{
- typedef aux::vector_tag<4> tag;
- typedef vector4 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
-
-
- typedef void_ item4;
- typedef T3 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,4 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<3> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector4<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<4> >
-{
- template< typename Vector > struct apply
- {
- typedef vector3<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<3> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector4<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<4> >
-{
- template< typename Vector > struct apply
- {
- typedef vector3<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<4>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item4 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<4> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<4> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<4> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<4> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<4> >
-{
- template< typename Vector > struct apply
- : long_<4>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<4> >
- : size_impl< aux::vector_tag<4> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<4> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct vector5
-{
- typedef aux::vector_tag<5> tag;
- typedef vector5 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
-
-
- typedef void_ item5;
- typedef T4 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,5 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<4> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector5<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<5> >
-{
- template< typename Vector > struct apply
- {
- typedef vector4<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<4> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector5<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<5> >
-{
- template< typename Vector > struct apply
- {
- typedef vector4<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<5>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item5 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<5> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<5> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<5> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<5> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<5> >
-{
- template< typename Vector > struct apply
- : long_<5>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<5> >
- : size_impl< aux::vector_tag<5> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<5> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct vector6
-{
- typedef aux::vector_tag<6> tag;
- typedef vector6 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
-
-
- typedef void_ item6;
- typedef T5 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,6 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<5> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector6<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<6> >
-{
- template< typename Vector > struct apply
- {
- typedef vector5<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<5> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector6<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<6> >
-{
- template< typename Vector > struct apply
- {
- typedef vector5<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<6>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item6 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<6> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<6> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<6> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<6> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<6> >
-{
- template< typename Vector > struct apply
- : long_<6>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<6> >
- : size_impl< aux::vector_tag<6> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<6> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct vector7
-{
- typedef aux::vector_tag<7> tag;
- typedef vector7 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
-
-
- typedef void_ item7;
- typedef T6 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,7 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<6> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector7<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<7> >
-{
- template< typename Vector > struct apply
- {
- typedef vector6<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<6> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector7<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<7> >
-{
- template< typename Vector > struct apply
- {
- typedef vector6<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<7>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item7 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<7> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<7> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<7> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<7> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<7> >
-{
- template< typename Vector > struct apply
- : long_<7>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<7> >
- : size_impl< aux::vector_tag<7> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<7> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct vector8
-{
- typedef aux::vector_tag<8> tag;
- typedef vector8 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
-
-
- typedef void_ item8;
- typedef T7 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,8 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<7> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector8<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<8> >
-{
- template< typename Vector > struct apply
- {
- typedef vector7<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<7> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector8<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<8> >
-{
- template< typename Vector > struct apply
- {
- typedef vector7<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<8>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item8 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<8> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<8> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<8> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<8> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<8> >
-{
- template< typename Vector > struct apply
- : long_<8>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<8> >
- : size_impl< aux::vector_tag<8> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<8> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct vector9
-{
- typedef aux::vector_tag<9> tag;
- typedef vector9 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
-
-
- typedef void_ item9;
- typedef T8 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,9 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<8> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector9<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<9> >
-{
- template< typename Vector > struct apply
- {
- typedef vector8<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<8> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector9<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<9> >
-{
- template< typename Vector > struct apply
- {
- typedef vector8<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<9>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item9 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<9> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<9> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<9> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<9> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<9> >
-{
- template< typename Vector > struct apply
- : long_<9>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<9> >
- : size_impl< aux::vector_tag<9> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<9> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct vector10
-{
- typedef aux::vector_tag<10> tag;
- typedef vector10 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
-
-
- typedef void_ item10;
- typedef T9 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,10 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<9> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector10<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<10> >
-{
- template< typename Vector > struct apply
- {
- typedef vector9<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<9> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector10<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<10> >
-{
- template< typename Vector > struct apply
- {
- typedef vector9<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<10>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item10 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<10> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<10> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<10> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<10> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<10> >
-{
- template< typename Vector > struct apply
- : long_<10>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<10> >
- : size_impl< aux::vector_tag<10> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<10> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-}}
diff --git a/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10_c.hpp b/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10_c.hpp
deleted file mode 100644
index 8b36f6a..0000000
--- a/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10_c.hpp
+++ /dev/null
@@ -1,149 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector10_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T
- , T C0
- >
-struct vector1_c
- : vector1< integral_c< T,C0 > >
-{
- typedef vector1_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1
- >
-struct vector2_c
- : vector2< integral_c< T,C0 >, integral_c< T,C1 > >
-{
- typedef vector2_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2
- >
-struct vector3_c
- : vector3< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > >
-{
- typedef vector3_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3
- >
-struct vector4_c
- : vector4<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >, integral_c<T
- , C3>
- >
-{
- typedef vector4_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4
- >
-struct vector5_c
- : vector5<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >
- >
-{
- typedef vector5_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5
- >
-struct vector6_c
- : vector6<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >
- >
-{
- typedef vector6_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6
- >
-struct vector7_c
- : vector7<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c<T
- , C6>
- >
-{
- typedef vector7_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7
- >
-struct vector8_c
- : vector8<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >
- >
-{
- typedef vector8_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8
- >
-struct vector9_c
- : vector9<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >
- >
-{
- typedef vector9_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9
- >
-struct vector10_c
- : vector10<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- >
-{
- typedef vector10_c type;
- typedef T value_type;
-};
-
-}}
diff --git a/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20.hpp b/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20.hpp
deleted file mode 100644
index eb92a78..0000000
--- a/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20.hpp
+++ /dev/null
@@ -1,1804 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector20.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct vector11
-{
- typedef aux::vector_tag<11> tag;
- typedef vector11 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
-
-
- typedef void_ item11;
- typedef T10 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,11 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<10> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector11<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<11> >
-{
- template< typename Vector > struct apply
- {
- typedef vector10<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<10> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector11<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<11> >
-{
- template< typename Vector > struct apply
- {
- typedef vector10<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<11>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item11 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<11> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<11> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<11> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<11> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<11> >
-{
- template< typename Vector > struct apply
- : long_<11>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<11> >
- : size_impl< aux::vector_tag<11> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<11> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct vector12
-{
- typedef aux::vector_tag<12> tag;
- typedef vector12 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
-
-
- typedef void_ item12;
- typedef T11 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,12 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<11> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector12<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<12> >
-{
- template< typename Vector > struct apply
- {
- typedef vector11<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<11> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector12<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<12> >
-{
- template< typename Vector > struct apply
- {
- typedef vector11<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<12>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item12 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<12> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<12> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<12> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<12> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<12> >
-{
- template< typename Vector > struct apply
- : long_<12>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<12> >
- : size_impl< aux::vector_tag<12> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<12> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct vector13
-{
- typedef aux::vector_tag<13> tag;
- typedef vector13 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
-
-
- typedef void_ item13;
- typedef T12 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,13 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<12> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector13<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<13> >
-{
- template< typename Vector > struct apply
- {
- typedef vector12<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<12> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector13<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<13> >
-{
- template< typename Vector > struct apply
- {
- typedef vector12<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<13>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item13 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<13> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<13> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<13> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<13> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<13> >
-{
- template< typename Vector > struct apply
- : long_<13>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<13> >
- : size_impl< aux::vector_tag<13> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<13> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct vector14
-{
- typedef aux::vector_tag<14> tag;
- typedef vector14 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
-
-
- typedef void_ item14;
- typedef T13 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,14 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<13> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector14<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<14> >
-{
- template< typename Vector > struct apply
- {
- typedef vector13<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<13> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector14<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<14> >
-{
- template< typename Vector > struct apply
- {
- typedef vector13<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<14>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item14 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<14> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<14> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<14> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<14> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<14> >
-{
- template< typename Vector > struct apply
- : long_<14>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<14> >
- : size_impl< aux::vector_tag<14> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<14> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct vector15
-{
- typedef aux::vector_tag<15> tag;
- typedef vector15 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
-
-
- typedef void_ item15;
- typedef T14 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,15 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<14> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector15<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<15> >
-{
- template< typename Vector > struct apply
- {
- typedef vector14<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<14> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector15<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<15> >
-{
- template< typename Vector > struct apply
- {
- typedef vector14<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<15>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item15 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<15> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<15> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<15> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<15> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<15> >
-{
- template< typename Vector > struct apply
- : long_<15>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<15> >
- : size_impl< aux::vector_tag<15> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<15> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct vector16
-{
- typedef aux::vector_tag<16> tag;
- typedef vector16 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
-
-
- typedef void_ item16;
- typedef T15 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,16 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<15> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector16<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<16> >
-{
- template< typename Vector > struct apply
- {
- typedef vector15<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<15> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector16<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<16> >
-{
- template< typename Vector > struct apply
- {
- typedef vector15<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<16>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item16 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<16> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<16> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<16> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<16> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<16> >
-{
- template< typename Vector > struct apply
- : long_<16>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<16> >
- : size_impl< aux::vector_tag<16> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<16> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct vector17
-{
- typedef aux::vector_tag<17> tag;
- typedef vector17 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
-
-
- typedef void_ item17;
- typedef T16 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,17 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<16> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector17<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<17> >
-{
- template< typename Vector > struct apply
- {
- typedef vector16<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<16> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector17<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<17> >
-{
- template< typename Vector > struct apply
- {
- typedef vector16<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<17>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item17 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<17> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<17> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<17> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<17> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<17> >
-{
- template< typename Vector > struct apply
- : long_<17>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<17> >
- : size_impl< aux::vector_tag<17> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<17> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct vector18
-{
- typedef aux::vector_tag<18> tag;
- typedef vector18 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
-
-
- typedef void_ item18;
- typedef T17 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,18 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<17> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector18<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<18> >
-{
- template< typename Vector > struct apply
- {
- typedef vector17<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<17> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector18<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<18> >
-{
- template< typename Vector > struct apply
- {
- typedef vector17<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<18>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item18 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<18> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<18> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<18> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<18> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<18> >
-{
- template< typename Vector > struct apply
- : long_<18>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<18> >
- : size_impl< aux::vector_tag<18> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<18> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct vector19
-{
- typedef aux::vector_tag<19> tag;
- typedef vector19 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
-
-
- typedef void_ item19;
- typedef T18 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,19 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<18> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector19<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<19> >
-{
- template< typename Vector > struct apply
- {
- typedef vector18<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<18> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector19<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<19> >
-{
- template< typename Vector > struct apply
- {
- typedef vector18<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<19>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item19 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<19> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<19> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<19> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<19> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<19> >
-{
- template< typename Vector > struct apply
- : long_<19>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<19> >
- : size_impl< aux::vector_tag<19> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<19> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct vector20
-{
- typedef aux::vector_tag<20> tag;
- typedef vector20 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
-
-
- typedef void_ item20;
- typedef T19 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,20 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<19> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector20<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<20> >
-{
- template< typename Vector > struct apply
- {
- typedef vector19<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<19> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector20<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<20> >
-{
- template< typename Vector > struct apply
- {
- typedef vector19<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<20>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item20 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<20> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<20> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<20> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<20> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<20> >
-{
- template< typename Vector > struct apply
- : long_<20>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<20> >
- : size_impl< aux::vector_tag<20> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<20> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-}}
diff --git a/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20_c.hpp b/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20_c.hpp
deleted file mode 100644
index 56ca53f..0000000
--- a/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20_c.hpp
+++ /dev/null
@@ -1,195 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector20_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- >
-struct vector11_c
- : vector11<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >, integral_c<T
- , C10>
- >
-{
- typedef vector11_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11
- >
-struct vector12_c
- : vector12<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >
- >
-{
- typedef vector12_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12
- >
-struct vector13_c
- : vector13<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- >
-{
- typedef vector13_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13
- >
-struct vector14_c
- : vector14<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >, integral_c<T
- , C13>
- >
-{
- typedef vector14_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14
- >
-struct vector15_c
- : vector15<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >
- >
-{
- typedef vector15_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15
- >
-struct vector16_c
- : vector16<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- >
-{
- typedef vector16_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16
- >
-struct vector17_c
- : vector17<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >, integral_c<T
- , C16>
- >
-{
- typedef vector17_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17
- >
-struct vector18_c
- : vector18<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >
- >
-{
- typedef vector18_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18
- >
-struct vector19_c
- : vector19<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- >
-{
- typedef vector19_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19
- >
-struct vector20_c
- : vector20<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >, integral_c<T
- , C19>
- >
-{
- typedef vector20_c type;
- typedef T value_type;
-};
-
-}}
diff --git a/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30.hpp b/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30.hpp
deleted file mode 100644
index a685019..0000000
--- a/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30.hpp
+++ /dev/null
@@ -1,2124 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector30.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20
- >
-struct vector21
-{
- typedef aux::vector_tag<21> tag;
- typedef vector21 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
-
-
- typedef void_ item21;
- typedef T20 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,21 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<20> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector21<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<21> >
-{
- template< typename Vector > struct apply
- {
- typedef vector20<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<20> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector21<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<21> >
-{
- template< typename Vector > struct apply
- {
- typedef vector20<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<21>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item21 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<21> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<21> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<21> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<21> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<21> >
-{
- template< typename Vector > struct apply
- : long_<21>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<21> >
- : size_impl< aux::vector_tag<21> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<21> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21
- >
-struct vector22
-{
- typedef aux::vector_tag<22> tag;
- typedef vector22 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
-
-
- typedef void_ item22;
- typedef T21 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,22 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<21> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector22<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<22> >
-{
- template< typename Vector > struct apply
- {
- typedef vector21<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<21> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector22<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<22> >
-{
- template< typename Vector > struct apply
- {
- typedef vector21<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<22>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item22 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<22> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<22> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<22> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<22> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<22> >
-{
- template< typename Vector > struct apply
- : long_<22>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<22> >
- : size_impl< aux::vector_tag<22> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<22> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22
- >
-struct vector23
-{
- typedef aux::vector_tag<23> tag;
- typedef vector23 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
-
-
- typedef void_ item23;
- typedef T22 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,23 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<22> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector23<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<23> >
-{
- template< typename Vector > struct apply
- {
- typedef vector22<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<22> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector23<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<23> >
-{
- template< typename Vector > struct apply
- {
- typedef vector22<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<23>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item23 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<23> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<23> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<23> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<23> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<23> >
-{
- template< typename Vector > struct apply
- : long_<23>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<23> >
- : size_impl< aux::vector_tag<23> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<23> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23
- >
-struct vector24
-{
- typedef aux::vector_tag<24> tag;
- typedef vector24 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
-
-
- typedef void_ item24;
- typedef T23 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,24 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<23> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector24<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<24> >
-{
- template< typename Vector > struct apply
- {
- typedef vector23<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<23> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector24<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<24> >
-{
- template< typename Vector > struct apply
- {
- typedef vector23<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<24>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item24 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<24> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<24> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<24> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<24> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<24> >
-{
- template< typename Vector > struct apply
- : long_<24>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<24> >
- : size_impl< aux::vector_tag<24> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<24> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- >
-struct vector25
-{
- typedef aux::vector_tag<25> tag;
- typedef vector25 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
-
-
- typedef void_ item25;
- typedef T24 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,25 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<24> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector25<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<25> >
-{
- template< typename Vector > struct apply
- {
- typedef vector24<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<24> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector25<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<25> >
-{
- template< typename Vector > struct apply
- {
- typedef vector24<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<25>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item25 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<25> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<25> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<25> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<25> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<25> >
-{
- template< typename Vector > struct apply
- : long_<25>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<25> >
- : size_impl< aux::vector_tag<25> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<25> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25
- >
-struct vector26
-{
- typedef aux::vector_tag<26> tag;
- typedef vector26 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
-
-
- typedef void_ item26;
- typedef T25 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,26 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<25> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector26<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<26> >
-{
- template< typename Vector > struct apply
- {
- typedef vector25<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<25> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector26<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<26> >
-{
- template< typename Vector > struct apply
- {
- typedef vector25<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<26>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item26 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<26> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<26> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<26> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<26> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<26> >
-{
- template< typename Vector > struct apply
- : long_<26>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<26> >
- : size_impl< aux::vector_tag<26> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<26> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26
- >
-struct vector27
-{
- typedef aux::vector_tag<27> tag;
- typedef vector27 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
- typedef T26 item26;
-
-
- typedef void_ item27;
- typedef T26 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,27 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<26> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector27<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<27> >
-{
- template< typename Vector > struct apply
- {
- typedef vector26<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25, typename Vector::item26
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<26> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector27<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<27> >
-{
- template< typename Vector > struct apply
- {
- typedef vector26<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<27>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item27 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<27> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<27> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<27> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<27> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<27> >
-{
- template< typename Vector > struct apply
- : long_<27>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<27> >
- : size_impl< aux::vector_tag<27> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<27> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27
- >
-struct vector28
-{
- typedef aux::vector_tag<28> tag;
- typedef vector28 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
- typedef T26 item26;
- typedef T27 item27;
-
-
- typedef void_ item28;
- typedef T27 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,28 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<27> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector28<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<28> >
-{
- template< typename Vector > struct apply
- {
- typedef vector27<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25, typename Vector::item26
- , typename Vector::item27
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<27> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector28<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<28> >
-{
- template< typename Vector > struct apply
- {
- typedef vector27<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<28>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item28 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<28> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<28> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<28> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<28> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<28> >
-{
- template< typename Vector > struct apply
- : long_<28>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<28> >
- : size_impl< aux::vector_tag<28> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<28> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28
- >
-struct vector29
-{
- typedef aux::vector_tag<29> tag;
- typedef vector29 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
- typedef T26 item26;
- typedef T27 item27;
- typedef T28 item28;
-
-
- typedef void_ item29;
- typedef T28 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,29 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<28> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector29<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<29> >
-{
- template< typename Vector > struct apply
- {
- typedef vector28<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25, typename Vector::item26
- , typename Vector::item27, typename Vector::item28
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<28> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector29<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<29> >
-{
- template< typename Vector > struct apply
- {
- typedef vector28<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<29>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item29 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<29> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<29> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<29> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<29> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<29> >
-{
- template< typename Vector > struct apply
- : long_<29>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<29> >
- : size_impl< aux::vector_tag<29> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<29> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- >
-struct vector30
-{
- typedef aux::vector_tag<30> tag;
- typedef vector30 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
- typedef T26 item26;
- typedef T27 item27;
- typedef T28 item28;
- typedef T29 item29;
-
-
- typedef void_ item30;
- typedef T29 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,30 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<29> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector30<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<30> >
-{
- template< typename Vector > struct apply
- {
- typedef vector29<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25, typename Vector::item26
- , typename Vector::item27, typename Vector::item28
- , typename Vector::item29
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<29> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector30<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<30> >
-{
- template< typename Vector > struct apply
- {
- typedef vector29<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<30>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item30 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<30> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<30> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<30> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<30> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<30> >
-{
- template< typename Vector > struct apply
- : long_<30>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<30> >
- : size_impl< aux::vector_tag<30> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<30> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-}}
diff --git a/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30_c.hpp b/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30_c.hpp
deleted file mode 100644
index 6251dbc..0000000
--- a/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30_c.hpp
+++ /dev/null
@@ -1,238 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector30_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- >
-struct vector21_c
- : vector21<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >
- >
-{
- typedef vector21_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21
- >
-struct vector22_c
- : vector22<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- >
-{
- typedef vector22_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22
- >
-struct vector23_c
- : vector23<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >, integral_c<T
- , C22>
- >
-{
- typedef vector23_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23
- >
-struct vector24_c
- : vector24<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >
- >
-{
- typedef vector24_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24
- >
-struct vector25_c
- : vector25<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- >
-{
- typedef vector25_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25
- >
-struct vector26_c
- : vector26<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >, integral_c<T
- , C25>
- >
-{
- typedef vector26_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26
- >
-struct vector27_c
- : vector27<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- , integral_c< T,C25 >, integral_c< T,C26 >
- >
-{
- typedef vector27_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27
- >
-struct vector28_c
- : vector28<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
- >
-{
- typedef vector28_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28
- >
-struct vector29_c
- : vector29<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >, integral_c<T
- , C28>
- >
-{
- typedef vector29_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29
- >
-struct vector30_c
- : vector30<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
- , integral_c< T,C28 >, integral_c< T,C29 >
- >
-{
- typedef vector30_c type;
- typedef T value_type;
-};
-
-}}
diff --git a/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40.hpp b/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40.hpp
deleted file mode 100644
index 1ed648a..0000000
--- a/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40.hpp
+++ /dev/null
@@ -1,2444 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector40.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30
- >
-struct vector31
-{
- typedef aux::vector_tag<31> tag;
- typedef vector31 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
- typedef T26 item26;
- typedef T27 item27;
- typedef T28 item28;
- typedef T29 item29;
- typedef T30 item30;
-
-
- typedef void_ item31;
- typedef T30 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,31 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<30> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector31<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<31> >
-{
- template< typename Vector > struct apply
- {
- typedef vector30<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25, typename Vector::item26
- , typename Vector::item27, typename Vector::item28
- , typename Vector::item29, typename Vector::item30
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<30> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector31<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<31> >
-{
- template< typename Vector > struct apply
- {
- typedef vector30<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<31>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item31 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<31> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<31> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<31> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<31> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<31> >
-{
- template< typename Vector > struct apply
- : long_<31>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<31> >
- : size_impl< aux::vector_tag<31> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<31> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31
- >
-struct vector32
-{
- typedef aux::vector_tag<32> tag;
- typedef vector32 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
- typedef T26 item26;
- typedef T27 item27;
- typedef T28 item28;
- typedef T29 item29;
- typedef T30 item30;
- typedef T31 item31;
-
-
- typedef void_ item32;
- typedef T31 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,32 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<31> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector32<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<32> >
-{
- template< typename Vector > struct apply
- {
- typedef vector31<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25, typename Vector::item26
- , typename Vector::item27, typename Vector::item28
- , typename Vector::item29, typename Vector::item30
- , typename Vector::item31
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<31> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector32<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<32> >
-{
- template< typename Vector > struct apply
- {
- typedef vector31<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<32>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item32 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<32> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<32> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<32> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<32> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<32> >
-{
- template< typename Vector > struct apply
- : long_<32>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<32> >
- : size_impl< aux::vector_tag<32> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<32> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32
- >
-struct vector33
-{
- typedef aux::vector_tag<33> tag;
- typedef vector33 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
- typedef T26 item26;
- typedef T27 item27;
- typedef T28 item28;
- typedef T29 item29;
- typedef T30 item30;
- typedef T31 item31;
- typedef T32 item32;
-
-
- typedef void_ item33;
- typedef T32 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,33 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<32> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector33<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<33> >
-{
- template< typename Vector > struct apply
- {
- typedef vector32<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25, typename Vector::item26
- , typename Vector::item27, typename Vector::item28
- , typename Vector::item29, typename Vector::item30
- , typename Vector::item31, typename Vector::item32
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<32> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector33<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<33> >
-{
- template< typename Vector > struct apply
- {
- typedef vector32<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<33>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item33 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<33> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<33> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<33> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<33> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<33> >
-{
- template< typename Vector > struct apply
- : long_<33>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<33> >
- : size_impl< aux::vector_tag<33> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<33> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33
- >
-struct vector34
-{
- typedef aux::vector_tag<34> tag;
- typedef vector34 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
- typedef T26 item26;
- typedef T27 item27;
- typedef T28 item28;
- typedef T29 item29;
- typedef T30 item30;
- typedef T31 item31;
- typedef T32 item32;
- typedef T33 item33;
-
-
- typedef void_ item34;
- typedef T33 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,34 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<33> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector34<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<34> >
-{
- template< typename Vector > struct apply
- {
- typedef vector33<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25, typename Vector::item26
- , typename Vector::item27, typename Vector::item28
- , typename Vector::item29, typename Vector::item30
- , typename Vector::item31, typename Vector::item32
- , typename Vector::item33
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<33> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector34<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<34> >
-{
- template< typename Vector > struct apply
- {
- typedef vector33<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<34>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item34 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<34> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<34> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<34> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<34> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<34> >
-{
- template< typename Vector > struct apply
- : long_<34>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<34> >
- : size_impl< aux::vector_tag<34> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<34> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- >
-struct vector35
-{
- typedef aux::vector_tag<35> tag;
- typedef vector35 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
- typedef T26 item26;
- typedef T27 item27;
- typedef T28 item28;
- typedef T29 item29;
- typedef T30 item30;
- typedef T31 item31;
- typedef T32 item32;
- typedef T33 item33;
- typedef T34 item34;
-
-
- typedef void_ item35;
- typedef T34 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,35 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<34> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector35<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<35> >
-{
- template< typename Vector > struct apply
- {
- typedef vector34<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25, typename Vector::item26
- , typename Vector::item27, typename Vector::item28
- , typename Vector::item29, typename Vector::item30
- , typename Vector::item31, typename Vector::item32
- , typename Vector::item33, typename Vector::item34
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<34> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector35<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<35> >
-{
- template< typename Vector > struct apply
- {
- typedef vector34<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<35>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item35 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<35> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<35> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<35> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<35> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<35> >
-{
- template< typename Vector > struct apply
- : long_<35>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<35> >
- : size_impl< aux::vector_tag<35> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<35> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35
- >
-struct vector36
-{
- typedef aux::vector_tag<36> tag;
- typedef vector36 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
- typedef T26 item26;
- typedef T27 item27;
- typedef T28 item28;
- typedef T29 item29;
- typedef T30 item30;
- typedef T31 item31;
- typedef T32 item32;
- typedef T33 item33;
- typedef T34 item34;
- typedef T35 item35;
-
-
- typedef void_ item36;
- typedef T35 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,36 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<35> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector36<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<36> >
-{
- template< typename Vector > struct apply
- {
- typedef vector35<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25, typename Vector::item26
- , typename Vector::item27, typename Vector::item28
- , typename Vector::item29, typename Vector::item30
- , typename Vector::item31, typename Vector::item32
- , typename Vector::item33, typename Vector::item34
- , typename Vector::item35
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<35> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector36<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<36> >
-{
- template< typename Vector > struct apply
- {
- typedef vector35<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<36>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item36 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<36> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<36> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<36> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<36> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<36> >
-{
- template< typename Vector > struct apply
- : long_<36>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<36> >
- : size_impl< aux::vector_tag<36> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<36> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36
- >
-struct vector37
-{
- typedef aux::vector_tag<37> tag;
- typedef vector37 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
- typedef T26 item26;
- typedef T27 item27;
- typedef T28 item28;
- typedef T29 item29;
- typedef T30 item30;
- typedef T31 item31;
- typedef T32 item32;
- typedef T33 item33;
- typedef T34 item34;
- typedef T35 item35;
- typedef T36 item36;
-
-
- typedef void_ item37;
- typedef T36 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,37 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<36> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector37<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<37> >
-{
- template< typename Vector > struct apply
- {
- typedef vector36<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25, typename Vector::item26
- , typename Vector::item27, typename Vector::item28
- , typename Vector::item29, typename Vector::item30
- , typename Vector::item31, typename Vector::item32
- , typename Vector::item33, typename Vector::item34
- , typename Vector::item35, typename Vector::item36
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<36> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector37<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<37> >
-{
- template< typename Vector > struct apply
- {
- typedef vector36<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<37>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item37 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<37> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<37> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<37> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<37> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<37> >
-{
- template< typename Vector > struct apply
- : long_<37>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<37> >
- : size_impl< aux::vector_tag<37> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<37> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37
- >
-struct vector38
-{
- typedef aux::vector_tag<38> tag;
- typedef vector38 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
- typedef T26 item26;
- typedef T27 item27;
- typedef T28 item28;
- typedef T29 item29;
- typedef T30 item30;
- typedef T31 item31;
- typedef T32 item32;
- typedef T33 item33;
- typedef T34 item34;
- typedef T35 item35;
- typedef T36 item36;
- typedef T37 item37;
-
-
- typedef void_ item38;
- typedef T37 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,38 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<37> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector38<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<38> >
-{
- template< typename Vector > struct apply
- {
- typedef vector37<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25, typename Vector::item26
- , typename Vector::item27, typename Vector::item28
- , typename Vector::item29, typename Vector::item30
- , typename Vector::item31, typename Vector::item32
- , typename Vector::item33, typename Vector::item34
- , typename Vector::item35, typename Vector::item36
- , typename Vector::item37
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<37> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector38<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<38> >
-{
- template< typename Vector > struct apply
- {
- typedef vector37<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<38>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item38 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<38> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<38> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<38> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<38> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<38> >
-{
- template< typename Vector > struct apply
- : long_<38>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<38> >
- : size_impl< aux::vector_tag<38> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<38> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37, typename T38
- >
-struct vector39
-{
- typedef aux::vector_tag<39> tag;
- typedef vector39 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
- typedef T26 item26;
- typedef T27 item27;
- typedef T28 item28;
- typedef T29 item29;
- typedef T30 item30;
- typedef T31 item31;
- typedef T32 item32;
- typedef T33 item33;
- typedef T34 item34;
- typedef T35 item35;
- typedef T36 item36;
- typedef T37 item37;
- typedef T38 item38;
-
-
- typedef void_ item39;
- typedef T38 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,39 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<38> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector39<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<39> >
-{
- template< typename Vector > struct apply
- {
- typedef vector38<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25, typename Vector::item26
- , typename Vector::item27, typename Vector::item28
- , typename Vector::item29, typename Vector::item30
- , typename Vector::item31, typename Vector::item32
- , typename Vector::item33, typename Vector::item34
- , typename Vector::item35, typename Vector::item36
- , typename Vector::item37, typename Vector::item38
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<38> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector39<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<39> >
-{
- template< typename Vector > struct apply
- {
- typedef vector38<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<39>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item39 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<39> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<39> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<39> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<39> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<39> >
-{
- template< typename Vector > struct apply
- : long_<39>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<39> >
- : size_impl< aux::vector_tag<39> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<39> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37, typename T38, typename T39
- >
-struct vector40
-{
- typedef aux::vector_tag<40> tag;
- typedef vector40 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
- typedef T26 item26;
- typedef T27 item27;
- typedef T28 item28;
- typedef T29 item29;
- typedef T30 item30;
- typedef T31 item31;
- typedef T32 item32;
- typedef T33 item33;
- typedef T34 item34;
- typedef T35 item35;
- typedef T36 item36;
- typedef T37 item37;
- typedef T38 item38;
- typedef T39 item39;
-
-
- typedef void_ item40;
- typedef T39 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,40 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<39> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector40<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<40> >
-{
- template< typename Vector > struct apply
- {
- typedef vector39<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25, typename Vector::item26
- , typename Vector::item27, typename Vector::item28
- , typename Vector::item29, typename Vector::item30
- , typename Vector::item31, typename Vector::item32
- , typename Vector::item33, typename Vector::item34
- , typename Vector::item35, typename Vector::item36
- , typename Vector::item37, typename Vector::item38
- , typename Vector::item39
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<39> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector40<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<40> >
-{
- template< typename Vector > struct apply
- {
- typedef vector39<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<40>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item40 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<40> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<40> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<40> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<40> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<40> >
-{
- template< typename Vector > struct apply
- : long_<40>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<40> >
- : size_impl< aux::vector_tag<40> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<40> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-}}
diff --git a/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40_c.hpp b/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40_c.hpp
deleted file mode 100644
index ba0ffa8..0000000
--- a/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40_c.hpp
+++ /dev/null
@@ -1,281 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector40_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- >
-struct vector31_c
- : vector31<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
- , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
- >
-{
- typedef vector31_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31
- >
-struct vector32_c
- : vector32<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
- , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >, integral_c<T
- , C31>
- >
-{
- typedef vector32_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32
- >
-struct vector33_c
- : vector33<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
- , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
- , integral_c< T,C31 >, integral_c< T,C32 >
- >
-{
- typedef vector33_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33
- >
-struct vector34_c
- : vector34<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
- , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
- , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
- >
-{
- typedef vector34_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34
- >
-struct vector35_c
- : vector35<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
- , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
- , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >, integral_c<T
- , C34>
- >
-{
- typedef vector35_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35
- >
-struct vector36_c
- : vector36<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
- , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
- , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
- , integral_c< T,C34 >, integral_c< T,C35 >
- >
-{
- typedef vector36_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36
- >
-struct vector37_c
- : vector37<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
- , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
- , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
- , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
- >
-{
- typedef vector37_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37
- >
-struct vector38_c
- : vector38<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
- , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
- , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
- , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >, integral_c<T
- , C37>
- >
-{
- typedef vector38_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38
- >
-struct vector39_c
- : vector39<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
- , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
- , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
- , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
- , integral_c< T,C37 >, integral_c< T,C38 >
- >
-{
- typedef vector39_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39
- >
-struct vector40_c
- : vector40<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
- , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
- , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
- , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
- , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
- >
-{
- typedef vector40_c type;
- typedef T value_type;
-};
-
-}}
diff --git a/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50.hpp b/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50.hpp
deleted file mode 100644
index 3da323a..0000000
--- a/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50.hpp
+++ /dev/null
@@ -1,2764 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector50.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37, typename T38, typename T39
- , typename T40
- >
-struct vector41
-{
- typedef aux::vector_tag<41> tag;
- typedef vector41 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
- typedef T26 item26;
- typedef T27 item27;
- typedef T28 item28;
- typedef T29 item29;
- typedef T30 item30;
- typedef T31 item31;
- typedef T32 item32;
- typedef T33 item33;
- typedef T34 item34;
- typedef T35 item35;
- typedef T36 item36;
- typedef T37 item37;
- typedef T38 item38;
- typedef T39 item39;
- typedef T40 item40;
-
-
- typedef void_ item41;
- typedef T40 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,41 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<40> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector41<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<41> >
-{
- template< typename Vector > struct apply
- {
- typedef vector40<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25, typename Vector::item26
- , typename Vector::item27, typename Vector::item28
- , typename Vector::item29, typename Vector::item30
- , typename Vector::item31, typename Vector::item32
- , typename Vector::item33, typename Vector::item34
- , typename Vector::item35, typename Vector::item36
- , typename Vector::item37, typename Vector::item38
- , typename Vector::item39, typename Vector::item40
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<40> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector41<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<41> >
-{
- template< typename Vector > struct apply
- {
- typedef vector40<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<41>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item41 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<41> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<41> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<41> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<41> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<41> >
-{
- template< typename Vector > struct apply
- : long_<41>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<41> >
- : size_impl< aux::vector_tag<41> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<41> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37, typename T38, typename T39
- , typename T40, typename T41
- >
-struct vector42
-{
- typedef aux::vector_tag<42> tag;
- typedef vector42 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
- typedef T26 item26;
- typedef T27 item27;
- typedef T28 item28;
- typedef T29 item29;
- typedef T30 item30;
- typedef T31 item31;
- typedef T32 item32;
- typedef T33 item33;
- typedef T34 item34;
- typedef T35 item35;
- typedef T36 item36;
- typedef T37 item37;
- typedef T38 item38;
- typedef T39 item39;
- typedef T40 item40;
- typedef T41 item41;
-
-
- typedef void_ item42;
- typedef T41 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,42 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<41> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector42<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<42> >
-{
- template< typename Vector > struct apply
- {
- typedef vector41<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25, typename Vector::item26
- , typename Vector::item27, typename Vector::item28
- , typename Vector::item29, typename Vector::item30
- , typename Vector::item31, typename Vector::item32
- , typename Vector::item33, typename Vector::item34
- , typename Vector::item35, typename Vector::item36
- , typename Vector::item37, typename Vector::item38
- , typename Vector::item39, typename Vector::item40
- , typename Vector::item41
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<41> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector42<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<42> >
-{
- template< typename Vector > struct apply
- {
- typedef vector41<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<42>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item42 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<42> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<42> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<42> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<42> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<42> >
-{
- template< typename Vector > struct apply
- : long_<42>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<42> >
- : size_impl< aux::vector_tag<42> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<42> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37, typename T38, typename T39
- , typename T40, typename T41, typename T42
- >
-struct vector43
-{
- typedef aux::vector_tag<43> tag;
- typedef vector43 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
- typedef T26 item26;
- typedef T27 item27;
- typedef T28 item28;
- typedef T29 item29;
- typedef T30 item30;
- typedef T31 item31;
- typedef T32 item32;
- typedef T33 item33;
- typedef T34 item34;
- typedef T35 item35;
- typedef T36 item36;
- typedef T37 item37;
- typedef T38 item38;
- typedef T39 item39;
- typedef T40 item40;
- typedef T41 item41;
- typedef T42 item42;
-
-
- typedef void_ item43;
- typedef T42 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,43 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<42> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector43<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40, typename Vector::item41
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<43> >
-{
- template< typename Vector > struct apply
- {
- typedef vector42<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25, typename Vector::item26
- , typename Vector::item27, typename Vector::item28
- , typename Vector::item29, typename Vector::item30
- , typename Vector::item31, typename Vector::item32
- , typename Vector::item33, typename Vector::item34
- , typename Vector::item35, typename Vector::item36
- , typename Vector::item37, typename Vector::item38
- , typename Vector::item39, typename Vector::item40
- , typename Vector::item41, typename Vector::item42
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<42> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector43<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40, typename Vector::item41
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<43> >
-{
- template< typename Vector > struct apply
- {
- typedef vector42<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40, typename Vector::item41
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<43>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item43 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<43> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<43> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<43> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<43> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<43> >
-{
- template< typename Vector > struct apply
- : long_<43>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<43> >
- : size_impl< aux::vector_tag<43> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<43> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37, typename T38, typename T39
- , typename T40, typename T41, typename T42, typename T43
- >
-struct vector44
-{
- typedef aux::vector_tag<44> tag;
- typedef vector44 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
- typedef T26 item26;
- typedef T27 item27;
- typedef T28 item28;
- typedef T29 item29;
- typedef T30 item30;
- typedef T31 item31;
- typedef T32 item32;
- typedef T33 item33;
- typedef T34 item34;
- typedef T35 item35;
- typedef T36 item36;
- typedef T37 item37;
- typedef T38 item38;
- typedef T39 item39;
- typedef T40 item40;
- typedef T41 item41;
- typedef T42 item42;
- typedef T43 item43;
-
-
- typedef void_ item44;
- typedef T43 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,44 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<43> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector44<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40, typename Vector::item41
- , typename Vector::item42
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<44> >
-{
- template< typename Vector > struct apply
- {
- typedef vector43<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25, typename Vector::item26
- , typename Vector::item27, typename Vector::item28
- , typename Vector::item29, typename Vector::item30
- , typename Vector::item31, typename Vector::item32
- , typename Vector::item33, typename Vector::item34
- , typename Vector::item35, typename Vector::item36
- , typename Vector::item37, typename Vector::item38
- , typename Vector::item39, typename Vector::item40
- , typename Vector::item41, typename Vector::item42
- , typename Vector::item43
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<43> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector44<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40, typename Vector::item41
- , typename Vector::item42
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<44> >
-{
- template< typename Vector > struct apply
- {
- typedef vector43<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40, typename Vector::item41
- , typename Vector::item42
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<44>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item44 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<44> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<44> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<44> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<44> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<44> >
-{
- template< typename Vector > struct apply
- : long_<44>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<44> >
- : size_impl< aux::vector_tag<44> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<44> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37, typename T38, typename T39
- , typename T40, typename T41, typename T42, typename T43, typename T44
- >
-struct vector45
-{
- typedef aux::vector_tag<45> tag;
- typedef vector45 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
- typedef T26 item26;
- typedef T27 item27;
- typedef T28 item28;
- typedef T29 item29;
- typedef T30 item30;
- typedef T31 item31;
- typedef T32 item32;
- typedef T33 item33;
- typedef T34 item34;
- typedef T35 item35;
- typedef T36 item36;
- typedef T37 item37;
- typedef T38 item38;
- typedef T39 item39;
- typedef T40 item40;
- typedef T41 item41;
- typedef T42 item42;
- typedef T43 item43;
- typedef T44 item44;
-
-
- typedef void_ item45;
- typedef T44 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,45 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<44> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector45<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40, typename Vector::item41
- , typename Vector::item42, typename Vector::item43
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<45> >
-{
- template< typename Vector > struct apply
- {
- typedef vector44<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25, typename Vector::item26
- , typename Vector::item27, typename Vector::item28
- , typename Vector::item29, typename Vector::item30
- , typename Vector::item31, typename Vector::item32
- , typename Vector::item33, typename Vector::item34
- , typename Vector::item35, typename Vector::item36
- , typename Vector::item37, typename Vector::item38
- , typename Vector::item39, typename Vector::item40
- , typename Vector::item41, typename Vector::item42
- , typename Vector::item43, typename Vector::item44
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<44> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector45<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40, typename Vector::item41
- , typename Vector::item42, typename Vector::item43
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<45> >
-{
- template< typename Vector > struct apply
- {
- typedef vector44<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40, typename Vector::item41
- , typename Vector::item42, typename Vector::item43
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<45>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item45 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<45> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<45> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<45> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<45> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<45> >
-{
- template< typename Vector > struct apply
- : long_<45>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<45> >
- : size_impl< aux::vector_tag<45> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<45> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37, typename T38, typename T39
- , typename T40, typename T41, typename T42, typename T43, typename T44
- , typename T45
- >
-struct vector46
-{
- typedef aux::vector_tag<46> tag;
- typedef vector46 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
- typedef T26 item26;
- typedef T27 item27;
- typedef T28 item28;
- typedef T29 item29;
- typedef T30 item30;
- typedef T31 item31;
- typedef T32 item32;
- typedef T33 item33;
- typedef T34 item34;
- typedef T35 item35;
- typedef T36 item36;
- typedef T37 item37;
- typedef T38 item38;
- typedef T39 item39;
- typedef T40 item40;
- typedef T41 item41;
- typedef T42 item42;
- typedef T43 item43;
- typedef T44 item44;
- typedef T45 item45;
-
-
- typedef void_ item46;
- typedef T45 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,46 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<45> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector46<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40, typename Vector::item41
- , typename Vector::item42, typename Vector::item43
- , typename Vector::item44
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<46> >
-{
- template< typename Vector > struct apply
- {
- typedef vector45<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25, typename Vector::item26
- , typename Vector::item27, typename Vector::item28
- , typename Vector::item29, typename Vector::item30
- , typename Vector::item31, typename Vector::item32
- , typename Vector::item33, typename Vector::item34
- , typename Vector::item35, typename Vector::item36
- , typename Vector::item37, typename Vector::item38
- , typename Vector::item39, typename Vector::item40
- , typename Vector::item41, typename Vector::item42
- , typename Vector::item43, typename Vector::item44
- , typename Vector::item45
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<45> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector46<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40, typename Vector::item41
- , typename Vector::item42, typename Vector::item43
- , typename Vector::item44
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<46> >
-{
- template< typename Vector > struct apply
- {
- typedef vector45<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40, typename Vector::item41
- , typename Vector::item42, typename Vector::item43
- , typename Vector::item44
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<46>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item46 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<46> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<46> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<46> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<46> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<46> >
-{
- template< typename Vector > struct apply
- : long_<46>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<46> >
- : size_impl< aux::vector_tag<46> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<46> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37, typename T38, typename T39
- , typename T40, typename T41, typename T42, typename T43, typename T44
- , typename T45, typename T46
- >
-struct vector47
-{
- typedef aux::vector_tag<47> tag;
- typedef vector47 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
- typedef T26 item26;
- typedef T27 item27;
- typedef T28 item28;
- typedef T29 item29;
- typedef T30 item30;
- typedef T31 item31;
- typedef T32 item32;
- typedef T33 item33;
- typedef T34 item34;
- typedef T35 item35;
- typedef T36 item36;
- typedef T37 item37;
- typedef T38 item38;
- typedef T39 item39;
- typedef T40 item40;
- typedef T41 item41;
- typedef T42 item42;
- typedef T43 item43;
- typedef T44 item44;
- typedef T45 item45;
- typedef T46 item46;
-
-
- typedef void_ item47;
- typedef T46 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,47 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<46> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector47<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40, typename Vector::item41
- , typename Vector::item42, typename Vector::item43
- , typename Vector::item44, typename Vector::item45
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<47> >
-{
- template< typename Vector > struct apply
- {
- typedef vector46<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25, typename Vector::item26
- , typename Vector::item27, typename Vector::item28
- , typename Vector::item29, typename Vector::item30
- , typename Vector::item31, typename Vector::item32
- , typename Vector::item33, typename Vector::item34
- , typename Vector::item35, typename Vector::item36
- , typename Vector::item37, typename Vector::item38
- , typename Vector::item39, typename Vector::item40
- , typename Vector::item41, typename Vector::item42
- , typename Vector::item43, typename Vector::item44
- , typename Vector::item45, typename Vector::item46
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<46> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector47<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40, typename Vector::item41
- , typename Vector::item42, typename Vector::item43
- , typename Vector::item44, typename Vector::item45
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<47> >
-{
- template< typename Vector > struct apply
- {
- typedef vector46<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40, typename Vector::item41
- , typename Vector::item42, typename Vector::item43
- , typename Vector::item44, typename Vector::item45
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<47>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item47 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<47> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<47> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<47> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<47> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<47> >
-{
- template< typename Vector > struct apply
- : long_<47>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<47> >
- : size_impl< aux::vector_tag<47> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<47> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37, typename T38, typename T39
- , typename T40, typename T41, typename T42, typename T43, typename T44
- , typename T45, typename T46, typename T47
- >
-struct vector48
-{
- typedef aux::vector_tag<48> tag;
- typedef vector48 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
- typedef T26 item26;
- typedef T27 item27;
- typedef T28 item28;
- typedef T29 item29;
- typedef T30 item30;
- typedef T31 item31;
- typedef T32 item32;
- typedef T33 item33;
- typedef T34 item34;
- typedef T35 item35;
- typedef T36 item36;
- typedef T37 item37;
- typedef T38 item38;
- typedef T39 item39;
- typedef T40 item40;
- typedef T41 item41;
- typedef T42 item42;
- typedef T43 item43;
- typedef T44 item44;
- typedef T45 item45;
- typedef T46 item46;
- typedef T47 item47;
-
-
- typedef void_ item48;
- typedef T47 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,48 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<47> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector48<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40, typename Vector::item41
- , typename Vector::item42, typename Vector::item43
- , typename Vector::item44, typename Vector::item45
- , typename Vector::item46
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<48> >
-{
- template< typename Vector > struct apply
- {
- typedef vector47<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25, typename Vector::item26
- , typename Vector::item27, typename Vector::item28
- , typename Vector::item29, typename Vector::item30
- , typename Vector::item31, typename Vector::item32
- , typename Vector::item33, typename Vector::item34
- , typename Vector::item35, typename Vector::item36
- , typename Vector::item37, typename Vector::item38
- , typename Vector::item39, typename Vector::item40
- , typename Vector::item41, typename Vector::item42
- , typename Vector::item43, typename Vector::item44
- , typename Vector::item45, typename Vector::item46
- , typename Vector::item47
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<47> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector48<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40, typename Vector::item41
- , typename Vector::item42, typename Vector::item43
- , typename Vector::item44, typename Vector::item45
- , typename Vector::item46
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<48> >
-{
- template< typename Vector > struct apply
- {
- typedef vector47<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40, typename Vector::item41
- , typename Vector::item42, typename Vector::item43
- , typename Vector::item44, typename Vector::item45
- , typename Vector::item46
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<48>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item48 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<48> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<48> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<48> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<48> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<48> >
-{
- template< typename Vector > struct apply
- : long_<48>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<48> >
- : size_impl< aux::vector_tag<48> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<48> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37, typename T38, typename T39
- , typename T40, typename T41, typename T42, typename T43, typename T44
- , typename T45, typename T46, typename T47, typename T48
- >
-struct vector49
-{
- typedef aux::vector_tag<49> tag;
- typedef vector49 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
- typedef T26 item26;
- typedef T27 item27;
- typedef T28 item28;
- typedef T29 item29;
- typedef T30 item30;
- typedef T31 item31;
- typedef T32 item32;
- typedef T33 item33;
- typedef T34 item34;
- typedef T35 item35;
- typedef T36 item36;
- typedef T37 item37;
- typedef T38 item38;
- typedef T39 item39;
- typedef T40 item40;
- typedef T41 item41;
- typedef T42 item42;
- typedef T43 item43;
- typedef T44 item44;
- typedef T45 item45;
- typedef T46 item46;
- typedef T47 item47;
- typedef T48 item48;
-
-
- typedef void_ item49;
- typedef T48 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,49 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<48> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector49<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40, typename Vector::item41
- , typename Vector::item42, typename Vector::item43
- , typename Vector::item44, typename Vector::item45
- , typename Vector::item46, typename Vector::item47
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<49> >
-{
- template< typename Vector > struct apply
- {
- typedef vector48<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25, typename Vector::item26
- , typename Vector::item27, typename Vector::item28
- , typename Vector::item29, typename Vector::item30
- , typename Vector::item31, typename Vector::item32
- , typename Vector::item33, typename Vector::item34
- , typename Vector::item35, typename Vector::item36
- , typename Vector::item37, typename Vector::item38
- , typename Vector::item39, typename Vector::item40
- , typename Vector::item41, typename Vector::item42
- , typename Vector::item43, typename Vector::item44
- , typename Vector::item45, typename Vector::item46
- , typename Vector::item47, typename Vector::item48
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<48> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector49<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40, typename Vector::item41
- , typename Vector::item42, typename Vector::item43
- , typename Vector::item44, typename Vector::item45
- , typename Vector::item46, typename Vector::item47
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<49> >
-{
- template< typename Vector > struct apply
- {
- typedef vector48<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40, typename Vector::item41
- , typename Vector::item42, typename Vector::item43
- , typename Vector::item44, typename Vector::item45
- , typename Vector::item46, typename Vector::item47
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<49>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item49 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<49> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<49> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<49> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<49> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<49> >
-{
- template< typename Vector > struct apply
- : long_<49>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<49> >
- : size_impl< aux::vector_tag<49> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<49> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37, typename T38, typename T39
- , typename T40, typename T41, typename T42, typename T43, typename T44
- , typename T45, typename T46, typename T47, typename T48, typename T49
- >
-struct vector50
-{
- typedef aux::vector_tag<50> tag;
- typedef vector50 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
- typedef T26 item26;
- typedef T27 item27;
- typedef T28 item28;
- typedef T29 item29;
- typedef T30 item30;
- typedef T31 item31;
- typedef T32 item32;
- typedef T33 item33;
- typedef T34 item34;
- typedef T35 item35;
- typedef T36 item36;
- typedef T37 item37;
- typedef T38 item38;
- typedef T39 item39;
- typedef T40 item40;
- typedef T41 item41;
- typedef T42 item42;
- typedef T43 item43;
- typedef T44 item44;
- typedef T45 item45;
- typedef T46 item46;
- typedef T47 item47;
- typedef T48 item48;
- typedef T49 item49;
-
-
- typedef void_ item50;
- typedef T49 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,50 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<49> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector50<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40, typename Vector::item41
- , typename Vector::item42, typename Vector::item43
- , typename Vector::item44, typename Vector::item45
- , typename Vector::item46, typename Vector::item47
- , typename Vector::item48
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<50> >
-{
- template< typename Vector > struct apply
- {
- typedef vector49<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25, typename Vector::item26
- , typename Vector::item27, typename Vector::item28
- , typename Vector::item29, typename Vector::item30
- , typename Vector::item31, typename Vector::item32
- , typename Vector::item33, typename Vector::item34
- , typename Vector::item35, typename Vector::item36
- , typename Vector::item37, typename Vector::item38
- , typename Vector::item39, typename Vector::item40
- , typename Vector::item41, typename Vector::item42
- , typename Vector::item43, typename Vector::item44
- , typename Vector::item45, typename Vector::item46
- , typename Vector::item47, typename Vector::item48
- , typename Vector::item49
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<49> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector50<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40, typename Vector::item41
- , typename Vector::item42, typename Vector::item43
- , typename Vector::item44, typename Vector::item45
- , typename Vector::item46, typename Vector::item47
- , typename Vector::item48
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<50> >
-{
- template< typename Vector > struct apply
- {
- typedef vector49<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40, typename Vector::item41
- , typename Vector::item42, typename Vector::item43
- , typename Vector::item44, typename Vector::item45
- , typename Vector::item46, typename Vector::item47
- , typename Vector::item48
- > type;
- };
-};
-
-namespace aux {
-template<> struct v_at_impl<50>
-{
- template< typename V_ > struct result_
- {
- typedef typename V_::item50 type;
- };
-};
-
-}
-
-template<>
-struct at_impl< aux::vector_tag<50> >
-{
- template< typename V_, typename N > struct apply
- {
- typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
- ::template result_<V_>::type type;
- };
-};
-
-template<>
-struct front_impl< aux::vector_tag<50> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::item0 type;
- };
-};
-
-template<>
-struct back_impl< aux::vector_tag<50> >
-{
- template< typename Vector > struct apply
- {
- typedef typename Vector::back type;
- };
-};
-
-template<>
-struct empty_impl< aux::vector_tag<50> >
-{
- template< typename Vector > struct apply
- : false_
- {
- };
-};
-
-template<>
-struct size_impl< aux::vector_tag<50> >
-{
- template< typename Vector > struct apply
- : long_<50>
- {
- };
-};
-
-template<>
-struct O1_size_impl< aux::vector_tag<50> >
- : size_impl< aux::vector_tag<50> >
-{
-};
-
-template<>
-struct clear_impl< aux::vector_tag<50> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<> type;
- };
-};
-
-}}
diff --git a/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50_c.hpp b/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50_c.hpp
deleted file mode 100644
index e07f2b3..0000000
--- a/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50_c.hpp
+++ /dev/null
@@ -1,325 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector50_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
- >
-struct vector41_c
- : vector41<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
- , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
- , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
- , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
- , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >, integral_c<T
- , C40>
- >
-{
- typedef vector41_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
- , T C41
- >
-struct vector42_c
- : vector42<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
- , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
- , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
- , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
- , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
- , integral_c< T,C40 >, integral_c< T,C41 >
- >
-{
- typedef vector42_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
- , T C41, T C42
- >
-struct vector43_c
- : vector43<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
- , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
- , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
- , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
- , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
- , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >
- >
-{
- typedef vector43_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
- , T C41, T C42, T C43
- >
-struct vector44_c
- : vector44<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
- , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
- , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
- , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
- , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
- , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >, integral_c<T
- , C43>
- >
-{
- typedef vector44_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
- , T C41, T C42, T C43, T C44
- >
-struct vector45_c
- : vector45<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
- , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
- , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
- , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
- , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
- , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >
- , integral_c< T,C43 >, integral_c< T,C44 >
- >
-{
- typedef vector45_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
- , T C41, T C42, T C43, T C44, T C45
- >
-struct vector46_c
- : vector46<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
- , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
- , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
- , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
- , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
- , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >
- , integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 >
- >
-{
- typedef vector46_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
- , T C41, T C42, T C43, T C44, T C45, T C46
- >
-struct vector47_c
- : vector47<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
- , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
- , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
- , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
- , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
- , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >
- , integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 >, integral_c<T
- , C46>
- >
-{
- typedef vector47_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
- , T C41, T C42, T C43, T C44, T C45, T C46, T C47
- >
-struct vector48_c
- : vector48<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
- , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
- , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
- , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
- , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
- , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >
- , integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 >
- , integral_c< T,C46 >, integral_c< T,C47 >
- >
-{
- typedef vector48_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
- , T C41, T C42, T C43, T C44, T C45, T C46, T C47, T C48
- >
-struct vector49_c
- : vector49<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
- , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
- , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
- , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
- , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
- , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >
- , integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 >
- , integral_c< T,C46 >, integral_c< T,C47 >, integral_c< T,C48 >
- >
-{
- typedef vector49_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
- , T C41, T C42, T C43, T C44, T C45, T C46, T C47, T C48, T C49
- >
-struct vector50_c
- : vector50<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
- , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
- , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
- , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
- , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
- , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >
- , integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 >
- , integral_c< T,C46 >, integral_c< T,C47 >, integral_c< T,C48 >, integral_c<T
- , C49>
- >
-{
- typedef vector50_c type;
- typedef T value_type;
-};
-
-}}
diff --git a/boost/mpl/vector/aux_/preprocessed/plain/vector10.hpp b/boost/mpl/vector/aux_/preprocessed/plain/vector10.hpp
deleted file mode 100644
index 88bbd3b..0000000
--- a/boost/mpl/vector/aux_/preprocessed/plain/vector10.hpp
+++ /dev/null
@@ -1,829 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector10.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template< typename V >
-struct v_at< V,0 >
-{
- typedef typename V::item0 type;
-};
-
-template<
- typename T0
- >
-struct vector1
-{
- typedef aux::vector_tag<1> tag;
- typedef vector1 type;
- typedef T0 item0;
- typedef void_ item1;
- typedef T0 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,1 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<0> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector1<
- T
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<1> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<
-
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<0> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector1<
-
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<1> >
-{
- template< typename Vector > struct apply
- {
- typedef vector0<
-
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,1 >
-{
- typedef typename V::item1 type;
-};
-
-template<
- typename T0, typename T1
- >
-struct vector2
-{
- typedef aux::vector_tag<2> tag;
- typedef vector2 type;
- typedef T0 item0;
- typedef T1 item1;
-
-
- typedef void_ item2;
- typedef T1 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,2 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<1> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector2<
- T
- ,
- typename Vector::item0
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<2> >
-{
- template< typename Vector > struct apply
- {
- typedef vector1<
- typename Vector::item1
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<1> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector2<
- typename Vector::item0
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<2> >
-{
- template< typename Vector > struct apply
- {
- typedef vector1<
- typename Vector::item0
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,2 >
-{
- typedef typename V::item2 type;
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct vector3
-{
- typedef aux::vector_tag<3> tag;
- typedef vector3 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
-
-
- typedef void_ item3;
- typedef T2 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,3 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<2> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector3<
- T
- ,
- typename Vector::item0, typename Vector::item1
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<3> >
-{
- template< typename Vector > struct apply
- {
- typedef vector2<
- typename Vector::item1, typename Vector::item2
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<2> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector3<
- typename Vector::item0, typename Vector::item1
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<3> >
-{
- template< typename Vector > struct apply
- {
- typedef vector2<
- typename Vector::item0, typename Vector::item1
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,3 >
-{
- typedef typename V::item3 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct vector4
-{
- typedef aux::vector_tag<4> tag;
- typedef vector4 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
-
-
- typedef void_ item4;
- typedef T3 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,4 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<3> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector4<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<4> >
-{
- template< typename Vector > struct apply
- {
- typedef vector3<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<3> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector4<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<4> >
-{
- template< typename Vector > struct apply
- {
- typedef vector3<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,4 >
-{
- typedef typename V::item4 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct vector5
-{
- typedef aux::vector_tag<5> tag;
- typedef vector5 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
-
-
- typedef void_ item5;
- typedef T4 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,5 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<4> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector5<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<5> >
-{
- template< typename Vector > struct apply
- {
- typedef vector4<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<4> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector5<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<5> >
-{
- template< typename Vector > struct apply
- {
- typedef vector4<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,5 >
-{
- typedef typename V::item5 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct vector6
-{
- typedef aux::vector_tag<6> tag;
- typedef vector6 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
-
-
- typedef void_ item6;
- typedef T5 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,6 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<5> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector6<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<6> >
-{
- template< typename Vector > struct apply
- {
- typedef vector5<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<5> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector6<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<6> >
-{
- template< typename Vector > struct apply
- {
- typedef vector5<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,6 >
-{
- typedef typename V::item6 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct vector7
-{
- typedef aux::vector_tag<7> tag;
- typedef vector7 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
-
-
- typedef void_ item7;
- typedef T6 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,7 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<6> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector7<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<7> >
-{
- template< typename Vector > struct apply
- {
- typedef vector6<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<6> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector7<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<7> >
-{
- template< typename Vector > struct apply
- {
- typedef vector6<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,7 >
-{
- typedef typename V::item7 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct vector8
-{
- typedef aux::vector_tag<8> tag;
- typedef vector8 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
-
-
- typedef void_ item8;
- typedef T7 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,8 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<7> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector8<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<8> >
-{
- template< typename Vector > struct apply
- {
- typedef vector7<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<7> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector8<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<8> >
-{
- template< typename Vector > struct apply
- {
- typedef vector7<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,8 >
-{
- typedef typename V::item8 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct vector9
-{
- typedef aux::vector_tag<9> tag;
- typedef vector9 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
-
-
- typedef void_ item9;
- typedef T8 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,9 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<8> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector9<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<9> >
-{
- template< typename Vector > struct apply
- {
- typedef vector8<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<8> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector9<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<9> >
-{
- template< typename Vector > struct apply
- {
- typedef vector8<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,9 >
-{
- typedef typename V::item9 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct vector10
-{
- typedef aux::vector_tag<10> tag;
- typedef vector10 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
-
-
- typedef void_ item10;
- typedef T9 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,10 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<9> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector10<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<10> >
-{
- template< typename Vector > struct apply
- {
- typedef vector9<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<9> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector10<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<10> >
-{
- template< typename Vector > struct apply
- {
- typedef vector9<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,10 >
-{
- typedef typename V::item10 type;
-};
-
-}}
diff --git a/boost/mpl/vector/aux_/preprocessed/plain/vector10_c.hpp b/boost/mpl/vector/aux_/preprocessed/plain/vector10_c.hpp
deleted file mode 100644
index 8b36f6a..0000000
--- a/boost/mpl/vector/aux_/preprocessed/plain/vector10_c.hpp
+++ /dev/null
@@ -1,149 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector10_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T
- , T C0
- >
-struct vector1_c
- : vector1< integral_c< T,C0 > >
-{
- typedef vector1_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1
- >
-struct vector2_c
- : vector2< integral_c< T,C0 >, integral_c< T,C1 > >
-{
- typedef vector2_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2
- >
-struct vector3_c
- : vector3< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > >
-{
- typedef vector3_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3
- >
-struct vector4_c
- : vector4<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >, integral_c<T
- , C3>
- >
-{
- typedef vector4_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4
- >
-struct vector5_c
- : vector5<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >
- >
-{
- typedef vector5_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5
- >
-struct vector6_c
- : vector6<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >
- >
-{
- typedef vector6_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6
- >
-struct vector7_c
- : vector7<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c<T
- , C6>
- >
-{
- typedef vector7_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7
- >
-struct vector8_c
- : vector8<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >
- >
-{
- typedef vector8_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8
- >
-struct vector9_c
- : vector9<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >
- >
-{
- typedef vector9_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9
- >
-struct vector10_c
- : vector10<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- >
-{
- typedef vector10_c type;
- typedef T value_type;
-};
-
-}}
diff --git a/boost/mpl/vector/aux_/preprocessed/plain/vector20.hpp b/boost/mpl/vector/aux_/preprocessed/plain/vector20.hpp
deleted file mode 100644
index 8c6c8bb..0000000
--- a/boost/mpl/vector/aux_/preprocessed/plain/vector20.hpp
+++ /dev/null
@@ -1,1144 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector20.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct vector11
-{
- typedef aux::vector_tag<11> tag;
- typedef vector11 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
-
-
- typedef void_ item11;
- typedef T10 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,11 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<10> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector11<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<11> >
-{
- template< typename Vector > struct apply
- {
- typedef vector10<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<10> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector11<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<11> >
-{
- template< typename Vector > struct apply
- {
- typedef vector10<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,11 >
-{
- typedef typename V::item11 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct vector12
-{
- typedef aux::vector_tag<12> tag;
- typedef vector12 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
-
-
- typedef void_ item12;
- typedef T11 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,12 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<11> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector12<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<12> >
-{
- template< typename Vector > struct apply
- {
- typedef vector11<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<11> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector12<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<12> >
-{
- template< typename Vector > struct apply
- {
- typedef vector11<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,12 >
-{
- typedef typename V::item12 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct vector13
-{
- typedef aux::vector_tag<13> tag;
- typedef vector13 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
-
-
- typedef void_ item13;
- typedef T12 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,13 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<12> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector13<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<13> >
-{
- template< typename Vector > struct apply
- {
- typedef vector12<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<12> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector13<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<13> >
-{
- template< typename Vector > struct apply
- {
- typedef vector12<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,13 >
-{
- typedef typename V::item13 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct vector14
-{
- typedef aux::vector_tag<14> tag;
- typedef vector14 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
-
-
- typedef void_ item14;
- typedef T13 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,14 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<13> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector14<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<14> >
-{
- template< typename Vector > struct apply
- {
- typedef vector13<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<13> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector14<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<14> >
-{
- template< typename Vector > struct apply
- {
- typedef vector13<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,14 >
-{
- typedef typename V::item14 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct vector15
-{
- typedef aux::vector_tag<15> tag;
- typedef vector15 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
-
-
- typedef void_ item15;
- typedef T14 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,15 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<14> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector15<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<15> >
-{
- template< typename Vector > struct apply
- {
- typedef vector14<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<14> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector15<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<15> >
-{
- template< typename Vector > struct apply
- {
- typedef vector14<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,15 >
-{
- typedef typename V::item15 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct vector16
-{
- typedef aux::vector_tag<16> tag;
- typedef vector16 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
-
-
- typedef void_ item16;
- typedef T15 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,16 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<15> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector16<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<16> >
-{
- template< typename Vector > struct apply
- {
- typedef vector15<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<15> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector16<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<16> >
-{
- template< typename Vector > struct apply
- {
- typedef vector15<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,16 >
-{
- typedef typename V::item16 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct vector17
-{
- typedef aux::vector_tag<17> tag;
- typedef vector17 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
-
-
- typedef void_ item17;
- typedef T16 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,17 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<16> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector17<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<17> >
-{
- template< typename Vector > struct apply
- {
- typedef vector16<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<16> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector17<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<17> >
-{
- template< typename Vector > struct apply
- {
- typedef vector16<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,17 >
-{
- typedef typename V::item17 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct vector18
-{
- typedef aux::vector_tag<18> tag;
- typedef vector18 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
-
-
- typedef void_ item18;
- typedef T17 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,18 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<17> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector18<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<18> >
-{
- template< typename Vector > struct apply
- {
- typedef vector17<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<17> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector18<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<18> >
-{
- template< typename Vector > struct apply
- {
- typedef vector17<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,18 >
-{
- typedef typename V::item18 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct vector19
-{
- typedef aux::vector_tag<19> tag;
- typedef vector19 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
-
-
- typedef void_ item19;
- typedef T18 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,19 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<18> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector19<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<19> >
-{
- template< typename Vector > struct apply
- {
- typedef vector18<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<18> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector19<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<19> >
-{
- template< typename Vector > struct apply
- {
- typedef vector18<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,19 >
-{
- typedef typename V::item19 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct vector20
-{
- typedef aux::vector_tag<20> tag;
- typedef vector20 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
-
-
- typedef void_ item20;
- typedef T19 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,20 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<19> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector20<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<20> >
-{
- template< typename Vector > struct apply
- {
- typedef vector19<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<19> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector20<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<20> >
-{
- template< typename Vector > struct apply
- {
- typedef vector19<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,20 >
-{
- typedef typename V::item20 type;
-};
-
-}}
diff --git a/boost/mpl/vector/aux_/preprocessed/plain/vector20_c.hpp b/boost/mpl/vector/aux_/preprocessed/plain/vector20_c.hpp
deleted file mode 100644
index 56ca53f..0000000
--- a/boost/mpl/vector/aux_/preprocessed/plain/vector20_c.hpp
+++ /dev/null
@@ -1,195 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector20_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- >
-struct vector11_c
- : vector11<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >, integral_c<T
- , C10>
- >
-{
- typedef vector11_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11
- >
-struct vector12_c
- : vector12<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >
- >
-{
- typedef vector12_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12
- >
-struct vector13_c
- : vector13<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- >
-{
- typedef vector13_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13
- >
-struct vector14_c
- : vector14<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >, integral_c<T
- , C13>
- >
-{
- typedef vector14_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14
- >
-struct vector15_c
- : vector15<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >
- >
-{
- typedef vector15_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15
- >
-struct vector16_c
- : vector16<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- >
-{
- typedef vector16_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16
- >
-struct vector17_c
- : vector17<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >, integral_c<T
- , C16>
- >
-{
- typedef vector17_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17
- >
-struct vector18_c
- : vector18<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >
- >
-{
- typedef vector18_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18
- >
-struct vector19_c
- : vector19<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- >
-{
- typedef vector19_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19
- >
-struct vector20_c
- : vector20<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >, integral_c<T
- , C19>
- >
-{
- typedef vector20_c type;
- typedef T value_type;
-};
-
-}}
diff --git a/boost/mpl/vector/aux_/preprocessed/plain/vector30.hpp b/boost/mpl/vector/aux_/preprocessed/plain/vector30.hpp
deleted file mode 100644
index b7da8e7..0000000
--- a/boost/mpl/vector/aux_/preprocessed/plain/vector30.hpp
+++ /dev/null
@@ -1,1464 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector30.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20
- >
-struct vector21
-{
- typedef aux::vector_tag<21> tag;
- typedef vector21 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
-
-
- typedef void_ item21;
- typedef T20 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,21 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<20> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector21<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<21> >
-{
- template< typename Vector > struct apply
- {
- typedef vector20<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<20> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector21<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<21> >
-{
- template< typename Vector > struct apply
- {
- typedef vector20<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,21 >
-{
- typedef typename V::item21 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21
- >
-struct vector22
-{
- typedef aux::vector_tag<22> tag;
- typedef vector22 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
-
-
- typedef void_ item22;
- typedef T21 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,22 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<21> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector22<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<22> >
-{
- template< typename Vector > struct apply
- {
- typedef vector21<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<21> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector22<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<22> >
-{
- template< typename Vector > struct apply
- {
- typedef vector21<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,22 >
-{
- typedef typename V::item22 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22
- >
-struct vector23
-{
- typedef aux::vector_tag<23> tag;
- typedef vector23 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
-
-
- typedef void_ item23;
- typedef T22 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,23 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<22> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector23<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<23> >
-{
- template< typename Vector > struct apply
- {
- typedef vector22<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<22> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector23<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<23> >
-{
- template< typename Vector > struct apply
- {
- typedef vector22<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,23 >
-{
- typedef typename V::item23 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23
- >
-struct vector24
-{
- typedef aux::vector_tag<24> tag;
- typedef vector24 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
-
-
- typedef void_ item24;
- typedef T23 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,24 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<23> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector24<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<24> >
-{
- template< typename Vector > struct apply
- {
- typedef vector23<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<23> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector24<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<24> >
-{
- template< typename Vector > struct apply
- {
- typedef vector23<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,24 >
-{
- typedef typename V::item24 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- >
-struct vector25
-{
- typedef aux::vector_tag<25> tag;
- typedef vector25 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
-
-
- typedef void_ item25;
- typedef T24 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,25 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<24> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector25<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<25> >
-{
- template< typename Vector > struct apply
- {
- typedef vector24<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<24> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector25<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<25> >
-{
- template< typename Vector > struct apply
- {
- typedef vector24<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,25 >
-{
- typedef typename V::item25 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25
- >
-struct vector26
-{
- typedef aux::vector_tag<26> tag;
- typedef vector26 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
-
-
- typedef void_ item26;
- typedef T25 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,26 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<25> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector26<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<26> >
-{
- template< typename Vector > struct apply
- {
- typedef vector25<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<25> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector26<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<26> >
-{
- template< typename Vector > struct apply
- {
- typedef vector25<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,26 >
-{
- typedef typename V::item26 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26
- >
-struct vector27
-{
- typedef aux::vector_tag<27> tag;
- typedef vector27 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
- typedef T26 item26;
-
-
- typedef void_ item27;
- typedef T26 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,27 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<26> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector27<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<27> >
-{
- template< typename Vector > struct apply
- {
- typedef vector26<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25, typename Vector::item26
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<26> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector27<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<27> >
-{
- template< typename Vector > struct apply
- {
- typedef vector26<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,27 >
-{
- typedef typename V::item27 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27
- >
-struct vector28
-{
- typedef aux::vector_tag<28> tag;
- typedef vector28 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
- typedef T26 item26;
- typedef T27 item27;
-
-
- typedef void_ item28;
- typedef T27 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,28 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<27> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector28<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<28> >
-{
- template< typename Vector > struct apply
- {
- typedef vector27<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25, typename Vector::item26
- , typename Vector::item27
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<27> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector28<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<28> >
-{
- template< typename Vector > struct apply
- {
- typedef vector27<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,28 >
-{
- typedef typename V::item28 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28
- >
-struct vector29
-{
- typedef aux::vector_tag<29> tag;
- typedef vector29 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
- typedef T26 item26;
- typedef T27 item27;
- typedef T28 item28;
-
-
- typedef void_ item29;
- typedef T28 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,29 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<28> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector29<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<29> >
-{
- template< typename Vector > struct apply
- {
- typedef vector28<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25, typename Vector::item26
- , typename Vector::item27, typename Vector::item28
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<28> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector29<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<29> >
-{
- template< typename Vector > struct apply
- {
- typedef vector28<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,29 >
-{
- typedef typename V::item29 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- >
-struct vector30
-{
- typedef aux::vector_tag<30> tag;
- typedef vector30 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
- typedef T26 item26;
- typedef T27 item27;
- typedef T28 item28;
- typedef T29 item29;
-
-
- typedef void_ item30;
- typedef T29 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,30 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<29> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector30<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<30> >
-{
- template< typename Vector > struct apply
- {
- typedef vector29<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25, typename Vector::item26
- , typename Vector::item27, typename Vector::item28
- , typename Vector::item29
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<29> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector30<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<30> >
-{
- template< typename Vector > struct apply
- {
- typedef vector29<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,30 >
-{
- typedef typename V::item30 type;
-};
-
-}}
diff --git a/boost/mpl/vector/aux_/preprocessed/plain/vector30_c.hpp b/boost/mpl/vector/aux_/preprocessed/plain/vector30_c.hpp
deleted file mode 100644
index 6251dbc..0000000
--- a/boost/mpl/vector/aux_/preprocessed/plain/vector30_c.hpp
+++ /dev/null
@@ -1,238 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector30_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- >
-struct vector21_c
- : vector21<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >
- >
-{
- typedef vector21_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21
- >
-struct vector22_c
- : vector22<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- >
-{
- typedef vector22_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22
- >
-struct vector23_c
- : vector23<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >, integral_c<T
- , C22>
- >
-{
- typedef vector23_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23
- >
-struct vector24_c
- : vector24<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >
- >
-{
- typedef vector24_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24
- >
-struct vector25_c
- : vector25<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- >
-{
- typedef vector25_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25
- >
-struct vector26_c
- : vector26<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >, integral_c<T
- , C25>
- >
-{
- typedef vector26_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26
- >
-struct vector27_c
- : vector27<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- , integral_c< T,C25 >, integral_c< T,C26 >
- >
-{
- typedef vector27_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27
- >
-struct vector28_c
- : vector28<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
- >
-{
- typedef vector28_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28
- >
-struct vector29_c
- : vector29<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >, integral_c<T
- , C28>
- >
-{
- typedef vector29_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29
- >
-struct vector30_c
- : vector30<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
- , integral_c< T,C28 >, integral_c< T,C29 >
- >
-{
- typedef vector30_c type;
- typedef T value_type;
-};
-
-}}
diff --git a/boost/mpl/vector/aux_/preprocessed/plain/vector40.hpp b/boost/mpl/vector/aux_/preprocessed/plain/vector40.hpp
deleted file mode 100644
index 7487be4..0000000
--- a/boost/mpl/vector/aux_/preprocessed/plain/vector40.hpp
+++ /dev/null
@@ -1,1784 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector40.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30
- >
-struct vector31
-{
- typedef aux::vector_tag<31> tag;
- typedef vector31 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
- typedef T26 item26;
- typedef T27 item27;
- typedef T28 item28;
- typedef T29 item29;
- typedef T30 item30;
-
-
- typedef void_ item31;
- typedef T30 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,31 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<30> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector31<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<31> >
-{
- template< typename Vector > struct apply
- {
- typedef vector30<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25, typename Vector::item26
- , typename Vector::item27, typename Vector::item28
- , typename Vector::item29, typename Vector::item30
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<30> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector31<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<31> >
-{
- template< typename Vector > struct apply
- {
- typedef vector30<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,31 >
-{
- typedef typename V::item31 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31
- >
-struct vector32
-{
- typedef aux::vector_tag<32> tag;
- typedef vector32 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
- typedef T26 item26;
- typedef T27 item27;
- typedef T28 item28;
- typedef T29 item29;
- typedef T30 item30;
- typedef T31 item31;
-
-
- typedef void_ item32;
- typedef T31 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,32 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<31> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector32<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<32> >
-{
- template< typename Vector > struct apply
- {
- typedef vector31<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25, typename Vector::item26
- , typename Vector::item27, typename Vector::item28
- , typename Vector::item29, typename Vector::item30
- , typename Vector::item31
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<31> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector32<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<32> >
-{
- template< typename Vector > struct apply
- {
- typedef vector31<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,32 >
-{
- typedef typename V::item32 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32
- >
-struct vector33
-{
- typedef aux::vector_tag<33> tag;
- typedef vector33 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
- typedef T26 item26;
- typedef T27 item27;
- typedef T28 item28;
- typedef T29 item29;
- typedef T30 item30;
- typedef T31 item31;
- typedef T32 item32;
-
-
- typedef void_ item33;
- typedef T32 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,33 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<32> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector33<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<33> >
-{
- template< typename Vector > struct apply
- {
- typedef vector32<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25, typename Vector::item26
- , typename Vector::item27, typename Vector::item28
- , typename Vector::item29, typename Vector::item30
- , typename Vector::item31, typename Vector::item32
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<32> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector33<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<33> >
-{
- template< typename Vector > struct apply
- {
- typedef vector32<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,33 >
-{
- typedef typename V::item33 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33
- >
-struct vector34
-{
- typedef aux::vector_tag<34> tag;
- typedef vector34 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
- typedef T26 item26;
- typedef T27 item27;
- typedef T28 item28;
- typedef T29 item29;
- typedef T30 item30;
- typedef T31 item31;
- typedef T32 item32;
- typedef T33 item33;
-
-
- typedef void_ item34;
- typedef T33 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,34 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<33> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector34<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<34> >
-{
- template< typename Vector > struct apply
- {
- typedef vector33<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25, typename Vector::item26
- , typename Vector::item27, typename Vector::item28
- , typename Vector::item29, typename Vector::item30
- , typename Vector::item31, typename Vector::item32
- , typename Vector::item33
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<33> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector34<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<34> >
-{
- template< typename Vector > struct apply
- {
- typedef vector33<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,34 >
-{
- typedef typename V::item34 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- >
-struct vector35
-{
- typedef aux::vector_tag<35> tag;
- typedef vector35 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
- typedef T26 item26;
- typedef T27 item27;
- typedef T28 item28;
- typedef T29 item29;
- typedef T30 item30;
- typedef T31 item31;
- typedef T32 item32;
- typedef T33 item33;
- typedef T34 item34;
-
-
- typedef void_ item35;
- typedef T34 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,35 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<34> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector35<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<35> >
-{
- template< typename Vector > struct apply
- {
- typedef vector34<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25, typename Vector::item26
- , typename Vector::item27, typename Vector::item28
- , typename Vector::item29, typename Vector::item30
- , typename Vector::item31, typename Vector::item32
- , typename Vector::item33, typename Vector::item34
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<34> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector35<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<35> >
-{
- template< typename Vector > struct apply
- {
- typedef vector34<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,35 >
-{
- typedef typename V::item35 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35
- >
-struct vector36
-{
- typedef aux::vector_tag<36> tag;
- typedef vector36 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
- typedef T26 item26;
- typedef T27 item27;
- typedef T28 item28;
- typedef T29 item29;
- typedef T30 item30;
- typedef T31 item31;
- typedef T32 item32;
- typedef T33 item33;
- typedef T34 item34;
- typedef T35 item35;
-
-
- typedef void_ item36;
- typedef T35 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,36 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<35> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector36<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<36> >
-{
- template< typename Vector > struct apply
- {
- typedef vector35<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25, typename Vector::item26
- , typename Vector::item27, typename Vector::item28
- , typename Vector::item29, typename Vector::item30
- , typename Vector::item31, typename Vector::item32
- , typename Vector::item33, typename Vector::item34
- , typename Vector::item35
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<35> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector36<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<36> >
-{
- template< typename Vector > struct apply
- {
- typedef vector35<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,36 >
-{
- typedef typename V::item36 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36
- >
-struct vector37
-{
- typedef aux::vector_tag<37> tag;
- typedef vector37 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
- typedef T26 item26;
- typedef T27 item27;
- typedef T28 item28;
- typedef T29 item29;
- typedef T30 item30;
- typedef T31 item31;
- typedef T32 item32;
- typedef T33 item33;
- typedef T34 item34;
- typedef T35 item35;
- typedef T36 item36;
-
-
- typedef void_ item37;
- typedef T36 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,37 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<36> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector37<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<37> >
-{
- template< typename Vector > struct apply
- {
- typedef vector36<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25, typename Vector::item26
- , typename Vector::item27, typename Vector::item28
- , typename Vector::item29, typename Vector::item30
- , typename Vector::item31, typename Vector::item32
- , typename Vector::item33, typename Vector::item34
- , typename Vector::item35, typename Vector::item36
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<36> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector37<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<37> >
-{
- template< typename Vector > struct apply
- {
- typedef vector36<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,37 >
-{
- typedef typename V::item37 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37
- >
-struct vector38
-{
- typedef aux::vector_tag<38> tag;
- typedef vector38 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
- typedef T26 item26;
- typedef T27 item27;
- typedef T28 item28;
- typedef T29 item29;
- typedef T30 item30;
- typedef T31 item31;
- typedef T32 item32;
- typedef T33 item33;
- typedef T34 item34;
- typedef T35 item35;
- typedef T36 item36;
- typedef T37 item37;
-
-
- typedef void_ item38;
- typedef T37 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,38 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<37> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector38<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<38> >
-{
- template< typename Vector > struct apply
- {
- typedef vector37<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25, typename Vector::item26
- , typename Vector::item27, typename Vector::item28
- , typename Vector::item29, typename Vector::item30
- , typename Vector::item31, typename Vector::item32
- , typename Vector::item33, typename Vector::item34
- , typename Vector::item35, typename Vector::item36
- , typename Vector::item37
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<37> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector38<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<38> >
-{
- template< typename Vector > struct apply
- {
- typedef vector37<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,38 >
-{
- typedef typename V::item38 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37, typename T38
- >
-struct vector39
-{
- typedef aux::vector_tag<39> tag;
- typedef vector39 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
- typedef T26 item26;
- typedef T27 item27;
- typedef T28 item28;
- typedef T29 item29;
- typedef T30 item30;
- typedef T31 item31;
- typedef T32 item32;
- typedef T33 item33;
- typedef T34 item34;
- typedef T35 item35;
- typedef T36 item36;
- typedef T37 item37;
- typedef T38 item38;
-
-
- typedef void_ item39;
- typedef T38 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,39 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<38> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector39<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<39> >
-{
- template< typename Vector > struct apply
- {
- typedef vector38<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25, typename Vector::item26
- , typename Vector::item27, typename Vector::item28
- , typename Vector::item29, typename Vector::item30
- , typename Vector::item31, typename Vector::item32
- , typename Vector::item33, typename Vector::item34
- , typename Vector::item35, typename Vector::item36
- , typename Vector::item37, typename Vector::item38
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<38> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector39<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<39> >
-{
- template< typename Vector > struct apply
- {
- typedef vector38<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,39 >
-{
- typedef typename V::item39 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37, typename T38, typename T39
- >
-struct vector40
-{
- typedef aux::vector_tag<40> tag;
- typedef vector40 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
- typedef T26 item26;
- typedef T27 item27;
- typedef T28 item28;
- typedef T29 item29;
- typedef T30 item30;
- typedef T31 item31;
- typedef T32 item32;
- typedef T33 item33;
- typedef T34 item34;
- typedef T35 item35;
- typedef T36 item36;
- typedef T37 item37;
- typedef T38 item38;
- typedef T39 item39;
-
-
- typedef void_ item40;
- typedef T39 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,40 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<39> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector40<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<40> >
-{
- template< typename Vector > struct apply
- {
- typedef vector39<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25, typename Vector::item26
- , typename Vector::item27, typename Vector::item28
- , typename Vector::item29, typename Vector::item30
- , typename Vector::item31, typename Vector::item32
- , typename Vector::item33, typename Vector::item34
- , typename Vector::item35, typename Vector::item36
- , typename Vector::item37, typename Vector::item38
- , typename Vector::item39
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<39> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector40<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<40> >
-{
- template< typename Vector > struct apply
- {
- typedef vector39<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,40 >
-{
- typedef typename V::item40 type;
-};
-
-}}
diff --git a/boost/mpl/vector/aux_/preprocessed/plain/vector40_c.hpp b/boost/mpl/vector/aux_/preprocessed/plain/vector40_c.hpp
deleted file mode 100644
index ba0ffa8..0000000
--- a/boost/mpl/vector/aux_/preprocessed/plain/vector40_c.hpp
+++ /dev/null
@@ -1,281 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector40_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- >
-struct vector31_c
- : vector31<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
- , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
- >
-{
- typedef vector31_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31
- >
-struct vector32_c
- : vector32<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
- , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >, integral_c<T
- , C31>
- >
-{
- typedef vector32_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32
- >
-struct vector33_c
- : vector33<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
- , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
- , integral_c< T,C31 >, integral_c< T,C32 >
- >
-{
- typedef vector33_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33
- >
-struct vector34_c
- : vector34<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
- , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
- , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
- >
-{
- typedef vector34_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34
- >
-struct vector35_c
- : vector35<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
- , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
- , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >, integral_c<T
- , C34>
- >
-{
- typedef vector35_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35
- >
-struct vector36_c
- : vector36<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
- , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
- , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
- , integral_c< T,C34 >, integral_c< T,C35 >
- >
-{
- typedef vector36_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36
- >
-struct vector37_c
- : vector37<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
- , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
- , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
- , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
- >
-{
- typedef vector37_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37
- >
-struct vector38_c
- : vector38<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
- , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
- , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
- , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >, integral_c<T
- , C37>
- >
-{
- typedef vector38_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38
- >
-struct vector39_c
- : vector39<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
- , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
- , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
- , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
- , integral_c< T,C37 >, integral_c< T,C38 >
- >
-{
- typedef vector39_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39
- >
-struct vector40_c
- : vector40<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
- , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
- , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
- , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
- , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
- >
-{
- typedef vector40_c type;
- typedef T value_type;
-};
-
-}}
diff --git a/boost/mpl/vector/aux_/preprocessed/plain/vector50.hpp b/boost/mpl/vector/aux_/preprocessed/plain/vector50.hpp
deleted file mode 100644
index 5a4c6d7..0000000
--- a/boost/mpl/vector/aux_/preprocessed/plain/vector50.hpp
+++ /dev/null
@@ -1,2104 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector50.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37, typename T38, typename T39
- , typename T40
- >
-struct vector41
-{
- typedef aux::vector_tag<41> tag;
- typedef vector41 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
- typedef T26 item26;
- typedef T27 item27;
- typedef T28 item28;
- typedef T29 item29;
- typedef T30 item30;
- typedef T31 item31;
- typedef T32 item32;
- typedef T33 item33;
- typedef T34 item34;
- typedef T35 item35;
- typedef T36 item36;
- typedef T37 item37;
- typedef T38 item38;
- typedef T39 item39;
- typedef T40 item40;
-
-
- typedef void_ item41;
- typedef T40 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,41 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<40> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector41<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<41> >
-{
- template< typename Vector > struct apply
- {
- typedef vector40<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25, typename Vector::item26
- , typename Vector::item27, typename Vector::item28
- , typename Vector::item29, typename Vector::item30
- , typename Vector::item31, typename Vector::item32
- , typename Vector::item33, typename Vector::item34
- , typename Vector::item35, typename Vector::item36
- , typename Vector::item37, typename Vector::item38
- , typename Vector::item39, typename Vector::item40
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<40> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector41<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<41> >
-{
- template< typename Vector > struct apply
- {
- typedef vector40<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,41 >
-{
- typedef typename V::item41 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37, typename T38, typename T39
- , typename T40, typename T41
- >
-struct vector42
-{
- typedef aux::vector_tag<42> tag;
- typedef vector42 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
- typedef T26 item26;
- typedef T27 item27;
- typedef T28 item28;
- typedef T29 item29;
- typedef T30 item30;
- typedef T31 item31;
- typedef T32 item32;
- typedef T33 item33;
- typedef T34 item34;
- typedef T35 item35;
- typedef T36 item36;
- typedef T37 item37;
- typedef T38 item38;
- typedef T39 item39;
- typedef T40 item40;
- typedef T41 item41;
-
-
- typedef void_ item42;
- typedef T41 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,42 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<41> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector42<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<42> >
-{
- template< typename Vector > struct apply
- {
- typedef vector41<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25, typename Vector::item26
- , typename Vector::item27, typename Vector::item28
- , typename Vector::item29, typename Vector::item30
- , typename Vector::item31, typename Vector::item32
- , typename Vector::item33, typename Vector::item34
- , typename Vector::item35, typename Vector::item36
- , typename Vector::item37, typename Vector::item38
- , typename Vector::item39, typename Vector::item40
- , typename Vector::item41
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<41> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector42<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<42> >
-{
- template< typename Vector > struct apply
- {
- typedef vector41<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,42 >
-{
- typedef typename V::item42 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37, typename T38, typename T39
- , typename T40, typename T41, typename T42
- >
-struct vector43
-{
- typedef aux::vector_tag<43> tag;
- typedef vector43 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
- typedef T26 item26;
- typedef T27 item27;
- typedef T28 item28;
- typedef T29 item29;
- typedef T30 item30;
- typedef T31 item31;
- typedef T32 item32;
- typedef T33 item33;
- typedef T34 item34;
- typedef T35 item35;
- typedef T36 item36;
- typedef T37 item37;
- typedef T38 item38;
- typedef T39 item39;
- typedef T40 item40;
- typedef T41 item41;
- typedef T42 item42;
-
-
- typedef void_ item43;
- typedef T42 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,43 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<42> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector43<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40, typename Vector::item41
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<43> >
-{
- template< typename Vector > struct apply
- {
- typedef vector42<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25, typename Vector::item26
- , typename Vector::item27, typename Vector::item28
- , typename Vector::item29, typename Vector::item30
- , typename Vector::item31, typename Vector::item32
- , typename Vector::item33, typename Vector::item34
- , typename Vector::item35, typename Vector::item36
- , typename Vector::item37, typename Vector::item38
- , typename Vector::item39, typename Vector::item40
- , typename Vector::item41, typename Vector::item42
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<42> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector43<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40, typename Vector::item41
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<43> >
-{
- template< typename Vector > struct apply
- {
- typedef vector42<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40, typename Vector::item41
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,43 >
-{
- typedef typename V::item43 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37, typename T38, typename T39
- , typename T40, typename T41, typename T42, typename T43
- >
-struct vector44
-{
- typedef aux::vector_tag<44> tag;
- typedef vector44 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
- typedef T26 item26;
- typedef T27 item27;
- typedef T28 item28;
- typedef T29 item29;
- typedef T30 item30;
- typedef T31 item31;
- typedef T32 item32;
- typedef T33 item33;
- typedef T34 item34;
- typedef T35 item35;
- typedef T36 item36;
- typedef T37 item37;
- typedef T38 item38;
- typedef T39 item39;
- typedef T40 item40;
- typedef T41 item41;
- typedef T42 item42;
- typedef T43 item43;
-
-
- typedef void_ item44;
- typedef T43 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,44 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<43> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector44<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40, typename Vector::item41
- , typename Vector::item42
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<44> >
-{
- template< typename Vector > struct apply
- {
- typedef vector43<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25, typename Vector::item26
- , typename Vector::item27, typename Vector::item28
- , typename Vector::item29, typename Vector::item30
- , typename Vector::item31, typename Vector::item32
- , typename Vector::item33, typename Vector::item34
- , typename Vector::item35, typename Vector::item36
- , typename Vector::item37, typename Vector::item38
- , typename Vector::item39, typename Vector::item40
- , typename Vector::item41, typename Vector::item42
- , typename Vector::item43
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<43> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector44<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40, typename Vector::item41
- , typename Vector::item42
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<44> >
-{
- template< typename Vector > struct apply
- {
- typedef vector43<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40, typename Vector::item41
- , typename Vector::item42
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,44 >
-{
- typedef typename V::item44 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37, typename T38, typename T39
- , typename T40, typename T41, typename T42, typename T43, typename T44
- >
-struct vector45
-{
- typedef aux::vector_tag<45> tag;
- typedef vector45 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
- typedef T26 item26;
- typedef T27 item27;
- typedef T28 item28;
- typedef T29 item29;
- typedef T30 item30;
- typedef T31 item31;
- typedef T32 item32;
- typedef T33 item33;
- typedef T34 item34;
- typedef T35 item35;
- typedef T36 item36;
- typedef T37 item37;
- typedef T38 item38;
- typedef T39 item39;
- typedef T40 item40;
- typedef T41 item41;
- typedef T42 item42;
- typedef T43 item43;
- typedef T44 item44;
-
-
- typedef void_ item45;
- typedef T44 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,45 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<44> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector45<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40, typename Vector::item41
- , typename Vector::item42, typename Vector::item43
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<45> >
-{
- template< typename Vector > struct apply
- {
- typedef vector44<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25, typename Vector::item26
- , typename Vector::item27, typename Vector::item28
- , typename Vector::item29, typename Vector::item30
- , typename Vector::item31, typename Vector::item32
- , typename Vector::item33, typename Vector::item34
- , typename Vector::item35, typename Vector::item36
- , typename Vector::item37, typename Vector::item38
- , typename Vector::item39, typename Vector::item40
- , typename Vector::item41, typename Vector::item42
- , typename Vector::item43, typename Vector::item44
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<44> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector45<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40, typename Vector::item41
- , typename Vector::item42, typename Vector::item43
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<45> >
-{
- template< typename Vector > struct apply
- {
- typedef vector44<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40, typename Vector::item41
- , typename Vector::item42, typename Vector::item43
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,45 >
-{
- typedef typename V::item45 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37, typename T38, typename T39
- , typename T40, typename T41, typename T42, typename T43, typename T44
- , typename T45
- >
-struct vector46
-{
- typedef aux::vector_tag<46> tag;
- typedef vector46 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
- typedef T26 item26;
- typedef T27 item27;
- typedef T28 item28;
- typedef T29 item29;
- typedef T30 item30;
- typedef T31 item31;
- typedef T32 item32;
- typedef T33 item33;
- typedef T34 item34;
- typedef T35 item35;
- typedef T36 item36;
- typedef T37 item37;
- typedef T38 item38;
- typedef T39 item39;
- typedef T40 item40;
- typedef T41 item41;
- typedef T42 item42;
- typedef T43 item43;
- typedef T44 item44;
- typedef T45 item45;
-
-
- typedef void_ item46;
- typedef T45 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,46 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<45> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector46<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40, typename Vector::item41
- , typename Vector::item42, typename Vector::item43
- , typename Vector::item44
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<46> >
-{
- template< typename Vector > struct apply
- {
- typedef vector45<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25, typename Vector::item26
- , typename Vector::item27, typename Vector::item28
- , typename Vector::item29, typename Vector::item30
- , typename Vector::item31, typename Vector::item32
- , typename Vector::item33, typename Vector::item34
- , typename Vector::item35, typename Vector::item36
- , typename Vector::item37, typename Vector::item38
- , typename Vector::item39, typename Vector::item40
- , typename Vector::item41, typename Vector::item42
- , typename Vector::item43, typename Vector::item44
- , typename Vector::item45
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<45> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector46<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40, typename Vector::item41
- , typename Vector::item42, typename Vector::item43
- , typename Vector::item44
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<46> >
-{
- template< typename Vector > struct apply
- {
- typedef vector45<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40, typename Vector::item41
- , typename Vector::item42, typename Vector::item43
- , typename Vector::item44
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,46 >
-{
- typedef typename V::item46 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37, typename T38, typename T39
- , typename T40, typename T41, typename T42, typename T43, typename T44
- , typename T45, typename T46
- >
-struct vector47
-{
- typedef aux::vector_tag<47> tag;
- typedef vector47 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
- typedef T26 item26;
- typedef T27 item27;
- typedef T28 item28;
- typedef T29 item29;
- typedef T30 item30;
- typedef T31 item31;
- typedef T32 item32;
- typedef T33 item33;
- typedef T34 item34;
- typedef T35 item35;
- typedef T36 item36;
- typedef T37 item37;
- typedef T38 item38;
- typedef T39 item39;
- typedef T40 item40;
- typedef T41 item41;
- typedef T42 item42;
- typedef T43 item43;
- typedef T44 item44;
- typedef T45 item45;
- typedef T46 item46;
-
-
- typedef void_ item47;
- typedef T46 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,47 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<46> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector47<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40, typename Vector::item41
- , typename Vector::item42, typename Vector::item43
- , typename Vector::item44, typename Vector::item45
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<47> >
-{
- template< typename Vector > struct apply
- {
- typedef vector46<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25, typename Vector::item26
- , typename Vector::item27, typename Vector::item28
- , typename Vector::item29, typename Vector::item30
- , typename Vector::item31, typename Vector::item32
- , typename Vector::item33, typename Vector::item34
- , typename Vector::item35, typename Vector::item36
- , typename Vector::item37, typename Vector::item38
- , typename Vector::item39, typename Vector::item40
- , typename Vector::item41, typename Vector::item42
- , typename Vector::item43, typename Vector::item44
- , typename Vector::item45, typename Vector::item46
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<46> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector47<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40, typename Vector::item41
- , typename Vector::item42, typename Vector::item43
- , typename Vector::item44, typename Vector::item45
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<47> >
-{
- template< typename Vector > struct apply
- {
- typedef vector46<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40, typename Vector::item41
- , typename Vector::item42, typename Vector::item43
- , typename Vector::item44, typename Vector::item45
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,47 >
-{
- typedef typename V::item47 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37, typename T38, typename T39
- , typename T40, typename T41, typename T42, typename T43, typename T44
- , typename T45, typename T46, typename T47
- >
-struct vector48
-{
- typedef aux::vector_tag<48> tag;
- typedef vector48 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
- typedef T26 item26;
- typedef T27 item27;
- typedef T28 item28;
- typedef T29 item29;
- typedef T30 item30;
- typedef T31 item31;
- typedef T32 item32;
- typedef T33 item33;
- typedef T34 item34;
- typedef T35 item35;
- typedef T36 item36;
- typedef T37 item37;
- typedef T38 item38;
- typedef T39 item39;
- typedef T40 item40;
- typedef T41 item41;
- typedef T42 item42;
- typedef T43 item43;
- typedef T44 item44;
- typedef T45 item45;
- typedef T46 item46;
- typedef T47 item47;
-
-
- typedef void_ item48;
- typedef T47 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,48 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<47> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector48<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40, typename Vector::item41
- , typename Vector::item42, typename Vector::item43
- , typename Vector::item44, typename Vector::item45
- , typename Vector::item46
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<48> >
-{
- template< typename Vector > struct apply
- {
- typedef vector47<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25, typename Vector::item26
- , typename Vector::item27, typename Vector::item28
- , typename Vector::item29, typename Vector::item30
- , typename Vector::item31, typename Vector::item32
- , typename Vector::item33, typename Vector::item34
- , typename Vector::item35, typename Vector::item36
- , typename Vector::item37, typename Vector::item38
- , typename Vector::item39, typename Vector::item40
- , typename Vector::item41, typename Vector::item42
- , typename Vector::item43, typename Vector::item44
- , typename Vector::item45, typename Vector::item46
- , typename Vector::item47
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<47> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector48<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40, typename Vector::item41
- , typename Vector::item42, typename Vector::item43
- , typename Vector::item44, typename Vector::item45
- , typename Vector::item46
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<48> >
-{
- template< typename Vector > struct apply
- {
- typedef vector47<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40, typename Vector::item41
- , typename Vector::item42, typename Vector::item43
- , typename Vector::item44, typename Vector::item45
- , typename Vector::item46
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,48 >
-{
- typedef typename V::item48 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37, typename T38, typename T39
- , typename T40, typename T41, typename T42, typename T43, typename T44
- , typename T45, typename T46, typename T47, typename T48
- >
-struct vector49
-{
- typedef aux::vector_tag<49> tag;
- typedef vector49 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
- typedef T26 item26;
- typedef T27 item27;
- typedef T28 item28;
- typedef T29 item29;
- typedef T30 item30;
- typedef T31 item31;
- typedef T32 item32;
- typedef T33 item33;
- typedef T34 item34;
- typedef T35 item35;
- typedef T36 item36;
- typedef T37 item37;
- typedef T38 item38;
- typedef T39 item39;
- typedef T40 item40;
- typedef T41 item41;
- typedef T42 item42;
- typedef T43 item43;
- typedef T44 item44;
- typedef T45 item45;
- typedef T46 item46;
- typedef T47 item47;
- typedef T48 item48;
-
-
- typedef void_ item49;
- typedef T48 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,49 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<48> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector49<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40, typename Vector::item41
- , typename Vector::item42, typename Vector::item43
- , typename Vector::item44, typename Vector::item45
- , typename Vector::item46, typename Vector::item47
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<49> >
-{
- template< typename Vector > struct apply
- {
- typedef vector48<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25, typename Vector::item26
- , typename Vector::item27, typename Vector::item28
- , typename Vector::item29, typename Vector::item30
- , typename Vector::item31, typename Vector::item32
- , typename Vector::item33, typename Vector::item34
- , typename Vector::item35, typename Vector::item36
- , typename Vector::item37, typename Vector::item38
- , typename Vector::item39, typename Vector::item40
- , typename Vector::item41, typename Vector::item42
- , typename Vector::item43, typename Vector::item44
- , typename Vector::item45, typename Vector::item46
- , typename Vector::item47, typename Vector::item48
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<48> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector49<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40, typename Vector::item41
- , typename Vector::item42, typename Vector::item43
- , typename Vector::item44, typename Vector::item45
- , typename Vector::item46, typename Vector::item47
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<49> >
-{
- template< typename Vector > struct apply
- {
- typedef vector48<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40, typename Vector::item41
- , typename Vector::item42, typename Vector::item43
- , typename Vector::item44, typename Vector::item45
- , typename Vector::item46, typename Vector::item47
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,49 >
-{
- typedef typename V::item49 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37, typename T38, typename T39
- , typename T40, typename T41, typename T42, typename T43, typename T44
- , typename T45, typename T46, typename T47, typename T48, typename T49
- >
-struct vector50
-{
- typedef aux::vector_tag<50> tag;
- typedef vector50 type;
- typedef T0 item0;
- typedef T1 item1;
- typedef T2 item2;
- typedef T3 item3;
- typedef T4 item4;
- typedef T5 item5;
- typedef T6 item6;
- typedef T7 item7;
- typedef T8 item8;
- typedef T9 item9;
- typedef T10 item10;
- typedef T11 item11;
- typedef T12 item12;
- typedef T13 item13;
- typedef T14 item14;
- typedef T15 item15;
- typedef T16 item16;
- typedef T17 item17;
- typedef T18 item18;
- typedef T19 item19;
- typedef T20 item20;
- typedef T21 item21;
- typedef T22 item22;
- typedef T23 item23;
- typedef T24 item24;
- typedef T25 item25;
- typedef T26 item26;
- typedef T27 item27;
- typedef T28 item28;
- typedef T29 item29;
- typedef T30 item30;
- typedef T31 item31;
- typedef T32 item32;
- typedef T33 item33;
- typedef T34 item34;
- typedef T35 item35;
- typedef T36 item36;
- typedef T37 item37;
- typedef T38 item38;
- typedef T39 item39;
- typedef T40 item40;
- typedef T41 item41;
- typedef T42 item42;
- typedef T43 item43;
- typedef T44 item44;
- typedef T45 item45;
- typedef T46 item46;
- typedef T47 item47;
- typedef T48 item48;
- typedef T49 item49;
-
-
- typedef void_ item50;
- typedef T49 back;
- typedef v_iter< type,0 > begin;
- typedef v_iter< type,50 > end;
-};
-
-template<>
-struct push_front_impl< aux::vector_tag<49> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector50<
- T
- ,
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40, typename Vector::item41
- , typename Vector::item42, typename Vector::item43
- , typename Vector::item44, typename Vector::item45
- , typename Vector::item46, typename Vector::item47
- , typename Vector::item48
- > type;
- };
-};
-
-template<>
-struct pop_front_impl< aux::vector_tag<50> >
-{
- template< typename Vector > struct apply
- {
- typedef vector49<
- typename Vector::item1, typename Vector::item2
- , typename Vector::item3, typename Vector::item4
- , typename Vector::item5, typename Vector::item6
- , typename Vector::item7, typename Vector::item8
- , typename Vector::item9, typename Vector::item10
- , typename Vector::item11, typename Vector::item12
- , typename Vector::item13, typename Vector::item14
- , typename Vector::item15, typename Vector::item16
- , typename Vector::item17, typename Vector::item18
- , typename Vector::item19, typename Vector::item20
- , typename Vector::item21, typename Vector::item22
- , typename Vector::item23, typename Vector::item24
- , typename Vector::item25, typename Vector::item26
- , typename Vector::item27, typename Vector::item28
- , typename Vector::item29, typename Vector::item30
- , typename Vector::item31, typename Vector::item32
- , typename Vector::item33, typename Vector::item34
- , typename Vector::item35, typename Vector::item36
- , typename Vector::item37, typename Vector::item38
- , typename Vector::item39, typename Vector::item40
- , typename Vector::item41, typename Vector::item42
- , typename Vector::item43, typename Vector::item44
- , typename Vector::item45, typename Vector::item46
- , typename Vector::item47, typename Vector::item48
- , typename Vector::item49
- > type;
- };
-};
-
-template<>
-struct push_back_impl< aux::vector_tag<49> >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef vector50<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40, typename Vector::item41
- , typename Vector::item42, typename Vector::item43
- , typename Vector::item44, typename Vector::item45
- , typename Vector::item46, typename Vector::item47
- , typename Vector::item48
- ,
- T
- > type;
- };
-};
-
-template<>
-struct pop_back_impl< aux::vector_tag<50> >
-{
- template< typename Vector > struct apply
- {
- typedef vector49<
- typename Vector::item0, typename Vector::item1
- , typename Vector::item2, typename Vector::item3
- , typename Vector::item4, typename Vector::item5
- , typename Vector::item6, typename Vector::item7
- , typename Vector::item8, typename Vector::item9
- , typename Vector::item10, typename Vector::item11
- , typename Vector::item12, typename Vector::item13
- , typename Vector::item14, typename Vector::item15
- , typename Vector::item16, typename Vector::item17
- , typename Vector::item18, typename Vector::item19
- , typename Vector::item20, typename Vector::item21
- , typename Vector::item22, typename Vector::item23
- , typename Vector::item24, typename Vector::item25
- , typename Vector::item26, typename Vector::item27
- , typename Vector::item28, typename Vector::item29
- , typename Vector::item30, typename Vector::item31
- , typename Vector::item32, typename Vector::item33
- , typename Vector::item34, typename Vector::item35
- , typename Vector::item36, typename Vector::item37
- , typename Vector::item38, typename Vector::item39
- , typename Vector::item40, typename Vector::item41
- , typename Vector::item42, typename Vector::item43
- , typename Vector::item44, typename Vector::item45
- , typename Vector::item46, typename Vector::item47
- , typename Vector::item48
- > type;
- };
-};
-
-template< typename V >
-struct v_at< V,50 >
-{
- typedef typename V::item50 type;
-};
-
-}}
diff --git a/boost/mpl/vector/aux_/preprocessed/plain/vector50_c.hpp b/boost/mpl/vector/aux_/preprocessed/plain/vector50_c.hpp
deleted file mode 100644
index e07f2b3..0000000
--- a/boost/mpl/vector/aux_/preprocessed/plain/vector50_c.hpp
+++ /dev/null
@@ -1,325 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector50_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
- >
-struct vector41_c
- : vector41<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
- , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
- , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
- , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
- , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >, integral_c<T
- , C40>
- >
-{
- typedef vector41_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
- , T C41
- >
-struct vector42_c
- : vector42<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
- , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
- , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
- , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
- , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
- , integral_c< T,C40 >, integral_c< T,C41 >
- >
-{
- typedef vector42_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
- , T C41, T C42
- >
-struct vector43_c
- : vector43<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
- , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
- , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
- , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
- , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
- , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >
- >
-{
- typedef vector43_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
- , T C41, T C42, T C43
- >
-struct vector44_c
- : vector44<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
- , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
- , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
- , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
- , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
- , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >, integral_c<T
- , C43>
- >
-{
- typedef vector44_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
- , T C41, T C42, T C43, T C44
- >
-struct vector45_c
- : vector45<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
- , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
- , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
- , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
- , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
- , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >
- , integral_c< T,C43 >, integral_c< T,C44 >
- >
-{
- typedef vector45_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
- , T C41, T C42, T C43, T C44, T C45
- >
-struct vector46_c
- : vector46<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
- , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
- , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
- , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
- , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
- , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >
- , integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 >
- >
-{
- typedef vector46_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
- , T C41, T C42, T C43, T C44, T C45, T C46
- >
-struct vector47_c
- : vector47<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
- , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
- , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
- , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
- , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
- , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >
- , integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 >, integral_c<T
- , C46>
- >
-{
- typedef vector47_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
- , T C41, T C42, T C43, T C44, T C45, T C46, T C47
- >
-struct vector48_c
- : vector48<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
- , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
- , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
- , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
- , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
- , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >
- , integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 >
- , integral_c< T,C46 >, integral_c< T,C47 >
- >
-{
- typedef vector48_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
- , T C41, T C42, T C43, T C44, T C45, T C46, T C47, T C48
- >
-struct vector49_c
- : vector49<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
- , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
- , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
- , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
- , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
- , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >
- , integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 >
- , integral_c< T,C46 >, integral_c< T,C47 >, integral_c< T,C48 >
- >
-{
- typedef vector49_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
- , T C41, T C42, T C43, T C44, T C45, T C46, T C47, T C48, T C49
- >
-struct vector50_c
- : vector50<
- integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >
- , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 >
- , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
- , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
- , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
- , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
- , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
- , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
- , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
- , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
- , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
- , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
- , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
- , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >
- , integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 >
- , integral_c< T,C46 >, integral_c< T,C47 >, integral_c< T,C48 >, integral_c<T
- , C49>
- >
-{
- typedef vector50_c type;
- typedef T value_type;
-};
-
-}}
diff --git a/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10.hpp b/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10.hpp
deleted file mode 100644
index e4c6407..0000000
--- a/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10.hpp
+++ /dev/null
@@ -1,139 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector10.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0
- >
-struct vector1
- : v_item<
- T0
- , vector0< >
- >
-{
- typedef vector1 type;
-};
-
-template<
- typename T0, typename T1
- >
-struct vector2
- : v_item<
- T1
- , vector1<T0>
- >
-{
- typedef vector2 type;
-};
-
-template<
- typename T0, typename T1, typename T2
- >
-struct vector3
- : v_item<
- T2
- , vector2< T0,T1 >
- >
-{
- typedef vector3 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3
- >
-struct vector4
- : v_item<
- T3
- , vector3< T0,T1,T2 >
- >
-{
- typedef vector4 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- >
-struct vector5
- : v_item<
- T4
- , vector4< T0,T1,T2,T3 >
- >
-{
- typedef vector5 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5
- >
-struct vector6
- : v_item<
- T5
- , vector5< T0,T1,T2,T3,T4 >
- >
-{
- typedef vector6 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6
- >
-struct vector7
- : v_item<
- T6
- , vector6< T0,T1,T2,T3,T4,T5 >
- >
-{
- typedef vector7 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7
- >
-struct vector8
- : v_item<
- T7
- , vector7< T0,T1,T2,T3,T4,T5,T6 >
- >
-{
- typedef vector8 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8
- >
-struct vector9
- : v_item<
- T8
- , vector8< T0,T1,T2,T3,T4,T5,T6,T7 >
- >
-{
- typedef vector9 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- >
-struct vector10
- : v_item<
- T9
- , vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
- >
-{
- typedef vector10 type;
-};
-
-}}
diff --git a/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10_c.hpp b/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10_c.hpp
deleted file mode 100644
index 18eabc6..0000000
--- a/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10_c.hpp
+++ /dev/null
@@ -1,154 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector10_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T
- , T C0
- >
-struct vector1_c
- : v_item<
- integral_c< T,C0 >
- , vector0_c<T>
- >
-{
- typedef vector1_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1
- >
-struct vector2_c
- : v_item<
- integral_c< T,C1 >
- , vector1_c< T,C0 >
- >
-{
- typedef vector2_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2
- >
-struct vector3_c
- : v_item<
- integral_c< T,C2 >
- , vector2_c< T,C0,C1 >
- >
-{
- typedef vector3_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3
- >
-struct vector4_c
- : v_item<
- integral_c< T,C3 >
- , vector3_c< T,C0,C1,C2 >
- >
-{
- typedef vector4_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4
- >
-struct vector5_c
- : v_item<
- integral_c< T,C4 >
- , vector4_c< T,C0,C1,C2,C3 >
- >
-{
- typedef vector5_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5
- >
-struct vector6_c
- : v_item<
- integral_c< T,C5 >
- , vector5_c< T,C0,C1,C2,C3,C4 >
- >
-{
- typedef vector6_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6
- >
-struct vector7_c
- : v_item<
- integral_c< T,C6 >
- , vector6_c< T,C0,C1,C2,C3,C4,C5 >
- >
-{
- typedef vector7_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7
- >
-struct vector8_c
- : v_item<
- integral_c< T,C7 >
- , vector7_c< T,C0,C1,C2,C3,C4,C5,C6 >
- >
-{
- typedef vector8_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8
- >
-struct vector9_c
- : v_item<
- integral_c< T,C8 >
- , vector8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >
- >
-{
- typedef vector9_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9
- >
-struct vector10_c
- : v_item<
- integral_c< T,C9 >
- , vector9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >
- >
-{
- typedef vector10_c type;
- typedef T value_type;
-};
-
-}}
diff --git a/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20.hpp b/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20.hpp
deleted file mode 100644
index 78ccac4..0000000
--- a/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20.hpp
+++ /dev/null
@@ -1,159 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector20.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10
- >
-struct vector11
- : v_item<
- T10
- , vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
- >
-{
- typedef vector11 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11
- >
-struct vector12
- : v_item<
- T11
- , vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
- >
-{
- typedef vector12 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12
- >
-struct vector13
- : v_item<
- T12
- , vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
- >
-{
- typedef vector13 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13
- >
-struct vector14
- : v_item<
- T13
- , vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
- >
-{
- typedef vector14 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- >
-struct vector15
- : v_item<
- T14
- , vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
- >
-{
- typedef vector15 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15
- >
-struct vector16
- : v_item<
- T15
- , vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >
- >
-{
- typedef vector16 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16
- >
-struct vector17
- : v_item<
- T16
- , vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >
- >
-{
- typedef vector17 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17
- >
-struct vector18
- : v_item<
- T17
- , vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >
- >
-{
- typedef vector18 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18
- >
-struct vector19
- : v_item<
- T18
- , vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >
- >
-{
- typedef vector19 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- >
-struct vector20
- : v_item<
- T19
- , vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >
- >
-{
- typedef vector20 type;
-};
-
-}}
diff --git a/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20_c.hpp b/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20_c.hpp
deleted file mode 100644
index 4bf6742..0000000
--- a/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20_c.hpp
+++ /dev/null
@@ -1,163 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector20_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- >
-struct vector11_c
- : v_item<
- integral_c< T,C10 >
- , vector10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >
- >
-{
- typedef vector11_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11
- >
-struct vector12_c
- : v_item<
- integral_c< T,C11 >
- , vector11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >
- >
-{
- typedef vector12_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12
- >
-struct vector13_c
- : v_item<
- integral_c< T,C12 >
- , vector12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >
- >
-{
- typedef vector13_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13
- >
-struct vector14_c
- : v_item<
- integral_c< T,C13 >
- , vector13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >
- >
-{
- typedef vector14_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14
- >
-struct vector15_c
- : v_item<
- integral_c< T,C14 >
- , vector14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >
- >
-{
- typedef vector15_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15
- >
-struct vector16_c
- : v_item<
- integral_c< T,C15 >
- , vector15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >
- >
-{
- typedef vector16_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16
- >
-struct vector17_c
- : v_item<
- integral_c< T,C16 >
- , vector16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >
- >
-{
- typedef vector17_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17
- >
-struct vector18_c
- : v_item<
- integral_c< T,C17 >
- , vector17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >
- >
-{
- typedef vector18_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18
- >
-struct vector19_c
- : v_item<
- integral_c< T,C18 >
- , vector18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >
- >
-{
- typedef vector19_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19
- >
-struct vector20_c
- : v_item<
- integral_c< T,C19 >
- , vector19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >
- >
-{
- typedef vector20_c type;
- typedef T value_type;
-};
-
-}}
diff --git a/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30.hpp b/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30.hpp
deleted file mode 100644
index c404990..0000000
--- a/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30.hpp
+++ /dev/null
@@ -1,179 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector30.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20
- >
-struct vector21
- : v_item<
- T20
- , vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >
- >
-{
- typedef vector21 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21
- >
-struct vector22
- : v_item<
- T21
- , vector21< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20 >
- >
-{
- typedef vector22 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22
- >
-struct vector23
- : v_item<
- T22
- , vector22< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21 >
- >
-{
- typedef vector23 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23
- >
-struct vector24
- : v_item<
- T23
- , vector23< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22 >
- >
-{
- typedef vector24 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- >
-struct vector25
- : v_item<
- T24
- , vector24< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23 >
- >
-{
- typedef vector25 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25
- >
-struct vector26
- : v_item<
- T25
- , vector25< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24 >
- >
-{
- typedef vector26 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26
- >
-struct vector27
- : v_item<
- T26
- , vector26< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25 >
- >
-{
- typedef vector27 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27
- >
-struct vector28
- : v_item<
- T27
- , vector27< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26 >
- >
-{
- typedef vector28 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28
- >
-struct vector29
- : v_item<
- T28
- , vector28< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27 >
- >
-{
- typedef vector29 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- >
-struct vector30
- : v_item<
- T29
- , vector29< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28 >
- >
-{
- typedef vector30 type;
-};
-
-}}
diff --git a/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30_c.hpp b/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30_c.hpp
deleted file mode 100644
index 5741bb4..0000000
--- a/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30_c.hpp
+++ /dev/null
@@ -1,173 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector30_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- >
-struct vector21_c
- : v_item<
- integral_c< T,C20 >
- , vector20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >
- >
-{
- typedef vector21_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21
- >
-struct vector22_c
- : v_item<
- integral_c< T,C21 >
- , vector21_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20 >
- >
-{
- typedef vector22_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22
- >
-struct vector23_c
- : v_item<
- integral_c< T,C22 >
- , vector22_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21 >
- >
-{
- typedef vector23_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23
- >
-struct vector24_c
- : v_item<
- integral_c< T,C23 >
- , vector23_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22 >
- >
-{
- typedef vector24_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24
- >
-struct vector25_c
- : v_item<
- integral_c< T,C24 >
- , vector24_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23 >
- >
-{
- typedef vector25_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25
- >
-struct vector26_c
- : v_item<
- integral_c< T,C25 >
- , vector25_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24 >
- >
-{
- typedef vector26_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26
- >
-struct vector27_c
- : v_item<
- integral_c< T,C26 >
- , vector26_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25 >
- >
-{
- typedef vector27_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27
- >
-struct vector28_c
- : v_item<
- integral_c< T,C27 >
- , vector27_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26 >
- >
-{
- typedef vector28_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28
- >
-struct vector29_c
- : v_item<
- integral_c< T,C28 >
- , vector28_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27 >
- >
-{
- typedef vector29_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29
- >
-struct vector30_c
- : v_item<
- integral_c< T,C29 >
- , vector29_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28 >
- >
-{
- typedef vector30_c type;
- typedef T value_type;
-};
-
-}}
diff --git a/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40.hpp b/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40.hpp
deleted file mode 100644
index debcf70..0000000
--- a/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40.hpp
+++ /dev/null
@@ -1,199 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector40.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30
- >
-struct vector31
- : v_item<
- T30
- , vector30< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29 >
- >
-{
- typedef vector31 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31
- >
-struct vector32
- : v_item<
- T31
- , vector31< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30 >
- >
-{
- typedef vector32 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32
- >
-struct vector33
- : v_item<
- T32
- , vector32< T0,T1,T2,T3,T4,T5,T6,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 >
- >
-{
- typedef vector33 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33
- >
-struct vector34
- : v_item<
- T33
- , vector33< T0,T1,T2,T3,T4,T5,T6,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 >
- >
-{
- typedef vector34 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- >
-struct vector35
- : v_item<
- T34
- , vector34< T0,T1,T2,T3,T4,T5,T6,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 >
- >
-{
- typedef vector35 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35
- >
-struct vector36
- : v_item<
- T35
- , vector35< T0,T1,T2,T3,T4,T5,T6,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 >
- >
-{
- typedef vector36 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36
- >
-struct vector37
- : v_item<
- T36
- , vector36< T0,T1,T2,T3,T4,T5,T6,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 >
- >
-{
- typedef vector37 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37
- >
-struct vector38
- : v_item<
- T37
- , vector37< T0,T1,T2,T3,T4,T5,T6,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 >
- >
-{
- typedef vector38 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37, typename T38
- >
-struct vector39
- : v_item<
- T38
- , vector38< T0,T1,T2,T3,T4,T5,T6,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 >
- >
-{
- typedef vector39 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37, typename T38, typename T39
- >
-struct vector40
- : v_item<
- T39
- , vector39< T0,T1,T2,T3,T4,T5,T6,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 >
- >
-{
- typedef vector40 type;
-};
-
-}}
diff --git a/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40_c.hpp b/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40_c.hpp
deleted file mode 100644
index 88d742e..0000000
--- a/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40_c.hpp
+++ /dev/null
@@ -1,183 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector40_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- >
-struct vector31_c
- : v_item<
- integral_c< T,C30 >
- , vector30_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29 >
- >
-{
- typedef vector31_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31
- >
-struct vector32_c
- : v_item<
- integral_c< T,C31 >
- , vector31_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30 >
- >
-{
- typedef vector32_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32
- >
-struct vector33_c
- : v_item<
- integral_c< T,C32 >
- , vector32_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31 >
- >
-{
- typedef vector33_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33
- >
-struct vector34_c
- : v_item<
- integral_c< T,C33 >
- , vector33_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32 >
- >
-{
- typedef vector34_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34
- >
-struct vector35_c
- : v_item<
- integral_c< T,C34 >
- , vector34_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33 >
- >
-{
- typedef vector35_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35
- >
-struct vector36_c
- : v_item<
- integral_c< T,C35 >
- , vector35_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34 >
- >
-{
- typedef vector36_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36
- >
-struct vector37_c
- : v_item<
- integral_c< T,C36 >
- , vector36_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35 >
- >
-{
- typedef vector37_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37
- >
-struct vector38_c
- : v_item<
- integral_c< T,C37 >
- , vector37_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36 >
- >
-{
- typedef vector38_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38
- >
-struct vector39_c
- : v_item<
- integral_c< T,C38 >
- , vector38_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37 >
- >
-{
- typedef vector39_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39
- >
-struct vector40_c
- : v_item<
- integral_c< T,C39 >
- , vector39_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38 >
- >
-{
- typedef vector40_c type;
- typedef T value_type;
-};
-
-}}
diff --git a/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50.hpp b/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50.hpp
deleted file mode 100644
index 8db06df..0000000
--- a/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50.hpp
+++ /dev/null
@@ -1,219 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector50.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37, typename T38, typename T39
- , typename T40
- >
-struct vector41
- : v_item<
- T40
- , vector40< T0,T1,T2,T3,T4,T5,T6,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 >
- >
-{
- typedef vector41 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37, typename T38, typename T39
- , typename T40, typename T41
- >
-struct vector42
- : v_item<
- T41
- , vector41< T0,T1,T2,T3,T4,T5,T6,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 >
- >
-{
- typedef vector42 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37, typename T38, typename T39
- , typename T40, typename T41, typename T42
- >
-struct vector43
- : v_item<
- T42
- , vector42< T0,T1,T2,T3,T4,T5,T6,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 >
- >
-{
- typedef vector43 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37, typename T38, typename T39
- , typename T40, typename T41, typename T42, typename T43
- >
-struct vector44
- : v_item<
- T43
- , vector43< T0,T1,T2,T3,T4,T5,T6,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 >
- >
-{
- typedef vector44 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37, typename T38, typename T39
- , typename T40, typename T41, typename T42, typename T43, typename T44
- >
-struct vector45
- : v_item<
- T44
- , vector44< T0,T1,T2,T3,T4,T5,T6,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 >
- >
-{
- typedef vector45 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37, typename T38, typename T39
- , typename T40, typename T41, typename T42, typename T43, typename T44
- , typename T45
- >
-struct vector46
- : v_item<
- T45
- , vector45< T0,T1,T2,T3,T4,T5,T6,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 >
- >
-{
- typedef vector46 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37, typename T38, typename T39
- , typename T40, typename T41, typename T42, typename T43, typename T44
- , typename T45, typename T46
- >
-struct vector47
- : v_item<
- T46
- , vector46< T0,T1,T2,T3,T4,T5,T6,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 >
- >
-{
- typedef vector47 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37, typename T38, typename T39
- , typename T40, typename T41, typename T42, typename T43, typename T44
- , typename T45, typename T46, typename T47
- >
-struct vector48
- : v_item<
- T47
- , vector47< T0,T1,T2,T3,T4,T5,T6,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 >
- >
-{
- typedef vector48 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37, typename T38, typename T39
- , typename T40, typename T41, typename T42, typename T43, typename T44
- , typename T45, typename T46, typename T47, typename T48
- >
-struct vector49
- : v_item<
- T48
- , vector48< T0,T1,T2,T3,T4,T5,T6,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 >
- >
-{
- typedef vector49 type;
-};
-
-template<
- typename T0, typename T1, typename T2, typename T3, typename T4
- , typename T5, typename T6, typename T7, typename T8, typename T9
- , typename T10, typename T11, typename T12, typename T13, typename T14
- , typename T15, typename T16, typename T17, typename T18, typename T19
- , typename T20, typename T21, typename T22, typename T23, typename T24
- , typename T25, typename T26, typename T27, typename T28, typename T29
- , typename T30, typename T31, typename T32, typename T33, typename T34
- , typename T35, typename T36, typename T37, typename T38, typename T39
- , typename T40, typename T41, typename T42, typename T43, typename T44
- , typename T45, typename T46, typename T47, typename T48, typename T49
- >
-struct vector50
- : v_item<
- T49
- , vector49< T0,T1,T2,T3,T4,T5,T6,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 >
- >
-{
- typedef vector50 type;
-};
-
-}}
diff --git a/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50_c.hpp b/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50_c.hpp
deleted file mode 100644
index f56d6af..0000000
--- a/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50_c.hpp
+++ /dev/null
@@ -1,193 +0,0 @@
-
-// 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)
-//
-
-// Preprocessed version of "boost/mpl/vector/vector50_c.hpp" header
-// -- DO NOT modify by hand!
-
-namespace boost { namespace mpl {
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
- >
-struct vector41_c
- : v_item<
- integral_c< T,C40 >
- , vector40_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39 >
- >
-{
- typedef vector41_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
- , T C41
- >
-struct vector42_c
- : v_item<
- integral_c< T,C41 >
- , vector41_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40 >
- >
-{
- typedef vector42_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
- , T C41, T C42
- >
-struct vector43_c
- : v_item<
- integral_c< T,C42 >
- , vector42_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41 >
- >
-{
- typedef vector43_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
- , T C41, T C42, T C43
- >
-struct vector44_c
- : v_item<
- integral_c< T,C43 >
- , vector43_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42 >
- >
-{
- typedef vector44_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
- , T C41, T C42, T C43, T C44
- >
-struct vector45_c
- : v_item<
- integral_c< T,C44 >
- , vector44_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43 >
- >
-{
- typedef vector45_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
- , T C41, T C42, T C43, T C44, T C45
- >
-struct vector46_c
- : v_item<
- integral_c< T,C45 >
- , vector45_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43,C44 >
- >
-{
- typedef vector46_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
- , T C41, T C42, T C43, T C44, T C45, T C46
- >
-struct vector47_c
- : v_item<
- integral_c< T,C46 >
- , vector46_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43,C44,C45 >
- >
-{
- typedef vector47_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
- , T C41, T C42, T C43, T C44, T C45, T C46, T C47
- >
-struct vector48_c
- : v_item<
- integral_c< T,C47 >
- , vector47_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43,C44,C45,C46 >
- >
-{
- typedef vector48_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
- , T C41, T C42, T C43, T C44, T C45, T C46, T C47, T C48
- >
-struct vector49_c
- : v_item<
- integral_c< T,C48 >
- , vector48_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43,C44,C45,C46,C47 >
- >
-{
- typedef vector49_c type;
- typedef T value_type;
-};
-
-template<
- typename T
- , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
- , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
- , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
- , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
- , T C41, T C42, T C43, T C44, T C45, T C46, T C47, T C48, T C49
- >
-struct vector50_c
- : v_item<
- integral_c< T,C49 >
- , vector49_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43,C44,C45,C46,C47,C48 >
- >
-{
- typedef vector50_c type;
- typedef T value_type;
-};
-
-}}
diff --git a/boost/mpl/vector/aux_/push_back.hpp b/boost/mpl/vector/aux_/push_back.hpp
deleted file mode 100644
index d8783cc..0000000
--- a/boost/mpl/vector/aux_/push_back.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_AUX_PUSH_BACK_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_AUX_PUSH_BACK_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: push_back.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/push_back_fwd.hpp>
-#include <boost/mpl/aux_/config/typeof.hpp>
-
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
-
-# include <boost/mpl/vector/aux_/item.hpp>
-# include <boost/mpl/vector/aux_/tag.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct push_back_impl< aux::vector_tag >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef v_item<T,Vector,0> type;
- };
-};
-
-}}
-
-#endif
-
-#endif // BOOST_MPL_VECTOR_AUX_PUSH_BACK_HPP_INCLUDED
diff --git a/boost/mpl/vector/aux_/push_front.hpp b/boost/mpl/vector/aux_/push_front.hpp
deleted file mode 100644
index 26b5f00..0000000
--- a/boost/mpl/vector/aux_/push_front.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_AUX_PUSH_FRONT_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_AUX_PUSH_FRONT_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: push_front.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/push_front_fwd.hpp>
-#include <boost/mpl/aux_/config/typeof.hpp>
-
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
-
-# include <boost/mpl/vector/aux_/item.hpp>
-# include <boost/mpl/vector/aux_/tag.hpp>
-
-namespace boost { namespace mpl {
-
-template<>
-struct push_front_impl< aux::vector_tag >
-{
- template< typename Vector, typename T > struct apply
- {
- typedef v_item<T,Vector,1> type;
- };
-};
-
-}}
-
-#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
-
-#endif // BOOST_MPL_VECTOR_AUX_PUSH_FRONT_HPP_INCLUDED
diff --git a/boost/mpl/vector/aux_/size.hpp b/boost/mpl/vector/aux_/size.hpp
deleted file mode 100644
index 41b7be6..0000000
--- a/boost/mpl/vector/aux_/size.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_AUX_SIZE_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_AUX_SIZE_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: size.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/size_fwd.hpp>
-#include <boost/mpl/vector/aux_/O1_size.hpp>
-#include <boost/mpl/vector/aux_/tag.hpp>
-#include <boost/mpl/aux_/config/typeof.hpp>
-#include <boost/mpl/aux_/config/ctps.hpp>
-
-namespace boost { namespace mpl {
-
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
-
-template<>
-struct size_impl< aux::vector_tag >
- : O1_size_impl< aux::vector_tag >
-{
-};
-
-#else
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-template< long N >
-struct size_impl< aux::vector_tag<N> >
- : O1_size_impl< aux::vector_tag<N> >
-{
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
-
-}}
-
-#endif // BOOST_MPL_VECTOR_AUX_SIZE_HPP_INCLUDED
diff --git a/boost/mpl/vector/aux_/tag.hpp b/boost/mpl/vector/aux_/tag.hpp
deleted file mode 100644
index 0f37e92..0000000
--- a/boost/mpl/vector/aux_/tag.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_AUX_TAG_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_AUX_TAG_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: tag.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/config/typeof.hpp>
-#include <boost/mpl/aux_/nttp_decl.hpp>
-
-namespace boost { namespace mpl { namespace aux {
-
-struct v_iter_tag;
-
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
-struct vector_tag;
-#else
-template< BOOST_MPL_AUX_NTTP_DECL(long, N) > struct vector_tag;
-#endif
-
-}}}
-
-#endif // BOOST_MPL_VECTOR_AUX_TAG_HPP_INCLUDED
diff --git a/boost/mpl/vector/aux_/vector0.hpp b/boost/mpl/vector/aux_/vector0.hpp
deleted file mode 100644
index b3bb13b..0000000
--- a/boost/mpl/vector/aux_/vector0.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_AUX_VECTOR0_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_AUX_VECTOR0_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: vector0.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/long.hpp>
-#include <boost/mpl/void.hpp>
-#include <boost/mpl/aux_/na.hpp>
-#include <boost/mpl/aux_/type_wrapper.hpp>
-
-#include <boost/mpl/vector/aux_/iterator.hpp>
-#include <boost/mpl/vector/aux_/tag.hpp>
-#include <boost/mpl/aux_/config/typeof.hpp>
-
-namespace boost { namespace mpl {
-
-template< typename Dummy = na > struct vector0;
-
-template<> struct vector0<na>
-{
-#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
- typedef aux::vector_tag tag;
- typedef vector0 type;
- typedef long_<32768> lower_bound_;
- typedef lower_bound_ upper_bound_;
- typedef long_<0> size;
-
- static aux::type_wrapper<void_> item_(...);
-#else
- typedef aux::vector_tag<0> tag;
- typedef vector0 type;
- typedef void_ item0;
-
- typedef v_iter<vector0<>,0> begin;
- typedef v_iter<vector0<>,0> end;
-#endif
-};
-
-}}
-
-#endif // BOOST_MPL_VECTOR_AUX_VECTOR0_HPP_INCLUDED
diff --git a/boost/mpl/vector/vector0.hpp b/boost/mpl/vector/vector0.hpp
deleted file mode 100644
index 9d18104..0000000
--- a/boost/mpl/vector/vector0.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_VECTOR0_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_VECTOR0_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: vector0.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/vector/aux_/at.hpp>
-#include <boost/mpl/vector/aux_/front.hpp>
-#include <boost/mpl/vector/aux_/push_front.hpp>
-#include <boost/mpl/vector/aux_/pop_front.hpp>
-#include <boost/mpl/vector/aux_/push_back.hpp>
-#include <boost/mpl/vector/aux_/pop_back.hpp>
-#include <boost/mpl/vector/aux_/back.hpp>
-#include <boost/mpl/vector/aux_/clear.hpp>
-#include <boost/mpl/vector/aux_/O1_size.hpp>
-#include <boost/mpl/vector/aux_/size.hpp>
-#include <boost/mpl/vector/aux_/empty.hpp>
-#include <boost/mpl/vector/aux_/item.hpp>
-#include <boost/mpl/vector/aux_/iterator.hpp>
-#include <boost/mpl/vector/aux_/vector0.hpp>
-#include <boost/mpl/vector/aux_/begin_end.hpp>
-#include <boost/mpl/vector/aux_/tag.hpp>
-
-#endif // BOOST_MPL_VECTOR_VECTOR0_HPP_INCLUDED
diff --git a/boost/mpl/vector/vector0_c.hpp b/boost/mpl/vector/vector0_c.hpp
deleted file mode 100644
index eb1dcf9..0000000
--- a/boost/mpl/vector/vector0_c.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_VECTOR0_C_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_VECTOR0_C_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: vector0_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/vector/vector0.hpp>
-#include <boost/mpl/integral_c.hpp>
-
-namespace boost { namespace mpl {
-
-template< typename T > struct vector0_c
- : vector0<>
-{
- typedef vector0_c type;
- typedef T value_type;
-};
-
-}}
-
-#endif // BOOST_MPL_VECTOR_VECTOR0_C_HPP_INCLUDED
diff --git a/boost/mpl/vector/vector10.hpp b/boost/mpl/vector/vector10.hpp
deleted file mode 100644
index 848dd82..0000000
--- a/boost/mpl/vector/vector10.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_VECTOR10_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_VECTOR10_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: vector10.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-# include <boost/mpl/vector/vector0.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-# define BOOST_MPL_PREPROCESSED_HEADER vector10.hpp
-# include <boost/mpl/vector/aux_/include_preprocessed.hpp>
-
-#else
-
-# include <boost/mpl/aux_/config/typeof.hpp>
-# include <boost/mpl/aux_/config/ctps.hpp>
-# include <boost/preprocessor/iterate.hpp>
-
-namespace boost { namespace mpl {
-
-# define BOOST_PP_ITERATION_PARAMS_1 \
- (3,(0, 10, <boost/mpl/vector/aux_/numbered.hpp>))
-# include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_VECTOR_VECTOR10_HPP_INCLUDED
diff --git a/boost/mpl/vector/vector10_c.hpp b/boost/mpl/vector/vector10_c.hpp
deleted file mode 100644
index 4e6cf3b..0000000
--- a/boost/mpl/vector/vector10_c.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_VECTOR10_C_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_VECTOR10_C_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: vector10_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-# include <boost/mpl/vector/vector0_c.hpp>
-# include <boost/mpl/vector/vector10.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-# define BOOST_MPL_PREPROCESSED_HEADER vector10_c.hpp
-# include <boost/mpl/vector/aux_/include_preprocessed.hpp>
-
-#else
-
-# include <boost/mpl/aux_/config/typeof.hpp>
-# include <boost/mpl/aux_/config/ctps.hpp>
-# include <boost/preprocessor/iterate.hpp>
-
-namespace boost { namespace mpl {
-
-# define BOOST_PP_ITERATION_PARAMS_1 \
- (3,(1, 10, <boost/mpl/vector/aux_/numbered_c.hpp>))
-# include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_VECTOR_VECTOR10_C_HPP_INCLUDED
diff --git a/boost/mpl/vector/vector20.hpp b/boost/mpl/vector/vector20.hpp
deleted file mode 100644
index 173eacf..0000000
--- a/boost/mpl/vector/vector20.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_VECTOR20_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_VECTOR20_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: vector20.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-# include <boost/mpl/vector/vector10.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-# define BOOST_MPL_PREPROCESSED_HEADER vector20.hpp
-# include <boost/mpl/vector/aux_/include_preprocessed.hpp>
-
-#else
-
-# include <boost/mpl/aux_/config/typeof.hpp>
-# include <boost/mpl/aux_/config/ctps.hpp>
-# include <boost/preprocessor/iterate.hpp>
-
-namespace boost { namespace mpl {
-
-# define BOOST_PP_ITERATION_PARAMS_1 \
- (3,(11, 20, <boost/mpl/vector/aux_/numbered.hpp>))
-# include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_VECTOR_VECTOR20_HPP_INCLUDED
diff --git a/boost/mpl/vector/vector20_c.hpp b/boost/mpl/vector/vector20_c.hpp
deleted file mode 100644
index c6b7187..0000000
--- a/boost/mpl/vector/vector20_c.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_VECTOR20_C_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_VECTOR20_C_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: vector20_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-# include <boost/mpl/vector/vector10_c.hpp>
-# include <boost/mpl/vector/vector20.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-# define BOOST_MPL_PREPROCESSED_HEADER vector20_c.hpp
-# include <boost/mpl/vector/aux_/include_preprocessed.hpp>
-
-#else
-
-# include <boost/mpl/aux_/config/typeof.hpp>
-# include <boost/mpl/aux_/config/ctps.hpp>
-# include <boost/preprocessor/iterate.hpp>
-
-namespace boost { namespace mpl {
-
-# define BOOST_PP_ITERATION_PARAMS_1 \
- (3,(11, 20, <boost/mpl/vector/aux_/numbered_c.hpp>))
-# include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_VECTOR_VECTOR20_C_HPP_INCLUDED
diff --git a/boost/mpl/vector/vector30.hpp b/boost/mpl/vector/vector30.hpp
deleted file mode 100644
index 476ec35..0000000
--- a/boost/mpl/vector/vector30.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_VECTOR30_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_VECTOR30_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: vector30.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-# include <boost/mpl/vector/vector20.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-# define BOOST_MPL_PREPROCESSED_HEADER vector30.hpp
-# include <boost/mpl/vector/aux_/include_preprocessed.hpp>
-
-#else
-
-# include <boost/mpl/aux_/config/typeof.hpp>
-# include <boost/mpl/aux_/config/ctps.hpp>
-# include <boost/preprocessor/iterate.hpp>
-
-namespace boost { namespace mpl {
-
-# define BOOST_PP_ITERATION_PARAMS_1 \
- (3,(21, 30, <boost/mpl/vector/aux_/numbered.hpp>))
-# include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_VECTOR_VECTOR30_HPP_INCLUDED
diff --git a/boost/mpl/vector/vector30_c.hpp b/boost/mpl/vector/vector30_c.hpp
deleted file mode 100644
index c20d8f9..0000000
--- a/boost/mpl/vector/vector30_c.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_VECTOR30_C_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_VECTOR30_C_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: vector30_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-# include <boost/mpl/vector/vector20_c.hpp>
-# include <boost/mpl/vector/vector30.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-# define BOOST_MPL_PREPROCESSED_HEADER vector30_c.hpp
-# include <boost/mpl/vector/aux_/include_preprocessed.hpp>
-
-#else
-
-# include <boost/mpl/aux_/config/typeof.hpp>
-# include <boost/mpl/aux_/config/ctps.hpp>
-# include <boost/preprocessor/iterate.hpp>
-# include <boost/config.hpp>
-
-namespace boost { namespace mpl {
-
-# define BOOST_PP_ITERATION_PARAMS_1 \
- (3,(21, 30, <boost/mpl/vector/aux_/numbered_c.hpp>))
-# include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_USE_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_VECTOR_VECTOR30_C_HPP_INCLUDED
diff --git a/boost/mpl/vector/vector40.hpp b/boost/mpl/vector/vector40.hpp
deleted file mode 100644
index 69203d0..0000000
--- a/boost/mpl/vector/vector40.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_VECTOR40_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_VECTOR40_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: vector40.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-# include <boost/mpl/vector/vector30.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-# define BOOST_MPL_PREPROCESSED_HEADER vector40.hpp
-# include <boost/mpl/vector/aux_/include_preprocessed.hpp>
-
-#else
-
-# include <boost/mpl/aux_/config/typeof.hpp>
-# include <boost/mpl/aux_/config/ctps.hpp>
-# include <boost/preprocessor/iterate.hpp>
-
-namespace boost { namespace mpl {
-
-# define BOOST_PP_ITERATION_PARAMS_1 \
- (3,(31, 40, <boost/mpl/vector/aux_/numbered.hpp>))
-# include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_VECTOR_VECTOR40_HPP_INCLUDED
diff --git a/boost/mpl/vector/vector40_c.hpp b/boost/mpl/vector/vector40_c.hpp
deleted file mode 100644
index bd7310c..0000000
--- a/boost/mpl/vector/vector40_c.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_VECTOR40_C_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_VECTOR40_C_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: vector40_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-# include <boost/mpl/vector/vector30_c.hpp>
-# include <boost/mpl/vector/vector40.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-# define BOOST_MPL_PREPROCESSED_HEADER vector40_c.hpp
-# include <boost/mpl/vector/aux_/include_preprocessed.hpp>
-
-#else
-
-# include <boost/mpl/aux_/config/typeof.hpp>
-# include <boost/mpl/aux_/config/ctps.hpp>
-# include <boost/preprocessor/iterate.hpp>
-
-namespace boost { namespace mpl {
-
-# define BOOST_PP_ITERATION_PARAMS_1 \
- (3,(31, 40, <boost/mpl/vector/aux_/numbered_c.hpp>))
-# include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_VECTOR_VECTOR40_C_HPP_INCLUDED
diff --git a/boost/mpl/vector/vector50.hpp b/boost/mpl/vector/vector50.hpp
deleted file mode 100644
index 4c3e231..0000000
--- a/boost/mpl/vector/vector50.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_VECTOR50_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_VECTOR50_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: vector50.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-# include <boost/mpl/vector/vector40.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-# define BOOST_MPL_PREPROCESSED_HEADER vector50.hpp
-# include <boost/mpl/vector/aux_/include_preprocessed.hpp>
-
-#else
-
-# include <boost/mpl/aux_/config/typeof.hpp>
-# include <boost/mpl/aux_/config/ctps.hpp>
-# include <boost/preprocessor/iterate.hpp>
-
-namespace boost { namespace mpl {
-
-# define BOOST_PP_ITERATION_PARAMS_1 \
- (3,(41, 50, <boost/mpl/vector/aux_/numbered.hpp>))
-# include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_VECTOR_VECTOR50_HPP_INCLUDED
diff --git a/boost/mpl/vector/vector50_c.hpp b/boost/mpl/vector/vector50_c.hpp
deleted file mode 100644
index 2d2e705..0000000
--- a/boost/mpl/vector/vector50_c.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-
-#ifndef BOOST_MPL_VECTOR_VECTOR50_C_HPP_INCLUDED
-#define BOOST_MPL_VECTOR_VECTOR50_C_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: vector50_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#if !defined(BOOST_MPL_PREPROCESSING_MODE)
-# include <boost/mpl/vector/vector40_c.hpp>
-# include <boost/mpl/vector/vector50.hpp>
-#endif
-
-#include <boost/mpl/aux_/config/use_preprocessed.hpp>
-
-#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
- && !defined(BOOST_MPL_PREPROCESSING_MODE)
-
-# define BOOST_MPL_PREPROCESSED_HEADER vector50_c.hpp
-# include <boost/mpl/vector/aux_/include_preprocessed.hpp>
-
-#else
-
-# include <boost/mpl/aux_/config/typeof.hpp>
-# include <boost/mpl/aux_/config/ctps.hpp>
-# include <boost/preprocessor/iterate.hpp>
-
-namespace boost { namespace mpl {
-
-# define BOOST_PP_ITERATION_PARAMS_1 \
- (3,(41, 50, <boost/mpl/vector/aux_/numbered_c.hpp>))
-# include BOOST_PP_ITERATE()
-
-}}
-
-#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
-
-#endif // BOOST_MPL_VECTOR_VECTOR50_C_HPP_INCLUDED
diff --git a/boost/mpl/void.hpp b/boost/mpl/void.hpp
deleted file mode 100644
index ad5aa56..0000000
--- a/boost/mpl/void.hpp
+++ /dev/null
@@ -1,76 +0,0 @@
-
-#ifndef BOOST_MPL_VOID_HPP_INCLUDED
-#define BOOST_MPL_VOID_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-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: void.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/void_fwd.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/aux_/na_spec.hpp>
-#include <boost/mpl/aux_/config/msvc.hpp>
-#include <boost/mpl/aux_/config/workaround.hpp>
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-
-// [JDG Feb-4-2003] made void_ a complete type to allow it to be
-// instantiated so that it can be passed in as an object that can be
-// used to select an overloaded function. Possible use includes signaling
-// a zero arity functor evaluation call.
-struct void_ { typedef void_ type; };
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-
-namespace boost { namespace mpl {
-
-template< typename T >
-struct is_void_
- : false_
-{
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
- using false_::value;
-#endif
-};
-
-template<>
-struct is_void_<void_>
- : true_
-{
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
- using true_::value;
-#endif
-};
-
-template< typename T >
-struct is_not_void_
- : true_
-{
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
- using true_::value;
-#endif
-};
-
-template<>
-struct is_not_void_<void_>
- : false_
-{
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
- using false_::value;
-#endif
-};
-
-BOOST_MPL_AUX_NA_SPEC(1, is_void_)
-BOOST_MPL_AUX_NA_SPEC(1, is_not_void_)
-
-}}
-
-#endif // BOOST_MPL_VOID_HPP_INCLUDED
diff --git a/boost/mpl/void_fwd.hpp b/boost/mpl/void_fwd.hpp
deleted file mode 100644
index 9643dec..0000000
--- a/boost/mpl/void_fwd.hpp
+++ /dev/null
@@ -1,26 +0,0 @@
-
-#ifndef BOOST_MPL_VOID_FWD_HPP_INCLUDED
-#define BOOST_MPL_VOID_FWD_HPP_INCLUDED
-
-// Copyright Aleksey Gurtovoy 2001-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: void_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
-// $Date: 2008-10-10 23:19:02 -0700 (Fri, 10 Oct 2008) $
-// $Revision: 49267 $
-
-#include <boost/mpl/aux_/adl_barrier.hpp>
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
-
-struct void_;
-
-BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
-BOOST_MPL_AUX_ADL_BARRIER_DECL(void_)
-
-#endif // BOOST_MPL_VOID_FWD_HPP_INCLUDED
diff --git a/boost/next_prior.hpp b/boost/next_prior.hpp
deleted file mode 100644
index e1d2e42..0000000
--- a/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 <iterator>
-
-namespace boost {
-
-// Helper functions for classes like bidirectional iterators not supporting
-// operator+ and operator-
-//
-// Usage:
-// const std::list<T>::iterator p = get_some_iterator();
-// const std::list<T>::iterator prev = boost::prior(p);
-// const std::list<T>::iterator next = boost::next(prev, 2);
-
-// Contributed by Dave Abrahams
-
-template <class T>
-inline T next(T x) { return ++x; }
-
-template <class T, class Distance>
-inline T next(T x, Distance n)
-{
- std::advance(x, n);
- return x;
-}
-
-template <class T>
-inline T prior(T x) { return --x; }
-
-template <class T, class Distance>
-inline T prior(T x, Distance n)
-{
- std::advance(x, -n);
- return x;
-}
-
-} // namespace boost
-
-#endif // BOOST_NEXT_PRIOR_HPP_INCLUDED
diff --git a/boost/non_type.hpp b/boost/non_type.hpp
deleted file mode 100644
index 896aed4..0000000
--- a/boost/non_type.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-// -------------------------------------
-//
-// (C) Copyright Gennaro Prota 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_NON_TYPE_HPP_GP_20030417
-#define BOOST_NON_TYPE_HPP_GP_20030417
-
-
-namespace boost {
-
- // Just a simple "envelope" for non-type template parameters. Useful
- // to work around some MSVC deficiencies.
-
- template <typename T, T n>
- struct non_type { };
-
-
-}
-
-
-#endif // include guard
diff --git a/boost/noncopyable.hpp b/boost/noncopyable.hpp
deleted file mode 100644
index eb8e2e7..0000000
--- a/boost/noncopyable.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-// Boost noncopyable.hpp header file --------------------------------------//
-
-// (C) Copyright Beman Dawes 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.
-
-#ifndef BOOST_NONCOPYABLE_HPP_INCLUDED
-#define BOOST_NONCOPYABLE_HPP_INCLUDED
-
-#include <boost/config.hpp>
-
-namespace boost {
-
-// Private copy constructor and copy assignment ensure classes derived from
-// class noncopyable cannot be copied.
-
-// Contributed by Dave Abrahams
-
-namespace noncopyable_ // protection from unintended ADL
-{
- class noncopyable
- {
- protected:
-#ifndef BOOST_NO_DEFAULTED_FUNCTIONS
- BOOST_CONSTEXPR noncopyable() = default;
- ~noncopyable() = default;
-#else
- noncopyable() {}
- ~noncopyable() {}
-#endif
-#ifndef BOOST_NO_DELETED_FUNCTIONS
- noncopyable( const noncopyable& ) = delete;
- noncopyable& operator=( const noncopyable& ) = delete;
-#else
- private: // emphasize the following members are private
- noncopyable( const noncopyable& );
- noncopyable& operator=( const noncopyable& );
-#endif
- };
-}
-
-typedef noncopyable_::noncopyable noncopyable;
-
-} // namespace boost
-
-#endif // BOOST_NONCOPYABLE_HPP_INCLUDED
diff --git a/boost/none.hpp b/boost/none.hpp
deleted file mode 100644
index e9fc062..0000000
--- a/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 at 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<none_t>(0)) ;
-
-} // namespace boost
-
-#endif
-
diff --git a/boost/none_t.hpp b/boost/none_t.hpp
deleted file mode 100644
index 63ad926..0000000
--- a/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 at 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/boost/numeric/conversion/bounds.hpp b/boost/numeric/conversion/bounds.hpp
deleted file mode 100644
index e4c7c7d..0000000
--- a/boost/numeric/conversion/bounds.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-// (c) Copyright Fernando Luis Cacciola Carballal 2000-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/numeric/conversion
-//
-// Contact the author at: fernando_cacciola at hotmail.com
-//
-#ifndef BOOST_NUMERIC_CONVERSION_BOUNDS_12NOV2002_HPP
-#define BOOST_NUMERIC_CONVERSION_BOUNDS_12NOV2002_HPP
-
-#include "boost/numeric/conversion/detail/bounds.hpp"
-
-namespace boost { namespace numeric
-{
-
-template<class N>
-struct bounds : boundsdetail::get_impl<N>::type
-{} ;
-
-} } // namespace boost::numeric
-
-#endif
diff --git a/boost/numeric/conversion/cast.hpp b/boost/numeric/conversion/cast.hpp
deleted file mode 100644
index 1ee0251..0000000
--- a/boost/numeric/conversion/cast.hpp
+++ /dev/null
@@ -1,61 +0,0 @@
-// (c) Copyright Fernando Luis Cacciola Carballal 2000-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/numeric/conversion
-//
-// Contact the author at: fernando_cacciola at hotmail.com
-//
-//
-// Revision History
-//
-// 19 Nov 2001 Syntatic changes as suggested by Darin Adler (Fernando Cacciola)
-// 08 Nov 2001 Fixes to accommodate MSVC (Fernando Cacciola)
-// 04 Nov 2001 Fixes to accommodate gcc2.92 (Fernando Cacciola)
-// 30 Oct 2001 Some fixes suggested by Daryle Walker (Fernando Cacciola)
-// 25 Oct 2001 Initial boostification (Fernando Cacciola)
-// 23 Jan 2004 Inital add to cvs (post review)s
-// 22 Jun 2011 Added support for specializing cast policies via numeric_cast_traits (Brandon Kohn).
-//
-#ifndef BOOST_NUMERIC_CONVERSION_CAST_25OCT2001_HPP
-#define BOOST_NUMERIC_CONVERSION_CAST_25OCT2001_HPP
-
-#include <boost/detail/workaround.hpp>
-
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582))
-
-# include<boost/numeric/conversion/detail/old_numeric_cast.hpp>
-
-#else
-
-#include <boost/type.hpp>
-#include <boost/numeric/conversion/converter.hpp>
-#include <boost/numeric/conversion/numeric_cast_traits.hpp>
-
-namespace boost
-{
- template <typename Target, typename Source>
- inline Target numeric_cast( Source arg )
- {
- typedef numeric::conversion_traits<Target, Source> conv_traits;
- typedef numeric::numeric_cast_traits<Target, Source> cast_traits;
- typedef boost::numeric::converter
- <
- Target,
- Source,
- conv_traits,
- typename cast_traits::overflow_policy,
- typename cast_traits::rounding_policy,
- boost::numeric::raw_converter< conv_traits >,
- typename cast_traits::range_checking_policy
- > converter;
- return converter::convert(arg);
- }
-
- using numeric::bad_numeric_cast;
-} // namespace boost
-
-#endif
-
-#endif
diff --git a/boost/numeric/conversion/conversion_traits.hpp b/boost/numeric/conversion/conversion_traits.hpp
deleted file mode 100644
index 6da6178..0000000
--- a/boost/numeric/conversion/conversion_traits.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-// (c) Copyright Fernando Luis Cacciola Carballal 2000-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/numeric/conversion
-//
-// Contact the author at: fernando_cacciola at hotmail.com
-//
-#ifndef BOOST_NUMERIC_CONVERSION_CONVERSION_TRAITS_FLC_12NOV2002_HPP
-#define BOOST_NUMERIC_CONVERSION_CONVERSION_TRAITS_FLC_12NOV2002_HPP
-
-#include "boost/numeric/conversion/detail/conversion_traits.hpp"
-#include "boost/detail/workaround.hpp"
-#include "boost/config.hpp"
-
-namespace boost { namespace numeric
-{
-
-template<class T, class S>
-struct conversion_traits
- : convdetail::get_conversion_traits<T,S>::type
-{
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
- typedef typename convdetail::get_conversion_traits<T,S>::type base_;
- typedef typename base_::target_type target_type;
- typedef typename base_::source_type source_type;
- typedef typename base_::result_type result_type;
- typedef typename base_::argument_type argument_type;
-#endif
-} ;
-
-} } // namespace boost::numeric
-
-#endif
-//
-///////////////////////////////////////////////////////////////////////////////////////////////
-
-
diff --git a/boost/numeric/conversion/converter.hpp b/boost/numeric/conversion/converter.hpp
deleted file mode 100644
index 331cadd..0000000
--- a/boost/numeric/conversion/converter.hpp
+++ /dev/null
@@ -1,68 +0,0 @@
-// (c) Copyright Fernando Luis Cacciola Carballal 2000-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/numeric/conversion
-//
-// Contact the author at: fernando_cacciola at hotmail.com
-//
-#ifndef BOOST_NUMERIC_CONVERSION_CONVERTER_FLC_12NOV2002_HPP
-#define BOOST_NUMERIC_CONVERSION_CONVERTER_FLC_12NOV2002_HPP
-
-#include "boost/numeric/conversion/conversion_traits.hpp"
-#include "boost/numeric/conversion/converter_policies.hpp"
-
-#include "boost/numeric/conversion/detail/converter.hpp"
-
-namespace boost { namespace numeric
-{
-
-template<class T,
- class S,
- class Traits = conversion_traits<T,S>,
- class OverflowHandler = def_overflow_handler,
- class Float2IntRounder = Trunc< BOOST_DEDUCED_TYPENAME Traits::source_type> ,
- class RawConverter = raw_converter<Traits>,
- class UserRangeChecker = UseInternalRangeChecker
- >
-struct converter : convdetail::get_converter_impl<Traits,
- OverflowHandler,
- Float2IntRounder,
- RawConverter,
- UserRangeChecker
- >::type
-{
- typedef Traits traits ;
-
- typedef typename Traits::argument_type argument_type ;
- typedef typename Traits::result_type result_type ;
-
- result_type operator() ( argument_type s ) const { return this->convert(s) ; }
-} ;
-
-
-
-template<class S,
- class OverflowHandler = def_overflow_handler,
- class Float2IntRounder = Trunc<S> ,
- class UserRangeChecker = UseInternalRangeChecker
- >
-struct make_converter_from
-{
- template<class T,
- class Traits = conversion_traits<T,S>,
- class RawConverter = raw_converter<Traits>
- >
- struct to
- {
- typedef converter<T,S,Traits,OverflowHandler,Float2IntRounder,RawConverter,UserRangeChecker> type ;
- } ;
-
-} ;
-
-} } // namespace boost::numeric
-
-#endif
-
-
diff --git a/boost/numeric/conversion/converter_policies.hpp b/boost/numeric/conversion/converter_policies.hpp
deleted file mode 100644
index e7a5e67..0000000
--- a/boost/numeric/conversion/converter_policies.hpp
+++ /dev/null
@@ -1,194 +0,0 @@
-// (c) Copyright Fernando Luis Cacciola Carballal 2000-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/numeric/conversion
-//
-// Contact the author at: fernando_cacciola at hotmail.com
-//
-#ifndef BOOST_NUMERIC_CONVERSION_CONVERTER_POLICIES_FLC_12NOV2002_HPP
-#define BOOST_NUMERIC_CONVERSION_CONVERTER_POLICIES_FLC_12NOV2002_HPP
-
-#include <typeinfo> // for std::bad_cast
-
-#include <boost/config/no_tr1/cmath.hpp> // for std::floor and std::ceil
-#include <boost/throw_exception.hpp>
-
-#include <functional>
-
-#include "boost/type_traits/is_arithmetic.hpp"
-
-#include "boost/mpl/if.hpp"
-#include "boost/mpl/integral_c.hpp"
-
-namespace boost { namespace numeric
-{
-
-template<class S>
-struct Trunc
-{
- typedef S source_type ;
-
- typedef typename mpl::if_< is_arithmetic<S>,S,S const&>::type argument_type ;
-
- static source_type nearbyint ( argument_type s )
- {
-#if !defined(BOOST_NO_STDC_NAMESPACE)
- using std::floor ;
- using std::ceil ;
-#endif
-
- return s < static_cast<S>(0) ? ceil(s) : floor(s) ;
- }
-
- typedef mpl::integral_c< std::float_round_style, std::round_toward_zero> round_style ;
-} ;
-
-
-
-template<class S>
-struct Floor
-{
- typedef S source_type ;
-
- typedef typename mpl::if_< is_arithmetic<S>,S,S const&>::type argument_type ;
-
- static source_type nearbyint ( argument_type s )
- {
-#if !defined(BOOST_NO_STDC_NAMESPACE)
- using std::floor ;
-#endif
-
- return floor(s) ;
- }
-
- typedef mpl::integral_c< std::float_round_style, std::round_toward_neg_infinity> round_style ;
-} ;
-
-template<class S>
-struct Ceil
-{
- typedef S source_type ;
-
- typedef typename mpl::if_< is_arithmetic<S>,S,S const&>::type argument_type ;
-
- static source_type nearbyint ( argument_type s )
- {
-#if !defined(BOOST_NO_STDC_NAMESPACE)
- using std::ceil ;
-#endif
-
- return ceil(s) ;
- }
-
- typedef mpl::integral_c< std::float_round_style, std::round_toward_infinity> round_style ;
-} ;
-
-template<class S>
-struct RoundEven
-{
- typedef S source_type ;
-
- typedef typename mpl::if_< is_arithmetic<S>,S,S const&>::type argument_type ;
-
- static source_type nearbyint ( argument_type s )
- {
- // Algorithm contributed by Guillaume Melquiond
-
-#if !defined(BOOST_NO_STDC_NAMESPACE)
- using std::floor ;
- using std::ceil ;
-#endif
-
- // only works inside the range not at the boundaries
- S prev = floor(s);
- S next = ceil(s);
-
- S rt = (s - prev) - (next - s); // remainder type
-
- S const zero(0.0);
- S const two(2.0);
-
- if ( rt < zero )
- return prev;
- else if ( rt > zero )
- return next;
- else
- {
- bool is_prev_even = two * floor(prev / two) == prev ;
- return ( is_prev_even ? prev : next ) ;
- }
- }
-
- typedef mpl::integral_c< std::float_round_style, std::round_to_nearest> round_style ;
-} ;
-
-
-enum range_check_result
-{
- cInRange = 0 ,
- cNegOverflow = 1 ,
- cPosOverflow = 2
-} ;
-
-class bad_numeric_cast : public std::bad_cast
-{
- public:
-
- virtual const char * what() const throw()
- { return "bad numeric conversion: overflow"; }
-};
-
-class negative_overflow : public bad_numeric_cast
-{
- public:
-
- virtual const char * what() const throw()
- { return "bad numeric conversion: negative overflow"; }
-};
-class positive_overflow : public bad_numeric_cast
-{
- public:
-
- virtual const char * what() const throw()
- { return "bad numeric conversion: positive overflow"; }
-};
-
-struct def_overflow_handler
-{
- void operator() ( range_check_result r ) // throw(negative_overflow,positive_overflow)
- {
-#ifndef BOOST_NO_EXCEPTIONS
- if ( r == cNegOverflow )
- throw negative_overflow() ;
- else if ( r == cPosOverflow )
- throw positive_overflow() ;
-#else
- if ( r == cNegOverflow )
- ::boost::throw_exception(negative_overflow()) ;
- else if ( r == cPosOverflow )
- ::boost::throw_exception(positive_overflow()) ;
-#endif
- }
-} ;
-
-struct silent_overflow_handler
-{
- void operator() ( range_check_result ) {} // throw()
-} ;
-
-template<class Traits>
-struct raw_converter
-{
- typedef typename Traits::result_type result_type ;
- typedef typename Traits::argument_type argument_type ;
-
- static result_type low_level_convert ( argument_type s ) { return static_cast<result_type>(s) ; }
-} ;
-
-struct UseInternalRangeChecker {} ;
-
-} } // namespace boost::numeric
-
-#endif
diff --git a/boost/numeric/conversion/detail/bounds.hpp b/boost/numeric/conversion/detail/bounds.hpp
deleted file mode 100644
index 67342b8..0000000
--- a/boost/numeric/conversion/detail/bounds.hpp
+++ /dev/null
@@ -1,58 +0,0 @@
-// (c) Copyright Fernando Luis Cacciola Carballal 2000-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/numeric/conversion
-//
-// Contact the author at: fernando_cacciola at hotmail.com
-//
-#ifndef BOOST_NUMERIC_CONVERSION_BOUNDS_DETAIL_FLC_12NOV2002_HPP
-#define BOOST_NUMERIC_CONVERSION_BOUNDS_DETAIL_FLC_12NOV2002_HPP
-
-#include "boost/limits.hpp"
-#include "boost/config.hpp"
-#include "boost/mpl/if.hpp"
-
-namespace boost { namespace numeric { namespace boundsdetail
-{
- template<class N>
- class Integral
- {
- typedef std::numeric_limits<N> limits ;
-
- public :
-
- static N lowest () { return limits::min BOOST_PREVENT_MACRO_SUBSTITUTION (); }
- static N highest () { return limits::max BOOST_PREVENT_MACRO_SUBSTITUTION (); }
- static N smallest() { return static_cast<N>(1); }
- } ;
-
- template<class N>
- class Float
- {
- typedef std::numeric_limits<N> limits ;
-
- public :
-
- static N lowest () { return static_cast<N>(-limits::max BOOST_PREVENT_MACRO_SUBSTITUTION ()) ; }
- static N highest () { return limits::max BOOST_PREVENT_MACRO_SUBSTITUTION (); }
- static N smallest() { return limits::min BOOST_PREVENT_MACRO_SUBSTITUTION (); }
- } ;
-
- template<class N>
- struct get_impl
- {
- typedef mpl::bool_< ::std::numeric_limits<N>::is_integer > is_int ;
-
- typedef Integral<N> impl_int ;
- typedef Float <N> impl_float ;
-
- typedef typename mpl::if_<is_int,impl_int,impl_float>::type type ;
- } ;
-
-} } } // namespace boost::numeric::boundsdetail.
-
-#endif
-//
-///////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/boost/numeric/conversion/detail/conversion_traits.hpp b/boost/numeric/conversion/detail/conversion_traits.hpp
deleted file mode 100644
index ed25349..0000000
--- a/boost/numeric/conversion/detail/conversion_traits.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-// (c) Copyright Fernando Luis Cacciola Carballal 2000-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/numeric/conversion
-//
-// Contact the author at: fernando_cacciola at hotmail.com
-//
-#ifndef BOOST_NUMERIC_CONVERSION_DETAIL_CONVERSION_TRAITS_FLC_12NOV2002_HPP
-#define BOOST_NUMERIC_CONVERSION_DETAIL_CONVERSION_TRAITS_FLC_12NOV2002_HPP
-
-#include "boost/type_traits/is_arithmetic.hpp"
-#include "boost/type_traits/is_same.hpp"
-#include "boost/type_traits/remove_cv.hpp"
-
-#include "boost/numeric/conversion/detail/meta.hpp"
-#include "boost/numeric/conversion/detail/int_float_mixture.hpp"
-#include "boost/numeric/conversion/detail/sign_mixture.hpp"
-#include "boost/numeric/conversion/detail/udt_builtin_mixture.hpp"
-#include "boost/numeric/conversion/detail/is_subranged.hpp"
-
-namespace boost { namespace numeric { namespace convdetail
-{
- //-------------------------------------------------------------------
- // Implementation of the Conversion Traits for T != S
- //
- // This is a VISIBLE base class of the user-level conversion_traits<> class.
- //-------------------------------------------------------------------
- template<class T,class S>
- struct non_trivial_traits_impl
- {
- typedef typename get_int_float_mixture <T,S>::type int_float_mixture ;
- typedef typename get_sign_mixture <T,S>::type sign_mixture ;
- typedef typename get_udt_builtin_mixture <T,S>::type udt_builtin_mixture ;
-
- typedef typename get_is_subranged<T,S>::type subranged ;
-
- typedef mpl::false_ trivial ;
-
- typedef T target_type ;
- typedef S source_type ;
- typedef T result_type ;
-
- typedef typename mpl::if_< is_arithmetic<S>, S, S const&>::type argument_type ;
-
- typedef typename mpl::if_<subranged,S,T>::type supertype ;
- typedef typename mpl::if_<subranged,T,S>::type subtype ;
- } ;
-
- //-------------------------------------------------------------------
- // Implementation of the Conversion Traits for T == S
- //
- // This is a VISIBLE base class of the user-level conversion_traits<> class.
- //-------------------------------------------------------------------
- template<class N>
- struct trivial_traits_impl
- {
- typedef typename get_int_float_mixture <N,N>::type int_float_mixture ;
- typedef typename get_sign_mixture <N,N>::type sign_mixture ;
- typedef typename get_udt_builtin_mixture<N,N>::type udt_builtin_mixture ;
-
- typedef mpl::false_ subranged ;
- typedef mpl::true_ trivial ;
-
- typedef N target_type ;
- typedef N source_type ;
- typedef N const& result_type ;
- typedef N const& argument_type ;
-
- typedef N supertype ;
- typedef N subtype ;
-
- } ;
-
- //-------------------------------------------------------------------
- // Top level implementation selector.
- //-------------------------------------------------------------------
- template<class T, class S>
- struct get_conversion_traits
- {
- typedef typename remove_cv<T>::type target_type ;
- typedef typename remove_cv<S>::type source_type ;
-
- typedef typename is_same<target_type,source_type>::type is_trivial ;
-
- typedef trivial_traits_impl <target_type> trivial_imp ;
- typedef non_trivial_traits_impl<target_type,source_type> non_trivial_imp ;
-
- typedef typename mpl::if_<is_trivial,trivial_imp,non_trivial_imp>::type type ;
- } ;
-
-} } } // namespace boost::numeric::convdetail
-
-#endif
-
-
diff --git a/boost/numeric/conversion/detail/converter.hpp b/boost/numeric/conversion/detail/converter.hpp
deleted file mode 100644
index 10550f8..0000000
--- a/boost/numeric/conversion/detail/converter.hpp
+++ /dev/null
@@ -1,602 +0,0 @@
-// (c) Copyright Fernando Luis Cacciola Carballal 2000-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/numeric/conversion
-//
-// Contact the author at: fernando_cacciola at hotmail.com
-//
-#ifndef BOOST_NUMERIC_CONVERSION_DETAIL_CONVERTER_FLC_12NOV2002_HPP
-#define BOOST_NUMERIC_CONVERSION_DETAIL_CONVERTER_FLC_12NOV2002_HPP
-
-#include <functional>
-
-#include "boost/numeric/conversion/detail/meta.hpp"
-#include "boost/numeric/conversion/detail/conversion_traits.hpp"
-#include "boost/numeric/conversion/bounds.hpp"
-
-#include "boost/type_traits/is_same.hpp"
-
-#include "boost/mpl/integral_c.hpp"
-
-namespace boost { namespace numeric { namespace convdetail
-{
- // Integral Constants representing rounding modes
- typedef mpl::integral_c<std::float_round_style, std::round_toward_zero> round2zero_c ;
- typedef mpl::integral_c<std::float_round_style, std::round_to_nearest> round2nearest_c ;
- typedef mpl::integral_c<std::float_round_style, std::round_toward_infinity> round2inf_c ;
- typedef mpl::integral_c<std::float_round_style, std::round_toward_neg_infinity> round2neg_inf_c ;
-
- // Metafunction:
- //
- // for_round_style<RoundStyle,RoundToZero,RoundToNearest,RoundToInf,RoundToNegInf>::type
- //
- // {RoundStyle} Integral Constant specifying a round style as declared above.
- // {RoundToZero,RoundToNearest,RoundToInf,RoundToNegInf} arbitrary types.
- //
- // Selects one of the 4 types according to the value of RoundStyle.
- //
- template<class RoundStyle,class RoundToZero,class RoundToNearest,class RoundToInf,class RoundToNegInf>
- struct for_round_style
- {
- typedef ct_switch4<RoundStyle
- , round2zero_c, round2nearest_c, round2inf_c // round2neg_inf_c
- , RoundToZero , RoundToNearest , RoundToInf , RoundToNegInf
- > selector ;
-
- typedef typename selector::type type ;
- } ;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-//--------------------------------------------------------------------------
-// Range Checking Logic.
-//
-// The range checking logic is built up by combining 1 or 2 predicates.
-// Each predicate is encapsulated in a template class and exposes
-// the static member function 'apply'.
-//
-//--------------------------------------------------------------------------
-
-
- // Because a particular logic can combine either 1 or two predicates, the following
- // tags are used to allow the predicate applier to receive 2 preds, but optimize away
- // one of them if it is 'non-applicable'
- struct non_applicable { typedef mpl::false_ do_apply ; } ;
- struct applicable { typedef mpl::true_ do_apply ; } ;
-
-
- //--------------------------------------------------------------------------
- //
- // Range Checking Logic implementations.
- //
- // The following classes, collectivelly named 'Predicates', are instantiated within
- // the corresponding range checkers.
- // Their static member function 'apply' is called to perform the actual range checking logic.
- //--------------------------------------------------------------------------
-
- // s < Lowest(T) ? cNegOverflow : cInRange
- //
- template<class Traits>
- struct LT_LoT : applicable
- {
- typedef typename Traits::target_type T ;
- typedef typename Traits::source_type S ;
- typedef typename Traits::argument_type argument_type ;
-
- static range_check_result apply ( argument_type s )
- {
- return s < static_cast<S>(bounds<T>::lowest()) ? cNegOverflow : cInRange ;
- }
- } ;
-
- // s < 0 ? cNegOverflow : cInRange
- //
- template<class Traits>
- struct LT_Zero : applicable
- {
- typedef typename Traits::source_type S ;
- typedef typename Traits::argument_type argument_type ;
-
- static range_check_result apply ( argument_type s )
- {
- return s < static_cast<S>(0) ? cNegOverflow : cInRange ;
- }
- } ;
-
- // s <= Lowest(T)-1 ? cNegOverflow : cInRange
- //
- template<class Traits>
- struct LE_PrevLoT : applicable
- {
- typedef typename Traits::target_type T ;
- typedef typename Traits::source_type S ;
- typedef typename Traits::argument_type argument_type ;
-
- static range_check_result apply ( argument_type s )
- {
- return s <= static_cast<S>(bounds<T>::lowest()) - static_cast<S>(1.0)
- ? cNegOverflow : cInRange ;
- }
- } ;
-
- // s < Lowest(T)-0.5 ? cNegOverflow : cInRange
- //
- template<class Traits>
- struct LT_HalfPrevLoT : applicable
- {
- typedef typename Traits::target_type T ;
- typedef typename Traits::source_type S ;
- typedef typename Traits::argument_type argument_type ;
-
- static range_check_result apply ( argument_type s )
- {
- return s < static_cast<S>(bounds<T>::lowest()) - static_cast<S>(0.5)
- ? cNegOverflow : cInRange ;
- }
- } ;
-
- // s > Highest(T) ? cPosOverflow : cInRange
- //
- template<class Traits>
- struct GT_HiT : applicable
- {
- typedef typename Traits::target_type T ;
- typedef typename Traits::source_type S ;
- typedef typename Traits::argument_type argument_type ;
-
- static range_check_result apply ( argument_type s )
- {
- return s > static_cast<S>(bounds<T>::highest())
- ? cPosOverflow : cInRange ;
- }
- } ;
-
- // s >= Lowest(T) + 1 ? cPosOverflow : cInRange
- //
- template<class Traits>
- struct GE_SuccHiT : applicable
- {
- typedef typename Traits::target_type T ;
- typedef typename Traits::source_type S ;
- typedef typename Traits::argument_type argument_type ;
-
- static range_check_result apply ( argument_type s )
- {
- return s >= static_cast<S>(bounds<T>::highest()) + static_cast<S>(1.0)
- ? cPosOverflow : cInRange ;
- }
- } ;
-
- // s >= Lowest(T) + 0.5 ? cPosgOverflow : cInRange
- //
- template<class Traits>
- struct GT_HalfSuccHiT : applicable
- {
- typedef typename Traits::target_type T ;
- typedef typename Traits::source_type S ;
- typedef typename Traits::argument_type argument_type ;
-
- static range_check_result apply ( argument_type s )
- {
- return s >= static_cast<S>(bounds<T>::highest()) + static_cast<S>(0.5)
- ? cPosOverflow : cInRange ;
- }
- } ;
-
-
- //--------------------------------------------------------------------------
- //
- // Predicate Combiner.
- //
- // This helper classes are used to possibly combine the range checking logic
- // individually performed by the predicates
- //
- //--------------------------------------------------------------------------
-
-
- // Applies both predicates: first 'PredA', and if it equals 'cInRange', 'PredB'
- template<class PredA, class PredB>
- struct applyBoth
- {
- typedef typename PredA::argument_type argument_type ;
-
- static range_check_result apply ( argument_type s )
- {
- range_check_result r = PredA::apply(s) ;
- if ( r == cInRange )
- r = PredB::apply(s);
- return r ;
- }
- } ;
-
- template<class PredA, class PredB>
- struct combine
- {
- typedef applyBoth<PredA,PredB> Both ;
- typedef void NNone ; // 'None' is defined as a macro in (/usr/X11R6/include/X11/X.h)
-
- typedef typename PredA::do_apply do_applyA ;
- typedef typename PredB::do_apply do_applyB ;
-
- typedef typename for_both<do_applyA, do_applyB, Both, PredA, PredB, NNone>::type type ;
- } ;
-
-
-
-
-
-
-
-
-
-
-
-
-//--------------------------------------------------------------------------
-// Range Checker classes.
-//
-// The following classes are VISIBLE base classes of the user-level converter<> class.
-// They supply the optimized 'out_of_range()' and 'validate_range()' static member functions
-// visible in the user interface.
-//
-//--------------------------------------------------------------------------
-
- // Dummy range checker.
- template<class Traits>
- struct dummy_range_checker
- {
- typedef typename Traits::argument_type argument_type ;
-
- static range_check_result out_of_range ( argument_type ) { return cInRange ; }
- static void validate_range ( argument_type ) {}
- } ;
-
- // Generic range checker.
- //
- // All the range checking logic for all possible combinations of source and target
- // can be arranged in terms of one or two predicates, which test overflow on both neg/pos 'sides'
- // of the ranges.
- //
- // These predicates are given here as IsNegOverflow and IsPosOverflow.
- //
- template<class Traits, class IsNegOverflow, class IsPosOverflow, class OverflowHandler>
- struct generic_range_checker
- {
- typedef OverflowHandler overflow_handler ;
-
- typedef typename Traits::argument_type argument_type ;
-
- static range_check_result out_of_range ( argument_type s )
- {
- typedef typename combine<IsNegOverflow,IsPosOverflow>::type Predicate ;
-
- return Predicate::apply(s);
- }
-
- static void validate_range ( argument_type s )
- { OverflowHandler()( out_of_range(s) ) ; }
- } ;
-
-
-
-//--------------------------------------------------------------------------
-//
-// Selectors for the optimized Range Checker class.
-//
-//--------------------------------------------------------------------------
-
- template<class Traits,class OverflowHandler>
- struct GetRC_Sig2Sig_or_Unsig2Unsig
- {
- typedef dummy_range_checker<Traits> Dummy ;
-
- typedef LT_LoT<Traits> Pred1 ;
- typedef GT_HiT<Traits> Pred2 ;
-
- typedef generic_range_checker<Traits,Pred1,Pred2,OverflowHandler> Normal ;
-
- typedef typename Traits::subranged subranged ;
-
- typedef typename mpl::if_<subranged,Normal,Dummy>::type type ;
- } ;
-
- template<class Traits, class OverflowHandler>
- struct GetRC_Sig2Unsig
- {
- typedef LT_Zero<Traits> Pred1 ;
- typedef GT_HiT <Traits> Pred2 ;
-
- typedef generic_range_checker<Traits,Pred1,Pred2,OverflowHandler> ChoiceA ;
-
- typedef generic_range_checker<Traits,Pred1,non_applicable,OverflowHandler> ChoiceB ;
-
- typedef typename Traits::target_type T ;
- typedef typename Traits::source_type S ;
-
- typedef typename subranged_Unsig2Sig<S,T>::type oposite_subranged ;
-
- typedef typename mpl::not_<oposite_subranged>::type positively_subranged ;
-
- typedef typename mpl::if_<positively_subranged,ChoiceA,ChoiceB>::type type ;
- } ;
-
- template<class Traits, class OverflowHandler>
- struct GetRC_Unsig2Sig
- {
- typedef GT_HiT<Traits> Pred1 ;
-
- typedef generic_range_checker<Traits,non_applicable,Pred1,OverflowHandler> type ;
- } ;
-
- template<class Traits,class OverflowHandler>
- struct GetRC_Int2Int
- {
- typedef GetRC_Sig2Sig_or_Unsig2Unsig<Traits,OverflowHandler> Sig2SigQ ;
- typedef GetRC_Sig2Unsig <Traits,OverflowHandler> Sig2UnsigQ ;
- typedef GetRC_Unsig2Sig <Traits,OverflowHandler> Unsig2SigQ ;
- typedef Sig2SigQ Unsig2UnsigQ ;
-
- typedef typename Traits::sign_mixture sign_mixture ;
-
- typedef typename
- for_sign_mixture<sign_mixture,Sig2SigQ,Sig2UnsigQ,Unsig2SigQ,Unsig2UnsigQ>::type
- selector ;
-
- typedef typename selector::type type ;
- } ;
-
- template<class Traits>
- struct GetRC_Int2Float
- {
- typedef dummy_range_checker<Traits> type ;
- } ;
-
- template<class Traits, class OverflowHandler, class Float2IntRounder>
- struct GetRC_Float2Int
- {
- typedef LE_PrevLoT <Traits> Pred1 ;
- typedef GE_SuccHiT <Traits> Pred2 ;
- typedef LT_HalfPrevLoT<Traits> Pred3 ;
- typedef GT_HalfSuccHiT<Traits> Pred4 ;
- typedef GT_HiT <Traits> Pred5 ;
- typedef LT_LoT <Traits> Pred6 ;
-
- typedef generic_range_checker<Traits,Pred1,Pred2,OverflowHandler> ToZero ;
- typedef generic_range_checker<Traits,Pred3,Pred4,OverflowHandler> ToNearest ;
- typedef generic_range_checker<Traits,Pred1,Pred5,OverflowHandler> ToInf ;
- typedef generic_range_checker<Traits,Pred6,Pred2,OverflowHandler> ToNegInf ;
-
- typedef typename Float2IntRounder::round_style round_style ;
-
- typedef typename for_round_style<round_style,ToZero,ToNearest,ToInf,ToNegInf>::type type ;
- } ;
-
- template<class Traits, class OverflowHandler>
- struct GetRC_Float2Float
- {
- typedef dummy_range_checker<Traits> Dummy ;
-
- typedef LT_LoT<Traits> Pred1 ;
- typedef GT_HiT<Traits> Pred2 ;
-
- typedef generic_range_checker<Traits,Pred1,Pred2,OverflowHandler> Normal ;
-
- typedef typename Traits::subranged subranged ;
-
- typedef typename mpl::if_<subranged,Normal,Dummy>::type type ;
- } ;
-
- template<class Traits, class OverflowHandler, class Float2IntRounder>
- struct GetRC_BuiltIn2BuiltIn
- {
- typedef GetRC_Int2Int<Traits,OverflowHandler> Int2IntQ ;
- typedef GetRC_Int2Float<Traits> Int2FloatQ ;
- typedef GetRC_Float2Int<Traits,OverflowHandler,Float2IntRounder> Float2IntQ ;
- typedef GetRC_Float2Float<Traits,OverflowHandler> Float2FloatQ ;
-
- typedef typename Traits::int_float_mixture int_float_mixture ;
-
- typedef typename for_int_float_mixture<int_float_mixture, Int2IntQ, Int2FloatQ, Float2IntQ, Float2FloatQ>::type selector ;
-
- typedef typename selector::type type ;
- } ;
-
- template<class Traits, class OverflowHandler, class Float2IntRounder>
- struct GetRC
- {
- typedef GetRC_BuiltIn2BuiltIn<Traits,OverflowHandler,Float2IntRounder> BuiltIn2BuiltInQ ;
-
- typedef dummy_range_checker<Traits> Dummy ;
-
- typedef mpl::identity<Dummy> DummyQ ;
-
- typedef typename Traits::udt_builtin_mixture udt_builtin_mixture ;
-
- typedef typename for_udt_builtin_mixture<udt_builtin_mixture,BuiltIn2BuiltInQ,DummyQ,DummyQ,DummyQ>::type selector ;
-
- typedef typename selector::type type ;
- } ;
-
-
-
-
-//--------------------------------------------------------------------------
-// Converter classes.
-//
-// The following classes are VISIBLE base classes of the user-level converter<> class.
-// They supply the optimized 'nearbyint()' and 'convert()' static member functions
-// visible in the user interface.
-//
-//--------------------------------------------------------------------------
-
- //
- // Trivial Converter : used when (cv-unqualified) T == (cv-unqualified) S
- //
- template<class Traits>
- struct trivial_converter_impl : public std::unary_function< BOOST_DEDUCED_TYPENAME Traits::argument_type
- ,BOOST_DEDUCED_TYPENAME Traits::result_type
- >
- ,public dummy_range_checker<Traits>
- {
- typedef Traits traits ;
-
- typedef typename Traits::source_type source_type ;
- typedef typename Traits::argument_type argument_type ;
- typedef typename Traits::result_type result_type ;
-
- static result_type low_level_convert ( argument_type s ) { return s ; }
- static source_type nearbyint ( argument_type s ) { return s ; }
- static result_type convert ( argument_type s ) { return s ; }
- } ;
-
-
- //
- // Rounding Converter : used for float to integral conversions.
- //
- template<class Traits,class RangeChecker,class RawConverter,class Float2IntRounder>
- struct rounding_converter : public std::unary_function< BOOST_DEDUCED_TYPENAME Traits::argument_type
- ,BOOST_DEDUCED_TYPENAME Traits::result_type
- >
- ,public RangeChecker
- ,public Float2IntRounder
- ,public RawConverter
- {
- typedef RangeChecker RangeCheckerBase ;
- typedef Float2IntRounder Float2IntRounderBase ;
- typedef RawConverter RawConverterBase ;
-
- typedef Traits traits ;
-
- typedef typename Traits::source_type source_type ;
- typedef typename Traits::argument_type argument_type ;
- typedef typename Traits::result_type result_type ;
-
- static result_type convert ( argument_type s )
- {
- RangeCheckerBase::validate_range(s);
- source_type s1 = Float2IntRounderBase::nearbyint(s);
- return RawConverterBase::low_level_convert(s1);
- }
- } ;
-
-
- //
- // Non-Rounding Converter : used for all other conversions.
- //
- template<class Traits,class RangeChecker,class RawConverter>
- struct non_rounding_converter : public std::unary_function< BOOST_DEDUCED_TYPENAME Traits::argument_type
- ,BOOST_DEDUCED_TYPENAME Traits::result_type
- >
- ,public RangeChecker
- ,public RawConverter
- {
- typedef RangeChecker RangeCheckerBase ;
- typedef RawConverter RawConverterBase ;
-
- typedef Traits traits ;
-
- typedef typename Traits::source_type source_type ;
- typedef typename Traits::argument_type argument_type ;
- typedef typename Traits::result_type result_type ;
-
- static source_type nearbyint ( argument_type s ) { return s ; }
-
- static result_type convert ( argument_type s )
- {
- RangeCheckerBase::validate_range(s);
- return RawConverterBase::low_level_convert(s);
- }
- } ;
-
-
-
-
-//--------------------------------------------------------------------------
-//
-// Selectors for the optimized Converter class.
-//
-//--------------------------------------------------------------------------
-
- template<class Traits,class OverflowHandler,class Float2IntRounder,class RawConverter, class UserRangeChecker>
- struct get_non_trivial_converter
- {
- typedef GetRC<Traits,OverflowHandler,Float2IntRounder> InternalRangeCheckerQ ;
-
- typedef is_same<UserRangeChecker,UseInternalRangeChecker> use_internal_RC ;
-
- typedef mpl::identity<UserRangeChecker> UserRangeCheckerQ ;
-
- typedef typename
- mpl::eval_if<use_internal_RC,InternalRangeCheckerQ,UserRangeCheckerQ>::type
- RangeChecker ;
-
- typedef non_rounding_converter<Traits,RangeChecker,RawConverter> NonRounding ;
- typedef rounding_converter<Traits,RangeChecker,RawConverter,Float2IntRounder> Rounding ;
-
- typedef mpl::identity<NonRounding> NonRoundingQ ;
- typedef mpl::identity<Rounding> RoundingQ ;
-
- typedef typename Traits::int_float_mixture int_float_mixture ;
-
- typedef typename
- for_int_float_mixture<int_float_mixture, NonRoundingQ, NonRoundingQ, RoundingQ, NonRoundingQ>::type
- selector ;
-
- typedef typename selector::type type ;
- } ;
-
- template< class Traits
- ,class OverflowHandler
- ,class Float2IntRounder
- ,class RawConverter
- ,class UserRangeChecker
- >
- struct get_converter_impl
- {
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT( 0x0561 ) )
- // bcc55 prefers sometimes template parameters to be explicit local types.
- // (notice that is is illegal to reuse the names like this)
- typedef Traits Traits ;
- typedef OverflowHandler OverflowHandler ;
- typedef Float2IntRounder Float2IntRounder ;
- typedef RawConverter RawConverter ;
- typedef UserRangeChecker UserRangeChecker ;
-#endif
-
- typedef trivial_converter_impl<Traits> Trivial ;
- typedef mpl::identity <Trivial> TrivialQ ;
-
- typedef get_non_trivial_converter< Traits
- ,OverflowHandler
- ,Float2IntRounder
- ,RawConverter
- ,UserRangeChecker
- > NonTrivialQ ;
-
- typedef typename Traits::trivial trivial ;
-
- typedef typename mpl::eval_if<trivial,TrivialQ,NonTrivialQ>::type type ;
- } ;
-
-} } } // namespace boost::numeric::convdetail
-
-#endif
-
-
diff --git a/boost/numeric/conversion/detail/int_float_mixture.hpp b/boost/numeric/conversion/detail/int_float_mixture.hpp
deleted file mode 100644
index 464e527..0000000
--- a/boost/numeric/conversion/detail/int_float_mixture.hpp
+++ /dev/null
@@ -1,72 +0,0 @@
-// (c) Copyright Fernando Luis Cacciola Carballal 2000-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/numeric/conversion
-//
-// Contact the author at: fernando_cacciola at hotmail.com
-//
-#ifndef BOOST_NUMERIC_CONVERSION_DETAIL_INT_FLOAT_MIXTURE_FLC_12NOV2002_HPP
-#define BOOST_NUMERIC_CONVERSION_DETAIL_INT_FLOAT_MIXTURE_FLC_12NOV2002_HPP
-
-#include "boost/config.hpp"
-#include "boost/limits.hpp"
-
-#include "boost/numeric/conversion/int_float_mixture_enum.hpp"
-#include "boost/numeric/conversion/detail/meta.hpp"
-
-#include "boost/mpl/integral_c.hpp"
-
-namespace boost { namespace numeric { namespace convdetail
-{
- // Integral Constants for 'IntFloatMixture'
- typedef mpl::integral_c<int_float_mixture_enum, integral_to_integral> int2int_c ;
- typedef mpl::integral_c<int_float_mixture_enum, integral_to_float> int2float_c ;
- typedef mpl::integral_c<int_float_mixture_enum, float_to_integral> float2int_c ;
- typedef mpl::integral_c<int_float_mixture_enum, float_to_float> float2float_c ;
-
- // Metafunction:
- //
- // get_int_float_mixture<T,S>::type
- //
- // Selects the appropriate Int-Float Mixture Integral Constant for the combination T,S.
- //
- template<class T,class S>
- struct get_int_float_mixture
- {
- typedef mpl::bool_< ::std::numeric_limits<S>::is_integer > S_int ;
- typedef mpl::bool_< ::std::numeric_limits<T>::is_integer > T_int ;
-
- typedef typename
- for_both<S_int, T_int, int2int_c, int2float_c, float2int_c, float2float_c>::type
- type ;
- } ;
-
- // Metafunction:
- //
- // for_int_float_mixture<Mixture,int_int,int_float,float_int,float_float>::type
- //
- // {Mixture} is one of the Integral Constants for Mixture, declared above.
- // {int_int,int_float,float_int,float_float} are aribtrary types. (not metafunctions)
- //
- // According to the value of 'IntFloatMixture', selects the corresponding type.
- //
- template<class IntFloatMixture, class Int2Int, class Int2Float, class Float2Int, class Float2Float>
- struct for_int_float_mixture
- {
- typedef typename
- ct_switch4<IntFloatMixture
- ,int2int_c, int2float_c, float2int_c // default
- ,Int2Int , Int2Float , Float2Int , Float2Float
- >::type
- type ;
- } ;
-
-} } } // namespace boost::numeric::convdetail
-
-#endif
-//
-///////////////////////////////////////////////////////////////////////////////////////////////
-
-
diff --git a/boost/numeric/conversion/detail/is_subranged.hpp b/boost/numeric/conversion/detail/is_subranged.hpp
deleted file mode 100644
index b5e7fe8..0000000
--- a/boost/numeric/conversion/detail/is_subranged.hpp
+++ /dev/null
@@ -1,234 +0,0 @@
-// (c) Copyright Fernando Luis Cacciola Carballal 2000-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/numeric/conversion
-//
-// Contact the author at: fernando_cacciola at hotmail.com
-//
-#ifndef BOOST_NUMERIC_CONVERSION_DETAIL_IS_SUBRANGED_FLC_12NOV2002_HPP
-#define BOOST_NUMERIC_CONVERSION_DETAIL_IS_SUBRANGED_FLC_12NOV2002_HPP
-
-#include "boost/config.hpp"
-#include "boost/limits.hpp"
-
-#include "boost/mpl/int.hpp"
-#include "boost/mpl/multiplies.hpp"
-#include "boost/mpl/less.hpp"
-#include "boost/mpl/equal_to.hpp"
-
-#include "boost/type_traits/is_same.hpp"
-
-#include "boost/numeric/conversion/detail/meta.hpp"
-#include "boost/numeric/conversion/detail/int_float_mixture.hpp"
-#include "boost/numeric/conversion/detail/sign_mixture.hpp"
-#include "boost/numeric/conversion/detail/udt_builtin_mixture.hpp"
-
-namespace boost { namespace numeric { namespace convdetail
-{
- //---------------------------------------------------------------
- // Implementations of the compile time predicate "T is subranged"
- //---------------------------------------------------------------
-
- // for integral to integral conversions
- template<class T,class S>
- struct subranged_Sig2Unsig
- {
- // Signed to unsigned conversions are 'subranged' because of possible loose
- // of negative values.
- typedef mpl::true_ type ;
- } ;
-
- // for unsigned integral to signed integral conversions
- template<class T,class S>
- struct subranged_Unsig2Sig
- {
- // IMPORTANT NOTE:
- //
- // This code assumes that signed/unsigned integral values are represented
- // such that:
- //
- // numeric_limits<signed T>::digits + 1 == numeric_limits<unsigned T>::digits
- //
- // The '+1' is required since numeric_limits<>::digits gives 1 bit less for signed integral types.
- //
- // This fact is used by the following logic:
- //
- // if ( (numeric_limits<T>::digits+1) < (2*numeric_limits<S>::digits) )
- // then the conversion is subranged.
- //
-
- typedef mpl::int_< ::std::numeric_limits<S>::digits > S_digits ;
- typedef mpl::int_< ::std::numeric_limits<T>::digits > T_digits ;
-
- // T is signed, so take digits+1
- typedef typename T_digits::next u_T_digits ;
-
- typedef mpl::int_<2> Two ;
-
- typedef typename mpl::multiplies<S_digits,Two>::type S_digits_times_2 ;
-
- typedef typename mpl::less<u_T_digits,S_digits_times_2>::type type ;
- } ;
-
- // for integral to integral conversions of the same sign.
- template<class T,class S>
- struct subranged_SameSign
- {
- // An integral conversion of the same sign is subranged if digits(T) < digits(S).
-
- typedef mpl::int_< ::std::numeric_limits<S>::digits > S_digits ;
- typedef mpl::int_< ::std::numeric_limits<T>::digits > T_digits ;
-
- typedef typename mpl::less<T_digits,S_digits>::type type ;
- } ;
-
- // for integral to float conversions
- template<class T,class S>
- struct subranged_Int2Float
- {
- typedef mpl::false_ type ;
- } ;
-
- // for float to integral conversions
- template<class T,class S>
- struct subranged_Float2Int
- {
- typedef mpl::true_ type ;
- } ;
-
- // for float to float conversions
- template<class T,class S>
- struct subranged_Float2Float
- {
- // If both T and S are floats,
- // compare exponent bits and if they match, mantisa bits.
-
- typedef mpl::int_< ::std::numeric_limits<S>::digits > S_mantisa ;
- typedef mpl::int_< ::std::numeric_limits<T>::digits > T_mantisa ;
-
- typedef mpl::int_< ::std::numeric_limits<S>::max_exponent > S_exponent ;
- typedef mpl::int_< ::std::numeric_limits<T>::max_exponent > T_exponent ;
-
- typedef typename mpl::less<T_exponent,S_exponent>::type T_smaller_exponent ;
-
- typedef typename mpl::equal_to<T_exponent,S_exponent>::type equal_exponents ;
-
- typedef mpl::less<T_mantisa,S_mantisa> T_smaller_mantisa ;
-
- typedef mpl::eval_if<equal_exponents,T_smaller_mantisa,mpl::false_> not_bigger_exponent_case ;
-
- typedef typename
- mpl::eval_if<T_smaller_exponent,mpl::true_,not_bigger_exponent_case>::type
- type ;
- } ;
-
- // for Udt to built-in conversions
- template<class T,class S>
- struct subranged_Udt2BuiltIn
- {
- typedef mpl::true_ type ;
- } ;
-
- // for built-in to Udt conversions
- template<class T,class S>
- struct subranged_BuiltIn2Udt
- {
- typedef mpl::false_ type ;
- } ;
-
- // for Udt to Udt conversions
- template<class T,class S>
- struct subranged_Udt2Udt
- {
- typedef mpl::false_ type ;
- } ;
-
- //-------------------------------------------------------------------
- // Selectors for the implementations of the subranged predicate
- //-------------------------------------------------------------------
-
- template<class T,class S>
- struct get_subranged_Int2Int
- {
- typedef subranged_SameSign<T,S> Sig2Sig ;
- typedef subranged_Sig2Unsig<T,S> Sig2Unsig ;
- typedef subranged_Unsig2Sig<T,S> Unsig2Sig ;
- typedef Sig2Sig Unsig2Unsig ;
-
- typedef typename get_sign_mixture<T,S>::type sign_mixture ;
-
- typedef typename
- for_sign_mixture<sign_mixture, Sig2Sig, Sig2Unsig, Unsig2Sig, Unsig2Unsig>::type
- type ;
- } ;
-
- template<class T,class S>
- struct get_subranged_BuiltIn2BuiltIn
- {
- typedef get_subranged_Int2Int<T,S> Int2IntQ ;
-
- typedef subranged_Int2Float <T,S> Int2Float ;
- typedef subranged_Float2Int <T,S> Float2Int ;
- typedef subranged_Float2Float<T,S> Float2Float ;
-
- typedef mpl::identity<Int2Float > Int2FloatQ ;
- typedef mpl::identity<Float2Int > Float2IntQ ;
- typedef mpl::identity<Float2Float> Float2FloatQ ;
-
- typedef typename get_int_float_mixture<T,S>::type int_float_mixture ;
-
- typedef for_int_float_mixture<int_float_mixture, Int2IntQ, Int2FloatQ, Float2IntQ, Float2FloatQ> for_ ;
-
- typedef typename for_::type selected ;
-
- typedef typename selected::type type ;
- } ;
-
- template<class T,class S>
- struct get_subranged
- {
- typedef get_subranged_BuiltIn2BuiltIn<T,S> BuiltIn2BuiltInQ ;
-
- typedef subranged_BuiltIn2Udt<T,S> BuiltIn2Udt ;
- typedef subranged_Udt2BuiltIn<T,S> Udt2BuiltIn ;
- typedef subranged_Udt2Udt<T,S> Udt2Udt ;
-
- typedef mpl::identity<BuiltIn2Udt> BuiltIn2UdtQ ;
- typedef mpl::identity<Udt2BuiltIn> Udt2BuiltInQ ;
- typedef mpl::identity<Udt2Udt > Udt2UdtQ ;
-
- typedef typename get_udt_builtin_mixture<T,S>::type udt_builtin_mixture ;
-
- typedef typename
- for_udt_builtin_mixture<udt_builtin_mixture, BuiltIn2BuiltInQ, BuiltIn2UdtQ, Udt2BuiltInQ, Udt2UdtQ>::type
- selected ;
-
- typedef typename selected::type selected2 ;
-
- typedef typename selected2::type type ;
- } ;
-
-
- //-------------------------------------------------------------------
- // Top level implementation selector.
- //-------------------------------------------------------------------
- template<class T, class S>
- struct get_is_subranged
- {
- typedef get_subranged<T,S> non_trivial_case ;
- typedef mpl::identity<mpl::false_> trivial_case ;
-
- typedef is_same<T,S> is_trivial ;
-
- typedef typename mpl::if_<is_trivial,trivial_case,non_trivial_case>::type selected ;
-
- typedef typename selected::type type ;
- } ;
-
-} } } // namespace boost::numeric::convdetail
-
-#endif
-
-
diff --git a/boost/numeric/conversion/detail/meta.hpp b/boost/numeric/conversion/detail/meta.hpp
deleted file mode 100644
index 246a1b4..0000000
--- a/boost/numeric/conversion/detail/meta.hpp
+++ /dev/null
@@ -1,120 +0,0 @@
-// (c) Copyright Fernando Luis Cacciola Carballal 2000-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/numeric/conversion
-//
-// Contact the author at: fernando_cacciola at hotmail.com
-//
-#ifndef BOOST_NUMERIC_CONVERSION_DETAIL_META_FLC_12NOV2002_HPP
-#define BOOST_NUMERIC_CONVERSION_DETAIL_META_FLC_12NOV2002_HPP
-
-#include "boost/type_traits/remove_cv.hpp"
-
-#include "boost/mpl/if.hpp"
-#include "boost/mpl/eval_if.hpp"
-#include "boost/mpl/equal_to.hpp"
-#include "boost/mpl/not.hpp"
-#include "boost/mpl/and.hpp"
-#include "boost/mpl/bool.hpp"
-#include "boost/mpl/identity.hpp"
-
-namespace boost { namespace numeric { namespace convdetail
-{
- template< class T1, class T2>
- struct equal_to
- {
- #if !defined(__BORLANDC__)
-
- enum { x = ( BOOST_MPL_AUX_VALUE_WKND(T1)::value == BOOST_MPL_AUX_VALUE_WKND(T2)::value ) };
-
- BOOST_STATIC_CONSTANT(bool, value = x);
-
- typedef mpl::bool_<value> type;
-
- #else
-
- BOOST_STATIC_CONSTANT(bool, value = (
- BOOST_MPL_AUX_VALUE_WKND(T1)::value
- == BOOST_MPL_AUX_VALUE_WKND(T2)::value
- ));
-
- typedef mpl::bool_<(
- BOOST_MPL_AUX_VALUE_WKND(T1)::value
- == BOOST_MPL_AUX_VALUE_WKND(T2)::value
- )> type;
- #endif
- };
-
-// Metafunction:
- //
- // ct_switch4<Value,Case0Val,Case1Val,Case2Val,Case0Type,Case1Type,Case2Type,DefaultType>::type
- //
- // {Value,Case(X)Val} are Integral Constants (such as: mpl::int_<>)
- // {Case(X)Type,DefaultType} are arbitrary types. (not metafunctions)
- //
- // Returns Case(X)Type if Val==Case(X)Val; DefaultType otherwise.
- //
- template<class Value,
- class Case0Val,
- class Case1Val,
- class Case2Val,
- class Case0Type,
- class Case1Type,
- class Case2Type,
- class DefaultType
- >
- struct ct_switch4
- {
- typedef mpl::identity<Case0Type> Case0TypeQ ;
- typedef mpl::identity<Case1Type> Case1TypeQ ;
-
- typedef equal_to<Value,Case0Val> is_case0 ;
- typedef equal_to<Value,Case1Val> is_case1 ;
- typedef equal_to<Value,Case2Val> is_case2 ;
-
- typedef mpl::if_<is_case2,Case2Type,DefaultType> choose_2_3Q ;
- typedef mpl::eval_if<is_case1,Case1TypeQ,choose_2_3Q> choose_1_2_3Q ;
-
- typedef typename
- mpl::eval_if<is_case0,Case0TypeQ,choose_1_2_3Q>::type
- type ;
- } ;
-
-
-
-
- // Metafunction:
- //
- // for_both<expr0,expr1,TT,TF,FT,FF>::type
- //
- // {exp0,expr1} are Boolean Integral Constants
- // {TT,TF,FT,FF} are aribtrary types. (not metafunctions)
- //
- // According to the combined boolean value of 'expr0 && expr1', selects the corresponding type.
- //
- template<class expr0, class expr1, class TT, class TF, class FT, class FF>
- struct for_both
- {
- typedef mpl::identity<TF> TF_Q ;
- typedef mpl::identity<TT> TT_Q ;
-
- typedef typename mpl::not_<expr0>::type not_expr0 ;
- typedef typename mpl::not_<expr1>::type not_expr1 ;
-
- typedef typename mpl::and_<expr0,expr1>::type caseTT ;
- typedef typename mpl::and_<expr0,not_expr1>::type caseTF ;
- typedef typename mpl::and_<not_expr0,expr1>::type caseFT ;
-
- typedef mpl::if_<caseFT,FT,FF> choose_FT_FF_Q ;
- typedef mpl::eval_if<caseTF,TF_Q,choose_FT_FF_Q> choose_TF_FT_FF_Q ;
-
- typedef typename mpl::eval_if<caseTT,TT_Q,choose_TF_FT_FF_Q>::type type ;
- } ;
-
-} } } // namespace boost::numeric::convdetail
-
-#endif
-
-
diff --git a/boost/numeric/conversion/detail/numeric_cast_traits.hpp b/boost/numeric/conversion/detail/numeric_cast_traits.hpp
deleted file mode 100644
index 150490d..0000000
--- a/boost/numeric/conversion/detail/numeric_cast_traits.hpp
+++ /dev/null
@@ -1,138 +0,0 @@
-//
-//! Copyright (c) 2011-2012
-//! 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_NUMERIC_CONVERSION_DONT_USE_PREPROCESSED_FILES)
-
- #include <boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_common.hpp>
-
- #if !defined(BOOST_NO_LONG_LONG)
- #include <boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_long_long.hpp>
- #endif
-
-#else
-#if !BOOST_PP_IS_ITERATING
-
- #include <boost/preprocessor/seq/elem.hpp>
- #include <boost/preprocessor/seq/size.hpp>
- #include <boost/preprocessor/iteration/iterate.hpp>
-
- #if defined(__WAVE__) && defined(BOOST_NUMERIC_CONVERSION_CREATE_PREPROCESSED_FILES)
- #pragma wave option(preserve: 2, line: 0, output: "preprocessed/numeric_cast_traits_common.hpp")
- #endif
-//
-//! Copyright (c) 2011-2012
-//! 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(__WAVE__) && defined(BOOST_NUMERIC_CONVERSION_CREATE_PREPROCESSED_FILES)
- #pragma wave option(preserve: 1)
- #endif
-
- //! These are the assumed common built in fundamental types (not typedefs/macros.)
- #define BOOST_NUMERIC_CONVERSION_BASE_BUILTIN_TYPES() \
- (char) \
- (signed char) \
- (unsigned char) \
- (short) \
- (unsigned short) \
- (int) \
- (unsigned int) \
- (long) \
- (unsigned long) \
- (float) \
- (double) \
- (long double) \
- /***/
-
- #define BOOST_NUMERIC_CONVERSION_SEQ_A() BOOST_NUMERIC_CONVERSION_BASE_BUILTIN_TYPES()
- #define BOOST_NUMERIC_CONVERSION_SEQ_B() BOOST_NUMERIC_CONVERSION_BASE_BUILTIN_TYPES()
-
-namespace boost { namespace numeric {
-
- #define BOOST_PP_ITERATION_PARAMS_1 (3, (0, BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(BOOST_NUMERIC_CONVERSION_SEQ_A())), <boost/numeric/conversion/detail/numeric_cast_traits.hpp>))
- #include BOOST_PP_ITERATE()
-
-}}//namespace boost::numeric;
-
- #if defined(__WAVE__) && defined(BOOST_NUMERIC_CONVERSION_CREATE_PREPROCESSED_FILES)
- #pragma wave option(output: null)
- #endif
-
- #if ( defined(__WAVE__) && defined(BOOST_NUMERIC_CONVERSION_CREATE_PREPROCESSED_FILES) ) || !defined(BOOST_NO_LONG_LONG)
-
- #undef BOOST_NUMERIC_CONVERSION_SEQ_A
- #undef BOOST_NUMERIC_CONVERSION_SEQ_B
-
- #if defined(__WAVE__) && defined(BOOST_NUMERIC_CONVERSION_CREATE_PREPROCESSED_FILES)
- #pragma wave option(preserve: 2, line: 0, output: "preprocessed/numeric_cast_traits_long_long.hpp")
- #endif
-
-//
-//! Copyright (c) 2011-2012
-//! 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(__WAVE__) && defined(BOOST_NUMERIC_CONVERSION_CREATE_PREPROCESSED_FILES)
- #pragma wave option(preserve: 1)
- #endif
-
-namespace boost { namespace numeric {
-
- #define BOOST_NUMERIC_CONVERSION_SEQ_A() BOOST_NUMERIC_CONVERSION_BASE_BUILTIN_TYPES()(boost::long_long_type)(boost::ulong_long_type)
- #define BOOST_NUMERIC_CONVERSION_SEQ_B() (boost::long_long_type)(boost::ulong_long_type)
-
- #define BOOST_PP_ITERATION_PARAMS_1 (3, (0, BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(BOOST_NUMERIC_CONVERSION_SEQ_A())), <boost/numeric/conversion/detail/numeric_cast_traits.hpp>))
- #include BOOST_PP_ITERATE()
-
-}}//namespace boost::numeric;
-
- #if defined(__WAVE__) && defined(BOOST_NUMERIC_CONVERSION_CREATE_PREPROCESSED_FILES)
- #pragma wave option(output: null)
- #endif
-
- #endif
-
- #undef BOOST_NUMERIC_CONVERSION_BASE_BUILTIN_TYPES
- #undef BOOST_NUMERIC_CONVERSION_SEQ_A
- #undef BOOST_NUMERIC_CONVERSION_SEQ_B
-
-#elif BOOST_PP_ITERATION_DEPTH() == 1
-
- #define BOOST_PP_ITERATION_PARAMS_2 (3, (0, BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(BOOST_NUMERIC_CONVERSION_SEQ_B())), <boost/numeric/conversion/detail/numeric_cast_traits.hpp>))
- #include BOOST_PP_ITERATE()
-
-#elif BOOST_PP_ITERATION_DEPTH() == 2
-
- //! Generate default traits for the specified source and target.
- #define BOOST_NUMERIC_CONVERSION_A BOOST_PP_FRAME_ITERATION(1)
- #define BOOST_NUMERIC_CONVERSION_B BOOST_PP_FRAME_ITERATION(2)
-
- template <>
- struct numeric_cast_traits
- <
- BOOST_PP_SEQ_ELEM(BOOST_NUMERIC_CONVERSION_A, BOOST_NUMERIC_CONVERSION_SEQ_A())
- , BOOST_PP_SEQ_ELEM(BOOST_NUMERIC_CONVERSION_B, BOOST_NUMERIC_CONVERSION_SEQ_B())
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<BOOST_PP_SEQ_ELEM(BOOST_NUMERIC_CONVERSION_B, BOOST_NUMERIC_CONVERSION_SEQ_B())> rounding_policy;
- };
-
- #undef BOOST_NUMERIC_CONVERSION_A
- #undef BOOST_NUMERIC_CONVERSION_B
-
-#endif//! Depth 2.
-#endif// BOOST_NUMERIC_CONVERSION_DONT_USE_PREPROCESSED_FILES
diff --git a/boost/numeric/conversion/detail/old_numeric_cast.hpp b/boost/numeric/conversion/detail/old_numeric_cast.hpp
deleted file mode 100644
index 47b86d2..0000000
--- a/boost/numeric/conversion/detail/old_numeric_cast.hpp
+++ /dev/null
@@ -1,339 +0,0 @@
-// boost cast.hpp header file ----------------------------------------------//
-
-// (C) Copyright Kevlin Henney and Dave Abrahams 1999.
-// Distributed under the Boost
-// Software License, Version 1.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/conversion for Documentation.
-
-// Revision History
-// 23 JUN 05 Code extracted from /boost/cast.hpp into this new header.
-// Keeps this legacy version of numeric_cast<> for old compilers
-// wich can't compile the new version in /boost/numeric/conversion/cast.hpp
-// (Fernando Cacciola)
-// 02 Apr 01 Removed BOOST_NO_LIMITS workarounds and included
-// <boost/limits.hpp> instead (the workaround did not
-// actually compile when BOOST_NO_LIMITS was defined in
-// any case, so we loose nothing). (John Maddock)
-// 21 Jan 01 Undid a bug I introduced yesterday. numeric_cast<> never
-// worked with stock GCC; trying to get it to do that broke
-// vc-stlport.
-// 20 Jan 01 Moved BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS to config.hpp.
-// Removed unused BOOST_EXPLICIT_TARGET macro. Moved
-// boost::detail::type to boost/type.hpp. Made it compile with
-// stock gcc again (Dave Abrahams)
-// 29 Nov 00 Remove nested namespace cast, cleanup spacing before Formal
-// Review (Beman Dawes)
-// 19 Oct 00 Fix numeric_cast for floating-point types (Dave Abrahams)
-// 15 Jul 00 Suppress numeric_cast warnings for GCC, Borland and MSVC
-// (Dave Abrahams)
-// 30 Jun 00 More MSVC6 wordarounds. See comments below. (Dave Abrahams)
-// 28 Jun 00 Removed implicit_cast<>. See comment below. (Beman Dawes)
-// 27 Jun 00 More MSVC6 workarounds
-// 15 Jun 00 Add workarounds for MSVC6
-// 2 Feb 00 Remove bad_numeric_cast ";" syntax error (Doncho Angelov)
-// 26 Jan 00 Add missing throw() to bad_numeric_cast::what(0 (Adam Levar)
-// 29 Dec 99 Change using declarations so usages in other namespaces work
-// correctly (Dave Abrahams)
-// 23 Sep 99 Change polymorphic_downcast assert to also detect M.I. errors
-// as suggested Darin Adler and improved by Valentin Bonnard.
-// 2 Sep 99 Remove controversial asserts, simplify, rename.
-// 30 Aug 99 Move to cast.hpp, replace value_cast with numeric_cast,
-// place in nested namespace.
-// 3 Aug 99 Initial version
-
-#ifndef BOOST_OLD_NUMERIC_CAST_HPP
-#define BOOST_OLD_NUMERIC_CAST_HPP
-
-# include <boost/config.hpp>
-# include <cassert>
-# include <typeinfo>
-# include <boost/type.hpp>
-# include <boost/limits.hpp>
-# include <boost/numeric/conversion/converter_policies.hpp>
-
-// It has been demonstrated numerous times that MSVC 6.0 fails silently at link
-// time if you use a template function which has template parameters that don't
-// appear in the function's argument list.
-//
-// TODO: Add this to config.hpp?
-// FLC: This macro is repeated in boost/cast.hpp but only locally (is undefined at the bottom)
-// so is OK to reproduce it here.
-# if defined(BOOST_MSVC) && BOOST_MSVC < 1300
-# define BOOST_EXPLICIT_DEFAULT_TARGET , ::boost::type<Target>* = 0
-# else
-# define BOOST_EXPLICIT_DEFAULT_TARGET
-# endif
-
-namespace boost
-{
- using numeric::bad_numeric_cast;
-
-// LEGACY numeric_cast [only for some old broken compilers] --------------------------------------//
-
-// Contributed by Kevlin Henney
-
-// numeric_cast ------------------------------------------------------------//
-
-#if !defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS) || defined(BOOST_SGI_CPP_LIMITS)
-
- namespace detail
- {
- template <class T>
- struct signed_numeric_limits : std::numeric_limits<T>
- {
- static inline T min BOOST_PREVENT_MACRO_SUBSTITUTION ()
- {
- return (std::numeric_limits<T>::min)() >= 0
- // unary minus causes integral promotion, thus the static_cast<>
- ? static_cast<T>(-(std::numeric_limits<T>::max)())
- : (std::numeric_limits<T>::min)();
- };
- };
-
- // Move to namespace boost in utility.hpp?
- template <class T, bool specialized>
- struct fixed_numeric_limits_base
- : public if_true< std::numeric_limits<T>::is_signed >
- ::BOOST_NESTED_TEMPLATE then< signed_numeric_limits<T>,
- std::numeric_limits<T>
- >::type
- {};
-
- template <class T>
- struct fixed_numeric_limits
- : fixed_numeric_limits_base<T,(std::numeric_limits<T>::is_specialized)>
- {};
-
-# ifdef BOOST_HAS_LONG_LONG
- // cover implementations which supply no specialization for long
- // long / unsigned long long. Not intended to be full
- // numeric_limits replacements, but good enough for numeric_cast<>
- template <>
- struct fixed_numeric_limits_base< ::boost::long_long_type, false>
- {
- BOOST_STATIC_CONSTANT(bool, is_specialized = true);
- BOOST_STATIC_CONSTANT(bool, is_signed = true);
- static ::boost::long_long_type max BOOST_PREVENT_MACRO_SUBSTITUTION ()
- {
-# ifdef LONGLONG_MAX
- return LONGLONG_MAX;
-# else
- return 9223372036854775807LL; // hope this is portable
-# endif
- }
-
- static ::boost::long_long_type min BOOST_PREVENT_MACRO_SUBSTITUTION ()
- {
-# ifdef LONGLONG_MIN
- return LONGLONG_MIN;
-# else
- return -( 9223372036854775807LL )-1; // hope this is portable
-# endif
- }
- };
-
- template <>
- struct fixed_numeric_limits_base< ::boost::ulong_long_type, false>
- {
- BOOST_STATIC_CONSTANT(bool, is_specialized = true);
- BOOST_STATIC_CONSTANT(bool, is_signed = false);
- static ::boost::ulong_long_type max BOOST_PREVENT_MACRO_SUBSTITUTION ()
- {
-# ifdef ULONGLONG_MAX
- return ULONGLONG_MAX;
-# else
- return 0xffffffffffffffffULL; // hope this is portable
-# endif
- }
-
- static ::boost::ulong_long_type min BOOST_PREVENT_MACRO_SUBSTITUTION () { return 0; }
- };
-# endif
- } // namespace detail
-
-// less_than_type_min -
- // x_is_signed should be numeric_limits<X>::is_signed
- // y_is_signed should be numeric_limits<Y>::is_signed
- // y_min should be numeric_limits<Y>::min()
- //
- // check(x, y_min) returns true iff x < y_min without invoking comparisons
- // between signed and unsigned values.
- //
- // "poor man's partial specialization" is in use here.
- template <bool x_is_signed, bool y_is_signed>
- struct less_than_type_min
- {
- template <class X, class Y>
- static bool check(X x, Y y_min)
- { return x < y_min; }
- };
-
- template <>
- struct less_than_type_min<false, true>
- {
- template <class X, class Y>
- static bool check(X, Y)
- { return false; }
- };
-
- template <>
- struct less_than_type_min<true, false>
- {
- template <class X, class Y>
- static bool check(X x, Y)
- { return x < 0; }
- };
-
- // greater_than_type_max -
- // same_sign should be:
- // numeric_limits<X>::is_signed == numeric_limits<Y>::is_signed
- // y_max should be numeric_limits<Y>::max()
- //
- // check(x, y_max) returns true iff x > y_max without invoking comparisons
- // between signed and unsigned values.
- //
- // "poor man's partial specialization" is in use here.
- template <bool same_sign, bool x_is_signed>
- struct greater_than_type_max;
-
- template<>
- struct greater_than_type_max<true, true>
- {
- template <class X, class Y>
- static inline bool check(X x, Y y_max)
- { return x > y_max; }
- };
-
- template <>
- struct greater_than_type_max<false, true>
- {
- // What does the standard say about this? I think it's right, and it
- // will work with every compiler I know of.
- template <class X, class Y>
- static inline bool check(X x, Y)
- { return x >= 0 && static_cast<X>(static_cast<Y>(x)) != x; }
-
-# if defined(BOOST_MSVC) && BOOST_MSVC < 1300
- // MSVC6 can't static_cast unsigned __int64 -> floating types
-# define BOOST_UINT64_CAST(src_type) \
- static inline bool check(src_type x, unsigned __int64) \
- { \
- if (x < 0) return false; \
- unsigned __int64 y = static_cast<unsigned __int64>(x); \
- bool odd = y & 0x1; \
- __int64 div2 = static_cast<__int64>(y >> 1); \
- return ((static_cast<src_type>(div2) * 2.0) + odd) != x; \
- }
-
- BOOST_UINT64_CAST(long double);
- BOOST_UINT64_CAST(double);
- BOOST_UINT64_CAST(float);
-# undef BOOST_UINT64_CAST
-# endif
- };
-
- template<>
- struct greater_than_type_max<true, false>
- {
- template <class X, class Y>
- static inline bool check(X x, Y y_max)
- { return x > y_max; }
- };
-
- template <>
- struct greater_than_type_max<false, false>
- {
- // What does the standard say about this? I think it's right, and it
- // will work with every compiler I know of.
- template <class X, class Y>
- static inline bool check(X x, Y)
- { return static_cast<X>(static_cast<Y>(x)) != x; }
- };
-
-#else // use #pragma hacks if available
-
- namespace detail
- {
-# if BOOST_MSVC
-# pragma warning(push)
-# pragma warning(disable : 4018)
-# pragma warning(disable : 4146)
-#elif defined(__BORLANDC__)
-# pragma option push -w-8041
-# endif
-
- // Move to namespace boost in utility.hpp?
- template <class T>
- struct fixed_numeric_limits : public std::numeric_limits<T>
- {
- static inline T min BOOST_PREVENT_MACRO_SUBSTITUTION ()
- {
- return std::numeric_limits<T>::is_signed && (std::numeric_limits<T>::min)() >= 0
- ? T(-(std::numeric_limits<T>::max)()) : (std::numeric_limits<T>::min)();
- }
- };
-
-# if BOOST_MSVC
-# pragma warning(pop)
-#elif defined(__BORLANDC__)
-# pragma option pop
-# endif
- } // namespace detail
-
-#endif
-
- template<typename Target, typename Source>
- inline Target numeric_cast(Source arg BOOST_EXPLICIT_DEFAULT_TARGET)
- {
- // typedefs abbreviating respective trait classes
- typedef detail::fixed_numeric_limits<Source> arg_traits;
- typedef detail::fixed_numeric_limits<Target> result_traits;
-
-#if defined(BOOST_STRICT_CONFIG) \
- || (!defined(__HP_aCC) || __HP_aCC > 33900) \
- && (!defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS) \
- || defined(BOOST_SGI_CPP_LIMITS))
- // typedefs that act as compile time assertions
- // (to be replaced by boost compile time assertions
- // as and when they become available and are stable)
- typedef bool argument_must_be_numeric[arg_traits::is_specialized];
- typedef bool result_must_be_numeric[result_traits::is_specialized];
-
- const bool arg_is_signed = arg_traits::is_signed;
- const bool result_is_signed = result_traits::is_signed;
- const bool same_sign = arg_is_signed == result_is_signed;
-
- if (less_than_type_min<arg_is_signed, result_is_signed>::check(arg, (result_traits::min)())
- || greater_than_type_max<same_sign, arg_is_signed>::check(arg, (result_traits::max)())
- )
-
-#else // We need to use #pragma hacks if available
-
-# if BOOST_MSVC
-# pragma warning(push)
-# pragma warning(disable : 4018)
-#elif defined(__BORLANDC__)
-#pragma option push -w-8012
-# endif
- if ((arg < 0 && !result_traits::is_signed) // loss of negative range
- || (arg_traits::is_signed && arg < (result_traits::min)()) // underflow
- || arg > (result_traits::max)()) // overflow
-# if BOOST_MSVC
-# pragma warning(pop)
-#elif defined(__BORLANDC__)
-#pragma option pop
-# endif
-#endif
- {
- throw bad_numeric_cast();
- }
- return static_cast<Target>(arg);
- } // numeric_cast
-
-# undef BOOST_EXPLICIT_DEFAULT_TARGET
-
-} // namespace boost
-
-#endif // BOOST_OLD_NUMERIC_CAST_HPP
diff --git a/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_common.hpp b/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_common.hpp
deleted file mode 100644
index 01dc932..0000000
--- a/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_common.hpp
+++ /dev/null
@@ -1,1741 +0,0 @@
-//
-//! Copyright (c) 2011-2012
-//! 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)
-//
-
-
-
-namespace boost { namespace numeric {
-
- template <>
- struct numeric_cast_traits
- <
- char
- , char
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<char> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- char
- , signed char
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<signed char> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- char
- , unsigned char
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<unsigned char> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- char
- , short
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<short> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- char
- , unsigned short
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<unsigned short> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- char
- , int
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<int> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- char
- , unsigned int
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<unsigned int> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- char
- , long
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<long> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- char
- , unsigned long
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<unsigned long> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- char
- , float
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<float> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- char
- , double
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<double> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- char
- , long double
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<long double> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- signed char
- , char
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<char> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- signed char
- , signed char
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<signed char> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- signed char
- , unsigned char
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<unsigned char> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- signed char
- , short
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<short> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- signed char
- , unsigned short
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<unsigned short> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- signed char
- , int
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<int> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- signed char
- , unsigned int
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<unsigned int> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- signed char
- , long
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<long> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- signed char
- , unsigned long
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<unsigned long> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- signed char
- , float
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<float> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- signed char
- , double
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<double> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- signed char
- , long double
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<long double> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned char
- , char
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<char> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned char
- , signed char
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<signed char> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned char
- , unsigned char
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<unsigned char> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned char
- , short
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<short> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned char
- , unsigned short
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<unsigned short> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned char
- , int
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<int> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned char
- , unsigned int
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<unsigned int> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned char
- , long
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<long> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned char
- , unsigned long
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<unsigned long> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned char
- , float
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<float> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned char
- , double
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<double> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned char
- , long double
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<long double> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- short
- , char
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<char> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- short
- , signed char
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<signed char> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- short
- , unsigned char
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<unsigned char> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- short
- , short
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<short> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- short
- , unsigned short
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<unsigned short> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- short
- , int
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<int> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- short
- , unsigned int
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<unsigned int> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- short
- , long
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<long> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- short
- , unsigned long
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<unsigned long> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- short
- , float
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<float> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- short
- , double
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<double> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- short
- , long double
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<long double> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned short
- , char
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<char> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned short
- , signed char
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<signed char> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned short
- , unsigned char
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<unsigned char> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned short
- , short
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<short> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned short
- , unsigned short
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<unsigned short> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned short
- , int
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<int> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned short
- , unsigned int
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<unsigned int> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned short
- , long
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<long> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned short
- , unsigned long
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<unsigned long> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned short
- , float
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<float> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned short
- , double
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<double> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned short
- , long double
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<long double> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- int
- , char
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<char> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- int
- , signed char
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<signed char> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- int
- , unsigned char
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<unsigned char> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- int
- , short
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<short> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- int
- , unsigned short
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<unsigned short> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- int
- , int
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<int> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- int
- , unsigned int
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<unsigned int> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- int
- , long
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<long> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- int
- , unsigned long
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<unsigned long> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- int
- , float
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<float> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- int
- , double
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<double> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- int
- , long double
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<long double> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned int
- , char
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<char> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned int
- , signed char
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<signed char> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned int
- , unsigned char
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<unsigned char> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned int
- , short
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<short> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned int
- , unsigned short
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<unsigned short> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned int
- , int
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<int> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned int
- , unsigned int
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<unsigned int> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned int
- , long
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<long> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned int
- , unsigned long
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<unsigned long> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned int
- , float
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<float> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned int
- , double
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<double> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned int
- , long double
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<long double> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- long
- , char
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<char> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- long
- , signed char
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<signed char> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- long
- , unsigned char
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<unsigned char> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- long
- , short
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<short> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- long
- , unsigned short
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<unsigned short> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- long
- , int
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<int> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- long
- , unsigned int
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<unsigned int> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- long
- , long
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<long> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- long
- , unsigned long
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<unsigned long> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- long
- , float
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<float> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- long
- , double
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<double> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- long
- , long double
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<long double> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned long
- , char
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<char> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned long
- , signed char
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<signed char> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned long
- , unsigned char
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<unsigned char> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned long
- , short
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<short> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned long
- , unsigned short
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<unsigned short> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned long
- , int
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<int> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned long
- , unsigned int
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<unsigned int> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned long
- , long
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<long> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned long
- , unsigned long
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<unsigned long> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned long
- , float
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<float> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned long
- , double
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<double> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned long
- , long double
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<long double> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- float
- , char
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<char> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- float
- , signed char
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<signed char> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- float
- , unsigned char
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<unsigned char> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- float
- , short
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<short> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- float
- , unsigned short
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<unsigned short> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- float
- , int
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<int> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- float
- , unsigned int
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<unsigned int> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- float
- , long
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<long> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- float
- , unsigned long
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<unsigned long> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- float
- , float
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<float> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- float
- , double
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<double> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- float
- , long double
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<long double> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- double
- , char
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<char> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- double
- , signed char
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<signed char> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- double
- , unsigned char
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<unsigned char> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- double
- , short
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<short> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- double
- , unsigned short
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<unsigned short> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- double
- , int
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<int> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- double
- , unsigned int
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<unsigned int> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- double
- , long
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<long> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- double
- , unsigned long
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<unsigned long> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- double
- , float
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<float> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- double
- , double
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<double> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- double
- , long double
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<long double> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- long double
- , char
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<char> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- long double
- , signed char
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<signed char> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- long double
- , unsigned char
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<unsigned char> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- long double
- , short
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<short> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- long double
- , unsigned short
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<unsigned short> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- long double
- , int
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<int> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- long double
- , unsigned int
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<unsigned int> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- long double
- , long
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<long> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- long double
- , unsigned long
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<unsigned long> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- long double
- , float
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<float> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- long double
- , double
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<double> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- long double
- , long double
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<long double> rounding_policy;
- };
-}}
diff --git a/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_long_long.hpp b/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_long_long.hpp
deleted file mode 100644
index b358b9c..0000000
--- a/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_long_long.hpp
+++ /dev/null
@@ -1,347 +0,0 @@
-//
-//! Copyright (c) 2011-2012
-//! 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)
-//
-namespace boost { namespace numeric {
-
-
- template <>
- struct numeric_cast_traits
- <
- char
- , boost::long_long_type
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<boost::long_long_type> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- char
- , boost::ulong_long_type
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<boost::ulong_long_type> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- signed char
- , boost::long_long_type
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<boost::long_long_type> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- signed char
- , boost::ulong_long_type
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<boost::ulong_long_type> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned char
- , boost::long_long_type
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<boost::long_long_type> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned char
- , boost::ulong_long_type
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<boost::ulong_long_type> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- short
- , boost::long_long_type
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<boost::long_long_type> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- short
- , boost::ulong_long_type
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<boost::ulong_long_type> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned short
- , boost::long_long_type
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<boost::long_long_type> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned short
- , boost::ulong_long_type
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<boost::ulong_long_type> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- int
- , boost::long_long_type
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<boost::long_long_type> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- int
- , boost::ulong_long_type
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<boost::ulong_long_type> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned int
- , boost::long_long_type
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<boost::long_long_type> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned int
- , boost::ulong_long_type
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<boost::ulong_long_type> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- long
- , boost::long_long_type
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<boost::long_long_type> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- long
- , boost::ulong_long_type
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<boost::ulong_long_type> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned long
- , boost::long_long_type
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<boost::long_long_type> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- unsigned long
- , boost::ulong_long_type
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<boost::ulong_long_type> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- float
- , boost::long_long_type
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<boost::long_long_type> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- float
- , boost::ulong_long_type
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<boost::ulong_long_type> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- double
- , boost::long_long_type
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<boost::long_long_type> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- double
- , boost::ulong_long_type
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<boost::ulong_long_type> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- long double
- , boost::long_long_type
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<boost::long_long_type> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- long double
- , boost::ulong_long_type
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<boost::ulong_long_type> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- boost::long_long_type
- , boost::long_long_type
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<boost::long_long_type> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- boost::long_long_type
- , boost::ulong_long_type
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<boost::ulong_long_type> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- boost::ulong_long_type
- , boost::long_long_type
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<boost::long_long_type> rounding_policy;
- };
-
- template <>
- struct numeric_cast_traits
- <
- boost::ulong_long_type
- , boost::ulong_long_type
- >
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<boost::ulong_long_type> rounding_policy;
- };
-}}
diff --git a/boost/numeric/conversion/detail/sign_mixture.hpp b/boost/numeric/conversion/detail/sign_mixture.hpp
deleted file mode 100644
index c7f9e42..0000000
--- a/boost/numeric/conversion/detail/sign_mixture.hpp
+++ /dev/null
@@ -1,72 +0,0 @@
-// (c) Copyright Fernando Luis Cacciola Carballal 2000-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/numeric/conversion
-//
-// Contact the author at: fernando_cacciola at hotmail.com
-//
-#ifndef BOOST_NUMERIC_CONVERSION_DETAIL_SIGN_MIXTURE_FLC_12NOV2002_HPP
-#define BOOST_NUMERIC_CONVERSION_DETAIL_SIGN_MIXTURE_FLC_12NOV2002_HPP
-
-#include "boost/config.hpp"
-#include "boost/limits.hpp"
-
-#include "boost/numeric/conversion/sign_mixture_enum.hpp"
-#include "boost/numeric/conversion/detail/meta.hpp"
-
-#include "boost/mpl/integral_c.hpp"
-
-namespace boost { namespace numeric { namespace convdetail
-{
- // Integral Constants for 'SignMixture'
- typedef mpl::integral_c<sign_mixture_enum, unsigned_to_unsigned> unsig2unsig_c ;
- typedef mpl::integral_c<sign_mixture_enum, signed_to_signed> sig2sig_c ;
- typedef mpl::integral_c<sign_mixture_enum, signed_to_unsigned> sig2unsig_c ;
- typedef mpl::integral_c<sign_mixture_enum, unsigned_to_signed> unsig2sig_c ;
-
- // Metafunction:
- //
- // get_sign_mixture<T,S>::type
- //
- // Selects the appropriate SignMixture Integral Constant for the combination T,S.
- //
- template<class T,class S>
- struct get_sign_mixture
- {
- typedef mpl::bool_< ::std::numeric_limits<S>::is_signed > S_signed ;
- typedef mpl::bool_< ::std::numeric_limits<T>::is_signed > T_signed ;
-
- typedef typename
- for_both<S_signed, T_signed, sig2sig_c, sig2unsig_c, unsig2sig_c, unsig2unsig_c>::type
- type ;
- } ;
-
- // Metafunction:
- //
- // for_sign_mixture<SignMixture,Sig2Sig,Sig2Unsig,Unsig2Sig,Unsig2Unsig>::type
- //
- // {SignMixture} is one of the Integral Constants for SignMixture, declared above.
- // {Sig2Sig,Sig2Unsig,Unsig2Sig,Unsig2Unsig} are aribtrary types. (not metafunctions)
- //
- // According to the value of 'SignMixture', selects the corresponding type.
- //
- template<class SignMixture, class Sig2Sig, class Sig2Unsig, class Unsig2Sig, class Unsig2Unsig>
- struct for_sign_mixture
- {
- typedef typename
- ct_switch4<SignMixture
- , sig2sig_c, sig2unsig_c, unsig2sig_c // default
- , Sig2Sig , Sig2Unsig , Unsig2Sig , Unsig2Unsig
- >::type
- type ;
- } ;
-
-} } } // namespace boost::numeric::convdetail
-
-#endif
-//
-///////////////////////////////////////////////////////////////////////////////////////////////
-
-
diff --git a/boost/numeric/conversion/detail/udt_builtin_mixture.hpp b/boost/numeric/conversion/detail/udt_builtin_mixture.hpp
deleted file mode 100644
index 36dbc49..0000000
--- a/boost/numeric/conversion/detail/udt_builtin_mixture.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-// (c) Copyright Fernando Luis Cacciola Carballal 2000-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/numeric/conversion
-//
-// Contact the author at: fernando_cacciola at hotmail.com
-//
-#ifndef BOOST_NUMERIC_CONVERSION_DETAIL_UDT_BUILTIN_MIXTURE_FLC_12NOV2002_HPP
-#define BOOST_NUMERIC_CONVERSION_DETAIL_UDT_BUILTIN_MIXTURE_FLC_12NOV2002_HPP
-
-#include "boost/type_traits/is_arithmetic.hpp"
-
-#include "boost/numeric/conversion/udt_builtin_mixture_enum.hpp"
-#include "boost/numeric/conversion/detail/meta.hpp"
-
-#include "boost/mpl/integral_c.hpp"
-
-namespace boost { namespace numeric { namespace convdetail
-{
- // Integral Constants for 'UdtMixture'
- typedef mpl::integral_c<udt_builtin_mixture_enum, builtin_to_builtin> builtin2builtin_c ;
- typedef mpl::integral_c<udt_builtin_mixture_enum, builtin_to_udt> builtin2udt_c ;
- typedef mpl::integral_c<udt_builtin_mixture_enum, udt_to_builtin> udt2builtin_c ;
- typedef mpl::integral_c<udt_builtin_mixture_enum, udt_to_udt> udt2udt_c ;
-
- // Metafunction:
- //
- // for_udt_mixture<UdtMixture,BuiltIn2BuiltIn,BuiltIn2Udt,Udt2BuiltIn,Udt2Udt>::type
- //
- // {UdtMixture} is one of the Integral Constants for UdMixture, declared above.
- // {BuiltIn2BuiltIn,BuiltIn2Udt,Udt2BuiltIn,Udt2Udt} are aribtrary types. (not metafunctions)
- //
- // According to the value of 'UdtMixture', selects the corresponding type.
- //
- template<class UdtMixture, class BuiltIn2BuiltIn, class BuiltIn2Udt, class Udt2BuiltIn, class Udt2Udt>
- struct for_udt_builtin_mixture
- {
- typedef typename
- ct_switch4<UdtMixture
- , builtin2builtin_c, builtin2udt_c, udt2builtin_c // default
- , BuiltIn2BuiltIn , BuiltIn2Udt , Udt2BuiltIn , Udt2Udt
- >::type
- type ;
- } ;
-
- // Metafunction:
- //
- // get_udt_mixture<T,S>::type
- //
- // Selects the appropriate UdtMixture Integral Constant for the combination T,S.
- //
- template<class T,class S>
- struct get_udt_builtin_mixture
- {
- typedef is_arithmetic<S> S_builtin ;
- typedef is_arithmetic<T> T_builtin ;
-
- typedef typename
- for_both<S_builtin, T_builtin, builtin2builtin_c, builtin2udt_c, udt2builtin_c, udt2udt_c>::type
- type ;
- } ;
-
-} } } // namespace boost::numeric::convdetail
-
-#endif
-
-
diff --git a/boost/numeric/conversion/int_float_mixture_enum.hpp b/boost/numeric/conversion/int_float_mixture_enum.hpp
deleted file mode 100644
index d0c2daa..0000000
--- a/boost/numeric/conversion/int_float_mixture_enum.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-// (c) Copyright Fernando Luis Cacciola Carballal 2000-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/numeric/conversion
-//
-// Contact the author at: fernando_cacciola at hotmail.com
-//
-#ifndef BOOST_NUMERIC_CONVERSION_INT_FLOAT_MIXTURE_ENUM_FLC_12NOV2002_HPP
-#define BOOST_NUMERIC_CONVERSION_INT_FLOAT_MIXTURE_ENUM_FLC_12NOV2002_HPP
-
-namespace boost { namespace numeric
-{
- enum int_float_mixture_enum
- {
- integral_to_integral
- ,integral_to_float
- ,float_to_integral
- ,float_to_float
- } ;
-
-} } // namespace boost::numeric
-
-#endif
-//
-///////////////////////////////////////////////////////////////////////////////////////////////
-
-
diff --git a/boost/numeric/conversion/numeric_cast_traits.hpp b/boost/numeric/conversion/numeric_cast_traits.hpp
deleted file mode 100644
index e24296b..0000000
--- a/boost/numeric/conversion/numeric_cast_traits.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-//
-//! 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)
-//
-#ifndef BOOST_NUMERIC_CAST_TRAITS_HPP
-#define BOOST_NUMERIC_CAST_TRAITS_HPP
-
-#include <boost/numeric/conversion/converter_policies.hpp>
-
-namespace boost { namespace numeric {
-
- template <typename Target, typename Source, typename EnableIf = void>
- struct numeric_cast_traits
- {
- typedef def_overflow_handler overflow_policy;
- typedef UseInternalRangeChecker range_checking_policy;
- typedef Trunc<Source> rounding_policy;
- };
-
-}}//namespace boost::numeric;
-
-#if !defined( BOOST_NUMERIC_CONVERSION_RELAX_BUILT_IN_CAST_TRAITS )
-#include <boost/cstdint.hpp>
-#include <boost/numeric/conversion/detail/numeric_cast_traits.hpp>
-#endif//!defined BOOST_NUMERIC_CONVERSION_RELAX_BUILT_IN_CAST_TRAITS
-
-#endif//BOOST_NUMERIC_CAST_TRAITS_HPP
diff --git a/boost/numeric/conversion/sign_mixture_enum.hpp b/boost/numeric/conversion/sign_mixture_enum.hpp
deleted file mode 100644
index 1525f8d..0000000
--- a/boost/numeric/conversion/sign_mixture_enum.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-// (c) Copyright Fernando Luis Cacciola Carballal 2000-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/numeric/conversion
-//
-// Contact the author at: fernando_cacciola at hotmail.com
-//
-#ifndef BOOST_NUMERIC_CONVERSION_SIGN_MIXTURE_ENUM_FLC_12NOV2002_HPP
-#define BOOST_NUMERIC_CONVERSION_SIGN_MIXTURE_ENUM_FLC_12NOV2002_HPP
-
-namespace boost { namespace numeric
-{
- enum sign_mixture_enum
- {
- unsigned_to_unsigned
- ,signed_to_signed
- ,signed_to_unsigned
- ,unsigned_to_signed
- } ;
-
-} } // namespace boost::numeric
-
-#endif
-//
-///////////////////////////////////////////////////////////////////////////////////////////////
-
-
diff --git a/boost/numeric/conversion/udt_builtin_mixture_enum.hpp b/boost/numeric/conversion/udt_builtin_mixture_enum.hpp
deleted file mode 100644
index 2540e80..0000000
--- a/boost/numeric/conversion/udt_builtin_mixture_enum.hpp
+++ /dev/null
@@ -1,26 +0,0 @@
-// (c) Copyright Fernando Luis Cacciola Carballal 2000-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/numeric/conversion
-//
-// Contact the author at: fernando_cacciola at hotmail.com
-//
-#ifndef BOOST_NUMERIC_CONVERSION_UDT_BUILTIN_MIXTURE_ENUM_FLC_12NOV2002_HPP
-#define BOOST_NUMERIC_CONVERSION_UDT_BUILTIN_MIXTURE_ENUM_FLC_12NOV2002_HPP
-
-namespace boost { namespace numeric
-{
- enum udt_builtin_mixture_enum
- {
- builtin_to_builtin
- ,builtin_to_udt
- ,udt_to_builtin
- ,udt_to_udt
- } ;
-
-} } // namespace boost::numeric
-
-#endif
-
diff --git a/boost/optional.hpp b/boost/optional.hpp
deleted file mode 100644
index 40cf12e..0000000
--- a/boost/optional.hpp
+++ /dev/null
@@ -1,18 +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 at hotmail.com
-//
-#ifndef BOOST_OPTIONAL_FLC_19NOV2002_HPP
-#define BOOST_OPTIONAL_FLC_19NOV2002_HPP
-
-#include "boost/optional/optional.hpp"
-
-#endif
-
diff --git a/boost/optional/optional.hpp b/boost/optional/optional.hpp
deleted file mode 100644
index 0d6dba4..0000000
--- a/boost/optional/optional.hpp
+++ /dev/null
@@ -1,991 +0,0 @@
-// Copyright (C) 2003, 2008 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 at hotmail.com
-//
-// Revisions:
-// 27 Apr 2008 (improved swap) Fernando Cacciola, Niels Dekker, Thorsten Ottosen
-//
-#ifndef BOOST_OPTIONAL_OPTIONAL_FLC_19NOV2002_HPP
-#define BOOST_OPTIONAL_OPTIONAL_FLC_19NOV2002_HPP
-
-#include <new>
-#include <algorithm>
-
-#include <boost/config.hpp>
-#include <boost/assert.hpp>
-#include <boost/type.hpp>
-#include <boost/type_traits/alignment_of.hpp>
-#include <boost/type_traits/has_nothrow_constructor.hpp>
-#include <boost/type_traits/type_with_alignment.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/type_traits/is_reference.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/detail/reference_content.hpp>
-#include <boost/none.hpp>
-#include <boost/utility/swap.hpp>
-#include <boost/utility/addressof.hpp>
-#include <boost/utility/compare_pointees.hpp>
-#include <boost/utility/in_place_factory.hpp>
-
-#include <boost/optional/optional_fwd.hpp>
-
-#if BOOST_WORKAROUND(BOOST_MSVC, == 1200)
-// VC6.0 has the following bug:
-// When a templated assignment operator exist, an implicit conversion
-// constructing an optional<T> is used when assigment of the form:
-// optional<T> opt ; opt = T(...);
-// is compiled.
-// However, optional's ctor is _explicit_ and the assignemt shouldn't compile.
-// Therefore, for VC6.0 templated assignment is disabled.
-//
-#define BOOST_OPTIONAL_NO_CONVERTING_ASSIGNMENT
-#endif
-
-#if BOOST_WORKAROUND(BOOST_MSVC, == 1300)
-// VC7.0 has the following bug:
-// When both a non-template and a template copy-ctor exist
-// and the templated version is made 'explicit', the explicit is also
-// given to the non-templated version, making the class non-implicitely-copyable.
-//
-#define BOOST_OPTIONAL_NO_CONVERTING_COPY_CTOR
-#endif
-
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) || BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION,<=700)
-// AFAICT only VC7.1 correctly resolves the overload set
-// that includes the in-place factory taking functions,
-// so for the other VC versions, in-place factory support
-// is disabled
-#define BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT
-#endif
-
-#if BOOST_WORKAROUND(__BORLANDC__, <= 0x551)
-// BCB (5.5.1) cannot parse the nested template struct in an inplace factory.
-#define BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT
-#endif
-
-#if !defined(BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT) \
- && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x581) )
-// BCB (up to 5.64) has the following bug:
-// If there is a member function/operator template of the form
-// template<class Expr> mfunc( Expr expr ) ;
-// some calls are resolved to this even if there are other better matches.
-// The effect of this bug is that calls to converting ctors and assignments
-// are incrorrectly sink to this general catch-all member function template as shown above.
-#define BOOST_OPTIONAL_WEAK_OVERLOAD_RESOLUTION
-#endif
-
-#if defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__) > 302 \
- && !defined(__INTEL_COMPILER)
-// GCC since 3.3 has may_alias attribute that helps to alleviate optimizer issues with
-// regard to violation of the strict aliasing rules. The optional< T > storage type is marked
-// with this attribute in order to let the compiler know that it will alias objects of type T
-// and silence compilation warnings.
-#define BOOST_OPTIONAL_DETAIL_USE_ATTRIBUTE_MAY_ALIAS
-#endif
-
-// Daniel Wallin discovered that bind/apply.hpp badly interacts with the apply<>
-// member template of a factory as used in the optional<> implementation.
-// He proposed this simple fix which is to move the call to apply<> outside
-// namespace boost.
-namespace boost_optional_detail
-{
- template <class T, class Factory>
- inline void construct(Factory const& factory, void* address)
- {
- factory.BOOST_NESTED_TEMPLATE apply<T>(address);
- }
-}
-
-
-namespace boost {
-
-class in_place_factory_base ;
-class typed_in_place_factory_base ;
-
-// This forward is needed to refer to namespace scope swap from the member swap
-template<class T> void swap ( optional<T>& x, optional<T>& y );
-
-namespace optional_detail {
-
-// This local class is used instead of that in "aligned_storage.hpp"
-// because I've found the 'official' class to ICE BCB5.5
-// when some types are used with optional<>
-// (due to sizeof() passed down as a non-type template parameter)
-template <class T>
-class aligned_storage
-{
- // Borland ICEs if unnamed unions are used for this!
- union
- // This works around GCC warnings about breaking strict aliasing rules when casting storage address to T*
-#if defined(BOOST_OPTIONAL_DETAIL_USE_ATTRIBUTE_MAY_ALIAS)
- __attribute__((may_alias))
-#endif
- dummy_u
- {
- char data[ sizeof(T) ];
- BOOST_DEDUCED_TYPENAME type_with_alignment<
- ::boost::alignment_of<T>::value >::type aligner_;
- } dummy_ ;
-
- public:
-
-#if defined(BOOST_OPTIONAL_DETAIL_USE_ATTRIBUTE_MAY_ALIAS)
- void const* address() const { return &dummy_; }
- void * address() { return &dummy_; }
-#else
- void const* address() const { return dummy_.data; }
- void * address() { return dummy_.data; }
-#endif
-} ;
-
-template<class T>
-struct types_when_isnt_ref
-{
- typedef T const& reference_const_type ;
- typedef T & reference_type ;
- typedef T const* pointer_const_type ;
- typedef T * pointer_type ;
- typedef T const& argument_type ;
-} ;
-template<class T>
-struct types_when_is_ref
-{
- typedef BOOST_DEDUCED_TYPENAME remove_reference<T>::type raw_type ;
-
- typedef raw_type& reference_const_type ;
- typedef raw_type& reference_type ;
- typedef raw_type* pointer_const_type ;
- typedef raw_type* pointer_type ;
- typedef raw_type& argument_type ;
-} ;
-
-struct optional_tag {} ;
-
-template<class T>
-class optional_base : public optional_tag
-{
- private :
-
- typedef
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
- BOOST_DEDUCED_TYPENAME
-#endif
- ::boost::detail::make_reference_content<T>::type internal_type ;
-
- typedef aligned_storage<internal_type> storage_type ;
-
- typedef types_when_isnt_ref<T> types_when_not_ref ;
- typedef types_when_is_ref<T> types_when_ref ;
-
- typedef optional_base<T> this_type ;
-
- protected :
-
- typedef T value_type ;
-
- typedef mpl::true_ is_reference_tag ;
- typedef mpl::false_ is_not_reference_tag ;
-
- typedef BOOST_DEDUCED_TYPENAME is_reference<T>::type is_reference_predicate ;
-
- public:
- typedef BOOST_DEDUCED_TYPENAME mpl::if_<is_reference_predicate,types_when_ref,types_when_not_ref>::type types ;
-
- protected:
- typedef bool (this_type::*unspecified_bool_type)() const;
-
- typedef BOOST_DEDUCED_TYPENAME types::reference_type reference_type ;
- typedef BOOST_DEDUCED_TYPENAME types::reference_const_type reference_const_type ;
- typedef BOOST_DEDUCED_TYPENAME types::pointer_type pointer_type ;
- typedef BOOST_DEDUCED_TYPENAME types::pointer_const_type pointer_const_type ;
- typedef BOOST_DEDUCED_TYPENAME types::argument_type argument_type ;
-
- // Creates an optional<T> uninitialized.
- // No-throw
- optional_base()
- :
- m_initialized(false) {}
-
- // Creates an optional<T> uninitialized.
- // No-throw
- optional_base ( none_t )
- :
- m_initialized(false) {}
-
- // Creates an optional<T> initialized with 'val'.
- // Can throw if T::T(T const&) does
- optional_base ( argument_type val )
- :
- m_initialized(false)
- {
- construct(val);
- }
-
- // Creates an optional<T> initialized with 'val' IFF cond is true, otherwise creates an uninitialzed optional<T>.
- // Can throw if T::T(T const&) does
- optional_base ( bool cond, argument_type val )
- :
- m_initialized(false)
- {
- if ( cond )
- construct(val);
- }
-
- // Creates a deep copy of another optional<T>
- // Can throw if T::T(T const&) does
- optional_base ( optional_base const& rhs )
- :
- m_initialized(false)
- {
- if ( rhs.is_initialized() )
- construct(rhs.get_impl());
- }
-
-
- // This is used for both converting and in-place constructions.
- // Derived classes use the 'tag' to select the appropriate
- // implementation (the correct 'construct()' overload)
- template<class Expr>
- explicit optional_base ( Expr const& expr, Expr const* tag )
- :
- m_initialized(false)
- {
- construct(expr,tag);
- }
-
-
-
- // No-throw (assuming T::~T() doesn't)
- ~optional_base() { destroy() ; }
-
- // Assigns from another optional<T> (deep-copies the rhs value)
- void assign ( optional_base const& rhs )
- {
- if (is_initialized())
- {
- if ( rhs.is_initialized() )
- assign_value(rhs.get_impl(), is_reference_predicate() );
- else destroy();
- }
- else
- {
- if ( rhs.is_initialized() )
- construct(rhs.get_impl());
- }
- }
-
- // Assigns from another _convertible_ optional<U> (deep-copies the rhs value)
- template<class U>
- void assign ( optional<U> const& rhs )
- {
- if (is_initialized())
- {
- if ( rhs.is_initialized() )
- assign_value(static_cast<value_type>(rhs.get()), is_reference_predicate() );
- else destroy();
- }
- else
- {
- if ( rhs.is_initialized() )
- construct(static_cast<value_type>(rhs.get()));
- }
- }
-
- // Assigns from a T (deep-copies the rhs value)
- void assign ( argument_type val )
- {
- if (is_initialized())
- assign_value(val, is_reference_predicate() );
- else construct(val);
- }
-
- // Assigns from "none", destroying the current value, if any, leaving this UNINITIALIZED
- // No-throw (assuming T::~T() doesn't)
- void assign ( none_t ) { destroy(); }
-
-#ifndef BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT
- template<class Expr>
- void assign_expr ( Expr const& expr, Expr const* tag )
- {
- if (is_initialized())
- assign_expr_to_initialized(expr,tag);
- else construct(expr,tag);
- }
-#endif
-
- public :
-
- // Destroys the current value, if any, leaving this UNINITIALIZED
- // No-throw (assuming T::~T() doesn't)
- void reset() { destroy(); }
-
- // Replaces the current value -if any- with 'val'
- void reset ( argument_type val ) { assign(val); }
-
- // Returns a pointer to the value if this is initialized, otherwise,
- // returns NULL.
- // No-throw
- pointer_const_type get_ptr() const { return m_initialized ? get_ptr_impl() : 0 ; }
- pointer_type get_ptr() { return m_initialized ? get_ptr_impl() : 0 ; }
-
- bool is_initialized() const { return m_initialized ; }
-
- protected :
-
- void construct ( argument_type val )
- {
- new (m_storage.address()) internal_type(val) ;
- m_initialized = true ;
- }
-
-#ifndef BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT
- // Constructs in-place using the given factory
- template<class Expr>
- void construct ( Expr const& factory, in_place_factory_base const* )
- {
- BOOST_STATIC_ASSERT ( ::boost::mpl::not_<is_reference_predicate>::value ) ;
- boost_optional_detail::construct<value_type>(factory, m_storage.address());
- m_initialized = true ;
- }
-
- // Constructs in-place using the given typed factory
- template<class Expr>
- void construct ( Expr const& factory, typed_in_place_factory_base const* )
- {
- BOOST_STATIC_ASSERT ( ::boost::mpl::not_<is_reference_predicate>::value ) ;
- factory.apply(m_storage.address()) ;
- m_initialized = true ;
- }
-
- template<class Expr>
- void assign_expr_to_initialized ( Expr const& factory, in_place_factory_base const* tag )
- {
- destroy();
- construct(factory,tag);
- }
-
- // Constructs in-place using the given typed factory
- template<class Expr>
- void assign_expr_to_initialized ( Expr const& factory, typed_in_place_factory_base const* tag )
- {
- destroy();
- construct(factory,tag);
- }
-#endif
-
- // Constructs using any expression implicitely convertible to the single argument
- // of a one-argument T constructor.
- // Converting constructions of optional<T> from optional<U> uses this function with
- // 'Expr' being of type 'U' and relying on a converting constructor of T from U.
- template<class Expr>
- void construct ( Expr const& expr, void const* )
- {
- new (m_storage.address()) internal_type(expr) ;
- m_initialized = true ;
- }
-
- // Assigns using a form any expression implicitely convertible to the single argument
- // of a T's assignment operator.
- // Converting assignments of optional<T> from optional<U> uses this function with
- // 'Expr' being of type 'U' and relying on a converting assignment of T from U.
- template<class Expr>
- void assign_expr_to_initialized ( Expr const& expr, void const* )
- {
- assign_value(expr, is_reference_predicate());
- }
-
-#ifdef BOOST_OPTIONAL_WEAK_OVERLOAD_RESOLUTION
- // BCB5.64 (and probably lower versions) workaround.
- // The in-place factories are supported by means of catch-all constructors
- // and assignment operators (the functions are parameterized in terms of
- // an arbitrary 'Expr' type)
- // This compiler incorrectly resolves the overload set and sinks optional<T> and optional<U>
- // to the 'Expr'-taking functions even though explicit overloads are present for them.
- // Thus, the following overload is needed to properly handle the case when the 'lhs'
- // is another optional.
- //
- // For VC<=70 compilers this workaround dosen't work becasue the comnpiler issues and error
- // instead of choosing the wrong overload
- //
- // Notice that 'Expr' will be optional<T> or optional<U> (but not optional_base<..>)
- template<class Expr>
- void construct ( Expr const& expr, optional_tag const* )
- {
- if ( expr.is_initialized() )
- {
- // An exception can be thrown here.
- // It it happens, THIS will be left uninitialized.
- new (m_storage.address()) internal_type(expr.get()) ;
- m_initialized = true ;
- }
- }
-#endif
-
- void assign_value ( argument_type val, is_not_reference_tag ) { get_impl() = val; }
- void assign_value ( argument_type val, is_reference_tag ) { construct(val); }
-
- void destroy()
- {
- if ( m_initialized )
- destroy_impl(is_reference_predicate()) ;
- }
-
- unspecified_bool_type safe_bool() const { return m_initialized ? &this_type::is_initialized : 0 ; }
-
- reference_const_type get_impl() const { return dereference(get_object(), is_reference_predicate() ) ; }
- reference_type get_impl() { return dereference(get_object(), is_reference_predicate() ) ; }
-
- pointer_const_type get_ptr_impl() const { return cast_ptr(get_object(), is_reference_predicate() ) ; }
- pointer_type get_ptr_impl() { return cast_ptr(get_object(), is_reference_predicate() ) ; }
-
- private :
-
- // internal_type can be either T or reference_content<T>
-#if defined(BOOST_OPTIONAL_DETAIL_USE_ATTRIBUTE_MAY_ALIAS)
- // This workaround is supposed to silence GCC warnings about broken strict aliasing rules
- internal_type const* get_object() const
- {
- union { void const* ap_pvoid; internal_type const* as_ptype; } caster = { m_storage.address() };
- return caster.as_ptype;
- }
- internal_type * get_object()
- {
- union { void* ap_pvoid; internal_type* as_ptype; } caster = { m_storage.address() };
- return caster.as_ptype;
- }
-#else
- internal_type const* get_object() const { return static_cast<internal_type const*>(m_storage.address()); }
- internal_type * get_object() { return static_cast<internal_type *> (m_storage.address()); }
-#endif
-
- // reference_content<T> lacks an implicit conversion to T&, so the following is needed to obtain a proper reference.
- reference_const_type dereference( internal_type const* p, is_not_reference_tag ) const { return *p ; }
- reference_type dereference( internal_type* p, is_not_reference_tag ) { return *p ; }
- reference_const_type dereference( internal_type const* p, is_reference_tag ) const { return p->get() ; }
- reference_type dereference( internal_type* p, is_reference_tag ) { return p->get() ; }
-
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x581))
- void destroy_impl ( is_not_reference_tag ) { get_ptr_impl()->internal_type::~internal_type() ; m_initialized = false ; }
-#else
- void destroy_impl ( is_not_reference_tag ) { get_ptr_impl()->T::~T() ; m_initialized = false ; }
-#endif
-
- void destroy_impl ( is_reference_tag ) { m_initialized = false ; }
-
- // If T is of reference type, trying to get a pointer to the held value must result in a compile-time error.
- // Decent compilers should disallow conversions from reference_content<T>* to T*, but just in case,
- // the following olverloads are used to filter out the case and guarantee an error in case of T being a reference.
- pointer_const_type cast_ptr( internal_type const* p, is_not_reference_tag ) const { return p ; }
- pointer_type cast_ptr( internal_type * p, is_not_reference_tag ) { return p ; }
- pointer_const_type cast_ptr( internal_type const* p, is_reference_tag ) const { return &p->get() ; }
- pointer_type cast_ptr( internal_type * p, is_reference_tag ) { return &p->get() ; }
-
- bool m_initialized ;
- storage_type m_storage ;
-} ;
-
-} // namespace optional_detail
-
-template<class T>
-class optional : public optional_detail::optional_base<T>
-{
- typedef optional_detail::optional_base<T> base ;
-
- typedef BOOST_DEDUCED_TYPENAME base::unspecified_bool_type unspecified_bool_type ;
-
- public :
-
- typedef optional<T> this_type ;
-
- typedef BOOST_DEDUCED_TYPENAME base::value_type value_type ;
- typedef BOOST_DEDUCED_TYPENAME base::reference_type reference_type ;
- typedef BOOST_DEDUCED_TYPENAME base::reference_const_type reference_const_type ;
- typedef BOOST_DEDUCED_TYPENAME base::pointer_type pointer_type ;
- typedef BOOST_DEDUCED_TYPENAME base::pointer_const_type pointer_const_type ;
- typedef BOOST_DEDUCED_TYPENAME base::argument_type argument_type ;
-
- // Creates an optional<T> uninitialized.
- // No-throw
- optional() : base() {}
-
- // Creates an optional<T> uninitialized.
- // No-throw
- optional( none_t none_ ) : base(none_) {}
-
- // Creates an optional<T> initialized with 'val'.
- // Can throw if T::T(T const&) does
- optional ( argument_type val ) : base(val) {}
-
- // Creates an optional<T> initialized with 'val' IFF cond is true, otherwise creates an uninitialized optional.
- // Can throw if T::T(T const&) does
- optional ( bool cond, argument_type val ) : base(cond,val) {}
-
-#ifndef BOOST_OPTIONAL_NO_CONVERTING_COPY_CTOR
- // NOTE: MSVC needs templated versions first
-
- // Creates a deep copy of another convertible optional<U>
- // Requires a valid conversion from U to T.
- // Can throw if T::T(U const&) does
- template<class U>
- explicit optional ( optional<U> const& rhs )
- :
- base()
- {
- if ( rhs.is_initialized() )
- this->construct(rhs.get());
- }
-#endif
-
-#ifndef BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT
- // Creates an optional<T> with an expression which can be either
- // (a) An instance of InPlaceFactory (i.e. in_place(a,b,...,n);
- // (b) An instance of TypedInPlaceFactory ( i.e. in_place<T>(a,b,...,n);
- // (c) Any expression implicitely convertible to the single type
- // of a one-argument T's constructor.
- // (d*) Weak compilers (BCB) might also resolved Expr as optional<T> and optional<U>
- // even though explicit overloads are present for these.
- // Depending on the above some T ctor is called.
- // Can throw is the resolved T ctor throws.
- template<class Expr>
- explicit optional ( Expr const& expr ) : base(expr,boost::addressof(expr)) {}
-#endif
-
- // Creates a deep copy of another optional<T>
- // Can throw if T::T(T const&) does
- optional ( optional const& rhs ) : base( static_cast<base const&>(rhs) ) {}
-
- // No-throw (assuming T::~T() doesn't)
- ~optional() {}
-
-#if !defined(BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT) && !defined(BOOST_OPTIONAL_WEAK_OVERLOAD_RESOLUTION)
- // Assigns from an expression. See corresponding constructor.
- // Basic Guarantee: If the resolved T ctor throws, this is left UNINITIALIZED
- template<class Expr>
- optional& operator= ( Expr const& expr )
- {
- this->assign_expr(expr,boost::addressof(expr));
- return *this ;
- }
-#endif
-
-
-#ifndef BOOST_OPTIONAL_NO_CONVERTING_ASSIGNMENT
- // Assigns from another convertible optional<U> (converts && deep-copies the rhs value)
- // Requires a valid conversion from U to T.
- // Basic Guarantee: If T::T( U const& ) throws, this is left UNINITIALIZED
- template<class U>
- optional& operator= ( optional<U> const& rhs )
- {
- this->assign(rhs);
- return *this ;
- }
-#endif
-
- // Assigns from another optional<T> (deep-copies the rhs value)
- // Basic Guarantee: If T::T( T const& ) throws, this is left UNINITIALIZED
- // (NOTE: On BCB, this operator is not actually called and left is left UNMODIFIED in case of a throw)
- optional& operator= ( optional const& rhs )
- {
- this->assign( static_cast<base const&>(rhs) ) ;
- return *this ;
- }
-
- // Assigns from a T (deep-copies the rhs value)
- // Basic Guarantee: If T::( T const& ) throws, this is left UNINITIALIZED
- optional& operator= ( argument_type val )
- {
- this->assign( val ) ;
- return *this ;
- }
-
- // Assigns from a "none"
- // Which destroys the current value, if any, leaving this UNINITIALIZED
- // No-throw (assuming T::~T() doesn't)
- optional& operator= ( none_t none_ )
- {
- this->assign( none_ ) ;
- return *this ;
- }
-
- void swap( optional & arg )
- {
- // allow for Koenig lookup
- using boost::swap;
- swap(*this, arg);
- }
-
-
- // Returns a reference to the value if this is initialized, otherwise,
- // the behaviour is UNDEFINED
- // No-throw
- reference_const_type get() const { BOOST_ASSERT(this->is_initialized()) ; return this->get_impl(); }
- reference_type get() { BOOST_ASSERT(this->is_initialized()) ; return this->get_impl(); }
-
- // Returns a copy of the value if this is initialized, 'v' otherwise
- reference_const_type get_value_or ( reference_const_type v ) const { return this->is_initialized() ? get() : v ; }
- reference_type get_value_or ( reference_type v ) { return this->is_initialized() ? get() : v ; }
-
- // Returns a pointer to the value if this is initialized, otherwise,
- // the behaviour is UNDEFINED
- // No-throw
- pointer_const_type operator->() const { BOOST_ASSERT(this->is_initialized()) ; return this->get_ptr_impl() ; }
- pointer_type operator->() { BOOST_ASSERT(this->is_initialized()) ; return this->get_ptr_impl() ; }
-
- // Returns a reference to the value if this is initialized, otherwise,
- // the behaviour is UNDEFINED
- // No-throw
- reference_const_type operator *() const { return this->get() ; }
- reference_type operator *() { return this->get() ; }
-
- // implicit conversion to "bool"
- // No-throw
- operator unspecified_bool_type() const { return this->safe_bool() ; }
-
- // This is provided for those compilers which don't like the conversion to bool
- // on some contexts.
- bool operator!() const { return !this->is_initialized() ; }
-} ;
-
-// Returns optional<T>(v)
-template<class T>
-inline
-optional<T> make_optional ( T const& v )
-{
- return optional<T>(v);
-}
-
-// Returns optional<T>(cond,v)
-template<class T>
-inline
-optional<T> make_optional ( bool cond, T const& v )
-{
- return optional<T>(cond,v);
-}
-
-// Returns a reference to the value if this is initialized, otherwise, the behaviour is UNDEFINED.
-// No-throw
-template<class T>
-inline
-BOOST_DEDUCED_TYPENAME optional<T>::reference_const_type
-get ( optional<T> const& opt )
-{
- return opt.get() ;
-}
-
-template<class T>
-inline
-BOOST_DEDUCED_TYPENAME optional<T>::reference_type
-get ( optional<T>& opt )
-{
- return opt.get() ;
-}
-
-// Returns a pointer to the value if this is initialized, otherwise, returns NULL.
-// No-throw
-template<class T>
-inline
-BOOST_DEDUCED_TYPENAME optional<T>::pointer_const_type
-get ( optional<T> const* opt )
-{
- return opt->get_ptr() ;
-}
-
-template<class T>
-inline
-BOOST_DEDUCED_TYPENAME optional<T>::pointer_type
-get ( optional<T>* opt )
-{
- return opt->get_ptr() ;
-}
-
-// Returns a reference to the value if this is initialized, otherwise, the behaviour is UNDEFINED.
-// No-throw
-template<class T>
-inline
-BOOST_DEDUCED_TYPENAME optional<T>::reference_const_type
-get_optional_value_or ( optional<T> const& opt, BOOST_DEDUCED_TYPENAME optional<T>::reference_const_type v )
-{
- return opt.get_value_or(v) ;
-}
-
-template<class T>
-inline
-BOOST_DEDUCED_TYPENAME optional<T>::reference_type
-get_optional_value_or ( optional<T>& opt, BOOST_DEDUCED_TYPENAME optional<T>::reference_type v )
-{
- return opt.get_value_or(v) ;
-}
-
-// Returns a pointer to the value if this is initialized, otherwise, returns NULL.
-// No-throw
-template<class T>
-inline
-BOOST_DEDUCED_TYPENAME optional<T>::pointer_const_type
-get_pointer ( optional<T> const& opt )
-{
- return opt.get_ptr() ;
-}
-
-template<class T>
-inline
-BOOST_DEDUCED_TYPENAME optional<T>::pointer_type
-get_pointer ( optional<T>& opt )
-{
- return opt.get_ptr() ;
-}
-
-// optional's relational operators ( ==, !=, <, >, <=, >= ) have deep-semantics (compare values).
-// WARNING: This is UNLIKE pointers. Use equal_pointees()/less_pointess() in generic code instead.
-
-
-//
-// optional<T> vs optional<T> cases
-//
-
-template<class T>
-inline
-bool operator == ( optional<T> const& x, optional<T> const& y )
-{ return equal_pointees(x,y); }
-
-template<class T>
-inline
-bool operator < ( optional<T> const& x, optional<T> const& y )
-{ return less_pointees(x,y); }
-
-template<class T>
-inline
-bool operator != ( optional<T> const& x, optional<T> const& y )
-{ return !( x == y ) ; }
-
-template<class T>
-inline
-bool operator > ( optional<T> const& x, optional<T> const& y )
-{ return y < x ; }
-
-template<class T>
-inline
-bool operator <= ( optional<T> const& x, optional<T> const& y )
-{ return !( y < x ) ; }
-
-template<class T>
-inline
-bool operator >= ( optional<T> const& x, optional<T> const& y )
-{ return !( x < y ) ; }
-
-
-//
-// optional<T> vs T cases
-//
-template<class T>
-inline
-bool operator == ( optional<T> const& x, T const& y )
-{ return equal_pointees(x, optional<T>(y)); }
-
-template<class T>
-inline
-bool operator < ( optional<T> const& x, T const& y )
-{ return less_pointees(x, optional<T>(y)); }
-
-template<class T>
-inline
-bool operator != ( optional<T> const& x, T const& y )
-{ return !( x == y ) ; }
-
-template<class T>
-inline
-bool operator > ( optional<T> const& x, T const& y )
-{ return y < x ; }
-
-template<class T>
-inline
-bool operator <= ( optional<T> const& x, T const& y )
-{ return !( y < x ) ; }
-
-template<class T>
-inline
-bool operator >= ( optional<T> const& x, T const& y )
-{ return !( x < y ) ; }
-
-//
-// T vs optional<T> cases
-//
-
-template<class T>
-inline
-bool operator == ( T const& x, optional<T> const& y )
-{ return equal_pointees( optional<T>(x), y ); }
-
-template<class T>
-inline
-bool operator < ( T const& x, optional<T> const& y )
-{ return less_pointees( optional<T>(x), y ); }
-
-template<class T>
-inline
-bool operator != ( T const& x, optional<T> const& y )
-{ return !( x == y ) ; }
-
-template<class T>
-inline
-bool operator > ( T const& x, optional<T> const& y )
-{ return y < x ; }
-
-template<class T>
-inline
-bool operator <= ( T const& x, optional<T> const& y )
-{ return !( y < x ) ; }
-
-template<class T>
-inline
-bool operator >= ( T const& x, optional<T> const& y )
-{ return !( x < y ) ; }
-
-
-//
-// optional<T> vs none cases
-//
-
-template<class T>
-inline
-bool operator == ( optional<T> const& x, none_t )
-{ return equal_pointees(x, optional<T>() ); }
-
-template<class T>
-inline
-bool operator < ( optional<T> const& x, none_t )
-{ return less_pointees(x,optional<T>() ); }
-
-template<class T>
-inline
-bool operator != ( optional<T> const& x, none_t y )
-{ return !( x == y ) ; }
-
-template<class T>
-inline
-bool operator > ( optional<T> const& x, none_t y )
-{ return y < x ; }
-
-template<class T>
-inline
-bool operator <= ( optional<T> const& x, none_t y )
-{ return !( y < x ) ; }
-
-template<class T>
-inline
-bool operator >= ( optional<T> const& x, none_t y )
-{ return !( x < y ) ; }
-
-//
-// none vs optional<T> cases
-//
-
-template<class T>
-inline
-bool operator == ( none_t , optional<T> const& y )
-{ return equal_pointees(optional<T>() ,y); }
-
-template<class T>
-inline
-bool operator < ( none_t , optional<T> const& y )
-{ return less_pointees(optional<T>() ,y); }
-
-template<class T>
-inline
-bool operator != ( none_t x, optional<T> const& y )
-{ return !( x == y ) ; }
-
-template<class T>
-inline
-bool operator > ( none_t x, optional<T> const& y )
-{ return y < x ; }
-
-template<class T>
-inline
-bool operator <= ( none_t x, optional<T> const& y )
-{ return !( y < x ) ; }
-
-template<class T>
-inline
-bool operator >= ( none_t x, optional<T> const& y )
-{ return !( x < y ) ; }
-
-namespace optional_detail {
-
-template<bool use_default_constructor> struct swap_selector;
-
-template<>
-struct swap_selector<true>
-{
- template<class T>
- static void optional_swap ( optional<T>& x, optional<T>& y )
- {
- const bool hasX = !!x;
- const bool hasY = !!y;
-
- if ( !hasX && !hasY )
- return;
-
- if( !hasX )
- x = boost::in_place();
- else if ( !hasY )
- y = boost::in_place();
-
- // Boost.Utility.Swap will take care of ADL and workarounds for broken compilers
- boost::swap(x.get(),y.get());
-
- if( !hasX )
- y = boost::none ;
- else if( !hasY )
- x = boost::none ;
- }
-};
-
-template<>
-struct swap_selector<false>
-{
- template<class T>
- static void optional_swap ( optional<T>& x, optional<T>& y )
- {
- const bool hasX = !!x;
- const bool hasY = !!y;
-
- if ( !hasX && hasY )
- {
- x = y.get();
- y = boost::none ;
- }
- else if ( hasX && !hasY )
- {
- y = x.get();
- x = boost::none ;
- }
- else if ( hasX && hasY )
- {
- // Boost.Utility.Swap will take care of ADL and workarounds for broken compilers
- boost::swap(x.get(),y.get());
- }
- }
-};
-
-} // namespace optional_detail
-
-template<class T>
-struct optional_swap_should_use_default_constructor : has_nothrow_default_constructor<T> {} ;
-
-template<class T> inline void swap ( optional<T>& x, optional<T>& y )
-{
- optional_detail::swap_selector<optional_swap_should_use_default_constructor<T>::value>::optional_swap(x, y);
-}
-
-} // namespace boost
-
-#endif
diff --git a/boost/optional/optional_fwd.hpp b/boost/optional/optional_fwd.hpp
deleted file mode 100644
index 388cc1c..0000000
--- a/boost/optional/optional_fwd.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright (C) 2003, 2008 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 at hotmail.com
-//
-// Revisions:
-// 10 May 2008 (added swap related forward declaration) Niels Dekker
-//
-#ifndef BOOST_OPTIONAL_OPTIONAL_FWD_FLC_19NOV2002_HPP
-#define BOOST_OPTIONAL_OPTIONAL_FWD_FLC_19NOV2002_HPP
-
-namespace boost {
-
-template<class T> class optional ;
-
-template<class T> void swap ( optional<T>& , optional<T>& ) ;
-
-template<class T> struct optional_swap_should_use_default_constructor ;
-
-} // namespace boost
-
-#endif
-
diff --git a/boost/pending/integer_log2.hpp b/boost/pending/integer_log2.hpp
deleted file mode 100644
index f4bc846..0000000
--- a/boost/pending/integer_log2.hpp
+++ /dev/null
@@ -1,112 +0,0 @@
-// -----------------------------------------------------------
-// integer_log2.hpp
-//
-// Gives the integer part of the logarithm, in base 2, of a
-// given number. Behavior is undefined if the argument is <= 0.
-//
-// Copyright (c) 2003-2004, 2008 Gennaro Prota
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// -----------------------------------------------------------
-
-#ifndef BOOST_INTEGER_LOG2_HPP_GP_20030301
-#define BOOST_INTEGER_LOG2_HPP_GP_20030301
-
-#include <assert.h>
-#ifdef __BORLANDC__
-#include <climits>
-#endif
-#include "boost/limits.hpp"
-#include "boost/config.hpp"
-
-
-namespace boost {
- namespace detail {
-
- template <typename T>
- int integer_log2_impl(T x, int n) {
-
- int result = 0;
-
- while (x != 1) {
-
- const T t = static_cast<T>(x >> n);
- if (t) {
- result += n;
- x = t;
- }
- n /= 2;
-
- }
-
- return result;
- }
-
-
-
- // helper to find the maximum power of two
- // less than p (more involved than necessary,
- // to avoid PTS)
- //
- template <int p, int n>
- struct max_pow2_less {
-
- enum { c = 2*n < p };
-
- BOOST_STATIC_CONSTANT(int, value =
- c ? (max_pow2_less< c*p, 2*c*n>::value) : n);
-
- };
-
- template <>
- struct max_pow2_less<0, 0> {
-
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-
- // this template is here just for Borland :(
- // we could simply rely on numeric_limits but sometimes
- // Borland tries to use numeric_limits<const T>, because
- // of its usual const-related problems in argument deduction
- // - gps
- template <typename T>
- struct width {
-
-#ifdef __BORLANDC__
- BOOST_STATIC_CONSTANT(int, value = sizeof(T) * CHAR_BIT);
-#else
- BOOST_STATIC_CONSTANT(int, value = (std::numeric_limits<T>::digits));
-#endif
-
- };
-
- } // detail
-
-
- // ---------
- // integer_log2
- // ---------------
- //
- template <typename T>
- int integer_log2(T x) {
-
- assert(x > 0);
-
- const int n = detail::max_pow2_less<
- detail::width<T> :: value, 4
- > :: value;
-
- return detail::integer_log2_impl(x, n);
-
- }
-
-
-
-}
-
-
-
-#endif // include guard
diff --git a/boost/predef/architecture.h b/boost/predef/architecture.h
deleted file mode 100644
index 9eda25e..0000000
--- a/boost/predef/architecture.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
-Copyright Redshift Software, Inc. 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)
-*/
-
-#ifndef BOOST_PREDEF_ARCHITECTURE_H
-#define BOOST_PREDEF_ARCHITECTURE_H
-
-#include <boost/predef/architecture/alpha.h>
-#include <boost/predef/architecture/arm.h>
-#include <boost/predef/architecture/blackfin.h>
-#include <boost/predef/architecture/convex.h>
-#include <boost/predef/architecture/ia64.h>
-#include <boost/predef/architecture/m68k.h>
-#include <boost/predef/architecture/mips.h>
-#include <boost/predef/architecture/parisc.h>
-#include <boost/predef/architecture/ppc.h>
-#include <boost/predef/architecture/pyramid.h>
-#include <boost/predef/architecture/rs6k.h>
-#include <boost/predef/architecture/sparc.h>
-#include <boost/predef/architecture/superh.h>
-#include <boost/predef/architecture/sys370.h>
-#include <boost/predef/architecture/sys390.h>
-#include <boost/predef/architecture/x86.h>
-#include <boost/predef/architecture/z.h>
-/*#include <boost/predef/architecture/.h>*/
-
-#endif
diff --git a/boost/predef/architecture/alpha.h b/boost/predef/architecture/alpha.h
deleted file mode 100644
index 7ccc480..0000000
--- a/boost/predef/architecture/alpha.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
-Copyright Redshift Software, Inc. 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)
-*/
-
-#ifndef BOOST_PREDEF_ARCHITECTURE_ALPHA_H
-#define BOOST_PREDEF_ARCHITECTURE_ALPHA_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_ARCH_ALPHA`]
-
-[@http://en.wikipedia.org/wiki/DEC_Alpha DEC Alpha] architecture.
-
-[table
- [[__predef_symbol__] [__predef_version__]]
- [[`__alpha__`] [__predef_detection__]]
- [[`__alpha`] [__predef_detection__]]
- [[`_M_ALPHA`] [__predef_detection__]]
-
- [[`__alpha_ev4__`] [4.0.0]]
- [[`__alpha_ev5__`] [5.0.0]]
- [[`__alpha_ev6__`] [6.0.0]]
- ]
- */
-
-#define BOOST_ARCH_ALPHA BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__alpha__) || defined(__alpha) || \
- defined(_M_ALPHA)
-# undef BOOST_ARCH_ALPHA
-# if !defined(BOOST_ARCH_ALPHA) && defined(__alpha_ev4__)
-# define BOOST_ARCH_ALPHA BOOST_VERSION_NUMBER(4,0,0)
-# endif
-# if !defined(BOOST_ARCH_ALPHA) && defined(__alpha_ev5__)
-# define BOOST_ARCH_ALPHA BOOST_VERSION_NUMBER(5,0,0)
-# endif
-# if !defined(BOOST_ARCH_ALPHA) && defined(__alpha_ev6__)
-# define BOOST_ARCH_ALPHA BOOST_VERSION_NUMBER(6,0,0)
-# endif
-# if !defined(BOOST_ARCH_ALPHA)
-# define BOOST_ARCH_ALPHA BOOST_VERSION_NUMBER_AVAILABLE
-# endif
-#endif
-
-#if BOOST_ARCH_ALPHA
-# define BOOST_ARCH_ALPHA_AVAILABLE
-#endif
-
-#define BOOST_ARCH_ALPHA_NAME "DEC Alpha"
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_ALPHA,BOOST_ARCH_ALPHA_NAME)
-
-
-#endif
diff --git a/boost/predef/architecture/arm.h b/boost/predef/architecture/arm.h
deleted file mode 100644
index b221a51..0000000
--- a/boost/predef/architecture/arm.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
-Copyright Redshift Software, Inc. 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)
-*/
-
-#ifndef BOOST_PREDEF_ARCHITECTURE_ARM_H
-#define BOOST_PREDEF_ARCHITECTURE_ARM_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_ARCH_ARM`]
-
-[@http://en.wikipedia.org/wiki/ARM_architecture ARM] architecture.
-
-[table
- [[__predef_symbol__] [__predef_version__]]
-
- [[`__arm__`] [__predef_detection__]]
- [[`__thumb__`] [__predef_detection__]]
- [[`__TARGET_ARCH_ARM`] [__predef_detection__]]
- [[`__TARGET_ARCH_THUMB`] [__predef_detection__]]
-
- [[`__TARGET_ARCH_ARM`] [V.0.0]]
- [[`__TARGET_ARCH_THUMB`] [V.0.0]]
- ]
- */
-
-#define BOOST_ARCH_ARM BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__arm__) || defined(__thumb__) || \
- defined(__TARGET_ARCH_ARM) || defined(__TARGET_ARCH_THUMB)
-# undef BOOST_ARCH_ARM
-# if !defined(BOOST_ARCH_ARM) && defined(__TARGET_ARCH_ARM)
-# define BOOST_ARCH_ARM BOOST_VERSION_NUMBER(__TARGET_ARCH_ARM,0,0)
-# endif
-# if !defined(BOOST_ARCH_ARM) && defined(__TARGET_ARCH_THUMB)
-# define BOOST_ARCH_ARM BOOST_VERSION_NUMBER(__TARGET_ARCH_THUMB,0,0)
-# endif
-# if !defined(BOOST_ARCH_ARM)
-# define BOOST_ARCH_ARM BOOST_VERSION_NUMBER_AVAILABLE
-# endif
-#endif
-
-#if BOOST_ARCH_ARM
-# define BOOST_ARCH_ARM_AVAILABLE
-#endif
-
-#define BOOST_ARCH_ARM_NAME "ARM"
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_ARM,BOOST_ARCH_ARM_NAME)
-
-
-#endif
diff --git a/boost/predef/architecture/blackfin.h b/boost/predef/architecture/blackfin.h
deleted file mode 100644
index 7b4f275..0000000
--- a/boost/predef/architecture/blackfin.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
-Copyright Redshift Software Inc 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)
-*/
-
-#ifndef BOOST_PREDEF_ARCHITECTURE_BLACKFIN_H
-#define BOOST_PREDEF_ARCHITECTURE_BLACKFIN_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_ARCH_BLACKFIN`]
-
-Blackfin Processors from Analog Devices.
-
-[table
- [[__predef_symbol__] [__predef_version__]]
-
- [[`__bfin__`] [__predef_detection__]]
- [[`__BFIN__`] [__predef_detection__]]
- [[`bfin`] [__predef_detection__]]
- [[`BFIN`] [__predef_detection__]]
- ]
- */
-
-#define BOOST_ARCH_BLACKFIN BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__bfin__) || defined(__BFIN__) || \
- defined(bfin) || defined(BFIN)
-# undef BOOST_ARCH_BLACKFIN
-# define BOOST_ARCH_BLACKFIN BOOST_VERSION_NUMBER_AVAILABLE
-#endif
-
-#if BOOST_ARCH_BLACKFIN
-# define BOOST_ARCH_BLACKFIN_AVAILABLE
-#endif
-
-#define BOOST_ARCH_BLACKFIN_NAME "Blackfin"
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_BLACKFIN,BOOST_ARCH_BLACKFIN_NAME)
-
-
-#endif
diff --git a/boost/predef/architecture/convex.h b/boost/predef/architecture/convex.h
deleted file mode 100644
index fbb8e96..0000000
--- a/boost/predef/architecture/convex.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
-Copyright Redshift Software Inc 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)
-*/
-
-#ifndef BOOST_PREDEF_ARCHITECTURE_CONVEX_H
-#define BOOST_PREDEF_ARCHITECTURE_CONVEX_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_ARCH_CONVEX`]
-
-[@http://en.wikipedia.org/wiki/Convex_Computer Convex Computer] architecture.
-
-[table
- [[__predef_symbol__] [__predef_version__]]
-
- [[`__convex__`] [__predef_detection__]]
-
- [[`__convex_c1__`] [1.0.0]]
- [[`__convex_c2__`] [2.0.0]]
- [[`__convex_c32__`] [3.2.0]]
- [[`__convex_c34__`] [3.4.0]]
- [[`__convex_c38__`] [3.8.0]]
- ]
- */
-
-#define BOOST_ARCH_CONVEX BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__convex__)
-# undef BOOST_ARCH_CONVEX
-# if !defined(BOOST_ARCH_CONVEX) && defined(__convex_c1__)
-# define BOOST_ARCH_CONVEX BOOST_VERSION_NUMBER(1,0,0)
-# endif
-# if !defined(BOOST_ARCH_CONVEX) && defined(__convex_c2__)
-# define BOOST_ARCH_CONVEX BOOST_VERSION_NUMBER(2,0,0)
-# endif
-# if !defined(BOOST_ARCH_CONVEX) && defined(__convex_c32__)
-# define BOOST_ARCH_CONVEX BOOST_VERSION_NUMBER(3,2,0)
-# endif
-# if !defined(BOOST_ARCH_CONVEX) && defined(__convex_c34__)
-# define BOOST_ARCH_CONVEX BOOST_VERSION_NUMBER(3,4,0)
-# endif
-# if !defined(BOOST_ARCH_CONVEX) && defined(__convex_c38__)
-# define BOOST_ARCH_CONVEX BOOST_VERSION_NUMBER(3,8,0)
-# endif
-# if !defined(BOOST_ARCH_CONVEX)
-# define BOOST_ARCH_CONVEX BOOST_VERSION_NUMBER_AVAILABLE
-# endif
-#endif
-
-#if BOOST_ARCH_CONVEX
-# define BOOST_ARCH_CONVEX_AVAILABLE
-#endif
-
-#define BOOST_ARCH_CONVEX_NAME "Convex Computer"
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_CONVEX,BOOST_ARCH_CONVEX_NAME)
-
-
-
-#endif
diff --git a/boost/predef/architecture/ia64.h b/boost/predef/architecture/ia64.h
deleted file mode 100644
index 918e27f..0000000
--- a/boost/predef/architecture/ia64.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
-Copyright Redshift Software, Inc. 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)
-*/
-
-#ifndef BOOST_PREDEF_ARCHITECTURE_IA64_H
-#define BOOST_PREDEF_ARCHITECTURE_IA64_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_ARCH_IA64`]
-
-[@http://en.wikipedia.org/wiki/Ia64 Intel Itanium 64] architecture.
-
-[table
- [[__predef_symbol__] [__predef_version__]]
-
- [[`__ia64__`] [__predef_detection__]]
- [[`_IA64`] [__predef_detection__]]
- [[`__IA64__`] [__predef_detection__]]
- [[`__ia64`] [__predef_detection__]]
- [[`_M_IA64`] [__predef_detection__]]
- [[`__itanium__`] [__predef_detection__]]
- ]
- */
-
-#define BOOST_ARCH_IA64 BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__ia64__) || defined(_IA64) || \
- defined(__IA64__) || defined(__ia64) || \
- defined(_M_IA64) || defined(__itanium__)
-# undef BOOST_ARCH_IA64
-# define BOOST_ARCH_IA64 BOOST_VERSION_NUMBER_AVAILABLE
-#endif
-
-#if BOOST_ARCH_IA64
-# define BOOST_ARCH_IA64_AVAILABLE
-#endif
-
-#define BOOST_ARCH_IA64_NAME "Intel Itanium 64"
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_IA64,BOOST_ARCH_IA64_NAME)
-
-#endif
diff --git a/boost/predef/architecture/m68k.h b/boost/predef/architecture/m68k.h
deleted file mode 100644
index 2950c9a..0000000
--- a/boost/predef/architecture/m68k.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
-Copyright Redshift Software, Inc. 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)
-*/
-
-#ifndef BOOST_PREDEF_ARCHITECTURE_M68K_H
-#define BOOST_PREDEF_ARCHITECTURE_M68K_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_ARCH_M68K`]
-
-[@http://en.wikipedia.org/wiki/M68k Motorola 68k] architecture.
-
-[table
- [[__predef_symbol__] [__predef_version__]]
-
- [[`__m68k__`] [__predef_detection__]]
- [[`M68000`] [__predef_detection__]]
-
- [[`__mc68060__`] [6.0.0]]
- [[`mc68060`] [6.0.0]]
- [[`__mc68060`] [6.0.0]]
- [[`__mc68040__`] [4.0.0]]
- [[`mc68040`] [4.0.0]]
- [[`__mc68040`] [4.0.0]]
- [[`__mc68030__`] [3.0.0]]
- [[`mc68030`] [3.0.0]]
- [[`__mc68030`] [3.0.0]]
- [[`__mc68020__`] [2.0.0]]
- [[`mc68020`] [2.0.0]]
- [[`__mc68020`] [2.0.0]]
- [[`__mc68010__`] [1.0.0]]
- [[`mc68010`] [1.0.0]]
- [[`__mc68010`] [1.0.0]]
- [[`__mc68000__`] [0.0.1]]
- [[`mc68000`] [0.0.1]]
- [[`__mc68000`] [0.0.1]]
- ]
- */
-
-#define BOOST_ARCH_M68K BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__m68k__) || defined(M68000)
-# undef BOOST_ARCH_M68K
-# if !defined(BOOST_ARCH_M68K) && (defined(__mc68060__) || defined(mc68060) || defined(__mc68060))
-# define BOOST_ARCH_M68K BOOST_VERSION_NUMBER(6,0,0)
-# endif
-# if !defined(BOOST_ARCH_M68K) && (defined(__mc68040__) || defined(mc68040) || defined(__mc68040))
-# define BOOST_ARCH_M68K BOOST_VERSION_NUMBER(4,0,0)
-# endif
-# if !defined(BOOST_ARCH_M68K) && (defined(__mc68030__) || defined(mc68030) || defined(__mc68030))
-# define BOOST_ARCH_M68K BOOST_VERSION_NUMBER(3,0,0)
-# endif
-# if !defined(BOOST_ARCH_M68K) && (defined(__mc68020__) || defined(mc68020) || defined(__mc68020))
-# define BOOST_ARCH_M68K BOOST_VERSION_NUMBER(2,0,0)
-# endif
-# if !defined(BOOST_ARCH_M68K) && (defined(__mc68010__) || defined(mc68010) || defined(__mc68010))
-# define BOOST_ARCH_M68K BOOST_VERSION_NUMBER(1,0,0)
-# endif
-# if !defined(BOOST_ARCH_M68K) && (defined(__mc68000__) || defined(mc68000) || defined(__mc68000))
-# define BOOST_ARCH_M68K BOOST_VERSION_NUMBER_AVAILABLE
-# endif
-# if !defined(BOOST_ARCH_M68K)
-# define BOOST_ARCH_M68K BOOST_VERSION_NUMBER_AVAILABLE
-# endif
-#endif
-
-#if BOOST_ARCH_M68K
-# define BOOST_ARCH_M68K_AVAILABLE
-#endif
-
-#define BOOST_ARCH_M68K_NAME "Motorola 68k"
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_M68K,BOOST_ARCH_M68K_NAME)
-
-
-#endif
diff --git a/boost/predef/architecture/mips.h b/boost/predef/architecture/mips.h
deleted file mode 100644
index b3d225c..0000000
--- a/boost/predef/architecture/mips.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
-Copyright Redshift Software, Inc. 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)
-*/
-
-#ifndef BOOST_PREDEF_ARCHITECTURE_MIPS_H
-#define BOOST_PREDEF_ARCHITECTURE_MIPS_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_ARCH_MIPS`]
-
-[@http://en.wikipedia.org/wiki/MIPS_architecture MIPS] architecture.
-
-[table
- [[__predef_symbol__] [__predef_version__]]
-
- [[`__mips__`] [__predef_detection__]]
- [[`__mips`] [__predef_detection__]]
- [[`__MIPS__`] [__predef_detection__]]
-
- [[`__mips`] [V.0.0]]
- [[`_MIPS_ISA_MIPS1`] [1.0.0]]
- [[`_R3000`] [1.0.0]]
- [[`_MIPS_ISA_MIPS2`] [2.0.0]]
- [[`__MIPS_ISA2__`] [2.0.0]]
- [[`_R4000`] [2.0.0]]
- [[`_MIPS_ISA_MIPS3`] [3.0.0]]
- [[`__MIPS_ISA3__`] [3.0.0]]
- [[`_MIPS_ISA_MIPS4`] [4.0.0]]
- [[`__MIPS_ISA4__`] [4.0.0]]
- ]
- */
-
-#define BOOST_ARCH_MIPS BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__mips__) || defined(__mips) || \
- defined(__MIPS__)
-# undef BOOST_ARCH_MIPS
-# if !defined(BOOST_ARCH_MIPS) && (defined(__mips))
-# define BOOST_ARCH_MIPS BOOST_VERSION_NUMBER(__mips,0,0)
-# endif
-# if !defined(BOOST_ARCH_MIPS) && (defined(_MIPS_ISA_MIPS1) || defined(_R3000))
-# define BOOST_ARCH_MIPS BOOST_VERSION_NUMBER(1,0,0)
-# endif
-# if !defined(BOOST_ARCH_MIPS) && (defined(_MIPS_ISA_MIPS2) || defined(__MIPS_ISA2__) || defined(_R4000))
-# define BOOST_ARCH_MIPS BOOST_VERSION_NUMBER(2,0,0)
-# endif
-# if !defined(BOOST_ARCH_MIPS) && (defined(_MIPS_ISA_MIPS3) || defined(__MIPS_ISA3__))
-# define BOOST_ARCH_MIPS BOOST_VERSION_NUMBER(3,0,0)
-# endif
-# if !defined(BOOST_ARCH_MIPS) && (defined(_MIPS_ISA_MIPS4) || defined(__MIPS_ISA4__))
-# define BOOST_ARCH_MIPS BOOST_VERSION_NUMBER(4,0,0)
-# endif
-# if !defined(BOOST_ARCH_MIPS)
-# define BOOST_ARCH_MIPS BOOST_VERSION_NUMBER_AVAILABLE
-# endif
-#endif
-
-#if BOOST_ARCH_MIPS
-# define BOOST_ARCH_MIPS_AVAILABLE
-#endif
-
-#define BOOST_ARCH_MIPS_NAME "MIPS"
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_MIPS,BOOST_ARCH_MIPS_NAME)
-
-
-#endif
diff --git a/boost/predef/architecture/parisc.h b/boost/predef/architecture/parisc.h
deleted file mode 100644
index 7370383..0000000
--- a/boost/predef/architecture/parisc.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
-Copyright Redshift Software, Inc. 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)
-*/
-
-#ifndef BOOST_PREDEF_ARCHITECTURE_PARISC_H
-#define BOOST_PREDEF_ARCHITECTURE_PARISC_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_ARCH_PARISK`]
-
-[@http://en.wikipedia.org/wiki/PA-RISC_family HP/PA RISC] architecture.
-
-[table
- [[__predef_symbol__] [__predef_version__]]
-
- [[`__hppa__`] [__predef_detection__]]
- [[`__hppa`] [__predef_detection__]]
- [[`__HPPA__`] [__predef_detection__]]
-
- [[`_PA_RISC1_0`] [1.0.0]]
- [[`_PA_RISC1_1`] [1.1.0]]
- [[`__HPPA11__`] [1.1.0]]
- [[`__PA7100__`] [1.1.0]]
- [[`_PA_RISC2_0`] [2.0.0]]
- [[`__RISC2_0__`] [2.0.0]]
- [[`__HPPA20__`] [2.0.0]]
- [[`__PA8000__`] [2.0.0]]
- ]
- */
-
-#define BOOST_ARCH_PARISC BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__hppa__) || defined(__hppa) || defined(__HPPA__)
-# undef BOOST_ARCH_PARISC
-# if !defined(BOOST_ARCH_PARISC) && (defined(_PA_RISC1_0))
-# define BOOST_ARCH_PARISC BOOST_VERSION_NUMBER(1,0,0)
-# endif
-# if !defined(BOOST_ARCH_PARISC) && (defined(_PA_RISC1_1) || defined(__HPPA11__) || defined(__PA7100__))
-# define BOOST_ARCH_PARISC BOOST_VERSION_NUMBER(1,1,0)
-# endif
-# if !defined(BOOST_ARCH_PARISC) && (defined(_PA_RISC2_0) || defined(__RISC2_0__) || defined(__HPPA20__) || defined(__PA8000__))
-# define BOOST_ARCH_PARISC BOOST_VERSION_NUMBER(2,0,0)
-# endif
-# if !defined(BOOST_ARCH_PARISC)
-# define BOOST_ARCH_PARISC BOOST_VERSION_NUMBER_AVAILABLE
-# endif
-#endif
-
-#if BOOST_ARCH_PARISC
-# define BOOST_ARCH_PARISC_AVAILABLE
-#endif
-
-#define BOOST_ARCH_PARISC_NAME "HP/PA RISC"
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_PARISC,BOOST_ARCH_PARISC_NAME)
-
-
-#endif
diff --git a/boost/predef/architecture/ppc.h b/boost/predef/architecture/ppc.h
deleted file mode 100644
index 8339ed2..0000000
--- a/boost/predef/architecture/ppc.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
-Copyright Redshift Software, Inc. 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)
-*/
-
-#ifndef BOOST_PREDEF_ARCHITECTURE_PPC_H
-#define BOOST_PREDEF_ARCHITECTURE_PPC_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_ARCH_PPC`]
-
-[@http://en.wikipedia.org/wiki/PowerPC PowerPC] architecture.
-
-[table
- [[__predef_symbol__] [__predef_version__]]
-
- [[`__powerpc`] [__predef_detection__]]
- [[`__powerpc__`] [__predef_detection__]]
- [[`__POWERPC__`] [__predef_detection__]]
- [[`__ppc__`] [__predef_detection__]]
- [[`_M_PPC`] [__predef_detection__]]
- [[`_ARCH_PPC`] [__predef_detection__]]
- [[`__PPCGECKO__`] [__predef_detection__]]
- [[`__PPCBROADWAY__`] [__predef_detection__]]
- [[`_XENON`] [__predef_detection__]]
-
- [[`__ppc601__`] [6.1.0]]
- [[`_ARCH_601`] [6.1.0]]
- [[`__ppc603__`] [6.3.0]]
- [[`_ARCH_603`] [6.3.0]]
- [[`__ppc604__`] [6.4.0]]
- [[`__ppc604__`] [6.4.0]]
- ]
- */
-
-#define BOOST_ARCH_PPC BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__powerpc) || defined(__powerpc__) || \
- defined(__POWERPC__) || defined(__ppc__) || \
- defined(_M_PPC) || defined(_ARCH_PPC) || \
- defined(__PPCGECKO__) || defined(__PPCBROADWAY__) || \
- defined(_XENON)
-# undef BOOST_ARCH_PPC
-# if !defined (BOOST_ARCH_PPC) && (defined(__ppc601__) || defined(_ARCH_601))
-# define BOOST_ARCH_PPC BOOST_VERSION_NUMBER(6,1,0)
-# endif
-# if !defined (BOOST_ARCH_PPC) && (defined(__ppc603__) || defined(_ARCH_603))
-# define BOOST_ARCH_PPC BOOST_VERSION_NUMBER(6,3,0)
-# endif
-# if !defined (BOOST_ARCH_PPC) && (defined(__ppc604__) || defined(__ppc604__))
-# define BOOST_ARCH_PPC BOOST_VERSION_NUMBER(6,4,0)
-# endif
-# if !defined (BOOST_ARCH_PPC)
-# define BOOST_ARCH_PPC BOOST_VERSION_NUMBER_AVAILABLE
-# endif
-#endif
-
-#if BOOST_ARCH_PPC
-# define BOOST_ARCH_PPC_AVAILABLE
-#endif
-
-#define BOOST_ARCH_PPC_NAME "PowerPC"
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_PPC,BOOST_ARCH_PPC_NAME)
-
-
-#endif
diff --git a/boost/predef/architecture/pyramid.h b/boost/predef/architecture/pyramid.h
deleted file mode 100644
index 706e0cd..0000000
--- a/boost/predef/architecture/pyramid.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
-Copyright Redshift Software Inc 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)
-*/
-
-#ifndef BOOST_PREDEF_ARCHITECTURE_PYRAMID_H
-#define BOOST_PREDEF_ARCHITECTURE_PYRAMID_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_ARCH_PYRAMID`]
-
-Pyramid 9810 architecture.
-
-[table
- [[__predef_symbol__] [__predef_version__]]
-
- [[`pyr`] [__predef_detection__]]
- ]
- */
-
-#define BOOST_ARCH_PYRAMID BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(pyr)
-# undef BOOST_ARCH_PYRAMID
-# define BOOST_ARCH_PYRAMID BOOST_VERSION_NUMBER_AVAILABLE
-#endif
-
-#if BOOST_ARCH_PYRAMID
-# define BOOST_ARCH_PYRAMID_AVAILABLE
-#endif
-
-#define BOOST_ARCH_PYRAMID_NAME "Pyramid 9810"
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_PYRAMID,BOOST_ARCH_PYRAMID_NAME)
-
-
-#endif
diff --git a/boost/predef/architecture/rs6k.h b/boost/predef/architecture/rs6k.h
deleted file mode 100644
index c05fefd..0000000
--- a/boost/predef/architecture/rs6k.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
-Copyright Redshift Software, Inc. 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)
-*/
-
-#ifndef BOOST_PREDEF_ARCHITECTURE_RS6K_H
-#define BOOST_PREDEF_ARCHITECTURE_RS6K_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_ARCH_RS6000`]
-
-[@http://en.wikipedia.org/wiki/RS/6000 RS/6000] architecture.
-
-[table
- [[__predef_symbol__] [__predef_version__]]
-
- [[`__THW_RS6000`] [__predef_detection__]]
- [[`_IBMR2`] [__predef_detection__]]
- [[`_POWER`] [__predef_detection__]]
- [[`_ARCH_PWR`] [__predef_detection__]]
- [[`_ARCH_PWR2`] [__predef_detection__]]
- ]
- */
-
-#define BOOST_ARCH_RS6000 BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__THW_RS6000) || defined(_IBMR2) || \
- defined(_POWER) || defined(_ARCH_PWR) || \
- defined(_ARCH_PWR2)
-# undef BOOST_ARCH_RS6000
-# define BOOST_ARCH_RS6000 BOOST_VERSION_NUMBER_AVAILABLE
-#endif
-
-#if BOOST_ARCH_RS6000
-# define BOOST_ARCH_RS6000_AVAILABLE
-#endif
-
-#define BOOST_ARCH_RS6000_NAME "RS/6000"
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_RS6000,BOOST_ARCH_RS6000_NAME)
-
-#define BOOST_ARCH_PWR BOOST_ARCH_RS6000
-
-#if BOOST_ARCH_PWR
-# define BOOST_ARCH_PWR_AVAILABLE
-#endif
-
-#define BOOST_ARCH_PWR_NAME BOOST_ARCH_RS6000_NAME
-
-#endif
diff --git a/boost/predef/architecture/sparc.h b/boost/predef/architecture/sparc.h
deleted file mode 100644
index 30207a0..0000000
--- a/boost/predef/architecture/sparc.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
-Copyright Redshift Software, Inc. 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)
-*/
-
-#ifndef BOOST_PREDEF_ARCHITECTURE_SPARC_H
-#define BOOST_PREDEF_ARCHITECTURE_SPARC_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_ARCH_SPARC`]
-
-[@http://en.wikipedia.org/wiki/SPARC SPARC] architecture.
-
-[table
- [[__predef_symbol__] [__predef_version__]]
-
- [[`__sparc__`] [__predef_detection__]]
- [[`__sparc`] [__predef_detection__]]
-
- [[`__sparcv9`] [9.0.0]]
- [[`__sparcv8`] [8.0.0]]
- ]
- */
-
-#define BOOST_ARCH_SPARC BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__sparc__) || defined(__sparc)
-# undef BOOST_ARCH_SPARC
-# if !defined(BOOST_ARCH_SPARC) && defined(__sparcv9)
-# define BOOST_ARCH_SPARC BOOST_VERSION_NUMBER(9,0,0)
-# endif
-# if !defined(BOOST_ARCH_SPARC) && defined(__sparcv8)
-# define BOOST_ARCH_SPARC BOOST_VERSION_NUMBER(8,0,0)
-# endif
-# if !defined(BOOST_ARCH_SPARC) &&
-# define BOOST_ARCH_SPARC BOOST_VERSION_NUMBER_AVAILABLE
-# endif
-#endif
-
-#if BOOST_ARCH_SPARC
-# define BOOST_ARCH_SPARC_AVAILABLE
-#endif
-
-#define BOOST_ARCH_SPARC_NAME "SPARC"
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_SPARC,BOOST_ARCH_SPARC_NAME)
-
-
-#endif
diff --git a/boost/predef/architecture/superh.h b/boost/predef/architecture/superh.h
deleted file mode 100644
index f87f492..0000000
--- a/boost/predef/architecture/superh.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
-Copyright Redshift Software, Inc. 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)
-*/
-
-#ifndef BOOST_PREDEF_ARCHITECTURE_SUPERH_H
-#define BOOST_PREDEF_ARCHITECTURE_SUPERH_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_ARCH_SH`]
-
-[@http://en.wikipedia.org/wiki/SuperH SuperH] architecture:
-If available versions \[1-5\] are specifically detected.
-
-[table
- [[__predef_symbol__] [__predef_version__]]
-
- [[`__sh__`] [__predef_detection__]]
-
- [[`__SH5__`] [5.0.0]]
- [[`__SH4__`] [4.0.0]]
- [[`__sh3__`] [3.0.0]]
- [[`__SH3__`] [3.0.0]]
- [[`__sh2__`] [2.0.0]]
- [[`__sh1__`] [1.0.0]]
- ]
- */
-
-#define BOOST_ARCH_SH BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__sh__)
-# undef BOOST_ARCH_SH
-# if !defined(BOOST_ARCH_SH) && (defined(__SH5__))
-# define BOOST_ARCH_SH BOOST_VERSION_NUMBER(5,0,0)
-# endif
-# if !defined(BOOST_ARCH_SH) && (defined(__SH4__))
-# define BOOST_ARCH_SH BOOST_VERSION_NUMBER(4,0,0)
-# endif
-# if !defined(BOOST_ARCH_SH) && (defined(__sh3__) || defined(__SH3__))
-# define BOOST_ARCH_SH BOOST_VERSION_NUMBER(3,0,0)
-# endif
-# if !defined(BOOST_ARCH_SH) && (defined(__sh2__))
-# define BOOST_ARCH_SH BOOST_VERSION_NUMBER(2,0,0)
-# endif
-# if !defined(BOOST_ARCH_SH) && (defined(__sh1__))
-# define BOOST_ARCH_SH BOOST_VERSION_NUMBER(1,0,0)
-# endif
-# if !defined(BOOST_ARCH_SH)
-# define BOOST_ARCH_SH BOOST_VERSION_NUMBER_AVAILABLE
-# endif
-#endif
-
-#if BOOST_ARCH_SH
-# define BOOST_ARCH_SH_AVAILABLE
-#endif
-
-#define BOOST_ARCH_SH_NAME "SuperH"
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_SH,BOOST_ARCH_SH_NAME)
-
-
-#endif
diff --git a/boost/predef/architecture/sys370.h b/boost/predef/architecture/sys370.h
deleted file mode 100644
index f2fba78..0000000
--- a/boost/predef/architecture/sys370.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
-Copyright Redshift Software, Inc. 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)
-*/
-
-#ifndef BOOST_PREDEF_ARCHITECTURE_SYS370_H
-#define BOOST_PREDEF_ARCHITECTURE_SYS370_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_ARCH_SYS370`]
-
-[@http://en.wikipedia.org/wiki/System/370 System/370] architecture.
-
-[table
- [[__predef_symbol__] [__predef_version__]]
-
- [[`__370__`] [__predef_detection__]]
- [[`__THW_370__`] [__predef_detection__]]
- ]
- */
-
-#define BOOST_ARCH_SYS370 BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__370__) || defined(__THW_370__)
-# undef BOOST_ARCH_SYS370
-# define BOOST_ARCH_SYS370 BOOST_VERSION_NUMBER_AVAILABLE
-#endif
-
-#if BOOST_ARCH_SYS370
-# define BOOST_ARCH_SYS370_AVAILABLE
-#endif
-
-#define BOOST_ARCH_SYS370_NAME "System/370"
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_SYS370,BOOST_ARCH_SYS370_NAME)
-
-
-#endif
diff --git a/boost/predef/architecture/sys390.h b/boost/predef/architecture/sys390.h
deleted file mode 100644
index a9e03d9..0000000
--- a/boost/predef/architecture/sys390.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
-Copyright Redshift Software, Inc. 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)
-*/
-
-#ifndef BOOST_PREDEF_ARCHITECTURE_SYS390_H
-#define BOOST_PREDEF_ARCHITECTURE_SYS390_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_ARCH_SYS390`]
-
-[@http://en.wikipedia.org/wiki/System/390 System/390] architecture.
-
-[table
- [[__predef_symbol__] [__predef_version__]]
-
- [[`__s390__`] [__predef_detection__]]
- [[`__s390x__`] [__predef_detection__]]
- ]
- */
-
-#define BOOST_ARCH_SYS390 BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__s390__) || defined(__s390x__)
-# undef BOOST_ARCH_SYS390
-# define BOOST_ARCH_SYS390 BOOST_VERSION_NUMBER_AVAILABLE
-#endif
-
-#if BOOST_ARCH_SYS390
-# define BOOST_ARCH_SYS390_AVAILABLE
-#endif
-
-#define BOOST_ARCH_SYS390_NAME "System/390"
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_SYS390,BOOST_ARCH_SYS390_NAME)
-
-
-#endif
diff --git a/boost/predef/architecture/x86.h b/boost/predef/architecture/x86.h
deleted file mode 100644
index 3a08e9c..0000000
--- a/boost/predef/architecture/x86.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
-Copyright Redshift Software, Inc. 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)
-*/
-
-#ifndef BOOST_PREDEF_ARCHITECTURE_X86_H
-#define BOOST_PREDEF_ARCHITECTURE_X86_H
-
-#include <boost/predef/architecture/x86/32.h>
-#include <boost/predef/architecture/x86/64.h>
-
-/*`
-[heading `BOOST_ARCH_X86`]
-
-[@http://en.wikipedia.org/wiki/X86 Intel x86] architecture. This is
-a category to indicate that either `BOOST_ARCH_X86_32` or
-`BOOST_ARCH_X86_64` is detected.
- */
-
-#define BOOST_ARCH_X86 BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if BOOST_ARCH_X86_32 || BOOST_ARCH_X86_64
-# undef BOOST_ARCH_X86
-# define BOOST_ARCH_X86 BOOST_VERSION_NUMBER_AVAILABLE
-#endif
-
-#if BOOST_ARCH_X86
-# define BOOST_ARCH_X86_AVAILABLE
-#endif
-
-#define BOOST_ARCH_X86_NAME "Intel x86"
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_X86,BOOST_ARCH_X86_NAME)
-
-#endif
diff --git a/boost/predef/architecture/x86/32.h b/boost/predef/architecture/x86/32.h
deleted file mode 100644
index 131d94d..0000000
--- a/boost/predef/architecture/x86/32.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
-Copyright Redshift Software, Inc. 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)
-*/
-
-#ifndef BOOST_PREDEF_ARCHITECTURE_X86_32_H
-#define BOOST_PREDEF_ARCHITECTURE_X86_32_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_ARCH_X86_32`]
-
-[@http://en.wikipedia.org/wiki/X86 Intel x86] architecture:
-If available versions \[3-6\] are specifically detected.
-
-[table
- [[__predef_symbol__] [__predef_version__]]
-
- [[`i386`] [__predef_detection__]]
- [[`__i386__`] [__predef_detection__]]
- [[`__i486__`] [__predef_detection__]]
- [[`__i586__`] [__predef_detection__]]
- [[`__i686__`] [__predef_detection__]]
- [[`__i386`] [__predef_detection__]]
- [[`_M_IX86`] [__predef_detection__]]
- [[`_X86_`] [__predef_detection__]]
- [[`__THW_INTEL__`] [__predef_detection__]]
- [[`__I86__`] [__predef_detection__]]
- [[`__INTEL__`] [__predef_detection__]]
-
- [[`__I86__`] [V.0.0]]
- [[`_M_IX86`] [V.0.0]]
- [[`__i686__`] [6.0.0]]
- [[`__i586__`] [5.0.0]]
- [[`__i486__`] [4.0.0]]
- [[`__i386__`] [3.0.0]]
- ]
- */
-
-#define BOOST_ARCH_X86_32 BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(i386) || defined(__i386__) || \
- defined(__i486__) || defined(__i586__) || \
- defined(__i686__) || defined(__i386) || \
- defined(_M_IX86) || defined(_X86_) || \
- defined(__THW_INTEL__) || defined(__I86__) || \
- defined(__INTEL__)
-# undef BOOST_ARCH_X86_32
-# if !defined(BOOST_ARCH_X86_32) && defined(__I86__)
-# define BOOST_ARCH_X86_32 BOOST_VERSION_NUMBER(__I86__,0,0)
-# endif
-# if !defined(BOOST_ARCH_X86_32) && defined(_M_IX86)
-# define BOOST_ARCH_X86_32 BOOST_PREDEF_MAKE_10_VV00(_M_IX86)
-# endif
-# if !defined(BOOST_ARCH_X86_32) && defined(__i686__)
-# define BOOST_ARCH_X86_32 BOOST_VERSION_NUMBER(6,0,0)
-# endif
-# if !defined(BOOST_ARCH_X86_32) && defined(__i586__)
-# define BOOST_ARCH_X86_32 BOOST_VERSION_NUMBER(5,0,0)
-# endif
-# if !defined(BOOST_ARCH_X86_32) && defined(__i486__)
-# define BOOST_ARCH_X86_32 BOOST_VERSION_NUMBER(4,0,0)
-# endif
-# if !defined(BOOST_ARCH_X86_32) && defined(__i386__)
-# define BOOST_ARCH_X86_32 BOOST_VERSION_NUMBER(3,0,0)
-# endif
-# if !defined(BOOST_ARCH_X86_32)
-# define BOOST_ARCH_X86_32 BOOST_VERSION_NUMBER_AVAILABLE
-# endif
-#endif
-
-#if BOOST_ARCH_X86_32
-# define BOOST_ARCH_X86_32_AVAILABLE
-#endif
-
-#define BOOST_ARCH_X86_32_NAME "Intel x86-32"
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_X86_32,BOOST_ARCH_X86_32_NAME)
-
-#include <boost/predef/architecture/x86.h>
-
-#endif
diff --git a/boost/predef/architecture/x86/64.h b/boost/predef/architecture/x86/64.h
deleted file mode 100644
index 0bee9c9..0000000
--- a/boost/predef/architecture/x86/64.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
-Copyright Redshift Software, Inc. 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)
-*/
-
-#ifndef BOOST_PREDEF_ARCHITECTURE_X86_64_H
-#define BOOST_PREDEF_ARCHITECTURE_X86_64_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_ARCH_X86_64`]
-
-[@http://en.wikipedia.org/wiki/Ia64 Intel IA-64] architecture.
-
-[table
- [[__predef_symbol__] [__predef_version__]]
-
- [[`__x86_64`] [__predef_detection__]]
- [[`__x86_64__`] [__predef_detection__]]
- [[`__amd64__`] [__predef_detection__]]
- [[`__amd64`] [__predef_detection__]]
- [[`_M_X64`] [__predef_detection__]]
- ]
- */
-
-#define BOOST_ARCH_X86_64 BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__x86_64) || defined(__x86_64__) || \
- defined(__amd64__) || defined(__amd64) || \
- defined(_M_X64)
-# undef BOOST_ARCH_X86_64
-# define BOOST_ARCH_X86_64 BOOST_VERSION_NUMBER_AVAILABLE
-#endif
-
-#if BOOST_ARCH_X86_64
-# define BOOST_ARCH_X86_64_AVAILABLE
-#endif
-
-#define BOOST_ARCH_X86_64_NAME "Intel x86-64"
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_X86_64,BOOST_ARCH_X86_64_NAME)
-
-#include <boost/predef/architecture/x86.h>
-
-#endif
diff --git a/boost/predef/architecture/z.h b/boost/predef/architecture/z.h
deleted file mode 100644
index 622d6ab..0000000
--- a/boost/predef/architecture/z.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
-Copyright Redshift Software, Inc. 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)
-*/
-
-#ifndef BOOST_PREDEF_ARCHITECTURE_Z_H
-#define BOOST_PREDEF_ARCHITECTURE_Z_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_ARCH_Z`]
-
-[@http://en.wikipedia.org/wiki/Z/Architecture z/Architecture] architecture.
-
-[table
- [[__predef_symbol__] [__predef_version__]]
-
- [[`__SYSC_ZARCH__`] [__predef_detection__]]
- ]
- */
-
-#define BOOST_ARCH_Z BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__SYSC_ZARCH__)
-# undef BOOST_ARCH_Z
-# define BOOST_ARCH_Z BOOST_VERSION_NUMBER_AVAILABLE
-#endif
-
-#if BOOST_ARCH_Z
-# define BOOST_ARCH_Z_AVAILABLE
-#endif
-
-#define BOOST_ARCH_Z_NAME "z/Architecture"
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_Z,BOOST_ARCH_Z_NAME)
-
-
-#endif
diff --git a/boost/predef/detail/_cassert.h b/boost/predef/detail/_cassert.h
deleted file mode 100644
index ca594a8..0000000
--- a/boost/predef/detail/_cassert.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
-Copyright Redshift Software, Inc. 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)
-*/
-
-#ifndef BOOST_PREDEF_DETAIL__CASSERT_H
-#define BOOST_PREDEF_DETAIL__CASSERT_H
-
-#if defined(__cpluplus)
-#include <cassert>
-#else
-#include <assert.h>
-#endif
-
-#endif
diff --git a/boost/predef/detail/endian_compat.h b/boost/predef/detail/endian_compat.h
deleted file mode 100644
index b873659..0000000
--- a/boost/predef/detail/endian_compat.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
-Copyright Redshift Software, Inc. 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)
-*/
-
-#ifndef BOOST_PREDEF_DETAIL_ENDIAN_COMPAT_H
-#define BOOST_PREDEF_DETAIL_ENDIAN_COMPAT_H
-
-#include <boost/predef/other/endian.h>
-
-#if BOOST_ENDIAN_BIG_BYTE
-# define BOOST_BIG_ENDIAN
-# define BOOST_BYTE_ORDER 4321
-#endif
-#if BOOST_ENDIAN_LITTLE_BYTE
-# define BOOST_LITTLE_ENDIAN
-# define BOOST_BYTE_ORDER 1234
-#endif
-#if BOOST_ENDIAN_LITTLE_WORD
-# define BOOST_PDP_ENDIAN
-# define BOOST_BYTE_ORDER 2134
-#endif
-
-#endif
diff --git a/boost/predef/detail/os_detected.h b/boost/predef/detail/os_detected.h
deleted file mode 100644
index 7d70c1e..0000000
--- a/boost/predef/detail/os_detected.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/*
-Copyright Redshift Software, Inc. 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)
-*/
-
-#ifndef BOOST_PREDEF_DETAIL_OS_DETECTED
-#define BOOST_PREDEF_DETAIL_OS_DETECTED 1
-#endif
diff --git a/boost/predef/detail/test.h b/boost/predef/detail/test.h
deleted file mode 100644
index c75eccc..0000000
--- a/boost/predef/detail/test.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
-Copyright Redshift Software Inc. 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)
-*/
-
-#ifndef BOOST_PREDEF_DETAIL_TEST_H
-#define BOOST_PREDEF_DETAIL_TEST_H
-
-#if !defined(BOOST_PREDEF_INTERNAL_GENERATE_TESTS)
-
-#define BOOST_PREDEF_DECLARE_TEST(x,s)
-
-#endif
-
-#endif
diff --git a/boost/predef/library/c/_prefix.h b/boost/predef/library/c/_prefix.h
deleted file mode 100644
index 754601f..0000000
--- a/boost/predef/library/c/_prefix.h
+++ /dev/null
@@ -1,13 +0,0 @@
-/*
-Copyright Redshift Software, Inc. 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)
-*/
-
-#ifndef BOOST_PREDEF_LIBRARY_C__PREFIX_H
-#define BOOST_PREDEF_LIBRARY_C__PREFIX_H
-
-#include <boost/predef/detail/_cassert.h>
-
-#endif
diff --git a/boost/predef/library/c/gnu.h b/boost/predef/library/c/gnu.h
deleted file mode 100644
index a2bdfce..0000000
--- a/boost/predef/library/c/gnu.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
-Copyright Redshift Software, Inc. 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)
-*/
-
-#ifndef BOOST_PREDEF_LIBRARY_C_GNU_H
-#define BOOST_PREDEF_LIBRARY_C_GNU_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-#include <boost/predef/library/c/_prefix.h>
-
-#if defined(__STDC__)
-#include <stddef.h>
-#elif defined(__cplusplus)
-#include <cstddef>
-#endif
-
-/*`
-[heading `BOOST_LIB_C_GNU`]
-
-[@http://en.wikipedia.org/wiki/Glibc GNU glibc] Standard C library.
-Version number available as major, and minor.
-
-[table
- [[__predef_symbol__] [__predef_version__]]
-
- [[`__GLIBC__`] [__predef_detection__]]
- [[`__GNU_LIBRARY__`] [__predef_detection__]]
-
- [[`__GLIBC__`, `__GLIBC_MINOR__`] [V.R.0]]
- [[`__GNU_LIBRARY__`, `__GNU_LIBRARY_MINOR__`] [V.R.0]]
- ]
- */
-
-#define BOOST_LIB_C_GNU BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if defined(__GLIBC__) || defined(__GNU_LIBRARY__)
-# undef BOOST_LIB_C_GNU
-# if defined(__GLIBC__)
-# define BOOST_LIB_C_GNU \
- BOOST_VERSION_NUMBER(__GLIBC__,__GLIBC_MINOR__,0)
-# else
-# define BOOST_LIB_C_GNU \
- BOOST_VERSION_NUMBER(__GNU_LIBRARY__,__GNU_LIBRARY_MINOR__,0)
-# endif
-#endif
-
-#if BOOST_LIB_C_GNU
-# define BOOST_LIB_C_GNU_AVAILABLE
-#endif
-
-#define BOOST_LIB_C_GNU_NAME "GNU"
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_LIB_C_GNU,BOOST_LIB_C_GNU_NAME)
-
-
-#endif
diff --git a/boost/predef/make.h b/boost/predef/make.h
deleted file mode 100644
index ccee24a..0000000
--- a/boost/predef/make.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
-Copyright Redshift Software, Inc. 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)
-*/
-#include <boost/predef/detail/test.h>
-
-#ifndef BOOST_PREDEF_MAKE_H
-#define BOOST_PREDEF_MAKE_H
-
-/*
-Shorthands for the common version number formats used by vendors...
-*/
-
-/*`
-[heading `BOOST_PREDEF_MAKE_..` macros]
-
-These set of macros decompose common vendor version number
-macros which are composed version, revision, and patch digits.
-The naming convention indicates:
-
-* The base of the specified version number. "`BOOST_PREDEF_MAKE_0X`" for
- hexadecimal digits, and "`BOOST_PREDEF_MAKE_10`" for decimal digits.
-* The format of the vendor version number. Where "`V`" indicates the version digits,
- "`R`" indicates the revision digits, "`P`" indicates the patch digits, and "`0`"
- indicates an ignored digit.
-
-Macros are:
-*/
-/*` `BOOST_PREDEF_MAKE_0X_VRP(V)` */
-#define BOOST_PREDEF_MAKE_0X_VRP(V) BOOST_VERSION_NUMBER((V&0xF00)>>8,(V&0xF0)>>4,(V&0xF))
-/*` `BOOST_PREDEF_MAKE_0X_VVRP(V)` */
-#define BOOST_PREDEF_MAKE_0X_VVRP(V) BOOST_VERSION_NUMBER((V&0xFF00)>>8,(V&0xF0)>>4,(V&0xF))
-/*` `BOOST_PREDEF_MAKE_0X_VRPP(V)` */
-#define BOOST_PREDEF_MAKE_0X_VRPP(V) BOOST_VERSION_NUMBER((V&0xF000)>>12,(V&0xF00)>>8,(V&0xFF))
-/*` `BOOST_PREDEF_MAKE_0X_VVRR(V)` */
-#define BOOST_PREDEF_MAKE_0X_VVRR(V) BOOST_VERSION_NUMBER((V&0xFF00)>>8,(V&0xFF),0)
-/*` `BOOST_PREDEF_MAKE_0X_VRRPPPP(V)` */
-#define BOOST_PREDEF_MAKE_0X_VRRPPPP(V) BOOST_VERSION_NUMBER((V&0xF000000)>>24,(V&0xFF0000)>>16,(V&0xFFFF))
-/*` `BOOST_PREDEF_MAKE_0X_VVRRP(V)` */
-#define BOOST_PREDEF_MAKE_0X_VVRRP(V) BOOST_VERSION_NUMBER((V&0xFF000)>>12,(V&0xFF0)>>4,(V&0xF))
-/*` `BOOST_PREDEF_MAKE_0X_VRRPP000(V)` */
-#define BOOST_PREDEF_MAKE_0X_VRRPP000(V) BOOST_VERSION_NUMBER((V&0xF0000000)>>28,(V&0xFF00000)>>20,(V&0xFF000)>>12)
-/*` `BOOST_PREDEF_MAKE_10_VPPP(V)` */
-#define BOOST_PREDEF_MAKE_10_VPPP(V) BOOST_VERSION_NUMBER(((V)/1000)%10,0,(V)%1000)
-/*` `BOOST_PREDEF_MAKE_10_VRP(V)` */
-#define BOOST_PREDEF_MAKE_10_VRP(V) BOOST_VERSION_NUMBER(((V)/100)%10,((V)/10)%10,(V)%10)
-/*` `BOOST_PREDEF_MAKE_10_VRP000(V)` */
-#define BOOST_PREDEF_MAKE_10_VRP000(V) BOOST_VERSION_NUMBER(((V)/100000)%10,((V)/10000)%10,((V)/1000)%10)
-/*` `BOOST_PREDEF_MAKE_10_VRPP(V)` */
-#define BOOST_PREDEF_MAKE_10_VRPP(V) BOOST_VERSION_NUMBER(((V)/1000)%10,((V)/100)%10,(V)%100)
-/*` `BOOST_PREDEF_MAKE_10_VRR(V)` */
-#define BOOST_PREDEF_MAKE_10_VRR(V) BOOST_VERSION_NUMBER(((V)/100)%10,(V)%100,0)
-/*` `BOOST_PREDEF_MAKE_10_VRRPP(V)` */
-#define BOOST_PREDEF_MAKE_10_VRRPP(V) BOOST_VERSION_NUMBER(((V)/10000)%10,((V)/100)%100,(V)%100)
-/*` `BOOST_PREDEF_MAKE_10_VRR000(V)` */
-#define BOOST_PREDEF_MAKE_10_VRR000(V) BOOST_VERSION_NUMBER(((V)/100000)%10,((V)/1000)%100,0)
-/*` `BOOST_PREDEF_MAKE_10_VV00(V)` */
-#define BOOST_PREDEF_MAKE_10_VV00(V) BOOST_VERSION_NUMBER(((V)/100)%100,0,0)
-/*` `BOOST_PREDEF_MAKE_10_VVRR(V)` */
-#define BOOST_PREDEF_MAKE_10_VVRR(V) BOOST_VERSION_NUMBER(((V)/100)%100,(V)%100,0)
-/*` `BOOST_PREDEF_MAKE_10_VVRRPP(V)` */
-#define BOOST_PREDEF_MAKE_10_VVRRPP(V) BOOST_VERSION_NUMBER(((V)/10000)%100,((V)/100)%100,(V)%100)
-/*` `BOOST_PREDEF_MAKE_10_VVRR0PP00(V)` */
-#define BOOST_PREDEF_MAKE_10_VVRR0PP00(V) BOOST_VERSION_NUMBER(((V)/10000000)%100,((V)/100000)%100,((V)/100)%100)
-/*` `BOOST_PREDEF_MAKE_10_VVRR0PPPP(V)` */
-#define BOOST_PREDEF_MAKE_10_VVRR0PPPP(V) BOOST_VERSION_NUMBER(((V)/10000000)%100,((V)/100000)%100,(V)%10000)
-/*` `BOOST_PREDEF_MAKE_10_VVRR00PP00(V)` */
-#define BOOST_PREDEF_MAKE_10_VVRR00PP00(V) BOOST_VERSION_NUMBER(((V)/100000000)%100,((V)/1000000)%100,((V)/100)%100)
-/*`
-[heading `BOOST_PREDEF_MAKE_*..` date macros]
-
-Date decomposition macros return a date in the relative to the 1970
-Epoch date. If the month is not available, January 1st is used as the month and day.
-If the day is not available, but the month is, the 1st of the month is used as the day.
-*/
-/*` `BOOST_PREDEF_MAKE_DATE(Y,M,D)` */
-#define BOOST_PREDEF_MAKE_DATE(Y,M,D) BOOST_VERSION_NUMBER((Y)%10000-1970,(M)%100,(D)%100)
-/*` `BOOST_PREDEF_MAKE_YYYYMMDD(V)` */
-#define BOOST_PREDEF_MAKE_YYYYMMDD(V) BOOST_PREDEF_MAKE_DATE(((V)/10000)%10000,((V)/100)%100,(V)%100)
-/*` `BOOST_PREDEF_MAKE_YYYY(V)` */
-#define BOOST_PREDEF_MAKE_YYYY(V) BOOST_PREDEF_MAKE_DATE(V,1,1)
-/*` `BOOST_PREDEF_MAKE_YYYYMM(V)` */
-#define BOOST_PREDEF_MAKE_YYYYMM(V) BOOST_PREDEF_MAKE_DATE((V)/100,(V),1)
-
-#endif
diff --git a/boost/predef/os/bsd.h b/boost/predef/os/bsd.h
deleted file mode 100644
index 0adc435..0000000
--- a/boost/predef/os/bsd.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
-Copyright Redshift Software, Inc. 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)
-*/
-
-#ifndef BOOST_PREDEF_OS_BSD_H
-#define BOOST_PREDEF_OS_BSD_H
-
-/* Special case: OSX will define BSD predefs if the sys/param.h
- * header is included. We can guard against that, but only if we
- * detect OSX first. Hence we will force include OSX detection
- * before doing any BSD detection.
- */
-#include <boost/predef/os/macos.h>
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_OS_BSD`]
-
-[@http://en.wikipedia.org/wiki/Berkeley_Software_Distribution BSD] operating system.
-
-BSD has various branch operating systems possible and each detected
-individually. This detects the following variations and sets a specific
-version number macro to match:
-
-* `BOOST_OS_BSD_DRAGONFLY` [@http://en.wikipedia.org/wiki/DragonFly_BSD DragonFly BSD]
-* `BOOST_OS_BSD_FREE` [@http://en.wikipedia.org/wiki/Freebsd FreeBSD]
-* `BOOST_OS_BSD_BSDI` [@http://en.wikipedia.org/wiki/BSD/OS BSDi BSD/OS]
-* `BOOST_OS_BSD_NET` [@http://en.wikipedia.org/wiki/Netbsd NetBSD]
-* `BOOST_OS_BSD_OPEN` [@http://en.wikipedia.org/wiki/Openbsd OpenBSD]
-
-[note The general `BOOST_OS_BSD` is set in all cases to indicate some form
-of BSD. If the above variants is detected the corresponding macro is also set.]
-
-[table
- [[__predef_symbol__] [__predef_version__]]
-
- [[`BSD`] [__predef_detection__]]
- [[`_SYSTYPE_BSD`] [__predef_detection__]]
-
- [[`BSD4_2`] [4.2.0]]
- [[`BSD4_3`] [4.3.0]]
- [[`BSD4_4`] [4.4.0]]
- [[`BSD`] [V.R.0]]
- ]
- */
-
-#include <boost/predef/os/bsd/bsdi.h>
-#include <boost/predef/os/bsd/dragonfly.h>
-#include <boost/predef/os/bsd/free.h>
-#include <boost/predef/os/bsd/open.h>
-#include <boost/predef/os/bsd/net.h>
-
-#ifndef BOOST_OS_BSD
-#define BOOST_OS_BSD BOOST_VERSION_NUMBER_NOT_AVAILABLE
-#endif
-
-#if !BOOST_PREDEF_DETAIL_OS_DETECTED && ( \
- defined(BSD) || \
- defined(_SYSTYPE_BSD) \
- )
-# undef BOOST_OS_BSD
-# include <sys/param.h>
-# if !defined(BOOST_OS_BSD) && defined(BSD4_4)
-# define BOOST_OS_BSD BOOST_VERSION_NUMBER(4,4,0)
-# endif
-# if !defined(BOOST_OS_BSD) && defined(BSD4_3)
-# define BOOST_OS_BSD BOOST_VERSION_NUMBER(4,3,0)
-# endif
-# if !defined(BOOST_OS_BSD) && defined(BSD4_2)
-# define BOOST_OS_BSD BOOST_VERSION_NUMBER(4,2,0)
-# endif
-# if !defined(BOOST_OS_BSD) && defined(BSD)
-# define BOOST_OS_BSD BOOST_PREDEF_MAKE_10_VVRR(BSD)
-# endif
-# if !defined(BOOST_OS_BSD)
-# define BOOST_OS_BSD BOOST_VERSION_NUMBER_AVAILABLE
-# endif
-#endif
-
-#if BOOST_OS_BSD
-# define BOOST_OS_BSD_AVAILABLE
-# include <boost/predef/detail/os_detected.h>
-#endif
-
-#define BOOST_OS_BSD_NAME "BSD"
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_OS_BSD,BOOST_OS_BSD_NAME)
-
-#endif
diff --git a/boost/predef/os/bsd/bsdi.h b/boost/predef/os/bsd/bsdi.h
deleted file mode 100644
index 71ea87a..0000000
--- a/boost/predef/os/bsd/bsdi.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
-Copyright Redshift Software, Inc. 2012-2013
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
-*/
-
-#ifndef BOOST_PREDEF_OS_BSD_BSDI_H
-#define BOOST_PREDEF_OS_BSD_BSDI_H
-
-#include <boost/predef/os/bsd.h>
-
-/*`
-[heading `BOOST_OS_BSD_BSDI`]
-
-[@http://en.wikipedia.org/wiki/BSD/OS BSDi BSD/OS] operating system.
-
-[table
- [[__predef_symbol__] [__predef_version__]]
-
- [[`__bsdi__`] [__predef_detection__]]
- ]
- */
-
-#define BOOST_OS_BSD_BSDI BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if !BOOST_PREDEF_DETAIL_OS_DETECTED && ( \
- defined(__bsdi__) \
- )
-# ifndef BOOST_OS_BSD_AVAILABLE
-# define BOOST_OS_BSD BOOST_VERSION_NUMBER_AVAILABLE
-# define BOOST_OS_BSD_AVAILABLE
-# endif
-# undef BOOST_OS_BSD_BSDI
-# define BOOST_OS_BSD_BSDI BOOST_VERSION_NUMBER_AVAILABLE
-#endif
-
-#if BOOST_OS_BSD_BSDI
-# define BOOST_OS_BSD_BSDI_AVAILABLE
-# include <boost/predef/detail/os_detected.h>
-#endif
-
-#define BOOST_OS_BSD_BSDI_NAME "BSDi BSD/OS"
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_OS_BSD_BSDI,BOOST_OS_BSD_BSDI_NAME)
-
-#endif
diff --git a/boost/predef/os/bsd/dragonfly.h b/boost/predef/os/bsd/dragonfly.h
deleted file mode 100644
index 9d37439..0000000
--- a/boost/predef/os/bsd/dragonfly.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
-Copyright Redshift Software, Inc. 2012-2013
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
-*/
-
-#ifndef BOOST_PREDEF_OS_BSD_DRAGONFLY_H
-#define BOOST_PREDEF_OS_BSD_DRAGONFLY_H
-
-#include <boost/predef/os/bsd.h>
-
-/*`
-[heading `BOOST_OS_BSD_DRAGONFLY`]
-
-[@http://en.wikipedia.org/wiki/DragonFly_BSD DragonFly BSD] operating system.
-
-[table
- [[__predef_symbol__] [__predef_version__]]
-
- [[`__DragonFly__`] [__predef_detection__]]
- ]
- */
-
-#define BOOST_OS_BSD_DRAGONFLY BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if !BOOST_PREDEF_DETAIL_OS_DETECTED && ( \
- defined(__DragonFly__) \
- )
-# ifndef BOOST_OS_BSD_AVAILABLE
-# define BOOST_OS_BSD BOOST_VERSION_NUMBER_AVAILABLE
-# define BOOST_OS_BSD_AVAILABLE
-# endif
-# undef BOOST_OS_BSD_DRAGONFLY
-# if defined(__DragonFly__)
-# define BOOST_OS_DRAGONFLY_BSD BOOST_VERSION_NUMBER_AVAILABLE
-# endif
-#endif
-
-#if BOOST_OS_BSD_DRAGONFLY
-# define BOOST_OS_BSD_DRAGONFLY_AVAILABLE
-# include <boost/predef/detail/os_detected.h>
-#endif
-
-#define BOOST_OS_BSD_DRAGONFLY_NAME "DragonFly BSD"
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_OS_BSD_DRAGONFLY,BOOST_OS_BSD_DRAGONFLY_NAME)
-
-#endif
diff --git a/boost/predef/os/bsd/free.h b/boost/predef/os/bsd/free.h
deleted file mode 100644
index 321d3a3..0000000
--- a/boost/predef/os/bsd/free.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
-Copyright Redshift Software, Inc. 2012-2013
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
-*/
-
-#ifndef BOOST_PREDEF_OS_BSD_FREE_H
-#define BOOST_PREDEF_OS_BSD_FREE_H
-
-#include <boost/predef/os/bsd.h>
-
-/*`
-[heading `BOOST_OS_BSD_FREE`]
-
-[@http://en.wikipedia.org/wiki/Freebsd FreeBSD] operating system.
-
-[table
- [[__predef_symbol__] [__predef_version__]]
-
- [[`__FreeBSD__`] [__predef_detection__]]
-
- [[`__FreeBSD_version`] [V.R.P]]
- ]
- */
-
-#define BOOST_OS_BSD_FREE BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if !BOOST_PREDEF_DETAIL_OS_DETECTED && ( \
- defined(__FreeBSD__) \
- )
-# ifndef BOOST_OS_BSD_AVAILABLE
-# define BOOST_OS_BSD BOOST_VERSION_NUMBER_AVAILABLE
-# define BOOST_OS_BSD_AVAILABLE
-# endif
-# undef BOOST_OS_BSD_FREE
-# if defined(__FreeBSD_version)
-# if __FreeBSD_version < 500000
-# define BOOST_OS_BSD_FREE \
- BOOST_PREDEF_MAKE_10_VRP000(__FreeBSD_version)
-# else
-# define BOOST_OS_BSD_FREE \
- BOOST_PREDEF_MAKE_10_VRR000(__FreeBSD_version)
-# endif
-# else
-# define BOOST_OS_BSD_FREE BOOST_VERSION_NUMBER_AVAILABLE
-# endif
-#endif
-
-#if BOOST_OS_BSD_FREE
-# define BOOST_OS_BSD_FREE_AVAILABLE
-# include <boost/predef/detail/os_detected.h>
-#endif
-
-#define BOOST_OS_BSD_FREE_NAME "Free BSD"
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_OS_BSD_FREE,BOOST_OS_BSD_FREE_NAME)
-
-#endif
diff --git a/boost/predef/os/bsd/net.h b/boost/predef/os/bsd/net.h
deleted file mode 100644
index 2a34538..0000000
--- a/boost/predef/os/bsd/net.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
-Copyright Redshift Software, Inc. 2012-2013
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
-*/
-
-#ifndef BOOST_PREDEF_OS_BSD_NET_H
-#define BOOST_PREDEF_OS_BSD_NET_H
-
-#include <boost/predef/os/bsd.h>
-
-/*`
-[heading `BOOST_OS_BSD_NET`]
-
-[@http://en.wikipedia.org/wiki/Netbsd NetBSD] operating system.
-
-[table
- [[__predef_symbol__] [__predef_version__]]
-
- [[`__NETBSD__`] [__predef_detection__]]
- [[`__NetBSD__`] [__predef_detection__]]
-
- [[`__NETBSD_version`] [V.R.P]]
- [[`NetBSD0_8`] [0.8.0]]
- [[`NetBSD0_9`] [0.9.0]]
- [[`NetBSD1_0`] [1.0.0]]
- [[`__NetBSD_Version`] [V.R.P]]
- ]
- */
-
-#define BOOST_OS_BSD_NET BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if !BOOST_PREDEF_DETAIL_OS_DETECTED && ( \
- defined(__NETBSD__) || defined(__NetBSD__) \
- )
-# ifndef BOOST_OS_BSD_AVAILABLE
-# define BOOST_OS_BSD BOOST_VERSION_NUMBER_AVAILABLE
-# define BOOST_OS_BSD_AVAILABLE
-# endif
-# undef BOOST_OS_BSD_NET
-# if defined(__NETBSD__)
-# if defined(__NETBSD_version)
-# if __NETBSD_version < 500000
-# define BOOST_OS_BSD_NET \
- BOOST_PREDEF_MAKE_10_VRP000(__NETBSD_version)
-# else
-# define BOOST_OS_BSD_NET \
- BOOST_PREDEF_MAKE_10_VRR000(__NETBSD_version)
-# endif
-# else
-# define BOOST_OS_BSD_NET BOOST_VERSION_NUMBER_AVAILABLE
-# endif
-# elif defined(__NetBSD__)
-# if !defined(BOOST_OS_BSD_NET) && defined(NetBSD0_8)
-# define BOOST_OS_BSD_NET BOOST_VERSION_NUMBER(0,8,0)
-# endif
-# if !defined(BOOST_OS_BSD_NET) && defined(NetBSD0_9)
-# define BOOST_OS_BSD_NET BOOST_VERSION_NUMBER(0,9,0)
-# endif
-# if !defined(BOOST_OS_BSD_NET) && defined(NetBSD1_0)
-# define BOOST_OS_BSD_NET BOOST_VERSION_NUMBER(1,0,0)
-# endif
-# if !defined(BOOST_OS_BSD_NET) && defined(__NetBSD_Version)
-# define BOOST_OS_BSD_NET \
- BOOST_PREDEF_MAKE_10_VVRR00PP00(__NetBSD_Version)
-# endif
-# if !defined(BOOST_OS_BSD_NET)
-# define BOOST_OS_BSD_NET BOOST_VERSION_NUMBER_AVAILABLE
-# endif
-# endif
-#endif
-
-#if BOOST_OS_BSD_NET
-# define BOOST_OS_BSD_NET_AVAILABLE
-# include <boost/predef/detail/os_detected.h>
-#endif
-
-#define BOOST_OS_BSD_NET_NAME "DragonFly BSD"
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_OS_BSD_NET,BOOST_OS_BSD_NET_NAME)
-
-#endif
diff --git a/boost/predef/os/bsd/open.h b/boost/predef/os/bsd/open.h
deleted file mode 100644
index 2f51644..0000000
--- a/boost/predef/os/bsd/open.h
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
-Copyright Redshift Software, Inc. 2012-2013
-Distributed under the Boost Software License, Version 1.0.
-(See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
-*/
-
-#ifndef BOOST_PREDEF_OS_BSD_OPEN_H
-#define BOOST_PREDEF_OS_BSD_OPEN_H
-
-#include <boost/predef/os/bsd.h>
-
-/*`
-[heading `BOOST_OS_BSD_OPEN`]
-
-[@http://en.wikipedia.org/wiki/Openbsd OpenBSD] operating system.
-
-[table
- [[__predef_symbol__] [__predef_version__]]
-
- [[`__OpenBSD__`] [__predef_detection__]]
-
- [[`OpenBSD2_0`] [2.0.0]]
- [[`OpenBSD2_1`] [2.1.0]]
- [[`OpenBSD2_2`] [2.2.0]]
- [[`OpenBSD2_3`] [2.3.0]]
- [[`OpenBSD2_4`] [2.4.0]]
- [[`OpenBSD2_5`] [2.5.0]]
- [[`OpenBSD2_6`] [2.6.0]]
- [[`OpenBSD2_7`] [2.7.0]]
- [[`OpenBSD2_8`] [2.8.0]]
- [[`OpenBSD2_9`] [2.9.0]]
- [[`OpenBSD3_0`] [3.0.0]]
- [[`OpenBSD3_1`] [3.1.0]]
- [[`OpenBSD3_2`] [3.2.0]]
- [[`OpenBSD3_3`] [3.3.0]]
- [[`OpenBSD3_4`] [3.4.0]]
- [[`OpenBSD3_5`] [3.5.0]]
- [[`OpenBSD3_6`] [3.6.0]]
- [[`OpenBSD3_7`] [3.7.0]]
- [[`OpenBSD3_8`] [3.8.0]]
- [[`OpenBSD3_9`] [3.9.0]]
- [[`OpenBSD4_0`] [4.0.0]]
- [[`OpenBSD4_1`] [4.1.0]]
- [[`OpenBSD4_2`] [4.2.0]]
- [[`OpenBSD4_3`] [4.3.0]]
- [[`OpenBSD4_4`] [4.4.0]]
- [[`OpenBSD4_5`] [4.5.0]]
- [[`OpenBSD4_6`] [4.6.0]]
- [[`OpenBSD4_7`] [4.7.0]]
- [[`OpenBSD4_8`] [4.8.0]]
- [[`OpenBSD4_9`] [4.9.0]]
- ]
- */
-
-#define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if !BOOST_PREDEF_DETAIL_OS_DETECTED && ( \
- defined(__OpenBSD__) \
- )
-# ifndef BOOST_OS_BSD_AVAILABLE
-# define BOOST_OS_BSD BOOST_VERSION_NUMBER_AVAILABLE
-# define BOOST_OS_BSD_AVAILABLE
-# endif
-# undef BOOST_OS_BSD_OPEN
-# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD2_0)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,0,0)
-# endif
-# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD2_1)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,1,0)
-# endif
-# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD2_2)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,2,0)
-# endif
-# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD2_3)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,3,0)
-# endif
-# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD2_4)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,4,0)
-# endif
-# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD2_5)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,5,0)
-# endif
-# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD2_6)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,6,0)
-# endif
-# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD2_7)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,7,0)
-# endif
-# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD2_8)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,8,0)
-# endif
-# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD2_9)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(2,9,0)
-# endif
-# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD3_0)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,0,0)
-# endif
-# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD3_1)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,1,0)
-# endif
-# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD3_2)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,2,0)
-# endif
-# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD3_3)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,3,0)
-# endif
-# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD3_4)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,4,0)
-# endif
-# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD3_5)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,5,0)
-# endif
-# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD3_6)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,6,0)
-# endif
-# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD3_7)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,7,0)
-# endif
-# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD3_8)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,8,0)
-# endif
-# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD3_9)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(3,9,0)
-# endif
-# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD4_0)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,0,0)
-# endif
-# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD4_1)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,1,0)
-# endif
-# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD4_2)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,2,0)
-# endif
-# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD4_3)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,3,0)
-# endif
-# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD4_4)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,4,0)
-# endif
-# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD4_5)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,5,0)
-# endif
-# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD4_6)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,6,0)
-# endif
-# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD4_7)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,7,0)
-# endif
-# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD4_8)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,8,0)
-# endif
-# if !defined(BOOST_OS_BSD_OPEN) && defined(OpenBSD4_9)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER(4,9,0)
-# endif
-# if !defined(BOOST_OS_BSD_OPEN)
-# define BOOST_OS_BSD_OPEN BOOST_VERSION_NUMBER_AVAILABLE
-# endif
-#endif
-
-#if BOOST_OS_BSD_OPEN
-# define BOOST_OS_BSD_OPEN_AVAILABLE
-# include <boost/predef/detail/os_detected.h>
-#endif
-
-#define BOOST_OS_BSD_OPEN_NAME "OpenBSD"
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_OS_BSD_OPEN,BOOST_OS_BSD_OPEN_NAME)
-
-#endif
diff --git a/boost/predef/os/macos.h b/boost/predef/os/macos.h
deleted file mode 100644
index e625a6c..0000000
--- a/boost/predef/os/macos.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
-Copyright Redshift Software, Inc. 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)
-*/
-
-#ifndef BOOST_PREDEF_OS_MACOS_H
-#define BOOST_PREDEF_OS_MACOS_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_OS_MACOS`]
-
-[@http://en.wikipedia.org/wiki/Mac_OS Mac OS] operating system.
-
-[table
- [[__predef_symbol__] [__predef_version__]]
-
- [[`macintosh`] [__predef_detection__]]
- [[`Macintosh`] [__predef_detection__]]
- [[`__APPLE__`] [__predef_detection__]]
- [[`__MACH__`] [__predef_detection__]]
-
- [[`__APPLE__`, `__MACH__`] [10.0.0]]
- [[ /otherwise/ ] [9.0.0]]
- ]
- */
-
-#define BOOST_OS_MACOS BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if !BOOST_PREDEF_DETAIL_OS_DETECTED && ( \
- defined(macintosh) || defined(Macintosh) || \
- (defined(__APPLE__) && defined(__MACH__)) \
- )
-# undef BOOST_OS_MACOS
-# if !defined(BOOST_OS_MACOS) && defined(__APPLE__) && defined(__MACH__)
-# define BOOST_OS_MACOS BOOST_VERSION_NUMBER(10,0,0)
-# endif
-# if !defined(BOOST_OS_MACOS)
-# define BOOST_OS_MACOS BOOST_VERSION_NUMBER(9,0,0)
-# endif
-#endif
-
-#if BOOST_OS_MACOS
-# define BOOST_OS_MACOS_AVAILABLE
-# include <boost/predef/detail/os_detected.h>
-#endif
-
-#define BOOST_OS_MACOS_NAME "Mac OS"
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_OS_MACOS,BOOST_OS_MACOS_NAME)
-
-
-#endif
diff --git a/boost/predef/os/windows.h b/boost/predef/os/windows.h
deleted file mode 100644
index 1316963..0000000
--- a/boost/predef/os/windows.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
-Copyright Redshift Software, Inc. 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)
-*/
-
-#ifndef BOOST_PREDEF_OS_WINDOWS_H
-#define BOOST_PREDEF_OS_WINDOWS_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-
-/*`
-[heading `BOOST_OS_WINDOWS`]
-
-[@http://en.wikipedia.org/wiki/Category:Microsoft_Windows Microsoft Windows] operating system.
-
-[table
- [[__predef_symbol__] [__predef_version__]]
-
- [[`_WIN32`] [__predef_detection__]]
- [[`_WIN64`] [__predef_detection__]]
- [[`__WIN32__`] [__predef_detection__]]
- [[`__TOS_WIN__`] [__predef_detection__]]
- [[`__WINDOWS__`] [__predef_detection__]]
- ]
- */
-
-#define BOOST_OS_WINDOWS BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-#if !BOOST_PREDEF_DETAIL_OS_DETECTED && ( \
- defined(_WIN32) || defined(_WIN64) || \
- defined(__WIN32__) || defined(__TOS_WIN__) || \
- defined(__WINDOWS__) \
- )
-# undef BOOST_OS_WINDOWS
-# define BOOST_OS_WINDOWS BOOST_VERSION_NUMBER_AVAILABLE
-#endif
-
-#if BOOST_OS_WINDOWS
-# define BOOST_OS_WINDOWS_AVAILABLE
-# include <boost/predef/detail/os_detected.h>
-#endif
-
-#define BOOST_OS_WINDOWS_NAME "Microsoft Windows"
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_OS_WINDOWS,BOOST_OS_WINDOWS_NAME)
-
-#endif
diff --git a/boost/predef/other/endian.h b/boost/predef/other/endian.h
deleted file mode 100644
index 9d2a8bc..0000000
--- a/boost/predef/other/endian.h
+++ /dev/null
@@ -1,205 +0,0 @@
-/*
-Copyright Redshift Software, Inc. 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)
-*/
-
-#ifndef BOOST_PREDEF_ENDIAN_H
-#define BOOST_PREDEF_ENDIAN_H
-
-#include <boost/predef/version_number.h>
-#include <boost/predef/make.h>
-#include <boost/predef/library/c/gnu.h>
-#include <boost/predef/os/macos.h>
-#include <boost/predef/os/bsd.h>
-
-/*`
-[heading `BOOST_ENDIAN_*`]
-
-Detection of endian memory ordering. There are four defined macros
-in this header that define the various generally possible endian
-memory orderings:
-
-* `BOOST_ENDIAN_BIG_BYTE`, byte-swapped big-endian.
-* `BOOST_ENDIAN_BIG_WORD`, word-swapped big-endian.
-* `BOOST_ENDIAN_LITTLE_BYTE`, byte-swapped little-endian.
-* `BOOST_ENDIAN_LITTLE_WORD`, word-swapped little-endian.
-
-The detection is conservative in that it only identifies endianness
-that it knows for certain. In particular bi-endianness is not
-indicated as is it not practically possible to determine the
-endianness from anything but an operating system provided
-header. And the currently known headers do not define that
-programatic bi-endianness is available.
-
-This implementation is a compilation of various publicly available
-information and acquired knowledge:
-
-# The indispensable documentation of "Pre-defined Compiler Macros"
- [@http://sourceforge.net/p/predef/wiki/Endianness Endianness].
-# The various endian specifications available in the
- [@http://wikipedia.org/ Wikipedia] computer architecture pages.
-# Generally available searches for headers that define endianness.
- */
-
-#define BOOST_ENDIAN_BIG_BYTE BOOST_VERSION_NUMBER_NOT_AVAILABLE
-#define BOOST_ENDIAN_BIG_WORD BOOST_VERSION_NUMBER_NOT_AVAILABLE
-#define BOOST_ENDIAN_LITTLE_BYTE BOOST_VERSION_NUMBER_NOT_AVAILABLE
-#define BOOST_ENDIAN_LITTLE_WORD BOOST_VERSION_NUMBER_NOT_AVAILABLE
-
-/* GNU libc provides a header defining __BYTE_ORDER, or _BYTE_ORDER.
- * And some OSs provide some for of endian header also.
- */
-#if !BOOST_ENDIAN_BIG_BYTE && !BOOST_ENDIAN_BIG_WORD && \
- !BOOST_ENDIAN_LITTLE_BYTE && !BOOST_ENDIAN_LITTLE_WORD
-# if BOOST_LIB_C_GNU
-# include <endian.h>
-# else
-# if BOOST_OS_MACOS
-# include <machine/endian.h>
-# else
-# if BOOST_OS_BSD
-# if BOOST_OS_BSD_OPEN
-# include <machine/endian.h>
-# else
-# include <sys/endian.h>
-# endif
-# endif
-# endif
-# endif
-# if defined(__BYTE_ORDER)
-# if (__BYTE_ORDER == __BIG_ENDIAN)
-# undef BOOST_ENDIAN_BIG_BYTE
-# define BOOST_ENDIAN_BIG_BYTE BOOST_VERSION_NUMBER_AVAILABLE
-# endif
-# if (__BYTE_ORDER == __LITTLE_ENDIAN)
-# undef BOOST_ENDIAN_LITTLE_BYTE
-# define BOOST_ENDIAN_LITTLE_BYTE BOOST_VERSION_NUMBER_AVAILABLE
-# endif
-# if (__BYTE_ORDER == __PDP_ENDIAN)
-# undef BOOST_ENDIAN_LITTLE_WORD
-# define BOOST_ENDIAN_LITTLE_WORD BOOST_VERSION_NUMBER_AVAILABLE
-# endif
-# endif
-# if !defined(__BYTE_ORDER) && defined(_BYTE_ORDER)
-# if (_BYTE_ORDER == _BIG_ENDIAN)
-# undef BOOST_ENDIAN_BIG_BYTE
-# define BOOST_ENDIAN_BIG_BYTE BOOST_VERSION_NUMBER_AVAILABLE
-# endif
-# if (_BYTE_ORDER == _LITTLE_ENDIAN)
-# undef BOOST_ENDIAN_LITTLE_BYTE
-# define BOOST_ENDIAN_LITTLE_BYTE BOOST_VERSION_NUMBER_AVAILABLE
-# endif
-# if (_BYTE_ORDER == _PDP_ENDIAN)
-# undef BOOST_ENDIAN_LITTLE_WORD
-# define BOOST_ENDIAN_LITTLE_WORD BOOST_VERSION_NUMBER_AVAILABLE
-# endif
-# endif
-#endif
-
-/* Built-in byte-swpped big-endian macros.
- */
-#if !BOOST_ENDIAN_BIG_BYTE && !BOOST_ENDIAN_BIG_WORD && \
- !BOOST_ENDIAN_LITTLE_BYTE && !BOOST_ENDIAN_LITTLE_WORD
-# if !BOOST_ENDIAN_BIG_BYTE
-# if (defined(__BIG_ENDIAN__) && !defined(__LITTLE_ENDIAN__)) || \
- defined(__ARMEB__) || \
- defined(__THUMBEB__) || \
- defined(__AARCH64EB__) || \
- defined(_MIPSEB) || \
- defined(__MIPSEB) || \
- defined(__MIPSEB__)
-# undef BOOST_ENDIAN_BIG_BYTE
-# define BOOST_ENDIAN_BIG_BYTE BOOST_VERSION_NUMBER_AVAILABLE
-# endif
-# endif
-#endif
-
-/* Built-in byte-swpped little-endian macros.
- */
-#if !BOOST_ENDIAN_BIG_BYTE && !BOOST_ENDIAN_BIG_WORD && \
- !BOOST_ENDIAN_LITTLE_BYTE && !BOOST_ENDIAN_LITTLE_WORD
-# if !BOOST_ENDIAN_LITTLE_BYTE
-# if (defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__)) || \
- defined(__ARMEL__) || \
- defined(__THUMBEL__) || \
- defined(__AARCH64EL__) || \
- defined(_MIPSEL) || \
- defined(__MIPSEL) || \
- defined(__MIPSEL__)
-# undef BOOST_ENDIAN_LITTLE_BYTE
-# define BOOST_ENDIAN_LITTLE_BYTE BOOST_VERSION_NUMBER_AVAILABLE
-# endif
-# endif
-#endif
-
-/* Some architectures are strictly one endianess (as opposed
- * the current common bi-endianess).
- */
-#if !BOOST_ENDIAN_BIG_BYTE && !BOOST_ENDIAN_BIG_WORD && \
- !BOOST_ENDIAN_LITTLE_BYTE && !BOOST_ENDIAN_LITTLE_WORD
-# include <boost/predef/architecture.h>
-# if BOOST_ARCH_M68K || \
- BOOST_ARCH_PARISK || \
- BOOST_ARCH_SYS370 || \
- BOOST_ARCH_SYS390 || \
- BOOST_ARCH_Z
-# undef BOOST_ENDIAN_BIG_BYTE
-# define BOOST_ENDIAN_BIG_BYTE BOOST_VERSION_NUMBER_AVAILABLE
-# endif
-# if BOOST_ARCH_AMD64 || \
- BOOST_ARCH_IA64 || \
- BOOST_ARCH_X86 || \
- BOOST_ARCH_BLACKFIN
-# undef BOOST_ENDIAN_LITTLE_BYTE
-# define BOOST_ENDIAN_LITTLE_BYTE BOOST_VERSION_NUMBER_AVAILABLE
-# endif
-#endif
-
-/* Windows on ARM, if not otherwise detected/specified, is always
- * byte-swaped little-endian.
- */
-#if !BOOST_ENDIAN_BIG_BYTE && !BOOST_ENDIAN_BIG_WORD && \
- !BOOST_ENDIAN_LITTLE_BYTE && !BOOST_ENDIAN_LITTLE_WORD
-# if BOOST_ARCH_ARM
-# include <boost/predef/os/windows.h>
-# if BOOST_OS_WINDOWS
-# undef BOOST_ENDIAN_LITTLE_BYTE
-# define BOOST_ENDIAN_LITTLE_BYTE BOOST_VERSION_NUMBER_AVAILABLE
-# endif
-# endif
-#endif
-
-#if BOOST_ENDIAN_BIG_BYTE
-# define BOOST_ENDIAN_BIG_BYTE_AVAILABLE
-#endif
-#if BOOST_ENDIAN_BIG_WORD
-# define BOOST_ENDIAN_BIG_WORD_BYTE_AVAILABLE
-#endif
-#if BOOST_ENDIAN_LITTLE_BYTE
-# define BOOST_ENDIAN_LITTLE_BYTE_AVAILABLE
-#endif
-#if BOOST_ENDIAN_LITTLE_WORD
-# define BOOST_ENDIAN_LITTLE_WORD_BYTE_AVAILABLE
-#endif
-
-#define BOOST_ENDIAN_BIG_BYTE_NAME "Byte-Swapped Big-Endian"
-#define BOOST_ENDIAN_BIG_WORD_NAME "Word-Swapped Big-Endian"
-#define BOOST_ENDIAN_LITTLE_BYTE_NAME "Byte-Swapped Little-Endian"
-#define BOOST_ENDIAN_LITTLE_WORD_NAME "Word-Swapped Little-Endian"
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_ENDIAN_BIG_BYTE,BOOST_ENDIAN_BIG_BYTE_NAME)
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_ENDIAN_BIG_WORD,BOOST_ENDIAN_BIG_WORD_NAME)
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_ENDIAN_LITTLE_BYTE,BOOST_ENDIAN_LITTLE_BYTE_NAME)
-
-#include <boost/predef/detail/test.h>
-BOOST_PREDEF_DECLARE_TEST(BOOST_ENDIAN_LITTLE_WORD,BOOST_ENDIAN_LITTLE_WORD_NAME)
-
-
-#endif
diff --git a/boost/predef/version_number.h b/boost/predef/version_number.h
deleted file mode 100644
index 2ecccd2..0000000
--- a/boost/predef/version_number.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
-Copyright Rene Rivera 2005
-Copyright Redshift Software, Inc. 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)
-*/
-
-#ifndef BOOST_PREDEF_VERSION_NUMBER_H
-#define BOOST_PREDEF_VERSION_NUMBER_H
-
-/*`
-[heading `BOOST_VERSION_NUMBER`]
-
-``
-BOOST_VERSION_NUMBER(major,minor,patch)
-``
-
-Defines standard version numbers, with these properties:
-
-* Decimal base whole numbers in the range \[0,1000000000).
- The number range is designed to allow for a (2,2,5) triplet.
- Which fits within a 32 bit value.
-* The `major` number can be in the \[0,99\] range.
-* The `minor` number can be in the \[0,99\] range.
-* The `patch` number can be in the \[0,99999\] range.
-* Values can be specified in any base. As the defined value
- is an constant expression.
-* Value can be directly used in both preprocessor and compiler
- expressions for comparison to other similarly defined values.
-* The implementation enforces the individual ranges for the
- major, minor, and patch numbers. And values over the ranges
- are truncated (modulo).
-
-*/
-#define BOOST_VERSION_NUMBER(major,minor,patch) \
- ( (((major)%100)*10000000) + (((minor)%100)*100000) + ((patch)%100000) )
-
-#define BOOST_VERSION_NUMBER_MAX \
- BOOST_VERSION_NUMBER(99,99,99999)
-
-#define BOOST_VERSION_NUMBER_ZERO \
- BOOST_VERSION_NUMBER(0,0,0)
-
-#define BOOST_VERSION_NUMBER_MIN \
- BOOST_VERSION_NUMBER(0,0,1)
-
-#define BOOST_VERSION_NUMBER_AVAILABLE \
- BOOST_VERSION_NUMBER_MIN
-
-#define BOOST_VERSION_NUMBER_NOT_AVAILABLE \
- BOOST_VERSION_NUMBER_ZERO
-
-#endif
diff --git a/boost/preprocessor/arithmetic/add.hpp b/boost/preprocessor/arithmetic/add.hpp
deleted file mode 100644
index 5a29f55..0000000
--- a/boost/preprocessor/arithmetic/add.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_ARITHMETIC_ADD_HPP
-# define BOOST_PREPROCESSOR_ARITHMETIC_ADD_HPP
-#
-# include <boost/preprocessor/arithmetic/dec.hpp>
-# include <boost/preprocessor/arithmetic/inc.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/control/while.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-#
-# /* BOOST_PP_ADD */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_ADD(x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_ADD_P, BOOST_PP_ADD_O, (x, y)))
-# else
-# define BOOST_PP_ADD(x, y) BOOST_PP_ADD_I(x, y)
-# define BOOST_PP_ADD_I(x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_ADD_P, BOOST_PP_ADD_O, (x, y)))
-# endif
-#
-# define BOOST_PP_ADD_P(d, xy) BOOST_PP_TUPLE_ELEM(2, 1, xy)
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-# define BOOST_PP_ADD_O(d, xy) BOOST_PP_ADD_O_I xy
-# else
-# define BOOST_PP_ADD_O(d, xy) BOOST_PP_ADD_O_I(BOOST_PP_TUPLE_ELEM(2, 0, xy), BOOST_PP_TUPLE_ELEM(2, 1, xy))
-# endif
-#
-# define BOOST_PP_ADD_O_I(x, y) (BOOST_PP_INC(x), BOOST_PP_DEC(y))
-#
-# /* BOOST_PP_ADD_D */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_ADD_D(d, x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_ADD_P, BOOST_PP_ADD_O, (x, y)))
-# else
-# define BOOST_PP_ADD_D(d, x, y) BOOST_PP_ADD_D_I(d, x, y)
-# define BOOST_PP_ADD_D_I(d, x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_ADD_P, BOOST_PP_ADD_O, (x, y)))
-# endif
-#
-# endif
diff --git a/boost/preprocessor/arithmetic/dec.hpp b/boost/preprocessor/arithmetic/dec.hpp
deleted file mode 100644
index 0503359..0000000
--- a/boost/preprocessor/arithmetic/dec.hpp
+++ /dev/null
@@ -1,288 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_ARITHMETIC_DEC_HPP
-# define BOOST_PREPROCESSOR_ARITHMETIC_DEC_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# /* BOOST_PP_DEC */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-# define BOOST_PP_DEC(x) BOOST_PP_DEC_I(x)
-# else
-# define BOOST_PP_DEC(x) BOOST_PP_DEC_OO((x))
-# define BOOST_PP_DEC_OO(par) BOOST_PP_DEC_I ## par
-# endif
-#
-# define BOOST_PP_DEC_I(x) BOOST_PP_DEC_ ## x
-#
-# define BOOST_PP_DEC_0 0
-# define BOOST_PP_DEC_1 0
-# define BOOST_PP_DEC_2 1
-# define BOOST_PP_DEC_3 2
-# define BOOST_PP_DEC_4 3
-# define BOOST_PP_DEC_5 4
-# define BOOST_PP_DEC_6 5
-# define BOOST_PP_DEC_7 6
-# define BOOST_PP_DEC_8 7
-# define BOOST_PP_DEC_9 8
-# define BOOST_PP_DEC_10 9
-# define BOOST_PP_DEC_11 10
-# define BOOST_PP_DEC_12 11
-# define BOOST_PP_DEC_13 12
-# define BOOST_PP_DEC_14 13
-# define BOOST_PP_DEC_15 14
-# define BOOST_PP_DEC_16 15
-# define BOOST_PP_DEC_17 16
-# define BOOST_PP_DEC_18 17
-# define BOOST_PP_DEC_19 18
-# define BOOST_PP_DEC_20 19
-# define BOOST_PP_DEC_21 20
-# define BOOST_PP_DEC_22 21
-# define BOOST_PP_DEC_23 22
-# define BOOST_PP_DEC_24 23
-# define BOOST_PP_DEC_25 24
-# define BOOST_PP_DEC_26 25
-# define BOOST_PP_DEC_27 26
-# define BOOST_PP_DEC_28 27
-# define BOOST_PP_DEC_29 28
-# define BOOST_PP_DEC_30 29
-# define BOOST_PP_DEC_31 30
-# define BOOST_PP_DEC_32 31
-# define BOOST_PP_DEC_33 32
-# define BOOST_PP_DEC_34 33
-# define BOOST_PP_DEC_35 34
-# define BOOST_PP_DEC_36 35
-# define BOOST_PP_DEC_37 36
-# define BOOST_PP_DEC_38 37
-# define BOOST_PP_DEC_39 38
-# define BOOST_PP_DEC_40 39
-# define BOOST_PP_DEC_41 40
-# define BOOST_PP_DEC_42 41
-# define BOOST_PP_DEC_43 42
-# define BOOST_PP_DEC_44 43
-# define BOOST_PP_DEC_45 44
-# define BOOST_PP_DEC_46 45
-# define BOOST_PP_DEC_47 46
-# define BOOST_PP_DEC_48 47
-# define BOOST_PP_DEC_49 48
-# define BOOST_PP_DEC_50 49
-# define BOOST_PP_DEC_51 50
-# define BOOST_PP_DEC_52 51
-# define BOOST_PP_DEC_53 52
-# define BOOST_PP_DEC_54 53
-# define BOOST_PP_DEC_55 54
-# define BOOST_PP_DEC_56 55
-# define BOOST_PP_DEC_57 56
-# define BOOST_PP_DEC_58 57
-# define BOOST_PP_DEC_59 58
-# define BOOST_PP_DEC_60 59
-# define BOOST_PP_DEC_61 60
-# define BOOST_PP_DEC_62 61
-# define BOOST_PP_DEC_63 62
-# define BOOST_PP_DEC_64 63
-# define BOOST_PP_DEC_65 64
-# define BOOST_PP_DEC_66 65
-# define BOOST_PP_DEC_67 66
-# define BOOST_PP_DEC_68 67
-# define BOOST_PP_DEC_69 68
-# define BOOST_PP_DEC_70 69
-# define BOOST_PP_DEC_71 70
-# define BOOST_PP_DEC_72 71
-# define BOOST_PP_DEC_73 72
-# define BOOST_PP_DEC_74 73
-# define BOOST_PP_DEC_75 74
-# define BOOST_PP_DEC_76 75
-# define BOOST_PP_DEC_77 76
-# define BOOST_PP_DEC_78 77
-# define BOOST_PP_DEC_79 78
-# define BOOST_PP_DEC_80 79
-# define BOOST_PP_DEC_81 80
-# define BOOST_PP_DEC_82 81
-# define BOOST_PP_DEC_83 82
-# define BOOST_PP_DEC_84 83
-# define BOOST_PP_DEC_85 84
-# define BOOST_PP_DEC_86 85
-# define BOOST_PP_DEC_87 86
-# define BOOST_PP_DEC_88 87
-# define BOOST_PP_DEC_89 88
-# define BOOST_PP_DEC_90 89
-# define BOOST_PP_DEC_91 90
-# define BOOST_PP_DEC_92 91
-# define BOOST_PP_DEC_93 92
-# define BOOST_PP_DEC_94 93
-# define BOOST_PP_DEC_95 94
-# define BOOST_PP_DEC_96 95
-# define BOOST_PP_DEC_97 96
-# define BOOST_PP_DEC_98 97
-# define BOOST_PP_DEC_99 98
-# define BOOST_PP_DEC_100 99
-# define BOOST_PP_DEC_101 100
-# define BOOST_PP_DEC_102 101
-# define BOOST_PP_DEC_103 102
-# define BOOST_PP_DEC_104 103
-# define BOOST_PP_DEC_105 104
-# define BOOST_PP_DEC_106 105
-# define BOOST_PP_DEC_107 106
-# define BOOST_PP_DEC_108 107
-# define BOOST_PP_DEC_109 108
-# define BOOST_PP_DEC_110 109
-# define BOOST_PP_DEC_111 110
-# define BOOST_PP_DEC_112 111
-# define BOOST_PP_DEC_113 112
-# define BOOST_PP_DEC_114 113
-# define BOOST_PP_DEC_115 114
-# define BOOST_PP_DEC_116 115
-# define BOOST_PP_DEC_117 116
-# define BOOST_PP_DEC_118 117
-# define BOOST_PP_DEC_119 118
-# define BOOST_PP_DEC_120 119
-# define BOOST_PP_DEC_121 120
-# define BOOST_PP_DEC_122 121
-# define BOOST_PP_DEC_123 122
-# define BOOST_PP_DEC_124 123
-# define BOOST_PP_DEC_125 124
-# define BOOST_PP_DEC_126 125
-# define BOOST_PP_DEC_127 126
-# define BOOST_PP_DEC_128 127
-# define BOOST_PP_DEC_129 128
-# define BOOST_PP_DEC_130 129
-# define BOOST_PP_DEC_131 130
-# define BOOST_PP_DEC_132 131
-# define BOOST_PP_DEC_133 132
-# define BOOST_PP_DEC_134 133
-# define BOOST_PP_DEC_135 134
-# define BOOST_PP_DEC_136 135
-# define BOOST_PP_DEC_137 136
-# define BOOST_PP_DEC_138 137
-# define BOOST_PP_DEC_139 138
-# define BOOST_PP_DEC_140 139
-# define BOOST_PP_DEC_141 140
-# define BOOST_PP_DEC_142 141
-# define BOOST_PP_DEC_143 142
-# define BOOST_PP_DEC_144 143
-# define BOOST_PP_DEC_145 144
-# define BOOST_PP_DEC_146 145
-# define BOOST_PP_DEC_147 146
-# define BOOST_PP_DEC_148 147
-# define BOOST_PP_DEC_149 148
-# define BOOST_PP_DEC_150 149
-# define BOOST_PP_DEC_151 150
-# define BOOST_PP_DEC_152 151
-# define BOOST_PP_DEC_153 152
-# define BOOST_PP_DEC_154 153
-# define BOOST_PP_DEC_155 154
-# define BOOST_PP_DEC_156 155
-# define BOOST_PP_DEC_157 156
-# define BOOST_PP_DEC_158 157
-# define BOOST_PP_DEC_159 158
-# define BOOST_PP_DEC_160 159
-# define BOOST_PP_DEC_161 160
-# define BOOST_PP_DEC_162 161
-# define BOOST_PP_DEC_163 162
-# define BOOST_PP_DEC_164 163
-# define BOOST_PP_DEC_165 164
-# define BOOST_PP_DEC_166 165
-# define BOOST_PP_DEC_167 166
-# define BOOST_PP_DEC_168 167
-# define BOOST_PP_DEC_169 168
-# define BOOST_PP_DEC_170 169
-# define BOOST_PP_DEC_171 170
-# define BOOST_PP_DEC_172 171
-# define BOOST_PP_DEC_173 172
-# define BOOST_PP_DEC_174 173
-# define BOOST_PP_DEC_175 174
-# define BOOST_PP_DEC_176 175
-# define BOOST_PP_DEC_177 176
-# define BOOST_PP_DEC_178 177
-# define BOOST_PP_DEC_179 178
-# define BOOST_PP_DEC_180 179
-# define BOOST_PP_DEC_181 180
-# define BOOST_PP_DEC_182 181
-# define BOOST_PP_DEC_183 182
-# define BOOST_PP_DEC_184 183
-# define BOOST_PP_DEC_185 184
-# define BOOST_PP_DEC_186 185
-# define BOOST_PP_DEC_187 186
-# define BOOST_PP_DEC_188 187
-# define BOOST_PP_DEC_189 188
-# define BOOST_PP_DEC_190 189
-# define BOOST_PP_DEC_191 190
-# define BOOST_PP_DEC_192 191
-# define BOOST_PP_DEC_193 192
-# define BOOST_PP_DEC_194 193
-# define BOOST_PP_DEC_195 194
-# define BOOST_PP_DEC_196 195
-# define BOOST_PP_DEC_197 196
-# define BOOST_PP_DEC_198 197
-# define BOOST_PP_DEC_199 198
-# define BOOST_PP_DEC_200 199
-# define BOOST_PP_DEC_201 200
-# define BOOST_PP_DEC_202 201
-# define BOOST_PP_DEC_203 202
-# define BOOST_PP_DEC_204 203
-# define BOOST_PP_DEC_205 204
-# define BOOST_PP_DEC_206 205
-# define BOOST_PP_DEC_207 206
-# define BOOST_PP_DEC_208 207
-# define BOOST_PP_DEC_209 208
-# define BOOST_PP_DEC_210 209
-# define BOOST_PP_DEC_211 210
-# define BOOST_PP_DEC_212 211
-# define BOOST_PP_DEC_213 212
-# define BOOST_PP_DEC_214 213
-# define BOOST_PP_DEC_215 214
-# define BOOST_PP_DEC_216 215
-# define BOOST_PP_DEC_217 216
-# define BOOST_PP_DEC_218 217
-# define BOOST_PP_DEC_219 218
-# define BOOST_PP_DEC_220 219
-# define BOOST_PP_DEC_221 220
-# define BOOST_PP_DEC_222 221
-# define BOOST_PP_DEC_223 222
-# define BOOST_PP_DEC_224 223
-# define BOOST_PP_DEC_225 224
-# define BOOST_PP_DEC_226 225
-# define BOOST_PP_DEC_227 226
-# define BOOST_PP_DEC_228 227
-# define BOOST_PP_DEC_229 228
-# define BOOST_PP_DEC_230 229
-# define BOOST_PP_DEC_231 230
-# define BOOST_PP_DEC_232 231
-# define BOOST_PP_DEC_233 232
-# define BOOST_PP_DEC_234 233
-# define BOOST_PP_DEC_235 234
-# define BOOST_PP_DEC_236 235
-# define BOOST_PP_DEC_237 236
-# define BOOST_PP_DEC_238 237
-# define BOOST_PP_DEC_239 238
-# define BOOST_PP_DEC_240 239
-# define BOOST_PP_DEC_241 240
-# define BOOST_PP_DEC_242 241
-# define BOOST_PP_DEC_243 242
-# define BOOST_PP_DEC_244 243
-# define BOOST_PP_DEC_245 244
-# define BOOST_PP_DEC_246 245
-# define BOOST_PP_DEC_247 246
-# define BOOST_PP_DEC_248 247
-# define BOOST_PP_DEC_249 248
-# define BOOST_PP_DEC_250 249
-# define BOOST_PP_DEC_251 250
-# define BOOST_PP_DEC_252 251
-# define BOOST_PP_DEC_253 252
-# define BOOST_PP_DEC_254 253
-# define BOOST_PP_DEC_255 254
-# define BOOST_PP_DEC_256 255
-#
-# endif
diff --git a/boost/preprocessor/arithmetic/inc.hpp b/boost/preprocessor/arithmetic/inc.hpp
deleted file mode 100644
index 1597ab8..0000000
--- a/boost/preprocessor/arithmetic/inc.hpp
+++ /dev/null
@@ -1,288 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_ARITHMETIC_INC_HPP
-# define BOOST_PREPROCESSOR_ARITHMETIC_INC_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# /* BOOST_PP_INC */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-# define BOOST_PP_INC(x) BOOST_PP_INC_I(x)
-# else
-# define BOOST_PP_INC(x) BOOST_PP_INC_OO((x))
-# define BOOST_PP_INC_OO(par) BOOST_PP_INC_I ## par
-# endif
-#
-# define BOOST_PP_INC_I(x) BOOST_PP_INC_ ## x
-#
-# define BOOST_PP_INC_0 1
-# define BOOST_PP_INC_1 2
-# define BOOST_PP_INC_2 3
-# define BOOST_PP_INC_3 4
-# define BOOST_PP_INC_4 5
-# define BOOST_PP_INC_5 6
-# define BOOST_PP_INC_6 7
-# define BOOST_PP_INC_7 8
-# define BOOST_PP_INC_8 9
-# define BOOST_PP_INC_9 10
-# define BOOST_PP_INC_10 11
-# define BOOST_PP_INC_11 12
-# define BOOST_PP_INC_12 13
-# define BOOST_PP_INC_13 14
-# define BOOST_PP_INC_14 15
-# define BOOST_PP_INC_15 16
-# define BOOST_PP_INC_16 17
-# define BOOST_PP_INC_17 18
-# define BOOST_PP_INC_18 19
-# define BOOST_PP_INC_19 20
-# define BOOST_PP_INC_20 21
-# define BOOST_PP_INC_21 22
-# define BOOST_PP_INC_22 23
-# define BOOST_PP_INC_23 24
-# define BOOST_PP_INC_24 25
-# define BOOST_PP_INC_25 26
-# define BOOST_PP_INC_26 27
-# define BOOST_PP_INC_27 28
-# define BOOST_PP_INC_28 29
-# define BOOST_PP_INC_29 30
-# define BOOST_PP_INC_30 31
-# define BOOST_PP_INC_31 32
-# define BOOST_PP_INC_32 33
-# define BOOST_PP_INC_33 34
-# define BOOST_PP_INC_34 35
-# define BOOST_PP_INC_35 36
-# define BOOST_PP_INC_36 37
-# define BOOST_PP_INC_37 38
-# define BOOST_PP_INC_38 39
-# define BOOST_PP_INC_39 40
-# define BOOST_PP_INC_40 41
-# define BOOST_PP_INC_41 42
-# define BOOST_PP_INC_42 43
-# define BOOST_PP_INC_43 44
-# define BOOST_PP_INC_44 45
-# define BOOST_PP_INC_45 46
-# define BOOST_PP_INC_46 47
-# define BOOST_PP_INC_47 48
-# define BOOST_PP_INC_48 49
-# define BOOST_PP_INC_49 50
-# define BOOST_PP_INC_50 51
-# define BOOST_PP_INC_51 52
-# define BOOST_PP_INC_52 53
-# define BOOST_PP_INC_53 54
-# define BOOST_PP_INC_54 55
-# define BOOST_PP_INC_55 56
-# define BOOST_PP_INC_56 57
-# define BOOST_PP_INC_57 58
-# define BOOST_PP_INC_58 59
-# define BOOST_PP_INC_59 60
-# define BOOST_PP_INC_60 61
-# define BOOST_PP_INC_61 62
-# define BOOST_PP_INC_62 63
-# define BOOST_PP_INC_63 64
-# define BOOST_PP_INC_64 65
-# define BOOST_PP_INC_65 66
-# define BOOST_PP_INC_66 67
-# define BOOST_PP_INC_67 68
-# define BOOST_PP_INC_68 69
-# define BOOST_PP_INC_69 70
-# define BOOST_PP_INC_70 71
-# define BOOST_PP_INC_71 72
-# define BOOST_PP_INC_72 73
-# define BOOST_PP_INC_73 74
-# define BOOST_PP_INC_74 75
-# define BOOST_PP_INC_75 76
-# define BOOST_PP_INC_76 77
-# define BOOST_PP_INC_77 78
-# define BOOST_PP_INC_78 79
-# define BOOST_PP_INC_79 80
-# define BOOST_PP_INC_80 81
-# define BOOST_PP_INC_81 82
-# define BOOST_PP_INC_82 83
-# define BOOST_PP_INC_83 84
-# define BOOST_PP_INC_84 85
-# define BOOST_PP_INC_85 86
-# define BOOST_PP_INC_86 87
-# define BOOST_PP_INC_87 88
-# define BOOST_PP_INC_88 89
-# define BOOST_PP_INC_89 90
-# define BOOST_PP_INC_90 91
-# define BOOST_PP_INC_91 92
-# define BOOST_PP_INC_92 93
-# define BOOST_PP_INC_93 94
-# define BOOST_PP_INC_94 95
-# define BOOST_PP_INC_95 96
-# define BOOST_PP_INC_96 97
-# define BOOST_PP_INC_97 98
-# define BOOST_PP_INC_98 99
-# define BOOST_PP_INC_99 100
-# define BOOST_PP_INC_100 101
-# define BOOST_PP_INC_101 102
-# define BOOST_PP_INC_102 103
-# define BOOST_PP_INC_103 104
-# define BOOST_PP_INC_104 105
-# define BOOST_PP_INC_105 106
-# define BOOST_PP_INC_106 107
-# define BOOST_PP_INC_107 108
-# define BOOST_PP_INC_108 109
-# define BOOST_PP_INC_109 110
-# define BOOST_PP_INC_110 111
-# define BOOST_PP_INC_111 112
-# define BOOST_PP_INC_112 113
-# define BOOST_PP_INC_113 114
-# define BOOST_PP_INC_114 115
-# define BOOST_PP_INC_115 116
-# define BOOST_PP_INC_116 117
-# define BOOST_PP_INC_117 118
-# define BOOST_PP_INC_118 119
-# define BOOST_PP_INC_119 120
-# define BOOST_PP_INC_120 121
-# define BOOST_PP_INC_121 122
-# define BOOST_PP_INC_122 123
-# define BOOST_PP_INC_123 124
-# define BOOST_PP_INC_124 125
-# define BOOST_PP_INC_125 126
-# define BOOST_PP_INC_126 127
-# define BOOST_PP_INC_127 128
-# define BOOST_PP_INC_128 129
-# define BOOST_PP_INC_129 130
-# define BOOST_PP_INC_130 131
-# define BOOST_PP_INC_131 132
-# define BOOST_PP_INC_132 133
-# define BOOST_PP_INC_133 134
-# define BOOST_PP_INC_134 135
-# define BOOST_PP_INC_135 136
-# define BOOST_PP_INC_136 137
-# define BOOST_PP_INC_137 138
-# define BOOST_PP_INC_138 139
-# define BOOST_PP_INC_139 140
-# define BOOST_PP_INC_140 141
-# define BOOST_PP_INC_141 142
-# define BOOST_PP_INC_142 143
-# define BOOST_PP_INC_143 144
-# define BOOST_PP_INC_144 145
-# define BOOST_PP_INC_145 146
-# define BOOST_PP_INC_146 147
-# define BOOST_PP_INC_147 148
-# define BOOST_PP_INC_148 149
-# define BOOST_PP_INC_149 150
-# define BOOST_PP_INC_150 151
-# define BOOST_PP_INC_151 152
-# define BOOST_PP_INC_152 153
-# define BOOST_PP_INC_153 154
-# define BOOST_PP_INC_154 155
-# define BOOST_PP_INC_155 156
-# define BOOST_PP_INC_156 157
-# define BOOST_PP_INC_157 158
-# define BOOST_PP_INC_158 159
-# define BOOST_PP_INC_159 160
-# define BOOST_PP_INC_160 161
-# define BOOST_PP_INC_161 162
-# define BOOST_PP_INC_162 163
-# define BOOST_PP_INC_163 164
-# define BOOST_PP_INC_164 165
-# define BOOST_PP_INC_165 166
-# define BOOST_PP_INC_166 167
-# define BOOST_PP_INC_167 168
-# define BOOST_PP_INC_168 169
-# define BOOST_PP_INC_169 170
-# define BOOST_PP_INC_170 171
-# define BOOST_PP_INC_171 172
-# define BOOST_PP_INC_172 173
-# define BOOST_PP_INC_173 174
-# define BOOST_PP_INC_174 175
-# define BOOST_PP_INC_175 176
-# define BOOST_PP_INC_176 177
-# define BOOST_PP_INC_177 178
-# define BOOST_PP_INC_178 179
-# define BOOST_PP_INC_179 180
-# define BOOST_PP_INC_180 181
-# define BOOST_PP_INC_181 182
-# define BOOST_PP_INC_182 183
-# define BOOST_PP_INC_183 184
-# define BOOST_PP_INC_184 185
-# define BOOST_PP_INC_185 186
-# define BOOST_PP_INC_186 187
-# define BOOST_PP_INC_187 188
-# define BOOST_PP_INC_188 189
-# define BOOST_PP_INC_189 190
-# define BOOST_PP_INC_190 191
-# define BOOST_PP_INC_191 192
-# define BOOST_PP_INC_192 193
-# define BOOST_PP_INC_193 194
-# define BOOST_PP_INC_194 195
-# define BOOST_PP_INC_195 196
-# define BOOST_PP_INC_196 197
-# define BOOST_PP_INC_197 198
-# define BOOST_PP_INC_198 199
-# define BOOST_PP_INC_199 200
-# define BOOST_PP_INC_200 201
-# define BOOST_PP_INC_201 202
-# define BOOST_PP_INC_202 203
-# define BOOST_PP_INC_203 204
-# define BOOST_PP_INC_204 205
-# define BOOST_PP_INC_205 206
-# define BOOST_PP_INC_206 207
-# define BOOST_PP_INC_207 208
-# define BOOST_PP_INC_208 209
-# define BOOST_PP_INC_209 210
-# define BOOST_PP_INC_210 211
-# define BOOST_PP_INC_211 212
-# define BOOST_PP_INC_212 213
-# define BOOST_PP_INC_213 214
-# define BOOST_PP_INC_214 215
-# define BOOST_PP_INC_215 216
-# define BOOST_PP_INC_216 217
-# define BOOST_PP_INC_217 218
-# define BOOST_PP_INC_218 219
-# define BOOST_PP_INC_219 220
-# define BOOST_PP_INC_220 221
-# define BOOST_PP_INC_221 222
-# define BOOST_PP_INC_222 223
-# define BOOST_PP_INC_223 224
-# define BOOST_PP_INC_224 225
-# define BOOST_PP_INC_225 226
-# define BOOST_PP_INC_226 227
-# define BOOST_PP_INC_227 228
-# define BOOST_PP_INC_228 229
-# define BOOST_PP_INC_229 230
-# define BOOST_PP_INC_230 231
-# define BOOST_PP_INC_231 232
-# define BOOST_PP_INC_232 233
-# define BOOST_PP_INC_233 234
-# define BOOST_PP_INC_234 235
-# define BOOST_PP_INC_235 236
-# define BOOST_PP_INC_236 237
-# define BOOST_PP_INC_237 238
-# define BOOST_PP_INC_238 239
-# define BOOST_PP_INC_239 240
-# define BOOST_PP_INC_240 241
-# define BOOST_PP_INC_241 242
-# define BOOST_PP_INC_242 243
-# define BOOST_PP_INC_243 244
-# define BOOST_PP_INC_244 245
-# define BOOST_PP_INC_245 246
-# define BOOST_PP_INC_246 247
-# define BOOST_PP_INC_247 248
-# define BOOST_PP_INC_248 249
-# define BOOST_PP_INC_249 250
-# define BOOST_PP_INC_250 251
-# define BOOST_PP_INC_251 252
-# define BOOST_PP_INC_252 253
-# define BOOST_PP_INC_253 254
-# define BOOST_PP_INC_254 255
-# define BOOST_PP_INC_255 256
-# define BOOST_PP_INC_256 256
-#
-# endif
diff --git a/boost/preprocessor/arithmetic/sub.hpp b/boost/preprocessor/arithmetic/sub.hpp
deleted file mode 100644
index 5262cda..0000000
--- a/boost/preprocessor/arithmetic/sub.hpp
+++ /dev/null
@@ -1,50 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_ARITHMETIC_SUB_HPP
-# define BOOST_PREPROCESSOR_ARITHMETIC_SUB_HPP
-#
-# include <boost/preprocessor/arithmetic/dec.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/control/while.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-#
-# /* BOOST_PP_SUB */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_SUB(x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_SUB_P, BOOST_PP_SUB_O, (x, y)))
-# else
-# define BOOST_PP_SUB(x, y) BOOST_PP_SUB_I(x, y)
-# define BOOST_PP_SUB_I(x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_SUB_P, BOOST_PP_SUB_O, (x, y)))
-# endif
-#
-# define BOOST_PP_SUB_P(d, xy) BOOST_PP_TUPLE_ELEM(2, 1, xy)
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-# define BOOST_PP_SUB_O(d, xy) BOOST_PP_SUB_O_I xy
-# else
-# define BOOST_PP_SUB_O(d, xy) BOOST_PP_SUB_O_I(BOOST_PP_TUPLE_ELEM(2, 0, xy), BOOST_PP_TUPLE_ELEM(2, 1, xy))
-# endif
-#
-# define BOOST_PP_SUB_O_I(x, y) (BOOST_PP_DEC(x), BOOST_PP_DEC(y))
-#
-# /* BOOST_PP_SUB_D */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_SUB_D(d, x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_SUB_P, BOOST_PP_SUB_O, (x, y)))
-# else
-# define BOOST_PP_SUB_D(d, x, y) BOOST_PP_SUB_D_I(d, x, y)
-# define BOOST_PP_SUB_D_I(d, x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_SUB_P, BOOST_PP_SUB_O, (x, y)))
-# endif
-#
-# endif
diff --git a/boost/preprocessor/array/data.hpp b/boost/preprocessor/array/data.hpp
deleted file mode 100644
index 10c926a..0000000
--- a/boost/preprocessor/array/data.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_ARRAY_DATA_HPP
-# define BOOST_PREPROCESSOR_ARRAY_DATA_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-#
-# /* BOOST_PP_ARRAY_DATA */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_ARRAY_DATA(array) BOOST_PP_TUPLE_ELEM(2, 1, array)
-# else
-# define BOOST_PP_ARRAY_DATA(array) BOOST_PP_ARRAY_DATA_I(array)
-# define BOOST_PP_ARRAY_DATA_I(array) BOOST_PP_ARRAY_DATA_II array
-# define BOOST_PP_ARRAY_DATA_II(size, data) data
-# endif
-#
-# endif
diff --git a/boost/preprocessor/array/elem.hpp b/boost/preprocessor/array/elem.hpp
deleted file mode 100644
index 105ba24..0000000
--- a/boost/preprocessor/array/elem.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_ARRAY_ELEM_HPP
-# define BOOST_PREPROCESSOR_ARRAY_ELEM_HPP
-#
-# include <boost/preprocessor/array/data.hpp>
-# include <boost/preprocessor/array/size.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-#
-# /* BOOST_PP_ARRAY_ELEM */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_ARRAY_ELEM(i, array) BOOST_PP_TUPLE_ELEM(BOOST_PP_ARRAY_SIZE(array), i, BOOST_PP_ARRAY_DATA(array))
-# else
-# define BOOST_PP_ARRAY_ELEM(i, array) BOOST_PP_ARRAY_ELEM_I(i, array)
-# define BOOST_PP_ARRAY_ELEM_I(i, array) BOOST_PP_TUPLE_ELEM(BOOST_PP_ARRAY_SIZE(array), i, BOOST_PP_ARRAY_DATA(array))
-# endif
-#
-# endif
diff --git a/boost/preprocessor/array/size.hpp b/boost/preprocessor/array/size.hpp
deleted file mode 100644
index 3f370ee..0000000
--- a/boost/preprocessor/array/size.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_ARRAY_SIZE_HPP
-# define BOOST_PREPROCESSOR_ARRAY_SIZE_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-#
-# /* BOOST_PP_ARRAY_SIZE */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_ARRAY_SIZE(array) BOOST_PP_TUPLE_ELEM(2, 0, array)
-# else
-# define BOOST_PP_ARRAY_SIZE(array) BOOST_PP_ARRAY_SIZE_I(array)
-# define BOOST_PP_ARRAY_SIZE_I(array) BOOST_PP_ARRAY_SIZE_II array
-# define BOOST_PP_ARRAY_SIZE_II(size, data) size
-# endif
-#
-# endif
diff --git a/boost/preprocessor/cat.hpp b/boost/preprocessor/cat.hpp
deleted file mode 100644
index 5e52850..0000000
--- a/boost/preprocessor/cat.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_CAT_HPP
-# define BOOST_PREPROCESSOR_CAT_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# /* BOOST_PP_CAT */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-# define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
-# else
-# define BOOST_PP_CAT(a, b) BOOST_PP_CAT_OO((a, b))
-# define BOOST_PP_CAT_OO(par) BOOST_PP_CAT_I ## par
-# endif
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-# define BOOST_PP_CAT_I(a, b) a ## b
-# else
-# define BOOST_PP_CAT_I(a, b) BOOST_PP_CAT_II(~, a ## b)
-# define BOOST_PP_CAT_II(p, res) res
-# endif
-#
-# endif
diff --git a/boost/preprocessor/comma_if.hpp b/boost/preprocessor/comma_if.hpp
deleted file mode 100644
index 9ceb079..0000000
--- a/boost/preprocessor/comma_if.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_COMMA_IF_HPP
-# define BOOST_PREPROCESSOR_COMMA_IF_HPP
-#
-# include <boost/preprocessor/punctuation/comma_if.hpp>
-#
-# endif
diff --git a/boost/preprocessor/comparison/less.hpp b/boost/preprocessor/comparison/less.hpp
deleted file mode 100644
index d91ea3d..0000000
--- a/boost/preprocessor/comparison/less.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_COMPARISON_LESS_HPP
-# define BOOST_PREPROCESSOR_COMPARISON_LESS_HPP
-#
-# include <boost/preprocessor/comparison/less_equal.hpp>
-# include <boost/preprocessor/comparison/not_equal.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/control/iif.hpp>
-# include <boost/preprocessor/logical/bitand.hpp>
-# include <boost/preprocessor/tuple/eat.hpp>
-#
-# /* BOOST_PP_LESS */
-#
-# if BOOST_PP_CONFIG_FLAGS() & (BOOST_PP_CONFIG_MWCC() | BOOST_PP_CONFIG_DMC())
-# define BOOST_PP_LESS(x, y) BOOST_PP_BITAND(BOOST_PP_NOT_EQUAL(x, y), BOOST_PP_LESS_EQUAL(x, y))
-# elif ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_LESS(x, y) BOOST_PP_IIF(BOOST_PP_NOT_EQUAL(x, y), BOOST_PP_LESS_EQUAL, 0 BOOST_PP_TUPLE_EAT_2)(x, y)
-# else
-# define BOOST_PP_LESS(x, y) BOOST_PP_LESS_I(x, y)
-# define BOOST_PP_LESS_I(x, y) BOOST_PP_IIF(BOOST_PP_NOT_EQUAL(x, y), BOOST_PP_LESS_EQUAL, 0 BOOST_PP_TUPLE_EAT_2)(x, y)
-# endif
-#
-# /* BOOST_PP_LESS_D */
-#
-# if BOOST_PP_CONFIG_FLAGS() & (BOOST_PP_CONFIG_MWCC() | BOOST_PP_CONFIG_DMC())
-# define BOOST_PP_LESS_D(d, x, y) BOOST_PP_BITAND(BOOST_PP_NOT_EQUAL(x, y), BOOST_PP_LESS_EQUAL_D(d, x, y))
-# elif ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_LESS_D(d, x, y) BOOST_PP_IIF(BOOST_PP_NOT_EQUAL(x, y), BOOST_PP_LESS_EQUAL_D, 0 BOOST_PP_TUPLE_EAT_3)(d, x, y)
-# else
-# define BOOST_PP_LESS_D(d, x, y) BOOST_PP_LESS_D_I(d, x, y)
-# define BOOST_PP_LESS_D_I(d, x, y) BOOST_PP_IIF(BOOST_PP_NOT_EQUAL(x, y), BOOST_PP_LESS_EQUAL_D, 0 BOOST_PP_TUPLE_EAT_3)(d, x, y)
-# endif
-#
-# endif
diff --git a/boost/preprocessor/comparison/less_equal.hpp b/boost/preprocessor/comparison/less_equal.hpp
deleted file mode 100644
index 1302d54..0000000
--- a/boost/preprocessor/comparison/less_equal.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_COMPARISON_LESS_EQUAL_HPP
-# define BOOST_PREPROCESSOR_COMPARISON_LESS_EQUAL_HPP
-#
-# include <boost/preprocessor/arithmetic/sub.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/logical/not.hpp>
-#
-# /* BOOST_PP_LESS_EQUAL */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_LESS_EQUAL(x, y) BOOST_PP_NOT(BOOST_PP_SUB(x, y))
-# else
-# define BOOST_PP_LESS_EQUAL(x, y) BOOST_PP_LESS_EQUAL_I(x, y)
-# define BOOST_PP_LESS_EQUAL_I(x, y) BOOST_PP_NOT(BOOST_PP_SUB(x, y))
-# endif
-#
-# /* BOOST_PP_LESS_EQUAL_D */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_LESS_EQUAL_D(d, x, y) BOOST_PP_NOT(BOOST_PP_SUB_D(d, x, y))
-# else
-# define BOOST_PP_LESS_EQUAL_D(d, x, y) BOOST_PP_LESS_EQUAL_D_I(d, x, y)
-# define BOOST_PP_LESS_EQUAL_D_I(d, x, y) BOOST_PP_NOT(BOOST_PP_SUB_D(d, x, y))
-# endif
-#
-# endif
diff --git a/boost/preprocessor/comparison/not_equal.hpp b/boost/preprocessor/comparison/not_equal.hpp
deleted file mode 100644
index b4b0eae..0000000
--- a/boost/preprocessor/comparison/not_equal.hpp
+++ /dev/null
@@ -1,814 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_COMPARISON_NOT_EQUAL_HPP
-# define BOOST_PREPROCESSOR_COMPARISON_NOT_EQUAL_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/control/iif.hpp>
-#
-# /* BOOST_PP_NOT_EQUAL */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-# define BOOST_PP_NOT_EQUAL(x, y) BOOST_PP_NOT_EQUAL_I(x, y)
-# else
-# define BOOST_PP_NOT_EQUAL(x, y) BOOST_PP_NOT_EQUAL_OO((x, y))
-# define BOOST_PP_NOT_EQUAL_OO(par) BOOST_PP_NOT_EQUAL_I ## par
-# endif
-#
-# define BOOST_PP_NOT_EQUAL_I(x, y) BOOST_PP_CAT(BOOST_PP_NOT_EQUAL_CHECK_, BOOST_PP_NOT_EQUAL_ ## x(0, BOOST_PP_NOT_EQUAL_ ## y))
-#
-# /* BOOST_PP_NOT_EQUAL_D */
-#
-# define BOOST_PP_NOT_EQUAL_D(d, x, y) BOOST_PP_NOT_EQUAL(x, y)
-#
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NIL 1
-#
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_0(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_2(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_3(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_4(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_5(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_6(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_7(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_8(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_9(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_10(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_11(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_12(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_13(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_14(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_15(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_16(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_17(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_18(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_19(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_20(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_21(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_22(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_23(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_24(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_25(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_26(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_27(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_28(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_29(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_30(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_31(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_32(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_33(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_34(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_35(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_36(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_37(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_38(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_39(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_40(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_41(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_42(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_43(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_44(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_45(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_46(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_47(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_48(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_49(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_50(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_51(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_52(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_53(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_54(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_55(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_56(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_57(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_58(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_59(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_60(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_61(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_62(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_63(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_64(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_65(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_66(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_67(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_68(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_69(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_70(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_71(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_72(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_73(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_74(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_75(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_76(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_77(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_78(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_79(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_80(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_81(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_82(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_83(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_84(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_85(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_86(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_87(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_88(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_89(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_90(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_91(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_92(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_93(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_94(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_95(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_96(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_97(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_98(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_99(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_100(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_101(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_102(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_103(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_104(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_105(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_106(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_107(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_108(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_109(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_110(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_111(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_112(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_113(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_114(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_115(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_116(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_117(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_118(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_119(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_120(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_121(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_122(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_123(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_124(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_125(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_126(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_127(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_128(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_129(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_130(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_131(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_132(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_133(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_134(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_135(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_136(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_137(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_138(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_139(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_140(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_141(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_142(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_143(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_144(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_145(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_146(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_147(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_148(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_149(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_150(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_151(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_152(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_153(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_154(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_155(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_156(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_157(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_158(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_159(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_160(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_161(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_162(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_163(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_164(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_165(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_166(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_167(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_168(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_169(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_170(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_171(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_172(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_173(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_174(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_175(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_176(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_177(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_178(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_179(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_180(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_181(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_182(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_183(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_184(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_185(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_186(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_187(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_188(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_189(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_190(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_191(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_192(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_193(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_194(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_195(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_196(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_197(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_198(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_199(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_200(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_201(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_202(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_203(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_204(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_205(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_206(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_207(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_208(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_209(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_210(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_211(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_212(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_213(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_214(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_215(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_216(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_217(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_218(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_219(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_220(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_221(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_222(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_223(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_224(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_225(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_226(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_227(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_228(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_229(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_230(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_231(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_232(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_233(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_234(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_235(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_236(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_237(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_238(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_239(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_240(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_241(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_242(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_243(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_244(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_245(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_246(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_247(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_248(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_249(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_250(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_251(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_252(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_253(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_254(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_255(c, y) 0
-# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_256(c, y) 0
-#
-#if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC()
-# define BOOST_PP_NOT_EQUAL_0(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_1(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_2(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_3(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_4(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_5(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_6(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_7(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_8(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_9(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_10(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_11(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_12(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_13(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_14(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_15(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_16(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_17(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_18(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_19(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_20(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_21(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_22(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_23(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_24(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_25(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_26(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_27(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_28(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_29(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_30(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_31(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_32(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_33(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_34(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_35(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_36(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_37(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_38(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_39(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_40(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_41(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_42(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_43(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_44(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_45(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_46(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_47(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_48(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_49(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_50(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_51(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_52(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_53(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_54(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_55(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_56(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_57(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_58(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_59(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_60(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_61(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_62(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_63(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_64(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_65(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_66(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_67(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_68(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_69(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_70(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_71(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_72(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_73(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_74(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_75(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_76(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_77(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_78(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_79(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_80(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_81(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_82(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_83(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_84(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_85(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_86(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_87(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_88(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_89(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_90(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_91(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_92(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_93(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_94(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_95(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_96(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_97(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_98(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_99(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_100(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_101(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_102(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_103(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_104(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_105(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_106(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_107(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_108(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_109(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_110(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_111(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_112(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_113(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_114(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_115(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_116(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_117(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_118(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_119(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_120(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_121(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_122(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_123(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_124(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_125(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_126(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_127(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_128(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_129(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_130(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_131(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_132(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_133(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_134(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_135(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_136(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_137(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_138(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_139(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_140(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_141(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_142(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_143(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_144(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_145(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_146(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_147(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_148(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_149(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_150(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_151(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_152(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_153(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_154(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_155(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_156(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_157(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_158(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_159(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_160(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_161(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_162(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_163(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_164(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_165(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_166(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_167(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_168(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_169(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_170(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_171(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_172(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_173(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_174(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_175(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_176(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_177(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_178(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_179(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_180(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_181(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_182(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_183(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_184(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_185(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_186(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_187(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_188(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_189(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_190(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_191(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_192(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_193(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_194(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_195(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_196(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_197(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_198(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_199(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_200(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_201(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_202(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_203(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_204(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_205(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_206(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_207(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_208(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_209(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_210(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_211(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_212(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_213(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_214(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_215(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_216(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_217(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_218(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_219(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_220(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_221(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_222(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_223(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_224(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_225(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_226(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_227(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_228(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_229(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_230(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_231(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_232(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_233(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_234(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_235(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_236(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_237(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_238(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_239(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_240(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_241(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_242(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_243(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_244(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_245(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_246(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_247(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_248(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_249(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_250(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_251(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_252(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_253(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_254(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_255(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_256(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
-# else
-# define BOOST_PP_NOT_EQUAL_0(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_1(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_2(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_3(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_4(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_5(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_6(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_7(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_8(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_9(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_10(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_11(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_12(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_13(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_14(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_15(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_16(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_17(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_18(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_19(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_20(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_21(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_22(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_23(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_24(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_25(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_26(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_27(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_28(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_29(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_30(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_31(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_32(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_33(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_34(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_35(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_36(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_37(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_38(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_39(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_40(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_41(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_42(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_43(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_44(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_45(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_46(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_47(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_48(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_49(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_50(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_51(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_52(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_53(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_54(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_55(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_56(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_57(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_58(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_59(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_60(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_61(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_62(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_63(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_64(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_65(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_66(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_67(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_68(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_69(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_70(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_71(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_72(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_73(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_74(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_75(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_76(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_77(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_78(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_79(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_80(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_81(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_82(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_83(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_84(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_85(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_86(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_87(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_88(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_89(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_90(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_91(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_92(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_93(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_94(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_95(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_96(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_97(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_98(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_99(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_100(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_101(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_102(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_103(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_104(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_105(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_106(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_107(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_108(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_109(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_110(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_111(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_112(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_113(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_114(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_115(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_116(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_117(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_118(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_119(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_120(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_121(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_122(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_123(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_124(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_125(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_126(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_127(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_128(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_129(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_130(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_131(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_132(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_133(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_134(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_135(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_136(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_137(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_138(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_139(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_140(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_141(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_142(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_143(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_144(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_145(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_146(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_147(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_148(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_149(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_150(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_151(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_152(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_153(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_154(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_155(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_156(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_157(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_158(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_159(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_160(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_161(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_162(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_163(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_164(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_165(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_166(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_167(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_168(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_169(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_170(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_171(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_172(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_173(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_174(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_175(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_176(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_177(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_178(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_179(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_180(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_181(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_182(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_183(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_184(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_185(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_186(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_187(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_188(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_189(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_190(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_191(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_192(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_193(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_194(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_195(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_196(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_197(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_198(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_199(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_200(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_201(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_202(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_203(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_204(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_205(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_206(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_207(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_208(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_209(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_210(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_211(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_212(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_213(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_214(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_215(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_216(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_217(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_218(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_219(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_220(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_221(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_222(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_223(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_224(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_225(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_226(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_227(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_228(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_229(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_230(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_231(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_232(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_233(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_234(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_235(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_236(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_237(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_238(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_239(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_240(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_241(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_242(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_243(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_244(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_245(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_246(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_247(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_248(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_249(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_250(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_251(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_252(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_253(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_254(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_255(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# define BOOST_PP_NOT_EQUAL_256(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL))
-# endif
-#
-# endif
diff --git a/boost/preprocessor/config/config.hpp b/boost/preprocessor/config/config.hpp
deleted file mode 100644
index d02eb58..0000000
--- a/boost/preprocessor/config/config.hpp
+++ /dev/null
@@ -1,105 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002-2011. *
-# * (C) Copyright Edward Diener 2011. *
-# * Distributed under the Boost Software License, Version 1.0. (See *
-# * accompanying file LICENSE_1_0.txt or copy at *
-# * http://www.boost.org/LICENSE_1_0.txt) *
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_CONFIG_CONFIG_HPP
-# define BOOST_PREPROCESSOR_CONFIG_CONFIG_HPP
-#
-# /* BOOST_PP_CONFIG_FLAGS */
-#
-# define BOOST_PP_CONFIG_STRICT() 0x0001
-# define BOOST_PP_CONFIG_IDEAL() 0x0002
-#
-# define BOOST_PP_CONFIG_MSVC() 0x0004
-# define BOOST_PP_CONFIG_MWCC() 0x0008
-# define BOOST_PP_CONFIG_BCC() 0x0010
-# define BOOST_PP_CONFIG_EDG() 0x0020
-# define BOOST_PP_CONFIG_DMC() 0x0040
-#
-# ifndef BOOST_PP_CONFIG_FLAGS
-# if defined(__GCCXML__)
-# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT())
-# elif defined(__WAVE__)
-# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT())
-# elif defined(__MWERKS__) && __MWERKS__ >= 0x3200
-# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT())
-# elif defined(__EDG__) || defined(__EDG_VERSION__)
-# if defined(_MSC_VER) && __EDG_VERSION__ >= 308
-# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_MSVC())
-# else
-# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_EDG() | BOOST_PP_CONFIG_STRICT())
-# endif
-# elif defined(__MWERKS__)
-# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_MWCC())
-# elif defined(__DMC__)
-# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_DMC())
-# elif defined(__BORLANDC__) && __BORLANDC__ >= 0x581
-# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT())
-# elif defined(__BORLANDC__) || defined(__IBMC__) || defined(__IBMCPP__) || defined(__SUNPRO_CC)
-# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_BCC())
-# elif defined(_MSC_VER)
-# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_MSVC())
-# else
-# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT())
-# endif
-# endif
-#
-# /* BOOST_PP_CONFIG_EXTENDED_LINE_INFO */
-#
-# ifndef BOOST_PP_CONFIG_EXTENDED_LINE_INFO
-# define BOOST_PP_CONFIG_EXTENDED_LINE_INFO 0
-# endif
-#
-# /* BOOST_PP_CONFIG_ERRORS */
-#
-# ifndef BOOST_PP_CONFIG_ERRORS
-# ifdef NDEBUG
-# define BOOST_PP_CONFIG_ERRORS 0
-# else
-# define BOOST_PP_CONFIG_ERRORS 1
-# endif
-# endif
-#
-# /* BOOST_PP_VARIADICS */
-#
-# if !defined BOOST_PP_VARIADICS
-# /* variadic support explicitly disabled for all untested compilers */
-# if defined __GCCXML__ || defined __CUDACC__ || defined __PATHSCALE__ || defined __clang__ || defined __DMC__ || defined __CODEGEARC__ || defined __BORLANDC__ || defined __MWERKS__ || defined __SUNPRO_CC || defined __HP_aCC && !defined __EDG__ || defined __MRC__ || defined __SC__ || defined __IBMCPP__ || defined __PGI
-# define BOOST_PP_VARIADICS 0
-# /* VC++ (C/C++) */
-# elif defined _MSC_VER && _MSC_VER >= 1400 && !defined __EDG__
-# if _MSC_VER >= 1400
-# define BOOST_PP_VARIADICS 1
-# define BOOST_PP_VARIADICS_MSVC 1
-# else
-# define BOOST_PP_VARIADICS 0
-# endif
-# /* Wave (C/C++), GCC (C++) */
-# elif defined __WAVE__ && __WAVE_HAS_VARIADICS__ || defined __GNUC__ && __GXX_EXPERIMENTAL_CXX0X__
-# define BOOST_PP_VARIADICS 1
-# /* EDG-based (C/C++), GCC (C), and unknown (C/C++) */
-# elif !defined __cplusplus && __STDC_VERSION__ >= 199901L || __cplusplus >= 201103L
-# define BOOST_PP_VARIADICS 1
-# else
-# define BOOST_PP_VARIADICS 0
-# endif
-# elif !BOOST_PP_VARIADICS + 1 < 2
-# undef BOOST_PP_VARIADICS
-# define BOOST_PP_VARIADICS 1
-# if defined _MSC_VER && _MSC_VER >= 1400 && !(defined __EDG__ || defined __GCCXML__ || defined __CUDACC__ || defined __PATHSCALE__ || defined __clang__ || defined __DMC__ || defined __CODEGEARC__ || defined __BORLANDC__ || defined __MWERKS__ || defined __SUNPRO_CC || defined __HP_aCC || defined __MRC__ || defined __SC__ || defined __IBMCPP__ || defined __PGI)
-# define BOOST_PP_VARIADICS_MSVC 1
-# endif
-# else
-# undef BOOST_PP_VARIADICS
-# define BOOST_PP_VARIADICS 0
-# endif
-#
-# endif
diff --git a/boost/preprocessor/control/detail/dmc/while.hpp b/boost/preprocessor/control/detail/dmc/while.hpp
deleted file mode 100644
index 95c3135..0000000
--- a/boost/preprocessor/control/detail/dmc/while.hpp
+++ /dev/null
@@ -1,536 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_CONTROL_DETAIL_WHILE_HPP
-# define BOOST_PREPROCESSOR_CONTROL_DETAIL_WHILE_HPP
-#
-# include <boost/preprocessor/control/iif.hpp>
-# include <boost/preprocessor/logical/bool.hpp>
-# include <boost/preprocessor/tuple/eat.hpp>
-#
-# define BOOST_PP_WHILE_1(p, o, s) BOOST_PP_WHILE_1_C(BOOST_PP_BOOL(p##(2, s)), p, o, s)
-# define BOOST_PP_WHILE_2(p, o, s) BOOST_PP_WHILE_2_C(BOOST_PP_BOOL(p##(3, s)), p, o, s)
-# define BOOST_PP_WHILE_3(p, o, s) BOOST_PP_WHILE_3_C(BOOST_PP_BOOL(p##(4, s)), p, o, s)
-# define BOOST_PP_WHILE_4(p, o, s) BOOST_PP_WHILE_4_C(BOOST_PP_BOOL(p##(5, s)), p, o, s)
-# define BOOST_PP_WHILE_5(p, o, s) BOOST_PP_WHILE_5_C(BOOST_PP_BOOL(p##(6, s)), p, o, s)
-# define BOOST_PP_WHILE_6(p, o, s) BOOST_PP_WHILE_6_C(BOOST_PP_BOOL(p##(7, s)), p, o, s)
-# define BOOST_PP_WHILE_7(p, o, s) BOOST_PP_WHILE_7_C(BOOST_PP_BOOL(p##(8, s)), p, o, s)
-# define BOOST_PP_WHILE_8(p, o, s) BOOST_PP_WHILE_8_C(BOOST_PP_BOOL(p##(9, s)), p, o, s)
-# define BOOST_PP_WHILE_9(p, o, s) BOOST_PP_WHILE_9_C(BOOST_PP_BOOL(p##(10, s)), p, o, s)
-# define BOOST_PP_WHILE_10(p, o, s) BOOST_PP_WHILE_10_C(BOOST_PP_BOOL(p##(11, s)), p, o, s)
-# define BOOST_PP_WHILE_11(p, o, s) BOOST_PP_WHILE_11_C(BOOST_PP_BOOL(p##(12, s)), p, o, s)
-# define BOOST_PP_WHILE_12(p, o, s) BOOST_PP_WHILE_12_C(BOOST_PP_BOOL(p##(13, s)), p, o, s)
-# define BOOST_PP_WHILE_13(p, o, s) BOOST_PP_WHILE_13_C(BOOST_PP_BOOL(p##(14, s)), p, o, s)
-# define BOOST_PP_WHILE_14(p, o, s) BOOST_PP_WHILE_14_C(BOOST_PP_BOOL(p##(15, s)), p, o, s)
-# define BOOST_PP_WHILE_15(p, o, s) BOOST_PP_WHILE_15_C(BOOST_PP_BOOL(p##(16, s)), p, o, s)
-# define BOOST_PP_WHILE_16(p, o, s) BOOST_PP_WHILE_16_C(BOOST_PP_BOOL(p##(17, s)), p, o, s)
-# define BOOST_PP_WHILE_17(p, o, s) BOOST_PP_WHILE_17_C(BOOST_PP_BOOL(p##(18, s)), p, o, s)
-# define BOOST_PP_WHILE_18(p, o, s) BOOST_PP_WHILE_18_C(BOOST_PP_BOOL(p##(19, s)), p, o, s)
-# define BOOST_PP_WHILE_19(p, o, s) BOOST_PP_WHILE_19_C(BOOST_PP_BOOL(p##(20, s)), p, o, s)
-# define BOOST_PP_WHILE_20(p, o, s) BOOST_PP_WHILE_20_C(BOOST_PP_BOOL(p##(21, s)), p, o, s)
-# define BOOST_PP_WHILE_21(p, o, s) BOOST_PP_WHILE_21_C(BOOST_PP_BOOL(p##(22, s)), p, o, s)
-# define BOOST_PP_WHILE_22(p, o, s) BOOST_PP_WHILE_22_C(BOOST_PP_BOOL(p##(23, s)), p, o, s)
-# define BOOST_PP_WHILE_23(p, o, s) BOOST_PP_WHILE_23_C(BOOST_PP_BOOL(p##(24, s)), p, o, s)
-# define BOOST_PP_WHILE_24(p, o, s) BOOST_PP_WHILE_24_C(BOOST_PP_BOOL(p##(25, s)), p, o, s)
-# define BOOST_PP_WHILE_25(p, o, s) BOOST_PP_WHILE_25_C(BOOST_PP_BOOL(p##(26, s)), p, o, s)
-# define BOOST_PP_WHILE_26(p, o, s) BOOST_PP_WHILE_26_C(BOOST_PP_BOOL(p##(27, s)), p, o, s)
-# define BOOST_PP_WHILE_27(p, o, s) BOOST_PP_WHILE_27_C(BOOST_PP_BOOL(p##(28, s)), p, o, s)
-# define BOOST_PP_WHILE_28(p, o, s) BOOST_PP_WHILE_28_C(BOOST_PP_BOOL(p##(29, s)), p, o, s)
-# define BOOST_PP_WHILE_29(p, o, s) BOOST_PP_WHILE_29_C(BOOST_PP_BOOL(p##(30, s)), p, o, s)
-# define BOOST_PP_WHILE_30(p, o, s) BOOST_PP_WHILE_30_C(BOOST_PP_BOOL(p##(31, s)), p, o, s)
-# define BOOST_PP_WHILE_31(p, o, s) BOOST_PP_WHILE_31_C(BOOST_PP_BOOL(p##(32, s)), p, o, s)
-# define BOOST_PP_WHILE_32(p, o, s) BOOST_PP_WHILE_32_C(BOOST_PP_BOOL(p##(33, s)), p, o, s)
-# define BOOST_PP_WHILE_33(p, o, s) BOOST_PP_WHILE_33_C(BOOST_PP_BOOL(p##(34, s)), p, o, s)
-# define BOOST_PP_WHILE_34(p, o, s) BOOST_PP_WHILE_34_C(BOOST_PP_BOOL(p##(35, s)), p, o, s)
-# define BOOST_PP_WHILE_35(p, o, s) BOOST_PP_WHILE_35_C(BOOST_PP_BOOL(p##(36, s)), p, o, s)
-# define BOOST_PP_WHILE_36(p, o, s) BOOST_PP_WHILE_36_C(BOOST_PP_BOOL(p##(37, s)), p, o, s)
-# define BOOST_PP_WHILE_37(p, o, s) BOOST_PP_WHILE_37_C(BOOST_PP_BOOL(p##(38, s)), p, o, s)
-# define BOOST_PP_WHILE_38(p, o, s) BOOST_PP_WHILE_38_C(BOOST_PP_BOOL(p##(39, s)), p, o, s)
-# define BOOST_PP_WHILE_39(p, o, s) BOOST_PP_WHILE_39_C(BOOST_PP_BOOL(p##(40, s)), p, o, s)
-# define BOOST_PP_WHILE_40(p, o, s) BOOST_PP_WHILE_40_C(BOOST_PP_BOOL(p##(41, s)), p, o, s)
-# define BOOST_PP_WHILE_41(p, o, s) BOOST_PP_WHILE_41_C(BOOST_PP_BOOL(p##(42, s)), p, o, s)
-# define BOOST_PP_WHILE_42(p, o, s) BOOST_PP_WHILE_42_C(BOOST_PP_BOOL(p##(43, s)), p, o, s)
-# define BOOST_PP_WHILE_43(p, o, s) BOOST_PP_WHILE_43_C(BOOST_PP_BOOL(p##(44, s)), p, o, s)
-# define BOOST_PP_WHILE_44(p, o, s) BOOST_PP_WHILE_44_C(BOOST_PP_BOOL(p##(45, s)), p, o, s)
-# define BOOST_PP_WHILE_45(p, o, s) BOOST_PP_WHILE_45_C(BOOST_PP_BOOL(p##(46, s)), p, o, s)
-# define BOOST_PP_WHILE_46(p, o, s) BOOST_PP_WHILE_46_C(BOOST_PP_BOOL(p##(47, s)), p, o, s)
-# define BOOST_PP_WHILE_47(p, o, s) BOOST_PP_WHILE_47_C(BOOST_PP_BOOL(p##(48, s)), p, o, s)
-# define BOOST_PP_WHILE_48(p, o, s) BOOST_PP_WHILE_48_C(BOOST_PP_BOOL(p##(49, s)), p, o, s)
-# define BOOST_PP_WHILE_49(p, o, s) BOOST_PP_WHILE_49_C(BOOST_PP_BOOL(p##(50, s)), p, o, s)
-# define BOOST_PP_WHILE_50(p, o, s) BOOST_PP_WHILE_50_C(BOOST_PP_BOOL(p##(51, s)), p, o, s)
-# define BOOST_PP_WHILE_51(p, o, s) BOOST_PP_WHILE_51_C(BOOST_PP_BOOL(p##(52, s)), p, o, s)
-# define BOOST_PP_WHILE_52(p, o, s) BOOST_PP_WHILE_52_C(BOOST_PP_BOOL(p##(53, s)), p, o, s)
-# define BOOST_PP_WHILE_53(p, o, s) BOOST_PP_WHILE_53_C(BOOST_PP_BOOL(p##(54, s)), p, o, s)
-# define BOOST_PP_WHILE_54(p, o, s) BOOST_PP_WHILE_54_C(BOOST_PP_BOOL(p##(55, s)), p, o, s)
-# define BOOST_PP_WHILE_55(p, o, s) BOOST_PP_WHILE_55_C(BOOST_PP_BOOL(p##(56, s)), p, o, s)
-# define BOOST_PP_WHILE_56(p, o, s) BOOST_PP_WHILE_56_C(BOOST_PP_BOOL(p##(57, s)), p, o, s)
-# define BOOST_PP_WHILE_57(p, o, s) BOOST_PP_WHILE_57_C(BOOST_PP_BOOL(p##(58, s)), p, o, s)
-# define BOOST_PP_WHILE_58(p, o, s) BOOST_PP_WHILE_58_C(BOOST_PP_BOOL(p##(59, s)), p, o, s)
-# define BOOST_PP_WHILE_59(p, o, s) BOOST_PP_WHILE_59_C(BOOST_PP_BOOL(p##(60, s)), p, o, s)
-# define BOOST_PP_WHILE_60(p, o, s) BOOST_PP_WHILE_60_C(BOOST_PP_BOOL(p##(61, s)), p, o, s)
-# define BOOST_PP_WHILE_61(p, o, s) BOOST_PP_WHILE_61_C(BOOST_PP_BOOL(p##(62, s)), p, o, s)
-# define BOOST_PP_WHILE_62(p, o, s) BOOST_PP_WHILE_62_C(BOOST_PP_BOOL(p##(63, s)), p, o, s)
-# define BOOST_PP_WHILE_63(p, o, s) BOOST_PP_WHILE_63_C(BOOST_PP_BOOL(p##(64, s)), p, o, s)
-# define BOOST_PP_WHILE_64(p, o, s) BOOST_PP_WHILE_64_C(BOOST_PP_BOOL(p##(65, s)), p, o, s)
-# define BOOST_PP_WHILE_65(p, o, s) BOOST_PP_WHILE_65_C(BOOST_PP_BOOL(p##(66, s)), p, o, s)
-# define BOOST_PP_WHILE_66(p, o, s) BOOST_PP_WHILE_66_C(BOOST_PP_BOOL(p##(67, s)), p, o, s)
-# define BOOST_PP_WHILE_67(p, o, s) BOOST_PP_WHILE_67_C(BOOST_PP_BOOL(p##(68, s)), p, o, s)
-# define BOOST_PP_WHILE_68(p, o, s) BOOST_PP_WHILE_68_C(BOOST_PP_BOOL(p##(69, s)), p, o, s)
-# define BOOST_PP_WHILE_69(p, o, s) BOOST_PP_WHILE_69_C(BOOST_PP_BOOL(p##(70, s)), p, o, s)
-# define BOOST_PP_WHILE_70(p, o, s) BOOST_PP_WHILE_70_C(BOOST_PP_BOOL(p##(71, s)), p, o, s)
-# define BOOST_PP_WHILE_71(p, o, s) BOOST_PP_WHILE_71_C(BOOST_PP_BOOL(p##(72, s)), p, o, s)
-# define BOOST_PP_WHILE_72(p, o, s) BOOST_PP_WHILE_72_C(BOOST_PP_BOOL(p##(73, s)), p, o, s)
-# define BOOST_PP_WHILE_73(p, o, s) BOOST_PP_WHILE_73_C(BOOST_PP_BOOL(p##(74, s)), p, o, s)
-# define BOOST_PP_WHILE_74(p, o, s) BOOST_PP_WHILE_74_C(BOOST_PP_BOOL(p##(75, s)), p, o, s)
-# define BOOST_PP_WHILE_75(p, o, s) BOOST_PP_WHILE_75_C(BOOST_PP_BOOL(p##(76, s)), p, o, s)
-# define BOOST_PP_WHILE_76(p, o, s) BOOST_PP_WHILE_76_C(BOOST_PP_BOOL(p##(77, s)), p, o, s)
-# define BOOST_PP_WHILE_77(p, o, s) BOOST_PP_WHILE_77_C(BOOST_PP_BOOL(p##(78, s)), p, o, s)
-# define BOOST_PP_WHILE_78(p, o, s) BOOST_PP_WHILE_78_C(BOOST_PP_BOOL(p##(79, s)), p, o, s)
-# define BOOST_PP_WHILE_79(p, o, s) BOOST_PP_WHILE_79_C(BOOST_PP_BOOL(p##(80, s)), p, o, s)
-# define BOOST_PP_WHILE_80(p, o, s) BOOST_PP_WHILE_80_C(BOOST_PP_BOOL(p##(81, s)), p, o, s)
-# define BOOST_PP_WHILE_81(p, o, s) BOOST_PP_WHILE_81_C(BOOST_PP_BOOL(p##(82, s)), p, o, s)
-# define BOOST_PP_WHILE_82(p, o, s) BOOST_PP_WHILE_82_C(BOOST_PP_BOOL(p##(83, s)), p, o, s)
-# define BOOST_PP_WHILE_83(p, o, s) BOOST_PP_WHILE_83_C(BOOST_PP_BOOL(p##(84, s)), p, o, s)
-# define BOOST_PP_WHILE_84(p, o, s) BOOST_PP_WHILE_84_C(BOOST_PP_BOOL(p##(85, s)), p, o, s)
-# define BOOST_PP_WHILE_85(p, o, s) BOOST_PP_WHILE_85_C(BOOST_PP_BOOL(p##(86, s)), p, o, s)
-# define BOOST_PP_WHILE_86(p, o, s) BOOST_PP_WHILE_86_C(BOOST_PP_BOOL(p##(87, s)), p, o, s)
-# define BOOST_PP_WHILE_87(p, o, s) BOOST_PP_WHILE_87_C(BOOST_PP_BOOL(p##(88, s)), p, o, s)
-# define BOOST_PP_WHILE_88(p, o, s) BOOST_PP_WHILE_88_C(BOOST_PP_BOOL(p##(89, s)), p, o, s)
-# define BOOST_PP_WHILE_89(p, o, s) BOOST_PP_WHILE_89_C(BOOST_PP_BOOL(p##(90, s)), p, o, s)
-# define BOOST_PP_WHILE_90(p, o, s) BOOST_PP_WHILE_90_C(BOOST_PP_BOOL(p##(91, s)), p, o, s)
-# define BOOST_PP_WHILE_91(p, o, s) BOOST_PP_WHILE_91_C(BOOST_PP_BOOL(p##(92, s)), p, o, s)
-# define BOOST_PP_WHILE_92(p, o, s) BOOST_PP_WHILE_92_C(BOOST_PP_BOOL(p##(93, s)), p, o, s)
-# define BOOST_PP_WHILE_93(p, o, s) BOOST_PP_WHILE_93_C(BOOST_PP_BOOL(p##(94, s)), p, o, s)
-# define BOOST_PP_WHILE_94(p, o, s) BOOST_PP_WHILE_94_C(BOOST_PP_BOOL(p##(95, s)), p, o, s)
-# define BOOST_PP_WHILE_95(p, o, s) BOOST_PP_WHILE_95_C(BOOST_PP_BOOL(p##(96, s)), p, o, s)
-# define BOOST_PP_WHILE_96(p, o, s) BOOST_PP_WHILE_96_C(BOOST_PP_BOOL(p##(97, s)), p, o, s)
-# define BOOST_PP_WHILE_97(p, o, s) BOOST_PP_WHILE_97_C(BOOST_PP_BOOL(p##(98, s)), p, o, s)
-# define BOOST_PP_WHILE_98(p, o, s) BOOST_PP_WHILE_98_C(BOOST_PP_BOOL(p##(99, s)), p, o, s)
-# define BOOST_PP_WHILE_99(p, o, s) BOOST_PP_WHILE_99_C(BOOST_PP_BOOL(p##(100, s)), p, o, s)
-# define BOOST_PP_WHILE_100(p, o, s) BOOST_PP_WHILE_100_C(BOOST_PP_BOOL(p##(101, s)), p, o, s)
-# define BOOST_PP_WHILE_101(p, o, s) BOOST_PP_WHILE_101_C(BOOST_PP_BOOL(p##(102, s)), p, o, s)
-# define BOOST_PP_WHILE_102(p, o, s) BOOST_PP_WHILE_102_C(BOOST_PP_BOOL(p##(103, s)), p, o, s)
-# define BOOST_PP_WHILE_103(p, o, s) BOOST_PP_WHILE_103_C(BOOST_PP_BOOL(p##(104, s)), p, o, s)
-# define BOOST_PP_WHILE_104(p, o, s) BOOST_PP_WHILE_104_C(BOOST_PP_BOOL(p##(105, s)), p, o, s)
-# define BOOST_PP_WHILE_105(p, o, s) BOOST_PP_WHILE_105_C(BOOST_PP_BOOL(p##(106, s)), p, o, s)
-# define BOOST_PP_WHILE_106(p, o, s) BOOST_PP_WHILE_106_C(BOOST_PP_BOOL(p##(107, s)), p, o, s)
-# define BOOST_PP_WHILE_107(p, o, s) BOOST_PP_WHILE_107_C(BOOST_PP_BOOL(p##(108, s)), p, o, s)
-# define BOOST_PP_WHILE_108(p, o, s) BOOST_PP_WHILE_108_C(BOOST_PP_BOOL(p##(109, s)), p, o, s)
-# define BOOST_PP_WHILE_109(p, o, s) BOOST_PP_WHILE_109_C(BOOST_PP_BOOL(p##(110, s)), p, o, s)
-# define BOOST_PP_WHILE_110(p, o, s) BOOST_PP_WHILE_110_C(BOOST_PP_BOOL(p##(111, s)), p, o, s)
-# define BOOST_PP_WHILE_111(p, o, s) BOOST_PP_WHILE_111_C(BOOST_PP_BOOL(p##(112, s)), p, o, s)
-# define BOOST_PP_WHILE_112(p, o, s) BOOST_PP_WHILE_112_C(BOOST_PP_BOOL(p##(113, s)), p, o, s)
-# define BOOST_PP_WHILE_113(p, o, s) BOOST_PP_WHILE_113_C(BOOST_PP_BOOL(p##(114, s)), p, o, s)
-# define BOOST_PP_WHILE_114(p, o, s) BOOST_PP_WHILE_114_C(BOOST_PP_BOOL(p##(115, s)), p, o, s)
-# define BOOST_PP_WHILE_115(p, o, s) BOOST_PP_WHILE_115_C(BOOST_PP_BOOL(p##(116, s)), p, o, s)
-# define BOOST_PP_WHILE_116(p, o, s) BOOST_PP_WHILE_116_C(BOOST_PP_BOOL(p##(117, s)), p, o, s)
-# define BOOST_PP_WHILE_117(p, o, s) BOOST_PP_WHILE_117_C(BOOST_PP_BOOL(p##(118, s)), p, o, s)
-# define BOOST_PP_WHILE_118(p, o, s) BOOST_PP_WHILE_118_C(BOOST_PP_BOOL(p##(119, s)), p, o, s)
-# define BOOST_PP_WHILE_119(p, o, s) BOOST_PP_WHILE_119_C(BOOST_PP_BOOL(p##(120, s)), p, o, s)
-# define BOOST_PP_WHILE_120(p, o, s) BOOST_PP_WHILE_120_C(BOOST_PP_BOOL(p##(121, s)), p, o, s)
-# define BOOST_PP_WHILE_121(p, o, s) BOOST_PP_WHILE_121_C(BOOST_PP_BOOL(p##(122, s)), p, o, s)
-# define BOOST_PP_WHILE_122(p, o, s) BOOST_PP_WHILE_122_C(BOOST_PP_BOOL(p##(123, s)), p, o, s)
-# define BOOST_PP_WHILE_123(p, o, s) BOOST_PP_WHILE_123_C(BOOST_PP_BOOL(p##(124, s)), p, o, s)
-# define BOOST_PP_WHILE_124(p, o, s) BOOST_PP_WHILE_124_C(BOOST_PP_BOOL(p##(125, s)), p, o, s)
-# define BOOST_PP_WHILE_125(p, o, s) BOOST_PP_WHILE_125_C(BOOST_PP_BOOL(p##(126, s)), p, o, s)
-# define BOOST_PP_WHILE_126(p, o, s) BOOST_PP_WHILE_126_C(BOOST_PP_BOOL(p##(127, s)), p, o, s)
-# define BOOST_PP_WHILE_127(p, o, s) BOOST_PP_WHILE_127_C(BOOST_PP_BOOL(p##(128, s)), p, o, s)
-# define BOOST_PP_WHILE_128(p, o, s) BOOST_PP_WHILE_128_C(BOOST_PP_BOOL(p##(129, s)), p, o, s)
-# define BOOST_PP_WHILE_129(p, o, s) BOOST_PP_WHILE_129_C(BOOST_PP_BOOL(p##(130, s)), p, o, s)
-# define BOOST_PP_WHILE_130(p, o, s) BOOST_PP_WHILE_130_C(BOOST_PP_BOOL(p##(131, s)), p, o, s)
-# define BOOST_PP_WHILE_131(p, o, s) BOOST_PP_WHILE_131_C(BOOST_PP_BOOL(p##(132, s)), p, o, s)
-# define BOOST_PP_WHILE_132(p, o, s) BOOST_PP_WHILE_132_C(BOOST_PP_BOOL(p##(133, s)), p, o, s)
-# define BOOST_PP_WHILE_133(p, o, s) BOOST_PP_WHILE_133_C(BOOST_PP_BOOL(p##(134, s)), p, o, s)
-# define BOOST_PP_WHILE_134(p, o, s) BOOST_PP_WHILE_134_C(BOOST_PP_BOOL(p##(135, s)), p, o, s)
-# define BOOST_PP_WHILE_135(p, o, s) BOOST_PP_WHILE_135_C(BOOST_PP_BOOL(p##(136, s)), p, o, s)
-# define BOOST_PP_WHILE_136(p, o, s) BOOST_PP_WHILE_136_C(BOOST_PP_BOOL(p##(137, s)), p, o, s)
-# define BOOST_PP_WHILE_137(p, o, s) BOOST_PP_WHILE_137_C(BOOST_PP_BOOL(p##(138, s)), p, o, s)
-# define BOOST_PP_WHILE_138(p, o, s) BOOST_PP_WHILE_138_C(BOOST_PP_BOOL(p##(139, s)), p, o, s)
-# define BOOST_PP_WHILE_139(p, o, s) BOOST_PP_WHILE_139_C(BOOST_PP_BOOL(p##(140, s)), p, o, s)
-# define BOOST_PP_WHILE_140(p, o, s) BOOST_PP_WHILE_140_C(BOOST_PP_BOOL(p##(141, s)), p, o, s)
-# define BOOST_PP_WHILE_141(p, o, s) BOOST_PP_WHILE_141_C(BOOST_PP_BOOL(p##(142, s)), p, o, s)
-# define BOOST_PP_WHILE_142(p, o, s) BOOST_PP_WHILE_142_C(BOOST_PP_BOOL(p##(143, s)), p, o, s)
-# define BOOST_PP_WHILE_143(p, o, s) BOOST_PP_WHILE_143_C(BOOST_PP_BOOL(p##(144, s)), p, o, s)
-# define BOOST_PP_WHILE_144(p, o, s) BOOST_PP_WHILE_144_C(BOOST_PP_BOOL(p##(145, s)), p, o, s)
-# define BOOST_PP_WHILE_145(p, o, s) BOOST_PP_WHILE_145_C(BOOST_PP_BOOL(p##(146, s)), p, o, s)
-# define BOOST_PP_WHILE_146(p, o, s) BOOST_PP_WHILE_146_C(BOOST_PP_BOOL(p##(147, s)), p, o, s)
-# define BOOST_PP_WHILE_147(p, o, s) BOOST_PP_WHILE_147_C(BOOST_PP_BOOL(p##(148, s)), p, o, s)
-# define BOOST_PP_WHILE_148(p, o, s) BOOST_PP_WHILE_148_C(BOOST_PP_BOOL(p##(149, s)), p, o, s)
-# define BOOST_PP_WHILE_149(p, o, s) BOOST_PP_WHILE_149_C(BOOST_PP_BOOL(p##(150, s)), p, o, s)
-# define BOOST_PP_WHILE_150(p, o, s) BOOST_PP_WHILE_150_C(BOOST_PP_BOOL(p##(151, s)), p, o, s)
-# define BOOST_PP_WHILE_151(p, o, s) BOOST_PP_WHILE_151_C(BOOST_PP_BOOL(p##(152, s)), p, o, s)
-# define BOOST_PP_WHILE_152(p, o, s) BOOST_PP_WHILE_152_C(BOOST_PP_BOOL(p##(153, s)), p, o, s)
-# define BOOST_PP_WHILE_153(p, o, s) BOOST_PP_WHILE_153_C(BOOST_PP_BOOL(p##(154, s)), p, o, s)
-# define BOOST_PP_WHILE_154(p, o, s) BOOST_PP_WHILE_154_C(BOOST_PP_BOOL(p##(155, s)), p, o, s)
-# define BOOST_PP_WHILE_155(p, o, s) BOOST_PP_WHILE_155_C(BOOST_PP_BOOL(p##(156, s)), p, o, s)
-# define BOOST_PP_WHILE_156(p, o, s) BOOST_PP_WHILE_156_C(BOOST_PP_BOOL(p##(157, s)), p, o, s)
-# define BOOST_PP_WHILE_157(p, o, s) BOOST_PP_WHILE_157_C(BOOST_PP_BOOL(p##(158, s)), p, o, s)
-# define BOOST_PP_WHILE_158(p, o, s) BOOST_PP_WHILE_158_C(BOOST_PP_BOOL(p##(159, s)), p, o, s)
-# define BOOST_PP_WHILE_159(p, o, s) BOOST_PP_WHILE_159_C(BOOST_PP_BOOL(p##(160, s)), p, o, s)
-# define BOOST_PP_WHILE_160(p, o, s) BOOST_PP_WHILE_160_C(BOOST_PP_BOOL(p##(161, s)), p, o, s)
-# define BOOST_PP_WHILE_161(p, o, s) BOOST_PP_WHILE_161_C(BOOST_PP_BOOL(p##(162, s)), p, o, s)
-# define BOOST_PP_WHILE_162(p, o, s) BOOST_PP_WHILE_162_C(BOOST_PP_BOOL(p##(163, s)), p, o, s)
-# define BOOST_PP_WHILE_163(p, o, s) BOOST_PP_WHILE_163_C(BOOST_PP_BOOL(p##(164, s)), p, o, s)
-# define BOOST_PP_WHILE_164(p, o, s) BOOST_PP_WHILE_164_C(BOOST_PP_BOOL(p##(165, s)), p, o, s)
-# define BOOST_PP_WHILE_165(p, o, s) BOOST_PP_WHILE_165_C(BOOST_PP_BOOL(p##(166, s)), p, o, s)
-# define BOOST_PP_WHILE_166(p, o, s) BOOST_PP_WHILE_166_C(BOOST_PP_BOOL(p##(167, s)), p, o, s)
-# define BOOST_PP_WHILE_167(p, o, s) BOOST_PP_WHILE_167_C(BOOST_PP_BOOL(p##(168, s)), p, o, s)
-# define BOOST_PP_WHILE_168(p, o, s) BOOST_PP_WHILE_168_C(BOOST_PP_BOOL(p##(169, s)), p, o, s)
-# define BOOST_PP_WHILE_169(p, o, s) BOOST_PP_WHILE_169_C(BOOST_PP_BOOL(p##(170, s)), p, o, s)
-# define BOOST_PP_WHILE_170(p, o, s) BOOST_PP_WHILE_170_C(BOOST_PP_BOOL(p##(171, s)), p, o, s)
-# define BOOST_PP_WHILE_171(p, o, s) BOOST_PP_WHILE_171_C(BOOST_PP_BOOL(p##(172, s)), p, o, s)
-# define BOOST_PP_WHILE_172(p, o, s) BOOST_PP_WHILE_172_C(BOOST_PP_BOOL(p##(173, s)), p, o, s)
-# define BOOST_PP_WHILE_173(p, o, s) BOOST_PP_WHILE_173_C(BOOST_PP_BOOL(p##(174, s)), p, o, s)
-# define BOOST_PP_WHILE_174(p, o, s) BOOST_PP_WHILE_174_C(BOOST_PP_BOOL(p##(175, s)), p, o, s)
-# define BOOST_PP_WHILE_175(p, o, s) BOOST_PP_WHILE_175_C(BOOST_PP_BOOL(p##(176, s)), p, o, s)
-# define BOOST_PP_WHILE_176(p, o, s) BOOST_PP_WHILE_176_C(BOOST_PP_BOOL(p##(177, s)), p, o, s)
-# define BOOST_PP_WHILE_177(p, o, s) BOOST_PP_WHILE_177_C(BOOST_PP_BOOL(p##(178, s)), p, o, s)
-# define BOOST_PP_WHILE_178(p, o, s) BOOST_PP_WHILE_178_C(BOOST_PP_BOOL(p##(179, s)), p, o, s)
-# define BOOST_PP_WHILE_179(p, o, s) BOOST_PP_WHILE_179_C(BOOST_PP_BOOL(p##(180, s)), p, o, s)
-# define BOOST_PP_WHILE_180(p, o, s) BOOST_PP_WHILE_180_C(BOOST_PP_BOOL(p##(181, s)), p, o, s)
-# define BOOST_PP_WHILE_181(p, o, s) BOOST_PP_WHILE_181_C(BOOST_PP_BOOL(p##(182, s)), p, o, s)
-# define BOOST_PP_WHILE_182(p, o, s) BOOST_PP_WHILE_182_C(BOOST_PP_BOOL(p##(183, s)), p, o, s)
-# define BOOST_PP_WHILE_183(p, o, s) BOOST_PP_WHILE_183_C(BOOST_PP_BOOL(p##(184, s)), p, o, s)
-# define BOOST_PP_WHILE_184(p, o, s) BOOST_PP_WHILE_184_C(BOOST_PP_BOOL(p##(185, s)), p, o, s)
-# define BOOST_PP_WHILE_185(p, o, s) BOOST_PP_WHILE_185_C(BOOST_PP_BOOL(p##(186, s)), p, o, s)
-# define BOOST_PP_WHILE_186(p, o, s) BOOST_PP_WHILE_186_C(BOOST_PP_BOOL(p##(187, s)), p, o, s)
-# define BOOST_PP_WHILE_187(p, o, s) BOOST_PP_WHILE_187_C(BOOST_PP_BOOL(p##(188, s)), p, o, s)
-# define BOOST_PP_WHILE_188(p, o, s) BOOST_PP_WHILE_188_C(BOOST_PP_BOOL(p##(189, s)), p, o, s)
-# define BOOST_PP_WHILE_189(p, o, s) BOOST_PP_WHILE_189_C(BOOST_PP_BOOL(p##(190, s)), p, o, s)
-# define BOOST_PP_WHILE_190(p, o, s) BOOST_PP_WHILE_190_C(BOOST_PP_BOOL(p##(191, s)), p, o, s)
-# define BOOST_PP_WHILE_191(p, o, s) BOOST_PP_WHILE_191_C(BOOST_PP_BOOL(p##(192, s)), p, o, s)
-# define BOOST_PP_WHILE_192(p, o, s) BOOST_PP_WHILE_192_C(BOOST_PP_BOOL(p##(193, s)), p, o, s)
-# define BOOST_PP_WHILE_193(p, o, s) BOOST_PP_WHILE_193_C(BOOST_PP_BOOL(p##(194, s)), p, o, s)
-# define BOOST_PP_WHILE_194(p, o, s) BOOST_PP_WHILE_194_C(BOOST_PP_BOOL(p##(195, s)), p, o, s)
-# define BOOST_PP_WHILE_195(p, o, s) BOOST_PP_WHILE_195_C(BOOST_PP_BOOL(p##(196, s)), p, o, s)
-# define BOOST_PP_WHILE_196(p, o, s) BOOST_PP_WHILE_196_C(BOOST_PP_BOOL(p##(197, s)), p, o, s)
-# define BOOST_PP_WHILE_197(p, o, s) BOOST_PP_WHILE_197_C(BOOST_PP_BOOL(p##(198, s)), p, o, s)
-# define BOOST_PP_WHILE_198(p, o, s) BOOST_PP_WHILE_198_C(BOOST_PP_BOOL(p##(199, s)), p, o, s)
-# define BOOST_PP_WHILE_199(p, o, s) BOOST_PP_WHILE_199_C(BOOST_PP_BOOL(p##(200, s)), p, o, s)
-# define BOOST_PP_WHILE_200(p, o, s) BOOST_PP_WHILE_200_C(BOOST_PP_BOOL(p##(201, s)), p, o, s)
-# define BOOST_PP_WHILE_201(p, o, s) BOOST_PP_WHILE_201_C(BOOST_PP_BOOL(p##(202, s)), p, o, s)
-# define BOOST_PP_WHILE_202(p, o, s) BOOST_PP_WHILE_202_C(BOOST_PP_BOOL(p##(203, s)), p, o, s)
-# define BOOST_PP_WHILE_203(p, o, s) BOOST_PP_WHILE_203_C(BOOST_PP_BOOL(p##(204, s)), p, o, s)
-# define BOOST_PP_WHILE_204(p, o, s) BOOST_PP_WHILE_204_C(BOOST_PP_BOOL(p##(205, s)), p, o, s)
-# define BOOST_PP_WHILE_205(p, o, s) BOOST_PP_WHILE_205_C(BOOST_PP_BOOL(p##(206, s)), p, o, s)
-# define BOOST_PP_WHILE_206(p, o, s) BOOST_PP_WHILE_206_C(BOOST_PP_BOOL(p##(207, s)), p, o, s)
-# define BOOST_PP_WHILE_207(p, o, s) BOOST_PP_WHILE_207_C(BOOST_PP_BOOL(p##(208, s)), p, o, s)
-# define BOOST_PP_WHILE_208(p, o, s) BOOST_PP_WHILE_208_C(BOOST_PP_BOOL(p##(209, s)), p, o, s)
-# define BOOST_PP_WHILE_209(p, o, s) BOOST_PP_WHILE_209_C(BOOST_PP_BOOL(p##(210, s)), p, o, s)
-# define BOOST_PP_WHILE_210(p, o, s) BOOST_PP_WHILE_210_C(BOOST_PP_BOOL(p##(211, s)), p, o, s)
-# define BOOST_PP_WHILE_211(p, o, s) BOOST_PP_WHILE_211_C(BOOST_PP_BOOL(p##(212, s)), p, o, s)
-# define BOOST_PP_WHILE_212(p, o, s) BOOST_PP_WHILE_212_C(BOOST_PP_BOOL(p##(213, s)), p, o, s)
-# define BOOST_PP_WHILE_213(p, o, s) BOOST_PP_WHILE_213_C(BOOST_PP_BOOL(p##(214, s)), p, o, s)
-# define BOOST_PP_WHILE_214(p, o, s) BOOST_PP_WHILE_214_C(BOOST_PP_BOOL(p##(215, s)), p, o, s)
-# define BOOST_PP_WHILE_215(p, o, s) BOOST_PP_WHILE_215_C(BOOST_PP_BOOL(p##(216, s)), p, o, s)
-# define BOOST_PP_WHILE_216(p, o, s) BOOST_PP_WHILE_216_C(BOOST_PP_BOOL(p##(217, s)), p, o, s)
-# define BOOST_PP_WHILE_217(p, o, s) BOOST_PP_WHILE_217_C(BOOST_PP_BOOL(p##(218, s)), p, o, s)
-# define BOOST_PP_WHILE_218(p, o, s) BOOST_PP_WHILE_218_C(BOOST_PP_BOOL(p##(219, s)), p, o, s)
-# define BOOST_PP_WHILE_219(p, o, s) BOOST_PP_WHILE_219_C(BOOST_PP_BOOL(p##(220, s)), p, o, s)
-# define BOOST_PP_WHILE_220(p, o, s) BOOST_PP_WHILE_220_C(BOOST_PP_BOOL(p##(221, s)), p, o, s)
-# define BOOST_PP_WHILE_221(p, o, s) BOOST_PP_WHILE_221_C(BOOST_PP_BOOL(p##(222, s)), p, o, s)
-# define BOOST_PP_WHILE_222(p, o, s) BOOST_PP_WHILE_222_C(BOOST_PP_BOOL(p##(223, s)), p, o, s)
-# define BOOST_PP_WHILE_223(p, o, s) BOOST_PP_WHILE_223_C(BOOST_PP_BOOL(p##(224, s)), p, o, s)
-# define BOOST_PP_WHILE_224(p, o, s) BOOST_PP_WHILE_224_C(BOOST_PP_BOOL(p##(225, s)), p, o, s)
-# define BOOST_PP_WHILE_225(p, o, s) BOOST_PP_WHILE_225_C(BOOST_PP_BOOL(p##(226, s)), p, o, s)
-# define BOOST_PP_WHILE_226(p, o, s) BOOST_PP_WHILE_226_C(BOOST_PP_BOOL(p##(227, s)), p, o, s)
-# define BOOST_PP_WHILE_227(p, o, s) BOOST_PP_WHILE_227_C(BOOST_PP_BOOL(p##(228, s)), p, o, s)
-# define BOOST_PP_WHILE_228(p, o, s) BOOST_PP_WHILE_228_C(BOOST_PP_BOOL(p##(229, s)), p, o, s)
-# define BOOST_PP_WHILE_229(p, o, s) BOOST_PP_WHILE_229_C(BOOST_PP_BOOL(p##(230, s)), p, o, s)
-# define BOOST_PP_WHILE_230(p, o, s) BOOST_PP_WHILE_230_C(BOOST_PP_BOOL(p##(231, s)), p, o, s)
-# define BOOST_PP_WHILE_231(p, o, s) BOOST_PP_WHILE_231_C(BOOST_PP_BOOL(p##(232, s)), p, o, s)
-# define BOOST_PP_WHILE_232(p, o, s) BOOST_PP_WHILE_232_C(BOOST_PP_BOOL(p##(233, s)), p, o, s)
-# define BOOST_PP_WHILE_233(p, o, s) BOOST_PP_WHILE_233_C(BOOST_PP_BOOL(p##(234, s)), p, o, s)
-# define BOOST_PP_WHILE_234(p, o, s) BOOST_PP_WHILE_234_C(BOOST_PP_BOOL(p##(235, s)), p, o, s)
-# define BOOST_PP_WHILE_235(p, o, s) BOOST_PP_WHILE_235_C(BOOST_PP_BOOL(p##(236, s)), p, o, s)
-# define BOOST_PP_WHILE_236(p, o, s) BOOST_PP_WHILE_236_C(BOOST_PP_BOOL(p##(237, s)), p, o, s)
-# define BOOST_PP_WHILE_237(p, o, s) BOOST_PP_WHILE_237_C(BOOST_PP_BOOL(p##(238, s)), p, o, s)
-# define BOOST_PP_WHILE_238(p, o, s) BOOST_PP_WHILE_238_C(BOOST_PP_BOOL(p##(239, s)), p, o, s)
-# define BOOST_PP_WHILE_239(p, o, s) BOOST_PP_WHILE_239_C(BOOST_PP_BOOL(p##(240, s)), p, o, s)
-# define BOOST_PP_WHILE_240(p, o, s) BOOST_PP_WHILE_240_C(BOOST_PP_BOOL(p##(241, s)), p, o, s)
-# define BOOST_PP_WHILE_241(p, o, s) BOOST_PP_WHILE_241_C(BOOST_PP_BOOL(p##(242, s)), p, o, s)
-# define BOOST_PP_WHILE_242(p, o, s) BOOST_PP_WHILE_242_C(BOOST_PP_BOOL(p##(243, s)), p, o, s)
-# define BOOST_PP_WHILE_243(p, o, s) BOOST_PP_WHILE_243_C(BOOST_PP_BOOL(p##(244, s)), p, o, s)
-# define BOOST_PP_WHILE_244(p, o, s) BOOST_PP_WHILE_244_C(BOOST_PP_BOOL(p##(245, s)), p, o, s)
-# define BOOST_PP_WHILE_245(p, o, s) BOOST_PP_WHILE_245_C(BOOST_PP_BOOL(p##(246, s)), p, o, s)
-# define BOOST_PP_WHILE_246(p, o, s) BOOST_PP_WHILE_246_C(BOOST_PP_BOOL(p##(247, s)), p, o, s)
-# define BOOST_PP_WHILE_247(p, o, s) BOOST_PP_WHILE_247_C(BOOST_PP_BOOL(p##(248, s)), p, o, s)
-# define BOOST_PP_WHILE_248(p, o, s) BOOST_PP_WHILE_248_C(BOOST_PP_BOOL(p##(249, s)), p, o, s)
-# define BOOST_PP_WHILE_249(p, o, s) BOOST_PP_WHILE_249_C(BOOST_PP_BOOL(p##(250, s)), p, o, s)
-# define BOOST_PP_WHILE_250(p, o, s) BOOST_PP_WHILE_250_C(BOOST_PP_BOOL(p##(251, s)), p, o, s)
-# define BOOST_PP_WHILE_251(p, o, s) BOOST_PP_WHILE_251_C(BOOST_PP_BOOL(p##(252, s)), p, o, s)
-# define BOOST_PP_WHILE_252(p, o, s) BOOST_PP_WHILE_252_C(BOOST_PP_BOOL(p##(253, s)), p, o, s)
-# define BOOST_PP_WHILE_253(p, o, s) BOOST_PP_WHILE_253_C(BOOST_PP_BOOL(p##(254, s)), p, o, s)
-# define BOOST_PP_WHILE_254(p, o, s) BOOST_PP_WHILE_254_C(BOOST_PP_BOOL(p##(255, s)), p, o, s)
-# define BOOST_PP_WHILE_255(p, o, s) BOOST_PP_WHILE_255_C(BOOST_PP_BOOL(p##(256, s)), p, o, s)
-# define BOOST_PP_WHILE_256(p, o, s) BOOST_PP_WHILE_256_C(BOOST_PP_BOOL(p##(257, s)), p, o, s)
-#
-# define BOOST_PP_WHILE_1_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_2, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(2, s))
-# define BOOST_PP_WHILE_2_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_3, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(3, s))
-# define BOOST_PP_WHILE_3_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_4, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(4, s))
-# define BOOST_PP_WHILE_4_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_5, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(5, s))
-# define BOOST_PP_WHILE_5_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_6, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(6, s))
-# define BOOST_PP_WHILE_6_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_7, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(7, s))
-# define BOOST_PP_WHILE_7_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_8, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(8, s))
-# define BOOST_PP_WHILE_8_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_9, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(9, s))
-# define BOOST_PP_WHILE_9_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_10, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(10, s))
-# define BOOST_PP_WHILE_10_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_11, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(11, s))
-# define BOOST_PP_WHILE_11_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_12, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(12, s))
-# define BOOST_PP_WHILE_12_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_13, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(13, s))
-# define BOOST_PP_WHILE_13_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_14, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(14, s))
-# define BOOST_PP_WHILE_14_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_15, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(15, s))
-# define BOOST_PP_WHILE_15_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_16, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(16, s))
-# define BOOST_PP_WHILE_16_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_17, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(17, s))
-# define BOOST_PP_WHILE_17_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_18, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(18, s))
-# define BOOST_PP_WHILE_18_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_19, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(19, s))
-# define BOOST_PP_WHILE_19_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_20, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(20, s))
-# define BOOST_PP_WHILE_20_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_21, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(21, s))
-# define BOOST_PP_WHILE_21_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_22, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(22, s))
-# define BOOST_PP_WHILE_22_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_23, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(23, s))
-# define BOOST_PP_WHILE_23_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_24, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(24, s))
-# define BOOST_PP_WHILE_24_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_25, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(25, s))
-# define BOOST_PP_WHILE_25_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_26, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(26, s))
-# define BOOST_PP_WHILE_26_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_27, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(27, s))
-# define BOOST_PP_WHILE_27_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_28, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(28, s))
-# define BOOST_PP_WHILE_28_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_29, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(29, s))
-# define BOOST_PP_WHILE_29_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_30, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(30, s))
-# define BOOST_PP_WHILE_30_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_31, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(31, s))
-# define BOOST_PP_WHILE_31_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_32, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(32, s))
-# define BOOST_PP_WHILE_32_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_33, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(33, s))
-# define BOOST_PP_WHILE_33_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_34, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(34, s))
-# define BOOST_PP_WHILE_34_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_35, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(35, s))
-# define BOOST_PP_WHILE_35_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_36, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(36, s))
-# define BOOST_PP_WHILE_36_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_37, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(37, s))
-# define BOOST_PP_WHILE_37_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_38, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(38, s))
-# define BOOST_PP_WHILE_38_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_39, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(39, s))
-# define BOOST_PP_WHILE_39_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_40, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(40, s))
-# define BOOST_PP_WHILE_40_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_41, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(41, s))
-# define BOOST_PP_WHILE_41_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_42, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(42, s))
-# define BOOST_PP_WHILE_42_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_43, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(43, s))
-# define BOOST_PP_WHILE_43_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_44, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(44, s))
-# define BOOST_PP_WHILE_44_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_45, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(45, s))
-# define BOOST_PP_WHILE_45_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_46, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(46, s))
-# define BOOST_PP_WHILE_46_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_47, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(47, s))
-# define BOOST_PP_WHILE_47_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_48, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(48, s))
-# define BOOST_PP_WHILE_48_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_49, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(49, s))
-# define BOOST_PP_WHILE_49_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_50, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(50, s))
-# define BOOST_PP_WHILE_50_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_51, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(51, s))
-# define BOOST_PP_WHILE_51_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_52, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(52, s))
-# define BOOST_PP_WHILE_52_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_53, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(53, s))
-# define BOOST_PP_WHILE_53_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_54, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(54, s))
-# define BOOST_PP_WHILE_54_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_55, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(55, s))
-# define BOOST_PP_WHILE_55_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_56, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(56, s))
-# define BOOST_PP_WHILE_56_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_57, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(57, s))
-# define BOOST_PP_WHILE_57_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_58, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(58, s))
-# define BOOST_PP_WHILE_58_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_59, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(59, s))
-# define BOOST_PP_WHILE_59_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_60, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(60, s))
-# define BOOST_PP_WHILE_60_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_61, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(61, s))
-# define BOOST_PP_WHILE_61_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_62, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(62, s))
-# define BOOST_PP_WHILE_62_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_63, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(63, s))
-# define BOOST_PP_WHILE_63_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_64, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(64, s))
-# define BOOST_PP_WHILE_64_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_65, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(65, s))
-# define BOOST_PP_WHILE_65_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_66, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(66, s))
-# define BOOST_PP_WHILE_66_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_67, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(67, s))
-# define BOOST_PP_WHILE_67_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_68, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(68, s))
-# define BOOST_PP_WHILE_68_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_69, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(69, s))
-# define BOOST_PP_WHILE_69_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_70, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(70, s))
-# define BOOST_PP_WHILE_70_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_71, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(71, s))
-# define BOOST_PP_WHILE_71_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_72, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(72, s))
-# define BOOST_PP_WHILE_72_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_73, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(73, s))
-# define BOOST_PP_WHILE_73_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_74, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(74, s))
-# define BOOST_PP_WHILE_74_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_75, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(75, s))
-# define BOOST_PP_WHILE_75_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_76, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(76, s))
-# define BOOST_PP_WHILE_76_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_77, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(77, s))
-# define BOOST_PP_WHILE_77_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_78, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(78, s))
-# define BOOST_PP_WHILE_78_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_79, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(79, s))
-# define BOOST_PP_WHILE_79_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_80, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(80, s))
-# define BOOST_PP_WHILE_80_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_81, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(81, s))
-# define BOOST_PP_WHILE_81_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_82, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(82, s))
-# define BOOST_PP_WHILE_82_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_83, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(83, s))
-# define BOOST_PP_WHILE_83_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_84, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(84, s))
-# define BOOST_PP_WHILE_84_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_85, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(85, s))
-# define BOOST_PP_WHILE_85_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_86, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(86, s))
-# define BOOST_PP_WHILE_86_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_87, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(87, s))
-# define BOOST_PP_WHILE_87_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_88, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(88, s))
-# define BOOST_PP_WHILE_88_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_89, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(89, s))
-# define BOOST_PP_WHILE_89_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_90, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(90, s))
-# define BOOST_PP_WHILE_90_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_91, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(91, s))
-# define BOOST_PP_WHILE_91_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_92, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(92, s))
-# define BOOST_PP_WHILE_92_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_93, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(93, s))
-# define BOOST_PP_WHILE_93_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_94, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(94, s))
-# define BOOST_PP_WHILE_94_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_95, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(95, s))
-# define BOOST_PP_WHILE_95_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_96, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(96, s))
-# define BOOST_PP_WHILE_96_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_97, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(97, s))
-# define BOOST_PP_WHILE_97_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_98, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(98, s))
-# define BOOST_PP_WHILE_98_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_99, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(99, s))
-# define BOOST_PP_WHILE_99_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_100, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(100, s))
-# define BOOST_PP_WHILE_100_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_101, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(101, s))
-# define BOOST_PP_WHILE_101_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_102, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(102, s))
-# define BOOST_PP_WHILE_102_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_103, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(103, s))
-# define BOOST_PP_WHILE_103_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_104, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(104, s))
-# define BOOST_PP_WHILE_104_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_105, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(105, s))
-# define BOOST_PP_WHILE_105_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_106, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(106, s))
-# define BOOST_PP_WHILE_106_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_107, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(107, s))
-# define BOOST_PP_WHILE_107_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_108, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(108, s))
-# define BOOST_PP_WHILE_108_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_109, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(109, s))
-# define BOOST_PP_WHILE_109_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_110, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(110, s))
-# define BOOST_PP_WHILE_110_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_111, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(111, s))
-# define BOOST_PP_WHILE_111_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_112, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(112, s))
-# define BOOST_PP_WHILE_112_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_113, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(113, s))
-# define BOOST_PP_WHILE_113_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_114, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(114, s))
-# define BOOST_PP_WHILE_114_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_115, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(115, s))
-# define BOOST_PP_WHILE_115_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_116, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(116, s))
-# define BOOST_PP_WHILE_116_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_117, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(117, s))
-# define BOOST_PP_WHILE_117_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_118, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(118, s))
-# define BOOST_PP_WHILE_118_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_119, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(119, s))
-# define BOOST_PP_WHILE_119_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_120, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(120, s))
-# define BOOST_PP_WHILE_120_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_121, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(121, s))
-# define BOOST_PP_WHILE_121_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_122, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(122, s))
-# define BOOST_PP_WHILE_122_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_123, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(123, s))
-# define BOOST_PP_WHILE_123_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_124, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(124, s))
-# define BOOST_PP_WHILE_124_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_125, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(125, s))
-# define BOOST_PP_WHILE_125_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_126, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(126, s))
-# define BOOST_PP_WHILE_126_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_127, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(127, s))
-# define BOOST_PP_WHILE_127_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_128, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(128, s))
-# define BOOST_PP_WHILE_128_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_129, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(129, s))
-# define BOOST_PP_WHILE_129_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_130, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(130, s))
-# define BOOST_PP_WHILE_130_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_131, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(131, s))
-# define BOOST_PP_WHILE_131_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_132, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(132, s))
-# define BOOST_PP_WHILE_132_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_133, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(133, s))
-# define BOOST_PP_WHILE_133_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_134, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(134, s))
-# define BOOST_PP_WHILE_134_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_135, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(135, s))
-# define BOOST_PP_WHILE_135_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_136, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(136, s))
-# define BOOST_PP_WHILE_136_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_137, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(137, s))
-# define BOOST_PP_WHILE_137_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_138, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(138, s))
-# define BOOST_PP_WHILE_138_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_139, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(139, s))
-# define BOOST_PP_WHILE_139_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_140, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(140, s))
-# define BOOST_PP_WHILE_140_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_141, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(141, s))
-# define BOOST_PP_WHILE_141_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_142, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(142, s))
-# define BOOST_PP_WHILE_142_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_143, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(143, s))
-# define BOOST_PP_WHILE_143_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_144, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(144, s))
-# define BOOST_PP_WHILE_144_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_145, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(145, s))
-# define BOOST_PP_WHILE_145_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_146, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(146, s))
-# define BOOST_PP_WHILE_146_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_147, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(147, s))
-# define BOOST_PP_WHILE_147_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_148, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(148, s))
-# define BOOST_PP_WHILE_148_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_149, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(149, s))
-# define BOOST_PP_WHILE_149_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_150, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(150, s))
-# define BOOST_PP_WHILE_150_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_151, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(151, s))
-# define BOOST_PP_WHILE_151_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_152, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(152, s))
-# define BOOST_PP_WHILE_152_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_153, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(153, s))
-# define BOOST_PP_WHILE_153_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_154, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(154, s))
-# define BOOST_PP_WHILE_154_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_155, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(155, s))
-# define BOOST_PP_WHILE_155_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_156, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(156, s))
-# define BOOST_PP_WHILE_156_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_157, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(157, s))
-# define BOOST_PP_WHILE_157_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_158, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(158, s))
-# define BOOST_PP_WHILE_158_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_159, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(159, s))
-# define BOOST_PP_WHILE_159_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_160, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(160, s))
-# define BOOST_PP_WHILE_160_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_161, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(161, s))
-# define BOOST_PP_WHILE_161_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_162, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(162, s))
-# define BOOST_PP_WHILE_162_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_163, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(163, s))
-# define BOOST_PP_WHILE_163_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_164, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(164, s))
-# define BOOST_PP_WHILE_164_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_165, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(165, s))
-# define BOOST_PP_WHILE_165_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_166, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(166, s))
-# define BOOST_PP_WHILE_166_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_167, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(167, s))
-# define BOOST_PP_WHILE_167_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_168, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(168, s))
-# define BOOST_PP_WHILE_168_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_169, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(169, s))
-# define BOOST_PP_WHILE_169_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_170, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(170, s))
-# define BOOST_PP_WHILE_170_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_171, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(171, s))
-# define BOOST_PP_WHILE_171_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_172, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(172, s))
-# define BOOST_PP_WHILE_172_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_173, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(173, s))
-# define BOOST_PP_WHILE_173_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_174, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(174, s))
-# define BOOST_PP_WHILE_174_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_175, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(175, s))
-# define BOOST_PP_WHILE_175_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_176, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(176, s))
-# define BOOST_PP_WHILE_176_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_177, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(177, s))
-# define BOOST_PP_WHILE_177_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_178, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(178, s))
-# define BOOST_PP_WHILE_178_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_179, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(179, s))
-# define BOOST_PP_WHILE_179_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_180, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(180, s))
-# define BOOST_PP_WHILE_180_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_181, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(181, s))
-# define BOOST_PP_WHILE_181_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_182, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(182, s))
-# define BOOST_PP_WHILE_182_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_183, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(183, s))
-# define BOOST_PP_WHILE_183_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_184, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(184, s))
-# define BOOST_PP_WHILE_184_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_185, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(185, s))
-# define BOOST_PP_WHILE_185_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_186, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(186, s))
-# define BOOST_PP_WHILE_186_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_187, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(187, s))
-# define BOOST_PP_WHILE_187_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_188, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(188, s))
-# define BOOST_PP_WHILE_188_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_189, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(189, s))
-# define BOOST_PP_WHILE_189_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_190, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(190, s))
-# define BOOST_PP_WHILE_190_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_191, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(191, s))
-# define BOOST_PP_WHILE_191_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_192, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(192, s))
-# define BOOST_PP_WHILE_192_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_193, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(193, s))
-# define BOOST_PP_WHILE_193_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_194, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(194, s))
-# define BOOST_PP_WHILE_194_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_195, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(195, s))
-# define BOOST_PP_WHILE_195_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_196, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(196, s))
-# define BOOST_PP_WHILE_196_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_197, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(197, s))
-# define BOOST_PP_WHILE_197_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_198, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(198, s))
-# define BOOST_PP_WHILE_198_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_199, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(199, s))
-# define BOOST_PP_WHILE_199_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_200, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(200, s))
-# define BOOST_PP_WHILE_200_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_201, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(201, s))
-# define BOOST_PP_WHILE_201_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_202, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(202, s))
-# define BOOST_PP_WHILE_202_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_203, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(203, s))
-# define BOOST_PP_WHILE_203_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_204, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(204, s))
-# define BOOST_PP_WHILE_204_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_205, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(205, s))
-# define BOOST_PP_WHILE_205_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_206, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(206, s))
-# define BOOST_PP_WHILE_206_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_207, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(207, s))
-# define BOOST_PP_WHILE_207_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_208, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(208, s))
-# define BOOST_PP_WHILE_208_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_209, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(209, s))
-# define BOOST_PP_WHILE_209_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_210, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(210, s))
-# define BOOST_PP_WHILE_210_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_211, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(211, s))
-# define BOOST_PP_WHILE_211_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_212, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(212, s))
-# define BOOST_PP_WHILE_212_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_213, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(213, s))
-# define BOOST_PP_WHILE_213_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_214, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(214, s))
-# define BOOST_PP_WHILE_214_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_215, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(215, s))
-# define BOOST_PP_WHILE_215_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_216, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(216, s))
-# define BOOST_PP_WHILE_216_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_217, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(217, s))
-# define BOOST_PP_WHILE_217_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_218, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(218, s))
-# define BOOST_PP_WHILE_218_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_219, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(219, s))
-# define BOOST_PP_WHILE_219_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_220, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(220, s))
-# define BOOST_PP_WHILE_220_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_221, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(221, s))
-# define BOOST_PP_WHILE_221_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_222, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(222, s))
-# define BOOST_PP_WHILE_222_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_223, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(223, s))
-# define BOOST_PP_WHILE_223_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_224, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(224, s))
-# define BOOST_PP_WHILE_224_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_225, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(225, s))
-# define BOOST_PP_WHILE_225_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_226, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(226, s))
-# define BOOST_PP_WHILE_226_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_227, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(227, s))
-# define BOOST_PP_WHILE_227_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_228, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(228, s))
-# define BOOST_PP_WHILE_228_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_229, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(229, s))
-# define BOOST_PP_WHILE_229_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_230, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(230, s))
-# define BOOST_PP_WHILE_230_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_231, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(231, s))
-# define BOOST_PP_WHILE_231_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_232, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(232, s))
-# define BOOST_PP_WHILE_232_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_233, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(233, s))
-# define BOOST_PP_WHILE_233_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_234, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(234, s))
-# define BOOST_PP_WHILE_234_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_235, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(235, s))
-# define BOOST_PP_WHILE_235_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_236, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(236, s))
-# define BOOST_PP_WHILE_236_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_237, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(237, s))
-# define BOOST_PP_WHILE_237_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_238, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(238, s))
-# define BOOST_PP_WHILE_238_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_239, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(239, s))
-# define BOOST_PP_WHILE_239_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_240, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(240, s))
-# define BOOST_PP_WHILE_240_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_241, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(241, s))
-# define BOOST_PP_WHILE_241_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_242, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(242, s))
-# define BOOST_PP_WHILE_242_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_243, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(243, s))
-# define BOOST_PP_WHILE_243_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_244, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(244, s))
-# define BOOST_PP_WHILE_244_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_245, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(245, s))
-# define BOOST_PP_WHILE_245_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_246, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(246, s))
-# define BOOST_PP_WHILE_246_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_247, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(247, s))
-# define BOOST_PP_WHILE_247_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_248, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(248, s))
-# define BOOST_PP_WHILE_248_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_249, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(249, s))
-# define BOOST_PP_WHILE_249_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_250, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(250, s))
-# define BOOST_PP_WHILE_250_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_251, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(251, s))
-# define BOOST_PP_WHILE_251_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_252, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(252, s))
-# define BOOST_PP_WHILE_252_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_253, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(253, s))
-# define BOOST_PP_WHILE_253_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_254, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(254, s))
-# define BOOST_PP_WHILE_254_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_255, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(255, s))
-# define BOOST_PP_WHILE_255_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_256, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(256, s))
-# define BOOST_PP_WHILE_256_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_257, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(257, s))
-#
-#
-# endif
diff --git a/boost/preprocessor/control/detail/edg/while.hpp b/boost/preprocessor/control/detail/edg/while.hpp
deleted file mode 100644
index ce28eb2..0000000
--- a/boost/preprocessor/control/detail/edg/while.hpp
+++ /dev/null
@@ -1,534 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_CONTROL_DETAIL_EDG_WHILE_HPP
-# define BOOST_PREPROCESSOR_CONTROL_DETAIL_EDG_WHILE_HPP
-#
-# include <boost/preprocessor/control/if.hpp>
-# include <boost/preprocessor/tuple/eat.hpp>
-#
-# define BOOST_PP_WHILE_1(p, o, s) BOOST_PP_WHILE_1_I(p, o, s)
-# define BOOST_PP_WHILE_2(p, o, s) BOOST_PP_WHILE_2_I(p, o, s)
-# define BOOST_PP_WHILE_3(p, o, s) BOOST_PP_WHILE_3_I(p, o, s)
-# define BOOST_PP_WHILE_4(p, o, s) BOOST_PP_WHILE_4_I(p, o, s)
-# define BOOST_PP_WHILE_5(p, o, s) BOOST_PP_WHILE_5_I(p, o, s)
-# define BOOST_PP_WHILE_6(p, o, s) BOOST_PP_WHILE_6_I(p, o, s)
-# define BOOST_PP_WHILE_7(p, o, s) BOOST_PP_WHILE_7_I(p, o, s)
-# define BOOST_PP_WHILE_8(p, o, s) BOOST_PP_WHILE_8_I(p, o, s)
-# define BOOST_PP_WHILE_9(p, o, s) BOOST_PP_WHILE_9_I(p, o, s)
-# define BOOST_PP_WHILE_10(p, o, s) BOOST_PP_WHILE_10_I(p, o, s)
-# define BOOST_PP_WHILE_11(p, o, s) BOOST_PP_WHILE_11_I(p, o, s)
-# define BOOST_PP_WHILE_12(p, o, s) BOOST_PP_WHILE_12_I(p, o, s)
-# define BOOST_PP_WHILE_13(p, o, s) BOOST_PP_WHILE_13_I(p, o, s)
-# define BOOST_PP_WHILE_14(p, o, s) BOOST_PP_WHILE_14_I(p, o, s)
-# define BOOST_PP_WHILE_15(p, o, s) BOOST_PP_WHILE_15_I(p, o, s)
-# define BOOST_PP_WHILE_16(p, o, s) BOOST_PP_WHILE_16_I(p, o, s)
-# define BOOST_PP_WHILE_17(p, o, s) BOOST_PP_WHILE_17_I(p, o, s)
-# define BOOST_PP_WHILE_18(p, o, s) BOOST_PP_WHILE_18_I(p, o, s)
-# define BOOST_PP_WHILE_19(p, o, s) BOOST_PP_WHILE_19_I(p, o, s)
-# define BOOST_PP_WHILE_20(p, o, s) BOOST_PP_WHILE_20_I(p, o, s)
-# define BOOST_PP_WHILE_21(p, o, s) BOOST_PP_WHILE_21_I(p, o, s)
-# define BOOST_PP_WHILE_22(p, o, s) BOOST_PP_WHILE_22_I(p, o, s)
-# define BOOST_PP_WHILE_23(p, o, s) BOOST_PP_WHILE_23_I(p, o, s)
-# define BOOST_PP_WHILE_24(p, o, s) BOOST_PP_WHILE_24_I(p, o, s)
-# define BOOST_PP_WHILE_25(p, o, s) BOOST_PP_WHILE_25_I(p, o, s)
-# define BOOST_PP_WHILE_26(p, o, s) BOOST_PP_WHILE_26_I(p, o, s)
-# define BOOST_PP_WHILE_27(p, o, s) BOOST_PP_WHILE_27_I(p, o, s)
-# define BOOST_PP_WHILE_28(p, o, s) BOOST_PP_WHILE_28_I(p, o, s)
-# define BOOST_PP_WHILE_29(p, o, s) BOOST_PP_WHILE_29_I(p, o, s)
-# define BOOST_PP_WHILE_30(p, o, s) BOOST_PP_WHILE_30_I(p, o, s)
-# define BOOST_PP_WHILE_31(p, o, s) BOOST_PP_WHILE_31_I(p, o, s)
-# define BOOST_PP_WHILE_32(p, o, s) BOOST_PP_WHILE_32_I(p, o, s)
-# define BOOST_PP_WHILE_33(p, o, s) BOOST_PP_WHILE_33_I(p, o, s)
-# define BOOST_PP_WHILE_34(p, o, s) BOOST_PP_WHILE_34_I(p, o, s)
-# define BOOST_PP_WHILE_35(p, o, s) BOOST_PP_WHILE_35_I(p, o, s)
-# define BOOST_PP_WHILE_36(p, o, s) BOOST_PP_WHILE_36_I(p, o, s)
-# define BOOST_PP_WHILE_37(p, o, s) BOOST_PP_WHILE_37_I(p, o, s)
-# define BOOST_PP_WHILE_38(p, o, s) BOOST_PP_WHILE_38_I(p, o, s)
-# define BOOST_PP_WHILE_39(p, o, s) BOOST_PP_WHILE_39_I(p, o, s)
-# define BOOST_PP_WHILE_40(p, o, s) BOOST_PP_WHILE_40_I(p, o, s)
-# define BOOST_PP_WHILE_41(p, o, s) BOOST_PP_WHILE_41_I(p, o, s)
-# define BOOST_PP_WHILE_42(p, o, s) BOOST_PP_WHILE_42_I(p, o, s)
-# define BOOST_PP_WHILE_43(p, o, s) BOOST_PP_WHILE_43_I(p, o, s)
-# define BOOST_PP_WHILE_44(p, o, s) BOOST_PP_WHILE_44_I(p, o, s)
-# define BOOST_PP_WHILE_45(p, o, s) BOOST_PP_WHILE_45_I(p, o, s)
-# define BOOST_PP_WHILE_46(p, o, s) BOOST_PP_WHILE_46_I(p, o, s)
-# define BOOST_PP_WHILE_47(p, o, s) BOOST_PP_WHILE_47_I(p, o, s)
-# define BOOST_PP_WHILE_48(p, o, s) BOOST_PP_WHILE_48_I(p, o, s)
-# define BOOST_PP_WHILE_49(p, o, s) BOOST_PP_WHILE_49_I(p, o, s)
-# define BOOST_PP_WHILE_50(p, o, s) BOOST_PP_WHILE_50_I(p, o, s)
-# define BOOST_PP_WHILE_51(p, o, s) BOOST_PP_WHILE_51_I(p, o, s)
-# define BOOST_PP_WHILE_52(p, o, s) BOOST_PP_WHILE_52_I(p, o, s)
-# define BOOST_PP_WHILE_53(p, o, s) BOOST_PP_WHILE_53_I(p, o, s)
-# define BOOST_PP_WHILE_54(p, o, s) BOOST_PP_WHILE_54_I(p, o, s)
-# define BOOST_PP_WHILE_55(p, o, s) BOOST_PP_WHILE_55_I(p, o, s)
-# define BOOST_PP_WHILE_56(p, o, s) BOOST_PP_WHILE_56_I(p, o, s)
-# define BOOST_PP_WHILE_57(p, o, s) BOOST_PP_WHILE_57_I(p, o, s)
-# define BOOST_PP_WHILE_58(p, o, s) BOOST_PP_WHILE_58_I(p, o, s)
-# define BOOST_PP_WHILE_59(p, o, s) BOOST_PP_WHILE_59_I(p, o, s)
-# define BOOST_PP_WHILE_60(p, o, s) BOOST_PP_WHILE_60_I(p, o, s)
-# define BOOST_PP_WHILE_61(p, o, s) BOOST_PP_WHILE_61_I(p, o, s)
-# define BOOST_PP_WHILE_62(p, o, s) BOOST_PP_WHILE_62_I(p, o, s)
-# define BOOST_PP_WHILE_63(p, o, s) BOOST_PP_WHILE_63_I(p, o, s)
-# define BOOST_PP_WHILE_64(p, o, s) BOOST_PP_WHILE_64_I(p, o, s)
-# define BOOST_PP_WHILE_65(p, o, s) BOOST_PP_WHILE_65_I(p, o, s)
-# define BOOST_PP_WHILE_66(p, o, s) BOOST_PP_WHILE_66_I(p, o, s)
-# define BOOST_PP_WHILE_67(p, o, s) BOOST_PP_WHILE_67_I(p, o, s)
-# define BOOST_PP_WHILE_68(p, o, s) BOOST_PP_WHILE_68_I(p, o, s)
-# define BOOST_PP_WHILE_69(p, o, s) BOOST_PP_WHILE_69_I(p, o, s)
-# define BOOST_PP_WHILE_70(p, o, s) BOOST_PP_WHILE_70_I(p, o, s)
-# define BOOST_PP_WHILE_71(p, o, s) BOOST_PP_WHILE_71_I(p, o, s)
-# define BOOST_PP_WHILE_72(p, o, s) BOOST_PP_WHILE_72_I(p, o, s)
-# define BOOST_PP_WHILE_73(p, o, s) BOOST_PP_WHILE_73_I(p, o, s)
-# define BOOST_PP_WHILE_74(p, o, s) BOOST_PP_WHILE_74_I(p, o, s)
-# define BOOST_PP_WHILE_75(p, o, s) BOOST_PP_WHILE_75_I(p, o, s)
-# define BOOST_PP_WHILE_76(p, o, s) BOOST_PP_WHILE_76_I(p, o, s)
-# define BOOST_PP_WHILE_77(p, o, s) BOOST_PP_WHILE_77_I(p, o, s)
-# define BOOST_PP_WHILE_78(p, o, s) BOOST_PP_WHILE_78_I(p, o, s)
-# define BOOST_PP_WHILE_79(p, o, s) BOOST_PP_WHILE_79_I(p, o, s)
-# define BOOST_PP_WHILE_80(p, o, s) BOOST_PP_WHILE_80_I(p, o, s)
-# define BOOST_PP_WHILE_81(p, o, s) BOOST_PP_WHILE_81_I(p, o, s)
-# define BOOST_PP_WHILE_82(p, o, s) BOOST_PP_WHILE_82_I(p, o, s)
-# define BOOST_PP_WHILE_83(p, o, s) BOOST_PP_WHILE_83_I(p, o, s)
-# define BOOST_PP_WHILE_84(p, o, s) BOOST_PP_WHILE_84_I(p, o, s)
-# define BOOST_PP_WHILE_85(p, o, s) BOOST_PP_WHILE_85_I(p, o, s)
-# define BOOST_PP_WHILE_86(p, o, s) BOOST_PP_WHILE_86_I(p, o, s)
-# define BOOST_PP_WHILE_87(p, o, s) BOOST_PP_WHILE_87_I(p, o, s)
-# define BOOST_PP_WHILE_88(p, o, s) BOOST_PP_WHILE_88_I(p, o, s)
-# define BOOST_PP_WHILE_89(p, o, s) BOOST_PP_WHILE_89_I(p, o, s)
-# define BOOST_PP_WHILE_90(p, o, s) BOOST_PP_WHILE_90_I(p, o, s)
-# define BOOST_PP_WHILE_91(p, o, s) BOOST_PP_WHILE_91_I(p, o, s)
-# define BOOST_PP_WHILE_92(p, o, s) BOOST_PP_WHILE_92_I(p, o, s)
-# define BOOST_PP_WHILE_93(p, o, s) BOOST_PP_WHILE_93_I(p, o, s)
-# define BOOST_PP_WHILE_94(p, o, s) BOOST_PP_WHILE_94_I(p, o, s)
-# define BOOST_PP_WHILE_95(p, o, s) BOOST_PP_WHILE_95_I(p, o, s)
-# define BOOST_PP_WHILE_96(p, o, s) BOOST_PP_WHILE_96_I(p, o, s)
-# define BOOST_PP_WHILE_97(p, o, s) BOOST_PP_WHILE_97_I(p, o, s)
-# define BOOST_PP_WHILE_98(p, o, s) BOOST_PP_WHILE_98_I(p, o, s)
-# define BOOST_PP_WHILE_99(p, o, s) BOOST_PP_WHILE_99_I(p, o, s)
-# define BOOST_PP_WHILE_100(p, o, s) BOOST_PP_WHILE_100_I(p, o, s)
-# define BOOST_PP_WHILE_101(p, o, s) BOOST_PP_WHILE_101_I(p, o, s)
-# define BOOST_PP_WHILE_102(p, o, s) BOOST_PP_WHILE_102_I(p, o, s)
-# define BOOST_PP_WHILE_103(p, o, s) BOOST_PP_WHILE_103_I(p, o, s)
-# define BOOST_PP_WHILE_104(p, o, s) BOOST_PP_WHILE_104_I(p, o, s)
-# define BOOST_PP_WHILE_105(p, o, s) BOOST_PP_WHILE_105_I(p, o, s)
-# define BOOST_PP_WHILE_106(p, o, s) BOOST_PP_WHILE_106_I(p, o, s)
-# define BOOST_PP_WHILE_107(p, o, s) BOOST_PP_WHILE_107_I(p, o, s)
-# define BOOST_PP_WHILE_108(p, o, s) BOOST_PP_WHILE_108_I(p, o, s)
-# define BOOST_PP_WHILE_109(p, o, s) BOOST_PP_WHILE_109_I(p, o, s)
-# define BOOST_PP_WHILE_110(p, o, s) BOOST_PP_WHILE_110_I(p, o, s)
-# define BOOST_PP_WHILE_111(p, o, s) BOOST_PP_WHILE_111_I(p, o, s)
-# define BOOST_PP_WHILE_112(p, o, s) BOOST_PP_WHILE_112_I(p, o, s)
-# define BOOST_PP_WHILE_113(p, o, s) BOOST_PP_WHILE_113_I(p, o, s)
-# define BOOST_PP_WHILE_114(p, o, s) BOOST_PP_WHILE_114_I(p, o, s)
-# define BOOST_PP_WHILE_115(p, o, s) BOOST_PP_WHILE_115_I(p, o, s)
-# define BOOST_PP_WHILE_116(p, o, s) BOOST_PP_WHILE_116_I(p, o, s)
-# define BOOST_PP_WHILE_117(p, o, s) BOOST_PP_WHILE_117_I(p, o, s)
-# define BOOST_PP_WHILE_118(p, o, s) BOOST_PP_WHILE_118_I(p, o, s)
-# define BOOST_PP_WHILE_119(p, o, s) BOOST_PP_WHILE_119_I(p, o, s)
-# define BOOST_PP_WHILE_120(p, o, s) BOOST_PP_WHILE_120_I(p, o, s)
-# define BOOST_PP_WHILE_121(p, o, s) BOOST_PP_WHILE_121_I(p, o, s)
-# define BOOST_PP_WHILE_122(p, o, s) BOOST_PP_WHILE_122_I(p, o, s)
-# define BOOST_PP_WHILE_123(p, o, s) BOOST_PP_WHILE_123_I(p, o, s)
-# define BOOST_PP_WHILE_124(p, o, s) BOOST_PP_WHILE_124_I(p, o, s)
-# define BOOST_PP_WHILE_125(p, o, s) BOOST_PP_WHILE_125_I(p, o, s)
-# define BOOST_PP_WHILE_126(p, o, s) BOOST_PP_WHILE_126_I(p, o, s)
-# define BOOST_PP_WHILE_127(p, o, s) BOOST_PP_WHILE_127_I(p, o, s)
-# define BOOST_PP_WHILE_128(p, o, s) BOOST_PP_WHILE_128_I(p, o, s)
-# define BOOST_PP_WHILE_129(p, o, s) BOOST_PP_WHILE_129_I(p, o, s)
-# define BOOST_PP_WHILE_130(p, o, s) BOOST_PP_WHILE_130_I(p, o, s)
-# define BOOST_PP_WHILE_131(p, o, s) BOOST_PP_WHILE_131_I(p, o, s)
-# define BOOST_PP_WHILE_132(p, o, s) BOOST_PP_WHILE_132_I(p, o, s)
-# define BOOST_PP_WHILE_133(p, o, s) BOOST_PP_WHILE_133_I(p, o, s)
-# define BOOST_PP_WHILE_134(p, o, s) BOOST_PP_WHILE_134_I(p, o, s)
-# define BOOST_PP_WHILE_135(p, o, s) BOOST_PP_WHILE_135_I(p, o, s)
-# define BOOST_PP_WHILE_136(p, o, s) BOOST_PP_WHILE_136_I(p, o, s)
-# define BOOST_PP_WHILE_137(p, o, s) BOOST_PP_WHILE_137_I(p, o, s)
-# define BOOST_PP_WHILE_138(p, o, s) BOOST_PP_WHILE_138_I(p, o, s)
-# define BOOST_PP_WHILE_139(p, o, s) BOOST_PP_WHILE_139_I(p, o, s)
-# define BOOST_PP_WHILE_140(p, o, s) BOOST_PP_WHILE_140_I(p, o, s)
-# define BOOST_PP_WHILE_141(p, o, s) BOOST_PP_WHILE_141_I(p, o, s)
-# define BOOST_PP_WHILE_142(p, o, s) BOOST_PP_WHILE_142_I(p, o, s)
-# define BOOST_PP_WHILE_143(p, o, s) BOOST_PP_WHILE_143_I(p, o, s)
-# define BOOST_PP_WHILE_144(p, o, s) BOOST_PP_WHILE_144_I(p, o, s)
-# define BOOST_PP_WHILE_145(p, o, s) BOOST_PP_WHILE_145_I(p, o, s)
-# define BOOST_PP_WHILE_146(p, o, s) BOOST_PP_WHILE_146_I(p, o, s)
-# define BOOST_PP_WHILE_147(p, o, s) BOOST_PP_WHILE_147_I(p, o, s)
-# define BOOST_PP_WHILE_148(p, o, s) BOOST_PP_WHILE_148_I(p, o, s)
-# define BOOST_PP_WHILE_149(p, o, s) BOOST_PP_WHILE_149_I(p, o, s)
-# define BOOST_PP_WHILE_150(p, o, s) BOOST_PP_WHILE_150_I(p, o, s)
-# define BOOST_PP_WHILE_151(p, o, s) BOOST_PP_WHILE_151_I(p, o, s)
-# define BOOST_PP_WHILE_152(p, o, s) BOOST_PP_WHILE_152_I(p, o, s)
-# define BOOST_PP_WHILE_153(p, o, s) BOOST_PP_WHILE_153_I(p, o, s)
-# define BOOST_PP_WHILE_154(p, o, s) BOOST_PP_WHILE_154_I(p, o, s)
-# define BOOST_PP_WHILE_155(p, o, s) BOOST_PP_WHILE_155_I(p, o, s)
-# define BOOST_PP_WHILE_156(p, o, s) BOOST_PP_WHILE_156_I(p, o, s)
-# define BOOST_PP_WHILE_157(p, o, s) BOOST_PP_WHILE_157_I(p, o, s)
-# define BOOST_PP_WHILE_158(p, o, s) BOOST_PP_WHILE_158_I(p, o, s)
-# define BOOST_PP_WHILE_159(p, o, s) BOOST_PP_WHILE_159_I(p, o, s)
-# define BOOST_PP_WHILE_160(p, o, s) BOOST_PP_WHILE_160_I(p, o, s)
-# define BOOST_PP_WHILE_161(p, o, s) BOOST_PP_WHILE_161_I(p, o, s)
-# define BOOST_PP_WHILE_162(p, o, s) BOOST_PP_WHILE_162_I(p, o, s)
-# define BOOST_PP_WHILE_163(p, o, s) BOOST_PP_WHILE_163_I(p, o, s)
-# define BOOST_PP_WHILE_164(p, o, s) BOOST_PP_WHILE_164_I(p, o, s)
-# define BOOST_PP_WHILE_165(p, o, s) BOOST_PP_WHILE_165_I(p, o, s)
-# define BOOST_PP_WHILE_166(p, o, s) BOOST_PP_WHILE_166_I(p, o, s)
-# define BOOST_PP_WHILE_167(p, o, s) BOOST_PP_WHILE_167_I(p, o, s)
-# define BOOST_PP_WHILE_168(p, o, s) BOOST_PP_WHILE_168_I(p, o, s)
-# define BOOST_PP_WHILE_169(p, o, s) BOOST_PP_WHILE_169_I(p, o, s)
-# define BOOST_PP_WHILE_170(p, o, s) BOOST_PP_WHILE_170_I(p, o, s)
-# define BOOST_PP_WHILE_171(p, o, s) BOOST_PP_WHILE_171_I(p, o, s)
-# define BOOST_PP_WHILE_172(p, o, s) BOOST_PP_WHILE_172_I(p, o, s)
-# define BOOST_PP_WHILE_173(p, o, s) BOOST_PP_WHILE_173_I(p, o, s)
-# define BOOST_PP_WHILE_174(p, o, s) BOOST_PP_WHILE_174_I(p, o, s)
-# define BOOST_PP_WHILE_175(p, o, s) BOOST_PP_WHILE_175_I(p, o, s)
-# define BOOST_PP_WHILE_176(p, o, s) BOOST_PP_WHILE_176_I(p, o, s)
-# define BOOST_PP_WHILE_177(p, o, s) BOOST_PP_WHILE_177_I(p, o, s)
-# define BOOST_PP_WHILE_178(p, o, s) BOOST_PP_WHILE_178_I(p, o, s)
-# define BOOST_PP_WHILE_179(p, o, s) BOOST_PP_WHILE_179_I(p, o, s)
-# define BOOST_PP_WHILE_180(p, o, s) BOOST_PP_WHILE_180_I(p, o, s)
-# define BOOST_PP_WHILE_181(p, o, s) BOOST_PP_WHILE_181_I(p, o, s)
-# define BOOST_PP_WHILE_182(p, o, s) BOOST_PP_WHILE_182_I(p, o, s)
-# define BOOST_PP_WHILE_183(p, o, s) BOOST_PP_WHILE_183_I(p, o, s)
-# define BOOST_PP_WHILE_184(p, o, s) BOOST_PP_WHILE_184_I(p, o, s)
-# define BOOST_PP_WHILE_185(p, o, s) BOOST_PP_WHILE_185_I(p, o, s)
-# define BOOST_PP_WHILE_186(p, o, s) BOOST_PP_WHILE_186_I(p, o, s)
-# define BOOST_PP_WHILE_187(p, o, s) BOOST_PP_WHILE_187_I(p, o, s)
-# define BOOST_PP_WHILE_188(p, o, s) BOOST_PP_WHILE_188_I(p, o, s)
-# define BOOST_PP_WHILE_189(p, o, s) BOOST_PP_WHILE_189_I(p, o, s)
-# define BOOST_PP_WHILE_190(p, o, s) BOOST_PP_WHILE_190_I(p, o, s)
-# define BOOST_PP_WHILE_191(p, o, s) BOOST_PP_WHILE_191_I(p, o, s)
-# define BOOST_PP_WHILE_192(p, o, s) BOOST_PP_WHILE_192_I(p, o, s)
-# define BOOST_PP_WHILE_193(p, o, s) BOOST_PP_WHILE_193_I(p, o, s)
-# define BOOST_PP_WHILE_194(p, o, s) BOOST_PP_WHILE_194_I(p, o, s)
-# define BOOST_PP_WHILE_195(p, o, s) BOOST_PP_WHILE_195_I(p, o, s)
-# define BOOST_PP_WHILE_196(p, o, s) BOOST_PP_WHILE_196_I(p, o, s)
-# define BOOST_PP_WHILE_197(p, o, s) BOOST_PP_WHILE_197_I(p, o, s)
-# define BOOST_PP_WHILE_198(p, o, s) BOOST_PP_WHILE_198_I(p, o, s)
-# define BOOST_PP_WHILE_199(p, o, s) BOOST_PP_WHILE_199_I(p, o, s)
-# define BOOST_PP_WHILE_200(p, o, s) BOOST_PP_WHILE_200_I(p, o, s)
-# define BOOST_PP_WHILE_201(p, o, s) BOOST_PP_WHILE_201_I(p, o, s)
-# define BOOST_PP_WHILE_202(p, o, s) BOOST_PP_WHILE_202_I(p, o, s)
-# define BOOST_PP_WHILE_203(p, o, s) BOOST_PP_WHILE_203_I(p, o, s)
-# define BOOST_PP_WHILE_204(p, o, s) BOOST_PP_WHILE_204_I(p, o, s)
-# define BOOST_PP_WHILE_205(p, o, s) BOOST_PP_WHILE_205_I(p, o, s)
-# define BOOST_PP_WHILE_206(p, o, s) BOOST_PP_WHILE_206_I(p, o, s)
-# define BOOST_PP_WHILE_207(p, o, s) BOOST_PP_WHILE_207_I(p, o, s)
-# define BOOST_PP_WHILE_208(p, o, s) BOOST_PP_WHILE_208_I(p, o, s)
-# define BOOST_PP_WHILE_209(p, o, s) BOOST_PP_WHILE_209_I(p, o, s)
-# define BOOST_PP_WHILE_210(p, o, s) BOOST_PP_WHILE_210_I(p, o, s)
-# define BOOST_PP_WHILE_211(p, o, s) BOOST_PP_WHILE_211_I(p, o, s)
-# define BOOST_PP_WHILE_212(p, o, s) BOOST_PP_WHILE_212_I(p, o, s)
-# define BOOST_PP_WHILE_213(p, o, s) BOOST_PP_WHILE_213_I(p, o, s)
-# define BOOST_PP_WHILE_214(p, o, s) BOOST_PP_WHILE_214_I(p, o, s)
-# define BOOST_PP_WHILE_215(p, o, s) BOOST_PP_WHILE_215_I(p, o, s)
-# define BOOST_PP_WHILE_216(p, o, s) BOOST_PP_WHILE_216_I(p, o, s)
-# define BOOST_PP_WHILE_217(p, o, s) BOOST_PP_WHILE_217_I(p, o, s)
-# define BOOST_PP_WHILE_218(p, o, s) BOOST_PP_WHILE_218_I(p, o, s)
-# define BOOST_PP_WHILE_219(p, o, s) BOOST_PP_WHILE_219_I(p, o, s)
-# define BOOST_PP_WHILE_220(p, o, s) BOOST_PP_WHILE_220_I(p, o, s)
-# define BOOST_PP_WHILE_221(p, o, s) BOOST_PP_WHILE_221_I(p, o, s)
-# define BOOST_PP_WHILE_222(p, o, s) BOOST_PP_WHILE_222_I(p, o, s)
-# define BOOST_PP_WHILE_223(p, o, s) BOOST_PP_WHILE_223_I(p, o, s)
-# define BOOST_PP_WHILE_224(p, o, s) BOOST_PP_WHILE_224_I(p, o, s)
-# define BOOST_PP_WHILE_225(p, o, s) BOOST_PP_WHILE_225_I(p, o, s)
-# define BOOST_PP_WHILE_226(p, o, s) BOOST_PP_WHILE_226_I(p, o, s)
-# define BOOST_PP_WHILE_227(p, o, s) BOOST_PP_WHILE_227_I(p, o, s)
-# define BOOST_PP_WHILE_228(p, o, s) BOOST_PP_WHILE_228_I(p, o, s)
-# define BOOST_PP_WHILE_229(p, o, s) BOOST_PP_WHILE_229_I(p, o, s)
-# define BOOST_PP_WHILE_230(p, o, s) BOOST_PP_WHILE_230_I(p, o, s)
-# define BOOST_PP_WHILE_231(p, o, s) BOOST_PP_WHILE_231_I(p, o, s)
-# define BOOST_PP_WHILE_232(p, o, s) BOOST_PP_WHILE_232_I(p, o, s)
-# define BOOST_PP_WHILE_233(p, o, s) BOOST_PP_WHILE_233_I(p, o, s)
-# define BOOST_PP_WHILE_234(p, o, s) BOOST_PP_WHILE_234_I(p, o, s)
-# define BOOST_PP_WHILE_235(p, o, s) BOOST_PP_WHILE_235_I(p, o, s)
-# define BOOST_PP_WHILE_236(p, o, s) BOOST_PP_WHILE_236_I(p, o, s)
-# define BOOST_PP_WHILE_237(p, o, s) BOOST_PP_WHILE_237_I(p, o, s)
-# define BOOST_PP_WHILE_238(p, o, s) BOOST_PP_WHILE_238_I(p, o, s)
-# define BOOST_PP_WHILE_239(p, o, s) BOOST_PP_WHILE_239_I(p, o, s)
-# define BOOST_PP_WHILE_240(p, o, s) BOOST_PP_WHILE_240_I(p, o, s)
-# define BOOST_PP_WHILE_241(p, o, s) BOOST_PP_WHILE_241_I(p, o, s)
-# define BOOST_PP_WHILE_242(p, o, s) BOOST_PP_WHILE_242_I(p, o, s)
-# define BOOST_PP_WHILE_243(p, o, s) BOOST_PP_WHILE_243_I(p, o, s)
-# define BOOST_PP_WHILE_244(p, o, s) BOOST_PP_WHILE_244_I(p, o, s)
-# define BOOST_PP_WHILE_245(p, o, s) BOOST_PP_WHILE_245_I(p, o, s)
-# define BOOST_PP_WHILE_246(p, o, s) BOOST_PP_WHILE_246_I(p, o, s)
-# define BOOST_PP_WHILE_247(p, o, s) BOOST_PP_WHILE_247_I(p, o, s)
-# define BOOST_PP_WHILE_248(p, o, s) BOOST_PP_WHILE_248_I(p, o, s)
-# define BOOST_PP_WHILE_249(p, o, s) BOOST_PP_WHILE_249_I(p, o, s)
-# define BOOST_PP_WHILE_250(p, o, s) BOOST_PP_WHILE_250_I(p, o, s)
-# define BOOST_PP_WHILE_251(p, o, s) BOOST_PP_WHILE_251_I(p, o, s)
-# define BOOST_PP_WHILE_252(p, o, s) BOOST_PP_WHILE_252_I(p, o, s)
-# define BOOST_PP_WHILE_253(p, o, s) BOOST_PP_WHILE_253_I(p, o, s)
-# define BOOST_PP_WHILE_254(p, o, s) BOOST_PP_WHILE_254_I(p, o, s)
-# define BOOST_PP_WHILE_255(p, o, s) BOOST_PP_WHILE_255_I(p, o, s)
-# define BOOST_PP_WHILE_256(p, o, s) BOOST_PP_WHILE_256_I(p, o, s)
-#
-# define BOOST_PP_WHILE_1_I(p, o, s) BOOST_PP_IF(p(2, s), BOOST_PP_WHILE_2, s BOOST_PP_TUPLE_EAT_3)(p, o, o(2, s))
-# define BOOST_PP_WHILE_2_I(p, o, s) BOOST_PP_IF(p(3, s), BOOST_PP_WHILE_3, s BOOST_PP_TUPLE_EAT_3)(p, o, o(3, s))
-# define BOOST_PP_WHILE_3_I(p, o, s) BOOST_PP_IF(p(4, s), BOOST_PP_WHILE_4, s BOOST_PP_TUPLE_EAT_3)(p, o, o(4, s))
-# define BOOST_PP_WHILE_4_I(p, o, s) BOOST_PP_IF(p(5, s), BOOST_PP_WHILE_5, s BOOST_PP_TUPLE_EAT_3)(p, o, o(5, s))
-# define BOOST_PP_WHILE_5_I(p, o, s) BOOST_PP_IF(p(6, s), BOOST_PP_WHILE_6, s BOOST_PP_TUPLE_EAT_3)(p, o, o(6, s))
-# define BOOST_PP_WHILE_6_I(p, o, s) BOOST_PP_IF(p(7, s), BOOST_PP_WHILE_7, s BOOST_PP_TUPLE_EAT_3)(p, o, o(7, s))
-# define BOOST_PP_WHILE_7_I(p, o, s) BOOST_PP_IF(p(8, s), BOOST_PP_WHILE_8, s BOOST_PP_TUPLE_EAT_3)(p, o, o(8, s))
-# define BOOST_PP_WHILE_8_I(p, o, s) BOOST_PP_IF(p(9, s), BOOST_PP_WHILE_9, s BOOST_PP_TUPLE_EAT_3)(p, o, o(9, s))
-# define BOOST_PP_WHILE_9_I(p, o, s) BOOST_PP_IF(p(10, s), BOOST_PP_WHILE_10, s BOOST_PP_TUPLE_EAT_3)(p, o, o(10, s))
-# define BOOST_PP_WHILE_10_I(p, o, s) BOOST_PP_IF(p(11, s), BOOST_PP_WHILE_11, s BOOST_PP_TUPLE_EAT_3)(p, o, o(11, s))
-# define BOOST_PP_WHILE_11_I(p, o, s) BOOST_PP_IF(p(12, s), BOOST_PP_WHILE_12, s BOOST_PP_TUPLE_EAT_3)(p, o, o(12, s))
-# define BOOST_PP_WHILE_12_I(p, o, s) BOOST_PP_IF(p(13, s), BOOST_PP_WHILE_13, s BOOST_PP_TUPLE_EAT_3)(p, o, o(13, s))
-# define BOOST_PP_WHILE_13_I(p, o, s) BOOST_PP_IF(p(14, s), BOOST_PP_WHILE_14, s BOOST_PP_TUPLE_EAT_3)(p, o, o(14, s))
-# define BOOST_PP_WHILE_14_I(p, o, s) BOOST_PP_IF(p(15, s), BOOST_PP_WHILE_15, s BOOST_PP_TUPLE_EAT_3)(p, o, o(15, s))
-# define BOOST_PP_WHILE_15_I(p, o, s) BOOST_PP_IF(p(16, s), BOOST_PP_WHILE_16, s BOOST_PP_TUPLE_EAT_3)(p, o, o(16, s))
-# define BOOST_PP_WHILE_16_I(p, o, s) BOOST_PP_IF(p(17, s), BOOST_PP_WHILE_17, s BOOST_PP_TUPLE_EAT_3)(p, o, o(17, s))
-# define BOOST_PP_WHILE_17_I(p, o, s) BOOST_PP_IF(p(18, s), BOOST_PP_WHILE_18, s BOOST_PP_TUPLE_EAT_3)(p, o, o(18, s))
-# define BOOST_PP_WHILE_18_I(p, o, s) BOOST_PP_IF(p(19, s), BOOST_PP_WHILE_19, s BOOST_PP_TUPLE_EAT_3)(p, o, o(19, s))
-# define BOOST_PP_WHILE_19_I(p, o, s) BOOST_PP_IF(p(20, s), BOOST_PP_WHILE_20, s BOOST_PP_TUPLE_EAT_3)(p, o, o(20, s))
-# define BOOST_PP_WHILE_20_I(p, o, s) BOOST_PP_IF(p(21, s), BOOST_PP_WHILE_21, s BOOST_PP_TUPLE_EAT_3)(p, o, o(21, s))
-# define BOOST_PP_WHILE_21_I(p, o, s) BOOST_PP_IF(p(22, s), BOOST_PP_WHILE_22, s BOOST_PP_TUPLE_EAT_3)(p, o, o(22, s))
-# define BOOST_PP_WHILE_22_I(p, o, s) BOOST_PP_IF(p(23, s), BOOST_PP_WHILE_23, s BOOST_PP_TUPLE_EAT_3)(p, o, o(23, s))
-# define BOOST_PP_WHILE_23_I(p, o, s) BOOST_PP_IF(p(24, s), BOOST_PP_WHILE_24, s BOOST_PP_TUPLE_EAT_3)(p, o, o(24, s))
-# define BOOST_PP_WHILE_24_I(p, o, s) BOOST_PP_IF(p(25, s), BOOST_PP_WHILE_25, s BOOST_PP_TUPLE_EAT_3)(p, o, o(25, s))
-# define BOOST_PP_WHILE_25_I(p, o, s) BOOST_PP_IF(p(26, s), BOOST_PP_WHILE_26, s BOOST_PP_TUPLE_EAT_3)(p, o, o(26, s))
-# define BOOST_PP_WHILE_26_I(p, o, s) BOOST_PP_IF(p(27, s), BOOST_PP_WHILE_27, s BOOST_PP_TUPLE_EAT_3)(p, o, o(27, s))
-# define BOOST_PP_WHILE_27_I(p, o, s) BOOST_PP_IF(p(28, s), BOOST_PP_WHILE_28, s BOOST_PP_TUPLE_EAT_3)(p, o, o(28, s))
-# define BOOST_PP_WHILE_28_I(p, o, s) BOOST_PP_IF(p(29, s), BOOST_PP_WHILE_29, s BOOST_PP_TUPLE_EAT_3)(p, o, o(29, s))
-# define BOOST_PP_WHILE_29_I(p, o, s) BOOST_PP_IF(p(30, s), BOOST_PP_WHILE_30, s BOOST_PP_TUPLE_EAT_3)(p, o, o(30, s))
-# define BOOST_PP_WHILE_30_I(p, o, s) BOOST_PP_IF(p(31, s), BOOST_PP_WHILE_31, s BOOST_PP_TUPLE_EAT_3)(p, o, o(31, s))
-# define BOOST_PP_WHILE_31_I(p, o, s) BOOST_PP_IF(p(32, s), BOOST_PP_WHILE_32, s BOOST_PP_TUPLE_EAT_3)(p, o, o(32, s))
-# define BOOST_PP_WHILE_32_I(p, o, s) BOOST_PP_IF(p(33, s), BOOST_PP_WHILE_33, s BOOST_PP_TUPLE_EAT_3)(p, o, o(33, s))
-# define BOOST_PP_WHILE_33_I(p, o, s) BOOST_PP_IF(p(34, s), BOOST_PP_WHILE_34, s BOOST_PP_TUPLE_EAT_3)(p, o, o(34, s))
-# define BOOST_PP_WHILE_34_I(p, o, s) BOOST_PP_IF(p(35, s), BOOST_PP_WHILE_35, s BOOST_PP_TUPLE_EAT_3)(p, o, o(35, s))
-# define BOOST_PP_WHILE_35_I(p, o, s) BOOST_PP_IF(p(36, s), BOOST_PP_WHILE_36, s BOOST_PP_TUPLE_EAT_3)(p, o, o(36, s))
-# define BOOST_PP_WHILE_36_I(p, o, s) BOOST_PP_IF(p(37, s), BOOST_PP_WHILE_37, s BOOST_PP_TUPLE_EAT_3)(p, o, o(37, s))
-# define BOOST_PP_WHILE_37_I(p, o, s) BOOST_PP_IF(p(38, s), BOOST_PP_WHILE_38, s BOOST_PP_TUPLE_EAT_3)(p, o, o(38, s))
-# define BOOST_PP_WHILE_38_I(p, o, s) BOOST_PP_IF(p(39, s), BOOST_PP_WHILE_39, s BOOST_PP_TUPLE_EAT_3)(p, o, o(39, s))
-# define BOOST_PP_WHILE_39_I(p, o, s) BOOST_PP_IF(p(40, s), BOOST_PP_WHILE_40, s BOOST_PP_TUPLE_EAT_3)(p, o, o(40, s))
-# define BOOST_PP_WHILE_40_I(p, o, s) BOOST_PP_IF(p(41, s), BOOST_PP_WHILE_41, s BOOST_PP_TUPLE_EAT_3)(p, o, o(41, s))
-# define BOOST_PP_WHILE_41_I(p, o, s) BOOST_PP_IF(p(42, s), BOOST_PP_WHILE_42, s BOOST_PP_TUPLE_EAT_3)(p, o, o(42, s))
-# define BOOST_PP_WHILE_42_I(p, o, s) BOOST_PP_IF(p(43, s), BOOST_PP_WHILE_43, s BOOST_PP_TUPLE_EAT_3)(p, o, o(43, s))
-# define BOOST_PP_WHILE_43_I(p, o, s) BOOST_PP_IF(p(44, s), BOOST_PP_WHILE_44, s BOOST_PP_TUPLE_EAT_3)(p, o, o(44, s))
-# define BOOST_PP_WHILE_44_I(p, o, s) BOOST_PP_IF(p(45, s), BOOST_PP_WHILE_45, s BOOST_PP_TUPLE_EAT_3)(p, o, o(45, s))
-# define BOOST_PP_WHILE_45_I(p, o, s) BOOST_PP_IF(p(46, s), BOOST_PP_WHILE_46, s BOOST_PP_TUPLE_EAT_3)(p, o, o(46, s))
-# define BOOST_PP_WHILE_46_I(p, o, s) BOOST_PP_IF(p(47, s), BOOST_PP_WHILE_47, s BOOST_PP_TUPLE_EAT_3)(p, o, o(47, s))
-# define BOOST_PP_WHILE_47_I(p, o, s) BOOST_PP_IF(p(48, s), BOOST_PP_WHILE_48, s BOOST_PP_TUPLE_EAT_3)(p, o, o(48, s))
-# define BOOST_PP_WHILE_48_I(p, o, s) BOOST_PP_IF(p(49, s), BOOST_PP_WHILE_49, s BOOST_PP_TUPLE_EAT_3)(p, o, o(49, s))
-# define BOOST_PP_WHILE_49_I(p, o, s) BOOST_PP_IF(p(50, s), BOOST_PP_WHILE_50, s BOOST_PP_TUPLE_EAT_3)(p, o, o(50, s))
-# define BOOST_PP_WHILE_50_I(p, o, s) BOOST_PP_IF(p(51, s), BOOST_PP_WHILE_51, s BOOST_PP_TUPLE_EAT_3)(p, o, o(51, s))
-# define BOOST_PP_WHILE_51_I(p, o, s) BOOST_PP_IF(p(52, s), BOOST_PP_WHILE_52, s BOOST_PP_TUPLE_EAT_3)(p, o, o(52, s))
-# define BOOST_PP_WHILE_52_I(p, o, s) BOOST_PP_IF(p(53, s), BOOST_PP_WHILE_53, s BOOST_PP_TUPLE_EAT_3)(p, o, o(53, s))
-# define BOOST_PP_WHILE_53_I(p, o, s) BOOST_PP_IF(p(54, s), BOOST_PP_WHILE_54, s BOOST_PP_TUPLE_EAT_3)(p, o, o(54, s))
-# define BOOST_PP_WHILE_54_I(p, o, s) BOOST_PP_IF(p(55, s), BOOST_PP_WHILE_55, s BOOST_PP_TUPLE_EAT_3)(p, o, o(55, s))
-# define BOOST_PP_WHILE_55_I(p, o, s) BOOST_PP_IF(p(56, s), BOOST_PP_WHILE_56, s BOOST_PP_TUPLE_EAT_3)(p, o, o(56, s))
-# define BOOST_PP_WHILE_56_I(p, o, s) BOOST_PP_IF(p(57, s), BOOST_PP_WHILE_57, s BOOST_PP_TUPLE_EAT_3)(p, o, o(57, s))
-# define BOOST_PP_WHILE_57_I(p, o, s) BOOST_PP_IF(p(58, s), BOOST_PP_WHILE_58, s BOOST_PP_TUPLE_EAT_3)(p, o, o(58, s))
-# define BOOST_PP_WHILE_58_I(p, o, s) BOOST_PP_IF(p(59, s), BOOST_PP_WHILE_59, s BOOST_PP_TUPLE_EAT_3)(p, o, o(59, s))
-# define BOOST_PP_WHILE_59_I(p, o, s) BOOST_PP_IF(p(60, s), BOOST_PP_WHILE_60, s BOOST_PP_TUPLE_EAT_3)(p, o, o(60, s))
-# define BOOST_PP_WHILE_60_I(p, o, s) BOOST_PP_IF(p(61, s), BOOST_PP_WHILE_61, s BOOST_PP_TUPLE_EAT_3)(p, o, o(61, s))
-# define BOOST_PP_WHILE_61_I(p, o, s) BOOST_PP_IF(p(62, s), BOOST_PP_WHILE_62, s BOOST_PP_TUPLE_EAT_3)(p, o, o(62, s))
-# define BOOST_PP_WHILE_62_I(p, o, s) BOOST_PP_IF(p(63, s), BOOST_PP_WHILE_63, s BOOST_PP_TUPLE_EAT_3)(p, o, o(63, s))
-# define BOOST_PP_WHILE_63_I(p, o, s) BOOST_PP_IF(p(64, s), BOOST_PP_WHILE_64, s BOOST_PP_TUPLE_EAT_3)(p, o, o(64, s))
-# define BOOST_PP_WHILE_64_I(p, o, s) BOOST_PP_IF(p(65, s), BOOST_PP_WHILE_65, s BOOST_PP_TUPLE_EAT_3)(p, o, o(65, s))
-# define BOOST_PP_WHILE_65_I(p, o, s) BOOST_PP_IF(p(66, s), BOOST_PP_WHILE_66, s BOOST_PP_TUPLE_EAT_3)(p, o, o(66, s))
-# define BOOST_PP_WHILE_66_I(p, o, s) BOOST_PP_IF(p(67, s), BOOST_PP_WHILE_67, s BOOST_PP_TUPLE_EAT_3)(p, o, o(67, s))
-# define BOOST_PP_WHILE_67_I(p, o, s) BOOST_PP_IF(p(68, s), BOOST_PP_WHILE_68, s BOOST_PP_TUPLE_EAT_3)(p, o, o(68, s))
-# define BOOST_PP_WHILE_68_I(p, o, s) BOOST_PP_IF(p(69, s), BOOST_PP_WHILE_69, s BOOST_PP_TUPLE_EAT_3)(p, o, o(69, s))
-# define BOOST_PP_WHILE_69_I(p, o, s) BOOST_PP_IF(p(70, s), BOOST_PP_WHILE_70, s BOOST_PP_TUPLE_EAT_3)(p, o, o(70, s))
-# define BOOST_PP_WHILE_70_I(p, o, s) BOOST_PP_IF(p(71, s), BOOST_PP_WHILE_71, s BOOST_PP_TUPLE_EAT_3)(p, o, o(71, s))
-# define BOOST_PP_WHILE_71_I(p, o, s) BOOST_PP_IF(p(72, s), BOOST_PP_WHILE_72, s BOOST_PP_TUPLE_EAT_3)(p, o, o(72, s))
-# define BOOST_PP_WHILE_72_I(p, o, s) BOOST_PP_IF(p(73, s), BOOST_PP_WHILE_73, s BOOST_PP_TUPLE_EAT_3)(p, o, o(73, s))
-# define BOOST_PP_WHILE_73_I(p, o, s) BOOST_PP_IF(p(74, s), BOOST_PP_WHILE_74, s BOOST_PP_TUPLE_EAT_3)(p, o, o(74, s))
-# define BOOST_PP_WHILE_74_I(p, o, s) BOOST_PP_IF(p(75, s), BOOST_PP_WHILE_75, s BOOST_PP_TUPLE_EAT_3)(p, o, o(75, s))
-# define BOOST_PP_WHILE_75_I(p, o, s) BOOST_PP_IF(p(76, s), BOOST_PP_WHILE_76, s BOOST_PP_TUPLE_EAT_3)(p, o, o(76, s))
-# define BOOST_PP_WHILE_76_I(p, o, s) BOOST_PP_IF(p(77, s), BOOST_PP_WHILE_77, s BOOST_PP_TUPLE_EAT_3)(p, o, o(77, s))
-# define BOOST_PP_WHILE_77_I(p, o, s) BOOST_PP_IF(p(78, s), BOOST_PP_WHILE_78, s BOOST_PP_TUPLE_EAT_3)(p, o, o(78, s))
-# define BOOST_PP_WHILE_78_I(p, o, s) BOOST_PP_IF(p(79, s), BOOST_PP_WHILE_79, s BOOST_PP_TUPLE_EAT_3)(p, o, o(79, s))
-# define BOOST_PP_WHILE_79_I(p, o, s) BOOST_PP_IF(p(80, s), BOOST_PP_WHILE_80, s BOOST_PP_TUPLE_EAT_3)(p, o, o(80, s))
-# define BOOST_PP_WHILE_80_I(p, o, s) BOOST_PP_IF(p(81, s), BOOST_PP_WHILE_81, s BOOST_PP_TUPLE_EAT_3)(p, o, o(81, s))
-# define BOOST_PP_WHILE_81_I(p, o, s) BOOST_PP_IF(p(82, s), BOOST_PP_WHILE_82, s BOOST_PP_TUPLE_EAT_3)(p, o, o(82, s))
-# define BOOST_PP_WHILE_82_I(p, o, s) BOOST_PP_IF(p(83, s), BOOST_PP_WHILE_83, s BOOST_PP_TUPLE_EAT_3)(p, o, o(83, s))
-# define BOOST_PP_WHILE_83_I(p, o, s) BOOST_PP_IF(p(84, s), BOOST_PP_WHILE_84, s BOOST_PP_TUPLE_EAT_3)(p, o, o(84, s))
-# define BOOST_PP_WHILE_84_I(p, o, s) BOOST_PP_IF(p(85, s), BOOST_PP_WHILE_85, s BOOST_PP_TUPLE_EAT_3)(p, o, o(85, s))
-# define BOOST_PP_WHILE_85_I(p, o, s) BOOST_PP_IF(p(86, s), BOOST_PP_WHILE_86, s BOOST_PP_TUPLE_EAT_3)(p, o, o(86, s))
-# define BOOST_PP_WHILE_86_I(p, o, s) BOOST_PP_IF(p(87, s), BOOST_PP_WHILE_87, s BOOST_PP_TUPLE_EAT_3)(p, o, o(87, s))
-# define BOOST_PP_WHILE_87_I(p, o, s) BOOST_PP_IF(p(88, s), BOOST_PP_WHILE_88, s BOOST_PP_TUPLE_EAT_3)(p, o, o(88, s))
-# define BOOST_PP_WHILE_88_I(p, o, s) BOOST_PP_IF(p(89, s), BOOST_PP_WHILE_89, s BOOST_PP_TUPLE_EAT_3)(p, o, o(89, s))
-# define BOOST_PP_WHILE_89_I(p, o, s) BOOST_PP_IF(p(90, s), BOOST_PP_WHILE_90, s BOOST_PP_TUPLE_EAT_3)(p, o, o(90, s))
-# define BOOST_PP_WHILE_90_I(p, o, s) BOOST_PP_IF(p(91, s), BOOST_PP_WHILE_91, s BOOST_PP_TUPLE_EAT_3)(p, o, o(91, s))
-# define BOOST_PP_WHILE_91_I(p, o, s) BOOST_PP_IF(p(92, s), BOOST_PP_WHILE_92, s BOOST_PP_TUPLE_EAT_3)(p, o, o(92, s))
-# define BOOST_PP_WHILE_92_I(p, o, s) BOOST_PP_IF(p(93, s), BOOST_PP_WHILE_93, s BOOST_PP_TUPLE_EAT_3)(p, o, o(93, s))
-# define BOOST_PP_WHILE_93_I(p, o, s) BOOST_PP_IF(p(94, s), BOOST_PP_WHILE_94, s BOOST_PP_TUPLE_EAT_3)(p, o, o(94, s))
-# define BOOST_PP_WHILE_94_I(p, o, s) BOOST_PP_IF(p(95, s), BOOST_PP_WHILE_95, s BOOST_PP_TUPLE_EAT_3)(p, o, o(95, s))
-# define BOOST_PP_WHILE_95_I(p, o, s) BOOST_PP_IF(p(96, s), BOOST_PP_WHILE_96, s BOOST_PP_TUPLE_EAT_3)(p, o, o(96, s))
-# define BOOST_PP_WHILE_96_I(p, o, s) BOOST_PP_IF(p(97, s), BOOST_PP_WHILE_97, s BOOST_PP_TUPLE_EAT_3)(p, o, o(97, s))
-# define BOOST_PP_WHILE_97_I(p, o, s) BOOST_PP_IF(p(98, s), BOOST_PP_WHILE_98, s BOOST_PP_TUPLE_EAT_3)(p, o, o(98, s))
-# define BOOST_PP_WHILE_98_I(p, o, s) BOOST_PP_IF(p(99, s), BOOST_PP_WHILE_99, s BOOST_PP_TUPLE_EAT_3)(p, o, o(99, s))
-# define BOOST_PP_WHILE_99_I(p, o, s) BOOST_PP_IF(p(100, s), BOOST_PP_WHILE_100, s BOOST_PP_TUPLE_EAT_3)(p, o, o(100, s))
-# define BOOST_PP_WHILE_100_I(p, o, s) BOOST_PP_IF(p(101, s), BOOST_PP_WHILE_101, s BOOST_PP_TUPLE_EAT_3)(p, o, o(101, s))
-# define BOOST_PP_WHILE_101_I(p, o, s) BOOST_PP_IF(p(102, s), BOOST_PP_WHILE_102, s BOOST_PP_TUPLE_EAT_3)(p, o, o(102, s))
-# define BOOST_PP_WHILE_102_I(p, o, s) BOOST_PP_IF(p(103, s), BOOST_PP_WHILE_103, s BOOST_PP_TUPLE_EAT_3)(p, o, o(103, s))
-# define BOOST_PP_WHILE_103_I(p, o, s) BOOST_PP_IF(p(104, s), BOOST_PP_WHILE_104, s BOOST_PP_TUPLE_EAT_3)(p, o, o(104, s))
-# define BOOST_PP_WHILE_104_I(p, o, s) BOOST_PP_IF(p(105, s), BOOST_PP_WHILE_105, s BOOST_PP_TUPLE_EAT_3)(p, o, o(105, s))
-# define BOOST_PP_WHILE_105_I(p, o, s) BOOST_PP_IF(p(106, s), BOOST_PP_WHILE_106, s BOOST_PP_TUPLE_EAT_3)(p, o, o(106, s))
-# define BOOST_PP_WHILE_106_I(p, o, s) BOOST_PP_IF(p(107, s), BOOST_PP_WHILE_107, s BOOST_PP_TUPLE_EAT_3)(p, o, o(107, s))
-# define BOOST_PP_WHILE_107_I(p, o, s) BOOST_PP_IF(p(108, s), BOOST_PP_WHILE_108, s BOOST_PP_TUPLE_EAT_3)(p, o, o(108, s))
-# define BOOST_PP_WHILE_108_I(p, o, s) BOOST_PP_IF(p(109, s), BOOST_PP_WHILE_109, s BOOST_PP_TUPLE_EAT_3)(p, o, o(109, s))
-# define BOOST_PP_WHILE_109_I(p, o, s) BOOST_PP_IF(p(110, s), BOOST_PP_WHILE_110, s BOOST_PP_TUPLE_EAT_3)(p, o, o(110, s))
-# define BOOST_PP_WHILE_110_I(p, o, s) BOOST_PP_IF(p(111, s), BOOST_PP_WHILE_111, s BOOST_PP_TUPLE_EAT_3)(p, o, o(111, s))
-# define BOOST_PP_WHILE_111_I(p, o, s) BOOST_PP_IF(p(112, s), BOOST_PP_WHILE_112, s BOOST_PP_TUPLE_EAT_3)(p, o, o(112, s))
-# define BOOST_PP_WHILE_112_I(p, o, s) BOOST_PP_IF(p(113, s), BOOST_PP_WHILE_113, s BOOST_PP_TUPLE_EAT_3)(p, o, o(113, s))
-# define BOOST_PP_WHILE_113_I(p, o, s) BOOST_PP_IF(p(114, s), BOOST_PP_WHILE_114, s BOOST_PP_TUPLE_EAT_3)(p, o, o(114, s))
-# define BOOST_PP_WHILE_114_I(p, o, s) BOOST_PP_IF(p(115, s), BOOST_PP_WHILE_115, s BOOST_PP_TUPLE_EAT_3)(p, o, o(115, s))
-# define BOOST_PP_WHILE_115_I(p, o, s) BOOST_PP_IF(p(116, s), BOOST_PP_WHILE_116, s BOOST_PP_TUPLE_EAT_3)(p, o, o(116, s))
-# define BOOST_PP_WHILE_116_I(p, o, s) BOOST_PP_IF(p(117, s), BOOST_PP_WHILE_117, s BOOST_PP_TUPLE_EAT_3)(p, o, o(117, s))
-# define BOOST_PP_WHILE_117_I(p, o, s) BOOST_PP_IF(p(118, s), BOOST_PP_WHILE_118, s BOOST_PP_TUPLE_EAT_3)(p, o, o(118, s))
-# define BOOST_PP_WHILE_118_I(p, o, s) BOOST_PP_IF(p(119, s), BOOST_PP_WHILE_119, s BOOST_PP_TUPLE_EAT_3)(p, o, o(119, s))
-# define BOOST_PP_WHILE_119_I(p, o, s) BOOST_PP_IF(p(120, s), BOOST_PP_WHILE_120, s BOOST_PP_TUPLE_EAT_3)(p, o, o(120, s))
-# define BOOST_PP_WHILE_120_I(p, o, s) BOOST_PP_IF(p(121, s), BOOST_PP_WHILE_121, s BOOST_PP_TUPLE_EAT_3)(p, o, o(121, s))
-# define BOOST_PP_WHILE_121_I(p, o, s) BOOST_PP_IF(p(122, s), BOOST_PP_WHILE_122, s BOOST_PP_TUPLE_EAT_3)(p, o, o(122, s))
-# define BOOST_PP_WHILE_122_I(p, o, s) BOOST_PP_IF(p(123, s), BOOST_PP_WHILE_123, s BOOST_PP_TUPLE_EAT_3)(p, o, o(123, s))
-# define BOOST_PP_WHILE_123_I(p, o, s) BOOST_PP_IF(p(124, s), BOOST_PP_WHILE_124, s BOOST_PP_TUPLE_EAT_3)(p, o, o(124, s))
-# define BOOST_PP_WHILE_124_I(p, o, s) BOOST_PP_IF(p(125, s), BOOST_PP_WHILE_125, s BOOST_PP_TUPLE_EAT_3)(p, o, o(125, s))
-# define BOOST_PP_WHILE_125_I(p, o, s) BOOST_PP_IF(p(126, s), BOOST_PP_WHILE_126, s BOOST_PP_TUPLE_EAT_3)(p, o, o(126, s))
-# define BOOST_PP_WHILE_126_I(p, o, s) BOOST_PP_IF(p(127, s), BOOST_PP_WHILE_127, s BOOST_PP_TUPLE_EAT_3)(p, o, o(127, s))
-# define BOOST_PP_WHILE_127_I(p, o, s) BOOST_PP_IF(p(128, s), BOOST_PP_WHILE_128, s BOOST_PP_TUPLE_EAT_3)(p, o, o(128, s))
-# define BOOST_PP_WHILE_128_I(p, o, s) BOOST_PP_IF(p(129, s), BOOST_PP_WHILE_129, s BOOST_PP_TUPLE_EAT_3)(p, o, o(129, s))
-# define BOOST_PP_WHILE_129_I(p, o, s) BOOST_PP_IF(p(130, s), BOOST_PP_WHILE_130, s BOOST_PP_TUPLE_EAT_3)(p, o, o(130, s))
-# define BOOST_PP_WHILE_130_I(p, o, s) BOOST_PP_IF(p(131, s), BOOST_PP_WHILE_131, s BOOST_PP_TUPLE_EAT_3)(p, o, o(131, s))
-# define BOOST_PP_WHILE_131_I(p, o, s) BOOST_PP_IF(p(132, s), BOOST_PP_WHILE_132, s BOOST_PP_TUPLE_EAT_3)(p, o, o(132, s))
-# define BOOST_PP_WHILE_132_I(p, o, s) BOOST_PP_IF(p(133, s), BOOST_PP_WHILE_133, s BOOST_PP_TUPLE_EAT_3)(p, o, o(133, s))
-# define BOOST_PP_WHILE_133_I(p, o, s) BOOST_PP_IF(p(134, s), BOOST_PP_WHILE_134, s BOOST_PP_TUPLE_EAT_3)(p, o, o(134, s))
-# define BOOST_PP_WHILE_134_I(p, o, s) BOOST_PP_IF(p(135, s), BOOST_PP_WHILE_135, s BOOST_PP_TUPLE_EAT_3)(p, o, o(135, s))
-# define BOOST_PP_WHILE_135_I(p, o, s) BOOST_PP_IF(p(136, s), BOOST_PP_WHILE_136, s BOOST_PP_TUPLE_EAT_3)(p, o, o(136, s))
-# define BOOST_PP_WHILE_136_I(p, o, s) BOOST_PP_IF(p(137, s), BOOST_PP_WHILE_137, s BOOST_PP_TUPLE_EAT_3)(p, o, o(137, s))
-# define BOOST_PP_WHILE_137_I(p, o, s) BOOST_PP_IF(p(138, s), BOOST_PP_WHILE_138, s BOOST_PP_TUPLE_EAT_3)(p, o, o(138, s))
-# define BOOST_PP_WHILE_138_I(p, o, s) BOOST_PP_IF(p(139, s), BOOST_PP_WHILE_139, s BOOST_PP_TUPLE_EAT_3)(p, o, o(139, s))
-# define BOOST_PP_WHILE_139_I(p, o, s) BOOST_PP_IF(p(140, s), BOOST_PP_WHILE_140, s BOOST_PP_TUPLE_EAT_3)(p, o, o(140, s))
-# define BOOST_PP_WHILE_140_I(p, o, s) BOOST_PP_IF(p(141, s), BOOST_PP_WHILE_141, s BOOST_PP_TUPLE_EAT_3)(p, o, o(141, s))
-# define BOOST_PP_WHILE_141_I(p, o, s) BOOST_PP_IF(p(142, s), BOOST_PP_WHILE_142, s BOOST_PP_TUPLE_EAT_3)(p, o, o(142, s))
-# define BOOST_PP_WHILE_142_I(p, o, s) BOOST_PP_IF(p(143, s), BOOST_PP_WHILE_143, s BOOST_PP_TUPLE_EAT_3)(p, o, o(143, s))
-# define BOOST_PP_WHILE_143_I(p, o, s) BOOST_PP_IF(p(144, s), BOOST_PP_WHILE_144, s BOOST_PP_TUPLE_EAT_3)(p, o, o(144, s))
-# define BOOST_PP_WHILE_144_I(p, o, s) BOOST_PP_IF(p(145, s), BOOST_PP_WHILE_145, s BOOST_PP_TUPLE_EAT_3)(p, o, o(145, s))
-# define BOOST_PP_WHILE_145_I(p, o, s) BOOST_PP_IF(p(146, s), BOOST_PP_WHILE_146, s BOOST_PP_TUPLE_EAT_3)(p, o, o(146, s))
-# define BOOST_PP_WHILE_146_I(p, o, s) BOOST_PP_IF(p(147, s), BOOST_PP_WHILE_147, s BOOST_PP_TUPLE_EAT_3)(p, o, o(147, s))
-# define BOOST_PP_WHILE_147_I(p, o, s) BOOST_PP_IF(p(148, s), BOOST_PP_WHILE_148, s BOOST_PP_TUPLE_EAT_3)(p, o, o(148, s))
-# define BOOST_PP_WHILE_148_I(p, o, s) BOOST_PP_IF(p(149, s), BOOST_PP_WHILE_149, s BOOST_PP_TUPLE_EAT_3)(p, o, o(149, s))
-# define BOOST_PP_WHILE_149_I(p, o, s) BOOST_PP_IF(p(150, s), BOOST_PP_WHILE_150, s BOOST_PP_TUPLE_EAT_3)(p, o, o(150, s))
-# define BOOST_PP_WHILE_150_I(p, o, s) BOOST_PP_IF(p(151, s), BOOST_PP_WHILE_151, s BOOST_PP_TUPLE_EAT_3)(p, o, o(151, s))
-# define BOOST_PP_WHILE_151_I(p, o, s) BOOST_PP_IF(p(152, s), BOOST_PP_WHILE_152, s BOOST_PP_TUPLE_EAT_3)(p, o, o(152, s))
-# define BOOST_PP_WHILE_152_I(p, o, s) BOOST_PP_IF(p(153, s), BOOST_PP_WHILE_153, s BOOST_PP_TUPLE_EAT_3)(p, o, o(153, s))
-# define BOOST_PP_WHILE_153_I(p, o, s) BOOST_PP_IF(p(154, s), BOOST_PP_WHILE_154, s BOOST_PP_TUPLE_EAT_3)(p, o, o(154, s))
-# define BOOST_PP_WHILE_154_I(p, o, s) BOOST_PP_IF(p(155, s), BOOST_PP_WHILE_155, s BOOST_PP_TUPLE_EAT_3)(p, o, o(155, s))
-# define BOOST_PP_WHILE_155_I(p, o, s) BOOST_PP_IF(p(156, s), BOOST_PP_WHILE_156, s BOOST_PP_TUPLE_EAT_3)(p, o, o(156, s))
-# define BOOST_PP_WHILE_156_I(p, o, s) BOOST_PP_IF(p(157, s), BOOST_PP_WHILE_157, s BOOST_PP_TUPLE_EAT_3)(p, o, o(157, s))
-# define BOOST_PP_WHILE_157_I(p, o, s) BOOST_PP_IF(p(158, s), BOOST_PP_WHILE_158, s BOOST_PP_TUPLE_EAT_3)(p, o, o(158, s))
-# define BOOST_PP_WHILE_158_I(p, o, s) BOOST_PP_IF(p(159, s), BOOST_PP_WHILE_159, s BOOST_PP_TUPLE_EAT_3)(p, o, o(159, s))
-# define BOOST_PP_WHILE_159_I(p, o, s) BOOST_PP_IF(p(160, s), BOOST_PP_WHILE_160, s BOOST_PP_TUPLE_EAT_3)(p, o, o(160, s))
-# define BOOST_PP_WHILE_160_I(p, o, s) BOOST_PP_IF(p(161, s), BOOST_PP_WHILE_161, s BOOST_PP_TUPLE_EAT_3)(p, o, o(161, s))
-# define BOOST_PP_WHILE_161_I(p, o, s) BOOST_PP_IF(p(162, s), BOOST_PP_WHILE_162, s BOOST_PP_TUPLE_EAT_3)(p, o, o(162, s))
-# define BOOST_PP_WHILE_162_I(p, o, s) BOOST_PP_IF(p(163, s), BOOST_PP_WHILE_163, s BOOST_PP_TUPLE_EAT_3)(p, o, o(163, s))
-# define BOOST_PP_WHILE_163_I(p, o, s) BOOST_PP_IF(p(164, s), BOOST_PP_WHILE_164, s BOOST_PP_TUPLE_EAT_3)(p, o, o(164, s))
-# define BOOST_PP_WHILE_164_I(p, o, s) BOOST_PP_IF(p(165, s), BOOST_PP_WHILE_165, s BOOST_PP_TUPLE_EAT_3)(p, o, o(165, s))
-# define BOOST_PP_WHILE_165_I(p, o, s) BOOST_PP_IF(p(166, s), BOOST_PP_WHILE_166, s BOOST_PP_TUPLE_EAT_3)(p, o, o(166, s))
-# define BOOST_PP_WHILE_166_I(p, o, s) BOOST_PP_IF(p(167, s), BOOST_PP_WHILE_167, s BOOST_PP_TUPLE_EAT_3)(p, o, o(167, s))
-# define BOOST_PP_WHILE_167_I(p, o, s) BOOST_PP_IF(p(168, s), BOOST_PP_WHILE_168, s BOOST_PP_TUPLE_EAT_3)(p, o, o(168, s))
-# define BOOST_PP_WHILE_168_I(p, o, s) BOOST_PP_IF(p(169, s), BOOST_PP_WHILE_169, s BOOST_PP_TUPLE_EAT_3)(p, o, o(169, s))
-# define BOOST_PP_WHILE_169_I(p, o, s) BOOST_PP_IF(p(170, s), BOOST_PP_WHILE_170, s BOOST_PP_TUPLE_EAT_3)(p, o, o(170, s))
-# define BOOST_PP_WHILE_170_I(p, o, s) BOOST_PP_IF(p(171, s), BOOST_PP_WHILE_171, s BOOST_PP_TUPLE_EAT_3)(p, o, o(171, s))
-# define BOOST_PP_WHILE_171_I(p, o, s) BOOST_PP_IF(p(172, s), BOOST_PP_WHILE_172, s BOOST_PP_TUPLE_EAT_3)(p, o, o(172, s))
-# define BOOST_PP_WHILE_172_I(p, o, s) BOOST_PP_IF(p(173, s), BOOST_PP_WHILE_173, s BOOST_PP_TUPLE_EAT_3)(p, o, o(173, s))
-# define BOOST_PP_WHILE_173_I(p, o, s) BOOST_PP_IF(p(174, s), BOOST_PP_WHILE_174, s BOOST_PP_TUPLE_EAT_3)(p, o, o(174, s))
-# define BOOST_PP_WHILE_174_I(p, o, s) BOOST_PP_IF(p(175, s), BOOST_PP_WHILE_175, s BOOST_PP_TUPLE_EAT_3)(p, o, o(175, s))
-# define BOOST_PP_WHILE_175_I(p, o, s) BOOST_PP_IF(p(176, s), BOOST_PP_WHILE_176, s BOOST_PP_TUPLE_EAT_3)(p, o, o(176, s))
-# define BOOST_PP_WHILE_176_I(p, o, s) BOOST_PP_IF(p(177, s), BOOST_PP_WHILE_177, s BOOST_PP_TUPLE_EAT_3)(p, o, o(177, s))
-# define BOOST_PP_WHILE_177_I(p, o, s) BOOST_PP_IF(p(178, s), BOOST_PP_WHILE_178, s BOOST_PP_TUPLE_EAT_3)(p, o, o(178, s))
-# define BOOST_PP_WHILE_178_I(p, o, s) BOOST_PP_IF(p(179, s), BOOST_PP_WHILE_179, s BOOST_PP_TUPLE_EAT_3)(p, o, o(179, s))
-# define BOOST_PP_WHILE_179_I(p, o, s) BOOST_PP_IF(p(180, s), BOOST_PP_WHILE_180, s BOOST_PP_TUPLE_EAT_3)(p, o, o(180, s))
-# define BOOST_PP_WHILE_180_I(p, o, s) BOOST_PP_IF(p(181, s), BOOST_PP_WHILE_181, s BOOST_PP_TUPLE_EAT_3)(p, o, o(181, s))
-# define BOOST_PP_WHILE_181_I(p, o, s) BOOST_PP_IF(p(182, s), BOOST_PP_WHILE_182, s BOOST_PP_TUPLE_EAT_3)(p, o, o(182, s))
-# define BOOST_PP_WHILE_182_I(p, o, s) BOOST_PP_IF(p(183, s), BOOST_PP_WHILE_183, s BOOST_PP_TUPLE_EAT_3)(p, o, o(183, s))
-# define BOOST_PP_WHILE_183_I(p, o, s) BOOST_PP_IF(p(184, s), BOOST_PP_WHILE_184, s BOOST_PP_TUPLE_EAT_3)(p, o, o(184, s))
-# define BOOST_PP_WHILE_184_I(p, o, s) BOOST_PP_IF(p(185, s), BOOST_PP_WHILE_185, s BOOST_PP_TUPLE_EAT_3)(p, o, o(185, s))
-# define BOOST_PP_WHILE_185_I(p, o, s) BOOST_PP_IF(p(186, s), BOOST_PP_WHILE_186, s BOOST_PP_TUPLE_EAT_3)(p, o, o(186, s))
-# define BOOST_PP_WHILE_186_I(p, o, s) BOOST_PP_IF(p(187, s), BOOST_PP_WHILE_187, s BOOST_PP_TUPLE_EAT_3)(p, o, o(187, s))
-# define BOOST_PP_WHILE_187_I(p, o, s) BOOST_PP_IF(p(188, s), BOOST_PP_WHILE_188, s BOOST_PP_TUPLE_EAT_3)(p, o, o(188, s))
-# define BOOST_PP_WHILE_188_I(p, o, s) BOOST_PP_IF(p(189, s), BOOST_PP_WHILE_189, s BOOST_PP_TUPLE_EAT_3)(p, o, o(189, s))
-# define BOOST_PP_WHILE_189_I(p, o, s) BOOST_PP_IF(p(190, s), BOOST_PP_WHILE_190, s BOOST_PP_TUPLE_EAT_3)(p, o, o(190, s))
-# define BOOST_PP_WHILE_190_I(p, o, s) BOOST_PP_IF(p(191, s), BOOST_PP_WHILE_191, s BOOST_PP_TUPLE_EAT_3)(p, o, o(191, s))
-# define BOOST_PP_WHILE_191_I(p, o, s) BOOST_PP_IF(p(192, s), BOOST_PP_WHILE_192, s BOOST_PP_TUPLE_EAT_3)(p, o, o(192, s))
-# define BOOST_PP_WHILE_192_I(p, o, s) BOOST_PP_IF(p(193, s), BOOST_PP_WHILE_193, s BOOST_PP_TUPLE_EAT_3)(p, o, o(193, s))
-# define BOOST_PP_WHILE_193_I(p, o, s) BOOST_PP_IF(p(194, s), BOOST_PP_WHILE_194, s BOOST_PP_TUPLE_EAT_3)(p, o, o(194, s))
-# define BOOST_PP_WHILE_194_I(p, o, s) BOOST_PP_IF(p(195, s), BOOST_PP_WHILE_195, s BOOST_PP_TUPLE_EAT_3)(p, o, o(195, s))
-# define BOOST_PP_WHILE_195_I(p, o, s) BOOST_PP_IF(p(196, s), BOOST_PP_WHILE_196, s BOOST_PP_TUPLE_EAT_3)(p, o, o(196, s))
-# define BOOST_PP_WHILE_196_I(p, o, s) BOOST_PP_IF(p(197, s), BOOST_PP_WHILE_197, s BOOST_PP_TUPLE_EAT_3)(p, o, o(197, s))
-# define BOOST_PP_WHILE_197_I(p, o, s) BOOST_PP_IF(p(198, s), BOOST_PP_WHILE_198, s BOOST_PP_TUPLE_EAT_3)(p, o, o(198, s))
-# define BOOST_PP_WHILE_198_I(p, o, s) BOOST_PP_IF(p(199, s), BOOST_PP_WHILE_199, s BOOST_PP_TUPLE_EAT_3)(p, o, o(199, s))
-# define BOOST_PP_WHILE_199_I(p, o, s) BOOST_PP_IF(p(200, s), BOOST_PP_WHILE_200, s BOOST_PP_TUPLE_EAT_3)(p, o, o(200, s))
-# define BOOST_PP_WHILE_200_I(p, o, s) BOOST_PP_IF(p(201, s), BOOST_PP_WHILE_201, s BOOST_PP_TUPLE_EAT_3)(p, o, o(201, s))
-# define BOOST_PP_WHILE_201_I(p, o, s) BOOST_PP_IF(p(202, s), BOOST_PP_WHILE_202, s BOOST_PP_TUPLE_EAT_3)(p, o, o(202, s))
-# define BOOST_PP_WHILE_202_I(p, o, s) BOOST_PP_IF(p(203, s), BOOST_PP_WHILE_203, s BOOST_PP_TUPLE_EAT_3)(p, o, o(203, s))
-# define BOOST_PP_WHILE_203_I(p, o, s) BOOST_PP_IF(p(204, s), BOOST_PP_WHILE_204, s BOOST_PP_TUPLE_EAT_3)(p, o, o(204, s))
-# define BOOST_PP_WHILE_204_I(p, o, s) BOOST_PP_IF(p(205, s), BOOST_PP_WHILE_205, s BOOST_PP_TUPLE_EAT_3)(p, o, o(205, s))
-# define BOOST_PP_WHILE_205_I(p, o, s) BOOST_PP_IF(p(206, s), BOOST_PP_WHILE_206, s BOOST_PP_TUPLE_EAT_3)(p, o, o(206, s))
-# define BOOST_PP_WHILE_206_I(p, o, s) BOOST_PP_IF(p(207, s), BOOST_PP_WHILE_207, s BOOST_PP_TUPLE_EAT_3)(p, o, o(207, s))
-# define BOOST_PP_WHILE_207_I(p, o, s) BOOST_PP_IF(p(208, s), BOOST_PP_WHILE_208, s BOOST_PP_TUPLE_EAT_3)(p, o, o(208, s))
-# define BOOST_PP_WHILE_208_I(p, o, s) BOOST_PP_IF(p(209, s), BOOST_PP_WHILE_209, s BOOST_PP_TUPLE_EAT_3)(p, o, o(209, s))
-# define BOOST_PP_WHILE_209_I(p, o, s) BOOST_PP_IF(p(210, s), BOOST_PP_WHILE_210, s BOOST_PP_TUPLE_EAT_3)(p, o, o(210, s))
-# define BOOST_PP_WHILE_210_I(p, o, s) BOOST_PP_IF(p(211, s), BOOST_PP_WHILE_211, s BOOST_PP_TUPLE_EAT_3)(p, o, o(211, s))
-# define BOOST_PP_WHILE_211_I(p, o, s) BOOST_PP_IF(p(212, s), BOOST_PP_WHILE_212, s BOOST_PP_TUPLE_EAT_3)(p, o, o(212, s))
-# define BOOST_PP_WHILE_212_I(p, o, s) BOOST_PP_IF(p(213, s), BOOST_PP_WHILE_213, s BOOST_PP_TUPLE_EAT_3)(p, o, o(213, s))
-# define BOOST_PP_WHILE_213_I(p, o, s) BOOST_PP_IF(p(214, s), BOOST_PP_WHILE_214, s BOOST_PP_TUPLE_EAT_3)(p, o, o(214, s))
-# define BOOST_PP_WHILE_214_I(p, o, s) BOOST_PP_IF(p(215, s), BOOST_PP_WHILE_215, s BOOST_PP_TUPLE_EAT_3)(p, o, o(215, s))
-# define BOOST_PP_WHILE_215_I(p, o, s) BOOST_PP_IF(p(216, s), BOOST_PP_WHILE_216, s BOOST_PP_TUPLE_EAT_3)(p, o, o(216, s))
-# define BOOST_PP_WHILE_216_I(p, o, s) BOOST_PP_IF(p(217, s), BOOST_PP_WHILE_217, s BOOST_PP_TUPLE_EAT_3)(p, o, o(217, s))
-# define BOOST_PP_WHILE_217_I(p, o, s) BOOST_PP_IF(p(218, s), BOOST_PP_WHILE_218, s BOOST_PP_TUPLE_EAT_3)(p, o, o(218, s))
-# define BOOST_PP_WHILE_218_I(p, o, s) BOOST_PP_IF(p(219, s), BOOST_PP_WHILE_219, s BOOST_PP_TUPLE_EAT_3)(p, o, o(219, s))
-# define BOOST_PP_WHILE_219_I(p, o, s) BOOST_PP_IF(p(220, s), BOOST_PP_WHILE_220, s BOOST_PP_TUPLE_EAT_3)(p, o, o(220, s))
-# define BOOST_PP_WHILE_220_I(p, o, s) BOOST_PP_IF(p(221, s), BOOST_PP_WHILE_221, s BOOST_PP_TUPLE_EAT_3)(p, o, o(221, s))
-# define BOOST_PP_WHILE_221_I(p, o, s) BOOST_PP_IF(p(222, s), BOOST_PP_WHILE_222, s BOOST_PP_TUPLE_EAT_3)(p, o, o(222, s))
-# define BOOST_PP_WHILE_222_I(p, o, s) BOOST_PP_IF(p(223, s), BOOST_PP_WHILE_223, s BOOST_PP_TUPLE_EAT_3)(p, o, o(223, s))
-# define BOOST_PP_WHILE_223_I(p, o, s) BOOST_PP_IF(p(224, s), BOOST_PP_WHILE_224, s BOOST_PP_TUPLE_EAT_3)(p, o, o(224, s))
-# define BOOST_PP_WHILE_224_I(p, o, s) BOOST_PP_IF(p(225, s), BOOST_PP_WHILE_225, s BOOST_PP_TUPLE_EAT_3)(p, o, o(225, s))
-# define BOOST_PP_WHILE_225_I(p, o, s) BOOST_PP_IF(p(226, s), BOOST_PP_WHILE_226, s BOOST_PP_TUPLE_EAT_3)(p, o, o(226, s))
-# define BOOST_PP_WHILE_226_I(p, o, s) BOOST_PP_IF(p(227, s), BOOST_PP_WHILE_227, s BOOST_PP_TUPLE_EAT_3)(p, o, o(227, s))
-# define BOOST_PP_WHILE_227_I(p, o, s) BOOST_PP_IF(p(228, s), BOOST_PP_WHILE_228, s BOOST_PP_TUPLE_EAT_3)(p, o, o(228, s))
-# define BOOST_PP_WHILE_228_I(p, o, s) BOOST_PP_IF(p(229, s), BOOST_PP_WHILE_229, s BOOST_PP_TUPLE_EAT_3)(p, o, o(229, s))
-# define BOOST_PP_WHILE_229_I(p, o, s) BOOST_PP_IF(p(230, s), BOOST_PP_WHILE_230, s BOOST_PP_TUPLE_EAT_3)(p, o, o(230, s))
-# define BOOST_PP_WHILE_230_I(p, o, s) BOOST_PP_IF(p(231, s), BOOST_PP_WHILE_231, s BOOST_PP_TUPLE_EAT_3)(p, o, o(231, s))
-# define BOOST_PP_WHILE_231_I(p, o, s) BOOST_PP_IF(p(232, s), BOOST_PP_WHILE_232, s BOOST_PP_TUPLE_EAT_3)(p, o, o(232, s))
-# define BOOST_PP_WHILE_232_I(p, o, s) BOOST_PP_IF(p(233, s), BOOST_PP_WHILE_233, s BOOST_PP_TUPLE_EAT_3)(p, o, o(233, s))
-# define BOOST_PP_WHILE_233_I(p, o, s) BOOST_PP_IF(p(234, s), BOOST_PP_WHILE_234, s BOOST_PP_TUPLE_EAT_3)(p, o, o(234, s))
-# define BOOST_PP_WHILE_234_I(p, o, s) BOOST_PP_IF(p(235, s), BOOST_PP_WHILE_235, s BOOST_PP_TUPLE_EAT_3)(p, o, o(235, s))
-# define BOOST_PP_WHILE_235_I(p, o, s) BOOST_PP_IF(p(236, s), BOOST_PP_WHILE_236, s BOOST_PP_TUPLE_EAT_3)(p, o, o(236, s))
-# define BOOST_PP_WHILE_236_I(p, o, s) BOOST_PP_IF(p(237, s), BOOST_PP_WHILE_237, s BOOST_PP_TUPLE_EAT_3)(p, o, o(237, s))
-# define BOOST_PP_WHILE_237_I(p, o, s) BOOST_PP_IF(p(238, s), BOOST_PP_WHILE_238, s BOOST_PP_TUPLE_EAT_3)(p, o, o(238, s))
-# define BOOST_PP_WHILE_238_I(p, o, s) BOOST_PP_IF(p(239, s), BOOST_PP_WHILE_239, s BOOST_PP_TUPLE_EAT_3)(p, o, o(239, s))
-# define BOOST_PP_WHILE_239_I(p, o, s) BOOST_PP_IF(p(240, s), BOOST_PP_WHILE_240, s BOOST_PP_TUPLE_EAT_3)(p, o, o(240, s))
-# define BOOST_PP_WHILE_240_I(p, o, s) BOOST_PP_IF(p(241, s), BOOST_PP_WHILE_241, s BOOST_PP_TUPLE_EAT_3)(p, o, o(241, s))
-# define BOOST_PP_WHILE_241_I(p, o, s) BOOST_PP_IF(p(242, s), BOOST_PP_WHILE_242, s BOOST_PP_TUPLE_EAT_3)(p, o, o(242, s))
-# define BOOST_PP_WHILE_242_I(p, o, s) BOOST_PP_IF(p(243, s), BOOST_PP_WHILE_243, s BOOST_PP_TUPLE_EAT_3)(p, o, o(243, s))
-# define BOOST_PP_WHILE_243_I(p, o, s) BOOST_PP_IF(p(244, s), BOOST_PP_WHILE_244, s BOOST_PP_TUPLE_EAT_3)(p, o, o(244, s))
-# define BOOST_PP_WHILE_244_I(p, o, s) BOOST_PP_IF(p(245, s), BOOST_PP_WHILE_245, s BOOST_PP_TUPLE_EAT_3)(p, o, o(245, s))
-# define BOOST_PP_WHILE_245_I(p, o, s) BOOST_PP_IF(p(246, s), BOOST_PP_WHILE_246, s BOOST_PP_TUPLE_EAT_3)(p, o, o(246, s))
-# define BOOST_PP_WHILE_246_I(p, o, s) BOOST_PP_IF(p(247, s), BOOST_PP_WHILE_247, s BOOST_PP_TUPLE_EAT_3)(p, o, o(247, s))
-# define BOOST_PP_WHILE_247_I(p, o, s) BOOST_PP_IF(p(248, s), BOOST_PP_WHILE_248, s BOOST_PP_TUPLE_EAT_3)(p, o, o(248, s))
-# define BOOST_PP_WHILE_248_I(p, o, s) BOOST_PP_IF(p(249, s), BOOST_PP_WHILE_249, s BOOST_PP_TUPLE_EAT_3)(p, o, o(249, s))
-# define BOOST_PP_WHILE_249_I(p, o, s) BOOST_PP_IF(p(250, s), BOOST_PP_WHILE_250, s BOOST_PP_TUPLE_EAT_3)(p, o, o(250, s))
-# define BOOST_PP_WHILE_250_I(p, o, s) BOOST_PP_IF(p(251, s), BOOST_PP_WHILE_251, s BOOST_PP_TUPLE_EAT_3)(p, o, o(251, s))
-# define BOOST_PP_WHILE_251_I(p, o, s) BOOST_PP_IF(p(252, s), BOOST_PP_WHILE_252, s BOOST_PP_TUPLE_EAT_3)(p, o, o(252, s))
-# define BOOST_PP_WHILE_252_I(p, o, s) BOOST_PP_IF(p(253, s), BOOST_PP_WHILE_253, s BOOST_PP_TUPLE_EAT_3)(p, o, o(253, s))
-# define BOOST_PP_WHILE_253_I(p, o, s) BOOST_PP_IF(p(254, s), BOOST_PP_WHILE_254, s BOOST_PP_TUPLE_EAT_3)(p, o, o(254, s))
-# define BOOST_PP_WHILE_254_I(p, o, s) BOOST_PP_IF(p(255, s), BOOST_PP_WHILE_255, s BOOST_PP_TUPLE_EAT_3)(p, o, o(255, s))
-# define BOOST_PP_WHILE_255_I(p, o, s) BOOST_PP_IF(p(256, s), BOOST_PP_WHILE_256, s BOOST_PP_TUPLE_EAT_3)(p, o, o(256, s))
-# define BOOST_PP_WHILE_256_I(p, o, s) BOOST_PP_IF(p(257, s), BOOST_PP_WHILE_257, s BOOST_PP_TUPLE_EAT_3)(p, o, o(257, s))
-#
-# endif
diff --git a/boost/preprocessor/control/detail/msvc/while.hpp b/boost/preprocessor/control/detail/msvc/while.hpp
deleted file mode 100644
index e543e41..0000000
--- a/boost/preprocessor/control/detail/msvc/while.hpp
+++ /dev/null
@@ -1,277 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_CONTROL_DETAIL_MSVC_WHILE_HPP
-# define BOOST_PREPROCESSOR_CONTROL_DETAIL_MSVC_WHILE_HPP
-#
-# include <boost/preprocessor/control/if.hpp>
-# include <boost/preprocessor/tuple/eat.hpp>
-#
-# define BOOST_PP_WHILE_1(p, o, s) BOOST_PP_IF(p(2, s), BOOST_PP_WHILE_2, s BOOST_PP_TUPLE_EAT_3)(p, o, o(2, s))
-# define BOOST_PP_WHILE_2(p, o, s) BOOST_PP_IF(p(3, s), BOOST_PP_WHILE_3, s BOOST_PP_TUPLE_EAT_3)(p, o, o(3, s))
-# define BOOST_PP_WHILE_3(p, o, s) BOOST_PP_IF(p(4, s), BOOST_PP_WHILE_4, s BOOST_PP_TUPLE_EAT_3)(p, o, o(4, s))
-# define BOOST_PP_WHILE_4(p, o, s) BOOST_PP_IF(p(5, s), BOOST_PP_WHILE_5, s BOOST_PP_TUPLE_EAT_3)(p, o, o(5, s))
-# define BOOST_PP_WHILE_5(p, o, s) BOOST_PP_IF(p(6, s), BOOST_PP_WHILE_6, s BOOST_PP_TUPLE_EAT_3)(p, o, o(6, s))
-# define BOOST_PP_WHILE_6(p, o, s) BOOST_PP_IF(p(7, s), BOOST_PP_WHILE_7, s BOOST_PP_TUPLE_EAT_3)(p, o, o(7, s))
-# define BOOST_PP_WHILE_7(p, o, s) BOOST_PP_IF(p(8, s), BOOST_PP_WHILE_8, s BOOST_PP_TUPLE_EAT_3)(p, o, o(8, s))
-# define BOOST_PP_WHILE_8(p, o, s) BOOST_PP_IF(p(9, s), BOOST_PP_WHILE_9, s BOOST_PP_TUPLE_EAT_3)(p, o, o(9, s))
-# define BOOST_PP_WHILE_9(p, o, s) BOOST_PP_IF(p(10, s), BOOST_PP_WHILE_10, s BOOST_PP_TUPLE_EAT_3)(p, o, o(10, s))
-# define BOOST_PP_WHILE_10(p, o, s) BOOST_PP_IF(p(11, s), BOOST_PP_WHILE_11, s BOOST_PP_TUPLE_EAT_3)(p, o, o(11, s))
-# define BOOST_PP_WHILE_11(p, o, s) BOOST_PP_IF(p(12, s), BOOST_PP_WHILE_12, s BOOST_PP_TUPLE_EAT_3)(p, o, o(12, s))
-# define BOOST_PP_WHILE_12(p, o, s) BOOST_PP_IF(p(13, s), BOOST_PP_WHILE_13, s BOOST_PP_TUPLE_EAT_3)(p, o, o(13, s))
-# define BOOST_PP_WHILE_13(p, o, s) BOOST_PP_IF(p(14, s), BOOST_PP_WHILE_14, s BOOST_PP_TUPLE_EAT_3)(p, o, o(14, s))
-# define BOOST_PP_WHILE_14(p, o, s) BOOST_PP_IF(p(15, s), BOOST_PP_WHILE_15, s BOOST_PP_TUPLE_EAT_3)(p, o, o(15, s))
-# define BOOST_PP_WHILE_15(p, o, s) BOOST_PP_IF(p(16, s), BOOST_PP_WHILE_16, s BOOST_PP_TUPLE_EAT_3)(p, o, o(16, s))
-# define BOOST_PP_WHILE_16(p, o, s) BOOST_PP_IF(p(17, s), BOOST_PP_WHILE_17, s BOOST_PP_TUPLE_EAT_3)(p, o, o(17, s))
-# define BOOST_PP_WHILE_17(p, o, s) BOOST_PP_IF(p(18, s), BOOST_PP_WHILE_18, s BOOST_PP_TUPLE_EAT_3)(p, o, o(18, s))
-# define BOOST_PP_WHILE_18(p, o, s) BOOST_PP_IF(p(19, s), BOOST_PP_WHILE_19, s BOOST_PP_TUPLE_EAT_3)(p, o, o(19, s))
-# define BOOST_PP_WHILE_19(p, o, s) BOOST_PP_IF(p(20, s), BOOST_PP_WHILE_20, s BOOST_PP_TUPLE_EAT_3)(p, o, o(20, s))
-# define BOOST_PP_WHILE_20(p, o, s) BOOST_PP_IF(p(21, s), BOOST_PP_WHILE_21, s BOOST_PP_TUPLE_EAT_3)(p, o, o(21, s))
-# define BOOST_PP_WHILE_21(p, o, s) BOOST_PP_IF(p(22, s), BOOST_PP_WHILE_22, s BOOST_PP_TUPLE_EAT_3)(p, o, o(22, s))
-# define BOOST_PP_WHILE_22(p, o, s) BOOST_PP_IF(p(23, s), BOOST_PP_WHILE_23, s BOOST_PP_TUPLE_EAT_3)(p, o, o(23, s))
-# define BOOST_PP_WHILE_23(p, o, s) BOOST_PP_IF(p(24, s), BOOST_PP_WHILE_24, s BOOST_PP_TUPLE_EAT_3)(p, o, o(24, s))
-# define BOOST_PP_WHILE_24(p, o, s) BOOST_PP_IF(p(25, s), BOOST_PP_WHILE_25, s BOOST_PP_TUPLE_EAT_3)(p, o, o(25, s))
-# define BOOST_PP_WHILE_25(p, o, s) BOOST_PP_IF(p(26, s), BOOST_PP_WHILE_26, s BOOST_PP_TUPLE_EAT_3)(p, o, o(26, s))
-# define BOOST_PP_WHILE_26(p, o, s) BOOST_PP_IF(p(27, s), BOOST_PP_WHILE_27, s BOOST_PP_TUPLE_EAT_3)(p, o, o(27, s))
-# define BOOST_PP_WHILE_27(p, o, s) BOOST_PP_IF(p(28, s), BOOST_PP_WHILE_28, s BOOST_PP_TUPLE_EAT_3)(p, o, o(28, s))
-# define BOOST_PP_WHILE_28(p, o, s) BOOST_PP_IF(p(29, s), BOOST_PP_WHILE_29, s BOOST_PP_TUPLE_EAT_3)(p, o, o(29, s))
-# define BOOST_PP_WHILE_29(p, o, s) BOOST_PP_IF(p(30, s), BOOST_PP_WHILE_30, s BOOST_PP_TUPLE_EAT_3)(p, o, o(30, s))
-# define BOOST_PP_WHILE_30(p, o, s) BOOST_PP_IF(p(31, s), BOOST_PP_WHILE_31, s BOOST_PP_TUPLE_EAT_3)(p, o, o(31, s))
-# define BOOST_PP_WHILE_31(p, o, s) BOOST_PP_IF(p(32, s), BOOST_PP_WHILE_32, s BOOST_PP_TUPLE_EAT_3)(p, o, o(32, s))
-# define BOOST_PP_WHILE_32(p, o, s) BOOST_PP_IF(p(33, s), BOOST_PP_WHILE_33, s BOOST_PP_TUPLE_EAT_3)(p, o, o(33, s))
-# define BOOST_PP_WHILE_33(p, o, s) BOOST_PP_IF(p(34, s), BOOST_PP_WHILE_34, s BOOST_PP_TUPLE_EAT_3)(p, o, o(34, s))
-# define BOOST_PP_WHILE_34(p, o, s) BOOST_PP_IF(p(35, s), BOOST_PP_WHILE_35, s BOOST_PP_TUPLE_EAT_3)(p, o, o(35, s))
-# define BOOST_PP_WHILE_35(p, o, s) BOOST_PP_IF(p(36, s), BOOST_PP_WHILE_36, s BOOST_PP_TUPLE_EAT_3)(p, o, o(36, s))
-# define BOOST_PP_WHILE_36(p, o, s) BOOST_PP_IF(p(37, s), BOOST_PP_WHILE_37, s BOOST_PP_TUPLE_EAT_3)(p, o, o(37, s))
-# define BOOST_PP_WHILE_37(p, o, s) BOOST_PP_IF(p(38, s), BOOST_PP_WHILE_38, s BOOST_PP_TUPLE_EAT_3)(p, o, o(38, s))
-# define BOOST_PP_WHILE_38(p, o, s) BOOST_PP_IF(p(39, s), BOOST_PP_WHILE_39, s BOOST_PP_TUPLE_EAT_3)(p, o, o(39, s))
-# define BOOST_PP_WHILE_39(p, o, s) BOOST_PP_IF(p(40, s), BOOST_PP_WHILE_40, s BOOST_PP_TUPLE_EAT_3)(p, o, o(40, s))
-# define BOOST_PP_WHILE_40(p, o, s) BOOST_PP_IF(p(41, s), BOOST_PP_WHILE_41, s BOOST_PP_TUPLE_EAT_3)(p, o, o(41, s))
-# define BOOST_PP_WHILE_41(p, o, s) BOOST_PP_IF(p(42, s), BOOST_PP_WHILE_42, s BOOST_PP_TUPLE_EAT_3)(p, o, o(42, s))
-# define BOOST_PP_WHILE_42(p, o, s) BOOST_PP_IF(p(43, s), BOOST_PP_WHILE_43, s BOOST_PP_TUPLE_EAT_3)(p, o, o(43, s))
-# define BOOST_PP_WHILE_43(p, o, s) BOOST_PP_IF(p(44, s), BOOST_PP_WHILE_44, s BOOST_PP_TUPLE_EAT_3)(p, o, o(44, s))
-# define BOOST_PP_WHILE_44(p, o, s) BOOST_PP_IF(p(45, s), BOOST_PP_WHILE_45, s BOOST_PP_TUPLE_EAT_3)(p, o, o(45, s))
-# define BOOST_PP_WHILE_45(p, o, s) BOOST_PP_IF(p(46, s), BOOST_PP_WHILE_46, s BOOST_PP_TUPLE_EAT_3)(p, o, o(46, s))
-# define BOOST_PP_WHILE_46(p, o, s) BOOST_PP_IF(p(47, s), BOOST_PP_WHILE_47, s BOOST_PP_TUPLE_EAT_3)(p, o, o(47, s))
-# define BOOST_PP_WHILE_47(p, o, s) BOOST_PP_IF(p(48, s), BOOST_PP_WHILE_48, s BOOST_PP_TUPLE_EAT_3)(p, o, o(48, s))
-# define BOOST_PP_WHILE_48(p, o, s) BOOST_PP_IF(p(49, s), BOOST_PP_WHILE_49, s BOOST_PP_TUPLE_EAT_3)(p, o, o(49, s))
-# define BOOST_PP_WHILE_49(p, o, s) BOOST_PP_IF(p(50, s), BOOST_PP_WHILE_50, s BOOST_PP_TUPLE_EAT_3)(p, o, o(50, s))
-# define BOOST_PP_WHILE_50(p, o, s) BOOST_PP_IF(p(51, s), BOOST_PP_WHILE_51, s BOOST_PP_TUPLE_EAT_3)(p, o, o(51, s))
-# define BOOST_PP_WHILE_51(p, o, s) BOOST_PP_IF(p(52, s), BOOST_PP_WHILE_52, s BOOST_PP_TUPLE_EAT_3)(p, o, o(52, s))
-# define BOOST_PP_WHILE_52(p, o, s) BOOST_PP_IF(p(53, s), BOOST_PP_WHILE_53, s BOOST_PP_TUPLE_EAT_3)(p, o, o(53, s))
-# define BOOST_PP_WHILE_53(p, o, s) BOOST_PP_IF(p(54, s), BOOST_PP_WHILE_54, s BOOST_PP_TUPLE_EAT_3)(p, o, o(54, s))
-# define BOOST_PP_WHILE_54(p, o, s) BOOST_PP_IF(p(55, s), BOOST_PP_WHILE_55, s BOOST_PP_TUPLE_EAT_3)(p, o, o(55, s))
-# define BOOST_PP_WHILE_55(p, o, s) BOOST_PP_IF(p(56, s), BOOST_PP_WHILE_56, s BOOST_PP_TUPLE_EAT_3)(p, o, o(56, s))
-# define BOOST_PP_WHILE_56(p, o, s) BOOST_PP_IF(p(57, s), BOOST_PP_WHILE_57, s BOOST_PP_TUPLE_EAT_3)(p, o, o(57, s))
-# define BOOST_PP_WHILE_57(p, o, s) BOOST_PP_IF(p(58, s), BOOST_PP_WHILE_58, s BOOST_PP_TUPLE_EAT_3)(p, o, o(58, s))
-# define BOOST_PP_WHILE_58(p, o, s) BOOST_PP_IF(p(59, s), BOOST_PP_WHILE_59, s BOOST_PP_TUPLE_EAT_3)(p, o, o(59, s))
-# define BOOST_PP_WHILE_59(p, o, s) BOOST_PP_IF(p(60, s), BOOST_PP_WHILE_60, s BOOST_PP_TUPLE_EAT_3)(p, o, o(60, s))
-# define BOOST_PP_WHILE_60(p, o, s) BOOST_PP_IF(p(61, s), BOOST_PP_WHILE_61, s BOOST_PP_TUPLE_EAT_3)(p, o, o(61, s))
-# define BOOST_PP_WHILE_61(p, o, s) BOOST_PP_IF(p(62, s), BOOST_PP_WHILE_62, s BOOST_PP_TUPLE_EAT_3)(p, o, o(62, s))
-# define BOOST_PP_WHILE_62(p, o, s) BOOST_PP_IF(p(63, s), BOOST_PP_WHILE_63, s BOOST_PP_TUPLE_EAT_3)(p, o, o(63, s))
-# define BOOST_PP_WHILE_63(p, o, s) BOOST_PP_IF(p(64, s), BOOST_PP_WHILE_64, s BOOST_PP_TUPLE_EAT_3)(p, o, o(64, s))
-# define BOOST_PP_WHILE_64(p, o, s) BOOST_PP_IF(p(65, s), BOOST_PP_WHILE_65, s BOOST_PP_TUPLE_EAT_3)(p, o, o(65, s))
-# define BOOST_PP_WHILE_65(p, o, s) BOOST_PP_IF(p(66, s), BOOST_PP_WHILE_66, s BOOST_PP_TUPLE_EAT_3)(p, o, o(66, s))
-# define BOOST_PP_WHILE_66(p, o, s) BOOST_PP_IF(p(67, s), BOOST_PP_WHILE_67, s BOOST_PP_TUPLE_EAT_3)(p, o, o(67, s))
-# define BOOST_PP_WHILE_67(p, o, s) BOOST_PP_IF(p(68, s), BOOST_PP_WHILE_68, s BOOST_PP_TUPLE_EAT_3)(p, o, o(68, s))
-# define BOOST_PP_WHILE_68(p, o, s) BOOST_PP_IF(p(69, s), BOOST_PP_WHILE_69, s BOOST_PP_TUPLE_EAT_3)(p, o, o(69, s))
-# define BOOST_PP_WHILE_69(p, o, s) BOOST_PP_IF(p(70, s), BOOST_PP_WHILE_70, s BOOST_PP_TUPLE_EAT_3)(p, o, o(70, s))
-# define BOOST_PP_WHILE_70(p, o, s) BOOST_PP_IF(p(71, s), BOOST_PP_WHILE_71, s BOOST_PP_TUPLE_EAT_3)(p, o, o(71, s))
-# define BOOST_PP_WHILE_71(p, o, s) BOOST_PP_IF(p(72, s), BOOST_PP_WHILE_72, s BOOST_PP_TUPLE_EAT_3)(p, o, o(72, s))
-# define BOOST_PP_WHILE_72(p, o, s) BOOST_PP_IF(p(73, s), BOOST_PP_WHILE_73, s BOOST_PP_TUPLE_EAT_3)(p, o, o(73, s))
-# define BOOST_PP_WHILE_73(p, o, s) BOOST_PP_IF(p(74, s), BOOST_PP_WHILE_74, s BOOST_PP_TUPLE_EAT_3)(p, o, o(74, s))
-# define BOOST_PP_WHILE_74(p, o, s) BOOST_PP_IF(p(75, s), BOOST_PP_WHILE_75, s BOOST_PP_TUPLE_EAT_3)(p, o, o(75, s))
-# define BOOST_PP_WHILE_75(p, o, s) BOOST_PP_IF(p(76, s), BOOST_PP_WHILE_76, s BOOST_PP_TUPLE_EAT_3)(p, o, o(76, s))
-# define BOOST_PP_WHILE_76(p, o, s) BOOST_PP_IF(p(77, s), BOOST_PP_WHILE_77, s BOOST_PP_TUPLE_EAT_3)(p, o, o(77, s))
-# define BOOST_PP_WHILE_77(p, o, s) BOOST_PP_IF(p(78, s), BOOST_PP_WHILE_78, s BOOST_PP_TUPLE_EAT_3)(p, o, o(78, s))
-# define BOOST_PP_WHILE_78(p, o, s) BOOST_PP_IF(p(79, s), BOOST_PP_WHILE_79, s BOOST_PP_TUPLE_EAT_3)(p, o, o(79, s))
-# define BOOST_PP_WHILE_79(p, o, s) BOOST_PP_IF(p(80, s), BOOST_PP_WHILE_80, s BOOST_PP_TUPLE_EAT_3)(p, o, o(80, s))
-# define BOOST_PP_WHILE_80(p, o, s) BOOST_PP_IF(p(81, s), BOOST_PP_WHILE_81, s BOOST_PP_TUPLE_EAT_3)(p, o, o(81, s))
-# define BOOST_PP_WHILE_81(p, o, s) BOOST_PP_IF(p(82, s), BOOST_PP_WHILE_82, s BOOST_PP_TUPLE_EAT_3)(p, o, o(82, s))
-# define BOOST_PP_WHILE_82(p, o, s) BOOST_PP_IF(p(83, s), BOOST_PP_WHILE_83, s BOOST_PP_TUPLE_EAT_3)(p, o, o(83, s))
-# define BOOST_PP_WHILE_83(p, o, s) BOOST_PP_IF(p(84, s), BOOST_PP_WHILE_84, s BOOST_PP_TUPLE_EAT_3)(p, o, o(84, s))
-# define BOOST_PP_WHILE_84(p, o, s) BOOST_PP_IF(p(85, s), BOOST_PP_WHILE_85, s BOOST_PP_TUPLE_EAT_3)(p, o, o(85, s))
-# define BOOST_PP_WHILE_85(p, o, s) BOOST_PP_IF(p(86, s), BOOST_PP_WHILE_86, s BOOST_PP_TUPLE_EAT_3)(p, o, o(86, s))
-# define BOOST_PP_WHILE_86(p, o, s) BOOST_PP_IF(p(87, s), BOOST_PP_WHILE_87, s BOOST_PP_TUPLE_EAT_3)(p, o, o(87, s))
-# define BOOST_PP_WHILE_87(p, o, s) BOOST_PP_IF(p(88, s), BOOST_PP_WHILE_88, s BOOST_PP_TUPLE_EAT_3)(p, o, o(88, s))
-# define BOOST_PP_WHILE_88(p, o, s) BOOST_PP_IF(p(89, s), BOOST_PP_WHILE_89, s BOOST_PP_TUPLE_EAT_3)(p, o, o(89, s))
-# define BOOST_PP_WHILE_89(p, o, s) BOOST_PP_IF(p(90, s), BOOST_PP_WHILE_90, s BOOST_PP_TUPLE_EAT_3)(p, o, o(90, s))
-# define BOOST_PP_WHILE_90(p, o, s) BOOST_PP_IF(p(91, s), BOOST_PP_WHILE_91, s BOOST_PP_TUPLE_EAT_3)(p, o, o(91, s))
-# define BOOST_PP_WHILE_91(p, o, s) BOOST_PP_IF(p(92, s), BOOST_PP_WHILE_92, s BOOST_PP_TUPLE_EAT_3)(p, o, o(92, s))
-# define BOOST_PP_WHILE_92(p, o, s) BOOST_PP_IF(p(93, s), BOOST_PP_WHILE_93, s BOOST_PP_TUPLE_EAT_3)(p, o, o(93, s))
-# define BOOST_PP_WHILE_93(p, o, s) BOOST_PP_IF(p(94, s), BOOST_PP_WHILE_94, s BOOST_PP_TUPLE_EAT_3)(p, o, o(94, s))
-# define BOOST_PP_WHILE_94(p, o, s) BOOST_PP_IF(p(95, s), BOOST_PP_WHILE_95, s BOOST_PP_TUPLE_EAT_3)(p, o, o(95, s))
-# define BOOST_PP_WHILE_95(p, o, s) BOOST_PP_IF(p(96, s), BOOST_PP_WHILE_96, s BOOST_PP_TUPLE_EAT_3)(p, o, o(96, s))
-# define BOOST_PP_WHILE_96(p, o, s) BOOST_PP_IF(p(97, s), BOOST_PP_WHILE_97, s BOOST_PP_TUPLE_EAT_3)(p, o, o(97, s))
-# define BOOST_PP_WHILE_97(p, o, s) BOOST_PP_IF(p(98, s), BOOST_PP_WHILE_98, s BOOST_PP_TUPLE_EAT_3)(p, o, o(98, s))
-# define BOOST_PP_WHILE_98(p, o, s) BOOST_PP_IF(p(99, s), BOOST_PP_WHILE_99, s BOOST_PP_TUPLE_EAT_3)(p, o, o(99, s))
-# define BOOST_PP_WHILE_99(p, o, s) BOOST_PP_IF(p(100, s), BOOST_PP_WHILE_100, s BOOST_PP_TUPLE_EAT_3)(p, o, o(100, s))
-# define BOOST_PP_WHILE_100(p, o, s) BOOST_PP_IF(p(101, s), BOOST_PP_WHILE_101, s BOOST_PP_TUPLE_EAT_3)(p, o, o(101, s))
-# define BOOST_PP_WHILE_101(p, o, s) BOOST_PP_IF(p(102, s), BOOST_PP_WHILE_102, s BOOST_PP_TUPLE_EAT_3)(p, o, o(102, s))
-# define BOOST_PP_WHILE_102(p, o, s) BOOST_PP_IF(p(103, s), BOOST_PP_WHILE_103, s BOOST_PP_TUPLE_EAT_3)(p, o, o(103, s))
-# define BOOST_PP_WHILE_103(p, o, s) BOOST_PP_IF(p(104, s), BOOST_PP_WHILE_104, s BOOST_PP_TUPLE_EAT_3)(p, o, o(104, s))
-# define BOOST_PP_WHILE_104(p, o, s) BOOST_PP_IF(p(105, s), BOOST_PP_WHILE_105, s BOOST_PP_TUPLE_EAT_3)(p, o, o(105, s))
-# define BOOST_PP_WHILE_105(p, o, s) BOOST_PP_IF(p(106, s), BOOST_PP_WHILE_106, s BOOST_PP_TUPLE_EAT_3)(p, o, o(106, s))
-# define BOOST_PP_WHILE_106(p, o, s) BOOST_PP_IF(p(107, s), BOOST_PP_WHILE_107, s BOOST_PP_TUPLE_EAT_3)(p, o, o(107, s))
-# define BOOST_PP_WHILE_107(p, o, s) BOOST_PP_IF(p(108, s), BOOST_PP_WHILE_108, s BOOST_PP_TUPLE_EAT_3)(p, o, o(108, s))
-# define BOOST_PP_WHILE_108(p, o, s) BOOST_PP_IF(p(109, s), BOOST_PP_WHILE_109, s BOOST_PP_TUPLE_EAT_3)(p, o, o(109, s))
-# define BOOST_PP_WHILE_109(p, o, s) BOOST_PP_IF(p(110, s), BOOST_PP_WHILE_110, s BOOST_PP_TUPLE_EAT_3)(p, o, o(110, s))
-# define BOOST_PP_WHILE_110(p, o, s) BOOST_PP_IF(p(111, s), BOOST_PP_WHILE_111, s BOOST_PP_TUPLE_EAT_3)(p, o, o(111, s))
-# define BOOST_PP_WHILE_111(p, o, s) BOOST_PP_IF(p(112, s), BOOST_PP_WHILE_112, s BOOST_PP_TUPLE_EAT_3)(p, o, o(112, s))
-# define BOOST_PP_WHILE_112(p, o, s) BOOST_PP_IF(p(113, s), BOOST_PP_WHILE_113, s BOOST_PP_TUPLE_EAT_3)(p, o, o(113, s))
-# define BOOST_PP_WHILE_113(p, o, s) BOOST_PP_IF(p(114, s), BOOST_PP_WHILE_114, s BOOST_PP_TUPLE_EAT_3)(p, o, o(114, s))
-# define BOOST_PP_WHILE_114(p, o, s) BOOST_PP_IF(p(115, s), BOOST_PP_WHILE_115, s BOOST_PP_TUPLE_EAT_3)(p, o, o(115, s))
-# define BOOST_PP_WHILE_115(p, o, s) BOOST_PP_IF(p(116, s), BOOST_PP_WHILE_116, s BOOST_PP_TUPLE_EAT_3)(p, o, o(116, s))
-# define BOOST_PP_WHILE_116(p, o, s) BOOST_PP_IF(p(117, s), BOOST_PP_WHILE_117, s BOOST_PP_TUPLE_EAT_3)(p, o, o(117, s))
-# define BOOST_PP_WHILE_117(p, o, s) BOOST_PP_IF(p(118, s), BOOST_PP_WHILE_118, s BOOST_PP_TUPLE_EAT_3)(p, o, o(118, s))
-# define BOOST_PP_WHILE_118(p, o, s) BOOST_PP_IF(p(119, s), BOOST_PP_WHILE_119, s BOOST_PP_TUPLE_EAT_3)(p, o, o(119, s))
-# define BOOST_PP_WHILE_119(p, o, s) BOOST_PP_IF(p(120, s), BOOST_PP_WHILE_120, s BOOST_PP_TUPLE_EAT_3)(p, o, o(120, s))
-# define BOOST_PP_WHILE_120(p, o, s) BOOST_PP_IF(p(121, s), BOOST_PP_WHILE_121, s BOOST_PP_TUPLE_EAT_3)(p, o, o(121, s))
-# define BOOST_PP_WHILE_121(p, o, s) BOOST_PP_IF(p(122, s), BOOST_PP_WHILE_122, s BOOST_PP_TUPLE_EAT_3)(p, o, o(122, s))
-# define BOOST_PP_WHILE_122(p, o, s) BOOST_PP_IF(p(123, s), BOOST_PP_WHILE_123, s BOOST_PP_TUPLE_EAT_3)(p, o, o(123, s))
-# define BOOST_PP_WHILE_123(p, o, s) BOOST_PP_IF(p(124, s), BOOST_PP_WHILE_124, s BOOST_PP_TUPLE_EAT_3)(p, o, o(124, s))
-# define BOOST_PP_WHILE_124(p, o, s) BOOST_PP_IF(p(125, s), BOOST_PP_WHILE_125, s BOOST_PP_TUPLE_EAT_3)(p, o, o(125, s))
-# define BOOST_PP_WHILE_125(p, o, s) BOOST_PP_IF(p(126, s), BOOST_PP_WHILE_126, s BOOST_PP_TUPLE_EAT_3)(p, o, o(126, s))
-# define BOOST_PP_WHILE_126(p, o, s) BOOST_PP_IF(p(127, s), BOOST_PP_WHILE_127, s BOOST_PP_TUPLE_EAT_3)(p, o, o(127, s))
-# define BOOST_PP_WHILE_127(p, o, s) BOOST_PP_IF(p(128, s), BOOST_PP_WHILE_128, s BOOST_PP_TUPLE_EAT_3)(p, o, o(128, s))
-# define BOOST_PP_WHILE_128(p, o, s) BOOST_PP_IF(p(129, s), BOOST_PP_WHILE_129, s BOOST_PP_TUPLE_EAT_3)(p, o, o(129, s))
-# define BOOST_PP_WHILE_129(p, o, s) BOOST_PP_IF(p(130, s), BOOST_PP_WHILE_130, s BOOST_PP_TUPLE_EAT_3)(p, o, o(130, s))
-# define BOOST_PP_WHILE_130(p, o, s) BOOST_PP_IF(p(131, s), BOOST_PP_WHILE_131, s BOOST_PP_TUPLE_EAT_3)(p, o, o(131, s))
-# define BOOST_PP_WHILE_131(p, o, s) BOOST_PP_IF(p(132, s), BOOST_PP_WHILE_132, s BOOST_PP_TUPLE_EAT_3)(p, o, o(132, s))
-# define BOOST_PP_WHILE_132(p, o, s) BOOST_PP_IF(p(133, s), BOOST_PP_WHILE_133, s BOOST_PP_TUPLE_EAT_3)(p, o, o(133, s))
-# define BOOST_PP_WHILE_133(p, o, s) BOOST_PP_IF(p(134, s), BOOST_PP_WHILE_134, s BOOST_PP_TUPLE_EAT_3)(p, o, o(134, s))
-# define BOOST_PP_WHILE_134(p, o, s) BOOST_PP_IF(p(135, s), BOOST_PP_WHILE_135, s BOOST_PP_TUPLE_EAT_3)(p, o, o(135, s))
-# define BOOST_PP_WHILE_135(p, o, s) BOOST_PP_IF(p(136, s), BOOST_PP_WHILE_136, s BOOST_PP_TUPLE_EAT_3)(p, o, o(136, s))
-# define BOOST_PP_WHILE_136(p, o, s) BOOST_PP_IF(p(137, s), BOOST_PP_WHILE_137, s BOOST_PP_TUPLE_EAT_3)(p, o, o(137, s))
-# define BOOST_PP_WHILE_137(p, o, s) BOOST_PP_IF(p(138, s), BOOST_PP_WHILE_138, s BOOST_PP_TUPLE_EAT_3)(p, o, o(138, s))
-# define BOOST_PP_WHILE_138(p, o, s) BOOST_PP_IF(p(139, s), BOOST_PP_WHILE_139, s BOOST_PP_TUPLE_EAT_3)(p, o, o(139, s))
-# define BOOST_PP_WHILE_139(p, o, s) BOOST_PP_IF(p(140, s), BOOST_PP_WHILE_140, s BOOST_PP_TUPLE_EAT_3)(p, o, o(140, s))
-# define BOOST_PP_WHILE_140(p, o, s) BOOST_PP_IF(p(141, s), BOOST_PP_WHILE_141, s BOOST_PP_TUPLE_EAT_3)(p, o, o(141, s))
-# define BOOST_PP_WHILE_141(p, o, s) BOOST_PP_IF(p(142, s), BOOST_PP_WHILE_142, s BOOST_PP_TUPLE_EAT_3)(p, o, o(142, s))
-# define BOOST_PP_WHILE_142(p, o, s) BOOST_PP_IF(p(143, s), BOOST_PP_WHILE_143, s BOOST_PP_TUPLE_EAT_3)(p, o, o(143, s))
-# define BOOST_PP_WHILE_143(p, o, s) BOOST_PP_IF(p(144, s), BOOST_PP_WHILE_144, s BOOST_PP_TUPLE_EAT_3)(p, o, o(144, s))
-# define BOOST_PP_WHILE_144(p, o, s) BOOST_PP_IF(p(145, s), BOOST_PP_WHILE_145, s BOOST_PP_TUPLE_EAT_3)(p, o, o(145, s))
-# define BOOST_PP_WHILE_145(p, o, s) BOOST_PP_IF(p(146, s), BOOST_PP_WHILE_146, s BOOST_PP_TUPLE_EAT_3)(p, o, o(146, s))
-# define BOOST_PP_WHILE_146(p, o, s) BOOST_PP_IF(p(147, s), BOOST_PP_WHILE_147, s BOOST_PP_TUPLE_EAT_3)(p, o, o(147, s))
-# define BOOST_PP_WHILE_147(p, o, s) BOOST_PP_IF(p(148, s), BOOST_PP_WHILE_148, s BOOST_PP_TUPLE_EAT_3)(p, o, o(148, s))
-# define BOOST_PP_WHILE_148(p, o, s) BOOST_PP_IF(p(149, s), BOOST_PP_WHILE_149, s BOOST_PP_TUPLE_EAT_3)(p, o, o(149, s))
-# define BOOST_PP_WHILE_149(p, o, s) BOOST_PP_IF(p(150, s), BOOST_PP_WHILE_150, s BOOST_PP_TUPLE_EAT_3)(p, o, o(150, s))
-# define BOOST_PP_WHILE_150(p, o, s) BOOST_PP_IF(p(151, s), BOOST_PP_WHILE_151, s BOOST_PP_TUPLE_EAT_3)(p, o, o(151, s))
-# define BOOST_PP_WHILE_151(p, o, s) BOOST_PP_IF(p(152, s), BOOST_PP_WHILE_152, s BOOST_PP_TUPLE_EAT_3)(p, o, o(152, s))
-# define BOOST_PP_WHILE_152(p, o, s) BOOST_PP_IF(p(153, s), BOOST_PP_WHILE_153, s BOOST_PP_TUPLE_EAT_3)(p, o, o(153, s))
-# define BOOST_PP_WHILE_153(p, o, s) BOOST_PP_IF(p(154, s), BOOST_PP_WHILE_154, s BOOST_PP_TUPLE_EAT_3)(p, o, o(154, s))
-# define BOOST_PP_WHILE_154(p, o, s) BOOST_PP_IF(p(155, s), BOOST_PP_WHILE_155, s BOOST_PP_TUPLE_EAT_3)(p, o, o(155, s))
-# define BOOST_PP_WHILE_155(p, o, s) BOOST_PP_IF(p(156, s), BOOST_PP_WHILE_156, s BOOST_PP_TUPLE_EAT_3)(p, o, o(156, s))
-# define BOOST_PP_WHILE_156(p, o, s) BOOST_PP_IF(p(157, s), BOOST_PP_WHILE_157, s BOOST_PP_TUPLE_EAT_3)(p, o, o(157, s))
-# define BOOST_PP_WHILE_157(p, o, s) BOOST_PP_IF(p(158, s), BOOST_PP_WHILE_158, s BOOST_PP_TUPLE_EAT_3)(p, o, o(158, s))
-# define BOOST_PP_WHILE_158(p, o, s) BOOST_PP_IF(p(159, s), BOOST_PP_WHILE_159, s BOOST_PP_TUPLE_EAT_3)(p, o, o(159, s))
-# define BOOST_PP_WHILE_159(p, o, s) BOOST_PP_IF(p(160, s), BOOST_PP_WHILE_160, s BOOST_PP_TUPLE_EAT_3)(p, o, o(160, s))
-# define BOOST_PP_WHILE_160(p, o, s) BOOST_PP_IF(p(161, s), BOOST_PP_WHILE_161, s BOOST_PP_TUPLE_EAT_3)(p, o, o(161, s))
-# define BOOST_PP_WHILE_161(p, o, s) BOOST_PP_IF(p(162, s), BOOST_PP_WHILE_162, s BOOST_PP_TUPLE_EAT_3)(p, o, o(162, s))
-# define BOOST_PP_WHILE_162(p, o, s) BOOST_PP_IF(p(163, s), BOOST_PP_WHILE_163, s BOOST_PP_TUPLE_EAT_3)(p, o, o(163, s))
-# define BOOST_PP_WHILE_163(p, o, s) BOOST_PP_IF(p(164, s), BOOST_PP_WHILE_164, s BOOST_PP_TUPLE_EAT_3)(p, o, o(164, s))
-# define BOOST_PP_WHILE_164(p, o, s) BOOST_PP_IF(p(165, s), BOOST_PP_WHILE_165, s BOOST_PP_TUPLE_EAT_3)(p, o, o(165, s))
-# define BOOST_PP_WHILE_165(p, o, s) BOOST_PP_IF(p(166, s), BOOST_PP_WHILE_166, s BOOST_PP_TUPLE_EAT_3)(p, o, o(166, s))
-# define BOOST_PP_WHILE_166(p, o, s) BOOST_PP_IF(p(167, s), BOOST_PP_WHILE_167, s BOOST_PP_TUPLE_EAT_3)(p, o, o(167, s))
-# define BOOST_PP_WHILE_167(p, o, s) BOOST_PP_IF(p(168, s), BOOST_PP_WHILE_168, s BOOST_PP_TUPLE_EAT_3)(p, o, o(168, s))
-# define BOOST_PP_WHILE_168(p, o, s) BOOST_PP_IF(p(169, s), BOOST_PP_WHILE_169, s BOOST_PP_TUPLE_EAT_3)(p, o, o(169, s))
-# define BOOST_PP_WHILE_169(p, o, s) BOOST_PP_IF(p(170, s), BOOST_PP_WHILE_170, s BOOST_PP_TUPLE_EAT_3)(p, o, o(170, s))
-# define BOOST_PP_WHILE_170(p, o, s) BOOST_PP_IF(p(171, s), BOOST_PP_WHILE_171, s BOOST_PP_TUPLE_EAT_3)(p, o, o(171, s))
-# define BOOST_PP_WHILE_171(p, o, s) BOOST_PP_IF(p(172, s), BOOST_PP_WHILE_172, s BOOST_PP_TUPLE_EAT_3)(p, o, o(172, s))
-# define BOOST_PP_WHILE_172(p, o, s) BOOST_PP_IF(p(173, s), BOOST_PP_WHILE_173, s BOOST_PP_TUPLE_EAT_3)(p, o, o(173, s))
-# define BOOST_PP_WHILE_173(p, o, s) BOOST_PP_IF(p(174, s), BOOST_PP_WHILE_174, s BOOST_PP_TUPLE_EAT_3)(p, o, o(174, s))
-# define BOOST_PP_WHILE_174(p, o, s) BOOST_PP_IF(p(175, s), BOOST_PP_WHILE_175, s BOOST_PP_TUPLE_EAT_3)(p, o, o(175, s))
-# define BOOST_PP_WHILE_175(p, o, s) BOOST_PP_IF(p(176, s), BOOST_PP_WHILE_176, s BOOST_PP_TUPLE_EAT_3)(p, o, o(176, s))
-# define BOOST_PP_WHILE_176(p, o, s) BOOST_PP_IF(p(177, s), BOOST_PP_WHILE_177, s BOOST_PP_TUPLE_EAT_3)(p, o, o(177, s))
-# define BOOST_PP_WHILE_177(p, o, s) BOOST_PP_IF(p(178, s), BOOST_PP_WHILE_178, s BOOST_PP_TUPLE_EAT_3)(p, o, o(178, s))
-# define BOOST_PP_WHILE_178(p, o, s) BOOST_PP_IF(p(179, s), BOOST_PP_WHILE_179, s BOOST_PP_TUPLE_EAT_3)(p, o, o(179, s))
-# define BOOST_PP_WHILE_179(p, o, s) BOOST_PP_IF(p(180, s), BOOST_PP_WHILE_180, s BOOST_PP_TUPLE_EAT_3)(p, o, o(180, s))
-# define BOOST_PP_WHILE_180(p, o, s) BOOST_PP_IF(p(181, s), BOOST_PP_WHILE_181, s BOOST_PP_TUPLE_EAT_3)(p, o, o(181, s))
-# define BOOST_PP_WHILE_181(p, o, s) BOOST_PP_IF(p(182, s), BOOST_PP_WHILE_182, s BOOST_PP_TUPLE_EAT_3)(p, o, o(182, s))
-# define BOOST_PP_WHILE_182(p, o, s) BOOST_PP_IF(p(183, s), BOOST_PP_WHILE_183, s BOOST_PP_TUPLE_EAT_3)(p, o, o(183, s))
-# define BOOST_PP_WHILE_183(p, o, s) BOOST_PP_IF(p(184, s), BOOST_PP_WHILE_184, s BOOST_PP_TUPLE_EAT_3)(p, o, o(184, s))
-# define BOOST_PP_WHILE_184(p, o, s) BOOST_PP_IF(p(185, s), BOOST_PP_WHILE_185, s BOOST_PP_TUPLE_EAT_3)(p, o, o(185, s))
-# define BOOST_PP_WHILE_185(p, o, s) BOOST_PP_IF(p(186, s), BOOST_PP_WHILE_186, s BOOST_PP_TUPLE_EAT_3)(p, o, o(186, s))
-# define BOOST_PP_WHILE_186(p, o, s) BOOST_PP_IF(p(187, s), BOOST_PP_WHILE_187, s BOOST_PP_TUPLE_EAT_3)(p, o, o(187, s))
-# define BOOST_PP_WHILE_187(p, o, s) BOOST_PP_IF(p(188, s), BOOST_PP_WHILE_188, s BOOST_PP_TUPLE_EAT_3)(p, o, o(188, s))
-# define BOOST_PP_WHILE_188(p, o, s) BOOST_PP_IF(p(189, s), BOOST_PP_WHILE_189, s BOOST_PP_TUPLE_EAT_3)(p, o, o(189, s))
-# define BOOST_PP_WHILE_189(p, o, s) BOOST_PP_IF(p(190, s), BOOST_PP_WHILE_190, s BOOST_PP_TUPLE_EAT_3)(p, o, o(190, s))
-# define BOOST_PP_WHILE_190(p, o, s) BOOST_PP_IF(p(191, s), BOOST_PP_WHILE_191, s BOOST_PP_TUPLE_EAT_3)(p, o, o(191, s))
-# define BOOST_PP_WHILE_191(p, o, s) BOOST_PP_IF(p(192, s), BOOST_PP_WHILE_192, s BOOST_PP_TUPLE_EAT_3)(p, o, o(192, s))
-# define BOOST_PP_WHILE_192(p, o, s) BOOST_PP_IF(p(193, s), BOOST_PP_WHILE_193, s BOOST_PP_TUPLE_EAT_3)(p, o, o(193, s))
-# define BOOST_PP_WHILE_193(p, o, s) BOOST_PP_IF(p(194, s), BOOST_PP_WHILE_194, s BOOST_PP_TUPLE_EAT_3)(p, o, o(194, s))
-# define BOOST_PP_WHILE_194(p, o, s) BOOST_PP_IF(p(195, s), BOOST_PP_WHILE_195, s BOOST_PP_TUPLE_EAT_3)(p, o, o(195, s))
-# define BOOST_PP_WHILE_195(p, o, s) BOOST_PP_IF(p(196, s), BOOST_PP_WHILE_196, s BOOST_PP_TUPLE_EAT_3)(p, o, o(196, s))
-# define BOOST_PP_WHILE_196(p, o, s) BOOST_PP_IF(p(197, s), BOOST_PP_WHILE_197, s BOOST_PP_TUPLE_EAT_3)(p, o, o(197, s))
-# define BOOST_PP_WHILE_197(p, o, s) BOOST_PP_IF(p(198, s), BOOST_PP_WHILE_198, s BOOST_PP_TUPLE_EAT_3)(p, o, o(198, s))
-# define BOOST_PP_WHILE_198(p, o, s) BOOST_PP_IF(p(199, s), BOOST_PP_WHILE_199, s BOOST_PP_TUPLE_EAT_3)(p, o, o(199, s))
-# define BOOST_PP_WHILE_199(p, o, s) BOOST_PP_IF(p(200, s), BOOST_PP_WHILE_200, s BOOST_PP_TUPLE_EAT_3)(p, o, o(200, s))
-# define BOOST_PP_WHILE_200(p, o, s) BOOST_PP_IF(p(201, s), BOOST_PP_WHILE_201, s BOOST_PP_TUPLE_EAT_3)(p, o, o(201, s))
-# define BOOST_PP_WHILE_201(p, o, s) BOOST_PP_IF(p(202, s), BOOST_PP_WHILE_202, s BOOST_PP_TUPLE_EAT_3)(p, o, o(202, s))
-# define BOOST_PP_WHILE_202(p, o, s) BOOST_PP_IF(p(203, s), BOOST_PP_WHILE_203, s BOOST_PP_TUPLE_EAT_3)(p, o, o(203, s))
-# define BOOST_PP_WHILE_203(p, o, s) BOOST_PP_IF(p(204, s), BOOST_PP_WHILE_204, s BOOST_PP_TUPLE_EAT_3)(p, o, o(204, s))
-# define BOOST_PP_WHILE_204(p, o, s) BOOST_PP_IF(p(205, s), BOOST_PP_WHILE_205, s BOOST_PP_TUPLE_EAT_3)(p, o, o(205, s))
-# define BOOST_PP_WHILE_205(p, o, s) BOOST_PP_IF(p(206, s), BOOST_PP_WHILE_206, s BOOST_PP_TUPLE_EAT_3)(p, o, o(206, s))
-# define BOOST_PP_WHILE_206(p, o, s) BOOST_PP_IF(p(207, s), BOOST_PP_WHILE_207, s BOOST_PP_TUPLE_EAT_3)(p, o, o(207, s))
-# define BOOST_PP_WHILE_207(p, o, s) BOOST_PP_IF(p(208, s), BOOST_PP_WHILE_208, s BOOST_PP_TUPLE_EAT_3)(p, o, o(208, s))
-# define BOOST_PP_WHILE_208(p, o, s) BOOST_PP_IF(p(209, s), BOOST_PP_WHILE_209, s BOOST_PP_TUPLE_EAT_3)(p, o, o(209, s))
-# define BOOST_PP_WHILE_209(p, o, s) BOOST_PP_IF(p(210, s), BOOST_PP_WHILE_210, s BOOST_PP_TUPLE_EAT_3)(p, o, o(210, s))
-# define BOOST_PP_WHILE_210(p, o, s) BOOST_PP_IF(p(211, s), BOOST_PP_WHILE_211, s BOOST_PP_TUPLE_EAT_3)(p, o, o(211, s))
-# define BOOST_PP_WHILE_211(p, o, s) BOOST_PP_IF(p(212, s), BOOST_PP_WHILE_212, s BOOST_PP_TUPLE_EAT_3)(p, o, o(212, s))
-# define BOOST_PP_WHILE_212(p, o, s) BOOST_PP_IF(p(213, s), BOOST_PP_WHILE_213, s BOOST_PP_TUPLE_EAT_3)(p, o, o(213, s))
-# define BOOST_PP_WHILE_213(p, o, s) BOOST_PP_IF(p(214, s), BOOST_PP_WHILE_214, s BOOST_PP_TUPLE_EAT_3)(p, o, o(214, s))
-# define BOOST_PP_WHILE_214(p, o, s) BOOST_PP_IF(p(215, s), BOOST_PP_WHILE_215, s BOOST_PP_TUPLE_EAT_3)(p, o, o(215, s))
-# define BOOST_PP_WHILE_215(p, o, s) BOOST_PP_IF(p(216, s), BOOST_PP_WHILE_216, s BOOST_PP_TUPLE_EAT_3)(p, o, o(216, s))
-# define BOOST_PP_WHILE_216(p, o, s) BOOST_PP_IF(p(217, s), BOOST_PP_WHILE_217, s BOOST_PP_TUPLE_EAT_3)(p, o, o(217, s))
-# define BOOST_PP_WHILE_217(p, o, s) BOOST_PP_IF(p(218, s), BOOST_PP_WHILE_218, s BOOST_PP_TUPLE_EAT_3)(p, o, o(218, s))
-# define BOOST_PP_WHILE_218(p, o, s) BOOST_PP_IF(p(219, s), BOOST_PP_WHILE_219, s BOOST_PP_TUPLE_EAT_3)(p, o, o(219, s))
-# define BOOST_PP_WHILE_219(p, o, s) BOOST_PP_IF(p(220, s), BOOST_PP_WHILE_220, s BOOST_PP_TUPLE_EAT_3)(p, o, o(220, s))
-# define BOOST_PP_WHILE_220(p, o, s) BOOST_PP_IF(p(221, s), BOOST_PP_WHILE_221, s BOOST_PP_TUPLE_EAT_3)(p, o, o(221, s))
-# define BOOST_PP_WHILE_221(p, o, s) BOOST_PP_IF(p(222, s), BOOST_PP_WHILE_222, s BOOST_PP_TUPLE_EAT_3)(p, o, o(222, s))
-# define BOOST_PP_WHILE_222(p, o, s) BOOST_PP_IF(p(223, s), BOOST_PP_WHILE_223, s BOOST_PP_TUPLE_EAT_3)(p, o, o(223, s))
-# define BOOST_PP_WHILE_223(p, o, s) BOOST_PP_IF(p(224, s), BOOST_PP_WHILE_224, s BOOST_PP_TUPLE_EAT_3)(p, o, o(224, s))
-# define BOOST_PP_WHILE_224(p, o, s) BOOST_PP_IF(p(225, s), BOOST_PP_WHILE_225, s BOOST_PP_TUPLE_EAT_3)(p, o, o(225, s))
-# define BOOST_PP_WHILE_225(p, o, s) BOOST_PP_IF(p(226, s), BOOST_PP_WHILE_226, s BOOST_PP_TUPLE_EAT_3)(p, o, o(226, s))
-# define BOOST_PP_WHILE_226(p, o, s) BOOST_PP_IF(p(227, s), BOOST_PP_WHILE_227, s BOOST_PP_TUPLE_EAT_3)(p, o, o(227, s))
-# define BOOST_PP_WHILE_227(p, o, s) BOOST_PP_IF(p(228, s), BOOST_PP_WHILE_228, s BOOST_PP_TUPLE_EAT_3)(p, o, o(228, s))
-# define BOOST_PP_WHILE_228(p, o, s) BOOST_PP_IF(p(229, s), BOOST_PP_WHILE_229, s BOOST_PP_TUPLE_EAT_3)(p, o, o(229, s))
-# define BOOST_PP_WHILE_229(p, o, s) BOOST_PP_IF(p(230, s), BOOST_PP_WHILE_230, s BOOST_PP_TUPLE_EAT_3)(p, o, o(230, s))
-# define BOOST_PP_WHILE_230(p, o, s) BOOST_PP_IF(p(231, s), BOOST_PP_WHILE_231, s BOOST_PP_TUPLE_EAT_3)(p, o, o(231, s))
-# define BOOST_PP_WHILE_231(p, o, s) BOOST_PP_IF(p(232, s), BOOST_PP_WHILE_232, s BOOST_PP_TUPLE_EAT_3)(p, o, o(232, s))
-# define BOOST_PP_WHILE_232(p, o, s) BOOST_PP_IF(p(233, s), BOOST_PP_WHILE_233, s BOOST_PP_TUPLE_EAT_3)(p, o, o(233, s))
-# define BOOST_PP_WHILE_233(p, o, s) BOOST_PP_IF(p(234, s), BOOST_PP_WHILE_234, s BOOST_PP_TUPLE_EAT_3)(p, o, o(234, s))
-# define BOOST_PP_WHILE_234(p, o, s) BOOST_PP_IF(p(235, s), BOOST_PP_WHILE_235, s BOOST_PP_TUPLE_EAT_3)(p, o, o(235, s))
-# define BOOST_PP_WHILE_235(p, o, s) BOOST_PP_IF(p(236, s), BOOST_PP_WHILE_236, s BOOST_PP_TUPLE_EAT_3)(p, o, o(236, s))
-# define BOOST_PP_WHILE_236(p, o, s) BOOST_PP_IF(p(237, s), BOOST_PP_WHILE_237, s BOOST_PP_TUPLE_EAT_3)(p, o, o(237, s))
-# define BOOST_PP_WHILE_237(p, o, s) BOOST_PP_IF(p(238, s), BOOST_PP_WHILE_238, s BOOST_PP_TUPLE_EAT_3)(p, o, o(238, s))
-# define BOOST_PP_WHILE_238(p, o, s) BOOST_PP_IF(p(239, s), BOOST_PP_WHILE_239, s BOOST_PP_TUPLE_EAT_3)(p, o, o(239, s))
-# define BOOST_PP_WHILE_239(p, o, s) BOOST_PP_IF(p(240, s), BOOST_PP_WHILE_240, s BOOST_PP_TUPLE_EAT_3)(p, o, o(240, s))
-# define BOOST_PP_WHILE_240(p, o, s) BOOST_PP_IF(p(241, s), BOOST_PP_WHILE_241, s BOOST_PP_TUPLE_EAT_3)(p, o, o(241, s))
-# define BOOST_PP_WHILE_241(p, o, s) BOOST_PP_IF(p(242, s), BOOST_PP_WHILE_242, s BOOST_PP_TUPLE_EAT_3)(p, o, o(242, s))
-# define BOOST_PP_WHILE_242(p, o, s) BOOST_PP_IF(p(243, s), BOOST_PP_WHILE_243, s BOOST_PP_TUPLE_EAT_3)(p, o, o(243, s))
-# define BOOST_PP_WHILE_243(p, o, s) BOOST_PP_IF(p(244, s), BOOST_PP_WHILE_244, s BOOST_PP_TUPLE_EAT_3)(p, o, o(244, s))
-# define BOOST_PP_WHILE_244(p, o, s) BOOST_PP_IF(p(245, s), BOOST_PP_WHILE_245, s BOOST_PP_TUPLE_EAT_3)(p, o, o(245, s))
-# define BOOST_PP_WHILE_245(p, o, s) BOOST_PP_IF(p(246, s), BOOST_PP_WHILE_246, s BOOST_PP_TUPLE_EAT_3)(p, o, o(246, s))
-# define BOOST_PP_WHILE_246(p, o, s) BOOST_PP_IF(p(247, s), BOOST_PP_WHILE_247, s BOOST_PP_TUPLE_EAT_3)(p, o, o(247, s))
-# define BOOST_PP_WHILE_247(p, o, s) BOOST_PP_IF(p(248, s), BOOST_PP_WHILE_248, s BOOST_PP_TUPLE_EAT_3)(p, o, o(248, s))
-# define BOOST_PP_WHILE_248(p, o, s) BOOST_PP_IF(p(249, s), BOOST_PP_WHILE_249, s BOOST_PP_TUPLE_EAT_3)(p, o, o(249, s))
-# define BOOST_PP_WHILE_249(p, o, s) BOOST_PP_IF(p(250, s), BOOST_PP_WHILE_250, s BOOST_PP_TUPLE_EAT_3)(p, o, o(250, s))
-# define BOOST_PP_WHILE_250(p, o, s) BOOST_PP_IF(p(251, s), BOOST_PP_WHILE_251, s BOOST_PP_TUPLE_EAT_3)(p, o, o(251, s))
-# define BOOST_PP_WHILE_251(p, o, s) BOOST_PP_IF(p(252, s), BOOST_PP_WHILE_252, s BOOST_PP_TUPLE_EAT_3)(p, o, o(252, s))
-# define BOOST_PP_WHILE_252(p, o, s) BOOST_PP_IF(p(253, s), BOOST_PP_WHILE_253, s BOOST_PP_TUPLE_EAT_3)(p, o, o(253, s))
-# define BOOST_PP_WHILE_253(p, o, s) BOOST_PP_IF(p(254, s), BOOST_PP_WHILE_254, s BOOST_PP_TUPLE_EAT_3)(p, o, o(254, s))
-# define BOOST_PP_WHILE_254(p, o, s) BOOST_PP_IF(p(255, s), BOOST_PP_WHILE_255, s BOOST_PP_TUPLE_EAT_3)(p, o, o(255, s))
-# define BOOST_PP_WHILE_255(p, o, s) BOOST_PP_IF(p(256, s), BOOST_PP_WHILE_256, s BOOST_PP_TUPLE_EAT_3)(p, o, o(256, s))
-# define BOOST_PP_WHILE_256(p, o, s) BOOST_PP_IF(p(257, s), BOOST_PP_WHILE_257, s BOOST_PP_TUPLE_EAT_3)(p, o, o(257, s))
-#
-# endif
diff --git a/boost/preprocessor/control/detail/while.hpp b/boost/preprocessor/control/detail/while.hpp
deleted file mode 100644
index 7315e1d..0000000
--- a/boost/preprocessor/control/detail/while.hpp
+++ /dev/null
@@ -1,536 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_CONTROL_DETAIL_WHILE_HPP
-# define BOOST_PREPROCESSOR_CONTROL_DETAIL_WHILE_HPP
-#
-# include <boost/preprocessor/control/iif.hpp>
-# include <boost/preprocessor/logical/bool.hpp>
-# include <boost/preprocessor/tuple/eat.hpp>
-#
-# define BOOST_PP_WHILE_1(p, o, s) BOOST_PP_WHILE_1_C(BOOST_PP_BOOL(p(2, s)), p, o, s)
-# define BOOST_PP_WHILE_2(p, o, s) BOOST_PP_WHILE_2_C(BOOST_PP_BOOL(p(3, s)), p, o, s)
-# define BOOST_PP_WHILE_3(p, o, s) BOOST_PP_WHILE_3_C(BOOST_PP_BOOL(p(4, s)), p, o, s)
-# define BOOST_PP_WHILE_4(p, o, s) BOOST_PP_WHILE_4_C(BOOST_PP_BOOL(p(5, s)), p, o, s)
-# define BOOST_PP_WHILE_5(p, o, s) BOOST_PP_WHILE_5_C(BOOST_PP_BOOL(p(6, s)), p, o, s)
-# define BOOST_PP_WHILE_6(p, o, s) BOOST_PP_WHILE_6_C(BOOST_PP_BOOL(p(7, s)), p, o, s)
-# define BOOST_PP_WHILE_7(p, o, s) BOOST_PP_WHILE_7_C(BOOST_PP_BOOL(p(8, s)), p, o, s)
-# define BOOST_PP_WHILE_8(p, o, s) BOOST_PP_WHILE_8_C(BOOST_PP_BOOL(p(9, s)), p, o, s)
-# define BOOST_PP_WHILE_9(p, o, s) BOOST_PP_WHILE_9_C(BOOST_PP_BOOL(p(10, s)), p, o, s)
-# define BOOST_PP_WHILE_10(p, o, s) BOOST_PP_WHILE_10_C(BOOST_PP_BOOL(p(11, s)), p, o, s)
-# define BOOST_PP_WHILE_11(p, o, s) BOOST_PP_WHILE_11_C(BOOST_PP_BOOL(p(12, s)), p, o, s)
-# define BOOST_PP_WHILE_12(p, o, s) BOOST_PP_WHILE_12_C(BOOST_PP_BOOL(p(13, s)), p, o, s)
-# define BOOST_PP_WHILE_13(p, o, s) BOOST_PP_WHILE_13_C(BOOST_PP_BOOL(p(14, s)), p, o, s)
-# define BOOST_PP_WHILE_14(p, o, s) BOOST_PP_WHILE_14_C(BOOST_PP_BOOL(p(15, s)), p, o, s)
-# define BOOST_PP_WHILE_15(p, o, s) BOOST_PP_WHILE_15_C(BOOST_PP_BOOL(p(16, s)), p, o, s)
-# define BOOST_PP_WHILE_16(p, o, s) BOOST_PP_WHILE_16_C(BOOST_PP_BOOL(p(17, s)), p, o, s)
-# define BOOST_PP_WHILE_17(p, o, s) BOOST_PP_WHILE_17_C(BOOST_PP_BOOL(p(18, s)), p, o, s)
-# define BOOST_PP_WHILE_18(p, o, s) BOOST_PP_WHILE_18_C(BOOST_PP_BOOL(p(19, s)), p, o, s)
-# define BOOST_PP_WHILE_19(p, o, s) BOOST_PP_WHILE_19_C(BOOST_PP_BOOL(p(20, s)), p, o, s)
-# define BOOST_PP_WHILE_20(p, o, s) BOOST_PP_WHILE_20_C(BOOST_PP_BOOL(p(21, s)), p, o, s)
-# define BOOST_PP_WHILE_21(p, o, s) BOOST_PP_WHILE_21_C(BOOST_PP_BOOL(p(22, s)), p, o, s)
-# define BOOST_PP_WHILE_22(p, o, s) BOOST_PP_WHILE_22_C(BOOST_PP_BOOL(p(23, s)), p, o, s)
-# define BOOST_PP_WHILE_23(p, o, s) BOOST_PP_WHILE_23_C(BOOST_PP_BOOL(p(24, s)), p, o, s)
-# define BOOST_PP_WHILE_24(p, o, s) BOOST_PP_WHILE_24_C(BOOST_PP_BOOL(p(25, s)), p, o, s)
-# define BOOST_PP_WHILE_25(p, o, s) BOOST_PP_WHILE_25_C(BOOST_PP_BOOL(p(26, s)), p, o, s)
-# define BOOST_PP_WHILE_26(p, o, s) BOOST_PP_WHILE_26_C(BOOST_PP_BOOL(p(27, s)), p, o, s)
-# define BOOST_PP_WHILE_27(p, o, s) BOOST_PP_WHILE_27_C(BOOST_PP_BOOL(p(28, s)), p, o, s)
-# define BOOST_PP_WHILE_28(p, o, s) BOOST_PP_WHILE_28_C(BOOST_PP_BOOL(p(29, s)), p, o, s)
-# define BOOST_PP_WHILE_29(p, o, s) BOOST_PP_WHILE_29_C(BOOST_PP_BOOL(p(30, s)), p, o, s)
-# define BOOST_PP_WHILE_30(p, o, s) BOOST_PP_WHILE_30_C(BOOST_PP_BOOL(p(31, s)), p, o, s)
-# define BOOST_PP_WHILE_31(p, o, s) BOOST_PP_WHILE_31_C(BOOST_PP_BOOL(p(32, s)), p, o, s)
-# define BOOST_PP_WHILE_32(p, o, s) BOOST_PP_WHILE_32_C(BOOST_PP_BOOL(p(33, s)), p, o, s)
-# define BOOST_PP_WHILE_33(p, o, s) BOOST_PP_WHILE_33_C(BOOST_PP_BOOL(p(34, s)), p, o, s)
-# define BOOST_PP_WHILE_34(p, o, s) BOOST_PP_WHILE_34_C(BOOST_PP_BOOL(p(35, s)), p, o, s)
-# define BOOST_PP_WHILE_35(p, o, s) BOOST_PP_WHILE_35_C(BOOST_PP_BOOL(p(36, s)), p, o, s)
-# define BOOST_PP_WHILE_36(p, o, s) BOOST_PP_WHILE_36_C(BOOST_PP_BOOL(p(37, s)), p, o, s)
-# define BOOST_PP_WHILE_37(p, o, s) BOOST_PP_WHILE_37_C(BOOST_PP_BOOL(p(38, s)), p, o, s)
-# define BOOST_PP_WHILE_38(p, o, s) BOOST_PP_WHILE_38_C(BOOST_PP_BOOL(p(39, s)), p, o, s)
-# define BOOST_PP_WHILE_39(p, o, s) BOOST_PP_WHILE_39_C(BOOST_PP_BOOL(p(40, s)), p, o, s)
-# define BOOST_PP_WHILE_40(p, o, s) BOOST_PP_WHILE_40_C(BOOST_PP_BOOL(p(41, s)), p, o, s)
-# define BOOST_PP_WHILE_41(p, o, s) BOOST_PP_WHILE_41_C(BOOST_PP_BOOL(p(42, s)), p, o, s)
-# define BOOST_PP_WHILE_42(p, o, s) BOOST_PP_WHILE_42_C(BOOST_PP_BOOL(p(43, s)), p, o, s)
-# define BOOST_PP_WHILE_43(p, o, s) BOOST_PP_WHILE_43_C(BOOST_PP_BOOL(p(44, s)), p, o, s)
-# define BOOST_PP_WHILE_44(p, o, s) BOOST_PP_WHILE_44_C(BOOST_PP_BOOL(p(45, s)), p, o, s)
-# define BOOST_PP_WHILE_45(p, o, s) BOOST_PP_WHILE_45_C(BOOST_PP_BOOL(p(46, s)), p, o, s)
-# define BOOST_PP_WHILE_46(p, o, s) BOOST_PP_WHILE_46_C(BOOST_PP_BOOL(p(47, s)), p, o, s)
-# define BOOST_PP_WHILE_47(p, o, s) BOOST_PP_WHILE_47_C(BOOST_PP_BOOL(p(48, s)), p, o, s)
-# define BOOST_PP_WHILE_48(p, o, s) BOOST_PP_WHILE_48_C(BOOST_PP_BOOL(p(49, s)), p, o, s)
-# define BOOST_PP_WHILE_49(p, o, s) BOOST_PP_WHILE_49_C(BOOST_PP_BOOL(p(50, s)), p, o, s)
-# define BOOST_PP_WHILE_50(p, o, s) BOOST_PP_WHILE_50_C(BOOST_PP_BOOL(p(51, s)), p, o, s)
-# define BOOST_PP_WHILE_51(p, o, s) BOOST_PP_WHILE_51_C(BOOST_PP_BOOL(p(52, s)), p, o, s)
-# define BOOST_PP_WHILE_52(p, o, s) BOOST_PP_WHILE_52_C(BOOST_PP_BOOL(p(53, s)), p, o, s)
-# define BOOST_PP_WHILE_53(p, o, s) BOOST_PP_WHILE_53_C(BOOST_PP_BOOL(p(54, s)), p, o, s)
-# define BOOST_PP_WHILE_54(p, o, s) BOOST_PP_WHILE_54_C(BOOST_PP_BOOL(p(55, s)), p, o, s)
-# define BOOST_PP_WHILE_55(p, o, s) BOOST_PP_WHILE_55_C(BOOST_PP_BOOL(p(56, s)), p, o, s)
-# define BOOST_PP_WHILE_56(p, o, s) BOOST_PP_WHILE_56_C(BOOST_PP_BOOL(p(57, s)), p, o, s)
-# define BOOST_PP_WHILE_57(p, o, s) BOOST_PP_WHILE_57_C(BOOST_PP_BOOL(p(58, s)), p, o, s)
-# define BOOST_PP_WHILE_58(p, o, s) BOOST_PP_WHILE_58_C(BOOST_PP_BOOL(p(59, s)), p, o, s)
-# define BOOST_PP_WHILE_59(p, o, s) BOOST_PP_WHILE_59_C(BOOST_PP_BOOL(p(60, s)), p, o, s)
-# define BOOST_PP_WHILE_60(p, o, s) BOOST_PP_WHILE_60_C(BOOST_PP_BOOL(p(61, s)), p, o, s)
-# define BOOST_PP_WHILE_61(p, o, s) BOOST_PP_WHILE_61_C(BOOST_PP_BOOL(p(62, s)), p, o, s)
-# define BOOST_PP_WHILE_62(p, o, s) BOOST_PP_WHILE_62_C(BOOST_PP_BOOL(p(63, s)), p, o, s)
-# define BOOST_PP_WHILE_63(p, o, s) BOOST_PP_WHILE_63_C(BOOST_PP_BOOL(p(64, s)), p, o, s)
-# define BOOST_PP_WHILE_64(p, o, s) BOOST_PP_WHILE_64_C(BOOST_PP_BOOL(p(65, s)), p, o, s)
-# define BOOST_PP_WHILE_65(p, o, s) BOOST_PP_WHILE_65_C(BOOST_PP_BOOL(p(66, s)), p, o, s)
-# define BOOST_PP_WHILE_66(p, o, s) BOOST_PP_WHILE_66_C(BOOST_PP_BOOL(p(67, s)), p, o, s)
-# define BOOST_PP_WHILE_67(p, o, s) BOOST_PP_WHILE_67_C(BOOST_PP_BOOL(p(68, s)), p, o, s)
-# define BOOST_PP_WHILE_68(p, o, s) BOOST_PP_WHILE_68_C(BOOST_PP_BOOL(p(69, s)), p, o, s)
-# define BOOST_PP_WHILE_69(p, o, s) BOOST_PP_WHILE_69_C(BOOST_PP_BOOL(p(70, s)), p, o, s)
-# define BOOST_PP_WHILE_70(p, o, s) BOOST_PP_WHILE_70_C(BOOST_PP_BOOL(p(71, s)), p, o, s)
-# define BOOST_PP_WHILE_71(p, o, s) BOOST_PP_WHILE_71_C(BOOST_PP_BOOL(p(72, s)), p, o, s)
-# define BOOST_PP_WHILE_72(p, o, s) BOOST_PP_WHILE_72_C(BOOST_PP_BOOL(p(73, s)), p, o, s)
-# define BOOST_PP_WHILE_73(p, o, s) BOOST_PP_WHILE_73_C(BOOST_PP_BOOL(p(74, s)), p, o, s)
-# define BOOST_PP_WHILE_74(p, o, s) BOOST_PP_WHILE_74_C(BOOST_PP_BOOL(p(75, s)), p, o, s)
-# define BOOST_PP_WHILE_75(p, o, s) BOOST_PP_WHILE_75_C(BOOST_PP_BOOL(p(76, s)), p, o, s)
-# define BOOST_PP_WHILE_76(p, o, s) BOOST_PP_WHILE_76_C(BOOST_PP_BOOL(p(77, s)), p, o, s)
-# define BOOST_PP_WHILE_77(p, o, s) BOOST_PP_WHILE_77_C(BOOST_PP_BOOL(p(78, s)), p, o, s)
-# define BOOST_PP_WHILE_78(p, o, s) BOOST_PP_WHILE_78_C(BOOST_PP_BOOL(p(79, s)), p, o, s)
-# define BOOST_PP_WHILE_79(p, o, s) BOOST_PP_WHILE_79_C(BOOST_PP_BOOL(p(80, s)), p, o, s)
-# define BOOST_PP_WHILE_80(p, o, s) BOOST_PP_WHILE_80_C(BOOST_PP_BOOL(p(81, s)), p, o, s)
-# define BOOST_PP_WHILE_81(p, o, s) BOOST_PP_WHILE_81_C(BOOST_PP_BOOL(p(82, s)), p, o, s)
-# define BOOST_PP_WHILE_82(p, o, s) BOOST_PP_WHILE_82_C(BOOST_PP_BOOL(p(83, s)), p, o, s)
-# define BOOST_PP_WHILE_83(p, o, s) BOOST_PP_WHILE_83_C(BOOST_PP_BOOL(p(84, s)), p, o, s)
-# define BOOST_PP_WHILE_84(p, o, s) BOOST_PP_WHILE_84_C(BOOST_PP_BOOL(p(85, s)), p, o, s)
-# define BOOST_PP_WHILE_85(p, o, s) BOOST_PP_WHILE_85_C(BOOST_PP_BOOL(p(86, s)), p, o, s)
-# define BOOST_PP_WHILE_86(p, o, s) BOOST_PP_WHILE_86_C(BOOST_PP_BOOL(p(87, s)), p, o, s)
-# define BOOST_PP_WHILE_87(p, o, s) BOOST_PP_WHILE_87_C(BOOST_PP_BOOL(p(88, s)), p, o, s)
-# define BOOST_PP_WHILE_88(p, o, s) BOOST_PP_WHILE_88_C(BOOST_PP_BOOL(p(89, s)), p, o, s)
-# define BOOST_PP_WHILE_89(p, o, s) BOOST_PP_WHILE_89_C(BOOST_PP_BOOL(p(90, s)), p, o, s)
-# define BOOST_PP_WHILE_90(p, o, s) BOOST_PP_WHILE_90_C(BOOST_PP_BOOL(p(91, s)), p, o, s)
-# define BOOST_PP_WHILE_91(p, o, s) BOOST_PP_WHILE_91_C(BOOST_PP_BOOL(p(92, s)), p, o, s)
-# define BOOST_PP_WHILE_92(p, o, s) BOOST_PP_WHILE_92_C(BOOST_PP_BOOL(p(93, s)), p, o, s)
-# define BOOST_PP_WHILE_93(p, o, s) BOOST_PP_WHILE_93_C(BOOST_PP_BOOL(p(94, s)), p, o, s)
-# define BOOST_PP_WHILE_94(p, o, s) BOOST_PP_WHILE_94_C(BOOST_PP_BOOL(p(95, s)), p, o, s)
-# define BOOST_PP_WHILE_95(p, o, s) BOOST_PP_WHILE_95_C(BOOST_PP_BOOL(p(96, s)), p, o, s)
-# define BOOST_PP_WHILE_96(p, o, s) BOOST_PP_WHILE_96_C(BOOST_PP_BOOL(p(97, s)), p, o, s)
-# define BOOST_PP_WHILE_97(p, o, s) BOOST_PP_WHILE_97_C(BOOST_PP_BOOL(p(98, s)), p, o, s)
-# define BOOST_PP_WHILE_98(p, o, s) BOOST_PP_WHILE_98_C(BOOST_PP_BOOL(p(99, s)), p, o, s)
-# define BOOST_PP_WHILE_99(p, o, s) BOOST_PP_WHILE_99_C(BOOST_PP_BOOL(p(100, s)), p, o, s)
-# define BOOST_PP_WHILE_100(p, o, s) BOOST_PP_WHILE_100_C(BOOST_PP_BOOL(p(101, s)), p, o, s)
-# define BOOST_PP_WHILE_101(p, o, s) BOOST_PP_WHILE_101_C(BOOST_PP_BOOL(p(102, s)), p, o, s)
-# define BOOST_PP_WHILE_102(p, o, s) BOOST_PP_WHILE_102_C(BOOST_PP_BOOL(p(103, s)), p, o, s)
-# define BOOST_PP_WHILE_103(p, o, s) BOOST_PP_WHILE_103_C(BOOST_PP_BOOL(p(104, s)), p, o, s)
-# define BOOST_PP_WHILE_104(p, o, s) BOOST_PP_WHILE_104_C(BOOST_PP_BOOL(p(105, s)), p, o, s)
-# define BOOST_PP_WHILE_105(p, o, s) BOOST_PP_WHILE_105_C(BOOST_PP_BOOL(p(106, s)), p, o, s)
-# define BOOST_PP_WHILE_106(p, o, s) BOOST_PP_WHILE_106_C(BOOST_PP_BOOL(p(107, s)), p, o, s)
-# define BOOST_PP_WHILE_107(p, o, s) BOOST_PP_WHILE_107_C(BOOST_PP_BOOL(p(108, s)), p, o, s)
-# define BOOST_PP_WHILE_108(p, o, s) BOOST_PP_WHILE_108_C(BOOST_PP_BOOL(p(109, s)), p, o, s)
-# define BOOST_PP_WHILE_109(p, o, s) BOOST_PP_WHILE_109_C(BOOST_PP_BOOL(p(110, s)), p, o, s)
-# define BOOST_PP_WHILE_110(p, o, s) BOOST_PP_WHILE_110_C(BOOST_PP_BOOL(p(111, s)), p, o, s)
-# define BOOST_PP_WHILE_111(p, o, s) BOOST_PP_WHILE_111_C(BOOST_PP_BOOL(p(112, s)), p, o, s)
-# define BOOST_PP_WHILE_112(p, o, s) BOOST_PP_WHILE_112_C(BOOST_PP_BOOL(p(113, s)), p, o, s)
-# define BOOST_PP_WHILE_113(p, o, s) BOOST_PP_WHILE_113_C(BOOST_PP_BOOL(p(114, s)), p, o, s)
-# define BOOST_PP_WHILE_114(p, o, s) BOOST_PP_WHILE_114_C(BOOST_PP_BOOL(p(115, s)), p, o, s)
-# define BOOST_PP_WHILE_115(p, o, s) BOOST_PP_WHILE_115_C(BOOST_PP_BOOL(p(116, s)), p, o, s)
-# define BOOST_PP_WHILE_116(p, o, s) BOOST_PP_WHILE_116_C(BOOST_PP_BOOL(p(117, s)), p, o, s)
-# define BOOST_PP_WHILE_117(p, o, s) BOOST_PP_WHILE_117_C(BOOST_PP_BOOL(p(118, s)), p, o, s)
-# define BOOST_PP_WHILE_118(p, o, s) BOOST_PP_WHILE_118_C(BOOST_PP_BOOL(p(119, s)), p, o, s)
-# define BOOST_PP_WHILE_119(p, o, s) BOOST_PP_WHILE_119_C(BOOST_PP_BOOL(p(120, s)), p, o, s)
-# define BOOST_PP_WHILE_120(p, o, s) BOOST_PP_WHILE_120_C(BOOST_PP_BOOL(p(121, s)), p, o, s)
-# define BOOST_PP_WHILE_121(p, o, s) BOOST_PP_WHILE_121_C(BOOST_PP_BOOL(p(122, s)), p, o, s)
-# define BOOST_PP_WHILE_122(p, o, s) BOOST_PP_WHILE_122_C(BOOST_PP_BOOL(p(123, s)), p, o, s)
-# define BOOST_PP_WHILE_123(p, o, s) BOOST_PP_WHILE_123_C(BOOST_PP_BOOL(p(124, s)), p, o, s)
-# define BOOST_PP_WHILE_124(p, o, s) BOOST_PP_WHILE_124_C(BOOST_PP_BOOL(p(125, s)), p, o, s)
-# define BOOST_PP_WHILE_125(p, o, s) BOOST_PP_WHILE_125_C(BOOST_PP_BOOL(p(126, s)), p, o, s)
-# define BOOST_PP_WHILE_126(p, o, s) BOOST_PP_WHILE_126_C(BOOST_PP_BOOL(p(127, s)), p, o, s)
-# define BOOST_PP_WHILE_127(p, o, s) BOOST_PP_WHILE_127_C(BOOST_PP_BOOL(p(128, s)), p, o, s)
-# define BOOST_PP_WHILE_128(p, o, s) BOOST_PP_WHILE_128_C(BOOST_PP_BOOL(p(129, s)), p, o, s)
-# define BOOST_PP_WHILE_129(p, o, s) BOOST_PP_WHILE_129_C(BOOST_PP_BOOL(p(130, s)), p, o, s)
-# define BOOST_PP_WHILE_130(p, o, s) BOOST_PP_WHILE_130_C(BOOST_PP_BOOL(p(131, s)), p, o, s)
-# define BOOST_PP_WHILE_131(p, o, s) BOOST_PP_WHILE_131_C(BOOST_PP_BOOL(p(132, s)), p, o, s)
-# define BOOST_PP_WHILE_132(p, o, s) BOOST_PP_WHILE_132_C(BOOST_PP_BOOL(p(133, s)), p, o, s)
-# define BOOST_PP_WHILE_133(p, o, s) BOOST_PP_WHILE_133_C(BOOST_PP_BOOL(p(134, s)), p, o, s)
-# define BOOST_PP_WHILE_134(p, o, s) BOOST_PP_WHILE_134_C(BOOST_PP_BOOL(p(135, s)), p, o, s)
-# define BOOST_PP_WHILE_135(p, o, s) BOOST_PP_WHILE_135_C(BOOST_PP_BOOL(p(136, s)), p, o, s)
-# define BOOST_PP_WHILE_136(p, o, s) BOOST_PP_WHILE_136_C(BOOST_PP_BOOL(p(137, s)), p, o, s)
-# define BOOST_PP_WHILE_137(p, o, s) BOOST_PP_WHILE_137_C(BOOST_PP_BOOL(p(138, s)), p, o, s)
-# define BOOST_PP_WHILE_138(p, o, s) BOOST_PP_WHILE_138_C(BOOST_PP_BOOL(p(139, s)), p, o, s)
-# define BOOST_PP_WHILE_139(p, o, s) BOOST_PP_WHILE_139_C(BOOST_PP_BOOL(p(140, s)), p, o, s)
-# define BOOST_PP_WHILE_140(p, o, s) BOOST_PP_WHILE_140_C(BOOST_PP_BOOL(p(141, s)), p, o, s)
-# define BOOST_PP_WHILE_141(p, o, s) BOOST_PP_WHILE_141_C(BOOST_PP_BOOL(p(142, s)), p, o, s)
-# define BOOST_PP_WHILE_142(p, o, s) BOOST_PP_WHILE_142_C(BOOST_PP_BOOL(p(143, s)), p, o, s)
-# define BOOST_PP_WHILE_143(p, o, s) BOOST_PP_WHILE_143_C(BOOST_PP_BOOL(p(144, s)), p, o, s)
-# define BOOST_PP_WHILE_144(p, o, s) BOOST_PP_WHILE_144_C(BOOST_PP_BOOL(p(145, s)), p, o, s)
-# define BOOST_PP_WHILE_145(p, o, s) BOOST_PP_WHILE_145_C(BOOST_PP_BOOL(p(146, s)), p, o, s)
-# define BOOST_PP_WHILE_146(p, o, s) BOOST_PP_WHILE_146_C(BOOST_PP_BOOL(p(147, s)), p, o, s)
-# define BOOST_PP_WHILE_147(p, o, s) BOOST_PP_WHILE_147_C(BOOST_PP_BOOL(p(148, s)), p, o, s)
-# define BOOST_PP_WHILE_148(p, o, s) BOOST_PP_WHILE_148_C(BOOST_PP_BOOL(p(149, s)), p, o, s)
-# define BOOST_PP_WHILE_149(p, o, s) BOOST_PP_WHILE_149_C(BOOST_PP_BOOL(p(150, s)), p, o, s)
-# define BOOST_PP_WHILE_150(p, o, s) BOOST_PP_WHILE_150_C(BOOST_PP_BOOL(p(151, s)), p, o, s)
-# define BOOST_PP_WHILE_151(p, o, s) BOOST_PP_WHILE_151_C(BOOST_PP_BOOL(p(152, s)), p, o, s)
-# define BOOST_PP_WHILE_152(p, o, s) BOOST_PP_WHILE_152_C(BOOST_PP_BOOL(p(153, s)), p, o, s)
-# define BOOST_PP_WHILE_153(p, o, s) BOOST_PP_WHILE_153_C(BOOST_PP_BOOL(p(154, s)), p, o, s)
-# define BOOST_PP_WHILE_154(p, o, s) BOOST_PP_WHILE_154_C(BOOST_PP_BOOL(p(155, s)), p, o, s)
-# define BOOST_PP_WHILE_155(p, o, s) BOOST_PP_WHILE_155_C(BOOST_PP_BOOL(p(156, s)), p, o, s)
-# define BOOST_PP_WHILE_156(p, o, s) BOOST_PP_WHILE_156_C(BOOST_PP_BOOL(p(157, s)), p, o, s)
-# define BOOST_PP_WHILE_157(p, o, s) BOOST_PP_WHILE_157_C(BOOST_PP_BOOL(p(158, s)), p, o, s)
-# define BOOST_PP_WHILE_158(p, o, s) BOOST_PP_WHILE_158_C(BOOST_PP_BOOL(p(159, s)), p, o, s)
-# define BOOST_PP_WHILE_159(p, o, s) BOOST_PP_WHILE_159_C(BOOST_PP_BOOL(p(160, s)), p, o, s)
-# define BOOST_PP_WHILE_160(p, o, s) BOOST_PP_WHILE_160_C(BOOST_PP_BOOL(p(161, s)), p, o, s)
-# define BOOST_PP_WHILE_161(p, o, s) BOOST_PP_WHILE_161_C(BOOST_PP_BOOL(p(162, s)), p, o, s)
-# define BOOST_PP_WHILE_162(p, o, s) BOOST_PP_WHILE_162_C(BOOST_PP_BOOL(p(163, s)), p, o, s)
-# define BOOST_PP_WHILE_163(p, o, s) BOOST_PP_WHILE_163_C(BOOST_PP_BOOL(p(164, s)), p, o, s)
-# define BOOST_PP_WHILE_164(p, o, s) BOOST_PP_WHILE_164_C(BOOST_PP_BOOL(p(165, s)), p, o, s)
-# define BOOST_PP_WHILE_165(p, o, s) BOOST_PP_WHILE_165_C(BOOST_PP_BOOL(p(166, s)), p, o, s)
-# define BOOST_PP_WHILE_166(p, o, s) BOOST_PP_WHILE_166_C(BOOST_PP_BOOL(p(167, s)), p, o, s)
-# define BOOST_PP_WHILE_167(p, o, s) BOOST_PP_WHILE_167_C(BOOST_PP_BOOL(p(168, s)), p, o, s)
-# define BOOST_PP_WHILE_168(p, o, s) BOOST_PP_WHILE_168_C(BOOST_PP_BOOL(p(169, s)), p, o, s)
-# define BOOST_PP_WHILE_169(p, o, s) BOOST_PP_WHILE_169_C(BOOST_PP_BOOL(p(170, s)), p, o, s)
-# define BOOST_PP_WHILE_170(p, o, s) BOOST_PP_WHILE_170_C(BOOST_PP_BOOL(p(171, s)), p, o, s)
-# define BOOST_PP_WHILE_171(p, o, s) BOOST_PP_WHILE_171_C(BOOST_PP_BOOL(p(172, s)), p, o, s)
-# define BOOST_PP_WHILE_172(p, o, s) BOOST_PP_WHILE_172_C(BOOST_PP_BOOL(p(173, s)), p, o, s)
-# define BOOST_PP_WHILE_173(p, o, s) BOOST_PP_WHILE_173_C(BOOST_PP_BOOL(p(174, s)), p, o, s)
-# define BOOST_PP_WHILE_174(p, o, s) BOOST_PP_WHILE_174_C(BOOST_PP_BOOL(p(175, s)), p, o, s)
-# define BOOST_PP_WHILE_175(p, o, s) BOOST_PP_WHILE_175_C(BOOST_PP_BOOL(p(176, s)), p, o, s)
-# define BOOST_PP_WHILE_176(p, o, s) BOOST_PP_WHILE_176_C(BOOST_PP_BOOL(p(177, s)), p, o, s)
-# define BOOST_PP_WHILE_177(p, o, s) BOOST_PP_WHILE_177_C(BOOST_PP_BOOL(p(178, s)), p, o, s)
-# define BOOST_PP_WHILE_178(p, o, s) BOOST_PP_WHILE_178_C(BOOST_PP_BOOL(p(179, s)), p, o, s)
-# define BOOST_PP_WHILE_179(p, o, s) BOOST_PP_WHILE_179_C(BOOST_PP_BOOL(p(180, s)), p, o, s)
-# define BOOST_PP_WHILE_180(p, o, s) BOOST_PP_WHILE_180_C(BOOST_PP_BOOL(p(181, s)), p, o, s)
-# define BOOST_PP_WHILE_181(p, o, s) BOOST_PP_WHILE_181_C(BOOST_PP_BOOL(p(182, s)), p, o, s)
-# define BOOST_PP_WHILE_182(p, o, s) BOOST_PP_WHILE_182_C(BOOST_PP_BOOL(p(183, s)), p, o, s)
-# define BOOST_PP_WHILE_183(p, o, s) BOOST_PP_WHILE_183_C(BOOST_PP_BOOL(p(184, s)), p, o, s)
-# define BOOST_PP_WHILE_184(p, o, s) BOOST_PP_WHILE_184_C(BOOST_PP_BOOL(p(185, s)), p, o, s)
-# define BOOST_PP_WHILE_185(p, o, s) BOOST_PP_WHILE_185_C(BOOST_PP_BOOL(p(186, s)), p, o, s)
-# define BOOST_PP_WHILE_186(p, o, s) BOOST_PP_WHILE_186_C(BOOST_PP_BOOL(p(187, s)), p, o, s)
-# define BOOST_PP_WHILE_187(p, o, s) BOOST_PP_WHILE_187_C(BOOST_PP_BOOL(p(188, s)), p, o, s)
-# define BOOST_PP_WHILE_188(p, o, s) BOOST_PP_WHILE_188_C(BOOST_PP_BOOL(p(189, s)), p, o, s)
-# define BOOST_PP_WHILE_189(p, o, s) BOOST_PP_WHILE_189_C(BOOST_PP_BOOL(p(190, s)), p, o, s)
-# define BOOST_PP_WHILE_190(p, o, s) BOOST_PP_WHILE_190_C(BOOST_PP_BOOL(p(191, s)), p, o, s)
-# define BOOST_PP_WHILE_191(p, o, s) BOOST_PP_WHILE_191_C(BOOST_PP_BOOL(p(192, s)), p, o, s)
-# define BOOST_PP_WHILE_192(p, o, s) BOOST_PP_WHILE_192_C(BOOST_PP_BOOL(p(193, s)), p, o, s)
-# define BOOST_PP_WHILE_193(p, o, s) BOOST_PP_WHILE_193_C(BOOST_PP_BOOL(p(194, s)), p, o, s)
-# define BOOST_PP_WHILE_194(p, o, s) BOOST_PP_WHILE_194_C(BOOST_PP_BOOL(p(195, s)), p, o, s)
-# define BOOST_PP_WHILE_195(p, o, s) BOOST_PP_WHILE_195_C(BOOST_PP_BOOL(p(196, s)), p, o, s)
-# define BOOST_PP_WHILE_196(p, o, s) BOOST_PP_WHILE_196_C(BOOST_PP_BOOL(p(197, s)), p, o, s)
-# define BOOST_PP_WHILE_197(p, o, s) BOOST_PP_WHILE_197_C(BOOST_PP_BOOL(p(198, s)), p, o, s)
-# define BOOST_PP_WHILE_198(p, o, s) BOOST_PP_WHILE_198_C(BOOST_PP_BOOL(p(199, s)), p, o, s)
-# define BOOST_PP_WHILE_199(p, o, s) BOOST_PP_WHILE_199_C(BOOST_PP_BOOL(p(200, s)), p, o, s)
-# define BOOST_PP_WHILE_200(p, o, s) BOOST_PP_WHILE_200_C(BOOST_PP_BOOL(p(201, s)), p, o, s)
-# define BOOST_PP_WHILE_201(p, o, s) BOOST_PP_WHILE_201_C(BOOST_PP_BOOL(p(202, s)), p, o, s)
-# define BOOST_PP_WHILE_202(p, o, s) BOOST_PP_WHILE_202_C(BOOST_PP_BOOL(p(203, s)), p, o, s)
-# define BOOST_PP_WHILE_203(p, o, s) BOOST_PP_WHILE_203_C(BOOST_PP_BOOL(p(204, s)), p, o, s)
-# define BOOST_PP_WHILE_204(p, o, s) BOOST_PP_WHILE_204_C(BOOST_PP_BOOL(p(205, s)), p, o, s)
-# define BOOST_PP_WHILE_205(p, o, s) BOOST_PP_WHILE_205_C(BOOST_PP_BOOL(p(206, s)), p, o, s)
-# define BOOST_PP_WHILE_206(p, o, s) BOOST_PP_WHILE_206_C(BOOST_PP_BOOL(p(207, s)), p, o, s)
-# define BOOST_PP_WHILE_207(p, o, s) BOOST_PP_WHILE_207_C(BOOST_PP_BOOL(p(208, s)), p, o, s)
-# define BOOST_PP_WHILE_208(p, o, s) BOOST_PP_WHILE_208_C(BOOST_PP_BOOL(p(209, s)), p, o, s)
-# define BOOST_PP_WHILE_209(p, o, s) BOOST_PP_WHILE_209_C(BOOST_PP_BOOL(p(210, s)), p, o, s)
-# define BOOST_PP_WHILE_210(p, o, s) BOOST_PP_WHILE_210_C(BOOST_PP_BOOL(p(211, s)), p, o, s)
-# define BOOST_PP_WHILE_211(p, o, s) BOOST_PP_WHILE_211_C(BOOST_PP_BOOL(p(212, s)), p, o, s)
-# define BOOST_PP_WHILE_212(p, o, s) BOOST_PP_WHILE_212_C(BOOST_PP_BOOL(p(213, s)), p, o, s)
-# define BOOST_PP_WHILE_213(p, o, s) BOOST_PP_WHILE_213_C(BOOST_PP_BOOL(p(214, s)), p, o, s)
-# define BOOST_PP_WHILE_214(p, o, s) BOOST_PP_WHILE_214_C(BOOST_PP_BOOL(p(215, s)), p, o, s)
-# define BOOST_PP_WHILE_215(p, o, s) BOOST_PP_WHILE_215_C(BOOST_PP_BOOL(p(216, s)), p, o, s)
-# define BOOST_PP_WHILE_216(p, o, s) BOOST_PP_WHILE_216_C(BOOST_PP_BOOL(p(217, s)), p, o, s)
-# define BOOST_PP_WHILE_217(p, o, s) BOOST_PP_WHILE_217_C(BOOST_PP_BOOL(p(218, s)), p, o, s)
-# define BOOST_PP_WHILE_218(p, o, s) BOOST_PP_WHILE_218_C(BOOST_PP_BOOL(p(219, s)), p, o, s)
-# define BOOST_PP_WHILE_219(p, o, s) BOOST_PP_WHILE_219_C(BOOST_PP_BOOL(p(220, s)), p, o, s)
-# define BOOST_PP_WHILE_220(p, o, s) BOOST_PP_WHILE_220_C(BOOST_PP_BOOL(p(221, s)), p, o, s)
-# define BOOST_PP_WHILE_221(p, o, s) BOOST_PP_WHILE_221_C(BOOST_PP_BOOL(p(222, s)), p, o, s)
-# define BOOST_PP_WHILE_222(p, o, s) BOOST_PP_WHILE_222_C(BOOST_PP_BOOL(p(223, s)), p, o, s)
-# define BOOST_PP_WHILE_223(p, o, s) BOOST_PP_WHILE_223_C(BOOST_PP_BOOL(p(224, s)), p, o, s)
-# define BOOST_PP_WHILE_224(p, o, s) BOOST_PP_WHILE_224_C(BOOST_PP_BOOL(p(225, s)), p, o, s)
-# define BOOST_PP_WHILE_225(p, o, s) BOOST_PP_WHILE_225_C(BOOST_PP_BOOL(p(226, s)), p, o, s)
-# define BOOST_PP_WHILE_226(p, o, s) BOOST_PP_WHILE_226_C(BOOST_PP_BOOL(p(227, s)), p, o, s)
-# define BOOST_PP_WHILE_227(p, o, s) BOOST_PP_WHILE_227_C(BOOST_PP_BOOL(p(228, s)), p, o, s)
-# define BOOST_PP_WHILE_228(p, o, s) BOOST_PP_WHILE_228_C(BOOST_PP_BOOL(p(229, s)), p, o, s)
-# define BOOST_PP_WHILE_229(p, o, s) BOOST_PP_WHILE_229_C(BOOST_PP_BOOL(p(230, s)), p, o, s)
-# define BOOST_PP_WHILE_230(p, o, s) BOOST_PP_WHILE_230_C(BOOST_PP_BOOL(p(231, s)), p, o, s)
-# define BOOST_PP_WHILE_231(p, o, s) BOOST_PP_WHILE_231_C(BOOST_PP_BOOL(p(232, s)), p, o, s)
-# define BOOST_PP_WHILE_232(p, o, s) BOOST_PP_WHILE_232_C(BOOST_PP_BOOL(p(233, s)), p, o, s)
-# define BOOST_PP_WHILE_233(p, o, s) BOOST_PP_WHILE_233_C(BOOST_PP_BOOL(p(234, s)), p, o, s)
-# define BOOST_PP_WHILE_234(p, o, s) BOOST_PP_WHILE_234_C(BOOST_PP_BOOL(p(235, s)), p, o, s)
-# define BOOST_PP_WHILE_235(p, o, s) BOOST_PP_WHILE_235_C(BOOST_PP_BOOL(p(236, s)), p, o, s)
-# define BOOST_PP_WHILE_236(p, o, s) BOOST_PP_WHILE_236_C(BOOST_PP_BOOL(p(237, s)), p, o, s)
-# define BOOST_PP_WHILE_237(p, o, s) BOOST_PP_WHILE_237_C(BOOST_PP_BOOL(p(238, s)), p, o, s)
-# define BOOST_PP_WHILE_238(p, o, s) BOOST_PP_WHILE_238_C(BOOST_PP_BOOL(p(239, s)), p, o, s)
-# define BOOST_PP_WHILE_239(p, o, s) BOOST_PP_WHILE_239_C(BOOST_PP_BOOL(p(240, s)), p, o, s)
-# define BOOST_PP_WHILE_240(p, o, s) BOOST_PP_WHILE_240_C(BOOST_PP_BOOL(p(241, s)), p, o, s)
-# define BOOST_PP_WHILE_241(p, o, s) BOOST_PP_WHILE_241_C(BOOST_PP_BOOL(p(242, s)), p, o, s)
-# define BOOST_PP_WHILE_242(p, o, s) BOOST_PP_WHILE_242_C(BOOST_PP_BOOL(p(243, s)), p, o, s)
-# define BOOST_PP_WHILE_243(p, o, s) BOOST_PP_WHILE_243_C(BOOST_PP_BOOL(p(244, s)), p, o, s)
-# define BOOST_PP_WHILE_244(p, o, s) BOOST_PP_WHILE_244_C(BOOST_PP_BOOL(p(245, s)), p, o, s)
-# define BOOST_PP_WHILE_245(p, o, s) BOOST_PP_WHILE_245_C(BOOST_PP_BOOL(p(246, s)), p, o, s)
-# define BOOST_PP_WHILE_246(p, o, s) BOOST_PP_WHILE_246_C(BOOST_PP_BOOL(p(247, s)), p, o, s)
-# define BOOST_PP_WHILE_247(p, o, s) BOOST_PP_WHILE_247_C(BOOST_PP_BOOL(p(248, s)), p, o, s)
-# define BOOST_PP_WHILE_248(p, o, s) BOOST_PP_WHILE_248_C(BOOST_PP_BOOL(p(249, s)), p, o, s)
-# define BOOST_PP_WHILE_249(p, o, s) BOOST_PP_WHILE_249_C(BOOST_PP_BOOL(p(250, s)), p, o, s)
-# define BOOST_PP_WHILE_250(p, o, s) BOOST_PP_WHILE_250_C(BOOST_PP_BOOL(p(251, s)), p, o, s)
-# define BOOST_PP_WHILE_251(p, o, s) BOOST_PP_WHILE_251_C(BOOST_PP_BOOL(p(252, s)), p, o, s)
-# define BOOST_PP_WHILE_252(p, o, s) BOOST_PP_WHILE_252_C(BOOST_PP_BOOL(p(253, s)), p, o, s)
-# define BOOST_PP_WHILE_253(p, o, s) BOOST_PP_WHILE_253_C(BOOST_PP_BOOL(p(254, s)), p, o, s)
-# define BOOST_PP_WHILE_254(p, o, s) BOOST_PP_WHILE_254_C(BOOST_PP_BOOL(p(255, s)), p, o, s)
-# define BOOST_PP_WHILE_255(p, o, s) BOOST_PP_WHILE_255_C(BOOST_PP_BOOL(p(256, s)), p, o, s)
-# define BOOST_PP_WHILE_256(p, o, s) BOOST_PP_WHILE_256_C(BOOST_PP_BOOL(p(257, s)), p, o, s)
-#
-# define BOOST_PP_WHILE_1_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_2, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(2, s))
-# define BOOST_PP_WHILE_2_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_3, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(3, s))
-# define BOOST_PP_WHILE_3_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_4, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(4, s))
-# define BOOST_PP_WHILE_4_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_5, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(5, s))
-# define BOOST_PP_WHILE_5_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_6, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(6, s))
-# define BOOST_PP_WHILE_6_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_7, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(7, s))
-# define BOOST_PP_WHILE_7_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_8, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(8, s))
-# define BOOST_PP_WHILE_8_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_9, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(9, s))
-# define BOOST_PP_WHILE_9_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_10, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(10, s))
-# define BOOST_PP_WHILE_10_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_11, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(11, s))
-# define BOOST_PP_WHILE_11_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_12, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(12, s))
-# define BOOST_PP_WHILE_12_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_13, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(13, s))
-# define BOOST_PP_WHILE_13_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_14, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(14, s))
-# define BOOST_PP_WHILE_14_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_15, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(15, s))
-# define BOOST_PP_WHILE_15_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_16, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(16, s))
-# define BOOST_PP_WHILE_16_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_17, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(17, s))
-# define BOOST_PP_WHILE_17_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_18, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(18, s))
-# define BOOST_PP_WHILE_18_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_19, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(19, s))
-# define BOOST_PP_WHILE_19_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_20, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(20, s))
-# define BOOST_PP_WHILE_20_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_21, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(21, s))
-# define BOOST_PP_WHILE_21_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_22, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(22, s))
-# define BOOST_PP_WHILE_22_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_23, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(23, s))
-# define BOOST_PP_WHILE_23_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_24, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(24, s))
-# define BOOST_PP_WHILE_24_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_25, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(25, s))
-# define BOOST_PP_WHILE_25_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_26, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(26, s))
-# define BOOST_PP_WHILE_26_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_27, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(27, s))
-# define BOOST_PP_WHILE_27_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_28, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(28, s))
-# define BOOST_PP_WHILE_28_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_29, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(29, s))
-# define BOOST_PP_WHILE_29_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_30, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(30, s))
-# define BOOST_PP_WHILE_30_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_31, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(31, s))
-# define BOOST_PP_WHILE_31_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_32, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(32, s))
-# define BOOST_PP_WHILE_32_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_33, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(33, s))
-# define BOOST_PP_WHILE_33_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_34, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(34, s))
-# define BOOST_PP_WHILE_34_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_35, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(35, s))
-# define BOOST_PP_WHILE_35_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_36, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(36, s))
-# define BOOST_PP_WHILE_36_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_37, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(37, s))
-# define BOOST_PP_WHILE_37_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_38, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(38, s))
-# define BOOST_PP_WHILE_38_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_39, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(39, s))
-# define BOOST_PP_WHILE_39_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_40, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(40, s))
-# define BOOST_PP_WHILE_40_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_41, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(41, s))
-# define BOOST_PP_WHILE_41_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_42, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(42, s))
-# define BOOST_PP_WHILE_42_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_43, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(43, s))
-# define BOOST_PP_WHILE_43_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_44, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(44, s))
-# define BOOST_PP_WHILE_44_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_45, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(45, s))
-# define BOOST_PP_WHILE_45_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_46, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(46, s))
-# define BOOST_PP_WHILE_46_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_47, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(47, s))
-# define BOOST_PP_WHILE_47_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_48, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(48, s))
-# define BOOST_PP_WHILE_48_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_49, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(49, s))
-# define BOOST_PP_WHILE_49_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_50, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(50, s))
-# define BOOST_PP_WHILE_50_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_51, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(51, s))
-# define BOOST_PP_WHILE_51_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_52, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(52, s))
-# define BOOST_PP_WHILE_52_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_53, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(53, s))
-# define BOOST_PP_WHILE_53_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_54, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(54, s))
-# define BOOST_PP_WHILE_54_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_55, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(55, s))
-# define BOOST_PP_WHILE_55_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_56, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(56, s))
-# define BOOST_PP_WHILE_56_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_57, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(57, s))
-# define BOOST_PP_WHILE_57_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_58, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(58, s))
-# define BOOST_PP_WHILE_58_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_59, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(59, s))
-# define BOOST_PP_WHILE_59_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_60, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(60, s))
-# define BOOST_PP_WHILE_60_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_61, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(61, s))
-# define BOOST_PP_WHILE_61_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_62, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(62, s))
-# define BOOST_PP_WHILE_62_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_63, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(63, s))
-# define BOOST_PP_WHILE_63_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_64, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(64, s))
-# define BOOST_PP_WHILE_64_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_65, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(65, s))
-# define BOOST_PP_WHILE_65_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_66, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(66, s))
-# define BOOST_PP_WHILE_66_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_67, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(67, s))
-# define BOOST_PP_WHILE_67_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_68, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(68, s))
-# define BOOST_PP_WHILE_68_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_69, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(69, s))
-# define BOOST_PP_WHILE_69_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_70, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(70, s))
-# define BOOST_PP_WHILE_70_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_71, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(71, s))
-# define BOOST_PP_WHILE_71_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_72, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(72, s))
-# define BOOST_PP_WHILE_72_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_73, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(73, s))
-# define BOOST_PP_WHILE_73_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_74, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(74, s))
-# define BOOST_PP_WHILE_74_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_75, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(75, s))
-# define BOOST_PP_WHILE_75_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_76, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(76, s))
-# define BOOST_PP_WHILE_76_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_77, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(77, s))
-# define BOOST_PP_WHILE_77_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_78, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(78, s))
-# define BOOST_PP_WHILE_78_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_79, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(79, s))
-# define BOOST_PP_WHILE_79_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_80, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(80, s))
-# define BOOST_PP_WHILE_80_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_81, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(81, s))
-# define BOOST_PP_WHILE_81_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_82, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(82, s))
-# define BOOST_PP_WHILE_82_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_83, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(83, s))
-# define BOOST_PP_WHILE_83_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_84, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(84, s))
-# define BOOST_PP_WHILE_84_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_85, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(85, s))
-# define BOOST_PP_WHILE_85_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_86, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(86, s))
-# define BOOST_PP_WHILE_86_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_87, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(87, s))
-# define BOOST_PP_WHILE_87_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_88, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(88, s))
-# define BOOST_PP_WHILE_88_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_89, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(89, s))
-# define BOOST_PP_WHILE_89_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_90, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(90, s))
-# define BOOST_PP_WHILE_90_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_91, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(91, s))
-# define BOOST_PP_WHILE_91_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_92, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(92, s))
-# define BOOST_PP_WHILE_92_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_93, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(93, s))
-# define BOOST_PP_WHILE_93_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_94, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(94, s))
-# define BOOST_PP_WHILE_94_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_95, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(95, s))
-# define BOOST_PP_WHILE_95_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_96, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(96, s))
-# define BOOST_PP_WHILE_96_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_97, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(97, s))
-# define BOOST_PP_WHILE_97_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_98, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(98, s))
-# define BOOST_PP_WHILE_98_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_99, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(99, s))
-# define BOOST_PP_WHILE_99_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_100, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(100, s))
-# define BOOST_PP_WHILE_100_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_101, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(101, s))
-# define BOOST_PP_WHILE_101_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_102, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(102, s))
-# define BOOST_PP_WHILE_102_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_103, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(103, s))
-# define BOOST_PP_WHILE_103_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_104, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(104, s))
-# define BOOST_PP_WHILE_104_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_105, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(105, s))
-# define BOOST_PP_WHILE_105_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_106, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(106, s))
-# define BOOST_PP_WHILE_106_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_107, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(107, s))
-# define BOOST_PP_WHILE_107_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_108, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(108, s))
-# define BOOST_PP_WHILE_108_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_109, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(109, s))
-# define BOOST_PP_WHILE_109_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_110, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(110, s))
-# define BOOST_PP_WHILE_110_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_111, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(111, s))
-# define BOOST_PP_WHILE_111_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_112, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(112, s))
-# define BOOST_PP_WHILE_112_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_113, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(113, s))
-# define BOOST_PP_WHILE_113_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_114, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(114, s))
-# define BOOST_PP_WHILE_114_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_115, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(115, s))
-# define BOOST_PP_WHILE_115_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_116, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(116, s))
-# define BOOST_PP_WHILE_116_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_117, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(117, s))
-# define BOOST_PP_WHILE_117_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_118, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(118, s))
-# define BOOST_PP_WHILE_118_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_119, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(119, s))
-# define BOOST_PP_WHILE_119_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_120, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(120, s))
-# define BOOST_PP_WHILE_120_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_121, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(121, s))
-# define BOOST_PP_WHILE_121_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_122, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(122, s))
-# define BOOST_PP_WHILE_122_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_123, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(123, s))
-# define BOOST_PP_WHILE_123_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_124, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(124, s))
-# define BOOST_PP_WHILE_124_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_125, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(125, s))
-# define BOOST_PP_WHILE_125_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_126, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(126, s))
-# define BOOST_PP_WHILE_126_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_127, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(127, s))
-# define BOOST_PP_WHILE_127_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_128, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(128, s))
-# define BOOST_PP_WHILE_128_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_129, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(129, s))
-# define BOOST_PP_WHILE_129_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_130, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(130, s))
-# define BOOST_PP_WHILE_130_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_131, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(131, s))
-# define BOOST_PP_WHILE_131_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_132, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(132, s))
-# define BOOST_PP_WHILE_132_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_133, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(133, s))
-# define BOOST_PP_WHILE_133_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_134, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(134, s))
-# define BOOST_PP_WHILE_134_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_135, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(135, s))
-# define BOOST_PP_WHILE_135_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_136, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(136, s))
-# define BOOST_PP_WHILE_136_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_137, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(137, s))
-# define BOOST_PP_WHILE_137_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_138, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(138, s))
-# define BOOST_PP_WHILE_138_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_139, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(139, s))
-# define BOOST_PP_WHILE_139_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_140, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(140, s))
-# define BOOST_PP_WHILE_140_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_141, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(141, s))
-# define BOOST_PP_WHILE_141_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_142, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(142, s))
-# define BOOST_PP_WHILE_142_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_143, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(143, s))
-# define BOOST_PP_WHILE_143_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_144, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(144, s))
-# define BOOST_PP_WHILE_144_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_145, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(145, s))
-# define BOOST_PP_WHILE_145_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_146, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(146, s))
-# define BOOST_PP_WHILE_146_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_147, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(147, s))
-# define BOOST_PP_WHILE_147_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_148, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(148, s))
-# define BOOST_PP_WHILE_148_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_149, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(149, s))
-# define BOOST_PP_WHILE_149_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_150, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(150, s))
-# define BOOST_PP_WHILE_150_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_151, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(151, s))
-# define BOOST_PP_WHILE_151_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_152, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(152, s))
-# define BOOST_PP_WHILE_152_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_153, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(153, s))
-# define BOOST_PP_WHILE_153_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_154, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(154, s))
-# define BOOST_PP_WHILE_154_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_155, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(155, s))
-# define BOOST_PP_WHILE_155_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_156, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(156, s))
-# define BOOST_PP_WHILE_156_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_157, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(157, s))
-# define BOOST_PP_WHILE_157_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_158, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(158, s))
-# define BOOST_PP_WHILE_158_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_159, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(159, s))
-# define BOOST_PP_WHILE_159_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_160, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(160, s))
-# define BOOST_PP_WHILE_160_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_161, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(161, s))
-# define BOOST_PP_WHILE_161_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_162, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(162, s))
-# define BOOST_PP_WHILE_162_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_163, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(163, s))
-# define BOOST_PP_WHILE_163_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_164, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(164, s))
-# define BOOST_PP_WHILE_164_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_165, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(165, s))
-# define BOOST_PP_WHILE_165_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_166, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(166, s))
-# define BOOST_PP_WHILE_166_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_167, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(167, s))
-# define BOOST_PP_WHILE_167_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_168, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(168, s))
-# define BOOST_PP_WHILE_168_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_169, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(169, s))
-# define BOOST_PP_WHILE_169_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_170, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(170, s))
-# define BOOST_PP_WHILE_170_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_171, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(171, s))
-# define BOOST_PP_WHILE_171_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_172, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(172, s))
-# define BOOST_PP_WHILE_172_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_173, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(173, s))
-# define BOOST_PP_WHILE_173_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_174, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(174, s))
-# define BOOST_PP_WHILE_174_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_175, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(175, s))
-# define BOOST_PP_WHILE_175_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_176, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(176, s))
-# define BOOST_PP_WHILE_176_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_177, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(177, s))
-# define BOOST_PP_WHILE_177_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_178, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(178, s))
-# define BOOST_PP_WHILE_178_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_179, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(179, s))
-# define BOOST_PP_WHILE_179_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_180, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(180, s))
-# define BOOST_PP_WHILE_180_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_181, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(181, s))
-# define BOOST_PP_WHILE_181_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_182, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(182, s))
-# define BOOST_PP_WHILE_182_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_183, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(183, s))
-# define BOOST_PP_WHILE_183_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_184, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(184, s))
-# define BOOST_PP_WHILE_184_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_185, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(185, s))
-# define BOOST_PP_WHILE_185_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_186, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(186, s))
-# define BOOST_PP_WHILE_186_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_187, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(187, s))
-# define BOOST_PP_WHILE_187_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_188, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(188, s))
-# define BOOST_PP_WHILE_188_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_189, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(189, s))
-# define BOOST_PP_WHILE_189_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_190, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(190, s))
-# define BOOST_PP_WHILE_190_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_191, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(191, s))
-# define BOOST_PP_WHILE_191_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_192, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(192, s))
-# define BOOST_PP_WHILE_192_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_193, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(193, s))
-# define BOOST_PP_WHILE_193_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_194, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(194, s))
-# define BOOST_PP_WHILE_194_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_195, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(195, s))
-# define BOOST_PP_WHILE_195_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_196, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(196, s))
-# define BOOST_PP_WHILE_196_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_197, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(197, s))
-# define BOOST_PP_WHILE_197_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_198, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(198, s))
-# define BOOST_PP_WHILE_198_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_199, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(199, s))
-# define BOOST_PP_WHILE_199_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_200, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(200, s))
-# define BOOST_PP_WHILE_200_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_201, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(201, s))
-# define BOOST_PP_WHILE_201_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_202, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(202, s))
-# define BOOST_PP_WHILE_202_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_203, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(203, s))
-# define BOOST_PP_WHILE_203_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_204, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(204, s))
-# define BOOST_PP_WHILE_204_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_205, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(205, s))
-# define BOOST_PP_WHILE_205_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_206, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(206, s))
-# define BOOST_PP_WHILE_206_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_207, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(207, s))
-# define BOOST_PP_WHILE_207_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_208, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(208, s))
-# define BOOST_PP_WHILE_208_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_209, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(209, s))
-# define BOOST_PP_WHILE_209_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_210, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(210, s))
-# define BOOST_PP_WHILE_210_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_211, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(211, s))
-# define BOOST_PP_WHILE_211_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_212, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(212, s))
-# define BOOST_PP_WHILE_212_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_213, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(213, s))
-# define BOOST_PP_WHILE_213_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_214, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(214, s))
-# define BOOST_PP_WHILE_214_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_215, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(215, s))
-# define BOOST_PP_WHILE_215_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_216, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(216, s))
-# define BOOST_PP_WHILE_216_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_217, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(217, s))
-# define BOOST_PP_WHILE_217_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_218, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(218, s))
-# define BOOST_PP_WHILE_218_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_219, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(219, s))
-# define BOOST_PP_WHILE_219_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_220, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(220, s))
-# define BOOST_PP_WHILE_220_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_221, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(221, s))
-# define BOOST_PP_WHILE_221_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_222, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(222, s))
-# define BOOST_PP_WHILE_222_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_223, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(223, s))
-# define BOOST_PP_WHILE_223_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_224, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(224, s))
-# define BOOST_PP_WHILE_224_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_225, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(225, s))
-# define BOOST_PP_WHILE_225_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_226, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(226, s))
-# define BOOST_PP_WHILE_226_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_227, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(227, s))
-# define BOOST_PP_WHILE_227_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_228, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(228, s))
-# define BOOST_PP_WHILE_228_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_229, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(229, s))
-# define BOOST_PP_WHILE_229_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_230, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(230, s))
-# define BOOST_PP_WHILE_230_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_231, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(231, s))
-# define BOOST_PP_WHILE_231_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_232, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(232, s))
-# define BOOST_PP_WHILE_232_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_233, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(233, s))
-# define BOOST_PP_WHILE_233_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_234, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(234, s))
-# define BOOST_PP_WHILE_234_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_235, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(235, s))
-# define BOOST_PP_WHILE_235_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_236, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(236, s))
-# define BOOST_PP_WHILE_236_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_237, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(237, s))
-# define BOOST_PP_WHILE_237_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_238, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(238, s))
-# define BOOST_PP_WHILE_238_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_239, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(239, s))
-# define BOOST_PP_WHILE_239_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_240, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(240, s))
-# define BOOST_PP_WHILE_240_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_241, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(241, s))
-# define BOOST_PP_WHILE_241_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_242, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(242, s))
-# define BOOST_PP_WHILE_242_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_243, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(243, s))
-# define BOOST_PP_WHILE_243_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_244, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(244, s))
-# define BOOST_PP_WHILE_244_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_245, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(245, s))
-# define BOOST_PP_WHILE_245_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_246, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(246, s))
-# define BOOST_PP_WHILE_246_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_247, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(247, s))
-# define BOOST_PP_WHILE_247_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_248, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(248, s))
-# define BOOST_PP_WHILE_248_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_249, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(249, s))
-# define BOOST_PP_WHILE_249_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_250, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(250, s))
-# define BOOST_PP_WHILE_250_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_251, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(251, s))
-# define BOOST_PP_WHILE_251_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_252, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(252, s))
-# define BOOST_PP_WHILE_252_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_253, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(253, s))
-# define BOOST_PP_WHILE_253_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_254, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(254, s))
-# define BOOST_PP_WHILE_254_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_255, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(255, s))
-# define BOOST_PP_WHILE_255_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_256, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(256, s))
-# define BOOST_PP_WHILE_256_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_257, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(257, s))
-#
-#
-# endif
diff --git a/boost/preprocessor/control/expr_if.hpp b/boost/preprocessor/control/expr_if.hpp
deleted file mode 100644
index 0e1ab51..0000000
--- a/boost/preprocessor/control/expr_if.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_CONTROL_EXPR_IF_HPP
-# define BOOST_PREPROCESSOR_CONTROL_EXPR_IF_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/control/expr_iif.hpp>
-# include <boost/preprocessor/logical/bool.hpp>
-#
-# /* BOOST_PP_EXPR_IF */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_EXPR_IF(cond, expr) BOOST_PP_EXPR_IIF(BOOST_PP_BOOL(cond), expr)
-# else
-# define BOOST_PP_EXPR_IF(cond, expr) BOOST_PP_EXPR_IF_I(cond, expr)
-# define BOOST_PP_EXPR_IF_I(cond, expr) BOOST_PP_EXPR_IIF(BOOST_PP_BOOL(cond), expr)
-# endif
-#
-# endif
diff --git a/boost/preprocessor/control/expr_iif.hpp b/boost/preprocessor/control/expr_iif.hpp
deleted file mode 100644
index 58f45a4..0000000
--- a/boost/preprocessor/control/expr_iif.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_CONTROL_EXPR_IIF_HPP
-# define BOOST_PREPROCESSOR_CONTROL_EXPR_IIF_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# /* BOOST_PP_EXPR_IIF */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-# define BOOST_PP_EXPR_IIF(bit, expr) BOOST_PP_EXPR_IIF_I(bit, expr)
-# else
-# define BOOST_PP_EXPR_IIF(bit, expr) BOOST_PP_EXPR_IIF_OO((bit, expr))
-# define BOOST_PP_EXPR_IIF_OO(par) BOOST_PP_EXPR_IIF_I ## par
-# endif
-#
-# define BOOST_PP_EXPR_IIF_I(bit, expr) BOOST_PP_EXPR_IIF_ ## bit(expr)
-#
-# define BOOST_PP_EXPR_IIF_0(expr)
-# define BOOST_PP_EXPR_IIF_1(expr) expr
-#
-# endif
diff --git a/boost/preprocessor/control/if.hpp b/boost/preprocessor/control/if.hpp
deleted file mode 100644
index 52cfc3d..0000000
--- a/boost/preprocessor/control/if.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_CONTROL_IF_HPP
-# define BOOST_PREPROCESSOR_CONTROL_IF_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/control/iif.hpp>
-# include <boost/preprocessor/logical/bool.hpp>
-#
-# /* BOOST_PP_IF */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_IF(cond, t, f) BOOST_PP_IIF(BOOST_PP_BOOL(cond), t, f)
-# else
-# define BOOST_PP_IF(cond, t, f) BOOST_PP_IF_I(cond, t, f)
-# define BOOST_PP_IF_I(cond, t, f) BOOST_PP_IIF(BOOST_PP_BOOL(cond), t, f)
-# endif
-#
-# endif
diff --git a/boost/preprocessor/control/iif.hpp b/boost/preprocessor/control/iif.hpp
deleted file mode 100644
index fd07817..0000000
--- a/boost/preprocessor/control/iif.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_CONTROL_IIF_HPP
-# define BOOST_PREPROCESSOR_CONTROL_IIF_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-# define BOOST_PP_IIF(bit, t, f) BOOST_PP_IIF_I(bit, t, f)
-# else
-# define BOOST_PP_IIF(bit, t, f) BOOST_PP_IIF_OO((bit, t, f))
-# define BOOST_PP_IIF_OO(par) BOOST_PP_IIF_I ## par
-# endif
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-# define BOOST_PP_IIF_I(bit, t, f) BOOST_PP_IIF_ ## bit(t, f)
-# else
-# define BOOST_PP_IIF_I(bit, t, f) BOOST_PP_IIF_II(BOOST_PP_IIF_ ## bit(t, f))
-# define BOOST_PP_IIF_II(id) id
-# endif
-#
-# define BOOST_PP_IIF_0(t, f) f
-# define BOOST_PP_IIF_1(t, f) t
-#
-# endif
diff --git a/boost/preprocessor/control/while.hpp b/boost/preprocessor/control/while.hpp
deleted file mode 100644
index e8a65ff..0000000
--- a/boost/preprocessor/control/while.hpp
+++ /dev/null
@@ -1,312 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_CONTROL_WHILE_HPP
-# define BOOST_PREPROCESSOR_CONTROL_WHILE_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/debug/error.hpp>
-# include <boost/preprocessor/detail/auto_rec.hpp>
-# include <boost/preprocessor/list/fold_left.hpp>
-# include <boost/preprocessor/list/fold_right.hpp>
-# include <boost/preprocessor/logical/bitand.hpp>
-#
-# /* BOOST_PP_WHILE */
-#
-# if 0
-# define BOOST_PP_WHILE(pred, op, state)
-# endif
-#
-# define BOOST_PP_WHILE BOOST_PP_CAT(BOOST_PP_WHILE_, BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256))
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_WHILE_P(n) BOOST_PP_BITAND(BOOST_PP_CAT(BOOST_PP_WHILE_CHECK_, BOOST_PP_WHILE_ ## n(BOOST_PP_WHILE_F, BOOST_PP_NIL, BOOST_PP_NIL)), BOOST_PP_BITAND(BOOST_PP_CAT(BOOST_PP_LIST_FOLD_LEFT_CHECK_, BOOST_PP_LIST_FOLD_LEFT_ ## n(BOOST_PP_NIL, BOOST_PP_NIL, BOOST_PP_NIL)), BOOST_PP_CAT(BOOST_PP_LIST_FOLD_RIGHT_CHECK_, BOOST_PP_LIST_FOLD_RIGHT_ ## n(BOOST_PP_NIL, BOOST_PP_NIL, BOOST_PP_NIL))))
-# else
-# define BOOST_PP_WHILE_P(n) BOOST_PP_BITAND(BOOST_PP_CAT(BOOST_PP_WHILE_CHECK_, BOOST_PP_WHILE_ ## n(BOOST_PP_WHILE_F, BOOST_PP_NIL, BOOST_PP_NIL)), BOOST_PP_CAT(BOOST_PP_LIST_FOLD_LEFT_CHECK_, BOOST_PP_LIST_FOLD_LEFT_ ## n(BOOST_PP_NIL, BOOST_PP_NIL, BOOST_PP_NIL)))
-# endif
-#
-# define BOOST_PP_WHILE_F(d, _) 0
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# include <boost/preprocessor/control/detail/edg/while.hpp>
-# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-# include <boost/preprocessor/control/detail/msvc/while.hpp>
-# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC()
-# include <boost/preprocessor/control/detail/dmc/while.hpp>
-# else
-# include <boost/preprocessor/control/detail/while.hpp>
-# endif
-#
-# define BOOST_PP_WHILE_257(p, o, s) BOOST_PP_ERROR(0x0001)
-#
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_NIL 1
-#
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_2(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_3(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_4(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_5(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_6(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_7(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_8(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_9(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_10(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_11(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_12(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_13(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_14(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_15(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_16(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_17(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_18(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_19(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_20(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_21(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_22(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_23(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_24(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_25(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_26(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_27(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_28(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_29(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_30(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_31(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_32(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_33(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_34(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_35(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_36(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_37(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_38(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_39(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_40(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_41(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_42(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_43(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_44(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_45(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_46(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_47(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_48(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_49(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_50(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_51(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_52(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_53(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_54(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_55(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_56(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_57(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_58(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_59(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_60(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_61(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_62(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_63(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_64(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_65(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_66(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_67(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_68(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_69(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_70(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_71(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_72(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_73(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_74(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_75(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_76(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_77(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_78(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_79(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_80(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_81(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_82(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_83(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_84(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_85(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_86(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_87(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_88(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_89(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_90(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_91(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_92(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_93(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_94(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_95(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_96(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_97(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_98(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_99(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_100(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_101(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_102(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_103(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_104(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_105(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_106(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_107(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_108(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_109(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_110(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_111(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_112(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_113(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_114(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_115(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_116(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_117(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_118(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_119(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_120(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_121(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_122(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_123(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_124(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_125(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_126(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_127(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_128(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_129(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_130(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_131(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_132(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_133(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_134(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_135(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_136(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_137(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_138(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_139(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_140(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_141(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_142(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_143(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_144(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_145(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_146(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_147(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_148(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_149(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_150(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_151(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_152(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_153(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_154(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_155(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_156(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_157(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_158(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_159(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_160(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_161(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_162(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_163(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_164(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_165(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_166(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_167(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_168(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_169(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_170(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_171(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_172(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_173(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_174(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_175(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_176(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_177(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_178(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_179(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_180(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_181(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_182(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_183(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_184(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_185(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_186(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_187(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_188(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_189(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_190(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_191(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_192(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_193(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_194(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_195(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_196(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_197(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_198(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_199(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_200(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_201(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_202(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_203(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_204(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_205(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_206(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_207(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_208(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_209(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_210(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_211(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_212(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_213(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_214(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_215(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_216(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_217(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_218(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_219(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_220(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_221(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_222(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_223(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_224(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_225(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_226(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_227(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_228(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_229(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_230(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_231(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_232(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_233(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_234(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_235(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_236(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_237(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_238(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_239(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_240(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_241(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_242(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_243(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_244(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_245(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_246(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_247(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_248(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_249(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_250(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_251(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_252(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_253(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_254(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_255(p, o, s) 0
-# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_256(p, o, s) 0
-#
-# endif
diff --git a/boost/preprocessor/debug/error.hpp b/boost/preprocessor/debug/error.hpp
deleted file mode 100644
index c8ae5e7..0000000
--- a/boost/preprocessor/debug/error.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_DEBUG_ERROR_HPP
-# define BOOST_PREPROCESSOR_DEBUG_ERROR_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-#
-# /* BOOST_PP_ERROR */
-#
-# if BOOST_PP_CONFIG_ERRORS
-# define BOOST_PP_ERROR(code) BOOST_PP_CAT(BOOST_PP_ERROR_, code)
-# endif
-#
-# define BOOST_PP_ERROR_0x0000 BOOST_PP_ERROR(0x0000, BOOST_PP_INDEX_OUT_OF_BOUNDS)
-# define BOOST_PP_ERROR_0x0001 BOOST_PP_ERROR(0x0001, BOOST_PP_WHILE_OVERFLOW)
-# define BOOST_PP_ERROR_0x0002 BOOST_PP_ERROR(0x0002, BOOST_PP_FOR_OVERFLOW)
-# define BOOST_PP_ERROR_0x0003 BOOST_PP_ERROR(0x0003, BOOST_PP_REPEAT_OVERFLOW)
-# define BOOST_PP_ERROR_0x0004 BOOST_PP_ERROR(0x0004, BOOST_PP_LIST_FOLD_OVERFLOW)
-# define BOOST_PP_ERROR_0x0005 BOOST_PP_ERROR(0x0005, BOOST_PP_SEQ_FOLD_OVERFLOW)
-# define BOOST_PP_ERROR_0x0006 BOOST_PP_ERROR(0x0006, BOOST_PP_ARITHMETIC_OVERFLOW)
-# define BOOST_PP_ERROR_0x0007 BOOST_PP_ERROR(0x0007, BOOST_PP_DIVISION_BY_ZERO)
-#
-# endif
diff --git a/boost/preprocessor/dec.hpp b/boost/preprocessor/dec.hpp
deleted file mode 100644
index d572064..0000000
--- a/boost/preprocessor/dec.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_DEC_HPP
-# define BOOST_PREPROCESSOR_DEC_HPP
-#
-# include <boost/preprocessor/arithmetic/dec.hpp>
-#
-# endif
diff --git a/boost/preprocessor/detail/auto_rec.hpp b/boost/preprocessor/detail/auto_rec.hpp
deleted file mode 100644
index 39de1d0..0000000
--- a/boost/preprocessor/detail/auto_rec.hpp
+++ /dev/null
@@ -1,293 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC()
-# include <boost/preprocessor/detail/dmc/auto_rec.hpp>
-# else
-#
-# ifndef BOOST_PREPROCESSOR_DETAIL_AUTO_REC_HPP
-# define BOOST_PREPROCESSOR_DETAIL_AUTO_REC_HPP
-#
-# include <boost/preprocessor/control/iif.hpp>
-#
-# /* BOOST_PP_AUTO_REC */
-#
-# define BOOST_PP_AUTO_REC(pred, n) BOOST_PP_NODE_ENTRY_ ## n(pred)
-#
-# define BOOST_PP_NODE_ENTRY_256(p) BOOST_PP_NODE_128(p)(p)(p)(p)(p)(p)(p)(p)
-# define BOOST_PP_NODE_ENTRY_128(p) BOOST_PP_NODE_64(p)(p)(p)(p)(p)(p)(p)
-# define BOOST_PP_NODE_ENTRY_64(p) BOOST_PP_NODE_32(p)(p)(p)(p)(p)(p)
-# define BOOST_PP_NODE_ENTRY_32(p) BOOST_PP_NODE_16(p)(p)(p)(p)(p)
-# define BOOST_PP_NODE_ENTRY_16(p) BOOST_PP_NODE_8(p)(p)(p)(p)
-# define BOOST_PP_NODE_ENTRY_8(p) BOOST_PP_NODE_4(p)(p)(p)
-# define BOOST_PP_NODE_ENTRY_4(p) BOOST_PP_NODE_2(p)(p)
-# define BOOST_PP_NODE_ENTRY_2(p) BOOST_PP_NODE_1(p)
-#
-# define BOOST_PP_NODE_128(p) BOOST_PP_IIF(p(128), BOOST_PP_NODE_64, BOOST_PP_NODE_192)
-# define BOOST_PP_NODE_64(p) BOOST_PP_IIF(p(64), BOOST_PP_NODE_32, BOOST_PP_NODE_96)
-# define BOOST_PP_NODE_32(p) BOOST_PP_IIF(p(32), BOOST_PP_NODE_16, BOOST_PP_NODE_48)
-# define BOOST_PP_NODE_16(p) BOOST_PP_IIF(p(16), BOOST_PP_NODE_8, BOOST_PP_NODE_24)
-# define BOOST_PP_NODE_8(p) BOOST_PP_IIF(p(8), BOOST_PP_NODE_4, BOOST_PP_NODE_12)
-# define BOOST_PP_NODE_4(p) BOOST_PP_IIF(p(4), BOOST_PP_NODE_2, BOOST_PP_NODE_6)
-# define BOOST_PP_NODE_2(p) BOOST_PP_IIF(p(2), BOOST_PP_NODE_1, BOOST_PP_NODE_3)
-# define BOOST_PP_NODE_1(p) BOOST_PP_IIF(p(1), 1, 2)
-# define BOOST_PP_NODE_3(p) BOOST_PP_IIF(p(3), 3, 4)
-# define BOOST_PP_NODE_6(p) BOOST_PP_IIF(p(6), BOOST_PP_NODE_5, BOOST_PP_NODE_7)
-# define BOOST_PP_NODE_5(p) BOOST_PP_IIF(p(5), 5, 6)
-# define BOOST_PP_NODE_7(p) BOOST_PP_IIF(p(7), 7, 8)
-# define BOOST_PP_NODE_12(p) BOOST_PP_IIF(p(12), BOOST_PP_NODE_10, BOOST_PP_NODE_14)
-# define BOOST_PP_NODE_10(p) BOOST_PP_IIF(p(10), BOOST_PP_NODE_9, BOOST_PP_NODE_11)
-# define BOOST_PP_NODE_9(p) BOOST_PP_IIF(p(9), 9, 10)
-# define BOOST_PP_NODE_11(p) BOOST_PP_IIF(p(11), 11, 12)
-# define BOOST_PP_NODE_14(p) BOOST_PP_IIF(p(14), BOOST_PP_NODE_13, BOOST_PP_NODE_15)
-# define BOOST_PP_NODE_13(p) BOOST_PP_IIF(p(13), 13, 14)
-# define BOOST_PP_NODE_15(p) BOOST_PP_IIF(p(15), 15, 16)
-# define BOOST_PP_NODE_24(p) BOOST_PP_IIF(p(24), BOOST_PP_NODE_20, BOOST_PP_NODE_28)
-# define BOOST_PP_NODE_20(p) BOOST_PP_IIF(p(20), BOOST_PP_NODE_18, BOOST_PP_NODE_22)
-# define BOOST_PP_NODE_18(p) BOOST_PP_IIF(p(18), BOOST_PP_NODE_17, BOOST_PP_NODE_19)
-# define BOOST_PP_NODE_17(p) BOOST_PP_IIF(p(17), 17, 18)
-# define BOOST_PP_NODE_19(p) BOOST_PP_IIF(p(19), 19, 20)
-# define BOOST_PP_NODE_22(p) BOOST_PP_IIF(p(22), BOOST_PP_NODE_21, BOOST_PP_NODE_23)
-# define BOOST_PP_NODE_21(p) BOOST_PP_IIF(p(21), 21, 22)
-# define BOOST_PP_NODE_23(p) BOOST_PP_IIF(p(23), 23, 24)
-# define BOOST_PP_NODE_28(p) BOOST_PP_IIF(p(28), BOOST_PP_NODE_26, BOOST_PP_NODE_30)
-# define BOOST_PP_NODE_26(p) BOOST_PP_IIF(p(26), BOOST_PP_NODE_25, BOOST_PP_NODE_27)
-# define BOOST_PP_NODE_25(p) BOOST_PP_IIF(p(25), 25, 26)
-# define BOOST_PP_NODE_27(p) BOOST_PP_IIF(p(27), 27, 28)
-# define BOOST_PP_NODE_30(p) BOOST_PP_IIF(p(30), BOOST_PP_NODE_29, BOOST_PP_NODE_31)
-# define BOOST_PP_NODE_29(p) BOOST_PP_IIF(p(29), 29, 30)
-# define BOOST_PP_NODE_31(p) BOOST_PP_IIF(p(31), 31, 32)
-# define BOOST_PP_NODE_48(p) BOOST_PP_IIF(p(48), BOOST_PP_NODE_40, BOOST_PP_NODE_56)
-# define BOOST_PP_NODE_40(p) BOOST_PP_IIF(p(40), BOOST_PP_NODE_36, BOOST_PP_NODE_44)
-# define BOOST_PP_NODE_36(p) BOOST_PP_IIF(p(36), BOOST_PP_NODE_34, BOOST_PP_NODE_38)
-# define BOOST_PP_NODE_34(p) BOOST_PP_IIF(p(34), BOOST_PP_NODE_33, BOOST_PP_NODE_35)
-# define BOOST_PP_NODE_33(p) BOOST_PP_IIF(p(33), 33, 34)
-# define BOOST_PP_NODE_35(p) BOOST_PP_IIF(p(35), 35, 36)
-# define BOOST_PP_NODE_38(p) BOOST_PP_IIF(p(38), BOOST_PP_NODE_37, BOOST_PP_NODE_39)
-# define BOOST_PP_NODE_37(p) BOOST_PP_IIF(p(37), 37, 38)
-# define BOOST_PP_NODE_39(p) BOOST_PP_IIF(p(39), 39, 40)
-# define BOOST_PP_NODE_44(p) BOOST_PP_IIF(p(44), BOOST_PP_NODE_42, BOOST_PP_NODE_46)
-# define BOOST_PP_NODE_42(p) BOOST_PP_IIF(p(42), BOOST_PP_NODE_41, BOOST_PP_NODE_43)
-# define BOOST_PP_NODE_41(p) BOOST_PP_IIF(p(41), 41, 42)
-# define BOOST_PP_NODE_43(p) BOOST_PP_IIF(p(43), 43, 44)
-# define BOOST_PP_NODE_46(p) BOOST_PP_IIF(p(46), BOOST_PP_NODE_45, BOOST_PP_NODE_47)
-# define BOOST_PP_NODE_45(p) BOOST_PP_IIF(p(45), 45, 46)
-# define BOOST_PP_NODE_47(p) BOOST_PP_IIF(p(47), 47, 48)
-# define BOOST_PP_NODE_56(p) BOOST_PP_IIF(p(56), BOOST_PP_NODE_52, BOOST_PP_NODE_60)
-# define BOOST_PP_NODE_52(p) BOOST_PP_IIF(p(52), BOOST_PP_NODE_50, BOOST_PP_NODE_54)
-# define BOOST_PP_NODE_50(p) BOOST_PP_IIF(p(50), BOOST_PP_NODE_49, BOOST_PP_NODE_51)
-# define BOOST_PP_NODE_49(p) BOOST_PP_IIF(p(49), 49, 50)
-# define BOOST_PP_NODE_51(p) BOOST_PP_IIF(p(51), 51, 52)
-# define BOOST_PP_NODE_54(p) BOOST_PP_IIF(p(54), BOOST_PP_NODE_53, BOOST_PP_NODE_55)
-# define BOOST_PP_NODE_53(p) BOOST_PP_IIF(p(53), 53, 54)
-# define BOOST_PP_NODE_55(p) BOOST_PP_IIF(p(55), 55, 56)
-# define BOOST_PP_NODE_60(p) BOOST_PP_IIF(p(60), BOOST_PP_NODE_58, BOOST_PP_NODE_62)
-# define BOOST_PP_NODE_58(p) BOOST_PP_IIF(p(58), BOOST_PP_NODE_57, BOOST_PP_NODE_59)
-# define BOOST_PP_NODE_57(p) BOOST_PP_IIF(p(57), 57, 58)
-# define BOOST_PP_NODE_59(p) BOOST_PP_IIF(p(59), 59, 60)
-# define BOOST_PP_NODE_62(p) BOOST_PP_IIF(p(62), BOOST_PP_NODE_61, BOOST_PP_NODE_63)
-# define BOOST_PP_NODE_61(p) BOOST_PP_IIF(p(61), 61, 62)
-# define BOOST_PP_NODE_63(p) BOOST_PP_IIF(p(63), 63, 64)
-# define BOOST_PP_NODE_96(p) BOOST_PP_IIF(p(96), BOOST_PP_NODE_80, BOOST_PP_NODE_112)
-# define BOOST_PP_NODE_80(p) BOOST_PP_IIF(p(80), BOOST_PP_NODE_72, BOOST_PP_NODE_88)
-# define BOOST_PP_NODE_72(p) BOOST_PP_IIF(p(72), BOOST_PP_NODE_68, BOOST_PP_NODE_76)
-# define BOOST_PP_NODE_68(p) BOOST_PP_IIF(p(68), BOOST_PP_NODE_66, BOOST_PP_NODE_70)
-# define BOOST_PP_NODE_66(p) BOOST_PP_IIF(p(66), BOOST_PP_NODE_65, BOOST_PP_NODE_67)
-# define BOOST_PP_NODE_65(p) BOOST_PP_IIF(p(65), 65, 66)
-# define BOOST_PP_NODE_67(p) BOOST_PP_IIF(p(67), 67, 68)
-# define BOOST_PP_NODE_70(p) BOOST_PP_IIF(p(70), BOOST_PP_NODE_69, BOOST_PP_NODE_71)
-# define BOOST_PP_NODE_69(p) BOOST_PP_IIF(p(69), 69, 70)
-# define BOOST_PP_NODE_71(p) BOOST_PP_IIF(p(71), 71, 72)
-# define BOOST_PP_NODE_76(p) BOOST_PP_IIF(p(76), BOOST_PP_NODE_74, BOOST_PP_NODE_78)
-# define BOOST_PP_NODE_74(p) BOOST_PP_IIF(p(74), BOOST_PP_NODE_73, BOOST_PP_NODE_75)
-# define BOOST_PP_NODE_73(p) BOOST_PP_IIF(p(73), 73, 74)
-# define BOOST_PP_NODE_75(p) BOOST_PP_IIF(p(75), 75, 76)
-# define BOOST_PP_NODE_78(p) BOOST_PP_IIF(p(78), BOOST_PP_NODE_77, BOOST_PP_NODE_79)
-# define BOOST_PP_NODE_77(p) BOOST_PP_IIF(p(77), 77, 78)
-# define BOOST_PP_NODE_79(p) BOOST_PP_IIF(p(79), 79, 80)
-# define BOOST_PP_NODE_88(p) BOOST_PP_IIF(p(88), BOOST_PP_NODE_84, BOOST_PP_NODE_92)
-# define BOOST_PP_NODE_84(p) BOOST_PP_IIF(p(84), BOOST_PP_NODE_82, BOOST_PP_NODE_86)
-# define BOOST_PP_NODE_82(p) BOOST_PP_IIF(p(82), BOOST_PP_NODE_81, BOOST_PP_NODE_83)
-# define BOOST_PP_NODE_81(p) BOOST_PP_IIF(p(81), 81, 82)
-# define BOOST_PP_NODE_83(p) BOOST_PP_IIF(p(83), 83, 84)
-# define BOOST_PP_NODE_86(p) BOOST_PP_IIF(p(86), BOOST_PP_NODE_85, BOOST_PP_NODE_87)
-# define BOOST_PP_NODE_85(p) BOOST_PP_IIF(p(85), 85, 86)
-# define BOOST_PP_NODE_87(p) BOOST_PP_IIF(p(87), 87, 88)
-# define BOOST_PP_NODE_92(p) BOOST_PP_IIF(p(92), BOOST_PP_NODE_90, BOOST_PP_NODE_94)
-# define BOOST_PP_NODE_90(p) BOOST_PP_IIF(p(90), BOOST_PP_NODE_89, BOOST_PP_NODE_91)
-# define BOOST_PP_NODE_89(p) BOOST_PP_IIF(p(89), 89, 90)
-# define BOOST_PP_NODE_91(p) BOOST_PP_IIF(p(91), 91, 92)
-# define BOOST_PP_NODE_94(p) BOOST_PP_IIF(p(94), BOOST_PP_NODE_93, BOOST_PP_NODE_95)
-# define BOOST_PP_NODE_93(p) BOOST_PP_IIF(p(93), 93, 94)
-# define BOOST_PP_NODE_95(p) BOOST_PP_IIF(p(95), 95, 96)
-# define BOOST_PP_NODE_112(p) BOOST_PP_IIF(p(112), BOOST_PP_NODE_104, BOOST_PP_NODE_120)
-# define BOOST_PP_NODE_104(p) BOOST_PP_IIF(p(104), BOOST_PP_NODE_100, BOOST_PP_NODE_108)
-# define BOOST_PP_NODE_100(p) BOOST_PP_IIF(p(100), BOOST_PP_NODE_98, BOOST_PP_NODE_102)
-# define BOOST_PP_NODE_98(p) BOOST_PP_IIF(p(98), BOOST_PP_NODE_97, BOOST_PP_NODE_99)
-# define BOOST_PP_NODE_97(p) BOOST_PP_IIF(p(97), 97, 98)
-# define BOOST_PP_NODE_99(p) BOOST_PP_IIF(p(99), 99, 100)
-# define BOOST_PP_NODE_102(p) BOOST_PP_IIF(p(102), BOOST_PP_NODE_101, BOOST_PP_NODE_103)
-# define BOOST_PP_NODE_101(p) BOOST_PP_IIF(p(101), 101, 102)
-# define BOOST_PP_NODE_103(p) BOOST_PP_IIF(p(103), 103, 104)
-# define BOOST_PP_NODE_108(p) BOOST_PP_IIF(p(108), BOOST_PP_NODE_106, BOOST_PP_NODE_110)
-# define BOOST_PP_NODE_106(p) BOOST_PP_IIF(p(106), BOOST_PP_NODE_105, BOOST_PP_NODE_107)
-# define BOOST_PP_NODE_105(p) BOOST_PP_IIF(p(105), 105, 106)
-# define BOOST_PP_NODE_107(p) BOOST_PP_IIF(p(107), 107, 108)
-# define BOOST_PP_NODE_110(p) BOOST_PP_IIF(p(110), BOOST_PP_NODE_109, BOOST_PP_NODE_111)
-# define BOOST_PP_NODE_109(p) BOOST_PP_IIF(p(109), 109, 110)
-# define BOOST_PP_NODE_111(p) BOOST_PP_IIF(p(111), 111, 112)
-# define BOOST_PP_NODE_120(p) BOOST_PP_IIF(p(120), BOOST_PP_NODE_116, BOOST_PP_NODE_124)
-# define BOOST_PP_NODE_116(p) BOOST_PP_IIF(p(116), BOOST_PP_NODE_114, BOOST_PP_NODE_118)
-# define BOOST_PP_NODE_114(p) BOOST_PP_IIF(p(114), BOOST_PP_NODE_113, BOOST_PP_NODE_115)
-# define BOOST_PP_NODE_113(p) BOOST_PP_IIF(p(113), 113, 114)
-# define BOOST_PP_NODE_115(p) BOOST_PP_IIF(p(115), 115, 116)
-# define BOOST_PP_NODE_118(p) BOOST_PP_IIF(p(118), BOOST_PP_NODE_117, BOOST_PP_NODE_119)
-# define BOOST_PP_NODE_117(p) BOOST_PP_IIF(p(117), 117, 118)
-# define BOOST_PP_NODE_119(p) BOOST_PP_IIF(p(119), 119, 120)
-# define BOOST_PP_NODE_124(p) BOOST_PP_IIF(p(124), BOOST_PP_NODE_122, BOOST_PP_NODE_126)
-# define BOOST_PP_NODE_122(p) BOOST_PP_IIF(p(122), BOOST_PP_NODE_121, BOOST_PP_NODE_123)
-# define BOOST_PP_NODE_121(p) BOOST_PP_IIF(p(121), 121, 122)
-# define BOOST_PP_NODE_123(p) BOOST_PP_IIF(p(123), 123, 124)
-# define BOOST_PP_NODE_126(p) BOOST_PP_IIF(p(126), BOOST_PP_NODE_125, BOOST_PP_NODE_127)
-# define BOOST_PP_NODE_125(p) BOOST_PP_IIF(p(125), 125, 126)
-# define BOOST_PP_NODE_127(p) BOOST_PP_IIF(p(127), 127, 128)
-# define BOOST_PP_NODE_192(p) BOOST_PP_IIF(p(192), BOOST_PP_NODE_160, BOOST_PP_NODE_224)
-# define BOOST_PP_NODE_160(p) BOOST_PP_IIF(p(160), BOOST_PP_NODE_144, BOOST_PP_NODE_176)
-# define BOOST_PP_NODE_144(p) BOOST_PP_IIF(p(144), BOOST_PP_NODE_136, BOOST_PP_NODE_152)
-# define BOOST_PP_NODE_136(p) BOOST_PP_IIF(p(136), BOOST_PP_NODE_132, BOOST_PP_NODE_140)
-# define BOOST_PP_NODE_132(p) BOOST_PP_IIF(p(132), BOOST_PP_NODE_130, BOOST_PP_NODE_134)
-# define BOOST_PP_NODE_130(p) BOOST_PP_IIF(p(130), BOOST_PP_NODE_129, BOOST_PP_NODE_131)
-# define BOOST_PP_NODE_129(p) BOOST_PP_IIF(p(129), 129, 130)
-# define BOOST_PP_NODE_131(p) BOOST_PP_IIF(p(131), 131, 132)
-# define BOOST_PP_NODE_134(p) BOOST_PP_IIF(p(134), BOOST_PP_NODE_133, BOOST_PP_NODE_135)
-# define BOOST_PP_NODE_133(p) BOOST_PP_IIF(p(133), 133, 134)
-# define BOOST_PP_NODE_135(p) BOOST_PP_IIF(p(135), 135, 136)
-# define BOOST_PP_NODE_140(p) BOOST_PP_IIF(p(140), BOOST_PP_NODE_138, BOOST_PP_NODE_142)
-# define BOOST_PP_NODE_138(p) BOOST_PP_IIF(p(138), BOOST_PP_NODE_137, BOOST_PP_NODE_139)
-# define BOOST_PP_NODE_137(p) BOOST_PP_IIF(p(137), 137, 138)
-# define BOOST_PP_NODE_139(p) BOOST_PP_IIF(p(139), 139, 140)
-# define BOOST_PP_NODE_142(p) BOOST_PP_IIF(p(142), BOOST_PP_NODE_141, BOOST_PP_NODE_143)
-# define BOOST_PP_NODE_141(p) BOOST_PP_IIF(p(141), 141, 142)
-# define BOOST_PP_NODE_143(p) BOOST_PP_IIF(p(143), 143, 144)
-# define BOOST_PP_NODE_152(p) BOOST_PP_IIF(p(152), BOOST_PP_NODE_148, BOOST_PP_NODE_156)
-# define BOOST_PP_NODE_148(p) BOOST_PP_IIF(p(148), BOOST_PP_NODE_146, BOOST_PP_NODE_150)
-# define BOOST_PP_NODE_146(p) BOOST_PP_IIF(p(146), BOOST_PP_NODE_145, BOOST_PP_NODE_147)
-# define BOOST_PP_NODE_145(p) BOOST_PP_IIF(p(145), 145, 146)
-# define BOOST_PP_NODE_147(p) BOOST_PP_IIF(p(147), 147, 148)
-# define BOOST_PP_NODE_150(p) BOOST_PP_IIF(p(150), BOOST_PP_NODE_149, BOOST_PP_NODE_151)
-# define BOOST_PP_NODE_149(p) BOOST_PP_IIF(p(149), 149, 150)
-# define BOOST_PP_NODE_151(p) BOOST_PP_IIF(p(151), 151, 152)
-# define BOOST_PP_NODE_156(p) BOOST_PP_IIF(p(156), BOOST_PP_NODE_154, BOOST_PP_NODE_158)
-# define BOOST_PP_NODE_154(p) BOOST_PP_IIF(p(154), BOOST_PP_NODE_153, BOOST_PP_NODE_155)
-# define BOOST_PP_NODE_153(p) BOOST_PP_IIF(p(153), 153, 154)
-# define BOOST_PP_NODE_155(p) BOOST_PP_IIF(p(155), 155, 156)
-# define BOOST_PP_NODE_158(p) BOOST_PP_IIF(p(158), BOOST_PP_NODE_157, BOOST_PP_NODE_159)
-# define BOOST_PP_NODE_157(p) BOOST_PP_IIF(p(157), 157, 158)
-# define BOOST_PP_NODE_159(p) BOOST_PP_IIF(p(159), 159, 160)
-# define BOOST_PP_NODE_176(p) BOOST_PP_IIF(p(176), BOOST_PP_NODE_168, BOOST_PP_NODE_184)
-# define BOOST_PP_NODE_168(p) BOOST_PP_IIF(p(168), BOOST_PP_NODE_164, BOOST_PP_NODE_172)
-# define BOOST_PP_NODE_164(p) BOOST_PP_IIF(p(164), BOOST_PP_NODE_162, BOOST_PP_NODE_166)
-# define BOOST_PP_NODE_162(p) BOOST_PP_IIF(p(162), BOOST_PP_NODE_161, BOOST_PP_NODE_163)
-# define BOOST_PP_NODE_161(p) BOOST_PP_IIF(p(161), 161, 162)
-# define BOOST_PP_NODE_163(p) BOOST_PP_IIF(p(163), 163, 164)
-# define BOOST_PP_NODE_166(p) BOOST_PP_IIF(p(166), BOOST_PP_NODE_165, BOOST_PP_NODE_167)
-# define BOOST_PP_NODE_165(p) BOOST_PP_IIF(p(165), 165, 166)
-# define BOOST_PP_NODE_167(p) BOOST_PP_IIF(p(167), 167, 168)
-# define BOOST_PP_NODE_172(p) BOOST_PP_IIF(p(172), BOOST_PP_NODE_170, BOOST_PP_NODE_174)
-# define BOOST_PP_NODE_170(p) BOOST_PP_IIF(p(170), BOOST_PP_NODE_169, BOOST_PP_NODE_171)
-# define BOOST_PP_NODE_169(p) BOOST_PP_IIF(p(169), 169, 170)
-# define BOOST_PP_NODE_171(p) BOOST_PP_IIF(p(171), 171, 172)
-# define BOOST_PP_NODE_174(p) BOOST_PP_IIF(p(174), BOOST_PP_NODE_173, BOOST_PP_NODE_175)
-# define BOOST_PP_NODE_173(p) BOOST_PP_IIF(p(173), 173, 174)
-# define BOOST_PP_NODE_175(p) BOOST_PP_IIF(p(175), 175, 176)
-# define BOOST_PP_NODE_184(p) BOOST_PP_IIF(p(184), BOOST_PP_NODE_180, BOOST_PP_NODE_188)
-# define BOOST_PP_NODE_180(p) BOOST_PP_IIF(p(180), BOOST_PP_NODE_178, BOOST_PP_NODE_182)
-# define BOOST_PP_NODE_178(p) BOOST_PP_IIF(p(178), BOOST_PP_NODE_177, BOOST_PP_NODE_179)
-# define BOOST_PP_NODE_177(p) BOOST_PP_IIF(p(177), 177, 178)
-# define BOOST_PP_NODE_179(p) BOOST_PP_IIF(p(179), 179, 180)
-# define BOOST_PP_NODE_182(p) BOOST_PP_IIF(p(182), BOOST_PP_NODE_181, BOOST_PP_NODE_183)
-# define BOOST_PP_NODE_181(p) BOOST_PP_IIF(p(181), 181, 182)
-# define BOOST_PP_NODE_183(p) BOOST_PP_IIF(p(183), 183, 184)
-# define BOOST_PP_NODE_188(p) BOOST_PP_IIF(p(188), BOOST_PP_NODE_186, BOOST_PP_NODE_190)
-# define BOOST_PP_NODE_186(p) BOOST_PP_IIF(p(186), BOOST_PP_NODE_185, BOOST_PP_NODE_187)
-# define BOOST_PP_NODE_185(p) BOOST_PP_IIF(p(185), 185, 186)
-# define BOOST_PP_NODE_187(p) BOOST_PP_IIF(p(187), 187, 188)
-# define BOOST_PP_NODE_190(p) BOOST_PP_IIF(p(190), BOOST_PP_NODE_189, BOOST_PP_NODE_191)
-# define BOOST_PP_NODE_189(p) BOOST_PP_IIF(p(189), 189, 190)
-# define BOOST_PP_NODE_191(p) BOOST_PP_IIF(p(191), 191, 192)
-# define BOOST_PP_NODE_224(p) BOOST_PP_IIF(p(224), BOOST_PP_NODE_208, BOOST_PP_NODE_240)
-# define BOOST_PP_NODE_208(p) BOOST_PP_IIF(p(208), BOOST_PP_NODE_200, BOOST_PP_NODE_216)
-# define BOOST_PP_NODE_200(p) BOOST_PP_IIF(p(200), BOOST_PP_NODE_196, BOOST_PP_NODE_204)
-# define BOOST_PP_NODE_196(p) BOOST_PP_IIF(p(196), BOOST_PP_NODE_194, BOOST_PP_NODE_198)
-# define BOOST_PP_NODE_194(p) BOOST_PP_IIF(p(194), BOOST_PP_NODE_193, BOOST_PP_NODE_195)
-# define BOOST_PP_NODE_193(p) BOOST_PP_IIF(p(193), 193, 194)
-# define BOOST_PP_NODE_195(p) BOOST_PP_IIF(p(195), 195, 196)
-# define BOOST_PP_NODE_198(p) BOOST_PP_IIF(p(198), BOOST_PP_NODE_197, BOOST_PP_NODE_199)
-# define BOOST_PP_NODE_197(p) BOOST_PP_IIF(p(197), 197, 198)
-# define BOOST_PP_NODE_199(p) BOOST_PP_IIF(p(199), 199, 200)
-# define BOOST_PP_NODE_204(p) BOOST_PP_IIF(p(204), BOOST_PP_NODE_202, BOOST_PP_NODE_206)
-# define BOOST_PP_NODE_202(p) BOOST_PP_IIF(p(202), BOOST_PP_NODE_201, BOOST_PP_NODE_203)
-# define BOOST_PP_NODE_201(p) BOOST_PP_IIF(p(201), 201, 202)
-# define BOOST_PP_NODE_203(p) BOOST_PP_IIF(p(203), 203, 204)
-# define BOOST_PP_NODE_206(p) BOOST_PP_IIF(p(206), BOOST_PP_NODE_205, BOOST_PP_NODE_207)
-# define BOOST_PP_NODE_205(p) BOOST_PP_IIF(p(205), 205, 206)
-# define BOOST_PP_NODE_207(p) BOOST_PP_IIF(p(207), 207, 208)
-# define BOOST_PP_NODE_216(p) BOOST_PP_IIF(p(216), BOOST_PP_NODE_212, BOOST_PP_NODE_220)
-# define BOOST_PP_NODE_212(p) BOOST_PP_IIF(p(212), BOOST_PP_NODE_210, BOOST_PP_NODE_214)
-# define BOOST_PP_NODE_210(p) BOOST_PP_IIF(p(210), BOOST_PP_NODE_209, BOOST_PP_NODE_211)
-# define BOOST_PP_NODE_209(p) BOOST_PP_IIF(p(209), 209, 210)
-# define BOOST_PP_NODE_211(p) BOOST_PP_IIF(p(211), 211, 212)
-# define BOOST_PP_NODE_214(p) BOOST_PP_IIF(p(214), BOOST_PP_NODE_213, BOOST_PP_NODE_215)
-# define BOOST_PP_NODE_213(p) BOOST_PP_IIF(p(213), 213, 214)
-# define BOOST_PP_NODE_215(p) BOOST_PP_IIF(p(215), 215, 216)
-# define BOOST_PP_NODE_220(p) BOOST_PP_IIF(p(220), BOOST_PP_NODE_218, BOOST_PP_NODE_222)
-# define BOOST_PP_NODE_218(p) BOOST_PP_IIF(p(218), BOOST_PP_NODE_217, BOOST_PP_NODE_219)
-# define BOOST_PP_NODE_217(p) BOOST_PP_IIF(p(217), 217, 218)
-# define BOOST_PP_NODE_219(p) BOOST_PP_IIF(p(219), 219, 220)
-# define BOOST_PP_NODE_222(p) BOOST_PP_IIF(p(222), BOOST_PP_NODE_221, BOOST_PP_NODE_223)
-# define BOOST_PP_NODE_221(p) BOOST_PP_IIF(p(221), 221, 222)
-# define BOOST_PP_NODE_223(p) BOOST_PP_IIF(p(223), 223, 224)
-# define BOOST_PP_NODE_240(p) BOOST_PP_IIF(p(240), BOOST_PP_NODE_232, BOOST_PP_NODE_248)
-# define BOOST_PP_NODE_232(p) BOOST_PP_IIF(p(232), BOOST_PP_NODE_228, BOOST_PP_NODE_236)
-# define BOOST_PP_NODE_228(p) BOOST_PP_IIF(p(228), BOOST_PP_NODE_226, BOOST_PP_NODE_230)
-# define BOOST_PP_NODE_226(p) BOOST_PP_IIF(p(226), BOOST_PP_NODE_225, BOOST_PP_NODE_227)
-# define BOOST_PP_NODE_225(p) BOOST_PP_IIF(p(225), 225, 226)
-# define BOOST_PP_NODE_227(p) BOOST_PP_IIF(p(227), 227, 228)
-# define BOOST_PP_NODE_230(p) BOOST_PP_IIF(p(230), BOOST_PP_NODE_229, BOOST_PP_NODE_231)
-# define BOOST_PP_NODE_229(p) BOOST_PP_IIF(p(229), 229, 230)
-# define BOOST_PP_NODE_231(p) BOOST_PP_IIF(p(231), 231, 232)
-# define BOOST_PP_NODE_236(p) BOOST_PP_IIF(p(236), BOOST_PP_NODE_234, BOOST_PP_NODE_238)
-# define BOOST_PP_NODE_234(p) BOOST_PP_IIF(p(234), BOOST_PP_NODE_233, BOOST_PP_NODE_235)
-# define BOOST_PP_NODE_233(p) BOOST_PP_IIF(p(233), 233, 234)
-# define BOOST_PP_NODE_235(p) BOOST_PP_IIF(p(235), 235, 236)
-# define BOOST_PP_NODE_238(p) BOOST_PP_IIF(p(238), BOOST_PP_NODE_237, BOOST_PP_NODE_239)
-# define BOOST_PP_NODE_237(p) BOOST_PP_IIF(p(237), 237, 238)
-# define BOOST_PP_NODE_239(p) BOOST_PP_IIF(p(239), 239, 240)
-# define BOOST_PP_NODE_248(p) BOOST_PP_IIF(p(248), BOOST_PP_NODE_244, BOOST_PP_NODE_252)
-# define BOOST_PP_NODE_244(p) BOOST_PP_IIF(p(244), BOOST_PP_NODE_242, BOOST_PP_NODE_246)
-# define BOOST_PP_NODE_242(p) BOOST_PP_IIF(p(242), BOOST_PP_NODE_241, BOOST_PP_NODE_243)
-# define BOOST_PP_NODE_241(p) BOOST_PP_IIF(p(241), 241, 242)
-# define BOOST_PP_NODE_243(p) BOOST_PP_IIF(p(243), 243, 244)
-# define BOOST_PP_NODE_246(p) BOOST_PP_IIF(p(246), BOOST_PP_NODE_245, BOOST_PP_NODE_247)
-# define BOOST_PP_NODE_245(p) BOOST_PP_IIF(p(245), 245, 246)
-# define BOOST_PP_NODE_247(p) BOOST_PP_IIF(p(247), 247, 248)
-# define BOOST_PP_NODE_252(p) BOOST_PP_IIF(p(252), BOOST_PP_NODE_250, BOOST_PP_NODE_254)
-# define BOOST_PP_NODE_250(p) BOOST_PP_IIF(p(250), BOOST_PP_NODE_249, BOOST_PP_NODE_251)
-# define BOOST_PP_NODE_249(p) BOOST_PP_IIF(p(249), 249, 250)
-# define BOOST_PP_NODE_251(p) BOOST_PP_IIF(p(251), 251, 252)
-# define BOOST_PP_NODE_254(p) BOOST_PP_IIF(p(254), BOOST_PP_NODE_253, BOOST_PP_NODE_255)
-# define BOOST_PP_NODE_253(p) BOOST_PP_IIF(p(253), 253, 254)
-# define BOOST_PP_NODE_255(p) BOOST_PP_IIF(p(255), 255, 256)
-#
-# endif
-# endif
diff --git a/boost/preprocessor/detail/check.hpp b/boost/preprocessor/detail/check.hpp
deleted file mode 100644
index 63f8ff9..0000000
--- a/boost/preprocessor/detail/check.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_DETAIL_CHECK_HPP
-# define BOOST_PREPROCESSOR_DETAIL_CHECK_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-#
-# /* BOOST_PP_CHECK */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-# define BOOST_PP_CHECK(x, type) BOOST_PP_CHECK_D(x, type)
-# else
-# define BOOST_PP_CHECK(x, type) BOOST_PP_CHECK_OO((x, type))
-# define BOOST_PP_CHECK_OO(par) BOOST_PP_CHECK_D ## par
-# endif
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() && ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC()
-# define BOOST_PP_CHECK_D(x, type) BOOST_PP_CHECK_1(BOOST_PP_CAT(BOOST_PP_CHECK_RESULT_, type x))
-# define BOOST_PP_CHECK_1(chk) BOOST_PP_CHECK_2(chk)
-# define BOOST_PP_CHECK_2(res, _) res
-# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-# define BOOST_PP_CHECK_D(x, type) BOOST_PP_CHECK_1(type x)
-# define BOOST_PP_CHECK_1(chk) BOOST_PP_CHECK_2(chk)
-# define BOOST_PP_CHECK_2(chk) BOOST_PP_CHECK_3((BOOST_PP_CHECK_RESULT_ ## chk))
-# define BOOST_PP_CHECK_3(im) BOOST_PP_CHECK_5(BOOST_PP_CHECK_4 im)
-# define BOOST_PP_CHECK_4(res, _) res
-# define BOOST_PP_CHECK_5(res) res
-# else /* DMC */
-# define BOOST_PP_CHECK_D(x, type) BOOST_PP_CHECK_OO((type x))
-# define BOOST_PP_CHECK_OO(par) BOOST_PP_CHECK_0 ## par
-# define BOOST_PP_CHECK_0(chk) BOOST_PP_CHECK_1(BOOST_PP_CAT(BOOST_PP_CHECK_RESULT_, chk))
-# define BOOST_PP_CHECK_1(chk) BOOST_PP_CHECK_2(chk)
-# define BOOST_PP_CHECK_2(res, _) res
-# endif
-#
-# define BOOST_PP_CHECK_RESULT_1 1, BOOST_PP_NIL
-#
-# endif
diff --git a/boost/preprocessor/detail/dmc/auto_rec.hpp b/boost/preprocessor/detail/dmc/auto_rec.hpp
deleted file mode 100644
index 37fbe04..0000000
--- a/boost/preprocessor/detail/dmc/auto_rec.hpp
+++ /dev/null
@@ -1,286 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_DETAIL_AUTO_REC_HPP
-# define BOOST_PREPROCESSOR_DETAIL_AUTO_REC_HPP
-#
-# include <boost/preprocessor/control/iif.hpp>
-#
-# /* BOOST_PP_AUTO_REC */
-#
-# define BOOST_PP_AUTO_REC(pred, n) BOOST_PP_NODE_ENTRY_ ## n(pred)
-#
-# define BOOST_PP_NODE_ENTRY_256(p) BOOST_PP_NODE_128(p)(p)(p)(p)(p)(p)(p)(p)
-# define BOOST_PP_NODE_ENTRY_128(p) BOOST_PP_NODE_64(p)(p)(p)(p)(p)(p)(p)
-# define BOOST_PP_NODE_ENTRY_64(p) BOOST_PP_NODE_32(p)(p)(p)(p)(p)(p)
-# define BOOST_PP_NODE_ENTRY_32(p) BOOST_PP_NODE_16(p)(p)(p)(p)(p)
-# define BOOST_PP_NODE_ENTRY_16(p) BOOST_PP_NODE_8(p)(p)(p)(p)
-# define BOOST_PP_NODE_ENTRY_8(p) BOOST_PP_NODE_4(p)(p)(p)
-# define BOOST_PP_NODE_ENTRY_4(p) BOOST_PP_NODE_2(p)(p)
-# define BOOST_PP_NODE_ENTRY_2(p) BOOST_PP_NODE_1(p)
-#
-# define BOOST_PP_NODE_128(p) BOOST_PP_IIF(p##(128), BOOST_PP_NODE_64, BOOST_PP_NODE_192)
-# define BOOST_PP_NODE_64(p) BOOST_PP_IIF(p##(64), BOOST_PP_NODE_32, BOOST_PP_NODE_96)
-# define BOOST_PP_NODE_32(p) BOOST_PP_IIF(p##(32), BOOST_PP_NODE_16, BOOST_PP_NODE_48)
-# define BOOST_PP_NODE_16(p) BOOST_PP_IIF(p##(16), BOOST_PP_NODE_8, BOOST_PP_NODE_24)
-# define BOOST_PP_NODE_8(p) BOOST_PP_IIF(p##(8), BOOST_PP_NODE_4, BOOST_PP_NODE_12)
-# define BOOST_PP_NODE_4(p) BOOST_PP_IIF(p##(4), BOOST_PP_NODE_2, BOOST_PP_NODE_6)
-# define BOOST_PP_NODE_2(p) BOOST_PP_IIF(p##(2), BOOST_PP_NODE_1, BOOST_PP_NODE_3)
-# define BOOST_PP_NODE_1(p) BOOST_PP_IIF(p##(1), 1, 2)
-# define BOOST_PP_NODE_3(p) BOOST_PP_IIF(p##(3), 3, 4)
-# define BOOST_PP_NODE_6(p) BOOST_PP_IIF(p##(6), BOOST_PP_NODE_5, BOOST_PP_NODE_7)
-# define BOOST_PP_NODE_5(p) BOOST_PP_IIF(p##(5), 5, 6)
-# define BOOST_PP_NODE_7(p) BOOST_PP_IIF(p##(7), 7, 8)
-# define BOOST_PP_NODE_12(p) BOOST_PP_IIF(p##(12), BOOST_PP_NODE_10, BOOST_PP_NODE_14)
-# define BOOST_PP_NODE_10(p) BOOST_PP_IIF(p##(10), BOOST_PP_NODE_9, BOOST_PP_NODE_11)
-# define BOOST_PP_NODE_9(p) BOOST_PP_IIF(p##(9), 9, 10)
-# define BOOST_PP_NODE_11(p) BOOST_PP_IIF(p##(11), 11, 12)
-# define BOOST_PP_NODE_14(p) BOOST_PP_IIF(p##(14), BOOST_PP_NODE_13, BOOST_PP_NODE_15)
-# define BOOST_PP_NODE_13(p) BOOST_PP_IIF(p##(13), 13, 14)
-# define BOOST_PP_NODE_15(p) BOOST_PP_IIF(p##(15), 15, 16)
-# define BOOST_PP_NODE_24(p) BOOST_PP_IIF(p##(24), BOOST_PP_NODE_20, BOOST_PP_NODE_28)
-# define BOOST_PP_NODE_20(p) BOOST_PP_IIF(p##(20), BOOST_PP_NODE_18, BOOST_PP_NODE_22)
-# define BOOST_PP_NODE_18(p) BOOST_PP_IIF(p##(18), BOOST_PP_NODE_17, BOOST_PP_NODE_19)
-# define BOOST_PP_NODE_17(p) BOOST_PP_IIF(p##(17), 17, 18)
-# define BOOST_PP_NODE_19(p) BOOST_PP_IIF(p##(19), 19, 20)
-# define BOOST_PP_NODE_22(p) BOOST_PP_IIF(p##(22), BOOST_PP_NODE_21, BOOST_PP_NODE_23)
-# define BOOST_PP_NODE_21(p) BOOST_PP_IIF(p##(21), 21, 22)
-# define BOOST_PP_NODE_23(p) BOOST_PP_IIF(p##(23), 23, 24)
-# define BOOST_PP_NODE_28(p) BOOST_PP_IIF(p##(28), BOOST_PP_NODE_26, BOOST_PP_NODE_30)
-# define BOOST_PP_NODE_26(p) BOOST_PP_IIF(p##(26), BOOST_PP_NODE_25, BOOST_PP_NODE_27)
-# define BOOST_PP_NODE_25(p) BOOST_PP_IIF(p##(25), 25, 26)
-# define BOOST_PP_NODE_27(p) BOOST_PP_IIF(p##(27), 27, 28)
-# define BOOST_PP_NODE_30(p) BOOST_PP_IIF(p##(30), BOOST_PP_NODE_29, BOOST_PP_NODE_31)
-# define BOOST_PP_NODE_29(p) BOOST_PP_IIF(p##(29), 29, 30)
-# define BOOST_PP_NODE_31(p) BOOST_PP_IIF(p##(31), 31, 32)
-# define BOOST_PP_NODE_48(p) BOOST_PP_IIF(p##(48), BOOST_PP_NODE_40, BOOST_PP_NODE_56)
-# define BOOST_PP_NODE_40(p) BOOST_PP_IIF(p##(40), BOOST_PP_NODE_36, BOOST_PP_NODE_44)
-# define BOOST_PP_NODE_36(p) BOOST_PP_IIF(p##(36), BOOST_PP_NODE_34, BOOST_PP_NODE_38)
-# define BOOST_PP_NODE_34(p) BOOST_PP_IIF(p##(34), BOOST_PP_NODE_33, BOOST_PP_NODE_35)
-# define BOOST_PP_NODE_33(p) BOOST_PP_IIF(p##(33), 33, 34)
-# define BOOST_PP_NODE_35(p) BOOST_PP_IIF(p##(35), 35, 36)
-# define BOOST_PP_NODE_38(p) BOOST_PP_IIF(p##(38), BOOST_PP_NODE_37, BOOST_PP_NODE_39)
-# define BOOST_PP_NODE_37(p) BOOST_PP_IIF(p##(37), 37, 38)
-# define BOOST_PP_NODE_39(p) BOOST_PP_IIF(p##(39), 39, 40)
-# define BOOST_PP_NODE_44(p) BOOST_PP_IIF(p##(44), BOOST_PP_NODE_42, BOOST_PP_NODE_46)
-# define BOOST_PP_NODE_42(p) BOOST_PP_IIF(p##(42), BOOST_PP_NODE_41, BOOST_PP_NODE_43)
-# define BOOST_PP_NODE_41(p) BOOST_PP_IIF(p##(41), 41, 42)
-# define BOOST_PP_NODE_43(p) BOOST_PP_IIF(p##(43), 43, 44)
-# define BOOST_PP_NODE_46(p) BOOST_PP_IIF(p##(46), BOOST_PP_NODE_45, BOOST_PP_NODE_47)
-# define BOOST_PP_NODE_45(p) BOOST_PP_IIF(p##(45), 45, 46)
-# define BOOST_PP_NODE_47(p) BOOST_PP_IIF(p##(47), 47, 48)
-# define BOOST_PP_NODE_56(p) BOOST_PP_IIF(p##(56), BOOST_PP_NODE_52, BOOST_PP_NODE_60)
-# define BOOST_PP_NODE_52(p) BOOST_PP_IIF(p##(52), BOOST_PP_NODE_50, BOOST_PP_NODE_54)
-# define BOOST_PP_NODE_50(p) BOOST_PP_IIF(p##(50), BOOST_PP_NODE_49, BOOST_PP_NODE_51)
-# define BOOST_PP_NODE_49(p) BOOST_PP_IIF(p##(49), 49, 50)
-# define BOOST_PP_NODE_51(p) BOOST_PP_IIF(p##(51), 51, 52)
-# define BOOST_PP_NODE_54(p) BOOST_PP_IIF(p##(54), BOOST_PP_NODE_53, BOOST_PP_NODE_55)
-# define BOOST_PP_NODE_53(p) BOOST_PP_IIF(p##(53), 53, 54)
-# define BOOST_PP_NODE_55(p) BOOST_PP_IIF(p##(55), 55, 56)
-# define BOOST_PP_NODE_60(p) BOOST_PP_IIF(p##(60), BOOST_PP_NODE_58, BOOST_PP_NODE_62)
-# define BOOST_PP_NODE_58(p) BOOST_PP_IIF(p##(58), BOOST_PP_NODE_57, BOOST_PP_NODE_59)
-# define BOOST_PP_NODE_57(p) BOOST_PP_IIF(p##(57), 57, 58)
-# define BOOST_PP_NODE_59(p) BOOST_PP_IIF(p##(59), 59, 60)
-# define BOOST_PP_NODE_62(p) BOOST_PP_IIF(p##(62), BOOST_PP_NODE_61, BOOST_PP_NODE_63)
-# define BOOST_PP_NODE_61(p) BOOST_PP_IIF(p##(61), 61, 62)
-# define BOOST_PP_NODE_63(p) BOOST_PP_IIF(p##(63), 63, 64)
-# define BOOST_PP_NODE_96(p) BOOST_PP_IIF(p##(96), BOOST_PP_NODE_80, BOOST_PP_NODE_112)
-# define BOOST_PP_NODE_80(p) BOOST_PP_IIF(p##(80), BOOST_PP_NODE_72, BOOST_PP_NODE_88)
-# define BOOST_PP_NODE_72(p) BOOST_PP_IIF(p##(72), BOOST_PP_NODE_68, BOOST_PP_NODE_76)
-# define BOOST_PP_NODE_68(p) BOOST_PP_IIF(p##(68), BOOST_PP_NODE_66, BOOST_PP_NODE_70)
-# define BOOST_PP_NODE_66(p) BOOST_PP_IIF(p##(66), BOOST_PP_NODE_65, BOOST_PP_NODE_67)
-# define BOOST_PP_NODE_65(p) BOOST_PP_IIF(p##(65), 65, 66)
-# define BOOST_PP_NODE_67(p) BOOST_PP_IIF(p##(67), 67, 68)
-# define BOOST_PP_NODE_70(p) BOOST_PP_IIF(p##(70), BOOST_PP_NODE_69, BOOST_PP_NODE_71)
-# define BOOST_PP_NODE_69(p) BOOST_PP_IIF(p##(69), 69, 70)
-# define BOOST_PP_NODE_71(p) BOOST_PP_IIF(p##(71), 71, 72)
-# define BOOST_PP_NODE_76(p) BOOST_PP_IIF(p##(76), BOOST_PP_NODE_74, BOOST_PP_NODE_78)
-# define BOOST_PP_NODE_74(p) BOOST_PP_IIF(p##(74), BOOST_PP_NODE_73, BOOST_PP_NODE_75)
-# define BOOST_PP_NODE_73(p) BOOST_PP_IIF(p##(73), 73, 74)
-# define BOOST_PP_NODE_75(p) BOOST_PP_IIF(p##(75), 75, 76)
-# define BOOST_PP_NODE_78(p) BOOST_PP_IIF(p##(78), BOOST_PP_NODE_77, BOOST_PP_NODE_79)
-# define BOOST_PP_NODE_77(p) BOOST_PP_IIF(p##(77), 77, 78)
-# define BOOST_PP_NODE_79(p) BOOST_PP_IIF(p##(79), 79, 80)
-# define BOOST_PP_NODE_88(p) BOOST_PP_IIF(p##(88), BOOST_PP_NODE_84, BOOST_PP_NODE_92)
-# define BOOST_PP_NODE_84(p) BOOST_PP_IIF(p##(84), BOOST_PP_NODE_82, BOOST_PP_NODE_86)
-# define BOOST_PP_NODE_82(p) BOOST_PP_IIF(p##(82), BOOST_PP_NODE_81, BOOST_PP_NODE_83)
-# define BOOST_PP_NODE_81(p) BOOST_PP_IIF(p##(81), 81, 82)
-# define BOOST_PP_NODE_83(p) BOOST_PP_IIF(p##(83), 83, 84)
-# define BOOST_PP_NODE_86(p) BOOST_PP_IIF(p##(86), BOOST_PP_NODE_85, BOOST_PP_NODE_87)
-# define BOOST_PP_NODE_85(p) BOOST_PP_IIF(p##(85), 85, 86)
-# define BOOST_PP_NODE_87(p) BOOST_PP_IIF(p##(87), 87, 88)
-# define BOOST_PP_NODE_92(p) BOOST_PP_IIF(p##(92), BOOST_PP_NODE_90, BOOST_PP_NODE_94)
-# define BOOST_PP_NODE_90(p) BOOST_PP_IIF(p##(90), BOOST_PP_NODE_89, BOOST_PP_NODE_91)
-# define BOOST_PP_NODE_89(p) BOOST_PP_IIF(p##(89), 89, 90)
-# define BOOST_PP_NODE_91(p) BOOST_PP_IIF(p##(91), 91, 92)
-# define BOOST_PP_NODE_94(p) BOOST_PP_IIF(p##(94), BOOST_PP_NODE_93, BOOST_PP_NODE_95)
-# define BOOST_PP_NODE_93(p) BOOST_PP_IIF(p##(93), 93, 94)
-# define BOOST_PP_NODE_95(p) BOOST_PP_IIF(p##(95), 95, 96)
-# define BOOST_PP_NODE_112(p) BOOST_PP_IIF(p##(112), BOOST_PP_NODE_104, BOOST_PP_NODE_120)
-# define BOOST_PP_NODE_104(p) BOOST_PP_IIF(p##(104), BOOST_PP_NODE_100, BOOST_PP_NODE_108)
-# define BOOST_PP_NODE_100(p) BOOST_PP_IIF(p##(100), BOOST_PP_NODE_98, BOOST_PP_NODE_102)
-# define BOOST_PP_NODE_98(p) BOOST_PP_IIF(p##(98), BOOST_PP_NODE_97, BOOST_PP_NODE_99)
-# define BOOST_PP_NODE_97(p) BOOST_PP_IIF(p##(97), 97, 98)
-# define BOOST_PP_NODE_99(p) BOOST_PP_IIF(p##(99), 99, 100)
-# define BOOST_PP_NODE_102(p) BOOST_PP_IIF(p##(102), BOOST_PP_NODE_101, BOOST_PP_NODE_103)
-# define BOOST_PP_NODE_101(p) BOOST_PP_IIF(p##(101), 101, 102)
-# define BOOST_PP_NODE_103(p) BOOST_PP_IIF(p##(103), 103, 104)
-# define BOOST_PP_NODE_108(p) BOOST_PP_IIF(p##(108), BOOST_PP_NODE_106, BOOST_PP_NODE_110)
-# define BOOST_PP_NODE_106(p) BOOST_PP_IIF(p##(106), BOOST_PP_NODE_105, BOOST_PP_NODE_107)
-# define BOOST_PP_NODE_105(p) BOOST_PP_IIF(p##(105), 105, 106)
-# define BOOST_PP_NODE_107(p) BOOST_PP_IIF(p##(107), 107, 108)
-# define BOOST_PP_NODE_110(p) BOOST_PP_IIF(p##(110), BOOST_PP_NODE_109, BOOST_PP_NODE_111)
-# define BOOST_PP_NODE_109(p) BOOST_PP_IIF(p##(109), 109, 110)
-# define BOOST_PP_NODE_111(p) BOOST_PP_IIF(p##(111), 111, 112)
-# define BOOST_PP_NODE_120(p) BOOST_PP_IIF(p##(120), BOOST_PP_NODE_116, BOOST_PP_NODE_124)
-# define BOOST_PP_NODE_116(p) BOOST_PP_IIF(p##(116), BOOST_PP_NODE_114, BOOST_PP_NODE_118)
-# define BOOST_PP_NODE_114(p) BOOST_PP_IIF(p##(114), BOOST_PP_NODE_113, BOOST_PP_NODE_115)
-# define BOOST_PP_NODE_113(p) BOOST_PP_IIF(p##(113), 113, 114)
-# define BOOST_PP_NODE_115(p) BOOST_PP_IIF(p##(115), 115, 116)
-# define BOOST_PP_NODE_118(p) BOOST_PP_IIF(p##(118), BOOST_PP_NODE_117, BOOST_PP_NODE_119)
-# define BOOST_PP_NODE_117(p) BOOST_PP_IIF(p##(117), 117, 118)
-# define BOOST_PP_NODE_119(p) BOOST_PP_IIF(p##(119), 119, 120)
-# define BOOST_PP_NODE_124(p) BOOST_PP_IIF(p##(124), BOOST_PP_NODE_122, BOOST_PP_NODE_126)
-# define BOOST_PP_NODE_122(p) BOOST_PP_IIF(p##(122), BOOST_PP_NODE_121, BOOST_PP_NODE_123)
-# define BOOST_PP_NODE_121(p) BOOST_PP_IIF(p##(121), 121, 122)
-# define BOOST_PP_NODE_123(p) BOOST_PP_IIF(p##(123), 123, 124)
-# define BOOST_PP_NODE_126(p) BOOST_PP_IIF(p##(126), BOOST_PP_NODE_125, BOOST_PP_NODE_127)
-# define BOOST_PP_NODE_125(p) BOOST_PP_IIF(p##(125), 125, 126)
-# define BOOST_PP_NODE_127(p) BOOST_PP_IIF(p##(127), 127, 128)
-# define BOOST_PP_NODE_192(p) BOOST_PP_IIF(p##(192), BOOST_PP_NODE_160, BOOST_PP_NODE_224)
-# define BOOST_PP_NODE_160(p) BOOST_PP_IIF(p##(160), BOOST_PP_NODE_144, BOOST_PP_NODE_176)
-# define BOOST_PP_NODE_144(p) BOOST_PP_IIF(p##(144), BOOST_PP_NODE_136, BOOST_PP_NODE_152)
-# define BOOST_PP_NODE_136(p) BOOST_PP_IIF(p##(136), BOOST_PP_NODE_132, BOOST_PP_NODE_140)
-# define BOOST_PP_NODE_132(p) BOOST_PP_IIF(p##(132), BOOST_PP_NODE_130, BOOST_PP_NODE_134)
-# define BOOST_PP_NODE_130(p) BOOST_PP_IIF(p##(130), BOOST_PP_NODE_129, BOOST_PP_NODE_131)
-# define BOOST_PP_NODE_129(p) BOOST_PP_IIF(p##(129), 129, 130)
-# define BOOST_PP_NODE_131(p) BOOST_PP_IIF(p##(131), 131, 132)
-# define BOOST_PP_NODE_134(p) BOOST_PP_IIF(p##(134), BOOST_PP_NODE_133, BOOST_PP_NODE_135)
-# define BOOST_PP_NODE_133(p) BOOST_PP_IIF(p##(133), 133, 134)
-# define BOOST_PP_NODE_135(p) BOOST_PP_IIF(p##(135), 135, 136)
-# define BOOST_PP_NODE_140(p) BOOST_PP_IIF(p##(140), BOOST_PP_NODE_138, BOOST_PP_NODE_142)
-# define BOOST_PP_NODE_138(p) BOOST_PP_IIF(p##(138), BOOST_PP_NODE_137, BOOST_PP_NODE_139)
-# define BOOST_PP_NODE_137(p) BOOST_PP_IIF(p##(137), 137, 138)
-# define BOOST_PP_NODE_139(p) BOOST_PP_IIF(p##(139), 139, 140)
-# define BOOST_PP_NODE_142(p) BOOST_PP_IIF(p##(142), BOOST_PP_NODE_141, BOOST_PP_NODE_143)
-# define BOOST_PP_NODE_141(p) BOOST_PP_IIF(p##(141), 141, 142)
-# define BOOST_PP_NODE_143(p) BOOST_PP_IIF(p##(143), 143, 144)
-# define BOOST_PP_NODE_152(p) BOOST_PP_IIF(p##(152), BOOST_PP_NODE_148, BOOST_PP_NODE_156)
-# define BOOST_PP_NODE_148(p) BOOST_PP_IIF(p##(148), BOOST_PP_NODE_146, BOOST_PP_NODE_150)
-# define BOOST_PP_NODE_146(p) BOOST_PP_IIF(p##(146), BOOST_PP_NODE_145, BOOST_PP_NODE_147)
-# define BOOST_PP_NODE_145(p) BOOST_PP_IIF(p##(145), 145, 146)
-# define BOOST_PP_NODE_147(p) BOOST_PP_IIF(p##(147), 147, 148)
-# define BOOST_PP_NODE_150(p) BOOST_PP_IIF(p##(150), BOOST_PP_NODE_149, BOOST_PP_NODE_151)
-# define BOOST_PP_NODE_149(p) BOOST_PP_IIF(p##(149), 149, 150)
-# define BOOST_PP_NODE_151(p) BOOST_PP_IIF(p##(151), 151, 152)
-# define BOOST_PP_NODE_156(p) BOOST_PP_IIF(p##(156), BOOST_PP_NODE_154, BOOST_PP_NODE_158)
-# define BOOST_PP_NODE_154(p) BOOST_PP_IIF(p##(154), BOOST_PP_NODE_153, BOOST_PP_NODE_155)
-# define BOOST_PP_NODE_153(p) BOOST_PP_IIF(p##(153), 153, 154)
-# define BOOST_PP_NODE_155(p) BOOST_PP_IIF(p##(155), 155, 156)
-# define BOOST_PP_NODE_158(p) BOOST_PP_IIF(p##(158), BOOST_PP_NODE_157, BOOST_PP_NODE_159)
-# define BOOST_PP_NODE_157(p) BOOST_PP_IIF(p##(157), 157, 158)
-# define BOOST_PP_NODE_159(p) BOOST_PP_IIF(p##(159), 159, 160)
-# define BOOST_PP_NODE_176(p) BOOST_PP_IIF(p##(176), BOOST_PP_NODE_168, BOOST_PP_NODE_184)
-# define BOOST_PP_NODE_168(p) BOOST_PP_IIF(p##(168), BOOST_PP_NODE_164, BOOST_PP_NODE_172)
-# define BOOST_PP_NODE_164(p) BOOST_PP_IIF(p##(164), BOOST_PP_NODE_162, BOOST_PP_NODE_166)
-# define BOOST_PP_NODE_162(p) BOOST_PP_IIF(p##(162), BOOST_PP_NODE_161, BOOST_PP_NODE_163)
-# define BOOST_PP_NODE_161(p) BOOST_PP_IIF(p##(161), 161, 162)
-# define BOOST_PP_NODE_163(p) BOOST_PP_IIF(p##(163), 163, 164)
-# define BOOST_PP_NODE_166(p) BOOST_PP_IIF(p##(166), BOOST_PP_NODE_165, BOOST_PP_NODE_167)
-# define BOOST_PP_NODE_165(p) BOOST_PP_IIF(p##(165), 165, 166)
-# define BOOST_PP_NODE_167(p) BOOST_PP_IIF(p##(167), 167, 168)
-# define BOOST_PP_NODE_172(p) BOOST_PP_IIF(p##(172), BOOST_PP_NODE_170, BOOST_PP_NODE_174)
-# define BOOST_PP_NODE_170(p) BOOST_PP_IIF(p##(170), BOOST_PP_NODE_169, BOOST_PP_NODE_171)
-# define BOOST_PP_NODE_169(p) BOOST_PP_IIF(p##(169), 169, 170)
-# define BOOST_PP_NODE_171(p) BOOST_PP_IIF(p##(171), 171, 172)
-# define BOOST_PP_NODE_174(p) BOOST_PP_IIF(p##(174), BOOST_PP_NODE_173, BOOST_PP_NODE_175)
-# define BOOST_PP_NODE_173(p) BOOST_PP_IIF(p##(173), 173, 174)
-# define BOOST_PP_NODE_175(p) BOOST_PP_IIF(p##(175), 175, 176)
-# define BOOST_PP_NODE_184(p) BOOST_PP_IIF(p##(184), BOOST_PP_NODE_180, BOOST_PP_NODE_188)
-# define BOOST_PP_NODE_180(p) BOOST_PP_IIF(p##(180), BOOST_PP_NODE_178, BOOST_PP_NODE_182)
-# define BOOST_PP_NODE_178(p) BOOST_PP_IIF(p##(178), BOOST_PP_NODE_177, BOOST_PP_NODE_179)
-# define BOOST_PP_NODE_177(p) BOOST_PP_IIF(p##(177), 177, 178)
-# define BOOST_PP_NODE_179(p) BOOST_PP_IIF(p##(179), 179, 180)
-# define BOOST_PP_NODE_182(p) BOOST_PP_IIF(p##(182), BOOST_PP_NODE_181, BOOST_PP_NODE_183)
-# define BOOST_PP_NODE_181(p) BOOST_PP_IIF(p##(181), 181, 182)
-# define BOOST_PP_NODE_183(p) BOOST_PP_IIF(p##(183), 183, 184)
-# define BOOST_PP_NODE_188(p) BOOST_PP_IIF(p##(188), BOOST_PP_NODE_186, BOOST_PP_NODE_190)
-# define BOOST_PP_NODE_186(p) BOOST_PP_IIF(p##(186), BOOST_PP_NODE_185, BOOST_PP_NODE_187)
-# define BOOST_PP_NODE_185(p) BOOST_PP_IIF(p##(185), 185, 186)
-# define BOOST_PP_NODE_187(p) BOOST_PP_IIF(p##(187), 187, 188)
-# define BOOST_PP_NODE_190(p) BOOST_PP_IIF(p##(190), BOOST_PP_NODE_189, BOOST_PP_NODE_191)
-# define BOOST_PP_NODE_189(p) BOOST_PP_IIF(p##(189), 189, 190)
-# define BOOST_PP_NODE_191(p) BOOST_PP_IIF(p##(191), 191, 192)
-# define BOOST_PP_NODE_224(p) BOOST_PP_IIF(p##(224), BOOST_PP_NODE_208, BOOST_PP_NODE_240)
-# define BOOST_PP_NODE_208(p) BOOST_PP_IIF(p##(208), BOOST_PP_NODE_200, BOOST_PP_NODE_216)
-# define BOOST_PP_NODE_200(p) BOOST_PP_IIF(p##(200), BOOST_PP_NODE_196, BOOST_PP_NODE_204)
-# define BOOST_PP_NODE_196(p) BOOST_PP_IIF(p##(196), BOOST_PP_NODE_194, BOOST_PP_NODE_198)
-# define BOOST_PP_NODE_194(p) BOOST_PP_IIF(p##(194), BOOST_PP_NODE_193, BOOST_PP_NODE_195)
-# define BOOST_PP_NODE_193(p) BOOST_PP_IIF(p##(193), 193, 194)
-# define BOOST_PP_NODE_195(p) BOOST_PP_IIF(p##(195), 195, 196)
-# define BOOST_PP_NODE_198(p) BOOST_PP_IIF(p##(198), BOOST_PP_NODE_197, BOOST_PP_NODE_199)
-# define BOOST_PP_NODE_197(p) BOOST_PP_IIF(p##(197), 197, 198)
-# define BOOST_PP_NODE_199(p) BOOST_PP_IIF(p##(199), 199, 200)
-# define BOOST_PP_NODE_204(p) BOOST_PP_IIF(p##(204), BOOST_PP_NODE_202, BOOST_PP_NODE_206)
-# define BOOST_PP_NODE_202(p) BOOST_PP_IIF(p##(202), BOOST_PP_NODE_201, BOOST_PP_NODE_203)
-# define BOOST_PP_NODE_201(p) BOOST_PP_IIF(p##(201), 201, 202)
-# define BOOST_PP_NODE_203(p) BOOST_PP_IIF(p##(203), 203, 204)
-# define BOOST_PP_NODE_206(p) BOOST_PP_IIF(p##(206), BOOST_PP_NODE_205, BOOST_PP_NODE_207)
-# define BOOST_PP_NODE_205(p) BOOST_PP_IIF(p##(205), 205, 206)
-# define BOOST_PP_NODE_207(p) BOOST_PP_IIF(p##(207), 207, 208)
-# define BOOST_PP_NODE_216(p) BOOST_PP_IIF(p##(216), BOOST_PP_NODE_212, BOOST_PP_NODE_220)
-# define BOOST_PP_NODE_212(p) BOOST_PP_IIF(p##(212), BOOST_PP_NODE_210, BOOST_PP_NODE_214)
-# define BOOST_PP_NODE_210(p) BOOST_PP_IIF(p##(210), BOOST_PP_NODE_209, BOOST_PP_NODE_211)
-# define BOOST_PP_NODE_209(p) BOOST_PP_IIF(p##(209), 209, 210)
-# define BOOST_PP_NODE_211(p) BOOST_PP_IIF(p##(211), 211, 212)
-# define BOOST_PP_NODE_214(p) BOOST_PP_IIF(p##(214), BOOST_PP_NODE_213, BOOST_PP_NODE_215)
-# define BOOST_PP_NODE_213(p) BOOST_PP_IIF(p##(213), 213, 214)
-# define BOOST_PP_NODE_215(p) BOOST_PP_IIF(p##(215), 215, 216)
-# define BOOST_PP_NODE_220(p) BOOST_PP_IIF(p##(220), BOOST_PP_NODE_218, BOOST_PP_NODE_222)
-# define BOOST_PP_NODE_218(p) BOOST_PP_IIF(p##(218), BOOST_PP_NODE_217, BOOST_PP_NODE_219)
-# define BOOST_PP_NODE_217(p) BOOST_PP_IIF(p##(217), 217, 218)
-# define BOOST_PP_NODE_219(p) BOOST_PP_IIF(p##(219), 219, 220)
-# define BOOST_PP_NODE_222(p) BOOST_PP_IIF(p##(222), BOOST_PP_NODE_221, BOOST_PP_NODE_223)
-# define BOOST_PP_NODE_221(p) BOOST_PP_IIF(p##(221), 221, 222)
-# define BOOST_PP_NODE_223(p) BOOST_PP_IIF(p##(223), 223, 224)
-# define BOOST_PP_NODE_240(p) BOOST_PP_IIF(p##(240), BOOST_PP_NODE_232, BOOST_PP_NODE_248)
-# define BOOST_PP_NODE_232(p) BOOST_PP_IIF(p##(232), BOOST_PP_NODE_228, BOOST_PP_NODE_236)
-# define BOOST_PP_NODE_228(p) BOOST_PP_IIF(p##(228), BOOST_PP_NODE_226, BOOST_PP_NODE_230)
-# define BOOST_PP_NODE_226(p) BOOST_PP_IIF(p##(226), BOOST_PP_NODE_225, BOOST_PP_NODE_227)
-# define BOOST_PP_NODE_225(p) BOOST_PP_IIF(p##(225), 225, 226)
-# define BOOST_PP_NODE_227(p) BOOST_PP_IIF(p##(227), 227, 228)
-# define BOOST_PP_NODE_230(p) BOOST_PP_IIF(p##(230), BOOST_PP_NODE_229, BOOST_PP_NODE_231)
-# define BOOST_PP_NODE_229(p) BOOST_PP_IIF(p##(229), 229, 230)
-# define BOOST_PP_NODE_231(p) BOOST_PP_IIF(p##(231), 231, 232)
-# define BOOST_PP_NODE_236(p) BOOST_PP_IIF(p##(236), BOOST_PP_NODE_234, BOOST_PP_NODE_238)
-# define BOOST_PP_NODE_234(p) BOOST_PP_IIF(p##(234), BOOST_PP_NODE_233, BOOST_PP_NODE_235)
-# define BOOST_PP_NODE_233(p) BOOST_PP_IIF(p##(233), 233, 234)
-# define BOOST_PP_NODE_235(p) BOOST_PP_IIF(p##(235), 235, 236)
-# define BOOST_PP_NODE_238(p) BOOST_PP_IIF(p##(238), BOOST_PP_NODE_237, BOOST_PP_NODE_239)
-# define BOOST_PP_NODE_237(p) BOOST_PP_IIF(p##(237), 237, 238)
-# define BOOST_PP_NODE_239(p) BOOST_PP_IIF(p##(239), 239, 240)
-# define BOOST_PP_NODE_248(p) BOOST_PP_IIF(p##(248), BOOST_PP_NODE_244, BOOST_PP_NODE_252)
-# define BOOST_PP_NODE_244(p) BOOST_PP_IIF(p##(244), BOOST_PP_NODE_242, BOOST_PP_NODE_246)
-# define BOOST_PP_NODE_242(p) BOOST_PP_IIF(p##(242), BOOST_PP_NODE_241, BOOST_PP_NODE_243)
-# define BOOST_PP_NODE_241(p) BOOST_PP_IIF(p##(241), 241, 242)
-# define BOOST_PP_NODE_243(p) BOOST_PP_IIF(p##(243), 243, 244)
-# define BOOST_PP_NODE_246(p) BOOST_PP_IIF(p##(246), BOOST_PP_NODE_245, BOOST_PP_NODE_247)
-# define BOOST_PP_NODE_245(p) BOOST_PP_IIF(p##(245), 245, 246)
-# define BOOST_PP_NODE_247(p) BOOST_PP_IIF(p##(247), 247, 248)
-# define BOOST_PP_NODE_252(p) BOOST_PP_IIF(p##(252), BOOST_PP_NODE_250, BOOST_PP_NODE_254)
-# define BOOST_PP_NODE_250(p) BOOST_PP_IIF(p##(250), BOOST_PP_NODE_249, BOOST_PP_NODE_251)
-# define BOOST_PP_NODE_249(p) BOOST_PP_IIF(p##(249), 249, 250)
-# define BOOST_PP_NODE_251(p) BOOST_PP_IIF(p##(251), 251, 252)
-# define BOOST_PP_NODE_254(p) BOOST_PP_IIF(p##(254), BOOST_PP_NODE_253, BOOST_PP_NODE_255)
-# define BOOST_PP_NODE_253(p) BOOST_PP_IIF(p##(253), 253, 254)
-# define BOOST_PP_NODE_255(p) BOOST_PP_IIF(p##(255), 255, 256)
-#
-# endif
diff --git a/boost/preprocessor/detail/is_binary.hpp b/boost/preprocessor/detail/is_binary.hpp
deleted file mode 100644
index 3428833..0000000
--- a/boost/preprocessor/detail/is_binary.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_DETAIL_IS_BINARY_HPP
-# define BOOST_PREPROCESSOR_DETAIL_IS_BINARY_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/detail/check.hpp>
-#
-# /* BOOST_PP_IS_BINARY */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_IS_BINARY(x) BOOST_PP_CHECK(x, BOOST_PP_IS_BINARY_CHECK)
-# else
-# define BOOST_PP_IS_BINARY(x) BOOST_PP_IS_BINARY_I(x)
-# define BOOST_PP_IS_BINARY_I(x) BOOST_PP_CHECK(x, BOOST_PP_IS_BINARY_CHECK)
-# endif
-#
-# define BOOST_PP_IS_BINARY_CHECK(a, b) 1
-# define BOOST_PP_CHECK_RESULT_BOOST_PP_IS_BINARY_CHECK 0, BOOST_PP_NIL
-#
-# endif
diff --git a/boost/preprocessor/detail/is_unary.hpp b/boost/preprocessor/detail/is_unary.hpp
deleted file mode 100644
index e73cdfb..0000000
--- a/boost/preprocessor/detail/is_unary.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_DETAIL_IS_UNARY_HPP
-# define BOOST_PREPROCESSOR_DETAIL_IS_UNARY_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/detail/check.hpp>
-#
-# /* BOOST_PP_IS_UNARY */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_IS_UNARY(x) BOOST_PP_CHECK(x, BOOST_PP_IS_UNARY_CHECK)
-# else
-# define BOOST_PP_IS_UNARY(x) BOOST_PP_IS_UNARY_I(x)
-# define BOOST_PP_IS_UNARY_I(x) BOOST_PP_CHECK(x, BOOST_PP_IS_UNARY_CHECK)
-# endif
-#
-# define BOOST_PP_IS_UNARY_CHECK(a) 1
-# define BOOST_PP_CHECK_RESULT_BOOST_PP_IS_UNARY_CHECK 0, BOOST_PP_NIL
-#
-# endif
diff --git a/boost/preprocessor/empty.hpp b/boost/preprocessor/empty.hpp
deleted file mode 100644
index 116ef74..0000000
--- a/boost/preprocessor/empty.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_EMPTY_HPP
-# define BOOST_PREPROCESSOR_EMPTY_HPP
-#
-# include <boost/preprocessor/facilities/empty.hpp>
-#
-# endif
diff --git a/boost/preprocessor/enum.hpp b/boost/preprocessor/enum.hpp
deleted file mode 100644
index ae05bb0..0000000
--- a/boost/preprocessor/enum.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_ENUM_HPP
-# define BOOST_PREPROCESSOR_ENUM_HPP
-#
-# include <boost/preprocessor/repetition/enum.hpp>
-#
-# endif
diff --git a/boost/preprocessor/enum_params.hpp b/boost/preprocessor/enum_params.hpp
deleted file mode 100644
index 414f8aa..0000000
--- a/boost/preprocessor/enum_params.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_ENUM_PARAMS_HPP
-# define BOOST_PREPROCESSOR_ENUM_PARAMS_HPP
-#
-# include <boost/preprocessor/repetition/enum_params.hpp>
-#
-# endif
diff --git a/boost/preprocessor/enum_params_with_a_default.hpp b/boost/preprocessor/enum_params_with_a_default.hpp
deleted file mode 100644
index fd1ad4c..0000000
--- a/boost/preprocessor/enum_params_with_a_default.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT_HPP
-# define BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT_HPP
-#
-# include <boost/preprocessor/repetition/enum_params_with_a_default.hpp>
-#
-# endif
diff --git a/boost/preprocessor/enum_shifted_params.hpp b/boost/preprocessor/enum_shifted_params.hpp
deleted file mode 100644
index 462c642..0000000
--- a/boost/preprocessor/enum_shifted_params.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS_HPP
-# define BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS_HPP
-#
-# include <boost/preprocessor/repetition/enum_shifted_params.hpp>
-#
-# endif
diff --git a/boost/preprocessor/expr_if.hpp b/boost/preprocessor/expr_if.hpp
deleted file mode 100644
index f93e29b..0000000
--- a/boost/preprocessor/expr_if.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_EXPR_IF_HPP
-# define BOOST_PREPROCESSOR_EXPR_IF_HPP
-#
-# include <boost/preprocessor/control/expr_if.hpp>
-#
-# endif
diff --git a/boost/preprocessor/facilities/empty.hpp b/boost/preprocessor/facilities/empty.hpp
deleted file mode 100644
index 46db190..0000000
--- a/boost/preprocessor/facilities/empty.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_FACILITIES_EMPTY_HPP
-# define BOOST_PREPROCESSOR_FACILITIES_EMPTY_HPP
-#
-# /* BOOST_PP_EMPTY */
-#
-# define BOOST_PP_EMPTY()
-#
-# endif
diff --git a/boost/preprocessor/facilities/identity.hpp b/boost/preprocessor/facilities/identity.hpp
deleted file mode 100644
index 13ec4ca..0000000
--- a/boost/preprocessor/facilities/identity.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_FACILITIES_IDENTITY_HPP
-# define BOOST_PREPROCESSOR_FACILITIES_IDENTITY_HPP
-#
-# include <boost/preprocessor/facilities/empty.hpp>
-#
-# /* BOOST_PP_IDENTITY */
-#
-# define BOOST_PP_IDENTITY(item) item BOOST_PP_EMPTY
-#
-# endif
diff --git a/boost/preprocessor/facilities/intercept.hpp b/boost/preprocessor/facilities/intercept.hpp
deleted file mode 100644
index 41dcc6a..0000000
--- a/boost/preprocessor/facilities/intercept.hpp
+++ /dev/null
@@ -1,277 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_FACILITIES_INTERCEPT_HPP
-# define BOOST_PREPROCESSOR_FACILITIES_INTERCEPT_HPP
-#
-# /* BOOST_PP_INTERCEPT */
-#
-# define BOOST_PP_INTERCEPT BOOST_PP_INTERCEPT_
-#
-# define BOOST_PP_INTERCEPT_0
-# define BOOST_PP_INTERCEPT_1
-# define BOOST_PP_INTERCEPT_2
-# define BOOST_PP_INTERCEPT_3
-# define BOOST_PP_INTERCEPT_4
-# define BOOST_PP_INTERCEPT_5
-# define BOOST_PP_INTERCEPT_6
-# define BOOST_PP_INTERCEPT_7
-# define BOOST_PP_INTERCEPT_8
-# define BOOST_PP_INTERCEPT_9
-# define BOOST_PP_INTERCEPT_10
-# define BOOST_PP_INTERCEPT_11
-# define BOOST_PP_INTERCEPT_12
-# define BOOST_PP_INTERCEPT_13
-# define BOOST_PP_INTERCEPT_14
-# define BOOST_PP_INTERCEPT_15
-# define BOOST_PP_INTERCEPT_16
-# define BOOST_PP_INTERCEPT_17
-# define BOOST_PP_INTERCEPT_18
-# define BOOST_PP_INTERCEPT_19
-# define BOOST_PP_INTERCEPT_20
-# define BOOST_PP_INTERCEPT_21
-# define BOOST_PP_INTERCEPT_22
-# define BOOST_PP_INTERCEPT_23
-# define BOOST_PP_INTERCEPT_24
-# define BOOST_PP_INTERCEPT_25
-# define BOOST_PP_INTERCEPT_26
-# define BOOST_PP_INTERCEPT_27
-# define BOOST_PP_INTERCEPT_28
-# define BOOST_PP_INTERCEPT_29
-# define BOOST_PP_INTERCEPT_30
-# define BOOST_PP_INTERCEPT_31
-# define BOOST_PP_INTERCEPT_32
-# define BOOST_PP_INTERCEPT_33
-# define BOOST_PP_INTERCEPT_34
-# define BOOST_PP_INTERCEPT_35
-# define BOOST_PP_INTERCEPT_36
-# define BOOST_PP_INTERCEPT_37
-# define BOOST_PP_INTERCEPT_38
-# define BOOST_PP_INTERCEPT_39
-# define BOOST_PP_INTERCEPT_40
-# define BOOST_PP_INTERCEPT_41
-# define BOOST_PP_INTERCEPT_42
-# define BOOST_PP_INTERCEPT_43
-# define BOOST_PP_INTERCEPT_44
-# define BOOST_PP_INTERCEPT_45
-# define BOOST_PP_INTERCEPT_46
-# define BOOST_PP_INTERCEPT_47
-# define BOOST_PP_INTERCEPT_48
-# define BOOST_PP_INTERCEPT_49
-# define BOOST_PP_INTERCEPT_50
-# define BOOST_PP_INTERCEPT_51
-# define BOOST_PP_INTERCEPT_52
-# define BOOST_PP_INTERCEPT_53
-# define BOOST_PP_INTERCEPT_54
-# define BOOST_PP_INTERCEPT_55
-# define BOOST_PP_INTERCEPT_56
-# define BOOST_PP_INTERCEPT_57
-# define BOOST_PP_INTERCEPT_58
-# define BOOST_PP_INTERCEPT_59
-# define BOOST_PP_INTERCEPT_60
-# define BOOST_PP_INTERCEPT_61
-# define BOOST_PP_INTERCEPT_62
-# define BOOST_PP_INTERCEPT_63
-# define BOOST_PP_INTERCEPT_64
-# define BOOST_PP_INTERCEPT_65
-# define BOOST_PP_INTERCEPT_66
-# define BOOST_PP_INTERCEPT_67
-# define BOOST_PP_INTERCEPT_68
-# define BOOST_PP_INTERCEPT_69
-# define BOOST_PP_INTERCEPT_70
-# define BOOST_PP_INTERCEPT_71
-# define BOOST_PP_INTERCEPT_72
-# define BOOST_PP_INTERCEPT_73
-# define BOOST_PP_INTERCEPT_74
-# define BOOST_PP_INTERCEPT_75
-# define BOOST_PP_INTERCEPT_76
-# define BOOST_PP_INTERCEPT_77
-# define BOOST_PP_INTERCEPT_78
-# define BOOST_PP_INTERCEPT_79
-# define BOOST_PP_INTERCEPT_80
-# define BOOST_PP_INTERCEPT_81
-# define BOOST_PP_INTERCEPT_82
-# define BOOST_PP_INTERCEPT_83
-# define BOOST_PP_INTERCEPT_84
-# define BOOST_PP_INTERCEPT_85
-# define BOOST_PP_INTERCEPT_86
-# define BOOST_PP_INTERCEPT_87
-# define BOOST_PP_INTERCEPT_88
-# define BOOST_PP_INTERCEPT_89
-# define BOOST_PP_INTERCEPT_90
-# define BOOST_PP_INTERCEPT_91
-# define BOOST_PP_INTERCEPT_92
-# define BOOST_PP_INTERCEPT_93
-# define BOOST_PP_INTERCEPT_94
-# define BOOST_PP_INTERCEPT_95
-# define BOOST_PP_INTERCEPT_96
-# define BOOST_PP_INTERCEPT_97
-# define BOOST_PP_INTERCEPT_98
-# define BOOST_PP_INTERCEPT_99
-# define BOOST_PP_INTERCEPT_100
-# define BOOST_PP_INTERCEPT_101
-# define BOOST_PP_INTERCEPT_102
-# define BOOST_PP_INTERCEPT_103
-# define BOOST_PP_INTERCEPT_104
-# define BOOST_PP_INTERCEPT_105
-# define BOOST_PP_INTERCEPT_106
-# define BOOST_PP_INTERCEPT_107
-# define BOOST_PP_INTERCEPT_108
-# define BOOST_PP_INTERCEPT_109
-# define BOOST_PP_INTERCEPT_110
-# define BOOST_PP_INTERCEPT_111
-# define BOOST_PP_INTERCEPT_112
-# define BOOST_PP_INTERCEPT_113
-# define BOOST_PP_INTERCEPT_114
-# define BOOST_PP_INTERCEPT_115
-# define BOOST_PP_INTERCEPT_116
-# define BOOST_PP_INTERCEPT_117
-# define BOOST_PP_INTERCEPT_118
-# define BOOST_PP_INTERCEPT_119
-# define BOOST_PP_INTERCEPT_120
-# define BOOST_PP_INTERCEPT_121
-# define BOOST_PP_INTERCEPT_122
-# define BOOST_PP_INTERCEPT_123
-# define BOOST_PP_INTERCEPT_124
-# define BOOST_PP_INTERCEPT_125
-# define BOOST_PP_INTERCEPT_126
-# define BOOST_PP_INTERCEPT_127
-# define BOOST_PP_INTERCEPT_128
-# define BOOST_PP_INTERCEPT_129
-# define BOOST_PP_INTERCEPT_130
-# define BOOST_PP_INTERCEPT_131
-# define BOOST_PP_INTERCEPT_132
-# define BOOST_PP_INTERCEPT_133
-# define BOOST_PP_INTERCEPT_134
-# define BOOST_PP_INTERCEPT_135
-# define BOOST_PP_INTERCEPT_136
-# define BOOST_PP_INTERCEPT_137
-# define BOOST_PP_INTERCEPT_138
-# define BOOST_PP_INTERCEPT_139
-# define BOOST_PP_INTERCEPT_140
-# define BOOST_PP_INTERCEPT_141
-# define BOOST_PP_INTERCEPT_142
-# define BOOST_PP_INTERCEPT_143
-# define BOOST_PP_INTERCEPT_144
-# define BOOST_PP_INTERCEPT_145
-# define BOOST_PP_INTERCEPT_146
-# define BOOST_PP_INTERCEPT_147
-# define BOOST_PP_INTERCEPT_148
-# define BOOST_PP_INTERCEPT_149
-# define BOOST_PP_INTERCEPT_150
-# define BOOST_PP_INTERCEPT_151
-# define BOOST_PP_INTERCEPT_152
-# define BOOST_PP_INTERCEPT_153
-# define BOOST_PP_INTERCEPT_154
-# define BOOST_PP_INTERCEPT_155
-# define BOOST_PP_INTERCEPT_156
-# define BOOST_PP_INTERCEPT_157
-# define BOOST_PP_INTERCEPT_158
-# define BOOST_PP_INTERCEPT_159
-# define BOOST_PP_INTERCEPT_160
-# define BOOST_PP_INTERCEPT_161
-# define BOOST_PP_INTERCEPT_162
-# define BOOST_PP_INTERCEPT_163
-# define BOOST_PP_INTERCEPT_164
-# define BOOST_PP_INTERCEPT_165
-# define BOOST_PP_INTERCEPT_166
-# define BOOST_PP_INTERCEPT_167
-# define BOOST_PP_INTERCEPT_168
-# define BOOST_PP_INTERCEPT_169
-# define BOOST_PP_INTERCEPT_170
-# define BOOST_PP_INTERCEPT_171
-# define BOOST_PP_INTERCEPT_172
-# define BOOST_PP_INTERCEPT_173
-# define BOOST_PP_INTERCEPT_174
-# define BOOST_PP_INTERCEPT_175
-# define BOOST_PP_INTERCEPT_176
-# define BOOST_PP_INTERCEPT_177
-# define BOOST_PP_INTERCEPT_178
-# define BOOST_PP_INTERCEPT_179
-# define BOOST_PP_INTERCEPT_180
-# define BOOST_PP_INTERCEPT_181
-# define BOOST_PP_INTERCEPT_182
-# define BOOST_PP_INTERCEPT_183
-# define BOOST_PP_INTERCEPT_184
-# define BOOST_PP_INTERCEPT_185
-# define BOOST_PP_INTERCEPT_186
-# define BOOST_PP_INTERCEPT_187
-# define BOOST_PP_INTERCEPT_188
-# define BOOST_PP_INTERCEPT_189
-# define BOOST_PP_INTERCEPT_190
-# define BOOST_PP_INTERCEPT_191
-# define BOOST_PP_INTERCEPT_192
-# define BOOST_PP_INTERCEPT_193
-# define BOOST_PP_INTERCEPT_194
-# define BOOST_PP_INTERCEPT_195
-# define BOOST_PP_INTERCEPT_196
-# define BOOST_PP_INTERCEPT_197
-# define BOOST_PP_INTERCEPT_198
-# define BOOST_PP_INTERCEPT_199
-# define BOOST_PP_INTERCEPT_200
-# define BOOST_PP_INTERCEPT_201
-# define BOOST_PP_INTERCEPT_202
-# define BOOST_PP_INTERCEPT_203
-# define BOOST_PP_INTERCEPT_204
-# define BOOST_PP_INTERCEPT_205
-# define BOOST_PP_INTERCEPT_206
-# define BOOST_PP_INTERCEPT_207
-# define BOOST_PP_INTERCEPT_208
-# define BOOST_PP_INTERCEPT_209
-# define BOOST_PP_INTERCEPT_210
-# define BOOST_PP_INTERCEPT_211
-# define BOOST_PP_INTERCEPT_212
-# define BOOST_PP_INTERCEPT_213
-# define BOOST_PP_INTERCEPT_214
-# define BOOST_PP_INTERCEPT_215
-# define BOOST_PP_INTERCEPT_216
-# define BOOST_PP_INTERCEPT_217
-# define BOOST_PP_INTERCEPT_218
-# define BOOST_PP_INTERCEPT_219
-# define BOOST_PP_INTERCEPT_220
-# define BOOST_PP_INTERCEPT_221
-# define BOOST_PP_INTERCEPT_222
-# define BOOST_PP_INTERCEPT_223
-# define BOOST_PP_INTERCEPT_224
-# define BOOST_PP_INTERCEPT_225
-# define BOOST_PP_INTERCEPT_226
-# define BOOST_PP_INTERCEPT_227
-# define BOOST_PP_INTERCEPT_228
-# define BOOST_PP_INTERCEPT_229
-# define BOOST_PP_INTERCEPT_230
-# define BOOST_PP_INTERCEPT_231
-# define BOOST_PP_INTERCEPT_232
-# define BOOST_PP_INTERCEPT_233
-# define BOOST_PP_INTERCEPT_234
-# define BOOST_PP_INTERCEPT_235
-# define BOOST_PP_INTERCEPT_236
-# define BOOST_PP_INTERCEPT_237
-# define BOOST_PP_INTERCEPT_238
-# define BOOST_PP_INTERCEPT_239
-# define BOOST_PP_INTERCEPT_240
-# define BOOST_PP_INTERCEPT_241
-# define BOOST_PP_INTERCEPT_242
-# define BOOST_PP_INTERCEPT_243
-# define BOOST_PP_INTERCEPT_244
-# define BOOST_PP_INTERCEPT_245
-# define BOOST_PP_INTERCEPT_246
-# define BOOST_PP_INTERCEPT_247
-# define BOOST_PP_INTERCEPT_248
-# define BOOST_PP_INTERCEPT_249
-# define BOOST_PP_INTERCEPT_250
-# define BOOST_PP_INTERCEPT_251
-# define BOOST_PP_INTERCEPT_252
-# define BOOST_PP_INTERCEPT_253
-# define BOOST_PP_INTERCEPT_254
-# define BOOST_PP_INTERCEPT_255
-# define BOOST_PP_INTERCEPT_256
-#
-# endif
diff --git a/boost/preprocessor/facilities/overload.hpp b/boost/preprocessor/facilities/overload.hpp
deleted file mode 100644
index 1576316..0000000
--- a/boost/preprocessor/facilities/overload.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2011. *
-# * (C) Copyright Edward Diener 2011. *
-# * Distributed under the Boost Software License, Version 1.0. (See *
-# * accompanying file LICENSE_1_0.txt or copy at *
-# * http://www.boost.org/LICENSE_1_0.txt) *
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_FACILITIES_OVERLOAD_HPP
-# define BOOST_PREPROCESSOR_FACILITIES_OVERLOAD_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/variadic/size.hpp>
-#
-# /* BOOST_PP_OVERLOAD */
-#
-# if BOOST_PP_VARIADICS
-# define BOOST_PP_OVERLOAD(prefix, ...) BOOST_PP_CAT(prefix, BOOST_PP_VARIADIC_SIZE(__VA_ARGS__))
-# endif
-#
-# endif
diff --git a/boost/preprocessor/identity.hpp b/boost/preprocessor/identity.hpp
deleted file mode 100644
index 847dd13..0000000
--- a/boost/preprocessor/identity.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_IDENTITY_HPP
-# define BOOST_PREPROCESSOR_IDENTITY_HPP
-#
-# include <boost/preprocessor/facilities/identity.hpp>
-#
-# endif
diff --git a/boost/preprocessor/if.hpp b/boost/preprocessor/if.hpp
deleted file mode 100644
index f1783f7..0000000
--- a/boost/preprocessor/if.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_IF_HPP
-# define BOOST_PREPROCESSOR_IF_HPP
-#
-# include <boost/preprocessor/control/if.hpp>
-#
-# endif
diff --git a/boost/preprocessor/inc.hpp b/boost/preprocessor/inc.hpp
deleted file mode 100644
index b98d3a6..0000000
--- a/boost/preprocessor/inc.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_INC_HPP
-# define BOOST_PREPROCESSOR_INC_HPP
-#
-# include <boost/preprocessor/arithmetic/inc.hpp>
-#
-# endif
diff --git a/boost/preprocessor/iterate.hpp b/boost/preprocessor/iterate.hpp
deleted file mode 100644
index e720ec8..0000000
--- a/boost/preprocessor/iterate.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_ITERATE_HPP
-# define BOOST_PREPROCESSOR_ITERATE_HPP
-#
-# include <boost/preprocessor/iteration/iterate.hpp>
-#
-# endif
diff --git a/boost/preprocessor/iteration/detail/bounds/lower1.hpp b/boost/preprocessor/iteration/detail/bounds/lower1.hpp
deleted file mode 100644
index 6694d0b..0000000
--- a/boost/preprocessor/iteration/detail/bounds/lower1.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# include <boost/preprocessor/slot/detail/shared.hpp>
-#
-# undef BOOST_PP_ITERATION_START_1
-#
-# undef BOOST_PP_ITERATION_START_1_DIGIT_1
-# undef BOOST_PP_ITERATION_START_1_DIGIT_2
-# undef BOOST_PP_ITERATION_START_1_DIGIT_3
-# undef BOOST_PP_ITERATION_START_1_DIGIT_4
-# undef BOOST_PP_ITERATION_START_1_DIGIT_5
-# undef BOOST_PP_ITERATION_START_1_DIGIT_6
-# undef BOOST_PP_ITERATION_START_1_DIGIT_7
-# undef BOOST_PP_ITERATION_START_1_DIGIT_8
-# undef BOOST_PP_ITERATION_START_1_DIGIT_9
-# undef BOOST_PP_ITERATION_START_1_DIGIT_10
-#
-# if BOOST_PP_SLOT_TEMP_3 == 0
-# define BOOST_PP_ITERATION_START_1_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-# define BOOST_PP_ITERATION_START_1_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-# define BOOST_PP_ITERATION_START_1_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-# define BOOST_PP_ITERATION_START_1_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-# define BOOST_PP_ITERATION_START_1_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-# define BOOST_PP_ITERATION_START_1_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-# define BOOST_PP_ITERATION_START_1_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-# define BOOST_PP_ITERATION_START_1_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-# define BOOST_PP_ITERATION_START_1_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-# define BOOST_PP_ITERATION_START_1_DIGIT_3 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_2 == 0
-# define BOOST_PP_ITERATION_START_1_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-# define BOOST_PP_ITERATION_START_1_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-# define BOOST_PP_ITERATION_START_1_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-# define BOOST_PP_ITERATION_START_1_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-# define BOOST_PP_ITERATION_START_1_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-# define BOOST_PP_ITERATION_START_1_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-# define BOOST_PP_ITERATION_START_1_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-# define BOOST_PP_ITERATION_START_1_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-# define BOOST_PP_ITERATION_START_1_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-# define BOOST_PP_ITERATION_START_1_DIGIT_2 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_1 == 0
-# define BOOST_PP_ITERATION_START_1_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-# define BOOST_PP_ITERATION_START_1_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-# define BOOST_PP_ITERATION_START_1_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-# define BOOST_PP_ITERATION_START_1_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-# define BOOST_PP_ITERATION_START_1_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-# define BOOST_PP_ITERATION_START_1_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-# define BOOST_PP_ITERATION_START_1_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-# define BOOST_PP_ITERATION_START_1_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-# define BOOST_PP_ITERATION_START_1_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-# define BOOST_PP_ITERATION_START_1_DIGIT_1 9
-# endif
-#
-# if BOOST_PP_ITERATION_START_1_DIGIT_3
-# define BOOST_PP_ITERATION_START_1 BOOST_PP_SLOT_CC_3(BOOST_PP_ITERATION_START_1_DIGIT_3, BOOST_PP_ITERATION_START_1_DIGIT_2, BOOST_PP_ITERATION_START_1_DIGIT_1)
-# elif BOOST_PP_ITERATION_START_1_DIGIT_2
-# define BOOST_PP_ITERATION_START_1 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_START_1_DIGIT_2, BOOST_PP_ITERATION_START_1_DIGIT_1)
-# else
-# define BOOST_PP_ITERATION_START_1 BOOST_PP_ITERATION_START_1_DIGIT_1
-# endif
diff --git a/boost/preprocessor/iteration/detail/bounds/lower2.hpp b/boost/preprocessor/iteration/detail/bounds/lower2.hpp
deleted file mode 100644
index ece21fc..0000000
--- a/boost/preprocessor/iteration/detail/bounds/lower2.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# include <boost/preprocessor/slot/detail/shared.hpp>
-#
-# undef BOOST_PP_ITERATION_START_2
-#
-# undef BOOST_PP_ITERATION_START_2_DIGIT_1
-# undef BOOST_PP_ITERATION_START_2_DIGIT_2
-# undef BOOST_PP_ITERATION_START_2_DIGIT_3
-# undef BOOST_PP_ITERATION_START_2_DIGIT_4
-# undef BOOST_PP_ITERATION_START_2_DIGIT_5
-# undef BOOST_PP_ITERATION_START_2_DIGIT_6
-# undef BOOST_PP_ITERATION_START_2_DIGIT_7
-# undef BOOST_PP_ITERATION_START_2_DIGIT_8
-# undef BOOST_PP_ITERATION_START_2_DIGIT_9
-# undef BOOST_PP_ITERATION_START_2_DIGIT_10
-#
-# if BOOST_PP_SLOT_TEMP_3 == 0
-# define BOOST_PP_ITERATION_START_2_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-# define BOOST_PP_ITERATION_START_2_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-# define BOOST_PP_ITERATION_START_2_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-# define BOOST_PP_ITERATION_START_2_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-# define BOOST_PP_ITERATION_START_2_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-# define BOOST_PP_ITERATION_START_2_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-# define BOOST_PP_ITERATION_START_2_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-# define BOOST_PP_ITERATION_START_2_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-# define BOOST_PP_ITERATION_START_2_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-# define BOOST_PP_ITERATION_START_2_DIGIT_3 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_2 == 0
-# define BOOST_PP_ITERATION_START_2_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-# define BOOST_PP_ITERATION_START_2_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-# define BOOST_PP_ITERATION_START_2_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-# define BOOST_PP_ITERATION_START_2_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-# define BOOST_PP_ITERATION_START_2_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-# define BOOST_PP_ITERATION_START_2_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-# define BOOST_PP_ITERATION_START_2_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-# define BOOST_PP_ITERATION_START_2_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-# define BOOST_PP_ITERATION_START_2_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-# define BOOST_PP_ITERATION_START_2_DIGIT_2 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_1 == 0
-# define BOOST_PP_ITERATION_START_2_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-# define BOOST_PP_ITERATION_START_2_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-# define BOOST_PP_ITERATION_START_2_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-# define BOOST_PP_ITERATION_START_2_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-# define BOOST_PP_ITERATION_START_2_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-# define BOOST_PP_ITERATION_START_2_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-# define BOOST_PP_ITERATION_START_2_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-# define BOOST_PP_ITERATION_START_2_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-# define BOOST_PP_ITERATION_START_2_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-# define BOOST_PP_ITERATION_START_2_DIGIT_1 9
-# endif
-#
-# if BOOST_PP_ITERATION_START_2_DIGIT_3
-# define BOOST_PP_ITERATION_START_2 BOOST_PP_SLOT_CC_3(BOOST_PP_ITERATION_START_2_DIGIT_3, BOOST_PP_ITERATION_START_2_DIGIT_2, BOOST_PP_ITERATION_START_2_DIGIT_1)
-# elif BOOST_PP_ITERATION_START_2_DIGIT_2
-# define BOOST_PP_ITERATION_START_2 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_START_2_DIGIT_2, BOOST_PP_ITERATION_START_2_DIGIT_1)
-# else
-# define BOOST_PP_ITERATION_START_2 BOOST_PP_ITERATION_START_2_DIGIT_1
-# endif
diff --git a/boost/preprocessor/iteration/detail/bounds/lower3.hpp b/boost/preprocessor/iteration/detail/bounds/lower3.hpp
deleted file mode 100644
index 8429eac..0000000
--- a/boost/preprocessor/iteration/detail/bounds/lower3.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# include <boost/preprocessor/slot/detail/shared.hpp>
-#
-# undef BOOST_PP_ITERATION_START_3
-#
-# undef BOOST_PP_ITERATION_START_3_DIGIT_1
-# undef BOOST_PP_ITERATION_START_3_DIGIT_2
-# undef BOOST_PP_ITERATION_START_3_DIGIT_3
-# undef BOOST_PP_ITERATION_START_3_DIGIT_4
-# undef BOOST_PP_ITERATION_START_3_DIGIT_5
-# undef BOOST_PP_ITERATION_START_3_DIGIT_6
-# undef BOOST_PP_ITERATION_START_3_DIGIT_7
-# undef BOOST_PP_ITERATION_START_3_DIGIT_8
-# undef BOOST_PP_ITERATION_START_3_DIGIT_9
-# undef BOOST_PP_ITERATION_START_3_DIGIT_10
-#
-# if BOOST_PP_SLOT_TEMP_3 == 0
-# define BOOST_PP_ITERATION_START_3_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-# define BOOST_PP_ITERATION_START_3_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-# define BOOST_PP_ITERATION_START_3_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-# define BOOST_PP_ITERATION_START_3_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-# define BOOST_PP_ITERATION_START_3_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-# define BOOST_PP_ITERATION_START_3_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-# define BOOST_PP_ITERATION_START_3_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-# define BOOST_PP_ITERATION_START_3_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-# define BOOST_PP_ITERATION_START_3_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-# define BOOST_PP_ITERATION_START_3_DIGIT_3 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_2 == 0
-# define BOOST_PP_ITERATION_START_3_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-# define BOOST_PP_ITERATION_START_3_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-# define BOOST_PP_ITERATION_START_3_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-# define BOOST_PP_ITERATION_START_3_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-# define BOOST_PP_ITERATION_START_3_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-# define BOOST_PP_ITERATION_START_3_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-# define BOOST_PP_ITERATION_START_3_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-# define BOOST_PP_ITERATION_START_3_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-# define BOOST_PP_ITERATION_START_3_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-# define BOOST_PP_ITERATION_START_3_DIGIT_2 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_1 == 0
-# define BOOST_PP_ITERATION_START_3_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-# define BOOST_PP_ITERATION_START_3_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-# define BOOST_PP_ITERATION_START_3_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-# define BOOST_PP_ITERATION_START_3_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-# define BOOST_PP_ITERATION_START_3_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-# define BOOST_PP_ITERATION_START_3_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-# define BOOST_PP_ITERATION_START_3_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-# define BOOST_PP_ITERATION_START_3_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-# define BOOST_PP_ITERATION_START_3_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-# define BOOST_PP_ITERATION_START_3_DIGIT_1 9
-# endif
-#
-# if BOOST_PP_ITERATION_START_3_DIGIT_3
-# define BOOST_PP_ITERATION_START_3 BOOST_PP_SLOT_CC_3(BOOST_PP_ITERATION_START_3_DIGIT_3, BOOST_PP_ITERATION_START_3_DIGIT_2, BOOST_PP_ITERATION_START_3_DIGIT_1)
-# elif BOOST_PP_ITERATION_START_3_DIGIT_2
-# define BOOST_PP_ITERATION_START_3 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_START_3_DIGIT_2, BOOST_PP_ITERATION_START_3_DIGIT_1)
-# else
-# define BOOST_PP_ITERATION_START_3 BOOST_PP_ITERATION_START_3_DIGIT_1
-# endif
diff --git a/boost/preprocessor/iteration/detail/bounds/lower4.hpp b/boost/preprocessor/iteration/detail/bounds/lower4.hpp
deleted file mode 100644
index ba0832f..0000000
--- a/boost/preprocessor/iteration/detail/bounds/lower4.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# include <boost/preprocessor/slot/detail/shared.hpp>
-#
-# undef BOOST_PP_ITERATION_START_4
-#
-# undef BOOST_PP_ITERATION_START_4_DIGIT_1
-# undef BOOST_PP_ITERATION_START_4_DIGIT_2
-# undef BOOST_PP_ITERATION_START_4_DIGIT_3
-# undef BOOST_PP_ITERATION_START_4_DIGIT_4
-# undef BOOST_PP_ITERATION_START_4_DIGIT_5
-# undef BOOST_PP_ITERATION_START_4_DIGIT_6
-# undef BOOST_PP_ITERATION_START_4_DIGIT_7
-# undef BOOST_PP_ITERATION_START_4_DIGIT_8
-# undef BOOST_PP_ITERATION_START_4_DIGIT_9
-# undef BOOST_PP_ITERATION_START_4_DIGIT_10
-#
-# if BOOST_PP_SLOT_TEMP_3 == 0
-# define BOOST_PP_ITERATION_START_4_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-# define BOOST_PP_ITERATION_START_4_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-# define BOOST_PP_ITERATION_START_4_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-# define BOOST_PP_ITERATION_START_4_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-# define BOOST_PP_ITERATION_START_4_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-# define BOOST_PP_ITERATION_START_4_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-# define BOOST_PP_ITERATION_START_4_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-# define BOOST_PP_ITERATION_START_4_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-# define BOOST_PP_ITERATION_START_4_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-# define BOOST_PP_ITERATION_START_4_DIGIT_3 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_2 == 0
-# define BOOST_PP_ITERATION_START_4_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-# define BOOST_PP_ITERATION_START_4_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-# define BOOST_PP_ITERATION_START_4_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-# define BOOST_PP_ITERATION_START_4_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-# define BOOST_PP_ITERATION_START_4_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-# define BOOST_PP_ITERATION_START_4_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-# define BOOST_PP_ITERATION_START_4_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-# define BOOST_PP_ITERATION_START_4_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-# define BOOST_PP_ITERATION_START_4_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-# define BOOST_PP_ITERATION_START_4_DIGIT_2 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_1 == 0
-# define BOOST_PP_ITERATION_START_4_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-# define BOOST_PP_ITERATION_START_4_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-# define BOOST_PP_ITERATION_START_4_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-# define BOOST_PP_ITERATION_START_4_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-# define BOOST_PP_ITERATION_START_4_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-# define BOOST_PP_ITERATION_START_4_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-# define BOOST_PP_ITERATION_START_4_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-# define BOOST_PP_ITERATION_START_4_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-# define BOOST_PP_ITERATION_START_4_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-# define BOOST_PP_ITERATION_START_4_DIGIT_1 9
-# endif
-#
-# if BOOST_PP_ITERATION_START_4_DIGIT_3
-# define BOOST_PP_ITERATION_START_4 BOOST_PP_SLOT_CC_3(BOOST_PP_ITERATION_START_4_DIGIT_3, BOOST_PP_ITERATION_START_4_DIGIT_2, BOOST_PP_ITERATION_START_4_DIGIT_1)
-# elif BOOST_PP_ITERATION_START_4_DIGIT_2
-# define BOOST_PP_ITERATION_START_4 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_START_4_DIGIT_2, BOOST_PP_ITERATION_START_4_DIGIT_1)
-# else
-# define BOOST_PP_ITERATION_START_4 BOOST_PP_ITERATION_START_4_DIGIT_1
-# endif
diff --git a/boost/preprocessor/iteration/detail/bounds/lower5.hpp b/boost/preprocessor/iteration/detail/bounds/lower5.hpp
deleted file mode 100644
index f4888c7..0000000
--- a/boost/preprocessor/iteration/detail/bounds/lower5.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# include <boost/preprocessor/slot/detail/shared.hpp>
-#
-# undef BOOST_PP_ITERATION_START_5
-#
-# undef BOOST_PP_ITERATION_START_5_DIGIT_1
-# undef BOOST_PP_ITERATION_START_5_DIGIT_2
-# undef BOOST_PP_ITERATION_START_5_DIGIT_3
-# undef BOOST_PP_ITERATION_START_5_DIGIT_4
-# undef BOOST_PP_ITERATION_START_5_DIGIT_5
-# undef BOOST_PP_ITERATION_START_5_DIGIT_6
-# undef BOOST_PP_ITERATION_START_5_DIGIT_7
-# undef BOOST_PP_ITERATION_START_5_DIGIT_8
-# undef BOOST_PP_ITERATION_START_5_DIGIT_9
-# undef BOOST_PP_ITERATION_START_5_DIGIT_10
-#
-# if BOOST_PP_SLOT_TEMP_3 == 0
-# define BOOST_PP_ITERATION_START_5_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-# define BOOST_PP_ITERATION_START_5_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-# define BOOST_PP_ITERATION_START_5_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-# define BOOST_PP_ITERATION_START_5_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-# define BOOST_PP_ITERATION_START_5_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-# define BOOST_PP_ITERATION_START_5_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-# define BOOST_PP_ITERATION_START_5_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-# define BOOST_PP_ITERATION_START_5_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-# define BOOST_PP_ITERATION_START_5_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-# define BOOST_PP_ITERATION_START_5_DIGIT_3 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_2 == 0
-# define BOOST_PP_ITERATION_START_5_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-# define BOOST_PP_ITERATION_START_5_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-# define BOOST_PP_ITERATION_START_5_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-# define BOOST_PP_ITERATION_START_5_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-# define BOOST_PP_ITERATION_START_5_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-# define BOOST_PP_ITERATION_START_5_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-# define BOOST_PP_ITERATION_START_5_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-# define BOOST_PP_ITERATION_START_5_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-# define BOOST_PP_ITERATION_START_5_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-# define BOOST_PP_ITERATION_START_5_DIGIT_2 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_1 == 0
-# define BOOST_PP_ITERATION_START_5_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-# define BOOST_PP_ITERATION_START_5_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-# define BOOST_PP_ITERATION_START_5_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-# define BOOST_PP_ITERATION_START_5_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-# define BOOST_PP_ITERATION_START_5_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-# define BOOST_PP_ITERATION_START_5_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-# define BOOST_PP_ITERATION_START_5_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-# define BOOST_PP_ITERATION_START_5_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-# define BOOST_PP_ITERATION_START_5_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-# define BOOST_PP_ITERATION_START_5_DIGIT_1 9
-# endif
-#
-# if BOOST_PP_ITERATION_START_5_DIGIT_3
-# define BOOST_PP_ITERATION_START_5 BOOST_PP_SLOT_CC_3(BOOST_PP_ITERATION_START_5_DIGIT_3, BOOST_PP_ITERATION_START_5_DIGIT_2, BOOST_PP_ITERATION_START_5_DIGIT_1)
-# elif BOOST_PP_ITERATION_START_5_DIGIT_2
-# define BOOST_PP_ITERATION_START_5 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_START_5_DIGIT_2, BOOST_PP_ITERATION_START_5_DIGIT_1)
-# else
-# define BOOST_PP_ITERATION_START_5 BOOST_PP_ITERATION_START_5_DIGIT_1
-# endif
diff --git a/boost/preprocessor/iteration/detail/bounds/upper1.hpp b/boost/preprocessor/iteration/detail/bounds/upper1.hpp
deleted file mode 100644
index 50d0fcf..0000000
--- a/boost/preprocessor/iteration/detail/bounds/upper1.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# include <boost/preprocessor/slot/detail/shared.hpp>
-#
-# undef BOOST_PP_ITERATION_FINISH_1
-#
-# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_1
-# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_2
-# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_3
-# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_4
-# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_5
-# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_6
-# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_7
-# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_8
-# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_9
-# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_10
-#
-# if BOOST_PP_SLOT_TEMP_3 == 0
-# define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-# define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-# define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-# define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-# define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-# define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-# define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-# define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-# define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-# define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_2 == 0
-# define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-# define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-# define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-# define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-# define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-# define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-# define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-# define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-# define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-# define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_1 == 0
-# define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-# define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-# define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-# define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-# define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-# define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-# define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-# define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-# define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-# define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 9
-# endif
-#
-# if BOOST_PP_ITERATION_FINISH_1_DIGIT_3
-# define BOOST_PP_ITERATION_FINISH_1 BOOST_PP_SLOT_CC_3(BOOST_PP_ITERATION_FINISH_1_DIGIT_3, BOOST_PP_ITERATION_FINISH_1_DIGIT_2, BOOST_PP_ITERATION_FINISH_1_DIGIT_1)
-# elif BOOST_PP_ITERATION_FINISH_1_DIGIT_2
-# define BOOST_PP_ITERATION_FINISH_1 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_1_DIGIT_2, BOOST_PP_ITERATION_FINISH_1_DIGIT_1)
-# else
-# define BOOST_PP_ITERATION_FINISH_1 BOOST_PP_ITERATION_FINISH_1_DIGIT_1
-# endif
diff --git a/boost/preprocessor/iteration/detail/bounds/upper2.hpp b/boost/preprocessor/iteration/detail/bounds/upper2.hpp
deleted file mode 100644
index faef6f4..0000000
--- a/boost/preprocessor/iteration/detail/bounds/upper2.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# include <boost/preprocessor/slot/detail/shared.hpp>
-#
-# undef BOOST_PP_ITERATION_FINISH_2
-#
-# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_1
-# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_2
-# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_3
-# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_4
-# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_5
-# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_6
-# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_7
-# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_8
-# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_9
-# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_10
-#
-# if BOOST_PP_SLOT_TEMP_3 == 0
-# define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-# define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-# define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-# define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-# define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-# define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-# define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-# define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-# define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-# define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_2 == 0
-# define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-# define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-# define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-# define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-# define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-# define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-# define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-# define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-# define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-# define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_1 == 0
-# define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-# define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-# define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-# define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-# define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-# define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-# define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-# define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-# define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-# define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 9
-# endif
-#
-# if BOOST_PP_ITERATION_FINISH_2_DIGIT_3
-# define BOOST_PP_ITERATION_FINISH_2 BOOST_PP_SLOT_CC_3(BOOST_PP_ITERATION_FINISH_2_DIGIT_3, BOOST_PP_ITERATION_FINISH_2_DIGIT_2, BOOST_PP_ITERATION_FINISH_2_DIGIT_1)
-# elif BOOST_PP_ITERATION_FINISH_2_DIGIT_2
-# define BOOST_PP_ITERATION_FINISH_2 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_2_DIGIT_2, BOOST_PP_ITERATION_FINISH_2_DIGIT_1)
-# else
-# define BOOST_PP_ITERATION_FINISH_2 BOOST_PP_ITERATION_FINISH_2_DIGIT_1
-# endif
diff --git a/boost/preprocessor/iteration/detail/bounds/upper3.hpp b/boost/preprocessor/iteration/detail/bounds/upper3.hpp
deleted file mode 100644
index 38d9ade..0000000
--- a/boost/preprocessor/iteration/detail/bounds/upper3.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# include <boost/preprocessor/slot/detail/shared.hpp>
-#
-# undef BOOST_PP_ITERATION_FINISH_3
-#
-# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_1
-# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_2
-# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_3
-# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_4
-# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_5
-# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_6
-# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_7
-# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_8
-# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_9
-# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_10
-#
-# if BOOST_PP_SLOT_TEMP_3 == 0
-# define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-# define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-# define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-# define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-# define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-# define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-# define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-# define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-# define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-# define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_2 == 0
-# define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-# define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-# define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-# define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-# define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-# define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-# define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-# define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-# define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-# define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_1 == 0
-# define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-# define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-# define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-# define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-# define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-# define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-# define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-# define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-# define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-# define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 9
-# endif
-#
-# if BOOST_PP_ITERATION_FINISH_3_DIGIT_3
-# define BOOST_PP_ITERATION_FINISH_3 BOOST_PP_SLOT_CC_3(BOOST_PP_ITERATION_FINISH_3_DIGIT_3, BOOST_PP_ITERATION_FINISH_3_DIGIT_2, BOOST_PP_ITERATION_FINISH_3_DIGIT_1)
-# elif BOOST_PP_ITERATION_FINISH_3_DIGIT_2
-# define BOOST_PP_ITERATION_FINISH_3 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_3_DIGIT_2, BOOST_PP_ITERATION_FINISH_3_DIGIT_1)
-# else
-# define BOOST_PP_ITERATION_FINISH_3 BOOST_PP_ITERATION_FINISH_3_DIGIT_1
-# endif
diff --git a/boost/preprocessor/iteration/detail/bounds/upper4.hpp b/boost/preprocessor/iteration/detail/bounds/upper4.hpp
deleted file mode 100644
index 7f771c2..0000000
--- a/boost/preprocessor/iteration/detail/bounds/upper4.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# include <boost/preprocessor/slot/detail/shared.hpp>
-#
-# undef BOOST_PP_ITERATION_FINISH_4
-#
-# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_1
-# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_2
-# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_3
-# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_4
-# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_5
-# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_6
-# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_7
-# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_8
-# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_9
-# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_10
-#
-# if BOOST_PP_SLOT_TEMP_3 == 0
-# define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-# define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-# define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-# define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-# define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-# define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-# define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-# define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-# define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-# define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_2 == 0
-# define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-# define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-# define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-# define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-# define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-# define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-# define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-# define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-# define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-# define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_1 == 0
-# define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-# define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-# define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-# define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-# define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-# define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-# define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-# define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-# define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-# define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 9
-# endif
-#
-# if BOOST_PP_ITERATION_FINISH_4_DIGIT_3
-# define BOOST_PP_ITERATION_FINISH_4 BOOST_PP_SLOT_CC_3(BOOST_PP_ITERATION_FINISH_4_DIGIT_3, BOOST_PP_ITERATION_FINISH_4_DIGIT_2, BOOST_PP_ITERATION_FINISH_4_DIGIT_1)
-# elif BOOST_PP_ITERATION_FINISH_4_DIGIT_2
-# define BOOST_PP_ITERATION_FINISH_4 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_4_DIGIT_2, BOOST_PP_ITERATION_FINISH_4_DIGIT_1)
-# else
-# define BOOST_PP_ITERATION_FINISH_4 BOOST_PP_ITERATION_FINISH_4_DIGIT_1
-# endif
diff --git a/boost/preprocessor/iteration/detail/bounds/upper5.hpp b/boost/preprocessor/iteration/detail/bounds/upper5.hpp
deleted file mode 100644
index 9f27d58..0000000
--- a/boost/preprocessor/iteration/detail/bounds/upper5.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# include <boost/preprocessor/slot/detail/shared.hpp>
-#
-# undef BOOST_PP_ITERATION_FINISH_5
-#
-# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_1
-# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_2
-# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_3
-# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_4
-# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_5
-# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_6
-# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_7
-# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_8
-# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_9
-# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_10
-#
-# if BOOST_PP_SLOT_TEMP_3 == 0
-# define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-# define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-# define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-# define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-# define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-# define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-# define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-# define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-# define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-# define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_2 == 0
-# define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-# define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-# define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-# define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-# define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-# define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-# define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-# define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-# define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-# define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_1 == 0
-# define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-# define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-# define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-# define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-# define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-# define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-# define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-# define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-# define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-# define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 9
-# endif
-#
-# if BOOST_PP_ITERATION_FINISH_5_DIGIT_3
-# define BOOST_PP_ITERATION_FINISH_5 BOOST_PP_SLOT_CC_3(BOOST_PP_ITERATION_FINISH_5_DIGIT_3, BOOST_PP_ITERATION_FINISH_5_DIGIT_2, BOOST_PP_ITERATION_FINISH_5_DIGIT_1)
-# elif BOOST_PP_ITERATION_FINISH_5_DIGIT_2
-# define BOOST_PP_ITERATION_FINISH_5 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_5_DIGIT_2, BOOST_PP_ITERATION_FINISH_5_DIGIT_1)
-# else
-# define BOOST_PP_ITERATION_FINISH_5 BOOST_PP_ITERATION_FINISH_5_DIGIT_1
-# endif
diff --git a/boost/preprocessor/iteration/detail/finish.hpp b/boost/preprocessor/iteration/detail/finish.hpp
deleted file mode 100644
index 0236944..0000000
--- a/boost/preprocessor/iteration/detail/finish.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# include <boost/preprocessor/slot/detail/shared.hpp>
-#
-# undef BOOST_PP_LOCAL_FE
-#
-# undef BOOST_PP_LOCAL_FE_DIGIT_1
-# undef BOOST_PP_LOCAL_FE_DIGIT_2
-# undef BOOST_PP_LOCAL_FE_DIGIT_3
-# undef BOOST_PP_LOCAL_FE_DIGIT_4
-# undef BOOST_PP_LOCAL_FE_DIGIT_5
-# undef BOOST_PP_LOCAL_FE_DIGIT_6
-# undef BOOST_PP_LOCAL_FE_DIGIT_7
-# undef BOOST_PP_LOCAL_FE_DIGIT_8
-# undef BOOST_PP_LOCAL_FE_DIGIT_9
-# undef BOOST_PP_LOCAL_FE_DIGIT_10
-#
-# if BOOST_PP_SLOT_TEMP_3 == 0
-# define BOOST_PP_LOCAL_FE_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-# define BOOST_PP_LOCAL_FE_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-# define BOOST_PP_LOCAL_FE_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-# define BOOST_PP_LOCAL_FE_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-# define BOOST_PP_LOCAL_FE_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-# define BOOST_PP_LOCAL_FE_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-# define BOOST_PP_LOCAL_FE_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-# define BOOST_PP_LOCAL_FE_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-# define BOOST_PP_LOCAL_FE_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-# define BOOST_PP_LOCAL_FE_DIGIT_3 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_2 == 0
-# define BOOST_PP_LOCAL_FE_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-# define BOOST_PP_LOCAL_FE_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-# define BOOST_PP_LOCAL_FE_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-# define BOOST_PP_LOCAL_FE_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-# define BOOST_PP_LOCAL_FE_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-# define BOOST_PP_LOCAL_FE_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-# define BOOST_PP_LOCAL_FE_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-# define BOOST_PP_LOCAL_FE_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-# define BOOST_PP_LOCAL_FE_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-# define BOOST_PP_LOCAL_FE_DIGIT_2 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_1 == 0
-# define BOOST_PP_LOCAL_FE_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-# define BOOST_PP_LOCAL_FE_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-# define BOOST_PP_LOCAL_FE_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-# define BOOST_PP_LOCAL_FE_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-# define BOOST_PP_LOCAL_FE_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-# define BOOST_PP_LOCAL_FE_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-# define BOOST_PP_LOCAL_FE_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-# define BOOST_PP_LOCAL_FE_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-# define BOOST_PP_LOCAL_FE_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-# define BOOST_PP_LOCAL_FE_DIGIT_1 9
-# endif
-#
-# if BOOST_PP_LOCAL_FE_DIGIT_3
-# define BOOST_PP_LOCAL_FE() BOOST_PP_SLOT_CC_3(BOOST_PP_LOCAL_FE_DIGIT_3, BOOST_PP_LOCAL_FE_DIGIT_2, BOOST_PP_LOCAL_FE_DIGIT_1)
-# elif BOOST_PP_LOCAL_FE_DIGIT_2
-# define BOOST_PP_LOCAL_FE() BOOST_PP_SLOT_CC_2(BOOST_PP_LOCAL_FE_DIGIT_2, BOOST_PP_LOCAL_FE_DIGIT_1)
-# else
-# define BOOST_PP_LOCAL_FE() BOOST_PP_LOCAL_FE_DIGIT_1
-# endif
diff --git a/boost/preprocessor/iteration/detail/iter/forward1.hpp b/boost/preprocessor/iteration/detail/iter/forward1.hpp
deleted file mode 100644
index 3c6a458..0000000
--- a/boost/preprocessor/iteration/detail/iter/forward1.hpp
+++ /dev/null
@@ -1,1342 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# if defined(BOOST_PP_ITERATION_LIMITS)
-# if !defined(BOOST_PP_FILENAME_1)
-# error BOOST_PP_ERROR: depth #1 filename is not defined
-# endif
-# define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_ITERATION_LIMITS)
-# include <boost/preprocessor/iteration/detail/bounds/lower1.hpp>
-# define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_ITERATION_LIMITS)
-# include <boost/preprocessor/iteration/detail/bounds/upper1.hpp>
-# define BOOST_PP_ITERATION_FLAGS_1() 0
-# undef BOOST_PP_ITERATION_LIMITS
-# elif defined(BOOST_PP_ITERATION_PARAMS_1)
-# define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_1)
-# include <boost/preprocessor/iteration/detail/bounds/lower1.hpp>
-# define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_1)
-# include <boost/preprocessor/iteration/detail/bounds/upper1.hpp>
-# define BOOST_PP_FILENAME_1 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_1)
-# if BOOST_PP_ARRAY_SIZE(BOOST_PP_ITERATION_PARAMS_1) >= 4
-# define BOOST_PP_ITERATION_FLAGS_1() BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_1)
-# else
-# define BOOST_PP_ITERATION_FLAGS_1() 0
-# endif
-# else
-# error BOOST_PP_ERROR: depth #1 iteration boundaries or filename not defined
-# endif
-#
-# undef BOOST_PP_ITERATION_DEPTH
-# define BOOST_PP_ITERATION_DEPTH() 1
-#
-# define BOOST_PP_IS_ITERATING 1
-#
-# if (BOOST_PP_ITERATION_START_1) > (BOOST_PP_ITERATION_FINISH_1)
-# include <boost/preprocessor/iteration/detail/iter/reverse1.hpp>
-# else
-# if BOOST_PP_ITERATION_START_1 <= 0 && BOOST_PP_ITERATION_FINISH_1 >= 0
-# define BOOST_PP_ITERATION_1 0
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 1 && BOOST_PP_ITERATION_FINISH_1 >= 1
-# define BOOST_PP_ITERATION_1 1
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 2 && BOOST_PP_ITERATION_FINISH_1 >= 2
-# define BOOST_PP_ITERATION_1 2
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 3 && BOOST_PP_ITERATION_FINISH_1 >= 3
-# define BOOST_PP_ITERATION_1 3
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 4 && BOOST_PP_ITERATION_FINISH_1 >= 4
-# define BOOST_PP_ITERATION_1 4
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 5 && BOOST_PP_ITERATION_FINISH_1 >= 5
-# define BOOST_PP_ITERATION_1 5
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 6 && BOOST_PP_ITERATION_FINISH_1 >= 6
-# define BOOST_PP_ITERATION_1 6
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 7 && BOOST_PP_ITERATION_FINISH_1 >= 7
-# define BOOST_PP_ITERATION_1 7
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 8 && BOOST_PP_ITERATION_FINISH_1 >= 8
-# define BOOST_PP_ITERATION_1 8
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 9 && BOOST_PP_ITERATION_FINISH_1 >= 9
-# define BOOST_PP_ITERATION_1 9
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 10 && BOOST_PP_ITERATION_FINISH_1 >= 10
-# define BOOST_PP_ITERATION_1 10
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 11 && BOOST_PP_ITERATION_FINISH_1 >= 11
-# define BOOST_PP_ITERATION_1 11
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 12 && BOOST_PP_ITERATION_FINISH_1 >= 12
-# define BOOST_PP_ITERATION_1 12
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 13 && BOOST_PP_ITERATION_FINISH_1 >= 13
-# define BOOST_PP_ITERATION_1 13
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 14 && BOOST_PP_ITERATION_FINISH_1 >= 14
-# define BOOST_PP_ITERATION_1 14
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 15 && BOOST_PP_ITERATION_FINISH_1 >= 15
-# define BOOST_PP_ITERATION_1 15
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 16 && BOOST_PP_ITERATION_FINISH_1 >= 16
-# define BOOST_PP_ITERATION_1 16
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 17 && BOOST_PP_ITERATION_FINISH_1 >= 17
-# define BOOST_PP_ITERATION_1 17
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 18 && BOOST_PP_ITERATION_FINISH_1 >= 18
-# define BOOST_PP_ITERATION_1 18
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 19 && BOOST_PP_ITERATION_FINISH_1 >= 19
-# define BOOST_PP_ITERATION_1 19
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 20 && BOOST_PP_ITERATION_FINISH_1 >= 20
-# define BOOST_PP_ITERATION_1 20
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 21 && BOOST_PP_ITERATION_FINISH_1 >= 21
-# define BOOST_PP_ITERATION_1 21
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 22 && BOOST_PP_ITERATION_FINISH_1 >= 22
-# define BOOST_PP_ITERATION_1 22
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 23 && BOOST_PP_ITERATION_FINISH_1 >= 23
-# define BOOST_PP_ITERATION_1 23
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 24 && BOOST_PP_ITERATION_FINISH_1 >= 24
-# define BOOST_PP_ITERATION_1 24
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 25 && BOOST_PP_ITERATION_FINISH_1 >= 25
-# define BOOST_PP_ITERATION_1 25
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 26 && BOOST_PP_ITERATION_FINISH_1 >= 26
-# define BOOST_PP_ITERATION_1 26
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 27 && BOOST_PP_ITERATION_FINISH_1 >= 27
-# define BOOST_PP_ITERATION_1 27
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 28 && BOOST_PP_ITERATION_FINISH_1 >= 28
-# define BOOST_PP_ITERATION_1 28
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 29 && BOOST_PP_ITERATION_FINISH_1 >= 29
-# define BOOST_PP_ITERATION_1 29
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 30 && BOOST_PP_ITERATION_FINISH_1 >= 30
-# define BOOST_PP_ITERATION_1 30
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 31 && BOOST_PP_ITERATION_FINISH_1 >= 31
-# define BOOST_PP_ITERATION_1 31
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 32 && BOOST_PP_ITERATION_FINISH_1 >= 32
-# define BOOST_PP_ITERATION_1 32
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 33 && BOOST_PP_ITERATION_FINISH_1 >= 33
-# define BOOST_PP_ITERATION_1 33
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 34 && BOOST_PP_ITERATION_FINISH_1 >= 34
-# define BOOST_PP_ITERATION_1 34
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 35 && BOOST_PP_ITERATION_FINISH_1 >= 35
-# define BOOST_PP_ITERATION_1 35
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 36 && BOOST_PP_ITERATION_FINISH_1 >= 36
-# define BOOST_PP_ITERATION_1 36
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 37 && BOOST_PP_ITERATION_FINISH_1 >= 37
-# define BOOST_PP_ITERATION_1 37
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 38 && BOOST_PP_ITERATION_FINISH_1 >= 38
-# define BOOST_PP_ITERATION_1 38
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 39 && BOOST_PP_ITERATION_FINISH_1 >= 39
-# define BOOST_PP_ITERATION_1 39
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 40 && BOOST_PP_ITERATION_FINISH_1 >= 40
-# define BOOST_PP_ITERATION_1 40
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 41 && BOOST_PP_ITERATION_FINISH_1 >= 41
-# define BOOST_PP_ITERATION_1 41
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 42 && BOOST_PP_ITERATION_FINISH_1 >= 42
-# define BOOST_PP_ITERATION_1 42
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 43 && BOOST_PP_ITERATION_FINISH_1 >= 43
-# define BOOST_PP_ITERATION_1 43
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 44 && BOOST_PP_ITERATION_FINISH_1 >= 44
-# define BOOST_PP_ITERATION_1 44
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 45 && BOOST_PP_ITERATION_FINISH_1 >= 45
-# define BOOST_PP_ITERATION_1 45
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 46 && BOOST_PP_ITERATION_FINISH_1 >= 46
-# define BOOST_PP_ITERATION_1 46
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 47 && BOOST_PP_ITERATION_FINISH_1 >= 47
-# define BOOST_PP_ITERATION_1 47
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 48 && BOOST_PP_ITERATION_FINISH_1 >= 48
-# define BOOST_PP_ITERATION_1 48
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 49 && BOOST_PP_ITERATION_FINISH_1 >= 49
-# define BOOST_PP_ITERATION_1 49
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 50 && BOOST_PP_ITERATION_FINISH_1 >= 50
-# define BOOST_PP_ITERATION_1 50
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 51 && BOOST_PP_ITERATION_FINISH_1 >= 51
-# define BOOST_PP_ITERATION_1 51
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 52 && BOOST_PP_ITERATION_FINISH_1 >= 52
-# define BOOST_PP_ITERATION_1 52
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 53 && BOOST_PP_ITERATION_FINISH_1 >= 53
-# define BOOST_PP_ITERATION_1 53
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 54 && BOOST_PP_ITERATION_FINISH_1 >= 54
-# define BOOST_PP_ITERATION_1 54
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 55 && BOOST_PP_ITERATION_FINISH_1 >= 55
-# define BOOST_PP_ITERATION_1 55
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 56 && BOOST_PP_ITERATION_FINISH_1 >= 56
-# define BOOST_PP_ITERATION_1 56
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 57 && BOOST_PP_ITERATION_FINISH_1 >= 57
-# define BOOST_PP_ITERATION_1 57
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 58 && BOOST_PP_ITERATION_FINISH_1 >= 58
-# define BOOST_PP_ITERATION_1 58
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 59 && BOOST_PP_ITERATION_FINISH_1 >= 59
-# define BOOST_PP_ITERATION_1 59
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 60 && BOOST_PP_ITERATION_FINISH_1 >= 60
-# define BOOST_PP_ITERATION_1 60
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 61 && BOOST_PP_ITERATION_FINISH_1 >= 61
-# define BOOST_PP_ITERATION_1 61
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 62 && BOOST_PP_ITERATION_FINISH_1 >= 62
-# define BOOST_PP_ITERATION_1 62
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 63 && BOOST_PP_ITERATION_FINISH_1 >= 63
-# define BOOST_PP_ITERATION_1 63
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 64 && BOOST_PP_ITERATION_FINISH_1 >= 64
-# define BOOST_PP_ITERATION_1 64
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 65 && BOOST_PP_ITERATION_FINISH_1 >= 65
-# define BOOST_PP_ITERATION_1 65
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 66 && BOOST_PP_ITERATION_FINISH_1 >= 66
-# define BOOST_PP_ITERATION_1 66
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 67 && BOOST_PP_ITERATION_FINISH_1 >= 67
-# define BOOST_PP_ITERATION_1 67
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 68 && BOOST_PP_ITERATION_FINISH_1 >= 68
-# define BOOST_PP_ITERATION_1 68
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 69 && BOOST_PP_ITERATION_FINISH_1 >= 69
-# define BOOST_PP_ITERATION_1 69
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 70 && BOOST_PP_ITERATION_FINISH_1 >= 70
-# define BOOST_PP_ITERATION_1 70
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 71 && BOOST_PP_ITERATION_FINISH_1 >= 71
-# define BOOST_PP_ITERATION_1 71
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 72 && BOOST_PP_ITERATION_FINISH_1 >= 72
-# define BOOST_PP_ITERATION_1 72
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 73 && BOOST_PP_ITERATION_FINISH_1 >= 73
-# define BOOST_PP_ITERATION_1 73
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 74 && BOOST_PP_ITERATION_FINISH_1 >= 74
-# define BOOST_PP_ITERATION_1 74
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 75 && BOOST_PP_ITERATION_FINISH_1 >= 75
-# define BOOST_PP_ITERATION_1 75
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 76 && BOOST_PP_ITERATION_FINISH_1 >= 76
-# define BOOST_PP_ITERATION_1 76
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 77 && BOOST_PP_ITERATION_FINISH_1 >= 77
-# define BOOST_PP_ITERATION_1 77
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 78 && BOOST_PP_ITERATION_FINISH_1 >= 78
-# define BOOST_PP_ITERATION_1 78
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 79 && BOOST_PP_ITERATION_FINISH_1 >= 79
-# define BOOST_PP_ITERATION_1 79
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 80 && BOOST_PP_ITERATION_FINISH_1 >= 80
-# define BOOST_PP_ITERATION_1 80
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 81 && BOOST_PP_ITERATION_FINISH_1 >= 81
-# define BOOST_PP_ITERATION_1 81
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 82 && BOOST_PP_ITERATION_FINISH_1 >= 82
-# define BOOST_PP_ITERATION_1 82
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 83 && BOOST_PP_ITERATION_FINISH_1 >= 83
-# define BOOST_PP_ITERATION_1 83
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 84 && BOOST_PP_ITERATION_FINISH_1 >= 84
-# define BOOST_PP_ITERATION_1 84
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 85 && BOOST_PP_ITERATION_FINISH_1 >= 85
-# define BOOST_PP_ITERATION_1 85
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 86 && BOOST_PP_ITERATION_FINISH_1 >= 86
-# define BOOST_PP_ITERATION_1 86
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 87 && BOOST_PP_ITERATION_FINISH_1 >= 87
-# define BOOST_PP_ITERATION_1 87
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 88 && BOOST_PP_ITERATION_FINISH_1 >= 88
-# define BOOST_PP_ITERATION_1 88
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 89 && BOOST_PP_ITERATION_FINISH_1 >= 89
-# define BOOST_PP_ITERATION_1 89
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 90 && BOOST_PP_ITERATION_FINISH_1 >= 90
-# define BOOST_PP_ITERATION_1 90
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 91 && BOOST_PP_ITERATION_FINISH_1 >= 91
-# define BOOST_PP_ITERATION_1 91
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 92 && BOOST_PP_ITERATION_FINISH_1 >= 92
-# define BOOST_PP_ITERATION_1 92
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 93 && BOOST_PP_ITERATION_FINISH_1 >= 93
-# define BOOST_PP_ITERATION_1 93
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 94 && BOOST_PP_ITERATION_FINISH_1 >= 94
-# define BOOST_PP_ITERATION_1 94
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 95 && BOOST_PP_ITERATION_FINISH_1 >= 95
-# define BOOST_PP_ITERATION_1 95
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 96 && BOOST_PP_ITERATION_FINISH_1 >= 96
-# define BOOST_PP_ITERATION_1 96
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 97 && BOOST_PP_ITERATION_FINISH_1 >= 97
-# define BOOST_PP_ITERATION_1 97
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 98 && BOOST_PP_ITERATION_FINISH_1 >= 98
-# define BOOST_PP_ITERATION_1 98
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 99 && BOOST_PP_ITERATION_FINISH_1 >= 99
-# define BOOST_PP_ITERATION_1 99
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 100 && BOOST_PP_ITERATION_FINISH_1 >= 100
-# define BOOST_PP_ITERATION_1 100
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 101 && BOOST_PP_ITERATION_FINISH_1 >= 101
-# define BOOST_PP_ITERATION_1 101
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 102 && BOOST_PP_ITERATION_FINISH_1 >= 102
-# define BOOST_PP_ITERATION_1 102
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 103 && BOOST_PP_ITERATION_FINISH_1 >= 103
-# define BOOST_PP_ITERATION_1 103
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 104 && BOOST_PP_ITERATION_FINISH_1 >= 104
-# define BOOST_PP_ITERATION_1 104
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 105 && BOOST_PP_ITERATION_FINISH_1 >= 105
-# define BOOST_PP_ITERATION_1 105
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 106 && BOOST_PP_ITERATION_FINISH_1 >= 106
-# define BOOST_PP_ITERATION_1 106
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 107 && BOOST_PP_ITERATION_FINISH_1 >= 107
-# define BOOST_PP_ITERATION_1 107
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 108 && BOOST_PP_ITERATION_FINISH_1 >= 108
-# define BOOST_PP_ITERATION_1 108
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 109 && BOOST_PP_ITERATION_FINISH_1 >= 109
-# define BOOST_PP_ITERATION_1 109
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 110 && BOOST_PP_ITERATION_FINISH_1 >= 110
-# define BOOST_PP_ITERATION_1 110
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 111 && BOOST_PP_ITERATION_FINISH_1 >= 111
-# define BOOST_PP_ITERATION_1 111
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 112 && BOOST_PP_ITERATION_FINISH_1 >= 112
-# define BOOST_PP_ITERATION_1 112
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 113 && BOOST_PP_ITERATION_FINISH_1 >= 113
-# define BOOST_PP_ITERATION_1 113
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 114 && BOOST_PP_ITERATION_FINISH_1 >= 114
-# define BOOST_PP_ITERATION_1 114
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 115 && BOOST_PP_ITERATION_FINISH_1 >= 115
-# define BOOST_PP_ITERATION_1 115
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 116 && BOOST_PP_ITERATION_FINISH_1 >= 116
-# define BOOST_PP_ITERATION_1 116
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 117 && BOOST_PP_ITERATION_FINISH_1 >= 117
-# define BOOST_PP_ITERATION_1 117
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 118 && BOOST_PP_ITERATION_FINISH_1 >= 118
-# define BOOST_PP_ITERATION_1 118
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 119 && BOOST_PP_ITERATION_FINISH_1 >= 119
-# define BOOST_PP_ITERATION_1 119
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 120 && BOOST_PP_ITERATION_FINISH_1 >= 120
-# define BOOST_PP_ITERATION_1 120
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 121 && BOOST_PP_ITERATION_FINISH_1 >= 121
-# define BOOST_PP_ITERATION_1 121
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 122 && BOOST_PP_ITERATION_FINISH_1 >= 122
-# define BOOST_PP_ITERATION_1 122
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 123 && BOOST_PP_ITERATION_FINISH_1 >= 123
-# define BOOST_PP_ITERATION_1 123
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 124 && BOOST_PP_ITERATION_FINISH_1 >= 124
-# define BOOST_PP_ITERATION_1 124
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 125 && BOOST_PP_ITERATION_FINISH_1 >= 125
-# define BOOST_PP_ITERATION_1 125
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 126 && BOOST_PP_ITERATION_FINISH_1 >= 126
-# define BOOST_PP_ITERATION_1 126
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 127 && BOOST_PP_ITERATION_FINISH_1 >= 127
-# define BOOST_PP_ITERATION_1 127
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 128 && BOOST_PP_ITERATION_FINISH_1 >= 128
-# define BOOST_PP_ITERATION_1 128
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 129 && BOOST_PP_ITERATION_FINISH_1 >= 129
-# define BOOST_PP_ITERATION_1 129
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 130 && BOOST_PP_ITERATION_FINISH_1 >= 130
-# define BOOST_PP_ITERATION_1 130
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 131 && BOOST_PP_ITERATION_FINISH_1 >= 131
-# define BOOST_PP_ITERATION_1 131
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 132 && BOOST_PP_ITERATION_FINISH_1 >= 132
-# define BOOST_PP_ITERATION_1 132
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 133 && BOOST_PP_ITERATION_FINISH_1 >= 133
-# define BOOST_PP_ITERATION_1 133
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 134 && BOOST_PP_ITERATION_FINISH_1 >= 134
-# define BOOST_PP_ITERATION_1 134
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 135 && BOOST_PP_ITERATION_FINISH_1 >= 135
-# define BOOST_PP_ITERATION_1 135
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 136 && BOOST_PP_ITERATION_FINISH_1 >= 136
-# define BOOST_PP_ITERATION_1 136
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 137 && BOOST_PP_ITERATION_FINISH_1 >= 137
-# define BOOST_PP_ITERATION_1 137
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 138 && BOOST_PP_ITERATION_FINISH_1 >= 138
-# define BOOST_PP_ITERATION_1 138
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 139 && BOOST_PP_ITERATION_FINISH_1 >= 139
-# define BOOST_PP_ITERATION_1 139
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 140 && BOOST_PP_ITERATION_FINISH_1 >= 140
-# define BOOST_PP_ITERATION_1 140
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 141 && BOOST_PP_ITERATION_FINISH_1 >= 141
-# define BOOST_PP_ITERATION_1 141
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 142 && BOOST_PP_ITERATION_FINISH_1 >= 142
-# define BOOST_PP_ITERATION_1 142
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 143 && BOOST_PP_ITERATION_FINISH_1 >= 143
-# define BOOST_PP_ITERATION_1 143
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 144 && BOOST_PP_ITERATION_FINISH_1 >= 144
-# define BOOST_PP_ITERATION_1 144
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 145 && BOOST_PP_ITERATION_FINISH_1 >= 145
-# define BOOST_PP_ITERATION_1 145
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 146 && BOOST_PP_ITERATION_FINISH_1 >= 146
-# define BOOST_PP_ITERATION_1 146
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 147 && BOOST_PP_ITERATION_FINISH_1 >= 147
-# define BOOST_PP_ITERATION_1 147
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 148 && BOOST_PP_ITERATION_FINISH_1 >= 148
-# define BOOST_PP_ITERATION_1 148
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 149 && BOOST_PP_ITERATION_FINISH_1 >= 149
-# define BOOST_PP_ITERATION_1 149
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 150 && BOOST_PP_ITERATION_FINISH_1 >= 150
-# define BOOST_PP_ITERATION_1 150
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 151 && BOOST_PP_ITERATION_FINISH_1 >= 151
-# define BOOST_PP_ITERATION_1 151
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 152 && BOOST_PP_ITERATION_FINISH_1 >= 152
-# define BOOST_PP_ITERATION_1 152
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 153 && BOOST_PP_ITERATION_FINISH_1 >= 153
-# define BOOST_PP_ITERATION_1 153
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 154 && BOOST_PP_ITERATION_FINISH_1 >= 154
-# define BOOST_PP_ITERATION_1 154
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 155 && BOOST_PP_ITERATION_FINISH_1 >= 155
-# define BOOST_PP_ITERATION_1 155
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 156 && BOOST_PP_ITERATION_FINISH_1 >= 156
-# define BOOST_PP_ITERATION_1 156
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 157 && BOOST_PP_ITERATION_FINISH_1 >= 157
-# define BOOST_PP_ITERATION_1 157
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 158 && BOOST_PP_ITERATION_FINISH_1 >= 158
-# define BOOST_PP_ITERATION_1 158
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 159 && BOOST_PP_ITERATION_FINISH_1 >= 159
-# define BOOST_PP_ITERATION_1 159
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 160 && BOOST_PP_ITERATION_FINISH_1 >= 160
-# define BOOST_PP_ITERATION_1 160
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 161 && BOOST_PP_ITERATION_FINISH_1 >= 161
-# define BOOST_PP_ITERATION_1 161
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 162 && BOOST_PP_ITERATION_FINISH_1 >= 162
-# define BOOST_PP_ITERATION_1 162
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 163 && BOOST_PP_ITERATION_FINISH_1 >= 163
-# define BOOST_PP_ITERATION_1 163
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 164 && BOOST_PP_ITERATION_FINISH_1 >= 164
-# define BOOST_PP_ITERATION_1 164
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 165 && BOOST_PP_ITERATION_FINISH_1 >= 165
-# define BOOST_PP_ITERATION_1 165
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 166 && BOOST_PP_ITERATION_FINISH_1 >= 166
-# define BOOST_PP_ITERATION_1 166
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 167 && BOOST_PP_ITERATION_FINISH_1 >= 167
-# define BOOST_PP_ITERATION_1 167
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 168 && BOOST_PP_ITERATION_FINISH_1 >= 168
-# define BOOST_PP_ITERATION_1 168
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 169 && BOOST_PP_ITERATION_FINISH_1 >= 169
-# define BOOST_PP_ITERATION_1 169
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 170 && BOOST_PP_ITERATION_FINISH_1 >= 170
-# define BOOST_PP_ITERATION_1 170
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 171 && BOOST_PP_ITERATION_FINISH_1 >= 171
-# define BOOST_PP_ITERATION_1 171
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 172 && BOOST_PP_ITERATION_FINISH_1 >= 172
-# define BOOST_PP_ITERATION_1 172
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 173 && BOOST_PP_ITERATION_FINISH_1 >= 173
-# define BOOST_PP_ITERATION_1 173
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 174 && BOOST_PP_ITERATION_FINISH_1 >= 174
-# define BOOST_PP_ITERATION_1 174
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 175 && BOOST_PP_ITERATION_FINISH_1 >= 175
-# define BOOST_PP_ITERATION_1 175
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 176 && BOOST_PP_ITERATION_FINISH_1 >= 176
-# define BOOST_PP_ITERATION_1 176
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 177 && BOOST_PP_ITERATION_FINISH_1 >= 177
-# define BOOST_PP_ITERATION_1 177
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 178 && BOOST_PP_ITERATION_FINISH_1 >= 178
-# define BOOST_PP_ITERATION_1 178
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 179 && BOOST_PP_ITERATION_FINISH_1 >= 179
-# define BOOST_PP_ITERATION_1 179
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 180 && BOOST_PP_ITERATION_FINISH_1 >= 180
-# define BOOST_PP_ITERATION_1 180
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 181 && BOOST_PP_ITERATION_FINISH_1 >= 181
-# define BOOST_PP_ITERATION_1 181
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 182 && BOOST_PP_ITERATION_FINISH_1 >= 182
-# define BOOST_PP_ITERATION_1 182
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 183 && BOOST_PP_ITERATION_FINISH_1 >= 183
-# define BOOST_PP_ITERATION_1 183
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 184 && BOOST_PP_ITERATION_FINISH_1 >= 184
-# define BOOST_PP_ITERATION_1 184
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 185 && BOOST_PP_ITERATION_FINISH_1 >= 185
-# define BOOST_PP_ITERATION_1 185
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 186 && BOOST_PP_ITERATION_FINISH_1 >= 186
-# define BOOST_PP_ITERATION_1 186
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 187 && BOOST_PP_ITERATION_FINISH_1 >= 187
-# define BOOST_PP_ITERATION_1 187
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 188 && BOOST_PP_ITERATION_FINISH_1 >= 188
-# define BOOST_PP_ITERATION_1 188
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 189 && BOOST_PP_ITERATION_FINISH_1 >= 189
-# define BOOST_PP_ITERATION_1 189
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 190 && BOOST_PP_ITERATION_FINISH_1 >= 190
-# define BOOST_PP_ITERATION_1 190
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 191 && BOOST_PP_ITERATION_FINISH_1 >= 191
-# define BOOST_PP_ITERATION_1 191
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 192 && BOOST_PP_ITERATION_FINISH_1 >= 192
-# define BOOST_PP_ITERATION_1 192
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 193 && BOOST_PP_ITERATION_FINISH_1 >= 193
-# define BOOST_PP_ITERATION_1 193
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 194 && BOOST_PP_ITERATION_FINISH_1 >= 194
-# define BOOST_PP_ITERATION_1 194
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 195 && BOOST_PP_ITERATION_FINISH_1 >= 195
-# define BOOST_PP_ITERATION_1 195
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 196 && BOOST_PP_ITERATION_FINISH_1 >= 196
-# define BOOST_PP_ITERATION_1 196
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 197 && BOOST_PP_ITERATION_FINISH_1 >= 197
-# define BOOST_PP_ITERATION_1 197
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 198 && BOOST_PP_ITERATION_FINISH_1 >= 198
-# define BOOST_PP_ITERATION_1 198
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 199 && BOOST_PP_ITERATION_FINISH_1 >= 199
-# define BOOST_PP_ITERATION_1 199
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 200 && BOOST_PP_ITERATION_FINISH_1 >= 200
-# define BOOST_PP_ITERATION_1 200
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 201 && BOOST_PP_ITERATION_FINISH_1 >= 201
-# define BOOST_PP_ITERATION_1 201
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 202 && BOOST_PP_ITERATION_FINISH_1 >= 202
-# define BOOST_PP_ITERATION_1 202
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 203 && BOOST_PP_ITERATION_FINISH_1 >= 203
-# define BOOST_PP_ITERATION_1 203
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 204 && BOOST_PP_ITERATION_FINISH_1 >= 204
-# define BOOST_PP_ITERATION_1 204
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 205 && BOOST_PP_ITERATION_FINISH_1 >= 205
-# define BOOST_PP_ITERATION_1 205
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 206 && BOOST_PP_ITERATION_FINISH_1 >= 206
-# define BOOST_PP_ITERATION_1 206
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 207 && BOOST_PP_ITERATION_FINISH_1 >= 207
-# define BOOST_PP_ITERATION_1 207
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 208 && BOOST_PP_ITERATION_FINISH_1 >= 208
-# define BOOST_PP_ITERATION_1 208
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 209 && BOOST_PP_ITERATION_FINISH_1 >= 209
-# define BOOST_PP_ITERATION_1 209
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 210 && BOOST_PP_ITERATION_FINISH_1 >= 210
-# define BOOST_PP_ITERATION_1 210
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 211 && BOOST_PP_ITERATION_FINISH_1 >= 211
-# define BOOST_PP_ITERATION_1 211
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 212 && BOOST_PP_ITERATION_FINISH_1 >= 212
-# define BOOST_PP_ITERATION_1 212
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 213 && BOOST_PP_ITERATION_FINISH_1 >= 213
-# define BOOST_PP_ITERATION_1 213
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 214 && BOOST_PP_ITERATION_FINISH_1 >= 214
-# define BOOST_PP_ITERATION_1 214
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 215 && BOOST_PP_ITERATION_FINISH_1 >= 215
-# define BOOST_PP_ITERATION_1 215
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 216 && BOOST_PP_ITERATION_FINISH_1 >= 216
-# define BOOST_PP_ITERATION_1 216
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 217 && BOOST_PP_ITERATION_FINISH_1 >= 217
-# define BOOST_PP_ITERATION_1 217
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 218 && BOOST_PP_ITERATION_FINISH_1 >= 218
-# define BOOST_PP_ITERATION_1 218
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 219 && BOOST_PP_ITERATION_FINISH_1 >= 219
-# define BOOST_PP_ITERATION_1 219
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 220 && BOOST_PP_ITERATION_FINISH_1 >= 220
-# define BOOST_PP_ITERATION_1 220
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 221 && BOOST_PP_ITERATION_FINISH_1 >= 221
-# define BOOST_PP_ITERATION_1 221
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 222 && BOOST_PP_ITERATION_FINISH_1 >= 222
-# define BOOST_PP_ITERATION_1 222
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 223 && BOOST_PP_ITERATION_FINISH_1 >= 223
-# define BOOST_PP_ITERATION_1 223
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 224 && BOOST_PP_ITERATION_FINISH_1 >= 224
-# define BOOST_PP_ITERATION_1 224
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 225 && BOOST_PP_ITERATION_FINISH_1 >= 225
-# define BOOST_PP_ITERATION_1 225
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 226 && BOOST_PP_ITERATION_FINISH_1 >= 226
-# define BOOST_PP_ITERATION_1 226
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 227 && BOOST_PP_ITERATION_FINISH_1 >= 227
-# define BOOST_PP_ITERATION_1 227
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 228 && BOOST_PP_ITERATION_FINISH_1 >= 228
-# define BOOST_PP_ITERATION_1 228
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 229 && BOOST_PP_ITERATION_FINISH_1 >= 229
-# define BOOST_PP_ITERATION_1 229
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 230 && BOOST_PP_ITERATION_FINISH_1 >= 230
-# define BOOST_PP_ITERATION_1 230
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 231 && BOOST_PP_ITERATION_FINISH_1 >= 231
-# define BOOST_PP_ITERATION_1 231
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 232 && BOOST_PP_ITERATION_FINISH_1 >= 232
-# define BOOST_PP_ITERATION_1 232
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 233 && BOOST_PP_ITERATION_FINISH_1 >= 233
-# define BOOST_PP_ITERATION_1 233
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 234 && BOOST_PP_ITERATION_FINISH_1 >= 234
-# define BOOST_PP_ITERATION_1 234
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 235 && BOOST_PP_ITERATION_FINISH_1 >= 235
-# define BOOST_PP_ITERATION_1 235
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 236 && BOOST_PP_ITERATION_FINISH_1 >= 236
-# define BOOST_PP_ITERATION_1 236
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 237 && BOOST_PP_ITERATION_FINISH_1 >= 237
-# define BOOST_PP_ITERATION_1 237
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 238 && BOOST_PP_ITERATION_FINISH_1 >= 238
-# define BOOST_PP_ITERATION_1 238
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 239 && BOOST_PP_ITERATION_FINISH_1 >= 239
-# define BOOST_PP_ITERATION_1 239
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 240 && BOOST_PP_ITERATION_FINISH_1 >= 240
-# define BOOST_PP_ITERATION_1 240
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 241 && BOOST_PP_ITERATION_FINISH_1 >= 241
-# define BOOST_PP_ITERATION_1 241
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 242 && BOOST_PP_ITERATION_FINISH_1 >= 242
-# define BOOST_PP_ITERATION_1 242
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 243 && BOOST_PP_ITERATION_FINISH_1 >= 243
-# define BOOST_PP_ITERATION_1 243
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 244 && BOOST_PP_ITERATION_FINISH_1 >= 244
-# define BOOST_PP_ITERATION_1 244
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 245 && BOOST_PP_ITERATION_FINISH_1 >= 245
-# define BOOST_PP_ITERATION_1 245
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 246 && BOOST_PP_ITERATION_FINISH_1 >= 246
-# define BOOST_PP_ITERATION_1 246
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 247 && BOOST_PP_ITERATION_FINISH_1 >= 247
-# define BOOST_PP_ITERATION_1 247
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 248 && BOOST_PP_ITERATION_FINISH_1 >= 248
-# define BOOST_PP_ITERATION_1 248
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 249 && BOOST_PP_ITERATION_FINISH_1 >= 249
-# define BOOST_PP_ITERATION_1 249
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 250 && BOOST_PP_ITERATION_FINISH_1 >= 250
-# define BOOST_PP_ITERATION_1 250
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 251 && BOOST_PP_ITERATION_FINISH_1 >= 251
-# define BOOST_PP_ITERATION_1 251
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 252 && BOOST_PP_ITERATION_FINISH_1 >= 252
-# define BOOST_PP_ITERATION_1 252
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 253 && BOOST_PP_ITERATION_FINISH_1 >= 253
-# define BOOST_PP_ITERATION_1 253
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 254 && BOOST_PP_ITERATION_FINISH_1 >= 254
-# define BOOST_PP_ITERATION_1 254
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 255 && BOOST_PP_ITERATION_FINISH_1 >= 255
-# define BOOST_PP_ITERATION_1 255
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_START_1 <= 256 && BOOST_PP_ITERATION_FINISH_1 >= 256
-# define BOOST_PP_ITERATION_1 256
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# endif
-#
-# undef BOOST_PP_IS_ITERATING
-#
-# undef BOOST_PP_ITERATION_DEPTH
-# define BOOST_PP_ITERATION_DEPTH() 0
-#
-# undef BOOST_PP_ITERATION_START_1
-# undef BOOST_PP_ITERATION_FINISH_1
-# undef BOOST_PP_FILENAME_1
-#
-# undef BOOST_PP_ITERATION_FLAGS_1
-# undef BOOST_PP_ITERATION_PARAMS_1
diff --git a/boost/preprocessor/iteration/detail/iter/forward2.hpp b/boost/preprocessor/iteration/detail/iter/forward2.hpp
deleted file mode 100644
index e61a329..0000000
--- a/boost/preprocessor/iteration/detail/iter/forward2.hpp
+++ /dev/null
@@ -1,1338 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# if defined(BOOST_PP_ITERATION_LIMITS)
-# if !defined(BOOST_PP_FILENAME_2)
-# error BOOST_PP_ERROR: depth #2 filename is not defined
-# endif
-# define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_ITERATION_LIMITS)
-# include <boost/preprocessor/iteration/detail/bounds/lower2.hpp>
-# define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_ITERATION_LIMITS)
-# include <boost/preprocessor/iteration/detail/bounds/upper2.hpp>
-# define BOOST_PP_ITERATION_FLAGS_2() 0
-# undef BOOST_PP_ITERATION_LIMITS
-# elif defined(BOOST_PP_ITERATION_PARAMS_2)
-# define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_2)
-# include <boost/preprocessor/iteration/detail/bounds/lower2.hpp>
-# define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_2)
-# include <boost/preprocessor/iteration/detail/bounds/upper2.hpp>
-# define BOOST_PP_FILENAME_2 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_2)
-# if BOOST_PP_ARRAY_SIZE(BOOST_PP_ITERATION_PARAMS_2) >= 4
-# define BOOST_PP_ITERATION_FLAGS_2() BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_2)
-# else
-# define BOOST_PP_ITERATION_FLAGS_2() 0
-# endif
-# else
-# error BOOST_PP_ERROR: depth #2 iteration boundaries or filename not defined
-# endif
-#
-# undef BOOST_PP_ITERATION_DEPTH
-# define BOOST_PP_ITERATION_DEPTH() 2
-#
-# if (BOOST_PP_ITERATION_START_2) > (BOOST_PP_ITERATION_FINISH_2)
-# include <boost/preprocessor/iteration/detail/iter/reverse2.hpp>
-# else
-# if BOOST_PP_ITERATION_START_2 <= 0 && BOOST_PP_ITERATION_FINISH_2 >= 0
-# define BOOST_PP_ITERATION_2 0
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 1 && BOOST_PP_ITERATION_FINISH_2 >= 1
-# define BOOST_PP_ITERATION_2 1
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 2 && BOOST_PP_ITERATION_FINISH_2 >= 2
-# define BOOST_PP_ITERATION_2 2
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 3 && BOOST_PP_ITERATION_FINISH_2 >= 3
-# define BOOST_PP_ITERATION_2 3
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 4 && BOOST_PP_ITERATION_FINISH_2 >= 4
-# define BOOST_PP_ITERATION_2 4
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 5 && BOOST_PP_ITERATION_FINISH_2 >= 5
-# define BOOST_PP_ITERATION_2 5
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 6 && BOOST_PP_ITERATION_FINISH_2 >= 6
-# define BOOST_PP_ITERATION_2 6
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 7 && BOOST_PP_ITERATION_FINISH_2 >= 7
-# define BOOST_PP_ITERATION_2 7
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 8 && BOOST_PP_ITERATION_FINISH_2 >= 8
-# define BOOST_PP_ITERATION_2 8
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 9 && BOOST_PP_ITERATION_FINISH_2 >= 9
-# define BOOST_PP_ITERATION_2 9
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 10 && BOOST_PP_ITERATION_FINISH_2 >= 10
-# define BOOST_PP_ITERATION_2 10
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 11 && BOOST_PP_ITERATION_FINISH_2 >= 11
-# define BOOST_PP_ITERATION_2 11
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 12 && BOOST_PP_ITERATION_FINISH_2 >= 12
-# define BOOST_PP_ITERATION_2 12
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 13 && BOOST_PP_ITERATION_FINISH_2 >= 13
-# define BOOST_PP_ITERATION_2 13
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 14 && BOOST_PP_ITERATION_FINISH_2 >= 14
-# define BOOST_PP_ITERATION_2 14
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 15 && BOOST_PP_ITERATION_FINISH_2 >= 15
-# define BOOST_PP_ITERATION_2 15
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 16 && BOOST_PP_ITERATION_FINISH_2 >= 16
-# define BOOST_PP_ITERATION_2 16
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 17 && BOOST_PP_ITERATION_FINISH_2 >= 17
-# define BOOST_PP_ITERATION_2 17
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 18 && BOOST_PP_ITERATION_FINISH_2 >= 18
-# define BOOST_PP_ITERATION_2 18
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 19 && BOOST_PP_ITERATION_FINISH_2 >= 19
-# define BOOST_PP_ITERATION_2 19
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 20 && BOOST_PP_ITERATION_FINISH_2 >= 20
-# define BOOST_PP_ITERATION_2 20
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 21 && BOOST_PP_ITERATION_FINISH_2 >= 21
-# define BOOST_PP_ITERATION_2 21
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 22 && BOOST_PP_ITERATION_FINISH_2 >= 22
-# define BOOST_PP_ITERATION_2 22
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 23 && BOOST_PP_ITERATION_FINISH_2 >= 23
-# define BOOST_PP_ITERATION_2 23
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 24 && BOOST_PP_ITERATION_FINISH_2 >= 24
-# define BOOST_PP_ITERATION_2 24
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 25 && BOOST_PP_ITERATION_FINISH_2 >= 25
-# define BOOST_PP_ITERATION_2 25
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 26 && BOOST_PP_ITERATION_FINISH_2 >= 26
-# define BOOST_PP_ITERATION_2 26
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 27 && BOOST_PP_ITERATION_FINISH_2 >= 27
-# define BOOST_PP_ITERATION_2 27
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 28 && BOOST_PP_ITERATION_FINISH_2 >= 28
-# define BOOST_PP_ITERATION_2 28
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 29 && BOOST_PP_ITERATION_FINISH_2 >= 29
-# define BOOST_PP_ITERATION_2 29
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 30 && BOOST_PP_ITERATION_FINISH_2 >= 30
-# define BOOST_PP_ITERATION_2 30
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 31 && BOOST_PP_ITERATION_FINISH_2 >= 31
-# define BOOST_PP_ITERATION_2 31
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 32 && BOOST_PP_ITERATION_FINISH_2 >= 32
-# define BOOST_PP_ITERATION_2 32
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 33 && BOOST_PP_ITERATION_FINISH_2 >= 33
-# define BOOST_PP_ITERATION_2 33
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 34 && BOOST_PP_ITERATION_FINISH_2 >= 34
-# define BOOST_PP_ITERATION_2 34
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 35 && BOOST_PP_ITERATION_FINISH_2 >= 35
-# define BOOST_PP_ITERATION_2 35
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 36 && BOOST_PP_ITERATION_FINISH_2 >= 36
-# define BOOST_PP_ITERATION_2 36
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 37 && BOOST_PP_ITERATION_FINISH_2 >= 37
-# define BOOST_PP_ITERATION_2 37
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 38 && BOOST_PP_ITERATION_FINISH_2 >= 38
-# define BOOST_PP_ITERATION_2 38
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 39 && BOOST_PP_ITERATION_FINISH_2 >= 39
-# define BOOST_PP_ITERATION_2 39
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 40 && BOOST_PP_ITERATION_FINISH_2 >= 40
-# define BOOST_PP_ITERATION_2 40
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 41 && BOOST_PP_ITERATION_FINISH_2 >= 41
-# define BOOST_PP_ITERATION_2 41
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 42 && BOOST_PP_ITERATION_FINISH_2 >= 42
-# define BOOST_PP_ITERATION_2 42
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 43 && BOOST_PP_ITERATION_FINISH_2 >= 43
-# define BOOST_PP_ITERATION_2 43
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 44 && BOOST_PP_ITERATION_FINISH_2 >= 44
-# define BOOST_PP_ITERATION_2 44
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 45 && BOOST_PP_ITERATION_FINISH_2 >= 45
-# define BOOST_PP_ITERATION_2 45
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 46 && BOOST_PP_ITERATION_FINISH_2 >= 46
-# define BOOST_PP_ITERATION_2 46
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 47 && BOOST_PP_ITERATION_FINISH_2 >= 47
-# define BOOST_PP_ITERATION_2 47
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 48 && BOOST_PP_ITERATION_FINISH_2 >= 48
-# define BOOST_PP_ITERATION_2 48
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 49 && BOOST_PP_ITERATION_FINISH_2 >= 49
-# define BOOST_PP_ITERATION_2 49
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 50 && BOOST_PP_ITERATION_FINISH_2 >= 50
-# define BOOST_PP_ITERATION_2 50
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 51 && BOOST_PP_ITERATION_FINISH_2 >= 51
-# define BOOST_PP_ITERATION_2 51
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 52 && BOOST_PP_ITERATION_FINISH_2 >= 52
-# define BOOST_PP_ITERATION_2 52
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 53 && BOOST_PP_ITERATION_FINISH_2 >= 53
-# define BOOST_PP_ITERATION_2 53
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 54 && BOOST_PP_ITERATION_FINISH_2 >= 54
-# define BOOST_PP_ITERATION_2 54
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 55 && BOOST_PP_ITERATION_FINISH_2 >= 55
-# define BOOST_PP_ITERATION_2 55
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 56 && BOOST_PP_ITERATION_FINISH_2 >= 56
-# define BOOST_PP_ITERATION_2 56
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 57 && BOOST_PP_ITERATION_FINISH_2 >= 57
-# define BOOST_PP_ITERATION_2 57
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 58 && BOOST_PP_ITERATION_FINISH_2 >= 58
-# define BOOST_PP_ITERATION_2 58
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 59 && BOOST_PP_ITERATION_FINISH_2 >= 59
-# define BOOST_PP_ITERATION_2 59
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 60 && BOOST_PP_ITERATION_FINISH_2 >= 60
-# define BOOST_PP_ITERATION_2 60
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 61 && BOOST_PP_ITERATION_FINISH_2 >= 61
-# define BOOST_PP_ITERATION_2 61
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 62 && BOOST_PP_ITERATION_FINISH_2 >= 62
-# define BOOST_PP_ITERATION_2 62
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 63 && BOOST_PP_ITERATION_FINISH_2 >= 63
-# define BOOST_PP_ITERATION_2 63
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 64 && BOOST_PP_ITERATION_FINISH_2 >= 64
-# define BOOST_PP_ITERATION_2 64
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 65 && BOOST_PP_ITERATION_FINISH_2 >= 65
-# define BOOST_PP_ITERATION_2 65
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 66 && BOOST_PP_ITERATION_FINISH_2 >= 66
-# define BOOST_PP_ITERATION_2 66
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 67 && BOOST_PP_ITERATION_FINISH_2 >= 67
-# define BOOST_PP_ITERATION_2 67
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 68 && BOOST_PP_ITERATION_FINISH_2 >= 68
-# define BOOST_PP_ITERATION_2 68
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 69 && BOOST_PP_ITERATION_FINISH_2 >= 69
-# define BOOST_PP_ITERATION_2 69
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 70 && BOOST_PP_ITERATION_FINISH_2 >= 70
-# define BOOST_PP_ITERATION_2 70
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 71 && BOOST_PP_ITERATION_FINISH_2 >= 71
-# define BOOST_PP_ITERATION_2 71
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 72 && BOOST_PP_ITERATION_FINISH_2 >= 72
-# define BOOST_PP_ITERATION_2 72
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 73 && BOOST_PP_ITERATION_FINISH_2 >= 73
-# define BOOST_PP_ITERATION_2 73
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 74 && BOOST_PP_ITERATION_FINISH_2 >= 74
-# define BOOST_PP_ITERATION_2 74
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 75 && BOOST_PP_ITERATION_FINISH_2 >= 75
-# define BOOST_PP_ITERATION_2 75
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 76 && BOOST_PP_ITERATION_FINISH_2 >= 76
-# define BOOST_PP_ITERATION_2 76
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 77 && BOOST_PP_ITERATION_FINISH_2 >= 77
-# define BOOST_PP_ITERATION_2 77
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 78 && BOOST_PP_ITERATION_FINISH_2 >= 78
-# define BOOST_PP_ITERATION_2 78
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 79 && BOOST_PP_ITERATION_FINISH_2 >= 79
-# define BOOST_PP_ITERATION_2 79
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 80 && BOOST_PP_ITERATION_FINISH_2 >= 80
-# define BOOST_PP_ITERATION_2 80
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 81 && BOOST_PP_ITERATION_FINISH_2 >= 81
-# define BOOST_PP_ITERATION_2 81
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 82 && BOOST_PP_ITERATION_FINISH_2 >= 82
-# define BOOST_PP_ITERATION_2 82
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 83 && BOOST_PP_ITERATION_FINISH_2 >= 83
-# define BOOST_PP_ITERATION_2 83
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 84 && BOOST_PP_ITERATION_FINISH_2 >= 84
-# define BOOST_PP_ITERATION_2 84
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 85 && BOOST_PP_ITERATION_FINISH_2 >= 85
-# define BOOST_PP_ITERATION_2 85
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 86 && BOOST_PP_ITERATION_FINISH_2 >= 86
-# define BOOST_PP_ITERATION_2 86
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 87 && BOOST_PP_ITERATION_FINISH_2 >= 87
-# define BOOST_PP_ITERATION_2 87
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 88 && BOOST_PP_ITERATION_FINISH_2 >= 88
-# define BOOST_PP_ITERATION_2 88
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 89 && BOOST_PP_ITERATION_FINISH_2 >= 89
-# define BOOST_PP_ITERATION_2 89
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 90 && BOOST_PP_ITERATION_FINISH_2 >= 90
-# define BOOST_PP_ITERATION_2 90
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 91 && BOOST_PP_ITERATION_FINISH_2 >= 91
-# define BOOST_PP_ITERATION_2 91
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 92 && BOOST_PP_ITERATION_FINISH_2 >= 92
-# define BOOST_PP_ITERATION_2 92
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 93 && BOOST_PP_ITERATION_FINISH_2 >= 93
-# define BOOST_PP_ITERATION_2 93
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 94 && BOOST_PP_ITERATION_FINISH_2 >= 94
-# define BOOST_PP_ITERATION_2 94
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 95 && BOOST_PP_ITERATION_FINISH_2 >= 95
-# define BOOST_PP_ITERATION_2 95
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 96 && BOOST_PP_ITERATION_FINISH_2 >= 96
-# define BOOST_PP_ITERATION_2 96
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 97 && BOOST_PP_ITERATION_FINISH_2 >= 97
-# define BOOST_PP_ITERATION_2 97
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 98 && BOOST_PP_ITERATION_FINISH_2 >= 98
-# define BOOST_PP_ITERATION_2 98
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 99 && BOOST_PP_ITERATION_FINISH_2 >= 99
-# define BOOST_PP_ITERATION_2 99
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 100 && BOOST_PP_ITERATION_FINISH_2 >= 100
-# define BOOST_PP_ITERATION_2 100
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 101 && BOOST_PP_ITERATION_FINISH_2 >= 101
-# define BOOST_PP_ITERATION_2 101
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 102 && BOOST_PP_ITERATION_FINISH_2 >= 102
-# define BOOST_PP_ITERATION_2 102
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 103 && BOOST_PP_ITERATION_FINISH_2 >= 103
-# define BOOST_PP_ITERATION_2 103
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 104 && BOOST_PP_ITERATION_FINISH_2 >= 104
-# define BOOST_PP_ITERATION_2 104
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 105 && BOOST_PP_ITERATION_FINISH_2 >= 105
-# define BOOST_PP_ITERATION_2 105
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 106 && BOOST_PP_ITERATION_FINISH_2 >= 106
-# define BOOST_PP_ITERATION_2 106
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 107 && BOOST_PP_ITERATION_FINISH_2 >= 107
-# define BOOST_PP_ITERATION_2 107
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 108 && BOOST_PP_ITERATION_FINISH_2 >= 108
-# define BOOST_PP_ITERATION_2 108
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 109 && BOOST_PP_ITERATION_FINISH_2 >= 109
-# define BOOST_PP_ITERATION_2 109
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 110 && BOOST_PP_ITERATION_FINISH_2 >= 110
-# define BOOST_PP_ITERATION_2 110
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 111 && BOOST_PP_ITERATION_FINISH_2 >= 111
-# define BOOST_PP_ITERATION_2 111
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 112 && BOOST_PP_ITERATION_FINISH_2 >= 112
-# define BOOST_PP_ITERATION_2 112
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 113 && BOOST_PP_ITERATION_FINISH_2 >= 113
-# define BOOST_PP_ITERATION_2 113
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 114 && BOOST_PP_ITERATION_FINISH_2 >= 114
-# define BOOST_PP_ITERATION_2 114
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 115 && BOOST_PP_ITERATION_FINISH_2 >= 115
-# define BOOST_PP_ITERATION_2 115
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 116 && BOOST_PP_ITERATION_FINISH_2 >= 116
-# define BOOST_PP_ITERATION_2 116
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 117 && BOOST_PP_ITERATION_FINISH_2 >= 117
-# define BOOST_PP_ITERATION_2 117
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 118 && BOOST_PP_ITERATION_FINISH_2 >= 118
-# define BOOST_PP_ITERATION_2 118
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 119 && BOOST_PP_ITERATION_FINISH_2 >= 119
-# define BOOST_PP_ITERATION_2 119
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 120 && BOOST_PP_ITERATION_FINISH_2 >= 120
-# define BOOST_PP_ITERATION_2 120
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 121 && BOOST_PP_ITERATION_FINISH_2 >= 121
-# define BOOST_PP_ITERATION_2 121
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 122 && BOOST_PP_ITERATION_FINISH_2 >= 122
-# define BOOST_PP_ITERATION_2 122
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 123 && BOOST_PP_ITERATION_FINISH_2 >= 123
-# define BOOST_PP_ITERATION_2 123
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 124 && BOOST_PP_ITERATION_FINISH_2 >= 124
-# define BOOST_PP_ITERATION_2 124
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 125 && BOOST_PP_ITERATION_FINISH_2 >= 125
-# define BOOST_PP_ITERATION_2 125
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 126 && BOOST_PP_ITERATION_FINISH_2 >= 126
-# define BOOST_PP_ITERATION_2 126
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 127 && BOOST_PP_ITERATION_FINISH_2 >= 127
-# define BOOST_PP_ITERATION_2 127
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 128 && BOOST_PP_ITERATION_FINISH_2 >= 128
-# define BOOST_PP_ITERATION_2 128
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 129 && BOOST_PP_ITERATION_FINISH_2 >= 129
-# define BOOST_PP_ITERATION_2 129
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 130 && BOOST_PP_ITERATION_FINISH_2 >= 130
-# define BOOST_PP_ITERATION_2 130
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 131 && BOOST_PP_ITERATION_FINISH_2 >= 131
-# define BOOST_PP_ITERATION_2 131
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 132 && BOOST_PP_ITERATION_FINISH_2 >= 132
-# define BOOST_PP_ITERATION_2 132
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 133 && BOOST_PP_ITERATION_FINISH_2 >= 133
-# define BOOST_PP_ITERATION_2 133
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 134 && BOOST_PP_ITERATION_FINISH_2 >= 134
-# define BOOST_PP_ITERATION_2 134
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 135 && BOOST_PP_ITERATION_FINISH_2 >= 135
-# define BOOST_PP_ITERATION_2 135
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 136 && BOOST_PP_ITERATION_FINISH_2 >= 136
-# define BOOST_PP_ITERATION_2 136
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 137 && BOOST_PP_ITERATION_FINISH_2 >= 137
-# define BOOST_PP_ITERATION_2 137
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 138 && BOOST_PP_ITERATION_FINISH_2 >= 138
-# define BOOST_PP_ITERATION_2 138
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 139 && BOOST_PP_ITERATION_FINISH_2 >= 139
-# define BOOST_PP_ITERATION_2 139
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 140 && BOOST_PP_ITERATION_FINISH_2 >= 140
-# define BOOST_PP_ITERATION_2 140
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 141 && BOOST_PP_ITERATION_FINISH_2 >= 141
-# define BOOST_PP_ITERATION_2 141
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 142 && BOOST_PP_ITERATION_FINISH_2 >= 142
-# define BOOST_PP_ITERATION_2 142
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 143 && BOOST_PP_ITERATION_FINISH_2 >= 143
-# define BOOST_PP_ITERATION_2 143
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 144 && BOOST_PP_ITERATION_FINISH_2 >= 144
-# define BOOST_PP_ITERATION_2 144
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 145 && BOOST_PP_ITERATION_FINISH_2 >= 145
-# define BOOST_PP_ITERATION_2 145
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 146 && BOOST_PP_ITERATION_FINISH_2 >= 146
-# define BOOST_PP_ITERATION_2 146
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 147 && BOOST_PP_ITERATION_FINISH_2 >= 147
-# define BOOST_PP_ITERATION_2 147
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 148 && BOOST_PP_ITERATION_FINISH_2 >= 148
-# define BOOST_PP_ITERATION_2 148
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 149 && BOOST_PP_ITERATION_FINISH_2 >= 149
-# define BOOST_PP_ITERATION_2 149
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 150 && BOOST_PP_ITERATION_FINISH_2 >= 150
-# define BOOST_PP_ITERATION_2 150
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 151 && BOOST_PP_ITERATION_FINISH_2 >= 151
-# define BOOST_PP_ITERATION_2 151
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 152 && BOOST_PP_ITERATION_FINISH_2 >= 152
-# define BOOST_PP_ITERATION_2 152
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 153 && BOOST_PP_ITERATION_FINISH_2 >= 153
-# define BOOST_PP_ITERATION_2 153
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 154 && BOOST_PP_ITERATION_FINISH_2 >= 154
-# define BOOST_PP_ITERATION_2 154
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 155 && BOOST_PP_ITERATION_FINISH_2 >= 155
-# define BOOST_PP_ITERATION_2 155
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 156 && BOOST_PP_ITERATION_FINISH_2 >= 156
-# define BOOST_PP_ITERATION_2 156
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 157 && BOOST_PP_ITERATION_FINISH_2 >= 157
-# define BOOST_PP_ITERATION_2 157
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 158 && BOOST_PP_ITERATION_FINISH_2 >= 158
-# define BOOST_PP_ITERATION_2 158
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 159 && BOOST_PP_ITERATION_FINISH_2 >= 159
-# define BOOST_PP_ITERATION_2 159
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 160 && BOOST_PP_ITERATION_FINISH_2 >= 160
-# define BOOST_PP_ITERATION_2 160
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 161 && BOOST_PP_ITERATION_FINISH_2 >= 161
-# define BOOST_PP_ITERATION_2 161
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 162 && BOOST_PP_ITERATION_FINISH_2 >= 162
-# define BOOST_PP_ITERATION_2 162
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 163 && BOOST_PP_ITERATION_FINISH_2 >= 163
-# define BOOST_PP_ITERATION_2 163
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 164 && BOOST_PP_ITERATION_FINISH_2 >= 164
-# define BOOST_PP_ITERATION_2 164
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 165 && BOOST_PP_ITERATION_FINISH_2 >= 165
-# define BOOST_PP_ITERATION_2 165
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 166 && BOOST_PP_ITERATION_FINISH_2 >= 166
-# define BOOST_PP_ITERATION_2 166
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 167 && BOOST_PP_ITERATION_FINISH_2 >= 167
-# define BOOST_PP_ITERATION_2 167
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 168 && BOOST_PP_ITERATION_FINISH_2 >= 168
-# define BOOST_PP_ITERATION_2 168
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 169 && BOOST_PP_ITERATION_FINISH_2 >= 169
-# define BOOST_PP_ITERATION_2 169
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 170 && BOOST_PP_ITERATION_FINISH_2 >= 170
-# define BOOST_PP_ITERATION_2 170
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 171 && BOOST_PP_ITERATION_FINISH_2 >= 171
-# define BOOST_PP_ITERATION_2 171
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 172 && BOOST_PP_ITERATION_FINISH_2 >= 172
-# define BOOST_PP_ITERATION_2 172
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 173 && BOOST_PP_ITERATION_FINISH_2 >= 173
-# define BOOST_PP_ITERATION_2 173
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 174 && BOOST_PP_ITERATION_FINISH_2 >= 174
-# define BOOST_PP_ITERATION_2 174
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 175 && BOOST_PP_ITERATION_FINISH_2 >= 175
-# define BOOST_PP_ITERATION_2 175
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 176 && BOOST_PP_ITERATION_FINISH_2 >= 176
-# define BOOST_PP_ITERATION_2 176
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 177 && BOOST_PP_ITERATION_FINISH_2 >= 177
-# define BOOST_PP_ITERATION_2 177
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 178 && BOOST_PP_ITERATION_FINISH_2 >= 178
-# define BOOST_PP_ITERATION_2 178
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 179 && BOOST_PP_ITERATION_FINISH_2 >= 179
-# define BOOST_PP_ITERATION_2 179
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 180 && BOOST_PP_ITERATION_FINISH_2 >= 180
-# define BOOST_PP_ITERATION_2 180
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 181 && BOOST_PP_ITERATION_FINISH_2 >= 181
-# define BOOST_PP_ITERATION_2 181
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 182 && BOOST_PP_ITERATION_FINISH_2 >= 182
-# define BOOST_PP_ITERATION_2 182
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 183 && BOOST_PP_ITERATION_FINISH_2 >= 183
-# define BOOST_PP_ITERATION_2 183
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 184 && BOOST_PP_ITERATION_FINISH_2 >= 184
-# define BOOST_PP_ITERATION_2 184
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 185 && BOOST_PP_ITERATION_FINISH_2 >= 185
-# define BOOST_PP_ITERATION_2 185
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 186 && BOOST_PP_ITERATION_FINISH_2 >= 186
-# define BOOST_PP_ITERATION_2 186
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 187 && BOOST_PP_ITERATION_FINISH_2 >= 187
-# define BOOST_PP_ITERATION_2 187
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 188 && BOOST_PP_ITERATION_FINISH_2 >= 188
-# define BOOST_PP_ITERATION_2 188
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 189 && BOOST_PP_ITERATION_FINISH_2 >= 189
-# define BOOST_PP_ITERATION_2 189
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 190 && BOOST_PP_ITERATION_FINISH_2 >= 190
-# define BOOST_PP_ITERATION_2 190
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 191 && BOOST_PP_ITERATION_FINISH_2 >= 191
-# define BOOST_PP_ITERATION_2 191
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 192 && BOOST_PP_ITERATION_FINISH_2 >= 192
-# define BOOST_PP_ITERATION_2 192
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 193 && BOOST_PP_ITERATION_FINISH_2 >= 193
-# define BOOST_PP_ITERATION_2 193
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 194 && BOOST_PP_ITERATION_FINISH_2 >= 194
-# define BOOST_PP_ITERATION_2 194
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 195 && BOOST_PP_ITERATION_FINISH_2 >= 195
-# define BOOST_PP_ITERATION_2 195
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 196 && BOOST_PP_ITERATION_FINISH_2 >= 196
-# define BOOST_PP_ITERATION_2 196
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 197 && BOOST_PP_ITERATION_FINISH_2 >= 197
-# define BOOST_PP_ITERATION_2 197
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 198 && BOOST_PP_ITERATION_FINISH_2 >= 198
-# define BOOST_PP_ITERATION_2 198
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 199 && BOOST_PP_ITERATION_FINISH_2 >= 199
-# define BOOST_PP_ITERATION_2 199
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 200 && BOOST_PP_ITERATION_FINISH_2 >= 200
-# define BOOST_PP_ITERATION_2 200
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 201 && BOOST_PP_ITERATION_FINISH_2 >= 201
-# define BOOST_PP_ITERATION_2 201
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 202 && BOOST_PP_ITERATION_FINISH_2 >= 202
-# define BOOST_PP_ITERATION_2 202
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 203 && BOOST_PP_ITERATION_FINISH_2 >= 203
-# define BOOST_PP_ITERATION_2 203
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 204 && BOOST_PP_ITERATION_FINISH_2 >= 204
-# define BOOST_PP_ITERATION_2 204
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 205 && BOOST_PP_ITERATION_FINISH_2 >= 205
-# define BOOST_PP_ITERATION_2 205
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 206 && BOOST_PP_ITERATION_FINISH_2 >= 206
-# define BOOST_PP_ITERATION_2 206
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 207 && BOOST_PP_ITERATION_FINISH_2 >= 207
-# define BOOST_PP_ITERATION_2 207
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 208 && BOOST_PP_ITERATION_FINISH_2 >= 208
-# define BOOST_PP_ITERATION_2 208
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 209 && BOOST_PP_ITERATION_FINISH_2 >= 209
-# define BOOST_PP_ITERATION_2 209
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 210 && BOOST_PP_ITERATION_FINISH_2 >= 210
-# define BOOST_PP_ITERATION_2 210
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 211 && BOOST_PP_ITERATION_FINISH_2 >= 211
-# define BOOST_PP_ITERATION_2 211
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 212 && BOOST_PP_ITERATION_FINISH_2 >= 212
-# define BOOST_PP_ITERATION_2 212
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 213 && BOOST_PP_ITERATION_FINISH_2 >= 213
-# define BOOST_PP_ITERATION_2 213
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 214 && BOOST_PP_ITERATION_FINISH_2 >= 214
-# define BOOST_PP_ITERATION_2 214
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 215 && BOOST_PP_ITERATION_FINISH_2 >= 215
-# define BOOST_PP_ITERATION_2 215
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 216 && BOOST_PP_ITERATION_FINISH_2 >= 216
-# define BOOST_PP_ITERATION_2 216
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 217 && BOOST_PP_ITERATION_FINISH_2 >= 217
-# define BOOST_PP_ITERATION_2 217
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 218 && BOOST_PP_ITERATION_FINISH_2 >= 218
-# define BOOST_PP_ITERATION_2 218
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 219 && BOOST_PP_ITERATION_FINISH_2 >= 219
-# define BOOST_PP_ITERATION_2 219
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 220 && BOOST_PP_ITERATION_FINISH_2 >= 220
-# define BOOST_PP_ITERATION_2 220
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 221 && BOOST_PP_ITERATION_FINISH_2 >= 221
-# define BOOST_PP_ITERATION_2 221
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 222 && BOOST_PP_ITERATION_FINISH_2 >= 222
-# define BOOST_PP_ITERATION_2 222
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 223 && BOOST_PP_ITERATION_FINISH_2 >= 223
-# define BOOST_PP_ITERATION_2 223
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 224 && BOOST_PP_ITERATION_FINISH_2 >= 224
-# define BOOST_PP_ITERATION_2 224
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 225 && BOOST_PP_ITERATION_FINISH_2 >= 225
-# define BOOST_PP_ITERATION_2 225
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 226 && BOOST_PP_ITERATION_FINISH_2 >= 226
-# define BOOST_PP_ITERATION_2 226
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 227 && BOOST_PP_ITERATION_FINISH_2 >= 227
-# define BOOST_PP_ITERATION_2 227
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 228 && BOOST_PP_ITERATION_FINISH_2 >= 228
-# define BOOST_PP_ITERATION_2 228
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 229 && BOOST_PP_ITERATION_FINISH_2 >= 229
-# define BOOST_PP_ITERATION_2 229
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 230 && BOOST_PP_ITERATION_FINISH_2 >= 230
-# define BOOST_PP_ITERATION_2 230
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 231 && BOOST_PP_ITERATION_FINISH_2 >= 231
-# define BOOST_PP_ITERATION_2 231
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 232 && BOOST_PP_ITERATION_FINISH_2 >= 232
-# define BOOST_PP_ITERATION_2 232
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 233 && BOOST_PP_ITERATION_FINISH_2 >= 233
-# define BOOST_PP_ITERATION_2 233
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 234 && BOOST_PP_ITERATION_FINISH_2 >= 234
-# define BOOST_PP_ITERATION_2 234
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 235 && BOOST_PP_ITERATION_FINISH_2 >= 235
-# define BOOST_PP_ITERATION_2 235
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 236 && BOOST_PP_ITERATION_FINISH_2 >= 236
-# define BOOST_PP_ITERATION_2 236
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 237 && BOOST_PP_ITERATION_FINISH_2 >= 237
-# define BOOST_PP_ITERATION_2 237
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 238 && BOOST_PP_ITERATION_FINISH_2 >= 238
-# define BOOST_PP_ITERATION_2 238
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 239 && BOOST_PP_ITERATION_FINISH_2 >= 239
-# define BOOST_PP_ITERATION_2 239
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 240 && BOOST_PP_ITERATION_FINISH_2 >= 240
-# define BOOST_PP_ITERATION_2 240
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 241 && BOOST_PP_ITERATION_FINISH_2 >= 241
-# define BOOST_PP_ITERATION_2 241
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 242 && BOOST_PP_ITERATION_FINISH_2 >= 242
-# define BOOST_PP_ITERATION_2 242
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 243 && BOOST_PP_ITERATION_FINISH_2 >= 243
-# define BOOST_PP_ITERATION_2 243
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 244 && BOOST_PP_ITERATION_FINISH_2 >= 244
-# define BOOST_PP_ITERATION_2 244
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 245 && BOOST_PP_ITERATION_FINISH_2 >= 245
-# define BOOST_PP_ITERATION_2 245
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 246 && BOOST_PP_ITERATION_FINISH_2 >= 246
-# define BOOST_PP_ITERATION_2 246
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 247 && BOOST_PP_ITERATION_FINISH_2 >= 247
-# define BOOST_PP_ITERATION_2 247
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 248 && BOOST_PP_ITERATION_FINISH_2 >= 248
-# define BOOST_PP_ITERATION_2 248
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 249 && BOOST_PP_ITERATION_FINISH_2 >= 249
-# define BOOST_PP_ITERATION_2 249
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 250 && BOOST_PP_ITERATION_FINISH_2 >= 250
-# define BOOST_PP_ITERATION_2 250
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 251 && BOOST_PP_ITERATION_FINISH_2 >= 251
-# define BOOST_PP_ITERATION_2 251
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 252 && BOOST_PP_ITERATION_FINISH_2 >= 252
-# define BOOST_PP_ITERATION_2 252
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 253 && BOOST_PP_ITERATION_FINISH_2 >= 253
-# define BOOST_PP_ITERATION_2 253
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 254 && BOOST_PP_ITERATION_FINISH_2 >= 254
-# define BOOST_PP_ITERATION_2 254
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 255 && BOOST_PP_ITERATION_FINISH_2 >= 255
-# define BOOST_PP_ITERATION_2 255
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_START_2 <= 256 && BOOST_PP_ITERATION_FINISH_2 >= 256
-# define BOOST_PP_ITERATION_2 256
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# endif
-#
-# undef BOOST_PP_ITERATION_DEPTH
-# define BOOST_PP_ITERATION_DEPTH() 1
-#
-# undef BOOST_PP_ITERATION_START_2
-# undef BOOST_PP_ITERATION_FINISH_2
-# undef BOOST_PP_FILENAME_2
-#
-# undef BOOST_PP_ITERATION_FLAGS_2
-# undef BOOST_PP_ITERATION_PARAMS_2
diff --git a/boost/preprocessor/iteration/detail/iter/forward3.hpp b/boost/preprocessor/iteration/detail/iter/forward3.hpp
deleted file mode 100644
index e68966f..0000000
--- a/boost/preprocessor/iteration/detail/iter/forward3.hpp
+++ /dev/null
@@ -1,1338 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# if defined(BOOST_PP_ITERATION_LIMITS)
-# if !defined(BOOST_PP_FILENAME_3)
-# error BOOST_PP_ERROR: depth #3 filename is not defined
-# endif
-# define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_ITERATION_LIMITS)
-# include <boost/preprocessor/iteration/detail/bounds/lower3.hpp>
-# define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_ITERATION_LIMITS)
-# include <boost/preprocessor/iteration/detail/bounds/upper3.hpp>
-# define BOOST_PP_ITERATION_FLAGS_3() 0
-# undef BOOST_PP_ITERATION_LIMITS
-# elif defined(BOOST_PP_ITERATION_PARAMS_3)
-# define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_3)
-# include <boost/preprocessor/iteration/detail/bounds/lower3.hpp>
-# define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_3)
-# include <boost/preprocessor/iteration/detail/bounds/upper3.hpp>
-# define BOOST_PP_FILENAME_3 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_3)
-# if BOOST_PP_ARRAY_SIZE(BOOST_PP_ITERATION_PARAMS_3) >= 4
-# define BOOST_PP_ITERATION_FLAGS_3() BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_3)
-# else
-# define BOOST_PP_ITERATION_FLAGS_3() 0
-# endif
-# else
-# error BOOST_PP_ERROR: depth #3 iteration boundaries or filename not defined
-# endif
-#
-# undef BOOST_PP_ITERATION_DEPTH
-# define BOOST_PP_ITERATION_DEPTH() 3
-#
-# if (BOOST_PP_ITERATION_START_3) > (BOOST_PP_ITERATION_FINISH_3)
-# include <boost/preprocessor/iteration/detail/iter/reverse3.hpp>
-# else
-# if BOOST_PP_ITERATION_START_3 <= 0 && BOOST_PP_ITERATION_FINISH_3 >= 0
-# define BOOST_PP_ITERATION_3 0
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 1 && BOOST_PP_ITERATION_FINISH_3 >= 1
-# define BOOST_PP_ITERATION_3 1
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 2 && BOOST_PP_ITERATION_FINISH_3 >= 2
-# define BOOST_PP_ITERATION_3 2
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 3 && BOOST_PP_ITERATION_FINISH_3 >= 3
-# define BOOST_PP_ITERATION_3 3
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 4 && BOOST_PP_ITERATION_FINISH_3 >= 4
-# define BOOST_PP_ITERATION_3 4
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 5 && BOOST_PP_ITERATION_FINISH_3 >= 5
-# define BOOST_PP_ITERATION_3 5
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 6 && BOOST_PP_ITERATION_FINISH_3 >= 6
-# define BOOST_PP_ITERATION_3 6
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 7 && BOOST_PP_ITERATION_FINISH_3 >= 7
-# define BOOST_PP_ITERATION_3 7
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 8 && BOOST_PP_ITERATION_FINISH_3 >= 8
-# define BOOST_PP_ITERATION_3 8
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 9 && BOOST_PP_ITERATION_FINISH_3 >= 9
-# define BOOST_PP_ITERATION_3 9
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 10 && BOOST_PP_ITERATION_FINISH_3 >= 10
-# define BOOST_PP_ITERATION_3 10
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 11 && BOOST_PP_ITERATION_FINISH_3 >= 11
-# define BOOST_PP_ITERATION_3 11
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 12 && BOOST_PP_ITERATION_FINISH_3 >= 12
-# define BOOST_PP_ITERATION_3 12
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 13 && BOOST_PP_ITERATION_FINISH_3 >= 13
-# define BOOST_PP_ITERATION_3 13
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 14 && BOOST_PP_ITERATION_FINISH_3 >= 14
-# define BOOST_PP_ITERATION_3 14
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 15 && BOOST_PP_ITERATION_FINISH_3 >= 15
-# define BOOST_PP_ITERATION_3 15
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 16 && BOOST_PP_ITERATION_FINISH_3 >= 16
-# define BOOST_PP_ITERATION_3 16
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 17 && BOOST_PP_ITERATION_FINISH_3 >= 17
-# define BOOST_PP_ITERATION_3 17
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 18 && BOOST_PP_ITERATION_FINISH_3 >= 18
-# define BOOST_PP_ITERATION_3 18
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 19 && BOOST_PP_ITERATION_FINISH_3 >= 19
-# define BOOST_PP_ITERATION_3 19
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 20 && BOOST_PP_ITERATION_FINISH_3 >= 20
-# define BOOST_PP_ITERATION_3 20
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 21 && BOOST_PP_ITERATION_FINISH_3 >= 21
-# define BOOST_PP_ITERATION_3 21
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 22 && BOOST_PP_ITERATION_FINISH_3 >= 22
-# define BOOST_PP_ITERATION_3 22
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 23 && BOOST_PP_ITERATION_FINISH_3 >= 23
-# define BOOST_PP_ITERATION_3 23
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 24 && BOOST_PP_ITERATION_FINISH_3 >= 24
-# define BOOST_PP_ITERATION_3 24
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 25 && BOOST_PP_ITERATION_FINISH_3 >= 25
-# define BOOST_PP_ITERATION_3 25
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 26 && BOOST_PP_ITERATION_FINISH_3 >= 26
-# define BOOST_PP_ITERATION_3 26
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 27 && BOOST_PP_ITERATION_FINISH_3 >= 27
-# define BOOST_PP_ITERATION_3 27
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 28 && BOOST_PP_ITERATION_FINISH_3 >= 28
-# define BOOST_PP_ITERATION_3 28
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 29 && BOOST_PP_ITERATION_FINISH_3 >= 29
-# define BOOST_PP_ITERATION_3 29
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 30 && BOOST_PP_ITERATION_FINISH_3 >= 30
-# define BOOST_PP_ITERATION_3 30
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 31 && BOOST_PP_ITERATION_FINISH_3 >= 31
-# define BOOST_PP_ITERATION_3 31
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 32 && BOOST_PP_ITERATION_FINISH_3 >= 32
-# define BOOST_PP_ITERATION_3 32
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 33 && BOOST_PP_ITERATION_FINISH_3 >= 33
-# define BOOST_PP_ITERATION_3 33
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 34 && BOOST_PP_ITERATION_FINISH_3 >= 34
-# define BOOST_PP_ITERATION_3 34
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 35 && BOOST_PP_ITERATION_FINISH_3 >= 35
-# define BOOST_PP_ITERATION_3 35
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 36 && BOOST_PP_ITERATION_FINISH_3 >= 36
-# define BOOST_PP_ITERATION_3 36
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 37 && BOOST_PP_ITERATION_FINISH_3 >= 37
-# define BOOST_PP_ITERATION_3 37
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 38 && BOOST_PP_ITERATION_FINISH_3 >= 38
-# define BOOST_PP_ITERATION_3 38
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 39 && BOOST_PP_ITERATION_FINISH_3 >= 39
-# define BOOST_PP_ITERATION_3 39
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 40 && BOOST_PP_ITERATION_FINISH_3 >= 40
-# define BOOST_PP_ITERATION_3 40
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 41 && BOOST_PP_ITERATION_FINISH_3 >= 41
-# define BOOST_PP_ITERATION_3 41
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 42 && BOOST_PP_ITERATION_FINISH_3 >= 42
-# define BOOST_PP_ITERATION_3 42
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 43 && BOOST_PP_ITERATION_FINISH_3 >= 43
-# define BOOST_PP_ITERATION_3 43
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 44 && BOOST_PP_ITERATION_FINISH_3 >= 44
-# define BOOST_PP_ITERATION_3 44
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 45 && BOOST_PP_ITERATION_FINISH_3 >= 45
-# define BOOST_PP_ITERATION_3 45
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 46 && BOOST_PP_ITERATION_FINISH_3 >= 46
-# define BOOST_PP_ITERATION_3 46
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 47 && BOOST_PP_ITERATION_FINISH_3 >= 47
-# define BOOST_PP_ITERATION_3 47
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 48 && BOOST_PP_ITERATION_FINISH_3 >= 48
-# define BOOST_PP_ITERATION_3 48
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 49 && BOOST_PP_ITERATION_FINISH_3 >= 49
-# define BOOST_PP_ITERATION_3 49
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 50 && BOOST_PP_ITERATION_FINISH_3 >= 50
-# define BOOST_PP_ITERATION_3 50
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 51 && BOOST_PP_ITERATION_FINISH_3 >= 51
-# define BOOST_PP_ITERATION_3 51
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 52 && BOOST_PP_ITERATION_FINISH_3 >= 52
-# define BOOST_PP_ITERATION_3 52
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 53 && BOOST_PP_ITERATION_FINISH_3 >= 53
-# define BOOST_PP_ITERATION_3 53
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 54 && BOOST_PP_ITERATION_FINISH_3 >= 54
-# define BOOST_PP_ITERATION_3 54
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 55 && BOOST_PP_ITERATION_FINISH_3 >= 55
-# define BOOST_PP_ITERATION_3 55
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 56 && BOOST_PP_ITERATION_FINISH_3 >= 56
-# define BOOST_PP_ITERATION_3 56
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 57 && BOOST_PP_ITERATION_FINISH_3 >= 57
-# define BOOST_PP_ITERATION_3 57
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 58 && BOOST_PP_ITERATION_FINISH_3 >= 58
-# define BOOST_PP_ITERATION_3 58
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 59 && BOOST_PP_ITERATION_FINISH_3 >= 59
-# define BOOST_PP_ITERATION_3 59
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 60 && BOOST_PP_ITERATION_FINISH_3 >= 60
-# define BOOST_PP_ITERATION_3 60
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 61 && BOOST_PP_ITERATION_FINISH_3 >= 61
-# define BOOST_PP_ITERATION_3 61
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 62 && BOOST_PP_ITERATION_FINISH_3 >= 62
-# define BOOST_PP_ITERATION_3 62
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 63 && BOOST_PP_ITERATION_FINISH_3 >= 63
-# define BOOST_PP_ITERATION_3 63
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 64 && BOOST_PP_ITERATION_FINISH_3 >= 64
-# define BOOST_PP_ITERATION_3 64
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 65 && BOOST_PP_ITERATION_FINISH_3 >= 65
-# define BOOST_PP_ITERATION_3 65
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 66 && BOOST_PP_ITERATION_FINISH_3 >= 66
-# define BOOST_PP_ITERATION_3 66
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 67 && BOOST_PP_ITERATION_FINISH_3 >= 67
-# define BOOST_PP_ITERATION_3 67
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 68 && BOOST_PP_ITERATION_FINISH_3 >= 68
-# define BOOST_PP_ITERATION_3 68
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 69 && BOOST_PP_ITERATION_FINISH_3 >= 69
-# define BOOST_PP_ITERATION_3 69
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 70 && BOOST_PP_ITERATION_FINISH_3 >= 70
-# define BOOST_PP_ITERATION_3 70
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 71 && BOOST_PP_ITERATION_FINISH_3 >= 71
-# define BOOST_PP_ITERATION_3 71
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 72 && BOOST_PP_ITERATION_FINISH_3 >= 72
-# define BOOST_PP_ITERATION_3 72
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 73 && BOOST_PP_ITERATION_FINISH_3 >= 73
-# define BOOST_PP_ITERATION_3 73
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 74 && BOOST_PP_ITERATION_FINISH_3 >= 74
-# define BOOST_PP_ITERATION_3 74
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 75 && BOOST_PP_ITERATION_FINISH_3 >= 75
-# define BOOST_PP_ITERATION_3 75
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 76 && BOOST_PP_ITERATION_FINISH_3 >= 76
-# define BOOST_PP_ITERATION_3 76
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 77 && BOOST_PP_ITERATION_FINISH_3 >= 77
-# define BOOST_PP_ITERATION_3 77
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 78 && BOOST_PP_ITERATION_FINISH_3 >= 78
-# define BOOST_PP_ITERATION_3 78
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 79 && BOOST_PP_ITERATION_FINISH_3 >= 79
-# define BOOST_PP_ITERATION_3 79
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 80 && BOOST_PP_ITERATION_FINISH_3 >= 80
-# define BOOST_PP_ITERATION_3 80
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 81 && BOOST_PP_ITERATION_FINISH_3 >= 81
-# define BOOST_PP_ITERATION_3 81
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 82 && BOOST_PP_ITERATION_FINISH_3 >= 82
-# define BOOST_PP_ITERATION_3 82
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 83 && BOOST_PP_ITERATION_FINISH_3 >= 83
-# define BOOST_PP_ITERATION_3 83
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 84 && BOOST_PP_ITERATION_FINISH_3 >= 84
-# define BOOST_PP_ITERATION_3 84
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 85 && BOOST_PP_ITERATION_FINISH_3 >= 85
-# define BOOST_PP_ITERATION_3 85
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 86 && BOOST_PP_ITERATION_FINISH_3 >= 86
-# define BOOST_PP_ITERATION_3 86
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 87 && BOOST_PP_ITERATION_FINISH_3 >= 87
-# define BOOST_PP_ITERATION_3 87
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 88 && BOOST_PP_ITERATION_FINISH_3 >= 88
-# define BOOST_PP_ITERATION_3 88
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 89 && BOOST_PP_ITERATION_FINISH_3 >= 89
-# define BOOST_PP_ITERATION_3 89
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 90 && BOOST_PP_ITERATION_FINISH_3 >= 90
-# define BOOST_PP_ITERATION_3 90
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 91 && BOOST_PP_ITERATION_FINISH_3 >= 91
-# define BOOST_PP_ITERATION_3 91
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 92 && BOOST_PP_ITERATION_FINISH_3 >= 92
-# define BOOST_PP_ITERATION_3 92
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 93 && BOOST_PP_ITERATION_FINISH_3 >= 93
-# define BOOST_PP_ITERATION_3 93
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 94 && BOOST_PP_ITERATION_FINISH_3 >= 94
-# define BOOST_PP_ITERATION_3 94
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 95 && BOOST_PP_ITERATION_FINISH_3 >= 95
-# define BOOST_PP_ITERATION_3 95
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 96 && BOOST_PP_ITERATION_FINISH_3 >= 96
-# define BOOST_PP_ITERATION_3 96
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 97 && BOOST_PP_ITERATION_FINISH_3 >= 97
-# define BOOST_PP_ITERATION_3 97
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 98 && BOOST_PP_ITERATION_FINISH_3 >= 98
-# define BOOST_PP_ITERATION_3 98
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 99 && BOOST_PP_ITERATION_FINISH_3 >= 99
-# define BOOST_PP_ITERATION_3 99
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 100 && BOOST_PP_ITERATION_FINISH_3 >= 100
-# define BOOST_PP_ITERATION_3 100
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 101 && BOOST_PP_ITERATION_FINISH_3 >= 101
-# define BOOST_PP_ITERATION_3 101
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 102 && BOOST_PP_ITERATION_FINISH_3 >= 102
-# define BOOST_PP_ITERATION_3 102
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 103 && BOOST_PP_ITERATION_FINISH_3 >= 103
-# define BOOST_PP_ITERATION_3 103
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 104 && BOOST_PP_ITERATION_FINISH_3 >= 104
-# define BOOST_PP_ITERATION_3 104
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 105 && BOOST_PP_ITERATION_FINISH_3 >= 105
-# define BOOST_PP_ITERATION_3 105
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 106 && BOOST_PP_ITERATION_FINISH_3 >= 106
-# define BOOST_PP_ITERATION_3 106
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 107 && BOOST_PP_ITERATION_FINISH_3 >= 107
-# define BOOST_PP_ITERATION_3 107
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 108 && BOOST_PP_ITERATION_FINISH_3 >= 108
-# define BOOST_PP_ITERATION_3 108
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 109 && BOOST_PP_ITERATION_FINISH_3 >= 109
-# define BOOST_PP_ITERATION_3 109
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 110 && BOOST_PP_ITERATION_FINISH_3 >= 110
-# define BOOST_PP_ITERATION_3 110
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 111 && BOOST_PP_ITERATION_FINISH_3 >= 111
-# define BOOST_PP_ITERATION_3 111
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 112 && BOOST_PP_ITERATION_FINISH_3 >= 112
-# define BOOST_PP_ITERATION_3 112
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 113 && BOOST_PP_ITERATION_FINISH_3 >= 113
-# define BOOST_PP_ITERATION_3 113
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 114 && BOOST_PP_ITERATION_FINISH_3 >= 114
-# define BOOST_PP_ITERATION_3 114
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 115 && BOOST_PP_ITERATION_FINISH_3 >= 115
-# define BOOST_PP_ITERATION_3 115
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 116 && BOOST_PP_ITERATION_FINISH_3 >= 116
-# define BOOST_PP_ITERATION_3 116
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 117 && BOOST_PP_ITERATION_FINISH_3 >= 117
-# define BOOST_PP_ITERATION_3 117
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 118 && BOOST_PP_ITERATION_FINISH_3 >= 118
-# define BOOST_PP_ITERATION_3 118
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 119 && BOOST_PP_ITERATION_FINISH_3 >= 119
-# define BOOST_PP_ITERATION_3 119
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 120 && BOOST_PP_ITERATION_FINISH_3 >= 120
-# define BOOST_PP_ITERATION_3 120
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 121 && BOOST_PP_ITERATION_FINISH_3 >= 121
-# define BOOST_PP_ITERATION_3 121
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 122 && BOOST_PP_ITERATION_FINISH_3 >= 122
-# define BOOST_PP_ITERATION_3 122
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 123 && BOOST_PP_ITERATION_FINISH_3 >= 123
-# define BOOST_PP_ITERATION_3 123
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 124 && BOOST_PP_ITERATION_FINISH_3 >= 124
-# define BOOST_PP_ITERATION_3 124
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 125 && BOOST_PP_ITERATION_FINISH_3 >= 125
-# define BOOST_PP_ITERATION_3 125
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 126 && BOOST_PP_ITERATION_FINISH_3 >= 126
-# define BOOST_PP_ITERATION_3 126
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 127 && BOOST_PP_ITERATION_FINISH_3 >= 127
-# define BOOST_PP_ITERATION_3 127
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 128 && BOOST_PP_ITERATION_FINISH_3 >= 128
-# define BOOST_PP_ITERATION_3 128
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 129 && BOOST_PP_ITERATION_FINISH_3 >= 129
-# define BOOST_PP_ITERATION_3 129
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 130 && BOOST_PP_ITERATION_FINISH_3 >= 130
-# define BOOST_PP_ITERATION_3 130
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 131 && BOOST_PP_ITERATION_FINISH_3 >= 131
-# define BOOST_PP_ITERATION_3 131
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 132 && BOOST_PP_ITERATION_FINISH_3 >= 132
-# define BOOST_PP_ITERATION_3 132
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 133 && BOOST_PP_ITERATION_FINISH_3 >= 133
-# define BOOST_PP_ITERATION_3 133
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 134 && BOOST_PP_ITERATION_FINISH_3 >= 134
-# define BOOST_PP_ITERATION_3 134
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 135 && BOOST_PP_ITERATION_FINISH_3 >= 135
-# define BOOST_PP_ITERATION_3 135
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 136 && BOOST_PP_ITERATION_FINISH_3 >= 136
-# define BOOST_PP_ITERATION_3 136
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 137 && BOOST_PP_ITERATION_FINISH_3 >= 137
-# define BOOST_PP_ITERATION_3 137
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 138 && BOOST_PP_ITERATION_FINISH_3 >= 138
-# define BOOST_PP_ITERATION_3 138
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 139 && BOOST_PP_ITERATION_FINISH_3 >= 139
-# define BOOST_PP_ITERATION_3 139
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 140 && BOOST_PP_ITERATION_FINISH_3 >= 140
-# define BOOST_PP_ITERATION_3 140
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 141 && BOOST_PP_ITERATION_FINISH_3 >= 141
-# define BOOST_PP_ITERATION_3 141
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 142 && BOOST_PP_ITERATION_FINISH_3 >= 142
-# define BOOST_PP_ITERATION_3 142
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 143 && BOOST_PP_ITERATION_FINISH_3 >= 143
-# define BOOST_PP_ITERATION_3 143
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 144 && BOOST_PP_ITERATION_FINISH_3 >= 144
-# define BOOST_PP_ITERATION_3 144
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 145 && BOOST_PP_ITERATION_FINISH_3 >= 145
-# define BOOST_PP_ITERATION_3 145
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 146 && BOOST_PP_ITERATION_FINISH_3 >= 146
-# define BOOST_PP_ITERATION_3 146
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 147 && BOOST_PP_ITERATION_FINISH_3 >= 147
-# define BOOST_PP_ITERATION_3 147
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 148 && BOOST_PP_ITERATION_FINISH_3 >= 148
-# define BOOST_PP_ITERATION_3 148
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 149 && BOOST_PP_ITERATION_FINISH_3 >= 149
-# define BOOST_PP_ITERATION_3 149
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 150 && BOOST_PP_ITERATION_FINISH_3 >= 150
-# define BOOST_PP_ITERATION_3 150
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 151 && BOOST_PP_ITERATION_FINISH_3 >= 151
-# define BOOST_PP_ITERATION_3 151
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 152 && BOOST_PP_ITERATION_FINISH_3 >= 152
-# define BOOST_PP_ITERATION_3 152
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 153 && BOOST_PP_ITERATION_FINISH_3 >= 153
-# define BOOST_PP_ITERATION_3 153
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 154 && BOOST_PP_ITERATION_FINISH_3 >= 154
-# define BOOST_PP_ITERATION_3 154
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 155 && BOOST_PP_ITERATION_FINISH_3 >= 155
-# define BOOST_PP_ITERATION_3 155
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 156 && BOOST_PP_ITERATION_FINISH_3 >= 156
-# define BOOST_PP_ITERATION_3 156
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 157 && BOOST_PP_ITERATION_FINISH_3 >= 157
-# define BOOST_PP_ITERATION_3 157
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 158 && BOOST_PP_ITERATION_FINISH_3 >= 158
-# define BOOST_PP_ITERATION_3 158
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 159 && BOOST_PP_ITERATION_FINISH_3 >= 159
-# define BOOST_PP_ITERATION_3 159
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 160 && BOOST_PP_ITERATION_FINISH_3 >= 160
-# define BOOST_PP_ITERATION_3 160
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 161 && BOOST_PP_ITERATION_FINISH_3 >= 161
-# define BOOST_PP_ITERATION_3 161
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 162 && BOOST_PP_ITERATION_FINISH_3 >= 162
-# define BOOST_PP_ITERATION_3 162
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 163 && BOOST_PP_ITERATION_FINISH_3 >= 163
-# define BOOST_PP_ITERATION_3 163
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 164 && BOOST_PP_ITERATION_FINISH_3 >= 164
-# define BOOST_PP_ITERATION_3 164
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 165 && BOOST_PP_ITERATION_FINISH_3 >= 165
-# define BOOST_PP_ITERATION_3 165
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 166 && BOOST_PP_ITERATION_FINISH_3 >= 166
-# define BOOST_PP_ITERATION_3 166
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 167 && BOOST_PP_ITERATION_FINISH_3 >= 167
-# define BOOST_PP_ITERATION_3 167
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 168 && BOOST_PP_ITERATION_FINISH_3 >= 168
-# define BOOST_PP_ITERATION_3 168
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 169 && BOOST_PP_ITERATION_FINISH_3 >= 169
-# define BOOST_PP_ITERATION_3 169
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 170 && BOOST_PP_ITERATION_FINISH_3 >= 170
-# define BOOST_PP_ITERATION_3 170
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 171 && BOOST_PP_ITERATION_FINISH_3 >= 171
-# define BOOST_PP_ITERATION_3 171
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 172 && BOOST_PP_ITERATION_FINISH_3 >= 172
-# define BOOST_PP_ITERATION_3 172
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 173 && BOOST_PP_ITERATION_FINISH_3 >= 173
-# define BOOST_PP_ITERATION_3 173
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 174 && BOOST_PP_ITERATION_FINISH_3 >= 174
-# define BOOST_PP_ITERATION_3 174
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 175 && BOOST_PP_ITERATION_FINISH_3 >= 175
-# define BOOST_PP_ITERATION_3 175
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 176 && BOOST_PP_ITERATION_FINISH_3 >= 176
-# define BOOST_PP_ITERATION_3 176
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 177 && BOOST_PP_ITERATION_FINISH_3 >= 177
-# define BOOST_PP_ITERATION_3 177
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 178 && BOOST_PP_ITERATION_FINISH_3 >= 178
-# define BOOST_PP_ITERATION_3 178
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 179 && BOOST_PP_ITERATION_FINISH_3 >= 179
-# define BOOST_PP_ITERATION_3 179
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 180 && BOOST_PP_ITERATION_FINISH_3 >= 180
-# define BOOST_PP_ITERATION_3 180
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 181 && BOOST_PP_ITERATION_FINISH_3 >= 181
-# define BOOST_PP_ITERATION_3 181
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 182 && BOOST_PP_ITERATION_FINISH_3 >= 182
-# define BOOST_PP_ITERATION_3 182
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 183 && BOOST_PP_ITERATION_FINISH_3 >= 183
-# define BOOST_PP_ITERATION_3 183
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 184 && BOOST_PP_ITERATION_FINISH_3 >= 184
-# define BOOST_PP_ITERATION_3 184
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 185 && BOOST_PP_ITERATION_FINISH_3 >= 185
-# define BOOST_PP_ITERATION_3 185
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 186 && BOOST_PP_ITERATION_FINISH_3 >= 186
-# define BOOST_PP_ITERATION_3 186
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 187 && BOOST_PP_ITERATION_FINISH_3 >= 187
-# define BOOST_PP_ITERATION_3 187
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 188 && BOOST_PP_ITERATION_FINISH_3 >= 188
-# define BOOST_PP_ITERATION_3 188
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 189 && BOOST_PP_ITERATION_FINISH_3 >= 189
-# define BOOST_PP_ITERATION_3 189
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 190 && BOOST_PP_ITERATION_FINISH_3 >= 190
-# define BOOST_PP_ITERATION_3 190
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 191 && BOOST_PP_ITERATION_FINISH_3 >= 191
-# define BOOST_PP_ITERATION_3 191
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 192 && BOOST_PP_ITERATION_FINISH_3 >= 192
-# define BOOST_PP_ITERATION_3 192
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 193 && BOOST_PP_ITERATION_FINISH_3 >= 193
-# define BOOST_PP_ITERATION_3 193
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 194 && BOOST_PP_ITERATION_FINISH_3 >= 194
-# define BOOST_PP_ITERATION_3 194
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 195 && BOOST_PP_ITERATION_FINISH_3 >= 195
-# define BOOST_PP_ITERATION_3 195
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 196 && BOOST_PP_ITERATION_FINISH_3 >= 196
-# define BOOST_PP_ITERATION_3 196
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 197 && BOOST_PP_ITERATION_FINISH_3 >= 197
-# define BOOST_PP_ITERATION_3 197
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 198 && BOOST_PP_ITERATION_FINISH_3 >= 198
-# define BOOST_PP_ITERATION_3 198
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 199 && BOOST_PP_ITERATION_FINISH_3 >= 199
-# define BOOST_PP_ITERATION_3 199
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 200 && BOOST_PP_ITERATION_FINISH_3 >= 200
-# define BOOST_PP_ITERATION_3 200
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 201 && BOOST_PP_ITERATION_FINISH_3 >= 201
-# define BOOST_PP_ITERATION_3 201
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 202 && BOOST_PP_ITERATION_FINISH_3 >= 202
-# define BOOST_PP_ITERATION_3 202
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 203 && BOOST_PP_ITERATION_FINISH_3 >= 203
-# define BOOST_PP_ITERATION_3 203
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 204 && BOOST_PP_ITERATION_FINISH_3 >= 204
-# define BOOST_PP_ITERATION_3 204
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 205 && BOOST_PP_ITERATION_FINISH_3 >= 205
-# define BOOST_PP_ITERATION_3 205
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 206 && BOOST_PP_ITERATION_FINISH_3 >= 206
-# define BOOST_PP_ITERATION_3 206
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 207 && BOOST_PP_ITERATION_FINISH_3 >= 207
-# define BOOST_PP_ITERATION_3 207
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 208 && BOOST_PP_ITERATION_FINISH_3 >= 208
-# define BOOST_PP_ITERATION_3 208
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 209 && BOOST_PP_ITERATION_FINISH_3 >= 209
-# define BOOST_PP_ITERATION_3 209
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 210 && BOOST_PP_ITERATION_FINISH_3 >= 210
-# define BOOST_PP_ITERATION_3 210
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 211 && BOOST_PP_ITERATION_FINISH_3 >= 211
-# define BOOST_PP_ITERATION_3 211
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 212 && BOOST_PP_ITERATION_FINISH_3 >= 212
-# define BOOST_PP_ITERATION_3 212
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 213 && BOOST_PP_ITERATION_FINISH_3 >= 213
-# define BOOST_PP_ITERATION_3 213
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 214 && BOOST_PP_ITERATION_FINISH_3 >= 214
-# define BOOST_PP_ITERATION_3 214
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 215 && BOOST_PP_ITERATION_FINISH_3 >= 215
-# define BOOST_PP_ITERATION_3 215
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 216 && BOOST_PP_ITERATION_FINISH_3 >= 216
-# define BOOST_PP_ITERATION_3 216
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 217 && BOOST_PP_ITERATION_FINISH_3 >= 217
-# define BOOST_PP_ITERATION_3 217
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 218 && BOOST_PP_ITERATION_FINISH_3 >= 218
-# define BOOST_PP_ITERATION_3 218
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 219 && BOOST_PP_ITERATION_FINISH_3 >= 219
-# define BOOST_PP_ITERATION_3 219
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 220 && BOOST_PP_ITERATION_FINISH_3 >= 220
-# define BOOST_PP_ITERATION_3 220
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 221 && BOOST_PP_ITERATION_FINISH_3 >= 221
-# define BOOST_PP_ITERATION_3 221
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 222 && BOOST_PP_ITERATION_FINISH_3 >= 222
-# define BOOST_PP_ITERATION_3 222
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 223 && BOOST_PP_ITERATION_FINISH_3 >= 223
-# define BOOST_PP_ITERATION_3 223
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 224 && BOOST_PP_ITERATION_FINISH_3 >= 224
-# define BOOST_PP_ITERATION_3 224
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 225 && BOOST_PP_ITERATION_FINISH_3 >= 225
-# define BOOST_PP_ITERATION_3 225
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 226 && BOOST_PP_ITERATION_FINISH_3 >= 226
-# define BOOST_PP_ITERATION_3 226
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 227 && BOOST_PP_ITERATION_FINISH_3 >= 227
-# define BOOST_PP_ITERATION_3 227
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 228 && BOOST_PP_ITERATION_FINISH_3 >= 228
-# define BOOST_PP_ITERATION_3 228
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 229 && BOOST_PP_ITERATION_FINISH_3 >= 229
-# define BOOST_PP_ITERATION_3 229
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 230 && BOOST_PP_ITERATION_FINISH_3 >= 230
-# define BOOST_PP_ITERATION_3 230
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 231 && BOOST_PP_ITERATION_FINISH_3 >= 231
-# define BOOST_PP_ITERATION_3 231
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 232 && BOOST_PP_ITERATION_FINISH_3 >= 232
-# define BOOST_PP_ITERATION_3 232
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 233 && BOOST_PP_ITERATION_FINISH_3 >= 233
-# define BOOST_PP_ITERATION_3 233
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 234 && BOOST_PP_ITERATION_FINISH_3 >= 234
-# define BOOST_PP_ITERATION_3 234
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 235 && BOOST_PP_ITERATION_FINISH_3 >= 235
-# define BOOST_PP_ITERATION_3 235
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 236 && BOOST_PP_ITERATION_FINISH_3 >= 236
-# define BOOST_PP_ITERATION_3 236
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 237 && BOOST_PP_ITERATION_FINISH_3 >= 237
-# define BOOST_PP_ITERATION_3 237
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 238 && BOOST_PP_ITERATION_FINISH_3 >= 238
-# define BOOST_PP_ITERATION_3 238
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 239 && BOOST_PP_ITERATION_FINISH_3 >= 239
-# define BOOST_PP_ITERATION_3 239
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 240 && BOOST_PP_ITERATION_FINISH_3 >= 240
-# define BOOST_PP_ITERATION_3 240
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 241 && BOOST_PP_ITERATION_FINISH_3 >= 241
-# define BOOST_PP_ITERATION_3 241
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 242 && BOOST_PP_ITERATION_FINISH_3 >= 242
-# define BOOST_PP_ITERATION_3 242
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 243 && BOOST_PP_ITERATION_FINISH_3 >= 243
-# define BOOST_PP_ITERATION_3 243
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 244 && BOOST_PP_ITERATION_FINISH_3 >= 244
-# define BOOST_PP_ITERATION_3 244
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 245 && BOOST_PP_ITERATION_FINISH_3 >= 245
-# define BOOST_PP_ITERATION_3 245
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 246 && BOOST_PP_ITERATION_FINISH_3 >= 246
-# define BOOST_PP_ITERATION_3 246
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 247 && BOOST_PP_ITERATION_FINISH_3 >= 247
-# define BOOST_PP_ITERATION_3 247
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 248 && BOOST_PP_ITERATION_FINISH_3 >= 248
-# define BOOST_PP_ITERATION_3 248
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 249 && BOOST_PP_ITERATION_FINISH_3 >= 249
-# define BOOST_PP_ITERATION_3 249
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 250 && BOOST_PP_ITERATION_FINISH_3 >= 250
-# define BOOST_PP_ITERATION_3 250
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 251 && BOOST_PP_ITERATION_FINISH_3 >= 251
-# define BOOST_PP_ITERATION_3 251
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 252 && BOOST_PP_ITERATION_FINISH_3 >= 252
-# define BOOST_PP_ITERATION_3 252
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 253 && BOOST_PP_ITERATION_FINISH_3 >= 253
-# define BOOST_PP_ITERATION_3 253
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 254 && BOOST_PP_ITERATION_FINISH_3 >= 254
-# define BOOST_PP_ITERATION_3 254
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 255 && BOOST_PP_ITERATION_FINISH_3 >= 255
-# define BOOST_PP_ITERATION_3 255
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_START_3 <= 256 && BOOST_PP_ITERATION_FINISH_3 >= 256
-# define BOOST_PP_ITERATION_3 256
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# endif
-#
-# undef BOOST_PP_ITERATION_DEPTH
-# define BOOST_PP_ITERATION_DEPTH() 2
-#
-# undef BOOST_PP_ITERATION_START_3
-# undef BOOST_PP_ITERATION_FINISH_3
-# undef BOOST_PP_FILENAME_3
-#
-# undef BOOST_PP_ITERATION_FLAGS_3
-# undef BOOST_PP_ITERATION_PARAMS_3
diff --git a/boost/preprocessor/iteration/detail/iter/forward4.hpp b/boost/preprocessor/iteration/detail/iter/forward4.hpp
deleted file mode 100644
index 1b4f588..0000000
--- a/boost/preprocessor/iteration/detail/iter/forward4.hpp
+++ /dev/null
@@ -1,1338 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# if defined(BOOST_PP_ITERATION_LIMITS)
-# if !defined(BOOST_PP_FILENAME_4)
-# error BOOST_PP_ERROR: depth #4 filename is not defined
-# endif
-# define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_ITERATION_LIMITS)
-# include <boost/preprocessor/iteration/detail/bounds/lower4.hpp>
-# define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_ITERATION_LIMITS)
-# include <boost/preprocessor/iteration/detail/bounds/upper4.hpp>
-# define BOOST_PP_ITERATION_FLAGS_4() 0
-# undef BOOST_PP_ITERATION_LIMITS
-# elif defined(BOOST_PP_ITERATION_PARAMS_4)
-# define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_4)
-# include <boost/preprocessor/iteration/detail/bounds/lower4.hpp>
-# define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_4)
-# include <boost/preprocessor/iteration/detail/bounds/upper4.hpp>
-# define BOOST_PP_FILENAME_4 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_4)
-# if BOOST_PP_ARRAY_SIZE(BOOST_PP_ITERATION_PARAMS_4) >= 4
-# define BOOST_PP_ITERATION_FLAGS_4() BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_4)
-# else
-# define BOOST_PP_ITERATION_FLAGS_4() 0
-# endif
-# else
-# error BOOST_PP_ERROR: depth #4 iteration boundaries or filename not defined
-# endif
-#
-# undef BOOST_PP_ITERATION_DEPTH
-# define BOOST_PP_ITERATION_DEPTH() 4
-#
-# if (BOOST_PP_ITERATION_START_4) > (BOOST_PP_ITERATION_FINISH_4)
-# include <boost/preprocessor/iteration/detail/iter/reverse4.hpp>
-# else
-# if BOOST_PP_ITERATION_START_4 <= 0 && BOOST_PP_ITERATION_FINISH_4 >= 0
-# define BOOST_PP_ITERATION_4 0
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 1 && BOOST_PP_ITERATION_FINISH_4 >= 1
-# define BOOST_PP_ITERATION_4 1
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 2 && BOOST_PP_ITERATION_FINISH_4 >= 2
-# define BOOST_PP_ITERATION_4 2
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 3 && BOOST_PP_ITERATION_FINISH_4 >= 3
-# define BOOST_PP_ITERATION_4 3
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 4 && BOOST_PP_ITERATION_FINISH_4 >= 4
-# define BOOST_PP_ITERATION_4 4
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 5 && BOOST_PP_ITERATION_FINISH_4 >= 5
-# define BOOST_PP_ITERATION_4 5
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 6 && BOOST_PP_ITERATION_FINISH_4 >= 6
-# define BOOST_PP_ITERATION_4 6
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 7 && BOOST_PP_ITERATION_FINISH_4 >= 7
-# define BOOST_PP_ITERATION_4 7
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 8 && BOOST_PP_ITERATION_FINISH_4 >= 8
-# define BOOST_PP_ITERATION_4 8
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 9 && BOOST_PP_ITERATION_FINISH_4 >= 9
-# define BOOST_PP_ITERATION_4 9
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 10 && BOOST_PP_ITERATION_FINISH_4 >= 10
-# define BOOST_PP_ITERATION_4 10
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 11 && BOOST_PP_ITERATION_FINISH_4 >= 11
-# define BOOST_PP_ITERATION_4 11
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 12 && BOOST_PP_ITERATION_FINISH_4 >= 12
-# define BOOST_PP_ITERATION_4 12
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 13 && BOOST_PP_ITERATION_FINISH_4 >= 13
-# define BOOST_PP_ITERATION_4 13
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 14 && BOOST_PP_ITERATION_FINISH_4 >= 14
-# define BOOST_PP_ITERATION_4 14
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 15 && BOOST_PP_ITERATION_FINISH_4 >= 15
-# define BOOST_PP_ITERATION_4 15
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 16 && BOOST_PP_ITERATION_FINISH_4 >= 16
-# define BOOST_PP_ITERATION_4 16
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 17 && BOOST_PP_ITERATION_FINISH_4 >= 17
-# define BOOST_PP_ITERATION_4 17
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 18 && BOOST_PP_ITERATION_FINISH_4 >= 18
-# define BOOST_PP_ITERATION_4 18
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 19 && BOOST_PP_ITERATION_FINISH_4 >= 19
-# define BOOST_PP_ITERATION_4 19
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 20 && BOOST_PP_ITERATION_FINISH_4 >= 20
-# define BOOST_PP_ITERATION_4 20
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 21 && BOOST_PP_ITERATION_FINISH_4 >= 21
-# define BOOST_PP_ITERATION_4 21
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 22 && BOOST_PP_ITERATION_FINISH_4 >= 22
-# define BOOST_PP_ITERATION_4 22
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 23 && BOOST_PP_ITERATION_FINISH_4 >= 23
-# define BOOST_PP_ITERATION_4 23
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 24 && BOOST_PP_ITERATION_FINISH_4 >= 24
-# define BOOST_PP_ITERATION_4 24
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 25 && BOOST_PP_ITERATION_FINISH_4 >= 25
-# define BOOST_PP_ITERATION_4 25
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 26 && BOOST_PP_ITERATION_FINISH_4 >= 26
-# define BOOST_PP_ITERATION_4 26
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 27 && BOOST_PP_ITERATION_FINISH_4 >= 27
-# define BOOST_PP_ITERATION_4 27
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 28 && BOOST_PP_ITERATION_FINISH_4 >= 28
-# define BOOST_PP_ITERATION_4 28
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 29 && BOOST_PP_ITERATION_FINISH_4 >= 29
-# define BOOST_PP_ITERATION_4 29
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 30 && BOOST_PP_ITERATION_FINISH_4 >= 30
-# define BOOST_PP_ITERATION_4 30
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 31 && BOOST_PP_ITERATION_FINISH_4 >= 31
-# define BOOST_PP_ITERATION_4 31
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 32 && BOOST_PP_ITERATION_FINISH_4 >= 32
-# define BOOST_PP_ITERATION_4 32
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 33 && BOOST_PP_ITERATION_FINISH_4 >= 33
-# define BOOST_PP_ITERATION_4 33
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 34 && BOOST_PP_ITERATION_FINISH_4 >= 34
-# define BOOST_PP_ITERATION_4 34
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 35 && BOOST_PP_ITERATION_FINISH_4 >= 35
-# define BOOST_PP_ITERATION_4 35
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 36 && BOOST_PP_ITERATION_FINISH_4 >= 36
-# define BOOST_PP_ITERATION_4 36
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 37 && BOOST_PP_ITERATION_FINISH_4 >= 37
-# define BOOST_PP_ITERATION_4 37
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 38 && BOOST_PP_ITERATION_FINISH_4 >= 38
-# define BOOST_PP_ITERATION_4 38
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 39 && BOOST_PP_ITERATION_FINISH_4 >= 39
-# define BOOST_PP_ITERATION_4 39
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 40 && BOOST_PP_ITERATION_FINISH_4 >= 40
-# define BOOST_PP_ITERATION_4 40
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 41 && BOOST_PP_ITERATION_FINISH_4 >= 41
-# define BOOST_PP_ITERATION_4 41
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 42 && BOOST_PP_ITERATION_FINISH_4 >= 42
-# define BOOST_PP_ITERATION_4 42
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 43 && BOOST_PP_ITERATION_FINISH_4 >= 43
-# define BOOST_PP_ITERATION_4 43
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 44 && BOOST_PP_ITERATION_FINISH_4 >= 44
-# define BOOST_PP_ITERATION_4 44
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 45 && BOOST_PP_ITERATION_FINISH_4 >= 45
-# define BOOST_PP_ITERATION_4 45
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 46 && BOOST_PP_ITERATION_FINISH_4 >= 46
-# define BOOST_PP_ITERATION_4 46
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 47 && BOOST_PP_ITERATION_FINISH_4 >= 47
-# define BOOST_PP_ITERATION_4 47
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 48 && BOOST_PP_ITERATION_FINISH_4 >= 48
-# define BOOST_PP_ITERATION_4 48
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 49 && BOOST_PP_ITERATION_FINISH_4 >= 49
-# define BOOST_PP_ITERATION_4 49
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 50 && BOOST_PP_ITERATION_FINISH_4 >= 50
-# define BOOST_PP_ITERATION_4 50
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 51 && BOOST_PP_ITERATION_FINISH_4 >= 51
-# define BOOST_PP_ITERATION_4 51
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 52 && BOOST_PP_ITERATION_FINISH_4 >= 52
-# define BOOST_PP_ITERATION_4 52
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 53 && BOOST_PP_ITERATION_FINISH_4 >= 53
-# define BOOST_PP_ITERATION_4 53
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 54 && BOOST_PP_ITERATION_FINISH_4 >= 54
-# define BOOST_PP_ITERATION_4 54
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 55 && BOOST_PP_ITERATION_FINISH_4 >= 55
-# define BOOST_PP_ITERATION_4 55
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 56 && BOOST_PP_ITERATION_FINISH_4 >= 56
-# define BOOST_PP_ITERATION_4 56
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 57 && BOOST_PP_ITERATION_FINISH_4 >= 57
-# define BOOST_PP_ITERATION_4 57
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 58 && BOOST_PP_ITERATION_FINISH_4 >= 58
-# define BOOST_PP_ITERATION_4 58
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 59 && BOOST_PP_ITERATION_FINISH_4 >= 59
-# define BOOST_PP_ITERATION_4 59
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 60 && BOOST_PP_ITERATION_FINISH_4 >= 60
-# define BOOST_PP_ITERATION_4 60
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 61 && BOOST_PP_ITERATION_FINISH_4 >= 61
-# define BOOST_PP_ITERATION_4 61
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 62 && BOOST_PP_ITERATION_FINISH_4 >= 62
-# define BOOST_PP_ITERATION_4 62
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 63 && BOOST_PP_ITERATION_FINISH_4 >= 63
-# define BOOST_PP_ITERATION_4 63
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 64 && BOOST_PP_ITERATION_FINISH_4 >= 64
-# define BOOST_PP_ITERATION_4 64
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 65 && BOOST_PP_ITERATION_FINISH_4 >= 65
-# define BOOST_PP_ITERATION_4 65
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 66 && BOOST_PP_ITERATION_FINISH_4 >= 66
-# define BOOST_PP_ITERATION_4 66
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 67 && BOOST_PP_ITERATION_FINISH_4 >= 67
-# define BOOST_PP_ITERATION_4 67
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 68 && BOOST_PP_ITERATION_FINISH_4 >= 68
-# define BOOST_PP_ITERATION_4 68
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 69 && BOOST_PP_ITERATION_FINISH_4 >= 69
-# define BOOST_PP_ITERATION_4 69
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 70 && BOOST_PP_ITERATION_FINISH_4 >= 70
-# define BOOST_PP_ITERATION_4 70
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 71 && BOOST_PP_ITERATION_FINISH_4 >= 71
-# define BOOST_PP_ITERATION_4 71
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 72 && BOOST_PP_ITERATION_FINISH_4 >= 72
-# define BOOST_PP_ITERATION_4 72
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 73 && BOOST_PP_ITERATION_FINISH_4 >= 73
-# define BOOST_PP_ITERATION_4 73
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 74 && BOOST_PP_ITERATION_FINISH_4 >= 74
-# define BOOST_PP_ITERATION_4 74
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 75 && BOOST_PP_ITERATION_FINISH_4 >= 75
-# define BOOST_PP_ITERATION_4 75
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 76 && BOOST_PP_ITERATION_FINISH_4 >= 76
-# define BOOST_PP_ITERATION_4 76
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 77 && BOOST_PP_ITERATION_FINISH_4 >= 77
-# define BOOST_PP_ITERATION_4 77
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 78 && BOOST_PP_ITERATION_FINISH_4 >= 78
-# define BOOST_PP_ITERATION_4 78
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 79 && BOOST_PP_ITERATION_FINISH_4 >= 79
-# define BOOST_PP_ITERATION_4 79
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 80 && BOOST_PP_ITERATION_FINISH_4 >= 80
-# define BOOST_PP_ITERATION_4 80
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 81 && BOOST_PP_ITERATION_FINISH_4 >= 81
-# define BOOST_PP_ITERATION_4 81
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 82 && BOOST_PP_ITERATION_FINISH_4 >= 82
-# define BOOST_PP_ITERATION_4 82
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 83 && BOOST_PP_ITERATION_FINISH_4 >= 83
-# define BOOST_PP_ITERATION_4 83
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 84 && BOOST_PP_ITERATION_FINISH_4 >= 84
-# define BOOST_PP_ITERATION_4 84
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 85 && BOOST_PP_ITERATION_FINISH_4 >= 85
-# define BOOST_PP_ITERATION_4 85
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 86 && BOOST_PP_ITERATION_FINISH_4 >= 86
-# define BOOST_PP_ITERATION_4 86
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 87 && BOOST_PP_ITERATION_FINISH_4 >= 87
-# define BOOST_PP_ITERATION_4 87
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 88 && BOOST_PP_ITERATION_FINISH_4 >= 88
-# define BOOST_PP_ITERATION_4 88
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 89 && BOOST_PP_ITERATION_FINISH_4 >= 89
-# define BOOST_PP_ITERATION_4 89
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 90 && BOOST_PP_ITERATION_FINISH_4 >= 90
-# define BOOST_PP_ITERATION_4 90
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 91 && BOOST_PP_ITERATION_FINISH_4 >= 91
-# define BOOST_PP_ITERATION_4 91
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 92 && BOOST_PP_ITERATION_FINISH_4 >= 92
-# define BOOST_PP_ITERATION_4 92
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 93 && BOOST_PP_ITERATION_FINISH_4 >= 93
-# define BOOST_PP_ITERATION_4 93
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 94 && BOOST_PP_ITERATION_FINISH_4 >= 94
-# define BOOST_PP_ITERATION_4 94
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 95 && BOOST_PP_ITERATION_FINISH_4 >= 95
-# define BOOST_PP_ITERATION_4 95
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 96 && BOOST_PP_ITERATION_FINISH_4 >= 96
-# define BOOST_PP_ITERATION_4 96
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 97 && BOOST_PP_ITERATION_FINISH_4 >= 97
-# define BOOST_PP_ITERATION_4 97
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 98 && BOOST_PP_ITERATION_FINISH_4 >= 98
-# define BOOST_PP_ITERATION_4 98
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 99 && BOOST_PP_ITERATION_FINISH_4 >= 99
-# define BOOST_PP_ITERATION_4 99
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 100 && BOOST_PP_ITERATION_FINISH_4 >= 100
-# define BOOST_PP_ITERATION_4 100
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 101 && BOOST_PP_ITERATION_FINISH_4 >= 101
-# define BOOST_PP_ITERATION_4 101
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 102 && BOOST_PP_ITERATION_FINISH_4 >= 102
-# define BOOST_PP_ITERATION_4 102
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 103 && BOOST_PP_ITERATION_FINISH_4 >= 103
-# define BOOST_PP_ITERATION_4 103
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 104 && BOOST_PP_ITERATION_FINISH_4 >= 104
-# define BOOST_PP_ITERATION_4 104
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 105 && BOOST_PP_ITERATION_FINISH_4 >= 105
-# define BOOST_PP_ITERATION_4 105
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 106 && BOOST_PP_ITERATION_FINISH_4 >= 106
-# define BOOST_PP_ITERATION_4 106
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 107 && BOOST_PP_ITERATION_FINISH_4 >= 107
-# define BOOST_PP_ITERATION_4 107
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 108 && BOOST_PP_ITERATION_FINISH_4 >= 108
-# define BOOST_PP_ITERATION_4 108
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 109 && BOOST_PP_ITERATION_FINISH_4 >= 109
-# define BOOST_PP_ITERATION_4 109
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 110 && BOOST_PP_ITERATION_FINISH_4 >= 110
-# define BOOST_PP_ITERATION_4 110
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 111 && BOOST_PP_ITERATION_FINISH_4 >= 111
-# define BOOST_PP_ITERATION_4 111
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 112 && BOOST_PP_ITERATION_FINISH_4 >= 112
-# define BOOST_PP_ITERATION_4 112
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 113 && BOOST_PP_ITERATION_FINISH_4 >= 113
-# define BOOST_PP_ITERATION_4 113
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 114 && BOOST_PP_ITERATION_FINISH_4 >= 114
-# define BOOST_PP_ITERATION_4 114
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 115 && BOOST_PP_ITERATION_FINISH_4 >= 115
-# define BOOST_PP_ITERATION_4 115
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 116 && BOOST_PP_ITERATION_FINISH_4 >= 116
-# define BOOST_PP_ITERATION_4 116
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 117 && BOOST_PP_ITERATION_FINISH_4 >= 117
-# define BOOST_PP_ITERATION_4 117
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 118 && BOOST_PP_ITERATION_FINISH_4 >= 118
-# define BOOST_PP_ITERATION_4 118
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 119 && BOOST_PP_ITERATION_FINISH_4 >= 119
-# define BOOST_PP_ITERATION_4 119
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 120 && BOOST_PP_ITERATION_FINISH_4 >= 120
-# define BOOST_PP_ITERATION_4 120
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 121 && BOOST_PP_ITERATION_FINISH_4 >= 121
-# define BOOST_PP_ITERATION_4 121
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 122 && BOOST_PP_ITERATION_FINISH_4 >= 122
-# define BOOST_PP_ITERATION_4 122
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 123 && BOOST_PP_ITERATION_FINISH_4 >= 123
-# define BOOST_PP_ITERATION_4 123
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 124 && BOOST_PP_ITERATION_FINISH_4 >= 124
-# define BOOST_PP_ITERATION_4 124
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 125 && BOOST_PP_ITERATION_FINISH_4 >= 125
-# define BOOST_PP_ITERATION_4 125
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 126 && BOOST_PP_ITERATION_FINISH_4 >= 126
-# define BOOST_PP_ITERATION_4 126
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 127 && BOOST_PP_ITERATION_FINISH_4 >= 127
-# define BOOST_PP_ITERATION_4 127
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 128 && BOOST_PP_ITERATION_FINISH_4 >= 128
-# define BOOST_PP_ITERATION_4 128
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 129 && BOOST_PP_ITERATION_FINISH_4 >= 129
-# define BOOST_PP_ITERATION_4 129
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 130 && BOOST_PP_ITERATION_FINISH_4 >= 130
-# define BOOST_PP_ITERATION_4 130
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 131 && BOOST_PP_ITERATION_FINISH_4 >= 131
-# define BOOST_PP_ITERATION_4 131
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 132 && BOOST_PP_ITERATION_FINISH_4 >= 132
-# define BOOST_PP_ITERATION_4 132
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 133 && BOOST_PP_ITERATION_FINISH_4 >= 133
-# define BOOST_PP_ITERATION_4 133
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 134 && BOOST_PP_ITERATION_FINISH_4 >= 134
-# define BOOST_PP_ITERATION_4 134
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 135 && BOOST_PP_ITERATION_FINISH_4 >= 135
-# define BOOST_PP_ITERATION_4 135
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 136 && BOOST_PP_ITERATION_FINISH_4 >= 136
-# define BOOST_PP_ITERATION_4 136
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 137 && BOOST_PP_ITERATION_FINISH_4 >= 137
-# define BOOST_PP_ITERATION_4 137
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 138 && BOOST_PP_ITERATION_FINISH_4 >= 138
-# define BOOST_PP_ITERATION_4 138
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 139 && BOOST_PP_ITERATION_FINISH_4 >= 139
-# define BOOST_PP_ITERATION_4 139
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 140 && BOOST_PP_ITERATION_FINISH_4 >= 140
-# define BOOST_PP_ITERATION_4 140
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 141 && BOOST_PP_ITERATION_FINISH_4 >= 141
-# define BOOST_PP_ITERATION_4 141
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 142 && BOOST_PP_ITERATION_FINISH_4 >= 142
-# define BOOST_PP_ITERATION_4 142
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 143 && BOOST_PP_ITERATION_FINISH_4 >= 143
-# define BOOST_PP_ITERATION_4 143
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 144 && BOOST_PP_ITERATION_FINISH_4 >= 144
-# define BOOST_PP_ITERATION_4 144
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 145 && BOOST_PP_ITERATION_FINISH_4 >= 145
-# define BOOST_PP_ITERATION_4 145
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 146 && BOOST_PP_ITERATION_FINISH_4 >= 146
-# define BOOST_PP_ITERATION_4 146
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 147 && BOOST_PP_ITERATION_FINISH_4 >= 147
-# define BOOST_PP_ITERATION_4 147
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 148 && BOOST_PP_ITERATION_FINISH_4 >= 148
-# define BOOST_PP_ITERATION_4 148
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 149 && BOOST_PP_ITERATION_FINISH_4 >= 149
-# define BOOST_PP_ITERATION_4 149
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 150 && BOOST_PP_ITERATION_FINISH_4 >= 150
-# define BOOST_PP_ITERATION_4 150
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 151 && BOOST_PP_ITERATION_FINISH_4 >= 151
-# define BOOST_PP_ITERATION_4 151
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 152 && BOOST_PP_ITERATION_FINISH_4 >= 152
-# define BOOST_PP_ITERATION_4 152
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 153 && BOOST_PP_ITERATION_FINISH_4 >= 153
-# define BOOST_PP_ITERATION_4 153
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 154 && BOOST_PP_ITERATION_FINISH_4 >= 154
-# define BOOST_PP_ITERATION_4 154
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 155 && BOOST_PP_ITERATION_FINISH_4 >= 155
-# define BOOST_PP_ITERATION_4 155
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 156 && BOOST_PP_ITERATION_FINISH_4 >= 156
-# define BOOST_PP_ITERATION_4 156
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 157 && BOOST_PP_ITERATION_FINISH_4 >= 157
-# define BOOST_PP_ITERATION_4 157
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 158 && BOOST_PP_ITERATION_FINISH_4 >= 158
-# define BOOST_PP_ITERATION_4 158
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 159 && BOOST_PP_ITERATION_FINISH_4 >= 159
-# define BOOST_PP_ITERATION_4 159
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 160 && BOOST_PP_ITERATION_FINISH_4 >= 160
-# define BOOST_PP_ITERATION_4 160
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 161 && BOOST_PP_ITERATION_FINISH_4 >= 161
-# define BOOST_PP_ITERATION_4 161
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 162 && BOOST_PP_ITERATION_FINISH_4 >= 162
-# define BOOST_PP_ITERATION_4 162
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 163 && BOOST_PP_ITERATION_FINISH_4 >= 163
-# define BOOST_PP_ITERATION_4 163
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 164 && BOOST_PP_ITERATION_FINISH_4 >= 164
-# define BOOST_PP_ITERATION_4 164
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 165 && BOOST_PP_ITERATION_FINISH_4 >= 165
-# define BOOST_PP_ITERATION_4 165
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 166 && BOOST_PP_ITERATION_FINISH_4 >= 166
-# define BOOST_PP_ITERATION_4 166
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 167 && BOOST_PP_ITERATION_FINISH_4 >= 167
-# define BOOST_PP_ITERATION_4 167
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 168 && BOOST_PP_ITERATION_FINISH_4 >= 168
-# define BOOST_PP_ITERATION_4 168
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 169 && BOOST_PP_ITERATION_FINISH_4 >= 169
-# define BOOST_PP_ITERATION_4 169
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 170 && BOOST_PP_ITERATION_FINISH_4 >= 170
-# define BOOST_PP_ITERATION_4 170
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 171 && BOOST_PP_ITERATION_FINISH_4 >= 171
-# define BOOST_PP_ITERATION_4 171
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 172 && BOOST_PP_ITERATION_FINISH_4 >= 172
-# define BOOST_PP_ITERATION_4 172
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 173 && BOOST_PP_ITERATION_FINISH_4 >= 173
-# define BOOST_PP_ITERATION_4 173
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 174 && BOOST_PP_ITERATION_FINISH_4 >= 174
-# define BOOST_PP_ITERATION_4 174
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 175 && BOOST_PP_ITERATION_FINISH_4 >= 175
-# define BOOST_PP_ITERATION_4 175
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 176 && BOOST_PP_ITERATION_FINISH_4 >= 176
-# define BOOST_PP_ITERATION_4 176
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 177 && BOOST_PP_ITERATION_FINISH_4 >= 177
-# define BOOST_PP_ITERATION_4 177
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 178 && BOOST_PP_ITERATION_FINISH_4 >= 178
-# define BOOST_PP_ITERATION_4 178
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 179 && BOOST_PP_ITERATION_FINISH_4 >= 179
-# define BOOST_PP_ITERATION_4 179
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 180 && BOOST_PP_ITERATION_FINISH_4 >= 180
-# define BOOST_PP_ITERATION_4 180
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 181 && BOOST_PP_ITERATION_FINISH_4 >= 181
-# define BOOST_PP_ITERATION_4 181
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 182 && BOOST_PP_ITERATION_FINISH_4 >= 182
-# define BOOST_PP_ITERATION_4 182
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 183 && BOOST_PP_ITERATION_FINISH_4 >= 183
-# define BOOST_PP_ITERATION_4 183
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 184 && BOOST_PP_ITERATION_FINISH_4 >= 184
-# define BOOST_PP_ITERATION_4 184
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 185 && BOOST_PP_ITERATION_FINISH_4 >= 185
-# define BOOST_PP_ITERATION_4 185
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 186 && BOOST_PP_ITERATION_FINISH_4 >= 186
-# define BOOST_PP_ITERATION_4 186
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 187 && BOOST_PP_ITERATION_FINISH_4 >= 187
-# define BOOST_PP_ITERATION_4 187
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 188 && BOOST_PP_ITERATION_FINISH_4 >= 188
-# define BOOST_PP_ITERATION_4 188
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 189 && BOOST_PP_ITERATION_FINISH_4 >= 189
-# define BOOST_PP_ITERATION_4 189
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 190 && BOOST_PP_ITERATION_FINISH_4 >= 190
-# define BOOST_PP_ITERATION_4 190
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 191 && BOOST_PP_ITERATION_FINISH_4 >= 191
-# define BOOST_PP_ITERATION_4 191
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 192 && BOOST_PP_ITERATION_FINISH_4 >= 192
-# define BOOST_PP_ITERATION_4 192
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 193 && BOOST_PP_ITERATION_FINISH_4 >= 193
-# define BOOST_PP_ITERATION_4 193
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 194 && BOOST_PP_ITERATION_FINISH_4 >= 194
-# define BOOST_PP_ITERATION_4 194
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 195 && BOOST_PP_ITERATION_FINISH_4 >= 195
-# define BOOST_PP_ITERATION_4 195
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 196 && BOOST_PP_ITERATION_FINISH_4 >= 196
-# define BOOST_PP_ITERATION_4 196
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 197 && BOOST_PP_ITERATION_FINISH_4 >= 197
-# define BOOST_PP_ITERATION_4 197
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 198 && BOOST_PP_ITERATION_FINISH_4 >= 198
-# define BOOST_PP_ITERATION_4 198
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 199 && BOOST_PP_ITERATION_FINISH_4 >= 199
-# define BOOST_PP_ITERATION_4 199
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 200 && BOOST_PP_ITERATION_FINISH_4 >= 200
-# define BOOST_PP_ITERATION_4 200
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 201 && BOOST_PP_ITERATION_FINISH_4 >= 201
-# define BOOST_PP_ITERATION_4 201
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 202 && BOOST_PP_ITERATION_FINISH_4 >= 202
-# define BOOST_PP_ITERATION_4 202
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 203 && BOOST_PP_ITERATION_FINISH_4 >= 203
-# define BOOST_PP_ITERATION_4 203
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 204 && BOOST_PP_ITERATION_FINISH_4 >= 204
-# define BOOST_PP_ITERATION_4 204
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 205 && BOOST_PP_ITERATION_FINISH_4 >= 205
-# define BOOST_PP_ITERATION_4 205
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 206 && BOOST_PP_ITERATION_FINISH_4 >= 206
-# define BOOST_PP_ITERATION_4 206
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 207 && BOOST_PP_ITERATION_FINISH_4 >= 207
-# define BOOST_PP_ITERATION_4 207
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 208 && BOOST_PP_ITERATION_FINISH_4 >= 208
-# define BOOST_PP_ITERATION_4 208
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 209 && BOOST_PP_ITERATION_FINISH_4 >= 209
-# define BOOST_PP_ITERATION_4 209
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 210 && BOOST_PP_ITERATION_FINISH_4 >= 210
-# define BOOST_PP_ITERATION_4 210
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 211 && BOOST_PP_ITERATION_FINISH_4 >= 211
-# define BOOST_PP_ITERATION_4 211
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 212 && BOOST_PP_ITERATION_FINISH_4 >= 212
-# define BOOST_PP_ITERATION_4 212
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 213 && BOOST_PP_ITERATION_FINISH_4 >= 213
-# define BOOST_PP_ITERATION_4 213
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 214 && BOOST_PP_ITERATION_FINISH_4 >= 214
-# define BOOST_PP_ITERATION_4 214
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 215 && BOOST_PP_ITERATION_FINISH_4 >= 215
-# define BOOST_PP_ITERATION_4 215
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 216 && BOOST_PP_ITERATION_FINISH_4 >= 216
-# define BOOST_PP_ITERATION_4 216
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 217 && BOOST_PP_ITERATION_FINISH_4 >= 217
-# define BOOST_PP_ITERATION_4 217
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 218 && BOOST_PP_ITERATION_FINISH_4 >= 218
-# define BOOST_PP_ITERATION_4 218
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 219 && BOOST_PP_ITERATION_FINISH_4 >= 219
-# define BOOST_PP_ITERATION_4 219
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 220 && BOOST_PP_ITERATION_FINISH_4 >= 220
-# define BOOST_PP_ITERATION_4 220
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 221 && BOOST_PP_ITERATION_FINISH_4 >= 221
-# define BOOST_PP_ITERATION_4 221
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 222 && BOOST_PP_ITERATION_FINISH_4 >= 222
-# define BOOST_PP_ITERATION_4 222
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 223 && BOOST_PP_ITERATION_FINISH_4 >= 223
-# define BOOST_PP_ITERATION_4 223
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 224 && BOOST_PP_ITERATION_FINISH_4 >= 224
-# define BOOST_PP_ITERATION_4 224
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 225 && BOOST_PP_ITERATION_FINISH_4 >= 225
-# define BOOST_PP_ITERATION_4 225
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 226 && BOOST_PP_ITERATION_FINISH_4 >= 226
-# define BOOST_PP_ITERATION_4 226
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 227 && BOOST_PP_ITERATION_FINISH_4 >= 227
-# define BOOST_PP_ITERATION_4 227
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 228 && BOOST_PP_ITERATION_FINISH_4 >= 228
-# define BOOST_PP_ITERATION_4 228
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 229 && BOOST_PP_ITERATION_FINISH_4 >= 229
-# define BOOST_PP_ITERATION_4 229
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 230 && BOOST_PP_ITERATION_FINISH_4 >= 230
-# define BOOST_PP_ITERATION_4 230
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 231 && BOOST_PP_ITERATION_FINISH_4 >= 231
-# define BOOST_PP_ITERATION_4 231
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 232 && BOOST_PP_ITERATION_FINISH_4 >= 232
-# define BOOST_PP_ITERATION_4 232
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 233 && BOOST_PP_ITERATION_FINISH_4 >= 233
-# define BOOST_PP_ITERATION_4 233
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 234 && BOOST_PP_ITERATION_FINISH_4 >= 234
-# define BOOST_PP_ITERATION_4 234
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 235 && BOOST_PP_ITERATION_FINISH_4 >= 235
-# define BOOST_PP_ITERATION_4 235
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 236 && BOOST_PP_ITERATION_FINISH_4 >= 236
-# define BOOST_PP_ITERATION_4 236
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 237 && BOOST_PP_ITERATION_FINISH_4 >= 237
-# define BOOST_PP_ITERATION_4 237
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 238 && BOOST_PP_ITERATION_FINISH_4 >= 238
-# define BOOST_PP_ITERATION_4 238
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 239 && BOOST_PP_ITERATION_FINISH_4 >= 239
-# define BOOST_PP_ITERATION_4 239
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 240 && BOOST_PP_ITERATION_FINISH_4 >= 240
-# define BOOST_PP_ITERATION_4 240
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 241 && BOOST_PP_ITERATION_FINISH_4 >= 241
-# define BOOST_PP_ITERATION_4 241
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 242 && BOOST_PP_ITERATION_FINISH_4 >= 242
-# define BOOST_PP_ITERATION_4 242
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 243 && BOOST_PP_ITERATION_FINISH_4 >= 243
-# define BOOST_PP_ITERATION_4 243
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 244 && BOOST_PP_ITERATION_FINISH_4 >= 244
-# define BOOST_PP_ITERATION_4 244
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 245 && BOOST_PP_ITERATION_FINISH_4 >= 245
-# define BOOST_PP_ITERATION_4 245
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 246 && BOOST_PP_ITERATION_FINISH_4 >= 246
-# define BOOST_PP_ITERATION_4 246
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 247 && BOOST_PP_ITERATION_FINISH_4 >= 247
-# define BOOST_PP_ITERATION_4 247
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 248 && BOOST_PP_ITERATION_FINISH_4 >= 248
-# define BOOST_PP_ITERATION_4 248
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 249 && BOOST_PP_ITERATION_FINISH_4 >= 249
-# define BOOST_PP_ITERATION_4 249
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 250 && BOOST_PP_ITERATION_FINISH_4 >= 250
-# define BOOST_PP_ITERATION_4 250
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 251 && BOOST_PP_ITERATION_FINISH_4 >= 251
-# define BOOST_PP_ITERATION_4 251
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 252 && BOOST_PP_ITERATION_FINISH_4 >= 252
-# define BOOST_PP_ITERATION_4 252
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 253 && BOOST_PP_ITERATION_FINISH_4 >= 253
-# define BOOST_PP_ITERATION_4 253
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 254 && BOOST_PP_ITERATION_FINISH_4 >= 254
-# define BOOST_PP_ITERATION_4 254
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 255 && BOOST_PP_ITERATION_FINISH_4 >= 255
-# define BOOST_PP_ITERATION_4 255
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_START_4 <= 256 && BOOST_PP_ITERATION_FINISH_4 >= 256
-# define BOOST_PP_ITERATION_4 256
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# endif
-#
-# undef BOOST_PP_ITERATION_DEPTH
-# define BOOST_PP_ITERATION_DEPTH() 3
-#
-# undef BOOST_PP_ITERATION_START_4
-# undef BOOST_PP_ITERATION_FINISH_4
-# undef BOOST_PP_FILENAME_4
-#
-# undef BOOST_PP_ITERATION_FLAGS_4
-# undef BOOST_PP_ITERATION_PARAMS_4
diff --git a/boost/preprocessor/iteration/detail/iter/forward5.hpp b/boost/preprocessor/iteration/detail/iter/forward5.hpp
deleted file mode 100644
index 7617607..0000000
--- a/boost/preprocessor/iteration/detail/iter/forward5.hpp
+++ /dev/null
@@ -1,1338 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# if defined(BOOST_PP_ITERATION_LIMITS)
-# if !defined(BOOST_PP_FILENAME_5)
-# error BOOST_PP_ERROR: depth #5 filename is not defined
-# endif
-# define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_ITERATION_LIMITS)
-# include <boost/preprocessor/iteration/detail/bounds/lower5.hpp>
-# define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_ITERATION_LIMITS)
-# include <boost/preprocessor/iteration/detail/bounds/upper5.hpp>
-# define BOOST_PP_ITERATION_FLAGS_5() 0
-# undef BOOST_PP_ITERATION_LIMITS
-# elif defined(BOOST_PP_ITERATION_PARAMS_5)
-# define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_5)
-# include <boost/preprocessor/iteration/detail/bounds/lower5.hpp>
-# define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_5)
-# include <boost/preprocessor/iteration/detail/bounds/upper5.hpp>
-# define BOOST_PP_FILENAME_5 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_5)
-# if BOOST_PP_ARRAY_SIZE(BOOST_PP_ITERATION_PARAMS_5) >= 4
-# define BOOST_PP_ITERATION_FLAGS_5() BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_5)
-# else
-# define BOOST_PP_ITERATION_FLAGS_5() 0
-# endif
-# else
-# error BOOST_PP_ERROR: depth #5 iteration boundaries or filename not defined
-# endif
-#
-# undef BOOST_PP_ITERATION_DEPTH
-# define BOOST_PP_ITERATION_DEPTH() 5
-#
-# if (BOOST_PP_ITERATION_START_5) > (BOOST_PP_ITERATION_FINISH_5)
-# include <boost/preprocessor/iteration/detail/iter/reverse5.hpp>
-# else
-# if BOOST_PP_ITERATION_START_5 <= 0 && BOOST_PP_ITERATION_FINISH_5 >= 0
-# define BOOST_PP_ITERATION_5 0
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 1 && BOOST_PP_ITERATION_FINISH_5 >= 1
-# define BOOST_PP_ITERATION_5 1
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 2 && BOOST_PP_ITERATION_FINISH_5 >= 2
-# define BOOST_PP_ITERATION_5 2
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 3 && BOOST_PP_ITERATION_FINISH_5 >= 3
-# define BOOST_PP_ITERATION_5 3
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 4 && BOOST_PP_ITERATION_FINISH_5 >= 4
-# define BOOST_PP_ITERATION_5 4
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 5 && BOOST_PP_ITERATION_FINISH_5 >= 5
-# define BOOST_PP_ITERATION_5 5
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 6 && BOOST_PP_ITERATION_FINISH_5 >= 6
-# define BOOST_PP_ITERATION_5 6
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 7 && BOOST_PP_ITERATION_FINISH_5 >= 7
-# define BOOST_PP_ITERATION_5 7
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 8 && BOOST_PP_ITERATION_FINISH_5 >= 8
-# define BOOST_PP_ITERATION_5 8
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 9 && BOOST_PP_ITERATION_FINISH_5 >= 9
-# define BOOST_PP_ITERATION_5 9
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 10 && BOOST_PP_ITERATION_FINISH_5 >= 10
-# define BOOST_PP_ITERATION_5 10
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 11 && BOOST_PP_ITERATION_FINISH_5 >= 11
-# define BOOST_PP_ITERATION_5 11
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 12 && BOOST_PP_ITERATION_FINISH_5 >= 12
-# define BOOST_PP_ITERATION_5 12
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 13 && BOOST_PP_ITERATION_FINISH_5 >= 13
-# define BOOST_PP_ITERATION_5 13
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 14 && BOOST_PP_ITERATION_FINISH_5 >= 14
-# define BOOST_PP_ITERATION_5 14
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 15 && BOOST_PP_ITERATION_FINISH_5 >= 15
-# define BOOST_PP_ITERATION_5 15
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 16 && BOOST_PP_ITERATION_FINISH_5 >= 16
-# define BOOST_PP_ITERATION_5 16
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 17 && BOOST_PP_ITERATION_FINISH_5 >= 17
-# define BOOST_PP_ITERATION_5 17
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 18 && BOOST_PP_ITERATION_FINISH_5 >= 18
-# define BOOST_PP_ITERATION_5 18
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 19 && BOOST_PP_ITERATION_FINISH_5 >= 19
-# define BOOST_PP_ITERATION_5 19
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 20 && BOOST_PP_ITERATION_FINISH_5 >= 20
-# define BOOST_PP_ITERATION_5 20
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 21 && BOOST_PP_ITERATION_FINISH_5 >= 21
-# define BOOST_PP_ITERATION_5 21
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 22 && BOOST_PP_ITERATION_FINISH_5 >= 22
-# define BOOST_PP_ITERATION_5 22
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 23 && BOOST_PP_ITERATION_FINISH_5 >= 23
-# define BOOST_PP_ITERATION_5 23
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 24 && BOOST_PP_ITERATION_FINISH_5 >= 24
-# define BOOST_PP_ITERATION_5 24
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 25 && BOOST_PP_ITERATION_FINISH_5 >= 25
-# define BOOST_PP_ITERATION_5 25
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 26 && BOOST_PP_ITERATION_FINISH_5 >= 26
-# define BOOST_PP_ITERATION_5 26
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 27 && BOOST_PP_ITERATION_FINISH_5 >= 27
-# define BOOST_PP_ITERATION_5 27
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 28 && BOOST_PP_ITERATION_FINISH_5 >= 28
-# define BOOST_PP_ITERATION_5 28
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 29 && BOOST_PP_ITERATION_FINISH_5 >= 29
-# define BOOST_PP_ITERATION_5 29
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 30 && BOOST_PP_ITERATION_FINISH_5 >= 30
-# define BOOST_PP_ITERATION_5 30
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 31 && BOOST_PP_ITERATION_FINISH_5 >= 31
-# define BOOST_PP_ITERATION_5 31
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 32 && BOOST_PP_ITERATION_FINISH_5 >= 32
-# define BOOST_PP_ITERATION_5 32
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 33 && BOOST_PP_ITERATION_FINISH_5 >= 33
-# define BOOST_PP_ITERATION_5 33
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 34 && BOOST_PP_ITERATION_FINISH_5 >= 34
-# define BOOST_PP_ITERATION_5 34
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 35 && BOOST_PP_ITERATION_FINISH_5 >= 35
-# define BOOST_PP_ITERATION_5 35
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 36 && BOOST_PP_ITERATION_FINISH_5 >= 36
-# define BOOST_PP_ITERATION_5 36
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 37 && BOOST_PP_ITERATION_FINISH_5 >= 37
-# define BOOST_PP_ITERATION_5 37
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 38 && BOOST_PP_ITERATION_FINISH_5 >= 38
-# define BOOST_PP_ITERATION_5 38
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 39 && BOOST_PP_ITERATION_FINISH_5 >= 39
-# define BOOST_PP_ITERATION_5 39
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 40 && BOOST_PP_ITERATION_FINISH_5 >= 40
-# define BOOST_PP_ITERATION_5 40
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 41 && BOOST_PP_ITERATION_FINISH_5 >= 41
-# define BOOST_PP_ITERATION_5 41
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 42 && BOOST_PP_ITERATION_FINISH_5 >= 42
-# define BOOST_PP_ITERATION_5 42
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 43 && BOOST_PP_ITERATION_FINISH_5 >= 43
-# define BOOST_PP_ITERATION_5 43
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 44 && BOOST_PP_ITERATION_FINISH_5 >= 44
-# define BOOST_PP_ITERATION_5 44
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 45 && BOOST_PP_ITERATION_FINISH_5 >= 45
-# define BOOST_PP_ITERATION_5 45
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 46 && BOOST_PP_ITERATION_FINISH_5 >= 46
-# define BOOST_PP_ITERATION_5 46
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 47 && BOOST_PP_ITERATION_FINISH_5 >= 47
-# define BOOST_PP_ITERATION_5 47
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 48 && BOOST_PP_ITERATION_FINISH_5 >= 48
-# define BOOST_PP_ITERATION_5 48
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 49 && BOOST_PP_ITERATION_FINISH_5 >= 49
-# define BOOST_PP_ITERATION_5 49
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 50 && BOOST_PP_ITERATION_FINISH_5 >= 50
-# define BOOST_PP_ITERATION_5 50
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 51 && BOOST_PP_ITERATION_FINISH_5 >= 51
-# define BOOST_PP_ITERATION_5 51
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 52 && BOOST_PP_ITERATION_FINISH_5 >= 52
-# define BOOST_PP_ITERATION_5 52
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 53 && BOOST_PP_ITERATION_FINISH_5 >= 53
-# define BOOST_PP_ITERATION_5 53
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 54 && BOOST_PP_ITERATION_FINISH_5 >= 54
-# define BOOST_PP_ITERATION_5 54
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 55 && BOOST_PP_ITERATION_FINISH_5 >= 55
-# define BOOST_PP_ITERATION_5 55
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 56 && BOOST_PP_ITERATION_FINISH_5 >= 56
-# define BOOST_PP_ITERATION_5 56
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 57 && BOOST_PP_ITERATION_FINISH_5 >= 57
-# define BOOST_PP_ITERATION_5 57
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 58 && BOOST_PP_ITERATION_FINISH_5 >= 58
-# define BOOST_PP_ITERATION_5 58
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 59 && BOOST_PP_ITERATION_FINISH_5 >= 59
-# define BOOST_PP_ITERATION_5 59
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 60 && BOOST_PP_ITERATION_FINISH_5 >= 60
-# define BOOST_PP_ITERATION_5 60
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 61 && BOOST_PP_ITERATION_FINISH_5 >= 61
-# define BOOST_PP_ITERATION_5 61
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 62 && BOOST_PP_ITERATION_FINISH_5 >= 62
-# define BOOST_PP_ITERATION_5 62
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 63 && BOOST_PP_ITERATION_FINISH_5 >= 63
-# define BOOST_PP_ITERATION_5 63
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 64 && BOOST_PP_ITERATION_FINISH_5 >= 64
-# define BOOST_PP_ITERATION_5 64
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 65 && BOOST_PP_ITERATION_FINISH_5 >= 65
-# define BOOST_PP_ITERATION_5 65
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 66 && BOOST_PP_ITERATION_FINISH_5 >= 66
-# define BOOST_PP_ITERATION_5 66
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 67 && BOOST_PP_ITERATION_FINISH_5 >= 67
-# define BOOST_PP_ITERATION_5 67
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 68 && BOOST_PP_ITERATION_FINISH_5 >= 68
-# define BOOST_PP_ITERATION_5 68
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 69 && BOOST_PP_ITERATION_FINISH_5 >= 69
-# define BOOST_PP_ITERATION_5 69
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 70 && BOOST_PP_ITERATION_FINISH_5 >= 70
-# define BOOST_PP_ITERATION_5 70
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 71 && BOOST_PP_ITERATION_FINISH_5 >= 71
-# define BOOST_PP_ITERATION_5 71
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 72 && BOOST_PP_ITERATION_FINISH_5 >= 72
-# define BOOST_PP_ITERATION_5 72
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 73 && BOOST_PP_ITERATION_FINISH_5 >= 73
-# define BOOST_PP_ITERATION_5 73
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 74 && BOOST_PP_ITERATION_FINISH_5 >= 74
-# define BOOST_PP_ITERATION_5 74
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 75 && BOOST_PP_ITERATION_FINISH_5 >= 75
-# define BOOST_PP_ITERATION_5 75
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 76 && BOOST_PP_ITERATION_FINISH_5 >= 76
-# define BOOST_PP_ITERATION_5 76
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 77 && BOOST_PP_ITERATION_FINISH_5 >= 77
-# define BOOST_PP_ITERATION_5 77
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 78 && BOOST_PP_ITERATION_FINISH_5 >= 78
-# define BOOST_PP_ITERATION_5 78
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 79 && BOOST_PP_ITERATION_FINISH_5 >= 79
-# define BOOST_PP_ITERATION_5 79
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 80 && BOOST_PP_ITERATION_FINISH_5 >= 80
-# define BOOST_PP_ITERATION_5 80
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 81 && BOOST_PP_ITERATION_FINISH_5 >= 81
-# define BOOST_PP_ITERATION_5 81
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 82 && BOOST_PP_ITERATION_FINISH_5 >= 82
-# define BOOST_PP_ITERATION_5 82
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 83 && BOOST_PP_ITERATION_FINISH_5 >= 83
-# define BOOST_PP_ITERATION_5 83
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 84 && BOOST_PP_ITERATION_FINISH_5 >= 84
-# define BOOST_PP_ITERATION_5 84
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 85 && BOOST_PP_ITERATION_FINISH_5 >= 85
-# define BOOST_PP_ITERATION_5 85
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 86 && BOOST_PP_ITERATION_FINISH_5 >= 86
-# define BOOST_PP_ITERATION_5 86
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 87 && BOOST_PP_ITERATION_FINISH_5 >= 87
-# define BOOST_PP_ITERATION_5 87
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 88 && BOOST_PP_ITERATION_FINISH_5 >= 88
-# define BOOST_PP_ITERATION_5 88
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 89 && BOOST_PP_ITERATION_FINISH_5 >= 89
-# define BOOST_PP_ITERATION_5 89
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 90 && BOOST_PP_ITERATION_FINISH_5 >= 90
-# define BOOST_PP_ITERATION_5 90
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 91 && BOOST_PP_ITERATION_FINISH_5 >= 91
-# define BOOST_PP_ITERATION_5 91
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 92 && BOOST_PP_ITERATION_FINISH_5 >= 92
-# define BOOST_PP_ITERATION_5 92
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 93 && BOOST_PP_ITERATION_FINISH_5 >= 93
-# define BOOST_PP_ITERATION_5 93
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 94 && BOOST_PP_ITERATION_FINISH_5 >= 94
-# define BOOST_PP_ITERATION_5 94
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 95 && BOOST_PP_ITERATION_FINISH_5 >= 95
-# define BOOST_PP_ITERATION_5 95
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 96 && BOOST_PP_ITERATION_FINISH_5 >= 96
-# define BOOST_PP_ITERATION_5 96
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 97 && BOOST_PP_ITERATION_FINISH_5 >= 97
-# define BOOST_PP_ITERATION_5 97
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 98 && BOOST_PP_ITERATION_FINISH_5 >= 98
-# define BOOST_PP_ITERATION_5 98
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 99 && BOOST_PP_ITERATION_FINISH_5 >= 99
-# define BOOST_PP_ITERATION_5 99
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 100 && BOOST_PP_ITERATION_FINISH_5 >= 100
-# define BOOST_PP_ITERATION_5 100
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 101 && BOOST_PP_ITERATION_FINISH_5 >= 101
-# define BOOST_PP_ITERATION_5 101
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 102 && BOOST_PP_ITERATION_FINISH_5 >= 102
-# define BOOST_PP_ITERATION_5 102
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 103 && BOOST_PP_ITERATION_FINISH_5 >= 103
-# define BOOST_PP_ITERATION_5 103
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 104 && BOOST_PP_ITERATION_FINISH_5 >= 104
-# define BOOST_PP_ITERATION_5 104
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 105 && BOOST_PP_ITERATION_FINISH_5 >= 105
-# define BOOST_PP_ITERATION_5 105
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 106 && BOOST_PP_ITERATION_FINISH_5 >= 106
-# define BOOST_PP_ITERATION_5 106
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 107 && BOOST_PP_ITERATION_FINISH_5 >= 107
-# define BOOST_PP_ITERATION_5 107
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 108 && BOOST_PP_ITERATION_FINISH_5 >= 108
-# define BOOST_PP_ITERATION_5 108
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 109 && BOOST_PP_ITERATION_FINISH_5 >= 109
-# define BOOST_PP_ITERATION_5 109
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 110 && BOOST_PP_ITERATION_FINISH_5 >= 110
-# define BOOST_PP_ITERATION_5 110
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 111 && BOOST_PP_ITERATION_FINISH_5 >= 111
-# define BOOST_PP_ITERATION_5 111
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 112 && BOOST_PP_ITERATION_FINISH_5 >= 112
-# define BOOST_PP_ITERATION_5 112
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 113 && BOOST_PP_ITERATION_FINISH_5 >= 113
-# define BOOST_PP_ITERATION_5 113
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 114 && BOOST_PP_ITERATION_FINISH_5 >= 114
-# define BOOST_PP_ITERATION_5 114
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 115 && BOOST_PP_ITERATION_FINISH_5 >= 115
-# define BOOST_PP_ITERATION_5 115
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 116 && BOOST_PP_ITERATION_FINISH_5 >= 116
-# define BOOST_PP_ITERATION_5 116
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 117 && BOOST_PP_ITERATION_FINISH_5 >= 117
-# define BOOST_PP_ITERATION_5 117
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 118 && BOOST_PP_ITERATION_FINISH_5 >= 118
-# define BOOST_PP_ITERATION_5 118
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 119 && BOOST_PP_ITERATION_FINISH_5 >= 119
-# define BOOST_PP_ITERATION_5 119
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 120 && BOOST_PP_ITERATION_FINISH_5 >= 120
-# define BOOST_PP_ITERATION_5 120
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 121 && BOOST_PP_ITERATION_FINISH_5 >= 121
-# define BOOST_PP_ITERATION_5 121
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 122 && BOOST_PP_ITERATION_FINISH_5 >= 122
-# define BOOST_PP_ITERATION_5 122
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 123 && BOOST_PP_ITERATION_FINISH_5 >= 123
-# define BOOST_PP_ITERATION_5 123
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 124 && BOOST_PP_ITERATION_FINISH_5 >= 124
-# define BOOST_PP_ITERATION_5 124
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 125 && BOOST_PP_ITERATION_FINISH_5 >= 125
-# define BOOST_PP_ITERATION_5 125
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 126 && BOOST_PP_ITERATION_FINISH_5 >= 126
-# define BOOST_PP_ITERATION_5 126
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 127 && BOOST_PP_ITERATION_FINISH_5 >= 127
-# define BOOST_PP_ITERATION_5 127
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 128 && BOOST_PP_ITERATION_FINISH_5 >= 128
-# define BOOST_PP_ITERATION_5 128
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 129 && BOOST_PP_ITERATION_FINISH_5 >= 129
-# define BOOST_PP_ITERATION_5 129
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 130 && BOOST_PP_ITERATION_FINISH_5 >= 130
-# define BOOST_PP_ITERATION_5 130
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 131 && BOOST_PP_ITERATION_FINISH_5 >= 131
-# define BOOST_PP_ITERATION_5 131
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 132 && BOOST_PP_ITERATION_FINISH_5 >= 132
-# define BOOST_PP_ITERATION_5 132
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 133 && BOOST_PP_ITERATION_FINISH_5 >= 133
-# define BOOST_PP_ITERATION_5 133
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 134 && BOOST_PP_ITERATION_FINISH_5 >= 134
-# define BOOST_PP_ITERATION_5 134
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 135 && BOOST_PP_ITERATION_FINISH_5 >= 135
-# define BOOST_PP_ITERATION_5 135
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 136 && BOOST_PP_ITERATION_FINISH_5 >= 136
-# define BOOST_PP_ITERATION_5 136
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 137 && BOOST_PP_ITERATION_FINISH_5 >= 137
-# define BOOST_PP_ITERATION_5 137
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 138 && BOOST_PP_ITERATION_FINISH_5 >= 138
-# define BOOST_PP_ITERATION_5 138
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 139 && BOOST_PP_ITERATION_FINISH_5 >= 139
-# define BOOST_PP_ITERATION_5 139
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 140 && BOOST_PP_ITERATION_FINISH_5 >= 140
-# define BOOST_PP_ITERATION_5 140
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 141 && BOOST_PP_ITERATION_FINISH_5 >= 141
-# define BOOST_PP_ITERATION_5 141
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 142 && BOOST_PP_ITERATION_FINISH_5 >= 142
-# define BOOST_PP_ITERATION_5 142
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 143 && BOOST_PP_ITERATION_FINISH_5 >= 143
-# define BOOST_PP_ITERATION_5 143
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 144 && BOOST_PP_ITERATION_FINISH_5 >= 144
-# define BOOST_PP_ITERATION_5 144
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 145 && BOOST_PP_ITERATION_FINISH_5 >= 145
-# define BOOST_PP_ITERATION_5 145
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 146 && BOOST_PP_ITERATION_FINISH_5 >= 146
-# define BOOST_PP_ITERATION_5 146
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 147 && BOOST_PP_ITERATION_FINISH_5 >= 147
-# define BOOST_PP_ITERATION_5 147
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 148 && BOOST_PP_ITERATION_FINISH_5 >= 148
-# define BOOST_PP_ITERATION_5 148
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 149 && BOOST_PP_ITERATION_FINISH_5 >= 149
-# define BOOST_PP_ITERATION_5 149
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 150 && BOOST_PP_ITERATION_FINISH_5 >= 150
-# define BOOST_PP_ITERATION_5 150
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 151 && BOOST_PP_ITERATION_FINISH_5 >= 151
-# define BOOST_PP_ITERATION_5 151
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 152 && BOOST_PP_ITERATION_FINISH_5 >= 152
-# define BOOST_PP_ITERATION_5 152
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 153 && BOOST_PP_ITERATION_FINISH_5 >= 153
-# define BOOST_PP_ITERATION_5 153
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 154 && BOOST_PP_ITERATION_FINISH_5 >= 154
-# define BOOST_PP_ITERATION_5 154
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 155 && BOOST_PP_ITERATION_FINISH_5 >= 155
-# define BOOST_PP_ITERATION_5 155
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 156 && BOOST_PP_ITERATION_FINISH_5 >= 156
-# define BOOST_PP_ITERATION_5 156
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 157 && BOOST_PP_ITERATION_FINISH_5 >= 157
-# define BOOST_PP_ITERATION_5 157
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 158 && BOOST_PP_ITERATION_FINISH_5 >= 158
-# define BOOST_PP_ITERATION_5 158
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 159 && BOOST_PP_ITERATION_FINISH_5 >= 159
-# define BOOST_PP_ITERATION_5 159
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 160 && BOOST_PP_ITERATION_FINISH_5 >= 160
-# define BOOST_PP_ITERATION_5 160
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 161 && BOOST_PP_ITERATION_FINISH_5 >= 161
-# define BOOST_PP_ITERATION_5 161
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 162 && BOOST_PP_ITERATION_FINISH_5 >= 162
-# define BOOST_PP_ITERATION_5 162
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 163 && BOOST_PP_ITERATION_FINISH_5 >= 163
-# define BOOST_PP_ITERATION_5 163
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 164 && BOOST_PP_ITERATION_FINISH_5 >= 164
-# define BOOST_PP_ITERATION_5 164
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 165 && BOOST_PP_ITERATION_FINISH_5 >= 165
-# define BOOST_PP_ITERATION_5 165
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 166 && BOOST_PP_ITERATION_FINISH_5 >= 166
-# define BOOST_PP_ITERATION_5 166
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 167 && BOOST_PP_ITERATION_FINISH_5 >= 167
-# define BOOST_PP_ITERATION_5 167
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 168 && BOOST_PP_ITERATION_FINISH_5 >= 168
-# define BOOST_PP_ITERATION_5 168
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 169 && BOOST_PP_ITERATION_FINISH_5 >= 169
-# define BOOST_PP_ITERATION_5 169
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 170 && BOOST_PP_ITERATION_FINISH_5 >= 170
-# define BOOST_PP_ITERATION_5 170
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 171 && BOOST_PP_ITERATION_FINISH_5 >= 171
-# define BOOST_PP_ITERATION_5 171
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 172 && BOOST_PP_ITERATION_FINISH_5 >= 172
-# define BOOST_PP_ITERATION_5 172
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 173 && BOOST_PP_ITERATION_FINISH_5 >= 173
-# define BOOST_PP_ITERATION_5 173
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 174 && BOOST_PP_ITERATION_FINISH_5 >= 174
-# define BOOST_PP_ITERATION_5 174
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 175 && BOOST_PP_ITERATION_FINISH_5 >= 175
-# define BOOST_PP_ITERATION_5 175
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 176 && BOOST_PP_ITERATION_FINISH_5 >= 176
-# define BOOST_PP_ITERATION_5 176
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 177 && BOOST_PP_ITERATION_FINISH_5 >= 177
-# define BOOST_PP_ITERATION_5 177
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 178 && BOOST_PP_ITERATION_FINISH_5 >= 178
-# define BOOST_PP_ITERATION_5 178
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 179 && BOOST_PP_ITERATION_FINISH_5 >= 179
-# define BOOST_PP_ITERATION_5 179
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 180 && BOOST_PP_ITERATION_FINISH_5 >= 180
-# define BOOST_PP_ITERATION_5 180
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 181 && BOOST_PP_ITERATION_FINISH_5 >= 181
-# define BOOST_PP_ITERATION_5 181
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 182 && BOOST_PP_ITERATION_FINISH_5 >= 182
-# define BOOST_PP_ITERATION_5 182
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 183 && BOOST_PP_ITERATION_FINISH_5 >= 183
-# define BOOST_PP_ITERATION_5 183
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 184 && BOOST_PP_ITERATION_FINISH_5 >= 184
-# define BOOST_PP_ITERATION_5 184
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 185 && BOOST_PP_ITERATION_FINISH_5 >= 185
-# define BOOST_PP_ITERATION_5 185
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 186 && BOOST_PP_ITERATION_FINISH_5 >= 186
-# define BOOST_PP_ITERATION_5 186
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 187 && BOOST_PP_ITERATION_FINISH_5 >= 187
-# define BOOST_PP_ITERATION_5 187
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 188 && BOOST_PP_ITERATION_FINISH_5 >= 188
-# define BOOST_PP_ITERATION_5 188
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 189 && BOOST_PP_ITERATION_FINISH_5 >= 189
-# define BOOST_PP_ITERATION_5 189
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 190 && BOOST_PP_ITERATION_FINISH_5 >= 190
-# define BOOST_PP_ITERATION_5 190
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 191 && BOOST_PP_ITERATION_FINISH_5 >= 191
-# define BOOST_PP_ITERATION_5 191
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 192 && BOOST_PP_ITERATION_FINISH_5 >= 192
-# define BOOST_PP_ITERATION_5 192
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 193 && BOOST_PP_ITERATION_FINISH_5 >= 193
-# define BOOST_PP_ITERATION_5 193
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 194 && BOOST_PP_ITERATION_FINISH_5 >= 194
-# define BOOST_PP_ITERATION_5 194
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 195 && BOOST_PP_ITERATION_FINISH_5 >= 195
-# define BOOST_PP_ITERATION_5 195
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 196 && BOOST_PP_ITERATION_FINISH_5 >= 196
-# define BOOST_PP_ITERATION_5 196
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 197 && BOOST_PP_ITERATION_FINISH_5 >= 197
-# define BOOST_PP_ITERATION_5 197
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 198 && BOOST_PP_ITERATION_FINISH_5 >= 198
-# define BOOST_PP_ITERATION_5 198
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 199 && BOOST_PP_ITERATION_FINISH_5 >= 199
-# define BOOST_PP_ITERATION_5 199
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 200 && BOOST_PP_ITERATION_FINISH_5 >= 200
-# define BOOST_PP_ITERATION_5 200
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 201 && BOOST_PP_ITERATION_FINISH_5 >= 201
-# define BOOST_PP_ITERATION_5 201
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 202 && BOOST_PP_ITERATION_FINISH_5 >= 202
-# define BOOST_PP_ITERATION_5 202
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 203 && BOOST_PP_ITERATION_FINISH_5 >= 203
-# define BOOST_PP_ITERATION_5 203
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 204 && BOOST_PP_ITERATION_FINISH_5 >= 204
-# define BOOST_PP_ITERATION_5 204
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 205 && BOOST_PP_ITERATION_FINISH_5 >= 205
-# define BOOST_PP_ITERATION_5 205
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 206 && BOOST_PP_ITERATION_FINISH_5 >= 206
-# define BOOST_PP_ITERATION_5 206
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 207 && BOOST_PP_ITERATION_FINISH_5 >= 207
-# define BOOST_PP_ITERATION_5 207
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 208 && BOOST_PP_ITERATION_FINISH_5 >= 208
-# define BOOST_PP_ITERATION_5 208
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 209 && BOOST_PP_ITERATION_FINISH_5 >= 209
-# define BOOST_PP_ITERATION_5 209
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 210 && BOOST_PP_ITERATION_FINISH_5 >= 210
-# define BOOST_PP_ITERATION_5 210
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 211 && BOOST_PP_ITERATION_FINISH_5 >= 211
-# define BOOST_PP_ITERATION_5 211
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 212 && BOOST_PP_ITERATION_FINISH_5 >= 212
-# define BOOST_PP_ITERATION_5 212
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 213 && BOOST_PP_ITERATION_FINISH_5 >= 213
-# define BOOST_PP_ITERATION_5 213
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 214 && BOOST_PP_ITERATION_FINISH_5 >= 214
-# define BOOST_PP_ITERATION_5 214
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 215 && BOOST_PP_ITERATION_FINISH_5 >= 215
-# define BOOST_PP_ITERATION_5 215
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 216 && BOOST_PP_ITERATION_FINISH_5 >= 216
-# define BOOST_PP_ITERATION_5 216
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 217 && BOOST_PP_ITERATION_FINISH_5 >= 217
-# define BOOST_PP_ITERATION_5 217
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 218 && BOOST_PP_ITERATION_FINISH_5 >= 218
-# define BOOST_PP_ITERATION_5 218
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 219 && BOOST_PP_ITERATION_FINISH_5 >= 219
-# define BOOST_PP_ITERATION_5 219
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 220 && BOOST_PP_ITERATION_FINISH_5 >= 220
-# define BOOST_PP_ITERATION_5 220
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 221 && BOOST_PP_ITERATION_FINISH_5 >= 221
-# define BOOST_PP_ITERATION_5 221
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 222 && BOOST_PP_ITERATION_FINISH_5 >= 222
-# define BOOST_PP_ITERATION_5 222
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 223 && BOOST_PP_ITERATION_FINISH_5 >= 223
-# define BOOST_PP_ITERATION_5 223
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 224 && BOOST_PP_ITERATION_FINISH_5 >= 224
-# define BOOST_PP_ITERATION_5 224
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 225 && BOOST_PP_ITERATION_FINISH_5 >= 225
-# define BOOST_PP_ITERATION_5 225
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 226 && BOOST_PP_ITERATION_FINISH_5 >= 226
-# define BOOST_PP_ITERATION_5 226
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 227 && BOOST_PP_ITERATION_FINISH_5 >= 227
-# define BOOST_PP_ITERATION_5 227
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 228 && BOOST_PP_ITERATION_FINISH_5 >= 228
-# define BOOST_PP_ITERATION_5 228
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 229 && BOOST_PP_ITERATION_FINISH_5 >= 229
-# define BOOST_PP_ITERATION_5 229
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 230 && BOOST_PP_ITERATION_FINISH_5 >= 230
-# define BOOST_PP_ITERATION_5 230
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 231 && BOOST_PP_ITERATION_FINISH_5 >= 231
-# define BOOST_PP_ITERATION_5 231
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 232 && BOOST_PP_ITERATION_FINISH_5 >= 232
-# define BOOST_PP_ITERATION_5 232
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 233 && BOOST_PP_ITERATION_FINISH_5 >= 233
-# define BOOST_PP_ITERATION_5 233
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 234 && BOOST_PP_ITERATION_FINISH_5 >= 234
-# define BOOST_PP_ITERATION_5 234
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 235 && BOOST_PP_ITERATION_FINISH_5 >= 235
-# define BOOST_PP_ITERATION_5 235
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 236 && BOOST_PP_ITERATION_FINISH_5 >= 236
-# define BOOST_PP_ITERATION_5 236
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 237 && BOOST_PP_ITERATION_FINISH_5 >= 237
-# define BOOST_PP_ITERATION_5 237
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 238 && BOOST_PP_ITERATION_FINISH_5 >= 238
-# define BOOST_PP_ITERATION_5 238
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 239 && BOOST_PP_ITERATION_FINISH_5 >= 239
-# define BOOST_PP_ITERATION_5 239
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 240 && BOOST_PP_ITERATION_FINISH_5 >= 240
-# define BOOST_PP_ITERATION_5 240
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 241 && BOOST_PP_ITERATION_FINISH_5 >= 241
-# define BOOST_PP_ITERATION_5 241
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 242 && BOOST_PP_ITERATION_FINISH_5 >= 242
-# define BOOST_PP_ITERATION_5 242
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 243 && BOOST_PP_ITERATION_FINISH_5 >= 243
-# define BOOST_PP_ITERATION_5 243
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 244 && BOOST_PP_ITERATION_FINISH_5 >= 244
-# define BOOST_PP_ITERATION_5 244
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 245 && BOOST_PP_ITERATION_FINISH_5 >= 245
-# define BOOST_PP_ITERATION_5 245
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 246 && BOOST_PP_ITERATION_FINISH_5 >= 246
-# define BOOST_PP_ITERATION_5 246
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 247 && BOOST_PP_ITERATION_FINISH_5 >= 247
-# define BOOST_PP_ITERATION_5 247
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 248 && BOOST_PP_ITERATION_FINISH_5 >= 248
-# define BOOST_PP_ITERATION_5 248
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 249 && BOOST_PP_ITERATION_FINISH_5 >= 249
-# define BOOST_PP_ITERATION_5 249
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 250 && BOOST_PP_ITERATION_FINISH_5 >= 250
-# define BOOST_PP_ITERATION_5 250
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 251 && BOOST_PP_ITERATION_FINISH_5 >= 251
-# define BOOST_PP_ITERATION_5 251
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 252 && BOOST_PP_ITERATION_FINISH_5 >= 252
-# define BOOST_PP_ITERATION_5 252
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 253 && BOOST_PP_ITERATION_FINISH_5 >= 253
-# define BOOST_PP_ITERATION_5 253
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 254 && BOOST_PP_ITERATION_FINISH_5 >= 254
-# define BOOST_PP_ITERATION_5 254
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 255 && BOOST_PP_ITERATION_FINISH_5 >= 255
-# define BOOST_PP_ITERATION_5 255
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_START_5 <= 256 && BOOST_PP_ITERATION_FINISH_5 >= 256
-# define BOOST_PP_ITERATION_5 256
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# endif
-#
-# undef BOOST_PP_ITERATION_DEPTH
-# define BOOST_PP_ITERATION_DEPTH() 4
-#
-# undef BOOST_PP_ITERATION_START_5
-# undef BOOST_PP_ITERATION_FINISH_5
-# undef BOOST_PP_FILENAME_5
-#
-# undef BOOST_PP_ITERATION_FLAGS_5
-# undef BOOST_PP_ITERATION_PARAMS_5
diff --git a/boost/preprocessor/iteration/detail/iter/reverse1.hpp b/boost/preprocessor/iteration/detail/iter/reverse1.hpp
deleted file mode 100644
index bf88d2f..0000000
--- a/boost/preprocessor/iteration/detail/iter/reverse1.hpp
+++ /dev/null
@@ -1,1296 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# if BOOST_PP_ITERATION_FINISH_1 <= 256 && BOOST_PP_ITERATION_START_1 >= 256
-# define BOOST_PP_ITERATION_1 256
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 255 && BOOST_PP_ITERATION_START_1 >= 255
-# define BOOST_PP_ITERATION_1 255
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 254 && BOOST_PP_ITERATION_START_1 >= 254
-# define BOOST_PP_ITERATION_1 254
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 253 && BOOST_PP_ITERATION_START_1 >= 253
-# define BOOST_PP_ITERATION_1 253
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 252 && BOOST_PP_ITERATION_START_1 >= 252
-# define BOOST_PP_ITERATION_1 252
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 251 && BOOST_PP_ITERATION_START_1 >= 251
-# define BOOST_PP_ITERATION_1 251
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 250 && BOOST_PP_ITERATION_START_1 >= 250
-# define BOOST_PP_ITERATION_1 250
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 249 && BOOST_PP_ITERATION_START_1 >= 249
-# define BOOST_PP_ITERATION_1 249
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 248 && BOOST_PP_ITERATION_START_1 >= 248
-# define BOOST_PP_ITERATION_1 248
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 247 && BOOST_PP_ITERATION_START_1 >= 247
-# define BOOST_PP_ITERATION_1 247
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 246 && BOOST_PP_ITERATION_START_1 >= 246
-# define BOOST_PP_ITERATION_1 246
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 245 && BOOST_PP_ITERATION_START_1 >= 245
-# define BOOST_PP_ITERATION_1 245
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 244 && BOOST_PP_ITERATION_START_1 >= 244
-# define BOOST_PP_ITERATION_1 244
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 243 && BOOST_PP_ITERATION_START_1 >= 243
-# define BOOST_PP_ITERATION_1 243
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 242 && BOOST_PP_ITERATION_START_1 >= 242
-# define BOOST_PP_ITERATION_1 242
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 241 && BOOST_PP_ITERATION_START_1 >= 241
-# define BOOST_PP_ITERATION_1 241
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 240 && BOOST_PP_ITERATION_START_1 >= 240
-# define BOOST_PP_ITERATION_1 240
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 239 && BOOST_PP_ITERATION_START_1 >= 239
-# define BOOST_PP_ITERATION_1 239
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 238 && BOOST_PP_ITERATION_START_1 >= 238
-# define BOOST_PP_ITERATION_1 238
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 237 && BOOST_PP_ITERATION_START_1 >= 237
-# define BOOST_PP_ITERATION_1 237
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 236 && BOOST_PP_ITERATION_START_1 >= 236
-# define BOOST_PP_ITERATION_1 236
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 235 && BOOST_PP_ITERATION_START_1 >= 235
-# define BOOST_PP_ITERATION_1 235
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 234 && BOOST_PP_ITERATION_START_1 >= 234
-# define BOOST_PP_ITERATION_1 234
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 233 && BOOST_PP_ITERATION_START_1 >= 233
-# define BOOST_PP_ITERATION_1 233
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 232 && BOOST_PP_ITERATION_START_1 >= 232
-# define BOOST_PP_ITERATION_1 232
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 231 && BOOST_PP_ITERATION_START_1 >= 231
-# define BOOST_PP_ITERATION_1 231
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 230 && BOOST_PP_ITERATION_START_1 >= 230
-# define BOOST_PP_ITERATION_1 230
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 229 && BOOST_PP_ITERATION_START_1 >= 229
-# define BOOST_PP_ITERATION_1 229
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 228 && BOOST_PP_ITERATION_START_1 >= 228
-# define BOOST_PP_ITERATION_1 228
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 227 && BOOST_PP_ITERATION_START_1 >= 227
-# define BOOST_PP_ITERATION_1 227
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 226 && BOOST_PP_ITERATION_START_1 >= 226
-# define BOOST_PP_ITERATION_1 226
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 225 && BOOST_PP_ITERATION_START_1 >= 225
-# define BOOST_PP_ITERATION_1 225
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 224 && BOOST_PP_ITERATION_START_1 >= 224
-# define BOOST_PP_ITERATION_1 224
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 223 && BOOST_PP_ITERATION_START_1 >= 223
-# define BOOST_PP_ITERATION_1 223
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 222 && BOOST_PP_ITERATION_START_1 >= 222
-# define BOOST_PP_ITERATION_1 222
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 221 && BOOST_PP_ITERATION_START_1 >= 221
-# define BOOST_PP_ITERATION_1 221
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 220 && BOOST_PP_ITERATION_START_1 >= 220
-# define BOOST_PP_ITERATION_1 220
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 219 && BOOST_PP_ITERATION_START_1 >= 219
-# define BOOST_PP_ITERATION_1 219
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 218 && BOOST_PP_ITERATION_START_1 >= 218
-# define BOOST_PP_ITERATION_1 218
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 217 && BOOST_PP_ITERATION_START_1 >= 217
-# define BOOST_PP_ITERATION_1 217
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 216 && BOOST_PP_ITERATION_START_1 >= 216
-# define BOOST_PP_ITERATION_1 216
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 215 && BOOST_PP_ITERATION_START_1 >= 215
-# define BOOST_PP_ITERATION_1 215
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 214 && BOOST_PP_ITERATION_START_1 >= 214
-# define BOOST_PP_ITERATION_1 214
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 213 && BOOST_PP_ITERATION_START_1 >= 213
-# define BOOST_PP_ITERATION_1 213
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 212 && BOOST_PP_ITERATION_START_1 >= 212
-# define BOOST_PP_ITERATION_1 212
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 211 && BOOST_PP_ITERATION_START_1 >= 211
-# define BOOST_PP_ITERATION_1 211
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 210 && BOOST_PP_ITERATION_START_1 >= 210
-# define BOOST_PP_ITERATION_1 210
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 209 && BOOST_PP_ITERATION_START_1 >= 209
-# define BOOST_PP_ITERATION_1 209
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 208 && BOOST_PP_ITERATION_START_1 >= 208
-# define BOOST_PP_ITERATION_1 208
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 207 && BOOST_PP_ITERATION_START_1 >= 207
-# define BOOST_PP_ITERATION_1 207
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 206 && BOOST_PP_ITERATION_START_1 >= 206
-# define BOOST_PP_ITERATION_1 206
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 205 && BOOST_PP_ITERATION_START_1 >= 205
-# define BOOST_PP_ITERATION_1 205
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 204 && BOOST_PP_ITERATION_START_1 >= 204
-# define BOOST_PP_ITERATION_1 204
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 203 && BOOST_PP_ITERATION_START_1 >= 203
-# define BOOST_PP_ITERATION_1 203
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 202 && BOOST_PP_ITERATION_START_1 >= 202
-# define BOOST_PP_ITERATION_1 202
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 201 && BOOST_PP_ITERATION_START_1 >= 201
-# define BOOST_PP_ITERATION_1 201
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 200 && BOOST_PP_ITERATION_START_1 >= 200
-# define BOOST_PP_ITERATION_1 200
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 199 && BOOST_PP_ITERATION_START_1 >= 199
-# define BOOST_PP_ITERATION_1 199
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 198 && BOOST_PP_ITERATION_START_1 >= 198
-# define BOOST_PP_ITERATION_1 198
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 197 && BOOST_PP_ITERATION_START_1 >= 197
-# define BOOST_PP_ITERATION_1 197
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 196 && BOOST_PP_ITERATION_START_1 >= 196
-# define BOOST_PP_ITERATION_1 196
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 195 && BOOST_PP_ITERATION_START_1 >= 195
-# define BOOST_PP_ITERATION_1 195
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 194 && BOOST_PP_ITERATION_START_1 >= 194
-# define BOOST_PP_ITERATION_1 194
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 193 && BOOST_PP_ITERATION_START_1 >= 193
-# define BOOST_PP_ITERATION_1 193
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 192 && BOOST_PP_ITERATION_START_1 >= 192
-# define BOOST_PP_ITERATION_1 192
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 191 && BOOST_PP_ITERATION_START_1 >= 191
-# define BOOST_PP_ITERATION_1 191
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 190 && BOOST_PP_ITERATION_START_1 >= 190
-# define BOOST_PP_ITERATION_1 190
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 189 && BOOST_PP_ITERATION_START_1 >= 189
-# define BOOST_PP_ITERATION_1 189
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 188 && BOOST_PP_ITERATION_START_1 >= 188
-# define BOOST_PP_ITERATION_1 188
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 187 && BOOST_PP_ITERATION_START_1 >= 187
-# define BOOST_PP_ITERATION_1 187
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 186 && BOOST_PP_ITERATION_START_1 >= 186
-# define BOOST_PP_ITERATION_1 186
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 185 && BOOST_PP_ITERATION_START_1 >= 185
-# define BOOST_PP_ITERATION_1 185
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 184 && BOOST_PP_ITERATION_START_1 >= 184
-# define BOOST_PP_ITERATION_1 184
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 183 && BOOST_PP_ITERATION_START_1 >= 183
-# define BOOST_PP_ITERATION_1 183
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 182 && BOOST_PP_ITERATION_START_1 >= 182
-# define BOOST_PP_ITERATION_1 182
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 181 && BOOST_PP_ITERATION_START_1 >= 181
-# define BOOST_PP_ITERATION_1 181
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 180 && BOOST_PP_ITERATION_START_1 >= 180
-# define BOOST_PP_ITERATION_1 180
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 179 && BOOST_PP_ITERATION_START_1 >= 179
-# define BOOST_PP_ITERATION_1 179
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 178 && BOOST_PP_ITERATION_START_1 >= 178
-# define BOOST_PP_ITERATION_1 178
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 177 && BOOST_PP_ITERATION_START_1 >= 177
-# define BOOST_PP_ITERATION_1 177
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 176 && BOOST_PP_ITERATION_START_1 >= 176
-# define BOOST_PP_ITERATION_1 176
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 175 && BOOST_PP_ITERATION_START_1 >= 175
-# define BOOST_PP_ITERATION_1 175
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 174 && BOOST_PP_ITERATION_START_1 >= 174
-# define BOOST_PP_ITERATION_1 174
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 173 && BOOST_PP_ITERATION_START_1 >= 173
-# define BOOST_PP_ITERATION_1 173
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 172 && BOOST_PP_ITERATION_START_1 >= 172
-# define BOOST_PP_ITERATION_1 172
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 171 && BOOST_PP_ITERATION_START_1 >= 171
-# define BOOST_PP_ITERATION_1 171
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 170 && BOOST_PP_ITERATION_START_1 >= 170
-# define BOOST_PP_ITERATION_1 170
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 169 && BOOST_PP_ITERATION_START_1 >= 169
-# define BOOST_PP_ITERATION_1 169
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 168 && BOOST_PP_ITERATION_START_1 >= 168
-# define BOOST_PP_ITERATION_1 168
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 167 && BOOST_PP_ITERATION_START_1 >= 167
-# define BOOST_PP_ITERATION_1 167
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 166 && BOOST_PP_ITERATION_START_1 >= 166
-# define BOOST_PP_ITERATION_1 166
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 165 && BOOST_PP_ITERATION_START_1 >= 165
-# define BOOST_PP_ITERATION_1 165
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 164 && BOOST_PP_ITERATION_START_1 >= 164
-# define BOOST_PP_ITERATION_1 164
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 163 && BOOST_PP_ITERATION_START_1 >= 163
-# define BOOST_PP_ITERATION_1 163
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 162 && BOOST_PP_ITERATION_START_1 >= 162
-# define BOOST_PP_ITERATION_1 162
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 161 && BOOST_PP_ITERATION_START_1 >= 161
-# define BOOST_PP_ITERATION_1 161
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 160 && BOOST_PP_ITERATION_START_1 >= 160
-# define BOOST_PP_ITERATION_1 160
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 159 && BOOST_PP_ITERATION_START_1 >= 159
-# define BOOST_PP_ITERATION_1 159
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 158 && BOOST_PP_ITERATION_START_1 >= 158
-# define BOOST_PP_ITERATION_1 158
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 157 && BOOST_PP_ITERATION_START_1 >= 157
-# define BOOST_PP_ITERATION_1 157
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 156 && BOOST_PP_ITERATION_START_1 >= 156
-# define BOOST_PP_ITERATION_1 156
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 155 && BOOST_PP_ITERATION_START_1 >= 155
-# define BOOST_PP_ITERATION_1 155
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 154 && BOOST_PP_ITERATION_START_1 >= 154
-# define BOOST_PP_ITERATION_1 154
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 153 && BOOST_PP_ITERATION_START_1 >= 153
-# define BOOST_PP_ITERATION_1 153
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 152 && BOOST_PP_ITERATION_START_1 >= 152
-# define BOOST_PP_ITERATION_1 152
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 151 && BOOST_PP_ITERATION_START_1 >= 151
-# define BOOST_PP_ITERATION_1 151
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 150 && BOOST_PP_ITERATION_START_1 >= 150
-# define BOOST_PP_ITERATION_1 150
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 149 && BOOST_PP_ITERATION_START_1 >= 149
-# define BOOST_PP_ITERATION_1 149
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 148 && BOOST_PP_ITERATION_START_1 >= 148
-# define BOOST_PP_ITERATION_1 148
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 147 && BOOST_PP_ITERATION_START_1 >= 147
-# define BOOST_PP_ITERATION_1 147
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 146 && BOOST_PP_ITERATION_START_1 >= 146
-# define BOOST_PP_ITERATION_1 146
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 145 && BOOST_PP_ITERATION_START_1 >= 145
-# define BOOST_PP_ITERATION_1 145
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 144 && BOOST_PP_ITERATION_START_1 >= 144
-# define BOOST_PP_ITERATION_1 144
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 143 && BOOST_PP_ITERATION_START_1 >= 143
-# define BOOST_PP_ITERATION_1 143
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 142 && BOOST_PP_ITERATION_START_1 >= 142
-# define BOOST_PP_ITERATION_1 142
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 141 && BOOST_PP_ITERATION_START_1 >= 141
-# define BOOST_PP_ITERATION_1 141
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 140 && BOOST_PP_ITERATION_START_1 >= 140
-# define BOOST_PP_ITERATION_1 140
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 139 && BOOST_PP_ITERATION_START_1 >= 139
-# define BOOST_PP_ITERATION_1 139
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 138 && BOOST_PP_ITERATION_START_1 >= 138
-# define BOOST_PP_ITERATION_1 138
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 137 && BOOST_PP_ITERATION_START_1 >= 137
-# define BOOST_PP_ITERATION_1 137
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 136 && BOOST_PP_ITERATION_START_1 >= 136
-# define BOOST_PP_ITERATION_1 136
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 135 && BOOST_PP_ITERATION_START_1 >= 135
-# define BOOST_PP_ITERATION_1 135
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 134 && BOOST_PP_ITERATION_START_1 >= 134
-# define BOOST_PP_ITERATION_1 134
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 133 && BOOST_PP_ITERATION_START_1 >= 133
-# define BOOST_PP_ITERATION_1 133
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 132 && BOOST_PP_ITERATION_START_1 >= 132
-# define BOOST_PP_ITERATION_1 132
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 131 && BOOST_PP_ITERATION_START_1 >= 131
-# define BOOST_PP_ITERATION_1 131
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 130 && BOOST_PP_ITERATION_START_1 >= 130
-# define BOOST_PP_ITERATION_1 130
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 129 && BOOST_PP_ITERATION_START_1 >= 129
-# define BOOST_PP_ITERATION_1 129
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 128 && BOOST_PP_ITERATION_START_1 >= 128
-# define BOOST_PP_ITERATION_1 128
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 127 && BOOST_PP_ITERATION_START_1 >= 127
-# define BOOST_PP_ITERATION_1 127
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 126 && BOOST_PP_ITERATION_START_1 >= 126
-# define BOOST_PP_ITERATION_1 126
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 125 && BOOST_PP_ITERATION_START_1 >= 125
-# define BOOST_PP_ITERATION_1 125
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 124 && BOOST_PP_ITERATION_START_1 >= 124
-# define BOOST_PP_ITERATION_1 124
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 123 && BOOST_PP_ITERATION_START_1 >= 123
-# define BOOST_PP_ITERATION_1 123
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 122 && BOOST_PP_ITERATION_START_1 >= 122
-# define BOOST_PP_ITERATION_1 122
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 121 && BOOST_PP_ITERATION_START_1 >= 121
-# define BOOST_PP_ITERATION_1 121
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 120 && BOOST_PP_ITERATION_START_1 >= 120
-# define BOOST_PP_ITERATION_1 120
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 119 && BOOST_PP_ITERATION_START_1 >= 119
-# define BOOST_PP_ITERATION_1 119
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 118 && BOOST_PP_ITERATION_START_1 >= 118
-# define BOOST_PP_ITERATION_1 118
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 117 && BOOST_PP_ITERATION_START_1 >= 117
-# define BOOST_PP_ITERATION_1 117
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 116 && BOOST_PP_ITERATION_START_1 >= 116
-# define BOOST_PP_ITERATION_1 116
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 115 && BOOST_PP_ITERATION_START_1 >= 115
-# define BOOST_PP_ITERATION_1 115
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 114 && BOOST_PP_ITERATION_START_1 >= 114
-# define BOOST_PP_ITERATION_1 114
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 113 && BOOST_PP_ITERATION_START_1 >= 113
-# define BOOST_PP_ITERATION_1 113
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 112 && BOOST_PP_ITERATION_START_1 >= 112
-# define BOOST_PP_ITERATION_1 112
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 111 && BOOST_PP_ITERATION_START_1 >= 111
-# define BOOST_PP_ITERATION_1 111
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 110 && BOOST_PP_ITERATION_START_1 >= 110
-# define BOOST_PP_ITERATION_1 110
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 109 && BOOST_PP_ITERATION_START_1 >= 109
-# define BOOST_PP_ITERATION_1 109
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 108 && BOOST_PP_ITERATION_START_1 >= 108
-# define BOOST_PP_ITERATION_1 108
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 107 && BOOST_PP_ITERATION_START_1 >= 107
-# define BOOST_PP_ITERATION_1 107
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 106 && BOOST_PP_ITERATION_START_1 >= 106
-# define BOOST_PP_ITERATION_1 106
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 105 && BOOST_PP_ITERATION_START_1 >= 105
-# define BOOST_PP_ITERATION_1 105
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 104 && BOOST_PP_ITERATION_START_1 >= 104
-# define BOOST_PP_ITERATION_1 104
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 103 && BOOST_PP_ITERATION_START_1 >= 103
-# define BOOST_PP_ITERATION_1 103
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 102 && BOOST_PP_ITERATION_START_1 >= 102
-# define BOOST_PP_ITERATION_1 102
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 101 && BOOST_PP_ITERATION_START_1 >= 101
-# define BOOST_PP_ITERATION_1 101
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 100 && BOOST_PP_ITERATION_START_1 >= 100
-# define BOOST_PP_ITERATION_1 100
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 99 && BOOST_PP_ITERATION_START_1 >= 99
-# define BOOST_PP_ITERATION_1 99
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 98 && BOOST_PP_ITERATION_START_1 >= 98
-# define BOOST_PP_ITERATION_1 98
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 97 && BOOST_PP_ITERATION_START_1 >= 97
-# define BOOST_PP_ITERATION_1 97
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 96 && BOOST_PP_ITERATION_START_1 >= 96
-# define BOOST_PP_ITERATION_1 96
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 95 && BOOST_PP_ITERATION_START_1 >= 95
-# define BOOST_PP_ITERATION_1 95
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 94 && BOOST_PP_ITERATION_START_1 >= 94
-# define BOOST_PP_ITERATION_1 94
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 93 && BOOST_PP_ITERATION_START_1 >= 93
-# define BOOST_PP_ITERATION_1 93
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 92 && BOOST_PP_ITERATION_START_1 >= 92
-# define BOOST_PP_ITERATION_1 92
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 91 && BOOST_PP_ITERATION_START_1 >= 91
-# define BOOST_PP_ITERATION_1 91
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 90 && BOOST_PP_ITERATION_START_1 >= 90
-# define BOOST_PP_ITERATION_1 90
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 89 && BOOST_PP_ITERATION_START_1 >= 89
-# define BOOST_PP_ITERATION_1 89
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 88 && BOOST_PP_ITERATION_START_1 >= 88
-# define BOOST_PP_ITERATION_1 88
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 87 && BOOST_PP_ITERATION_START_1 >= 87
-# define BOOST_PP_ITERATION_1 87
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 86 && BOOST_PP_ITERATION_START_1 >= 86
-# define BOOST_PP_ITERATION_1 86
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 85 && BOOST_PP_ITERATION_START_1 >= 85
-# define BOOST_PP_ITERATION_1 85
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 84 && BOOST_PP_ITERATION_START_1 >= 84
-# define BOOST_PP_ITERATION_1 84
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 83 && BOOST_PP_ITERATION_START_1 >= 83
-# define BOOST_PP_ITERATION_1 83
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 82 && BOOST_PP_ITERATION_START_1 >= 82
-# define BOOST_PP_ITERATION_1 82
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 81 && BOOST_PP_ITERATION_START_1 >= 81
-# define BOOST_PP_ITERATION_1 81
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 80 && BOOST_PP_ITERATION_START_1 >= 80
-# define BOOST_PP_ITERATION_1 80
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 79 && BOOST_PP_ITERATION_START_1 >= 79
-# define BOOST_PP_ITERATION_1 79
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 78 && BOOST_PP_ITERATION_START_1 >= 78
-# define BOOST_PP_ITERATION_1 78
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 77 && BOOST_PP_ITERATION_START_1 >= 77
-# define BOOST_PP_ITERATION_1 77
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 76 && BOOST_PP_ITERATION_START_1 >= 76
-# define BOOST_PP_ITERATION_1 76
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 75 && BOOST_PP_ITERATION_START_1 >= 75
-# define BOOST_PP_ITERATION_1 75
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 74 && BOOST_PP_ITERATION_START_1 >= 74
-# define BOOST_PP_ITERATION_1 74
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 73 && BOOST_PP_ITERATION_START_1 >= 73
-# define BOOST_PP_ITERATION_1 73
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 72 && BOOST_PP_ITERATION_START_1 >= 72
-# define BOOST_PP_ITERATION_1 72
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 71 && BOOST_PP_ITERATION_START_1 >= 71
-# define BOOST_PP_ITERATION_1 71
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 70 && BOOST_PP_ITERATION_START_1 >= 70
-# define BOOST_PP_ITERATION_1 70
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 69 && BOOST_PP_ITERATION_START_1 >= 69
-# define BOOST_PP_ITERATION_1 69
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 68 && BOOST_PP_ITERATION_START_1 >= 68
-# define BOOST_PP_ITERATION_1 68
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 67 && BOOST_PP_ITERATION_START_1 >= 67
-# define BOOST_PP_ITERATION_1 67
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 66 && BOOST_PP_ITERATION_START_1 >= 66
-# define BOOST_PP_ITERATION_1 66
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 65 && BOOST_PP_ITERATION_START_1 >= 65
-# define BOOST_PP_ITERATION_1 65
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 64 && BOOST_PP_ITERATION_START_1 >= 64
-# define BOOST_PP_ITERATION_1 64
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 63 && BOOST_PP_ITERATION_START_1 >= 63
-# define BOOST_PP_ITERATION_1 63
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 62 && BOOST_PP_ITERATION_START_1 >= 62
-# define BOOST_PP_ITERATION_1 62
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 61 && BOOST_PP_ITERATION_START_1 >= 61
-# define BOOST_PP_ITERATION_1 61
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 60 && BOOST_PP_ITERATION_START_1 >= 60
-# define BOOST_PP_ITERATION_1 60
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 59 && BOOST_PP_ITERATION_START_1 >= 59
-# define BOOST_PP_ITERATION_1 59
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 58 && BOOST_PP_ITERATION_START_1 >= 58
-# define BOOST_PP_ITERATION_1 58
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 57 && BOOST_PP_ITERATION_START_1 >= 57
-# define BOOST_PP_ITERATION_1 57
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 56 && BOOST_PP_ITERATION_START_1 >= 56
-# define BOOST_PP_ITERATION_1 56
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 55 && BOOST_PP_ITERATION_START_1 >= 55
-# define BOOST_PP_ITERATION_1 55
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 54 && BOOST_PP_ITERATION_START_1 >= 54
-# define BOOST_PP_ITERATION_1 54
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 53 && BOOST_PP_ITERATION_START_1 >= 53
-# define BOOST_PP_ITERATION_1 53
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 52 && BOOST_PP_ITERATION_START_1 >= 52
-# define BOOST_PP_ITERATION_1 52
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 51 && BOOST_PP_ITERATION_START_1 >= 51
-# define BOOST_PP_ITERATION_1 51
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 50 && BOOST_PP_ITERATION_START_1 >= 50
-# define BOOST_PP_ITERATION_1 50
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 49 && BOOST_PP_ITERATION_START_1 >= 49
-# define BOOST_PP_ITERATION_1 49
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 48 && BOOST_PP_ITERATION_START_1 >= 48
-# define BOOST_PP_ITERATION_1 48
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 47 && BOOST_PP_ITERATION_START_1 >= 47
-# define BOOST_PP_ITERATION_1 47
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 46 && BOOST_PP_ITERATION_START_1 >= 46
-# define BOOST_PP_ITERATION_1 46
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 45 && BOOST_PP_ITERATION_START_1 >= 45
-# define BOOST_PP_ITERATION_1 45
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 44 && BOOST_PP_ITERATION_START_1 >= 44
-# define BOOST_PP_ITERATION_1 44
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 43 && BOOST_PP_ITERATION_START_1 >= 43
-# define BOOST_PP_ITERATION_1 43
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 42 && BOOST_PP_ITERATION_START_1 >= 42
-# define BOOST_PP_ITERATION_1 42
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 41 && BOOST_PP_ITERATION_START_1 >= 41
-# define BOOST_PP_ITERATION_1 41
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 40 && BOOST_PP_ITERATION_START_1 >= 40
-# define BOOST_PP_ITERATION_1 40
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 39 && BOOST_PP_ITERATION_START_1 >= 39
-# define BOOST_PP_ITERATION_1 39
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 38 && BOOST_PP_ITERATION_START_1 >= 38
-# define BOOST_PP_ITERATION_1 38
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 37 && BOOST_PP_ITERATION_START_1 >= 37
-# define BOOST_PP_ITERATION_1 37
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 36 && BOOST_PP_ITERATION_START_1 >= 36
-# define BOOST_PP_ITERATION_1 36
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 35 && BOOST_PP_ITERATION_START_1 >= 35
-# define BOOST_PP_ITERATION_1 35
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 34 && BOOST_PP_ITERATION_START_1 >= 34
-# define BOOST_PP_ITERATION_1 34
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 33 && BOOST_PP_ITERATION_START_1 >= 33
-# define BOOST_PP_ITERATION_1 33
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 32 && BOOST_PP_ITERATION_START_1 >= 32
-# define BOOST_PP_ITERATION_1 32
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 31 && BOOST_PP_ITERATION_START_1 >= 31
-# define BOOST_PP_ITERATION_1 31
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 30 && BOOST_PP_ITERATION_START_1 >= 30
-# define BOOST_PP_ITERATION_1 30
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 29 && BOOST_PP_ITERATION_START_1 >= 29
-# define BOOST_PP_ITERATION_1 29
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 28 && BOOST_PP_ITERATION_START_1 >= 28
-# define BOOST_PP_ITERATION_1 28
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 27 && BOOST_PP_ITERATION_START_1 >= 27
-# define BOOST_PP_ITERATION_1 27
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 26 && BOOST_PP_ITERATION_START_1 >= 26
-# define BOOST_PP_ITERATION_1 26
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 25 && BOOST_PP_ITERATION_START_1 >= 25
-# define BOOST_PP_ITERATION_1 25
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 24 && BOOST_PP_ITERATION_START_1 >= 24
-# define BOOST_PP_ITERATION_1 24
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 23 && BOOST_PP_ITERATION_START_1 >= 23
-# define BOOST_PP_ITERATION_1 23
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 22 && BOOST_PP_ITERATION_START_1 >= 22
-# define BOOST_PP_ITERATION_1 22
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 21 && BOOST_PP_ITERATION_START_1 >= 21
-# define BOOST_PP_ITERATION_1 21
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 20 && BOOST_PP_ITERATION_START_1 >= 20
-# define BOOST_PP_ITERATION_1 20
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 19 && BOOST_PP_ITERATION_START_1 >= 19
-# define BOOST_PP_ITERATION_1 19
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 18 && BOOST_PP_ITERATION_START_1 >= 18
-# define BOOST_PP_ITERATION_1 18
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 17 && BOOST_PP_ITERATION_START_1 >= 17
-# define BOOST_PP_ITERATION_1 17
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 16 && BOOST_PP_ITERATION_START_1 >= 16
-# define BOOST_PP_ITERATION_1 16
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 15 && BOOST_PP_ITERATION_START_1 >= 15
-# define BOOST_PP_ITERATION_1 15
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 14 && BOOST_PP_ITERATION_START_1 >= 14
-# define BOOST_PP_ITERATION_1 14
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 13 && BOOST_PP_ITERATION_START_1 >= 13
-# define BOOST_PP_ITERATION_1 13
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 12 && BOOST_PP_ITERATION_START_1 >= 12
-# define BOOST_PP_ITERATION_1 12
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 11 && BOOST_PP_ITERATION_START_1 >= 11
-# define BOOST_PP_ITERATION_1 11
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 10 && BOOST_PP_ITERATION_START_1 >= 10
-# define BOOST_PP_ITERATION_1 10
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 9 && BOOST_PP_ITERATION_START_1 >= 9
-# define BOOST_PP_ITERATION_1 9
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 8 && BOOST_PP_ITERATION_START_1 >= 8
-# define BOOST_PP_ITERATION_1 8
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 7 && BOOST_PP_ITERATION_START_1 >= 7
-# define BOOST_PP_ITERATION_1 7
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 6 && BOOST_PP_ITERATION_START_1 >= 6
-# define BOOST_PP_ITERATION_1 6
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 5 && BOOST_PP_ITERATION_START_1 >= 5
-# define BOOST_PP_ITERATION_1 5
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 4 && BOOST_PP_ITERATION_START_1 >= 4
-# define BOOST_PP_ITERATION_1 4
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 3 && BOOST_PP_ITERATION_START_1 >= 3
-# define BOOST_PP_ITERATION_1 3
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 2 && BOOST_PP_ITERATION_START_1 >= 2
-# define BOOST_PP_ITERATION_1 2
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 1 && BOOST_PP_ITERATION_START_1 >= 1
-# define BOOST_PP_ITERATION_1 1
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
-# if BOOST_PP_ITERATION_FINISH_1 <= 0 && BOOST_PP_ITERATION_START_1 >= 0
-# define BOOST_PP_ITERATION_1 0
-# include BOOST_PP_FILENAME_1
-# undef BOOST_PP_ITERATION_1
-# endif
diff --git a/boost/preprocessor/iteration/detail/iter/reverse2.hpp b/boost/preprocessor/iteration/detail/iter/reverse2.hpp
deleted file mode 100644
index 521bd24..0000000
--- a/boost/preprocessor/iteration/detail/iter/reverse2.hpp
+++ /dev/null
@@ -1,1296 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# if BOOST_PP_ITERATION_FINISH_2 <= 256 && BOOST_PP_ITERATION_START_2 >= 256
-# define BOOST_PP_ITERATION_2 256
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 255 && BOOST_PP_ITERATION_START_2 >= 255
-# define BOOST_PP_ITERATION_2 255
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 254 && BOOST_PP_ITERATION_START_2 >= 254
-# define BOOST_PP_ITERATION_2 254
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 253 && BOOST_PP_ITERATION_START_2 >= 253
-# define BOOST_PP_ITERATION_2 253
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 252 && BOOST_PP_ITERATION_START_2 >= 252
-# define BOOST_PP_ITERATION_2 252
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 251 && BOOST_PP_ITERATION_START_2 >= 251
-# define BOOST_PP_ITERATION_2 251
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 250 && BOOST_PP_ITERATION_START_2 >= 250
-# define BOOST_PP_ITERATION_2 250
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 249 && BOOST_PP_ITERATION_START_2 >= 249
-# define BOOST_PP_ITERATION_2 249
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 248 && BOOST_PP_ITERATION_START_2 >= 248
-# define BOOST_PP_ITERATION_2 248
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 247 && BOOST_PP_ITERATION_START_2 >= 247
-# define BOOST_PP_ITERATION_2 247
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 246 && BOOST_PP_ITERATION_START_2 >= 246
-# define BOOST_PP_ITERATION_2 246
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 245 && BOOST_PP_ITERATION_START_2 >= 245
-# define BOOST_PP_ITERATION_2 245
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 244 && BOOST_PP_ITERATION_START_2 >= 244
-# define BOOST_PP_ITERATION_2 244
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 243 && BOOST_PP_ITERATION_START_2 >= 243
-# define BOOST_PP_ITERATION_2 243
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 242 && BOOST_PP_ITERATION_START_2 >= 242
-# define BOOST_PP_ITERATION_2 242
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 241 && BOOST_PP_ITERATION_START_2 >= 241
-# define BOOST_PP_ITERATION_2 241
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 240 && BOOST_PP_ITERATION_START_2 >= 240
-# define BOOST_PP_ITERATION_2 240
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 239 && BOOST_PP_ITERATION_START_2 >= 239
-# define BOOST_PP_ITERATION_2 239
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 238 && BOOST_PP_ITERATION_START_2 >= 238
-# define BOOST_PP_ITERATION_2 238
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 237 && BOOST_PP_ITERATION_START_2 >= 237
-# define BOOST_PP_ITERATION_2 237
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 236 && BOOST_PP_ITERATION_START_2 >= 236
-# define BOOST_PP_ITERATION_2 236
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 235 && BOOST_PP_ITERATION_START_2 >= 235
-# define BOOST_PP_ITERATION_2 235
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 234 && BOOST_PP_ITERATION_START_2 >= 234
-# define BOOST_PP_ITERATION_2 234
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 233 && BOOST_PP_ITERATION_START_2 >= 233
-# define BOOST_PP_ITERATION_2 233
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 232 && BOOST_PP_ITERATION_START_2 >= 232
-# define BOOST_PP_ITERATION_2 232
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 231 && BOOST_PP_ITERATION_START_2 >= 231
-# define BOOST_PP_ITERATION_2 231
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 230 && BOOST_PP_ITERATION_START_2 >= 230
-# define BOOST_PP_ITERATION_2 230
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 229 && BOOST_PP_ITERATION_START_2 >= 229
-# define BOOST_PP_ITERATION_2 229
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 228 && BOOST_PP_ITERATION_START_2 >= 228
-# define BOOST_PP_ITERATION_2 228
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 227 && BOOST_PP_ITERATION_START_2 >= 227
-# define BOOST_PP_ITERATION_2 227
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 226 && BOOST_PP_ITERATION_START_2 >= 226
-# define BOOST_PP_ITERATION_2 226
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 225 && BOOST_PP_ITERATION_START_2 >= 225
-# define BOOST_PP_ITERATION_2 225
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 224 && BOOST_PP_ITERATION_START_2 >= 224
-# define BOOST_PP_ITERATION_2 224
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 223 && BOOST_PP_ITERATION_START_2 >= 223
-# define BOOST_PP_ITERATION_2 223
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 222 && BOOST_PP_ITERATION_START_2 >= 222
-# define BOOST_PP_ITERATION_2 222
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 221 && BOOST_PP_ITERATION_START_2 >= 221
-# define BOOST_PP_ITERATION_2 221
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 220 && BOOST_PP_ITERATION_START_2 >= 220
-# define BOOST_PP_ITERATION_2 220
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 219 && BOOST_PP_ITERATION_START_2 >= 219
-# define BOOST_PP_ITERATION_2 219
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 218 && BOOST_PP_ITERATION_START_2 >= 218
-# define BOOST_PP_ITERATION_2 218
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 217 && BOOST_PP_ITERATION_START_2 >= 217
-# define BOOST_PP_ITERATION_2 217
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 216 && BOOST_PP_ITERATION_START_2 >= 216
-# define BOOST_PP_ITERATION_2 216
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 215 && BOOST_PP_ITERATION_START_2 >= 215
-# define BOOST_PP_ITERATION_2 215
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 214 && BOOST_PP_ITERATION_START_2 >= 214
-# define BOOST_PP_ITERATION_2 214
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 213 && BOOST_PP_ITERATION_START_2 >= 213
-# define BOOST_PP_ITERATION_2 213
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 212 && BOOST_PP_ITERATION_START_2 >= 212
-# define BOOST_PP_ITERATION_2 212
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 211 && BOOST_PP_ITERATION_START_2 >= 211
-# define BOOST_PP_ITERATION_2 211
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 210 && BOOST_PP_ITERATION_START_2 >= 210
-# define BOOST_PP_ITERATION_2 210
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 209 && BOOST_PP_ITERATION_START_2 >= 209
-# define BOOST_PP_ITERATION_2 209
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 208 && BOOST_PP_ITERATION_START_2 >= 208
-# define BOOST_PP_ITERATION_2 208
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 207 && BOOST_PP_ITERATION_START_2 >= 207
-# define BOOST_PP_ITERATION_2 207
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 206 && BOOST_PP_ITERATION_START_2 >= 206
-# define BOOST_PP_ITERATION_2 206
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 205 && BOOST_PP_ITERATION_START_2 >= 205
-# define BOOST_PP_ITERATION_2 205
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 204 && BOOST_PP_ITERATION_START_2 >= 204
-# define BOOST_PP_ITERATION_2 204
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 203 && BOOST_PP_ITERATION_START_2 >= 203
-# define BOOST_PP_ITERATION_2 203
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 202 && BOOST_PP_ITERATION_START_2 >= 202
-# define BOOST_PP_ITERATION_2 202
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 201 && BOOST_PP_ITERATION_START_2 >= 201
-# define BOOST_PP_ITERATION_2 201
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 200 && BOOST_PP_ITERATION_START_2 >= 200
-# define BOOST_PP_ITERATION_2 200
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 199 && BOOST_PP_ITERATION_START_2 >= 199
-# define BOOST_PP_ITERATION_2 199
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 198 && BOOST_PP_ITERATION_START_2 >= 198
-# define BOOST_PP_ITERATION_2 198
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 197 && BOOST_PP_ITERATION_START_2 >= 197
-# define BOOST_PP_ITERATION_2 197
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 196 && BOOST_PP_ITERATION_START_2 >= 196
-# define BOOST_PP_ITERATION_2 196
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 195 && BOOST_PP_ITERATION_START_2 >= 195
-# define BOOST_PP_ITERATION_2 195
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 194 && BOOST_PP_ITERATION_START_2 >= 194
-# define BOOST_PP_ITERATION_2 194
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 193 && BOOST_PP_ITERATION_START_2 >= 193
-# define BOOST_PP_ITERATION_2 193
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 192 && BOOST_PP_ITERATION_START_2 >= 192
-# define BOOST_PP_ITERATION_2 192
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 191 && BOOST_PP_ITERATION_START_2 >= 191
-# define BOOST_PP_ITERATION_2 191
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 190 && BOOST_PP_ITERATION_START_2 >= 190
-# define BOOST_PP_ITERATION_2 190
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 189 && BOOST_PP_ITERATION_START_2 >= 189
-# define BOOST_PP_ITERATION_2 189
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 188 && BOOST_PP_ITERATION_START_2 >= 188
-# define BOOST_PP_ITERATION_2 188
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 187 && BOOST_PP_ITERATION_START_2 >= 187
-# define BOOST_PP_ITERATION_2 187
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 186 && BOOST_PP_ITERATION_START_2 >= 186
-# define BOOST_PP_ITERATION_2 186
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 185 && BOOST_PP_ITERATION_START_2 >= 185
-# define BOOST_PP_ITERATION_2 185
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 184 && BOOST_PP_ITERATION_START_2 >= 184
-# define BOOST_PP_ITERATION_2 184
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 183 && BOOST_PP_ITERATION_START_2 >= 183
-# define BOOST_PP_ITERATION_2 183
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 182 && BOOST_PP_ITERATION_START_2 >= 182
-# define BOOST_PP_ITERATION_2 182
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 181 && BOOST_PP_ITERATION_START_2 >= 181
-# define BOOST_PP_ITERATION_2 181
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 180 && BOOST_PP_ITERATION_START_2 >= 180
-# define BOOST_PP_ITERATION_2 180
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 179 && BOOST_PP_ITERATION_START_2 >= 179
-# define BOOST_PP_ITERATION_2 179
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 178 && BOOST_PP_ITERATION_START_2 >= 178
-# define BOOST_PP_ITERATION_2 178
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 177 && BOOST_PP_ITERATION_START_2 >= 177
-# define BOOST_PP_ITERATION_2 177
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 176 && BOOST_PP_ITERATION_START_2 >= 176
-# define BOOST_PP_ITERATION_2 176
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 175 && BOOST_PP_ITERATION_START_2 >= 175
-# define BOOST_PP_ITERATION_2 175
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 174 && BOOST_PP_ITERATION_START_2 >= 174
-# define BOOST_PP_ITERATION_2 174
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 173 && BOOST_PP_ITERATION_START_2 >= 173
-# define BOOST_PP_ITERATION_2 173
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 172 && BOOST_PP_ITERATION_START_2 >= 172
-# define BOOST_PP_ITERATION_2 172
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 171 && BOOST_PP_ITERATION_START_2 >= 171
-# define BOOST_PP_ITERATION_2 171
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 170 && BOOST_PP_ITERATION_START_2 >= 170
-# define BOOST_PP_ITERATION_2 170
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 169 && BOOST_PP_ITERATION_START_2 >= 169
-# define BOOST_PP_ITERATION_2 169
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 168 && BOOST_PP_ITERATION_START_2 >= 168
-# define BOOST_PP_ITERATION_2 168
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 167 && BOOST_PP_ITERATION_START_2 >= 167
-# define BOOST_PP_ITERATION_2 167
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 166 && BOOST_PP_ITERATION_START_2 >= 166
-# define BOOST_PP_ITERATION_2 166
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 165 && BOOST_PP_ITERATION_START_2 >= 165
-# define BOOST_PP_ITERATION_2 165
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 164 && BOOST_PP_ITERATION_START_2 >= 164
-# define BOOST_PP_ITERATION_2 164
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 163 && BOOST_PP_ITERATION_START_2 >= 163
-# define BOOST_PP_ITERATION_2 163
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 162 && BOOST_PP_ITERATION_START_2 >= 162
-# define BOOST_PP_ITERATION_2 162
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 161 && BOOST_PP_ITERATION_START_2 >= 161
-# define BOOST_PP_ITERATION_2 161
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 160 && BOOST_PP_ITERATION_START_2 >= 160
-# define BOOST_PP_ITERATION_2 160
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 159 && BOOST_PP_ITERATION_START_2 >= 159
-# define BOOST_PP_ITERATION_2 159
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 158 && BOOST_PP_ITERATION_START_2 >= 158
-# define BOOST_PP_ITERATION_2 158
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 157 && BOOST_PP_ITERATION_START_2 >= 157
-# define BOOST_PP_ITERATION_2 157
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 156 && BOOST_PP_ITERATION_START_2 >= 156
-# define BOOST_PP_ITERATION_2 156
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 155 && BOOST_PP_ITERATION_START_2 >= 155
-# define BOOST_PP_ITERATION_2 155
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 154 && BOOST_PP_ITERATION_START_2 >= 154
-# define BOOST_PP_ITERATION_2 154
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 153 && BOOST_PP_ITERATION_START_2 >= 153
-# define BOOST_PP_ITERATION_2 153
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 152 && BOOST_PP_ITERATION_START_2 >= 152
-# define BOOST_PP_ITERATION_2 152
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 151 && BOOST_PP_ITERATION_START_2 >= 151
-# define BOOST_PP_ITERATION_2 151
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 150 && BOOST_PP_ITERATION_START_2 >= 150
-# define BOOST_PP_ITERATION_2 150
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 149 && BOOST_PP_ITERATION_START_2 >= 149
-# define BOOST_PP_ITERATION_2 149
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 148 && BOOST_PP_ITERATION_START_2 >= 148
-# define BOOST_PP_ITERATION_2 148
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 147 && BOOST_PP_ITERATION_START_2 >= 147
-# define BOOST_PP_ITERATION_2 147
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 146 && BOOST_PP_ITERATION_START_2 >= 146
-# define BOOST_PP_ITERATION_2 146
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 145 && BOOST_PP_ITERATION_START_2 >= 145
-# define BOOST_PP_ITERATION_2 145
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 144 && BOOST_PP_ITERATION_START_2 >= 144
-# define BOOST_PP_ITERATION_2 144
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 143 && BOOST_PP_ITERATION_START_2 >= 143
-# define BOOST_PP_ITERATION_2 143
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 142 && BOOST_PP_ITERATION_START_2 >= 142
-# define BOOST_PP_ITERATION_2 142
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 141 && BOOST_PP_ITERATION_START_2 >= 141
-# define BOOST_PP_ITERATION_2 141
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 140 && BOOST_PP_ITERATION_START_2 >= 140
-# define BOOST_PP_ITERATION_2 140
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 139 && BOOST_PP_ITERATION_START_2 >= 139
-# define BOOST_PP_ITERATION_2 139
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 138 && BOOST_PP_ITERATION_START_2 >= 138
-# define BOOST_PP_ITERATION_2 138
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 137 && BOOST_PP_ITERATION_START_2 >= 137
-# define BOOST_PP_ITERATION_2 137
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 136 && BOOST_PP_ITERATION_START_2 >= 136
-# define BOOST_PP_ITERATION_2 136
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 135 && BOOST_PP_ITERATION_START_2 >= 135
-# define BOOST_PP_ITERATION_2 135
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 134 && BOOST_PP_ITERATION_START_2 >= 134
-# define BOOST_PP_ITERATION_2 134
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 133 && BOOST_PP_ITERATION_START_2 >= 133
-# define BOOST_PP_ITERATION_2 133
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 132 && BOOST_PP_ITERATION_START_2 >= 132
-# define BOOST_PP_ITERATION_2 132
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 131 && BOOST_PP_ITERATION_START_2 >= 131
-# define BOOST_PP_ITERATION_2 131
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 130 && BOOST_PP_ITERATION_START_2 >= 130
-# define BOOST_PP_ITERATION_2 130
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 129 && BOOST_PP_ITERATION_START_2 >= 129
-# define BOOST_PP_ITERATION_2 129
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 128 && BOOST_PP_ITERATION_START_2 >= 128
-# define BOOST_PP_ITERATION_2 128
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 127 && BOOST_PP_ITERATION_START_2 >= 127
-# define BOOST_PP_ITERATION_2 127
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 126 && BOOST_PP_ITERATION_START_2 >= 126
-# define BOOST_PP_ITERATION_2 126
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 125 && BOOST_PP_ITERATION_START_2 >= 125
-# define BOOST_PP_ITERATION_2 125
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 124 && BOOST_PP_ITERATION_START_2 >= 124
-# define BOOST_PP_ITERATION_2 124
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 123 && BOOST_PP_ITERATION_START_2 >= 123
-# define BOOST_PP_ITERATION_2 123
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 122 && BOOST_PP_ITERATION_START_2 >= 122
-# define BOOST_PP_ITERATION_2 122
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 121 && BOOST_PP_ITERATION_START_2 >= 121
-# define BOOST_PP_ITERATION_2 121
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 120 && BOOST_PP_ITERATION_START_2 >= 120
-# define BOOST_PP_ITERATION_2 120
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 119 && BOOST_PP_ITERATION_START_2 >= 119
-# define BOOST_PP_ITERATION_2 119
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 118 && BOOST_PP_ITERATION_START_2 >= 118
-# define BOOST_PP_ITERATION_2 118
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 117 && BOOST_PP_ITERATION_START_2 >= 117
-# define BOOST_PP_ITERATION_2 117
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 116 && BOOST_PP_ITERATION_START_2 >= 116
-# define BOOST_PP_ITERATION_2 116
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 115 && BOOST_PP_ITERATION_START_2 >= 115
-# define BOOST_PP_ITERATION_2 115
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 114 && BOOST_PP_ITERATION_START_2 >= 114
-# define BOOST_PP_ITERATION_2 114
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 113 && BOOST_PP_ITERATION_START_2 >= 113
-# define BOOST_PP_ITERATION_2 113
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 112 && BOOST_PP_ITERATION_START_2 >= 112
-# define BOOST_PP_ITERATION_2 112
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 111 && BOOST_PP_ITERATION_START_2 >= 111
-# define BOOST_PP_ITERATION_2 111
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 110 && BOOST_PP_ITERATION_START_2 >= 110
-# define BOOST_PP_ITERATION_2 110
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 109 && BOOST_PP_ITERATION_START_2 >= 109
-# define BOOST_PP_ITERATION_2 109
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 108 && BOOST_PP_ITERATION_START_2 >= 108
-# define BOOST_PP_ITERATION_2 108
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 107 && BOOST_PP_ITERATION_START_2 >= 107
-# define BOOST_PP_ITERATION_2 107
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 106 && BOOST_PP_ITERATION_START_2 >= 106
-# define BOOST_PP_ITERATION_2 106
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 105 && BOOST_PP_ITERATION_START_2 >= 105
-# define BOOST_PP_ITERATION_2 105
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 104 && BOOST_PP_ITERATION_START_2 >= 104
-# define BOOST_PP_ITERATION_2 104
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 103 && BOOST_PP_ITERATION_START_2 >= 103
-# define BOOST_PP_ITERATION_2 103
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 102 && BOOST_PP_ITERATION_START_2 >= 102
-# define BOOST_PP_ITERATION_2 102
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 101 && BOOST_PP_ITERATION_START_2 >= 101
-# define BOOST_PP_ITERATION_2 101
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 100 && BOOST_PP_ITERATION_START_2 >= 100
-# define BOOST_PP_ITERATION_2 100
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 99 && BOOST_PP_ITERATION_START_2 >= 99
-# define BOOST_PP_ITERATION_2 99
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 98 && BOOST_PP_ITERATION_START_2 >= 98
-# define BOOST_PP_ITERATION_2 98
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 97 && BOOST_PP_ITERATION_START_2 >= 97
-# define BOOST_PP_ITERATION_2 97
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 96 && BOOST_PP_ITERATION_START_2 >= 96
-# define BOOST_PP_ITERATION_2 96
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 95 && BOOST_PP_ITERATION_START_2 >= 95
-# define BOOST_PP_ITERATION_2 95
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 94 && BOOST_PP_ITERATION_START_2 >= 94
-# define BOOST_PP_ITERATION_2 94
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 93 && BOOST_PP_ITERATION_START_2 >= 93
-# define BOOST_PP_ITERATION_2 93
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 92 && BOOST_PP_ITERATION_START_2 >= 92
-# define BOOST_PP_ITERATION_2 92
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 91 && BOOST_PP_ITERATION_START_2 >= 91
-# define BOOST_PP_ITERATION_2 91
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 90 && BOOST_PP_ITERATION_START_2 >= 90
-# define BOOST_PP_ITERATION_2 90
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 89 && BOOST_PP_ITERATION_START_2 >= 89
-# define BOOST_PP_ITERATION_2 89
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 88 && BOOST_PP_ITERATION_START_2 >= 88
-# define BOOST_PP_ITERATION_2 88
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 87 && BOOST_PP_ITERATION_START_2 >= 87
-# define BOOST_PP_ITERATION_2 87
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 86 && BOOST_PP_ITERATION_START_2 >= 86
-# define BOOST_PP_ITERATION_2 86
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 85 && BOOST_PP_ITERATION_START_2 >= 85
-# define BOOST_PP_ITERATION_2 85
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 84 && BOOST_PP_ITERATION_START_2 >= 84
-# define BOOST_PP_ITERATION_2 84
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 83 && BOOST_PP_ITERATION_START_2 >= 83
-# define BOOST_PP_ITERATION_2 83
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 82 && BOOST_PP_ITERATION_START_2 >= 82
-# define BOOST_PP_ITERATION_2 82
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 81 && BOOST_PP_ITERATION_START_2 >= 81
-# define BOOST_PP_ITERATION_2 81
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 80 && BOOST_PP_ITERATION_START_2 >= 80
-# define BOOST_PP_ITERATION_2 80
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 79 && BOOST_PP_ITERATION_START_2 >= 79
-# define BOOST_PP_ITERATION_2 79
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 78 && BOOST_PP_ITERATION_START_2 >= 78
-# define BOOST_PP_ITERATION_2 78
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 77 && BOOST_PP_ITERATION_START_2 >= 77
-# define BOOST_PP_ITERATION_2 77
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 76 && BOOST_PP_ITERATION_START_2 >= 76
-# define BOOST_PP_ITERATION_2 76
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 75 && BOOST_PP_ITERATION_START_2 >= 75
-# define BOOST_PP_ITERATION_2 75
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 74 && BOOST_PP_ITERATION_START_2 >= 74
-# define BOOST_PP_ITERATION_2 74
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 73 && BOOST_PP_ITERATION_START_2 >= 73
-# define BOOST_PP_ITERATION_2 73
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 72 && BOOST_PP_ITERATION_START_2 >= 72
-# define BOOST_PP_ITERATION_2 72
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 71 && BOOST_PP_ITERATION_START_2 >= 71
-# define BOOST_PP_ITERATION_2 71
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 70 && BOOST_PP_ITERATION_START_2 >= 70
-# define BOOST_PP_ITERATION_2 70
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 69 && BOOST_PP_ITERATION_START_2 >= 69
-# define BOOST_PP_ITERATION_2 69
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 68 && BOOST_PP_ITERATION_START_2 >= 68
-# define BOOST_PP_ITERATION_2 68
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 67 && BOOST_PP_ITERATION_START_2 >= 67
-# define BOOST_PP_ITERATION_2 67
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 66 && BOOST_PP_ITERATION_START_2 >= 66
-# define BOOST_PP_ITERATION_2 66
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 65 && BOOST_PP_ITERATION_START_2 >= 65
-# define BOOST_PP_ITERATION_2 65
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 64 && BOOST_PP_ITERATION_START_2 >= 64
-# define BOOST_PP_ITERATION_2 64
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 63 && BOOST_PP_ITERATION_START_2 >= 63
-# define BOOST_PP_ITERATION_2 63
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 62 && BOOST_PP_ITERATION_START_2 >= 62
-# define BOOST_PP_ITERATION_2 62
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 61 && BOOST_PP_ITERATION_START_2 >= 61
-# define BOOST_PP_ITERATION_2 61
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 60 && BOOST_PP_ITERATION_START_2 >= 60
-# define BOOST_PP_ITERATION_2 60
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 59 && BOOST_PP_ITERATION_START_2 >= 59
-# define BOOST_PP_ITERATION_2 59
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 58 && BOOST_PP_ITERATION_START_2 >= 58
-# define BOOST_PP_ITERATION_2 58
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 57 && BOOST_PP_ITERATION_START_2 >= 57
-# define BOOST_PP_ITERATION_2 57
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 56 && BOOST_PP_ITERATION_START_2 >= 56
-# define BOOST_PP_ITERATION_2 56
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 55 && BOOST_PP_ITERATION_START_2 >= 55
-# define BOOST_PP_ITERATION_2 55
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 54 && BOOST_PP_ITERATION_START_2 >= 54
-# define BOOST_PP_ITERATION_2 54
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 53 && BOOST_PP_ITERATION_START_2 >= 53
-# define BOOST_PP_ITERATION_2 53
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 52 && BOOST_PP_ITERATION_START_2 >= 52
-# define BOOST_PP_ITERATION_2 52
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 51 && BOOST_PP_ITERATION_START_2 >= 51
-# define BOOST_PP_ITERATION_2 51
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 50 && BOOST_PP_ITERATION_START_2 >= 50
-# define BOOST_PP_ITERATION_2 50
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 49 && BOOST_PP_ITERATION_START_2 >= 49
-# define BOOST_PP_ITERATION_2 49
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 48 && BOOST_PP_ITERATION_START_2 >= 48
-# define BOOST_PP_ITERATION_2 48
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 47 && BOOST_PP_ITERATION_START_2 >= 47
-# define BOOST_PP_ITERATION_2 47
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 46 && BOOST_PP_ITERATION_START_2 >= 46
-# define BOOST_PP_ITERATION_2 46
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 45 && BOOST_PP_ITERATION_START_2 >= 45
-# define BOOST_PP_ITERATION_2 45
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 44 && BOOST_PP_ITERATION_START_2 >= 44
-# define BOOST_PP_ITERATION_2 44
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 43 && BOOST_PP_ITERATION_START_2 >= 43
-# define BOOST_PP_ITERATION_2 43
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 42 && BOOST_PP_ITERATION_START_2 >= 42
-# define BOOST_PP_ITERATION_2 42
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 41 && BOOST_PP_ITERATION_START_2 >= 41
-# define BOOST_PP_ITERATION_2 41
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 40 && BOOST_PP_ITERATION_START_2 >= 40
-# define BOOST_PP_ITERATION_2 40
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 39 && BOOST_PP_ITERATION_START_2 >= 39
-# define BOOST_PP_ITERATION_2 39
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 38 && BOOST_PP_ITERATION_START_2 >= 38
-# define BOOST_PP_ITERATION_2 38
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 37 && BOOST_PP_ITERATION_START_2 >= 37
-# define BOOST_PP_ITERATION_2 37
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 36 && BOOST_PP_ITERATION_START_2 >= 36
-# define BOOST_PP_ITERATION_2 36
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 35 && BOOST_PP_ITERATION_START_2 >= 35
-# define BOOST_PP_ITERATION_2 35
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 34 && BOOST_PP_ITERATION_START_2 >= 34
-# define BOOST_PP_ITERATION_2 34
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 33 && BOOST_PP_ITERATION_START_2 >= 33
-# define BOOST_PP_ITERATION_2 33
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 32 && BOOST_PP_ITERATION_START_2 >= 32
-# define BOOST_PP_ITERATION_2 32
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 31 && BOOST_PP_ITERATION_START_2 >= 31
-# define BOOST_PP_ITERATION_2 31
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 30 && BOOST_PP_ITERATION_START_2 >= 30
-# define BOOST_PP_ITERATION_2 30
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 29 && BOOST_PP_ITERATION_START_2 >= 29
-# define BOOST_PP_ITERATION_2 29
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 28 && BOOST_PP_ITERATION_START_2 >= 28
-# define BOOST_PP_ITERATION_2 28
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 27 && BOOST_PP_ITERATION_START_2 >= 27
-# define BOOST_PP_ITERATION_2 27
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 26 && BOOST_PP_ITERATION_START_2 >= 26
-# define BOOST_PP_ITERATION_2 26
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 25 && BOOST_PP_ITERATION_START_2 >= 25
-# define BOOST_PP_ITERATION_2 25
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 24 && BOOST_PP_ITERATION_START_2 >= 24
-# define BOOST_PP_ITERATION_2 24
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 23 && BOOST_PP_ITERATION_START_2 >= 23
-# define BOOST_PP_ITERATION_2 23
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 22 && BOOST_PP_ITERATION_START_2 >= 22
-# define BOOST_PP_ITERATION_2 22
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 21 && BOOST_PP_ITERATION_START_2 >= 21
-# define BOOST_PP_ITERATION_2 21
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 20 && BOOST_PP_ITERATION_START_2 >= 20
-# define BOOST_PP_ITERATION_2 20
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 19 && BOOST_PP_ITERATION_START_2 >= 19
-# define BOOST_PP_ITERATION_2 19
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 18 && BOOST_PP_ITERATION_START_2 >= 18
-# define BOOST_PP_ITERATION_2 18
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 17 && BOOST_PP_ITERATION_START_2 >= 17
-# define BOOST_PP_ITERATION_2 17
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 16 && BOOST_PP_ITERATION_START_2 >= 16
-# define BOOST_PP_ITERATION_2 16
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 15 && BOOST_PP_ITERATION_START_2 >= 15
-# define BOOST_PP_ITERATION_2 15
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 14 && BOOST_PP_ITERATION_START_2 >= 14
-# define BOOST_PP_ITERATION_2 14
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 13 && BOOST_PP_ITERATION_START_2 >= 13
-# define BOOST_PP_ITERATION_2 13
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 12 && BOOST_PP_ITERATION_START_2 >= 12
-# define BOOST_PP_ITERATION_2 12
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 11 && BOOST_PP_ITERATION_START_2 >= 11
-# define BOOST_PP_ITERATION_2 11
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 10 && BOOST_PP_ITERATION_START_2 >= 10
-# define BOOST_PP_ITERATION_2 10
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 9 && BOOST_PP_ITERATION_START_2 >= 9
-# define BOOST_PP_ITERATION_2 9
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 8 && BOOST_PP_ITERATION_START_2 >= 8
-# define BOOST_PP_ITERATION_2 8
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 7 && BOOST_PP_ITERATION_START_2 >= 7
-# define BOOST_PP_ITERATION_2 7
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 6 && BOOST_PP_ITERATION_START_2 >= 6
-# define BOOST_PP_ITERATION_2 6
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 5 && BOOST_PP_ITERATION_START_2 >= 5
-# define BOOST_PP_ITERATION_2 5
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 4 && BOOST_PP_ITERATION_START_2 >= 4
-# define BOOST_PP_ITERATION_2 4
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 3 && BOOST_PP_ITERATION_START_2 >= 3
-# define BOOST_PP_ITERATION_2 3
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 2 && BOOST_PP_ITERATION_START_2 >= 2
-# define BOOST_PP_ITERATION_2 2
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 1 && BOOST_PP_ITERATION_START_2 >= 1
-# define BOOST_PP_ITERATION_2 1
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
-# if BOOST_PP_ITERATION_FINISH_2 <= 0 && BOOST_PP_ITERATION_START_2 >= 0
-# define BOOST_PP_ITERATION_2 0
-# include BOOST_PP_FILENAME_2
-# undef BOOST_PP_ITERATION_2
-# endif
diff --git a/boost/preprocessor/iteration/detail/iter/reverse3.hpp b/boost/preprocessor/iteration/detail/iter/reverse3.hpp
deleted file mode 100644
index 0a65514..0000000
--- a/boost/preprocessor/iteration/detail/iter/reverse3.hpp
+++ /dev/null
@@ -1,1296 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# if BOOST_PP_ITERATION_FINISH_3 <= 256 && BOOST_PP_ITERATION_START_3 >= 256
-# define BOOST_PP_ITERATION_3 256
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 255 && BOOST_PP_ITERATION_START_3 >= 255
-# define BOOST_PP_ITERATION_3 255
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 254 && BOOST_PP_ITERATION_START_3 >= 254
-# define BOOST_PP_ITERATION_3 254
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 253 && BOOST_PP_ITERATION_START_3 >= 253
-# define BOOST_PP_ITERATION_3 253
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 252 && BOOST_PP_ITERATION_START_3 >= 252
-# define BOOST_PP_ITERATION_3 252
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 251 && BOOST_PP_ITERATION_START_3 >= 251
-# define BOOST_PP_ITERATION_3 251
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 250 && BOOST_PP_ITERATION_START_3 >= 250
-# define BOOST_PP_ITERATION_3 250
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 249 && BOOST_PP_ITERATION_START_3 >= 249
-# define BOOST_PP_ITERATION_3 249
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 248 && BOOST_PP_ITERATION_START_3 >= 248
-# define BOOST_PP_ITERATION_3 248
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 247 && BOOST_PP_ITERATION_START_3 >= 247
-# define BOOST_PP_ITERATION_3 247
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 246 && BOOST_PP_ITERATION_START_3 >= 246
-# define BOOST_PP_ITERATION_3 246
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 245 && BOOST_PP_ITERATION_START_3 >= 245
-# define BOOST_PP_ITERATION_3 245
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 244 && BOOST_PP_ITERATION_START_3 >= 244
-# define BOOST_PP_ITERATION_3 244
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 243 && BOOST_PP_ITERATION_START_3 >= 243
-# define BOOST_PP_ITERATION_3 243
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 242 && BOOST_PP_ITERATION_START_3 >= 242
-# define BOOST_PP_ITERATION_3 242
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 241 && BOOST_PP_ITERATION_START_3 >= 241
-# define BOOST_PP_ITERATION_3 241
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 240 && BOOST_PP_ITERATION_START_3 >= 240
-# define BOOST_PP_ITERATION_3 240
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 239 && BOOST_PP_ITERATION_START_3 >= 239
-# define BOOST_PP_ITERATION_3 239
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 238 && BOOST_PP_ITERATION_START_3 >= 238
-# define BOOST_PP_ITERATION_3 238
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 237 && BOOST_PP_ITERATION_START_3 >= 237
-# define BOOST_PP_ITERATION_3 237
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 236 && BOOST_PP_ITERATION_START_3 >= 236
-# define BOOST_PP_ITERATION_3 236
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 235 && BOOST_PP_ITERATION_START_3 >= 235
-# define BOOST_PP_ITERATION_3 235
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 234 && BOOST_PP_ITERATION_START_3 >= 234
-# define BOOST_PP_ITERATION_3 234
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 233 && BOOST_PP_ITERATION_START_3 >= 233
-# define BOOST_PP_ITERATION_3 233
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 232 && BOOST_PP_ITERATION_START_3 >= 232
-# define BOOST_PP_ITERATION_3 232
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 231 && BOOST_PP_ITERATION_START_3 >= 231
-# define BOOST_PP_ITERATION_3 231
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 230 && BOOST_PP_ITERATION_START_3 >= 230
-# define BOOST_PP_ITERATION_3 230
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 229 && BOOST_PP_ITERATION_START_3 >= 229
-# define BOOST_PP_ITERATION_3 229
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 228 && BOOST_PP_ITERATION_START_3 >= 228
-# define BOOST_PP_ITERATION_3 228
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 227 && BOOST_PP_ITERATION_START_3 >= 227
-# define BOOST_PP_ITERATION_3 227
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 226 && BOOST_PP_ITERATION_START_3 >= 226
-# define BOOST_PP_ITERATION_3 226
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 225 && BOOST_PP_ITERATION_START_3 >= 225
-# define BOOST_PP_ITERATION_3 225
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 224 && BOOST_PP_ITERATION_START_3 >= 224
-# define BOOST_PP_ITERATION_3 224
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 223 && BOOST_PP_ITERATION_START_3 >= 223
-# define BOOST_PP_ITERATION_3 223
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 222 && BOOST_PP_ITERATION_START_3 >= 222
-# define BOOST_PP_ITERATION_3 222
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 221 && BOOST_PP_ITERATION_START_3 >= 221
-# define BOOST_PP_ITERATION_3 221
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 220 && BOOST_PP_ITERATION_START_3 >= 220
-# define BOOST_PP_ITERATION_3 220
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 219 && BOOST_PP_ITERATION_START_3 >= 219
-# define BOOST_PP_ITERATION_3 219
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 218 && BOOST_PP_ITERATION_START_3 >= 218
-# define BOOST_PP_ITERATION_3 218
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 217 && BOOST_PP_ITERATION_START_3 >= 217
-# define BOOST_PP_ITERATION_3 217
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 216 && BOOST_PP_ITERATION_START_3 >= 216
-# define BOOST_PP_ITERATION_3 216
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 215 && BOOST_PP_ITERATION_START_3 >= 215
-# define BOOST_PP_ITERATION_3 215
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 214 && BOOST_PP_ITERATION_START_3 >= 214
-# define BOOST_PP_ITERATION_3 214
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 213 && BOOST_PP_ITERATION_START_3 >= 213
-# define BOOST_PP_ITERATION_3 213
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 212 && BOOST_PP_ITERATION_START_3 >= 212
-# define BOOST_PP_ITERATION_3 212
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 211 && BOOST_PP_ITERATION_START_3 >= 211
-# define BOOST_PP_ITERATION_3 211
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 210 && BOOST_PP_ITERATION_START_3 >= 210
-# define BOOST_PP_ITERATION_3 210
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 209 && BOOST_PP_ITERATION_START_3 >= 209
-# define BOOST_PP_ITERATION_3 209
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 208 && BOOST_PP_ITERATION_START_3 >= 208
-# define BOOST_PP_ITERATION_3 208
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 207 && BOOST_PP_ITERATION_START_3 >= 207
-# define BOOST_PP_ITERATION_3 207
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 206 && BOOST_PP_ITERATION_START_3 >= 206
-# define BOOST_PP_ITERATION_3 206
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 205 && BOOST_PP_ITERATION_START_3 >= 205
-# define BOOST_PP_ITERATION_3 205
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 204 && BOOST_PP_ITERATION_START_3 >= 204
-# define BOOST_PP_ITERATION_3 204
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 203 && BOOST_PP_ITERATION_START_3 >= 203
-# define BOOST_PP_ITERATION_3 203
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 202 && BOOST_PP_ITERATION_START_3 >= 202
-# define BOOST_PP_ITERATION_3 202
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 201 && BOOST_PP_ITERATION_START_3 >= 201
-# define BOOST_PP_ITERATION_3 201
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 200 && BOOST_PP_ITERATION_START_3 >= 200
-# define BOOST_PP_ITERATION_3 200
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 199 && BOOST_PP_ITERATION_START_3 >= 199
-# define BOOST_PP_ITERATION_3 199
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 198 && BOOST_PP_ITERATION_START_3 >= 198
-# define BOOST_PP_ITERATION_3 198
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 197 && BOOST_PP_ITERATION_START_3 >= 197
-# define BOOST_PP_ITERATION_3 197
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 196 && BOOST_PP_ITERATION_START_3 >= 196
-# define BOOST_PP_ITERATION_3 196
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 195 && BOOST_PP_ITERATION_START_3 >= 195
-# define BOOST_PP_ITERATION_3 195
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 194 && BOOST_PP_ITERATION_START_3 >= 194
-# define BOOST_PP_ITERATION_3 194
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 193 && BOOST_PP_ITERATION_START_3 >= 193
-# define BOOST_PP_ITERATION_3 193
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 192 && BOOST_PP_ITERATION_START_3 >= 192
-# define BOOST_PP_ITERATION_3 192
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 191 && BOOST_PP_ITERATION_START_3 >= 191
-# define BOOST_PP_ITERATION_3 191
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 190 && BOOST_PP_ITERATION_START_3 >= 190
-# define BOOST_PP_ITERATION_3 190
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 189 && BOOST_PP_ITERATION_START_3 >= 189
-# define BOOST_PP_ITERATION_3 189
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 188 && BOOST_PP_ITERATION_START_3 >= 188
-# define BOOST_PP_ITERATION_3 188
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 187 && BOOST_PP_ITERATION_START_3 >= 187
-# define BOOST_PP_ITERATION_3 187
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 186 && BOOST_PP_ITERATION_START_3 >= 186
-# define BOOST_PP_ITERATION_3 186
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 185 && BOOST_PP_ITERATION_START_3 >= 185
-# define BOOST_PP_ITERATION_3 185
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 184 && BOOST_PP_ITERATION_START_3 >= 184
-# define BOOST_PP_ITERATION_3 184
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 183 && BOOST_PP_ITERATION_START_3 >= 183
-# define BOOST_PP_ITERATION_3 183
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 182 && BOOST_PP_ITERATION_START_3 >= 182
-# define BOOST_PP_ITERATION_3 182
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 181 && BOOST_PP_ITERATION_START_3 >= 181
-# define BOOST_PP_ITERATION_3 181
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 180 && BOOST_PP_ITERATION_START_3 >= 180
-# define BOOST_PP_ITERATION_3 180
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 179 && BOOST_PP_ITERATION_START_3 >= 179
-# define BOOST_PP_ITERATION_3 179
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 178 && BOOST_PP_ITERATION_START_3 >= 178
-# define BOOST_PP_ITERATION_3 178
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 177 && BOOST_PP_ITERATION_START_3 >= 177
-# define BOOST_PP_ITERATION_3 177
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 176 && BOOST_PP_ITERATION_START_3 >= 176
-# define BOOST_PP_ITERATION_3 176
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 175 && BOOST_PP_ITERATION_START_3 >= 175
-# define BOOST_PP_ITERATION_3 175
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 174 && BOOST_PP_ITERATION_START_3 >= 174
-# define BOOST_PP_ITERATION_3 174
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 173 && BOOST_PP_ITERATION_START_3 >= 173
-# define BOOST_PP_ITERATION_3 173
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 172 && BOOST_PP_ITERATION_START_3 >= 172
-# define BOOST_PP_ITERATION_3 172
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 171 && BOOST_PP_ITERATION_START_3 >= 171
-# define BOOST_PP_ITERATION_3 171
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 170 && BOOST_PP_ITERATION_START_3 >= 170
-# define BOOST_PP_ITERATION_3 170
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 169 && BOOST_PP_ITERATION_START_3 >= 169
-# define BOOST_PP_ITERATION_3 169
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 168 && BOOST_PP_ITERATION_START_3 >= 168
-# define BOOST_PP_ITERATION_3 168
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 167 && BOOST_PP_ITERATION_START_3 >= 167
-# define BOOST_PP_ITERATION_3 167
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 166 && BOOST_PP_ITERATION_START_3 >= 166
-# define BOOST_PP_ITERATION_3 166
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 165 && BOOST_PP_ITERATION_START_3 >= 165
-# define BOOST_PP_ITERATION_3 165
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 164 && BOOST_PP_ITERATION_START_3 >= 164
-# define BOOST_PP_ITERATION_3 164
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 163 && BOOST_PP_ITERATION_START_3 >= 163
-# define BOOST_PP_ITERATION_3 163
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 162 && BOOST_PP_ITERATION_START_3 >= 162
-# define BOOST_PP_ITERATION_3 162
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 161 && BOOST_PP_ITERATION_START_3 >= 161
-# define BOOST_PP_ITERATION_3 161
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 160 && BOOST_PP_ITERATION_START_3 >= 160
-# define BOOST_PP_ITERATION_3 160
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 159 && BOOST_PP_ITERATION_START_3 >= 159
-# define BOOST_PP_ITERATION_3 159
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 158 && BOOST_PP_ITERATION_START_3 >= 158
-# define BOOST_PP_ITERATION_3 158
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 157 && BOOST_PP_ITERATION_START_3 >= 157
-# define BOOST_PP_ITERATION_3 157
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 156 && BOOST_PP_ITERATION_START_3 >= 156
-# define BOOST_PP_ITERATION_3 156
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 155 && BOOST_PP_ITERATION_START_3 >= 155
-# define BOOST_PP_ITERATION_3 155
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 154 && BOOST_PP_ITERATION_START_3 >= 154
-# define BOOST_PP_ITERATION_3 154
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 153 && BOOST_PP_ITERATION_START_3 >= 153
-# define BOOST_PP_ITERATION_3 153
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 152 && BOOST_PP_ITERATION_START_3 >= 152
-# define BOOST_PP_ITERATION_3 152
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 151 && BOOST_PP_ITERATION_START_3 >= 151
-# define BOOST_PP_ITERATION_3 151
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 150 && BOOST_PP_ITERATION_START_3 >= 150
-# define BOOST_PP_ITERATION_3 150
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 149 && BOOST_PP_ITERATION_START_3 >= 149
-# define BOOST_PP_ITERATION_3 149
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 148 && BOOST_PP_ITERATION_START_3 >= 148
-# define BOOST_PP_ITERATION_3 148
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 147 && BOOST_PP_ITERATION_START_3 >= 147
-# define BOOST_PP_ITERATION_3 147
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 146 && BOOST_PP_ITERATION_START_3 >= 146
-# define BOOST_PP_ITERATION_3 146
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 145 && BOOST_PP_ITERATION_START_3 >= 145
-# define BOOST_PP_ITERATION_3 145
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 144 && BOOST_PP_ITERATION_START_3 >= 144
-# define BOOST_PP_ITERATION_3 144
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 143 && BOOST_PP_ITERATION_START_3 >= 143
-# define BOOST_PP_ITERATION_3 143
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 142 && BOOST_PP_ITERATION_START_3 >= 142
-# define BOOST_PP_ITERATION_3 142
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 141 && BOOST_PP_ITERATION_START_3 >= 141
-# define BOOST_PP_ITERATION_3 141
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 140 && BOOST_PP_ITERATION_START_3 >= 140
-# define BOOST_PP_ITERATION_3 140
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 139 && BOOST_PP_ITERATION_START_3 >= 139
-# define BOOST_PP_ITERATION_3 139
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 138 && BOOST_PP_ITERATION_START_3 >= 138
-# define BOOST_PP_ITERATION_3 138
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 137 && BOOST_PP_ITERATION_START_3 >= 137
-# define BOOST_PP_ITERATION_3 137
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 136 && BOOST_PP_ITERATION_START_3 >= 136
-# define BOOST_PP_ITERATION_3 136
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 135 && BOOST_PP_ITERATION_START_3 >= 135
-# define BOOST_PP_ITERATION_3 135
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 134 && BOOST_PP_ITERATION_START_3 >= 134
-# define BOOST_PP_ITERATION_3 134
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 133 && BOOST_PP_ITERATION_START_3 >= 133
-# define BOOST_PP_ITERATION_3 133
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 132 && BOOST_PP_ITERATION_START_3 >= 132
-# define BOOST_PP_ITERATION_3 132
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 131 && BOOST_PP_ITERATION_START_3 >= 131
-# define BOOST_PP_ITERATION_3 131
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 130 && BOOST_PP_ITERATION_START_3 >= 130
-# define BOOST_PP_ITERATION_3 130
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 129 && BOOST_PP_ITERATION_START_3 >= 129
-# define BOOST_PP_ITERATION_3 129
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 128 && BOOST_PP_ITERATION_START_3 >= 128
-# define BOOST_PP_ITERATION_3 128
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 127 && BOOST_PP_ITERATION_START_3 >= 127
-# define BOOST_PP_ITERATION_3 127
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 126 && BOOST_PP_ITERATION_START_3 >= 126
-# define BOOST_PP_ITERATION_3 126
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 125 && BOOST_PP_ITERATION_START_3 >= 125
-# define BOOST_PP_ITERATION_3 125
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 124 && BOOST_PP_ITERATION_START_3 >= 124
-# define BOOST_PP_ITERATION_3 124
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 123 && BOOST_PP_ITERATION_START_3 >= 123
-# define BOOST_PP_ITERATION_3 123
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 122 && BOOST_PP_ITERATION_START_3 >= 122
-# define BOOST_PP_ITERATION_3 122
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 121 && BOOST_PP_ITERATION_START_3 >= 121
-# define BOOST_PP_ITERATION_3 121
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 120 && BOOST_PP_ITERATION_START_3 >= 120
-# define BOOST_PP_ITERATION_3 120
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 119 && BOOST_PP_ITERATION_START_3 >= 119
-# define BOOST_PP_ITERATION_3 119
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 118 && BOOST_PP_ITERATION_START_3 >= 118
-# define BOOST_PP_ITERATION_3 118
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 117 && BOOST_PP_ITERATION_START_3 >= 117
-# define BOOST_PP_ITERATION_3 117
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 116 && BOOST_PP_ITERATION_START_3 >= 116
-# define BOOST_PP_ITERATION_3 116
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 115 && BOOST_PP_ITERATION_START_3 >= 115
-# define BOOST_PP_ITERATION_3 115
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 114 && BOOST_PP_ITERATION_START_3 >= 114
-# define BOOST_PP_ITERATION_3 114
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 113 && BOOST_PP_ITERATION_START_3 >= 113
-# define BOOST_PP_ITERATION_3 113
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 112 && BOOST_PP_ITERATION_START_3 >= 112
-# define BOOST_PP_ITERATION_3 112
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 111 && BOOST_PP_ITERATION_START_3 >= 111
-# define BOOST_PP_ITERATION_3 111
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 110 && BOOST_PP_ITERATION_START_3 >= 110
-# define BOOST_PP_ITERATION_3 110
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 109 && BOOST_PP_ITERATION_START_3 >= 109
-# define BOOST_PP_ITERATION_3 109
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 108 && BOOST_PP_ITERATION_START_3 >= 108
-# define BOOST_PP_ITERATION_3 108
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 107 && BOOST_PP_ITERATION_START_3 >= 107
-# define BOOST_PP_ITERATION_3 107
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 106 && BOOST_PP_ITERATION_START_3 >= 106
-# define BOOST_PP_ITERATION_3 106
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 105 && BOOST_PP_ITERATION_START_3 >= 105
-# define BOOST_PP_ITERATION_3 105
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 104 && BOOST_PP_ITERATION_START_3 >= 104
-# define BOOST_PP_ITERATION_3 104
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 103 && BOOST_PP_ITERATION_START_3 >= 103
-# define BOOST_PP_ITERATION_3 103
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 102 && BOOST_PP_ITERATION_START_3 >= 102
-# define BOOST_PP_ITERATION_3 102
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 101 && BOOST_PP_ITERATION_START_3 >= 101
-# define BOOST_PP_ITERATION_3 101
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 100 && BOOST_PP_ITERATION_START_3 >= 100
-# define BOOST_PP_ITERATION_3 100
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 99 && BOOST_PP_ITERATION_START_3 >= 99
-# define BOOST_PP_ITERATION_3 99
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 98 && BOOST_PP_ITERATION_START_3 >= 98
-# define BOOST_PP_ITERATION_3 98
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 97 && BOOST_PP_ITERATION_START_3 >= 97
-# define BOOST_PP_ITERATION_3 97
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 96 && BOOST_PP_ITERATION_START_3 >= 96
-# define BOOST_PP_ITERATION_3 96
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 95 && BOOST_PP_ITERATION_START_3 >= 95
-# define BOOST_PP_ITERATION_3 95
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 94 && BOOST_PP_ITERATION_START_3 >= 94
-# define BOOST_PP_ITERATION_3 94
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 93 && BOOST_PP_ITERATION_START_3 >= 93
-# define BOOST_PP_ITERATION_3 93
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 92 && BOOST_PP_ITERATION_START_3 >= 92
-# define BOOST_PP_ITERATION_3 92
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 91 && BOOST_PP_ITERATION_START_3 >= 91
-# define BOOST_PP_ITERATION_3 91
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 90 && BOOST_PP_ITERATION_START_3 >= 90
-# define BOOST_PP_ITERATION_3 90
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 89 && BOOST_PP_ITERATION_START_3 >= 89
-# define BOOST_PP_ITERATION_3 89
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 88 && BOOST_PP_ITERATION_START_3 >= 88
-# define BOOST_PP_ITERATION_3 88
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 87 && BOOST_PP_ITERATION_START_3 >= 87
-# define BOOST_PP_ITERATION_3 87
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 86 && BOOST_PP_ITERATION_START_3 >= 86
-# define BOOST_PP_ITERATION_3 86
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 85 && BOOST_PP_ITERATION_START_3 >= 85
-# define BOOST_PP_ITERATION_3 85
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 84 && BOOST_PP_ITERATION_START_3 >= 84
-# define BOOST_PP_ITERATION_3 84
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 83 && BOOST_PP_ITERATION_START_3 >= 83
-# define BOOST_PP_ITERATION_3 83
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 82 && BOOST_PP_ITERATION_START_3 >= 82
-# define BOOST_PP_ITERATION_3 82
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 81 && BOOST_PP_ITERATION_START_3 >= 81
-# define BOOST_PP_ITERATION_3 81
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 80 && BOOST_PP_ITERATION_START_3 >= 80
-# define BOOST_PP_ITERATION_3 80
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 79 && BOOST_PP_ITERATION_START_3 >= 79
-# define BOOST_PP_ITERATION_3 79
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 78 && BOOST_PP_ITERATION_START_3 >= 78
-# define BOOST_PP_ITERATION_3 78
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 77 && BOOST_PP_ITERATION_START_3 >= 77
-# define BOOST_PP_ITERATION_3 77
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 76 && BOOST_PP_ITERATION_START_3 >= 76
-# define BOOST_PP_ITERATION_3 76
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 75 && BOOST_PP_ITERATION_START_3 >= 75
-# define BOOST_PP_ITERATION_3 75
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 74 && BOOST_PP_ITERATION_START_3 >= 74
-# define BOOST_PP_ITERATION_3 74
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 73 && BOOST_PP_ITERATION_START_3 >= 73
-# define BOOST_PP_ITERATION_3 73
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 72 && BOOST_PP_ITERATION_START_3 >= 72
-# define BOOST_PP_ITERATION_3 72
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 71 && BOOST_PP_ITERATION_START_3 >= 71
-# define BOOST_PP_ITERATION_3 71
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 70 && BOOST_PP_ITERATION_START_3 >= 70
-# define BOOST_PP_ITERATION_3 70
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 69 && BOOST_PP_ITERATION_START_3 >= 69
-# define BOOST_PP_ITERATION_3 69
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 68 && BOOST_PP_ITERATION_START_3 >= 68
-# define BOOST_PP_ITERATION_3 68
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 67 && BOOST_PP_ITERATION_START_3 >= 67
-# define BOOST_PP_ITERATION_3 67
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 66 && BOOST_PP_ITERATION_START_3 >= 66
-# define BOOST_PP_ITERATION_3 66
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 65 && BOOST_PP_ITERATION_START_3 >= 65
-# define BOOST_PP_ITERATION_3 65
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 64 && BOOST_PP_ITERATION_START_3 >= 64
-# define BOOST_PP_ITERATION_3 64
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 63 && BOOST_PP_ITERATION_START_3 >= 63
-# define BOOST_PP_ITERATION_3 63
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 62 && BOOST_PP_ITERATION_START_3 >= 62
-# define BOOST_PP_ITERATION_3 62
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 61 && BOOST_PP_ITERATION_START_3 >= 61
-# define BOOST_PP_ITERATION_3 61
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 60 && BOOST_PP_ITERATION_START_3 >= 60
-# define BOOST_PP_ITERATION_3 60
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 59 && BOOST_PP_ITERATION_START_3 >= 59
-# define BOOST_PP_ITERATION_3 59
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 58 && BOOST_PP_ITERATION_START_3 >= 58
-# define BOOST_PP_ITERATION_3 58
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 57 && BOOST_PP_ITERATION_START_3 >= 57
-# define BOOST_PP_ITERATION_3 57
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 56 && BOOST_PP_ITERATION_START_3 >= 56
-# define BOOST_PP_ITERATION_3 56
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 55 && BOOST_PP_ITERATION_START_3 >= 55
-# define BOOST_PP_ITERATION_3 55
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 54 && BOOST_PP_ITERATION_START_3 >= 54
-# define BOOST_PP_ITERATION_3 54
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 53 && BOOST_PP_ITERATION_START_3 >= 53
-# define BOOST_PP_ITERATION_3 53
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 52 && BOOST_PP_ITERATION_START_3 >= 52
-# define BOOST_PP_ITERATION_3 52
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 51 && BOOST_PP_ITERATION_START_3 >= 51
-# define BOOST_PP_ITERATION_3 51
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 50 && BOOST_PP_ITERATION_START_3 >= 50
-# define BOOST_PP_ITERATION_3 50
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 49 && BOOST_PP_ITERATION_START_3 >= 49
-# define BOOST_PP_ITERATION_3 49
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 48 && BOOST_PP_ITERATION_START_3 >= 48
-# define BOOST_PP_ITERATION_3 48
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 47 && BOOST_PP_ITERATION_START_3 >= 47
-# define BOOST_PP_ITERATION_3 47
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 46 && BOOST_PP_ITERATION_START_3 >= 46
-# define BOOST_PP_ITERATION_3 46
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 45 && BOOST_PP_ITERATION_START_3 >= 45
-# define BOOST_PP_ITERATION_3 45
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 44 && BOOST_PP_ITERATION_START_3 >= 44
-# define BOOST_PP_ITERATION_3 44
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 43 && BOOST_PP_ITERATION_START_3 >= 43
-# define BOOST_PP_ITERATION_3 43
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 42 && BOOST_PP_ITERATION_START_3 >= 42
-# define BOOST_PP_ITERATION_3 42
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 41 && BOOST_PP_ITERATION_START_3 >= 41
-# define BOOST_PP_ITERATION_3 41
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 40 && BOOST_PP_ITERATION_START_3 >= 40
-# define BOOST_PP_ITERATION_3 40
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 39 && BOOST_PP_ITERATION_START_3 >= 39
-# define BOOST_PP_ITERATION_3 39
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 38 && BOOST_PP_ITERATION_START_3 >= 38
-# define BOOST_PP_ITERATION_3 38
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 37 && BOOST_PP_ITERATION_START_3 >= 37
-# define BOOST_PP_ITERATION_3 37
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 36 && BOOST_PP_ITERATION_START_3 >= 36
-# define BOOST_PP_ITERATION_3 36
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 35 && BOOST_PP_ITERATION_START_3 >= 35
-# define BOOST_PP_ITERATION_3 35
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 34 && BOOST_PP_ITERATION_START_3 >= 34
-# define BOOST_PP_ITERATION_3 34
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 33 && BOOST_PP_ITERATION_START_3 >= 33
-# define BOOST_PP_ITERATION_3 33
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 32 && BOOST_PP_ITERATION_START_3 >= 32
-# define BOOST_PP_ITERATION_3 32
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 31 && BOOST_PP_ITERATION_START_3 >= 31
-# define BOOST_PP_ITERATION_3 31
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 30 && BOOST_PP_ITERATION_START_3 >= 30
-# define BOOST_PP_ITERATION_3 30
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 29 && BOOST_PP_ITERATION_START_3 >= 29
-# define BOOST_PP_ITERATION_3 29
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 28 && BOOST_PP_ITERATION_START_3 >= 28
-# define BOOST_PP_ITERATION_3 28
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 27 && BOOST_PP_ITERATION_START_3 >= 27
-# define BOOST_PP_ITERATION_3 27
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 26 && BOOST_PP_ITERATION_START_3 >= 26
-# define BOOST_PP_ITERATION_3 26
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 25 && BOOST_PP_ITERATION_START_3 >= 25
-# define BOOST_PP_ITERATION_3 25
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 24 && BOOST_PP_ITERATION_START_3 >= 24
-# define BOOST_PP_ITERATION_3 24
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 23 && BOOST_PP_ITERATION_START_3 >= 23
-# define BOOST_PP_ITERATION_3 23
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 22 && BOOST_PP_ITERATION_START_3 >= 22
-# define BOOST_PP_ITERATION_3 22
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 21 && BOOST_PP_ITERATION_START_3 >= 21
-# define BOOST_PP_ITERATION_3 21
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 20 && BOOST_PP_ITERATION_START_3 >= 20
-# define BOOST_PP_ITERATION_3 20
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 19 && BOOST_PP_ITERATION_START_3 >= 19
-# define BOOST_PP_ITERATION_3 19
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 18 && BOOST_PP_ITERATION_START_3 >= 18
-# define BOOST_PP_ITERATION_3 18
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 17 && BOOST_PP_ITERATION_START_3 >= 17
-# define BOOST_PP_ITERATION_3 17
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 16 && BOOST_PP_ITERATION_START_3 >= 16
-# define BOOST_PP_ITERATION_3 16
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 15 && BOOST_PP_ITERATION_START_3 >= 15
-# define BOOST_PP_ITERATION_3 15
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 14 && BOOST_PP_ITERATION_START_3 >= 14
-# define BOOST_PP_ITERATION_3 14
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 13 && BOOST_PP_ITERATION_START_3 >= 13
-# define BOOST_PP_ITERATION_3 13
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 12 && BOOST_PP_ITERATION_START_3 >= 12
-# define BOOST_PP_ITERATION_3 12
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 11 && BOOST_PP_ITERATION_START_3 >= 11
-# define BOOST_PP_ITERATION_3 11
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 10 && BOOST_PP_ITERATION_START_3 >= 10
-# define BOOST_PP_ITERATION_3 10
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 9 && BOOST_PP_ITERATION_START_3 >= 9
-# define BOOST_PP_ITERATION_3 9
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 8 && BOOST_PP_ITERATION_START_3 >= 8
-# define BOOST_PP_ITERATION_3 8
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 7 && BOOST_PP_ITERATION_START_3 >= 7
-# define BOOST_PP_ITERATION_3 7
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 6 && BOOST_PP_ITERATION_START_3 >= 6
-# define BOOST_PP_ITERATION_3 6
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 5 && BOOST_PP_ITERATION_START_3 >= 5
-# define BOOST_PP_ITERATION_3 5
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 4 && BOOST_PP_ITERATION_START_3 >= 4
-# define BOOST_PP_ITERATION_3 4
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 3 && BOOST_PP_ITERATION_START_3 >= 3
-# define BOOST_PP_ITERATION_3 3
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 2 && BOOST_PP_ITERATION_START_3 >= 2
-# define BOOST_PP_ITERATION_3 2
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 1 && BOOST_PP_ITERATION_START_3 >= 1
-# define BOOST_PP_ITERATION_3 1
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
-# if BOOST_PP_ITERATION_FINISH_3 <= 0 && BOOST_PP_ITERATION_START_3 >= 0
-# define BOOST_PP_ITERATION_3 0
-# include BOOST_PP_FILENAME_3
-# undef BOOST_PP_ITERATION_3
-# endif
diff --git a/boost/preprocessor/iteration/detail/iter/reverse4.hpp b/boost/preprocessor/iteration/detail/iter/reverse4.hpp
deleted file mode 100644
index 3bcfba0..0000000
--- a/boost/preprocessor/iteration/detail/iter/reverse4.hpp
+++ /dev/null
@@ -1,1296 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# if BOOST_PP_ITERATION_FINISH_4 <= 256 && BOOST_PP_ITERATION_START_4 >= 256
-# define BOOST_PP_ITERATION_4 256
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 255 && BOOST_PP_ITERATION_START_4 >= 255
-# define BOOST_PP_ITERATION_4 255
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 254 && BOOST_PP_ITERATION_START_4 >= 254
-# define BOOST_PP_ITERATION_4 254
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 253 && BOOST_PP_ITERATION_START_4 >= 253
-# define BOOST_PP_ITERATION_4 253
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 252 && BOOST_PP_ITERATION_START_4 >= 252
-# define BOOST_PP_ITERATION_4 252
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 251 && BOOST_PP_ITERATION_START_4 >= 251
-# define BOOST_PP_ITERATION_4 251
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 250 && BOOST_PP_ITERATION_START_4 >= 250
-# define BOOST_PP_ITERATION_4 250
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 249 && BOOST_PP_ITERATION_START_4 >= 249
-# define BOOST_PP_ITERATION_4 249
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 248 && BOOST_PP_ITERATION_START_4 >= 248
-# define BOOST_PP_ITERATION_4 248
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 247 && BOOST_PP_ITERATION_START_4 >= 247
-# define BOOST_PP_ITERATION_4 247
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 246 && BOOST_PP_ITERATION_START_4 >= 246
-# define BOOST_PP_ITERATION_4 246
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 245 && BOOST_PP_ITERATION_START_4 >= 245
-# define BOOST_PP_ITERATION_4 245
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 244 && BOOST_PP_ITERATION_START_4 >= 244
-# define BOOST_PP_ITERATION_4 244
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 243 && BOOST_PP_ITERATION_START_4 >= 243
-# define BOOST_PP_ITERATION_4 243
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 242 && BOOST_PP_ITERATION_START_4 >= 242
-# define BOOST_PP_ITERATION_4 242
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 241 && BOOST_PP_ITERATION_START_4 >= 241
-# define BOOST_PP_ITERATION_4 241
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 240 && BOOST_PP_ITERATION_START_4 >= 240
-# define BOOST_PP_ITERATION_4 240
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 239 && BOOST_PP_ITERATION_START_4 >= 239
-# define BOOST_PP_ITERATION_4 239
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 238 && BOOST_PP_ITERATION_START_4 >= 238
-# define BOOST_PP_ITERATION_4 238
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 237 && BOOST_PP_ITERATION_START_4 >= 237
-# define BOOST_PP_ITERATION_4 237
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 236 && BOOST_PP_ITERATION_START_4 >= 236
-# define BOOST_PP_ITERATION_4 236
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 235 && BOOST_PP_ITERATION_START_4 >= 235
-# define BOOST_PP_ITERATION_4 235
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 234 && BOOST_PP_ITERATION_START_4 >= 234
-# define BOOST_PP_ITERATION_4 234
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 233 && BOOST_PP_ITERATION_START_4 >= 233
-# define BOOST_PP_ITERATION_4 233
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 232 && BOOST_PP_ITERATION_START_4 >= 232
-# define BOOST_PP_ITERATION_4 232
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 231 && BOOST_PP_ITERATION_START_4 >= 231
-# define BOOST_PP_ITERATION_4 231
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 230 && BOOST_PP_ITERATION_START_4 >= 230
-# define BOOST_PP_ITERATION_4 230
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 229 && BOOST_PP_ITERATION_START_4 >= 229
-# define BOOST_PP_ITERATION_4 229
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 228 && BOOST_PP_ITERATION_START_4 >= 228
-# define BOOST_PP_ITERATION_4 228
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 227 && BOOST_PP_ITERATION_START_4 >= 227
-# define BOOST_PP_ITERATION_4 227
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 226 && BOOST_PP_ITERATION_START_4 >= 226
-# define BOOST_PP_ITERATION_4 226
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 225 && BOOST_PP_ITERATION_START_4 >= 225
-# define BOOST_PP_ITERATION_4 225
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 224 && BOOST_PP_ITERATION_START_4 >= 224
-# define BOOST_PP_ITERATION_4 224
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 223 && BOOST_PP_ITERATION_START_4 >= 223
-# define BOOST_PP_ITERATION_4 223
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 222 && BOOST_PP_ITERATION_START_4 >= 222
-# define BOOST_PP_ITERATION_4 222
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 221 && BOOST_PP_ITERATION_START_4 >= 221
-# define BOOST_PP_ITERATION_4 221
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 220 && BOOST_PP_ITERATION_START_4 >= 220
-# define BOOST_PP_ITERATION_4 220
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 219 && BOOST_PP_ITERATION_START_4 >= 219
-# define BOOST_PP_ITERATION_4 219
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 218 && BOOST_PP_ITERATION_START_4 >= 218
-# define BOOST_PP_ITERATION_4 218
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 217 && BOOST_PP_ITERATION_START_4 >= 217
-# define BOOST_PP_ITERATION_4 217
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 216 && BOOST_PP_ITERATION_START_4 >= 216
-# define BOOST_PP_ITERATION_4 216
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 215 && BOOST_PP_ITERATION_START_4 >= 215
-# define BOOST_PP_ITERATION_4 215
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 214 && BOOST_PP_ITERATION_START_4 >= 214
-# define BOOST_PP_ITERATION_4 214
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 213 && BOOST_PP_ITERATION_START_4 >= 213
-# define BOOST_PP_ITERATION_4 213
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 212 && BOOST_PP_ITERATION_START_4 >= 212
-# define BOOST_PP_ITERATION_4 212
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 211 && BOOST_PP_ITERATION_START_4 >= 211
-# define BOOST_PP_ITERATION_4 211
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 210 && BOOST_PP_ITERATION_START_4 >= 210
-# define BOOST_PP_ITERATION_4 210
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 209 && BOOST_PP_ITERATION_START_4 >= 209
-# define BOOST_PP_ITERATION_4 209
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 208 && BOOST_PP_ITERATION_START_4 >= 208
-# define BOOST_PP_ITERATION_4 208
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 207 && BOOST_PP_ITERATION_START_4 >= 207
-# define BOOST_PP_ITERATION_4 207
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 206 && BOOST_PP_ITERATION_START_4 >= 206
-# define BOOST_PP_ITERATION_4 206
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 205 && BOOST_PP_ITERATION_START_4 >= 205
-# define BOOST_PP_ITERATION_4 205
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 204 && BOOST_PP_ITERATION_START_4 >= 204
-# define BOOST_PP_ITERATION_4 204
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 203 && BOOST_PP_ITERATION_START_4 >= 203
-# define BOOST_PP_ITERATION_4 203
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 202 && BOOST_PP_ITERATION_START_4 >= 202
-# define BOOST_PP_ITERATION_4 202
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 201 && BOOST_PP_ITERATION_START_4 >= 201
-# define BOOST_PP_ITERATION_4 201
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 200 && BOOST_PP_ITERATION_START_4 >= 200
-# define BOOST_PP_ITERATION_4 200
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 199 && BOOST_PP_ITERATION_START_4 >= 199
-# define BOOST_PP_ITERATION_4 199
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 198 && BOOST_PP_ITERATION_START_4 >= 198
-# define BOOST_PP_ITERATION_4 198
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 197 && BOOST_PP_ITERATION_START_4 >= 197
-# define BOOST_PP_ITERATION_4 197
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 196 && BOOST_PP_ITERATION_START_4 >= 196
-# define BOOST_PP_ITERATION_4 196
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 195 && BOOST_PP_ITERATION_START_4 >= 195
-# define BOOST_PP_ITERATION_4 195
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 194 && BOOST_PP_ITERATION_START_4 >= 194
-# define BOOST_PP_ITERATION_4 194
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 193 && BOOST_PP_ITERATION_START_4 >= 193
-# define BOOST_PP_ITERATION_4 193
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 192 && BOOST_PP_ITERATION_START_4 >= 192
-# define BOOST_PP_ITERATION_4 192
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 191 && BOOST_PP_ITERATION_START_4 >= 191
-# define BOOST_PP_ITERATION_4 191
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 190 && BOOST_PP_ITERATION_START_4 >= 190
-# define BOOST_PP_ITERATION_4 190
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 189 && BOOST_PP_ITERATION_START_4 >= 189
-# define BOOST_PP_ITERATION_4 189
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 188 && BOOST_PP_ITERATION_START_4 >= 188
-# define BOOST_PP_ITERATION_4 188
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 187 && BOOST_PP_ITERATION_START_4 >= 187
-# define BOOST_PP_ITERATION_4 187
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 186 && BOOST_PP_ITERATION_START_4 >= 186
-# define BOOST_PP_ITERATION_4 186
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 185 && BOOST_PP_ITERATION_START_4 >= 185
-# define BOOST_PP_ITERATION_4 185
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 184 && BOOST_PP_ITERATION_START_4 >= 184
-# define BOOST_PP_ITERATION_4 184
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 183 && BOOST_PP_ITERATION_START_4 >= 183
-# define BOOST_PP_ITERATION_4 183
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 182 && BOOST_PP_ITERATION_START_4 >= 182
-# define BOOST_PP_ITERATION_4 182
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 181 && BOOST_PP_ITERATION_START_4 >= 181
-# define BOOST_PP_ITERATION_4 181
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 180 && BOOST_PP_ITERATION_START_4 >= 180
-# define BOOST_PP_ITERATION_4 180
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 179 && BOOST_PP_ITERATION_START_4 >= 179
-# define BOOST_PP_ITERATION_4 179
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 178 && BOOST_PP_ITERATION_START_4 >= 178
-# define BOOST_PP_ITERATION_4 178
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 177 && BOOST_PP_ITERATION_START_4 >= 177
-# define BOOST_PP_ITERATION_4 177
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 176 && BOOST_PP_ITERATION_START_4 >= 176
-# define BOOST_PP_ITERATION_4 176
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 175 && BOOST_PP_ITERATION_START_4 >= 175
-# define BOOST_PP_ITERATION_4 175
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 174 && BOOST_PP_ITERATION_START_4 >= 174
-# define BOOST_PP_ITERATION_4 174
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 173 && BOOST_PP_ITERATION_START_4 >= 173
-# define BOOST_PP_ITERATION_4 173
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 172 && BOOST_PP_ITERATION_START_4 >= 172
-# define BOOST_PP_ITERATION_4 172
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 171 && BOOST_PP_ITERATION_START_4 >= 171
-# define BOOST_PP_ITERATION_4 171
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 170 && BOOST_PP_ITERATION_START_4 >= 170
-# define BOOST_PP_ITERATION_4 170
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 169 && BOOST_PP_ITERATION_START_4 >= 169
-# define BOOST_PP_ITERATION_4 169
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 168 && BOOST_PP_ITERATION_START_4 >= 168
-# define BOOST_PP_ITERATION_4 168
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 167 && BOOST_PP_ITERATION_START_4 >= 167
-# define BOOST_PP_ITERATION_4 167
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 166 && BOOST_PP_ITERATION_START_4 >= 166
-# define BOOST_PP_ITERATION_4 166
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 165 && BOOST_PP_ITERATION_START_4 >= 165
-# define BOOST_PP_ITERATION_4 165
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 164 && BOOST_PP_ITERATION_START_4 >= 164
-# define BOOST_PP_ITERATION_4 164
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 163 && BOOST_PP_ITERATION_START_4 >= 163
-# define BOOST_PP_ITERATION_4 163
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 162 && BOOST_PP_ITERATION_START_4 >= 162
-# define BOOST_PP_ITERATION_4 162
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 161 && BOOST_PP_ITERATION_START_4 >= 161
-# define BOOST_PP_ITERATION_4 161
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 160 && BOOST_PP_ITERATION_START_4 >= 160
-# define BOOST_PP_ITERATION_4 160
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 159 && BOOST_PP_ITERATION_START_4 >= 159
-# define BOOST_PP_ITERATION_4 159
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 158 && BOOST_PP_ITERATION_START_4 >= 158
-# define BOOST_PP_ITERATION_4 158
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 157 && BOOST_PP_ITERATION_START_4 >= 157
-# define BOOST_PP_ITERATION_4 157
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 156 && BOOST_PP_ITERATION_START_4 >= 156
-# define BOOST_PP_ITERATION_4 156
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 155 && BOOST_PP_ITERATION_START_4 >= 155
-# define BOOST_PP_ITERATION_4 155
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 154 && BOOST_PP_ITERATION_START_4 >= 154
-# define BOOST_PP_ITERATION_4 154
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 153 && BOOST_PP_ITERATION_START_4 >= 153
-# define BOOST_PP_ITERATION_4 153
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 152 && BOOST_PP_ITERATION_START_4 >= 152
-# define BOOST_PP_ITERATION_4 152
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 151 && BOOST_PP_ITERATION_START_4 >= 151
-# define BOOST_PP_ITERATION_4 151
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 150 && BOOST_PP_ITERATION_START_4 >= 150
-# define BOOST_PP_ITERATION_4 150
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 149 && BOOST_PP_ITERATION_START_4 >= 149
-# define BOOST_PP_ITERATION_4 149
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 148 && BOOST_PP_ITERATION_START_4 >= 148
-# define BOOST_PP_ITERATION_4 148
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 147 && BOOST_PP_ITERATION_START_4 >= 147
-# define BOOST_PP_ITERATION_4 147
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 146 && BOOST_PP_ITERATION_START_4 >= 146
-# define BOOST_PP_ITERATION_4 146
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 145 && BOOST_PP_ITERATION_START_4 >= 145
-# define BOOST_PP_ITERATION_4 145
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 144 && BOOST_PP_ITERATION_START_4 >= 144
-# define BOOST_PP_ITERATION_4 144
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 143 && BOOST_PP_ITERATION_START_4 >= 143
-# define BOOST_PP_ITERATION_4 143
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 142 && BOOST_PP_ITERATION_START_4 >= 142
-# define BOOST_PP_ITERATION_4 142
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 141 && BOOST_PP_ITERATION_START_4 >= 141
-# define BOOST_PP_ITERATION_4 141
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 140 && BOOST_PP_ITERATION_START_4 >= 140
-# define BOOST_PP_ITERATION_4 140
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 139 && BOOST_PP_ITERATION_START_4 >= 139
-# define BOOST_PP_ITERATION_4 139
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 138 && BOOST_PP_ITERATION_START_4 >= 138
-# define BOOST_PP_ITERATION_4 138
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 137 && BOOST_PP_ITERATION_START_4 >= 137
-# define BOOST_PP_ITERATION_4 137
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 136 && BOOST_PP_ITERATION_START_4 >= 136
-# define BOOST_PP_ITERATION_4 136
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 135 && BOOST_PP_ITERATION_START_4 >= 135
-# define BOOST_PP_ITERATION_4 135
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 134 && BOOST_PP_ITERATION_START_4 >= 134
-# define BOOST_PP_ITERATION_4 134
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 133 && BOOST_PP_ITERATION_START_4 >= 133
-# define BOOST_PP_ITERATION_4 133
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 132 && BOOST_PP_ITERATION_START_4 >= 132
-# define BOOST_PP_ITERATION_4 132
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 131 && BOOST_PP_ITERATION_START_4 >= 131
-# define BOOST_PP_ITERATION_4 131
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 130 && BOOST_PP_ITERATION_START_4 >= 130
-# define BOOST_PP_ITERATION_4 130
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 129 && BOOST_PP_ITERATION_START_4 >= 129
-# define BOOST_PP_ITERATION_4 129
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 128 && BOOST_PP_ITERATION_START_4 >= 128
-# define BOOST_PP_ITERATION_4 128
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 127 && BOOST_PP_ITERATION_START_4 >= 127
-# define BOOST_PP_ITERATION_4 127
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 126 && BOOST_PP_ITERATION_START_4 >= 126
-# define BOOST_PP_ITERATION_4 126
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 125 && BOOST_PP_ITERATION_START_4 >= 125
-# define BOOST_PP_ITERATION_4 125
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 124 && BOOST_PP_ITERATION_START_4 >= 124
-# define BOOST_PP_ITERATION_4 124
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 123 && BOOST_PP_ITERATION_START_4 >= 123
-# define BOOST_PP_ITERATION_4 123
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 122 && BOOST_PP_ITERATION_START_4 >= 122
-# define BOOST_PP_ITERATION_4 122
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 121 && BOOST_PP_ITERATION_START_4 >= 121
-# define BOOST_PP_ITERATION_4 121
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 120 && BOOST_PP_ITERATION_START_4 >= 120
-# define BOOST_PP_ITERATION_4 120
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 119 && BOOST_PP_ITERATION_START_4 >= 119
-# define BOOST_PP_ITERATION_4 119
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 118 && BOOST_PP_ITERATION_START_4 >= 118
-# define BOOST_PP_ITERATION_4 118
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 117 && BOOST_PP_ITERATION_START_4 >= 117
-# define BOOST_PP_ITERATION_4 117
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 116 && BOOST_PP_ITERATION_START_4 >= 116
-# define BOOST_PP_ITERATION_4 116
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 115 && BOOST_PP_ITERATION_START_4 >= 115
-# define BOOST_PP_ITERATION_4 115
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 114 && BOOST_PP_ITERATION_START_4 >= 114
-# define BOOST_PP_ITERATION_4 114
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 113 && BOOST_PP_ITERATION_START_4 >= 113
-# define BOOST_PP_ITERATION_4 113
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 112 && BOOST_PP_ITERATION_START_4 >= 112
-# define BOOST_PP_ITERATION_4 112
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 111 && BOOST_PP_ITERATION_START_4 >= 111
-# define BOOST_PP_ITERATION_4 111
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 110 && BOOST_PP_ITERATION_START_4 >= 110
-# define BOOST_PP_ITERATION_4 110
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 109 && BOOST_PP_ITERATION_START_4 >= 109
-# define BOOST_PP_ITERATION_4 109
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 108 && BOOST_PP_ITERATION_START_4 >= 108
-# define BOOST_PP_ITERATION_4 108
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 107 && BOOST_PP_ITERATION_START_4 >= 107
-# define BOOST_PP_ITERATION_4 107
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 106 && BOOST_PP_ITERATION_START_4 >= 106
-# define BOOST_PP_ITERATION_4 106
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 105 && BOOST_PP_ITERATION_START_4 >= 105
-# define BOOST_PP_ITERATION_4 105
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 104 && BOOST_PP_ITERATION_START_4 >= 104
-# define BOOST_PP_ITERATION_4 104
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 103 && BOOST_PP_ITERATION_START_4 >= 103
-# define BOOST_PP_ITERATION_4 103
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 102 && BOOST_PP_ITERATION_START_4 >= 102
-# define BOOST_PP_ITERATION_4 102
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 101 && BOOST_PP_ITERATION_START_4 >= 101
-# define BOOST_PP_ITERATION_4 101
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 100 && BOOST_PP_ITERATION_START_4 >= 100
-# define BOOST_PP_ITERATION_4 100
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 99 && BOOST_PP_ITERATION_START_4 >= 99
-# define BOOST_PP_ITERATION_4 99
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 98 && BOOST_PP_ITERATION_START_4 >= 98
-# define BOOST_PP_ITERATION_4 98
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 97 && BOOST_PP_ITERATION_START_4 >= 97
-# define BOOST_PP_ITERATION_4 97
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 96 && BOOST_PP_ITERATION_START_4 >= 96
-# define BOOST_PP_ITERATION_4 96
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 95 && BOOST_PP_ITERATION_START_4 >= 95
-# define BOOST_PP_ITERATION_4 95
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 94 && BOOST_PP_ITERATION_START_4 >= 94
-# define BOOST_PP_ITERATION_4 94
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 93 && BOOST_PP_ITERATION_START_4 >= 93
-# define BOOST_PP_ITERATION_4 93
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 92 && BOOST_PP_ITERATION_START_4 >= 92
-# define BOOST_PP_ITERATION_4 92
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 91 && BOOST_PP_ITERATION_START_4 >= 91
-# define BOOST_PP_ITERATION_4 91
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 90 && BOOST_PP_ITERATION_START_4 >= 90
-# define BOOST_PP_ITERATION_4 90
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 89 && BOOST_PP_ITERATION_START_4 >= 89
-# define BOOST_PP_ITERATION_4 89
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 88 && BOOST_PP_ITERATION_START_4 >= 88
-# define BOOST_PP_ITERATION_4 88
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 87 && BOOST_PP_ITERATION_START_4 >= 87
-# define BOOST_PP_ITERATION_4 87
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 86 && BOOST_PP_ITERATION_START_4 >= 86
-# define BOOST_PP_ITERATION_4 86
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 85 && BOOST_PP_ITERATION_START_4 >= 85
-# define BOOST_PP_ITERATION_4 85
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 84 && BOOST_PP_ITERATION_START_4 >= 84
-# define BOOST_PP_ITERATION_4 84
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 83 && BOOST_PP_ITERATION_START_4 >= 83
-# define BOOST_PP_ITERATION_4 83
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 82 && BOOST_PP_ITERATION_START_4 >= 82
-# define BOOST_PP_ITERATION_4 82
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 81 && BOOST_PP_ITERATION_START_4 >= 81
-# define BOOST_PP_ITERATION_4 81
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 80 && BOOST_PP_ITERATION_START_4 >= 80
-# define BOOST_PP_ITERATION_4 80
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 79 && BOOST_PP_ITERATION_START_4 >= 79
-# define BOOST_PP_ITERATION_4 79
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 78 && BOOST_PP_ITERATION_START_4 >= 78
-# define BOOST_PP_ITERATION_4 78
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 77 && BOOST_PP_ITERATION_START_4 >= 77
-# define BOOST_PP_ITERATION_4 77
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 76 && BOOST_PP_ITERATION_START_4 >= 76
-# define BOOST_PP_ITERATION_4 76
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 75 && BOOST_PP_ITERATION_START_4 >= 75
-# define BOOST_PP_ITERATION_4 75
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 74 && BOOST_PP_ITERATION_START_4 >= 74
-# define BOOST_PP_ITERATION_4 74
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 73 && BOOST_PP_ITERATION_START_4 >= 73
-# define BOOST_PP_ITERATION_4 73
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 72 && BOOST_PP_ITERATION_START_4 >= 72
-# define BOOST_PP_ITERATION_4 72
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 71 && BOOST_PP_ITERATION_START_4 >= 71
-# define BOOST_PP_ITERATION_4 71
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 70 && BOOST_PP_ITERATION_START_4 >= 70
-# define BOOST_PP_ITERATION_4 70
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 69 && BOOST_PP_ITERATION_START_4 >= 69
-# define BOOST_PP_ITERATION_4 69
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 68 && BOOST_PP_ITERATION_START_4 >= 68
-# define BOOST_PP_ITERATION_4 68
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 67 && BOOST_PP_ITERATION_START_4 >= 67
-# define BOOST_PP_ITERATION_4 67
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 66 && BOOST_PP_ITERATION_START_4 >= 66
-# define BOOST_PP_ITERATION_4 66
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 65 && BOOST_PP_ITERATION_START_4 >= 65
-# define BOOST_PP_ITERATION_4 65
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 64 && BOOST_PP_ITERATION_START_4 >= 64
-# define BOOST_PP_ITERATION_4 64
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 63 && BOOST_PP_ITERATION_START_4 >= 63
-# define BOOST_PP_ITERATION_4 63
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 62 && BOOST_PP_ITERATION_START_4 >= 62
-# define BOOST_PP_ITERATION_4 62
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 61 && BOOST_PP_ITERATION_START_4 >= 61
-# define BOOST_PP_ITERATION_4 61
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 60 && BOOST_PP_ITERATION_START_4 >= 60
-# define BOOST_PP_ITERATION_4 60
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 59 && BOOST_PP_ITERATION_START_4 >= 59
-# define BOOST_PP_ITERATION_4 59
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 58 && BOOST_PP_ITERATION_START_4 >= 58
-# define BOOST_PP_ITERATION_4 58
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 57 && BOOST_PP_ITERATION_START_4 >= 57
-# define BOOST_PP_ITERATION_4 57
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 56 && BOOST_PP_ITERATION_START_4 >= 56
-# define BOOST_PP_ITERATION_4 56
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 55 && BOOST_PP_ITERATION_START_4 >= 55
-# define BOOST_PP_ITERATION_4 55
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 54 && BOOST_PP_ITERATION_START_4 >= 54
-# define BOOST_PP_ITERATION_4 54
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 53 && BOOST_PP_ITERATION_START_4 >= 53
-# define BOOST_PP_ITERATION_4 53
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 52 && BOOST_PP_ITERATION_START_4 >= 52
-# define BOOST_PP_ITERATION_4 52
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 51 && BOOST_PP_ITERATION_START_4 >= 51
-# define BOOST_PP_ITERATION_4 51
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 50 && BOOST_PP_ITERATION_START_4 >= 50
-# define BOOST_PP_ITERATION_4 50
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 49 && BOOST_PP_ITERATION_START_4 >= 49
-# define BOOST_PP_ITERATION_4 49
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 48 && BOOST_PP_ITERATION_START_4 >= 48
-# define BOOST_PP_ITERATION_4 48
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 47 && BOOST_PP_ITERATION_START_4 >= 47
-# define BOOST_PP_ITERATION_4 47
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 46 && BOOST_PP_ITERATION_START_4 >= 46
-# define BOOST_PP_ITERATION_4 46
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 45 && BOOST_PP_ITERATION_START_4 >= 45
-# define BOOST_PP_ITERATION_4 45
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 44 && BOOST_PP_ITERATION_START_4 >= 44
-# define BOOST_PP_ITERATION_4 44
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 43 && BOOST_PP_ITERATION_START_4 >= 43
-# define BOOST_PP_ITERATION_4 43
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 42 && BOOST_PP_ITERATION_START_4 >= 42
-# define BOOST_PP_ITERATION_4 42
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 41 && BOOST_PP_ITERATION_START_4 >= 41
-# define BOOST_PP_ITERATION_4 41
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 40 && BOOST_PP_ITERATION_START_4 >= 40
-# define BOOST_PP_ITERATION_4 40
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 39 && BOOST_PP_ITERATION_START_4 >= 39
-# define BOOST_PP_ITERATION_4 39
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 38 && BOOST_PP_ITERATION_START_4 >= 38
-# define BOOST_PP_ITERATION_4 38
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 37 && BOOST_PP_ITERATION_START_4 >= 37
-# define BOOST_PP_ITERATION_4 37
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 36 && BOOST_PP_ITERATION_START_4 >= 36
-# define BOOST_PP_ITERATION_4 36
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 35 && BOOST_PP_ITERATION_START_4 >= 35
-# define BOOST_PP_ITERATION_4 35
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 34 && BOOST_PP_ITERATION_START_4 >= 34
-# define BOOST_PP_ITERATION_4 34
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 33 && BOOST_PP_ITERATION_START_4 >= 33
-# define BOOST_PP_ITERATION_4 33
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 32 && BOOST_PP_ITERATION_START_4 >= 32
-# define BOOST_PP_ITERATION_4 32
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 31 && BOOST_PP_ITERATION_START_4 >= 31
-# define BOOST_PP_ITERATION_4 31
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 30 && BOOST_PP_ITERATION_START_4 >= 30
-# define BOOST_PP_ITERATION_4 30
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 29 && BOOST_PP_ITERATION_START_4 >= 29
-# define BOOST_PP_ITERATION_4 29
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 28 && BOOST_PP_ITERATION_START_4 >= 28
-# define BOOST_PP_ITERATION_4 28
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 27 && BOOST_PP_ITERATION_START_4 >= 27
-# define BOOST_PP_ITERATION_4 27
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 26 && BOOST_PP_ITERATION_START_4 >= 26
-# define BOOST_PP_ITERATION_4 26
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 25 && BOOST_PP_ITERATION_START_4 >= 25
-# define BOOST_PP_ITERATION_4 25
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 24 && BOOST_PP_ITERATION_START_4 >= 24
-# define BOOST_PP_ITERATION_4 24
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 23 && BOOST_PP_ITERATION_START_4 >= 23
-# define BOOST_PP_ITERATION_4 23
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 22 && BOOST_PP_ITERATION_START_4 >= 22
-# define BOOST_PP_ITERATION_4 22
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 21 && BOOST_PP_ITERATION_START_4 >= 21
-# define BOOST_PP_ITERATION_4 21
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 20 && BOOST_PP_ITERATION_START_4 >= 20
-# define BOOST_PP_ITERATION_4 20
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 19 && BOOST_PP_ITERATION_START_4 >= 19
-# define BOOST_PP_ITERATION_4 19
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 18 && BOOST_PP_ITERATION_START_4 >= 18
-# define BOOST_PP_ITERATION_4 18
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 17 && BOOST_PP_ITERATION_START_4 >= 17
-# define BOOST_PP_ITERATION_4 17
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 16 && BOOST_PP_ITERATION_START_4 >= 16
-# define BOOST_PP_ITERATION_4 16
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 15 && BOOST_PP_ITERATION_START_4 >= 15
-# define BOOST_PP_ITERATION_4 15
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 14 && BOOST_PP_ITERATION_START_4 >= 14
-# define BOOST_PP_ITERATION_4 14
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 13 && BOOST_PP_ITERATION_START_4 >= 13
-# define BOOST_PP_ITERATION_4 13
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 12 && BOOST_PP_ITERATION_START_4 >= 12
-# define BOOST_PP_ITERATION_4 12
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 11 && BOOST_PP_ITERATION_START_4 >= 11
-# define BOOST_PP_ITERATION_4 11
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 10 && BOOST_PP_ITERATION_START_4 >= 10
-# define BOOST_PP_ITERATION_4 10
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 9 && BOOST_PP_ITERATION_START_4 >= 9
-# define BOOST_PP_ITERATION_4 9
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 8 && BOOST_PP_ITERATION_START_4 >= 8
-# define BOOST_PP_ITERATION_4 8
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 7 && BOOST_PP_ITERATION_START_4 >= 7
-# define BOOST_PP_ITERATION_4 7
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 6 && BOOST_PP_ITERATION_START_4 >= 6
-# define BOOST_PP_ITERATION_4 6
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 5 && BOOST_PP_ITERATION_START_4 >= 5
-# define BOOST_PP_ITERATION_4 5
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 4 && BOOST_PP_ITERATION_START_4 >= 4
-# define BOOST_PP_ITERATION_4 4
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 3 && BOOST_PP_ITERATION_START_4 >= 3
-# define BOOST_PP_ITERATION_4 3
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 2 && BOOST_PP_ITERATION_START_4 >= 2
-# define BOOST_PP_ITERATION_4 2
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 1 && BOOST_PP_ITERATION_START_4 >= 1
-# define BOOST_PP_ITERATION_4 1
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
-# if BOOST_PP_ITERATION_FINISH_4 <= 0 && BOOST_PP_ITERATION_START_4 >= 0
-# define BOOST_PP_ITERATION_4 0
-# include BOOST_PP_FILENAME_4
-# undef BOOST_PP_ITERATION_4
-# endif
diff --git a/boost/preprocessor/iteration/detail/iter/reverse5.hpp b/boost/preprocessor/iteration/detail/iter/reverse5.hpp
deleted file mode 100644
index 225a557..0000000
--- a/boost/preprocessor/iteration/detail/iter/reverse5.hpp
+++ /dev/null
@@ -1,1296 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# if BOOST_PP_ITERATION_FINISH_5 <= 256 && BOOST_PP_ITERATION_START_5 >= 256
-# define BOOST_PP_ITERATION_5 256
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 255 && BOOST_PP_ITERATION_START_5 >= 255
-# define BOOST_PP_ITERATION_5 255
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 254 && BOOST_PP_ITERATION_START_5 >= 254
-# define BOOST_PP_ITERATION_5 254
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 253 && BOOST_PP_ITERATION_START_5 >= 253
-# define BOOST_PP_ITERATION_5 253
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 252 && BOOST_PP_ITERATION_START_5 >= 252
-# define BOOST_PP_ITERATION_5 252
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 251 && BOOST_PP_ITERATION_START_5 >= 251
-# define BOOST_PP_ITERATION_5 251
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 250 && BOOST_PP_ITERATION_START_5 >= 250
-# define BOOST_PP_ITERATION_5 250
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 249 && BOOST_PP_ITERATION_START_5 >= 249
-# define BOOST_PP_ITERATION_5 249
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 248 && BOOST_PP_ITERATION_START_5 >= 248
-# define BOOST_PP_ITERATION_5 248
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 247 && BOOST_PP_ITERATION_START_5 >= 247
-# define BOOST_PP_ITERATION_5 247
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 246 && BOOST_PP_ITERATION_START_5 >= 246
-# define BOOST_PP_ITERATION_5 246
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 245 && BOOST_PP_ITERATION_START_5 >= 245
-# define BOOST_PP_ITERATION_5 245
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 244 && BOOST_PP_ITERATION_START_5 >= 244
-# define BOOST_PP_ITERATION_5 244
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 243 && BOOST_PP_ITERATION_START_5 >= 243
-# define BOOST_PP_ITERATION_5 243
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 242 && BOOST_PP_ITERATION_START_5 >= 242
-# define BOOST_PP_ITERATION_5 242
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 241 && BOOST_PP_ITERATION_START_5 >= 241
-# define BOOST_PP_ITERATION_5 241
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 240 && BOOST_PP_ITERATION_START_5 >= 240
-# define BOOST_PP_ITERATION_5 240
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 239 && BOOST_PP_ITERATION_START_5 >= 239
-# define BOOST_PP_ITERATION_5 239
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 238 && BOOST_PP_ITERATION_START_5 >= 238
-# define BOOST_PP_ITERATION_5 238
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 237 && BOOST_PP_ITERATION_START_5 >= 237
-# define BOOST_PP_ITERATION_5 237
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 236 && BOOST_PP_ITERATION_START_5 >= 236
-# define BOOST_PP_ITERATION_5 236
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 235 && BOOST_PP_ITERATION_START_5 >= 235
-# define BOOST_PP_ITERATION_5 235
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 234 && BOOST_PP_ITERATION_START_5 >= 234
-# define BOOST_PP_ITERATION_5 234
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 233 && BOOST_PP_ITERATION_START_5 >= 233
-# define BOOST_PP_ITERATION_5 233
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 232 && BOOST_PP_ITERATION_START_5 >= 232
-# define BOOST_PP_ITERATION_5 232
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 231 && BOOST_PP_ITERATION_START_5 >= 231
-# define BOOST_PP_ITERATION_5 231
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 230 && BOOST_PP_ITERATION_START_5 >= 230
-# define BOOST_PP_ITERATION_5 230
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 229 && BOOST_PP_ITERATION_START_5 >= 229
-# define BOOST_PP_ITERATION_5 229
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 228 && BOOST_PP_ITERATION_START_5 >= 228
-# define BOOST_PP_ITERATION_5 228
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 227 && BOOST_PP_ITERATION_START_5 >= 227
-# define BOOST_PP_ITERATION_5 227
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 226 && BOOST_PP_ITERATION_START_5 >= 226
-# define BOOST_PP_ITERATION_5 226
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 225 && BOOST_PP_ITERATION_START_5 >= 225
-# define BOOST_PP_ITERATION_5 225
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 224 && BOOST_PP_ITERATION_START_5 >= 224
-# define BOOST_PP_ITERATION_5 224
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 223 && BOOST_PP_ITERATION_START_5 >= 223
-# define BOOST_PP_ITERATION_5 223
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 222 && BOOST_PP_ITERATION_START_5 >= 222
-# define BOOST_PP_ITERATION_5 222
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 221 && BOOST_PP_ITERATION_START_5 >= 221
-# define BOOST_PP_ITERATION_5 221
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 220 && BOOST_PP_ITERATION_START_5 >= 220
-# define BOOST_PP_ITERATION_5 220
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 219 && BOOST_PP_ITERATION_START_5 >= 219
-# define BOOST_PP_ITERATION_5 219
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 218 && BOOST_PP_ITERATION_START_5 >= 218
-# define BOOST_PP_ITERATION_5 218
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 217 && BOOST_PP_ITERATION_START_5 >= 217
-# define BOOST_PP_ITERATION_5 217
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 216 && BOOST_PP_ITERATION_START_5 >= 216
-# define BOOST_PP_ITERATION_5 216
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 215 && BOOST_PP_ITERATION_START_5 >= 215
-# define BOOST_PP_ITERATION_5 215
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 214 && BOOST_PP_ITERATION_START_5 >= 214
-# define BOOST_PP_ITERATION_5 214
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 213 && BOOST_PP_ITERATION_START_5 >= 213
-# define BOOST_PP_ITERATION_5 213
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 212 && BOOST_PP_ITERATION_START_5 >= 212
-# define BOOST_PP_ITERATION_5 212
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 211 && BOOST_PP_ITERATION_START_5 >= 211
-# define BOOST_PP_ITERATION_5 211
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 210 && BOOST_PP_ITERATION_START_5 >= 210
-# define BOOST_PP_ITERATION_5 210
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 209 && BOOST_PP_ITERATION_START_5 >= 209
-# define BOOST_PP_ITERATION_5 209
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 208 && BOOST_PP_ITERATION_START_5 >= 208
-# define BOOST_PP_ITERATION_5 208
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 207 && BOOST_PP_ITERATION_START_5 >= 207
-# define BOOST_PP_ITERATION_5 207
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 206 && BOOST_PP_ITERATION_START_5 >= 206
-# define BOOST_PP_ITERATION_5 206
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 205 && BOOST_PP_ITERATION_START_5 >= 205
-# define BOOST_PP_ITERATION_5 205
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 204 && BOOST_PP_ITERATION_START_5 >= 204
-# define BOOST_PP_ITERATION_5 204
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 203 && BOOST_PP_ITERATION_START_5 >= 203
-# define BOOST_PP_ITERATION_5 203
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 202 && BOOST_PP_ITERATION_START_5 >= 202
-# define BOOST_PP_ITERATION_5 202
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 201 && BOOST_PP_ITERATION_START_5 >= 201
-# define BOOST_PP_ITERATION_5 201
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 200 && BOOST_PP_ITERATION_START_5 >= 200
-# define BOOST_PP_ITERATION_5 200
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 199 && BOOST_PP_ITERATION_START_5 >= 199
-# define BOOST_PP_ITERATION_5 199
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 198 && BOOST_PP_ITERATION_START_5 >= 198
-# define BOOST_PP_ITERATION_5 198
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 197 && BOOST_PP_ITERATION_START_5 >= 197
-# define BOOST_PP_ITERATION_5 197
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 196 && BOOST_PP_ITERATION_START_5 >= 196
-# define BOOST_PP_ITERATION_5 196
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 195 && BOOST_PP_ITERATION_START_5 >= 195
-# define BOOST_PP_ITERATION_5 195
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 194 && BOOST_PP_ITERATION_START_5 >= 194
-# define BOOST_PP_ITERATION_5 194
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 193 && BOOST_PP_ITERATION_START_5 >= 193
-# define BOOST_PP_ITERATION_5 193
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 192 && BOOST_PP_ITERATION_START_5 >= 192
-# define BOOST_PP_ITERATION_5 192
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 191 && BOOST_PP_ITERATION_START_5 >= 191
-# define BOOST_PP_ITERATION_5 191
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 190 && BOOST_PP_ITERATION_START_5 >= 190
-# define BOOST_PP_ITERATION_5 190
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 189 && BOOST_PP_ITERATION_START_5 >= 189
-# define BOOST_PP_ITERATION_5 189
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 188 && BOOST_PP_ITERATION_START_5 >= 188
-# define BOOST_PP_ITERATION_5 188
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 187 && BOOST_PP_ITERATION_START_5 >= 187
-# define BOOST_PP_ITERATION_5 187
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 186 && BOOST_PP_ITERATION_START_5 >= 186
-# define BOOST_PP_ITERATION_5 186
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 185 && BOOST_PP_ITERATION_START_5 >= 185
-# define BOOST_PP_ITERATION_5 185
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 184 && BOOST_PP_ITERATION_START_5 >= 184
-# define BOOST_PP_ITERATION_5 184
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 183 && BOOST_PP_ITERATION_START_5 >= 183
-# define BOOST_PP_ITERATION_5 183
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 182 && BOOST_PP_ITERATION_START_5 >= 182
-# define BOOST_PP_ITERATION_5 182
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 181 && BOOST_PP_ITERATION_START_5 >= 181
-# define BOOST_PP_ITERATION_5 181
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 180 && BOOST_PP_ITERATION_START_5 >= 180
-# define BOOST_PP_ITERATION_5 180
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 179 && BOOST_PP_ITERATION_START_5 >= 179
-# define BOOST_PP_ITERATION_5 179
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 178 && BOOST_PP_ITERATION_START_5 >= 178
-# define BOOST_PP_ITERATION_5 178
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 177 && BOOST_PP_ITERATION_START_5 >= 177
-# define BOOST_PP_ITERATION_5 177
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 176 && BOOST_PP_ITERATION_START_5 >= 176
-# define BOOST_PP_ITERATION_5 176
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 175 && BOOST_PP_ITERATION_START_5 >= 175
-# define BOOST_PP_ITERATION_5 175
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 174 && BOOST_PP_ITERATION_START_5 >= 174
-# define BOOST_PP_ITERATION_5 174
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 173 && BOOST_PP_ITERATION_START_5 >= 173
-# define BOOST_PP_ITERATION_5 173
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 172 && BOOST_PP_ITERATION_START_5 >= 172
-# define BOOST_PP_ITERATION_5 172
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 171 && BOOST_PP_ITERATION_START_5 >= 171
-# define BOOST_PP_ITERATION_5 171
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 170 && BOOST_PP_ITERATION_START_5 >= 170
-# define BOOST_PP_ITERATION_5 170
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 169 && BOOST_PP_ITERATION_START_5 >= 169
-# define BOOST_PP_ITERATION_5 169
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 168 && BOOST_PP_ITERATION_START_5 >= 168
-# define BOOST_PP_ITERATION_5 168
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 167 && BOOST_PP_ITERATION_START_5 >= 167
-# define BOOST_PP_ITERATION_5 167
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 166 && BOOST_PP_ITERATION_START_5 >= 166
-# define BOOST_PP_ITERATION_5 166
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 165 && BOOST_PP_ITERATION_START_5 >= 165
-# define BOOST_PP_ITERATION_5 165
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 164 && BOOST_PP_ITERATION_START_5 >= 164
-# define BOOST_PP_ITERATION_5 164
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 163 && BOOST_PP_ITERATION_START_5 >= 163
-# define BOOST_PP_ITERATION_5 163
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 162 && BOOST_PP_ITERATION_START_5 >= 162
-# define BOOST_PP_ITERATION_5 162
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 161 && BOOST_PP_ITERATION_START_5 >= 161
-# define BOOST_PP_ITERATION_5 161
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 160 && BOOST_PP_ITERATION_START_5 >= 160
-# define BOOST_PP_ITERATION_5 160
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 159 && BOOST_PP_ITERATION_START_5 >= 159
-# define BOOST_PP_ITERATION_5 159
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 158 && BOOST_PP_ITERATION_START_5 >= 158
-# define BOOST_PP_ITERATION_5 158
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 157 && BOOST_PP_ITERATION_START_5 >= 157
-# define BOOST_PP_ITERATION_5 157
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 156 && BOOST_PP_ITERATION_START_5 >= 156
-# define BOOST_PP_ITERATION_5 156
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 155 && BOOST_PP_ITERATION_START_5 >= 155
-# define BOOST_PP_ITERATION_5 155
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 154 && BOOST_PP_ITERATION_START_5 >= 154
-# define BOOST_PP_ITERATION_5 154
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 153 && BOOST_PP_ITERATION_START_5 >= 153
-# define BOOST_PP_ITERATION_5 153
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 152 && BOOST_PP_ITERATION_START_5 >= 152
-# define BOOST_PP_ITERATION_5 152
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 151 && BOOST_PP_ITERATION_START_5 >= 151
-# define BOOST_PP_ITERATION_5 151
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 150 && BOOST_PP_ITERATION_START_5 >= 150
-# define BOOST_PP_ITERATION_5 150
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 149 && BOOST_PP_ITERATION_START_5 >= 149
-# define BOOST_PP_ITERATION_5 149
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 148 && BOOST_PP_ITERATION_START_5 >= 148
-# define BOOST_PP_ITERATION_5 148
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 147 && BOOST_PP_ITERATION_START_5 >= 147
-# define BOOST_PP_ITERATION_5 147
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 146 && BOOST_PP_ITERATION_START_5 >= 146
-# define BOOST_PP_ITERATION_5 146
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 145 && BOOST_PP_ITERATION_START_5 >= 145
-# define BOOST_PP_ITERATION_5 145
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 144 && BOOST_PP_ITERATION_START_5 >= 144
-# define BOOST_PP_ITERATION_5 144
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 143 && BOOST_PP_ITERATION_START_5 >= 143
-# define BOOST_PP_ITERATION_5 143
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 142 && BOOST_PP_ITERATION_START_5 >= 142
-# define BOOST_PP_ITERATION_5 142
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 141 && BOOST_PP_ITERATION_START_5 >= 141
-# define BOOST_PP_ITERATION_5 141
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 140 && BOOST_PP_ITERATION_START_5 >= 140
-# define BOOST_PP_ITERATION_5 140
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 139 && BOOST_PP_ITERATION_START_5 >= 139
-# define BOOST_PP_ITERATION_5 139
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 138 && BOOST_PP_ITERATION_START_5 >= 138
-# define BOOST_PP_ITERATION_5 138
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 137 && BOOST_PP_ITERATION_START_5 >= 137
-# define BOOST_PP_ITERATION_5 137
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 136 && BOOST_PP_ITERATION_START_5 >= 136
-# define BOOST_PP_ITERATION_5 136
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 135 && BOOST_PP_ITERATION_START_5 >= 135
-# define BOOST_PP_ITERATION_5 135
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 134 && BOOST_PP_ITERATION_START_5 >= 134
-# define BOOST_PP_ITERATION_5 134
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 133 && BOOST_PP_ITERATION_START_5 >= 133
-# define BOOST_PP_ITERATION_5 133
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 132 && BOOST_PP_ITERATION_START_5 >= 132
-# define BOOST_PP_ITERATION_5 132
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 131 && BOOST_PP_ITERATION_START_5 >= 131
-# define BOOST_PP_ITERATION_5 131
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 130 && BOOST_PP_ITERATION_START_5 >= 130
-# define BOOST_PP_ITERATION_5 130
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 129 && BOOST_PP_ITERATION_START_5 >= 129
-# define BOOST_PP_ITERATION_5 129
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 128 && BOOST_PP_ITERATION_START_5 >= 128
-# define BOOST_PP_ITERATION_5 128
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 127 && BOOST_PP_ITERATION_START_5 >= 127
-# define BOOST_PP_ITERATION_5 127
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 126 && BOOST_PP_ITERATION_START_5 >= 126
-# define BOOST_PP_ITERATION_5 126
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 125 && BOOST_PP_ITERATION_START_5 >= 125
-# define BOOST_PP_ITERATION_5 125
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 124 && BOOST_PP_ITERATION_START_5 >= 124
-# define BOOST_PP_ITERATION_5 124
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 123 && BOOST_PP_ITERATION_START_5 >= 123
-# define BOOST_PP_ITERATION_5 123
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 122 && BOOST_PP_ITERATION_START_5 >= 122
-# define BOOST_PP_ITERATION_5 122
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 121 && BOOST_PP_ITERATION_START_5 >= 121
-# define BOOST_PP_ITERATION_5 121
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 120 && BOOST_PP_ITERATION_START_5 >= 120
-# define BOOST_PP_ITERATION_5 120
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 119 && BOOST_PP_ITERATION_START_5 >= 119
-# define BOOST_PP_ITERATION_5 119
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 118 && BOOST_PP_ITERATION_START_5 >= 118
-# define BOOST_PP_ITERATION_5 118
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 117 && BOOST_PP_ITERATION_START_5 >= 117
-# define BOOST_PP_ITERATION_5 117
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 116 && BOOST_PP_ITERATION_START_5 >= 116
-# define BOOST_PP_ITERATION_5 116
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 115 && BOOST_PP_ITERATION_START_5 >= 115
-# define BOOST_PP_ITERATION_5 115
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 114 && BOOST_PP_ITERATION_START_5 >= 114
-# define BOOST_PP_ITERATION_5 114
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 113 && BOOST_PP_ITERATION_START_5 >= 113
-# define BOOST_PP_ITERATION_5 113
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 112 && BOOST_PP_ITERATION_START_5 >= 112
-# define BOOST_PP_ITERATION_5 112
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 111 && BOOST_PP_ITERATION_START_5 >= 111
-# define BOOST_PP_ITERATION_5 111
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 110 && BOOST_PP_ITERATION_START_5 >= 110
-# define BOOST_PP_ITERATION_5 110
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 109 && BOOST_PP_ITERATION_START_5 >= 109
-# define BOOST_PP_ITERATION_5 109
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 108 && BOOST_PP_ITERATION_START_5 >= 108
-# define BOOST_PP_ITERATION_5 108
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 107 && BOOST_PP_ITERATION_START_5 >= 107
-# define BOOST_PP_ITERATION_5 107
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 106 && BOOST_PP_ITERATION_START_5 >= 106
-# define BOOST_PP_ITERATION_5 106
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 105 && BOOST_PP_ITERATION_START_5 >= 105
-# define BOOST_PP_ITERATION_5 105
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 104 && BOOST_PP_ITERATION_START_5 >= 104
-# define BOOST_PP_ITERATION_5 104
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 103 && BOOST_PP_ITERATION_START_5 >= 103
-# define BOOST_PP_ITERATION_5 103
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 102 && BOOST_PP_ITERATION_START_5 >= 102
-# define BOOST_PP_ITERATION_5 102
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 101 && BOOST_PP_ITERATION_START_5 >= 101
-# define BOOST_PP_ITERATION_5 101
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 100 && BOOST_PP_ITERATION_START_5 >= 100
-# define BOOST_PP_ITERATION_5 100
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 99 && BOOST_PP_ITERATION_START_5 >= 99
-# define BOOST_PP_ITERATION_5 99
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 98 && BOOST_PP_ITERATION_START_5 >= 98
-# define BOOST_PP_ITERATION_5 98
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 97 && BOOST_PP_ITERATION_START_5 >= 97
-# define BOOST_PP_ITERATION_5 97
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 96 && BOOST_PP_ITERATION_START_5 >= 96
-# define BOOST_PP_ITERATION_5 96
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 95 && BOOST_PP_ITERATION_START_5 >= 95
-# define BOOST_PP_ITERATION_5 95
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 94 && BOOST_PP_ITERATION_START_5 >= 94
-# define BOOST_PP_ITERATION_5 94
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 93 && BOOST_PP_ITERATION_START_5 >= 93
-# define BOOST_PP_ITERATION_5 93
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 92 && BOOST_PP_ITERATION_START_5 >= 92
-# define BOOST_PP_ITERATION_5 92
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 91 && BOOST_PP_ITERATION_START_5 >= 91
-# define BOOST_PP_ITERATION_5 91
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 90 && BOOST_PP_ITERATION_START_5 >= 90
-# define BOOST_PP_ITERATION_5 90
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 89 && BOOST_PP_ITERATION_START_5 >= 89
-# define BOOST_PP_ITERATION_5 89
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 88 && BOOST_PP_ITERATION_START_5 >= 88
-# define BOOST_PP_ITERATION_5 88
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 87 && BOOST_PP_ITERATION_START_5 >= 87
-# define BOOST_PP_ITERATION_5 87
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 86 && BOOST_PP_ITERATION_START_5 >= 86
-# define BOOST_PP_ITERATION_5 86
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 85 && BOOST_PP_ITERATION_START_5 >= 85
-# define BOOST_PP_ITERATION_5 85
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 84 && BOOST_PP_ITERATION_START_5 >= 84
-# define BOOST_PP_ITERATION_5 84
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 83 && BOOST_PP_ITERATION_START_5 >= 83
-# define BOOST_PP_ITERATION_5 83
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 82 && BOOST_PP_ITERATION_START_5 >= 82
-# define BOOST_PP_ITERATION_5 82
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 81 && BOOST_PP_ITERATION_START_5 >= 81
-# define BOOST_PP_ITERATION_5 81
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 80 && BOOST_PP_ITERATION_START_5 >= 80
-# define BOOST_PP_ITERATION_5 80
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 79 && BOOST_PP_ITERATION_START_5 >= 79
-# define BOOST_PP_ITERATION_5 79
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 78 && BOOST_PP_ITERATION_START_5 >= 78
-# define BOOST_PP_ITERATION_5 78
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 77 && BOOST_PP_ITERATION_START_5 >= 77
-# define BOOST_PP_ITERATION_5 77
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 76 && BOOST_PP_ITERATION_START_5 >= 76
-# define BOOST_PP_ITERATION_5 76
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 75 && BOOST_PP_ITERATION_START_5 >= 75
-# define BOOST_PP_ITERATION_5 75
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 74 && BOOST_PP_ITERATION_START_5 >= 74
-# define BOOST_PP_ITERATION_5 74
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 73 && BOOST_PP_ITERATION_START_5 >= 73
-# define BOOST_PP_ITERATION_5 73
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 72 && BOOST_PP_ITERATION_START_5 >= 72
-# define BOOST_PP_ITERATION_5 72
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 71 && BOOST_PP_ITERATION_START_5 >= 71
-# define BOOST_PP_ITERATION_5 71
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 70 && BOOST_PP_ITERATION_START_5 >= 70
-# define BOOST_PP_ITERATION_5 70
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 69 && BOOST_PP_ITERATION_START_5 >= 69
-# define BOOST_PP_ITERATION_5 69
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 68 && BOOST_PP_ITERATION_START_5 >= 68
-# define BOOST_PP_ITERATION_5 68
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 67 && BOOST_PP_ITERATION_START_5 >= 67
-# define BOOST_PP_ITERATION_5 67
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 66 && BOOST_PP_ITERATION_START_5 >= 66
-# define BOOST_PP_ITERATION_5 66
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 65 && BOOST_PP_ITERATION_START_5 >= 65
-# define BOOST_PP_ITERATION_5 65
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 64 && BOOST_PP_ITERATION_START_5 >= 64
-# define BOOST_PP_ITERATION_5 64
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 63 && BOOST_PP_ITERATION_START_5 >= 63
-# define BOOST_PP_ITERATION_5 63
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 62 && BOOST_PP_ITERATION_START_5 >= 62
-# define BOOST_PP_ITERATION_5 62
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 61 && BOOST_PP_ITERATION_START_5 >= 61
-# define BOOST_PP_ITERATION_5 61
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 60 && BOOST_PP_ITERATION_START_5 >= 60
-# define BOOST_PP_ITERATION_5 60
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 59 && BOOST_PP_ITERATION_START_5 >= 59
-# define BOOST_PP_ITERATION_5 59
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 58 && BOOST_PP_ITERATION_START_5 >= 58
-# define BOOST_PP_ITERATION_5 58
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 57 && BOOST_PP_ITERATION_START_5 >= 57
-# define BOOST_PP_ITERATION_5 57
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 56 && BOOST_PP_ITERATION_START_5 >= 56
-# define BOOST_PP_ITERATION_5 56
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 55 && BOOST_PP_ITERATION_START_5 >= 55
-# define BOOST_PP_ITERATION_5 55
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 54 && BOOST_PP_ITERATION_START_5 >= 54
-# define BOOST_PP_ITERATION_5 54
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 53 && BOOST_PP_ITERATION_START_5 >= 53
-# define BOOST_PP_ITERATION_5 53
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 52 && BOOST_PP_ITERATION_START_5 >= 52
-# define BOOST_PP_ITERATION_5 52
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 51 && BOOST_PP_ITERATION_START_5 >= 51
-# define BOOST_PP_ITERATION_5 51
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 50 && BOOST_PP_ITERATION_START_5 >= 50
-# define BOOST_PP_ITERATION_5 50
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 49 && BOOST_PP_ITERATION_START_5 >= 49
-# define BOOST_PP_ITERATION_5 49
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 48 && BOOST_PP_ITERATION_START_5 >= 48
-# define BOOST_PP_ITERATION_5 48
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 47 && BOOST_PP_ITERATION_START_5 >= 47
-# define BOOST_PP_ITERATION_5 47
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 46 && BOOST_PP_ITERATION_START_5 >= 46
-# define BOOST_PP_ITERATION_5 46
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 45 && BOOST_PP_ITERATION_START_5 >= 45
-# define BOOST_PP_ITERATION_5 45
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 44 && BOOST_PP_ITERATION_START_5 >= 44
-# define BOOST_PP_ITERATION_5 44
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 43 && BOOST_PP_ITERATION_START_5 >= 43
-# define BOOST_PP_ITERATION_5 43
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 42 && BOOST_PP_ITERATION_START_5 >= 42
-# define BOOST_PP_ITERATION_5 42
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 41 && BOOST_PP_ITERATION_START_5 >= 41
-# define BOOST_PP_ITERATION_5 41
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 40 && BOOST_PP_ITERATION_START_5 >= 40
-# define BOOST_PP_ITERATION_5 40
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 39 && BOOST_PP_ITERATION_START_5 >= 39
-# define BOOST_PP_ITERATION_5 39
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 38 && BOOST_PP_ITERATION_START_5 >= 38
-# define BOOST_PP_ITERATION_5 38
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 37 && BOOST_PP_ITERATION_START_5 >= 37
-# define BOOST_PP_ITERATION_5 37
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 36 && BOOST_PP_ITERATION_START_5 >= 36
-# define BOOST_PP_ITERATION_5 36
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 35 && BOOST_PP_ITERATION_START_5 >= 35
-# define BOOST_PP_ITERATION_5 35
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 34 && BOOST_PP_ITERATION_START_5 >= 34
-# define BOOST_PP_ITERATION_5 34
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 33 && BOOST_PP_ITERATION_START_5 >= 33
-# define BOOST_PP_ITERATION_5 33
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 32 && BOOST_PP_ITERATION_START_5 >= 32
-# define BOOST_PP_ITERATION_5 32
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 31 && BOOST_PP_ITERATION_START_5 >= 31
-# define BOOST_PP_ITERATION_5 31
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 30 && BOOST_PP_ITERATION_START_5 >= 30
-# define BOOST_PP_ITERATION_5 30
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 29 && BOOST_PP_ITERATION_START_5 >= 29
-# define BOOST_PP_ITERATION_5 29
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 28 && BOOST_PP_ITERATION_START_5 >= 28
-# define BOOST_PP_ITERATION_5 28
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 27 && BOOST_PP_ITERATION_START_5 >= 27
-# define BOOST_PP_ITERATION_5 27
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 26 && BOOST_PP_ITERATION_START_5 >= 26
-# define BOOST_PP_ITERATION_5 26
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 25 && BOOST_PP_ITERATION_START_5 >= 25
-# define BOOST_PP_ITERATION_5 25
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 24 && BOOST_PP_ITERATION_START_5 >= 24
-# define BOOST_PP_ITERATION_5 24
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 23 && BOOST_PP_ITERATION_START_5 >= 23
-# define BOOST_PP_ITERATION_5 23
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 22 && BOOST_PP_ITERATION_START_5 >= 22
-# define BOOST_PP_ITERATION_5 22
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 21 && BOOST_PP_ITERATION_START_5 >= 21
-# define BOOST_PP_ITERATION_5 21
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 20 && BOOST_PP_ITERATION_START_5 >= 20
-# define BOOST_PP_ITERATION_5 20
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 19 && BOOST_PP_ITERATION_START_5 >= 19
-# define BOOST_PP_ITERATION_5 19
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 18 && BOOST_PP_ITERATION_START_5 >= 18
-# define BOOST_PP_ITERATION_5 18
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 17 && BOOST_PP_ITERATION_START_5 >= 17
-# define BOOST_PP_ITERATION_5 17
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 16 && BOOST_PP_ITERATION_START_5 >= 16
-# define BOOST_PP_ITERATION_5 16
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 15 && BOOST_PP_ITERATION_START_5 >= 15
-# define BOOST_PP_ITERATION_5 15
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 14 && BOOST_PP_ITERATION_START_5 >= 14
-# define BOOST_PP_ITERATION_5 14
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 13 && BOOST_PP_ITERATION_START_5 >= 13
-# define BOOST_PP_ITERATION_5 13
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 12 && BOOST_PP_ITERATION_START_5 >= 12
-# define BOOST_PP_ITERATION_5 12
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 11 && BOOST_PP_ITERATION_START_5 >= 11
-# define BOOST_PP_ITERATION_5 11
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 10 && BOOST_PP_ITERATION_START_5 >= 10
-# define BOOST_PP_ITERATION_5 10
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 9 && BOOST_PP_ITERATION_START_5 >= 9
-# define BOOST_PP_ITERATION_5 9
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 8 && BOOST_PP_ITERATION_START_5 >= 8
-# define BOOST_PP_ITERATION_5 8
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 7 && BOOST_PP_ITERATION_START_5 >= 7
-# define BOOST_PP_ITERATION_5 7
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 6 && BOOST_PP_ITERATION_START_5 >= 6
-# define BOOST_PP_ITERATION_5 6
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 5 && BOOST_PP_ITERATION_START_5 >= 5
-# define BOOST_PP_ITERATION_5 5
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 4 && BOOST_PP_ITERATION_START_5 >= 4
-# define BOOST_PP_ITERATION_5 4
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 3 && BOOST_PP_ITERATION_START_5 >= 3
-# define BOOST_PP_ITERATION_5 3
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 2 && BOOST_PP_ITERATION_START_5 >= 2
-# define BOOST_PP_ITERATION_5 2
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 1 && BOOST_PP_ITERATION_START_5 >= 1
-# define BOOST_PP_ITERATION_5 1
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
-# if BOOST_PP_ITERATION_FINISH_5 <= 0 && BOOST_PP_ITERATION_START_5 >= 0
-# define BOOST_PP_ITERATION_5 0
-# include BOOST_PP_FILENAME_5
-# undef BOOST_PP_ITERATION_5
-# endif
diff --git a/boost/preprocessor/iteration/detail/local.hpp b/boost/preprocessor/iteration/detail/local.hpp
deleted file mode 100644
index ccddd5e..0000000
--- a/boost/preprocessor/iteration/detail/local.hpp
+++ /dev/null
@@ -1,812 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# if !defined(BOOST_PP_LOCAL_LIMITS)
-# error BOOST_PP_ERROR: local iteration boundaries are not defined
-# elif !defined(BOOST_PP_LOCAL_MACRO)
-# error BOOST_PP_ERROR: local iteration target macro is not defined
-# else
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_LOCAL_S BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_LOCAL_LIMITS)
-# define BOOST_PP_LOCAL_F BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_LOCAL_LIMITS)
-# else
-# define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_LOCAL_LIMITS)
-# include <boost/preprocessor/iteration/detail/start.hpp>
-# define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_LOCAL_LIMITS)
-# include <boost/preprocessor/iteration/detail/finish.hpp>
-# define BOOST_PP_LOCAL_S BOOST_PP_LOCAL_SE()
-# define BOOST_PP_LOCAL_F BOOST_PP_LOCAL_FE()
-# endif
-# endif
-#
-# if (BOOST_PP_LOCAL_S) > (BOOST_PP_LOCAL_F)
-# include <boost/preprocessor/iteration/detail/rlocal.hpp>
-# else
-# if BOOST_PP_LOCAL_C(0)
- BOOST_PP_LOCAL_MACRO(0)
-# endif
-# if BOOST_PP_LOCAL_C(1)
- BOOST_PP_LOCAL_MACRO(1)
-# endif
-# if BOOST_PP_LOCAL_C(2)
- BOOST_PP_LOCAL_MACRO(2)
-# endif
-# if BOOST_PP_LOCAL_C(3)
- BOOST_PP_LOCAL_MACRO(3)
-# endif
-# if BOOST_PP_LOCAL_C(4)
- BOOST_PP_LOCAL_MACRO(4)
-# endif
-# if BOOST_PP_LOCAL_C(5)
- BOOST_PP_LOCAL_MACRO(5)
-# endif
-# if BOOST_PP_LOCAL_C(6)
- BOOST_PP_LOCAL_MACRO(6)
-# endif
-# if BOOST_PP_LOCAL_C(7)
- BOOST_PP_LOCAL_MACRO(7)
-# endif
-# if BOOST_PP_LOCAL_C(8)
- BOOST_PP_LOCAL_MACRO(8)
-# endif
-# if BOOST_PP_LOCAL_C(9)
- BOOST_PP_LOCAL_MACRO(9)
-# endif
-# if BOOST_PP_LOCAL_C(10)
- BOOST_PP_LOCAL_MACRO(10)
-# endif
-# if BOOST_PP_LOCAL_C(11)
- BOOST_PP_LOCAL_MACRO(11)
-# endif
-# if BOOST_PP_LOCAL_C(12)
- BOOST_PP_LOCAL_MACRO(12)
-# endif
-# if BOOST_PP_LOCAL_C(13)
- BOOST_PP_LOCAL_MACRO(13)
-# endif
-# if BOOST_PP_LOCAL_C(14)
- BOOST_PP_LOCAL_MACRO(14)
-# endif
-# if BOOST_PP_LOCAL_C(15)
- BOOST_PP_LOCAL_MACRO(15)
-# endif
-# if BOOST_PP_LOCAL_C(16)
- BOOST_PP_LOCAL_MACRO(16)
-# endif
-# if BOOST_PP_LOCAL_C(17)
- BOOST_PP_LOCAL_MACRO(17)
-# endif
-# if BOOST_PP_LOCAL_C(18)
- BOOST_PP_LOCAL_MACRO(18)
-# endif
-# if BOOST_PP_LOCAL_C(19)
- BOOST_PP_LOCAL_MACRO(19)
-# endif
-# if BOOST_PP_LOCAL_C(20)
- BOOST_PP_LOCAL_MACRO(20)
-# endif
-# if BOOST_PP_LOCAL_C(21)
- BOOST_PP_LOCAL_MACRO(21)
-# endif
-# if BOOST_PP_LOCAL_C(22)
- BOOST_PP_LOCAL_MACRO(22)
-# endif
-# if BOOST_PP_LOCAL_C(23)
- BOOST_PP_LOCAL_MACRO(23)
-# endif
-# if BOOST_PP_LOCAL_C(24)
- BOOST_PP_LOCAL_MACRO(24)
-# endif
-# if BOOST_PP_LOCAL_C(25)
- BOOST_PP_LOCAL_MACRO(25)
-# endif
-# if BOOST_PP_LOCAL_C(26)
- BOOST_PP_LOCAL_MACRO(26)
-# endif
-# if BOOST_PP_LOCAL_C(27)
- BOOST_PP_LOCAL_MACRO(27)
-# endif
-# if BOOST_PP_LOCAL_C(28)
- BOOST_PP_LOCAL_MACRO(28)
-# endif
-# if BOOST_PP_LOCAL_C(29)
- BOOST_PP_LOCAL_MACRO(29)
-# endif
-# if BOOST_PP_LOCAL_C(30)
- BOOST_PP_LOCAL_MACRO(30)
-# endif
-# if BOOST_PP_LOCAL_C(31)
- BOOST_PP_LOCAL_MACRO(31)
-# endif
-# if BOOST_PP_LOCAL_C(32)
- BOOST_PP_LOCAL_MACRO(32)
-# endif
-# if BOOST_PP_LOCAL_C(33)
- BOOST_PP_LOCAL_MACRO(33)
-# endif
-# if BOOST_PP_LOCAL_C(34)
- BOOST_PP_LOCAL_MACRO(34)
-# endif
-# if BOOST_PP_LOCAL_C(35)
- BOOST_PP_LOCAL_MACRO(35)
-# endif
-# if BOOST_PP_LOCAL_C(36)
- BOOST_PP_LOCAL_MACRO(36)
-# endif
-# if BOOST_PP_LOCAL_C(37)
- BOOST_PP_LOCAL_MACRO(37)
-# endif
-# if BOOST_PP_LOCAL_C(38)
- BOOST_PP_LOCAL_MACRO(38)
-# endif
-# if BOOST_PP_LOCAL_C(39)
- BOOST_PP_LOCAL_MACRO(39)
-# endif
-# if BOOST_PP_LOCAL_C(40)
- BOOST_PP_LOCAL_MACRO(40)
-# endif
-# if BOOST_PP_LOCAL_C(41)
- BOOST_PP_LOCAL_MACRO(41)
-# endif
-# if BOOST_PP_LOCAL_C(42)
- BOOST_PP_LOCAL_MACRO(42)
-# endif
-# if BOOST_PP_LOCAL_C(43)
- BOOST_PP_LOCAL_MACRO(43)
-# endif
-# if BOOST_PP_LOCAL_C(44)
- BOOST_PP_LOCAL_MACRO(44)
-# endif
-# if BOOST_PP_LOCAL_C(45)
- BOOST_PP_LOCAL_MACRO(45)
-# endif
-# if BOOST_PP_LOCAL_C(46)
- BOOST_PP_LOCAL_MACRO(46)
-# endif
-# if BOOST_PP_LOCAL_C(47)
- BOOST_PP_LOCAL_MACRO(47)
-# endif
-# if BOOST_PP_LOCAL_C(48)
- BOOST_PP_LOCAL_MACRO(48)
-# endif
-# if BOOST_PP_LOCAL_C(49)
- BOOST_PP_LOCAL_MACRO(49)
-# endif
-# if BOOST_PP_LOCAL_C(50)
- BOOST_PP_LOCAL_MACRO(50)
-# endif
-# if BOOST_PP_LOCAL_C(51)
- BOOST_PP_LOCAL_MACRO(51)
-# endif
-# if BOOST_PP_LOCAL_C(52)
- BOOST_PP_LOCAL_MACRO(52)
-# endif
-# if BOOST_PP_LOCAL_C(53)
- BOOST_PP_LOCAL_MACRO(53)
-# endif
-# if BOOST_PP_LOCAL_C(54)
- BOOST_PP_LOCAL_MACRO(54)
-# endif
-# if BOOST_PP_LOCAL_C(55)
- BOOST_PP_LOCAL_MACRO(55)
-# endif
-# if BOOST_PP_LOCAL_C(56)
- BOOST_PP_LOCAL_MACRO(56)
-# endif
-# if BOOST_PP_LOCAL_C(57)
- BOOST_PP_LOCAL_MACRO(57)
-# endif
-# if BOOST_PP_LOCAL_C(58)
- BOOST_PP_LOCAL_MACRO(58)
-# endif
-# if BOOST_PP_LOCAL_C(59)
- BOOST_PP_LOCAL_MACRO(59)
-# endif
-# if BOOST_PP_LOCAL_C(60)
- BOOST_PP_LOCAL_MACRO(60)
-# endif
-# if BOOST_PP_LOCAL_C(61)
- BOOST_PP_LOCAL_MACRO(61)
-# endif
-# if BOOST_PP_LOCAL_C(62)
- BOOST_PP_LOCAL_MACRO(62)
-# endif
-# if BOOST_PP_LOCAL_C(63)
- BOOST_PP_LOCAL_MACRO(63)
-# endif
-# if BOOST_PP_LOCAL_C(64)
- BOOST_PP_LOCAL_MACRO(64)
-# endif
-# if BOOST_PP_LOCAL_C(65)
- BOOST_PP_LOCAL_MACRO(65)
-# endif
-# if BOOST_PP_LOCAL_C(66)
- BOOST_PP_LOCAL_MACRO(66)
-# endif
-# if BOOST_PP_LOCAL_C(67)
- BOOST_PP_LOCAL_MACRO(67)
-# endif
-# if BOOST_PP_LOCAL_C(68)
- BOOST_PP_LOCAL_MACRO(68)
-# endif
-# if BOOST_PP_LOCAL_C(69)
- BOOST_PP_LOCAL_MACRO(69)
-# endif
-# if BOOST_PP_LOCAL_C(70)
- BOOST_PP_LOCAL_MACRO(70)
-# endif
-# if BOOST_PP_LOCAL_C(71)
- BOOST_PP_LOCAL_MACRO(71)
-# endif
-# if BOOST_PP_LOCAL_C(72)
- BOOST_PP_LOCAL_MACRO(72)
-# endif
-# if BOOST_PP_LOCAL_C(73)
- BOOST_PP_LOCAL_MACRO(73)
-# endif
-# if BOOST_PP_LOCAL_C(74)
- BOOST_PP_LOCAL_MACRO(74)
-# endif
-# if BOOST_PP_LOCAL_C(75)
- BOOST_PP_LOCAL_MACRO(75)
-# endif
-# if BOOST_PP_LOCAL_C(76)
- BOOST_PP_LOCAL_MACRO(76)
-# endif
-# if BOOST_PP_LOCAL_C(77)
- BOOST_PP_LOCAL_MACRO(77)
-# endif
-# if BOOST_PP_LOCAL_C(78)
- BOOST_PP_LOCAL_MACRO(78)
-# endif
-# if BOOST_PP_LOCAL_C(79)
- BOOST_PP_LOCAL_MACRO(79)
-# endif
-# if BOOST_PP_LOCAL_C(80)
- BOOST_PP_LOCAL_MACRO(80)
-# endif
-# if BOOST_PP_LOCAL_C(81)
- BOOST_PP_LOCAL_MACRO(81)
-# endif
-# if BOOST_PP_LOCAL_C(82)
- BOOST_PP_LOCAL_MACRO(82)
-# endif
-# if BOOST_PP_LOCAL_C(83)
- BOOST_PP_LOCAL_MACRO(83)
-# endif
-# if BOOST_PP_LOCAL_C(84)
- BOOST_PP_LOCAL_MACRO(84)
-# endif
-# if BOOST_PP_LOCAL_C(85)
- BOOST_PP_LOCAL_MACRO(85)
-# endif
-# if BOOST_PP_LOCAL_C(86)
- BOOST_PP_LOCAL_MACRO(86)
-# endif
-# if BOOST_PP_LOCAL_C(87)
- BOOST_PP_LOCAL_MACRO(87)
-# endif
-# if BOOST_PP_LOCAL_C(88)
- BOOST_PP_LOCAL_MACRO(88)
-# endif
-# if BOOST_PP_LOCAL_C(89)
- BOOST_PP_LOCAL_MACRO(89)
-# endif
-# if BOOST_PP_LOCAL_C(90)
- BOOST_PP_LOCAL_MACRO(90)
-# endif
-# if BOOST_PP_LOCAL_C(91)
- BOOST_PP_LOCAL_MACRO(91)
-# endif
-# if BOOST_PP_LOCAL_C(92)
- BOOST_PP_LOCAL_MACRO(92)
-# endif
-# if BOOST_PP_LOCAL_C(93)
- BOOST_PP_LOCAL_MACRO(93)
-# endif
-# if BOOST_PP_LOCAL_C(94)
- BOOST_PP_LOCAL_MACRO(94)
-# endif
-# if BOOST_PP_LOCAL_C(95)
- BOOST_PP_LOCAL_MACRO(95)
-# endif
-# if BOOST_PP_LOCAL_C(96)
- BOOST_PP_LOCAL_MACRO(96)
-# endif
-# if BOOST_PP_LOCAL_C(97)
- BOOST_PP_LOCAL_MACRO(97)
-# endif
-# if BOOST_PP_LOCAL_C(98)
- BOOST_PP_LOCAL_MACRO(98)
-# endif
-# if BOOST_PP_LOCAL_C(99)
- BOOST_PP_LOCAL_MACRO(99)
-# endif
-# if BOOST_PP_LOCAL_C(100)
- BOOST_PP_LOCAL_MACRO(100)
-# endif
-# if BOOST_PP_LOCAL_C(101)
- BOOST_PP_LOCAL_MACRO(101)
-# endif
-# if BOOST_PP_LOCAL_C(102)
- BOOST_PP_LOCAL_MACRO(102)
-# endif
-# if BOOST_PP_LOCAL_C(103)
- BOOST_PP_LOCAL_MACRO(103)
-# endif
-# if BOOST_PP_LOCAL_C(104)
- BOOST_PP_LOCAL_MACRO(104)
-# endif
-# if BOOST_PP_LOCAL_C(105)
- BOOST_PP_LOCAL_MACRO(105)
-# endif
-# if BOOST_PP_LOCAL_C(106)
- BOOST_PP_LOCAL_MACRO(106)
-# endif
-# if BOOST_PP_LOCAL_C(107)
- BOOST_PP_LOCAL_MACRO(107)
-# endif
-# if BOOST_PP_LOCAL_C(108)
- BOOST_PP_LOCAL_MACRO(108)
-# endif
-# if BOOST_PP_LOCAL_C(109)
- BOOST_PP_LOCAL_MACRO(109)
-# endif
-# if BOOST_PP_LOCAL_C(110)
- BOOST_PP_LOCAL_MACRO(110)
-# endif
-# if BOOST_PP_LOCAL_C(111)
- BOOST_PP_LOCAL_MACRO(111)
-# endif
-# if BOOST_PP_LOCAL_C(112)
- BOOST_PP_LOCAL_MACRO(112)
-# endif
-# if BOOST_PP_LOCAL_C(113)
- BOOST_PP_LOCAL_MACRO(113)
-# endif
-# if BOOST_PP_LOCAL_C(114)
- BOOST_PP_LOCAL_MACRO(114)
-# endif
-# if BOOST_PP_LOCAL_C(115)
- BOOST_PP_LOCAL_MACRO(115)
-# endif
-# if BOOST_PP_LOCAL_C(116)
- BOOST_PP_LOCAL_MACRO(116)
-# endif
-# if BOOST_PP_LOCAL_C(117)
- BOOST_PP_LOCAL_MACRO(117)
-# endif
-# if BOOST_PP_LOCAL_C(118)
- BOOST_PP_LOCAL_MACRO(118)
-# endif
-# if BOOST_PP_LOCAL_C(119)
- BOOST_PP_LOCAL_MACRO(119)
-# endif
-# if BOOST_PP_LOCAL_C(120)
- BOOST_PP_LOCAL_MACRO(120)
-# endif
-# if BOOST_PP_LOCAL_C(121)
- BOOST_PP_LOCAL_MACRO(121)
-# endif
-# if BOOST_PP_LOCAL_C(122)
- BOOST_PP_LOCAL_MACRO(122)
-# endif
-# if BOOST_PP_LOCAL_C(123)
- BOOST_PP_LOCAL_MACRO(123)
-# endif
-# if BOOST_PP_LOCAL_C(124)
- BOOST_PP_LOCAL_MACRO(124)
-# endif
-# if BOOST_PP_LOCAL_C(125)
- BOOST_PP_LOCAL_MACRO(125)
-# endif
-# if BOOST_PP_LOCAL_C(126)
- BOOST_PP_LOCAL_MACRO(126)
-# endif
-# if BOOST_PP_LOCAL_C(127)
- BOOST_PP_LOCAL_MACRO(127)
-# endif
-# if BOOST_PP_LOCAL_C(128)
- BOOST_PP_LOCAL_MACRO(128)
-# endif
-# if BOOST_PP_LOCAL_C(129)
- BOOST_PP_LOCAL_MACRO(129)
-# endif
-# if BOOST_PP_LOCAL_C(130)
- BOOST_PP_LOCAL_MACRO(130)
-# endif
-# if BOOST_PP_LOCAL_C(131)
- BOOST_PP_LOCAL_MACRO(131)
-# endif
-# if BOOST_PP_LOCAL_C(132)
- BOOST_PP_LOCAL_MACRO(132)
-# endif
-# if BOOST_PP_LOCAL_C(133)
- BOOST_PP_LOCAL_MACRO(133)
-# endif
-# if BOOST_PP_LOCAL_C(134)
- BOOST_PP_LOCAL_MACRO(134)
-# endif
-# if BOOST_PP_LOCAL_C(135)
- BOOST_PP_LOCAL_MACRO(135)
-# endif
-# if BOOST_PP_LOCAL_C(136)
- BOOST_PP_LOCAL_MACRO(136)
-# endif
-# if BOOST_PP_LOCAL_C(137)
- BOOST_PP_LOCAL_MACRO(137)
-# endif
-# if BOOST_PP_LOCAL_C(138)
- BOOST_PP_LOCAL_MACRO(138)
-# endif
-# if BOOST_PP_LOCAL_C(139)
- BOOST_PP_LOCAL_MACRO(139)
-# endif
-# if BOOST_PP_LOCAL_C(140)
- BOOST_PP_LOCAL_MACRO(140)
-# endif
-# if BOOST_PP_LOCAL_C(141)
- BOOST_PP_LOCAL_MACRO(141)
-# endif
-# if BOOST_PP_LOCAL_C(142)
- BOOST_PP_LOCAL_MACRO(142)
-# endif
-# if BOOST_PP_LOCAL_C(143)
- BOOST_PP_LOCAL_MACRO(143)
-# endif
-# if BOOST_PP_LOCAL_C(144)
- BOOST_PP_LOCAL_MACRO(144)
-# endif
-# if BOOST_PP_LOCAL_C(145)
- BOOST_PP_LOCAL_MACRO(145)
-# endif
-# if BOOST_PP_LOCAL_C(146)
- BOOST_PP_LOCAL_MACRO(146)
-# endif
-# if BOOST_PP_LOCAL_C(147)
- BOOST_PP_LOCAL_MACRO(147)
-# endif
-# if BOOST_PP_LOCAL_C(148)
- BOOST_PP_LOCAL_MACRO(148)
-# endif
-# if BOOST_PP_LOCAL_C(149)
- BOOST_PP_LOCAL_MACRO(149)
-# endif
-# if BOOST_PP_LOCAL_C(150)
- BOOST_PP_LOCAL_MACRO(150)
-# endif
-# if BOOST_PP_LOCAL_C(151)
- BOOST_PP_LOCAL_MACRO(151)
-# endif
-# if BOOST_PP_LOCAL_C(152)
- BOOST_PP_LOCAL_MACRO(152)
-# endif
-# if BOOST_PP_LOCAL_C(153)
- BOOST_PP_LOCAL_MACRO(153)
-# endif
-# if BOOST_PP_LOCAL_C(154)
- BOOST_PP_LOCAL_MACRO(154)
-# endif
-# if BOOST_PP_LOCAL_C(155)
- BOOST_PP_LOCAL_MACRO(155)
-# endif
-# if BOOST_PP_LOCAL_C(156)
- BOOST_PP_LOCAL_MACRO(156)
-# endif
-# if BOOST_PP_LOCAL_C(157)
- BOOST_PP_LOCAL_MACRO(157)
-# endif
-# if BOOST_PP_LOCAL_C(158)
- BOOST_PP_LOCAL_MACRO(158)
-# endif
-# if BOOST_PP_LOCAL_C(159)
- BOOST_PP_LOCAL_MACRO(159)
-# endif
-# if BOOST_PP_LOCAL_C(160)
- BOOST_PP_LOCAL_MACRO(160)
-# endif
-# if BOOST_PP_LOCAL_C(161)
- BOOST_PP_LOCAL_MACRO(161)
-# endif
-# if BOOST_PP_LOCAL_C(162)
- BOOST_PP_LOCAL_MACRO(162)
-# endif
-# if BOOST_PP_LOCAL_C(163)
- BOOST_PP_LOCAL_MACRO(163)
-# endif
-# if BOOST_PP_LOCAL_C(164)
- BOOST_PP_LOCAL_MACRO(164)
-# endif
-# if BOOST_PP_LOCAL_C(165)
- BOOST_PP_LOCAL_MACRO(165)
-# endif
-# if BOOST_PP_LOCAL_C(166)
- BOOST_PP_LOCAL_MACRO(166)
-# endif
-# if BOOST_PP_LOCAL_C(167)
- BOOST_PP_LOCAL_MACRO(167)
-# endif
-# if BOOST_PP_LOCAL_C(168)
- BOOST_PP_LOCAL_MACRO(168)
-# endif
-# if BOOST_PP_LOCAL_C(169)
- BOOST_PP_LOCAL_MACRO(169)
-# endif
-# if BOOST_PP_LOCAL_C(170)
- BOOST_PP_LOCAL_MACRO(170)
-# endif
-# if BOOST_PP_LOCAL_C(171)
- BOOST_PP_LOCAL_MACRO(171)
-# endif
-# if BOOST_PP_LOCAL_C(172)
- BOOST_PP_LOCAL_MACRO(172)
-# endif
-# if BOOST_PP_LOCAL_C(173)
- BOOST_PP_LOCAL_MACRO(173)
-# endif
-# if BOOST_PP_LOCAL_C(174)
- BOOST_PP_LOCAL_MACRO(174)
-# endif
-# if BOOST_PP_LOCAL_C(175)
- BOOST_PP_LOCAL_MACRO(175)
-# endif
-# if BOOST_PP_LOCAL_C(176)
- BOOST_PP_LOCAL_MACRO(176)
-# endif
-# if BOOST_PP_LOCAL_C(177)
- BOOST_PP_LOCAL_MACRO(177)
-# endif
-# if BOOST_PP_LOCAL_C(178)
- BOOST_PP_LOCAL_MACRO(178)
-# endif
-# if BOOST_PP_LOCAL_C(179)
- BOOST_PP_LOCAL_MACRO(179)
-# endif
-# if BOOST_PP_LOCAL_C(180)
- BOOST_PP_LOCAL_MACRO(180)
-# endif
-# if BOOST_PP_LOCAL_C(181)
- BOOST_PP_LOCAL_MACRO(181)
-# endif
-# if BOOST_PP_LOCAL_C(182)
- BOOST_PP_LOCAL_MACRO(182)
-# endif
-# if BOOST_PP_LOCAL_C(183)
- BOOST_PP_LOCAL_MACRO(183)
-# endif
-# if BOOST_PP_LOCAL_C(184)
- BOOST_PP_LOCAL_MACRO(184)
-# endif
-# if BOOST_PP_LOCAL_C(185)
- BOOST_PP_LOCAL_MACRO(185)
-# endif
-# if BOOST_PP_LOCAL_C(186)
- BOOST_PP_LOCAL_MACRO(186)
-# endif
-# if BOOST_PP_LOCAL_C(187)
- BOOST_PP_LOCAL_MACRO(187)
-# endif
-# if BOOST_PP_LOCAL_C(188)
- BOOST_PP_LOCAL_MACRO(188)
-# endif
-# if BOOST_PP_LOCAL_C(189)
- BOOST_PP_LOCAL_MACRO(189)
-# endif
-# if BOOST_PP_LOCAL_C(190)
- BOOST_PP_LOCAL_MACRO(190)
-# endif
-# if BOOST_PP_LOCAL_C(191)
- BOOST_PP_LOCAL_MACRO(191)
-# endif
-# if BOOST_PP_LOCAL_C(192)
- BOOST_PP_LOCAL_MACRO(192)
-# endif
-# if BOOST_PP_LOCAL_C(193)
- BOOST_PP_LOCAL_MACRO(193)
-# endif
-# if BOOST_PP_LOCAL_C(194)
- BOOST_PP_LOCAL_MACRO(194)
-# endif
-# if BOOST_PP_LOCAL_C(195)
- BOOST_PP_LOCAL_MACRO(195)
-# endif
-# if BOOST_PP_LOCAL_C(196)
- BOOST_PP_LOCAL_MACRO(196)
-# endif
-# if BOOST_PP_LOCAL_C(197)
- BOOST_PP_LOCAL_MACRO(197)
-# endif
-# if BOOST_PP_LOCAL_C(198)
- BOOST_PP_LOCAL_MACRO(198)
-# endif
-# if BOOST_PP_LOCAL_C(199)
- BOOST_PP_LOCAL_MACRO(199)
-# endif
-# if BOOST_PP_LOCAL_C(200)
- BOOST_PP_LOCAL_MACRO(200)
-# endif
-# if BOOST_PP_LOCAL_C(201)
- BOOST_PP_LOCAL_MACRO(201)
-# endif
-# if BOOST_PP_LOCAL_C(202)
- BOOST_PP_LOCAL_MACRO(202)
-# endif
-# if BOOST_PP_LOCAL_C(203)
- BOOST_PP_LOCAL_MACRO(203)
-# endif
-# if BOOST_PP_LOCAL_C(204)
- BOOST_PP_LOCAL_MACRO(204)
-# endif
-# if BOOST_PP_LOCAL_C(205)
- BOOST_PP_LOCAL_MACRO(205)
-# endif
-# if BOOST_PP_LOCAL_C(206)
- BOOST_PP_LOCAL_MACRO(206)
-# endif
-# if BOOST_PP_LOCAL_C(207)
- BOOST_PP_LOCAL_MACRO(207)
-# endif
-# if BOOST_PP_LOCAL_C(208)
- BOOST_PP_LOCAL_MACRO(208)
-# endif
-# if BOOST_PP_LOCAL_C(209)
- BOOST_PP_LOCAL_MACRO(209)
-# endif
-# if BOOST_PP_LOCAL_C(210)
- BOOST_PP_LOCAL_MACRO(210)
-# endif
-# if BOOST_PP_LOCAL_C(211)
- BOOST_PP_LOCAL_MACRO(211)
-# endif
-# if BOOST_PP_LOCAL_C(212)
- BOOST_PP_LOCAL_MACRO(212)
-# endif
-# if BOOST_PP_LOCAL_C(213)
- BOOST_PP_LOCAL_MACRO(213)
-# endif
-# if BOOST_PP_LOCAL_C(214)
- BOOST_PP_LOCAL_MACRO(214)
-# endif
-# if BOOST_PP_LOCAL_C(215)
- BOOST_PP_LOCAL_MACRO(215)
-# endif
-# if BOOST_PP_LOCAL_C(216)
- BOOST_PP_LOCAL_MACRO(216)
-# endif
-# if BOOST_PP_LOCAL_C(217)
- BOOST_PP_LOCAL_MACRO(217)
-# endif
-# if BOOST_PP_LOCAL_C(218)
- BOOST_PP_LOCAL_MACRO(218)
-# endif
-# if BOOST_PP_LOCAL_C(219)
- BOOST_PP_LOCAL_MACRO(219)
-# endif
-# if BOOST_PP_LOCAL_C(220)
- BOOST_PP_LOCAL_MACRO(220)
-# endif
-# if BOOST_PP_LOCAL_C(221)
- BOOST_PP_LOCAL_MACRO(221)
-# endif
-# if BOOST_PP_LOCAL_C(222)
- BOOST_PP_LOCAL_MACRO(222)
-# endif
-# if BOOST_PP_LOCAL_C(223)
- BOOST_PP_LOCAL_MACRO(223)
-# endif
-# if BOOST_PP_LOCAL_C(224)
- BOOST_PP_LOCAL_MACRO(224)
-# endif
-# if BOOST_PP_LOCAL_C(225)
- BOOST_PP_LOCAL_MACRO(225)
-# endif
-# if BOOST_PP_LOCAL_C(226)
- BOOST_PP_LOCAL_MACRO(226)
-# endif
-# if BOOST_PP_LOCAL_C(227)
- BOOST_PP_LOCAL_MACRO(227)
-# endif
-# if BOOST_PP_LOCAL_C(228)
- BOOST_PP_LOCAL_MACRO(228)
-# endif
-# if BOOST_PP_LOCAL_C(229)
- BOOST_PP_LOCAL_MACRO(229)
-# endif
-# if BOOST_PP_LOCAL_C(230)
- BOOST_PP_LOCAL_MACRO(230)
-# endif
-# if BOOST_PP_LOCAL_C(231)
- BOOST_PP_LOCAL_MACRO(231)
-# endif
-# if BOOST_PP_LOCAL_C(232)
- BOOST_PP_LOCAL_MACRO(232)
-# endif
-# if BOOST_PP_LOCAL_C(233)
- BOOST_PP_LOCAL_MACRO(233)
-# endif
-# if BOOST_PP_LOCAL_C(234)
- BOOST_PP_LOCAL_MACRO(234)
-# endif
-# if BOOST_PP_LOCAL_C(235)
- BOOST_PP_LOCAL_MACRO(235)
-# endif
-# if BOOST_PP_LOCAL_C(236)
- BOOST_PP_LOCAL_MACRO(236)
-# endif
-
-# if BOOST_PP_LOCAL_C(237)
- BOOST_PP_LOCAL_MACRO(237)
-# endif
-# if BOOST_PP_LOCAL_C(238)
- BOOST_PP_LOCAL_MACRO(238)
-# endif
-# if BOOST_PP_LOCAL_C(239)
- BOOST_PP_LOCAL_MACRO(239)
-# endif
-# if BOOST_PP_LOCAL_C(240)
- BOOST_PP_LOCAL_MACRO(240)
-# endif
-# if BOOST_PP_LOCAL_C(241)
- BOOST_PP_LOCAL_MACRO(241)
-# endif
-# if BOOST_PP_LOCAL_C(242)
- BOOST_PP_LOCAL_MACRO(242)
-# endif
-# if BOOST_PP_LOCAL_C(243)
- BOOST_PP_LOCAL_MACRO(243)
-# endif
-# if BOOST_PP_LOCAL_C(244)
- BOOST_PP_LOCAL_MACRO(244)
-# endif
-# if BOOST_PP_LOCAL_C(245)
- BOOST_PP_LOCAL_MACRO(245)
-# endif
-# if BOOST_PP_LOCAL_C(246)
- BOOST_PP_LOCAL_MACRO(246)
-# endif
-# if BOOST_PP_LOCAL_C(247)
- BOOST_PP_LOCAL_MACRO(247)
-# endif
-# if BOOST_PP_LOCAL_C(248)
- BOOST_PP_LOCAL_MACRO(248)
-# endif
-# if BOOST_PP_LOCAL_C(249)
- BOOST_PP_LOCAL_MACRO(249)
-# endif
-# if BOOST_PP_LOCAL_C(250)
- BOOST_PP_LOCAL_MACRO(250)
-# endif
-# if BOOST_PP_LOCAL_C(251)
- BOOST_PP_LOCAL_MACRO(251)
-# endif
-# if BOOST_PP_LOCAL_C(252)
- BOOST_PP_LOCAL_MACRO(252)
-# endif
-# if BOOST_PP_LOCAL_C(253)
- BOOST_PP_LOCAL_MACRO(253)
-# endif
-# if BOOST_PP_LOCAL_C(254)
- BOOST_PP_LOCAL_MACRO(254)
-# endif
-# if BOOST_PP_LOCAL_C(255)
- BOOST_PP_LOCAL_MACRO(255)
-# endif
-# if BOOST_PP_LOCAL_C(256)
- BOOST_PP_LOCAL_MACRO(256)
-# endif
-# endif
-#
-# undef BOOST_PP_LOCAL_LIMITS
-#
-# undef BOOST_PP_LOCAL_S
-# undef BOOST_PP_LOCAL_F
-#
-# undef BOOST_PP_LOCAL_MACRO
diff --git a/boost/preprocessor/iteration/detail/rlocal.hpp b/boost/preprocessor/iteration/detail/rlocal.hpp
deleted file mode 100644
index 413afa0..0000000
--- a/boost/preprocessor/iteration/detail/rlocal.hpp
+++ /dev/null
@@ -1,782 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# if BOOST_PP_LOCAL_R(256)
- BOOST_PP_LOCAL_MACRO(256)
-# endif
-# if BOOST_PP_LOCAL_R(255)
- BOOST_PP_LOCAL_MACRO(255)
-# endif
-# if BOOST_PP_LOCAL_R(254)
- BOOST_PP_LOCAL_MACRO(254)
-# endif
-# if BOOST_PP_LOCAL_R(253)
- BOOST_PP_LOCAL_MACRO(253)
-# endif
-# if BOOST_PP_LOCAL_R(252)
- BOOST_PP_LOCAL_MACRO(252)
-# endif
-# if BOOST_PP_LOCAL_R(251)
- BOOST_PP_LOCAL_MACRO(251)
-# endif
-# if BOOST_PP_LOCAL_R(250)
- BOOST_PP_LOCAL_MACRO(250)
-# endif
-# if BOOST_PP_LOCAL_R(249)
- BOOST_PP_LOCAL_MACRO(249)
-# endif
-# if BOOST_PP_LOCAL_R(248)
- BOOST_PP_LOCAL_MACRO(248)
-# endif
-# if BOOST_PP_LOCAL_R(247)
- BOOST_PP_LOCAL_MACRO(247)
-# endif
-# if BOOST_PP_LOCAL_R(246)
- BOOST_PP_LOCAL_MACRO(246)
-# endif
-# if BOOST_PP_LOCAL_R(245)
- BOOST_PP_LOCAL_MACRO(245)
-# endif
-# if BOOST_PP_LOCAL_R(244)
- BOOST_PP_LOCAL_MACRO(244)
-# endif
-# if BOOST_PP_LOCAL_R(243)
- BOOST_PP_LOCAL_MACRO(243)
-# endif
-# if BOOST_PP_LOCAL_R(242)
- BOOST_PP_LOCAL_MACRO(242)
-# endif
-# if BOOST_PP_LOCAL_R(241)
- BOOST_PP_LOCAL_MACRO(241)
-# endif
-# if BOOST_PP_LOCAL_R(240)
- BOOST_PP_LOCAL_MACRO(240)
-# endif
-# if BOOST_PP_LOCAL_R(239)
- BOOST_PP_LOCAL_MACRO(239)
-# endif
-# if BOOST_PP_LOCAL_R(238)
- BOOST_PP_LOCAL_MACRO(238)
-# endif
-# if BOOST_PP_LOCAL_R(237)
- BOOST_PP_LOCAL_MACRO(237)
-# endif
-# if BOOST_PP_LOCAL_R(236)
- BOOST_PP_LOCAL_MACRO(236)
-# endif
-# if BOOST_PP_LOCAL_R(235)
- BOOST_PP_LOCAL_MACRO(235)
-# endif
-# if BOOST_PP_LOCAL_R(234)
- BOOST_PP_LOCAL_MACRO(234)
-# endif
-# if BOOST_PP_LOCAL_R(233)
- BOOST_PP_LOCAL_MACRO(233)
-# endif
-# if BOOST_PP_LOCAL_R(232)
- BOOST_PP_LOCAL_MACRO(232)
-# endif
-# if BOOST_PP_LOCAL_R(231)
- BOOST_PP_LOCAL_MACRO(231)
-# endif
-# if BOOST_PP_LOCAL_R(230)
- BOOST_PP_LOCAL_MACRO(230)
-# endif
-# if BOOST_PP_LOCAL_R(229)
- BOOST_PP_LOCAL_MACRO(229)
-# endif
-# if BOOST_PP_LOCAL_R(228)
- BOOST_PP_LOCAL_MACRO(228)
-# endif
-# if BOOST_PP_LOCAL_R(227)
- BOOST_PP_LOCAL_MACRO(227)
-# endif
-# if BOOST_PP_LOCAL_R(226)
- BOOST_PP_LOCAL_MACRO(226)
-# endif
-# if BOOST_PP_LOCAL_R(225)
- BOOST_PP_LOCAL_MACRO(225)
-# endif
-# if BOOST_PP_LOCAL_R(224)
- BOOST_PP_LOCAL_MACRO(224)
-# endif
-# if BOOST_PP_LOCAL_R(223)
- BOOST_PP_LOCAL_MACRO(223)
-# endif
-# if BOOST_PP_LOCAL_R(222)
- BOOST_PP_LOCAL_MACRO(222)
-# endif
-# if BOOST_PP_LOCAL_R(221)
- BOOST_PP_LOCAL_MACRO(221)
-# endif
-# if BOOST_PP_LOCAL_R(220)
- BOOST_PP_LOCAL_MACRO(220)
-# endif
-# if BOOST_PP_LOCAL_R(219)
- BOOST_PP_LOCAL_MACRO(219)
-# endif
-# if BOOST_PP_LOCAL_R(218)
- BOOST_PP_LOCAL_MACRO(218)
-# endif
-# if BOOST_PP_LOCAL_R(217)
- BOOST_PP_LOCAL_MACRO(217)
-# endif
-# if BOOST_PP_LOCAL_R(216)
- BOOST_PP_LOCAL_MACRO(216)
-# endif
-# if BOOST_PP_LOCAL_R(215)
- BOOST_PP_LOCAL_MACRO(215)
-# endif
-# if BOOST_PP_LOCAL_R(214)
- BOOST_PP_LOCAL_MACRO(214)
-# endif
-# if BOOST_PP_LOCAL_R(213)
- BOOST_PP_LOCAL_MACRO(213)
-# endif
-# if BOOST_PP_LOCAL_R(212)
- BOOST_PP_LOCAL_MACRO(212)
-# endif
-# if BOOST_PP_LOCAL_R(211)
- BOOST_PP_LOCAL_MACRO(211)
-# endif
-# if BOOST_PP_LOCAL_R(210)
- BOOST_PP_LOCAL_MACRO(210)
-# endif
-# if BOOST_PP_LOCAL_R(209)
- BOOST_PP_LOCAL_MACRO(209)
-# endif
-# if BOOST_PP_LOCAL_R(208)
- BOOST_PP_LOCAL_MACRO(208)
-# endif
-# if BOOST_PP_LOCAL_R(207)
- BOOST_PP_LOCAL_MACRO(207)
-# endif
-# if BOOST_PP_LOCAL_R(206)
- BOOST_PP_LOCAL_MACRO(206)
-# endif
-# if BOOST_PP_LOCAL_R(205)
- BOOST_PP_LOCAL_MACRO(205)
-# endif
-# if BOOST_PP_LOCAL_R(204)
- BOOST_PP_LOCAL_MACRO(204)
-# endif
-# if BOOST_PP_LOCAL_R(203)
- BOOST_PP_LOCAL_MACRO(203)
-# endif
-# if BOOST_PP_LOCAL_R(202)
- BOOST_PP_LOCAL_MACRO(202)
-# endif
-# if BOOST_PP_LOCAL_R(201)
- BOOST_PP_LOCAL_MACRO(201)
-# endif
-# if BOOST_PP_LOCAL_R(200)
- BOOST_PP_LOCAL_MACRO(200)
-# endif
-# if BOOST_PP_LOCAL_R(199)
- BOOST_PP_LOCAL_MACRO(199)
-# endif
-# if BOOST_PP_LOCAL_R(198)
- BOOST_PP_LOCAL_MACRO(198)
-# endif
-# if BOOST_PP_LOCAL_R(197)
- BOOST_PP_LOCAL_MACRO(197)
-# endif
-# if BOOST_PP_LOCAL_R(196)
- BOOST_PP_LOCAL_MACRO(196)
-# endif
-# if BOOST_PP_LOCAL_R(195)
- BOOST_PP_LOCAL_MACRO(195)
-# endif
-# if BOOST_PP_LOCAL_R(194)
- BOOST_PP_LOCAL_MACRO(194)
-# endif
-# if BOOST_PP_LOCAL_R(193)
- BOOST_PP_LOCAL_MACRO(193)
-# endif
-# if BOOST_PP_LOCAL_R(192)
- BOOST_PP_LOCAL_MACRO(192)
-# endif
-# if BOOST_PP_LOCAL_R(191)
- BOOST_PP_LOCAL_MACRO(191)
-# endif
-# if BOOST_PP_LOCAL_R(190)
- BOOST_PP_LOCAL_MACRO(190)
-# endif
-# if BOOST_PP_LOCAL_R(189)
- BOOST_PP_LOCAL_MACRO(189)
-# endif
-# if BOOST_PP_LOCAL_R(188)
- BOOST_PP_LOCAL_MACRO(188)
-# endif
-# if BOOST_PP_LOCAL_R(187)
- BOOST_PP_LOCAL_MACRO(187)
-# endif
-# if BOOST_PP_LOCAL_R(186)
- BOOST_PP_LOCAL_MACRO(186)
-# endif
-# if BOOST_PP_LOCAL_R(185)
- BOOST_PP_LOCAL_MACRO(185)
-# endif
-# if BOOST_PP_LOCAL_R(184)
- BOOST_PP_LOCAL_MACRO(184)
-# endif
-# if BOOST_PP_LOCAL_R(183)
- BOOST_PP_LOCAL_MACRO(183)
-# endif
-# if BOOST_PP_LOCAL_R(182)
- BOOST_PP_LOCAL_MACRO(182)
-# endif
-# if BOOST_PP_LOCAL_R(181)
- BOOST_PP_LOCAL_MACRO(181)
-# endif
-# if BOOST_PP_LOCAL_R(180)
- BOOST_PP_LOCAL_MACRO(180)
-# endif
-# if BOOST_PP_LOCAL_R(179)
- BOOST_PP_LOCAL_MACRO(179)
-# endif
-# if BOOST_PP_LOCAL_R(178)
- BOOST_PP_LOCAL_MACRO(178)
-# endif
-# if BOOST_PP_LOCAL_R(177)
- BOOST_PP_LOCAL_MACRO(177)
-# endif
-# if BOOST_PP_LOCAL_R(176)
- BOOST_PP_LOCAL_MACRO(176)
-# endif
-# if BOOST_PP_LOCAL_R(175)
- BOOST_PP_LOCAL_MACRO(175)
-# endif
-# if BOOST_PP_LOCAL_R(174)
- BOOST_PP_LOCAL_MACRO(174)
-# endif
-# if BOOST_PP_LOCAL_R(173)
- BOOST_PP_LOCAL_MACRO(173)
-# endif
-# if BOOST_PP_LOCAL_R(172)
- BOOST_PP_LOCAL_MACRO(172)
-# endif
-# if BOOST_PP_LOCAL_R(171)
- BOOST_PP_LOCAL_MACRO(171)
-# endif
-# if BOOST_PP_LOCAL_R(170)
- BOOST_PP_LOCAL_MACRO(170)
-# endif
-# if BOOST_PP_LOCAL_R(169)
- BOOST_PP_LOCAL_MACRO(169)
-# endif
-# if BOOST_PP_LOCAL_R(168)
- BOOST_PP_LOCAL_MACRO(168)
-# endif
-# if BOOST_PP_LOCAL_R(167)
- BOOST_PP_LOCAL_MACRO(167)
-# endif
-# if BOOST_PP_LOCAL_R(166)
- BOOST_PP_LOCAL_MACRO(166)
-# endif
-# if BOOST_PP_LOCAL_R(165)
- BOOST_PP_LOCAL_MACRO(165)
-# endif
-# if BOOST_PP_LOCAL_R(164)
- BOOST_PP_LOCAL_MACRO(164)
-# endif
-# if BOOST_PP_LOCAL_R(163)
- BOOST_PP_LOCAL_MACRO(163)
-# endif
-# if BOOST_PP_LOCAL_R(162)
- BOOST_PP_LOCAL_MACRO(162)
-# endif
-# if BOOST_PP_LOCAL_R(161)
- BOOST_PP_LOCAL_MACRO(161)
-# endif
-# if BOOST_PP_LOCAL_R(160)
- BOOST_PP_LOCAL_MACRO(160)
-# endif
-# if BOOST_PP_LOCAL_R(159)
- BOOST_PP_LOCAL_MACRO(159)
-# endif
-# if BOOST_PP_LOCAL_R(158)
- BOOST_PP_LOCAL_MACRO(158)
-# endif
-# if BOOST_PP_LOCAL_R(157)
- BOOST_PP_LOCAL_MACRO(157)
-# endif
-# if BOOST_PP_LOCAL_R(156)
- BOOST_PP_LOCAL_MACRO(156)
-# endif
-# if BOOST_PP_LOCAL_R(155)
- BOOST_PP_LOCAL_MACRO(155)
-# endif
-# if BOOST_PP_LOCAL_R(154)
- BOOST_PP_LOCAL_MACRO(154)
-# endif
-# if BOOST_PP_LOCAL_R(153)
- BOOST_PP_LOCAL_MACRO(153)
-# endif
-# if BOOST_PP_LOCAL_R(152)
- BOOST_PP_LOCAL_MACRO(152)
-# endif
-# if BOOST_PP_LOCAL_R(151)
- BOOST_PP_LOCAL_MACRO(151)
-# endif
-# if BOOST_PP_LOCAL_R(150)
- BOOST_PP_LOCAL_MACRO(150)
-# endif
-# if BOOST_PP_LOCAL_R(149)
- BOOST_PP_LOCAL_MACRO(149)
-# endif
-# if BOOST_PP_LOCAL_R(148)
- BOOST_PP_LOCAL_MACRO(148)
-# endif
-# if BOOST_PP_LOCAL_R(147)
- BOOST_PP_LOCAL_MACRO(147)
-# endif
-# if BOOST_PP_LOCAL_R(146)
- BOOST_PP_LOCAL_MACRO(146)
-# endif
-# if BOOST_PP_LOCAL_R(145)
- BOOST_PP_LOCAL_MACRO(145)
-# endif
-# if BOOST_PP_LOCAL_R(144)
- BOOST_PP_LOCAL_MACRO(144)
-# endif
-# if BOOST_PP_LOCAL_R(143)
- BOOST_PP_LOCAL_MACRO(143)
-# endif
-# if BOOST_PP_LOCAL_R(142)
- BOOST_PP_LOCAL_MACRO(142)
-# endif
-# if BOOST_PP_LOCAL_R(141)
- BOOST_PP_LOCAL_MACRO(141)
-# endif
-# if BOOST_PP_LOCAL_R(140)
- BOOST_PP_LOCAL_MACRO(140)
-# endif
-# if BOOST_PP_LOCAL_R(139)
- BOOST_PP_LOCAL_MACRO(139)
-# endif
-# if BOOST_PP_LOCAL_R(138)
- BOOST_PP_LOCAL_MACRO(138)
-# endif
-# if BOOST_PP_LOCAL_R(137)
- BOOST_PP_LOCAL_MACRO(137)
-# endif
-# if BOOST_PP_LOCAL_R(136)
- BOOST_PP_LOCAL_MACRO(136)
-# endif
-# if BOOST_PP_LOCAL_R(135)
- BOOST_PP_LOCAL_MACRO(135)
-# endif
-# if BOOST_PP_LOCAL_R(134)
- BOOST_PP_LOCAL_MACRO(134)
-# endif
-# if BOOST_PP_LOCAL_R(133)
- BOOST_PP_LOCAL_MACRO(133)
-# endif
-# if BOOST_PP_LOCAL_R(132)
- BOOST_PP_LOCAL_MACRO(132)
-# endif
-# if BOOST_PP_LOCAL_R(131)
- BOOST_PP_LOCAL_MACRO(131)
-# endif
-# if BOOST_PP_LOCAL_R(130)
- BOOST_PP_LOCAL_MACRO(130)
-# endif
-# if BOOST_PP_LOCAL_R(129)
- BOOST_PP_LOCAL_MACRO(129)
-# endif
-# if BOOST_PP_LOCAL_R(128)
- BOOST_PP_LOCAL_MACRO(128)
-# endif
-# if BOOST_PP_LOCAL_R(127)
- BOOST_PP_LOCAL_MACRO(127)
-# endif
-# if BOOST_PP_LOCAL_R(126)
- BOOST_PP_LOCAL_MACRO(126)
-# endif
-# if BOOST_PP_LOCAL_R(125)
- BOOST_PP_LOCAL_MACRO(125)
-# endif
-# if BOOST_PP_LOCAL_R(124)
- BOOST_PP_LOCAL_MACRO(124)
-# endif
-# if BOOST_PP_LOCAL_R(123)
- BOOST_PP_LOCAL_MACRO(123)
-# endif
-# if BOOST_PP_LOCAL_R(122)
- BOOST_PP_LOCAL_MACRO(122)
-# endif
-# if BOOST_PP_LOCAL_R(121)
- BOOST_PP_LOCAL_MACRO(121)
-# endif
-# if BOOST_PP_LOCAL_R(120)
- BOOST_PP_LOCAL_MACRO(120)
-# endif
-# if BOOST_PP_LOCAL_R(119)
- BOOST_PP_LOCAL_MACRO(119)
-# endif
-# if BOOST_PP_LOCAL_R(118)
- BOOST_PP_LOCAL_MACRO(118)
-# endif
-# if BOOST_PP_LOCAL_R(117)
- BOOST_PP_LOCAL_MACRO(117)
-# endif
-# if BOOST_PP_LOCAL_R(116)
- BOOST_PP_LOCAL_MACRO(116)
-# endif
-# if BOOST_PP_LOCAL_R(115)
- BOOST_PP_LOCAL_MACRO(115)
-# endif
-# if BOOST_PP_LOCAL_R(114)
- BOOST_PP_LOCAL_MACRO(114)
-# endif
-# if BOOST_PP_LOCAL_R(113)
- BOOST_PP_LOCAL_MACRO(113)
-# endif
-# if BOOST_PP_LOCAL_R(112)
- BOOST_PP_LOCAL_MACRO(112)
-# endif
-# if BOOST_PP_LOCAL_R(111)
- BOOST_PP_LOCAL_MACRO(111)
-# endif
-# if BOOST_PP_LOCAL_R(110)
- BOOST_PP_LOCAL_MACRO(110)
-# endif
-# if BOOST_PP_LOCAL_R(109)
- BOOST_PP_LOCAL_MACRO(109)
-# endif
-# if BOOST_PP_LOCAL_R(108)
- BOOST_PP_LOCAL_MACRO(108)
-# endif
-# if BOOST_PP_LOCAL_R(107)
- BOOST_PP_LOCAL_MACRO(107)
-# endif
-# if BOOST_PP_LOCAL_R(106)
- BOOST_PP_LOCAL_MACRO(106)
-# endif
-# if BOOST_PP_LOCAL_R(105)
- BOOST_PP_LOCAL_MACRO(105)
-# endif
-# if BOOST_PP_LOCAL_R(104)
- BOOST_PP_LOCAL_MACRO(104)
-# endif
-# if BOOST_PP_LOCAL_R(103)
- BOOST_PP_LOCAL_MACRO(103)
-# endif
-# if BOOST_PP_LOCAL_R(102)
- BOOST_PP_LOCAL_MACRO(102)
-# endif
-# if BOOST_PP_LOCAL_R(101)
- BOOST_PP_LOCAL_MACRO(101)
-# endif
-# if BOOST_PP_LOCAL_R(100)
- BOOST_PP_LOCAL_MACRO(100)
-# endif
-# if BOOST_PP_LOCAL_R(99)
- BOOST_PP_LOCAL_MACRO(99)
-# endif
-# if BOOST_PP_LOCAL_R(98)
- BOOST_PP_LOCAL_MACRO(98)
-# endif
-# if BOOST_PP_LOCAL_R(97)
- BOOST_PP_LOCAL_MACRO(97)
-# endif
-# if BOOST_PP_LOCAL_R(96)
- BOOST_PP_LOCAL_MACRO(96)
-# endif
-# if BOOST_PP_LOCAL_R(95)
- BOOST_PP_LOCAL_MACRO(95)
-# endif
-# if BOOST_PP_LOCAL_R(94)
- BOOST_PP_LOCAL_MACRO(94)
-# endif
-# if BOOST_PP_LOCAL_R(93)
- BOOST_PP_LOCAL_MACRO(93)
-# endif
-# if BOOST_PP_LOCAL_R(92)
- BOOST_PP_LOCAL_MACRO(92)
-# endif
-# if BOOST_PP_LOCAL_R(91)
- BOOST_PP_LOCAL_MACRO(91)
-# endif
-# if BOOST_PP_LOCAL_R(90)
- BOOST_PP_LOCAL_MACRO(90)
-# endif
-# if BOOST_PP_LOCAL_R(89)
- BOOST_PP_LOCAL_MACRO(89)
-# endif
-# if BOOST_PP_LOCAL_R(88)
- BOOST_PP_LOCAL_MACRO(88)
-# endif
-# if BOOST_PP_LOCAL_R(87)
- BOOST_PP_LOCAL_MACRO(87)
-# endif
-# if BOOST_PP_LOCAL_R(86)
- BOOST_PP_LOCAL_MACRO(86)
-# endif
-# if BOOST_PP_LOCAL_R(85)
- BOOST_PP_LOCAL_MACRO(85)
-# endif
-# if BOOST_PP_LOCAL_R(84)
- BOOST_PP_LOCAL_MACRO(84)
-# endif
-# if BOOST_PP_LOCAL_R(83)
- BOOST_PP_LOCAL_MACRO(83)
-# endif
-# if BOOST_PP_LOCAL_R(82)
- BOOST_PP_LOCAL_MACRO(82)
-# endif
-# if BOOST_PP_LOCAL_R(81)
- BOOST_PP_LOCAL_MACRO(81)
-# endif
-# if BOOST_PP_LOCAL_R(80)
- BOOST_PP_LOCAL_MACRO(80)
-# endif
-# if BOOST_PP_LOCAL_R(79)
- BOOST_PP_LOCAL_MACRO(79)
-# endif
-# if BOOST_PP_LOCAL_R(78)
- BOOST_PP_LOCAL_MACRO(78)
-# endif
-# if BOOST_PP_LOCAL_R(77)
- BOOST_PP_LOCAL_MACRO(77)
-# endif
-# if BOOST_PP_LOCAL_R(76)
- BOOST_PP_LOCAL_MACRO(76)
-# endif
-# if BOOST_PP_LOCAL_R(75)
- BOOST_PP_LOCAL_MACRO(75)
-# endif
-# if BOOST_PP_LOCAL_R(74)
- BOOST_PP_LOCAL_MACRO(74)
-# endif
-# if BOOST_PP_LOCAL_R(73)
- BOOST_PP_LOCAL_MACRO(73)
-# endif
-# if BOOST_PP_LOCAL_R(72)
- BOOST_PP_LOCAL_MACRO(72)
-# endif
-# if BOOST_PP_LOCAL_R(71)
- BOOST_PP_LOCAL_MACRO(71)
-# endif
-# if BOOST_PP_LOCAL_R(70)
- BOOST_PP_LOCAL_MACRO(70)
-# endif
-# if BOOST_PP_LOCAL_R(69)
- BOOST_PP_LOCAL_MACRO(69)
-# endif
-# if BOOST_PP_LOCAL_R(68)
- BOOST_PP_LOCAL_MACRO(68)
-# endif
-# if BOOST_PP_LOCAL_R(67)
- BOOST_PP_LOCAL_MACRO(67)
-# endif
-# if BOOST_PP_LOCAL_R(66)
- BOOST_PP_LOCAL_MACRO(66)
-# endif
-# if BOOST_PP_LOCAL_R(65)
- BOOST_PP_LOCAL_MACRO(65)
-# endif
-# if BOOST_PP_LOCAL_R(64)
- BOOST_PP_LOCAL_MACRO(64)
-# endif
-# if BOOST_PP_LOCAL_R(63)
- BOOST_PP_LOCAL_MACRO(63)
-# endif
-# if BOOST_PP_LOCAL_R(62)
- BOOST_PP_LOCAL_MACRO(62)
-# endif
-# if BOOST_PP_LOCAL_R(61)
- BOOST_PP_LOCAL_MACRO(61)
-# endif
-# if BOOST_PP_LOCAL_R(60)
- BOOST_PP_LOCAL_MACRO(60)
-# endif
-# if BOOST_PP_LOCAL_R(59)
- BOOST_PP_LOCAL_MACRO(59)
-# endif
-# if BOOST_PP_LOCAL_R(58)
- BOOST_PP_LOCAL_MACRO(58)
-# endif
-# if BOOST_PP_LOCAL_R(57)
- BOOST_PP_LOCAL_MACRO(57)
-# endif
-# if BOOST_PP_LOCAL_R(56)
- BOOST_PP_LOCAL_MACRO(56)
-# endif
-# if BOOST_PP_LOCAL_R(55)
- BOOST_PP_LOCAL_MACRO(55)
-# endif
-# if BOOST_PP_LOCAL_R(54)
- BOOST_PP_LOCAL_MACRO(54)
-# endif
-# if BOOST_PP_LOCAL_R(53)
- BOOST_PP_LOCAL_MACRO(53)
-# endif
-# if BOOST_PP_LOCAL_R(52)
- BOOST_PP_LOCAL_MACRO(52)
-# endif
-# if BOOST_PP_LOCAL_R(51)
- BOOST_PP_LOCAL_MACRO(51)
-# endif
-# if BOOST_PP_LOCAL_R(50)
- BOOST_PP_LOCAL_MACRO(50)
-# endif
-# if BOOST_PP_LOCAL_R(49)
- BOOST_PP_LOCAL_MACRO(49)
-# endif
-# if BOOST_PP_LOCAL_R(48)
- BOOST_PP_LOCAL_MACRO(48)
-# endif
-# if BOOST_PP_LOCAL_R(47)
- BOOST_PP_LOCAL_MACRO(47)
-# endif
-# if BOOST_PP_LOCAL_R(46)
- BOOST_PP_LOCAL_MACRO(46)
-# endif
-# if BOOST_PP_LOCAL_R(45)
- BOOST_PP_LOCAL_MACRO(45)
-# endif
-# if BOOST_PP_LOCAL_R(44)
- BOOST_PP_LOCAL_MACRO(44)
-# endif
-# if BOOST_PP_LOCAL_R(43)
- BOOST_PP_LOCAL_MACRO(43)
-# endif
-# if BOOST_PP_LOCAL_R(42)
- BOOST_PP_LOCAL_MACRO(42)
-# endif
-# if BOOST_PP_LOCAL_R(41)
- BOOST_PP_LOCAL_MACRO(41)
-# endif
-# if BOOST_PP_LOCAL_R(40)
- BOOST_PP_LOCAL_MACRO(40)
-# endif
-# if BOOST_PP_LOCAL_R(39)
- BOOST_PP_LOCAL_MACRO(39)
-# endif
-# if BOOST_PP_LOCAL_R(38)
- BOOST_PP_LOCAL_MACRO(38)
-# endif
-# if BOOST_PP_LOCAL_R(37)
- BOOST_PP_LOCAL_MACRO(37)
-# endif
-# if BOOST_PP_LOCAL_R(36)
- BOOST_PP_LOCAL_MACRO(36)
-# endif
-# if BOOST_PP_LOCAL_R(35)
- BOOST_PP_LOCAL_MACRO(35)
-# endif
-# if BOOST_PP_LOCAL_R(34)
- BOOST_PP_LOCAL_MACRO(34)
-# endif
-# if BOOST_PP_LOCAL_R(33)
- BOOST_PP_LOCAL_MACRO(33)
-# endif
-# if BOOST_PP_LOCAL_R(32)
- BOOST_PP_LOCAL_MACRO(32)
-# endif
-# if BOOST_PP_LOCAL_R(31)
- BOOST_PP_LOCAL_MACRO(31)
-# endif
-# if BOOST_PP_LOCAL_R(30)
- BOOST_PP_LOCAL_MACRO(30)
-# endif
-# if BOOST_PP_LOCAL_R(29)
- BOOST_PP_LOCAL_MACRO(29)
-# endif
-# if BOOST_PP_LOCAL_R(28)
- BOOST_PP_LOCAL_MACRO(28)
-# endif
-# if BOOST_PP_LOCAL_R(27)
- BOOST_PP_LOCAL_MACRO(27)
-# endif
-# if BOOST_PP_LOCAL_R(26)
- BOOST_PP_LOCAL_MACRO(26)
-# endif
-# if BOOST_PP_LOCAL_R(25)
- BOOST_PP_LOCAL_MACRO(25)
-# endif
-# if BOOST_PP_LOCAL_R(24)
- BOOST_PP_LOCAL_MACRO(24)
-# endif
-# if BOOST_PP_LOCAL_R(23)
- BOOST_PP_LOCAL_MACRO(23)
-# endif
-# if BOOST_PP_LOCAL_R(22)
- BOOST_PP_LOCAL_MACRO(22)
-# endif
-# if BOOST_PP_LOCAL_R(21)
- BOOST_PP_LOCAL_MACRO(21)
-# endif
-# if BOOST_PP_LOCAL_R(20)
- BOOST_PP_LOCAL_MACRO(20)
-# endif
-# if BOOST_PP_LOCAL_R(19)
- BOOST_PP_LOCAL_MACRO(19)
-# endif
-# if BOOST_PP_LOCAL_R(18)
- BOOST_PP_LOCAL_MACRO(18)
-# endif
-# if BOOST_PP_LOCAL_R(17)
- BOOST_PP_LOCAL_MACRO(17)
-# endif
-# if BOOST_PP_LOCAL_R(16)
- BOOST_PP_LOCAL_MACRO(16)
-# endif
-# if BOOST_PP_LOCAL_R(15)
- BOOST_PP_LOCAL_MACRO(15)
-# endif
-# if BOOST_PP_LOCAL_R(14)
- BOOST_PP_LOCAL_MACRO(14)
-# endif
-# if BOOST_PP_LOCAL_R(13)
- BOOST_PP_LOCAL_MACRO(13)
-# endif
-# if BOOST_PP_LOCAL_R(12)
- BOOST_PP_LOCAL_MACRO(12)
-# endif
-# if BOOST_PP_LOCAL_R(11)
- BOOST_PP_LOCAL_MACRO(11)
-# endif
-# if BOOST_PP_LOCAL_R(10)
- BOOST_PP_LOCAL_MACRO(10)
-# endif
-# if BOOST_PP_LOCAL_R(9)
- BOOST_PP_LOCAL_MACRO(9)
-# endif
-# if BOOST_PP_LOCAL_R(8)
- BOOST_PP_LOCAL_MACRO(8)
-# endif
-# if BOOST_PP_LOCAL_R(7)
- BOOST_PP_LOCAL_MACRO(7)
-# endif
-# if BOOST_PP_LOCAL_R(6)
- BOOST_PP_LOCAL_MACRO(6)
-# endif
-# if BOOST_PP_LOCAL_R(5)
- BOOST_PP_LOCAL_MACRO(5)
-# endif
-# if BOOST_PP_LOCAL_R(4)
- BOOST_PP_LOCAL_MACRO(4)
-# endif
-# if BOOST_PP_LOCAL_R(3)
- BOOST_PP_LOCAL_MACRO(3)
-# endif
-# if BOOST_PP_LOCAL_R(2)
- BOOST_PP_LOCAL_MACRO(2)
-# endif
-# if BOOST_PP_LOCAL_R(1)
- BOOST_PP_LOCAL_MACRO(1)
-# endif
-# if BOOST_PP_LOCAL_R(0)
- BOOST_PP_LOCAL_MACRO(0)
-# endif
diff --git a/boost/preprocessor/iteration/detail/self.hpp b/boost/preprocessor/iteration/detail/self.hpp
deleted file mode 100644
index 757185c..0000000
--- a/boost/preprocessor/iteration/detail/self.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# if !defined(BOOST_PP_INDIRECT_SELF)
-# error BOOST_PP_ERROR: no indirect file to include
-# endif
-#
-# define BOOST_PP_IS_SELFISH 1
-#
-# include BOOST_PP_INDIRECT_SELF
-#
-# undef BOOST_PP_IS_SELFISH
-# undef BOOST_PP_INDIRECT_SELF
diff --git a/boost/preprocessor/iteration/detail/start.hpp b/boost/preprocessor/iteration/detail/start.hpp
deleted file mode 100644
index cbf0381..0000000
--- a/boost/preprocessor/iteration/detail/start.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# include <boost/preprocessor/slot/detail/shared.hpp>
-#
-# undef BOOST_PP_LOCAL_SE
-#
-# undef BOOST_PP_LOCAL_SE_DIGIT_1
-# undef BOOST_PP_LOCAL_SE_DIGIT_2
-# undef BOOST_PP_LOCAL_SE_DIGIT_3
-# undef BOOST_PP_LOCAL_SE_DIGIT_4
-# undef BOOST_PP_LOCAL_SE_DIGIT_5
-# undef BOOST_PP_LOCAL_SE_DIGIT_6
-# undef BOOST_PP_LOCAL_SE_DIGIT_7
-# undef BOOST_PP_LOCAL_SE_DIGIT_8
-# undef BOOST_PP_LOCAL_SE_DIGIT_9
-# undef BOOST_PP_LOCAL_SE_DIGIT_10
-#
-# if BOOST_PP_SLOT_TEMP_3 == 0
-# define BOOST_PP_LOCAL_SE_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-# define BOOST_PP_LOCAL_SE_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-# define BOOST_PP_LOCAL_SE_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-# define BOOST_PP_LOCAL_SE_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-# define BOOST_PP_LOCAL_SE_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-# define BOOST_PP_LOCAL_SE_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-# define BOOST_PP_LOCAL_SE_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-# define BOOST_PP_LOCAL_SE_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-# define BOOST_PP_LOCAL_SE_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-# define BOOST_PP_LOCAL_SE_DIGIT_3 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_2 == 0
-# define BOOST_PP_LOCAL_SE_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-# define BOOST_PP_LOCAL_SE_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-# define BOOST_PP_LOCAL_SE_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-# define BOOST_PP_LOCAL_SE_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-# define BOOST_PP_LOCAL_SE_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-# define BOOST_PP_LOCAL_SE_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-# define BOOST_PP_LOCAL_SE_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-# define BOOST_PP_LOCAL_SE_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-# define BOOST_PP_LOCAL_SE_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-# define BOOST_PP_LOCAL_SE_DIGIT_2 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_1 == 0
-# define BOOST_PP_LOCAL_SE_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-# define BOOST_PP_LOCAL_SE_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-# define BOOST_PP_LOCAL_SE_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-# define BOOST_PP_LOCAL_SE_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-# define BOOST_PP_LOCAL_SE_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-# define BOOST_PP_LOCAL_SE_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-# define BOOST_PP_LOCAL_SE_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-# define BOOST_PP_LOCAL_SE_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-# define BOOST_PP_LOCAL_SE_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-# define BOOST_PP_LOCAL_SE_DIGIT_1 9
-# endif
-#
-# if BOOST_PP_LOCAL_SE_DIGIT_3
-# define BOOST_PP_LOCAL_SE() BOOST_PP_SLOT_CC_3(BOOST_PP_LOCAL_SE_DIGIT_3, BOOST_PP_LOCAL_SE_DIGIT_2, BOOST_PP_LOCAL_SE_DIGIT_1)
-# elif BOOST_PP_LOCAL_SE_DIGIT_2
-# define BOOST_PP_LOCAL_SE() BOOST_PP_SLOT_CC_2(BOOST_PP_LOCAL_SE_DIGIT_2, BOOST_PP_LOCAL_SE_DIGIT_1)
-# else
-# define BOOST_PP_LOCAL_SE() BOOST_PP_LOCAL_SE_DIGIT_1
-# endif
diff --git a/boost/preprocessor/iteration/iterate.hpp b/boost/preprocessor/iteration/iterate.hpp
deleted file mode 100644
index 8f861e7..0000000
--- a/boost/preprocessor/iteration/iterate.hpp
+++ /dev/null
@@ -1,82 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_ITERATION_ITERATE_HPP
-# define BOOST_PREPROCESSOR_ITERATION_ITERATE_HPP
-#
-# include <boost/preprocessor/arithmetic/dec.hpp>
-# include <boost/preprocessor/arithmetic/inc.hpp>
-# include <boost/preprocessor/array/elem.hpp>
-# include <boost/preprocessor/array/size.hpp>
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/slot/slot.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-#
-# /* BOOST_PP_ITERATION_DEPTH */
-#
-# define BOOST_PP_ITERATION_DEPTH() 0
-#
-# /* BOOST_PP_ITERATION */
-#
-# define BOOST_PP_ITERATION() BOOST_PP_CAT(BOOST_PP_ITERATION_, BOOST_PP_ITERATION_DEPTH())
-#
-# /* BOOST_PP_ITERATION_START && BOOST_PP_ITERATION_FINISH */
-#
-# define BOOST_PP_ITERATION_START() BOOST_PP_CAT(BOOST_PP_ITERATION_START_, BOOST_PP_ITERATION_DEPTH())
-# define BOOST_PP_ITERATION_FINISH() BOOST_PP_CAT(BOOST_PP_ITERATION_FINISH_, BOOST_PP_ITERATION_DEPTH())
-#
-# /* BOOST_PP_ITERATION_FLAGS */
-#
-# define BOOST_PP_ITERATION_FLAGS() (BOOST_PP_CAT(BOOST_PP_ITERATION_FLAGS_, BOOST_PP_ITERATION_DEPTH())())
-#
-# /* BOOST_PP_FRAME_ITERATION */
-#
-# define BOOST_PP_FRAME_ITERATION(i) BOOST_PP_CAT(BOOST_PP_ITERATION_, i)
-#
-# /* BOOST_PP_FRAME_START && BOOST_PP_FRAME_FINISH */
-#
-# define BOOST_PP_FRAME_START(i) BOOST_PP_CAT(BOOST_PP_ITERATION_START_, i)
-# define BOOST_PP_FRAME_FINISH(i) BOOST_PP_CAT(BOOST_PP_ITERATION_FINISH_, i)
-#
-# /* BOOST_PP_FRAME_FLAGS */
-#
-# define BOOST_PP_FRAME_FLAGS(i) (BOOST_PP_CAT(BOOST_PP_ITERATION_FLAGS_, i)())
-#
-# /* BOOST_PP_RELATIVE_ITERATION */
-#
-# define BOOST_PP_RELATIVE_ITERATION(i) BOOST_PP_CAT(BOOST_PP_RELATIVE_, i)(BOOST_PP_ITERATION_)
-#
-# define BOOST_PP_RELATIVE_0(m) BOOST_PP_CAT(m, BOOST_PP_ITERATION_DEPTH())
-# define BOOST_PP_RELATIVE_1(m) BOOST_PP_CAT(m, BOOST_PP_DEC(BOOST_PP_ITERATION_DEPTH()))
-# define BOOST_PP_RELATIVE_2(m) BOOST_PP_CAT(m, BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_ITERATION_DEPTH())))
-# define BOOST_PP_RELATIVE_3(m) BOOST_PP_CAT(m, BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_ITERATION_DEPTH()))))
-# define BOOST_PP_RELATIVE_4(m) BOOST_PP_CAT(m, BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_ITERATION_DEPTH())))))
-#
-# /* BOOST_PP_RELATIVE_START && BOOST_PP_RELATIVE_FINISH */
-#
-# define BOOST_PP_RELATIVE_START(i) BOOST_PP_CAT(BOOST_PP_RELATIVE_, i)(BOOST_PP_ITERATION_START_)
-# define BOOST_PP_RELATIVE_FINISH(i) BOOST_PP_CAT(BOOST_PP_RELATIVE_, i)(BOOST_PP_ITERATION_FINISH_)
-#
-# /* BOOST_PP_RELATIVE_FLAGS */
-#
-# define BOOST_PP_RELATIVE_FLAGS(i) (BOOST_PP_CAT(BOOST_PP_RELATIVE_, i)(BOOST_PP_ITERATION_FLAGS_)())
-#
-# /* BOOST_PP_ITERATE */
-#
-# define BOOST_PP_ITERATE() BOOST_PP_CAT(BOOST_PP_ITERATE_, BOOST_PP_INC(BOOST_PP_ITERATION_DEPTH()))
-#
-# define BOOST_PP_ITERATE_1 <boost/preprocessor/iteration/detail/iter/forward1.hpp>
-# define BOOST_PP_ITERATE_2 <boost/preprocessor/iteration/detail/iter/forward2.hpp>
-# define BOOST_PP_ITERATE_3 <boost/preprocessor/iteration/detail/iter/forward3.hpp>
-# define BOOST_PP_ITERATE_4 <boost/preprocessor/iteration/detail/iter/forward4.hpp>
-# define BOOST_PP_ITERATE_5 <boost/preprocessor/iteration/detail/iter/forward5.hpp>
-#
-# endif
diff --git a/boost/preprocessor/iteration/local.hpp b/boost/preprocessor/iteration/local.hpp
deleted file mode 100644
index 289fb1a..0000000
--- a/boost/preprocessor/iteration/local.hpp
+++ /dev/null
@@ -1,26 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_ITERATION_LOCAL_HPP
-# define BOOST_PREPROCESSOR_ITERATION_LOCAL_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/slot/slot.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-#
-# /* BOOST_PP_LOCAL_ITERATE */
-#
-# define BOOST_PP_LOCAL_ITERATE() <boost/preprocessor/iteration/detail/local.hpp>
-#
-# define BOOST_PP_LOCAL_C(n) (BOOST_PP_LOCAL_S) <= n && (BOOST_PP_LOCAL_F) >= n
-# define BOOST_PP_LOCAL_R(n) (BOOST_PP_LOCAL_F) <= n && (BOOST_PP_LOCAL_S) >= n
-#
-# endif
diff --git a/boost/preprocessor/iteration/self.hpp b/boost/preprocessor/iteration/self.hpp
deleted file mode 100644
index 6e0464c..0000000
--- a/boost/preprocessor/iteration/self.hpp
+++ /dev/null
@@ -1,19 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_ITERATION_SELF_HPP
-# define BOOST_PREPROCESSOR_ITERATION_SELF_HPP
-#
-# /* BOOST_PP_INCLUDE_SELF */
-#
-# define BOOST_PP_INCLUDE_SELF() <boost/preprocessor/iteration/detail/self.hpp>
-#
-# endif
diff --git a/boost/preprocessor/list/adt.hpp b/boost/preprocessor/list/adt.hpp
deleted file mode 100644
index b4f12ba..0000000
--- a/boost/preprocessor/list/adt.hpp
+++ /dev/null
@@ -1,73 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.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.
-# */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# ifndef BOOST_PREPROCESSOR_LIST_ADT_HPP
-# define BOOST_PREPROCESSOR_LIST_ADT_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/detail/is_binary.hpp>
-# include <boost/preprocessor/logical/compl.hpp>
-# include <boost/preprocessor/tuple/eat.hpp>
-#
-# /* BOOST_PP_LIST_CONS */
-#
-# define BOOST_PP_LIST_CONS(head, tail) (head, tail)
-#
-# /* BOOST_PP_LIST_NIL */
-#
-# define BOOST_PP_LIST_NIL BOOST_PP_NIL
-#
-# /* BOOST_PP_LIST_FIRST */
-#
-# define BOOST_PP_LIST_FIRST(list) BOOST_PP_LIST_FIRST_D(list)
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-# define BOOST_PP_LIST_FIRST_D(list) BOOST_PP_LIST_FIRST_I list
-# else
-# define BOOST_PP_LIST_FIRST_D(list) BOOST_PP_LIST_FIRST_I ## list
-# endif
-#
-# define BOOST_PP_LIST_FIRST_I(head, tail) head
-#
-# /* BOOST_PP_LIST_REST */
-#
-# define BOOST_PP_LIST_REST(list) BOOST_PP_LIST_REST_D(list)
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-# define BOOST_PP_LIST_REST_D(list) BOOST_PP_LIST_REST_I list
-# else
-# define BOOST_PP_LIST_REST_D(list) BOOST_PP_LIST_REST_I ## list
-# endif
-#
-# define BOOST_PP_LIST_REST_I(head, tail) tail
-#
-# /* BOOST_PP_LIST_IS_CONS */
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_BCC()
-# define BOOST_PP_LIST_IS_CONS(list) BOOST_PP_LIST_IS_CONS_D(list)
-# define BOOST_PP_LIST_IS_CONS_D(list) BOOST_PP_LIST_IS_CONS_ ## list
-# define BOOST_PP_LIST_IS_CONS_(head, tail) 1
-# define BOOST_PP_LIST_IS_CONS_BOOST_PP_NIL 0
-# else
-# define BOOST_PP_LIST_IS_CONS(list) BOOST_PP_IS_BINARY(list)
-# endif
-#
-# /* BOOST_PP_LIST_IS_NIL */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_BCC()
-# define BOOST_PP_LIST_IS_NIL(list) BOOST_PP_COMPL(BOOST_PP_IS_BINARY(list))
-# else
-# define BOOST_PP_LIST_IS_NIL(list) BOOST_PP_COMPL(BOOST_PP_LIST_IS_CONS(list))
-# endif
-#
-# endif
diff --git a/boost/preprocessor/list/append.hpp b/boost/preprocessor/list/append.hpp
deleted file mode 100644
index 26e9d74..0000000
--- a/boost/preprocessor/list/append.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LIST_APPEND_HPP
-# define BOOST_PREPROCESSOR_LIST_APPEND_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/list/fold_right.hpp>
-#
-# /* BOOST_PP_LIST_APPEND */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_LIST_APPEND(a, b) BOOST_PP_LIST_FOLD_RIGHT(BOOST_PP_LIST_APPEND_O, b, a)
-# else
-# define BOOST_PP_LIST_APPEND(a, b) BOOST_PP_LIST_APPEND_I(a, b)
-# define BOOST_PP_LIST_APPEND_I(a, b) BOOST_PP_LIST_FOLD_RIGHT(BOOST_PP_LIST_APPEND_O, b, a)
-# endif
-#
-# define BOOST_PP_LIST_APPEND_O(d, s, x) (x, s)
-#
-# /* BOOST_PP_LIST_APPEND_D */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_LIST_APPEND_D(d, a, b) BOOST_PP_LIST_FOLD_RIGHT_ ## d(BOOST_PP_LIST_APPEND_O, b, a)
-# else
-# define BOOST_PP_LIST_APPEND_D(d, a, b) BOOST_PP_LIST_APPEND_D_I(d, a, b)
-# define BOOST_PP_LIST_APPEND_D_I(d, a, b) BOOST_PP_LIST_FOLD_RIGHT_ ## d(BOOST_PP_LIST_APPEND_O, b, a)
-# endif
-#
-# endif
diff --git a/boost/preprocessor/list/detail/dmc/fold_left.hpp b/boost/preprocessor/list/detail/dmc/fold_left.hpp
deleted file mode 100644
index 844ac5b..0000000
--- a/boost/preprocessor/list/detail/dmc/fold_left.hpp
+++ /dev/null
@@ -1,279 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_LEFT_HPP
-# define BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_LEFT_HPP
-#
-# include <boost/preprocessor/control/expr_iif.hpp>
-# include <boost/preprocessor/control/iif.hpp>
-# include <boost/preprocessor/list/adt.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-#
-# define BOOST_PP_LIST_FOLD_LEFT_1(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_2, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(2, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_2(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_3, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(3, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_3(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_4, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(4, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_4(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_5, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(5, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_5(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_6, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(6, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_6(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_7, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(7, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_7(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_8, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(8, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_8(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_9, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(9, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_9(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_10, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(10, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_10(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_11, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(11, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_11(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_12, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(12, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_12(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_13, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(13, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_13(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_14, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(14, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_14(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_15, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(15, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_15(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_16, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(16, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_16(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_17, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(17, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_17(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_18, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(18, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_18(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_19, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(19, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_19(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_20, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(20, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_20(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_21, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(21, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_21(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_22, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(22, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_22(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_23, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(23, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_23(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_24, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(24, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_24(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_25, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(25, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_25(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_26, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(26, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_26(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_27, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(27, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_27(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_28, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(28, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_28(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_29, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(29, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_29(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_30, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(30, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_30(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_31, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(31, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_31(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_32, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(32, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_32(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_33, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(33, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_33(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_34, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(34, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_34(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_35, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(35, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_35(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_36, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(36, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_36(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_37, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(37, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_37(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_38, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(38, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_38(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_39, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(39, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_39(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_40, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(40, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_40(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_41, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(41, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_41(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_42, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(42, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_42(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_43, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(43, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_43(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_44, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(44, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_44(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_45, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(45, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_45(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_46, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(46, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_46(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_47, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(47, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_47(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_48, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(48, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_48(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_49, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(49, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_49(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_50, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(50, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_50(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_51, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(51, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_51(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_52, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(52, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_52(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_53, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(53, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_53(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_54, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(54, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_54(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_55, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(55, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_55(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_56, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(56, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_56(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_57, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(57, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_57(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_58, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(58, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_58(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_59, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(59, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_59(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_60, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(60, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_60(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_61, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(61, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_61(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_62, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(62, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_62(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_63, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(63, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_63(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_64, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(64, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_64(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_65, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(65, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_65(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_66, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(66, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_66(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_67, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(67, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_67(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_68, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(68, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_68(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_69, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(69, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_69(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_70, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(70, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_70(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_71, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(71, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_71(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_72, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(72, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_72(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_73, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(73, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_73(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_74, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(74, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_74(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_75, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(75, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_75(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_76, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(76, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_76(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_77, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(77, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_77(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_78, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(78, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_78(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_79, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(79, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_79(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_80, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(80, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_80(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_81, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(81, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_81(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_82, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(82, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_82(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_83, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(83, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_83(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_84, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(84, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_84(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_85, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(85, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_85(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_86, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(86, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_86(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_87, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(87, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_87(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_88, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(88, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_88(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_89, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(89, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_89(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_90, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(90, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_90(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_91, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(91, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_91(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_92, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(92, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_92(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_93, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(93, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_93(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_94, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(94, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_94(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_95, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(95, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_95(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_96, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(96, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_96(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_97, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(97, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_97(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_98, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(98, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_98(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_99, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(99, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_99(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_100, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(100, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_100(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_101, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(101, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_101(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_102, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(102, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_102(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_103, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(103, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_103(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_104, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(104, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_104(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_105, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(105, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_105(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_106, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(106, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_106(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_107, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(107, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_107(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_108, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(108, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_108(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_109, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(109, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_109(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_110, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(110, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_110(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_111, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(111, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_111(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_112, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(112, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_112(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_113, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(113, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_113(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_114, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(114, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_114(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_115, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(115, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_115(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_116, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(116, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_116(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_117, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(117, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_117(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_118, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(118, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_118(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_119, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(119, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_119(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_120, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(120, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_120(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_121, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(121, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_121(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_122, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(122, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_122(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_123, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(123, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_123(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_124, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(124, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_124(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_125, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(125, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_125(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_126, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(126, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_126(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_127, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(127, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_127(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_128, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(128, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_128(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_129, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(129, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_129(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_130, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(130, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_130(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_131, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(131, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_131(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_132, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(132, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_132(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_133, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(133, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_133(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_134, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(134, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_134(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_135, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(135, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_135(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_136, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(136, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_136(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_137, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(137, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_137(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_138, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(138, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_138(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_139, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(139, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_139(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_140, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(140, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_140(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_141, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(141, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_141(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_142, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(142, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_142(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_143, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(143, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_143(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_144, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(144, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_144(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_145, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(145, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_145(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_146, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(146, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_146(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_147, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(147, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_147(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_148, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(148, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_148(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_149, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(149, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_149(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_150, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(150, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_150(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_151, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(151, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_151(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_152, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(152, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_152(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_153, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(153, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_153(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_154, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(154, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_154(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_155, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(155, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_155(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_156, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(156, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_156(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_157, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(157, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_157(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_158, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(158, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_158(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_159, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(159, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_159(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_160, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(160, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_160(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_161, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(161, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_161(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_162, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(162, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_162(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_163, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(163, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_163(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_164, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(164, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_164(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_165, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(165, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_165(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_166, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(166, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_166(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_167, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(167, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_167(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_168, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(168, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_168(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_169, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(169, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_169(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_170, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(170, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_170(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_171, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(171, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_171(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_172, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(172, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_172(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_173, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(173, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_173(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_174, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(174, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_174(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_175, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(175, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_175(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_176, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(176, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_176(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_177, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(177, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_177(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_178, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(178, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_178(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_179, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(179, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_179(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_180, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(180, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_180(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_181, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(181, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_181(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_182, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(182, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_182(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_183, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(183, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_183(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_184, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(184, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_184(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_185, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(185, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_185(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_186, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(186, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_186(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_187, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(187, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_187(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_188, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(188, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_188(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_189, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(189, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_189(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_190, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(190, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_190(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_191, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(191, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_191(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_192, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(192, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_192(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_193, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(193, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_193(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_194, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(194, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_194(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_195, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(195, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_195(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_196, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(196, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_196(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_197, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(197, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_197(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_198, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(198, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_198(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_199, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(199, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_199(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_200, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(200, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_200(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_201, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(201, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_201(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_202, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(202, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_202(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_203, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(203, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_203(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_204, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(204, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_204(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_205, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(205, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_205(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_206, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(206, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_206(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_207, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(207, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_207(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_208, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(208, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_208(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_209, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(209, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_209(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_210, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(210, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_210(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_211, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(211, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_211(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_212, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(212, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_212(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_213, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(213, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_213(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_214, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(214, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_214(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_215, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(215, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_215(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_216, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(216, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_216(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_217, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(217, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_217(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_218, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(218, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_218(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_219, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(219, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_219(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_220, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(220, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_220(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_221, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(221, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_221(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_222, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(222, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_222(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_223, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(223, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_223(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_224, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(224, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_224(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_225, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(225, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_225(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_226, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(226, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_226(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_227, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(227, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_227(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_228, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(228, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_228(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_229, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(229, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_229(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_230, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(230, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_230(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_231, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(231, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_231(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_232, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(232, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_232(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_233, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(233, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_233(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_234, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(234, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_234(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_235, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(235, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_235(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_236, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(236, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_236(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_237, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(237, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_237(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_238, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(238, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_238(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_239, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(239, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_239(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_240, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(240, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_240(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_241, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(241, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_241(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_242, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(242, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_242(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_243, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(243, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_243(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_244, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(244, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_244(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_245, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(245, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_245(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_246, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(246, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_246(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_247, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(247, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_247(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_248, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(248, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_248(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_249, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(249, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_249(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_250, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(250, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_250(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_251, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(251, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_251(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_252, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(252, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_252(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_253, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(253, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_253(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_254, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(254, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_254(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_255, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(255, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_255(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_256, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(256, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_256(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_257, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(257, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-#
-# endif
diff --git a/boost/preprocessor/list/detail/edg/fold_left.hpp b/boost/preprocessor/list/detail/edg/fold_left.hpp
deleted file mode 100644
index ae9524f..0000000
--- a/boost/preprocessor/list/detail/edg/fold_left.hpp
+++ /dev/null
@@ -1,536 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_LEFT_HPP
-# define BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_LEFT_HPP
-#
-# include <boost/preprocessor/control/expr_iif.hpp>
-# include <boost/preprocessor/control/iif.hpp>
-# include <boost/preprocessor/list/adt.hpp>
-# include <boost/preprocessor/tuple/eat.hpp>
-#
-# define BOOST_PP_LIST_FOLD_LEFT_1(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_2(o, s, l) BOOST_PP_LIST_FOLD_LEFT_2_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_3(o, s, l) BOOST_PP_LIST_FOLD_LEFT_3_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_4(o, s, l) BOOST_PP_LIST_FOLD_LEFT_4_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_5(o, s, l) BOOST_PP_LIST_FOLD_LEFT_5_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_6(o, s, l) BOOST_PP_LIST_FOLD_LEFT_6_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_7(o, s, l) BOOST_PP_LIST_FOLD_LEFT_7_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_8(o, s, l) BOOST_PP_LIST_FOLD_LEFT_8_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_9(o, s, l) BOOST_PP_LIST_FOLD_LEFT_9_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_10(o, s, l) BOOST_PP_LIST_FOLD_LEFT_10_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_11(o, s, l) BOOST_PP_LIST_FOLD_LEFT_11_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_12(o, s, l) BOOST_PP_LIST_FOLD_LEFT_12_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_13(o, s, l) BOOST_PP_LIST_FOLD_LEFT_13_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_14(o, s, l) BOOST_PP_LIST_FOLD_LEFT_14_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_15(o, s, l) BOOST_PP_LIST_FOLD_LEFT_15_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_16(o, s, l) BOOST_PP_LIST_FOLD_LEFT_16_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_17(o, s, l) BOOST_PP_LIST_FOLD_LEFT_17_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_18(o, s, l) BOOST_PP_LIST_FOLD_LEFT_18_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_19(o, s, l) BOOST_PP_LIST_FOLD_LEFT_19_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_20(o, s, l) BOOST_PP_LIST_FOLD_LEFT_20_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_21(o, s, l) BOOST_PP_LIST_FOLD_LEFT_21_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_22(o, s, l) BOOST_PP_LIST_FOLD_LEFT_22_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_23(o, s, l) BOOST_PP_LIST_FOLD_LEFT_23_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_24(o, s, l) BOOST_PP_LIST_FOLD_LEFT_24_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_25(o, s, l) BOOST_PP_LIST_FOLD_LEFT_25_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_26(o, s, l) BOOST_PP_LIST_FOLD_LEFT_26_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_27(o, s, l) BOOST_PP_LIST_FOLD_LEFT_27_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_28(o, s, l) BOOST_PP_LIST_FOLD_LEFT_28_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_29(o, s, l) BOOST_PP_LIST_FOLD_LEFT_29_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_30(o, s, l) BOOST_PP_LIST_FOLD_LEFT_30_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_31(o, s, l) BOOST_PP_LIST_FOLD_LEFT_31_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_32(o, s, l) BOOST_PP_LIST_FOLD_LEFT_32_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_33(o, s, l) BOOST_PP_LIST_FOLD_LEFT_33_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_34(o, s, l) BOOST_PP_LIST_FOLD_LEFT_34_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_35(o, s, l) BOOST_PP_LIST_FOLD_LEFT_35_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_36(o, s, l) BOOST_PP_LIST_FOLD_LEFT_36_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_37(o, s, l) BOOST_PP_LIST_FOLD_LEFT_37_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_38(o, s, l) BOOST_PP_LIST_FOLD_LEFT_38_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_39(o, s, l) BOOST_PP_LIST_FOLD_LEFT_39_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_40(o, s, l) BOOST_PP_LIST_FOLD_LEFT_40_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_41(o, s, l) BOOST_PP_LIST_FOLD_LEFT_41_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_42(o, s, l) BOOST_PP_LIST_FOLD_LEFT_42_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_43(o, s, l) BOOST_PP_LIST_FOLD_LEFT_43_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_44(o, s, l) BOOST_PP_LIST_FOLD_LEFT_44_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_45(o, s, l) BOOST_PP_LIST_FOLD_LEFT_45_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_46(o, s, l) BOOST_PP_LIST_FOLD_LEFT_46_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_47(o, s, l) BOOST_PP_LIST_FOLD_LEFT_47_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_48(o, s, l) BOOST_PP_LIST_FOLD_LEFT_48_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_49(o, s, l) BOOST_PP_LIST_FOLD_LEFT_49_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_50(o, s, l) BOOST_PP_LIST_FOLD_LEFT_50_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_51(o, s, l) BOOST_PP_LIST_FOLD_LEFT_51_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_52(o, s, l) BOOST_PP_LIST_FOLD_LEFT_52_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_53(o, s, l) BOOST_PP_LIST_FOLD_LEFT_53_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_54(o, s, l) BOOST_PP_LIST_FOLD_LEFT_54_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_55(o, s, l) BOOST_PP_LIST_FOLD_LEFT_55_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_56(o, s, l) BOOST_PP_LIST_FOLD_LEFT_56_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_57(o, s, l) BOOST_PP_LIST_FOLD_LEFT_57_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_58(o, s, l) BOOST_PP_LIST_FOLD_LEFT_58_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_59(o, s, l) BOOST_PP_LIST_FOLD_LEFT_59_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_60(o, s, l) BOOST_PP_LIST_FOLD_LEFT_60_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_61(o, s, l) BOOST_PP_LIST_FOLD_LEFT_61_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_62(o, s, l) BOOST_PP_LIST_FOLD_LEFT_62_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_63(o, s, l) BOOST_PP_LIST_FOLD_LEFT_63_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_64(o, s, l) BOOST_PP_LIST_FOLD_LEFT_64_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_65(o, s, l) BOOST_PP_LIST_FOLD_LEFT_65_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_66(o, s, l) BOOST_PP_LIST_FOLD_LEFT_66_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_67(o, s, l) BOOST_PP_LIST_FOLD_LEFT_67_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_68(o, s, l) BOOST_PP_LIST_FOLD_LEFT_68_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_69(o, s, l) BOOST_PP_LIST_FOLD_LEFT_69_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_70(o, s, l) BOOST_PP_LIST_FOLD_LEFT_70_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_71(o, s, l) BOOST_PP_LIST_FOLD_LEFT_71_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_72(o, s, l) BOOST_PP_LIST_FOLD_LEFT_72_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_73(o, s, l) BOOST_PP_LIST_FOLD_LEFT_73_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_74(o, s, l) BOOST_PP_LIST_FOLD_LEFT_74_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_75(o, s, l) BOOST_PP_LIST_FOLD_LEFT_75_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_76(o, s, l) BOOST_PP_LIST_FOLD_LEFT_76_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_77(o, s, l) BOOST_PP_LIST_FOLD_LEFT_77_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_78(o, s, l) BOOST_PP_LIST_FOLD_LEFT_78_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_79(o, s, l) BOOST_PP_LIST_FOLD_LEFT_79_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_80(o, s, l) BOOST_PP_LIST_FOLD_LEFT_80_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_81(o, s, l) BOOST_PP_LIST_FOLD_LEFT_81_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_82(o, s, l) BOOST_PP_LIST_FOLD_LEFT_82_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_83(o, s, l) BOOST_PP_LIST_FOLD_LEFT_83_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_84(o, s, l) BOOST_PP_LIST_FOLD_LEFT_84_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_85(o, s, l) BOOST_PP_LIST_FOLD_LEFT_85_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_86(o, s, l) BOOST_PP_LIST_FOLD_LEFT_86_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_87(o, s, l) BOOST_PP_LIST_FOLD_LEFT_87_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_88(o, s, l) BOOST_PP_LIST_FOLD_LEFT_88_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_89(o, s, l) BOOST_PP_LIST_FOLD_LEFT_89_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_90(o, s, l) BOOST_PP_LIST_FOLD_LEFT_90_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_91(o, s, l) BOOST_PP_LIST_FOLD_LEFT_91_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_92(o, s, l) BOOST_PP_LIST_FOLD_LEFT_92_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_93(o, s, l) BOOST_PP_LIST_FOLD_LEFT_93_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_94(o, s, l) BOOST_PP_LIST_FOLD_LEFT_94_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_95(o, s, l) BOOST_PP_LIST_FOLD_LEFT_95_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_96(o, s, l) BOOST_PP_LIST_FOLD_LEFT_96_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_97(o, s, l) BOOST_PP_LIST_FOLD_LEFT_97_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_98(o, s, l) BOOST_PP_LIST_FOLD_LEFT_98_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_99(o, s, l) BOOST_PP_LIST_FOLD_LEFT_99_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_100(o, s, l) BOOST_PP_LIST_FOLD_LEFT_100_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_101(o, s, l) BOOST_PP_LIST_FOLD_LEFT_101_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_102(o, s, l) BOOST_PP_LIST_FOLD_LEFT_102_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_103(o, s, l) BOOST_PP_LIST_FOLD_LEFT_103_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_104(o, s, l) BOOST_PP_LIST_FOLD_LEFT_104_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_105(o, s, l) BOOST_PP_LIST_FOLD_LEFT_105_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_106(o, s, l) BOOST_PP_LIST_FOLD_LEFT_106_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_107(o, s, l) BOOST_PP_LIST_FOLD_LEFT_107_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_108(o, s, l) BOOST_PP_LIST_FOLD_LEFT_108_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_109(o, s, l) BOOST_PP_LIST_FOLD_LEFT_109_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_110(o, s, l) BOOST_PP_LIST_FOLD_LEFT_110_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_111(o, s, l) BOOST_PP_LIST_FOLD_LEFT_111_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_112(o, s, l) BOOST_PP_LIST_FOLD_LEFT_112_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_113(o, s, l) BOOST_PP_LIST_FOLD_LEFT_113_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_114(o, s, l) BOOST_PP_LIST_FOLD_LEFT_114_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_115(o, s, l) BOOST_PP_LIST_FOLD_LEFT_115_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_116(o, s, l) BOOST_PP_LIST_FOLD_LEFT_116_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_117(o, s, l) BOOST_PP_LIST_FOLD_LEFT_117_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_118(o, s, l) BOOST_PP_LIST_FOLD_LEFT_118_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_119(o, s, l) BOOST_PP_LIST_FOLD_LEFT_119_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_120(o, s, l) BOOST_PP_LIST_FOLD_LEFT_120_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_121(o, s, l) BOOST_PP_LIST_FOLD_LEFT_121_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_122(o, s, l) BOOST_PP_LIST_FOLD_LEFT_122_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_123(o, s, l) BOOST_PP_LIST_FOLD_LEFT_123_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_124(o, s, l) BOOST_PP_LIST_FOLD_LEFT_124_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_125(o, s, l) BOOST_PP_LIST_FOLD_LEFT_125_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_126(o, s, l) BOOST_PP_LIST_FOLD_LEFT_126_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_127(o, s, l) BOOST_PP_LIST_FOLD_LEFT_127_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_128(o, s, l) BOOST_PP_LIST_FOLD_LEFT_128_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_129(o, s, l) BOOST_PP_LIST_FOLD_LEFT_129_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_130(o, s, l) BOOST_PP_LIST_FOLD_LEFT_130_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_131(o, s, l) BOOST_PP_LIST_FOLD_LEFT_131_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_132(o, s, l) BOOST_PP_LIST_FOLD_LEFT_132_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_133(o, s, l) BOOST_PP_LIST_FOLD_LEFT_133_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_134(o, s, l) BOOST_PP_LIST_FOLD_LEFT_134_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_135(o, s, l) BOOST_PP_LIST_FOLD_LEFT_135_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_136(o, s, l) BOOST_PP_LIST_FOLD_LEFT_136_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_137(o, s, l) BOOST_PP_LIST_FOLD_LEFT_137_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_138(o, s, l) BOOST_PP_LIST_FOLD_LEFT_138_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_139(o, s, l) BOOST_PP_LIST_FOLD_LEFT_139_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_140(o, s, l) BOOST_PP_LIST_FOLD_LEFT_140_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_141(o, s, l) BOOST_PP_LIST_FOLD_LEFT_141_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_142(o, s, l) BOOST_PP_LIST_FOLD_LEFT_142_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_143(o, s, l) BOOST_PP_LIST_FOLD_LEFT_143_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_144(o, s, l) BOOST_PP_LIST_FOLD_LEFT_144_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_145(o, s, l) BOOST_PP_LIST_FOLD_LEFT_145_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_146(o, s, l) BOOST_PP_LIST_FOLD_LEFT_146_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_147(o, s, l) BOOST_PP_LIST_FOLD_LEFT_147_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_148(o, s, l) BOOST_PP_LIST_FOLD_LEFT_148_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_149(o, s, l) BOOST_PP_LIST_FOLD_LEFT_149_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_150(o, s, l) BOOST_PP_LIST_FOLD_LEFT_150_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_151(o, s, l) BOOST_PP_LIST_FOLD_LEFT_151_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_152(o, s, l) BOOST_PP_LIST_FOLD_LEFT_152_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_153(o, s, l) BOOST_PP_LIST_FOLD_LEFT_153_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_154(o, s, l) BOOST_PP_LIST_FOLD_LEFT_154_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_155(o, s, l) BOOST_PP_LIST_FOLD_LEFT_155_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_156(o, s, l) BOOST_PP_LIST_FOLD_LEFT_156_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_157(o, s, l) BOOST_PP_LIST_FOLD_LEFT_157_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_158(o, s, l) BOOST_PP_LIST_FOLD_LEFT_158_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_159(o, s, l) BOOST_PP_LIST_FOLD_LEFT_159_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_160(o, s, l) BOOST_PP_LIST_FOLD_LEFT_160_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_161(o, s, l) BOOST_PP_LIST_FOLD_LEFT_161_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_162(o, s, l) BOOST_PP_LIST_FOLD_LEFT_162_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_163(o, s, l) BOOST_PP_LIST_FOLD_LEFT_163_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_164(o, s, l) BOOST_PP_LIST_FOLD_LEFT_164_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_165(o, s, l) BOOST_PP_LIST_FOLD_LEFT_165_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_166(o, s, l) BOOST_PP_LIST_FOLD_LEFT_166_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_167(o, s, l) BOOST_PP_LIST_FOLD_LEFT_167_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_168(o, s, l) BOOST_PP_LIST_FOLD_LEFT_168_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_169(o, s, l) BOOST_PP_LIST_FOLD_LEFT_169_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_170(o, s, l) BOOST_PP_LIST_FOLD_LEFT_170_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_171(o, s, l) BOOST_PP_LIST_FOLD_LEFT_171_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_172(o, s, l) BOOST_PP_LIST_FOLD_LEFT_172_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_173(o, s, l) BOOST_PP_LIST_FOLD_LEFT_173_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_174(o, s, l) BOOST_PP_LIST_FOLD_LEFT_174_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_175(o, s, l) BOOST_PP_LIST_FOLD_LEFT_175_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_176(o, s, l) BOOST_PP_LIST_FOLD_LEFT_176_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_177(o, s, l) BOOST_PP_LIST_FOLD_LEFT_177_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_178(o, s, l) BOOST_PP_LIST_FOLD_LEFT_178_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_179(o, s, l) BOOST_PP_LIST_FOLD_LEFT_179_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_180(o, s, l) BOOST_PP_LIST_FOLD_LEFT_180_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_181(o, s, l) BOOST_PP_LIST_FOLD_LEFT_181_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_182(o, s, l) BOOST_PP_LIST_FOLD_LEFT_182_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_183(o, s, l) BOOST_PP_LIST_FOLD_LEFT_183_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_184(o, s, l) BOOST_PP_LIST_FOLD_LEFT_184_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_185(o, s, l) BOOST_PP_LIST_FOLD_LEFT_185_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_186(o, s, l) BOOST_PP_LIST_FOLD_LEFT_186_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_187(o, s, l) BOOST_PP_LIST_FOLD_LEFT_187_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_188(o, s, l) BOOST_PP_LIST_FOLD_LEFT_188_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_189(o, s, l) BOOST_PP_LIST_FOLD_LEFT_189_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_190(o, s, l) BOOST_PP_LIST_FOLD_LEFT_190_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_191(o, s, l) BOOST_PP_LIST_FOLD_LEFT_191_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_192(o, s, l) BOOST_PP_LIST_FOLD_LEFT_192_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_193(o, s, l) BOOST_PP_LIST_FOLD_LEFT_193_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_194(o, s, l) BOOST_PP_LIST_FOLD_LEFT_194_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_195(o, s, l) BOOST_PP_LIST_FOLD_LEFT_195_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_196(o, s, l) BOOST_PP_LIST_FOLD_LEFT_196_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_197(o, s, l) BOOST_PP_LIST_FOLD_LEFT_197_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_198(o, s, l) BOOST_PP_LIST_FOLD_LEFT_198_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_199(o, s, l) BOOST_PP_LIST_FOLD_LEFT_199_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_200(o, s, l) BOOST_PP_LIST_FOLD_LEFT_200_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_201(o, s, l) BOOST_PP_LIST_FOLD_LEFT_201_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_202(o, s, l) BOOST_PP_LIST_FOLD_LEFT_202_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_203(o, s, l) BOOST_PP_LIST_FOLD_LEFT_203_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_204(o, s, l) BOOST_PP_LIST_FOLD_LEFT_204_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_205(o, s, l) BOOST_PP_LIST_FOLD_LEFT_205_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_206(o, s, l) BOOST_PP_LIST_FOLD_LEFT_206_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_207(o, s, l) BOOST_PP_LIST_FOLD_LEFT_207_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_208(o, s, l) BOOST_PP_LIST_FOLD_LEFT_208_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_209(o, s, l) BOOST_PP_LIST_FOLD_LEFT_209_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_210(o, s, l) BOOST_PP_LIST_FOLD_LEFT_210_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_211(o, s, l) BOOST_PP_LIST_FOLD_LEFT_211_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_212(o, s, l) BOOST_PP_LIST_FOLD_LEFT_212_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_213(o, s, l) BOOST_PP_LIST_FOLD_LEFT_213_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_214(o, s, l) BOOST_PP_LIST_FOLD_LEFT_214_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_215(o, s, l) BOOST_PP_LIST_FOLD_LEFT_215_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_216(o, s, l) BOOST_PP_LIST_FOLD_LEFT_216_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_217(o, s, l) BOOST_PP_LIST_FOLD_LEFT_217_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_218(o, s, l) BOOST_PP_LIST_FOLD_LEFT_218_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_219(o, s, l) BOOST_PP_LIST_FOLD_LEFT_219_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_220(o, s, l) BOOST_PP_LIST_FOLD_LEFT_220_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_221(o, s, l) BOOST_PP_LIST_FOLD_LEFT_221_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_222(o, s, l) BOOST_PP_LIST_FOLD_LEFT_222_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_223(o, s, l) BOOST_PP_LIST_FOLD_LEFT_223_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_224(o, s, l) BOOST_PP_LIST_FOLD_LEFT_224_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_225(o, s, l) BOOST_PP_LIST_FOLD_LEFT_225_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_226(o, s, l) BOOST_PP_LIST_FOLD_LEFT_226_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_227(o, s, l) BOOST_PP_LIST_FOLD_LEFT_227_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_228(o, s, l) BOOST_PP_LIST_FOLD_LEFT_228_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_229(o, s, l) BOOST_PP_LIST_FOLD_LEFT_229_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_230(o, s, l) BOOST_PP_LIST_FOLD_LEFT_230_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_231(o, s, l) BOOST_PP_LIST_FOLD_LEFT_231_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_232(o, s, l) BOOST_PP_LIST_FOLD_LEFT_232_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_233(o, s, l) BOOST_PP_LIST_FOLD_LEFT_233_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_234(o, s, l) BOOST_PP_LIST_FOLD_LEFT_234_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_235(o, s, l) BOOST_PP_LIST_FOLD_LEFT_235_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_236(o, s, l) BOOST_PP_LIST_FOLD_LEFT_236_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_237(o, s, l) BOOST_PP_LIST_FOLD_LEFT_237_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_238(o, s, l) BOOST_PP_LIST_FOLD_LEFT_238_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_239(o, s, l) BOOST_PP_LIST_FOLD_LEFT_239_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_240(o, s, l) BOOST_PP_LIST_FOLD_LEFT_240_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_241(o, s, l) BOOST_PP_LIST_FOLD_LEFT_241_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_242(o, s, l) BOOST_PP_LIST_FOLD_LEFT_242_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_243(o, s, l) BOOST_PP_LIST_FOLD_LEFT_243_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_244(o, s, l) BOOST_PP_LIST_FOLD_LEFT_244_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_245(o, s, l) BOOST_PP_LIST_FOLD_LEFT_245_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_246(o, s, l) BOOST_PP_LIST_FOLD_LEFT_246_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_247(o, s, l) BOOST_PP_LIST_FOLD_LEFT_247_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_248(o, s, l) BOOST_PP_LIST_FOLD_LEFT_248_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_249(o, s, l) BOOST_PP_LIST_FOLD_LEFT_249_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_250(o, s, l) BOOST_PP_LIST_FOLD_LEFT_250_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_251(o, s, l) BOOST_PP_LIST_FOLD_LEFT_251_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_252(o, s, l) BOOST_PP_LIST_FOLD_LEFT_252_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_253(o, s, l) BOOST_PP_LIST_FOLD_LEFT_253_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_254(o, s, l) BOOST_PP_LIST_FOLD_LEFT_254_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_255(o, s, l) BOOST_PP_LIST_FOLD_LEFT_255_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_256(o, s, l) BOOST_PP_LIST_FOLD_LEFT_256_D(o, s, l)
-#
-# define BOOST_PP_LIST_FOLD_LEFT_1_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_2, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(2, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_2_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_3, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(3, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_3_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_4, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(4, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_4_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_5, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(5, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_5_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_6, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(6, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_6_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_7, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(7, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_7_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_8, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(8, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_8_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_9, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(9, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_9_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_10, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(10, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_10_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_11, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(11, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_11_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_12, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(12, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_12_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_13, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(13, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_13_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_14, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(14, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_14_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_15, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(15, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_15_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_16, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(16, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_16_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_17, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(17, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_17_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_18, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(18, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_18_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_19, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(19, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_19_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_20, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(20, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_20_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_21, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(21, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_21_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_22, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(22, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_22_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_23, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(23, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_23_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_24, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(24, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_24_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_25, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(25, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_25_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_26, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(26, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_26_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_27, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(27, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_27_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_28, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(28, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_28_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_29, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(29, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_29_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_30, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(30, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_30_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_31, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(31, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_31_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_32, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(32, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_32_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_33, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(33, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_33_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_34, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(34, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_34_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_35, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(35, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_35_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_36, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(36, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_36_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_37, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(37, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_37_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_38, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(38, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_38_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_39, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(39, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_39_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_40, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(40, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_40_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_41, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(41, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_41_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_42, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(42, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_42_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_43, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(43, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_43_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_44, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(44, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_44_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_45, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(45, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_45_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_46, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(46, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_46_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_47, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(47, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_47_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_48, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(48, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_48_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_49, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(49, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_49_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_50, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(50, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_50_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_51, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(51, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_51_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_52, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(52, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_52_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_53, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(53, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_53_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_54, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(54, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_54_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_55, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(55, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_55_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_56, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(56, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_56_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_57, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(57, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_57_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_58, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(58, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_58_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_59, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(59, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_59_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_60, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(60, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_60_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_61, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(61, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_61_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_62, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(62, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_62_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_63, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(63, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_63_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_64, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(64, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_64_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_65, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(65, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_65_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_66, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(66, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_66_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_67, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(67, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_67_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_68, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(68, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_68_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_69, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(69, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_69_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_70, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(70, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_70_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_71, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(71, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_71_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_72, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(72, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_72_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_73, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(73, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_73_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_74, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(74, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_74_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_75, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(75, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_75_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_76, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(76, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_76_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_77, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(77, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_77_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_78, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(78, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_78_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_79, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(79, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_79_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_80, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(80, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_80_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_81, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(81, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_81_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_82, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(82, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_82_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_83, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(83, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_83_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_84, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(84, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_84_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_85, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(85, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_85_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_86, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(86, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_86_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_87, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(87, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_87_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_88, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(88, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_88_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_89, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(89, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_89_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_90, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(90, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_90_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_91, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(91, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_91_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_92, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(92, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_92_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_93, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(93, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_93_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_94, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(94, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_94_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_95, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(95, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_95_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_96, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(96, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_96_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_97, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(97, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_97_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_98, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(98, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_98_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_99, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(99, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_99_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_100, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(100, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_100_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_101, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(101, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_101_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_102, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(102, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_102_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_103, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(103, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_103_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_104, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(104, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_104_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_105, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(105, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_105_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_106, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(106, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_106_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_107, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(107, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_107_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_108, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(108, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_108_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_109, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(109, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_109_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_110, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(110, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_110_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_111, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(111, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_111_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_112, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(112, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_112_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_113, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(113, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_113_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_114, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(114, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_114_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_115, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(115, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_115_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_116, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(116, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_116_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_117, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(117, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_117_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_118, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(118, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_118_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_119, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(119, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_119_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_120, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(120, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_120_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_121, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(121, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_121_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_122, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(122, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_122_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_123, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(123, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_123_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_124, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(124, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_124_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_125, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(125, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_125_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_126, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(126, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_126_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_127, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(127, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_127_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_128, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(128, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_128_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_129, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(129, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_129_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_130, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(130, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_130_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_131, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(131, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_131_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_132, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(132, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_132_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_133, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(133, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_133_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_134, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(134, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_134_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_135, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(135, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_135_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_136, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(136, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_136_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_137, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(137, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_137_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_138, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(138, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_138_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_139, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(139, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_139_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_140, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(140, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_140_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_141, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(141, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_141_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_142, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(142, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_142_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_143, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(143, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_143_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_144, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(144, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_144_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_145, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(145, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_145_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_146, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(146, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_146_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_147, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(147, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_147_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_148, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(148, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_148_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_149, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(149, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_149_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_150, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(150, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_150_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_151, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(151, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_151_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_152, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(152, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_152_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_153, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(153, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_153_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_154, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(154, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_154_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_155, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(155, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_155_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_156, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(156, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_156_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_157, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(157, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_157_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_158, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(158, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_158_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_159, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(159, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_159_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_160, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(160, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_160_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_161, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(161, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_161_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_162, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(162, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_162_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_163, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(163, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_163_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_164, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(164, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_164_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_165, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(165, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_165_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_166, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(166, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_166_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_167, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(167, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_167_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_168, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(168, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_168_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_169, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(169, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_169_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_170, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(170, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_170_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_171, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(171, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_171_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_172, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(172, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_172_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_173, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(173, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_173_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_174, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(174, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_174_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_175, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(175, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_175_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_176, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(176, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_176_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_177, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(177, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_177_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_178, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(178, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_178_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_179, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(179, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_179_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_180, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(180, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_180_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_181, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(181, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_181_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_182, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(182, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_182_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_183, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(183, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_183_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_184, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(184, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_184_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_185, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(185, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_185_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_186, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(186, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_186_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_187, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(187, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_187_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_188, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(188, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_188_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_189, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(189, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_189_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_190, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(190, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_190_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_191, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(191, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_191_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_192, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(192, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_192_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_193, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(193, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_193_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_194, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(194, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_194_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_195, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(195, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_195_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_196, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(196, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_196_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_197, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(197, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_197_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_198, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(198, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_198_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_199, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(199, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_199_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_200, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(200, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_200_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_201, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(201, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_201_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_202, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(202, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_202_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_203, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(203, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_203_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_204, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(204, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_204_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_205, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(205, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_205_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_206, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(206, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_206_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_207, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(207, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_207_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_208, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(208, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_208_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_209, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(209, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_209_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_210, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(210, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_210_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_211, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(211, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_211_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_212, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(212, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_212_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_213, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(213, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_213_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_214, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(214, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_214_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_215, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(215, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_215_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_216, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(216, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_216_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_217, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(217, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_217_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_218, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(218, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_218_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_219, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(219, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_219_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_220, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(220, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_220_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_221, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(221, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_221_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_222, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(222, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_222_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_223, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(223, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_223_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_224, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(224, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_224_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_225, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(225, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_225_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_226, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(226, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_226_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_227, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(227, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_227_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_228, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(228, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_228_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_229, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(229, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_229_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_230, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(230, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_230_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_231, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(231, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_231_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_232, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(232, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_232_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_233, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(233, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_233_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_234, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(234, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_234_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_235, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(235, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_235_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_236, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(236, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_236_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_237, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(237, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_237_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_238, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(238, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_238_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_239, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(239, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_239_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_240, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(240, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_240_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_241, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(241, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_241_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_242, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(242, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_242_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_243, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(243, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_243_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_244, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(244, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_244_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_245, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(245, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_245_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_246, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(246, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_246_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_247, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(247, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_247_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_248, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(248, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_248_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_249, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(249, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_249_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_250, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(250, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_250_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_251, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(251, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_251_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_252, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(252, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_252_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_253, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(253, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_253_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_254, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(254, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_254_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_255, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(255, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_255_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_256, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(256, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_256_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_257, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(257, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-#
-# endif
diff --git a/boost/preprocessor/list/detail/edg/fold_right.hpp b/boost/preprocessor/list/detail/edg/fold_right.hpp
deleted file mode 100644
index d372d2e..0000000
--- a/boost/preprocessor/list/detail/edg/fold_right.hpp
+++ /dev/null
@@ -1,794 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_RIGHT_HPP
-# define BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_RIGHT_HPP
-#
-# include <boost/preprocessor/control/iif.hpp>
-# include <boost/preprocessor/list/adt.hpp>
-# include <boost/preprocessor/tuple/eat.hpp>
-#
-# define BOOST_PP_LIST_FOLD_RIGHT_1(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_2(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_2_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_3(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_3_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_4(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_4_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_5(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_5_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_6(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_6_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_7(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_7_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_8(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_8_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_9(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_9_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_10(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_10_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_11(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_11_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_12(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_12_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_13(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_13_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_14(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_14_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_15(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_15_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_16(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_16_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_17(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_17_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_18(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_18_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_19(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_19_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_20(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_20_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_21(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_21_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_22(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_22_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_23(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_23_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_24(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_24_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_25(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_25_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_26(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_26_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_27(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_27_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_28(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_28_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_29(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_29_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_30(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_30_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_31(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_31_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_32(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_32_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_33(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_33_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_34(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_34_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_35(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_35_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_36(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_36_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_37(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_37_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_38(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_38_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_39(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_39_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_40(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_40_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_41(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_41_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_42(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_42_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_43(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_43_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_44(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_44_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_45(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_45_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_46(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_46_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_47(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_47_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_48(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_48_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_49(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_49_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_50(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_50_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_51(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_51_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_52(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_52_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_53(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_53_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_54(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_54_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_55(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_55_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_56(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_56_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_57(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_57_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_58(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_58_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_59(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_59_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_60(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_60_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_61(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_61_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_62(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_62_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_63(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_63_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_64(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_64_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_65(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_65_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_66(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_66_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_67(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_67_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_68(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_68_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_69(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_69_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_70(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_70_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_71(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_71_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_72(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_72_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_73(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_73_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_74(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_74_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_75(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_75_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_76(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_76_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_77(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_77_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_78(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_78_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_79(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_79_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_80(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_80_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_81(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_81_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_82(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_82_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_83(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_83_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_84(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_84_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_85(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_85_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_86(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_86_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_87(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_87_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_88(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_88_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_89(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_89_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_90(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_90_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_91(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_91_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_92(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_92_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_93(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_93_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_94(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_94_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_95(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_95_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_96(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_96_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_97(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_97_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_98(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_98_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_99(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_99_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_100(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_100_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_101(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_101_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_102(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_102_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_103(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_103_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_104(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_104_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_105(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_105_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_106(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_106_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_107(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_107_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_108(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_108_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_109(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_109_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_110(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_110_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_111(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_111_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_112(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_112_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_113(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_113_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_114(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_114_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_115(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_115_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_116(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_116_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_117(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_117_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_118(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_118_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_119(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_119_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_120(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_120_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_121(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_121_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_122(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_122_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_123(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_123_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_124(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_124_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_125(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_125_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_126(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_126_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_127(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_127_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_128(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_128_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_129(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_129_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_130(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_130_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_131(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_131_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_132(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_132_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_133(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_133_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_134(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_134_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_135(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_135_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_136(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_136_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_137(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_137_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_138(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_138_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_139(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_139_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_140(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_140_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_141(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_141_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_142(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_142_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_143(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_143_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_144(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_144_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_145(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_145_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_146(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_146_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_147(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_147_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_148(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_148_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_149(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_149_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_150(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_150_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_151(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_151_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_152(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_152_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_153(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_153_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_154(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_154_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_155(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_155_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_156(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_156_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_157(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_157_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_158(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_158_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_159(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_159_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_160(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_160_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_161(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_161_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_162(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_162_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_163(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_163_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_164(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_164_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_165(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_165_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_166(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_166_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_167(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_167_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_168(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_168_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_169(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_169_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_170(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_170_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_171(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_171_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_172(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_172_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_173(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_173_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_174(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_174_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_175(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_175_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_176(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_176_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_177(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_177_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_178(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_178_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_179(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_179_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_180(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_180_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_181(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_181_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_182(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_182_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_183(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_183_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_184(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_184_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_185(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_185_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_186(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_186_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_187(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_187_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_188(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_188_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_189(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_189_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_190(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_190_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_191(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_191_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_192(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_192_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_193(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_193_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_194(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_194_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_195(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_195_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_196(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_196_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_197(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_197_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_198(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_198_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_199(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_199_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_200(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_200_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_201(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_201_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_202(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_202_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_203(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_203_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_204(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_204_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_205(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_205_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_206(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_206_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_207(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_207_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_208(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_208_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_209(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_209_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_210(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_210_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_211(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_211_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_212(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_212_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_213(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_213_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_214(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_214_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_215(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_215_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_216(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_216_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_217(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_217_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_218(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_218_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_219(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_219_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_220(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_220_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_221(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_221_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_222(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_222_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_223(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_223_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_224(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_224_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_225(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_225_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_226(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_226_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_227(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_227_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_228(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_228_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_229(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_229_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_230(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_230_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_231(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_231_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_232(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_232_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_233(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_233_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_234(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_234_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_235(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_235_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_236(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_236_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_237(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_237_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_238(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_238_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_239(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_239_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_240(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_240_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_241(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_241_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_242(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_242_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_243(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_243_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_244(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_244_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_245(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_245_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_246(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_246_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_247(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_247_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_248(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_248_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_249(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_249_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_250(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_250_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_251(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_251_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_252(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_252_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_253(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_253_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_254(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_254_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_255(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_255_D(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_256(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_256_D(o, s, l)
-#
-# define BOOST_PP_LIST_FOLD_RIGHT_1_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(2, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_2, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_2_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(3, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_3, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_3_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(4, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_4, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_4_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(5, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_5, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_5_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(6, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_6, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_6_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(7, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_7, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_7_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(8, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_8, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_8_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(9, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_9, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_9_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(10, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_10, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_10_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(11, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_11, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_11_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(12, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_12, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_12_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(13, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_13, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_13_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(14, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_14, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_14_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(15, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_15, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_15_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(16, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_16, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_16_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(17, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_17, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_17_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(18, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_18, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_18_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(19, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_19, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_19_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(20, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_20, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_20_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(21, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_21, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_21_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(22, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_22, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_22_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(23, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_23, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_23_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(24, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_24, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_24_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(25, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_25, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_25_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(26, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_26, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_26_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(27, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_27, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_27_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(28, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_28, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_28_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(29, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_29, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_29_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(30, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_30, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_30_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(31, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_31, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_31_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(32, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_32, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_32_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(33, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_33, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_33_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(34, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_34, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_34_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(35, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_35, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_35_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(36, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_36, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_36_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(37, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_37, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_37_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(38, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_38, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_38_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(39, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_39, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_39_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(40, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_40, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_40_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(41, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_41, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_41_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(42, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_42, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_42_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(43, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_43, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_43_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(44, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_44, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_44_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(45, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_45, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_45_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(46, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_46, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_46_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(47, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_47, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_47_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(48, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_48, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_48_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(49, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_49, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_49_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(50, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_50, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_50_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(51, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_51, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_51_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(52, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_52, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_52_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(53, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_53, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_53_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(54, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_54, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_54_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(55, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_55, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_55_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(56, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_56, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_56_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(57, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_57, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_57_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(58, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_58, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_58_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(59, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_59, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_59_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(60, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_60, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_60_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(61, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_61, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_61_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(62, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_62, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_62_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(63, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_63, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_63_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(64, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_64, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_64_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(65, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_65, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_65_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(66, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_66, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_66_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(67, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_67, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_67_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(68, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_68, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_68_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(69, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_69, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_69_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(70, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_70, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_70_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(71, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_71, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_71_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(72, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_72, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_72_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(73, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_73, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_73_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(74, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_74, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_74_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(75, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_75, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_75_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(76, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_76, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_76_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(77, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_77, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_77_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(78, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_78, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_78_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(79, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_79, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_79_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(80, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_80, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_80_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(81, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_81, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_81_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(82, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_82, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_82_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(83, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_83, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_83_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(84, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_84, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_84_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(85, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_85, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_85_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(86, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_86, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_86_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(87, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_87, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_87_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(88, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_88, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_88_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(89, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_89, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_89_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(90, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_90, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_90_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(91, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_91, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_91_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(92, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_92, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_92_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(93, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_93, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_93_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(94, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_94, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_94_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(95, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_95, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_95_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(96, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_96, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_96_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(97, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_97, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_97_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(98, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_98, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_98_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(99, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_99, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_99_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(100, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_100, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_100_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(101, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_101, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_101_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(102, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_102, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_102_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(103, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_103, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_103_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(104, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_104, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_104_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(105, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_105, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_105_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(106, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_106, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_106_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(107, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_107, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_107_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(108, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_108, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_108_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(109, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_109, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_109_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(110, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_110, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_110_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(111, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_111, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_111_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(112, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_112, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_112_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(113, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_113, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_113_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(114, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_114, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_114_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(115, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_115, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_115_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(116, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_116, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_116_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(117, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_117, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_117_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(118, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_118, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_118_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(119, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_119, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_119_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(120, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_120, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_120_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(121, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_121, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_121_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(122, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_122, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_122_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(123, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_123, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_123_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(124, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_124, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_124_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(125, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_125, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_125_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(126, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_126, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_126_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(127, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_127, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_127_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(128, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_128, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_128_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(129, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_129, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_129_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(130, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_130, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_130_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(131, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_131, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_131_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(132, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_132, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_132_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(133, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_133, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_133_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(134, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_134, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_134_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(135, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_135, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_135_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(136, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_136, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_136_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(137, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_137, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_137_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(138, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_138, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_138_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(139, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_139, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_139_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(140, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_140, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_140_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(141, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_141, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_141_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(142, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_142, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_142_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(143, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_143, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_143_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(144, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_144, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_144_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(145, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_145, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_145_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(146, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_146, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_146_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(147, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_147, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_147_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(148, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_148, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_148_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(149, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_149, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_149_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(150, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_150, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_150_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(151, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_151, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_151_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(152, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_152, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_152_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(153, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_153, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_153_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(154, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_154, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_154_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(155, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_155, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_155_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(156, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_156, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_156_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(157, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_157, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_157_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(158, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_158, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_158_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(159, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_159, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_159_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(160, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_160, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_160_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(161, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_161, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_161_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(162, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_162, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_162_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(163, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_163, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_163_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(164, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_164, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_164_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(165, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_165, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_165_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(166, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_166, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_166_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(167, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_167, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_167_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(168, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_168, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_168_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(169, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_169, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_169_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(170, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_170, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_170_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(171, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_171, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_171_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(172, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_172, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_172_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(173, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_173, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_173_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(174, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_174, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_174_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(175, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_175, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_175_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(176, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_176, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_176_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(177, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_177, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_177_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(178, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_178, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_178_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(179, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_179, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_179_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(180, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_180, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_180_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(181, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_181, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_181_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(182, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_182, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_182_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(183, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_183, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_183_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(184, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_184, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_184_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(185, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_185, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_185_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(186, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_186, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_186_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(187, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_187, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_187_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(188, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_188, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_188_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(189, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_189, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_189_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(190, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_190, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_190_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(191, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_191, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_191_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(192, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_192, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_192_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(193, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_193, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_193_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(194, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_194, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_194_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(195, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_195, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_195_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(196, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_196, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_196_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(197, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_197, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_197_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(198, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_198, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_198_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(199, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_199, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_199_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(200, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_200, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_200_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(201, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_201, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_201_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(202, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_202, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_202_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(203, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_203, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_203_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(204, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_204, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_204_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(205, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_205, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_205_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(206, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_206, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_206_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(207, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_207, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_207_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(208, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_208, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_208_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(209, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_209, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_209_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(210, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_210, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_210_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(211, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_211, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_211_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(212, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_212, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_212_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(213, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_213, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_213_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(214, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_214, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_214_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(215, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_215, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_215_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(216, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_216, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_216_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(217, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_217, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_217_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(218, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_218, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_218_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(219, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_219, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_219_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(220, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_220, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_220_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(221, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_221, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_221_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(222, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_222, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_222_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(223, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_223, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_223_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(224, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_224, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_224_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(225, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_225, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_225_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(226, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_226, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_226_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(227, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_227, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_227_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(228, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_228, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_228_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(229, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_229, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_229_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(230, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_230, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_230_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(231, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_231, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_231_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(232, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_232, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_232_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(233, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_233, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_233_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(234, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_234, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_234_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(235, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_235, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_235_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(236, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_236, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_236_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(237, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_237, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_237_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(238, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_238, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_238_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(239, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_239, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_239_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(240, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_240, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_240_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(241, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_241, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_241_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(242, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_242, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_242_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(243, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_243, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_243_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(244, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_244, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_244_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(245, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_245, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_245_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(246, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_246, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_246_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(247, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_247, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_247_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(248, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_248, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_248_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(249, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_249, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_249_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(250, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_250, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_250_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(251, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_251, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_251_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(252, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_252, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_252_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(253, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_253, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_253_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(254, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_254, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_254_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(255, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_255, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_255_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(256, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_256, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-# define BOOST_PP_LIST_FOLD_RIGHT_256_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(257, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_257, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l))
-#
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_NIL 1
-#
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_2(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_3(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_4(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_5(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_6(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_7(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_8(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_9(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_10(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_11(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_12(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_13(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_14(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_15(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_16(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_17(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_18(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_19(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_20(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_21(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_22(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_23(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_24(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_25(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_26(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_27(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_28(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_29(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_30(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_31(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_32(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_33(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_34(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_35(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_36(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_37(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_38(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_39(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_40(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_41(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_42(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_43(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_44(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_45(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_46(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_47(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_48(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_49(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_50(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_51(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_52(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_53(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_54(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_55(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_56(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_57(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_58(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_59(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_60(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_61(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_62(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_63(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_64(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_65(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_66(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_67(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_68(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_69(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_70(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_71(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_72(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_73(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_74(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_75(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_76(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_77(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_78(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_79(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_80(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_81(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_82(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_83(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_84(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_85(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_86(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_87(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_88(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_89(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_90(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_91(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_92(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_93(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_94(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_95(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_96(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_97(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_98(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_99(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_100(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_101(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_102(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_103(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_104(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_105(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_106(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_107(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_108(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_109(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_110(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_111(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_112(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_113(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_114(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_115(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_116(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_117(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_118(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_119(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_120(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_121(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_122(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_123(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_124(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_125(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_126(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_127(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_128(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_129(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_130(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_131(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_132(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_133(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_134(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_135(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_136(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_137(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_138(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_139(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_140(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_141(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_142(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_143(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_144(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_145(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_146(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_147(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_148(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_149(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_150(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_151(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_152(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_153(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_154(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_155(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_156(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_157(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_158(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_159(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_160(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_161(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_162(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_163(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_164(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_165(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_166(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_167(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_168(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_169(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_170(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_171(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_172(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_173(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_174(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_175(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_176(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_177(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_178(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_179(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_180(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_181(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_182(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_183(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_184(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_185(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_186(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_187(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_188(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_189(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_190(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_191(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_192(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_193(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_194(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_195(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_196(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_197(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_198(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_199(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_200(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_201(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_202(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_203(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_204(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_205(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_206(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_207(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_208(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_209(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_210(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_211(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_212(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_213(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_214(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_215(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_216(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_217(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_218(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_219(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_220(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_221(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_222(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_223(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_224(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_225(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_226(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_227(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_228(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_229(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_230(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_231(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_232(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_233(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_234(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_235(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_236(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_237(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_238(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_239(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_240(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_241(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_242(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_243(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_244(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_245(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_246(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_247(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_248(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_249(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_250(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_251(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_252(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_253(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_254(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_255(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_256(o, s, l) 0
-#
-# endif
diff --git a/boost/preprocessor/list/detail/fold_left.hpp b/boost/preprocessor/list/detail/fold_left.hpp
deleted file mode 100644
index f5fcab7..0000000
--- a/boost/preprocessor/list/detail/fold_left.hpp
+++ /dev/null
@@ -1,279 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_LEFT_HPP
-# define BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_LEFT_HPP
-#
-# include <boost/preprocessor/control/expr_iif.hpp>
-# include <boost/preprocessor/control/iif.hpp>
-# include <boost/preprocessor/list/adt.hpp>
-# include <boost/preprocessor/tuple/eat.hpp>
-#
-# define BOOST_PP_LIST_FOLD_LEFT_1(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_2, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(2, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_2(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_3, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(3, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_3(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_4, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(4, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_4(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_5, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(5, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_5(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_6, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(6, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_6(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_7, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(7, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_7(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_8, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(8, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_8(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_9, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(9, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_9(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_10, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(10, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_10(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_11, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(11, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_11(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_12, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(12, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_12(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_13, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(13, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_13(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_14, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(14, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_14(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_15, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(15, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_15(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_16, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(16, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_16(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_17, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(17, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_17(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_18, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(18, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_18(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_19, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(19, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_19(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_20, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(20, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_20(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_21, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(21, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_21(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_22, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(22, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_22(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_23, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(23, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_23(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_24, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(24, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_24(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_25, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(25, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_25(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_26, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(26, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_26(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_27, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(27, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_27(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_28, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(28, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_28(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_29, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(29, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_29(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_30, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(30, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_30(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_31, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(31, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_31(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_32, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(32, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_32(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_33, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(33, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_33(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_34, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(34, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_34(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_35, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(35, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_35(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_36, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(36, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_36(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_37, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(37, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_37(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_38, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(38, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_38(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_39, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(39, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_39(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_40, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(40, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_40(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_41, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(41, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_41(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_42, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(42, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_42(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_43, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(43, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_43(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_44, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(44, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_44(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_45, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(45, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_45(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_46, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(46, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_46(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_47, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(47, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_47(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_48, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(48, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_48(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_49, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(49, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_49(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_50, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(50, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_50(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_51, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(51, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_51(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_52, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(52, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_52(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_53, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(53, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_53(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_54, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(54, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_54(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_55, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(55, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_55(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_56, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(56, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_56(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_57, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(57, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_57(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_58, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(58, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_58(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_59, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(59, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_59(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_60, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(60, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_60(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_61, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(61, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_61(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_62, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(62, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_62(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_63, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(63, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_63(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_64, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(64, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_64(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_65, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(65, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_65(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_66, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(66, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_66(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_67, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(67, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_67(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_68, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(68, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_68(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_69, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(69, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_69(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_70, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(70, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_70(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_71, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(71, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_71(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_72, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(72, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_72(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_73, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(73, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_73(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_74, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(74, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_74(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_75, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(75, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_75(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_76, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(76, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_76(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_77, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(77, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_77(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_78, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(78, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_78(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_79, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(79, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_79(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_80, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(80, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_80(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_81, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(81, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_81(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_82, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(82, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_82(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_83, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(83, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_83(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_84, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(84, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_84(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_85, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(85, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_85(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_86, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(86, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_86(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_87, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(87, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_87(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_88, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(88, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_88(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_89, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(89, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_89(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_90, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(90, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_90(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_91, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(91, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_91(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_92, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(92, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_92(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_93, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(93, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_93(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_94, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(94, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_94(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_95, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(95, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_95(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_96, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(96, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_96(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_97, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(97, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_97(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_98, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(98, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_98(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_99, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(99, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_99(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_100, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(100, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_100(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_101, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(101, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_101(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_102, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(102, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_102(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_103, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(103, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_103(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_104, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(104, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_104(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_105, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(105, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_105(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_106, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(106, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_106(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_107, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(107, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_107(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_108, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(108, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_108(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_109, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(109, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_109(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_110, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(110, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_110(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_111, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(111, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_111(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_112, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(112, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_112(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_113, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(113, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_113(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_114, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(114, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_114(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_115, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(115, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_115(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_116, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(116, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_116(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_117, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(117, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_117(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_118, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(118, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_118(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_119, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(119, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_119(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_120, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(120, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_120(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_121, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(121, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_121(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_122, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(122, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_122(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_123, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(123, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_123(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_124, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(124, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_124(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_125, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(125, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_125(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_126, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(126, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_126(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_127, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(127, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_127(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_128, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(128, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_128(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_129, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(129, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_129(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_130, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(130, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_130(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_131, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(131, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_131(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_132, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(132, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_132(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_133, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(133, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_133(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_134, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(134, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_134(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_135, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(135, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_135(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_136, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(136, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_136(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_137, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(137, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_137(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_138, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(138, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_138(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_139, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(139, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_139(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_140, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(140, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_140(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_141, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(141, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_141(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_142, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(142, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_142(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_143, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(143, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_143(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_144, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(144, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_144(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_145, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(145, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_145(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_146, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(146, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_146(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_147, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(147, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_147(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_148, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(148, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_148(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_149, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(149, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_149(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_150, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(150, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_150(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_151, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(151, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_151(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_152, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(152, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_152(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_153, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(153, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_153(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_154, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(154, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_154(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_155, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(155, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_155(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_156, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(156, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_156(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_157, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(157, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_157(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_158, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(158, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_158(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_159, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(159, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_159(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_160, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(160, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_160(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_161, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(161, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_161(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_162, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(162, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_162(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_163, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(163, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_163(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_164, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(164, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_164(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_165, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(165, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_165(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_166, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(166, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_166(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_167, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(167, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_167(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_168, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(168, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_168(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_169, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(169, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_169(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_170, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(170, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_170(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_171, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(171, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_171(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_172, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(172, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_172(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_173, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(173, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_173(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_174, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(174, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_174(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_175, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(175, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_175(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_176, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(176, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_176(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_177, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(177, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_177(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_178, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(178, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_178(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_179, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(179, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_179(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_180, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(180, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_180(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_181, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(181, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_181(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_182, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(182, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_182(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_183, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(183, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_183(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_184, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(184, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_184(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_185, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(185, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_185(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_186, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(186, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_186(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_187, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(187, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_187(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_188, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(188, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_188(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_189, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(189, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_189(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_190, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(190, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_190(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_191, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(191, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_191(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_192, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(192, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_192(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_193, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(193, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_193(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_194, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(194, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_194(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_195, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(195, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_195(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_196, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(196, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_196(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_197, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(197, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_197(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_198, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(198, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_198(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_199, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(199, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_199(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_200, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(200, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_200(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_201, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(201, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_201(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_202, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(202, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_202(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_203, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(203, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_203(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_204, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(204, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_204(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_205, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(205, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_205(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_206, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(206, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_206(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_207, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(207, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_207(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_208, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(208, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_208(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_209, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(209, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_209(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_210, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(210, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_210(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_211, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(211, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_211(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_212, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(212, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_212(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_213, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(213, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_213(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_214, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(214, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_214(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_215, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(215, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_215(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_216, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(216, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_216(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_217, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(217, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_217(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_218, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(218, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_218(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_219, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(219, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_219(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_220, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(220, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_220(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_221, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(221, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_221(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_222, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(222, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_222(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_223, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(223, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_223(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_224, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(224, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_224(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_225, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(225, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_225(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_226, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(226, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_226(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_227, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(227, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_227(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_228, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(228, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_228(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_229, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(229, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_229(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_230, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(230, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_230(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_231, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(231, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_231(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_232, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(232, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_232(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_233, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(233, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_233(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_234, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(234, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_234(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_235, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(235, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_235(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_236, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(236, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_236(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_237, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(237, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_237(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_238, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(238, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_238(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_239, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(239, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_239(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_240, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(240, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_240(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_241, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(241, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_241(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_242, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(242, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_242(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_243, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(243, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_243(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_244, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(244, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_244(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_245, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(245, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_245(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_246, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(246, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_246(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_247, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(247, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_247(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_248, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(248, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_248(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_249, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(249, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_249(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_250, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(250, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_250(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_251, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(251, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_251(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_252, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(252, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_252(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_253, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(253, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_253(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_254, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(254, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_254(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_255, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(255, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_255(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_256, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(256, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-# define BOOST_PP_LIST_FOLD_LEFT_256(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_257, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(257, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l))
-#
-# endif
diff --git a/boost/preprocessor/list/detail/fold_right.hpp b/boost/preprocessor/list/detail/fold_right.hpp
deleted file mode 100644
index 29146d5..0000000
--- a/boost/preprocessor/list/detail/fold_right.hpp
+++ /dev/null
@@ -1,277 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_RIGHT_HPP
-# define BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_RIGHT_HPP
-#
-# include <boost/preprocessor/list/fold_left.hpp>
-# include <boost/preprocessor/list/reverse.hpp>
-#
-# define BOOST_PP_LIST_FOLD_RIGHT_1(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1(o, s, BOOST_PP_LIST_REVERSE_D(1, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_2(o, s, l) BOOST_PP_LIST_FOLD_LEFT_2(o, s, BOOST_PP_LIST_REVERSE_D(2, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_3(o, s, l) BOOST_PP_LIST_FOLD_LEFT_3(o, s, BOOST_PP_LIST_REVERSE_D(3, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_4(o, s, l) BOOST_PP_LIST_FOLD_LEFT_4(o, s, BOOST_PP_LIST_REVERSE_D(4, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_5(o, s, l) BOOST_PP_LIST_FOLD_LEFT_5(o, s, BOOST_PP_LIST_REVERSE_D(5, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_6(o, s, l) BOOST_PP_LIST_FOLD_LEFT_6(o, s, BOOST_PP_LIST_REVERSE_D(6, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_7(o, s, l) BOOST_PP_LIST_FOLD_LEFT_7(o, s, BOOST_PP_LIST_REVERSE_D(7, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_8(o, s, l) BOOST_PP_LIST_FOLD_LEFT_8(o, s, BOOST_PP_LIST_REVERSE_D(8, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_9(o, s, l) BOOST_PP_LIST_FOLD_LEFT_9(o, s, BOOST_PP_LIST_REVERSE_D(9, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_10(o, s, l) BOOST_PP_LIST_FOLD_LEFT_10(o, s, BOOST_PP_LIST_REVERSE_D(10, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_11(o, s, l) BOOST_PP_LIST_FOLD_LEFT_11(o, s, BOOST_PP_LIST_REVERSE_D(11, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_12(o, s, l) BOOST_PP_LIST_FOLD_LEFT_12(o, s, BOOST_PP_LIST_REVERSE_D(12, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_13(o, s, l) BOOST_PP_LIST_FOLD_LEFT_13(o, s, BOOST_PP_LIST_REVERSE_D(13, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_14(o, s, l) BOOST_PP_LIST_FOLD_LEFT_14(o, s, BOOST_PP_LIST_REVERSE_D(14, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_15(o, s, l) BOOST_PP_LIST_FOLD_LEFT_15(o, s, BOOST_PP_LIST_REVERSE_D(15, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_16(o, s, l) BOOST_PP_LIST_FOLD_LEFT_16(o, s, BOOST_PP_LIST_REVERSE_D(16, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_17(o, s, l) BOOST_PP_LIST_FOLD_LEFT_17(o, s, BOOST_PP_LIST_REVERSE_D(17, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_18(o, s, l) BOOST_PP_LIST_FOLD_LEFT_18(o, s, BOOST_PP_LIST_REVERSE_D(18, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_19(o, s, l) BOOST_PP_LIST_FOLD_LEFT_19(o, s, BOOST_PP_LIST_REVERSE_D(19, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_20(o, s, l) BOOST_PP_LIST_FOLD_LEFT_20(o, s, BOOST_PP_LIST_REVERSE_D(20, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_21(o, s, l) BOOST_PP_LIST_FOLD_LEFT_21(o, s, BOOST_PP_LIST_REVERSE_D(21, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_22(o, s, l) BOOST_PP_LIST_FOLD_LEFT_22(o, s, BOOST_PP_LIST_REVERSE_D(22, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_23(o, s, l) BOOST_PP_LIST_FOLD_LEFT_23(o, s, BOOST_PP_LIST_REVERSE_D(23, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_24(o, s, l) BOOST_PP_LIST_FOLD_LEFT_24(o, s, BOOST_PP_LIST_REVERSE_D(24, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_25(o, s, l) BOOST_PP_LIST_FOLD_LEFT_25(o, s, BOOST_PP_LIST_REVERSE_D(25, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_26(o, s, l) BOOST_PP_LIST_FOLD_LEFT_26(o, s, BOOST_PP_LIST_REVERSE_D(26, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_27(o, s, l) BOOST_PP_LIST_FOLD_LEFT_27(o, s, BOOST_PP_LIST_REVERSE_D(27, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_28(o, s, l) BOOST_PP_LIST_FOLD_LEFT_28(o, s, BOOST_PP_LIST_REVERSE_D(28, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_29(o, s, l) BOOST_PP_LIST_FOLD_LEFT_29(o, s, BOOST_PP_LIST_REVERSE_D(29, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_30(o, s, l) BOOST_PP_LIST_FOLD_LEFT_30(o, s, BOOST_PP_LIST_REVERSE_D(30, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_31(o, s, l) BOOST_PP_LIST_FOLD_LEFT_31(o, s, BOOST_PP_LIST_REVERSE_D(31, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_32(o, s, l) BOOST_PP_LIST_FOLD_LEFT_32(o, s, BOOST_PP_LIST_REVERSE_D(32, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_33(o, s, l) BOOST_PP_LIST_FOLD_LEFT_33(o, s, BOOST_PP_LIST_REVERSE_D(33, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_34(o, s, l) BOOST_PP_LIST_FOLD_LEFT_34(o, s, BOOST_PP_LIST_REVERSE_D(34, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_35(o, s, l) BOOST_PP_LIST_FOLD_LEFT_35(o, s, BOOST_PP_LIST_REVERSE_D(35, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_36(o, s, l) BOOST_PP_LIST_FOLD_LEFT_36(o, s, BOOST_PP_LIST_REVERSE_D(36, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_37(o, s, l) BOOST_PP_LIST_FOLD_LEFT_37(o, s, BOOST_PP_LIST_REVERSE_D(37, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_38(o, s, l) BOOST_PP_LIST_FOLD_LEFT_38(o, s, BOOST_PP_LIST_REVERSE_D(38, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_39(o, s, l) BOOST_PP_LIST_FOLD_LEFT_39(o, s, BOOST_PP_LIST_REVERSE_D(39, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_40(o, s, l) BOOST_PP_LIST_FOLD_LEFT_40(o, s, BOOST_PP_LIST_REVERSE_D(40, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_41(o, s, l) BOOST_PP_LIST_FOLD_LEFT_41(o, s, BOOST_PP_LIST_REVERSE_D(41, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_42(o, s, l) BOOST_PP_LIST_FOLD_LEFT_42(o, s, BOOST_PP_LIST_REVERSE_D(42, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_43(o, s, l) BOOST_PP_LIST_FOLD_LEFT_43(o, s, BOOST_PP_LIST_REVERSE_D(43, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_44(o, s, l) BOOST_PP_LIST_FOLD_LEFT_44(o, s, BOOST_PP_LIST_REVERSE_D(44, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_45(o, s, l) BOOST_PP_LIST_FOLD_LEFT_45(o, s, BOOST_PP_LIST_REVERSE_D(45, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_46(o, s, l) BOOST_PP_LIST_FOLD_LEFT_46(o, s, BOOST_PP_LIST_REVERSE_D(46, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_47(o, s, l) BOOST_PP_LIST_FOLD_LEFT_47(o, s, BOOST_PP_LIST_REVERSE_D(47, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_48(o, s, l) BOOST_PP_LIST_FOLD_LEFT_48(o, s, BOOST_PP_LIST_REVERSE_D(48, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_49(o, s, l) BOOST_PP_LIST_FOLD_LEFT_49(o, s, BOOST_PP_LIST_REVERSE_D(49, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_50(o, s, l) BOOST_PP_LIST_FOLD_LEFT_50(o, s, BOOST_PP_LIST_REVERSE_D(50, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_51(o, s, l) BOOST_PP_LIST_FOLD_LEFT_51(o, s, BOOST_PP_LIST_REVERSE_D(51, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_52(o, s, l) BOOST_PP_LIST_FOLD_LEFT_52(o, s, BOOST_PP_LIST_REVERSE_D(52, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_53(o, s, l) BOOST_PP_LIST_FOLD_LEFT_53(o, s, BOOST_PP_LIST_REVERSE_D(53, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_54(o, s, l) BOOST_PP_LIST_FOLD_LEFT_54(o, s, BOOST_PP_LIST_REVERSE_D(54, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_55(o, s, l) BOOST_PP_LIST_FOLD_LEFT_55(o, s, BOOST_PP_LIST_REVERSE_D(55, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_56(o, s, l) BOOST_PP_LIST_FOLD_LEFT_56(o, s, BOOST_PP_LIST_REVERSE_D(56, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_57(o, s, l) BOOST_PP_LIST_FOLD_LEFT_57(o, s, BOOST_PP_LIST_REVERSE_D(57, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_58(o, s, l) BOOST_PP_LIST_FOLD_LEFT_58(o, s, BOOST_PP_LIST_REVERSE_D(58, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_59(o, s, l) BOOST_PP_LIST_FOLD_LEFT_59(o, s, BOOST_PP_LIST_REVERSE_D(59, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_60(o, s, l) BOOST_PP_LIST_FOLD_LEFT_60(o, s, BOOST_PP_LIST_REVERSE_D(60, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_61(o, s, l) BOOST_PP_LIST_FOLD_LEFT_61(o, s, BOOST_PP_LIST_REVERSE_D(61, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_62(o, s, l) BOOST_PP_LIST_FOLD_LEFT_62(o, s, BOOST_PP_LIST_REVERSE_D(62, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_63(o, s, l) BOOST_PP_LIST_FOLD_LEFT_63(o, s, BOOST_PP_LIST_REVERSE_D(63, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_64(o, s, l) BOOST_PP_LIST_FOLD_LEFT_64(o, s, BOOST_PP_LIST_REVERSE_D(64, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_65(o, s, l) BOOST_PP_LIST_FOLD_LEFT_65(o, s, BOOST_PP_LIST_REVERSE_D(65, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_66(o, s, l) BOOST_PP_LIST_FOLD_LEFT_66(o, s, BOOST_PP_LIST_REVERSE_D(66, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_67(o, s, l) BOOST_PP_LIST_FOLD_LEFT_67(o, s, BOOST_PP_LIST_REVERSE_D(67, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_68(o, s, l) BOOST_PP_LIST_FOLD_LEFT_68(o, s, BOOST_PP_LIST_REVERSE_D(68, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_69(o, s, l) BOOST_PP_LIST_FOLD_LEFT_69(o, s, BOOST_PP_LIST_REVERSE_D(69, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_70(o, s, l) BOOST_PP_LIST_FOLD_LEFT_70(o, s, BOOST_PP_LIST_REVERSE_D(70, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_71(o, s, l) BOOST_PP_LIST_FOLD_LEFT_71(o, s, BOOST_PP_LIST_REVERSE_D(71, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_72(o, s, l) BOOST_PP_LIST_FOLD_LEFT_72(o, s, BOOST_PP_LIST_REVERSE_D(72, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_73(o, s, l) BOOST_PP_LIST_FOLD_LEFT_73(o, s, BOOST_PP_LIST_REVERSE_D(73, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_74(o, s, l) BOOST_PP_LIST_FOLD_LEFT_74(o, s, BOOST_PP_LIST_REVERSE_D(74, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_75(o, s, l) BOOST_PP_LIST_FOLD_LEFT_75(o, s, BOOST_PP_LIST_REVERSE_D(75, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_76(o, s, l) BOOST_PP_LIST_FOLD_LEFT_76(o, s, BOOST_PP_LIST_REVERSE_D(76, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_77(o, s, l) BOOST_PP_LIST_FOLD_LEFT_77(o, s, BOOST_PP_LIST_REVERSE_D(77, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_78(o, s, l) BOOST_PP_LIST_FOLD_LEFT_78(o, s, BOOST_PP_LIST_REVERSE_D(78, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_79(o, s, l) BOOST_PP_LIST_FOLD_LEFT_79(o, s, BOOST_PP_LIST_REVERSE_D(79, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_80(o, s, l) BOOST_PP_LIST_FOLD_LEFT_80(o, s, BOOST_PP_LIST_REVERSE_D(80, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_81(o, s, l) BOOST_PP_LIST_FOLD_LEFT_81(o, s, BOOST_PP_LIST_REVERSE_D(81, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_82(o, s, l) BOOST_PP_LIST_FOLD_LEFT_82(o, s, BOOST_PP_LIST_REVERSE_D(82, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_83(o, s, l) BOOST_PP_LIST_FOLD_LEFT_83(o, s, BOOST_PP_LIST_REVERSE_D(83, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_84(o, s, l) BOOST_PP_LIST_FOLD_LEFT_84(o, s, BOOST_PP_LIST_REVERSE_D(84, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_85(o, s, l) BOOST_PP_LIST_FOLD_LEFT_85(o, s, BOOST_PP_LIST_REVERSE_D(85, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_86(o, s, l) BOOST_PP_LIST_FOLD_LEFT_86(o, s, BOOST_PP_LIST_REVERSE_D(86, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_87(o, s, l) BOOST_PP_LIST_FOLD_LEFT_87(o, s, BOOST_PP_LIST_REVERSE_D(87, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_88(o, s, l) BOOST_PP_LIST_FOLD_LEFT_88(o, s, BOOST_PP_LIST_REVERSE_D(88, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_89(o, s, l) BOOST_PP_LIST_FOLD_LEFT_89(o, s, BOOST_PP_LIST_REVERSE_D(89, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_90(o, s, l) BOOST_PP_LIST_FOLD_LEFT_90(o, s, BOOST_PP_LIST_REVERSE_D(90, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_91(o, s, l) BOOST_PP_LIST_FOLD_LEFT_91(o, s, BOOST_PP_LIST_REVERSE_D(91, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_92(o, s, l) BOOST_PP_LIST_FOLD_LEFT_92(o, s, BOOST_PP_LIST_REVERSE_D(92, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_93(o, s, l) BOOST_PP_LIST_FOLD_LEFT_93(o, s, BOOST_PP_LIST_REVERSE_D(93, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_94(o, s, l) BOOST_PP_LIST_FOLD_LEFT_94(o, s, BOOST_PP_LIST_REVERSE_D(94, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_95(o, s, l) BOOST_PP_LIST_FOLD_LEFT_95(o, s, BOOST_PP_LIST_REVERSE_D(95, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_96(o, s, l) BOOST_PP_LIST_FOLD_LEFT_96(o, s, BOOST_PP_LIST_REVERSE_D(96, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_97(o, s, l) BOOST_PP_LIST_FOLD_LEFT_97(o, s, BOOST_PP_LIST_REVERSE_D(97, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_98(o, s, l) BOOST_PP_LIST_FOLD_LEFT_98(o, s, BOOST_PP_LIST_REVERSE_D(98, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_99(o, s, l) BOOST_PP_LIST_FOLD_LEFT_99(o, s, BOOST_PP_LIST_REVERSE_D(99, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_100(o, s, l) BOOST_PP_LIST_FOLD_LEFT_100(o, s, BOOST_PP_LIST_REVERSE_D(100, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_101(o, s, l) BOOST_PP_LIST_FOLD_LEFT_101(o, s, BOOST_PP_LIST_REVERSE_D(101, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_102(o, s, l) BOOST_PP_LIST_FOLD_LEFT_102(o, s, BOOST_PP_LIST_REVERSE_D(102, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_103(o, s, l) BOOST_PP_LIST_FOLD_LEFT_103(o, s, BOOST_PP_LIST_REVERSE_D(103, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_104(o, s, l) BOOST_PP_LIST_FOLD_LEFT_104(o, s, BOOST_PP_LIST_REVERSE_D(104, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_105(o, s, l) BOOST_PP_LIST_FOLD_LEFT_105(o, s, BOOST_PP_LIST_REVERSE_D(105, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_106(o, s, l) BOOST_PP_LIST_FOLD_LEFT_106(o, s, BOOST_PP_LIST_REVERSE_D(106, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_107(o, s, l) BOOST_PP_LIST_FOLD_LEFT_107(o, s, BOOST_PP_LIST_REVERSE_D(107, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_108(o, s, l) BOOST_PP_LIST_FOLD_LEFT_108(o, s, BOOST_PP_LIST_REVERSE_D(108, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_109(o, s, l) BOOST_PP_LIST_FOLD_LEFT_109(o, s, BOOST_PP_LIST_REVERSE_D(109, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_110(o, s, l) BOOST_PP_LIST_FOLD_LEFT_110(o, s, BOOST_PP_LIST_REVERSE_D(110, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_111(o, s, l) BOOST_PP_LIST_FOLD_LEFT_111(o, s, BOOST_PP_LIST_REVERSE_D(111, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_112(o, s, l) BOOST_PP_LIST_FOLD_LEFT_112(o, s, BOOST_PP_LIST_REVERSE_D(112, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_113(o, s, l) BOOST_PP_LIST_FOLD_LEFT_113(o, s, BOOST_PP_LIST_REVERSE_D(113, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_114(o, s, l) BOOST_PP_LIST_FOLD_LEFT_114(o, s, BOOST_PP_LIST_REVERSE_D(114, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_115(o, s, l) BOOST_PP_LIST_FOLD_LEFT_115(o, s, BOOST_PP_LIST_REVERSE_D(115, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_116(o, s, l) BOOST_PP_LIST_FOLD_LEFT_116(o, s, BOOST_PP_LIST_REVERSE_D(116, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_117(o, s, l) BOOST_PP_LIST_FOLD_LEFT_117(o, s, BOOST_PP_LIST_REVERSE_D(117, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_118(o, s, l) BOOST_PP_LIST_FOLD_LEFT_118(o, s, BOOST_PP_LIST_REVERSE_D(118, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_119(o, s, l) BOOST_PP_LIST_FOLD_LEFT_119(o, s, BOOST_PP_LIST_REVERSE_D(119, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_120(o, s, l) BOOST_PP_LIST_FOLD_LEFT_120(o, s, BOOST_PP_LIST_REVERSE_D(120, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_121(o, s, l) BOOST_PP_LIST_FOLD_LEFT_121(o, s, BOOST_PP_LIST_REVERSE_D(121, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_122(o, s, l) BOOST_PP_LIST_FOLD_LEFT_122(o, s, BOOST_PP_LIST_REVERSE_D(122, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_123(o, s, l) BOOST_PP_LIST_FOLD_LEFT_123(o, s, BOOST_PP_LIST_REVERSE_D(123, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_124(o, s, l) BOOST_PP_LIST_FOLD_LEFT_124(o, s, BOOST_PP_LIST_REVERSE_D(124, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_125(o, s, l) BOOST_PP_LIST_FOLD_LEFT_125(o, s, BOOST_PP_LIST_REVERSE_D(125, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_126(o, s, l) BOOST_PP_LIST_FOLD_LEFT_126(o, s, BOOST_PP_LIST_REVERSE_D(126, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_127(o, s, l) BOOST_PP_LIST_FOLD_LEFT_127(o, s, BOOST_PP_LIST_REVERSE_D(127, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_128(o, s, l) BOOST_PP_LIST_FOLD_LEFT_128(o, s, BOOST_PP_LIST_REVERSE_D(128, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_129(o, s, l) BOOST_PP_LIST_FOLD_LEFT_129(o, s, BOOST_PP_LIST_REVERSE_D(129, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_130(o, s, l) BOOST_PP_LIST_FOLD_LEFT_130(o, s, BOOST_PP_LIST_REVERSE_D(130, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_131(o, s, l) BOOST_PP_LIST_FOLD_LEFT_131(o, s, BOOST_PP_LIST_REVERSE_D(131, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_132(o, s, l) BOOST_PP_LIST_FOLD_LEFT_132(o, s, BOOST_PP_LIST_REVERSE_D(132, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_133(o, s, l) BOOST_PP_LIST_FOLD_LEFT_133(o, s, BOOST_PP_LIST_REVERSE_D(133, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_134(o, s, l) BOOST_PP_LIST_FOLD_LEFT_134(o, s, BOOST_PP_LIST_REVERSE_D(134, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_135(o, s, l) BOOST_PP_LIST_FOLD_LEFT_135(o, s, BOOST_PP_LIST_REVERSE_D(135, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_136(o, s, l) BOOST_PP_LIST_FOLD_LEFT_136(o, s, BOOST_PP_LIST_REVERSE_D(136, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_137(o, s, l) BOOST_PP_LIST_FOLD_LEFT_137(o, s, BOOST_PP_LIST_REVERSE_D(137, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_138(o, s, l) BOOST_PP_LIST_FOLD_LEFT_138(o, s, BOOST_PP_LIST_REVERSE_D(138, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_139(o, s, l) BOOST_PP_LIST_FOLD_LEFT_139(o, s, BOOST_PP_LIST_REVERSE_D(139, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_140(o, s, l) BOOST_PP_LIST_FOLD_LEFT_140(o, s, BOOST_PP_LIST_REVERSE_D(140, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_141(o, s, l) BOOST_PP_LIST_FOLD_LEFT_141(o, s, BOOST_PP_LIST_REVERSE_D(141, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_142(o, s, l) BOOST_PP_LIST_FOLD_LEFT_142(o, s, BOOST_PP_LIST_REVERSE_D(142, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_143(o, s, l) BOOST_PP_LIST_FOLD_LEFT_143(o, s, BOOST_PP_LIST_REVERSE_D(143, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_144(o, s, l) BOOST_PP_LIST_FOLD_LEFT_144(o, s, BOOST_PP_LIST_REVERSE_D(144, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_145(o, s, l) BOOST_PP_LIST_FOLD_LEFT_145(o, s, BOOST_PP_LIST_REVERSE_D(145, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_146(o, s, l) BOOST_PP_LIST_FOLD_LEFT_146(o, s, BOOST_PP_LIST_REVERSE_D(146, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_147(o, s, l) BOOST_PP_LIST_FOLD_LEFT_147(o, s, BOOST_PP_LIST_REVERSE_D(147, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_148(o, s, l) BOOST_PP_LIST_FOLD_LEFT_148(o, s, BOOST_PP_LIST_REVERSE_D(148, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_149(o, s, l) BOOST_PP_LIST_FOLD_LEFT_149(o, s, BOOST_PP_LIST_REVERSE_D(149, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_150(o, s, l) BOOST_PP_LIST_FOLD_LEFT_150(o, s, BOOST_PP_LIST_REVERSE_D(150, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_151(o, s, l) BOOST_PP_LIST_FOLD_LEFT_151(o, s, BOOST_PP_LIST_REVERSE_D(151, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_152(o, s, l) BOOST_PP_LIST_FOLD_LEFT_152(o, s, BOOST_PP_LIST_REVERSE_D(152, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_153(o, s, l) BOOST_PP_LIST_FOLD_LEFT_153(o, s, BOOST_PP_LIST_REVERSE_D(153, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_154(o, s, l) BOOST_PP_LIST_FOLD_LEFT_154(o, s, BOOST_PP_LIST_REVERSE_D(154, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_155(o, s, l) BOOST_PP_LIST_FOLD_LEFT_155(o, s, BOOST_PP_LIST_REVERSE_D(155, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_156(o, s, l) BOOST_PP_LIST_FOLD_LEFT_156(o, s, BOOST_PP_LIST_REVERSE_D(156, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_157(o, s, l) BOOST_PP_LIST_FOLD_LEFT_157(o, s, BOOST_PP_LIST_REVERSE_D(157, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_158(o, s, l) BOOST_PP_LIST_FOLD_LEFT_158(o, s, BOOST_PP_LIST_REVERSE_D(158, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_159(o, s, l) BOOST_PP_LIST_FOLD_LEFT_159(o, s, BOOST_PP_LIST_REVERSE_D(159, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_160(o, s, l) BOOST_PP_LIST_FOLD_LEFT_160(o, s, BOOST_PP_LIST_REVERSE_D(160, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_161(o, s, l) BOOST_PP_LIST_FOLD_LEFT_161(o, s, BOOST_PP_LIST_REVERSE_D(161, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_162(o, s, l) BOOST_PP_LIST_FOLD_LEFT_162(o, s, BOOST_PP_LIST_REVERSE_D(162, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_163(o, s, l) BOOST_PP_LIST_FOLD_LEFT_163(o, s, BOOST_PP_LIST_REVERSE_D(163, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_164(o, s, l) BOOST_PP_LIST_FOLD_LEFT_164(o, s, BOOST_PP_LIST_REVERSE_D(164, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_165(o, s, l) BOOST_PP_LIST_FOLD_LEFT_165(o, s, BOOST_PP_LIST_REVERSE_D(165, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_166(o, s, l) BOOST_PP_LIST_FOLD_LEFT_166(o, s, BOOST_PP_LIST_REVERSE_D(166, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_167(o, s, l) BOOST_PP_LIST_FOLD_LEFT_167(o, s, BOOST_PP_LIST_REVERSE_D(167, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_168(o, s, l) BOOST_PP_LIST_FOLD_LEFT_168(o, s, BOOST_PP_LIST_REVERSE_D(168, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_169(o, s, l) BOOST_PP_LIST_FOLD_LEFT_169(o, s, BOOST_PP_LIST_REVERSE_D(169, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_170(o, s, l) BOOST_PP_LIST_FOLD_LEFT_170(o, s, BOOST_PP_LIST_REVERSE_D(170, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_171(o, s, l) BOOST_PP_LIST_FOLD_LEFT_171(o, s, BOOST_PP_LIST_REVERSE_D(171, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_172(o, s, l) BOOST_PP_LIST_FOLD_LEFT_172(o, s, BOOST_PP_LIST_REVERSE_D(172, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_173(o, s, l) BOOST_PP_LIST_FOLD_LEFT_173(o, s, BOOST_PP_LIST_REVERSE_D(173, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_174(o, s, l) BOOST_PP_LIST_FOLD_LEFT_174(o, s, BOOST_PP_LIST_REVERSE_D(174, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_175(o, s, l) BOOST_PP_LIST_FOLD_LEFT_175(o, s, BOOST_PP_LIST_REVERSE_D(175, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_176(o, s, l) BOOST_PP_LIST_FOLD_LEFT_176(o, s, BOOST_PP_LIST_REVERSE_D(176, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_177(o, s, l) BOOST_PP_LIST_FOLD_LEFT_177(o, s, BOOST_PP_LIST_REVERSE_D(177, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_178(o, s, l) BOOST_PP_LIST_FOLD_LEFT_178(o, s, BOOST_PP_LIST_REVERSE_D(178, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_179(o, s, l) BOOST_PP_LIST_FOLD_LEFT_179(o, s, BOOST_PP_LIST_REVERSE_D(179, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_180(o, s, l) BOOST_PP_LIST_FOLD_LEFT_180(o, s, BOOST_PP_LIST_REVERSE_D(180, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_181(o, s, l) BOOST_PP_LIST_FOLD_LEFT_181(o, s, BOOST_PP_LIST_REVERSE_D(181, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_182(o, s, l) BOOST_PP_LIST_FOLD_LEFT_182(o, s, BOOST_PP_LIST_REVERSE_D(182, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_183(o, s, l) BOOST_PP_LIST_FOLD_LEFT_183(o, s, BOOST_PP_LIST_REVERSE_D(183, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_184(o, s, l) BOOST_PP_LIST_FOLD_LEFT_184(o, s, BOOST_PP_LIST_REVERSE_D(184, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_185(o, s, l) BOOST_PP_LIST_FOLD_LEFT_185(o, s, BOOST_PP_LIST_REVERSE_D(185, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_186(o, s, l) BOOST_PP_LIST_FOLD_LEFT_186(o, s, BOOST_PP_LIST_REVERSE_D(186, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_187(o, s, l) BOOST_PP_LIST_FOLD_LEFT_187(o, s, BOOST_PP_LIST_REVERSE_D(187, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_188(o, s, l) BOOST_PP_LIST_FOLD_LEFT_188(o, s, BOOST_PP_LIST_REVERSE_D(188, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_189(o, s, l) BOOST_PP_LIST_FOLD_LEFT_189(o, s, BOOST_PP_LIST_REVERSE_D(189, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_190(o, s, l) BOOST_PP_LIST_FOLD_LEFT_190(o, s, BOOST_PP_LIST_REVERSE_D(190, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_191(o, s, l) BOOST_PP_LIST_FOLD_LEFT_191(o, s, BOOST_PP_LIST_REVERSE_D(191, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_192(o, s, l) BOOST_PP_LIST_FOLD_LEFT_192(o, s, BOOST_PP_LIST_REVERSE_D(192, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_193(o, s, l) BOOST_PP_LIST_FOLD_LEFT_193(o, s, BOOST_PP_LIST_REVERSE_D(193, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_194(o, s, l) BOOST_PP_LIST_FOLD_LEFT_194(o, s, BOOST_PP_LIST_REVERSE_D(194, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_195(o, s, l) BOOST_PP_LIST_FOLD_LEFT_195(o, s, BOOST_PP_LIST_REVERSE_D(195, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_196(o, s, l) BOOST_PP_LIST_FOLD_LEFT_196(o, s, BOOST_PP_LIST_REVERSE_D(196, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_197(o, s, l) BOOST_PP_LIST_FOLD_LEFT_197(o, s, BOOST_PP_LIST_REVERSE_D(197, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_198(o, s, l) BOOST_PP_LIST_FOLD_LEFT_198(o, s, BOOST_PP_LIST_REVERSE_D(198, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_199(o, s, l) BOOST_PP_LIST_FOLD_LEFT_199(o, s, BOOST_PP_LIST_REVERSE_D(199, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_200(o, s, l) BOOST_PP_LIST_FOLD_LEFT_200(o, s, BOOST_PP_LIST_REVERSE_D(200, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_201(o, s, l) BOOST_PP_LIST_FOLD_LEFT_201(o, s, BOOST_PP_LIST_REVERSE_D(201, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_202(o, s, l) BOOST_PP_LIST_FOLD_LEFT_202(o, s, BOOST_PP_LIST_REVERSE_D(202, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_203(o, s, l) BOOST_PP_LIST_FOLD_LEFT_203(o, s, BOOST_PP_LIST_REVERSE_D(203, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_204(o, s, l) BOOST_PP_LIST_FOLD_LEFT_204(o, s, BOOST_PP_LIST_REVERSE_D(204, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_205(o, s, l) BOOST_PP_LIST_FOLD_LEFT_205(o, s, BOOST_PP_LIST_REVERSE_D(205, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_206(o, s, l) BOOST_PP_LIST_FOLD_LEFT_206(o, s, BOOST_PP_LIST_REVERSE_D(206, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_207(o, s, l) BOOST_PP_LIST_FOLD_LEFT_207(o, s, BOOST_PP_LIST_REVERSE_D(207, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_208(o, s, l) BOOST_PP_LIST_FOLD_LEFT_208(o, s, BOOST_PP_LIST_REVERSE_D(208, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_209(o, s, l) BOOST_PP_LIST_FOLD_LEFT_209(o, s, BOOST_PP_LIST_REVERSE_D(209, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_210(o, s, l) BOOST_PP_LIST_FOLD_LEFT_210(o, s, BOOST_PP_LIST_REVERSE_D(210, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_211(o, s, l) BOOST_PP_LIST_FOLD_LEFT_211(o, s, BOOST_PP_LIST_REVERSE_D(211, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_212(o, s, l) BOOST_PP_LIST_FOLD_LEFT_212(o, s, BOOST_PP_LIST_REVERSE_D(212, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_213(o, s, l) BOOST_PP_LIST_FOLD_LEFT_213(o, s, BOOST_PP_LIST_REVERSE_D(213, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_214(o, s, l) BOOST_PP_LIST_FOLD_LEFT_214(o, s, BOOST_PP_LIST_REVERSE_D(214, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_215(o, s, l) BOOST_PP_LIST_FOLD_LEFT_215(o, s, BOOST_PP_LIST_REVERSE_D(215, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_216(o, s, l) BOOST_PP_LIST_FOLD_LEFT_216(o, s, BOOST_PP_LIST_REVERSE_D(216, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_217(o, s, l) BOOST_PP_LIST_FOLD_LEFT_217(o, s, BOOST_PP_LIST_REVERSE_D(217, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_218(o, s, l) BOOST_PP_LIST_FOLD_LEFT_218(o, s, BOOST_PP_LIST_REVERSE_D(218, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_219(o, s, l) BOOST_PP_LIST_FOLD_LEFT_219(o, s, BOOST_PP_LIST_REVERSE_D(219, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_220(o, s, l) BOOST_PP_LIST_FOLD_LEFT_220(o, s, BOOST_PP_LIST_REVERSE_D(220, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_221(o, s, l) BOOST_PP_LIST_FOLD_LEFT_221(o, s, BOOST_PP_LIST_REVERSE_D(221, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_222(o, s, l) BOOST_PP_LIST_FOLD_LEFT_222(o, s, BOOST_PP_LIST_REVERSE_D(222, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_223(o, s, l) BOOST_PP_LIST_FOLD_LEFT_223(o, s, BOOST_PP_LIST_REVERSE_D(223, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_224(o, s, l) BOOST_PP_LIST_FOLD_LEFT_224(o, s, BOOST_PP_LIST_REVERSE_D(224, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_225(o, s, l) BOOST_PP_LIST_FOLD_LEFT_225(o, s, BOOST_PP_LIST_REVERSE_D(225, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_226(o, s, l) BOOST_PP_LIST_FOLD_LEFT_226(o, s, BOOST_PP_LIST_REVERSE_D(226, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_227(o, s, l) BOOST_PP_LIST_FOLD_LEFT_227(o, s, BOOST_PP_LIST_REVERSE_D(227, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_228(o, s, l) BOOST_PP_LIST_FOLD_LEFT_228(o, s, BOOST_PP_LIST_REVERSE_D(228, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_229(o, s, l) BOOST_PP_LIST_FOLD_LEFT_229(o, s, BOOST_PP_LIST_REVERSE_D(229, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_230(o, s, l) BOOST_PP_LIST_FOLD_LEFT_230(o, s, BOOST_PP_LIST_REVERSE_D(230, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_231(o, s, l) BOOST_PP_LIST_FOLD_LEFT_231(o, s, BOOST_PP_LIST_REVERSE_D(231, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_232(o, s, l) BOOST_PP_LIST_FOLD_LEFT_232(o, s, BOOST_PP_LIST_REVERSE_D(232, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_233(o, s, l) BOOST_PP_LIST_FOLD_LEFT_233(o, s, BOOST_PP_LIST_REVERSE_D(233, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_234(o, s, l) BOOST_PP_LIST_FOLD_LEFT_234(o, s, BOOST_PP_LIST_REVERSE_D(234, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_235(o, s, l) BOOST_PP_LIST_FOLD_LEFT_235(o, s, BOOST_PP_LIST_REVERSE_D(235, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_236(o, s, l) BOOST_PP_LIST_FOLD_LEFT_236(o, s, BOOST_PP_LIST_REVERSE_D(236, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_237(o, s, l) BOOST_PP_LIST_FOLD_LEFT_237(o, s, BOOST_PP_LIST_REVERSE_D(237, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_238(o, s, l) BOOST_PP_LIST_FOLD_LEFT_238(o, s, BOOST_PP_LIST_REVERSE_D(238, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_239(o, s, l) BOOST_PP_LIST_FOLD_LEFT_239(o, s, BOOST_PP_LIST_REVERSE_D(239, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_240(o, s, l) BOOST_PP_LIST_FOLD_LEFT_240(o, s, BOOST_PP_LIST_REVERSE_D(240, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_241(o, s, l) BOOST_PP_LIST_FOLD_LEFT_241(o, s, BOOST_PP_LIST_REVERSE_D(241, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_242(o, s, l) BOOST_PP_LIST_FOLD_LEFT_242(o, s, BOOST_PP_LIST_REVERSE_D(242, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_243(o, s, l) BOOST_PP_LIST_FOLD_LEFT_243(o, s, BOOST_PP_LIST_REVERSE_D(243, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_244(o, s, l) BOOST_PP_LIST_FOLD_LEFT_244(o, s, BOOST_PP_LIST_REVERSE_D(244, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_245(o, s, l) BOOST_PP_LIST_FOLD_LEFT_245(o, s, BOOST_PP_LIST_REVERSE_D(245, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_246(o, s, l) BOOST_PP_LIST_FOLD_LEFT_246(o, s, BOOST_PP_LIST_REVERSE_D(246, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_247(o, s, l) BOOST_PP_LIST_FOLD_LEFT_247(o, s, BOOST_PP_LIST_REVERSE_D(247, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_248(o, s, l) BOOST_PP_LIST_FOLD_LEFT_248(o, s, BOOST_PP_LIST_REVERSE_D(248, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_249(o, s, l) BOOST_PP_LIST_FOLD_LEFT_249(o, s, BOOST_PP_LIST_REVERSE_D(249, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_250(o, s, l) BOOST_PP_LIST_FOLD_LEFT_250(o, s, BOOST_PP_LIST_REVERSE_D(250, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_251(o, s, l) BOOST_PP_LIST_FOLD_LEFT_251(o, s, BOOST_PP_LIST_REVERSE_D(251, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_252(o, s, l) BOOST_PP_LIST_FOLD_LEFT_252(o, s, BOOST_PP_LIST_REVERSE_D(252, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_253(o, s, l) BOOST_PP_LIST_FOLD_LEFT_253(o, s, BOOST_PP_LIST_REVERSE_D(253, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_254(o, s, l) BOOST_PP_LIST_FOLD_LEFT_254(o, s, BOOST_PP_LIST_REVERSE_D(254, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_255(o, s, l) BOOST_PP_LIST_FOLD_LEFT_255(o, s, BOOST_PP_LIST_REVERSE_D(255, l))
-# define BOOST_PP_LIST_FOLD_RIGHT_256(o, s, l) BOOST_PP_LIST_FOLD_LEFT_256(o, s, BOOST_PP_LIST_REVERSE_D(256, l))
-#
-# endif
diff --git a/boost/preprocessor/list/fold_left.hpp b/boost/preprocessor/list/fold_left.hpp
deleted file mode 100644
index f235aec..0000000
--- a/boost/preprocessor/list/fold_left.hpp
+++ /dev/null
@@ -1,303 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LIST_FOLD_LEFT_HPP
-# define BOOST_PREPROCESSOR_LIST_FOLD_LEFT_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/control/while.hpp>
-# include <boost/preprocessor/debug/error.hpp>
-# include <boost/preprocessor/detail/auto_rec.hpp>
-#
-# /* BOOST_PP_LIST_FOLD_LEFT */
-#
-# if 0
-# define BOOST_PP_LIST_FOLD_LEFT(op, state, list)
-# endif
-#
-# define BOOST_PP_LIST_FOLD_LEFT BOOST_PP_CAT(BOOST_PP_LIST_FOLD_LEFT_, BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256))
-#
-# define BOOST_PP_LIST_FOLD_LEFT_257(o, s, l) BOOST_PP_ERROR(0x0004)
-#
-# define BOOST_PP_LIST_FOLD_LEFT_D(d, o, s, l) BOOST_PP_LIST_FOLD_LEFT_ ## d(o, s, l)
-# define BOOST_PP_LIST_FOLD_LEFT_2ND BOOST_PP_LIST_FOLD_LEFT
-# define BOOST_PP_LIST_FOLD_LEFT_2ND_D BOOST_PP_LIST_FOLD_LEFT_D
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# include <boost/preprocessor/list/detail/edg/fold_left.hpp>
-# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC()
-# include <boost/preprocessor/list/detail/dmc/fold_left.hpp>
-# else
-# include <boost/preprocessor/list/detail/fold_left.hpp>
-# endif
-#
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_NIL 1
-#
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_2(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_3(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_4(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_5(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_6(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_7(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_8(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_9(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_10(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_11(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_12(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_13(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_14(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_15(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_16(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_17(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_18(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_19(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_20(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_21(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_22(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_23(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_24(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_25(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_26(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_27(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_28(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_29(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_30(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_31(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_32(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_33(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_34(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_35(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_36(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_37(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_38(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_39(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_40(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_41(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_42(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_43(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_44(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_45(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_46(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_47(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_48(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_49(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_50(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_51(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_52(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_53(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_54(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_55(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_56(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_57(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_58(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_59(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_60(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_61(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_62(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_63(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_64(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_65(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_66(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_67(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_68(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_69(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_70(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_71(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_72(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_73(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_74(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_75(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_76(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_77(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_78(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_79(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_80(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_81(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_82(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_83(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_84(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_85(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_86(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_87(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_88(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_89(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_90(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_91(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_92(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_93(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_94(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_95(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_96(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_97(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_98(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_99(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_100(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_101(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_102(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_103(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_104(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_105(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_106(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_107(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_108(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_109(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_110(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_111(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_112(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_113(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_114(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_115(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_116(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_117(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_118(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_119(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_120(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_121(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_122(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_123(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_124(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_125(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_126(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_127(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_128(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_129(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_130(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_131(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_132(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_133(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_134(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_135(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_136(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_137(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_138(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_139(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_140(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_141(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_142(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_143(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_144(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_145(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_146(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_147(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_148(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_149(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_150(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_151(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_152(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_153(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_154(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_155(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_156(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_157(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_158(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_159(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_160(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_161(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_162(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_163(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_164(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_165(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_166(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_167(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_168(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_169(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_170(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_171(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_172(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_173(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_174(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_175(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_176(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_177(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_178(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_179(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_180(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_181(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_182(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_183(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_184(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_185(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_186(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_187(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_188(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_189(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_190(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_191(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_192(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_193(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_194(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_195(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_196(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_197(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_198(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_199(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_200(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_201(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_202(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_203(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_204(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_205(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_206(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_207(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_208(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_209(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_210(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_211(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_212(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_213(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_214(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_215(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_216(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_217(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_218(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_219(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_220(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_221(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_222(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_223(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_224(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_225(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_226(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_227(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_228(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_229(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_230(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_231(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_232(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_233(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_234(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_235(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_236(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_237(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_238(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_239(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_240(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_241(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_242(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_243(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_244(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_245(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_246(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_247(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_248(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_249(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_250(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_251(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_252(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_253(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_254(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_255(o, s, l) 0
-# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_256(o, s, l) 0
-#
-# endif
diff --git a/boost/preprocessor/list/fold_right.hpp b/boost/preprocessor/list/fold_right.hpp
deleted file mode 100644
index ce18afe..0000000
--- a/boost/preprocessor/list/fold_right.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LIST_FOLD_RIGHT_HPP
-# define BOOST_PREPROCESSOR_LIST_FOLD_RIGHT_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/control/while.hpp>
-# include <boost/preprocessor/debug/error.hpp>
-# include <boost/preprocessor/detail/auto_rec.hpp>
-#
-# if 0
-# define BOOST_PP_LIST_FOLD_RIGHT(op, state, list)
-# endif
-#
-# define BOOST_PP_LIST_FOLD_RIGHT BOOST_PP_CAT(BOOST_PP_LIST_FOLD_RIGHT_, BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256))
-#
-# define BOOST_PP_LIST_FOLD_RIGHT_257(o, s, l) BOOST_PP_ERROR(0x0004)
-#
-# define BOOST_PP_LIST_FOLD_RIGHT_D(d, o, s, l) BOOST_PP_LIST_FOLD_RIGHT_ ## d(o, s, l)
-# define BOOST_PP_LIST_FOLD_RIGHT_2ND BOOST_PP_LIST_FOLD_RIGHT
-# define BOOST_PP_LIST_FOLD_RIGHT_2ND_D BOOST_PP_LIST_FOLD_RIGHT_D
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# include <boost/preprocessor/list/detail/edg/fold_right.hpp>
-# else
-# include <boost/preprocessor/list/detail/fold_right.hpp>
-# endif
-#
-# endif
diff --git a/boost/preprocessor/list/for_each_i.hpp b/boost/preprocessor/list/for_each_i.hpp
deleted file mode 100644
index 8f02e2e..0000000
--- a/boost/preprocessor/list/for_each_i.hpp
+++ /dev/null
@@ -1,65 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LIST_LIST_FOR_EACH_I_HPP
-# define BOOST_PREPROCESSOR_LIST_LIST_FOR_EACH_I_HPP
-#
-# include <boost/preprocessor/arithmetic/inc.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/list/adt.hpp>
-# include <boost/preprocessor/repetition/for.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-# include <boost/preprocessor/tuple/rem.hpp>
-#
-# /* BOOST_PP_LIST_FOR_EACH_I */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() && ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-# define BOOST_PP_LIST_FOR_EACH_I(macro, data, list) BOOST_PP_FOR((macro, data, list, 0), BOOST_PP_LIST_FOR_EACH_I_P, BOOST_PP_LIST_FOR_EACH_I_O, BOOST_PP_LIST_FOR_EACH_I_M)
-# else
-# define BOOST_PP_LIST_FOR_EACH_I(macro, data, list) BOOST_PP_LIST_FOR_EACH_I_I(macro, data, list)
-# define BOOST_PP_LIST_FOR_EACH_I_I(macro, data, list) BOOST_PP_FOR((macro, data, list, 0), BOOST_PP_LIST_FOR_EACH_I_P, BOOST_PP_LIST_FOR_EACH_I_O, BOOST_PP_LIST_FOR_EACH_I_M)
-# endif
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
-# define BOOST_PP_LIST_FOR_EACH_I_P(r, x) BOOST_PP_LIST_FOR_EACH_I_P_D x
-# define BOOST_PP_LIST_FOR_EACH_I_P_D(m, d, l, i) BOOST_PP_LIST_IS_CONS(l)
-# else
-# define BOOST_PP_LIST_FOR_EACH_I_P(r, x) BOOST_PP_LIST_IS_CONS(BOOST_PP_TUPLE_ELEM(4, 2, x))
-# endif
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-# define BOOST_PP_LIST_FOR_EACH_I_O(r, x) BOOST_PP_LIST_FOR_EACH_I_O_D x
-# define BOOST_PP_LIST_FOR_EACH_I_O_D(m, d, l, i) (m, d, BOOST_PP_LIST_REST(l), BOOST_PP_INC(i))
-# else
-# define BOOST_PP_LIST_FOR_EACH_I_O(r, x) (BOOST_PP_TUPLE_ELEM(4, 0, x), BOOST_PP_TUPLE_ELEM(4, 1, x), BOOST_PP_LIST_REST(BOOST_PP_TUPLE_ELEM(4, 2, x)), BOOST_PP_INC(BOOST_PP_TUPLE_ELEM(4, 3, x)))
-# endif
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_LIST_FOR_EACH_I_M(r, x) BOOST_PP_LIST_FOR_EACH_I_M_D(r, BOOST_PP_TUPLE_ELEM(4, 0, x), BOOST_PP_TUPLE_ELEM(4, 1, x), BOOST_PP_TUPLE_ELEM(4, 2, x), BOOST_PP_TUPLE_ELEM(4, 3, x))
-# else
-# define BOOST_PP_LIST_FOR_EACH_I_M(r, x) BOOST_PP_LIST_FOR_EACH_I_M_I(r, BOOST_PP_TUPLE_REM_4 x)
-# define BOOST_PP_LIST_FOR_EACH_I_M_I(r, x_e) BOOST_PP_LIST_FOR_EACH_I_M_D(r, x_e)
-# endif
-#
-# define BOOST_PP_LIST_FOR_EACH_I_M_D(r, m, d, l, i) m(r, d, i, BOOST_PP_LIST_FIRST(l))
-#
-# /* BOOST_PP_LIST_FOR_EACH_I_R */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_LIST_FOR_EACH_I_R(r, macro, data, list) BOOST_PP_FOR_ ## r((macro, data, list, 0), BOOST_PP_LIST_FOR_EACH_I_P, BOOST_PP_LIST_FOR_EACH_I_O, BOOST_PP_LIST_FOR_EACH_I_M)
-# else
-# define BOOST_PP_LIST_FOR_EACH_I_R(r, macro, data, list) BOOST_PP_LIST_FOR_EACH_I_R_I(r, macro, data, list)
-# define BOOST_PP_LIST_FOR_EACH_I_R_I(r, macro, data, list) BOOST_PP_FOR_ ## r((macro, data, list, 0), BOOST_PP_LIST_FOR_EACH_I_P, BOOST_PP_LIST_FOR_EACH_I_O, BOOST_PP_LIST_FOR_EACH_I_M)
-# endif
-#
-# endif
diff --git a/boost/preprocessor/list/reverse.hpp b/boost/preprocessor/list/reverse.hpp
deleted file mode 100644
index 651da05..0000000
--- a/boost/preprocessor/list/reverse.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LIST_REVERSE_HPP
-# define BOOST_PREPROCESSOR_LIST_REVERSE_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/list/fold_left.hpp>
-#
-# /* BOOST_PP_LIST_REVERSE */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_LIST_REVERSE(list) BOOST_PP_LIST_FOLD_LEFT(BOOST_PP_LIST_REVERSE_O, BOOST_PP_NIL, list)
-# else
-# define BOOST_PP_LIST_REVERSE(list) BOOST_PP_LIST_REVERSE_I(list)
-# define BOOST_PP_LIST_REVERSE_I(list) BOOST_PP_LIST_FOLD_LEFT(BOOST_PP_LIST_REVERSE_O, BOOST_PP_NIL, list)
-# endif
-#
-# define BOOST_PP_LIST_REVERSE_O(d, s, x) (x, s)
-#
-# /* BOOST_PP_LIST_REVERSE_D */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_LIST_REVERSE_D(d, list) BOOST_PP_LIST_FOLD_LEFT_ ## d(BOOST_PP_LIST_REVERSE_O, BOOST_PP_NIL, list)
-# else
-# define BOOST_PP_LIST_REVERSE_D(d, list) BOOST_PP_LIST_REVERSE_D_I(d, list)
-# define BOOST_PP_LIST_REVERSE_D_I(d, list) BOOST_PP_LIST_FOLD_LEFT_ ## d(BOOST_PP_LIST_REVERSE_O, BOOST_PP_NIL, list)
-# endif
-#
-# endif
diff --git a/boost/preprocessor/list/transform.hpp b/boost/preprocessor/list/transform.hpp
deleted file mode 100644
index 840f306..0000000
--- a/boost/preprocessor/list/transform.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LIST_TRANSFORM_HPP
-# define BOOST_PREPROCESSOR_LIST_TRANSFORM_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/list/fold_right.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-# include <boost/preprocessor/tuple/rem.hpp>
-#
-# /* BOOST_PP_LIST_TRANSFORM */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_LIST_TRANSFORM(op, data, list) BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_LIST_FOLD_RIGHT(BOOST_PP_LIST_TRANSFORM_O, (op, data, BOOST_PP_NIL), list))
-# else
-# define BOOST_PP_LIST_TRANSFORM(op, data, list) BOOST_PP_LIST_TRANSFORM_I(op, data, list)
-# define BOOST_PP_LIST_TRANSFORM_I(op, data, list) BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_LIST_FOLD_RIGHT(BOOST_PP_LIST_TRANSFORM_O, (op, data, BOOST_PP_NIL), list))
-# endif
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_LIST_TRANSFORM_O(d, odr, elem) BOOST_PP_LIST_TRANSFORM_O_D(d, BOOST_PP_TUPLE_ELEM(3, 0, odr), BOOST_PP_TUPLE_ELEM(3, 1, odr), BOOST_PP_TUPLE_ELEM(3, 2, odr), elem)
-# else
-# define BOOST_PP_LIST_TRANSFORM_O(d, odr, elem) BOOST_PP_LIST_TRANSFORM_O_I(d, BOOST_PP_TUPLE_REM_3 odr, elem)
-# define BOOST_PP_LIST_TRANSFORM_O_I(d, im, elem) BOOST_PP_LIST_TRANSFORM_O_D(d, im, elem)
-# endif
-#
-# define BOOST_PP_LIST_TRANSFORM_O_D(d, op, data, res, elem) (op, data, (op(d, data, elem), res))
-#
-# /* BOOST_PP_LIST_TRANSFORM_D */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_LIST_TRANSFORM_D(d, op, data, list) BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_LIST_FOLD_RIGHT_ ## d(BOOST_PP_LIST_TRANSFORM_O, (op, data, BOOST_PP_NIL), list))
-# else
-# define BOOST_PP_LIST_TRANSFORM_D(d, op, data, list) BOOST_PP_LIST_TRANSFORM_D_I(d, op, data, list)
-# define BOOST_PP_LIST_TRANSFORM_D_I(d, op, data, list) BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_LIST_FOLD_RIGHT_ ## d(BOOST_PP_LIST_TRANSFORM_O, (op, data, BOOST_PP_NIL), list))
-# endif
-#
-# endif
diff --git a/boost/preprocessor/logical/and.hpp b/boost/preprocessor/logical/and.hpp
deleted file mode 100644
index 8590365..0000000
--- a/boost/preprocessor/logical/and.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LOGICAL_AND_HPP
-# define BOOST_PREPROCESSOR_LOGICAL_AND_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/logical/bool.hpp>
-# include <boost/preprocessor/logical/bitand.hpp>
-#
-# /* BOOST_PP_AND */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_AND(p, q) BOOST_PP_BITAND(BOOST_PP_BOOL(p), BOOST_PP_BOOL(q))
-# else
-# define BOOST_PP_AND(p, q) BOOST_PP_AND_I(p, q)
-# define BOOST_PP_AND_I(p, q) BOOST_PP_BITAND(BOOST_PP_BOOL(p), BOOST_PP_BOOL(q))
-# endif
-#
-# endif
diff --git a/boost/preprocessor/logical/bitand.hpp b/boost/preprocessor/logical/bitand.hpp
deleted file mode 100644
index 74e9527..0000000
--- a/boost/preprocessor/logical/bitand.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LOGICAL_BITAND_HPP
-# define BOOST_PREPROCESSOR_LOGICAL_BITAND_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# /* BOOST_PP_BITAND */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-# define BOOST_PP_BITAND(x, y) BOOST_PP_BITAND_I(x, y)
-# else
-# define BOOST_PP_BITAND(x, y) BOOST_PP_BITAND_OO((x, y))
-# define BOOST_PP_BITAND_OO(par) BOOST_PP_BITAND_I ## par
-# endif
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-# define BOOST_PP_BITAND_I(x, y) BOOST_PP_BITAND_ ## x ## y
-# else
-# define BOOST_PP_BITAND_I(x, y) BOOST_PP_BITAND_ID(BOOST_PP_BITAND_ ## x ## y)
-# define BOOST_PP_BITAND_ID(res) res
-# endif
-#
-# define BOOST_PP_BITAND_00 0
-# define BOOST_PP_BITAND_01 0
-# define BOOST_PP_BITAND_10 0
-# define BOOST_PP_BITAND_11 1
-#
-# endif
diff --git a/boost/preprocessor/logical/bitor.hpp b/boost/preprocessor/logical/bitor.hpp
deleted file mode 100644
index c0bc2c6..0000000
--- a/boost/preprocessor/logical/bitor.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LOGICAL_BITOR_HPP
-# define BOOST_PREPROCESSOR_LOGICAL_BITOR_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# /* BOOST_PP_BITOR */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-# define BOOST_PP_BITOR(x, y) BOOST_PP_BITOR_I(x, y)
-# else
-# define BOOST_PP_BITOR(x, y) BOOST_PP_BITOR_OO((x, y))
-# define BOOST_PP_BITOR_OO(par) BOOST_PP_BITOR_I ## par
-# endif
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-# define BOOST_PP_BITOR_I(x, y) BOOST_PP_BITOR_ ## x ## y
-# else
-# define BOOST_PP_BITOR_I(x, y) BOOST_PP_BITOR_ID(BOOST_PP_BITOR_ ## x ## y)
-# define BOOST_PP_BITOR_ID(id) id
-# endif
-#
-# define BOOST_PP_BITOR_00 0
-# define BOOST_PP_BITOR_01 1
-# define BOOST_PP_BITOR_10 1
-# define BOOST_PP_BITOR_11 1
-#
-# endif
diff --git a/boost/preprocessor/logical/bool.hpp b/boost/preprocessor/logical/bool.hpp
deleted file mode 100644
index fc01b5b..0000000
--- a/boost/preprocessor/logical/bool.hpp
+++ /dev/null
@@ -1,288 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LOGICAL_BOOL_HPP
-# define BOOST_PREPROCESSOR_LOGICAL_BOOL_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# /* BOOST_PP_BOOL */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-# define BOOST_PP_BOOL(x) BOOST_PP_BOOL_I(x)
-# else
-# define BOOST_PP_BOOL(x) BOOST_PP_BOOL_OO((x))
-# define BOOST_PP_BOOL_OO(par) BOOST_PP_BOOL_I ## par
-# endif
-#
-# define BOOST_PP_BOOL_I(x) BOOST_PP_BOOL_ ## x
-#
-# define BOOST_PP_BOOL_0 0
-# define BOOST_PP_BOOL_1 1
-# define BOOST_PP_BOOL_2 1
-# define BOOST_PP_BOOL_3 1
-# define BOOST_PP_BOOL_4 1
-# define BOOST_PP_BOOL_5 1
-# define BOOST_PP_BOOL_6 1
-# define BOOST_PP_BOOL_7 1
-# define BOOST_PP_BOOL_8 1
-# define BOOST_PP_BOOL_9 1
-# define BOOST_PP_BOOL_10 1
-# define BOOST_PP_BOOL_11 1
-# define BOOST_PP_BOOL_12 1
-# define BOOST_PP_BOOL_13 1
-# define BOOST_PP_BOOL_14 1
-# define BOOST_PP_BOOL_15 1
-# define BOOST_PP_BOOL_16 1
-# define BOOST_PP_BOOL_17 1
-# define BOOST_PP_BOOL_18 1
-# define BOOST_PP_BOOL_19 1
-# define BOOST_PP_BOOL_20 1
-# define BOOST_PP_BOOL_21 1
-# define BOOST_PP_BOOL_22 1
-# define BOOST_PP_BOOL_23 1
-# define BOOST_PP_BOOL_24 1
-# define BOOST_PP_BOOL_25 1
-# define BOOST_PP_BOOL_26 1
-# define BOOST_PP_BOOL_27 1
-# define BOOST_PP_BOOL_28 1
-# define BOOST_PP_BOOL_29 1
-# define BOOST_PP_BOOL_30 1
-# define BOOST_PP_BOOL_31 1
-# define BOOST_PP_BOOL_32 1
-# define BOOST_PP_BOOL_33 1
-# define BOOST_PP_BOOL_34 1
-# define BOOST_PP_BOOL_35 1
-# define BOOST_PP_BOOL_36 1
-# define BOOST_PP_BOOL_37 1
-# define BOOST_PP_BOOL_38 1
-# define BOOST_PP_BOOL_39 1
-# define BOOST_PP_BOOL_40 1
-# define BOOST_PP_BOOL_41 1
-# define BOOST_PP_BOOL_42 1
-# define BOOST_PP_BOOL_43 1
-# define BOOST_PP_BOOL_44 1
-# define BOOST_PP_BOOL_45 1
-# define BOOST_PP_BOOL_46 1
-# define BOOST_PP_BOOL_47 1
-# define BOOST_PP_BOOL_48 1
-# define BOOST_PP_BOOL_49 1
-# define BOOST_PP_BOOL_50 1
-# define BOOST_PP_BOOL_51 1
-# define BOOST_PP_BOOL_52 1
-# define BOOST_PP_BOOL_53 1
-# define BOOST_PP_BOOL_54 1
-# define BOOST_PP_BOOL_55 1
-# define BOOST_PP_BOOL_56 1
-# define BOOST_PP_BOOL_57 1
-# define BOOST_PP_BOOL_58 1
-# define BOOST_PP_BOOL_59 1
-# define BOOST_PP_BOOL_60 1
-# define BOOST_PP_BOOL_61 1
-# define BOOST_PP_BOOL_62 1
-# define BOOST_PP_BOOL_63 1
-# define BOOST_PP_BOOL_64 1
-# define BOOST_PP_BOOL_65 1
-# define BOOST_PP_BOOL_66 1
-# define BOOST_PP_BOOL_67 1
-# define BOOST_PP_BOOL_68 1
-# define BOOST_PP_BOOL_69 1
-# define BOOST_PP_BOOL_70 1
-# define BOOST_PP_BOOL_71 1
-# define BOOST_PP_BOOL_72 1
-# define BOOST_PP_BOOL_73 1
-# define BOOST_PP_BOOL_74 1
-# define BOOST_PP_BOOL_75 1
-# define BOOST_PP_BOOL_76 1
-# define BOOST_PP_BOOL_77 1
-# define BOOST_PP_BOOL_78 1
-# define BOOST_PP_BOOL_79 1
-# define BOOST_PP_BOOL_80 1
-# define BOOST_PP_BOOL_81 1
-# define BOOST_PP_BOOL_82 1
-# define BOOST_PP_BOOL_83 1
-# define BOOST_PP_BOOL_84 1
-# define BOOST_PP_BOOL_85 1
-# define BOOST_PP_BOOL_86 1
-# define BOOST_PP_BOOL_87 1
-# define BOOST_PP_BOOL_88 1
-# define BOOST_PP_BOOL_89 1
-# define BOOST_PP_BOOL_90 1
-# define BOOST_PP_BOOL_91 1
-# define BOOST_PP_BOOL_92 1
-# define BOOST_PP_BOOL_93 1
-# define BOOST_PP_BOOL_94 1
-# define BOOST_PP_BOOL_95 1
-# define BOOST_PP_BOOL_96 1
-# define BOOST_PP_BOOL_97 1
-# define BOOST_PP_BOOL_98 1
-# define BOOST_PP_BOOL_99 1
-# define BOOST_PP_BOOL_100 1
-# define BOOST_PP_BOOL_101 1
-# define BOOST_PP_BOOL_102 1
-# define BOOST_PP_BOOL_103 1
-# define BOOST_PP_BOOL_104 1
-# define BOOST_PP_BOOL_105 1
-# define BOOST_PP_BOOL_106 1
-# define BOOST_PP_BOOL_107 1
-# define BOOST_PP_BOOL_108 1
-# define BOOST_PP_BOOL_109 1
-# define BOOST_PP_BOOL_110 1
-# define BOOST_PP_BOOL_111 1
-# define BOOST_PP_BOOL_112 1
-# define BOOST_PP_BOOL_113 1
-# define BOOST_PP_BOOL_114 1
-# define BOOST_PP_BOOL_115 1
-# define BOOST_PP_BOOL_116 1
-# define BOOST_PP_BOOL_117 1
-# define BOOST_PP_BOOL_118 1
-# define BOOST_PP_BOOL_119 1
-# define BOOST_PP_BOOL_120 1
-# define BOOST_PP_BOOL_121 1
-# define BOOST_PP_BOOL_122 1
-# define BOOST_PP_BOOL_123 1
-# define BOOST_PP_BOOL_124 1
-# define BOOST_PP_BOOL_125 1
-# define BOOST_PP_BOOL_126 1
-# define BOOST_PP_BOOL_127 1
-# define BOOST_PP_BOOL_128 1
-# define BOOST_PP_BOOL_129 1
-# define BOOST_PP_BOOL_130 1
-# define BOOST_PP_BOOL_131 1
-# define BOOST_PP_BOOL_132 1
-# define BOOST_PP_BOOL_133 1
-# define BOOST_PP_BOOL_134 1
-# define BOOST_PP_BOOL_135 1
-# define BOOST_PP_BOOL_136 1
-# define BOOST_PP_BOOL_137 1
-# define BOOST_PP_BOOL_138 1
-# define BOOST_PP_BOOL_139 1
-# define BOOST_PP_BOOL_140 1
-# define BOOST_PP_BOOL_141 1
-# define BOOST_PP_BOOL_142 1
-# define BOOST_PP_BOOL_143 1
-# define BOOST_PP_BOOL_144 1
-# define BOOST_PP_BOOL_145 1
-# define BOOST_PP_BOOL_146 1
-# define BOOST_PP_BOOL_147 1
-# define BOOST_PP_BOOL_148 1
-# define BOOST_PP_BOOL_149 1
-# define BOOST_PP_BOOL_150 1
-# define BOOST_PP_BOOL_151 1
-# define BOOST_PP_BOOL_152 1
-# define BOOST_PP_BOOL_153 1
-# define BOOST_PP_BOOL_154 1
-# define BOOST_PP_BOOL_155 1
-# define BOOST_PP_BOOL_156 1
-# define BOOST_PP_BOOL_157 1
-# define BOOST_PP_BOOL_158 1
-# define BOOST_PP_BOOL_159 1
-# define BOOST_PP_BOOL_160 1
-# define BOOST_PP_BOOL_161 1
-# define BOOST_PP_BOOL_162 1
-# define BOOST_PP_BOOL_163 1
-# define BOOST_PP_BOOL_164 1
-# define BOOST_PP_BOOL_165 1
-# define BOOST_PP_BOOL_166 1
-# define BOOST_PP_BOOL_167 1
-# define BOOST_PP_BOOL_168 1
-# define BOOST_PP_BOOL_169 1
-# define BOOST_PP_BOOL_170 1
-# define BOOST_PP_BOOL_171 1
-# define BOOST_PP_BOOL_172 1
-# define BOOST_PP_BOOL_173 1
-# define BOOST_PP_BOOL_174 1
-# define BOOST_PP_BOOL_175 1
-# define BOOST_PP_BOOL_176 1
-# define BOOST_PP_BOOL_177 1
-# define BOOST_PP_BOOL_178 1
-# define BOOST_PP_BOOL_179 1
-# define BOOST_PP_BOOL_180 1
-# define BOOST_PP_BOOL_181 1
-# define BOOST_PP_BOOL_182 1
-# define BOOST_PP_BOOL_183 1
-# define BOOST_PP_BOOL_184 1
-# define BOOST_PP_BOOL_185 1
-# define BOOST_PP_BOOL_186 1
-# define BOOST_PP_BOOL_187 1
-# define BOOST_PP_BOOL_188 1
-# define BOOST_PP_BOOL_189 1
-# define BOOST_PP_BOOL_190 1
-# define BOOST_PP_BOOL_191 1
-# define BOOST_PP_BOOL_192 1
-# define BOOST_PP_BOOL_193 1
-# define BOOST_PP_BOOL_194 1
-# define BOOST_PP_BOOL_195 1
-# define BOOST_PP_BOOL_196 1
-# define BOOST_PP_BOOL_197 1
-# define BOOST_PP_BOOL_198 1
-# define BOOST_PP_BOOL_199 1
-# define BOOST_PP_BOOL_200 1
-# define BOOST_PP_BOOL_201 1
-# define BOOST_PP_BOOL_202 1
-# define BOOST_PP_BOOL_203 1
-# define BOOST_PP_BOOL_204 1
-# define BOOST_PP_BOOL_205 1
-# define BOOST_PP_BOOL_206 1
-# define BOOST_PP_BOOL_207 1
-# define BOOST_PP_BOOL_208 1
-# define BOOST_PP_BOOL_209 1
-# define BOOST_PP_BOOL_210 1
-# define BOOST_PP_BOOL_211 1
-# define BOOST_PP_BOOL_212 1
-# define BOOST_PP_BOOL_213 1
-# define BOOST_PP_BOOL_214 1
-# define BOOST_PP_BOOL_215 1
-# define BOOST_PP_BOOL_216 1
-# define BOOST_PP_BOOL_217 1
-# define BOOST_PP_BOOL_218 1
-# define BOOST_PP_BOOL_219 1
-# define BOOST_PP_BOOL_220 1
-# define BOOST_PP_BOOL_221 1
-# define BOOST_PP_BOOL_222 1
-# define BOOST_PP_BOOL_223 1
-# define BOOST_PP_BOOL_224 1
-# define BOOST_PP_BOOL_225 1
-# define BOOST_PP_BOOL_226 1
-# define BOOST_PP_BOOL_227 1
-# define BOOST_PP_BOOL_228 1
-# define BOOST_PP_BOOL_229 1
-# define BOOST_PP_BOOL_230 1
-# define BOOST_PP_BOOL_231 1
-# define BOOST_PP_BOOL_232 1
-# define BOOST_PP_BOOL_233 1
-# define BOOST_PP_BOOL_234 1
-# define BOOST_PP_BOOL_235 1
-# define BOOST_PP_BOOL_236 1
-# define BOOST_PP_BOOL_237 1
-# define BOOST_PP_BOOL_238 1
-# define BOOST_PP_BOOL_239 1
-# define BOOST_PP_BOOL_240 1
-# define BOOST_PP_BOOL_241 1
-# define BOOST_PP_BOOL_242 1
-# define BOOST_PP_BOOL_243 1
-# define BOOST_PP_BOOL_244 1
-# define BOOST_PP_BOOL_245 1
-# define BOOST_PP_BOOL_246 1
-# define BOOST_PP_BOOL_247 1
-# define BOOST_PP_BOOL_248 1
-# define BOOST_PP_BOOL_249 1
-# define BOOST_PP_BOOL_250 1
-# define BOOST_PP_BOOL_251 1
-# define BOOST_PP_BOOL_252 1
-# define BOOST_PP_BOOL_253 1
-# define BOOST_PP_BOOL_254 1
-# define BOOST_PP_BOOL_255 1
-# define BOOST_PP_BOOL_256 1
-#
-# endif
diff --git a/boost/preprocessor/logical/compl.hpp b/boost/preprocessor/logical/compl.hpp
deleted file mode 100644
index ad4c7a4..0000000
--- a/boost/preprocessor/logical/compl.hpp
+++ /dev/null
@@ -1,36 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LOGICAL_COMPL_HPP
-# define BOOST_PREPROCESSOR_LOGICAL_COMPL_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# /* BOOST_PP_COMPL */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-# define BOOST_PP_COMPL(x) BOOST_PP_COMPL_I(x)
-# else
-# define BOOST_PP_COMPL(x) BOOST_PP_COMPL_OO((x))
-# define BOOST_PP_COMPL_OO(par) BOOST_PP_COMPL_I ## par
-# endif
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-# define BOOST_PP_COMPL_I(x) BOOST_PP_COMPL_ ## x
-# else
-# define BOOST_PP_COMPL_I(x) BOOST_PP_COMPL_ID(BOOST_PP_COMPL_ ## x)
-# define BOOST_PP_COMPL_ID(id) id
-# endif
-#
-# define BOOST_PP_COMPL_0 1
-# define BOOST_PP_COMPL_1 0
-#
-# endif
diff --git a/boost/preprocessor/logical/not.hpp b/boost/preprocessor/logical/not.hpp
deleted file mode 100644
index b509d3f..0000000
--- a/boost/preprocessor/logical/not.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LOGICAL_NOT_HPP
-# define BOOST_PREPROCESSOR_LOGICAL_NOT_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/logical/bool.hpp>
-# include <boost/preprocessor/logical/compl.hpp>
-#
-# /* BOOST_PP_NOT */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_NOT(x) BOOST_PP_COMPL(BOOST_PP_BOOL(x))
-# else
-# define BOOST_PP_NOT(x) BOOST_PP_NOT_I(x)
-# define BOOST_PP_NOT_I(x) BOOST_PP_COMPL(BOOST_PP_BOOL(x))
-# endif
-#
-# endif
diff --git a/boost/preprocessor/logical/or.hpp b/boost/preprocessor/logical/or.hpp
deleted file mode 100644
index 88d5207..0000000
--- a/boost/preprocessor/logical/or.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_LOGICAL_OR_HPP
-# define BOOST_PREPROCESSOR_LOGICAL_OR_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/logical/bool.hpp>
-# include <boost/preprocessor/logical/bitor.hpp>
-#
-# /* BOOST_PP_OR */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_OR(p, q) BOOST_PP_BITOR(BOOST_PP_BOOL(p), BOOST_PP_BOOL(q))
-# else
-# define BOOST_PP_OR(p, q) BOOST_PP_OR_I(p, q)
-# define BOOST_PP_OR_I(p, q) BOOST_PP_BITOR(BOOST_PP_BOOL(p), BOOST_PP_BOOL(q))
-# endif
-#
-# endif
diff --git a/boost/preprocessor/punctuation/comma.hpp b/boost/preprocessor/punctuation/comma.hpp
deleted file mode 100644
index 38c2e0e..0000000
--- a/boost/preprocessor/punctuation/comma.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_PUNCTUATION_COMMA_HPP
-# define BOOST_PREPROCESSOR_PUNCTUATION_COMMA_HPP
-#
-# /* BOOST_PP_COMMA */
-#
-# define BOOST_PP_COMMA() ,
-#
-# endif
diff --git a/boost/preprocessor/punctuation/comma_if.hpp b/boost/preprocessor/punctuation/comma_if.hpp
deleted file mode 100644
index c711f36..0000000
--- a/boost/preprocessor/punctuation/comma_if.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_PUNCTUATION_COMMA_IF_HPP
-# define BOOST_PREPROCESSOR_PUNCTUATION_COMMA_IF_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/control/if.hpp>
-# include <boost/preprocessor/facilities/empty.hpp>
-# include <boost/preprocessor/punctuation/comma.hpp>
-#
-# /* BOOST_PP_COMMA_IF */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_COMMA_IF(cond) BOOST_PP_IF(cond, BOOST_PP_COMMA, BOOST_PP_EMPTY)()
-# else
-# define BOOST_PP_COMMA_IF(cond) BOOST_PP_COMMA_IF_I(cond)
-# define BOOST_PP_COMMA_IF_I(cond) BOOST_PP_IF(cond, BOOST_PP_COMMA, BOOST_PP_EMPTY)()
-# endif
-#
-# endif
diff --git a/boost/preprocessor/punctuation/paren.hpp b/boost/preprocessor/punctuation/paren.hpp
deleted file mode 100644
index 28c18cb..0000000
--- a/boost/preprocessor/punctuation/paren.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_PUNCTUATION_PAREN_HPP
-# define BOOST_PREPROCESSOR_PUNCTUATION_PAREN_HPP
-#
-# /* BOOST_PP_LPAREN */
-#
-# define BOOST_PP_LPAREN() (
-#
-# /* BOOST_PP_RPAREN */
-#
-# define BOOST_PP_RPAREN() )
-#
-# endif
diff --git a/boost/preprocessor/repeat.hpp b/boost/preprocessor/repeat.hpp
deleted file mode 100644
index 7c47ee8..0000000
--- a/boost/preprocessor/repeat.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_REPEAT_HPP
-# define BOOST_PREPROCESSOR_REPEAT_HPP
-#
-# include <boost/preprocessor/repetition/repeat.hpp>
-#
-# endif
diff --git a/boost/preprocessor/repeat_from_to.hpp b/boost/preprocessor/repeat_from_to.hpp
deleted file mode 100644
index 4ddc3be..0000000
--- a/boost/preprocessor/repeat_from_to.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_REPEAT_FROM_TO_HPP
-# define BOOST_PREPROCESSOR_REPEAT_FROM_TO_HPP
-#
-# include <boost/preprocessor/repetition/repeat_from_to.hpp>
-#
-# endif
diff --git a/boost/preprocessor/repetition/detail/dmc/for.hpp b/boost/preprocessor/repetition/detail/dmc/for.hpp
deleted file mode 100644
index 1d907ff..0000000
--- a/boost/preprocessor/repetition/detail/dmc/for.hpp
+++ /dev/null
@@ -1,536 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_REPETITION_DETAIL_FOR_HPP
-# define BOOST_PREPROCESSOR_REPETITION_DETAIL_FOR_HPP
-#
-# include <boost/preprocessor/control/expr_iif.hpp>
-# include <boost/preprocessor/control/iif.hpp>
-# include <boost/preprocessor/logical/bool.hpp>
-# include <boost/preprocessor/tuple/eat.hpp>
-#
-# define BOOST_PP_FOR_1(s, p, o, m) BOOST_PP_FOR_1_C(BOOST_PP_BOOL(p##(2, s)), s, p, o, m)
-# define BOOST_PP_FOR_2(s, p, o, m) BOOST_PP_FOR_2_C(BOOST_PP_BOOL(p##(3, s)), s, p, o, m)
-# define BOOST_PP_FOR_3(s, p, o, m) BOOST_PP_FOR_3_C(BOOST_PP_BOOL(p##(4, s)), s, p, o, m)
-# define BOOST_PP_FOR_4(s, p, o, m) BOOST_PP_FOR_4_C(BOOST_PP_BOOL(p##(5, s)), s, p, o, m)
-# define BOOST_PP_FOR_5(s, p, o, m) BOOST_PP_FOR_5_C(BOOST_PP_BOOL(p##(6, s)), s, p, o, m)
-# define BOOST_PP_FOR_6(s, p, o, m) BOOST_PP_FOR_6_C(BOOST_PP_BOOL(p##(7, s)), s, p, o, m)
-# define BOOST_PP_FOR_7(s, p, o, m) BOOST_PP_FOR_7_C(BOOST_PP_BOOL(p##(8, s)), s, p, o, m)
-# define BOOST_PP_FOR_8(s, p, o, m) BOOST_PP_FOR_8_C(BOOST_PP_BOOL(p##(9, s)), s, p, o, m)
-# define BOOST_PP_FOR_9(s, p, o, m) BOOST_PP_FOR_9_C(BOOST_PP_BOOL(p##(10, s)), s, p, o, m)
-# define BOOST_PP_FOR_10(s, p, o, m) BOOST_PP_FOR_10_C(BOOST_PP_BOOL(p##(11, s)), s, p, o, m)
-# define BOOST_PP_FOR_11(s, p, o, m) BOOST_PP_FOR_11_C(BOOST_PP_BOOL(p##(12, s)), s, p, o, m)
-# define BOOST_PP_FOR_12(s, p, o, m) BOOST_PP_FOR_12_C(BOOST_PP_BOOL(p##(13, s)), s, p, o, m)
-# define BOOST_PP_FOR_13(s, p, o, m) BOOST_PP_FOR_13_C(BOOST_PP_BOOL(p##(14, s)), s, p, o, m)
-# define BOOST_PP_FOR_14(s, p, o, m) BOOST_PP_FOR_14_C(BOOST_PP_BOOL(p##(15, s)), s, p, o, m)
-# define BOOST_PP_FOR_15(s, p, o, m) BOOST_PP_FOR_15_C(BOOST_PP_BOOL(p##(16, s)), s, p, o, m)
-# define BOOST_PP_FOR_16(s, p, o, m) BOOST_PP_FOR_16_C(BOOST_PP_BOOL(p##(17, s)), s, p, o, m)
-# define BOOST_PP_FOR_17(s, p, o, m) BOOST_PP_FOR_17_C(BOOST_PP_BOOL(p##(18, s)), s, p, o, m)
-# define BOOST_PP_FOR_18(s, p, o, m) BOOST_PP_FOR_18_C(BOOST_PP_BOOL(p##(19, s)), s, p, o, m)
-# define BOOST_PP_FOR_19(s, p, o, m) BOOST_PP_FOR_19_C(BOOST_PP_BOOL(p##(20, s)), s, p, o, m)
-# define BOOST_PP_FOR_20(s, p, o, m) BOOST_PP_FOR_20_C(BOOST_PP_BOOL(p##(21, s)), s, p, o, m)
-# define BOOST_PP_FOR_21(s, p, o, m) BOOST_PP_FOR_21_C(BOOST_PP_BOOL(p##(22, s)), s, p, o, m)
-# define BOOST_PP_FOR_22(s, p, o, m) BOOST_PP_FOR_22_C(BOOST_PP_BOOL(p##(23, s)), s, p, o, m)
-# define BOOST_PP_FOR_23(s, p, o, m) BOOST_PP_FOR_23_C(BOOST_PP_BOOL(p##(24, s)), s, p, o, m)
-# define BOOST_PP_FOR_24(s, p, o, m) BOOST_PP_FOR_24_C(BOOST_PP_BOOL(p##(25, s)), s, p, o, m)
-# define BOOST_PP_FOR_25(s, p, o, m) BOOST_PP_FOR_25_C(BOOST_PP_BOOL(p##(26, s)), s, p, o, m)
-# define BOOST_PP_FOR_26(s, p, o, m) BOOST_PP_FOR_26_C(BOOST_PP_BOOL(p##(27, s)), s, p, o, m)
-# define BOOST_PP_FOR_27(s, p, o, m) BOOST_PP_FOR_27_C(BOOST_PP_BOOL(p##(28, s)), s, p, o, m)
-# define BOOST_PP_FOR_28(s, p, o, m) BOOST_PP_FOR_28_C(BOOST_PP_BOOL(p##(29, s)), s, p, o, m)
-# define BOOST_PP_FOR_29(s, p, o, m) BOOST_PP_FOR_29_C(BOOST_PP_BOOL(p##(30, s)), s, p, o, m)
-# define BOOST_PP_FOR_30(s, p, o, m) BOOST_PP_FOR_30_C(BOOST_PP_BOOL(p##(31, s)), s, p, o, m)
-# define BOOST_PP_FOR_31(s, p, o, m) BOOST_PP_FOR_31_C(BOOST_PP_BOOL(p##(32, s)), s, p, o, m)
-# define BOOST_PP_FOR_32(s, p, o, m) BOOST_PP_FOR_32_C(BOOST_PP_BOOL(p##(33, s)), s, p, o, m)
-# define BOOST_PP_FOR_33(s, p, o, m) BOOST_PP_FOR_33_C(BOOST_PP_BOOL(p##(34, s)), s, p, o, m)
-# define BOOST_PP_FOR_34(s, p, o, m) BOOST_PP_FOR_34_C(BOOST_PP_BOOL(p##(35, s)), s, p, o, m)
-# define BOOST_PP_FOR_35(s, p, o, m) BOOST_PP_FOR_35_C(BOOST_PP_BOOL(p##(36, s)), s, p, o, m)
-# define BOOST_PP_FOR_36(s, p, o, m) BOOST_PP_FOR_36_C(BOOST_PP_BOOL(p##(37, s)), s, p, o, m)
-# define BOOST_PP_FOR_37(s, p, o, m) BOOST_PP_FOR_37_C(BOOST_PP_BOOL(p##(38, s)), s, p, o, m)
-# define BOOST_PP_FOR_38(s, p, o, m) BOOST_PP_FOR_38_C(BOOST_PP_BOOL(p##(39, s)), s, p, o, m)
-# define BOOST_PP_FOR_39(s, p, o, m) BOOST_PP_FOR_39_C(BOOST_PP_BOOL(p##(40, s)), s, p, o, m)
-# define BOOST_PP_FOR_40(s, p, o, m) BOOST_PP_FOR_40_C(BOOST_PP_BOOL(p##(41, s)), s, p, o, m)
-# define BOOST_PP_FOR_41(s, p, o, m) BOOST_PP_FOR_41_C(BOOST_PP_BOOL(p##(42, s)), s, p, o, m)
-# define BOOST_PP_FOR_42(s, p, o, m) BOOST_PP_FOR_42_C(BOOST_PP_BOOL(p##(43, s)), s, p, o, m)
-# define BOOST_PP_FOR_43(s, p, o, m) BOOST_PP_FOR_43_C(BOOST_PP_BOOL(p##(44, s)), s, p, o, m)
-# define BOOST_PP_FOR_44(s, p, o, m) BOOST_PP_FOR_44_C(BOOST_PP_BOOL(p##(45, s)), s, p, o, m)
-# define BOOST_PP_FOR_45(s, p, o, m) BOOST_PP_FOR_45_C(BOOST_PP_BOOL(p##(46, s)), s, p, o, m)
-# define BOOST_PP_FOR_46(s, p, o, m) BOOST_PP_FOR_46_C(BOOST_PP_BOOL(p##(47, s)), s, p, o, m)
-# define BOOST_PP_FOR_47(s, p, o, m) BOOST_PP_FOR_47_C(BOOST_PP_BOOL(p##(48, s)), s, p, o, m)
-# define BOOST_PP_FOR_48(s, p, o, m) BOOST_PP_FOR_48_C(BOOST_PP_BOOL(p##(49, s)), s, p, o, m)
-# define BOOST_PP_FOR_49(s, p, o, m) BOOST_PP_FOR_49_C(BOOST_PP_BOOL(p##(50, s)), s, p, o, m)
-# define BOOST_PP_FOR_50(s, p, o, m) BOOST_PP_FOR_50_C(BOOST_PP_BOOL(p##(51, s)), s, p, o, m)
-# define BOOST_PP_FOR_51(s, p, o, m) BOOST_PP_FOR_51_C(BOOST_PP_BOOL(p##(52, s)), s, p, o, m)
-# define BOOST_PP_FOR_52(s, p, o, m) BOOST_PP_FOR_52_C(BOOST_PP_BOOL(p##(53, s)), s, p, o, m)
-# define BOOST_PP_FOR_53(s, p, o, m) BOOST_PP_FOR_53_C(BOOST_PP_BOOL(p##(54, s)), s, p, o, m)
-# define BOOST_PP_FOR_54(s, p, o, m) BOOST_PP_FOR_54_C(BOOST_PP_BOOL(p##(55, s)), s, p, o, m)
-# define BOOST_PP_FOR_55(s, p, o, m) BOOST_PP_FOR_55_C(BOOST_PP_BOOL(p##(56, s)), s, p, o, m)
-# define BOOST_PP_FOR_56(s, p, o, m) BOOST_PP_FOR_56_C(BOOST_PP_BOOL(p##(57, s)), s, p, o, m)
-# define BOOST_PP_FOR_57(s, p, o, m) BOOST_PP_FOR_57_C(BOOST_PP_BOOL(p##(58, s)), s, p, o, m)
-# define BOOST_PP_FOR_58(s, p, o, m) BOOST_PP_FOR_58_C(BOOST_PP_BOOL(p##(59, s)), s, p, o, m)
-# define BOOST_PP_FOR_59(s, p, o, m) BOOST_PP_FOR_59_C(BOOST_PP_BOOL(p##(60, s)), s, p, o, m)
-# define BOOST_PP_FOR_60(s, p, o, m) BOOST_PP_FOR_60_C(BOOST_PP_BOOL(p##(61, s)), s, p, o, m)
-# define BOOST_PP_FOR_61(s, p, o, m) BOOST_PP_FOR_61_C(BOOST_PP_BOOL(p##(62, s)), s, p, o, m)
-# define BOOST_PP_FOR_62(s, p, o, m) BOOST_PP_FOR_62_C(BOOST_PP_BOOL(p##(63, s)), s, p, o, m)
-# define BOOST_PP_FOR_63(s, p, o, m) BOOST_PP_FOR_63_C(BOOST_PP_BOOL(p##(64, s)), s, p, o, m)
-# define BOOST_PP_FOR_64(s, p, o, m) BOOST_PP_FOR_64_C(BOOST_PP_BOOL(p##(65, s)), s, p, o, m)
-# define BOOST_PP_FOR_65(s, p, o, m) BOOST_PP_FOR_65_C(BOOST_PP_BOOL(p##(66, s)), s, p, o, m)
-# define BOOST_PP_FOR_66(s, p, o, m) BOOST_PP_FOR_66_C(BOOST_PP_BOOL(p##(67, s)), s, p, o, m)
-# define BOOST_PP_FOR_67(s, p, o, m) BOOST_PP_FOR_67_C(BOOST_PP_BOOL(p##(68, s)), s, p, o, m)
-# define BOOST_PP_FOR_68(s, p, o, m) BOOST_PP_FOR_68_C(BOOST_PP_BOOL(p##(69, s)), s, p, o, m)
-# define BOOST_PP_FOR_69(s, p, o, m) BOOST_PP_FOR_69_C(BOOST_PP_BOOL(p##(70, s)), s, p, o, m)
-# define BOOST_PP_FOR_70(s, p, o, m) BOOST_PP_FOR_70_C(BOOST_PP_BOOL(p##(71, s)), s, p, o, m)
-# define BOOST_PP_FOR_71(s, p, o, m) BOOST_PP_FOR_71_C(BOOST_PP_BOOL(p##(72, s)), s, p, o, m)
-# define BOOST_PP_FOR_72(s, p, o, m) BOOST_PP_FOR_72_C(BOOST_PP_BOOL(p##(73, s)), s, p, o, m)
-# define BOOST_PP_FOR_73(s, p, o, m) BOOST_PP_FOR_73_C(BOOST_PP_BOOL(p##(74, s)), s, p, o, m)
-# define BOOST_PP_FOR_74(s, p, o, m) BOOST_PP_FOR_74_C(BOOST_PP_BOOL(p##(75, s)), s, p, o, m)
-# define BOOST_PP_FOR_75(s, p, o, m) BOOST_PP_FOR_75_C(BOOST_PP_BOOL(p##(76, s)), s, p, o, m)
-# define BOOST_PP_FOR_76(s, p, o, m) BOOST_PP_FOR_76_C(BOOST_PP_BOOL(p##(77, s)), s, p, o, m)
-# define BOOST_PP_FOR_77(s, p, o, m) BOOST_PP_FOR_77_C(BOOST_PP_BOOL(p##(78, s)), s, p, o, m)
-# define BOOST_PP_FOR_78(s, p, o, m) BOOST_PP_FOR_78_C(BOOST_PP_BOOL(p##(79, s)), s, p, o, m)
-# define BOOST_PP_FOR_79(s, p, o, m) BOOST_PP_FOR_79_C(BOOST_PP_BOOL(p##(80, s)), s, p, o, m)
-# define BOOST_PP_FOR_80(s, p, o, m) BOOST_PP_FOR_80_C(BOOST_PP_BOOL(p##(81, s)), s, p, o, m)
-# define BOOST_PP_FOR_81(s, p, o, m) BOOST_PP_FOR_81_C(BOOST_PP_BOOL(p##(82, s)), s, p, o, m)
-# define BOOST_PP_FOR_82(s, p, o, m) BOOST_PP_FOR_82_C(BOOST_PP_BOOL(p##(83, s)), s, p, o, m)
-# define BOOST_PP_FOR_83(s, p, o, m) BOOST_PP_FOR_83_C(BOOST_PP_BOOL(p##(84, s)), s, p, o, m)
-# define BOOST_PP_FOR_84(s, p, o, m) BOOST_PP_FOR_84_C(BOOST_PP_BOOL(p##(85, s)), s, p, o, m)
-# define BOOST_PP_FOR_85(s, p, o, m) BOOST_PP_FOR_85_C(BOOST_PP_BOOL(p##(86, s)), s, p, o, m)
-# define BOOST_PP_FOR_86(s, p, o, m) BOOST_PP_FOR_86_C(BOOST_PP_BOOL(p##(87, s)), s, p, o, m)
-# define BOOST_PP_FOR_87(s, p, o, m) BOOST_PP_FOR_87_C(BOOST_PP_BOOL(p##(88, s)), s, p, o, m)
-# define BOOST_PP_FOR_88(s, p, o, m) BOOST_PP_FOR_88_C(BOOST_PP_BOOL(p##(89, s)), s, p, o, m)
-# define BOOST_PP_FOR_89(s, p, o, m) BOOST_PP_FOR_89_C(BOOST_PP_BOOL(p##(90, s)), s, p, o, m)
-# define BOOST_PP_FOR_90(s, p, o, m) BOOST_PP_FOR_90_C(BOOST_PP_BOOL(p##(91, s)), s, p, o, m)
-# define BOOST_PP_FOR_91(s, p, o, m) BOOST_PP_FOR_91_C(BOOST_PP_BOOL(p##(92, s)), s, p, o, m)
-# define BOOST_PP_FOR_92(s, p, o, m) BOOST_PP_FOR_92_C(BOOST_PP_BOOL(p##(93, s)), s, p, o, m)
-# define BOOST_PP_FOR_93(s, p, o, m) BOOST_PP_FOR_93_C(BOOST_PP_BOOL(p##(94, s)), s, p, o, m)
-# define BOOST_PP_FOR_94(s, p, o, m) BOOST_PP_FOR_94_C(BOOST_PP_BOOL(p##(95, s)), s, p, o, m)
-# define BOOST_PP_FOR_95(s, p, o, m) BOOST_PP_FOR_95_C(BOOST_PP_BOOL(p##(96, s)), s, p, o, m)
-# define BOOST_PP_FOR_96(s, p, o, m) BOOST_PP_FOR_96_C(BOOST_PP_BOOL(p##(97, s)), s, p, o, m)
-# define BOOST_PP_FOR_97(s, p, o, m) BOOST_PP_FOR_97_C(BOOST_PP_BOOL(p##(98, s)), s, p, o, m)
-# define BOOST_PP_FOR_98(s, p, o, m) BOOST_PP_FOR_98_C(BOOST_PP_BOOL(p##(99, s)), s, p, o, m)
-# define BOOST_PP_FOR_99(s, p, o, m) BOOST_PP_FOR_99_C(BOOST_PP_BOOL(p##(100, s)), s, p, o, m)
-# define BOOST_PP_FOR_100(s, p, o, m) BOOST_PP_FOR_100_C(BOOST_PP_BOOL(p##(101, s)), s, p, o, m)
-# define BOOST_PP_FOR_101(s, p, o, m) BOOST_PP_FOR_101_C(BOOST_PP_BOOL(p##(102, s)), s, p, o, m)
-# define BOOST_PP_FOR_102(s, p, o, m) BOOST_PP_FOR_102_C(BOOST_PP_BOOL(p##(103, s)), s, p, o, m)
-# define BOOST_PP_FOR_103(s, p, o, m) BOOST_PP_FOR_103_C(BOOST_PP_BOOL(p##(104, s)), s, p, o, m)
-# define BOOST_PP_FOR_104(s, p, o, m) BOOST_PP_FOR_104_C(BOOST_PP_BOOL(p##(105, s)), s, p, o, m)
-# define BOOST_PP_FOR_105(s, p, o, m) BOOST_PP_FOR_105_C(BOOST_PP_BOOL(p##(106, s)), s, p, o, m)
-# define BOOST_PP_FOR_106(s, p, o, m) BOOST_PP_FOR_106_C(BOOST_PP_BOOL(p##(107, s)), s, p, o, m)
-# define BOOST_PP_FOR_107(s, p, o, m) BOOST_PP_FOR_107_C(BOOST_PP_BOOL(p##(108, s)), s, p, o, m)
-# define BOOST_PP_FOR_108(s, p, o, m) BOOST_PP_FOR_108_C(BOOST_PP_BOOL(p##(109, s)), s, p, o, m)
-# define BOOST_PP_FOR_109(s, p, o, m) BOOST_PP_FOR_109_C(BOOST_PP_BOOL(p##(110, s)), s, p, o, m)
-# define BOOST_PP_FOR_110(s, p, o, m) BOOST_PP_FOR_110_C(BOOST_PP_BOOL(p##(111, s)), s, p, o, m)
-# define BOOST_PP_FOR_111(s, p, o, m) BOOST_PP_FOR_111_C(BOOST_PP_BOOL(p##(112, s)), s, p, o, m)
-# define BOOST_PP_FOR_112(s, p, o, m) BOOST_PP_FOR_112_C(BOOST_PP_BOOL(p##(113, s)), s, p, o, m)
-# define BOOST_PP_FOR_113(s, p, o, m) BOOST_PP_FOR_113_C(BOOST_PP_BOOL(p##(114, s)), s, p, o, m)
-# define BOOST_PP_FOR_114(s, p, o, m) BOOST_PP_FOR_114_C(BOOST_PP_BOOL(p##(115, s)), s, p, o, m)
-# define BOOST_PP_FOR_115(s, p, o, m) BOOST_PP_FOR_115_C(BOOST_PP_BOOL(p##(116, s)), s, p, o, m)
-# define BOOST_PP_FOR_116(s, p, o, m) BOOST_PP_FOR_116_C(BOOST_PP_BOOL(p##(117, s)), s, p, o, m)
-# define BOOST_PP_FOR_117(s, p, o, m) BOOST_PP_FOR_117_C(BOOST_PP_BOOL(p##(118, s)), s, p, o, m)
-# define BOOST_PP_FOR_118(s, p, o, m) BOOST_PP_FOR_118_C(BOOST_PP_BOOL(p##(119, s)), s, p, o, m)
-# define BOOST_PP_FOR_119(s, p, o, m) BOOST_PP_FOR_119_C(BOOST_PP_BOOL(p##(120, s)), s, p, o, m)
-# define BOOST_PP_FOR_120(s, p, o, m) BOOST_PP_FOR_120_C(BOOST_PP_BOOL(p##(121, s)), s, p, o, m)
-# define BOOST_PP_FOR_121(s, p, o, m) BOOST_PP_FOR_121_C(BOOST_PP_BOOL(p##(122, s)), s, p, o, m)
-# define BOOST_PP_FOR_122(s, p, o, m) BOOST_PP_FOR_122_C(BOOST_PP_BOOL(p##(123, s)), s, p, o, m)
-# define BOOST_PP_FOR_123(s, p, o, m) BOOST_PP_FOR_123_C(BOOST_PP_BOOL(p##(124, s)), s, p, o, m)
-# define BOOST_PP_FOR_124(s, p, o, m) BOOST_PP_FOR_124_C(BOOST_PP_BOOL(p##(125, s)), s, p, o, m)
-# define BOOST_PP_FOR_125(s, p, o, m) BOOST_PP_FOR_125_C(BOOST_PP_BOOL(p##(126, s)), s, p, o, m)
-# define BOOST_PP_FOR_126(s, p, o, m) BOOST_PP_FOR_126_C(BOOST_PP_BOOL(p##(127, s)), s, p, o, m)
-# define BOOST_PP_FOR_127(s, p, o, m) BOOST_PP_FOR_127_C(BOOST_PP_BOOL(p##(128, s)), s, p, o, m)
-# define BOOST_PP_FOR_128(s, p, o, m) BOOST_PP_FOR_128_C(BOOST_PP_BOOL(p##(129, s)), s, p, o, m)
-# define BOOST_PP_FOR_129(s, p, o, m) BOOST_PP_FOR_129_C(BOOST_PP_BOOL(p##(130, s)), s, p, o, m)
-# define BOOST_PP_FOR_130(s, p, o, m) BOOST_PP_FOR_130_C(BOOST_PP_BOOL(p##(131, s)), s, p, o, m)
-# define BOOST_PP_FOR_131(s, p, o, m) BOOST_PP_FOR_131_C(BOOST_PP_BOOL(p##(132, s)), s, p, o, m)
-# define BOOST_PP_FOR_132(s, p, o, m) BOOST_PP_FOR_132_C(BOOST_PP_BOOL(p##(133, s)), s, p, o, m)
-# define BOOST_PP_FOR_133(s, p, o, m) BOOST_PP_FOR_133_C(BOOST_PP_BOOL(p##(134, s)), s, p, o, m)
-# define BOOST_PP_FOR_134(s, p, o, m) BOOST_PP_FOR_134_C(BOOST_PP_BOOL(p##(135, s)), s, p, o, m)
-# define BOOST_PP_FOR_135(s, p, o, m) BOOST_PP_FOR_135_C(BOOST_PP_BOOL(p##(136, s)), s, p, o, m)
-# define BOOST_PP_FOR_136(s, p, o, m) BOOST_PP_FOR_136_C(BOOST_PP_BOOL(p##(137, s)), s, p, o, m)
-# define BOOST_PP_FOR_137(s, p, o, m) BOOST_PP_FOR_137_C(BOOST_PP_BOOL(p##(138, s)), s, p, o, m)
-# define BOOST_PP_FOR_138(s, p, o, m) BOOST_PP_FOR_138_C(BOOST_PP_BOOL(p##(139, s)), s, p, o, m)
-# define BOOST_PP_FOR_139(s, p, o, m) BOOST_PP_FOR_139_C(BOOST_PP_BOOL(p##(140, s)), s, p, o, m)
-# define BOOST_PP_FOR_140(s, p, o, m) BOOST_PP_FOR_140_C(BOOST_PP_BOOL(p##(141, s)), s, p, o, m)
-# define BOOST_PP_FOR_141(s, p, o, m) BOOST_PP_FOR_141_C(BOOST_PP_BOOL(p##(142, s)), s, p, o, m)
-# define BOOST_PP_FOR_142(s, p, o, m) BOOST_PP_FOR_142_C(BOOST_PP_BOOL(p##(143, s)), s, p, o, m)
-# define BOOST_PP_FOR_143(s, p, o, m) BOOST_PP_FOR_143_C(BOOST_PP_BOOL(p##(144, s)), s, p, o, m)
-# define BOOST_PP_FOR_144(s, p, o, m) BOOST_PP_FOR_144_C(BOOST_PP_BOOL(p##(145, s)), s, p, o, m)
-# define BOOST_PP_FOR_145(s, p, o, m) BOOST_PP_FOR_145_C(BOOST_PP_BOOL(p##(146, s)), s, p, o, m)
-# define BOOST_PP_FOR_146(s, p, o, m) BOOST_PP_FOR_146_C(BOOST_PP_BOOL(p##(147, s)), s, p, o, m)
-# define BOOST_PP_FOR_147(s, p, o, m) BOOST_PP_FOR_147_C(BOOST_PP_BOOL(p##(148, s)), s, p, o, m)
-# define BOOST_PP_FOR_148(s, p, o, m) BOOST_PP_FOR_148_C(BOOST_PP_BOOL(p##(149, s)), s, p, o, m)
-# define BOOST_PP_FOR_149(s, p, o, m) BOOST_PP_FOR_149_C(BOOST_PP_BOOL(p##(150, s)), s, p, o, m)
-# define BOOST_PP_FOR_150(s, p, o, m) BOOST_PP_FOR_150_C(BOOST_PP_BOOL(p##(151, s)), s, p, o, m)
-# define BOOST_PP_FOR_151(s, p, o, m) BOOST_PP_FOR_151_C(BOOST_PP_BOOL(p##(152, s)), s, p, o, m)
-# define BOOST_PP_FOR_152(s, p, o, m) BOOST_PP_FOR_152_C(BOOST_PP_BOOL(p##(153, s)), s, p, o, m)
-# define BOOST_PP_FOR_153(s, p, o, m) BOOST_PP_FOR_153_C(BOOST_PP_BOOL(p##(154, s)), s, p, o, m)
-# define BOOST_PP_FOR_154(s, p, o, m) BOOST_PP_FOR_154_C(BOOST_PP_BOOL(p##(155, s)), s, p, o, m)
-# define BOOST_PP_FOR_155(s, p, o, m) BOOST_PP_FOR_155_C(BOOST_PP_BOOL(p##(156, s)), s, p, o, m)
-# define BOOST_PP_FOR_156(s, p, o, m) BOOST_PP_FOR_156_C(BOOST_PP_BOOL(p##(157, s)), s, p, o, m)
-# define BOOST_PP_FOR_157(s, p, o, m) BOOST_PP_FOR_157_C(BOOST_PP_BOOL(p##(158, s)), s, p, o, m)
-# define BOOST_PP_FOR_158(s, p, o, m) BOOST_PP_FOR_158_C(BOOST_PP_BOOL(p##(159, s)), s, p, o, m)
-# define BOOST_PP_FOR_159(s, p, o, m) BOOST_PP_FOR_159_C(BOOST_PP_BOOL(p##(160, s)), s, p, o, m)
-# define BOOST_PP_FOR_160(s, p, o, m) BOOST_PP_FOR_160_C(BOOST_PP_BOOL(p##(161, s)), s, p, o, m)
-# define BOOST_PP_FOR_161(s, p, o, m) BOOST_PP_FOR_161_C(BOOST_PP_BOOL(p##(162, s)), s, p, o, m)
-# define BOOST_PP_FOR_162(s, p, o, m) BOOST_PP_FOR_162_C(BOOST_PP_BOOL(p##(163, s)), s, p, o, m)
-# define BOOST_PP_FOR_163(s, p, o, m) BOOST_PP_FOR_163_C(BOOST_PP_BOOL(p##(164, s)), s, p, o, m)
-# define BOOST_PP_FOR_164(s, p, o, m) BOOST_PP_FOR_164_C(BOOST_PP_BOOL(p##(165, s)), s, p, o, m)
-# define BOOST_PP_FOR_165(s, p, o, m) BOOST_PP_FOR_165_C(BOOST_PP_BOOL(p##(166, s)), s, p, o, m)
-# define BOOST_PP_FOR_166(s, p, o, m) BOOST_PP_FOR_166_C(BOOST_PP_BOOL(p##(167, s)), s, p, o, m)
-# define BOOST_PP_FOR_167(s, p, o, m) BOOST_PP_FOR_167_C(BOOST_PP_BOOL(p##(168, s)), s, p, o, m)
-# define BOOST_PP_FOR_168(s, p, o, m) BOOST_PP_FOR_168_C(BOOST_PP_BOOL(p##(169, s)), s, p, o, m)
-# define BOOST_PP_FOR_169(s, p, o, m) BOOST_PP_FOR_169_C(BOOST_PP_BOOL(p##(170, s)), s, p, o, m)
-# define BOOST_PP_FOR_170(s, p, o, m) BOOST_PP_FOR_170_C(BOOST_PP_BOOL(p##(171, s)), s, p, o, m)
-# define BOOST_PP_FOR_171(s, p, o, m) BOOST_PP_FOR_171_C(BOOST_PP_BOOL(p##(172, s)), s, p, o, m)
-# define BOOST_PP_FOR_172(s, p, o, m) BOOST_PP_FOR_172_C(BOOST_PP_BOOL(p##(173, s)), s, p, o, m)
-# define BOOST_PP_FOR_173(s, p, o, m) BOOST_PP_FOR_173_C(BOOST_PP_BOOL(p##(174, s)), s, p, o, m)
-# define BOOST_PP_FOR_174(s, p, o, m) BOOST_PP_FOR_174_C(BOOST_PP_BOOL(p##(175, s)), s, p, o, m)
-# define BOOST_PP_FOR_175(s, p, o, m) BOOST_PP_FOR_175_C(BOOST_PP_BOOL(p##(176, s)), s, p, o, m)
-# define BOOST_PP_FOR_176(s, p, o, m) BOOST_PP_FOR_176_C(BOOST_PP_BOOL(p##(177, s)), s, p, o, m)
-# define BOOST_PP_FOR_177(s, p, o, m) BOOST_PP_FOR_177_C(BOOST_PP_BOOL(p##(178, s)), s, p, o, m)
-# define BOOST_PP_FOR_178(s, p, o, m) BOOST_PP_FOR_178_C(BOOST_PP_BOOL(p##(179, s)), s, p, o, m)
-# define BOOST_PP_FOR_179(s, p, o, m) BOOST_PP_FOR_179_C(BOOST_PP_BOOL(p##(180, s)), s, p, o, m)
-# define BOOST_PP_FOR_180(s, p, o, m) BOOST_PP_FOR_180_C(BOOST_PP_BOOL(p##(181, s)), s, p, o, m)
-# define BOOST_PP_FOR_181(s, p, o, m) BOOST_PP_FOR_181_C(BOOST_PP_BOOL(p##(182, s)), s, p, o, m)
-# define BOOST_PP_FOR_182(s, p, o, m) BOOST_PP_FOR_182_C(BOOST_PP_BOOL(p##(183, s)), s, p, o, m)
-# define BOOST_PP_FOR_183(s, p, o, m) BOOST_PP_FOR_183_C(BOOST_PP_BOOL(p##(184, s)), s, p, o, m)
-# define BOOST_PP_FOR_184(s, p, o, m) BOOST_PP_FOR_184_C(BOOST_PP_BOOL(p##(185, s)), s, p, o, m)
-# define BOOST_PP_FOR_185(s, p, o, m) BOOST_PP_FOR_185_C(BOOST_PP_BOOL(p##(186, s)), s, p, o, m)
-# define BOOST_PP_FOR_186(s, p, o, m) BOOST_PP_FOR_186_C(BOOST_PP_BOOL(p##(187, s)), s, p, o, m)
-# define BOOST_PP_FOR_187(s, p, o, m) BOOST_PP_FOR_187_C(BOOST_PP_BOOL(p##(188, s)), s, p, o, m)
-# define BOOST_PP_FOR_188(s, p, o, m) BOOST_PP_FOR_188_C(BOOST_PP_BOOL(p##(189, s)), s, p, o, m)
-# define BOOST_PP_FOR_189(s, p, o, m) BOOST_PP_FOR_189_C(BOOST_PP_BOOL(p##(190, s)), s, p, o, m)
-# define BOOST_PP_FOR_190(s, p, o, m) BOOST_PP_FOR_190_C(BOOST_PP_BOOL(p##(191, s)), s, p, o, m)
-# define BOOST_PP_FOR_191(s, p, o, m) BOOST_PP_FOR_191_C(BOOST_PP_BOOL(p##(192, s)), s, p, o, m)
-# define BOOST_PP_FOR_192(s, p, o, m) BOOST_PP_FOR_192_C(BOOST_PP_BOOL(p##(193, s)), s, p, o, m)
-# define BOOST_PP_FOR_193(s, p, o, m) BOOST_PP_FOR_193_C(BOOST_PP_BOOL(p##(194, s)), s, p, o, m)
-# define BOOST_PP_FOR_194(s, p, o, m) BOOST_PP_FOR_194_C(BOOST_PP_BOOL(p##(195, s)), s, p, o, m)
-# define BOOST_PP_FOR_195(s, p, o, m) BOOST_PP_FOR_195_C(BOOST_PP_BOOL(p##(196, s)), s, p, o, m)
-# define BOOST_PP_FOR_196(s, p, o, m) BOOST_PP_FOR_196_C(BOOST_PP_BOOL(p##(197, s)), s, p, o, m)
-# define BOOST_PP_FOR_197(s, p, o, m) BOOST_PP_FOR_197_C(BOOST_PP_BOOL(p##(198, s)), s, p, o, m)
-# define BOOST_PP_FOR_198(s, p, o, m) BOOST_PP_FOR_198_C(BOOST_PP_BOOL(p##(199, s)), s, p, o, m)
-# define BOOST_PP_FOR_199(s, p, o, m) BOOST_PP_FOR_199_C(BOOST_PP_BOOL(p##(200, s)), s, p, o, m)
-# define BOOST_PP_FOR_200(s, p, o, m) BOOST_PP_FOR_200_C(BOOST_PP_BOOL(p##(201, s)), s, p, o, m)
-# define BOOST_PP_FOR_201(s, p, o, m) BOOST_PP_FOR_201_C(BOOST_PP_BOOL(p##(202, s)), s, p, o, m)
-# define BOOST_PP_FOR_202(s, p, o, m) BOOST_PP_FOR_202_C(BOOST_PP_BOOL(p##(203, s)), s, p, o, m)
-# define BOOST_PP_FOR_203(s, p, o, m) BOOST_PP_FOR_203_C(BOOST_PP_BOOL(p##(204, s)), s, p, o, m)
-# define BOOST_PP_FOR_204(s, p, o, m) BOOST_PP_FOR_204_C(BOOST_PP_BOOL(p##(205, s)), s, p, o, m)
-# define BOOST_PP_FOR_205(s, p, o, m) BOOST_PP_FOR_205_C(BOOST_PP_BOOL(p##(206, s)), s, p, o, m)
-# define BOOST_PP_FOR_206(s, p, o, m) BOOST_PP_FOR_206_C(BOOST_PP_BOOL(p##(207, s)), s, p, o, m)
-# define BOOST_PP_FOR_207(s, p, o, m) BOOST_PP_FOR_207_C(BOOST_PP_BOOL(p##(208, s)), s, p, o, m)
-# define BOOST_PP_FOR_208(s, p, o, m) BOOST_PP_FOR_208_C(BOOST_PP_BOOL(p##(209, s)), s, p, o, m)
-# define BOOST_PP_FOR_209(s, p, o, m) BOOST_PP_FOR_209_C(BOOST_PP_BOOL(p##(210, s)), s, p, o, m)
-# define BOOST_PP_FOR_210(s, p, o, m) BOOST_PP_FOR_210_C(BOOST_PP_BOOL(p##(211, s)), s, p, o, m)
-# define BOOST_PP_FOR_211(s, p, o, m) BOOST_PP_FOR_211_C(BOOST_PP_BOOL(p##(212, s)), s, p, o, m)
-# define BOOST_PP_FOR_212(s, p, o, m) BOOST_PP_FOR_212_C(BOOST_PP_BOOL(p##(213, s)), s, p, o, m)
-# define BOOST_PP_FOR_213(s, p, o, m) BOOST_PP_FOR_213_C(BOOST_PP_BOOL(p##(214, s)), s, p, o, m)
-# define BOOST_PP_FOR_214(s, p, o, m) BOOST_PP_FOR_214_C(BOOST_PP_BOOL(p##(215, s)), s, p, o, m)
-# define BOOST_PP_FOR_215(s, p, o, m) BOOST_PP_FOR_215_C(BOOST_PP_BOOL(p##(216, s)), s, p, o, m)
-# define BOOST_PP_FOR_216(s, p, o, m) BOOST_PP_FOR_216_C(BOOST_PP_BOOL(p##(217, s)), s, p, o, m)
-# define BOOST_PP_FOR_217(s, p, o, m) BOOST_PP_FOR_217_C(BOOST_PP_BOOL(p##(218, s)), s, p, o, m)
-# define BOOST_PP_FOR_218(s, p, o, m) BOOST_PP_FOR_218_C(BOOST_PP_BOOL(p##(219, s)), s, p, o, m)
-# define BOOST_PP_FOR_219(s, p, o, m) BOOST_PP_FOR_219_C(BOOST_PP_BOOL(p##(220, s)), s, p, o, m)
-# define BOOST_PP_FOR_220(s, p, o, m) BOOST_PP_FOR_220_C(BOOST_PP_BOOL(p##(221, s)), s, p, o, m)
-# define BOOST_PP_FOR_221(s, p, o, m) BOOST_PP_FOR_221_C(BOOST_PP_BOOL(p##(222, s)), s, p, o, m)
-# define BOOST_PP_FOR_222(s, p, o, m) BOOST_PP_FOR_222_C(BOOST_PP_BOOL(p##(223, s)), s, p, o, m)
-# define BOOST_PP_FOR_223(s, p, o, m) BOOST_PP_FOR_223_C(BOOST_PP_BOOL(p##(224, s)), s, p, o, m)
-# define BOOST_PP_FOR_224(s, p, o, m) BOOST_PP_FOR_224_C(BOOST_PP_BOOL(p##(225, s)), s, p, o, m)
-# define BOOST_PP_FOR_225(s, p, o, m) BOOST_PP_FOR_225_C(BOOST_PP_BOOL(p##(226, s)), s, p, o, m)
-# define BOOST_PP_FOR_226(s, p, o, m) BOOST_PP_FOR_226_C(BOOST_PP_BOOL(p##(227, s)), s, p, o, m)
-# define BOOST_PP_FOR_227(s, p, o, m) BOOST_PP_FOR_227_C(BOOST_PP_BOOL(p##(228, s)), s, p, o, m)
-# define BOOST_PP_FOR_228(s, p, o, m) BOOST_PP_FOR_228_C(BOOST_PP_BOOL(p##(229, s)), s, p, o, m)
-# define BOOST_PP_FOR_229(s, p, o, m) BOOST_PP_FOR_229_C(BOOST_PP_BOOL(p##(230, s)), s, p, o, m)
-# define BOOST_PP_FOR_230(s, p, o, m) BOOST_PP_FOR_230_C(BOOST_PP_BOOL(p##(231, s)), s, p, o, m)
-# define BOOST_PP_FOR_231(s, p, o, m) BOOST_PP_FOR_231_C(BOOST_PP_BOOL(p##(232, s)), s, p, o, m)
-# define BOOST_PP_FOR_232(s, p, o, m) BOOST_PP_FOR_232_C(BOOST_PP_BOOL(p##(233, s)), s, p, o, m)
-# define BOOST_PP_FOR_233(s, p, o, m) BOOST_PP_FOR_233_C(BOOST_PP_BOOL(p##(234, s)), s, p, o, m)
-# define BOOST_PP_FOR_234(s, p, o, m) BOOST_PP_FOR_234_C(BOOST_PP_BOOL(p##(235, s)), s, p, o, m)
-# define BOOST_PP_FOR_235(s, p, o, m) BOOST_PP_FOR_235_C(BOOST_PP_BOOL(p##(236, s)), s, p, o, m)
-# define BOOST_PP_FOR_236(s, p, o, m) BOOST_PP_FOR_236_C(BOOST_PP_BOOL(p##(237, s)), s, p, o, m)
-# define BOOST_PP_FOR_237(s, p, o, m) BOOST_PP_FOR_237_C(BOOST_PP_BOOL(p##(238, s)), s, p, o, m)
-# define BOOST_PP_FOR_238(s, p, o, m) BOOST_PP_FOR_238_C(BOOST_PP_BOOL(p##(239, s)), s, p, o, m)
-# define BOOST_PP_FOR_239(s, p, o, m) BOOST_PP_FOR_239_C(BOOST_PP_BOOL(p##(240, s)), s, p, o, m)
-# define BOOST_PP_FOR_240(s, p, o, m) BOOST_PP_FOR_240_C(BOOST_PP_BOOL(p##(241, s)), s, p, o, m)
-# define BOOST_PP_FOR_241(s, p, o, m) BOOST_PP_FOR_241_C(BOOST_PP_BOOL(p##(242, s)), s, p, o, m)
-# define BOOST_PP_FOR_242(s, p, o, m) BOOST_PP_FOR_242_C(BOOST_PP_BOOL(p##(243, s)), s, p, o, m)
-# define BOOST_PP_FOR_243(s, p, o, m) BOOST_PP_FOR_243_C(BOOST_PP_BOOL(p##(244, s)), s, p, o, m)
-# define BOOST_PP_FOR_244(s, p, o, m) BOOST_PP_FOR_244_C(BOOST_PP_BOOL(p##(245, s)), s, p, o, m)
-# define BOOST_PP_FOR_245(s, p, o, m) BOOST_PP_FOR_245_C(BOOST_PP_BOOL(p##(246, s)), s, p, o, m)
-# define BOOST_PP_FOR_246(s, p, o, m) BOOST_PP_FOR_246_C(BOOST_PP_BOOL(p##(247, s)), s, p, o, m)
-# define BOOST_PP_FOR_247(s, p, o, m) BOOST_PP_FOR_247_C(BOOST_PP_BOOL(p##(248, s)), s, p, o, m)
-# define BOOST_PP_FOR_248(s, p, o, m) BOOST_PP_FOR_248_C(BOOST_PP_BOOL(p##(249, s)), s, p, o, m)
-# define BOOST_PP_FOR_249(s, p, o, m) BOOST_PP_FOR_249_C(BOOST_PP_BOOL(p##(250, s)), s, p, o, m)
-# define BOOST_PP_FOR_250(s, p, o, m) BOOST_PP_FOR_250_C(BOOST_PP_BOOL(p##(251, s)), s, p, o, m)
-# define BOOST_PP_FOR_251(s, p, o, m) BOOST_PP_FOR_251_C(BOOST_PP_BOOL(p##(252, s)), s, p, o, m)
-# define BOOST_PP_FOR_252(s, p, o, m) BOOST_PP_FOR_252_C(BOOST_PP_BOOL(p##(253, s)), s, p, o, m)
-# define BOOST_PP_FOR_253(s, p, o, m) BOOST_PP_FOR_253_C(BOOST_PP_BOOL(p##(254, s)), s, p, o, m)
-# define BOOST_PP_FOR_254(s, p, o, m) BOOST_PP_FOR_254_C(BOOST_PP_BOOL(p##(255, s)), s, p, o, m)
-# define BOOST_PP_FOR_255(s, p, o, m) BOOST_PP_FOR_255_C(BOOST_PP_BOOL(p##(256, s)), s, p, o, m)
-# define BOOST_PP_FOR_256(s, p, o, m) BOOST_PP_FOR_256_C(BOOST_PP_BOOL(p##(257, s)), s, p, o, m)
-#
-# define BOOST_PP_FOR_1_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(2, s) BOOST_PP_IIF(c, BOOST_PP_FOR_2, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(2, s), p, o, m)
-# define BOOST_PP_FOR_2_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(3, s) BOOST_PP_IIF(c, BOOST_PP_FOR_3, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(3, s), p, o, m)
-# define BOOST_PP_FOR_3_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(4, s) BOOST_PP_IIF(c, BOOST_PP_FOR_4, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(4, s), p, o, m)
-# define BOOST_PP_FOR_4_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(5, s) BOOST_PP_IIF(c, BOOST_PP_FOR_5, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(5, s), p, o, m)
-# define BOOST_PP_FOR_5_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(6, s) BOOST_PP_IIF(c, BOOST_PP_FOR_6, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(6, s), p, o, m)
-# define BOOST_PP_FOR_6_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(7, s) BOOST_PP_IIF(c, BOOST_PP_FOR_7, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(7, s), p, o, m)
-# define BOOST_PP_FOR_7_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(8, s) BOOST_PP_IIF(c, BOOST_PP_FOR_8, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(8, s), p, o, m)
-# define BOOST_PP_FOR_8_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(9, s) BOOST_PP_IIF(c, BOOST_PP_FOR_9, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(9, s), p, o, m)
-# define BOOST_PP_FOR_9_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(10, s) BOOST_PP_IIF(c, BOOST_PP_FOR_10, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(10, s), p, o, m)
-# define BOOST_PP_FOR_10_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(11, s) BOOST_PP_IIF(c, BOOST_PP_FOR_11, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(11, s), p, o, m)
-# define BOOST_PP_FOR_11_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(12, s) BOOST_PP_IIF(c, BOOST_PP_FOR_12, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(12, s), p, o, m)
-# define BOOST_PP_FOR_12_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(13, s) BOOST_PP_IIF(c, BOOST_PP_FOR_13, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(13, s), p, o, m)
-# define BOOST_PP_FOR_13_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(14, s) BOOST_PP_IIF(c, BOOST_PP_FOR_14, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(14, s), p, o, m)
-# define BOOST_PP_FOR_14_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(15, s) BOOST_PP_IIF(c, BOOST_PP_FOR_15, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(15, s), p, o, m)
-# define BOOST_PP_FOR_15_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(16, s) BOOST_PP_IIF(c, BOOST_PP_FOR_16, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(16, s), p, o, m)
-# define BOOST_PP_FOR_16_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(17, s) BOOST_PP_IIF(c, BOOST_PP_FOR_17, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(17, s), p, o, m)
-# define BOOST_PP_FOR_17_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(18, s) BOOST_PP_IIF(c, BOOST_PP_FOR_18, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(18, s), p, o, m)
-# define BOOST_PP_FOR_18_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(19, s) BOOST_PP_IIF(c, BOOST_PP_FOR_19, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(19, s), p, o, m)
-# define BOOST_PP_FOR_19_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(20, s) BOOST_PP_IIF(c, BOOST_PP_FOR_20, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(20, s), p, o, m)
-# define BOOST_PP_FOR_20_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(21, s) BOOST_PP_IIF(c, BOOST_PP_FOR_21, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(21, s), p, o, m)
-# define BOOST_PP_FOR_21_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(22, s) BOOST_PP_IIF(c, BOOST_PP_FOR_22, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(22, s), p, o, m)
-# define BOOST_PP_FOR_22_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(23, s) BOOST_PP_IIF(c, BOOST_PP_FOR_23, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(23, s), p, o, m)
-# define BOOST_PP_FOR_23_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(24, s) BOOST_PP_IIF(c, BOOST_PP_FOR_24, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(24, s), p, o, m)
-# define BOOST_PP_FOR_24_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(25, s) BOOST_PP_IIF(c, BOOST_PP_FOR_25, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(25, s), p, o, m)
-# define BOOST_PP_FOR_25_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(26, s) BOOST_PP_IIF(c, BOOST_PP_FOR_26, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(26, s), p, o, m)
-# define BOOST_PP_FOR_26_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(27, s) BOOST_PP_IIF(c, BOOST_PP_FOR_27, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(27, s), p, o, m)
-# define BOOST_PP_FOR_27_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(28, s) BOOST_PP_IIF(c, BOOST_PP_FOR_28, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(28, s), p, o, m)
-# define BOOST_PP_FOR_28_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(29, s) BOOST_PP_IIF(c, BOOST_PP_FOR_29, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(29, s), p, o, m)
-# define BOOST_PP_FOR_29_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(30, s) BOOST_PP_IIF(c, BOOST_PP_FOR_30, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(30, s), p, o, m)
-# define BOOST_PP_FOR_30_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(31, s) BOOST_PP_IIF(c, BOOST_PP_FOR_31, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(31, s), p, o, m)
-# define BOOST_PP_FOR_31_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(32, s) BOOST_PP_IIF(c, BOOST_PP_FOR_32, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(32, s), p, o, m)
-# define BOOST_PP_FOR_32_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(33, s) BOOST_PP_IIF(c, BOOST_PP_FOR_33, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(33, s), p, o, m)
-# define BOOST_PP_FOR_33_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(34, s) BOOST_PP_IIF(c, BOOST_PP_FOR_34, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(34, s), p, o, m)
-# define BOOST_PP_FOR_34_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(35, s) BOOST_PP_IIF(c, BOOST_PP_FOR_35, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(35, s), p, o, m)
-# define BOOST_PP_FOR_35_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(36, s) BOOST_PP_IIF(c, BOOST_PP_FOR_36, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(36, s), p, o, m)
-# define BOOST_PP_FOR_36_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(37, s) BOOST_PP_IIF(c, BOOST_PP_FOR_37, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(37, s), p, o, m)
-# define BOOST_PP_FOR_37_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(38, s) BOOST_PP_IIF(c, BOOST_PP_FOR_38, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(38, s), p, o, m)
-# define BOOST_PP_FOR_38_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(39, s) BOOST_PP_IIF(c, BOOST_PP_FOR_39, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(39, s), p, o, m)
-# define BOOST_PP_FOR_39_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(40, s) BOOST_PP_IIF(c, BOOST_PP_FOR_40, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(40, s), p, o, m)
-# define BOOST_PP_FOR_40_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(41, s) BOOST_PP_IIF(c, BOOST_PP_FOR_41, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(41, s), p, o, m)
-# define BOOST_PP_FOR_41_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(42, s) BOOST_PP_IIF(c, BOOST_PP_FOR_42, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(42, s), p, o, m)
-# define BOOST_PP_FOR_42_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(43, s) BOOST_PP_IIF(c, BOOST_PP_FOR_43, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(43, s), p, o, m)
-# define BOOST_PP_FOR_43_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(44, s) BOOST_PP_IIF(c, BOOST_PP_FOR_44, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(44, s), p, o, m)
-# define BOOST_PP_FOR_44_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(45, s) BOOST_PP_IIF(c, BOOST_PP_FOR_45, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(45, s), p, o, m)
-# define BOOST_PP_FOR_45_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(46, s) BOOST_PP_IIF(c, BOOST_PP_FOR_46, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(46, s), p, o, m)
-# define BOOST_PP_FOR_46_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(47, s) BOOST_PP_IIF(c, BOOST_PP_FOR_47, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(47, s), p, o, m)
-# define BOOST_PP_FOR_47_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(48, s) BOOST_PP_IIF(c, BOOST_PP_FOR_48, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(48, s), p, o, m)
-# define BOOST_PP_FOR_48_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(49, s) BOOST_PP_IIF(c, BOOST_PP_FOR_49, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(49, s), p, o, m)
-# define BOOST_PP_FOR_49_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(50, s) BOOST_PP_IIF(c, BOOST_PP_FOR_50, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(50, s), p, o, m)
-# define BOOST_PP_FOR_50_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(51, s) BOOST_PP_IIF(c, BOOST_PP_FOR_51, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(51, s), p, o, m)
-# define BOOST_PP_FOR_51_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(52, s) BOOST_PP_IIF(c, BOOST_PP_FOR_52, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(52, s), p, o, m)
-# define BOOST_PP_FOR_52_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(53, s) BOOST_PP_IIF(c, BOOST_PP_FOR_53, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(53, s), p, o, m)
-# define BOOST_PP_FOR_53_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(54, s) BOOST_PP_IIF(c, BOOST_PP_FOR_54, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(54, s), p, o, m)
-# define BOOST_PP_FOR_54_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(55, s) BOOST_PP_IIF(c, BOOST_PP_FOR_55, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(55, s), p, o, m)
-# define BOOST_PP_FOR_55_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(56, s) BOOST_PP_IIF(c, BOOST_PP_FOR_56, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(56, s), p, o, m)
-# define BOOST_PP_FOR_56_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(57, s) BOOST_PP_IIF(c, BOOST_PP_FOR_57, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(57, s), p, o, m)
-# define BOOST_PP_FOR_57_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(58, s) BOOST_PP_IIF(c, BOOST_PP_FOR_58, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(58, s), p, o, m)
-# define BOOST_PP_FOR_58_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(59, s) BOOST_PP_IIF(c, BOOST_PP_FOR_59, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(59, s), p, o, m)
-# define BOOST_PP_FOR_59_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(60, s) BOOST_PP_IIF(c, BOOST_PP_FOR_60, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(60, s), p, o, m)
-# define BOOST_PP_FOR_60_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(61, s) BOOST_PP_IIF(c, BOOST_PP_FOR_61, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(61, s), p, o, m)
-# define BOOST_PP_FOR_61_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(62, s) BOOST_PP_IIF(c, BOOST_PP_FOR_62, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(62, s), p, o, m)
-# define BOOST_PP_FOR_62_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(63, s) BOOST_PP_IIF(c, BOOST_PP_FOR_63, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(63, s), p, o, m)
-# define BOOST_PP_FOR_63_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(64, s) BOOST_PP_IIF(c, BOOST_PP_FOR_64, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(64, s), p, o, m)
-# define BOOST_PP_FOR_64_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(65, s) BOOST_PP_IIF(c, BOOST_PP_FOR_65, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(65, s), p, o, m)
-# define BOOST_PP_FOR_65_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(66, s) BOOST_PP_IIF(c, BOOST_PP_FOR_66, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(66, s), p, o, m)
-# define BOOST_PP_FOR_66_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(67, s) BOOST_PP_IIF(c, BOOST_PP_FOR_67, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(67, s), p, o, m)
-# define BOOST_PP_FOR_67_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(68, s) BOOST_PP_IIF(c, BOOST_PP_FOR_68, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(68, s), p, o, m)
-# define BOOST_PP_FOR_68_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(69, s) BOOST_PP_IIF(c, BOOST_PP_FOR_69, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(69, s), p, o, m)
-# define BOOST_PP_FOR_69_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(70, s) BOOST_PP_IIF(c, BOOST_PP_FOR_70, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(70, s), p, o, m)
-# define BOOST_PP_FOR_70_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(71, s) BOOST_PP_IIF(c, BOOST_PP_FOR_71, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(71, s), p, o, m)
-# define BOOST_PP_FOR_71_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(72, s) BOOST_PP_IIF(c, BOOST_PP_FOR_72, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(72, s), p, o, m)
-# define BOOST_PP_FOR_72_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(73, s) BOOST_PP_IIF(c, BOOST_PP_FOR_73, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(73, s), p, o, m)
-# define BOOST_PP_FOR_73_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(74, s) BOOST_PP_IIF(c, BOOST_PP_FOR_74, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(74, s), p, o, m)
-# define BOOST_PP_FOR_74_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(75, s) BOOST_PP_IIF(c, BOOST_PP_FOR_75, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(75, s), p, o, m)
-# define BOOST_PP_FOR_75_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(76, s) BOOST_PP_IIF(c, BOOST_PP_FOR_76, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(76, s), p, o, m)
-# define BOOST_PP_FOR_76_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(77, s) BOOST_PP_IIF(c, BOOST_PP_FOR_77, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(77, s), p, o, m)
-# define BOOST_PP_FOR_77_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(78, s) BOOST_PP_IIF(c, BOOST_PP_FOR_78, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(78, s), p, o, m)
-# define BOOST_PP_FOR_78_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(79, s) BOOST_PP_IIF(c, BOOST_PP_FOR_79, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(79, s), p, o, m)
-# define BOOST_PP_FOR_79_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(80, s) BOOST_PP_IIF(c, BOOST_PP_FOR_80, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(80, s), p, o, m)
-# define BOOST_PP_FOR_80_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(81, s) BOOST_PP_IIF(c, BOOST_PP_FOR_81, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(81, s), p, o, m)
-# define BOOST_PP_FOR_81_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(82, s) BOOST_PP_IIF(c, BOOST_PP_FOR_82, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(82, s), p, o, m)
-# define BOOST_PP_FOR_82_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(83, s) BOOST_PP_IIF(c, BOOST_PP_FOR_83, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(83, s), p, o, m)
-# define BOOST_PP_FOR_83_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(84, s) BOOST_PP_IIF(c, BOOST_PP_FOR_84, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(84, s), p, o, m)
-# define BOOST_PP_FOR_84_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(85, s) BOOST_PP_IIF(c, BOOST_PP_FOR_85, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(85, s), p, o, m)
-# define BOOST_PP_FOR_85_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(86, s) BOOST_PP_IIF(c, BOOST_PP_FOR_86, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(86, s), p, o, m)
-# define BOOST_PP_FOR_86_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(87, s) BOOST_PP_IIF(c, BOOST_PP_FOR_87, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(87, s), p, o, m)
-# define BOOST_PP_FOR_87_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(88, s) BOOST_PP_IIF(c, BOOST_PP_FOR_88, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(88, s), p, o, m)
-# define BOOST_PP_FOR_88_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(89, s) BOOST_PP_IIF(c, BOOST_PP_FOR_89, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(89, s), p, o, m)
-# define BOOST_PP_FOR_89_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(90, s) BOOST_PP_IIF(c, BOOST_PP_FOR_90, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(90, s), p, o, m)
-# define BOOST_PP_FOR_90_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(91, s) BOOST_PP_IIF(c, BOOST_PP_FOR_91, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(91, s), p, o, m)
-# define BOOST_PP_FOR_91_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(92, s) BOOST_PP_IIF(c, BOOST_PP_FOR_92, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(92, s), p, o, m)
-# define BOOST_PP_FOR_92_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(93, s) BOOST_PP_IIF(c, BOOST_PP_FOR_93, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(93, s), p, o, m)
-# define BOOST_PP_FOR_93_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(94, s) BOOST_PP_IIF(c, BOOST_PP_FOR_94, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(94, s), p, o, m)
-# define BOOST_PP_FOR_94_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(95, s) BOOST_PP_IIF(c, BOOST_PP_FOR_95, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(95, s), p, o, m)
-# define BOOST_PP_FOR_95_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(96, s) BOOST_PP_IIF(c, BOOST_PP_FOR_96, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(96, s), p, o, m)
-# define BOOST_PP_FOR_96_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(97, s) BOOST_PP_IIF(c, BOOST_PP_FOR_97, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(97, s), p, o, m)
-# define BOOST_PP_FOR_97_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(98, s) BOOST_PP_IIF(c, BOOST_PP_FOR_98, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(98, s), p, o, m)
-# define BOOST_PP_FOR_98_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(99, s) BOOST_PP_IIF(c, BOOST_PP_FOR_99, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(99, s), p, o, m)
-# define BOOST_PP_FOR_99_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(100, s) BOOST_PP_IIF(c, BOOST_PP_FOR_100, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(100, s), p, o, m)
-# define BOOST_PP_FOR_100_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(101, s) BOOST_PP_IIF(c, BOOST_PP_FOR_101, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(101, s), p, o, m)
-# define BOOST_PP_FOR_101_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(102, s) BOOST_PP_IIF(c, BOOST_PP_FOR_102, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(102, s), p, o, m)
-# define BOOST_PP_FOR_102_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(103, s) BOOST_PP_IIF(c, BOOST_PP_FOR_103, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(103, s), p, o, m)
-# define BOOST_PP_FOR_103_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(104, s) BOOST_PP_IIF(c, BOOST_PP_FOR_104, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(104, s), p, o, m)
-# define BOOST_PP_FOR_104_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(105, s) BOOST_PP_IIF(c, BOOST_PP_FOR_105, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(105, s), p, o, m)
-# define BOOST_PP_FOR_105_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(106, s) BOOST_PP_IIF(c, BOOST_PP_FOR_106, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(106, s), p, o, m)
-# define BOOST_PP_FOR_106_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(107, s) BOOST_PP_IIF(c, BOOST_PP_FOR_107, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(107, s), p, o, m)
-# define BOOST_PP_FOR_107_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(108, s) BOOST_PP_IIF(c, BOOST_PP_FOR_108, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(108, s), p, o, m)
-# define BOOST_PP_FOR_108_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(109, s) BOOST_PP_IIF(c, BOOST_PP_FOR_109, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(109, s), p, o, m)
-# define BOOST_PP_FOR_109_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(110, s) BOOST_PP_IIF(c, BOOST_PP_FOR_110, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(110, s), p, o, m)
-# define BOOST_PP_FOR_110_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(111, s) BOOST_PP_IIF(c, BOOST_PP_FOR_111, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(111, s), p, o, m)
-# define BOOST_PP_FOR_111_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(112, s) BOOST_PP_IIF(c, BOOST_PP_FOR_112, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(112, s), p, o, m)
-# define BOOST_PP_FOR_112_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(113, s) BOOST_PP_IIF(c, BOOST_PP_FOR_113, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(113, s), p, o, m)
-# define BOOST_PP_FOR_113_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(114, s) BOOST_PP_IIF(c, BOOST_PP_FOR_114, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(114, s), p, o, m)
-# define BOOST_PP_FOR_114_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(115, s) BOOST_PP_IIF(c, BOOST_PP_FOR_115, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(115, s), p, o, m)
-# define BOOST_PP_FOR_115_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(116, s) BOOST_PP_IIF(c, BOOST_PP_FOR_116, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(116, s), p, o, m)
-# define BOOST_PP_FOR_116_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(117, s) BOOST_PP_IIF(c, BOOST_PP_FOR_117, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(117, s), p, o, m)
-# define BOOST_PP_FOR_117_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(118, s) BOOST_PP_IIF(c, BOOST_PP_FOR_118, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(118, s), p, o, m)
-# define BOOST_PP_FOR_118_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(119, s) BOOST_PP_IIF(c, BOOST_PP_FOR_119, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(119, s), p, o, m)
-# define BOOST_PP_FOR_119_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(120, s) BOOST_PP_IIF(c, BOOST_PP_FOR_120, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(120, s), p, o, m)
-# define BOOST_PP_FOR_120_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(121, s) BOOST_PP_IIF(c, BOOST_PP_FOR_121, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(121, s), p, o, m)
-# define BOOST_PP_FOR_121_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(122, s) BOOST_PP_IIF(c, BOOST_PP_FOR_122, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(122, s), p, o, m)
-# define BOOST_PP_FOR_122_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(123, s) BOOST_PP_IIF(c, BOOST_PP_FOR_123, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(123, s), p, o, m)
-# define BOOST_PP_FOR_123_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(124, s) BOOST_PP_IIF(c, BOOST_PP_FOR_124, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(124, s), p, o, m)
-# define BOOST_PP_FOR_124_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(125, s) BOOST_PP_IIF(c, BOOST_PP_FOR_125, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(125, s), p, o, m)
-# define BOOST_PP_FOR_125_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(126, s) BOOST_PP_IIF(c, BOOST_PP_FOR_126, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(126, s), p, o, m)
-# define BOOST_PP_FOR_126_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(127, s) BOOST_PP_IIF(c, BOOST_PP_FOR_127, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(127, s), p, o, m)
-# define BOOST_PP_FOR_127_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(128, s) BOOST_PP_IIF(c, BOOST_PP_FOR_128, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(128, s), p, o, m)
-# define BOOST_PP_FOR_128_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(129, s) BOOST_PP_IIF(c, BOOST_PP_FOR_129, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(129, s), p, o, m)
-# define BOOST_PP_FOR_129_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(130, s) BOOST_PP_IIF(c, BOOST_PP_FOR_130, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(130, s), p, o, m)
-# define BOOST_PP_FOR_130_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(131, s) BOOST_PP_IIF(c, BOOST_PP_FOR_131, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(131, s), p, o, m)
-# define BOOST_PP_FOR_131_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(132, s) BOOST_PP_IIF(c, BOOST_PP_FOR_132, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(132, s), p, o, m)
-# define BOOST_PP_FOR_132_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(133, s) BOOST_PP_IIF(c, BOOST_PP_FOR_133, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(133, s), p, o, m)
-# define BOOST_PP_FOR_133_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(134, s) BOOST_PP_IIF(c, BOOST_PP_FOR_134, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(134, s), p, o, m)
-# define BOOST_PP_FOR_134_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(135, s) BOOST_PP_IIF(c, BOOST_PP_FOR_135, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(135, s), p, o, m)
-# define BOOST_PP_FOR_135_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(136, s) BOOST_PP_IIF(c, BOOST_PP_FOR_136, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(136, s), p, o, m)
-# define BOOST_PP_FOR_136_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(137, s) BOOST_PP_IIF(c, BOOST_PP_FOR_137, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(137, s), p, o, m)
-# define BOOST_PP_FOR_137_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(138, s) BOOST_PP_IIF(c, BOOST_PP_FOR_138, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(138, s), p, o, m)
-# define BOOST_PP_FOR_138_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(139, s) BOOST_PP_IIF(c, BOOST_PP_FOR_139, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(139, s), p, o, m)
-# define BOOST_PP_FOR_139_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(140, s) BOOST_PP_IIF(c, BOOST_PP_FOR_140, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(140, s), p, o, m)
-# define BOOST_PP_FOR_140_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(141, s) BOOST_PP_IIF(c, BOOST_PP_FOR_141, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(141, s), p, o, m)
-# define BOOST_PP_FOR_141_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(142, s) BOOST_PP_IIF(c, BOOST_PP_FOR_142, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(142, s), p, o, m)
-# define BOOST_PP_FOR_142_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(143, s) BOOST_PP_IIF(c, BOOST_PP_FOR_143, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(143, s), p, o, m)
-# define BOOST_PP_FOR_143_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(144, s) BOOST_PP_IIF(c, BOOST_PP_FOR_144, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(144, s), p, o, m)
-# define BOOST_PP_FOR_144_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(145, s) BOOST_PP_IIF(c, BOOST_PP_FOR_145, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(145, s), p, o, m)
-# define BOOST_PP_FOR_145_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(146, s) BOOST_PP_IIF(c, BOOST_PP_FOR_146, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(146, s), p, o, m)
-# define BOOST_PP_FOR_146_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(147, s) BOOST_PP_IIF(c, BOOST_PP_FOR_147, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(147, s), p, o, m)
-# define BOOST_PP_FOR_147_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(148, s) BOOST_PP_IIF(c, BOOST_PP_FOR_148, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(148, s), p, o, m)
-# define BOOST_PP_FOR_148_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(149, s) BOOST_PP_IIF(c, BOOST_PP_FOR_149, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(149, s), p, o, m)
-# define BOOST_PP_FOR_149_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(150, s) BOOST_PP_IIF(c, BOOST_PP_FOR_150, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(150, s), p, o, m)
-# define BOOST_PP_FOR_150_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(151, s) BOOST_PP_IIF(c, BOOST_PP_FOR_151, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(151, s), p, o, m)
-# define BOOST_PP_FOR_151_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(152, s) BOOST_PP_IIF(c, BOOST_PP_FOR_152, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(152, s), p, o, m)
-# define BOOST_PP_FOR_152_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(153, s) BOOST_PP_IIF(c, BOOST_PP_FOR_153, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(153, s), p, o, m)
-# define BOOST_PP_FOR_153_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(154, s) BOOST_PP_IIF(c, BOOST_PP_FOR_154, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(154, s), p, o, m)
-# define BOOST_PP_FOR_154_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(155, s) BOOST_PP_IIF(c, BOOST_PP_FOR_155, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(155, s), p, o, m)
-# define BOOST_PP_FOR_155_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(156, s) BOOST_PP_IIF(c, BOOST_PP_FOR_156, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(156, s), p, o, m)
-# define BOOST_PP_FOR_156_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(157, s) BOOST_PP_IIF(c, BOOST_PP_FOR_157, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(157, s), p, o, m)
-# define BOOST_PP_FOR_157_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(158, s) BOOST_PP_IIF(c, BOOST_PP_FOR_158, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(158, s), p, o, m)
-# define BOOST_PP_FOR_158_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(159, s) BOOST_PP_IIF(c, BOOST_PP_FOR_159, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(159, s), p, o, m)
-# define BOOST_PP_FOR_159_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(160, s) BOOST_PP_IIF(c, BOOST_PP_FOR_160, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(160, s), p, o, m)
-# define BOOST_PP_FOR_160_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(161, s) BOOST_PP_IIF(c, BOOST_PP_FOR_161, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(161, s), p, o, m)
-# define BOOST_PP_FOR_161_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(162, s) BOOST_PP_IIF(c, BOOST_PP_FOR_162, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(162, s), p, o, m)
-# define BOOST_PP_FOR_162_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(163, s) BOOST_PP_IIF(c, BOOST_PP_FOR_163, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(163, s), p, o, m)
-# define BOOST_PP_FOR_163_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(164, s) BOOST_PP_IIF(c, BOOST_PP_FOR_164, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(164, s), p, o, m)
-# define BOOST_PP_FOR_164_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(165, s) BOOST_PP_IIF(c, BOOST_PP_FOR_165, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(165, s), p, o, m)
-# define BOOST_PP_FOR_165_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(166, s) BOOST_PP_IIF(c, BOOST_PP_FOR_166, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(166, s), p, o, m)
-# define BOOST_PP_FOR_166_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(167, s) BOOST_PP_IIF(c, BOOST_PP_FOR_167, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(167, s), p, o, m)
-# define BOOST_PP_FOR_167_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(168, s) BOOST_PP_IIF(c, BOOST_PP_FOR_168, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(168, s), p, o, m)
-# define BOOST_PP_FOR_168_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(169, s) BOOST_PP_IIF(c, BOOST_PP_FOR_169, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(169, s), p, o, m)
-# define BOOST_PP_FOR_169_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(170, s) BOOST_PP_IIF(c, BOOST_PP_FOR_170, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(170, s), p, o, m)
-# define BOOST_PP_FOR_170_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(171, s) BOOST_PP_IIF(c, BOOST_PP_FOR_171, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(171, s), p, o, m)
-# define BOOST_PP_FOR_171_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(172, s) BOOST_PP_IIF(c, BOOST_PP_FOR_172, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(172, s), p, o, m)
-# define BOOST_PP_FOR_172_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(173, s) BOOST_PP_IIF(c, BOOST_PP_FOR_173, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(173, s), p, o, m)
-# define BOOST_PP_FOR_173_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(174, s) BOOST_PP_IIF(c, BOOST_PP_FOR_174, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(174, s), p, o, m)
-# define BOOST_PP_FOR_174_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(175, s) BOOST_PP_IIF(c, BOOST_PP_FOR_175, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(175, s), p, o, m)
-# define BOOST_PP_FOR_175_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(176, s) BOOST_PP_IIF(c, BOOST_PP_FOR_176, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(176, s), p, o, m)
-# define BOOST_PP_FOR_176_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(177, s) BOOST_PP_IIF(c, BOOST_PP_FOR_177, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(177, s), p, o, m)
-# define BOOST_PP_FOR_177_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(178, s) BOOST_PP_IIF(c, BOOST_PP_FOR_178, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(178, s), p, o, m)
-# define BOOST_PP_FOR_178_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(179, s) BOOST_PP_IIF(c, BOOST_PP_FOR_179, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(179, s), p, o, m)
-# define BOOST_PP_FOR_179_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(180, s) BOOST_PP_IIF(c, BOOST_PP_FOR_180, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(180, s), p, o, m)
-# define BOOST_PP_FOR_180_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(181, s) BOOST_PP_IIF(c, BOOST_PP_FOR_181, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(181, s), p, o, m)
-# define BOOST_PP_FOR_181_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(182, s) BOOST_PP_IIF(c, BOOST_PP_FOR_182, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(182, s), p, o, m)
-# define BOOST_PP_FOR_182_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(183, s) BOOST_PP_IIF(c, BOOST_PP_FOR_183, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(183, s), p, o, m)
-# define BOOST_PP_FOR_183_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(184, s) BOOST_PP_IIF(c, BOOST_PP_FOR_184, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(184, s), p, o, m)
-# define BOOST_PP_FOR_184_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(185, s) BOOST_PP_IIF(c, BOOST_PP_FOR_185, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(185, s), p, o, m)
-# define BOOST_PP_FOR_185_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(186, s) BOOST_PP_IIF(c, BOOST_PP_FOR_186, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(186, s), p, o, m)
-# define BOOST_PP_FOR_186_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(187, s) BOOST_PP_IIF(c, BOOST_PP_FOR_187, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(187, s), p, o, m)
-# define BOOST_PP_FOR_187_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(188, s) BOOST_PP_IIF(c, BOOST_PP_FOR_188, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(188, s), p, o, m)
-# define BOOST_PP_FOR_188_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(189, s) BOOST_PP_IIF(c, BOOST_PP_FOR_189, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(189, s), p, o, m)
-# define BOOST_PP_FOR_189_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(190, s) BOOST_PP_IIF(c, BOOST_PP_FOR_190, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(190, s), p, o, m)
-# define BOOST_PP_FOR_190_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(191, s) BOOST_PP_IIF(c, BOOST_PP_FOR_191, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(191, s), p, o, m)
-# define BOOST_PP_FOR_191_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(192, s) BOOST_PP_IIF(c, BOOST_PP_FOR_192, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(192, s), p, o, m)
-# define BOOST_PP_FOR_192_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(193, s) BOOST_PP_IIF(c, BOOST_PP_FOR_193, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(193, s), p, o, m)
-# define BOOST_PP_FOR_193_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(194, s) BOOST_PP_IIF(c, BOOST_PP_FOR_194, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(194, s), p, o, m)
-# define BOOST_PP_FOR_194_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(195, s) BOOST_PP_IIF(c, BOOST_PP_FOR_195, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(195, s), p, o, m)
-# define BOOST_PP_FOR_195_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(196, s) BOOST_PP_IIF(c, BOOST_PP_FOR_196, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(196, s), p, o, m)
-# define BOOST_PP_FOR_196_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(197, s) BOOST_PP_IIF(c, BOOST_PP_FOR_197, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(197, s), p, o, m)
-# define BOOST_PP_FOR_197_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(198, s) BOOST_PP_IIF(c, BOOST_PP_FOR_198, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(198, s), p, o, m)
-# define BOOST_PP_FOR_198_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(199, s) BOOST_PP_IIF(c, BOOST_PP_FOR_199, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(199, s), p, o, m)
-# define BOOST_PP_FOR_199_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(200, s) BOOST_PP_IIF(c, BOOST_PP_FOR_200, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(200, s), p, o, m)
-# define BOOST_PP_FOR_200_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(201, s) BOOST_PP_IIF(c, BOOST_PP_FOR_201, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(201, s), p, o, m)
-# define BOOST_PP_FOR_201_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(202, s) BOOST_PP_IIF(c, BOOST_PP_FOR_202, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(202, s), p, o, m)
-# define BOOST_PP_FOR_202_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(203, s) BOOST_PP_IIF(c, BOOST_PP_FOR_203, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(203, s), p, o, m)
-# define BOOST_PP_FOR_203_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(204, s) BOOST_PP_IIF(c, BOOST_PP_FOR_204, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(204, s), p, o, m)
-# define BOOST_PP_FOR_204_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(205, s) BOOST_PP_IIF(c, BOOST_PP_FOR_205, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(205, s), p, o, m)
-# define BOOST_PP_FOR_205_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(206, s) BOOST_PP_IIF(c, BOOST_PP_FOR_206, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(206, s), p, o, m)
-# define BOOST_PP_FOR_206_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(207, s) BOOST_PP_IIF(c, BOOST_PP_FOR_207, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(207, s), p, o, m)
-# define BOOST_PP_FOR_207_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(208, s) BOOST_PP_IIF(c, BOOST_PP_FOR_208, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(208, s), p, o, m)
-# define BOOST_PP_FOR_208_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(209, s) BOOST_PP_IIF(c, BOOST_PP_FOR_209, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(209, s), p, o, m)
-# define BOOST_PP_FOR_209_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(210, s) BOOST_PP_IIF(c, BOOST_PP_FOR_210, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(210, s), p, o, m)
-# define BOOST_PP_FOR_210_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(211, s) BOOST_PP_IIF(c, BOOST_PP_FOR_211, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(211, s), p, o, m)
-# define BOOST_PP_FOR_211_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(212, s) BOOST_PP_IIF(c, BOOST_PP_FOR_212, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(212, s), p, o, m)
-# define BOOST_PP_FOR_212_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(213, s) BOOST_PP_IIF(c, BOOST_PP_FOR_213, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(213, s), p, o, m)
-# define BOOST_PP_FOR_213_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(214, s) BOOST_PP_IIF(c, BOOST_PP_FOR_214, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(214, s), p, o, m)
-# define BOOST_PP_FOR_214_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(215, s) BOOST_PP_IIF(c, BOOST_PP_FOR_215, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(215, s), p, o, m)
-# define BOOST_PP_FOR_215_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(216, s) BOOST_PP_IIF(c, BOOST_PP_FOR_216, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(216, s), p, o, m)
-# define BOOST_PP_FOR_216_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(217, s) BOOST_PP_IIF(c, BOOST_PP_FOR_217, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(217, s), p, o, m)
-# define BOOST_PP_FOR_217_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(218, s) BOOST_PP_IIF(c, BOOST_PP_FOR_218, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(218, s), p, o, m)
-# define BOOST_PP_FOR_218_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(219, s) BOOST_PP_IIF(c, BOOST_PP_FOR_219, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(219, s), p, o, m)
-# define BOOST_PP_FOR_219_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(220, s) BOOST_PP_IIF(c, BOOST_PP_FOR_220, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(220, s), p, o, m)
-# define BOOST_PP_FOR_220_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(221, s) BOOST_PP_IIF(c, BOOST_PP_FOR_221, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(221, s), p, o, m)
-# define BOOST_PP_FOR_221_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(222, s) BOOST_PP_IIF(c, BOOST_PP_FOR_222, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(222, s), p, o, m)
-# define BOOST_PP_FOR_222_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(223, s) BOOST_PP_IIF(c, BOOST_PP_FOR_223, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(223, s), p, o, m)
-# define BOOST_PP_FOR_223_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(224, s) BOOST_PP_IIF(c, BOOST_PP_FOR_224, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(224, s), p, o, m)
-# define BOOST_PP_FOR_224_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(225, s) BOOST_PP_IIF(c, BOOST_PP_FOR_225, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(225, s), p, o, m)
-# define BOOST_PP_FOR_225_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(226, s) BOOST_PP_IIF(c, BOOST_PP_FOR_226, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(226, s), p, o, m)
-# define BOOST_PP_FOR_226_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(227, s) BOOST_PP_IIF(c, BOOST_PP_FOR_227, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(227, s), p, o, m)
-# define BOOST_PP_FOR_227_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(228, s) BOOST_PP_IIF(c, BOOST_PP_FOR_228, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(228, s), p, o, m)
-# define BOOST_PP_FOR_228_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(229, s) BOOST_PP_IIF(c, BOOST_PP_FOR_229, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(229, s), p, o, m)
-# define BOOST_PP_FOR_229_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(230, s) BOOST_PP_IIF(c, BOOST_PP_FOR_230, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(230, s), p, o, m)
-# define BOOST_PP_FOR_230_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(231, s) BOOST_PP_IIF(c, BOOST_PP_FOR_231, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(231, s), p, o, m)
-# define BOOST_PP_FOR_231_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(232, s) BOOST_PP_IIF(c, BOOST_PP_FOR_232, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(232, s), p, o, m)
-# define BOOST_PP_FOR_232_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(233, s) BOOST_PP_IIF(c, BOOST_PP_FOR_233, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(233, s), p, o, m)
-# define BOOST_PP_FOR_233_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(234, s) BOOST_PP_IIF(c, BOOST_PP_FOR_234, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(234, s), p, o, m)
-# define BOOST_PP_FOR_234_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(235, s) BOOST_PP_IIF(c, BOOST_PP_FOR_235, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(235, s), p, o, m)
-# define BOOST_PP_FOR_235_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(236, s) BOOST_PP_IIF(c, BOOST_PP_FOR_236, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(236, s), p, o, m)
-# define BOOST_PP_FOR_236_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(237, s) BOOST_PP_IIF(c, BOOST_PP_FOR_237, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(237, s), p, o, m)
-# define BOOST_PP_FOR_237_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(238, s) BOOST_PP_IIF(c, BOOST_PP_FOR_238, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(238, s), p, o, m)
-# define BOOST_PP_FOR_238_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(239, s) BOOST_PP_IIF(c, BOOST_PP_FOR_239, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(239, s), p, o, m)
-# define BOOST_PP_FOR_239_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(240, s) BOOST_PP_IIF(c, BOOST_PP_FOR_240, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(240, s), p, o, m)
-# define BOOST_PP_FOR_240_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(241, s) BOOST_PP_IIF(c, BOOST_PP_FOR_241, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(241, s), p, o, m)
-# define BOOST_PP_FOR_241_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(242, s) BOOST_PP_IIF(c, BOOST_PP_FOR_242, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(242, s), p, o, m)
-# define BOOST_PP_FOR_242_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(243, s) BOOST_PP_IIF(c, BOOST_PP_FOR_243, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(243, s), p, o, m)
-# define BOOST_PP_FOR_243_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(244, s) BOOST_PP_IIF(c, BOOST_PP_FOR_244, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(244, s), p, o, m)
-# define BOOST_PP_FOR_244_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(245, s) BOOST_PP_IIF(c, BOOST_PP_FOR_245, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(245, s), p, o, m)
-# define BOOST_PP_FOR_245_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(246, s) BOOST_PP_IIF(c, BOOST_PP_FOR_246, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(246, s), p, o, m)
-# define BOOST_PP_FOR_246_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(247, s) BOOST_PP_IIF(c, BOOST_PP_FOR_247, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(247, s), p, o, m)
-# define BOOST_PP_FOR_247_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(248, s) BOOST_PP_IIF(c, BOOST_PP_FOR_248, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(248, s), p, o, m)
-# define BOOST_PP_FOR_248_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(249, s) BOOST_PP_IIF(c, BOOST_PP_FOR_249, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(249, s), p, o, m)
-# define BOOST_PP_FOR_249_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(250, s) BOOST_PP_IIF(c, BOOST_PP_FOR_250, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(250, s), p, o, m)
-# define BOOST_PP_FOR_250_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(251, s) BOOST_PP_IIF(c, BOOST_PP_FOR_251, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(251, s), p, o, m)
-# define BOOST_PP_FOR_251_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(252, s) BOOST_PP_IIF(c, BOOST_PP_FOR_252, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(252, s), p, o, m)
-# define BOOST_PP_FOR_252_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(253, s) BOOST_PP_IIF(c, BOOST_PP_FOR_253, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(253, s), p, o, m)
-# define BOOST_PP_FOR_253_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(254, s) BOOST_PP_IIF(c, BOOST_PP_FOR_254, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(254, s), p, o, m)
-# define BOOST_PP_FOR_254_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(255, s) BOOST_PP_IIF(c, BOOST_PP_FOR_255, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(255, s), p, o, m)
-# define BOOST_PP_FOR_255_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(256, s) BOOST_PP_IIF(c, BOOST_PP_FOR_256, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(256, s), p, o, m)
-# define BOOST_PP_FOR_256_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(257, s) BOOST_PP_IIF(c, BOOST_PP_FOR_257, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(257, s), p, o, m)
-#
-# endif
diff --git a/boost/preprocessor/repetition/detail/edg/for.hpp b/boost/preprocessor/repetition/detail/edg/for.hpp
deleted file mode 100644
index 212921a..0000000
--- a/boost/preprocessor/repetition/detail/edg/for.hpp
+++ /dev/null
@@ -1,534 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_REPETITION_DETAIL_EDG_FOR_HPP
-# define BOOST_PREPROCESSOR_REPETITION_DETAIL_EDG_FOR_HPP
-#
-# include <boost/preprocessor/control/if.hpp>
-# include <boost/preprocessor/tuple/eat.hpp>
-#
-# define BOOST_PP_FOR_1(s, p, o, m) BOOST_PP_FOR_1_I(s, p, o, m)
-# define BOOST_PP_FOR_2(s, p, o, m) BOOST_PP_FOR_2_I(s, p, o, m)
-# define BOOST_PP_FOR_3(s, p, o, m) BOOST_PP_FOR_3_I(s, p, o, m)
-# define BOOST_PP_FOR_4(s, p, o, m) BOOST_PP_FOR_4_I(s, p, o, m)
-# define BOOST_PP_FOR_5(s, p, o, m) BOOST_PP_FOR_5_I(s, p, o, m)
-# define BOOST_PP_FOR_6(s, p, o, m) BOOST_PP_FOR_6_I(s, p, o, m)
-# define BOOST_PP_FOR_7(s, p, o, m) BOOST_PP_FOR_7_I(s, p, o, m)
-# define BOOST_PP_FOR_8(s, p, o, m) BOOST_PP_FOR_8_I(s, p, o, m)
-# define BOOST_PP_FOR_9(s, p, o, m) BOOST_PP_FOR_9_I(s, p, o, m)
-# define BOOST_PP_FOR_10(s, p, o, m) BOOST_PP_FOR_10_I(s, p, o, m)
-# define BOOST_PP_FOR_11(s, p, o, m) BOOST_PP_FOR_11_I(s, p, o, m)
-# define BOOST_PP_FOR_12(s, p, o, m) BOOST_PP_FOR_12_I(s, p, o, m)
-# define BOOST_PP_FOR_13(s, p, o, m) BOOST_PP_FOR_13_I(s, p, o, m)
-# define BOOST_PP_FOR_14(s, p, o, m) BOOST_PP_FOR_14_I(s, p, o, m)
-# define BOOST_PP_FOR_15(s, p, o, m) BOOST_PP_FOR_15_I(s, p, o, m)
-# define BOOST_PP_FOR_16(s, p, o, m) BOOST_PP_FOR_16_I(s, p, o, m)
-# define BOOST_PP_FOR_17(s, p, o, m) BOOST_PP_FOR_17_I(s, p, o, m)
-# define BOOST_PP_FOR_18(s, p, o, m) BOOST_PP_FOR_18_I(s, p, o, m)
-# define BOOST_PP_FOR_19(s, p, o, m) BOOST_PP_FOR_19_I(s, p, o, m)
-# define BOOST_PP_FOR_20(s, p, o, m) BOOST_PP_FOR_20_I(s, p, o, m)
-# define BOOST_PP_FOR_21(s, p, o, m) BOOST_PP_FOR_21_I(s, p, o, m)
-# define BOOST_PP_FOR_22(s, p, o, m) BOOST_PP_FOR_22_I(s, p, o, m)
-# define BOOST_PP_FOR_23(s, p, o, m) BOOST_PP_FOR_23_I(s, p, o, m)
-# define BOOST_PP_FOR_24(s, p, o, m) BOOST_PP_FOR_24_I(s, p, o, m)
-# define BOOST_PP_FOR_25(s, p, o, m) BOOST_PP_FOR_25_I(s, p, o, m)
-# define BOOST_PP_FOR_26(s, p, o, m) BOOST_PP_FOR_26_I(s, p, o, m)
-# define BOOST_PP_FOR_27(s, p, o, m) BOOST_PP_FOR_27_I(s, p, o, m)
-# define BOOST_PP_FOR_28(s, p, o, m) BOOST_PP_FOR_28_I(s, p, o, m)
-# define BOOST_PP_FOR_29(s, p, o, m) BOOST_PP_FOR_29_I(s, p, o, m)
-# define BOOST_PP_FOR_30(s, p, o, m) BOOST_PP_FOR_30_I(s, p, o, m)
-# define BOOST_PP_FOR_31(s, p, o, m) BOOST_PP_FOR_31_I(s, p, o, m)
-# define BOOST_PP_FOR_32(s, p, o, m) BOOST_PP_FOR_32_I(s, p, o, m)
-# define BOOST_PP_FOR_33(s, p, o, m) BOOST_PP_FOR_33_I(s, p, o, m)
-# define BOOST_PP_FOR_34(s, p, o, m) BOOST_PP_FOR_34_I(s, p, o, m)
-# define BOOST_PP_FOR_35(s, p, o, m) BOOST_PP_FOR_35_I(s, p, o, m)
-# define BOOST_PP_FOR_36(s, p, o, m) BOOST_PP_FOR_36_I(s, p, o, m)
-# define BOOST_PP_FOR_37(s, p, o, m) BOOST_PP_FOR_37_I(s, p, o, m)
-# define BOOST_PP_FOR_38(s, p, o, m) BOOST_PP_FOR_38_I(s, p, o, m)
-# define BOOST_PP_FOR_39(s, p, o, m) BOOST_PP_FOR_39_I(s, p, o, m)
-# define BOOST_PP_FOR_40(s, p, o, m) BOOST_PP_FOR_40_I(s, p, o, m)
-# define BOOST_PP_FOR_41(s, p, o, m) BOOST_PP_FOR_41_I(s, p, o, m)
-# define BOOST_PP_FOR_42(s, p, o, m) BOOST_PP_FOR_42_I(s, p, o, m)
-# define BOOST_PP_FOR_43(s, p, o, m) BOOST_PP_FOR_43_I(s, p, o, m)
-# define BOOST_PP_FOR_44(s, p, o, m) BOOST_PP_FOR_44_I(s, p, o, m)
-# define BOOST_PP_FOR_45(s, p, o, m) BOOST_PP_FOR_45_I(s, p, o, m)
-# define BOOST_PP_FOR_46(s, p, o, m) BOOST_PP_FOR_46_I(s, p, o, m)
-# define BOOST_PP_FOR_47(s, p, o, m) BOOST_PP_FOR_47_I(s, p, o, m)
-# define BOOST_PP_FOR_48(s, p, o, m) BOOST_PP_FOR_48_I(s, p, o, m)
-# define BOOST_PP_FOR_49(s, p, o, m) BOOST_PP_FOR_49_I(s, p, o, m)
-# define BOOST_PP_FOR_50(s, p, o, m) BOOST_PP_FOR_50_I(s, p, o, m)
-# define BOOST_PP_FOR_51(s, p, o, m) BOOST_PP_FOR_51_I(s, p, o, m)
-# define BOOST_PP_FOR_52(s, p, o, m) BOOST_PP_FOR_52_I(s, p, o, m)
-# define BOOST_PP_FOR_53(s, p, o, m) BOOST_PP_FOR_53_I(s, p, o, m)
-# define BOOST_PP_FOR_54(s, p, o, m) BOOST_PP_FOR_54_I(s, p, o, m)
-# define BOOST_PP_FOR_55(s, p, o, m) BOOST_PP_FOR_55_I(s, p, o, m)
-# define BOOST_PP_FOR_56(s, p, o, m) BOOST_PP_FOR_56_I(s, p, o, m)
-# define BOOST_PP_FOR_57(s, p, o, m) BOOST_PP_FOR_57_I(s, p, o, m)
-# define BOOST_PP_FOR_58(s, p, o, m) BOOST_PP_FOR_58_I(s, p, o, m)
-# define BOOST_PP_FOR_59(s, p, o, m) BOOST_PP_FOR_59_I(s, p, o, m)
-# define BOOST_PP_FOR_60(s, p, o, m) BOOST_PP_FOR_60_I(s, p, o, m)
-# define BOOST_PP_FOR_61(s, p, o, m) BOOST_PP_FOR_61_I(s, p, o, m)
-# define BOOST_PP_FOR_62(s, p, o, m) BOOST_PP_FOR_62_I(s, p, o, m)
-# define BOOST_PP_FOR_63(s, p, o, m) BOOST_PP_FOR_63_I(s, p, o, m)
-# define BOOST_PP_FOR_64(s, p, o, m) BOOST_PP_FOR_64_I(s, p, o, m)
-# define BOOST_PP_FOR_65(s, p, o, m) BOOST_PP_FOR_65_I(s, p, o, m)
-# define BOOST_PP_FOR_66(s, p, o, m) BOOST_PP_FOR_66_I(s, p, o, m)
-# define BOOST_PP_FOR_67(s, p, o, m) BOOST_PP_FOR_67_I(s, p, o, m)
-# define BOOST_PP_FOR_68(s, p, o, m) BOOST_PP_FOR_68_I(s, p, o, m)
-# define BOOST_PP_FOR_69(s, p, o, m) BOOST_PP_FOR_69_I(s, p, o, m)
-# define BOOST_PP_FOR_70(s, p, o, m) BOOST_PP_FOR_70_I(s, p, o, m)
-# define BOOST_PP_FOR_71(s, p, o, m) BOOST_PP_FOR_71_I(s, p, o, m)
-# define BOOST_PP_FOR_72(s, p, o, m) BOOST_PP_FOR_72_I(s, p, o, m)
-# define BOOST_PP_FOR_73(s, p, o, m) BOOST_PP_FOR_73_I(s, p, o, m)
-# define BOOST_PP_FOR_74(s, p, o, m) BOOST_PP_FOR_74_I(s, p, o, m)
-# define BOOST_PP_FOR_75(s, p, o, m) BOOST_PP_FOR_75_I(s, p, o, m)
-# define BOOST_PP_FOR_76(s, p, o, m) BOOST_PP_FOR_76_I(s, p, o, m)
-# define BOOST_PP_FOR_77(s, p, o, m) BOOST_PP_FOR_77_I(s, p, o, m)
-# define BOOST_PP_FOR_78(s, p, o, m) BOOST_PP_FOR_78_I(s, p, o, m)
-# define BOOST_PP_FOR_79(s, p, o, m) BOOST_PP_FOR_79_I(s, p, o, m)
-# define BOOST_PP_FOR_80(s, p, o, m) BOOST_PP_FOR_80_I(s, p, o, m)
-# define BOOST_PP_FOR_81(s, p, o, m) BOOST_PP_FOR_81_I(s, p, o, m)
-# define BOOST_PP_FOR_82(s, p, o, m) BOOST_PP_FOR_82_I(s, p, o, m)
-# define BOOST_PP_FOR_83(s, p, o, m) BOOST_PP_FOR_83_I(s, p, o, m)
-# define BOOST_PP_FOR_84(s, p, o, m) BOOST_PP_FOR_84_I(s, p, o, m)
-# define BOOST_PP_FOR_85(s, p, o, m) BOOST_PP_FOR_85_I(s, p, o, m)
-# define BOOST_PP_FOR_86(s, p, o, m) BOOST_PP_FOR_86_I(s, p, o, m)
-# define BOOST_PP_FOR_87(s, p, o, m) BOOST_PP_FOR_87_I(s, p, o, m)
-# define BOOST_PP_FOR_88(s, p, o, m) BOOST_PP_FOR_88_I(s, p, o, m)
-# define BOOST_PP_FOR_89(s, p, o, m) BOOST_PP_FOR_89_I(s, p, o, m)
-# define BOOST_PP_FOR_90(s, p, o, m) BOOST_PP_FOR_90_I(s, p, o, m)
-# define BOOST_PP_FOR_91(s, p, o, m) BOOST_PP_FOR_91_I(s, p, o, m)
-# define BOOST_PP_FOR_92(s, p, o, m) BOOST_PP_FOR_92_I(s, p, o, m)
-# define BOOST_PP_FOR_93(s, p, o, m) BOOST_PP_FOR_93_I(s, p, o, m)
-# define BOOST_PP_FOR_94(s, p, o, m) BOOST_PP_FOR_94_I(s, p, o, m)
-# define BOOST_PP_FOR_95(s, p, o, m) BOOST_PP_FOR_95_I(s, p, o, m)
-# define BOOST_PP_FOR_96(s, p, o, m) BOOST_PP_FOR_96_I(s, p, o, m)
-# define BOOST_PP_FOR_97(s, p, o, m) BOOST_PP_FOR_97_I(s, p, o, m)
-# define BOOST_PP_FOR_98(s, p, o, m) BOOST_PP_FOR_98_I(s, p, o, m)
-# define BOOST_PP_FOR_99(s, p, o, m) BOOST_PP_FOR_99_I(s, p, o, m)
-# define BOOST_PP_FOR_100(s, p, o, m) BOOST_PP_FOR_100_I(s, p, o, m)
-# define BOOST_PP_FOR_101(s, p, o, m) BOOST_PP_FOR_101_I(s, p, o, m)
-# define BOOST_PP_FOR_102(s, p, o, m) BOOST_PP_FOR_102_I(s, p, o, m)
-# define BOOST_PP_FOR_103(s, p, o, m) BOOST_PP_FOR_103_I(s, p, o, m)
-# define BOOST_PP_FOR_104(s, p, o, m) BOOST_PP_FOR_104_I(s, p, o, m)
-# define BOOST_PP_FOR_105(s, p, o, m) BOOST_PP_FOR_105_I(s, p, o, m)
-# define BOOST_PP_FOR_106(s, p, o, m) BOOST_PP_FOR_106_I(s, p, o, m)
-# define BOOST_PP_FOR_107(s, p, o, m) BOOST_PP_FOR_107_I(s, p, o, m)
-# define BOOST_PP_FOR_108(s, p, o, m) BOOST_PP_FOR_108_I(s, p, o, m)
-# define BOOST_PP_FOR_109(s, p, o, m) BOOST_PP_FOR_109_I(s, p, o, m)
-# define BOOST_PP_FOR_110(s, p, o, m) BOOST_PP_FOR_110_I(s, p, o, m)
-# define BOOST_PP_FOR_111(s, p, o, m) BOOST_PP_FOR_111_I(s, p, o, m)
-# define BOOST_PP_FOR_112(s, p, o, m) BOOST_PP_FOR_112_I(s, p, o, m)
-# define BOOST_PP_FOR_113(s, p, o, m) BOOST_PP_FOR_113_I(s, p, o, m)
-# define BOOST_PP_FOR_114(s, p, o, m) BOOST_PP_FOR_114_I(s, p, o, m)
-# define BOOST_PP_FOR_115(s, p, o, m) BOOST_PP_FOR_115_I(s, p, o, m)
-# define BOOST_PP_FOR_116(s, p, o, m) BOOST_PP_FOR_116_I(s, p, o, m)
-# define BOOST_PP_FOR_117(s, p, o, m) BOOST_PP_FOR_117_I(s, p, o, m)
-# define BOOST_PP_FOR_118(s, p, o, m) BOOST_PP_FOR_118_I(s, p, o, m)
-# define BOOST_PP_FOR_119(s, p, o, m) BOOST_PP_FOR_119_I(s, p, o, m)
-# define BOOST_PP_FOR_120(s, p, o, m) BOOST_PP_FOR_120_I(s, p, o, m)
-# define BOOST_PP_FOR_121(s, p, o, m) BOOST_PP_FOR_121_I(s, p, o, m)
-# define BOOST_PP_FOR_122(s, p, o, m) BOOST_PP_FOR_122_I(s, p, o, m)
-# define BOOST_PP_FOR_123(s, p, o, m) BOOST_PP_FOR_123_I(s, p, o, m)
-# define BOOST_PP_FOR_124(s, p, o, m) BOOST_PP_FOR_124_I(s, p, o, m)
-# define BOOST_PP_FOR_125(s, p, o, m) BOOST_PP_FOR_125_I(s, p, o, m)
-# define BOOST_PP_FOR_126(s, p, o, m) BOOST_PP_FOR_126_I(s, p, o, m)
-# define BOOST_PP_FOR_127(s, p, o, m) BOOST_PP_FOR_127_I(s, p, o, m)
-# define BOOST_PP_FOR_128(s, p, o, m) BOOST_PP_FOR_128_I(s, p, o, m)
-# define BOOST_PP_FOR_129(s, p, o, m) BOOST_PP_FOR_129_I(s, p, o, m)
-# define BOOST_PP_FOR_130(s, p, o, m) BOOST_PP_FOR_130_I(s, p, o, m)
-# define BOOST_PP_FOR_131(s, p, o, m) BOOST_PP_FOR_131_I(s, p, o, m)
-# define BOOST_PP_FOR_132(s, p, o, m) BOOST_PP_FOR_132_I(s, p, o, m)
-# define BOOST_PP_FOR_133(s, p, o, m) BOOST_PP_FOR_133_I(s, p, o, m)
-# define BOOST_PP_FOR_134(s, p, o, m) BOOST_PP_FOR_134_I(s, p, o, m)
-# define BOOST_PP_FOR_135(s, p, o, m) BOOST_PP_FOR_135_I(s, p, o, m)
-# define BOOST_PP_FOR_136(s, p, o, m) BOOST_PP_FOR_136_I(s, p, o, m)
-# define BOOST_PP_FOR_137(s, p, o, m) BOOST_PP_FOR_137_I(s, p, o, m)
-# define BOOST_PP_FOR_138(s, p, o, m) BOOST_PP_FOR_138_I(s, p, o, m)
-# define BOOST_PP_FOR_139(s, p, o, m) BOOST_PP_FOR_139_I(s, p, o, m)
-# define BOOST_PP_FOR_140(s, p, o, m) BOOST_PP_FOR_140_I(s, p, o, m)
-# define BOOST_PP_FOR_141(s, p, o, m) BOOST_PP_FOR_141_I(s, p, o, m)
-# define BOOST_PP_FOR_142(s, p, o, m) BOOST_PP_FOR_142_I(s, p, o, m)
-# define BOOST_PP_FOR_143(s, p, o, m) BOOST_PP_FOR_143_I(s, p, o, m)
-# define BOOST_PP_FOR_144(s, p, o, m) BOOST_PP_FOR_144_I(s, p, o, m)
-# define BOOST_PP_FOR_145(s, p, o, m) BOOST_PP_FOR_145_I(s, p, o, m)
-# define BOOST_PP_FOR_146(s, p, o, m) BOOST_PP_FOR_146_I(s, p, o, m)
-# define BOOST_PP_FOR_147(s, p, o, m) BOOST_PP_FOR_147_I(s, p, o, m)
-# define BOOST_PP_FOR_148(s, p, o, m) BOOST_PP_FOR_148_I(s, p, o, m)
-# define BOOST_PP_FOR_149(s, p, o, m) BOOST_PP_FOR_149_I(s, p, o, m)
-# define BOOST_PP_FOR_150(s, p, o, m) BOOST_PP_FOR_150_I(s, p, o, m)
-# define BOOST_PP_FOR_151(s, p, o, m) BOOST_PP_FOR_151_I(s, p, o, m)
-# define BOOST_PP_FOR_152(s, p, o, m) BOOST_PP_FOR_152_I(s, p, o, m)
-# define BOOST_PP_FOR_153(s, p, o, m) BOOST_PP_FOR_153_I(s, p, o, m)
-# define BOOST_PP_FOR_154(s, p, o, m) BOOST_PP_FOR_154_I(s, p, o, m)
-# define BOOST_PP_FOR_155(s, p, o, m) BOOST_PP_FOR_155_I(s, p, o, m)
-# define BOOST_PP_FOR_156(s, p, o, m) BOOST_PP_FOR_156_I(s, p, o, m)
-# define BOOST_PP_FOR_157(s, p, o, m) BOOST_PP_FOR_157_I(s, p, o, m)
-# define BOOST_PP_FOR_158(s, p, o, m) BOOST_PP_FOR_158_I(s, p, o, m)
-# define BOOST_PP_FOR_159(s, p, o, m) BOOST_PP_FOR_159_I(s, p, o, m)
-# define BOOST_PP_FOR_160(s, p, o, m) BOOST_PP_FOR_160_I(s, p, o, m)
-# define BOOST_PP_FOR_161(s, p, o, m) BOOST_PP_FOR_161_I(s, p, o, m)
-# define BOOST_PP_FOR_162(s, p, o, m) BOOST_PP_FOR_162_I(s, p, o, m)
-# define BOOST_PP_FOR_163(s, p, o, m) BOOST_PP_FOR_163_I(s, p, o, m)
-# define BOOST_PP_FOR_164(s, p, o, m) BOOST_PP_FOR_164_I(s, p, o, m)
-# define BOOST_PP_FOR_165(s, p, o, m) BOOST_PP_FOR_165_I(s, p, o, m)
-# define BOOST_PP_FOR_166(s, p, o, m) BOOST_PP_FOR_166_I(s, p, o, m)
-# define BOOST_PP_FOR_167(s, p, o, m) BOOST_PP_FOR_167_I(s, p, o, m)
-# define BOOST_PP_FOR_168(s, p, o, m) BOOST_PP_FOR_168_I(s, p, o, m)
-# define BOOST_PP_FOR_169(s, p, o, m) BOOST_PP_FOR_169_I(s, p, o, m)
-# define BOOST_PP_FOR_170(s, p, o, m) BOOST_PP_FOR_170_I(s, p, o, m)
-# define BOOST_PP_FOR_171(s, p, o, m) BOOST_PP_FOR_171_I(s, p, o, m)
-# define BOOST_PP_FOR_172(s, p, o, m) BOOST_PP_FOR_172_I(s, p, o, m)
-# define BOOST_PP_FOR_173(s, p, o, m) BOOST_PP_FOR_173_I(s, p, o, m)
-# define BOOST_PP_FOR_174(s, p, o, m) BOOST_PP_FOR_174_I(s, p, o, m)
-# define BOOST_PP_FOR_175(s, p, o, m) BOOST_PP_FOR_175_I(s, p, o, m)
-# define BOOST_PP_FOR_176(s, p, o, m) BOOST_PP_FOR_176_I(s, p, o, m)
-# define BOOST_PP_FOR_177(s, p, o, m) BOOST_PP_FOR_177_I(s, p, o, m)
-# define BOOST_PP_FOR_178(s, p, o, m) BOOST_PP_FOR_178_I(s, p, o, m)
-# define BOOST_PP_FOR_179(s, p, o, m) BOOST_PP_FOR_179_I(s, p, o, m)
-# define BOOST_PP_FOR_180(s, p, o, m) BOOST_PP_FOR_180_I(s, p, o, m)
-# define BOOST_PP_FOR_181(s, p, o, m) BOOST_PP_FOR_181_I(s, p, o, m)
-# define BOOST_PP_FOR_182(s, p, o, m) BOOST_PP_FOR_182_I(s, p, o, m)
-# define BOOST_PP_FOR_183(s, p, o, m) BOOST_PP_FOR_183_I(s, p, o, m)
-# define BOOST_PP_FOR_184(s, p, o, m) BOOST_PP_FOR_184_I(s, p, o, m)
-# define BOOST_PP_FOR_185(s, p, o, m) BOOST_PP_FOR_185_I(s, p, o, m)
-# define BOOST_PP_FOR_186(s, p, o, m) BOOST_PP_FOR_186_I(s, p, o, m)
-# define BOOST_PP_FOR_187(s, p, o, m) BOOST_PP_FOR_187_I(s, p, o, m)
-# define BOOST_PP_FOR_188(s, p, o, m) BOOST_PP_FOR_188_I(s, p, o, m)
-# define BOOST_PP_FOR_189(s, p, o, m) BOOST_PP_FOR_189_I(s, p, o, m)
-# define BOOST_PP_FOR_190(s, p, o, m) BOOST_PP_FOR_190_I(s, p, o, m)
-# define BOOST_PP_FOR_191(s, p, o, m) BOOST_PP_FOR_191_I(s, p, o, m)
-# define BOOST_PP_FOR_192(s, p, o, m) BOOST_PP_FOR_192_I(s, p, o, m)
-# define BOOST_PP_FOR_193(s, p, o, m) BOOST_PP_FOR_193_I(s, p, o, m)
-# define BOOST_PP_FOR_194(s, p, o, m) BOOST_PP_FOR_194_I(s, p, o, m)
-# define BOOST_PP_FOR_195(s, p, o, m) BOOST_PP_FOR_195_I(s, p, o, m)
-# define BOOST_PP_FOR_196(s, p, o, m) BOOST_PP_FOR_196_I(s, p, o, m)
-# define BOOST_PP_FOR_197(s, p, o, m) BOOST_PP_FOR_197_I(s, p, o, m)
-# define BOOST_PP_FOR_198(s, p, o, m) BOOST_PP_FOR_198_I(s, p, o, m)
-# define BOOST_PP_FOR_199(s, p, o, m) BOOST_PP_FOR_199_I(s, p, o, m)
-# define BOOST_PP_FOR_200(s, p, o, m) BOOST_PP_FOR_200_I(s, p, o, m)
-# define BOOST_PP_FOR_201(s, p, o, m) BOOST_PP_FOR_201_I(s, p, o, m)
-# define BOOST_PP_FOR_202(s, p, o, m) BOOST_PP_FOR_202_I(s, p, o, m)
-# define BOOST_PP_FOR_203(s, p, o, m) BOOST_PP_FOR_203_I(s, p, o, m)
-# define BOOST_PP_FOR_204(s, p, o, m) BOOST_PP_FOR_204_I(s, p, o, m)
-# define BOOST_PP_FOR_205(s, p, o, m) BOOST_PP_FOR_205_I(s, p, o, m)
-# define BOOST_PP_FOR_206(s, p, o, m) BOOST_PP_FOR_206_I(s, p, o, m)
-# define BOOST_PP_FOR_207(s, p, o, m) BOOST_PP_FOR_207_I(s, p, o, m)
-# define BOOST_PP_FOR_208(s, p, o, m) BOOST_PP_FOR_208_I(s, p, o, m)
-# define BOOST_PP_FOR_209(s, p, o, m) BOOST_PP_FOR_209_I(s, p, o, m)
-# define BOOST_PP_FOR_210(s, p, o, m) BOOST_PP_FOR_210_I(s, p, o, m)
-# define BOOST_PP_FOR_211(s, p, o, m) BOOST_PP_FOR_211_I(s, p, o, m)
-# define BOOST_PP_FOR_212(s, p, o, m) BOOST_PP_FOR_212_I(s, p, o, m)
-# define BOOST_PP_FOR_213(s, p, o, m) BOOST_PP_FOR_213_I(s, p, o, m)
-# define BOOST_PP_FOR_214(s, p, o, m) BOOST_PP_FOR_214_I(s, p, o, m)
-# define BOOST_PP_FOR_215(s, p, o, m) BOOST_PP_FOR_215_I(s, p, o, m)
-# define BOOST_PP_FOR_216(s, p, o, m) BOOST_PP_FOR_216_I(s, p, o, m)
-# define BOOST_PP_FOR_217(s, p, o, m) BOOST_PP_FOR_217_I(s, p, o, m)
-# define BOOST_PP_FOR_218(s, p, o, m) BOOST_PP_FOR_218_I(s, p, o, m)
-# define BOOST_PP_FOR_219(s, p, o, m) BOOST_PP_FOR_219_I(s, p, o, m)
-# define BOOST_PP_FOR_220(s, p, o, m) BOOST_PP_FOR_220_I(s, p, o, m)
-# define BOOST_PP_FOR_221(s, p, o, m) BOOST_PP_FOR_221_I(s, p, o, m)
-# define BOOST_PP_FOR_222(s, p, o, m) BOOST_PP_FOR_222_I(s, p, o, m)
-# define BOOST_PP_FOR_223(s, p, o, m) BOOST_PP_FOR_223_I(s, p, o, m)
-# define BOOST_PP_FOR_224(s, p, o, m) BOOST_PP_FOR_224_I(s, p, o, m)
-# define BOOST_PP_FOR_225(s, p, o, m) BOOST_PP_FOR_225_I(s, p, o, m)
-# define BOOST_PP_FOR_226(s, p, o, m) BOOST_PP_FOR_226_I(s, p, o, m)
-# define BOOST_PP_FOR_227(s, p, o, m) BOOST_PP_FOR_227_I(s, p, o, m)
-# define BOOST_PP_FOR_228(s, p, o, m) BOOST_PP_FOR_228_I(s, p, o, m)
-# define BOOST_PP_FOR_229(s, p, o, m) BOOST_PP_FOR_229_I(s, p, o, m)
-# define BOOST_PP_FOR_230(s, p, o, m) BOOST_PP_FOR_230_I(s, p, o, m)
-# define BOOST_PP_FOR_231(s, p, o, m) BOOST_PP_FOR_231_I(s, p, o, m)
-# define BOOST_PP_FOR_232(s, p, o, m) BOOST_PP_FOR_232_I(s, p, o, m)
-# define BOOST_PP_FOR_233(s, p, o, m) BOOST_PP_FOR_233_I(s, p, o, m)
-# define BOOST_PP_FOR_234(s, p, o, m) BOOST_PP_FOR_234_I(s, p, o, m)
-# define BOOST_PP_FOR_235(s, p, o, m) BOOST_PP_FOR_235_I(s, p, o, m)
-# define BOOST_PP_FOR_236(s, p, o, m) BOOST_PP_FOR_236_I(s, p, o, m)
-# define BOOST_PP_FOR_237(s, p, o, m) BOOST_PP_FOR_237_I(s, p, o, m)
-# define BOOST_PP_FOR_238(s, p, o, m) BOOST_PP_FOR_238_I(s, p, o, m)
-# define BOOST_PP_FOR_239(s, p, o, m) BOOST_PP_FOR_239_I(s, p, o, m)
-# define BOOST_PP_FOR_240(s, p, o, m) BOOST_PP_FOR_240_I(s, p, o, m)
-# define BOOST_PP_FOR_241(s, p, o, m) BOOST_PP_FOR_241_I(s, p, o, m)
-# define BOOST_PP_FOR_242(s, p, o, m) BOOST_PP_FOR_242_I(s, p, o, m)
-# define BOOST_PP_FOR_243(s, p, o, m) BOOST_PP_FOR_243_I(s, p, o, m)
-# define BOOST_PP_FOR_244(s, p, o, m) BOOST_PP_FOR_244_I(s, p, o, m)
-# define BOOST_PP_FOR_245(s, p, o, m) BOOST_PP_FOR_245_I(s, p, o, m)
-# define BOOST_PP_FOR_246(s, p, o, m) BOOST_PP_FOR_246_I(s, p, o, m)
-# define BOOST_PP_FOR_247(s, p, o, m) BOOST_PP_FOR_247_I(s, p, o, m)
-# define BOOST_PP_FOR_248(s, p, o, m) BOOST_PP_FOR_248_I(s, p, o, m)
-# define BOOST_PP_FOR_249(s, p, o, m) BOOST_PP_FOR_249_I(s, p, o, m)
-# define BOOST_PP_FOR_250(s, p, o, m) BOOST_PP_FOR_250_I(s, p, o, m)
-# define BOOST_PP_FOR_251(s, p, o, m) BOOST_PP_FOR_251_I(s, p, o, m)
-# define BOOST_PP_FOR_252(s, p, o, m) BOOST_PP_FOR_252_I(s, p, o, m)
-# define BOOST_PP_FOR_253(s, p, o, m) BOOST_PP_FOR_253_I(s, p, o, m)
-# define BOOST_PP_FOR_254(s, p, o, m) BOOST_PP_FOR_254_I(s, p, o, m)
-# define BOOST_PP_FOR_255(s, p, o, m) BOOST_PP_FOR_255_I(s, p, o, m)
-# define BOOST_PP_FOR_256(s, p, o, m) BOOST_PP_FOR_256_I(s, p, o, m)
-#
-# define BOOST_PP_FOR_1_I(s, p, o, m) BOOST_PP_IF(p(2, s), m, BOOST_PP_TUPLE_EAT_2)(2, s) BOOST_PP_IF(p(2, s), BOOST_PP_FOR_2, BOOST_PP_TUPLE_EAT_4)(o(2, s), p, o, m)
-# define BOOST_PP_FOR_2_I(s, p, o, m) BOOST_PP_IF(p(3, s), m, BOOST_PP_TUPLE_EAT_2)(3, s) BOOST_PP_IF(p(3, s), BOOST_PP_FOR_3, BOOST_PP_TUPLE_EAT_4)(o(3, s), p, o, m)
-# define BOOST_PP_FOR_3_I(s, p, o, m) BOOST_PP_IF(p(4, s), m, BOOST_PP_TUPLE_EAT_2)(4, s) BOOST_PP_IF(p(4, s), BOOST_PP_FOR_4, BOOST_PP_TUPLE_EAT_4)(o(4, s), p, o, m)
-# define BOOST_PP_FOR_4_I(s, p, o, m) BOOST_PP_IF(p(5, s), m, BOOST_PP_TUPLE_EAT_2)(5, s) BOOST_PP_IF(p(5, s), BOOST_PP_FOR_5, BOOST_PP_TUPLE_EAT_4)(o(5, s), p, o, m)
-# define BOOST_PP_FOR_5_I(s, p, o, m) BOOST_PP_IF(p(6, s), m, BOOST_PP_TUPLE_EAT_2)(6, s) BOOST_PP_IF(p(6, s), BOOST_PP_FOR_6, BOOST_PP_TUPLE_EAT_4)(o(6, s), p, o, m)
-# define BOOST_PP_FOR_6_I(s, p, o, m) BOOST_PP_IF(p(7, s), m, BOOST_PP_TUPLE_EAT_2)(7, s) BOOST_PP_IF(p(7, s), BOOST_PP_FOR_7, BOOST_PP_TUPLE_EAT_4)(o(7, s), p, o, m)
-# define BOOST_PP_FOR_7_I(s, p, o, m) BOOST_PP_IF(p(8, s), m, BOOST_PP_TUPLE_EAT_2)(8, s) BOOST_PP_IF(p(8, s), BOOST_PP_FOR_8, BOOST_PP_TUPLE_EAT_4)(o(8, s), p, o, m)
-# define BOOST_PP_FOR_8_I(s, p, o, m) BOOST_PP_IF(p(9, s), m, BOOST_PP_TUPLE_EAT_2)(9, s) BOOST_PP_IF(p(9, s), BOOST_PP_FOR_9, BOOST_PP_TUPLE_EAT_4)(o(9, s), p, o, m)
-# define BOOST_PP_FOR_9_I(s, p, o, m) BOOST_PP_IF(p(10, s), m, BOOST_PP_TUPLE_EAT_2)(10, s) BOOST_PP_IF(p(10, s), BOOST_PP_FOR_10, BOOST_PP_TUPLE_EAT_4)(o(10, s), p, o, m)
-# define BOOST_PP_FOR_10_I(s, p, o, m) BOOST_PP_IF(p(11, s), m, BOOST_PP_TUPLE_EAT_2)(11, s) BOOST_PP_IF(p(11, s), BOOST_PP_FOR_11, BOOST_PP_TUPLE_EAT_4)(o(11, s), p, o, m)
-# define BOOST_PP_FOR_11_I(s, p, o, m) BOOST_PP_IF(p(12, s), m, BOOST_PP_TUPLE_EAT_2)(12, s) BOOST_PP_IF(p(12, s), BOOST_PP_FOR_12, BOOST_PP_TUPLE_EAT_4)(o(12, s), p, o, m)
-# define BOOST_PP_FOR_12_I(s, p, o, m) BOOST_PP_IF(p(13, s), m, BOOST_PP_TUPLE_EAT_2)(13, s) BOOST_PP_IF(p(13, s), BOOST_PP_FOR_13, BOOST_PP_TUPLE_EAT_4)(o(13, s), p, o, m)
-# define BOOST_PP_FOR_13_I(s, p, o, m) BOOST_PP_IF(p(14, s), m, BOOST_PP_TUPLE_EAT_2)(14, s) BOOST_PP_IF(p(14, s), BOOST_PP_FOR_14, BOOST_PP_TUPLE_EAT_4)(o(14, s), p, o, m)
-# define BOOST_PP_FOR_14_I(s, p, o, m) BOOST_PP_IF(p(15, s), m, BOOST_PP_TUPLE_EAT_2)(15, s) BOOST_PP_IF(p(15, s), BOOST_PP_FOR_15, BOOST_PP_TUPLE_EAT_4)(o(15, s), p, o, m)
-# define BOOST_PP_FOR_15_I(s, p, o, m) BOOST_PP_IF(p(16, s), m, BOOST_PP_TUPLE_EAT_2)(16, s) BOOST_PP_IF(p(16, s), BOOST_PP_FOR_16, BOOST_PP_TUPLE_EAT_4)(o(16, s), p, o, m)
-# define BOOST_PP_FOR_16_I(s, p, o, m) BOOST_PP_IF(p(17, s), m, BOOST_PP_TUPLE_EAT_2)(17, s) BOOST_PP_IF(p(17, s), BOOST_PP_FOR_17, BOOST_PP_TUPLE_EAT_4)(o(17, s), p, o, m)
-# define BOOST_PP_FOR_17_I(s, p, o, m) BOOST_PP_IF(p(18, s), m, BOOST_PP_TUPLE_EAT_2)(18, s) BOOST_PP_IF(p(18, s), BOOST_PP_FOR_18, BOOST_PP_TUPLE_EAT_4)(o(18, s), p, o, m)
-# define BOOST_PP_FOR_18_I(s, p, o, m) BOOST_PP_IF(p(19, s), m, BOOST_PP_TUPLE_EAT_2)(19, s) BOOST_PP_IF(p(19, s), BOOST_PP_FOR_19, BOOST_PP_TUPLE_EAT_4)(o(19, s), p, o, m)
-# define BOOST_PP_FOR_19_I(s, p, o, m) BOOST_PP_IF(p(20, s), m, BOOST_PP_TUPLE_EAT_2)(20, s) BOOST_PP_IF(p(20, s), BOOST_PP_FOR_20, BOOST_PP_TUPLE_EAT_4)(o(20, s), p, o, m)
-# define BOOST_PP_FOR_20_I(s, p, o, m) BOOST_PP_IF(p(21, s), m, BOOST_PP_TUPLE_EAT_2)(21, s) BOOST_PP_IF(p(21, s), BOOST_PP_FOR_21, BOOST_PP_TUPLE_EAT_4)(o(21, s), p, o, m)
-# define BOOST_PP_FOR_21_I(s, p, o, m) BOOST_PP_IF(p(22, s), m, BOOST_PP_TUPLE_EAT_2)(22, s) BOOST_PP_IF(p(22, s), BOOST_PP_FOR_22, BOOST_PP_TUPLE_EAT_4)(o(22, s), p, o, m)
-# define BOOST_PP_FOR_22_I(s, p, o, m) BOOST_PP_IF(p(23, s), m, BOOST_PP_TUPLE_EAT_2)(23, s) BOOST_PP_IF(p(23, s), BOOST_PP_FOR_23, BOOST_PP_TUPLE_EAT_4)(o(23, s), p, o, m)
-# define BOOST_PP_FOR_23_I(s, p, o, m) BOOST_PP_IF(p(24, s), m, BOOST_PP_TUPLE_EAT_2)(24, s) BOOST_PP_IF(p(24, s), BOOST_PP_FOR_24, BOOST_PP_TUPLE_EAT_4)(o(24, s), p, o, m)
-# define BOOST_PP_FOR_24_I(s, p, o, m) BOOST_PP_IF(p(25, s), m, BOOST_PP_TUPLE_EAT_2)(25, s) BOOST_PP_IF(p(25, s), BOOST_PP_FOR_25, BOOST_PP_TUPLE_EAT_4)(o(25, s), p, o, m)
-# define BOOST_PP_FOR_25_I(s, p, o, m) BOOST_PP_IF(p(26, s), m, BOOST_PP_TUPLE_EAT_2)(26, s) BOOST_PP_IF(p(26, s), BOOST_PP_FOR_26, BOOST_PP_TUPLE_EAT_4)(o(26, s), p, o, m)
-# define BOOST_PP_FOR_26_I(s, p, o, m) BOOST_PP_IF(p(27, s), m, BOOST_PP_TUPLE_EAT_2)(27, s) BOOST_PP_IF(p(27, s), BOOST_PP_FOR_27, BOOST_PP_TUPLE_EAT_4)(o(27, s), p, o, m)
-# define BOOST_PP_FOR_27_I(s, p, o, m) BOOST_PP_IF(p(28, s), m, BOOST_PP_TUPLE_EAT_2)(28, s) BOOST_PP_IF(p(28, s), BOOST_PP_FOR_28, BOOST_PP_TUPLE_EAT_4)(o(28, s), p, o, m)
-# define BOOST_PP_FOR_28_I(s, p, o, m) BOOST_PP_IF(p(29, s), m, BOOST_PP_TUPLE_EAT_2)(29, s) BOOST_PP_IF(p(29, s), BOOST_PP_FOR_29, BOOST_PP_TUPLE_EAT_4)(o(29, s), p, o, m)
-# define BOOST_PP_FOR_29_I(s, p, o, m) BOOST_PP_IF(p(30, s), m, BOOST_PP_TUPLE_EAT_2)(30, s) BOOST_PP_IF(p(30, s), BOOST_PP_FOR_30, BOOST_PP_TUPLE_EAT_4)(o(30, s), p, o, m)
-# define BOOST_PP_FOR_30_I(s, p, o, m) BOOST_PP_IF(p(31, s), m, BOOST_PP_TUPLE_EAT_2)(31, s) BOOST_PP_IF(p(31, s), BOOST_PP_FOR_31, BOOST_PP_TUPLE_EAT_4)(o(31, s), p, o, m)
-# define BOOST_PP_FOR_31_I(s, p, o, m) BOOST_PP_IF(p(32, s), m, BOOST_PP_TUPLE_EAT_2)(32, s) BOOST_PP_IF(p(32, s), BOOST_PP_FOR_32, BOOST_PP_TUPLE_EAT_4)(o(32, s), p, o, m)
-# define BOOST_PP_FOR_32_I(s, p, o, m) BOOST_PP_IF(p(33, s), m, BOOST_PP_TUPLE_EAT_2)(33, s) BOOST_PP_IF(p(33, s), BOOST_PP_FOR_33, BOOST_PP_TUPLE_EAT_4)(o(33, s), p, o, m)
-# define BOOST_PP_FOR_33_I(s, p, o, m) BOOST_PP_IF(p(34, s), m, BOOST_PP_TUPLE_EAT_2)(34, s) BOOST_PP_IF(p(34, s), BOOST_PP_FOR_34, BOOST_PP_TUPLE_EAT_4)(o(34, s), p, o, m)
-# define BOOST_PP_FOR_34_I(s, p, o, m) BOOST_PP_IF(p(35, s), m, BOOST_PP_TUPLE_EAT_2)(35, s) BOOST_PP_IF(p(35, s), BOOST_PP_FOR_35, BOOST_PP_TUPLE_EAT_4)(o(35, s), p, o, m)
-# define BOOST_PP_FOR_35_I(s, p, o, m) BOOST_PP_IF(p(36, s), m, BOOST_PP_TUPLE_EAT_2)(36, s) BOOST_PP_IF(p(36, s), BOOST_PP_FOR_36, BOOST_PP_TUPLE_EAT_4)(o(36, s), p, o, m)
-# define BOOST_PP_FOR_36_I(s, p, o, m) BOOST_PP_IF(p(37, s), m, BOOST_PP_TUPLE_EAT_2)(37, s) BOOST_PP_IF(p(37, s), BOOST_PP_FOR_37, BOOST_PP_TUPLE_EAT_4)(o(37, s), p, o, m)
-# define BOOST_PP_FOR_37_I(s, p, o, m) BOOST_PP_IF(p(38, s), m, BOOST_PP_TUPLE_EAT_2)(38, s) BOOST_PP_IF(p(38, s), BOOST_PP_FOR_38, BOOST_PP_TUPLE_EAT_4)(o(38, s), p, o, m)
-# define BOOST_PP_FOR_38_I(s, p, o, m) BOOST_PP_IF(p(39, s), m, BOOST_PP_TUPLE_EAT_2)(39, s) BOOST_PP_IF(p(39, s), BOOST_PP_FOR_39, BOOST_PP_TUPLE_EAT_4)(o(39, s), p, o, m)
-# define BOOST_PP_FOR_39_I(s, p, o, m) BOOST_PP_IF(p(40, s), m, BOOST_PP_TUPLE_EAT_2)(40, s) BOOST_PP_IF(p(40, s), BOOST_PP_FOR_40, BOOST_PP_TUPLE_EAT_4)(o(40, s), p, o, m)
-# define BOOST_PP_FOR_40_I(s, p, o, m) BOOST_PP_IF(p(41, s), m, BOOST_PP_TUPLE_EAT_2)(41, s) BOOST_PP_IF(p(41, s), BOOST_PP_FOR_41, BOOST_PP_TUPLE_EAT_4)(o(41, s), p, o, m)
-# define BOOST_PP_FOR_41_I(s, p, o, m) BOOST_PP_IF(p(42, s), m, BOOST_PP_TUPLE_EAT_2)(42, s) BOOST_PP_IF(p(42, s), BOOST_PP_FOR_42, BOOST_PP_TUPLE_EAT_4)(o(42, s), p, o, m)
-# define BOOST_PP_FOR_42_I(s, p, o, m) BOOST_PP_IF(p(43, s), m, BOOST_PP_TUPLE_EAT_2)(43, s) BOOST_PP_IF(p(43, s), BOOST_PP_FOR_43, BOOST_PP_TUPLE_EAT_4)(o(43, s), p, o, m)
-# define BOOST_PP_FOR_43_I(s, p, o, m) BOOST_PP_IF(p(44, s), m, BOOST_PP_TUPLE_EAT_2)(44, s) BOOST_PP_IF(p(44, s), BOOST_PP_FOR_44, BOOST_PP_TUPLE_EAT_4)(o(44, s), p, o, m)
-# define BOOST_PP_FOR_44_I(s, p, o, m) BOOST_PP_IF(p(45, s), m, BOOST_PP_TUPLE_EAT_2)(45, s) BOOST_PP_IF(p(45, s), BOOST_PP_FOR_45, BOOST_PP_TUPLE_EAT_4)(o(45, s), p, o, m)
-# define BOOST_PP_FOR_45_I(s, p, o, m) BOOST_PP_IF(p(46, s), m, BOOST_PP_TUPLE_EAT_2)(46, s) BOOST_PP_IF(p(46, s), BOOST_PP_FOR_46, BOOST_PP_TUPLE_EAT_4)(o(46, s), p, o, m)
-# define BOOST_PP_FOR_46_I(s, p, o, m) BOOST_PP_IF(p(47, s), m, BOOST_PP_TUPLE_EAT_2)(47, s) BOOST_PP_IF(p(47, s), BOOST_PP_FOR_47, BOOST_PP_TUPLE_EAT_4)(o(47, s), p, o, m)
-# define BOOST_PP_FOR_47_I(s, p, o, m) BOOST_PP_IF(p(48, s), m, BOOST_PP_TUPLE_EAT_2)(48, s) BOOST_PP_IF(p(48, s), BOOST_PP_FOR_48, BOOST_PP_TUPLE_EAT_4)(o(48, s), p, o, m)
-# define BOOST_PP_FOR_48_I(s, p, o, m) BOOST_PP_IF(p(49, s), m, BOOST_PP_TUPLE_EAT_2)(49, s) BOOST_PP_IF(p(49, s), BOOST_PP_FOR_49, BOOST_PP_TUPLE_EAT_4)(o(49, s), p, o, m)
-# define BOOST_PP_FOR_49_I(s, p, o, m) BOOST_PP_IF(p(50, s), m, BOOST_PP_TUPLE_EAT_2)(50, s) BOOST_PP_IF(p(50, s), BOOST_PP_FOR_50, BOOST_PP_TUPLE_EAT_4)(o(50, s), p, o, m)
-# define BOOST_PP_FOR_50_I(s, p, o, m) BOOST_PP_IF(p(51, s), m, BOOST_PP_TUPLE_EAT_2)(51, s) BOOST_PP_IF(p(51, s), BOOST_PP_FOR_51, BOOST_PP_TUPLE_EAT_4)(o(51, s), p, o, m)
-# define BOOST_PP_FOR_51_I(s, p, o, m) BOOST_PP_IF(p(52, s), m, BOOST_PP_TUPLE_EAT_2)(52, s) BOOST_PP_IF(p(52, s), BOOST_PP_FOR_52, BOOST_PP_TUPLE_EAT_4)(o(52, s), p, o, m)
-# define BOOST_PP_FOR_52_I(s, p, o, m) BOOST_PP_IF(p(53, s), m, BOOST_PP_TUPLE_EAT_2)(53, s) BOOST_PP_IF(p(53, s), BOOST_PP_FOR_53, BOOST_PP_TUPLE_EAT_4)(o(53, s), p, o, m)
-# define BOOST_PP_FOR_53_I(s, p, o, m) BOOST_PP_IF(p(54, s), m, BOOST_PP_TUPLE_EAT_2)(54, s) BOOST_PP_IF(p(54, s), BOOST_PP_FOR_54, BOOST_PP_TUPLE_EAT_4)(o(54, s), p, o, m)
-# define BOOST_PP_FOR_54_I(s, p, o, m) BOOST_PP_IF(p(55, s), m, BOOST_PP_TUPLE_EAT_2)(55, s) BOOST_PP_IF(p(55, s), BOOST_PP_FOR_55, BOOST_PP_TUPLE_EAT_4)(o(55, s), p, o, m)
-# define BOOST_PP_FOR_55_I(s, p, o, m) BOOST_PP_IF(p(56, s), m, BOOST_PP_TUPLE_EAT_2)(56, s) BOOST_PP_IF(p(56, s), BOOST_PP_FOR_56, BOOST_PP_TUPLE_EAT_4)(o(56, s), p, o, m)
-# define BOOST_PP_FOR_56_I(s, p, o, m) BOOST_PP_IF(p(57, s), m, BOOST_PP_TUPLE_EAT_2)(57, s) BOOST_PP_IF(p(57, s), BOOST_PP_FOR_57, BOOST_PP_TUPLE_EAT_4)(o(57, s), p, o, m)
-# define BOOST_PP_FOR_57_I(s, p, o, m) BOOST_PP_IF(p(58, s), m, BOOST_PP_TUPLE_EAT_2)(58, s) BOOST_PP_IF(p(58, s), BOOST_PP_FOR_58, BOOST_PP_TUPLE_EAT_4)(o(58, s), p, o, m)
-# define BOOST_PP_FOR_58_I(s, p, o, m) BOOST_PP_IF(p(59, s), m, BOOST_PP_TUPLE_EAT_2)(59, s) BOOST_PP_IF(p(59, s), BOOST_PP_FOR_59, BOOST_PP_TUPLE_EAT_4)(o(59, s), p, o, m)
-# define BOOST_PP_FOR_59_I(s, p, o, m) BOOST_PP_IF(p(60, s), m, BOOST_PP_TUPLE_EAT_2)(60, s) BOOST_PP_IF(p(60, s), BOOST_PP_FOR_60, BOOST_PP_TUPLE_EAT_4)(o(60, s), p, o, m)
-# define BOOST_PP_FOR_60_I(s, p, o, m) BOOST_PP_IF(p(61, s), m, BOOST_PP_TUPLE_EAT_2)(61, s) BOOST_PP_IF(p(61, s), BOOST_PP_FOR_61, BOOST_PP_TUPLE_EAT_4)(o(61, s), p, o, m)
-# define BOOST_PP_FOR_61_I(s, p, o, m) BOOST_PP_IF(p(62, s), m, BOOST_PP_TUPLE_EAT_2)(62, s) BOOST_PP_IF(p(62, s), BOOST_PP_FOR_62, BOOST_PP_TUPLE_EAT_4)(o(62, s), p, o, m)
-# define BOOST_PP_FOR_62_I(s, p, o, m) BOOST_PP_IF(p(63, s), m, BOOST_PP_TUPLE_EAT_2)(63, s) BOOST_PP_IF(p(63, s), BOOST_PP_FOR_63, BOOST_PP_TUPLE_EAT_4)(o(63, s), p, o, m)
-# define BOOST_PP_FOR_63_I(s, p, o, m) BOOST_PP_IF(p(64, s), m, BOOST_PP_TUPLE_EAT_2)(64, s) BOOST_PP_IF(p(64, s), BOOST_PP_FOR_64, BOOST_PP_TUPLE_EAT_4)(o(64, s), p, o, m)
-# define BOOST_PP_FOR_64_I(s, p, o, m) BOOST_PP_IF(p(65, s), m, BOOST_PP_TUPLE_EAT_2)(65, s) BOOST_PP_IF(p(65, s), BOOST_PP_FOR_65, BOOST_PP_TUPLE_EAT_4)(o(65, s), p, o, m)
-# define BOOST_PP_FOR_65_I(s, p, o, m) BOOST_PP_IF(p(66, s), m, BOOST_PP_TUPLE_EAT_2)(66, s) BOOST_PP_IF(p(66, s), BOOST_PP_FOR_66, BOOST_PP_TUPLE_EAT_4)(o(66, s), p, o, m)
-# define BOOST_PP_FOR_66_I(s, p, o, m) BOOST_PP_IF(p(67, s), m, BOOST_PP_TUPLE_EAT_2)(67, s) BOOST_PP_IF(p(67, s), BOOST_PP_FOR_67, BOOST_PP_TUPLE_EAT_4)(o(67, s), p, o, m)
-# define BOOST_PP_FOR_67_I(s, p, o, m) BOOST_PP_IF(p(68, s), m, BOOST_PP_TUPLE_EAT_2)(68, s) BOOST_PP_IF(p(68, s), BOOST_PP_FOR_68, BOOST_PP_TUPLE_EAT_4)(o(68, s), p, o, m)
-# define BOOST_PP_FOR_68_I(s, p, o, m) BOOST_PP_IF(p(69, s), m, BOOST_PP_TUPLE_EAT_2)(69, s) BOOST_PP_IF(p(69, s), BOOST_PP_FOR_69, BOOST_PP_TUPLE_EAT_4)(o(69, s), p, o, m)
-# define BOOST_PP_FOR_69_I(s, p, o, m) BOOST_PP_IF(p(70, s), m, BOOST_PP_TUPLE_EAT_2)(70, s) BOOST_PP_IF(p(70, s), BOOST_PP_FOR_70, BOOST_PP_TUPLE_EAT_4)(o(70, s), p, o, m)
-# define BOOST_PP_FOR_70_I(s, p, o, m) BOOST_PP_IF(p(71, s), m, BOOST_PP_TUPLE_EAT_2)(71, s) BOOST_PP_IF(p(71, s), BOOST_PP_FOR_71, BOOST_PP_TUPLE_EAT_4)(o(71, s), p, o, m)
-# define BOOST_PP_FOR_71_I(s, p, o, m) BOOST_PP_IF(p(72, s), m, BOOST_PP_TUPLE_EAT_2)(72, s) BOOST_PP_IF(p(72, s), BOOST_PP_FOR_72, BOOST_PP_TUPLE_EAT_4)(o(72, s), p, o, m)
-# define BOOST_PP_FOR_72_I(s, p, o, m) BOOST_PP_IF(p(73, s), m, BOOST_PP_TUPLE_EAT_2)(73, s) BOOST_PP_IF(p(73, s), BOOST_PP_FOR_73, BOOST_PP_TUPLE_EAT_4)(o(73, s), p, o, m)
-# define BOOST_PP_FOR_73_I(s, p, o, m) BOOST_PP_IF(p(74, s), m, BOOST_PP_TUPLE_EAT_2)(74, s) BOOST_PP_IF(p(74, s), BOOST_PP_FOR_74, BOOST_PP_TUPLE_EAT_4)(o(74, s), p, o, m)
-# define BOOST_PP_FOR_74_I(s, p, o, m) BOOST_PP_IF(p(75, s), m, BOOST_PP_TUPLE_EAT_2)(75, s) BOOST_PP_IF(p(75, s), BOOST_PP_FOR_75, BOOST_PP_TUPLE_EAT_4)(o(75, s), p, o, m)
-# define BOOST_PP_FOR_75_I(s, p, o, m) BOOST_PP_IF(p(76, s), m, BOOST_PP_TUPLE_EAT_2)(76, s) BOOST_PP_IF(p(76, s), BOOST_PP_FOR_76, BOOST_PP_TUPLE_EAT_4)(o(76, s), p, o, m)
-# define BOOST_PP_FOR_76_I(s, p, o, m) BOOST_PP_IF(p(77, s), m, BOOST_PP_TUPLE_EAT_2)(77, s) BOOST_PP_IF(p(77, s), BOOST_PP_FOR_77, BOOST_PP_TUPLE_EAT_4)(o(77, s), p, o, m)
-# define BOOST_PP_FOR_77_I(s, p, o, m) BOOST_PP_IF(p(78, s), m, BOOST_PP_TUPLE_EAT_2)(78, s) BOOST_PP_IF(p(78, s), BOOST_PP_FOR_78, BOOST_PP_TUPLE_EAT_4)(o(78, s), p, o, m)
-# define BOOST_PP_FOR_78_I(s, p, o, m) BOOST_PP_IF(p(79, s), m, BOOST_PP_TUPLE_EAT_2)(79, s) BOOST_PP_IF(p(79, s), BOOST_PP_FOR_79, BOOST_PP_TUPLE_EAT_4)(o(79, s), p, o, m)
-# define BOOST_PP_FOR_79_I(s, p, o, m) BOOST_PP_IF(p(80, s), m, BOOST_PP_TUPLE_EAT_2)(80, s) BOOST_PP_IF(p(80, s), BOOST_PP_FOR_80, BOOST_PP_TUPLE_EAT_4)(o(80, s), p, o, m)
-# define BOOST_PP_FOR_80_I(s, p, o, m) BOOST_PP_IF(p(81, s), m, BOOST_PP_TUPLE_EAT_2)(81, s) BOOST_PP_IF(p(81, s), BOOST_PP_FOR_81, BOOST_PP_TUPLE_EAT_4)(o(81, s), p, o, m)
-# define BOOST_PP_FOR_81_I(s, p, o, m) BOOST_PP_IF(p(82, s), m, BOOST_PP_TUPLE_EAT_2)(82, s) BOOST_PP_IF(p(82, s), BOOST_PP_FOR_82, BOOST_PP_TUPLE_EAT_4)(o(82, s), p, o, m)
-# define BOOST_PP_FOR_82_I(s, p, o, m) BOOST_PP_IF(p(83, s), m, BOOST_PP_TUPLE_EAT_2)(83, s) BOOST_PP_IF(p(83, s), BOOST_PP_FOR_83, BOOST_PP_TUPLE_EAT_4)(o(83, s), p, o, m)
-# define BOOST_PP_FOR_83_I(s, p, o, m) BOOST_PP_IF(p(84, s), m, BOOST_PP_TUPLE_EAT_2)(84, s) BOOST_PP_IF(p(84, s), BOOST_PP_FOR_84, BOOST_PP_TUPLE_EAT_4)(o(84, s), p, o, m)
-# define BOOST_PP_FOR_84_I(s, p, o, m) BOOST_PP_IF(p(85, s), m, BOOST_PP_TUPLE_EAT_2)(85, s) BOOST_PP_IF(p(85, s), BOOST_PP_FOR_85, BOOST_PP_TUPLE_EAT_4)(o(85, s), p, o, m)
-# define BOOST_PP_FOR_85_I(s, p, o, m) BOOST_PP_IF(p(86, s), m, BOOST_PP_TUPLE_EAT_2)(86, s) BOOST_PP_IF(p(86, s), BOOST_PP_FOR_86, BOOST_PP_TUPLE_EAT_4)(o(86, s), p, o, m)
-# define BOOST_PP_FOR_86_I(s, p, o, m) BOOST_PP_IF(p(87, s), m, BOOST_PP_TUPLE_EAT_2)(87, s) BOOST_PP_IF(p(87, s), BOOST_PP_FOR_87, BOOST_PP_TUPLE_EAT_4)(o(87, s), p, o, m)
-# define BOOST_PP_FOR_87_I(s, p, o, m) BOOST_PP_IF(p(88, s), m, BOOST_PP_TUPLE_EAT_2)(88, s) BOOST_PP_IF(p(88, s), BOOST_PP_FOR_88, BOOST_PP_TUPLE_EAT_4)(o(88, s), p, o, m)
-# define BOOST_PP_FOR_88_I(s, p, o, m) BOOST_PP_IF(p(89, s), m, BOOST_PP_TUPLE_EAT_2)(89, s) BOOST_PP_IF(p(89, s), BOOST_PP_FOR_89, BOOST_PP_TUPLE_EAT_4)(o(89, s), p, o, m)
-# define BOOST_PP_FOR_89_I(s, p, o, m) BOOST_PP_IF(p(90, s), m, BOOST_PP_TUPLE_EAT_2)(90, s) BOOST_PP_IF(p(90, s), BOOST_PP_FOR_90, BOOST_PP_TUPLE_EAT_4)(o(90, s), p, o, m)
-# define BOOST_PP_FOR_90_I(s, p, o, m) BOOST_PP_IF(p(91, s), m, BOOST_PP_TUPLE_EAT_2)(91, s) BOOST_PP_IF(p(91, s), BOOST_PP_FOR_91, BOOST_PP_TUPLE_EAT_4)(o(91, s), p, o, m)
-# define BOOST_PP_FOR_91_I(s, p, o, m) BOOST_PP_IF(p(92, s), m, BOOST_PP_TUPLE_EAT_2)(92, s) BOOST_PP_IF(p(92, s), BOOST_PP_FOR_92, BOOST_PP_TUPLE_EAT_4)(o(92, s), p, o, m)
-# define BOOST_PP_FOR_92_I(s, p, o, m) BOOST_PP_IF(p(93, s), m, BOOST_PP_TUPLE_EAT_2)(93, s) BOOST_PP_IF(p(93, s), BOOST_PP_FOR_93, BOOST_PP_TUPLE_EAT_4)(o(93, s), p, o, m)
-# define BOOST_PP_FOR_93_I(s, p, o, m) BOOST_PP_IF(p(94, s), m, BOOST_PP_TUPLE_EAT_2)(94, s) BOOST_PP_IF(p(94, s), BOOST_PP_FOR_94, BOOST_PP_TUPLE_EAT_4)(o(94, s), p, o, m)
-# define BOOST_PP_FOR_94_I(s, p, o, m) BOOST_PP_IF(p(95, s), m, BOOST_PP_TUPLE_EAT_2)(95, s) BOOST_PP_IF(p(95, s), BOOST_PP_FOR_95, BOOST_PP_TUPLE_EAT_4)(o(95, s), p, o, m)
-# define BOOST_PP_FOR_95_I(s, p, o, m) BOOST_PP_IF(p(96, s), m, BOOST_PP_TUPLE_EAT_2)(96, s) BOOST_PP_IF(p(96, s), BOOST_PP_FOR_96, BOOST_PP_TUPLE_EAT_4)(o(96, s), p, o, m)
-# define BOOST_PP_FOR_96_I(s, p, o, m) BOOST_PP_IF(p(97, s), m, BOOST_PP_TUPLE_EAT_2)(97, s) BOOST_PP_IF(p(97, s), BOOST_PP_FOR_97, BOOST_PP_TUPLE_EAT_4)(o(97, s), p, o, m)
-# define BOOST_PP_FOR_97_I(s, p, o, m) BOOST_PP_IF(p(98, s), m, BOOST_PP_TUPLE_EAT_2)(98, s) BOOST_PP_IF(p(98, s), BOOST_PP_FOR_98, BOOST_PP_TUPLE_EAT_4)(o(98, s), p, o, m)
-# define BOOST_PP_FOR_98_I(s, p, o, m) BOOST_PP_IF(p(99, s), m, BOOST_PP_TUPLE_EAT_2)(99, s) BOOST_PP_IF(p(99, s), BOOST_PP_FOR_99, BOOST_PP_TUPLE_EAT_4)(o(99, s), p, o, m)
-# define BOOST_PP_FOR_99_I(s, p, o, m) BOOST_PP_IF(p(100, s), m, BOOST_PP_TUPLE_EAT_2)(100, s) BOOST_PP_IF(p(100, s), BOOST_PP_FOR_100, BOOST_PP_TUPLE_EAT_4)(o(100, s), p, o, m)
-# define BOOST_PP_FOR_100_I(s, p, o, m) BOOST_PP_IF(p(101, s), m, BOOST_PP_TUPLE_EAT_2)(101, s) BOOST_PP_IF(p(101, s), BOOST_PP_FOR_101, BOOST_PP_TUPLE_EAT_4)(o(101, s), p, o, m)
-# define BOOST_PP_FOR_101_I(s, p, o, m) BOOST_PP_IF(p(102, s), m, BOOST_PP_TUPLE_EAT_2)(102, s) BOOST_PP_IF(p(102, s), BOOST_PP_FOR_102, BOOST_PP_TUPLE_EAT_4)(o(102, s), p, o, m)
-# define BOOST_PP_FOR_102_I(s, p, o, m) BOOST_PP_IF(p(103, s), m, BOOST_PP_TUPLE_EAT_2)(103, s) BOOST_PP_IF(p(103, s), BOOST_PP_FOR_103, BOOST_PP_TUPLE_EAT_4)(o(103, s), p, o, m)
-# define BOOST_PP_FOR_103_I(s, p, o, m) BOOST_PP_IF(p(104, s), m, BOOST_PP_TUPLE_EAT_2)(104, s) BOOST_PP_IF(p(104, s), BOOST_PP_FOR_104, BOOST_PP_TUPLE_EAT_4)(o(104, s), p, o, m)
-# define BOOST_PP_FOR_104_I(s, p, o, m) BOOST_PP_IF(p(105, s), m, BOOST_PP_TUPLE_EAT_2)(105, s) BOOST_PP_IF(p(105, s), BOOST_PP_FOR_105, BOOST_PP_TUPLE_EAT_4)(o(105, s), p, o, m)
-# define BOOST_PP_FOR_105_I(s, p, o, m) BOOST_PP_IF(p(106, s), m, BOOST_PP_TUPLE_EAT_2)(106, s) BOOST_PP_IF(p(106, s), BOOST_PP_FOR_106, BOOST_PP_TUPLE_EAT_4)(o(106, s), p, o, m)
-# define BOOST_PP_FOR_106_I(s, p, o, m) BOOST_PP_IF(p(107, s), m, BOOST_PP_TUPLE_EAT_2)(107, s) BOOST_PP_IF(p(107, s), BOOST_PP_FOR_107, BOOST_PP_TUPLE_EAT_4)(o(107, s), p, o, m)
-# define BOOST_PP_FOR_107_I(s, p, o, m) BOOST_PP_IF(p(108, s), m, BOOST_PP_TUPLE_EAT_2)(108, s) BOOST_PP_IF(p(108, s), BOOST_PP_FOR_108, BOOST_PP_TUPLE_EAT_4)(o(108, s), p, o, m)
-# define BOOST_PP_FOR_108_I(s, p, o, m) BOOST_PP_IF(p(109, s), m, BOOST_PP_TUPLE_EAT_2)(109, s) BOOST_PP_IF(p(109, s), BOOST_PP_FOR_109, BOOST_PP_TUPLE_EAT_4)(o(109, s), p, o, m)
-# define BOOST_PP_FOR_109_I(s, p, o, m) BOOST_PP_IF(p(110, s), m, BOOST_PP_TUPLE_EAT_2)(110, s) BOOST_PP_IF(p(110, s), BOOST_PP_FOR_110, BOOST_PP_TUPLE_EAT_4)(o(110, s), p, o, m)
-# define BOOST_PP_FOR_110_I(s, p, o, m) BOOST_PP_IF(p(111, s), m, BOOST_PP_TUPLE_EAT_2)(111, s) BOOST_PP_IF(p(111, s), BOOST_PP_FOR_111, BOOST_PP_TUPLE_EAT_4)(o(111, s), p, o, m)
-# define BOOST_PP_FOR_111_I(s, p, o, m) BOOST_PP_IF(p(112, s), m, BOOST_PP_TUPLE_EAT_2)(112, s) BOOST_PP_IF(p(112, s), BOOST_PP_FOR_112, BOOST_PP_TUPLE_EAT_4)(o(112, s), p, o, m)
-# define BOOST_PP_FOR_112_I(s, p, o, m) BOOST_PP_IF(p(113, s), m, BOOST_PP_TUPLE_EAT_2)(113, s) BOOST_PP_IF(p(113, s), BOOST_PP_FOR_113, BOOST_PP_TUPLE_EAT_4)(o(113, s), p, o, m)
-# define BOOST_PP_FOR_113_I(s, p, o, m) BOOST_PP_IF(p(114, s), m, BOOST_PP_TUPLE_EAT_2)(114, s) BOOST_PP_IF(p(114, s), BOOST_PP_FOR_114, BOOST_PP_TUPLE_EAT_4)(o(114, s), p, o, m)
-# define BOOST_PP_FOR_114_I(s, p, o, m) BOOST_PP_IF(p(115, s), m, BOOST_PP_TUPLE_EAT_2)(115, s) BOOST_PP_IF(p(115, s), BOOST_PP_FOR_115, BOOST_PP_TUPLE_EAT_4)(o(115, s), p, o, m)
-# define BOOST_PP_FOR_115_I(s, p, o, m) BOOST_PP_IF(p(116, s), m, BOOST_PP_TUPLE_EAT_2)(116, s) BOOST_PP_IF(p(116, s), BOOST_PP_FOR_116, BOOST_PP_TUPLE_EAT_4)(o(116, s), p, o, m)
-# define BOOST_PP_FOR_116_I(s, p, o, m) BOOST_PP_IF(p(117, s), m, BOOST_PP_TUPLE_EAT_2)(117, s) BOOST_PP_IF(p(117, s), BOOST_PP_FOR_117, BOOST_PP_TUPLE_EAT_4)(o(117, s), p, o, m)
-# define BOOST_PP_FOR_117_I(s, p, o, m) BOOST_PP_IF(p(118, s), m, BOOST_PP_TUPLE_EAT_2)(118, s) BOOST_PP_IF(p(118, s), BOOST_PP_FOR_118, BOOST_PP_TUPLE_EAT_4)(o(118, s), p, o, m)
-# define BOOST_PP_FOR_118_I(s, p, o, m) BOOST_PP_IF(p(119, s), m, BOOST_PP_TUPLE_EAT_2)(119, s) BOOST_PP_IF(p(119, s), BOOST_PP_FOR_119, BOOST_PP_TUPLE_EAT_4)(o(119, s), p, o, m)
-# define BOOST_PP_FOR_119_I(s, p, o, m) BOOST_PP_IF(p(120, s), m, BOOST_PP_TUPLE_EAT_2)(120, s) BOOST_PP_IF(p(120, s), BOOST_PP_FOR_120, BOOST_PP_TUPLE_EAT_4)(o(120, s), p, o, m)
-# define BOOST_PP_FOR_120_I(s, p, o, m) BOOST_PP_IF(p(121, s), m, BOOST_PP_TUPLE_EAT_2)(121, s) BOOST_PP_IF(p(121, s), BOOST_PP_FOR_121, BOOST_PP_TUPLE_EAT_4)(o(121, s), p, o, m)
-# define BOOST_PP_FOR_121_I(s, p, o, m) BOOST_PP_IF(p(122, s), m, BOOST_PP_TUPLE_EAT_2)(122, s) BOOST_PP_IF(p(122, s), BOOST_PP_FOR_122, BOOST_PP_TUPLE_EAT_4)(o(122, s), p, o, m)
-# define BOOST_PP_FOR_122_I(s, p, o, m) BOOST_PP_IF(p(123, s), m, BOOST_PP_TUPLE_EAT_2)(123, s) BOOST_PP_IF(p(123, s), BOOST_PP_FOR_123, BOOST_PP_TUPLE_EAT_4)(o(123, s), p, o, m)
-# define BOOST_PP_FOR_123_I(s, p, o, m) BOOST_PP_IF(p(124, s), m, BOOST_PP_TUPLE_EAT_2)(124, s) BOOST_PP_IF(p(124, s), BOOST_PP_FOR_124, BOOST_PP_TUPLE_EAT_4)(o(124, s), p, o, m)
-# define BOOST_PP_FOR_124_I(s, p, o, m) BOOST_PP_IF(p(125, s), m, BOOST_PP_TUPLE_EAT_2)(125, s) BOOST_PP_IF(p(125, s), BOOST_PP_FOR_125, BOOST_PP_TUPLE_EAT_4)(o(125, s), p, o, m)
-# define BOOST_PP_FOR_125_I(s, p, o, m) BOOST_PP_IF(p(126, s), m, BOOST_PP_TUPLE_EAT_2)(126, s) BOOST_PP_IF(p(126, s), BOOST_PP_FOR_126, BOOST_PP_TUPLE_EAT_4)(o(126, s), p, o, m)
-# define BOOST_PP_FOR_126_I(s, p, o, m) BOOST_PP_IF(p(127, s), m, BOOST_PP_TUPLE_EAT_2)(127, s) BOOST_PP_IF(p(127, s), BOOST_PP_FOR_127, BOOST_PP_TUPLE_EAT_4)(o(127, s), p, o, m)
-# define BOOST_PP_FOR_127_I(s, p, o, m) BOOST_PP_IF(p(128, s), m, BOOST_PP_TUPLE_EAT_2)(128, s) BOOST_PP_IF(p(128, s), BOOST_PP_FOR_128, BOOST_PP_TUPLE_EAT_4)(o(128, s), p, o, m)
-# define BOOST_PP_FOR_128_I(s, p, o, m) BOOST_PP_IF(p(129, s), m, BOOST_PP_TUPLE_EAT_2)(129, s) BOOST_PP_IF(p(129, s), BOOST_PP_FOR_129, BOOST_PP_TUPLE_EAT_4)(o(129, s), p, o, m)
-# define BOOST_PP_FOR_129_I(s, p, o, m) BOOST_PP_IF(p(130, s), m, BOOST_PP_TUPLE_EAT_2)(130, s) BOOST_PP_IF(p(130, s), BOOST_PP_FOR_130, BOOST_PP_TUPLE_EAT_4)(o(130, s), p, o, m)
-# define BOOST_PP_FOR_130_I(s, p, o, m) BOOST_PP_IF(p(131, s), m, BOOST_PP_TUPLE_EAT_2)(131, s) BOOST_PP_IF(p(131, s), BOOST_PP_FOR_131, BOOST_PP_TUPLE_EAT_4)(o(131, s), p, o, m)
-# define BOOST_PP_FOR_131_I(s, p, o, m) BOOST_PP_IF(p(132, s), m, BOOST_PP_TUPLE_EAT_2)(132, s) BOOST_PP_IF(p(132, s), BOOST_PP_FOR_132, BOOST_PP_TUPLE_EAT_4)(o(132, s), p, o, m)
-# define BOOST_PP_FOR_132_I(s, p, o, m) BOOST_PP_IF(p(133, s), m, BOOST_PP_TUPLE_EAT_2)(133, s) BOOST_PP_IF(p(133, s), BOOST_PP_FOR_133, BOOST_PP_TUPLE_EAT_4)(o(133, s), p, o, m)
-# define BOOST_PP_FOR_133_I(s, p, o, m) BOOST_PP_IF(p(134, s), m, BOOST_PP_TUPLE_EAT_2)(134, s) BOOST_PP_IF(p(134, s), BOOST_PP_FOR_134, BOOST_PP_TUPLE_EAT_4)(o(134, s), p, o, m)
-# define BOOST_PP_FOR_134_I(s, p, o, m) BOOST_PP_IF(p(135, s), m, BOOST_PP_TUPLE_EAT_2)(135, s) BOOST_PP_IF(p(135, s), BOOST_PP_FOR_135, BOOST_PP_TUPLE_EAT_4)(o(135, s), p, o, m)
-# define BOOST_PP_FOR_135_I(s, p, o, m) BOOST_PP_IF(p(136, s), m, BOOST_PP_TUPLE_EAT_2)(136, s) BOOST_PP_IF(p(136, s), BOOST_PP_FOR_136, BOOST_PP_TUPLE_EAT_4)(o(136, s), p, o, m)
-# define BOOST_PP_FOR_136_I(s, p, o, m) BOOST_PP_IF(p(137, s), m, BOOST_PP_TUPLE_EAT_2)(137, s) BOOST_PP_IF(p(137, s), BOOST_PP_FOR_137, BOOST_PP_TUPLE_EAT_4)(o(137, s), p, o, m)
-# define BOOST_PP_FOR_137_I(s, p, o, m) BOOST_PP_IF(p(138, s), m, BOOST_PP_TUPLE_EAT_2)(138, s) BOOST_PP_IF(p(138, s), BOOST_PP_FOR_138, BOOST_PP_TUPLE_EAT_4)(o(138, s), p, o, m)
-# define BOOST_PP_FOR_138_I(s, p, o, m) BOOST_PP_IF(p(139, s), m, BOOST_PP_TUPLE_EAT_2)(139, s) BOOST_PP_IF(p(139, s), BOOST_PP_FOR_139, BOOST_PP_TUPLE_EAT_4)(o(139, s), p, o, m)
-# define BOOST_PP_FOR_139_I(s, p, o, m) BOOST_PP_IF(p(140, s), m, BOOST_PP_TUPLE_EAT_2)(140, s) BOOST_PP_IF(p(140, s), BOOST_PP_FOR_140, BOOST_PP_TUPLE_EAT_4)(o(140, s), p, o, m)
-# define BOOST_PP_FOR_140_I(s, p, o, m) BOOST_PP_IF(p(141, s), m, BOOST_PP_TUPLE_EAT_2)(141, s) BOOST_PP_IF(p(141, s), BOOST_PP_FOR_141, BOOST_PP_TUPLE_EAT_4)(o(141, s), p, o, m)
-# define BOOST_PP_FOR_141_I(s, p, o, m) BOOST_PP_IF(p(142, s), m, BOOST_PP_TUPLE_EAT_2)(142, s) BOOST_PP_IF(p(142, s), BOOST_PP_FOR_142, BOOST_PP_TUPLE_EAT_4)(o(142, s), p, o, m)
-# define BOOST_PP_FOR_142_I(s, p, o, m) BOOST_PP_IF(p(143, s), m, BOOST_PP_TUPLE_EAT_2)(143, s) BOOST_PP_IF(p(143, s), BOOST_PP_FOR_143, BOOST_PP_TUPLE_EAT_4)(o(143, s), p, o, m)
-# define BOOST_PP_FOR_143_I(s, p, o, m) BOOST_PP_IF(p(144, s), m, BOOST_PP_TUPLE_EAT_2)(144, s) BOOST_PP_IF(p(144, s), BOOST_PP_FOR_144, BOOST_PP_TUPLE_EAT_4)(o(144, s), p, o, m)
-# define BOOST_PP_FOR_144_I(s, p, o, m) BOOST_PP_IF(p(145, s), m, BOOST_PP_TUPLE_EAT_2)(145, s) BOOST_PP_IF(p(145, s), BOOST_PP_FOR_145, BOOST_PP_TUPLE_EAT_4)(o(145, s), p, o, m)
-# define BOOST_PP_FOR_145_I(s, p, o, m) BOOST_PP_IF(p(146, s), m, BOOST_PP_TUPLE_EAT_2)(146, s) BOOST_PP_IF(p(146, s), BOOST_PP_FOR_146, BOOST_PP_TUPLE_EAT_4)(o(146, s), p, o, m)
-# define BOOST_PP_FOR_146_I(s, p, o, m) BOOST_PP_IF(p(147, s), m, BOOST_PP_TUPLE_EAT_2)(147, s) BOOST_PP_IF(p(147, s), BOOST_PP_FOR_147, BOOST_PP_TUPLE_EAT_4)(o(147, s), p, o, m)
-# define BOOST_PP_FOR_147_I(s, p, o, m) BOOST_PP_IF(p(148, s), m, BOOST_PP_TUPLE_EAT_2)(148, s) BOOST_PP_IF(p(148, s), BOOST_PP_FOR_148, BOOST_PP_TUPLE_EAT_4)(o(148, s), p, o, m)
-# define BOOST_PP_FOR_148_I(s, p, o, m) BOOST_PP_IF(p(149, s), m, BOOST_PP_TUPLE_EAT_2)(149, s) BOOST_PP_IF(p(149, s), BOOST_PP_FOR_149, BOOST_PP_TUPLE_EAT_4)(o(149, s), p, o, m)
-# define BOOST_PP_FOR_149_I(s, p, o, m) BOOST_PP_IF(p(150, s), m, BOOST_PP_TUPLE_EAT_2)(150, s) BOOST_PP_IF(p(150, s), BOOST_PP_FOR_150, BOOST_PP_TUPLE_EAT_4)(o(150, s), p, o, m)
-# define BOOST_PP_FOR_150_I(s, p, o, m) BOOST_PP_IF(p(151, s), m, BOOST_PP_TUPLE_EAT_2)(151, s) BOOST_PP_IF(p(151, s), BOOST_PP_FOR_151, BOOST_PP_TUPLE_EAT_4)(o(151, s), p, o, m)
-# define BOOST_PP_FOR_151_I(s, p, o, m) BOOST_PP_IF(p(152, s), m, BOOST_PP_TUPLE_EAT_2)(152, s) BOOST_PP_IF(p(152, s), BOOST_PP_FOR_152, BOOST_PP_TUPLE_EAT_4)(o(152, s), p, o, m)
-# define BOOST_PP_FOR_152_I(s, p, o, m) BOOST_PP_IF(p(153, s), m, BOOST_PP_TUPLE_EAT_2)(153, s) BOOST_PP_IF(p(153, s), BOOST_PP_FOR_153, BOOST_PP_TUPLE_EAT_4)(o(153, s), p, o, m)
-# define BOOST_PP_FOR_153_I(s, p, o, m) BOOST_PP_IF(p(154, s), m, BOOST_PP_TUPLE_EAT_2)(154, s) BOOST_PP_IF(p(154, s), BOOST_PP_FOR_154, BOOST_PP_TUPLE_EAT_4)(o(154, s), p, o, m)
-# define BOOST_PP_FOR_154_I(s, p, o, m) BOOST_PP_IF(p(155, s), m, BOOST_PP_TUPLE_EAT_2)(155, s) BOOST_PP_IF(p(155, s), BOOST_PP_FOR_155, BOOST_PP_TUPLE_EAT_4)(o(155, s), p, o, m)
-# define BOOST_PP_FOR_155_I(s, p, o, m) BOOST_PP_IF(p(156, s), m, BOOST_PP_TUPLE_EAT_2)(156, s) BOOST_PP_IF(p(156, s), BOOST_PP_FOR_156, BOOST_PP_TUPLE_EAT_4)(o(156, s), p, o, m)
-# define BOOST_PP_FOR_156_I(s, p, o, m) BOOST_PP_IF(p(157, s), m, BOOST_PP_TUPLE_EAT_2)(157, s) BOOST_PP_IF(p(157, s), BOOST_PP_FOR_157, BOOST_PP_TUPLE_EAT_4)(o(157, s), p, o, m)
-# define BOOST_PP_FOR_157_I(s, p, o, m) BOOST_PP_IF(p(158, s), m, BOOST_PP_TUPLE_EAT_2)(158, s) BOOST_PP_IF(p(158, s), BOOST_PP_FOR_158, BOOST_PP_TUPLE_EAT_4)(o(158, s), p, o, m)
-# define BOOST_PP_FOR_158_I(s, p, o, m) BOOST_PP_IF(p(159, s), m, BOOST_PP_TUPLE_EAT_2)(159, s) BOOST_PP_IF(p(159, s), BOOST_PP_FOR_159, BOOST_PP_TUPLE_EAT_4)(o(159, s), p, o, m)
-# define BOOST_PP_FOR_159_I(s, p, o, m) BOOST_PP_IF(p(160, s), m, BOOST_PP_TUPLE_EAT_2)(160, s) BOOST_PP_IF(p(160, s), BOOST_PP_FOR_160, BOOST_PP_TUPLE_EAT_4)(o(160, s), p, o, m)
-# define BOOST_PP_FOR_160_I(s, p, o, m) BOOST_PP_IF(p(161, s), m, BOOST_PP_TUPLE_EAT_2)(161, s) BOOST_PP_IF(p(161, s), BOOST_PP_FOR_161, BOOST_PP_TUPLE_EAT_4)(o(161, s), p, o, m)
-# define BOOST_PP_FOR_161_I(s, p, o, m) BOOST_PP_IF(p(162, s), m, BOOST_PP_TUPLE_EAT_2)(162, s) BOOST_PP_IF(p(162, s), BOOST_PP_FOR_162, BOOST_PP_TUPLE_EAT_4)(o(162, s), p, o, m)
-# define BOOST_PP_FOR_162_I(s, p, o, m) BOOST_PP_IF(p(163, s), m, BOOST_PP_TUPLE_EAT_2)(163, s) BOOST_PP_IF(p(163, s), BOOST_PP_FOR_163, BOOST_PP_TUPLE_EAT_4)(o(163, s), p, o, m)
-# define BOOST_PP_FOR_163_I(s, p, o, m) BOOST_PP_IF(p(164, s), m, BOOST_PP_TUPLE_EAT_2)(164, s) BOOST_PP_IF(p(164, s), BOOST_PP_FOR_164, BOOST_PP_TUPLE_EAT_4)(o(164, s), p, o, m)
-# define BOOST_PP_FOR_164_I(s, p, o, m) BOOST_PP_IF(p(165, s), m, BOOST_PP_TUPLE_EAT_2)(165, s) BOOST_PP_IF(p(165, s), BOOST_PP_FOR_165, BOOST_PP_TUPLE_EAT_4)(o(165, s), p, o, m)
-# define BOOST_PP_FOR_165_I(s, p, o, m) BOOST_PP_IF(p(166, s), m, BOOST_PP_TUPLE_EAT_2)(166, s) BOOST_PP_IF(p(166, s), BOOST_PP_FOR_166, BOOST_PP_TUPLE_EAT_4)(o(166, s), p, o, m)
-# define BOOST_PP_FOR_166_I(s, p, o, m) BOOST_PP_IF(p(167, s), m, BOOST_PP_TUPLE_EAT_2)(167, s) BOOST_PP_IF(p(167, s), BOOST_PP_FOR_167, BOOST_PP_TUPLE_EAT_4)(o(167, s), p, o, m)
-# define BOOST_PP_FOR_167_I(s, p, o, m) BOOST_PP_IF(p(168, s), m, BOOST_PP_TUPLE_EAT_2)(168, s) BOOST_PP_IF(p(168, s), BOOST_PP_FOR_168, BOOST_PP_TUPLE_EAT_4)(o(168, s), p, o, m)
-# define BOOST_PP_FOR_168_I(s, p, o, m) BOOST_PP_IF(p(169, s), m, BOOST_PP_TUPLE_EAT_2)(169, s) BOOST_PP_IF(p(169, s), BOOST_PP_FOR_169, BOOST_PP_TUPLE_EAT_4)(o(169, s), p, o, m)
-# define BOOST_PP_FOR_169_I(s, p, o, m) BOOST_PP_IF(p(170, s), m, BOOST_PP_TUPLE_EAT_2)(170, s) BOOST_PP_IF(p(170, s), BOOST_PP_FOR_170, BOOST_PP_TUPLE_EAT_4)(o(170, s), p, o, m)
-# define BOOST_PP_FOR_170_I(s, p, o, m) BOOST_PP_IF(p(171, s), m, BOOST_PP_TUPLE_EAT_2)(171, s) BOOST_PP_IF(p(171, s), BOOST_PP_FOR_171, BOOST_PP_TUPLE_EAT_4)(o(171, s), p, o, m)
-# define BOOST_PP_FOR_171_I(s, p, o, m) BOOST_PP_IF(p(172, s), m, BOOST_PP_TUPLE_EAT_2)(172, s) BOOST_PP_IF(p(172, s), BOOST_PP_FOR_172, BOOST_PP_TUPLE_EAT_4)(o(172, s), p, o, m)
-# define BOOST_PP_FOR_172_I(s, p, o, m) BOOST_PP_IF(p(173, s), m, BOOST_PP_TUPLE_EAT_2)(173, s) BOOST_PP_IF(p(173, s), BOOST_PP_FOR_173, BOOST_PP_TUPLE_EAT_4)(o(173, s), p, o, m)
-# define BOOST_PP_FOR_173_I(s, p, o, m) BOOST_PP_IF(p(174, s), m, BOOST_PP_TUPLE_EAT_2)(174, s) BOOST_PP_IF(p(174, s), BOOST_PP_FOR_174, BOOST_PP_TUPLE_EAT_4)(o(174, s), p, o, m)
-# define BOOST_PP_FOR_174_I(s, p, o, m) BOOST_PP_IF(p(175, s), m, BOOST_PP_TUPLE_EAT_2)(175, s) BOOST_PP_IF(p(175, s), BOOST_PP_FOR_175, BOOST_PP_TUPLE_EAT_4)(o(175, s), p, o, m)
-# define BOOST_PP_FOR_175_I(s, p, o, m) BOOST_PP_IF(p(176, s), m, BOOST_PP_TUPLE_EAT_2)(176, s) BOOST_PP_IF(p(176, s), BOOST_PP_FOR_176, BOOST_PP_TUPLE_EAT_4)(o(176, s), p, o, m)
-# define BOOST_PP_FOR_176_I(s, p, o, m) BOOST_PP_IF(p(177, s), m, BOOST_PP_TUPLE_EAT_2)(177, s) BOOST_PP_IF(p(177, s), BOOST_PP_FOR_177, BOOST_PP_TUPLE_EAT_4)(o(177, s), p, o, m)
-# define BOOST_PP_FOR_177_I(s, p, o, m) BOOST_PP_IF(p(178, s), m, BOOST_PP_TUPLE_EAT_2)(178, s) BOOST_PP_IF(p(178, s), BOOST_PP_FOR_178, BOOST_PP_TUPLE_EAT_4)(o(178, s), p, o, m)
-# define BOOST_PP_FOR_178_I(s, p, o, m) BOOST_PP_IF(p(179, s), m, BOOST_PP_TUPLE_EAT_2)(179, s) BOOST_PP_IF(p(179, s), BOOST_PP_FOR_179, BOOST_PP_TUPLE_EAT_4)(o(179, s), p, o, m)
-# define BOOST_PP_FOR_179_I(s, p, o, m) BOOST_PP_IF(p(180, s), m, BOOST_PP_TUPLE_EAT_2)(180, s) BOOST_PP_IF(p(180, s), BOOST_PP_FOR_180, BOOST_PP_TUPLE_EAT_4)(o(180, s), p, o, m)
-# define BOOST_PP_FOR_180_I(s, p, o, m) BOOST_PP_IF(p(181, s), m, BOOST_PP_TUPLE_EAT_2)(181, s) BOOST_PP_IF(p(181, s), BOOST_PP_FOR_181, BOOST_PP_TUPLE_EAT_4)(o(181, s), p, o, m)
-# define BOOST_PP_FOR_181_I(s, p, o, m) BOOST_PP_IF(p(182, s), m, BOOST_PP_TUPLE_EAT_2)(182, s) BOOST_PP_IF(p(182, s), BOOST_PP_FOR_182, BOOST_PP_TUPLE_EAT_4)(o(182, s), p, o, m)
-# define BOOST_PP_FOR_182_I(s, p, o, m) BOOST_PP_IF(p(183, s), m, BOOST_PP_TUPLE_EAT_2)(183, s) BOOST_PP_IF(p(183, s), BOOST_PP_FOR_183, BOOST_PP_TUPLE_EAT_4)(o(183, s), p, o, m)
-# define BOOST_PP_FOR_183_I(s, p, o, m) BOOST_PP_IF(p(184, s), m, BOOST_PP_TUPLE_EAT_2)(184, s) BOOST_PP_IF(p(184, s), BOOST_PP_FOR_184, BOOST_PP_TUPLE_EAT_4)(o(184, s), p, o, m)
-# define BOOST_PP_FOR_184_I(s, p, o, m) BOOST_PP_IF(p(185, s), m, BOOST_PP_TUPLE_EAT_2)(185, s) BOOST_PP_IF(p(185, s), BOOST_PP_FOR_185, BOOST_PP_TUPLE_EAT_4)(o(185, s), p, o, m)
-# define BOOST_PP_FOR_185_I(s, p, o, m) BOOST_PP_IF(p(186, s), m, BOOST_PP_TUPLE_EAT_2)(186, s) BOOST_PP_IF(p(186, s), BOOST_PP_FOR_186, BOOST_PP_TUPLE_EAT_4)(o(186, s), p, o, m)
-# define BOOST_PP_FOR_186_I(s, p, o, m) BOOST_PP_IF(p(187, s), m, BOOST_PP_TUPLE_EAT_2)(187, s) BOOST_PP_IF(p(187, s), BOOST_PP_FOR_187, BOOST_PP_TUPLE_EAT_4)(o(187, s), p, o, m)
-# define BOOST_PP_FOR_187_I(s, p, o, m) BOOST_PP_IF(p(188, s), m, BOOST_PP_TUPLE_EAT_2)(188, s) BOOST_PP_IF(p(188, s), BOOST_PP_FOR_188, BOOST_PP_TUPLE_EAT_4)(o(188, s), p, o, m)
-# define BOOST_PP_FOR_188_I(s, p, o, m) BOOST_PP_IF(p(189, s), m, BOOST_PP_TUPLE_EAT_2)(189, s) BOOST_PP_IF(p(189, s), BOOST_PP_FOR_189, BOOST_PP_TUPLE_EAT_4)(o(189, s), p, o, m)
-# define BOOST_PP_FOR_189_I(s, p, o, m) BOOST_PP_IF(p(190, s), m, BOOST_PP_TUPLE_EAT_2)(190, s) BOOST_PP_IF(p(190, s), BOOST_PP_FOR_190, BOOST_PP_TUPLE_EAT_4)(o(190, s), p, o, m)
-# define BOOST_PP_FOR_190_I(s, p, o, m) BOOST_PP_IF(p(191, s), m, BOOST_PP_TUPLE_EAT_2)(191, s) BOOST_PP_IF(p(191, s), BOOST_PP_FOR_191, BOOST_PP_TUPLE_EAT_4)(o(191, s), p, o, m)
-# define BOOST_PP_FOR_191_I(s, p, o, m) BOOST_PP_IF(p(192, s), m, BOOST_PP_TUPLE_EAT_2)(192, s) BOOST_PP_IF(p(192, s), BOOST_PP_FOR_192, BOOST_PP_TUPLE_EAT_4)(o(192, s), p, o, m)
-# define BOOST_PP_FOR_192_I(s, p, o, m) BOOST_PP_IF(p(193, s), m, BOOST_PP_TUPLE_EAT_2)(193, s) BOOST_PP_IF(p(193, s), BOOST_PP_FOR_193, BOOST_PP_TUPLE_EAT_4)(o(193, s), p, o, m)
-# define BOOST_PP_FOR_193_I(s, p, o, m) BOOST_PP_IF(p(194, s), m, BOOST_PP_TUPLE_EAT_2)(194, s) BOOST_PP_IF(p(194, s), BOOST_PP_FOR_194, BOOST_PP_TUPLE_EAT_4)(o(194, s), p, o, m)
-# define BOOST_PP_FOR_194_I(s, p, o, m) BOOST_PP_IF(p(195, s), m, BOOST_PP_TUPLE_EAT_2)(195, s) BOOST_PP_IF(p(195, s), BOOST_PP_FOR_195, BOOST_PP_TUPLE_EAT_4)(o(195, s), p, o, m)
-# define BOOST_PP_FOR_195_I(s, p, o, m) BOOST_PP_IF(p(196, s), m, BOOST_PP_TUPLE_EAT_2)(196, s) BOOST_PP_IF(p(196, s), BOOST_PP_FOR_196, BOOST_PP_TUPLE_EAT_4)(o(196, s), p, o, m)
-# define BOOST_PP_FOR_196_I(s, p, o, m) BOOST_PP_IF(p(197, s), m, BOOST_PP_TUPLE_EAT_2)(197, s) BOOST_PP_IF(p(197, s), BOOST_PP_FOR_197, BOOST_PP_TUPLE_EAT_4)(o(197, s), p, o, m)
-# define BOOST_PP_FOR_197_I(s, p, o, m) BOOST_PP_IF(p(198, s), m, BOOST_PP_TUPLE_EAT_2)(198, s) BOOST_PP_IF(p(198, s), BOOST_PP_FOR_198, BOOST_PP_TUPLE_EAT_4)(o(198, s), p, o, m)
-# define BOOST_PP_FOR_198_I(s, p, o, m) BOOST_PP_IF(p(199, s), m, BOOST_PP_TUPLE_EAT_2)(199, s) BOOST_PP_IF(p(199, s), BOOST_PP_FOR_199, BOOST_PP_TUPLE_EAT_4)(o(199, s), p, o, m)
-# define BOOST_PP_FOR_199_I(s, p, o, m) BOOST_PP_IF(p(200, s), m, BOOST_PP_TUPLE_EAT_2)(200, s) BOOST_PP_IF(p(200, s), BOOST_PP_FOR_200, BOOST_PP_TUPLE_EAT_4)(o(200, s), p, o, m)
-# define BOOST_PP_FOR_200_I(s, p, o, m) BOOST_PP_IF(p(201, s), m, BOOST_PP_TUPLE_EAT_2)(201, s) BOOST_PP_IF(p(201, s), BOOST_PP_FOR_201, BOOST_PP_TUPLE_EAT_4)(o(201, s), p, o, m)
-# define BOOST_PP_FOR_201_I(s, p, o, m) BOOST_PP_IF(p(202, s), m, BOOST_PP_TUPLE_EAT_2)(202, s) BOOST_PP_IF(p(202, s), BOOST_PP_FOR_202, BOOST_PP_TUPLE_EAT_4)(o(202, s), p, o, m)
-# define BOOST_PP_FOR_202_I(s, p, o, m) BOOST_PP_IF(p(203, s), m, BOOST_PP_TUPLE_EAT_2)(203, s) BOOST_PP_IF(p(203, s), BOOST_PP_FOR_203, BOOST_PP_TUPLE_EAT_4)(o(203, s), p, o, m)
-# define BOOST_PP_FOR_203_I(s, p, o, m) BOOST_PP_IF(p(204, s), m, BOOST_PP_TUPLE_EAT_2)(204, s) BOOST_PP_IF(p(204, s), BOOST_PP_FOR_204, BOOST_PP_TUPLE_EAT_4)(o(204, s), p, o, m)
-# define BOOST_PP_FOR_204_I(s, p, o, m) BOOST_PP_IF(p(205, s), m, BOOST_PP_TUPLE_EAT_2)(205, s) BOOST_PP_IF(p(205, s), BOOST_PP_FOR_205, BOOST_PP_TUPLE_EAT_4)(o(205, s), p, o, m)
-# define BOOST_PP_FOR_205_I(s, p, o, m) BOOST_PP_IF(p(206, s), m, BOOST_PP_TUPLE_EAT_2)(206, s) BOOST_PP_IF(p(206, s), BOOST_PP_FOR_206, BOOST_PP_TUPLE_EAT_4)(o(206, s), p, o, m)
-# define BOOST_PP_FOR_206_I(s, p, o, m) BOOST_PP_IF(p(207, s), m, BOOST_PP_TUPLE_EAT_2)(207, s) BOOST_PP_IF(p(207, s), BOOST_PP_FOR_207, BOOST_PP_TUPLE_EAT_4)(o(207, s), p, o, m)
-# define BOOST_PP_FOR_207_I(s, p, o, m) BOOST_PP_IF(p(208, s), m, BOOST_PP_TUPLE_EAT_2)(208, s) BOOST_PP_IF(p(208, s), BOOST_PP_FOR_208, BOOST_PP_TUPLE_EAT_4)(o(208, s), p, o, m)
-# define BOOST_PP_FOR_208_I(s, p, o, m) BOOST_PP_IF(p(209, s), m, BOOST_PP_TUPLE_EAT_2)(209, s) BOOST_PP_IF(p(209, s), BOOST_PP_FOR_209, BOOST_PP_TUPLE_EAT_4)(o(209, s), p, o, m)
-# define BOOST_PP_FOR_209_I(s, p, o, m) BOOST_PP_IF(p(210, s), m, BOOST_PP_TUPLE_EAT_2)(210, s) BOOST_PP_IF(p(210, s), BOOST_PP_FOR_210, BOOST_PP_TUPLE_EAT_4)(o(210, s), p, o, m)
-# define BOOST_PP_FOR_210_I(s, p, o, m) BOOST_PP_IF(p(211, s), m, BOOST_PP_TUPLE_EAT_2)(211, s) BOOST_PP_IF(p(211, s), BOOST_PP_FOR_211, BOOST_PP_TUPLE_EAT_4)(o(211, s), p, o, m)
-# define BOOST_PP_FOR_211_I(s, p, o, m) BOOST_PP_IF(p(212, s), m, BOOST_PP_TUPLE_EAT_2)(212, s) BOOST_PP_IF(p(212, s), BOOST_PP_FOR_212, BOOST_PP_TUPLE_EAT_4)(o(212, s), p, o, m)
-# define BOOST_PP_FOR_212_I(s, p, o, m) BOOST_PP_IF(p(213, s), m, BOOST_PP_TUPLE_EAT_2)(213, s) BOOST_PP_IF(p(213, s), BOOST_PP_FOR_213, BOOST_PP_TUPLE_EAT_4)(o(213, s), p, o, m)
-# define BOOST_PP_FOR_213_I(s, p, o, m) BOOST_PP_IF(p(214, s), m, BOOST_PP_TUPLE_EAT_2)(214, s) BOOST_PP_IF(p(214, s), BOOST_PP_FOR_214, BOOST_PP_TUPLE_EAT_4)(o(214, s), p, o, m)
-# define BOOST_PP_FOR_214_I(s, p, o, m) BOOST_PP_IF(p(215, s), m, BOOST_PP_TUPLE_EAT_2)(215, s) BOOST_PP_IF(p(215, s), BOOST_PP_FOR_215, BOOST_PP_TUPLE_EAT_4)(o(215, s), p, o, m)
-# define BOOST_PP_FOR_215_I(s, p, o, m) BOOST_PP_IF(p(216, s), m, BOOST_PP_TUPLE_EAT_2)(216, s) BOOST_PP_IF(p(216, s), BOOST_PP_FOR_216, BOOST_PP_TUPLE_EAT_4)(o(216, s), p, o, m)
-# define BOOST_PP_FOR_216_I(s, p, o, m) BOOST_PP_IF(p(217, s), m, BOOST_PP_TUPLE_EAT_2)(217, s) BOOST_PP_IF(p(217, s), BOOST_PP_FOR_217, BOOST_PP_TUPLE_EAT_4)(o(217, s), p, o, m)
-# define BOOST_PP_FOR_217_I(s, p, o, m) BOOST_PP_IF(p(218, s), m, BOOST_PP_TUPLE_EAT_2)(218, s) BOOST_PP_IF(p(218, s), BOOST_PP_FOR_218, BOOST_PP_TUPLE_EAT_4)(o(218, s), p, o, m)
-# define BOOST_PP_FOR_218_I(s, p, o, m) BOOST_PP_IF(p(219, s), m, BOOST_PP_TUPLE_EAT_2)(219, s) BOOST_PP_IF(p(219, s), BOOST_PP_FOR_219, BOOST_PP_TUPLE_EAT_4)(o(219, s), p, o, m)
-# define BOOST_PP_FOR_219_I(s, p, o, m) BOOST_PP_IF(p(220, s), m, BOOST_PP_TUPLE_EAT_2)(220, s) BOOST_PP_IF(p(220, s), BOOST_PP_FOR_220, BOOST_PP_TUPLE_EAT_4)(o(220, s), p, o, m)
-# define BOOST_PP_FOR_220_I(s, p, o, m) BOOST_PP_IF(p(221, s), m, BOOST_PP_TUPLE_EAT_2)(221, s) BOOST_PP_IF(p(221, s), BOOST_PP_FOR_221, BOOST_PP_TUPLE_EAT_4)(o(221, s), p, o, m)
-# define BOOST_PP_FOR_221_I(s, p, o, m) BOOST_PP_IF(p(222, s), m, BOOST_PP_TUPLE_EAT_2)(222, s) BOOST_PP_IF(p(222, s), BOOST_PP_FOR_222, BOOST_PP_TUPLE_EAT_4)(o(222, s), p, o, m)
-# define BOOST_PP_FOR_222_I(s, p, o, m) BOOST_PP_IF(p(223, s), m, BOOST_PP_TUPLE_EAT_2)(223, s) BOOST_PP_IF(p(223, s), BOOST_PP_FOR_223, BOOST_PP_TUPLE_EAT_4)(o(223, s), p, o, m)
-# define BOOST_PP_FOR_223_I(s, p, o, m) BOOST_PP_IF(p(224, s), m, BOOST_PP_TUPLE_EAT_2)(224, s) BOOST_PP_IF(p(224, s), BOOST_PP_FOR_224, BOOST_PP_TUPLE_EAT_4)(o(224, s), p, o, m)
-# define BOOST_PP_FOR_224_I(s, p, o, m) BOOST_PP_IF(p(225, s), m, BOOST_PP_TUPLE_EAT_2)(225, s) BOOST_PP_IF(p(225, s), BOOST_PP_FOR_225, BOOST_PP_TUPLE_EAT_4)(o(225, s), p, o, m)
-# define BOOST_PP_FOR_225_I(s, p, o, m) BOOST_PP_IF(p(226, s), m, BOOST_PP_TUPLE_EAT_2)(226, s) BOOST_PP_IF(p(226, s), BOOST_PP_FOR_226, BOOST_PP_TUPLE_EAT_4)(o(226, s), p, o, m)
-# define BOOST_PP_FOR_226_I(s, p, o, m) BOOST_PP_IF(p(227, s), m, BOOST_PP_TUPLE_EAT_2)(227, s) BOOST_PP_IF(p(227, s), BOOST_PP_FOR_227, BOOST_PP_TUPLE_EAT_4)(o(227, s), p, o, m)
-# define BOOST_PP_FOR_227_I(s, p, o, m) BOOST_PP_IF(p(228, s), m, BOOST_PP_TUPLE_EAT_2)(228, s) BOOST_PP_IF(p(228, s), BOOST_PP_FOR_228, BOOST_PP_TUPLE_EAT_4)(o(228, s), p, o, m)
-# define BOOST_PP_FOR_228_I(s, p, o, m) BOOST_PP_IF(p(229, s), m, BOOST_PP_TUPLE_EAT_2)(229, s) BOOST_PP_IF(p(229, s), BOOST_PP_FOR_229, BOOST_PP_TUPLE_EAT_4)(o(229, s), p, o, m)
-# define BOOST_PP_FOR_229_I(s, p, o, m) BOOST_PP_IF(p(230, s), m, BOOST_PP_TUPLE_EAT_2)(230, s) BOOST_PP_IF(p(230, s), BOOST_PP_FOR_230, BOOST_PP_TUPLE_EAT_4)(o(230, s), p, o, m)
-# define BOOST_PP_FOR_230_I(s, p, o, m) BOOST_PP_IF(p(231, s), m, BOOST_PP_TUPLE_EAT_2)(231, s) BOOST_PP_IF(p(231, s), BOOST_PP_FOR_231, BOOST_PP_TUPLE_EAT_4)(o(231, s), p, o, m)
-# define BOOST_PP_FOR_231_I(s, p, o, m) BOOST_PP_IF(p(232, s), m, BOOST_PP_TUPLE_EAT_2)(232, s) BOOST_PP_IF(p(232, s), BOOST_PP_FOR_232, BOOST_PP_TUPLE_EAT_4)(o(232, s), p, o, m)
-# define BOOST_PP_FOR_232_I(s, p, o, m) BOOST_PP_IF(p(233, s), m, BOOST_PP_TUPLE_EAT_2)(233, s) BOOST_PP_IF(p(233, s), BOOST_PP_FOR_233, BOOST_PP_TUPLE_EAT_4)(o(233, s), p, o, m)
-# define BOOST_PP_FOR_233_I(s, p, o, m) BOOST_PP_IF(p(234, s), m, BOOST_PP_TUPLE_EAT_2)(234, s) BOOST_PP_IF(p(234, s), BOOST_PP_FOR_234, BOOST_PP_TUPLE_EAT_4)(o(234, s), p, o, m)
-# define BOOST_PP_FOR_234_I(s, p, o, m) BOOST_PP_IF(p(235, s), m, BOOST_PP_TUPLE_EAT_2)(235, s) BOOST_PP_IF(p(235, s), BOOST_PP_FOR_235, BOOST_PP_TUPLE_EAT_4)(o(235, s), p, o, m)
-# define BOOST_PP_FOR_235_I(s, p, o, m) BOOST_PP_IF(p(236, s), m, BOOST_PP_TUPLE_EAT_2)(236, s) BOOST_PP_IF(p(236, s), BOOST_PP_FOR_236, BOOST_PP_TUPLE_EAT_4)(o(236, s), p, o, m)
-# define BOOST_PP_FOR_236_I(s, p, o, m) BOOST_PP_IF(p(237, s), m, BOOST_PP_TUPLE_EAT_2)(237, s) BOOST_PP_IF(p(237, s), BOOST_PP_FOR_237, BOOST_PP_TUPLE_EAT_4)(o(237, s), p, o, m)
-# define BOOST_PP_FOR_237_I(s, p, o, m) BOOST_PP_IF(p(238, s), m, BOOST_PP_TUPLE_EAT_2)(238, s) BOOST_PP_IF(p(238, s), BOOST_PP_FOR_238, BOOST_PP_TUPLE_EAT_4)(o(238, s), p, o, m)
-# define BOOST_PP_FOR_238_I(s, p, o, m) BOOST_PP_IF(p(239, s), m, BOOST_PP_TUPLE_EAT_2)(239, s) BOOST_PP_IF(p(239, s), BOOST_PP_FOR_239, BOOST_PP_TUPLE_EAT_4)(o(239, s), p, o, m)
-# define BOOST_PP_FOR_239_I(s, p, o, m) BOOST_PP_IF(p(240, s), m, BOOST_PP_TUPLE_EAT_2)(240, s) BOOST_PP_IF(p(240, s), BOOST_PP_FOR_240, BOOST_PP_TUPLE_EAT_4)(o(240, s), p, o, m)
-# define BOOST_PP_FOR_240_I(s, p, o, m) BOOST_PP_IF(p(241, s), m, BOOST_PP_TUPLE_EAT_2)(241, s) BOOST_PP_IF(p(241, s), BOOST_PP_FOR_241, BOOST_PP_TUPLE_EAT_4)(o(241, s), p, o, m)
-# define BOOST_PP_FOR_241_I(s, p, o, m) BOOST_PP_IF(p(242, s), m, BOOST_PP_TUPLE_EAT_2)(242, s) BOOST_PP_IF(p(242, s), BOOST_PP_FOR_242, BOOST_PP_TUPLE_EAT_4)(o(242, s), p, o, m)
-# define BOOST_PP_FOR_242_I(s, p, o, m) BOOST_PP_IF(p(243, s), m, BOOST_PP_TUPLE_EAT_2)(243, s) BOOST_PP_IF(p(243, s), BOOST_PP_FOR_243, BOOST_PP_TUPLE_EAT_4)(o(243, s), p, o, m)
-# define BOOST_PP_FOR_243_I(s, p, o, m) BOOST_PP_IF(p(244, s), m, BOOST_PP_TUPLE_EAT_2)(244, s) BOOST_PP_IF(p(244, s), BOOST_PP_FOR_244, BOOST_PP_TUPLE_EAT_4)(o(244, s), p, o, m)
-# define BOOST_PP_FOR_244_I(s, p, o, m) BOOST_PP_IF(p(245, s), m, BOOST_PP_TUPLE_EAT_2)(245, s) BOOST_PP_IF(p(245, s), BOOST_PP_FOR_245, BOOST_PP_TUPLE_EAT_4)(o(245, s), p, o, m)
-# define BOOST_PP_FOR_245_I(s, p, o, m) BOOST_PP_IF(p(246, s), m, BOOST_PP_TUPLE_EAT_2)(246, s) BOOST_PP_IF(p(246, s), BOOST_PP_FOR_246, BOOST_PP_TUPLE_EAT_4)(o(246, s), p, o, m)
-# define BOOST_PP_FOR_246_I(s, p, o, m) BOOST_PP_IF(p(247, s), m, BOOST_PP_TUPLE_EAT_2)(247, s) BOOST_PP_IF(p(247, s), BOOST_PP_FOR_247, BOOST_PP_TUPLE_EAT_4)(o(247, s), p, o, m)
-# define BOOST_PP_FOR_247_I(s, p, o, m) BOOST_PP_IF(p(248, s), m, BOOST_PP_TUPLE_EAT_2)(248, s) BOOST_PP_IF(p(248, s), BOOST_PP_FOR_248, BOOST_PP_TUPLE_EAT_4)(o(248, s), p, o, m)
-# define BOOST_PP_FOR_248_I(s, p, o, m) BOOST_PP_IF(p(249, s), m, BOOST_PP_TUPLE_EAT_2)(249, s) BOOST_PP_IF(p(249, s), BOOST_PP_FOR_249, BOOST_PP_TUPLE_EAT_4)(o(249, s), p, o, m)
-# define BOOST_PP_FOR_249_I(s, p, o, m) BOOST_PP_IF(p(250, s), m, BOOST_PP_TUPLE_EAT_2)(250, s) BOOST_PP_IF(p(250, s), BOOST_PP_FOR_250, BOOST_PP_TUPLE_EAT_4)(o(250, s), p, o, m)
-# define BOOST_PP_FOR_250_I(s, p, o, m) BOOST_PP_IF(p(251, s), m, BOOST_PP_TUPLE_EAT_2)(251, s) BOOST_PP_IF(p(251, s), BOOST_PP_FOR_251, BOOST_PP_TUPLE_EAT_4)(o(251, s), p, o, m)
-# define BOOST_PP_FOR_251_I(s, p, o, m) BOOST_PP_IF(p(252, s), m, BOOST_PP_TUPLE_EAT_2)(252, s) BOOST_PP_IF(p(252, s), BOOST_PP_FOR_252, BOOST_PP_TUPLE_EAT_4)(o(252, s), p, o, m)
-# define BOOST_PP_FOR_252_I(s, p, o, m) BOOST_PP_IF(p(253, s), m, BOOST_PP_TUPLE_EAT_2)(253, s) BOOST_PP_IF(p(253, s), BOOST_PP_FOR_253, BOOST_PP_TUPLE_EAT_4)(o(253, s), p, o, m)
-# define BOOST_PP_FOR_253_I(s, p, o, m) BOOST_PP_IF(p(254, s), m, BOOST_PP_TUPLE_EAT_2)(254, s) BOOST_PP_IF(p(254, s), BOOST_PP_FOR_254, BOOST_PP_TUPLE_EAT_4)(o(254, s), p, o, m)
-# define BOOST_PP_FOR_254_I(s, p, o, m) BOOST_PP_IF(p(255, s), m, BOOST_PP_TUPLE_EAT_2)(255, s) BOOST_PP_IF(p(255, s), BOOST_PP_FOR_255, BOOST_PP_TUPLE_EAT_4)(o(255, s), p, o, m)
-# define BOOST_PP_FOR_255_I(s, p, o, m) BOOST_PP_IF(p(256, s), m, BOOST_PP_TUPLE_EAT_2)(256, s) BOOST_PP_IF(p(256, s), BOOST_PP_FOR_256, BOOST_PP_TUPLE_EAT_4)(o(256, s), p, o, m)
-# define BOOST_PP_FOR_256_I(s, p, o, m) BOOST_PP_IF(p(257, s), m, BOOST_PP_TUPLE_EAT_2)(257, s) BOOST_PP_IF(p(257, s), BOOST_PP_FOR_257, BOOST_PP_TUPLE_EAT_4)(o(257, s), p, o, m)
-#
-# endif
diff --git a/boost/preprocessor/repetition/detail/for.hpp b/boost/preprocessor/repetition/detail/for.hpp
deleted file mode 100644
index 2770f2c..0000000
--- a/boost/preprocessor/repetition/detail/for.hpp
+++ /dev/null
@@ -1,536 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_REPETITION_DETAIL_FOR_HPP
-# define BOOST_PREPROCESSOR_REPETITION_DETAIL_FOR_HPP
-#
-# include <boost/preprocessor/control/expr_iif.hpp>
-# include <boost/preprocessor/control/iif.hpp>
-# include <boost/preprocessor/logical/bool.hpp>
-# include <boost/preprocessor/tuple/eat.hpp>
-#
-# define BOOST_PP_FOR_1(s, p, o, m) BOOST_PP_FOR_1_C(BOOST_PP_BOOL(p(2, s)), s, p, o, m)
-# define BOOST_PP_FOR_2(s, p, o, m) BOOST_PP_FOR_2_C(BOOST_PP_BOOL(p(3, s)), s, p, o, m)
-# define BOOST_PP_FOR_3(s, p, o, m) BOOST_PP_FOR_3_C(BOOST_PP_BOOL(p(4, s)), s, p, o, m)
-# define BOOST_PP_FOR_4(s, p, o, m) BOOST_PP_FOR_4_C(BOOST_PP_BOOL(p(5, s)), s, p, o, m)
-# define BOOST_PP_FOR_5(s, p, o, m) BOOST_PP_FOR_5_C(BOOST_PP_BOOL(p(6, s)), s, p, o, m)
-# define BOOST_PP_FOR_6(s, p, o, m) BOOST_PP_FOR_6_C(BOOST_PP_BOOL(p(7, s)), s, p, o, m)
-# define BOOST_PP_FOR_7(s, p, o, m) BOOST_PP_FOR_7_C(BOOST_PP_BOOL(p(8, s)), s, p, o, m)
-# define BOOST_PP_FOR_8(s, p, o, m) BOOST_PP_FOR_8_C(BOOST_PP_BOOL(p(9, s)), s, p, o, m)
-# define BOOST_PP_FOR_9(s, p, o, m) BOOST_PP_FOR_9_C(BOOST_PP_BOOL(p(10, s)), s, p, o, m)
-# define BOOST_PP_FOR_10(s, p, o, m) BOOST_PP_FOR_10_C(BOOST_PP_BOOL(p(11, s)), s, p, o, m)
-# define BOOST_PP_FOR_11(s, p, o, m) BOOST_PP_FOR_11_C(BOOST_PP_BOOL(p(12, s)), s, p, o, m)
-# define BOOST_PP_FOR_12(s, p, o, m) BOOST_PP_FOR_12_C(BOOST_PP_BOOL(p(13, s)), s, p, o, m)
-# define BOOST_PP_FOR_13(s, p, o, m) BOOST_PP_FOR_13_C(BOOST_PP_BOOL(p(14, s)), s, p, o, m)
-# define BOOST_PP_FOR_14(s, p, o, m) BOOST_PP_FOR_14_C(BOOST_PP_BOOL(p(15, s)), s, p, o, m)
-# define BOOST_PP_FOR_15(s, p, o, m) BOOST_PP_FOR_15_C(BOOST_PP_BOOL(p(16, s)), s, p, o, m)
-# define BOOST_PP_FOR_16(s, p, o, m) BOOST_PP_FOR_16_C(BOOST_PP_BOOL(p(17, s)), s, p, o, m)
-# define BOOST_PP_FOR_17(s, p, o, m) BOOST_PP_FOR_17_C(BOOST_PP_BOOL(p(18, s)), s, p, o, m)
-# define BOOST_PP_FOR_18(s, p, o, m) BOOST_PP_FOR_18_C(BOOST_PP_BOOL(p(19, s)), s, p, o, m)
-# define BOOST_PP_FOR_19(s, p, o, m) BOOST_PP_FOR_19_C(BOOST_PP_BOOL(p(20, s)), s, p, o, m)
-# define BOOST_PP_FOR_20(s, p, o, m) BOOST_PP_FOR_20_C(BOOST_PP_BOOL(p(21, s)), s, p, o, m)
-# define BOOST_PP_FOR_21(s, p, o, m) BOOST_PP_FOR_21_C(BOOST_PP_BOOL(p(22, s)), s, p, o, m)
-# define BOOST_PP_FOR_22(s, p, o, m) BOOST_PP_FOR_22_C(BOOST_PP_BOOL(p(23, s)), s, p, o, m)
-# define BOOST_PP_FOR_23(s, p, o, m) BOOST_PP_FOR_23_C(BOOST_PP_BOOL(p(24, s)), s, p, o, m)
-# define BOOST_PP_FOR_24(s, p, o, m) BOOST_PP_FOR_24_C(BOOST_PP_BOOL(p(25, s)), s, p, o, m)
-# define BOOST_PP_FOR_25(s, p, o, m) BOOST_PP_FOR_25_C(BOOST_PP_BOOL(p(26, s)), s, p, o, m)
-# define BOOST_PP_FOR_26(s, p, o, m) BOOST_PP_FOR_26_C(BOOST_PP_BOOL(p(27, s)), s, p, o, m)
-# define BOOST_PP_FOR_27(s, p, o, m) BOOST_PP_FOR_27_C(BOOST_PP_BOOL(p(28, s)), s, p, o, m)
-# define BOOST_PP_FOR_28(s, p, o, m) BOOST_PP_FOR_28_C(BOOST_PP_BOOL(p(29, s)), s, p, o, m)
-# define BOOST_PP_FOR_29(s, p, o, m) BOOST_PP_FOR_29_C(BOOST_PP_BOOL(p(30, s)), s, p, o, m)
-# define BOOST_PP_FOR_30(s, p, o, m) BOOST_PP_FOR_30_C(BOOST_PP_BOOL(p(31, s)), s, p, o, m)
-# define BOOST_PP_FOR_31(s, p, o, m) BOOST_PP_FOR_31_C(BOOST_PP_BOOL(p(32, s)), s, p, o, m)
-# define BOOST_PP_FOR_32(s, p, o, m) BOOST_PP_FOR_32_C(BOOST_PP_BOOL(p(33, s)), s, p, o, m)
-# define BOOST_PP_FOR_33(s, p, o, m) BOOST_PP_FOR_33_C(BOOST_PP_BOOL(p(34, s)), s, p, o, m)
-# define BOOST_PP_FOR_34(s, p, o, m) BOOST_PP_FOR_34_C(BOOST_PP_BOOL(p(35, s)), s, p, o, m)
-# define BOOST_PP_FOR_35(s, p, o, m) BOOST_PP_FOR_35_C(BOOST_PP_BOOL(p(36, s)), s, p, o, m)
-# define BOOST_PP_FOR_36(s, p, o, m) BOOST_PP_FOR_36_C(BOOST_PP_BOOL(p(37, s)), s, p, o, m)
-# define BOOST_PP_FOR_37(s, p, o, m) BOOST_PP_FOR_37_C(BOOST_PP_BOOL(p(38, s)), s, p, o, m)
-# define BOOST_PP_FOR_38(s, p, o, m) BOOST_PP_FOR_38_C(BOOST_PP_BOOL(p(39, s)), s, p, o, m)
-# define BOOST_PP_FOR_39(s, p, o, m) BOOST_PP_FOR_39_C(BOOST_PP_BOOL(p(40, s)), s, p, o, m)
-# define BOOST_PP_FOR_40(s, p, o, m) BOOST_PP_FOR_40_C(BOOST_PP_BOOL(p(41, s)), s, p, o, m)
-# define BOOST_PP_FOR_41(s, p, o, m) BOOST_PP_FOR_41_C(BOOST_PP_BOOL(p(42, s)), s, p, o, m)
-# define BOOST_PP_FOR_42(s, p, o, m) BOOST_PP_FOR_42_C(BOOST_PP_BOOL(p(43, s)), s, p, o, m)
-# define BOOST_PP_FOR_43(s, p, o, m) BOOST_PP_FOR_43_C(BOOST_PP_BOOL(p(44, s)), s, p, o, m)
-# define BOOST_PP_FOR_44(s, p, o, m) BOOST_PP_FOR_44_C(BOOST_PP_BOOL(p(45, s)), s, p, o, m)
-# define BOOST_PP_FOR_45(s, p, o, m) BOOST_PP_FOR_45_C(BOOST_PP_BOOL(p(46, s)), s, p, o, m)
-# define BOOST_PP_FOR_46(s, p, o, m) BOOST_PP_FOR_46_C(BOOST_PP_BOOL(p(47, s)), s, p, o, m)
-# define BOOST_PP_FOR_47(s, p, o, m) BOOST_PP_FOR_47_C(BOOST_PP_BOOL(p(48, s)), s, p, o, m)
-# define BOOST_PP_FOR_48(s, p, o, m) BOOST_PP_FOR_48_C(BOOST_PP_BOOL(p(49, s)), s, p, o, m)
-# define BOOST_PP_FOR_49(s, p, o, m) BOOST_PP_FOR_49_C(BOOST_PP_BOOL(p(50, s)), s, p, o, m)
-# define BOOST_PP_FOR_50(s, p, o, m) BOOST_PP_FOR_50_C(BOOST_PP_BOOL(p(51, s)), s, p, o, m)
-# define BOOST_PP_FOR_51(s, p, o, m) BOOST_PP_FOR_51_C(BOOST_PP_BOOL(p(52, s)), s, p, o, m)
-# define BOOST_PP_FOR_52(s, p, o, m) BOOST_PP_FOR_52_C(BOOST_PP_BOOL(p(53, s)), s, p, o, m)
-# define BOOST_PP_FOR_53(s, p, o, m) BOOST_PP_FOR_53_C(BOOST_PP_BOOL(p(54, s)), s, p, o, m)
-# define BOOST_PP_FOR_54(s, p, o, m) BOOST_PP_FOR_54_C(BOOST_PP_BOOL(p(55, s)), s, p, o, m)
-# define BOOST_PP_FOR_55(s, p, o, m) BOOST_PP_FOR_55_C(BOOST_PP_BOOL(p(56, s)), s, p, o, m)
-# define BOOST_PP_FOR_56(s, p, o, m) BOOST_PP_FOR_56_C(BOOST_PP_BOOL(p(57, s)), s, p, o, m)
-# define BOOST_PP_FOR_57(s, p, o, m) BOOST_PP_FOR_57_C(BOOST_PP_BOOL(p(58, s)), s, p, o, m)
-# define BOOST_PP_FOR_58(s, p, o, m) BOOST_PP_FOR_58_C(BOOST_PP_BOOL(p(59, s)), s, p, o, m)
-# define BOOST_PP_FOR_59(s, p, o, m) BOOST_PP_FOR_59_C(BOOST_PP_BOOL(p(60, s)), s, p, o, m)
-# define BOOST_PP_FOR_60(s, p, o, m) BOOST_PP_FOR_60_C(BOOST_PP_BOOL(p(61, s)), s, p, o, m)
-# define BOOST_PP_FOR_61(s, p, o, m) BOOST_PP_FOR_61_C(BOOST_PP_BOOL(p(62, s)), s, p, o, m)
-# define BOOST_PP_FOR_62(s, p, o, m) BOOST_PP_FOR_62_C(BOOST_PP_BOOL(p(63, s)), s, p, o, m)
-# define BOOST_PP_FOR_63(s, p, o, m) BOOST_PP_FOR_63_C(BOOST_PP_BOOL(p(64, s)), s, p, o, m)
-# define BOOST_PP_FOR_64(s, p, o, m) BOOST_PP_FOR_64_C(BOOST_PP_BOOL(p(65, s)), s, p, o, m)
-# define BOOST_PP_FOR_65(s, p, o, m) BOOST_PP_FOR_65_C(BOOST_PP_BOOL(p(66, s)), s, p, o, m)
-# define BOOST_PP_FOR_66(s, p, o, m) BOOST_PP_FOR_66_C(BOOST_PP_BOOL(p(67, s)), s, p, o, m)
-# define BOOST_PP_FOR_67(s, p, o, m) BOOST_PP_FOR_67_C(BOOST_PP_BOOL(p(68, s)), s, p, o, m)
-# define BOOST_PP_FOR_68(s, p, o, m) BOOST_PP_FOR_68_C(BOOST_PP_BOOL(p(69, s)), s, p, o, m)
-# define BOOST_PP_FOR_69(s, p, o, m) BOOST_PP_FOR_69_C(BOOST_PP_BOOL(p(70, s)), s, p, o, m)
-# define BOOST_PP_FOR_70(s, p, o, m) BOOST_PP_FOR_70_C(BOOST_PP_BOOL(p(71, s)), s, p, o, m)
-# define BOOST_PP_FOR_71(s, p, o, m) BOOST_PP_FOR_71_C(BOOST_PP_BOOL(p(72, s)), s, p, o, m)
-# define BOOST_PP_FOR_72(s, p, o, m) BOOST_PP_FOR_72_C(BOOST_PP_BOOL(p(73, s)), s, p, o, m)
-# define BOOST_PP_FOR_73(s, p, o, m) BOOST_PP_FOR_73_C(BOOST_PP_BOOL(p(74, s)), s, p, o, m)
-# define BOOST_PP_FOR_74(s, p, o, m) BOOST_PP_FOR_74_C(BOOST_PP_BOOL(p(75, s)), s, p, o, m)
-# define BOOST_PP_FOR_75(s, p, o, m) BOOST_PP_FOR_75_C(BOOST_PP_BOOL(p(76, s)), s, p, o, m)
-# define BOOST_PP_FOR_76(s, p, o, m) BOOST_PP_FOR_76_C(BOOST_PP_BOOL(p(77, s)), s, p, o, m)
-# define BOOST_PP_FOR_77(s, p, o, m) BOOST_PP_FOR_77_C(BOOST_PP_BOOL(p(78, s)), s, p, o, m)
-# define BOOST_PP_FOR_78(s, p, o, m) BOOST_PP_FOR_78_C(BOOST_PP_BOOL(p(79, s)), s, p, o, m)
-# define BOOST_PP_FOR_79(s, p, o, m) BOOST_PP_FOR_79_C(BOOST_PP_BOOL(p(80, s)), s, p, o, m)
-# define BOOST_PP_FOR_80(s, p, o, m) BOOST_PP_FOR_80_C(BOOST_PP_BOOL(p(81, s)), s, p, o, m)
-# define BOOST_PP_FOR_81(s, p, o, m) BOOST_PP_FOR_81_C(BOOST_PP_BOOL(p(82, s)), s, p, o, m)
-# define BOOST_PP_FOR_82(s, p, o, m) BOOST_PP_FOR_82_C(BOOST_PP_BOOL(p(83, s)), s, p, o, m)
-# define BOOST_PP_FOR_83(s, p, o, m) BOOST_PP_FOR_83_C(BOOST_PP_BOOL(p(84, s)), s, p, o, m)
-# define BOOST_PP_FOR_84(s, p, o, m) BOOST_PP_FOR_84_C(BOOST_PP_BOOL(p(85, s)), s, p, o, m)
-# define BOOST_PP_FOR_85(s, p, o, m) BOOST_PP_FOR_85_C(BOOST_PP_BOOL(p(86, s)), s, p, o, m)
-# define BOOST_PP_FOR_86(s, p, o, m) BOOST_PP_FOR_86_C(BOOST_PP_BOOL(p(87, s)), s, p, o, m)
-# define BOOST_PP_FOR_87(s, p, o, m) BOOST_PP_FOR_87_C(BOOST_PP_BOOL(p(88, s)), s, p, o, m)
-# define BOOST_PP_FOR_88(s, p, o, m) BOOST_PP_FOR_88_C(BOOST_PP_BOOL(p(89, s)), s, p, o, m)
-# define BOOST_PP_FOR_89(s, p, o, m) BOOST_PP_FOR_89_C(BOOST_PP_BOOL(p(90, s)), s, p, o, m)
-# define BOOST_PP_FOR_90(s, p, o, m) BOOST_PP_FOR_90_C(BOOST_PP_BOOL(p(91, s)), s, p, o, m)
-# define BOOST_PP_FOR_91(s, p, o, m) BOOST_PP_FOR_91_C(BOOST_PP_BOOL(p(92, s)), s, p, o, m)
-# define BOOST_PP_FOR_92(s, p, o, m) BOOST_PP_FOR_92_C(BOOST_PP_BOOL(p(93, s)), s, p, o, m)
-# define BOOST_PP_FOR_93(s, p, o, m) BOOST_PP_FOR_93_C(BOOST_PP_BOOL(p(94, s)), s, p, o, m)
-# define BOOST_PP_FOR_94(s, p, o, m) BOOST_PP_FOR_94_C(BOOST_PP_BOOL(p(95, s)), s, p, o, m)
-# define BOOST_PP_FOR_95(s, p, o, m) BOOST_PP_FOR_95_C(BOOST_PP_BOOL(p(96, s)), s, p, o, m)
-# define BOOST_PP_FOR_96(s, p, o, m) BOOST_PP_FOR_96_C(BOOST_PP_BOOL(p(97, s)), s, p, o, m)
-# define BOOST_PP_FOR_97(s, p, o, m) BOOST_PP_FOR_97_C(BOOST_PP_BOOL(p(98, s)), s, p, o, m)
-# define BOOST_PP_FOR_98(s, p, o, m) BOOST_PP_FOR_98_C(BOOST_PP_BOOL(p(99, s)), s, p, o, m)
-# define BOOST_PP_FOR_99(s, p, o, m) BOOST_PP_FOR_99_C(BOOST_PP_BOOL(p(100, s)), s, p, o, m)
-# define BOOST_PP_FOR_100(s, p, o, m) BOOST_PP_FOR_100_C(BOOST_PP_BOOL(p(101, s)), s, p, o, m)
-# define BOOST_PP_FOR_101(s, p, o, m) BOOST_PP_FOR_101_C(BOOST_PP_BOOL(p(102, s)), s, p, o, m)
-# define BOOST_PP_FOR_102(s, p, o, m) BOOST_PP_FOR_102_C(BOOST_PP_BOOL(p(103, s)), s, p, o, m)
-# define BOOST_PP_FOR_103(s, p, o, m) BOOST_PP_FOR_103_C(BOOST_PP_BOOL(p(104, s)), s, p, o, m)
-# define BOOST_PP_FOR_104(s, p, o, m) BOOST_PP_FOR_104_C(BOOST_PP_BOOL(p(105, s)), s, p, o, m)
-# define BOOST_PP_FOR_105(s, p, o, m) BOOST_PP_FOR_105_C(BOOST_PP_BOOL(p(106, s)), s, p, o, m)
-# define BOOST_PP_FOR_106(s, p, o, m) BOOST_PP_FOR_106_C(BOOST_PP_BOOL(p(107, s)), s, p, o, m)
-# define BOOST_PP_FOR_107(s, p, o, m) BOOST_PP_FOR_107_C(BOOST_PP_BOOL(p(108, s)), s, p, o, m)
-# define BOOST_PP_FOR_108(s, p, o, m) BOOST_PP_FOR_108_C(BOOST_PP_BOOL(p(109, s)), s, p, o, m)
-# define BOOST_PP_FOR_109(s, p, o, m) BOOST_PP_FOR_109_C(BOOST_PP_BOOL(p(110, s)), s, p, o, m)
-# define BOOST_PP_FOR_110(s, p, o, m) BOOST_PP_FOR_110_C(BOOST_PP_BOOL(p(111, s)), s, p, o, m)
-# define BOOST_PP_FOR_111(s, p, o, m) BOOST_PP_FOR_111_C(BOOST_PP_BOOL(p(112, s)), s, p, o, m)
-# define BOOST_PP_FOR_112(s, p, o, m) BOOST_PP_FOR_112_C(BOOST_PP_BOOL(p(113, s)), s, p, o, m)
-# define BOOST_PP_FOR_113(s, p, o, m) BOOST_PP_FOR_113_C(BOOST_PP_BOOL(p(114, s)), s, p, o, m)
-# define BOOST_PP_FOR_114(s, p, o, m) BOOST_PP_FOR_114_C(BOOST_PP_BOOL(p(115, s)), s, p, o, m)
-# define BOOST_PP_FOR_115(s, p, o, m) BOOST_PP_FOR_115_C(BOOST_PP_BOOL(p(116, s)), s, p, o, m)
-# define BOOST_PP_FOR_116(s, p, o, m) BOOST_PP_FOR_116_C(BOOST_PP_BOOL(p(117, s)), s, p, o, m)
-# define BOOST_PP_FOR_117(s, p, o, m) BOOST_PP_FOR_117_C(BOOST_PP_BOOL(p(118, s)), s, p, o, m)
-# define BOOST_PP_FOR_118(s, p, o, m) BOOST_PP_FOR_118_C(BOOST_PP_BOOL(p(119, s)), s, p, o, m)
-# define BOOST_PP_FOR_119(s, p, o, m) BOOST_PP_FOR_119_C(BOOST_PP_BOOL(p(120, s)), s, p, o, m)
-# define BOOST_PP_FOR_120(s, p, o, m) BOOST_PP_FOR_120_C(BOOST_PP_BOOL(p(121, s)), s, p, o, m)
-# define BOOST_PP_FOR_121(s, p, o, m) BOOST_PP_FOR_121_C(BOOST_PP_BOOL(p(122, s)), s, p, o, m)
-# define BOOST_PP_FOR_122(s, p, o, m) BOOST_PP_FOR_122_C(BOOST_PP_BOOL(p(123, s)), s, p, o, m)
-# define BOOST_PP_FOR_123(s, p, o, m) BOOST_PP_FOR_123_C(BOOST_PP_BOOL(p(124, s)), s, p, o, m)
-# define BOOST_PP_FOR_124(s, p, o, m) BOOST_PP_FOR_124_C(BOOST_PP_BOOL(p(125, s)), s, p, o, m)
-# define BOOST_PP_FOR_125(s, p, o, m) BOOST_PP_FOR_125_C(BOOST_PP_BOOL(p(126, s)), s, p, o, m)
-# define BOOST_PP_FOR_126(s, p, o, m) BOOST_PP_FOR_126_C(BOOST_PP_BOOL(p(127, s)), s, p, o, m)
-# define BOOST_PP_FOR_127(s, p, o, m) BOOST_PP_FOR_127_C(BOOST_PP_BOOL(p(128, s)), s, p, o, m)
-# define BOOST_PP_FOR_128(s, p, o, m) BOOST_PP_FOR_128_C(BOOST_PP_BOOL(p(129, s)), s, p, o, m)
-# define BOOST_PP_FOR_129(s, p, o, m) BOOST_PP_FOR_129_C(BOOST_PP_BOOL(p(130, s)), s, p, o, m)
-# define BOOST_PP_FOR_130(s, p, o, m) BOOST_PP_FOR_130_C(BOOST_PP_BOOL(p(131, s)), s, p, o, m)
-# define BOOST_PP_FOR_131(s, p, o, m) BOOST_PP_FOR_131_C(BOOST_PP_BOOL(p(132, s)), s, p, o, m)
-# define BOOST_PP_FOR_132(s, p, o, m) BOOST_PP_FOR_132_C(BOOST_PP_BOOL(p(133, s)), s, p, o, m)
-# define BOOST_PP_FOR_133(s, p, o, m) BOOST_PP_FOR_133_C(BOOST_PP_BOOL(p(134, s)), s, p, o, m)
-# define BOOST_PP_FOR_134(s, p, o, m) BOOST_PP_FOR_134_C(BOOST_PP_BOOL(p(135, s)), s, p, o, m)
-# define BOOST_PP_FOR_135(s, p, o, m) BOOST_PP_FOR_135_C(BOOST_PP_BOOL(p(136, s)), s, p, o, m)
-# define BOOST_PP_FOR_136(s, p, o, m) BOOST_PP_FOR_136_C(BOOST_PP_BOOL(p(137, s)), s, p, o, m)
-# define BOOST_PP_FOR_137(s, p, o, m) BOOST_PP_FOR_137_C(BOOST_PP_BOOL(p(138, s)), s, p, o, m)
-# define BOOST_PP_FOR_138(s, p, o, m) BOOST_PP_FOR_138_C(BOOST_PP_BOOL(p(139, s)), s, p, o, m)
-# define BOOST_PP_FOR_139(s, p, o, m) BOOST_PP_FOR_139_C(BOOST_PP_BOOL(p(140, s)), s, p, o, m)
-# define BOOST_PP_FOR_140(s, p, o, m) BOOST_PP_FOR_140_C(BOOST_PP_BOOL(p(141, s)), s, p, o, m)
-# define BOOST_PP_FOR_141(s, p, o, m) BOOST_PP_FOR_141_C(BOOST_PP_BOOL(p(142, s)), s, p, o, m)
-# define BOOST_PP_FOR_142(s, p, o, m) BOOST_PP_FOR_142_C(BOOST_PP_BOOL(p(143, s)), s, p, o, m)
-# define BOOST_PP_FOR_143(s, p, o, m) BOOST_PP_FOR_143_C(BOOST_PP_BOOL(p(144, s)), s, p, o, m)
-# define BOOST_PP_FOR_144(s, p, o, m) BOOST_PP_FOR_144_C(BOOST_PP_BOOL(p(145, s)), s, p, o, m)
-# define BOOST_PP_FOR_145(s, p, o, m) BOOST_PP_FOR_145_C(BOOST_PP_BOOL(p(146, s)), s, p, o, m)
-# define BOOST_PP_FOR_146(s, p, o, m) BOOST_PP_FOR_146_C(BOOST_PP_BOOL(p(147, s)), s, p, o, m)
-# define BOOST_PP_FOR_147(s, p, o, m) BOOST_PP_FOR_147_C(BOOST_PP_BOOL(p(148, s)), s, p, o, m)
-# define BOOST_PP_FOR_148(s, p, o, m) BOOST_PP_FOR_148_C(BOOST_PP_BOOL(p(149, s)), s, p, o, m)
-# define BOOST_PP_FOR_149(s, p, o, m) BOOST_PP_FOR_149_C(BOOST_PP_BOOL(p(150, s)), s, p, o, m)
-# define BOOST_PP_FOR_150(s, p, o, m) BOOST_PP_FOR_150_C(BOOST_PP_BOOL(p(151, s)), s, p, o, m)
-# define BOOST_PP_FOR_151(s, p, o, m) BOOST_PP_FOR_151_C(BOOST_PP_BOOL(p(152, s)), s, p, o, m)
-# define BOOST_PP_FOR_152(s, p, o, m) BOOST_PP_FOR_152_C(BOOST_PP_BOOL(p(153, s)), s, p, o, m)
-# define BOOST_PP_FOR_153(s, p, o, m) BOOST_PP_FOR_153_C(BOOST_PP_BOOL(p(154, s)), s, p, o, m)
-# define BOOST_PP_FOR_154(s, p, o, m) BOOST_PP_FOR_154_C(BOOST_PP_BOOL(p(155, s)), s, p, o, m)
-# define BOOST_PP_FOR_155(s, p, o, m) BOOST_PP_FOR_155_C(BOOST_PP_BOOL(p(156, s)), s, p, o, m)
-# define BOOST_PP_FOR_156(s, p, o, m) BOOST_PP_FOR_156_C(BOOST_PP_BOOL(p(157, s)), s, p, o, m)
-# define BOOST_PP_FOR_157(s, p, o, m) BOOST_PP_FOR_157_C(BOOST_PP_BOOL(p(158, s)), s, p, o, m)
-# define BOOST_PP_FOR_158(s, p, o, m) BOOST_PP_FOR_158_C(BOOST_PP_BOOL(p(159, s)), s, p, o, m)
-# define BOOST_PP_FOR_159(s, p, o, m) BOOST_PP_FOR_159_C(BOOST_PP_BOOL(p(160, s)), s, p, o, m)
-# define BOOST_PP_FOR_160(s, p, o, m) BOOST_PP_FOR_160_C(BOOST_PP_BOOL(p(161, s)), s, p, o, m)
-# define BOOST_PP_FOR_161(s, p, o, m) BOOST_PP_FOR_161_C(BOOST_PP_BOOL(p(162, s)), s, p, o, m)
-# define BOOST_PP_FOR_162(s, p, o, m) BOOST_PP_FOR_162_C(BOOST_PP_BOOL(p(163, s)), s, p, o, m)
-# define BOOST_PP_FOR_163(s, p, o, m) BOOST_PP_FOR_163_C(BOOST_PP_BOOL(p(164, s)), s, p, o, m)
-# define BOOST_PP_FOR_164(s, p, o, m) BOOST_PP_FOR_164_C(BOOST_PP_BOOL(p(165, s)), s, p, o, m)
-# define BOOST_PP_FOR_165(s, p, o, m) BOOST_PP_FOR_165_C(BOOST_PP_BOOL(p(166, s)), s, p, o, m)
-# define BOOST_PP_FOR_166(s, p, o, m) BOOST_PP_FOR_166_C(BOOST_PP_BOOL(p(167, s)), s, p, o, m)
-# define BOOST_PP_FOR_167(s, p, o, m) BOOST_PP_FOR_167_C(BOOST_PP_BOOL(p(168, s)), s, p, o, m)
-# define BOOST_PP_FOR_168(s, p, o, m) BOOST_PP_FOR_168_C(BOOST_PP_BOOL(p(169, s)), s, p, o, m)
-# define BOOST_PP_FOR_169(s, p, o, m) BOOST_PP_FOR_169_C(BOOST_PP_BOOL(p(170, s)), s, p, o, m)
-# define BOOST_PP_FOR_170(s, p, o, m) BOOST_PP_FOR_170_C(BOOST_PP_BOOL(p(171, s)), s, p, o, m)
-# define BOOST_PP_FOR_171(s, p, o, m) BOOST_PP_FOR_171_C(BOOST_PP_BOOL(p(172, s)), s, p, o, m)
-# define BOOST_PP_FOR_172(s, p, o, m) BOOST_PP_FOR_172_C(BOOST_PP_BOOL(p(173, s)), s, p, o, m)
-# define BOOST_PP_FOR_173(s, p, o, m) BOOST_PP_FOR_173_C(BOOST_PP_BOOL(p(174, s)), s, p, o, m)
-# define BOOST_PP_FOR_174(s, p, o, m) BOOST_PP_FOR_174_C(BOOST_PP_BOOL(p(175, s)), s, p, o, m)
-# define BOOST_PP_FOR_175(s, p, o, m) BOOST_PP_FOR_175_C(BOOST_PP_BOOL(p(176, s)), s, p, o, m)
-# define BOOST_PP_FOR_176(s, p, o, m) BOOST_PP_FOR_176_C(BOOST_PP_BOOL(p(177, s)), s, p, o, m)
-# define BOOST_PP_FOR_177(s, p, o, m) BOOST_PP_FOR_177_C(BOOST_PP_BOOL(p(178, s)), s, p, o, m)
-# define BOOST_PP_FOR_178(s, p, o, m) BOOST_PP_FOR_178_C(BOOST_PP_BOOL(p(179, s)), s, p, o, m)
-# define BOOST_PP_FOR_179(s, p, o, m) BOOST_PP_FOR_179_C(BOOST_PP_BOOL(p(180, s)), s, p, o, m)
-# define BOOST_PP_FOR_180(s, p, o, m) BOOST_PP_FOR_180_C(BOOST_PP_BOOL(p(181, s)), s, p, o, m)
-# define BOOST_PP_FOR_181(s, p, o, m) BOOST_PP_FOR_181_C(BOOST_PP_BOOL(p(182, s)), s, p, o, m)
-# define BOOST_PP_FOR_182(s, p, o, m) BOOST_PP_FOR_182_C(BOOST_PP_BOOL(p(183, s)), s, p, o, m)
-# define BOOST_PP_FOR_183(s, p, o, m) BOOST_PP_FOR_183_C(BOOST_PP_BOOL(p(184, s)), s, p, o, m)
-# define BOOST_PP_FOR_184(s, p, o, m) BOOST_PP_FOR_184_C(BOOST_PP_BOOL(p(185, s)), s, p, o, m)
-# define BOOST_PP_FOR_185(s, p, o, m) BOOST_PP_FOR_185_C(BOOST_PP_BOOL(p(186, s)), s, p, o, m)
-# define BOOST_PP_FOR_186(s, p, o, m) BOOST_PP_FOR_186_C(BOOST_PP_BOOL(p(187, s)), s, p, o, m)
-# define BOOST_PP_FOR_187(s, p, o, m) BOOST_PP_FOR_187_C(BOOST_PP_BOOL(p(188, s)), s, p, o, m)
-# define BOOST_PP_FOR_188(s, p, o, m) BOOST_PP_FOR_188_C(BOOST_PP_BOOL(p(189, s)), s, p, o, m)
-# define BOOST_PP_FOR_189(s, p, o, m) BOOST_PP_FOR_189_C(BOOST_PP_BOOL(p(190, s)), s, p, o, m)
-# define BOOST_PP_FOR_190(s, p, o, m) BOOST_PP_FOR_190_C(BOOST_PP_BOOL(p(191, s)), s, p, o, m)
-# define BOOST_PP_FOR_191(s, p, o, m) BOOST_PP_FOR_191_C(BOOST_PP_BOOL(p(192, s)), s, p, o, m)
-# define BOOST_PP_FOR_192(s, p, o, m) BOOST_PP_FOR_192_C(BOOST_PP_BOOL(p(193, s)), s, p, o, m)
-# define BOOST_PP_FOR_193(s, p, o, m) BOOST_PP_FOR_193_C(BOOST_PP_BOOL(p(194, s)), s, p, o, m)
-# define BOOST_PP_FOR_194(s, p, o, m) BOOST_PP_FOR_194_C(BOOST_PP_BOOL(p(195, s)), s, p, o, m)
-# define BOOST_PP_FOR_195(s, p, o, m) BOOST_PP_FOR_195_C(BOOST_PP_BOOL(p(196, s)), s, p, o, m)
-# define BOOST_PP_FOR_196(s, p, o, m) BOOST_PP_FOR_196_C(BOOST_PP_BOOL(p(197, s)), s, p, o, m)
-# define BOOST_PP_FOR_197(s, p, o, m) BOOST_PP_FOR_197_C(BOOST_PP_BOOL(p(198, s)), s, p, o, m)
-# define BOOST_PP_FOR_198(s, p, o, m) BOOST_PP_FOR_198_C(BOOST_PP_BOOL(p(199, s)), s, p, o, m)
-# define BOOST_PP_FOR_199(s, p, o, m) BOOST_PP_FOR_199_C(BOOST_PP_BOOL(p(200, s)), s, p, o, m)
-# define BOOST_PP_FOR_200(s, p, o, m) BOOST_PP_FOR_200_C(BOOST_PP_BOOL(p(201, s)), s, p, o, m)
-# define BOOST_PP_FOR_201(s, p, o, m) BOOST_PP_FOR_201_C(BOOST_PP_BOOL(p(202, s)), s, p, o, m)
-# define BOOST_PP_FOR_202(s, p, o, m) BOOST_PP_FOR_202_C(BOOST_PP_BOOL(p(203, s)), s, p, o, m)
-# define BOOST_PP_FOR_203(s, p, o, m) BOOST_PP_FOR_203_C(BOOST_PP_BOOL(p(204, s)), s, p, o, m)
-# define BOOST_PP_FOR_204(s, p, o, m) BOOST_PP_FOR_204_C(BOOST_PP_BOOL(p(205, s)), s, p, o, m)
-# define BOOST_PP_FOR_205(s, p, o, m) BOOST_PP_FOR_205_C(BOOST_PP_BOOL(p(206, s)), s, p, o, m)
-# define BOOST_PP_FOR_206(s, p, o, m) BOOST_PP_FOR_206_C(BOOST_PP_BOOL(p(207, s)), s, p, o, m)
-# define BOOST_PP_FOR_207(s, p, o, m) BOOST_PP_FOR_207_C(BOOST_PP_BOOL(p(208, s)), s, p, o, m)
-# define BOOST_PP_FOR_208(s, p, o, m) BOOST_PP_FOR_208_C(BOOST_PP_BOOL(p(209, s)), s, p, o, m)
-# define BOOST_PP_FOR_209(s, p, o, m) BOOST_PP_FOR_209_C(BOOST_PP_BOOL(p(210, s)), s, p, o, m)
-# define BOOST_PP_FOR_210(s, p, o, m) BOOST_PP_FOR_210_C(BOOST_PP_BOOL(p(211, s)), s, p, o, m)
-# define BOOST_PP_FOR_211(s, p, o, m) BOOST_PP_FOR_211_C(BOOST_PP_BOOL(p(212, s)), s, p, o, m)
-# define BOOST_PP_FOR_212(s, p, o, m) BOOST_PP_FOR_212_C(BOOST_PP_BOOL(p(213, s)), s, p, o, m)
-# define BOOST_PP_FOR_213(s, p, o, m) BOOST_PP_FOR_213_C(BOOST_PP_BOOL(p(214, s)), s, p, o, m)
-# define BOOST_PP_FOR_214(s, p, o, m) BOOST_PP_FOR_214_C(BOOST_PP_BOOL(p(215, s)), s, p, o, m)
-# define BOOST_PP_FOR_215(s, p, o, m) BOOST_PP_FOR_215_C(BOOST_PP_BOOL(p(216, s)), s, p, o, m)
-# define BOOST_PP_FOR_216(s, p, o, m) BOOST_PP_FOR_216_C(BOOST_PP_BOOL(p(217, s)), s, p, o, m)
-# define BOOST_PP_FOR_217(s, p, o, m) BOOST_PP_FOR_217_C(BOOST_PP_BOOL(p(218, s)), s, p, o, m)
-# define BOOST_PP_FOR_218(s, p, o, m) BOOST_PP_FOR_218_C(BOOST_PP_BOOL(p(219, s)), s, p, o, m)
-# define BOOST_PP_FOR_219(s, p, o, m) BOOST_PP_FOR_219_C(BOOST_PP_BOOL(p(220, s)), s, p, o, m)
-# define BOOST_PP_FOR_220(s, p, o, m) BOOST_PP_FOR_220_C(BOOST_PP_BOOL(p(221, s)), s, p, o, m)
-# define BOOST_PP_FOR_221(s, p, o, m) BOOST_PP_FOR_221_C(BOOST_PP_BOOL(p(222, s)), s, p, o, m)
-# define BOOST_PP_FOR_222(s, p, o, m) BOOST_PP_FOR_222_C(BOOST_PP_BOOL(p(223, s)), s, p, o, m)
-# define BOOST_PP_FOR_223(s, p, o, m) BOOST_PP_FOR_223_C(BOOST_PP_BOOL(p(224, s)), s, p, o, m)
-# define BOOST_PP_FOR_224(s, p, o, m) BOOST_PP_FOR_224_C(BOOST_PP_BOOL(p(225, s)), s, p, o, m)
-# define BOOST_PP_FOR_225(s, p, o, m) BOOST_PP_FOR_225_C(BOOST_PP_BOOL(p(226, s)), s, p, o, m)
-# define BOOST_PP_FOR_226(s, p, o, m) BOOST_PP_FOR_226_C(BOOST_PP_BOOL(p(227, s)), s, p, o, m)
-# define BOOST_PP_FOR_227(s, p, o, m) BOOST_PP_FOR_227_C(BOOST_PP_BOOL(p(228, s)), s, p, o, m)
-# define BOOST_PP_FOR_228(s, p, o, m) BOOST_PP_FOR_228_C(BOOST_PP_BOOL(p(229, s)), s, p, o, m)
-# define BOOST_PP_FOR_229(s, p, o, m) BOOST_PP_FOR_229_C(BOOST_PP_BOOL(p(230, s)), s, p, o, m)
-# define BOOST_PP_FOR_230(s, p, o, m) BOOST_PP_FOR_230_C(BOOST_PP_BOOL(p(231, s)), s, p, o, m)
-# define BOOST_PP_FOR_231(s, p, o, m) BOOST_PP_FOR_231_C(BOOST_PP_BOOL(p(232, s)), s, p, o, m)
-# define BOOST_PP_FOR_232(s, p, o, m) BOOST_PP_FOR_232_C(BOOST_PP_BOOL(p(233, s)), s, p, o, m)
-# define BOOST_PP_FOR_233(s, p, o, m) BOOST_PP_FOR_233_C(BOOST_PP_BOOL(p(234, s)), s, p, o, m)
-# define BOOST_PP_FOR_234(s, p, o, m) BOOST_PP_FOR_234_C(BOOST_PP_BOOL(p(235, s)), s, p, o, m)
-# define BOOST_PP_FOR_235(s, p, o, m) BOOST_PP_FOR_235_C(BOOST_PP_BOOL(p(236, s)), s, p, o, m)
-# define BOOST_PP_FOR_236(s, p, o, m) BOOST_PP_FOR_236_C(BOOST_PP_BOOL(p(237, s)), s, p, o, m)
-# define BOOST_PP_FOR_237(s, p, o, m) BOOST_PP_FOR_237_C(BOOST_PP_BOOL(p(238, s)), s, p, o, m)
-# define BOOST_PP_FOR_238(s, p, o, m) BOOST_PP_FOR_238_C(BOOST_PP_BOOL(p(239, s)), s, p, o, m)
-# define BOOST_PP_FOR_239(s, p, o, m) BOOST_PP_FOR_239_C(BOOST_PP_BOOL(p(240, s)), s, p, o, m)
-# define BOOST_PP_FOR_240(s, p, o, m) BOOST_PP_FOR_240_C(BOOST_PP_BOOL(p(241, s)), s, p, o, m)
-# define BOOST_PP_FOR_241(s, p, o, m) BOOST_PP_FOR_241_C(BOOST_PP_BOOL(p(242, s)), s, p, o, m)
-# define BOOST_PP_FOR_242(s, p, o, m) BOOST_PP_FOR_242_C(BOOST_PP_BOOL(p(243, s)), s, p, o, m)
-# define BOOST_PP_FOR_243(s, p, o, m) BOOST_PP_FOR_243_C(BOOST_PP_BOOL(p(244, s)), s, p, o, m)
-# define BOOST_PP_FOR_244(s, p, o, m) BOOST_PP_FOR_244_C(BOOST_PP_BOOL(p(245, s)), s, p, o, m)
-# define BOOST_PP_FOR_245(s, p, o, m) BOOST_PP_FOR_245_C(BOOST_PP_BOOL(p(246, s)), s, p, o, m)
-# define BOOST_PP_FOR_246(s, p, o, m) BOOST_PP_FOR_246_C(BOOST_PP_BOOL(p(247, s)), s, p, o, m)
-# define BOOST_PP_FOR_247(s, p, o, m) BOOST_PP_FOR_247_C(BOOST_PP_BOOL(p(248, s)), s, p, o, m)
-# define BOOST_PP_FOR_248(s, p, o, m) BOOST_PP_FOR_248_C(BOOST_PP_BOOL(p(249, s)), s, p, o, m)
-# define BOOST_PP_FOR_249(s, p, o, m) BOOST_PP_FOR_249_C(BOOST_PP_BOOL(p(250, s)), s, p, o, m)
-# define BOOST_PP_FOR_250(s, p, o, m) BOOST_PP_FOR_250_C(BOOST_PP_BOOL(p(251, s)), s, p, o, m)
-# define BOOST_PP_FOR_251(s, p, o, m) BOOST_PP_FOR_251_C(BOOST_PP_BOOL(p(252, s)), s, p, o, m)
-# define BOOST_PP_FOR_252(s, p, o, m) BOOST_PP_FOR_252_C(BOOST_PP_BOOL(p(253, s)), s, p, o, m)
-# define BOOST_PP_FOR_253(s, p, o, m) BOOST_PP_FOR_253_C(BOOST_PP_BOOL(p(254, s)), s, p, o, m)
-# define BOOST_PP_FOR_254(s, p, o, m) BOOST_PP_FOR_254_C(BOOST_PP_BOOL(p(255, s)), s, p, o, m)
-# define BOOST_PP_FOR_255(s, p, o, m) BOOST_PP_FOR_255_C(BOOST_PP_BOOL(p(256, s)), s, p, o, m)
-# define BOOST_PP_FOR_256(s, p, o, m) BOOST_PP_FOR_256_C(BOOST_PP_BOOL(p(257, s)), s, p, o, m)
-#
-# define BOOST_PP_FOR_1_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(2, s) BOOST_PP_IIF(c, BOOST_PP_FOR_2, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(2, s), p, o, m)
-# define BOOST_PP_FOR_2_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(3, s) BOOST_PP_IIF(c, BOOST_PP_FOR_3, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(3, s), p, o, m)
-# define BOOST_PP_FOR_3_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(4, s) BOOST_PP_IIF(c, BOOST_PP_FOR_4, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(4, s), p, o, m)
-# define BOOST_PP_FOR_4_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(5, s) BOOST_PP_IIF(c, BOOST_PP_FOR_5, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(5, s), p, o, m)
-# define BOOST_PP_FOR_5_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(6, s) BOOST_PP_IIF(c, BOOST_PP_FOR_6, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(6, s), p, o, m)
-# define BOOST_PP_FOR_6_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(7, s) BOOST_PP_IIF(c, BOOST_PP_FOR_7, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(7, s), p, o, m)
-# define BOOST_PP_FOR_7_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(8, s) BOOST_PP_IIF(c, BOOST_PP_FOR_8, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(8, s), p, o, m)
-# define BOOST_PP_FOR_8_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(9, s) BOOST_PP_IIF(c, BOOST_PP_FOR_9, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(9, s), p, o, m)
-# define BOOST_PP_FOR_9_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(10, s) BOOST_PP_IIF(c, BOOST_PP_FOR_10, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(10, s), p, o, m)
-# define BOOST_PP_FOR_10_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(11, s) BOOST_PP_IIF(c, BOOST_PP_FOR_11, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(11, s), p, o, m)
-# define BOOST_PP_FOR_11_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(12, s) BOOST_PP_IIF(c, BOOST_PP_FOR_12, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(12, s), p, o, m)
-# define BOOST_PP_FOR_12_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(13, s) BOOST_PP_IIF(c, BOOST_PP_FOR_13, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(13, s), p, o, m)
-# define BOOST_PP_FOR_13_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(14, s) BOOST_PP_IIF(c, BOOST_PP_FOR_14, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(14, s), p, o, m)
-# define BOOST_PP_FOR_14_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(15, s) BOOST_PP_IIF(c, BOOST_PP_FOR_15, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(15, s), p, o, m)
-# define BOOST_PP_FOR_15_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(16, s) BOOST_PP_IIF(c, BOOST_PP_FOR_16, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(16, s), p, o, m)
-# define BOOST_PP_FOR_16_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(17, s) BOOST_PP_IIF(c, BOOST_PP_FOR_17, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(17, s), p, o, m)
-# define BOOST_PP_FOR_17_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(18, s) BOOST_PP_IIF(c, BOOST_PP_FOR_18, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(18, s), p, o, m)
-# define BOOST_PP_FOR_18_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(19, s) BOOST_PP_IIF(c, BOOST_PP_FOR_19, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(19, s), p, o, m)
-# define BOOST_PP_FOR_19_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(20, s) BOOST_PP_IIF(c, BOOST_PP_FOR_20, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(20, s), p, o, m)
-# define BOOST_PP_FOR_20_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(21, s) BOOST_PP_IIF(c, BOOST_PP_FOR_21, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(21, s), p, o, m)
-# define BOOST_PP_FOR_21_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(22, s) BOOST_PP_IIF(c, BOOST_PP_FOR_22, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(22, s), p, o, m)
-# define BOOST_PP_FOR_22_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(23, s) BOOST_PP_IIF(c, BOOST_PP_FOR_23, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(23, s), p, o, m)
-# define BOOST_PP_FOR_23_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(24, s) BOOST_PP_IIF(c, BOOST_PP_FOR_24, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(24, s), p, o, m)
-# define BOOST_PP_FOR_24_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(25, s) BOOST_PP_IIF(c, BOOST_PP_FOR_25, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(25, s), p, o, m)
-# define BOOST_PP_FOR_25_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(26, s) BOOST_PP_IIF(c, BOOST_PP_FOR_26, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(26, s), p, o, m)
-# define BOOST_PP_FOR_26_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(27, s) BOOST_PP_IIF(c, BOOST_PP_FOR_27, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(27, s), p, o, m)
-# define BOOST_PP_FOR_27_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(28, s) BOOST_PP_IIF(c, BOOST_PP_FOR_28, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(28, s), p, o, m)
-# define BOOST_PP_FOR_28_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(29, s) BOOST_PP_IIF(c, BOOST_PP_FOR_29, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(29, s), p, o, m)
-# define BOOST_PP_FOR_29_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(30, s) BOOST_PP_IIF(c, BOOST_PP_FOR_30, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(30, s), p, o, m)
-# define BOOST_PP_FOR_30_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(31, s) BOOST_PP_IIF(c, BOOST_PP_FOR_31, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(31, s), p, o, m)
-# define BOOST_PP_FOR_31_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(32, s) BOOST_PP_IIF(c, BOOST_PP_FOR_32, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(32, s), p, o, m)
-# define BOOST_PP_FOR_32_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(33, s) BOOST_PP_IIF(c, BOOST_PP_FOR_33, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(33, s), p, o, m)
-# define BOOST_PP_FOR_33_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(34, s) BOOST_PP_IIF(c, BOOST_PP_FOR_34, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(34, s), p, o, m)
-# define BOOST_PP_FOR_34_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(35, s) BOOST_PP_IIF(c, BOOST_PP_FOR_35, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(35, s), p, o, m)
-# define BOOST_PP_FOR_35_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(36, s) BOOST_PP_IIF(c, BOOST_PP_FOR_36, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(36, s), p, o, m)
-# define BOOST_PP_FOR_36_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(37, s) BOOST_PP_IIF(c, BOOST_PP_FOR_37, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(37, s), p, o, m)
-# define BOOST_PP_FOR_37_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(38, s) BOOST_PP_IIF(c, BOOST_PP_FOR_38, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(38, s), p, o, m)
-# define BOOST_PP_FOR_38_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(39, s) BOOST_PP_IIF(c, BOOST_PP_FOR_39, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(39, s), p, o, m)
-# define BOOST_PP_FOR_39_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(40, s) BOOST_PP_IIF(c, BOOST_PP_FOR_40, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(40, s), p, o, m)
-# define BOOST_PP_FOR_40_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(41, s) BOOST_PP_IIF(c, BOOST_PP_FOR_41, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(41, s), p, o, m)
-# define BOOST_PP_FOR_41_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(42, s) BOOST_PP_IIF(c, BOOST_PP_FOR_42, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(42, s), p, o, m)
-# define BOOST_PP_FOR_42_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(43, s) BOOST_PP_IIF(c, BOOST_PP_FOR_43, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(43, s), p, o, m)
-# define BOOST_PP_FOR_43_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(44, s) BOOST_PP_IIF(c, BOOST_PP_FOR_44, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(44, s), p, o, m)
-# define BOOST_PP_FOR_44_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(45, s) BOOST_PP_IIF(c, BOOST_PP_FOR_45, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(45, s), p, o, m)
-# define BOOST_PP_FOR_45_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(46, s) BOOST_PP_IIF(c, BOOST_PP_FOR_46, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(46, s), p, o, m)
-# define BOOST_PP_FOR_46_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(47, s) BOOST_PP_IIF(c, BOOST_PP_FOR_47, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(47, s), p, o, m)
-# define BOOST_PP_FOR_47_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(48, s) BOOST_PP_IIF(c, BOOST_PP_FOR_48, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(48, s), p, o, m)
-# define BOOST_PP_FOR_48_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(49, s) BOOST_PP_IIF(c, BOOST_PP_FOR_49, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(49, s), p, o, m)
-# define BOOST_PP_FOR_49_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(50, s) BOOST_PP_IIF(c, BOOST_PP_FOR_50, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(50, s), p, o, m)
-# define BOOST_PP_FOR_50_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(51, s) BOOST_PP_IIF(c, BOOST_PP_FOR_51, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(51, s), p, o, m)
-# define BOOST_PP_FOR_51_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(52, s) BOOST_PP_IIF(c, BOOST_PP_FOR_52, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(52, s), p, o, m)
-# define BOOST_PP_FOR_52_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(53, s) BOOST_PP_IIF(c, BOOST_PP_FOR_53, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(53, s), p, o, m)
-# define BOOST_PP_FOR_53_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(54, s) BOOST_PP_IIF(c, BOOST_PP_FOR_54, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(54, s), p, o, m)
-# define BOOST_PP_FOR_54_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(55, s) BOOST_PP_IIF(c, BOOST_PP_FOR_55, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(55, s), p, o, m)
-# define BOOST_PP_FOR_55_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(56, s) BOOST_PP_IIF(c, BOOST_PP_FOR_56, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(56, s), p, o, m)
-# define BOOST_PP_FOR_56_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(57, s) BOOST_PP_IIF(c, BOOST_PP_FOR_57, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(57, s), p, o, m)
-# define BOOST_PP_FOR_57_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(58, s) BOOST_PP_IIF(c, BOOST_PP_FOR_58, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(58, s), p, o, m)
-# define BOOST_PP_FOR_58_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(59, s) BOOST_PP_IIF(c, BOOST_PP_FOR_59, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(59, s), p, o, m)
-# define BOOST_PP_FOR_59_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(60, s) BOOST_PP_IIF(c, BOOST_PP_FOR_60, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(60, s), p, o, m)
-# define BOOST_PP_FOR_60_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(61, s) BOOST_PP_IIF(c, BOOST_PP_FOR_61, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(61, s), p, o, m)
-# define BOOST_PP_FOR_61_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(62, s) BOOST_PP_IIF(c, BOOST_PP_FOR_62, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(62, s), p, o, m)
-# define BOOST_PP_FOR_62_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(63, s) BOOST_PP_IIF(c, BOOST_PP_FOR_63, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(63, s), p, o, m)
-# define BOOST_PP_FOR_63_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(64, s) BOOST_PP_IIF(c, BOOST_PP_FOR_64, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(64, s), p, o, m)
-# define BOOST_PP_FOR_64_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(65, s) BOOST_PP_IIF(c, BOOST_PP_FOR_65, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(65, s), p, o, m)
-# define BOOST_PP_FOR_65_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(66, s) BOOST_PP_IIF(c, BOOST_PP_FOR_66, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(66, s), p, o, m)
-# define BOOST_PP_FOR_66_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(67, s) BOOST_PP_IIF(c, BOOST_PP_FOR_67, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(67, s), p, o, m)
-# define BOOST_PP_FOR_67_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(68, s) BOOST_PP_IIF(c, BOOST_PP_FOR_68, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(68, s), p, o, m)
-# define BOOST_PP_FOR_68_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(69, s) BOOST_PP_IIF(c, BOOST_PP_FOR_69, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(69, s), p, o, m)
-# define BOOST_PP_FOR_69_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(70, s) BOOST_PP_IIF(c, BOOST_PP_FOR_70, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(70, s), p, o, m)
-# define BOOST_PP_FOR_70_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(71, s) BOOST_PP_IIF(c, BOOST_PP_FOR_71, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(71, s), p, o, m)
-# define BOOST_PP_FOR_71_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(72, s) BOOST_PP_IIF(c, BOOST_PP_FOR_72, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(72, s), p, o, m)
-# define BOOST_PP_FOR_72_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(73, s) BOOST_PP_IIF(c, BOOST_PP_FOR_73, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(73, s), p, o, m)
-# define BOOST_PP_FOR_73_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(74, s) BOOST_PP_IIF(c, BOOST_PP_FOR_74, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(74, s), p, o, m)
-# define BOOST_PP_FOR_74_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(75, s) BOOST_PP_IIF(c, BOOST_PP_FOR_75, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(75, s), p, o, m)
-# define BOOST_PP_FOR_75_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(76, s) BOOST_PP_IIF(c, BOOST_PP_FOR_76, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(76, s), p, o, m)
-# define BOOST_PP_FOR_76_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(77, s) BOOST_PP_IIF(c, BOOST_PP_FOR_77, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(77, s), p, o, m)
-# define BOOST_PP_FOR_77_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(78, s) BOOST_PP_IIF(c, BOOST_PP_FOR_78, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(78, s), p, o, m)
-# define BOOST_PP_FOR_78_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(79, s) BOOST_PP_IIF(c, BOOST_PP_FOR_79, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(79, s), p, o, m)
-# define BOOST_PP_FOR_79_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(80, s) BOOST_PP_IIF(c, BOOST_PP_FOR_80, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(80, s), p, o, m)
-# define BOOST_PP_FOR_80_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(81, s) BOOST_PP_IIF(c, BOOST_PP_FOR_81, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(81, s), p, o, m)
-# define BOOST_PP_FOR_81_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(82, s) BOOST_PP_IIF(c, BOOST_PP_FOR_82, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(82, s), p, o, m)
-# define BOOST_PP_FOR_82_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(83, s) BOOST_PP_IIF(c, BOOST_PP_FOR_83, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(83, s), p, o, m)
-# define BOOST_PP_FOR_83_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(84, s) BOOST_PP_IIF(c, BOOST_PP_FOR_84, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(84, s), p, o, m)
-# define BOOST_PP_FOR_84_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(85, s) BOOST_PP_IIF(c, BOOST_PP_FOR_85, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(85, s), p, o, m)
-# define BOOST_PP_FOR_85_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(86, s) BOOST_PP_IIF(c, BOOST_PP_FOR_86, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(86, s), p, o, m)
-# define BOOST_PP_FOR_86_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(87, s) BOOST_PP_IIF(c, BOOST_PP_FOR_87, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(87, s), p, o, m)
-# define BOOST_PP_FOR_87_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(88, s) BOOST_PP_IIF(c, BOOST_PP_FOR_88, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(88, s), p, o, m)
-# define BOOST_PP_FOR_88_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(89, s) BOOST_PP_IIF(c, BOOST_PP_FOR_89, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(89, s), p, o, m)
-# define BOOST_PP_FOR_89_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(90, s) BOOST_PP_IIF(c, BOOST_PP_FOR_90, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(90, s), p, o, m)
-# define BOOST_PP_FOR_90_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(91, s) BOOST_PP_IIF(c, BOOST_PP_FOR_91, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(91, s), p, o, m)
-# define BOOST_PP_FOR_91_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(92, s) BOOST_PP_IIF(c, BOOST_PP_FOR_92, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(92, s), p, o, m)
-# define BOOST_PP_FOR_92_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(93, s) BOOST_PP_IIF(c, BOOST_PP_FOR_93, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(93, s), p, o, m)
-# define BOOST_PP_FOR_93_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(94, s) BOOST_PP_IIF(c, BOOST_PP_FOR_94, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(94, s), p, o, m)
-# define BOOST_PP_FOR_94_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(95, s) BOOST_PP_IIF(c, BOOST_PP_FOR_95, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(95, s), p, o, m)
-# define BOOST_PP_FOR_95_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(96, s) BOOST_PP_IIF(c, BOOST_PP_FOR_96, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(96, s), p, o, m)
-# define BOOST_PP_FOR_96_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(97, s) BOOST_PP_IIF(c, BOOST_PP_FOR_97, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(97, s), p, o, m)
-# define BOOST_PP_FOR_97_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(98, s) BOOST_PP_IIF(c, BOOST_PP_FOR_98, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(98, s), p, o, m)
-# define BOOST_PP_FOR_98_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(99, s) BOOST_PP_IIF(c, BOOST_PP_FOR_99, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(99, s), p, o, m)
-# define BOOST_PP_FOR_99_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(100, s) BOOST_PP_IIF(c, BOOST_PP_FOR_100, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(100, s), p, o, m)
-# define BOOST_PP_FOR_100_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(101, s) BOOST_PP_IIF(c, BOOST_PP_FOR_101, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(101, s), p, o, m)
-# define BOOST_PP_FOR_101_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(102, s) BOOST_PP_IIF(c, BOOST_PP_FOR_102, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(102, s), p, o, m)
-# define BOOST_PP_FOR_102_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(103, s) BOOST_PP_IIF(c, BOOST_PP_FOR_103, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(103, s), p, o, m)
-# define BOOST_PP_FOR_103_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(104, s) BOOST_PP_IIF(c, BOOST_PP_FOR_104, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(104, s), p, o, m)
-# define BOOST_PP_FOR_104_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(105, s) BOOST_PP_IIF(c, BOOST_PP_FOR_105, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(105, s), p, o, m)
-# define BOOST_PP_FOR_105_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(106, s) BOOST_PP_IIF(c, BOOST_PP_FOR_106, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(106, s), p, o, m)
-# define BOOST_PP_FOR_106_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(107, s) BOOST_PP_IIF(c, BOOST_PP_FOR_107, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(107, s), p, o, m)
-# define BOOST_PP_FOR_107_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(108, s) BOOST_PP_IIF(c, BOOST_PP_FOR_108, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(108, s), p, o, m)
-# define BOOST_PP_FOR_108_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(109, s) BOOST_PP_IIF(c, BOOST_PP_FOR_109, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(109, s), p, o, m)
-# define BOOST_PP_FOR_109_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(110, s) BOOST_PP_IIF(c, BOOST_PP_FOR_110, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(110, s), p, o, m)
-# define BOOST_PP_FOR_110_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(111, s) BOOST_PP_IIF(c, BOOST_PP_FOR_111, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(111, s), p, o, m)
-# define BOOST_PP_FOR_111_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(112, s) BOOST_PP_IIF(c, BOOST_PP_FOR_112, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(112, s), p, o, m)
-# define BOOST_PP_FOR_112_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(113, s) BOOST_PP_IIF(c, BOOST_PP_FOR_113, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(113, s), p, o, m)
-# define BOOST_PP_FOR_113_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(114, s) BOOST_PP_IIF(c, BOOST_PP_FOR_114, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(114, s), p, o, m)
-# define BOOST_PP_FOR_114_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(115, s) BOOST_PP_IIF(c, BOOST_PP_FOR_115, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(115, s), p, o, m)
-# define BOOST_PP_FOR_115_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(116, s) BOOST_PP_IIF(c, BOOST_PP_FOR_116, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(116, s), p, o, m)
-# define BOOST_PP_FOR_116_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(117, s) BOOST_PP_IIF(c, BOOST_PP_FOR_117, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(117, s), p, o, m)
-# define BOOST_PP_FOR_117_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(118, s) BOOST_PP_IIF(c, BOOST_PP_FOR_118, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(118, s), p, o, m)
-# define BOOST_PP_FOR_118_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(119, s) BOOST_PP_IIF(c, BOOST_PP_FOR_119, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(119, s), p, o, m)
-# define BOOST_PP_FOR_119_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(120, s) BOOST_PP_IIF(c, BOOST_PP_FOR_120, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(120, s), p, o, m)
-# define BOOST_PP_FOR_120_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(121, s) BOOST_PP_IIF(c, BOOST_PP_FOR_121, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(121, s), p, o, m)
-# define BOOST_PP_FOR_121_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(122, s) BOOST_PP_IIF(c, BOOST_PP_FOR_122, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(122, s), p, o, m)
-# define BOOST_PP_FOR_122_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(123, s) BOOST_PP_IIF(c, BOOST_PP_FOR_123, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(123, s), p, o, m)
-# define BOOST_PP_FOR_123_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(124, s) BOOST_PP_IIF(c, BOOST_PP_FOR_124, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(124, s), p, o, m)
-# define BOOST_PP_FOR_124_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(125, s) BOOST_PP_IIF(c, BOOST_PP_FOR_125, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(125, s), p, o, m)
-# define BOOST_PP_FOR_125_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(126, s) BOOST_PP_IIF(c, BOOST_PP_FOR_126, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(126, s), p, o, m)
-# define BOOST_PP_FOR_126_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(127, s) BOOST_PP_IIF(c, BOOST_PP_FOR_127, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(127, s), p, o, m)
-# define BOOST_PP_FOR_127_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(128, s) BOOST_PP_IIF(c, BOOST_PP_FOR_128, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(128, s), p, o, m)
-# define BOOST_PP_FOR_128_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(129, s) BOOST_PP_IIF(c, BOOST_PP_FOR_129, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(129, s), p, o, m)
-# define BOOST_PP_FOR_129_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(130, s) BOOST_PP_IIF(c, BOOST_PP_FOR_130, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(130, s), p, o, m)
-# define BOOST_PP_FOR_130_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(131, s) BOOST_PP_IIF(c, BOOST_PP_FOR_131, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(131, s), p, o, m)
-# define BOOST_PP_FOR_131_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(132, s) BOOST_PP_IIF(c, BOOST_PP_FOR_132, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(132, s), p, o, m)
-# define BOOST_PP_FOR_132_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(133, s) BOOST_PP_IIF(c, BOOST_PP_FOR_133, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(133, s), p, o, m)
-# define BOOST_PP_FOR_133_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(134, s) BOOST_PP_IIF(c, BOOST_PP_FOR_134, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(134, s), p, o, m)
-# define BOOST_PP_FOR_134_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(135, s) BOOST_PP_IIF(c, BOOST_PP_FOR_135, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(135, s), p, o, m)
-# define BOOST_PP_FOR_135_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(136, s) BOOST_PP_IIF(c, BOOST_PP_FOR_136, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(136, s), p, o, m)
-# define BOOST_PP_FOR_136_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(137, s) BOOST_PP_IIF(c, BOOST_PP_FOR_137, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(137, s), p, o, m)
-# define BOOST_PP_FOR_137_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(138, s) BOOST_PP_IIF(c, BOOST_PP_FOR_138, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(138, s), p, o, m)
-# define BOOST_PP_FOR_138_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(139, s) BOOST_PP_IIF(c, BOOST_PP_FOR_139, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(139, s), p, o, m)
-# define BOOST_PP_FOR_139_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(140, s) BOOST_PP_IIF(c, BOOST_PP_FOR_140, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(140, s), p, o, m)
-# define BOOST_PP_FOR_140_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(141, s) BOOST_PP_IIF(c, BOOST_PP_FOR_141, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(141, s), p, o, m)
-# define BOOST_PP_FOR_141_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(142, s) BOOST_PP_IIF(c, BOOST_PP_FOR_142, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(142, s), p, o, m)
-# define BOOST_PP_FOR_142_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(143, s) BOOST_PP_IIF(c, BOOST_PP_FOR_143, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(143, s), p, o, m)
-# define BOOST_PP_FOR_143_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(144, s) BOOST_PP_IIF(c, BOOST_PP_FOR_144, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(144, s), p, o, m)
-# define BOOST_PP_FOR_144_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(145, s) BOOST_PP_IIF(c, BOOST_PP_FOR_145, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(145, s), p, o, m)
-# define BOOST_PP_FOR_145_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(146, s) BOOST_PP_IIF(c, BOOST_PP_FOR_146, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(146, s), p, o, m)
-# define BOOST_PP_FOR_146_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(147, s) BOOST_PP_IIF(c, BOOST_PP_FOR_147, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(147, s), p, o, m)
-# define BOOST_PP_FOR_147_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(148, s) BOOST_PP_IIF(c, BOOST_PP_FOR_148, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(148, s), p, o, m)
-# define BOOST_PP_FOR_148_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(149, s) BOOST_PP_IIF(c, BOOST_PP_FOR_149, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(149, s), p, o, m)
-# define BOOST_PP_FOR_149_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(150, s) BOOST_PP_IIF(c, BOOST_PP_FOR_150, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(150, s), p, o, m)
-# define BOOST_PP_FOR_150_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(151, s) BOOST_PP_IIF(c, BOOST_PP_FOR_151, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(151, s), p, o, m)
-# define BOOST_PP_FOR_151_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(152, s) BOOST_PP_IIF(c, BOOST_PP_FOR_152, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(152, s), p, o, m)
-# define BOOST_PP_FOR_152_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(153, s) BOOST_PP_IIF(c, BOOST_PP_FOR_153, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(153, s), p, o, m)
-# define BOOST_PP_FOR_153_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(154, s) BOOST_PP_IIF(c, BOOST_PP_FOR_154, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(154, s), p, o, m)
-# define BOOST_PP_FOR_154_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(155, s) BOOST_PP_IIF(c, BOOST_PP_FOR_155, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(155, s), p, o, m)
-# define BOOST_PP_FOR_155_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(156, s) BOOST_PP_IIF(c, BOOST_PP_FOR_156, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(156, s), p, o, m)
-# define BOOST_PP_FOR_156_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(157, s) BOOST_PP_IIF(c, BOOST_PP_FOR_157, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(157, s), p, o, m)
-# define BOOST_PP_FOR_157_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(158, s) BOOST_PP_IIF(c, BOOST_PP_FOR_158, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(158, s), p, o, m)
-# define BOOST_PP_FOR_158_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(159, s) BOOST_PP_IIF(c, BOOST_PP_FOR_159, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(159, s), p, o, m)
-# define BOOST_PP_FOR_159_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(160, s) BOOST_PP_IIF(c, BOOST_PP_FOR_160, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(160, s), p, o, m)
-# define BOOST_PP_FOR_160_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(161, s) BOOST_PP_IIF(c, BOOST_PP_FOR_161, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(161, s), p, o, m)
-# define BOOST_PP_FOR_161_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(162, s) BOOST_PP_IIF(c, BOOST_PP_FOR_162, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(162, s), p, o, m)
-# define BOOST_PP_FOR_162_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(163, s) BOOST_PP_IIF(c, BOOST_PP_FOR_163, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(163, s), p, o, m)
-# define BOOST_PP_FOR_163_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(164, s) BOOST_PP_IIF(c, BOOST_PP_FOR_164, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(164, s), p, o, m)
-# define BOOST_PP_FOR_164_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(165, s) BOOST_PP_IIF(c, BOOST_PP_FOR_165, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(165, s), p, o, m)
-# define BOOST_PP_FOR_165_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(166, s) BOOST_PP_IIF(c, BOOST_PP_FOR_166, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(166, s), p, o, m)
-# define BOOST_PP_FOR_166_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(167, s) BOOST_PP_IIF(c, BOOST_PP_FOR_167, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(167, s), p, o, m)
-# define BOOST_PP_FOR_167_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(168, s) BOOST_PP_IIF(c, BOOST_PP_FOR_168, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(168, s), p, o, m)
-# define BOOST_PP_FOR_168_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(169, s) BOOST_PP_IIF(c, BOOST_PP_FOR_169, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(169, s), p, o, m)
-# define BOOST_PP_FOR_169_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(170, s) BOOST_PP_IIF(c, BOOST_PP_FOR_170, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(170, s), p, o, m)
-# define BOOST_PP_FOR_170_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(171, s) BOOST_PP_IIF(c, BOOST_PP_FOR_171, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(171, s), p, o, m)
-# define BOOST_PP_FOR_171_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(172, s) BOOST_PP_IIF(c, BOOST_PP_FOR_172, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(172, s), p, o, m)
-# define BOOST_PP_FOR_172_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(173, s) BOOST_PP_IIF(c, BOOST_PP_FOR_173, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(173, s), p, o, m)
-# define BOOST_PP_FOR_173_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(174, s) BOOST_PP_IIF(c, BOOST_PP_FOR_174, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(174, s), p, o, m)
-# define BOOST_PP_FOR_174_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(175, s) BOOST_PP_IIF(c, BOOST_PP_FOR_175, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(175, s), p, o, m)
-# define BOOST_PP_FOR_175_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(176, s) BOOST_PP_IIF(c, BOOST_PP_FOR_176, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(176, s), p, o, m)
-# define BOOST_PP_FOR_176_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(177, s) BOOST_PP_IIF(c, BOOST_PP_FOR_177, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(177, s), p, o, m)
-# define BOOST_PP_FOR_177_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(178, s) BOOST_PP_IIF(c, BOOST_PP_FOR_178, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(178, s), p, o, m)
-# define BOOST_PP_FOR_178_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(179, s) BOOST_PP_IIF(c, BOOST_PP_FOR_179, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(179, s), p, o, m)
-# define BOOST_PP_FOR_179_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(180, s) BOOST_PP_IIF(c, BOOST_PP_FOR_180, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(180, s), p, o, m)
-# define BOOST_PP_FOR_180_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(181, s) BOOST_PP_IIF(c, BOOST_PP_FOR_181, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(181, s), p, o, m)
-# define BOOST_PP_FOR_181_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(182, s) BOOST_PP_IIF(c, BOOST_PP_FOR_182, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(182, s), p, o, m)
-# define BOOST_PP_FOR_182_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(183, s) BOOST_PP_IIF(c, BOOST_PP_FOR_183, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(183, s), p, o, m)
-# define BOOST_PP_FOR_183_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(184, s) BOOST_PP_IIF(c, BOOST_PP_FOR_184, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(184, s), p, o, m)
-# define BOOST_PP_FOR_184_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(185, s) BOOST_PP_IIF(c, BOOST_PP_FOR_185, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(185, s), p, o, m)
-# define BOOST_PP_FOR_185_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(186, s) BOOST_PP_IIF(c, BOOST_PP_FOR_186, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(186, s), p, o, m)
-# define BOOST_PP_FOR_186_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(187, s) BOOST_PP_IIF(c, BOOST_PP_FOR_187, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(187, s), p, o, m)
-# define BOOST_PP_FOR_187_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(188, s) BOOST_PP_IIF(c, BOOST_PP_FOR_188, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(188, s), p, o, m)
-# define BOOST_PP_FOR_188_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(189, s) BOOST_PP_IIF(c, BOOST_PP_FOR_189, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(189, s), p, o, m)
-# define BOOST_PP_FOR_189_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(190, s) BOOST_PP_IIF(c, BOOST_PP_FOR_190, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(190, s), p, o, m)
-# define BOOST_PP_FOR_190_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(191, s) BOOST_PP_IIF(c, BOOST_PP_FOR_191, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(191, s), p, o, m)
-# define BOOST_PP_FOR_191_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(192, s) BOOST_PP_IIF(c, BOOST_PP_FOR_192, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(192, s), p, o, m)
-# define BOOST_PP_FOR_192_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(193, s) BOOST_PP_IIF(c, BOOST_PP_FOR_193, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(193, s), p, o, m)
-# define BOOST_PP_FOR_193_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(194, s) BOOST_PP_IIF(c, BOOST_PP_FOR_194, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(194, s), p, o, m)
-# define BOOST_PP_FOR_194_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(195, s) BOOST_PP_IIF(c, BOOST_PP_FOR_195, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(195, s), p, o, m)
-# define BOOST_PP_FOR_195_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(196, s) BOOST_PP_IIF(c, BOOST_PP_FOR_196, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(196, s), p, o, m)
-# define BOOST_PP_FOR_196_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(197, s) BOOST_PP_IIF(c, BOOST_PP_FOR_197, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(197, s), p, o, m)
-# define BOOST_PP_FOR_197_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(198, s) BOOST_PP_IIF(c, BOOST_PP_FOR_198, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(198, s), p, o, m)
-# define BOOST_PP_FOR_198_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(199, s) BOOST_PP_IIF(c, BOOST_PP_FOR_199, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(199, s), p, o, m)
-# define BOOST_PP_FOR_199_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(200, s) BOOST_PP_IIF(c, BOOST_PP_FOR_200, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(200, s), p, o, m)
-# define BOOST_PP_FOR_200_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(201, s) BOOST_PP_IIF(c, BOOST_PP_FOR_201, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(201, s), p, o, m)
-# define BOOST_PP_FOR_201_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(202, s) BOOST_PP_IIF(c, BOOST_PP_FOR_202, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(202, s), p, o, m)
-# define BOOST_PP_FOR_202_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(203, s) BOOST_PP_IIF(c, BOOST_PP_FOR_203, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(203, s), p, o, m)
-# define BOOST_PP_FOR_203_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(204, s) BOOST_PP_IIF(c, BOOST_PP_FOR_204, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(204, s), p, o, m)
-# define BOOST_PP_FOR_204_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(205, s) BOOST_PP_IIF(c, BOOST_PP_FOR_205, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(205, s), p, o, m)
-# define BOOST_PP_FOR_205_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(206, s) BOOST_PP_IIF(c, BOOST_PP_FOR_206, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(206, s), p, o, m)
-# define BOOST_PP_FOR_206_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(207, s) BOOST_PP_IIF(c, BOOST_PP_FOR_207, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(207, s), p, o, m)
-# define BOOST_PP_FOR_207_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(208, s) BOOST_PP_IIF(c, BOOST_PP_FOR_208, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(208, s), p, o, m)
-# define BOOST_PP_FOR_208_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(209, s) BOOST_PP_IIF(c, BOOST_PP_FOR_209, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(209, s), p, o, m)
-# define BOOST_PP_FOR_209_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(210, s) BOOST_PP_IIF(c, BOOST_PP_FOR_210, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(210, s), p, o, m)
-# define BOOST_PP_FOR_210_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(211, s) BOOST_PP_IIF(c, BOOST_PP_FOR_211, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(211, s), p, o, m)
-# define BOOST_PP_FOR_211_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(212, s) BOOST_PP_IIF(c, BOOST_PP_FOR_212, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(212, s), p, o, m)
-# define BOOST_PP_FOR_212_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(213, s) BOOST_PP_IIF(c, BOOST_PP_FOR_213, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(213, s), p, o, m)
-# define BOOST_PP_FOR_213_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(214, s) BOOST_PP_IIF(c, BOOST_PP_FOR_214, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(214, s), p, o, m)
-# define BOOST_PP_FOR_214_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(215, s) BOOST_PP_IIF(c, BOOST_PP_FOR_215, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(215, s), p, o, m)
-# define BOOST_PP_FOR_215_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(216, s) BOOST_PP_IIF(c, BOOST_PP_FOR_216, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(216, s), p, o, m)
-# define BOOST_PP_FOR_216_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(217, s) BOOST_PP_IIF(c, BOOST_PP_FOR_217, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(217, s), p, o, m)
-# define BOOST_PP_FOR_217_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(218, s) BOOST_PP_IIF(c, BOOST_PP_FOR_218, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(218, s), p, o, m)
-# define BOOST_PP_FOR_218_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(219, s) BOOST_PP_IIF(c, BOOST_PP_FOR_219, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(219, s), p, o, m)
-# define BOOST_PP_FOR_219_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(220, s) BOOST_PP_IIF(c, BOOST_PP_FOR_220, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(220, s), p, o, m)
-# define BOOST_PP_FOR_220_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(221, s) BOOST_PP_IIF(c, BOOST_PP_FOR_221, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(221, s), p, o, m)
-# define BOOST_PP_FOR_221_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(222, s) BOOST_PP_IIF(c, BOOST_PP_FOR_222, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(222, s), p, o, m)
-# define BOOST_PP_FOR_222_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(223, s) BOOST_PP_IIF(c, BOOST_PP_FOR_223, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(223, s), p, o, m)
-# define BOOST_PP_FOR_223_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(224, s) BOOST_PP_IIF(c, BOOST_PP_FOR_224, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(224, s), p, o, m)
-# define BOOST_PP_FOR_224_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(225, s) BOOST_PP_IIF(c, BOOST_PP_FOR_225, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(225, s), p, o, m)
-# define BOOST_PP_FOR_225_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(226, s) BOOST_PP_IIF(c, BOOST_PP_FOR_226, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(226, s), p, o, m)
-# define BOOST_PP_FOR_226_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(227, s) BOOST_PP_IIF(c, BOOST_PP_FOR_227, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(227, s), p, o, m)
-# define BOOST_PP_FOR_227_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(228, s) BOOST_PP_IIF(c, BOOST_PP_FOR_228, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(228, s), p, o, m)
-# define BOOST_PP_FOR_228_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(229, s) BOOST_PP_IIF(c, BOOST_PP_FOR_229, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(229, s), p, o, m)
-# define BOOST_PP_FOR_229_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(230, s) BOOST_PP_IIF(c, BOOST_PP_FOR_230, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(230, s), p, o, m)
-# define BOOST_PP_FOR_230_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(231, s) BOOST_PP_IIF(c, BOOST_PP_FOR_231, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(231, s), p, o, m)
-# define BOOST_PP_FOR_231_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(232, s) BOOST_PP_IIF(c, BOOST_PP_FOR_232, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(232, s), p, o, m)
-# define BOOST_PP_FOR_232_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(233, s) BOOST_PP_IIF(c, BOOST_PP_FOR_233, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(233, s), p, o, m)
-# define BOOST_PP_FOR_233_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(234, s) BOOST_PP_IIF(c, BOOST_PP_FOR_234, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(234, s), p, o, m)
-# define BOOST_PP_FOR_234_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(235, s) BOOST_PP_IIF(c, BOOST_PP_FOR_235, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(235, s), p, o, m)
-# define BOOST_PP_FOR_235_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(236, s) BOOST_PP_IIF(c, BOOST_PP_FOR_236, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(236, s), p, o, m)
-# define BOOST_PP_FOR_236_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(237, s) BOOST_PP_IIF(c, BOOST_PP_FOR_237, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(237, s), p, o, m)
-# define BOOST_PP_FOR_237_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(238, s) BOOST_PP_IIF(c, BOOST_PP_FOR_238, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(238, s), p, o, m)
-# define BOOST_PP_FOR_238_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(239, s) BOOST_PP_IIF(c, BOOST_PP_FOR_239, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(239, s), p, o, m)
-# define BOOST_PP_FOR_239_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(240, s) BOOST_PP_IIF(c, BOOST_PP_FOR_240, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(240, s), p, o, m)
-# define BOOST_PP_FOR_240_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(241, s) BOOST_PP_IIF(c, BOOST_PP_FOR_241, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(241, s), p, o, m)
-# define BOOST_PP_FOR_241_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(242, s) BOOST_PP_IIF(c, BOOST_PP_FOR_242, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(242, s), p, o, m)
-# define BOOST_PP_FOR_242_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(243, s) BOOST_PP_IIF(c, BOOST_PP_FOR_243, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(243, s), p, o, m)
-# define BOOST_PP_FOR_243_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(244, s) BOOST_PP_IIF(c, BOOST_PP_FOR_244, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(244, s), p, o, m)
-# define BOOST_PP_FOR_244_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(245, s) BOOST_PP_IIF(c, BOOST_PP_FOR_245, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(245, s), p, o, m)
-# define BOOST_PP_FOR_245_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(246, s) BOOST_PP_IIF(c, BOOST_PP_FOR_246, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(246, s), p, o, m)
-# define BOOST_PP_FOR_246_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(247, s) BOOST_PP_IIF(c, BOOST_PP_FOR_247, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(247, s), p, o, m)
-# define BOOST_PP_FOR_247_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(248, s) BOOST_PP_IIF(c, BOOST_PP_FOR_248, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(248, s), p, o, m)
-# define BOOST_PP_FOR_248_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(249, s) BOOST_PP_IIF(c, BOOST_PP_FOR_249, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(249, s), p, o, m)
-# define BOOST_PP_FOR_249_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(250, s) BOOST_PP_IIF(c, BOOST_PP_FOR_250, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(250, s), p, o, m)
-# define BOOST_PP_FOR_250_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(251, s) BOOST_PP_IIF(c, BOOST_PP_FOR_251, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(251, s), p, o, m)
-# define BOOST_PP_FOR_251_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(252, s) BOOST_PP_IIF(c, BOOST_PP_FOR_252, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(252, s), p, o, m)
-# define BOOST_PP_FOR_252_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(253, s) BOOST_PP_IIF(c, BOOST_PP_FOR_253, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(253, s), p, o, m)
-# define BOOST_PP_FOR_253_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(254, s) BOOST_PP_IIF(c, BOOST_PP_FOR_254, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(254, s), p, o, m)
-# define BOOST_PP_FOR_254_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(255, s) BOOST_PP_IIF(c, BOOST_PP_FOR_255, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(255, s), p, o, m)
-# define BOOST_PP_FOR_255_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(256, s) BOOST_PP_IIF(c, BOOST_PP_FOR_256, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(256, s), p, o, m)
-# define BOOST_PP_FOR_256_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(257, s) BOOST_PP_IIF(c, BOOST_PP_FOR_257, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(257, s), p, o, m)
-#
-# endif
diff --git a/boost/preprocessor/repetition/detail/msvc/for.hpp b/boost/preprocessor/repetition/detail/msvc/for.hpp
deleted file mode 100644
index 35c1996..0000000
--- a/boost/preprocessor/repetition/detail/msvc/for.hpp
+++ /dev/null
@@ -1,277 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_REPETITION_DETAIL_MSVC_FOR_HPP
-# define BOOST_PREPROCESSOR_REPETITION_DETAIL_MSVC_FOR_HPP
-#
-# include <boost/preprocessor/control/if.hpp>
-# include <boost/preprocessor/tuple/eat.hpp>
-#
-# define BOOST_PP_FOR_1(s, p, o, m) BOOST_PP_IF(p(2, s), m, BOOST_PP_TUPLE_EAT_2)(2, s) BOOST_PP_IF(p(2, s), BOOST_PP_FOR_2, BOOST_PP_TUPLE_EAT_4)(o(2, s), p, o, m)
-# define BOOST_PP_FOR_2(s, p, o, m) BOOST_PP_IF(p(3, s), m, BOOST_PP_TUPLE_EAT_2)(3, s) BOOST_PP_IF(p(3, s), BOOST_PP_FOR_3, BOOST_PP_TUPLE_EAT_4)(o(3, s), p, o, m)
-# define BOOST_PP_FOR_3(s, p, o, m) BOOST_PP_IF(p(4, s), m, BOOST_PP_TUPLE_EAT_2)(4, s) BOOST_PP_IF(p(4, s), BOOST_PP_FOR_4, BOOST_PP_TUPLE_EAT_4)(o(4, s), p, o, m)
-# define BOOST_PP_FOR_4(s, p, o, m) BOOST_PP_IF(p(5, s), m, BOOST_PP_TUPLE_EAT_2)(5, s) BOOST_PP_IF(p(5, s), BOOST_PP_FOR_5, BOOST_PP_TUPLE_EAT_4)(o(5, s), p, o, m)
-# define BOOST_PP_FOR_5(s, p, o, m) BOOST_PP_IF(p(6, s), m, BOOST_PP_TUPLE_EAT_2)(6, s) BOOST_PP_IF(p(6, s), BOOST_PP_FOR_6, BOOST_PP_TUPLE_EAT_4)(o(6, s), p, o, m)
-# define BOOST_PP_FOR_6(s, p, o, m) BOOST_PP_IF(p(7, s), m, BOOST_PP_TUPLE_EAT_2)(7, s) BOOST_PP_IF(p(7, s), BOOST_PP_FOR_7, BOOST_PP_TUPLE_EAT_4)(o(7, s), p, o, m)
-# define BOOST_PP_FOR_7(s, p, o, m) BOOST_PP_IF(p(8, s), m, BOOST_PP_TUPLE_EAT_2)(8, s) BOOST_PP_IF(p(8, s), BOOST_PP_FOR_8, BOOST_PP_TUPLE_EAT_4)(o(8, s), p, o, m)
-# define BOOST_PP_FOR_8(s, p, o, m) BOOST_PP_IF(p(9, s), m, BOOST_PP_TUPLE_EAT_2)(9, s) BOOST_PP_IF(p(9, s), BOOST_PP_FOR_9, BOOST_PP_TUPLE_EAT_4)(o(9, s), p, o, m)
-# define BOOST_PP_FOR_9(s, p, o, m) BOOST_PP_IF(p(10, s), m, BOOST_PP_TUPLE_EAT_2)(10, s) BOOST_PP_IF(p(10, s), BOOST_PP_FOR_10, BOOST_PP_TUPLE_EAT_4)(o(10, s), p, o, m)
-# define BOOST_PP_FOR_10(s, p, o, m) BOOST_PP_IF(p(11, s), m, BOOST_PP_TUPLE_EAT_2)(11, s) BOOST_PP_IF(p(11, s), BOOST_PP_FOR_11, BOOST_PP_TUPLE_EAT_4)(o(11, s), p, o, m)
-# define BOOST_PP_FOR_11(s, p, o, m) BOOST_PP_IF(p(12, s), m, BOOST_PP_TUPLE_EAT_2)(12, s) BOOST_PP_IF(p(12, s), BOOST_PP_FOR_12, BOOST_PP_TUPLE_EAT_4)(o(12, s), p, o, m)
-# define BOOST_PP_FOR_12(s, p, o, m) BOOST_PP_IF(p(13, s), m, BOOST_PP_TUPLE_EAT_2)(13, s) BOOST_PP_IF(p(13, s), BOOST_PP_FOR_13, BOOST_PP_TUPLE_EAT_4)(o(13, s), p, o, m)
-# define BOOST_PP_FOR_13(s, p, o, m) BOOST_PP_IF(p(14, s), m, BOOST_PP_TUPLE_EAT_2)(14, s) BOOST_PP_IF(p(14, s), BOOST_PP_FOR_14, BOOST_PP_TUPLE_EAT_4)(o(14, s), p, o, m)
-# define BOOST_PP_FOR_14(s, p, o, m) BOOST_PP_IF(p(15, s), m, BOOST_PP_TUPLE_EAT_2)(15, s) BOOST_PP_IF(p(15, s), BOOST_PP_FOR_15, BOOST_PP_TUPLE_EAT_4)(o(15, s), p, o, m)
-# define BOOST_PP_FOR_15(s, p, o, m) BOOST_PP_IF(p(16, s), m, BOOST_PP_TUPLE_EAT_2)(16, s) BOOST_PP_IF(p(16, s), BOOST_PP_FOR_16, BOOST_PP_TUPLE_EAT_4)(o(16, s), p, o, m)
-# define BOOST_PP_FOR_16(s, p, o, m) BOOST_PP_IF(p(17, s), m, BOOST_PP_TUPLE_EAT_2)(17, s) BOOST_PP_IF(p(17, s), BOOST_PP_FOR_17, BOOST_PP_TUPLE_EAT_4)(o(17, s), p, o, m)
-# define BOOST_PP_FOR_17(s, p, o, m) BOOST_PP_IF(p(18, s), m, BOOST_PP_TUPLE_EAT_2)(18, s) BOOST_PP_IF(p(18, s), BOOST_PP_FOR_18, BOOST_PP_TUPLE_EAT_4)(o(18, s), p, o, m)
-# define BOOST_PP_FOR_18(s, p, o, m) BOOST_PP_IF(p(19, s), m, BOOST_PP_TUPLE_EAT_2)(19, s) BOOST_PP_IF(p(19, s), BOOST_PP_FOR_19, BOOST_PP_TUPLE_EAT_4)(o(19, s), p, o, m)
-# define BOOST_PP_FOR_19(s, p, o, m) BOOST_PP_IF(p(20, s), m, BOOST_PP_TUPLE_EAT_2)(20, s) BOOST_PP_IF(p(20, s), BOOST_PP_FOR_20, BOOST_PP_TUPLE_EAT_4)(o(20, s), p, o, m)
-# define BOOST_PP_FOR_20(s, p, o, m) BOOST_PP_IF(p(21, s), m, BOOST_PP_TUPLE_EAT_2)(21, s) BOOST_PP_IF(p(21, s), BOOST_PP_FOR_21, BOOST_PP_TUPLE_EAT_4)(o(21, s), p, o, m)
-# define BOOST_PP_FOR_21(s, p, o, m) BOOST_PP_IF(p(22, s), m, BOOST_PP_TUPLE_EAT_2)(22, s) BOOST_PP_IF(p(22, s), BOOST_PP_FOR_22, BOOST_PP_TUPLE_EAT_4)(o(22, s), p, o, m)
-# define BOOST_PP_FOR_22(s, p, o, m) BOOST_PP_IF(p(23, s), m, BOOST_PP_TUPLE_EAT_2)(23, s) BOOST_PP_IF(p(23, s), BOOST_PP_FOR_23, BOOST_PP_TUPLE_EAT_4)(o(23, s), p, o, m)
-# define BOOST_PP_FOR_23(s, p, o, m) BOOST_PP_IF(p(24, s), m, BOOST_PP_TUPLE_EAT_2)(24, s) BOOST_PP_IF(p(24, s), BOOST_PP_FOR_24, BOOST_PP_TUPLE_EAT_4)(o(24, s), p, o, m)
-# define BOOST_PP_FOR_24(s, p, o, m) BOOST_PP_IF(p(25, s), m, BOOST_PP_TUPLE_EAT_2)(25, s) BOOST_PP_IF(p(25, s), BOOST_PP_FOR_25, BOOST_PP_TUPLE_EAT_4)(o(25, s), p, o, m)
-# define BOOST_PP_FOR_25(s, p, o, m) BOOST_PP_IF(p(26, s), m, BOOST_PP_TUPLE_EAT_2)(26, s) BOOST_PP_IF(p(26, s), BOOST_PP_FOR_26, BOOST_PP_TUPLE_EAT_4)(o(26, s), p, o, m)
-# define BOOST_PP_FOR_26(s, p, o, m) BOOST_PP_IF(p(27, s), m, BOOST_PP_TUPLE_EAT_2)(27, s) BOOST_PP_IF(p(27, s), BOOST_PP_FOR_27, BOOST_PP_TUPLE_EAT_4)(o(27, s), p, o, m)
-# define BOOST_PP_FOR_27(s, p, o, m) BOOST_PP_IF(p(28, s), m, BOOST_PP_TUPLE_EAT_2)(28, s) BOOST_PP_IF(p(28, s), BOOST_PP_FOR_28, BOOST_PP_TUPLE_EAT_4)(o(28, s), p, o, m)
-# define BOOST_PP_FOR_28(s, p, o, m) BOOST_PP_IF(p(29, s), m, BOOST_PP_TUPLE_EAT_2)(29, s) BOOST_PP_IF(p(29, s), BOOST_PP_FOR_29, BOOST_PP_TUPLE_EAT_4)(o(29, s), p, o, m)
-# define BOOST_PP_FOR_29(s, p, o, m) BOOST_PP_IF(p(30, s), m, BOOST_PP_TUPLE_EAT_2)(30, s) BOOST_PP_IF(p(30, s), BOOST_PP_FOR_30, BOOST_PP_TUPLE_EAT_4)(o(30, s), p, o, m)
-# define BOOST_PP_FOR_30(s, p, o, m) BOOST_PP_IF(p(31, s), m, BOOST_PP_TUPLE_EAT_2)(31, s) BOOST_PP_IF(p(31, s), BOOST_PP_FOR_31, BOOST_PP_TUPLE_EAT_4)(o(31, s), p, o, m)
-# define BOOST_PP_FOR_31(s, p, o, m) BOOST_PP_IF(p(32, s), m, BOOST_PP_TUPLE_EAT_2)(32, s) BOOST_PP_IF(p(32, s), BOOST_PP_FOR_32, BOOST_PP_TUPLE_EAT_4)(o(32, s), p, o, m)
-# define BOOST_PP_FOR_32(s, p, o, m) BOOST_PP_IF(p(33, s), m, BOOST_PP_TUPLE_EAT_2)(33, s) BOOST_PP_IF(p(33, s), BOOST_PP_FOR_33, BOOST_PP_TUPLE_EAT_4)(o(33, s), p, o, m)
-# define BOOST_PP_FOR_33(s, p, o, m) BOOST_PP_IF(p(34, s), m, BOOST_PP_TUPLE_EAT_2)(34, s) BOOST_PP_IF(p(34, s), BOOST_PP_FOR_34, BOOST_PP_TUPLE_EAT_4)(o(34, s), p, o, m)
-# define BOOST_PP_FOR_34(s, p, o, m) BOOST_PP_IF(p(35, s), m, BOOST_PP_TUPLE_EAT_2)(35, s) BOOST_PP_IF(p(35, s), BOOST_PP_FOR_35, BOOST_PP_TUPLE_EAT_4)(o(35, s), p, o, m)
-# define BOOST_PP_FOR_35(s, p, o, m) BOOST_PP_IF(p(36, s), m, BOOST_PP_TUPLE_EAT_2)(36, s) BOOST_PP_IF(p(36, s), BOOST_PP_FOR_36, BOOST_PP_TUPLE_EAT_4)(o(36, s), p, o, m)
-# define BOOST_PP_FOR_36(s, p, o, m) BOOST_PP_IF(p(37, s), m, BOOST_PP_TUPLE_EAT_2)(37, s) BOOST_PP_IF(p(37, s), BOOST_PP_FOR_37, BOOST_PP_TUPLE_EAT_4)(o(37, s), p, o, m)
-# define BOOST_PP_FOR_37(s, p, o, m) BOOST_PP_IF(p(38, s), m, BOOST_PP_TUPLE_EAT_2)(38, s) BOOST_PP_IF(p(38, s), BOOST_PP_FOR_38, BOOST_PP_TUPLE_EAT_4)(o(38, s), p, o, m)
-# define BOOST_PP_FOR_38(s, p, o, m) BOOST_PP_IF(p(39, s), m, BOOST_PP_TUPLE_EAT_2)(39, s) BOOST_PP_IF(p(39, s), BOOST_PP_FOR_39, BOOST_PP_TUPLE_EAT_4)(o(39, s), p, o, m)
-# define BOOST_PP_FOR_39(s, p, o, m) BOOST_PP_IF(p(40, s), m, BOOST_PP_TUPLE_EAT_2)(40, s) BOOST_PP_IF(p(40, s), BOOST_PP_FOR_40, BOOST_PP_TUPLE_EAT_4)(o(40, s), p, o, m)
-# define BOOST_PP_FOR_40(s, p, o, m) BOOST_PP_IF(p(41, s), m, BOOST_PP_TUPLE_EAT_2)(41, s) BOOST_PP_IF(p(41, s), BOOST_PP_FOR_41, BOOST_PP_TUPLE_EAT_4)(o(41, s), p, o, m)
-# define BOOST_PP_FOR_41(s, p, o, m) BOOST_PP_IF(p(42, s), m, BOOST_PP_TUPLE_EAT_2)(42, s) BOOST_PP_IF(p(42, s), BOOST_PP_FOR_42, BOOST_PP_TUPLE_EAT_4)(o(42, s), p, o, m)
-# define BOOST_PP_FOR_42(s, p, o, m) BOOST_PP_IF(p(43, s), m, BOOST_PP_TUPLE_EAT_2)(43, s) BOOST_PP_IF(p(43, s), BOOST_PP_FOR_43, BOOST_PP_TUPLE_EAT_4)(o(43, s), p, o, m)
-# define BOOST_PP_FOR_43(s, p, o, m) BOOST_PP_IF(p(44, s), m, BOOST_PP_TUPLE_EAT_2)(44, s) BOOST_PP_IF(p(44, s), BOOST_PP_FOR_44, BOOST_PP_TUPLE_EAT_4)(o(44, s), p, o, m)
-# define BOOST_PP_FOR_44(s, p, o, m) BOOST_PP_IF(p(45, s), m, BOOST_PP_TUPLE_EAT_2)(45, s) BOOST_PP_IF(p(45, s), BOOST_PP_FOR_45, BOOST_PP_TUPLE_EAT_4)(o(45, s), p, o, m)
-# define BOOST_PP_FOR_45(s, p, o, m) BOOST_PP_IF(p(46, s), m, BOOST_PP_TUPLE_EAT_2)(46, s) BOOST_PP_IF(p(46, s), BOOST_PP_FOR_46, BOOST_PP_TUPLE_EAT_4)(o(46, s), p, o, m)
-# define BOOST_PP_FOR_46(s, p, o, m) BOOST_PP_IF(p(47, s), m, BOOST_PP_TUPLE_EAT_2)(47, s) BOOST_PP_IF(p(47, s), BOOST_PP_FOR_47, BOOST_PP_TUPLE_EAT_4)(o(47, s), p, o, m)
-# define BOOST_PP_FOR_47(s, p, o, m) BOOST_PP_IF(p(48, s), m, BOOST_PP_TUPLE_EAT_2)(48, s) BOOST_PP_IF(p(48, s), BOOST_PP_FOR_48, BOOST_PP_TUPLE_EAT_4)(o(48, s), p, o, m)
-# define BOOST_PP_FOR_48(s, p, o, m) BOOST_PP_IF(p(49, s), m, BOOST_PP_TUPLE_EAT_2)(49, s) BOOST_PP_IF(p(49, s), BOOST_PP_FOR_49, BOOST_PP_TUPLE_EAT_4)(o(49, s), p, o, m)
-# define BOOST_PP_FOR_49(s, p, o, m) BOOST_PP_IF(p(50, s), m, BOOST_PP_TUPLE_EAT_2)(50, s) BOOST_PP_IF(p(50, s), BOOST_PP_FOR_50, BOOST_PP_TUPLE_EAT_4)(o(50, s), p, o, m)
-# define BOOST_PP_FOR_50(s, p, o, m) BOOST_PP_IF(p(51, s), m, BOOST_PP_TUPLE_EAT_2)(51, s) BOOST_PP_IF(p(51, s), BOOST_PP_FOR_51, BOOST_PP_TUPLE_EAT_4)(o(51, s), p, o, m)
-# define BOOST_PP_FOR_51(s, p, o, m) BOOST_PP_IF(p(52, s), m, BOOST_PP_TUPLE_EAT_2)(52, s) BOOST_PP_IF(p(52, s), BOOST_PP_FOR_52, BOOST_PP_TUPLE_EAT_4)(o(52, s), p, o, m)
-# define BOOST_PP_FOR_52(s, p, o, m) BOOST_PP_IF(p(53, s), m, BOOST_PP_TUPLE_EAT_2)(53, s) BOOST_PP_IF(p(53, s), BOOST_PP_FOR_53, BOOST_PP_TUPLE_EAT_4)(o(53, s), p, o, m)
-# define BOOST_PP_FOR_53(s, p, o, m) BOOST_PP_IF(p(54, s), m, BOOST_PP_TUPLE_EAT_2)(54, s) BOOST_PP_IF(p(54, s), BOOST_PP_FOR_54, BOOST_PP_TUPLE_EAT_4)(o(54, s), p, o, m)
-# define BOOST_PP_FOR_54(s, p, o, m) BOOST_PP_IF(p(55, s), m, BOOST_PP_TUPLE_EAT_2)(55, s) BOOST_PP_IF(p(55, s), BOOST_PP_FOR_55, BOOST_PP_TUPLE_EAT_4)(o(55, s), p, o, m)
-# define BOOST_PP_FOR_55(s, p, o, m) BOOST_PP_IF(p(56, s), m, BOOST_PP_TUPLE_EAT_2)(56, s) BOOST_PP_IF(p(56, s), BOOST_PP_FOR_56, BOOST_PP_TUPLE_EAT_4)(o(56, s), p, o, m)
-# define BOOST_PP_FOR_56(s, p, o, m) BOOST_PP_IF(p(57, s), m, BOOST_PP_TUPLE_EAT_2)(57, s) BOOST_PP_IF(p(57, s), BOOST_PP_FOR_57, BOOST_PP_TUPLE_EAT_4)(o(57, s), p, o, m)
-# define BOOST_PP_FOR_57(s, p, o, m) BOOST_PP_IF(p(58, s), m, BOOST_PP_TUPLE_EAT_2)(58, s) BOOST_PP_IF(p(58, s), BOOST_PP_FOR_58, BOOST_PP_TUPLE_EAT_4)(o(58, s), p, o, m)
-# define BOOST_PP_FOR_58(s, p, o, m) BOOST_PP_IF(p(59, s), m, BOOST_PP_TUPLE_EAT_2)(59, s) BOOST_PP_IF(p(59, s), BOOST_PP_FOR_59, BOOST_PP_TUPLE_EAT_4)(o(59, s), p, o, m)
-# define BOOST_PP_FOR_59(s, p, o, m) BOOST_PP_IF(p(60, s), m, BOOST_PP_TUPLE_EAT_2)(60, s) BOOST_PP_IF(p(60, s), BOOST_PP_FOR_60, BOOST_PP_TUPLE_EAT_4)(o(60, s), p, o, m)
-# define BOOST_PP_FOR_60(s, p, o, m) BOOST_PP_IF(p(61, s), m, BOOST_PP_TUPLE_EAT_2)(61, s) BOOST_PP_IF(p(61, s), BOOST_PP_FOR_61, BOOST_PP_TUPLE_EAT_4)(o(61, s), p, o, m)
-# define BOOST_PP_FOR_61(s, p, o, m) BOOST_PP_IF(p(62, s), m, BOOST_PP_TUPLE_EAT_2)(62, s) BOOST_PP_IF(p(62, s), BOOST_PP_FOR_62, BOOST_PP_TUPLE_EAT_4)(o(62, s), p, o, m)
-# define BOOST_PP_FOR_62(s, p, o, m) BOOST_PP_IF(p(63, s), m, BOOST_PP_TUPLE_EAT_2)(63, s) BOOST_PP_IF(p(63, s), BOOST_PP_FOR_63, BOOST_PP_TUPLE_EAT_4)(o(63, s), p, o, m)
-# define BOOST_PP_FOR_63(s, p, o, m) BOOST_PP_IF(p(64, s), m, BOOST_PP_TUPLE_EAT_2)(64, s) BOOST_PP_IF(p(64, s), BOOST_PP_FOR_64, BOOST_PP_TUPLE_EAT_4)(o(64, s), p, o, m)
-# define BOOST_PP_FOR_64(s, p, o, m) BOOST_PP_IF(p(65, s), m, BOOST_PP_TUPLE_EAT_2)(65, s) BOOST_PP_IF(p(65, s), BOOST_PP_FOR_65, BOOST_PP_TUPLE_EAT_4)(o(65, s), p, o, m)
-# define BOOST_PP_FOR_65(s, p, o, m) BOOST_PP_IF(p(66, s), m, BOOST_PP_TUPLE_EAT_2)(66, s) BOOST_PP_IF(p(66, s), BOOST_PP_FOR_66, BOOST_PP_TUPLE_EAT_4)(o(66, s), p, o, m)
-# define BOOST_PP_FOR_66(s, p, o, m) BOOST_PP_IF(p(67, s), m, BOOST_PP_TUPLE_EAT_2)(67, s) BOOST_PP_IF(p(67, s), BOOST_PP_FOR_67, BOOST_PP_TUPLE_EAT_4)(o(67, s), p, o, m)
-# define BOOST_PP_FOR_67(s, p, o, m) BOOST_PP_IF(p(68, s), m, BOOST_PP_TUPLE_EAT_2)(68, s) BOOST_PP_IF(p(68, s), BOOST_PP_FOR_68, BOOST_PP_TUPLE_EAT_4)(o(68, s), p, o, m)
-# define BOOST_PP_FOR_68(s, p, o, m) BOOST_PP_IF(p(69, s), m, BOOST_PP_TUPLE_EAT_2)(69, s) BOOST_PP_IF(p(69, s), BOOST_PP_FOR_69, BOOST_PP_TUPLE_EAT_4)(o(69, s), p, o, m)
-# define BOOST_PP_FOR_69(s, p, o, m) BOOST_PP_IF(p(70, s), m, BOOST_PP_TUPLE_EAT_2)(70, s) BOOST_PP_IF(p(70, s), BOOST_PP_FOR_70, BOOST_PP_TUPLE_EAT_4)(o(70, s), p, o, m)
-# define BOOST_PP_FOR_70(s, p, o, m) BOOST_PP_IF(p(71, s), m, BOOST_PP_TUPLE_EAT_2)(71, s) BOOST_PP_IF(p(71, s), BOOST_PP_FOR_71, BOOST_PP_TUPLE_EAT_4)(o(71, s), p, o, m)
-# define BOOST_PP_FOR_71(s, p, o, m) BOOST_PP_IF(p(72, s), m, BOOST_PP_TUPLE_EAT_2)(72, s) BOOST_PP_IF(p(72, s), BOOST_PP_FOR_72, BOOST_PP_TUPLE_EAT_4)(o(72, s), p, o, m)
-# define BOOST_PP_FOR_72(s, p, o, m) BOOST_PP_IF(p(73, s), m, BOOST_PP_TUPLE_EAT_2)(73, s) BOOST_PP_IF(p(73, s), BOOST_PP_FOR_73, BOOST_PP_TUPLE_EAT_4)(o(73, s), p, o, m)
-# define BOOST_PP_FOR_73(s, p, o, m) BOOST_PP_IF(p(74, s), m, BOOST_PP_TUPLE_EAT_2)(74, s) BOOST_PP_IF(p(74, s), BOOST_PP_FOR_74, BOOST_PP_TUPLE_EAT_4)(o(74, s), p, o, m)
-# define BOOST_PP_FOR_74(s, p, o, m) BOOST_PP_IF(p(75, s), m, BOOST_PP_TUPLE_EAT_2)(75, s) BOOST_PP_IF(p(75, s), BOOST_PP_FOR_75, BOOST_PP_TUPLE_EAT_4)(o(75, s), p, o, m)
-# define BOOST_PP_FOR_75(s, p, o, m) BOOST_PP_IF(p(76, s), m, BOOST_PP_TUPLE_EAT_2)(76, s) BOOST_PP_IF(p(76, s), BOOST_PP_FOR_76, BOOST_PP_TUPLE_EAT_4)(o(76, s), p, o, m)
-# define BOOST_PP_FOR_76(s, p, o, m) BOOST_PP_IF(p(77, s), m, BOOST_PP_TUPLE_EAT_2)(77, s) BOOST_PP_IF(p(77, s), BOOST_PP_FOR_77, BOOST_PP_TUPLE_EAT_4)(o(77, s), p, o, m)
-# define BOOST_PP_FOR_77(s, p, o, m) BOOST_PP_IF(p(78, s), m, BOOST_PP_TUPLE_EAT_2)(78, s) BOOST_PP_IF(p(78, s), BOOST_PP_FOR_78, BOOST_PP_TUPLE_EAT_4)(o(78, s), p, o, m)
-# define BOOST_PP_FOR_78(s, p, o, m) BOOST_PP_IF(p(79, s), m, BOOST_PP_TUPLE_EAT_2)(79, s) BOOST_PP_IF(p(79, s), BOOST_PP_FOR_79, BOOST_PP_TUPLE_EAT_4)(o(79, s), p, o, m)
-# define BOOST_PP_FOR_79(s, p, o, m) BOOST_PP_IF(p(80, s), m, BOOST_PP_TUPLE_EAT_2)(80, s) BOOST_PP_IF(p(80, s), BOOST_PP_FOR_80, BOOST_PP_TUPLE_EAT_4)(o(80, s), p, o, m)
-# define BOOST_PP_FOR_80(s, p, o, m) BOOST_PP_IF(p(81, s), m, BOOST_PP_TUPLE_EAT_2)(81, s) BOOST_PP_IF(p(81, s), BOOST_PP_FOR_81, BOOST_PP_TUPLE_EAT_4)(o(81, s), p, o, m)
-# define BOOST_PP_FOR_81(s, p, o, m) BOOST_PP_IF(p(82, s), m, BOOST_PP_TUPLE_EAT_2)(82, s) BOOST_PP_IF(p(82, s), BOOST_PP_FOR_82, BOOST_PP_TUPLE_EAT_4)(o(82, s), p, o, m)
-# define BOOST_PP_FOR_82(s, p, o, m) BOOST_PP_IF(p(83, s), m, BOOST_PP_TUPLE_EAT_2)(83, s) BOOST_PP_IF(p(83, s), BOOST_PP_FOR_83, BOOST_PP_TUPLE_EAT_4)(o(83, s), p, o, m)
-# define BOOST_PP_FOR_83(s, p, o, m) BOOST_PP_IF(p(84, s), m, BOOST_PP_TUPLE_EAT_2)(84, s) BOOST_PP_IF(p(84, s), BOOST_PP_FOR_84, BOOST_PP_TUPLE_EAT_4)(o(84, s), p, o, m)
-# define BOOST_PP_FOR_84(s, p, o, m) BOOST_PP_IF(p(85, s), m, BOOST_PP_TUPLE_EAT_2)(85, s) BOOST_PP_IF(p(85, s), BOOST_PP_FOR_85, BOOST_PP_TUPLE_EAT_4)(o(85, s), p, o, m)
-# define BOOST_PP_FOR_85(s, p, o, m) BOOST_PP_IF(p(86, s), m, BOOST_PP_TUPLE_EAT_2)(86, s) BOOST_PP_IF(p(86, s), BOOST_PP_FOR_86, BOOST_PP_TUPLE_EAT_4)(o(86, s), p, o, m)
-# define BOOST_PP_FOR_86(s, p, o, m) BOOST_PP_IF(p(87, s), m, BOOST_PP_TUPLE_EAT_2)(87, s) BOOST_PP_IF(p(87, s), BOOST_PP_FOR_87, BOOST_PP_TUPLE_EAT_4)(o(87, s), p, o, m)
-# define BOOST_PP_FOR_87(s, p, o, m) BOOST_PP_IF(p(88, s), m, BOOST_PP_TUPLE_EAT_2)(88, s) BOOST_PP_IF(p(88, s), BOOST_PP_FOR_88, BOOST_PP_TUPLE_EAT_4)(o(88, s), p, o, m)
-# define BOOST_PP_FOR_88(s, p, o, m) BOOST_PP_IF(p(89, s), m, BOOST_PP_TUPLE_EAT_2)(89, s) BOOST_PP_IF(p(89, s), BOOST_PP_FOR_89, BOOST_PP_TUPLE_EAT_4)(o(89, s), p, o, m)
-# define BOOST_PP_FOR_89(s, p, o, m) BOOST_PP_IF(p(90, s), m, BOOST_PP_TUPLE_EAT_2)(90, s) BOOST_PP_IF(p(90, s), BOOST_PP_FOR_90, BOOST_PP_TUPLE_EAT_4)(o(90, s), p, o, m)
-# define BOOST_PP_FOR_90(s, p, o, m) BOOST_PP_IF(p(91, s), m, BOOST_PP_TUPLE_EAT_2)(91, s) BOOST_PP_IF(p(91, s), BOOST_PP_FOR_91, BOOST_PP_TUPLE_EAT_4)(o(91, s), p, o, m)
-# define BOOST_PP_FOR_91(s, p, o, m) BOOST_PP_IF(p(92, s), m, BOOST_PP_TUPLE_EAT_2)(92, s) BOOST_PP_IF(p(92, s), BOOST_PP_FOR_92, BOOST_PP_TUPLE_EAT_4)(o(92, s), p, o, m)
-# define BOOST_PP_FOR_92(s, p, o, m) BOOST_PP_IF(p(93, s), m, BOOST_PP_TUPLE_EAT_2)(93, s) BOOST_PP_IF(p(93, s), BOOST_PP_FOR_93, BOOST_PP_TUPLE_EAT_4)(o(93, s), p, o, m)
-# define BOOST_PP_FOR_93(s, p, o, m) BOOST_PP_IF(p(94, s), m, BOOST_PP_TUPLE_EAT_2)(94, s) BOOST_PP_IF(p(94, s), BOOST_PP_FOR_94, BOOST_PP_TUPLE_EAT_4)(o(94, s), p, o, m)
-# define BOOST_PP_FOR_94(s, p, o, m) BOOST_PP_IF(p(95, s), m, BOOST_PP_TUPLE_EAT_2)(95, s) BOOST_PP_IF(p(95, s), BOOST_PP_FOR_95, BOOST_PP_TUPLE_EAT_4)(o(95, s), p, o, m)
-# define BOOST_PP_FOR_95(s, p, o, m) BOOST_PP_IF(p(96, s), m, BOOST_PP_TUPLE_EAT_2)(96, s) BOOST_PP_IF(p(96, s), BOOST_PP_FOR_96, BOOST_PP_TUPLE_EAT_4)(o(96, s), p, o, m)
-# define BOOST_PP_FOR_96(s, p, o, m) BOOST_PP_IF(p(97, s), m, BOOST_PP_TUPLE_EAT_2)(97, s) BOOST_PP_IF(p(97, s), BOOST_PP_FOR_97, BOOST_PP_TUPLE_EAT_4)(o(97, s), p, o, m)
-# define BOOST_PP_FOR_97(s, p, o, m) BOOST_PP_IF(p(98, s), m, BOOST_PP_TUPLE_EAT_2)(98, s) BOOST_PP_IF(p(98, s), BOOST_PP_FOR_98, BOOST_PP_TUPLE_EAT_4)(o(98, s), p, o, m)
-# define BOOST_PP_FOR_98(s, p, o, m) BOOST_PP_IF(p(99, s), m, BOOST_PP_TUPLE_EAT_2)(99, s) BOOST_PP_IF(p(99, s), BOOST_PP_FOR_99, BOOST_PP_TUPLE_EAT_4)(o(99, s), p, o, m)
-# define BOOST_PP_FOR_99(s, p, o, m) BOOST_PP_IF(p(100, s), m, BOOST_PP_TUPLE_EAT_2)(100, s) BOOST_PP_IF(p(100, s), BOOST_PP_FOR_100, BOOST_PP_TUPLE_EAT_4)(o(100, s), p, o, m)
-# define BOOST_PP_FOR_100(s, p, o, m) BOOST_PP_IF(p(101, s), m, BOOST_PP_TUPLE_EAT_2)(101, s) BOOST_PP_IF(p(101, s), BOOST_PP_FOR_101, BOOST_PP_TUPLE_EAT_4)(o(101, s), p, o, m)
-# define BOOST_PP_FOR_101(s, p, o, m) BOOST_PP_IF(p(102, s), m, BOOST_PP_TUPLE_EAT_2)(102, s) BOOST_PP_IF(p(102, s), BOOST_PP_FOR_102, BOOST_PP_TUPLE_EAT_4)(o(102, s), p, o, m)
-# define BOOST_PP_FOR_102(s, p, o, m) BOOST_PP_IF(p(103, s), m, BOOST_PP_TUPLE_EAT_2)(103, s) BOOST_PP_IF(p(103, s), BOOST_PP_FOR_103, BOOST_PP_TUPLE_EAT_4)(o(103, s), p, o, m)
-# define BOOST_PP_FOR_103(s, p, o, m) BOOST_PP_IF(p(104, s), m, BOOST_PP_TUPLE_EAT_2)(104, s) BOOST_PP_IF(p(104, s), BOOST_PP_FOR_104, BOOST_PP_TUPLE_EAT_4)(o(104, s), p, o, m)
-# define BOOST_PP_FOR_104(s, p, o, m) BOOST_PP_IF(p(105, s), m, BOOST_PP_TUPLE_EAT_2)(105, s) BOOST_PP_IF(p(105, s), BOOST_PP_FOR_105, BOOST_PP_TUPLE_EAT_4)(o(105, s), p, o, m)
-# define BOOST_PP_FOR_105(s, p, o, m) BOOST_PP_IF(p(106, s), m, BOOST_PP_TUPLE_EAT_2)(106, s) BOOST_PP_IF(p(106, s), BOOST_PP_FOR_106, BOOST_PP_TUPLE_EAT_4)(o(106, s), p, o, m)
-# define BOOST_PP_FOR_106(s, p, o, m) BOOST_PP_IF(p(107, s), m, BOOST_PP_TUPLE_EAT_2)(107, s) BOOST_PP_IF(p(107, s), BOOST_PP_FOR_107, BOOST_PP_TUPLE_EAT_4)(o(107, s), p, o, m)
-# define BOOST_PP_FOR_107(s, p, o, m) BOOST_PP_IF(p(108, s), m, BOOST_PP_TUPLE_EAT_2)(108, s) BOOST_PP_IF(p(108, s), BOOST_PP_FOR_108, BOOST_PP_TUPLE_EAT_4)(o(108, s), p, o, m)
-# define BOOST_PP_FOR_108(s, p, o, m) BOOST_PP_IF(p(109, s), m, BOOST_PP_TUPLE_EAT_2)(109, s) BOOST_PP_IF(p(109, s), BOOST_PP_FOR_109, BOOST_PP_TUPLE_EAT_4)(o(109, s), p, o, m)
-# define BOOST_PP_FOR_109(s, p, o, m) BOOST_PP_IF(p(110, s), m, BOOST_PP_TUPLE_EAT_2)(110, s) BOOST_PP_IF(p(110, s), BOOST_PP_FOR_110, BOOST_PP_TUPLE_EAT_4)(o(110, s), p, o, m)
-# define BOOST_PP_FOR_110(s, p, o, m) BOOST_PP_IF(p(111, s), m, BOOST_PP_TUPLE_EAT_2)(111, s) BOOST_PP_IF(p(111, s), BOOST_PP_FOR_111, BOOST_PP_TUPLE_EAT_4)(o(111, s), p, o, m)
-# define BOOST_PP_FOR_111(s, p, o, m) BOOST_PP_IF(p(112, s), m, BOOST_PP_TUPLE_EAT_2)(112, s) BOOST_PP_IF(p(112, s), BOOST_PP_FOR_112, BOOST_PP_TUPLE_EAT_4)(o(112, s), p, o, m)
-# define BOOST_PP_FOR_112(s, p, o, m) BOOST_PP_IF(p(113, s), m, BOOST_PP_TUPLE_EAT_2)(113, s) BOOST_PP_IF(p(113, s), BOOST_PP_FOR_113, BOOST_PP_TUPLE_EAT_4)(o(113, s), p, o, m)
-# define BOOST_PP_FOR_113(s, p, o, m) BOOST_PP_IF(p(114, s), m, BOOST_PP_TUPLE_EAT_2)(114, s) BOOST_PP_IF(p(114, s), BOOST_PP_FOR_114, BOOST_PP_TUPLE_EAT_4)(o(114, s), p, o, m)
-# define BOOST_PP_FOR_114(s, p, o, m) BOOST_PP_IF(p(115, s), m, BOOST_PP_TUPLE_EAT_2)(115, s) BOOST_PP_IF(p(115, s), BOOST_PP_FOR_115, BOOST_PP_TUPLE_EAT_4)(o(115, s), p, o, m)
-# define BOOST_PP_FOR_115(s, p, o, m) BOOST_PP_IF(p(116, s), m, BOOST_PP_TUPLE_EAT_2)(116, s) BOOST_PP_IF(p(116, s), BOOST_PP_FOR_116, BOOST_PP_TUPLE_EAT_4)(o(116, s), p, o, m)
-# define BOOST_PP_FOR_116(s, p, o, m) BOOST_PP_IF(p(117, s), m, BOOST_PP_TUPLE_EAT_2)(117, s) BOOST_PP_IF(p(117, s), BOOST_PP_FOR_117, BOOST_PP_TUPLE_EAT_4)(o(117, s), p, o, m)
-# define BOOST_PP_FOR_117(s, p, o, m) BOOST_PP_IF(p(118, s), m, BOOST_PP_TUPLE_EAT_2)(118, s) BOOST_PP_IF(p(118, s), BOOST_PP_FOR_118, BOOST_PP_TUPLE_EAT_4)(o(118, s), p, o, m)
-# define BOOST_PP_FOR_118(s, p, o, m) BOOST_PP_IF(p(119, s), m, BOOST_PP_TUPLE_EAT_2)(119, s) BOOST_PP_IF(p(119, s), BOOST_PP_FOR_119, BOOST_PP_TUPLE_EAT_4)(o(119, s), p, o, m)
-# define BOOST_PP_FOR_119(s, p, o, m) BOOST_PP_IF(p(120, s), m, BOOST_PP_TUPLE_EAT_2)(120, s) BOOST_PP_IF(p(120, s), BOOST_PP_FOR_120, BOOST_PP_TUPLE_EAT_4)(o(120, s), p, o, m)
-# define BOOST_PP_FOR_120(s, p, o, m) BOOST_PP_IF(p(121, s), m, BOOST_PP_TUPLE_EAT_2)(121, s) BOOST_PP_IF(p(121, s), BOOST_PP_FOR_121, BOOST_PP_TUPLE_EAT_4)(o(121, s), p, o, m)
-# define BOOST_PP_FOR_121(s, p, o, m) BOOST_PP_IF(p(122, s), m, BOOST_PP_TUPLE_EAT_2)(122, s) BOOST_PP_IF(p(122, s), BOOST_PP_FOR_122, BOOST_PP_TUPLE_EAT_4)(o(122, s), p, o, m)
-# define BOOST_PP_FOR_122(s, p, o, m) BOOST_PP_IF(p(123, s), m, BOOST_PP_TUPLE_EAT_2)(123, s) BOOST_PP_IF(p(123, s), BOOST_PP_FOR_123, BOOST_PP_TUPLE_EAT_4)(o(123, s), p, o, m)
-# define BOOST_PP_FOR_123(s, p, o, m) BOOST_PP_IF(p(124, s), m, BOOST_PP_TUPLE_EAT_2)(124, s) BOOST_PP_IF(p(124, s), BOOST_PP_FOR_124, BOOST_PP_TUPLE_EAT_4)(o(124, s), p, o, m)
-# define BOOST_PP_FOR_124(s, p, o, m) BOOST_PP_IF(p(125, s), m, BOOST_PP_TUPLE_EAT_2)(125, s) BOOST_PP_IF(p(125, s), BOOST_PP_FOR_125, BOOST_PP_TUPLE_EAT_4)(o(125, s), p, o, m)
-# define BOOST_PP_FOR_125(s, p, o, m) BOOST_PP_IF(p(126, s), m, BOOST_PP_TUPLE_EAT_2)(126, s) BOOST_PP_IF(p(126, s), BOOST_PP_FOR_126, BOOST_PP_TUPLE_EAT_4)(o(126, s), p, o, m)
-# define BOOST_PP_FOR_126(s, p, o, m) BOOST_PP_IF(p(127, s), m, BOOST_PP_TUPLE_EAT_2)(127, s) BOOST_PP_IF(p(127, s), BOOST_PP_FOR_127, BOOST_PP_TUPLE_EAT_4)(o(127, s), p, o, m)
-# define BOOST_PP_FOR_127(s, p, o, m) BOOST_PP_IF(p(128, s), m, BOOST_PP_TUPLE_EAT_2)(128, s) BOOST_PP_IF(p(128, s), BOOST_PP_FOR_128, BOOST_PP_TUPLE_EAT_4)(o(128, s), p, o, m)
-# define BOOST_PP_FOR_128(s, p, o, m) BOOST_PP_IF(p(129, s), m, BOOST_PP_TUPLE_EAT_2)(129, s) BOOST_PP_IF(p(129, s), BOOST_PP_FOR_129, BOOST_PP_TUPLE_EAT_4)(o(129, s), p, o, m)
-# define BOOST_PP_FOR_129(s, p, o, m) BOOST_PP_IF(p(130, s), m, BOOST_PP_TUPLE_EAT_2)(130, s) BOOST_PP_IF(p(130, s), BOOST_PP_FOR_130, BOOST_PP_TUPLE_EAT_4)(o(130, s), p, o, m)
-# define BOOST_PP_FOR_130(s, p, o, m) BOOST_PP_IF(p(131, s), m, BOOST_PP_TUPLE_EAT_2)(131, s) BOOST_PP_IF(p(131, s), BOOST_PP_FOR_131, BOOST_PP_TUPLE_EAT_4)(o(131, s), p, o, m)
-# define BOOST_PP_FOR_131(s, p, o, m) BOOST_PP_IF(p(132, s), m, BOOST_PP_TUPLE_EAT_2)(132, s) BOOST_PP_IF(p(132, s), BOOST_PP_FOR_132, BOOST_PP_TUPLE_EAT_4)(o(132, s), p, o, m)
-# define BOOST_PP_FOR_132(s, p, o, m) BOOST_PP_IF(p(133, s), m, BOOST_PP_TUPLE_EAT_2)(133, s) BOOST_PP_IF(p(133, s), BOOST_PP_FOR_133, BOOST_PP_TUPLE_EAT_4)(o(133, s), p, o, m)
-# define BOOST_PP_FOR_133(s, p, o, m) BOOST_PP_IF(p(134, s), m, BOOST_PP_TUPLE_EAT_2)(134, s) BOOST_PP_IF(p(134, s), BOOST_PP_FOR_134, BOOST_PP_TUPLE_EAT_4)(o(134, s), p, o, m)
-# define BOOST_PP_FOR_134(s, p, o, m) BOOST_PP_IF(p(135, s), m, BOOST_PP_TUPLE_EAT_2)(135, s) BOOST_PP_IF(p(135, s), BOOST_PP_FOR_135, BOOST_PP_TUPLE_EAT_4)(o(135, s), p, o, m)
-# define BOOST_PP_FOR_135(s, p, o, m) BOOST_PP_IF(p(136, s), m, BOOST_PP_TUPLE_EAT_2)(136, s) BOOST_PP_IF(p(136, s), BOOST_PP_FOR_136, BOOST_PP_TUPLE_EAT_4)(o(136, s), p, o, m)
-# define BOOST_PP_FOR_136(s, p, o, m) BOOST_PP_IF(p(137, s), m, BOOST_PP_TUPLE_EAT_2)(137, s) BOOST_PP_IF(p(137, s), BOOST_PP_FOR_137, BOOST_PP_TUPLE_EAT_4)(o(137, s), p, o, m)
-# define BOOST_PP_FOR_137(s, p, o, m) BOOST_PP_IF(p(138, s), m, BOOST_PP_TUPLE_EAT_2)(138, s) BOOST_PP_IF(p(138, s), BOOST_PP_FOR_138, BOOST_PP_TUPLE_EAT_4)(o(138, s), p, o, m)
-# define BOOST_PP_FOR_138(s, p, o, m) BOOST_PP_IF(p(139, s), m, BOOST_PP_TUPLE_EAT_2)(139, s) BOOST_PP_IF(p(139, s), BOOST_PP_FOR_139, BOOST_PP_TUPLE_EAT_4)(o(139, s), p, o, m)
-# define BOOST_PP_FOR_139(s, p, o, m) BOOST_PP_IF(p(140, s), m, BOOST_PP_TUPLE_EAT_2)(140, s) BOOST_PP_IF(p(140, s), BOOST_PP_FOR_140, BOOST_PP_TUPLE_EAT_4)(o(140, s), p, o, m)
-# define BOOST_PP_FOR_140(s, p, o, m) BOOST_PP_IF(p(141, s), m, BOOST_PP_TUPLE_EAT_2)(141, s) BOOST_PP_IF(p(141, s), BOOST_PP_FOR_141, BOOST_PP_TUPLE_EAT_4)(o(141, s), p, o, m)
-# define BOOST_PP_FOR_141(s, p, o, m) BOOST_PP_IF(p(142, s), m, BOOST_PP_TUPLE_EAT_2)(142, s) BOOST_PP_IF(p(142, s), BOOST_PP_FOR_142, BOOST_PP_TUPLE_EAT_4)(o(142, s), p, o, m)
-# define BOOST_PP_FOR_142(s, p, o, m) BOOST_PP_IF(p(143, s), m, BOOST_PP_TUPLE_EAT_2)(143, s) BOOST_PP_IF(p(143, s), BOOST_PP_FOR_143, BOOST_PP_TUPLE_EAT_4)(o(143, s), p, o, m)
-# define BOOST_PP_FOR_143(s, p, o, m) BOOST_PP_IF(p(144, s), m, BOOST_PP_TUPLE_EAT_2)(144, s) BOOST_PP_IF(p(144, s), BOOST_PP_FOR_144, BOOST_PP_TUPLE_EAT_4)(o(144, s), p, o, m)
-# define BOOST_PP_FOR_144(s, p, o, m) BOOST_PP_IF(p(145, s), m, BOOST_PP_TUPLE_EAT_2)(145, s) BOOST_PP_IF(p(145, s), BOOST_PP_FOR_145, BOOST_PP_TUPLE_EAT_4)(o(145, s), p, o, m)
-# define BOOST_PP_FOR_145(s, p, o, m) BOOST_PP_IF(p(146, s), m, BOOST_PP_TUPLE_EAT_2)(146, s) BOOST_PP_IF(p(146, s), BOOST_PP_FOR_146, BOOST_PP_TUPLE_EAT_4)(o(146, s), p, o, m)
-# define BOOST_PP_FOR_146(s, p, o, m) BOOST_PP_IF(p(147, s), m, BOOST_PP_TUPLE_EAT_2)(147, s) BOOST_PP_IF(p(147, s), BOOST_PP_FOR_147, BOOST_PP_TUPLE_EAT_4)(o(147, s), p, o, m)
-# define BOOST_PP_FOR_147(s, p, o, m) BOOST_PP_IF(p(148, s), m, BOOST_PP_TUPLE_EAT_2)(148, s) BOOST_PP_IF(p(148, s), BOOST_PP_FOR_148, BOOST_PP_TUPLE_EAT_4)(o(148, s), p, o, m)
-# define BOOST_PP_FOR_148(s, p, o, m) BOOST_PP_IF(p(149, s), m, BOOST_PP_TUPLE_EAT_2)(149, s) BOOST_PP_IF(p(149, s), BOOST_PP_FOR_149, BOOST_PP_TUPLE_EAT_4)(o(149, s), p, o, m)
-# define BOOST_PP_FOR_149(s, p, o, m) BOOST_PP_IF(p(150, s), m, BOOST_PP_TUPLE_EAT_2)(150, s) BOOST_PP_IF(p(150, s), BOOST_PP_FOR_150, BOOST_PP_TUPLE_EAT_4)(o(150, s), p, o, m)
-# define BOOST_PP_FOR_150(s, p, o, m) BOOST_PP_IF(p(151, s), m, BOOST_PP_TUPLE_EAT_2)(151, s) BOOST_PP_IF(p(151, s), BOOST_PP_FOR_151, BOOST_PP_TUPLE_EAT_4)(o(151, s), p, o, m)
-# define BOOST_PP_FOR_151(s, p, o, m) BOOST_PP_IF(p(152, s), m, BOOST_PP_TUPLE_EAT_2)(152, s) BOOST_PP_IF(p(152, s), BOOST_PP_FOR_152, BOOST_PP_TUPLE_EAT_4)(o(152, s), p, o, m)
-# define BOOST_PP_FOR_152(s, p, o, m) BOOST_PP_IF(p(153, s), m, BOOST_PP_TUPLE_EAT_2)(153, s) BOOST_PP_IF(p(153, s), BOOST_PP_FOR_153, BOOST_PP_TUPLE_EAT_4)(o(153, s), p, o, m)
-# define BOOST_PP_FOR_153(s, p, o, m) BOOST_PP_IF(p(154, s), m, BOOST_PP_TUPLE_EAT_2)(154, s) BOOST_PP_IF(p(154, s), BOOST_PP_FOR_154, BOOST_PP_TUPLE_EAT_4)(o(154, s), p, o, m)
-# define BOOST_PP_FOR_154(s, p, o, m) BOOST_PP_IF(p(155, s), m, BOOST_PP_TUPLE_EAT_2)(155, s) BOOST_PP_IF(p(155, s), BOOST_PP_FOR_155, BOOST_PP_TUPLE_EAT_4)(o(155, s), p, o, m)
-# define BOOST_PP_FOR_155(s, p, o, m) BOOST_PP_IF(p(156, s), m, BOOST_PP_TUPLE_EAT_2)(156, s) BOOST_PP_IF(p(156, s), BOOST_PP_FOR_156, BOOST_PP_TUPLE_EAT_4)(o(156, s), p, o, m)
-# define BOOST_PP_FOR_156(s, p, o, m) BOOST_PP_IF(p(157, s), m, BOOST_PP_TUPLE_EAT_2)(157, s) BOOST_PP_IF(p(157, s), BOOST_PP_FOR_157, BOOST_PP_TUPLE_EAT_4)(o(157, s), p, o, m)
-# define BOOST_PP_FOR_157(s, p, o, m) BOOST_PP_IF(p(158, s), m, BOOST_PP_TUPLE_EAT_2)(158, s) BOOST_PP_IF(p(158, s), BOOST_PP_FOR_158, BOOST_PP_TUPLE_EAT_4)(o(158, s), p, o, m)
-# define BOOST_PP_FOR_158(s, p, o, m) BOOST_PP_IF(p(159, s), m, BOOST_PP_TUPLE_EAT_2)(159, s) BOOST_PP_IF(p(159, s), BOOST_PP_FOR_159, BOOST_PP_TUPLE_EAT_4)(o(159, s), p, o, m)
-# define BOOST_PP_FOR_159(s, p, o, m) BOOST_PP_IF(p(160, s), m, BOOST_PP_TUPLE_EAT_2)(160, s) BOOST_PP_IF(p(160, s), BOOST_PP_FOR_160, BOOST_PP_TUPLE_EAT_4)(o(160, s), p, o, m)
-# define BOOST_PP_FOR_160(s, p, o, m) BOOST_PP_IF(p(161, s), m, BOOST_PP_TUPLE_EAT_2)(161, s) BOOST_PP_IF(p(161, s), BOOST_PP_FOR_161, BOOST_PP_TUPLE_EAT_4)(o(161, s), p, o, m)
-# define BOOST_PP_FOR_161(s, p, o, m) BOOST_PP_IF(p(162, s), m, BOOST_PP_TUPLE_EAT_2)(162, s) BOOST_PP_IF(p(162, s), BOOST_PP_FOR_162, BOOST_PP_TUPLE_EAT_4)(o(162, s), p, o, m)
-# define BOOST_PP_FOR_162(s, p, o, m) BOOST_PP_IF(p(163, s), m, BOOST_PP_TUPLE_EAT_2)(163, s) BOOST_PP_IF(p(163, s), BOOST_PP_FOR_163, BOOST_PP_TUPLE_EAT_4)(o(163, s), p, o, m)
-# define BOOST_PP_FOR_163(s, p, o, m) BOOST_PP_IF(p(164, s), m, BOOST_PP_TUPLE_EAT_2)(164, s) BOOST_PP_IF(p(164, s), BOOST_PP_FOR_164, BOOST_PP_TUPLE_EAT_4)(o(164, s), p, o, m)
-# define BOOST_PP_FOR_164(s, p, o, m) BOOST_PP_IF(p(165, s), m, BOOST_PP_TUPLE_EAT_2)(165, s) BOOST_PP_IF(p(165, s), BOOST_PP_FOR_165, BOOST_PP_TUPLE_EAT_4)(o(165, s), p, o, m)
-# define BOOST_PP_FOR_165(s, p, o, m) BOOST_PP_IF(p(166, s), m, BOOST_PP_TUPLE_EAT_2)(166, s) BOOST_PP_IF(p(166, s), BOOST_PP_FOR_166, BOOST_PP_TUPLE_EAT_4)(o(166, s), p, o, m)
-# define BOOST_PP_FOR_166(s, p, o, m) BOOST_PP_IF(p(167, s), m, BOOST_PP_TUPLE_EAT_2)(167, s) BOOST_PP_IF(p(167, s), BOOST_PP_FOR_167, BOOST_PP_TUPLE_EAT_4)(o(167, s), p, o, m)
-# define BOOST_PP_FOR_167(s, p, o, m) BOOST_PP_IF(p(168, s), m, BOOST_PP_TUPLE_EAT_2)(168, s) BOOST_PP_IF(p(168, s), BOOST_PP_FOR_168, BOOST_PP_TUPLE_EAT_4)(o(168, s), p, o, m)
-# define BOOST_PP_FOR_168(s, p, o, m) BOOST_PP_IF(p(169, s), m, BOOST_PP_TUPLE_EAT_2)(169, s) BOOST_PP_IF(p(169, s), BOOST_PP_FOR_169, BOOST_PP_TUPLE_EAT_4)(o(169, s), p, o, m)
-# define BOOST_PP_FOR_169(s, p, o, m) BOOST_PP_IF(p(170, s), m, BOOST_PP_TUPLE_EAT_2)(170, s) BOOST_PP_IF(p(170, s), BOOST_PP_FOR_170, BOOST_PP_TUPLE_EAT_4)(o(170, s), p, o, m)
-# define BOOST_PP_FOR_170(s, p, o, m) BOOST_PP_IF(p(171, s), m, BOOST_PP_TUPLE_EAT_2)(171, s) BOOST_PP_IF(p(171, s), BOOST_PP_FOR_171, BOOST_PP_TUPLE_EAT_4)(o(171, s), p, o, m)
-# define BOOST_PP_FOR_171(s, p, o, m) BOOST_PP_IF(p(172, s), m, BOOST_PP_TUPLE_EAT_2)(172, s) BOOST_PP_IF(p(172, s), BOOST_PP_FOR_172, BOOST_PP_TUPLE_EAT_4)(o(172, s), p, o, m)
-# define BOOST_PP_FOR_172(s, p, o, m) BOOST_PP_IF(p(173, s), m, BOOST_PP_TUPLE_EAT_2)(173, s) BOOST_PP_IF(p(173, s), BOOST_PP_FOR_173, BOOST_PP_TUPLE_EAT_4)(o(173, s), p, o, m)
-# define BOOST_PP_FOR_173(s, p, o, m) BOOST_PP_IF(p(174, s), m, BOOST_PP_TUPLE_EAT_2)(174, s) BOOST_PP_IF(p(174, s), BOOST_PP_FOR_174, BOOST_PP_TUPLE_EAT_4)(o(174, s), p, o, m)
-# define BOOST_PP_FOR_174(s, p, o, m) BOOST_PP_IF(p(175, s), m, BOOST_PP_TUPLE_EAT_2)(175, s) BOOST_PP_IF(p(175, s), BOOST_PP_FOR_175, BOOST_PP_TUPLE_EAT_4)(o(175, s), p, o, m)
-# define BOOST_PP_FOR_175(s, p, o, m) BOOST_PP_IF(p(176, s), m, BOOST_PP_TUPLE_EAT_2)(176, s) BOOST_PP_IF(p(176, s), BOOST_PP_FOR_176, BOOST_PP_TUPLE_EAT_4)(o(176, s), p, o, m)
-# define BOOST_PP_FOR_176(s, p, o, m) BOOST_PP_IF(p(177, s), m, BOOST_PP_TUPLE_EAT_2)(177, s) BOOST_PP_IF(p(177, s), BOOST_PP_FOR_177, BOOST_PP_TUPLE_EAT_4)(o(177, s), p, o, m)
-# define BOOST_PP_FOR_177(s, p, o, m) BOOST_PP_IF(p(178, s), m, BOOST_PP_TUPLE_EAT_2)(178, s) BOOST_PP_IF(p(178, s), BOOST_PP_FOR_178, BOOST_PP_TUPLE_EAT_4)(o(178, s), p, o, m)
-# define BOOST_PP_FOR_178(s, p, o, m) BOOST_PP_IF(p(179, s), m, BOOST_PP_TUPLE_EAT_2)(179, s) BOOST_PP_IF(p(179, s), BOOST_PP_FOR_179, BOOST_PP_TUPLE_EAT_4)(o(179, s), p, o, m)
-# define BOOST_PP_FOR_179(s, p, o, m) BOOST_PP_IF(p(180, s), m, BOOST_PP_TUPLE_EAT_2)(180, s) BOOST_PP_IF(p(180, s), BOOST_PP_FOR_180, BOOST_PP_TUPLE_EAT_4)(o(180, s), p, o, m)
-# define BOOST_PP_FOR_180(s, p, o, m) BOOST_PP_IF(p(181, s), m, BOOST_PP_TUPLE_EAT_2)(181, s) BOOST_PP_IF(p(181, s), BOOST_PP_FOR_181, BOOST_PP_TUPLE_EAT_4)(o(181, s), p, o, m)
-# define BOOST_PP_FOR_181(s, p, o, m) BOOST_PP_IF(p(182, s), m, BOOST_PP_TUPLE_EAT_2)(182, s) BOOST_PP_IF(p(182, s), BOOST_PP_FOR_182, BOOST_PP_TUPLE_EAT_4)(o(182, s), p, o, m)
-# define BOOST_PP_FOR_182(s, p, o, m) BOOST_PP_IF(p(183, s), m, BOOST_PP_TUPLE_EAT_2)(183, s) BOOST_PP_IF(p(183, s), BOOST_PP_FOR_183, BOOST_PP_TUPLE_EAT_4)(o(183, s), p, o, m)
-# define BOOST_PP_FOR_183(s, p, o, m) BOOST_PP_IF(p(184, s), m, BOOST_PP_TUPLE_EAT_2)(184, s) BOOST_PP_IF(p(184, s), BOOST_PP_FOR_184, BOOST_PP_TUPLE_EAT_4)(o(184, s), p, o, m)
-# define BOOST_PP_FOR_184(s, p, o, m) BOOST_PP_IF(p(185, s), m, BOOST_PP_TUPLE_EAT_2)(185, s) BOOST_PP_IF(p(185, s), BOOST_PP_FOR_185, BOOST_PP_TUPLE_EAT_4)(o(185, s), p, o, m)
-# define BOOST_PP_FOR_185(s, p, o, m) BOOST_PP_IF(p(186, s), m, BOOST_PP_TUPLE_EAT_2)(186, s) BOOST_PP_IF(p(186, s), BOOST_PP_FOR_186, BOOST_PP_TUPLE_EAT_4)(o(186, s), p, o, m)
-# define BOOST_PP_FOR_186(s, p, o, m) BOOST_PP_IF(p(187, s), m, BOOST_PP_TUPLE_EAT_2)(187, s) BOOST_PP_IF(p(187, s), BOOST_PP_FOR_187, BOOST_PP_TUPLE_EAT_4)(o(187, s), p, o, m)
-# define BOOST_PP_FOR_187(s, p, o, m) BOOST_PP_IF(p(188, s), m, BOOST_PP_TUPLE_EAT_2)(188, s) BOOST_PP_IF(p(188, s), BOOST_PP_FOR_188, BOOST_PP_TUPLE_EAT_4)(o(188, s), p, o, m)
-# define BOOST_PP_FOR_188(s, p, o, m) BOOST_PP_IF(p(189, s), m, BOOST_PP_TUPLE_EAT_2)(189, s) BOOST_PP_IF(p(189, s), BOOST_PP_FOR_189, BOOST_PP_TUPLE_EAT_4)(o(189, s), p, o, m)
-# define BOOST_PP_FOR_189(s, p, o, m) BOOST_PP_IF(p(190, s), m, BOOST_PP_TUPLE_EAT_2)(190, s) BOOST_PP_IF(p(190, s), BOOST_PP_FOR_190, BOOST_PP_TUPLE_EAT_4)(o(190, s), p, o, m)
-# define BOOST_PP_FOR_190(s, p, o, m) BOOST_PP_IF(p(191, s), m, BOOST_PP_TUPLE_EAT_2)(191, s) BOOST_PP_IF(p(191, s), BOOST_PP_FOR_191, BOOST_PP_TUPLE_EAT_4)(o(191, s), p, o, m)
-# define BOOST_PP_FOR_191(s, p, o, m) BOOST_PP_IF(p(192, s), m, BOOST_PP_TUPLE_EAT_2)(192, s) BOOST_PP_IF(p(192, s), BOOST_PP_FOR_192, BOOST_PP_TUPLE_EAT_4)(o(192, s), p, o, m)
-# define BOOST_PP_FOR_192(s, p, o, m) BOOST_PP_IF(p(193, s), m, BOOST_PP_TUPLE_EAT_2)(193, s) BOOST_PP_IF(p(193, s), BOOST_PP_FOR_193, BOOST_PP_TUPLE_EAT_4)(o(193, s), p, o, m)
-# define BOOST_PP_FOR_193(s, p, o, m) BOOST_PP_IF(p(194, s), m, BOOST_PP_TUPLE_EAT_2)(194, s) BOOST_PP_IF(p(194, s), BOOST_PP_FOR_194, BOOST_PP_TUPLE_EAT_4)(o(194, s), p, o, m)
-# define BOOST_PP_FOR_194(s, p, o, m) BOOST_PP_IF(p(195, s), m, BOOST_PP_TUPLE_EAT_2)(195, s) BOOST_PP_IF(p(195, s), BOOST_PP_FOR_195, BOOST_PP_TUPLE_EAT_4)(o(195, s), p, o, m)
-# define BOOST_PP_FOR_195(s, p, o, m) BOOST_PP_IF(p(196, s), m, BOOST_PP_TUPLE_EAT_2)(196, s) BOOST_PP_IF(p(196, s), BOOST_PP_FOR_196, BOOST_PP_TUPLE_EAT_4)(o(196, s), p, o, m)
-# define BOOST_PP_FOR_196(s, p, o, m) BOOST_PP_IF(p(197, s), m, BOOST_PP_TUPLE_EAT_2)(197, s) BOOST_PP_IF(p(197, s), BOOST_PP_FOR_197, BOOST_PP_TUPLE_EAT_4)(o(197, s), p, o, m)
-# define BOOST_PP_FOR_197(s, p, o, m) BOOST_PP_IF(p(198, s), m, BOOST_PP_TUPLE_EAT_2)(198, s) BOOST_PP_IF(p(198, s), BOOST_PP_FOR_198, BOOST_PP_TUPLE_EAT_4)(o(198, s), p, o, m)
-# define BOOST_PP_FOR_198(s, p, o, m) BOOST_PP_IF(p(199, s), m, BOOST_PP_TUPLE_EAT_2)(199, s) BOOST_PP_IF(p(199, s), BOOST_PP_FOR_199, BOOST_PP_TUPLE_EAT_4)(o(199, s), p, o, m)
-# define BOOST_PP_FOR_199(s, p, o, m) BOOST_PP_IF(p(200, s), m, BOOST_PP_TUPLE_EAT_2)(200, s) BOOST_PP_IF(p(200, s), BOOST_PP_FOR_200, BOOST_PP_TUPLE_EAT_4)(o(200, s), p, o, m)
-# define BOOST_PP_FOR_200(s, p, o, m) BOOST_PP_IF(p(201, s), m, BOOST_PP_TUPLE_EAT_2)(201, s) BOOST_PP_IF(p(201, s), BOOST_PP_FOR_201, BOOST_PP_TUPLE_EAT_4)(o(201, s), p, o, m)
-# define BOOST_PP_FOR_201(s, p, o, m) BOOST_PP_IF(p(202, s), m, BOOST_PP_TUPLE_EAT_2)(202, s) BOOST_PP_IF(p(202, s), BOOST_PP_FOR_202, BOOST_PP_TUPLE_EAT_4)(o(202, s), p, o, m)
-# define BOOST_PP_FOR_202(s, p, o, m) BOOST_PP_IF(p(203, s), m, BOOST_PP_TUPLE_EAT_2)(203, s) BOOST_PP_IF(p(203, s), BOOST_PP_FOR_203, BOOST_PP_TUPLE_EAT_4)(o(203, s), p, o, m)
-# define BOOST_PP_FOR_203(s, p, o, m) BOOST_PP_IF(p(204, s), m, BOOST_PP_TUPLE_EAT_2)(204, s) BOOST_PP_IF(p(204, s), BOOST_PP_FOR_204, BOOST_PP_TUPLE_EAT_4)(o(204, s), p, o, m)
-# define BOOST_PP_FOR_204(s, p, o, m) BOOST_PP_IF(p(205, s), m, BOOST_PP_TUPLE_EAT_2)(205, s) BOOST_PP_IF(p(205, s), BOOST_PP_FOR_205, BOOST_PP_TUPLE_EAT_4)(o(205, s), p, o, m)
-# define BOOST_PP_FOR_205(s, p, o, m) BOOST_PP_IF(p(206, s), m, BOOST_PP_TUPLE_EAT_2)(206, s) BOOST_PP_IF(p(206, s), BOOST_PP_FOR_206, BOOST_PP_TUPLE_EAT_4)(o(206, s), p, o, m)
-# define BOOST_PP_FOR_206(s, p, o, m) BOOST_PP_IF(p(207, s), m, BOOST_PP_TUPLE_EAT_2)(207, s) BOOST_PP_IF(p(207, s), BOOST_PP_FOR_207, BOOST_PP_TUPLE_EAT_4)(o(207, s), p, o, m)
-# define BOOST_PP_FOR_207(s, p, o, m) BOOST_PP_IF(p(208, s), m, BOOST_PP_TUPLE_EAT_2)(208, s) BOOST_PP_IF(p(208, s), BOOST_PP_FOR_208, BOOST_PP_TUPLE_EAT_4)(o(208, s), p, o, m)
-# define BOOST_PP_FOR_208(s, p, o, m) BOOST_PP_IF(p(209, s), m, BOOST_PP_TUPLE_EAT_2)(209, s) BOOST_PP_IF(p(209, s), BOOST_PP_FOR_209, BOOST_PP_TUPLE_EAT_4)(o(209, s), p, o, m)
-# define BOOST_PP_FOR_209(s, p, o, m) BOOST_PP_IF(p(210, s), m, BOOST_PP_TUPLE_EAT_2)(210, s) BOOST_PP_IF(p(210, s), BOOST_PP_FOR_210, BOOST_PP_TUPLE_EAT_4)(o(210, s), p, o, m)
-# define BOOST_PP_FOR_210(s, p, o, m) BOOST_PP_IF(p(211, s), m, BOOST_PP_TUPLE_EAT_2)(211, s) BOOST_PP_IF(p(211, s), BOOST_PP_FOR_211, BOOST_PP_TUPLE_EAT_4)(o(211, s), p, o, m)
-# define BOOST_PP_FOR_211(s, p, o, m) BOOST_PP_IF(p(212, s), m, BOOST_PP_TUPLE_EAT_2)(212, s) BOOST_PP_IF(p(212, s), BOOST_PP_FOR_212, BOOST_PP_TUPLE_EAT_4)(o(212, s), p, o, m)
-# define BOOST_PP_FOR_212(s, p, o, m) BOOST_PP_IF(p(213, s), m, BOOST_PP_TUPLE_EAT_2)(213, s) BOOST_PP_IF(p(213, s), BOOST_PP_FOR_213, BOOST_PP_TUPLE_EAT_4)(o(213, s), p, o, m)
-# define BOOST_PP_FOR_213(s, p, o, m) BOOST_PP_IF(p(214, s), m, BOOST_PP_TUPLE_EAT_2)(214, s) BOOST_PP_IF(p(214, s), BOOST_PP_FOR_214, BOOST_PP_TUPLE_EAT_4)(o(214, s), p, o, m)
-# define BOOST_PP_FOR_214(s, p, o, m) BOOST_PP_IF(p(215, s), m, BOOST_PP_TUPLE_EAT_2)(215, s) BOOST_PP_IF(p(215, s), BOOST_PP_FOR_215, BOOST_PP_TUPLE_EAT_4)(o(215, s), p, o, m)
-# define BOOST_PP_FOR_215(s, p, o, m) BOOST_PP_IF(p(216, s), m, BOOST_PP_TUPLE_EAT_2)(216, s) BOOST_PP_IF(p(216, s), BOOST_PP_FOR_216, BOOST_PP_TUPLE_EAT_4)(o(216, s), p, o, m)
-# define BOOST_PP_FOR_216(s, p, o, m) BOOST_PP_IF(p(217, s), m, BOOST_PP_TUPLE_EAT_2)(217, s) BOOST_PP_IF(p(217, s), BOOST_PP_FOR_217, BOOST_PP_TUPLE_EAT_4)(o(217, s), p, o, m)
-# define BOOST_PP_FOR_217(s, p, o, m) BOOST_PP_IF(p(218, s), m, BOOST_PP_TUPLE_EAT_2)(218, s) BOOST_PP_IF(p(218, s), BOOST_PP_FOR_218, BOOST_PP_TUPLE_EAT_4)(o(218, s), p, o, m)
-# define BOOST_PP_FOR_218(s, p, o, m) BOOST_PP_IF(p(219, s), m, BOOST_PP_TUPLE_EAT_2)(219, s) BOOST_PP_IF(p(219, s), BOOST_PP_FOR_219, BOOST_PP_TUPLE_EAT_4)(o(219, s), p, o, m)
-# define BOOST_PP_FOR_219(s, p, o, m) BOOST_PP_IF(p(220, s), m, BOOST_PP_TUPLE_EAT_2)(220, s) BOOST_PP_IF(p(220, s), BOOST_PP_FOR_220, BOOST_PP_TUPLE_EAT_4)(o(220, s), p, o, m)
-# define BOOST_PP_FOR_220(s, p, o, m) BOOST_PP_IF(p(221, s), m, BOOST_PP_TUPLE_EAT_2)(221, s) BOOST_PP_IF(p(221, s), BOOST_PP_FOR_221, BOOST_PP_TUPLE_EAT_4)(o(221, s), p, o, m)
-# define BOOST_PP_FOR_221(s, p, o, m) BOOST_PP_IF(p(222, s), m, BOOST_PP_TUPLE_EAT_2)(222, s) BOOST_PP_IF(p(222, s), BOOST_PP_FOR_222, BOOST_PP_TUPLE_EAT_4)(o(222, s), p, o, m)
-# define BOOST_PP_FOR_222(s, p, o, m) BOOST_PP_IF(p(223, s), m, BOOST_PP_TUPLE_EAT_2)(223, s) BOOST_PP_IF(p(223, s), BOOST_PP_FOR_223, BOOST_PP_TUPLE_EAT_4)(o(223, s), p, o, m)
-# define BOOST_PP_FOR_223(s, p, o, m) BOOST_PP_IF(p(224, s), m, BOOST_PP_TUPLE_EAT_2)(224, s) BOOST_PP_IF(p(224, s), BOOST_PP_FOR_224, BOOST_PP_TUPLE_EAT_4)(o(224, s), p, o, m)
-# define BOOST_PP_FOR_224(s, p, o, m) BOOST_PP_IF(p(225, s), m, BOOST_PP_TUPLE_EAT_2)(225, s) BOOST_PP_IF(p(225, s), BOOST_PP_FOR_225, BOOST_PP_TUPLE_EAT_4)(o(225, s), p, o, m)
-# define BOOST_PP_FOR_225(s, p, o, m) BOOST_PP_IF(p(226, s), m, BOOST_PP_TUPLE_EAT_2)(226, s) BOOST_PP_IF(p(226, s), BOOST_PP_FOR_226, BOOST_PP_TUPLE_EAT_4)(o(226, s), p, o, m)
-# define BOOST_PP_FOR_226(s, p, o, m) BOOST_PP_IF(p(227, s), m, BOOST_PP_TUPLE_EAT_2)(227, s) BOOST_PP_IF(p(227, s), BOOST_PP_FOR_227, BOOST_PP_TUPLE_EAT_4)(o(227, s), p, o, m)
-# define BOOST_PP_FOR_227(s, p, o, m) BOOST_PP_IF(p(228, s), m, BOOST_PP_TUPLE_EAT_2)(228, s) BOOST_PP_IF(p(228, s), BOOST_PP_FOR_228, BOOST_PP_TUPLE_EAT_4)(o(228, s), p, o, m)
-# define BOOST_PP_FOR_228(s, p, o, m) BOOST_PP_IF(p(229, s), m, BOOST_PP_TUPLE_EAT_2)(229, s) BOOST_PP_IF(p(229, s), BOOST_PP_FOR_229, BOOST_PP_TUPLE_EAT_4)(o(229, s), p, o, m)
-# define BOOST_PP_FOR_229(s, p, o, m) BOOST_PP_IF(p(230, s), m, BOOST_PP_TUPLE_EAT_2)(230, s) BOOST_PP_IF(p(230, s), BOOST_PP_FOR_230, BOOST_PP_TUPLE_EAT_4)(o(230, s), p, o, m)
-# define BOOST_PP_FOR_230(s, p, o, m) BOOST_PP_IF(p(231, s), m, BOOST_PP_TUPLE_EAT_2)(231, s) BOOST_PP_IF(p(231, s), BOOST_PP_FOR_231, BOOST_PP_TUPLE_EAT_4)(o(231, s), p, o, m)
-# define BOOST_PP_FOR_231(s, p, o, m) BOOST_PP_IF(p(232, s), m, BOOST_PP_TUPLE_EAT_2)(232, s) BOOST_PP_IF(p(232, s), BOOST_PP_FOR_232, BOOST_PP_TUPLE_EAT_4)(o(232, s), p, o, m)
-# define BOOST_PP_FOR_232(s, p, o, m) BOOST_PP_IF(p(233, s), m, BOOST_PP_TUPLE_EAT_2)(233, s) BOOST_PP_IF(p(233, s), BOOST_PP_FOR_233, BOOST_PP_TUPLE_EAT_4)(o(233, s), p, o, m)
-# define BOOST_PP_FOR_233(s, p, o, m) BOOST_PP_IF(p(234, s), m, BOOST_PP_TUPLE_EAT_2)(234, s) BOOST_PP_IF(p(234, s), BOOST_PP_FOR_234, BOOST_PP_TUPLE_EAT_4)(o(234, s), p, o, m)
-# define BOOST_PP_FOR_234(s, p, o, m) BOOST_PP_IF(p(235, s), m, BOOST_PP_TUPLE_EAT_2)(235, s) BOOST_PP_IF(p(235, s), BOOST_PP_FOR_235, BOOST_PP_TUPLE_EAT_4)(o(235, s), p, o, m)
-# define BOOST_PP_FOR_235(s, p, o, m) BOOST_PP_IF(p(236, s), m, BOOST_PP_TUPLE_EAT_2)(236, s) BOOST_PP_IF(p(236, s), BOOST_PP_FOR_236, BOOST_PP_TUPLE_EAT_4)(o(236, s), p, o, m)
-# define BOOST_PP_FOR_236(s, p, o, m) BOOST_PP_IF(p(237, s), m, BOOST_PP_TUPLE_EAT_2)(237, s) BOOST_PP_IF(p(237, s), BOOST_PP_FOR_237, BOOST_PP_TUPLE_EAT_4)(o(237, s), p, o, m)
-# define BOOST_PP_FOR_237(s, p, o, m) BOOST_PP_IF(p(238, s), m, BOOST_PP_TUPLE_EAT_2)(238, s) BOOST_PP_IF(p(238, s), BOOST_PP_FOR_238, BOOST_PP_TUPLE_EAT_4)(o(238, s), p, o, m)
-# define BOOST_PP_FOR_238(s, p, o, m) BOOST_PP_IF(p(239, s), m, BOOST_PP_TUPLE_EAT_2)(239, s) BOOST_PP_IF(p(239, s), BOOST_PP_FOR_239, BOOST_PP_TUPLE_EAT_4)(o(239, s), p, o, m)
-# define BOOST_PP_FOR_239(s, p, o, m) BOOST_PP_IF(p(240, s), m, BOOST_PP_TUPLE_EAT_2)(240, s) BOOST_PP_IF(p(240, s), BOOST_PP_FOR_240, BOOST_PP_TUPLE_EAT_4)(o(240, s), p, o, m)
-# define BOOST_PP_FOR_240(s, p, o, m) BOOST_PP_IF(p(241, s), m, BOOST_PP_TUPLE_EAT_2)(241, s) BOOST_PP_IF(p(241, s), BOOST_PP_FOR_241, BOOST_PP_TUPLE_EAT_4)(o(241, s), p, o, m)
-# define BOOST_PP_FOR_241(s, p, o, m) BOOST_PP_IF(p(242, s), m, BOOST_PP_TUPLE_EAT_2)(242, s) BOOST_PP_IF(p(242, s), BOOST_PP_FOR_242, BOOST_PP_TUPLE_EAT_4)(o(242, s), p, o, m)
-# define BOOST_PP_FOR_242(s, p, o, m) BOOST_PP_IF(p(243, s), m, BOOST_PP_TUPLE_EAT_2)(243, s) BOOST_PP_IF(p(243, s), BOOST_PP_FOR_243, BOOST_PP_TUPLE_EAT_4)(o(243, s), p, o, m)
-# define BOOST_PP_FOR_243(s, p, o, m) BOOST_PP_IF(p(244, s), m, BOOST_PP_TUPLE_EAT_2)(244, s) BOOST_PP_IF(p(244, s), BOOST_PP_FOR_244, BOOST_PP_TUPLE_EAT_4)(o(244, s), p, o, m)
-# define BOOST_PP_FOR_244(s, p, o, m) BOOST_PP_IF(p(245, s), m, BOOST_PP_TUPLE_EAT_2)(245, s) BOOST_PP_IF(p(245, s), BOOST_PP_FOR_245, BOOST_PP_TUPLE_EAT_4)(o(245, s), p, o, m)
-# define BOOST_PP_FOR_245(s, p, o, m) BOOST_PP_IF(p(246, s), m, BOOST_PP_TUPLE_EAT_2)(246, s) BOOST_PP_IF(p(246, s), BOOST_PP_FOR_246, BOOST_PP_TUPLE_EAT_4)(o(246, s), p, o, m)
-# define BOOST_PP_FOR_246(s, p, o, m) BOOST_PP_IF(p(247, s), m, BOOST_PP_TUPLE_EAT_2)(247, s) BOOST_PP_IF(p(247, s), BOOST_PP_FOR_247, BOOST_PP_TUPLE_EAT_4)(o(247, s), p, o, m)
-# define BOOST_PP_FOR_247(s, p, o, m) BOOST_PP_IF(p(248, s), m, BOOST_PP_TUPLE_EAT_2)(248, s) BOOST_PP_IF(p(248, s), BOOST_PP_FOR_248, BOOST_PP_TUPLE_EAT_4)(o(248, s), p, o, m)
-# define BOOST_PP_FOR_248(s, p, o, m) BOOST_PP_IF(p(249, s), m, BOOST_PP_TUPLE_EAT_2)(249, s) BOOST_PP_IF(p(249, s), BOOST_PP_FOR_249, BOOST_PP_TUPLE_EAT_4)(o(249, s), p, o, m)
-# define BOOST_PP_FOR_249(s, p, o, m) BOOST_PP_IF(p(250, s), m, BOOST_PP_TUPLE_EAT_2)(250, s) BOOST_PP_IF(p(250, s), BOOST_PP_FOR_250, BOOST_PP_TUPLE_EAT_4)(o(250, s), p, o, m)
-# define BOOST_PP_FOR_250(s, p, o, m) BOOST_PP_IF(p(251, s), m, BOOST_PP_TUPLE_EAT_2)(251, s) BOOST_PP_IF(p(251, s), BOOST_PP_FOR_251, BOOST_PP_TUPLE_EAT_4)(o(251, s), p, o, m)
-# define BOOST_PP_FOR_251(s, p, o, m) BOOST_PP_IF(p(252, s), m, BOOST_PP_TUPLE_EAT_2)(252, s) BOOST_PP_IF(p(252, s), BOOST_PP_FOR_252, BOOST_PP_TUPLE_EAT_4)(o(252, s), p, o, m)
-# define BOOST_PP_FOR_252(s, p, o, m) BOOST_PP_IF(p(253, s), m, BOOST_PP_TUPLE_EAT_2)(253, s) BOOST_PP_IF(p(253, s), BOOST_PP_FOR_253, BOOST_PP_TUPLE_EAT_4)(o(253, s), p, o, m)
-# define BOOST_PP_FOR_253(s, p, o, m) BOOST_PP_IF(p(254, s), m, BOOST_PP_TUPLE_EAT_2)(254, s) BOOST_PP_IF(p(254, s), BOOST_PP_FOR_254, BOOST_PP_TUPLE_EAT_4)(o(254, s), p, o, m)
-# define BOOST_PP_FOR_254(s, p, o, m) BOOST_PP_IF(p(255, s), m, BOOST_PP_TUPLE_EAT_2)(255, s) BOOST_PP_IF(p(255, s), BOOST_PP_FOR_255, BOOST_PP_TUPLE_EAT_4)(o(255, s), p, o, m)
-# define BOOST_PP_FOR_255(s, p, o, m) BOOST_PP_IF(p(256, s), m, BOOST_PP_TUPLE_EAT_2)(256, s) BOOST_PP_IF(p(256, s), BOOST_PP_FOR_256, BOOST_PP_TUPLE_EAT_4)(o(256, s), p, o, m)
-# define BOOST_PP_FOR_256(s, p, o, m) BOOST_PP_IF(p(257, s), m, BOOST_PP_TUPLE_EAT_2)(257, s) BOOST_PP_IF(p(257, s), BOOST_PP_FOR_257, BOOST_PP_TUPLE_EAT_4)(o(257, s), p, o, m)
-#
-# endif
diff --git a/boost/preprocessor/repetition/enum.hpp b/boost/preprocessor/repetition/enum.hpp
deleted file mode 100644
index 0198cd9..0000000
--- a/boost/preprocessor/repetition/enum.hpp
+++ /dev/null
@@ -1,66 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_HPP
-# define BOOST_PREPROCESSOR_REPETITION_ENUM_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/debug/error.hpp>
-# include <boost/preprocessor/detail/auto_rec.hpp>
-# include <boost/preprocessor/punctuation/comma_if.hpp>
-# include <boost/preprocessor/repetition/repeat.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-# include <boost/preprocessor/tuple/rem.hpp>
-#
-# /* BOOST_PP_ENUM */
-#
-# if 0
-# define BOOST_PP_ENUM(count, macro, data)
-# endif
-#
-# define BOOST_PP_ENUM BOOST_PP_CAT(BOOST_PP_ENUM_, BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4))
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_ENUM_1(c, m, d) BOOST_PP_REPEAT_1(c, BOOST_PP_ENUM_M_1, (m, d))
-# define BOOST_PP_ENUM_2(c, m, d) BOOST_PP_REPEAT_2(c, BOOST_PP_ENUM_M_2, (m, d))
-# define BOOST_PP_ENUM_3(c, m, d) BOOST_PP_REPEAT_3(c, BOOST_PP_ENUM_M_3, (m, d))
-# else
-# define BOOST_PP_ENUM_1(c, m, d) BOOST_PP_ENUM_1_I(c, m, d)
-# define BOOST_PP_ENUM_2(c, m, d) BOOST_PP_ENUM_2_I(c, m, d)
-# define BOOST_PP_ENUM_3(c, m, d) BOOST_PP_ENUM_3_I(c, m, d)
-# define BOOST_PP_ENUM_1_I(c, m, d) BOOST_PP_REPEAT_1(c, BOOST_PP_ENUM_M_1, (m, d))
-# define BOOST_PP_ENUM_2_I(c, m, d) BOOST_PP_REPEAT_2(c, BOOST_PP_ENUM_M_2, (m, d))
-# define BOOST_PP_ENUM_3_I(c, m, d) BOOST_PP_REPEAT_3(c, BOOST_PP_ENUM_M_3, (m, d))
-# endif
-#
-# define BOOST_PP_ENUM_4(c, m, d) BOOST_PP_ERROR(0x0003)
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
-# define BOOST_PP_ENUM_M_1(z, n, md) BOOST_PP_ENUM_M_1_IM(z, n, BOOST_PP_TUPLE_REM_2 md)
-# define BOOST_PP_ENUM_M_2(z, n, md) BOOST_PP_ENUM_M_2_IM(z, n, BOOST_PP_TUPLE_REM_2 md)
-# define BOOST_PP_ENUM_M_3(z, n, md) BOOST_PP_ENUM_M_3_IM(z, n, BOOST_PP_TUPLE_REM_2 md)
-# define BOOST_PP_ENUM_M_1_IM(z, n, im) BOOST_PP_ENUM_M_1_I(z, n, im)
-# define BOOST_PP_ENUM_M_2_IM(z, n, im) BOOST_PP_ENUM_M_2_I(z, n, im)
-# define BOOST_PP_ENUM_M_3_IM(z, n, im) BOOST_PP_ENUM_M_3_I(z, n, im)
-# else
-# define BOOST_PP_ENUM_M_1(z, n, md) BOOST_PP_ENUM_M_1_I(z, n, BOOST_PP_TUPLE_ELEM(2, 0, md), BOOST_PP_TUPLE_ELEM(2, 1, md))
-# define BOOST_PP_ENUM_M_2(z, n, md) BOOST_PP_ENUM_M_2_I(z, n, BOOST_PP_TUPLE_ELEM(2, 0, md), BOOST_PP_TUPLE_ELEM(2, 1, md))
-# define BOOST_PP_ENUM_M_3(z, n, md) BOOST_PP_ENUM_M_3_I(z, n, BOOST_PP_TUPLE_ELEM(2, 0, md), BOOST_PP_TUPLE_ELEM(2, 1, md))
-# endif
-#
-# define BOOST_PP_ENUM_M_1_I(z, n, m, d) BOOST_PP_COMMA_IF(n) m(z, n, d)
-# define BOOST_PP_ENUM_M_2_I(z, n, m, d) BOOST_PP_COMMA_IF(n) m(z, n, d)
-# define BOOST_PP_ENUM_M_3_I(z, n, m, d) BOOST_PP_COMMA_IF(n) m(z, n, d)
-#
-# endif
diff --git a/boost/preprocessor/repetition/enum_binary_params.hpp b/boost/preprocessor/repetition/enum_binary_params.hpp
deleted file mode 100644
index a2c1048..0000000
--- a/boost/preprocessor/repetition/enum_binary_params.hpp
+++ /dev/null
@@ -1,54 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_BINARY_PARAMS_HPP
-# define BOOST_PREPROCESSOR_REPETITION_ENUM_BINARY_PARAMS_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/punctuation/comma_if.hpp>
-# include <boost/preprocessor/repetition/repeat.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-# include <boost/preprocessor/tuple/rem.hpp>
-#
-# /* BOOST_PP_ENUM_BINARY_PARAMS */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_ENUM_BINARY_PARAMS(count, p1, p2) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_BINARY_PARAMS_M, (p1, p2))
-# else
-# define BOOST_PP_ENUM_BINARY_PARAMS(count, p1, p2) BOOST_PP_ENUM_BINARY_PARAMS_I(count, p1, p2)
-# define BOOST_PP_ENUM_BINARY_PARAMS_I(count, p1, p2) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_BINARY_PARAMS_M, (p1, p2))
-# endif
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
-# define BOOST_PP_ENUM_BINARY_PARAMS_M(z, n, pp) BOOST_PP_ENUM_BINARY_PARAMS_M_IM(z, n, BOOST_PP_TUPLE_REM_2 pp)
-# define BOOST_PP_ENUM_BINARY_PARAMS_M_IM(z, n, im) BOOST_PP_ENUM_BINARY_PARAMS_M_I(z, n, im)
-# else
-# define BOOST_PP_ENUM_BINARY_PARAMS_M(z, n, pp) BOOST_PP_ENUM_BINARY_PARAMS_M_I(z, n, BOOST_PP_TUPLE_ELEM(2, 0, pp), BOOST_PP_TUPLE_ELEM(2, 1, pp))
-# endif
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-# define BOOST_PP_ENUM_BINARY_PARAMS_M_I(z, n, p1, p2) BOOST_PP_ENUM_BINARY_PARAMS_M_II(z, n, p1, p2)
-# define BOOST_PP_ENUM_BINARY_PARAMS_M_II(z, n, p1, p2) BOOST_PP_COMMA_IF(n) p1 ## n p2 ## n
-# else
-# define BOOST_PP_ENUM_BINARY_PARAMS_M_I(z, n, p1, p2) BOOST_PP_COMMA_IF(n) BOOST_PP_CAT(p1, n) BOOST_PP_CAT(p2, n)
-# endif
-#
-# /* BOOST_PP_ENUM_BINARY_PARAMS_Z */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_ENUM_BINARY_PARAMS_Z(z, count, p1, p2) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_BINARY_PARAMS_M, (p1, p2))
-# else
-# define BOOST_PP_ENUM_BINARY_PARAMS_Z(z, count, p1, p2) BOOST_PP_ENUM_BINARY_PARAMS_Z_I(z, count, p1, p2)
-# define BOOST_PP_ENUM_BINARY_PARAMS_Z_I(z, count, p1, p2) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_BINARY_PARAMS_M, (p1, p2))
-# endif
-#
-# endif
diff --git a/boost/preprocessor/repetition/enum_params.hpp b/boost/preprocessor/repetition/enum_params.hpp
deleted file mode 100644
index 65a2369..0000000
--- a/boost/preprocessor/repetition/enum_params.hpp
+++ /dev/null
@@ -1,41 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_PARAMS_HPP
-# define BOOST_PREPROCESSOR_REPETITION_ENUM_PARAMS_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/punctuation/comma_if.hpp>
-# include <boost/preprocessor/repetition/repeat.hpp>
-#
-# /* BOOST_PP_ENUM_PARAMS */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_ENUM_PARAMS(count, param) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_PARAMS_M, param)
-# else
-# define BOOST_PP_ENUM_PARAMS(count, param) BOOST_PP_ENUM_PARAMS_I(count, param)
-# define BOOST_PP_ENUM_PARAMS_I(count, param) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_PARAMS_M, param)
-# endif
-#
-# define BOOST_PP_ENUM_PARAMS_M(z, n, param) BOOST_PP_COMMA_IF(n) param ## n
-#
-# /* BOOST_PP_ENUM_PARAMS_Z */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_ENUM_PARAMS_Z(z, count, param) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_PARAMS_M, param)
-# else
-# define BOOST_PP_ENUM_PARAMS_Z(z, count, param) BOOST_PP_ENUM_PARAMS_Z_I(z, count, param)
-# define BOOST_PP_ENUM_PARAMS_Z_I(z, count, param) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_PARAMS_M, param)
-# endif
-#
-# endif
diff --git a/boost/preprocessor/repetition/enum_params_with_a_default.hpp b/boost/preprocessor/repetition/enum_params_with_a_default.hpp
deleted file mode 100644
index 7496df6..0000000
--- a/boost/preprocessor/repetition/enum_params_with_a_default.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_PARAMS_WITH_A_DEFAULT_HPP
-# define BOOST_PREPROCESSOR_REPETITION_ENUM_PARAMS_WITH_A_DEFAULT_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/facilities/intercept.hpp>
-# include <boost/preprocessor/repetition/enum_binary_params.hpp>
-#
-# /* BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT */
-#
-# define BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(count, param, def) BOOST_PP_ENUM_BINARY_PARAMS(count, param, = def BOOST_PP_INTERCEPT)
-#
-# endif
diff --git a/boost/preprocessor/repetition/enum_shifted.hpp b/boost/preprocessor/repetition/enum_shifted.hpp
deleted file mode 100644
index d5b006f..0000000
--- a/boost/preprocessor/repetition/enum_shifted.hpp
+++ /dev/null
@@ -1,68 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_SHIFTED_HPP
-# define BOOST_PREPROCESSOR_REPETITION_ENUM_SHIFTED_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/arithmetic/dec.hpp>
-# include <boost/preprocessor/arithmetic/inc.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/debug/error.hpp>
-# include <boost/preprocessor/detail/auto_rec.hpp>
-# include <boost/preprocessor/punctuation/comma_if.hpp>
-# include <boost/preprocessor/repetition/repeat.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-# include <boost/preprocessor/tuple/rem.hpp>
-#
-# /* BOOST_PP_ENUM_SHIFTED */
-#
-# if 0
-# define BOOST_PP_ENUM_SHIFTED(count, macro, data)
-# endif
-#
-# define BOOST_PP_ENUM_SHIFTED BOOST_PP_CAT(BOOST_PP_ENUM_SHIFTED_, BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4))
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_ENUM_SHIFTED_1(c, m, d) BOOST_PP_REPEAT_1(BOOST_PP_DEC(c), BOOST_PP_ENUM_SHIFTED_M_1, (m, d))
-# define BOOST_PP_ENUM_SHIFTED_2(c, m, d) BOOST_PP_REPEAT_2(BOOST_PP_DEC(c), BOOST_PP_ENUM_SHIFTED_M_2, (m, d))
-# define BOOST_PP_ENUM_SHIFTED_3(c, m, d) BOOST_PP_REPEAT_3(BOOST_PP_DEC(c), BOOST_PP_ENUM_SHIFTED_M_3, (m, d))
-# else
-# define BOOST_PP_ENUM_SHIFTED_1(c, m, d) BOOST_PP_ENUM_SHIFTED_1_I(c, m, d)
-# define BOOST_PP_ENUM_SHIFTED_2(c, m, d) BOOST_PP_ENUM_SHIFTED_1_2(c, m, d)
-# define BOOST_PP_ENUM_SHIFTED_3(c, m, d) BOOST_PP_ENUM_SHIFTED_1_3(c, m, d)
-# define BOOST_PP_ENUM_SHIFTED_1_I(c, m, d) BOOST_PP_REPEAT_1(BOOST_PP_DEC(c), BOOST_PP_ENUM_SHIFTED_M_1, (m, d))
-# define BOOST_PP_ENUM_SHIFTED_2_I(c, m, d) BOOST_PP_REPEAT_2(BOOST_PP_DEC(c), BOOST_PP_ENUM_SHIFTED_M_2, (m, d))
-# define BOOST_PP_ENUM_SHIFTED_3_I(c, m, d) BOOST_PP_REPEAT_3(BOOST_PP_DEC(c), BOOST_PP_ENUM_SHIFTED_M_3, (m, d))
-# endif
-#
-# define BOOST_PP_ENUM_SHIFTED_4(c, m, d) BOOST_PP_ERROR(0x0003)
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
-# define BOOST_PP_ENUM_SHIFTED_M_1(z, n, md) BOOST_PP_ENUM_SHIFTED_M_1_IM(z, n, BOOST_PP_TUPLE_REM_2 md)
-# define BOOST_PP_ENUM_SHIFTED_M_2(z, n, md) BOOST_PP_ENUM_SHIFTED_M_2_IM(z, n, BOOST_PP_TUPLE_REM_2 md)
-# define BOOST_PP_ENUM_SHIFTED_M_3(z, n, md) BOOST_PP_ENUM_SHIFTED_M_3_IM(z, n, BOOST_PP_TUPLE_REM_2 md)
-# define BOOST_PP_ENUM_SHIFTED_M_1_IM(z, n, im) BOOST_PP_ENUM_SHIFTED_M_1_I(z, n, im)
-# define BOOST_PP_ENUM_SHIFTED_M_2_IM(z, n, im) BOOST_PP_ENUM_SHIFTED_M_2_I(z, n, im)
-# define BOOST_PP_ENUM_SHIFTED_M_3_IM(z, n, im) BOOST_PP_ENUM_SHIFTED_M_3_I(z, n, im)
-# else
-# define BOOST_PP_ENUM_SHIFTED_M_1(z, n, md) BOOST_PP_ENUM_SHIFTED_M_1_I(z, n, BOOST_PP_TUPLE_ELEM(2, 0, md), BOOST_PP_TUPLE_ELEM(2, 1, md))
-# define BOOST_PP_ENUM_SHIFTED_M_2(z, n, md) BOOST_PP_ENUM_SHIFTED_M_2_I(z, n, BOOST_PP_TUPLE_ELEM(2, 0, md), BOOST_PP_TUPLE_ELEM(2, 1, md))
-# define BOOST_PP_ENUM_SHIFTED_M_3(z, n, md) BOOST_PP_ENUM_SHIFTED_M_3_I(z, n, BOOST_PP_TUPLE_ELEM(2, 0, md), BOOST_PP_TUPLE_ELEM(2, 1, md))
-# endif
-#
-# define BOOST_PP_ENUM_SHIFTED_M_1_I(z, n, m, d) BOOST_PP_COMMA_IF(n) m(z, BOOST_PP_INC(n), d)
-# define BOOST_PP_ENUM_SHIFTED_M_2_I(z, n, m, d) BOOST_PP_COMMA_IF(n) m(z, BOOST_PP_INC(n), d)
-# define BOOST_PP_ENUM_SHIFTED_M_3_I(z, n, m, d) BOOST_PP_COMMA_IF(n) m(z, BOOST_PP_INC(n), d)
-#
-# endif
diff --git a/boost/preprocessor/repetition/enum_shifted_params.hpp b/boost/preprocessor/repetition/enum_shifted_params.hpp
deleted file mode 100644
index 88b2bf4..0000000
--- a/boost/preprocessor/repetition/enum_shifted_params.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_SHIFTED_PARAMS_HPP
-# define BOOST_PREPROCESSOR_REPETITION_ENUM_SHIFTED_PARAMS_HPP
-#
-# include <boost/preprocessor/arithmetic/dec.hpp>
-# include <boost/preprocessor/arithmetic/inc.hpp>
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/punctuation/comma_if.hpp>
-# include <boost/preprocessor/repetition/repeat.hpp>
-#
-# /* BOOST_PP_ENUM_SHIFTED_PARAMS */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_ENUM_SHIFTED_PARAMS(count, param) BOOST_PP_REPEAT(BOOST_PP_DEC(count), BOOST_PP_ENUM_SHIFTED_PARAMS_M, param)
-# else
-# define BOOST_PP_ENUM_SHIFTED_PARAMS(count, param) BOOST_PP_ENUM_SHIFTED_PARAMS_I(count, param)
-# define BOOST_PP_ENUM_SHIFTED_PARAMS_I(count, param) BOOST_PP_REPEAT(BOOST_PP_DEC(count), BOOST_PP_ENUM_SHIFTED_PARAMS_M, param)
-# endif
-#
-# define BOOST_PP_ENUM_SHIFTED_PARAMS_M(z, n, param) BOOST_PP_COMMA_IF(n) BOOST_PP_CAT(param, BOOST_PP_INC(n))
-#
-# /* BOOST_PP_ENUM_SHIFTED_PARAMS_Z */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_ENUM_SHIFTED_PARAMS_Z(z, count, param) BOOST_PP_REPEAT_ ## z(BOOST_PP_DEC(count), BOOST_PP_ENUM_SHIFTED_PARAMS_M, param)
-# else
-# define BOOST_PP_ENUM_SHIFTED_PARAMS_Z(z, count, param) BOOST_PP_ENUM_SHIFTED_PARAMS_Z_I(z, count, param)
-# define BOOST_PP_ENUM_SHIFTED_PARAMS_Z_I(z, count, param) BOOST_PP_REPEAT_ ## z(BOOST_PP_DEC(count), BOOST_PP_ENUM_SHIFTED_PARAMS_M, param)
-# endif
-#
-# endif
diff --git a/boost/preprocessor/repetition/enum_trailing.hpp b/boost/preprocessor/repetition/enum_trailing.hpp
deleted file mode 100644
index 20af2d5..0000000
--- a/boost/preprocessor/repetition/enum_trailing.hpp
+++ /dev/null
@@ -1,63 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_TRAILING_HPP
-# define BOOST_PREPROCESSOR_REPETITION_ENUM_TRAILING_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/debug/error.hpp>
-# include <boost/preprocessor/detail/auto_rec.hpp>
-# include <boost/preprocessor/repetition/repeat.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-# include <boost/preprocessor/tuple/rem.hpp>
-#
-# /* BOOST_PP_ENUM_TRAILING */
-#
-# if 0
-# define BOOST_PP_ENUM_TRAILING(count, macro, data)
-# endif
-#
-# define BOOST_PP_ENUM_TRAILING BOOST_PP_CAT(BOOST_PP_ENUM_TRAILING_, BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4))
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_ENUM_TRAILING_1(c, m, d) BOOST_PP_REPEAT_1(c, BOOST_PP_ENUM_TRAILING_M_1, (m, d))
-# define BOOST_PP_ENUM_TRAILING_2(c, m, d) BOOST_PP_REPEAT_2(c, BOOST_PP_ENUM_TRAILING_M_2, (m, d))
-# define BOOST_PP_ENUM_TRAILING_3(c, m, d) BOOST_PP_REPEAT_3(c, BOOST_PP_ENUM_TRAILING_M_3, (m, d))
-# else
-# define BOOST_PP_ENUM_TRAILING_1(c, m, d) BOOST_PP_ENUM_TRAILING_1_I(c, m, d)
-# define BOOST_PP_ENUM_TRAILING_2(c, m, d) BOOST_PP_ENUM_TRAILING_2_I(c, m, d)
-# define BOOST_PP_ENUM_TRAILING_3(c, m, d) BOOST_PP_ENUM_TRAILING_3_I(c, m, d)
-# define BOOST_PP_ENUM_TRAILING_1_I(c, m, d) BOOST_PP_REPEAT_1(c, BOOST_PP_ENUM_TRAILING_M_1, (m, d))
-# define BOOST_PP_ENUM_TRAILING_2_I(c, m, d) BOOST_PP_REPEAT_2(c, BOOST_PP_ENUM_TRAILING_M_2, (m, d))
-# define BOOST_PP_ENUM_TRAILING_3_I(c, m, d) BOOST_PP_REPEAT_3(c, BOOST_PP_ENUM_TRAILING_M_3, (m, d))
-# endif
-#
-# define BOOST_PP_ENUM_TRAILING_4(c, m, d) BOOST_PP_ERROR(0x0003)
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
-# define BOOST_PP_ENUM_TRAILING_M_1(z, n, md) BOOST_PP_ENUM_TRAILING_M_1_IM(z, n, BOOST_PP_TUPLE_REM_2 md)
-# define BOOST_PP_ENUM_TRAILING_M_2(z, n, md) BOOST_PP_ENUM_TRAILING_M_2_IM(z, n, BOOST_PP_TUPLE_REM_2 md)
-# define BOOST_PP_ENUM_TRAILING_M_3(z, n, md) BOOST_PP_ENUM_TRAILING_M_3_IM(z, n, BOOST_PP_TUPLE_REM_2 md)
-# define BOOST_PP_ENUM_TRAILING_M_1_IM(z, n, im) BOOST_PP_ENUM_TRAILING_M_1_I(z, n, im)
-# define BOOST_PP_ENUM_TRAILING_M_2_IM(z, n, im) BOOST_PP_ENUM_TRAILING_M_2_I(z, n, im)
-# define BOOST_PP_ENUM_TRAILING_M_3_IM(z, n, im) BOOST_PP_ENUM_TRAILING_M_3_I(z, n, im)
-# else
-# define BOOST_PP_ENUM_TRAILING_M_1(z, n, md) BOOST_PP_ENUM_TRAILING_M_1_I(z, n, BOOST_PP_TUPLE_ELEM(2, 0, md), BOOST_PP_TUPLE_ELEM(2, 1, md))
-# define BOOST_PP_ENUM_TRAILING_M_2(z, n, md) BOOST_PP_ENUM_TRAILING_M_2_I(z, n, BOOST_PP_TUPLE_ELEM(2, 0, md), BOOST_PP_TUPLE_ELEM(2, 1, md))
-# define BOOST_PP_ENUM_TRAILING_M_3(z, n, md) BOOST_PP_ENUM_TRAILING_M_3_I(z, n, BOOST_PP_TUPLE_ELEM(2, 0, md), BOOST_PP_TUPLE_ELEM(2, 1, md))
-# endif
-#
-# define BOOST_PP_ENUM_TRAILING_M_1_I(z, n, m, d) , m(z, n, d)
-# define BOOST_PP_ENUM_TRAILING_M_2_I(z, n, m, d) , m(z, n, d)
-# define BOOST_PP_ENUM_TRAILING_M_3_I(z, n, m, d) , m(z, n, d)
-#
-# endif
diff --git a/boost/preprocessor/repetition/enum_trailing_params.hpp b/boost/preprocessor/repetition/enum_trailing_params.hpp
deleted file mode 100644
index f7520db..0000000
--- a/boost/preprocessor/repetition/enum_trailing_params.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_TRAILING_PARAMS_HPP
-# define BOOST_PREPROCESSOR_REPETITION_ENUM_TRAILING_PARAMS_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/repetition/repeat.hpp>
-#
-# /* BOOST_PP_ENUM_TRAILING_PARAMS */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_ENUM_TRAILING_PARAMS(count, param) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_TRAILING_PARAMS_M, param)
-# else
-# define BOOST_PP_ENUM_TRAILING_PARAMS(count, param) BOOST_PP_ENUM_TRAILING_PARAMS_I(count, param)
-# define BOOST_PP_ENUM_TRAILING_PARAMS_I(count, param) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_TRAILING_PARAMS_M, param)
-# endif
-#
-# define BOOST_PP_ENUM_TRAILING_PARAMS_M(z, n, param) , param ## n
-#
-# /* BOOST_PP_ENUM_TRAILING_PARAMS_Z */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_ENUM_TRAILING_PARAMS_Z(z, count, param) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_TRAILING_PARAMS_M, param)
-# else
-# define BOOST_PP_ENUM_TRAILING_PARAMS_Z(z, count, param) BOOST_PP_ENUM_TRAILING_PARAMS_Z_I(z, count, param)
-# define BOOST_PP_ENUM_TRAILING_PARAMS_Z_I(z, count, param) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_TRAILING_PARAMS_M, param)
-# endif
-#
-# endif
diff --git a/boost/preprocessor/repetition/for.hpp b/boost/preprocessor/repetition/for.hpp
deleted file mode 100644
index 5a63753..0000000
--- a/boost/preprocessor/repetition/for.hpp
+++ /dev/null
@@ -1,306 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_REPETITION_FOR_HPP
-# define BOOST_PREPROCESSOR_REPETITION_FOR_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/debug/error.hpp>
-# include <boost/preprocessor/detail/auto_rec.hpp>
-#
-# /* BOOST_PP_FOR */
-#
-# if 0
-# define BOOST_PP_FOR(state, pred, op, macro)
-# endif
-#
-# define BOOST_PP_FOR BOOST_PP_CAT(BOOST_PP_FOR_, BOOST_PP_AUTO_REC(BOOST_PP_FOR_P, 256))
-#
-# define BOOST_PP_FOR_P(n) BOOST_PP_CAT(BOOST_PP_FOR_CHECK_, BOOST_PP_FOR_ ## n(1, BOOST_PP_FOR_SR_P, BOOST_PP_FOR_SR_O, BOOST_PP_FOR_SR_M))
-#
-# define BOOST_PP_FOR_SR_P(r, s) s
-# define BOOST_PP_FOR_SR_O(r, s) 0
-# define BOOST_PP_FOR_SR_M(r, s) BOOST_PP_NIL
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# include <boost/preprocessor/repetition/detail/edg/for.hpp>
-# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-# include <boost/preprocessor/repetition/detail/msvc/for.hpp>
-# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC()
-# include <boost/preprocessor/repetition/detail/dmc/for.hpp>
-# else
-# include <boost/preprocessor/repetition/detail/for.hpp>
-# endif
-#
-# define BOOST_PP_FOR_257(s, p, o, m) BOOST_PP_ERROR(0x0002)
-#
-# define BOOST_PP_FOR_CHECK_BOOST_PP_NIL 1
-#
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_2(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_3(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_4(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_5(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_6(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_7(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_8(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_9(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_10(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_11(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_12(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_13(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_14(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_15(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_16(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_17(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_18(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_19(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_20(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_21(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_22(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_23(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_24(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_25(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_26(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_27(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_28(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_29(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_30(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_31(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_32(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_33(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_34(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_35(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_36(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_37(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_38(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_39(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_40(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_41(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_42(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_43(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_44(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_45(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_46(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_47(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_48(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_49(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_50(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_51(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_52(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_53(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_54(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_55(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_56(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_57(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_58(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_59(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_60(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_61(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_62(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_63(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_64(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_65(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_66(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_67(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_68(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_69(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_70(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_71(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_72(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_73(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_74(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_75(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_76(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_77(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_78(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_79(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_80(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_81(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_82(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_83(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_84(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_85(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_86(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_87(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_88(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_89(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_90(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_91(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_92(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_93(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_94(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_95(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_96(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_97(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_98(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_99(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_100(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_101(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_102(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_103(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_104(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_105(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_106(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_107(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_108(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_109(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_110(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_111(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_112(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_113(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_114(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_115(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_116(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_117(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_118(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_119(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_120(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_121(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_122(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_123(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_124(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_125(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_126(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_127(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_128(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_129(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_130(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_131(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_132(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_133(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_134(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_135(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_136(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_137(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_138(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_139(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_140(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_141(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_142(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_143(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_144(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_145(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_146(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_147(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_148(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_149(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_150(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_151(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_152(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_153(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_154(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_155(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_156(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_157(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_158(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_159(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_160(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_161(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_162(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_163(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_164(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_165(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_166(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_167(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_168(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_169(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_170(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_171(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_172(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_173(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_174(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_175(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_176(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_177(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_178(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_179(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_180(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_181(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_182(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_183(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_184(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_185(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_186(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_187(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_188(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_189(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_190(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_191(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_192(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_193(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_194(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_195(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_196(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_197(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_198(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_199(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_200(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_201(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_202(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_203(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_204(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_205(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_206(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_207(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_208(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_209(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_210(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_211(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_212(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_213(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_214(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_215(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_216(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_217(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_218(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_219(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_220(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_221(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_222(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_223(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_224(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_225(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_226(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_227(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_228(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_229(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_230(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_231(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_232(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_233(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_234(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_235(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_236(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_237(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_238(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_239(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_240(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_241(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_242(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_243(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_244(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_245(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_246(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_247(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_248(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_249(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_250(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_251(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_252(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_253(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_254(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_255(s, p, o, m) 0
-# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_256(s, p, o, m) 0
-#
-# endif
diff --git a/boost/preprocessor/repetition/repeat.hpp b/boost/preprocessor/repetition/repeat.hpp
deleted file mode 100644
index 0172738..0000000
--- a/boost/preprocessor/repetition/repeat.hpp
+++ /dev/null
@@ -1,825 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_REPETITION_REPEAT_HPP
-# define BOOST_PREPROCESSOR_REPETITION_REPEAT_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/debug/error.hpp>
-# include <boost/preprocessor/detail/auto_rec.hpp>
-# include <boost/preprocessor/tuple/eat.hpp>
-#
-# /* BOOST_PP_REPEAT */
-#
-# if 0
-# define BOOST_PP_REPEAT(count, macro, data)
-# endif
-#
-# define BOOST_PP_REPEAT BOOST_PP_CAT(BOOST_PP_REPEAT_, BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4))
-#
-# define BOOST_PP_REPEAT_P(n) BOOST_PP_CAT(BOOST_PP_REPEAT_CHECK_, BOOST_PP_REPEAT_ ## n(1, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3, BOOST_PP_NIL))
-#
-# define BOOST_PP_REPEAT_CHECK_BOOST_PP_NIL 1
-# define BOOST_PP_REPEAT_CHECK_BOOST_PP_REPEAT_1(c, m, d) 0
-# define BOOST_PP_REPEAT_CHECK_BOOST_PP_REPEAT_2(c, m, d) 0
-# define BOOST_PP_REPEAT_CHECK_BOOST_PP_REPEAT_3(c, m, d) 0
-#
-# define BOOST_PP_REPEAT_1(c, m, d) BOOST_PP_REPEAT_1_I(c, m, d)
-# define BOOST_PP_REPEAT_2(c, m, d) BOOST_PP_REPEAT_2_I(c, m, d)
-# define BOOST_PP_REPEAT_3(c, m, d) BOOST_PP_REPEAT_3_I(c, m, d)
-# define BOOST_PP_REPEAT_4(c, m, d) BOOST_PP_ERROR(0x0003)
-#
-# define BOOST_PP_REPEAT_1_I(c, m, d) BOOST_PP_REPEAT_1_ ## c(m, d)
-# define BOOST_PP_REPEAT_2_I(c, m, d) BOOST_PP_REPEAT_2_ ## c(m, d)
-# define BOOST_PP_REPEAT_3_I(c, m, d) BOOST_PP_REPEAT_3_ ## c(m, d)
-#
-# define BOOST_PP_REPEAT_1ST BOOST_PP_REPEAT_1
-# define BOOST_PP_REPEAT_2ND BOOST_PP_REPEAT_2
-# define BOOST_PP_REPEAT_3RD BOOST_PP_REPEAT_3
-#
-# define BOOST_PP_REPEAT_1_0(m, d)
-# define BOOST_PP_REPEAT_1_1(m, d) m(2, 0, d)
-# define BOOST_PP_REPEAT_1_2(m, d) BOOST_PP_REPEAT_1_1(m, d) m(2, 1, d)
-# define BOOST_PP_REPEAT_1_3(m, d) BOOST_PP_REPEAT_1_2(m, d) m(2, 2, d)
-# define BOOST_PP_REPEAT_1_4(m, d) BOOST_PP_REPEAT_1_3(m, d) m(2, 3, d)
-# define BOOST_PP_REPEAT_1_5(m, d) BOOST_PP_REPEAT_1_4(m, d) m(2, 4, d)
-# define BOOST_PP_REPEAT_1_6(m, d) BOOST_PP_REPEAT_1_5(m, d) m(2, 5, d)
-# define BOOST_PP_REPEAT_1_7(m, d) BOOST_PP_REPEAT_1_6(m, d) m(2, 6, d)
-# define BOOST_PP_REPEAT_1_8(m, d) BOOST_PP_REPEAT_1_7(m, d) m(2, 7, d)
-# define BOOST_PP_REPEAT_1_9(m, d) BOOST_PP_REPEAT_1_8(m, d) m(2, 8, d)
-# define BOOST_PP_REPEAT_1_10(m, d) BOOST_PP_REPEAT_1_9(m, d) m(2, 9, d)
-# define BOOST_PP_REPEAT_1_11(m, d) BOOST_PP_REPEAT_1_10(m, d) m(2, 10, d)
-# define BOOST_PP_REPEAT_1_12(m, d) BOOST_PP_REPEAT_1_11(m, d) m(2, 11, d)
-# define BOOST_PP_REPEAT_1_13(m, d) BOOST_PP_REPEAT_1_12(m, d) m(2, 12, d)
-# define BOOST_PP_REPEAT_1_14(m, d) BOOST_PP_REPEAT_1_13(m, d) m(2, 13, d)
-# define BOOST_PP_REPEAT_1_15(m, d) BOOST_PP_REPEAT_1_14(m, d) m(2, 14, d)
-# define BOOST_PP_REPEAT_1_16(m, d) BOOST_PP_REPEAT_1_15(m, d) m(2, 15, d)
-# define BOOST_PP_REPEAT_1_17(m, d) BOOST_PP_REPEAT_1_16(m, d) m(2, 16, d)
-# define BOOST_PP_REPEAT_1_18(m, d) BOOST_PP_REPEAT_1_17(m, d) m(2, 17, d)
-# define BOOST_PP_REPEAT_1_19(m, d) BOOST_PP_REPEAT_1_18(m, d) m(2, 18, d)
-# define BOOST_PP_REPEAT_1_20(m, d) BOOST_PP_REPEAT_1_19(m, d) m(2, 19, d)
-# define BOOST_PP_REPEAT_1_21(m, d) BOOST_PP_REPEAT_1_20(m, d) m(2, 20, d)
-# define BOOST_PP_REPEAT_1_22(m, d) BOOST_PP_REPEAT_1_21(m, d) m(2, 21, d)
-# define BOOST_PP_REPEAT_1_23(m, d) BOOST_PP_REPEAT_1_22(m, d) m(2, 22, d)
-# define BOOST_PP_REPEAT_1_24(m, d) BOOST_PP_REPEAT_1_23(m, d) m(2, 23, d)
-# define BOOST_PP_REPEAT_1_25(m, d) BOOST_PP_REPEAT_1_24(m, d) m(2, 24, d)
-# define BOOST_PP_REPEAT_1_26(m, d) BOOST_PP_REPEAT_1_25(m, d) m(2, 25, d)
-# define BOOST_PP_REPEAT_1_27(m, d) BOOST_PP_REPEAT_1_26(m, d) m(2, 26, d)
-# define BOOST_PP_REPEAT_1_28(m, d) BOOST_PP_REPEAT_1_27(m, d) m(2, 27, d)
-# define BOOST_PP_REPEAT_1_29(m, d) BOOST_PP_REPEAT_1_28(m, d) m(2, 28, d)
-# define BOOST_PP_REPEAT_1_30(m, d) BOOST_PP_REPEAT_1_29(m, d) m(2, 29, d)
-# define BOOST_PP_REPEAT_1_31(m, d) BOOST_PP_REPEAT_1_30(m, d) m(2, 30, d)
-# define BOOST_PP_REPEAT_1_32(m, d) BOOST_PP_REPEAT_1_31(m, d) m(2, 31, d)
-# define BOOST_PP_REPEAT_1_33(m, d) BOOST_PP_REPEAT_1_32(m, d) m(2, 32, d)
-# define BOOST_PP_REPEAT_1_34(m, d) BOOST_PP_REPEAT_1_33(m, d) m(2, 33, d)
-# define BOOST_PP_REPEAT_1_35(m, d) BOOST_PP_REPEAT_1_34(m, d) m(2, 34, d)
-# define BOOST_PP_REPEAT_1_36(m, d) BOOST_PP_REPEAT_1_35(m, d) m(2, 35, d)
-# define BOOST_PP_REPEAT_1_37(m, d) BOOST_PP_REPEAT_1_36(m, d) m(2, 36, d)
-# define BOOST_PP_REPEAT_1_38(m, d) BOOST_PP_REPEAT_1_37(m, d) m(2, 37, d)
-# define BOOST_PP_REPEAT_1_39(m, d) BOOST_PP_REPEAT_1_38(m, d) m(2, 38, d)
-# define BOOST_PP_REPEAT_1_40(m, d) BOOST_PP_REPEAT_1_39(m, d) m(2, 39, d)
-# define BOOST_PP_REPEAT_1_41(m, d) BOOST_PP_REPEAT_1_40(m, d) m(2, 40, d)
-# define BOOST_PP_REPEAT_1_42(m, d) BOOST_PP_REPEAT_1_41(m, d) m(2, 41, d)
-# define BOOST_PP_REPEAT_1_43(m, d) BOOST_PP_REPEAT_1_42(m, d) m(2, 42, d)
-# define BOOST_PP_REPEAT_1_44(m, d) BOOST_PP_REPEAT_1_43(m, d) m(2, 43, d)
-# define BOOST_PP_REPEAT_1_45(m, d) BOOST_PP_REPEAT_1_44(m, d) m(2, 44, d)
-# define BOOST_PP_REPEAT_1_46(m, d) BOOST_PP_REPEAT_1_45(m, d) m(2, 45, d)
-# define BOOST_PP_REPEAT_1_47(m, d) BOOST_PP_REPEAT_1_46(m, d) m(2, 46, d)
-# define BOOST_PP_REPEAT_1_48(m, d) BOOST_PP_REPEAT_1_47(m, d) m(2, 47, d)
-# define BOOST_PP_REPEAT_1_49(m, d) BOOST_PP_REPEAT_1_48(m, d) m(2, 48, d)
-# define BOOST_PP_REPEAT_1_50(m, d) BOOST_PP_REPEAT_1_49(m, d) m(2, 49, d)
-# define BOOST_PP_REPEAT_1_51(m, d) BOOST_PP_REPEAT_1_50(m, d) m(2, 50, d)
-# define BOOST_PP_REPEAT_1_52(m, d) BOOST_PP_REPEAT_1_51(m, d) m(2, 51, d)
-# define BOOST_PP_REPEAT_1_53(m, d) BOOST_PP_REPEAT_1_52(m, d) m(2, 52, d)
-# define BOOST_PP_REPEAT_1_54(m, d) BOOST_PP_REPEAT_1_53(m, d) m(2, 53, d)
-# define BOOST_PP_REPEAT_1_55(m, d) BOOST_PP_REPEAT_1_54(m, d) m(2, 54, d)
-# define BOOST_PP_REPEAT_1_56(m, d) BOOST_PP_REPEAT_1_55(m, d) m(2, 55, d)
-# define BOOST_PP_REPEAT_1_57(m, d) BOOST_PP_REPEAT_1_56(m, d) m(2, 56, d)
-# define BOOST_PP_REPEAT_1_58(m, d) BOOST_PP_REPEAT_1_57(m, d) m(2, 57, d)
-# define BOOST_PP_REPEAT_1_59(m, d) BOOST_PP_REPEAT_1_58(m, d) m(2, 58, d)
-# define BOOST_PP_REPEAT_1_60(m, d) BOOST_PP_REPEAT_1_59(m, d) m(2, 59, d)
-# define BOOST_PP_REPEAT_1_61(m, d) BOOST_PP_REPEAT_1_60(m, d) m(2, 60, d)
-# define BOOST_PP_REPEAT_1_62(m, d) BOOST_PP_REPEAT_1_61(m, d) m(2, 61, d)
-# define BOOST_PP_REPEAT_1_63(m, d) BOOST_PP_REPEAT_1_62(m, d) m(2, 62, d)
-# define BOOST_PP_REPEAT_1_64(m, d) BOOST_PP_REPEAT_1_63(m, d) m(2, 63, d)
-# define BOOST_PP_REPEAT_1_65(m, d) BOOST_PP_REPEAT_1_64(m, d) m(2, 64, d)
-# define BOOST_PP_REPEAT_1_66(m, d) BOOST_PP_REPEAT_1_65(m, d) m(2, 65, d)
-# define BOOST_PP_REPEAT_1_67(m, d) BOOST_PP_REPEAT_1_66(m, d) m(2, 66, d)
-# define BOOST_PP_REPEAT_1_68(m, d) BOOST_PP_REPEAT_1_67(m, d) m(2, 67, d)
-# define BOOST_PP_REPEAT_1_69(m, d) BOOST_PP_REPEAT_1_68(m, d) m(2, 68, d)
-# define BOOST_PP_REPEAT_1_70(m, d) BOOST_PP_REPEAT_1_69(m, d) m(2, 69, d)
-# define BOOST_PP_REPEAT_1_71(m, d) BOOST_PP_REPEAT_1_70(m, d) m(2, 70, d)
-# define BOOST_PP_REPEAT_1_72(m, d) BOOST_PP_REPEAT_1_71(m, d) m(2, 71, d)
-# define BOOST_PP_REPEAT_1_73(m, d) BOOST_PP_REPEAT_1_72(m, d) m(2, 72, d)
-# define BOOST_PP_REPEAT_1_74(m, d) BOOST_PP_REPEAT_1_73(m, d) m(2, 73, d)
-# define BOOST_PP_REPEAT_1_75(m, d) BOOST_PP_REPEAT_1_74(m, d) m(2, 74, d)
-# define BOOST_PP_REPEAT_1_76(m, d) BOOST_PP_REPEAT_1_75(m, d) m(2, 75, d)
-# define BOOST_PP_REPEAT_1_77(m, d) BOOST_PP_REPEAT_1_76(m, d) m(2, 76, d)
-# define BOOST_PP_REPEAT_1_78(m, d) BOOST_PP_REPEAT_1_77(m, d) m(2, 77, d)
-# define BOOST_PP_REPEAT_1_79(m, d) BOOST_PP_REPEAT_1_78(m, d) m(2, 78, d)
-# define BOOST_PP_REPEAT_1_80(m, d) BOOST_PP_REPEAT_1_79(m, d) m(2, 79, d)
-# define BOOST_PP_REPEAT_1_81(m, d) BOOST_PP_REPEAT_1_80(m, d) m(2, 80, d)
-# define BOOST_PP_REPEAT_1_82(m, d) BOOST_PP_REPEAT_1_81(m, d) m(2, 81, d)
-# define BOOST_PP_REPEAT_1_83(m, d) BOOST_PP_REPEAT_1_82(m, d) m(2, 82, d)
-# define BOOST_PP_REPEAT_1_84(m, d) BOOST_PP_REPEAT_1_83(m, d) m(2, 83, d)
-# define BOOST_PP_REPEAT_1_85(m, d) BOOST_PP_REPEAT_1_84(m, d) m(2, 84, d)
-# define BOOST_PP_REPEAT_1_86(m, d) BOOST_PP_REPEAT_1_85(m, d) m(2, 85, d)
-# define BOOST_PP_REPEAT_1_87(m, d) BOOST_PP_REPEAT_1_86(m, d) m(2, 86, d)
-# define BOOST_PP_REPEAT_1_88(m, d) BOOST_PP_REPEAT_1_87(m, d) m(2, 87, d)
-# define BOOST_PP_REPEAT_1_89(m, d) BOOST_PP_REPEAT_1_88(m, d) m(2, 88, d)
-# define BOOST_PP_REPEAT_1_90(m, d) BOOST_PP_REPEAT_1_89(m, d) m(2, 89, d)
-# define BOOST_PP_REPEAT_1_91(m, d) BOOST_PP_REPEAT_1_90(m, d) m(2, 90, d)
-# define BOOST_PP_REPEAT_1_92(m, d) BOOST_PP_REPEAT_1_91(m, d) m(2, 91, d)
-# define BOOST_PP_REPEAT_1_93(m, d) BOOST_PP_REPEAT_1_92(m, d) m(2, 92, d)
-# define BOOST_PP_REPEAT_1_94(m, d) BOOST_PP_REPEAT_1_93(m, d) m(2, 93, d)
-# define BOOST_PP_REPEAT_1_95(m, d) BOOST_PP_REPEAT_1_94(m, d) m(2, 94, d)
-# define BOOST_PP_REPEAT_1_96(m, d) BOOST_PP_REPEAT_1_95(m, d) m(2, 95, d)
-# define BOOST_PP_REPEAT_1_97(m, d) BOOST_PP_REPEAT_1_96(m, d) m(2, 96, d)
-# define BOOST_PP_REPEAT_1_98(m, d) BOOST_PP_REPEAT_1_97(m, d) m(2, 97, d)
-# define BOOST_PP_REPEAT_1_99(m, d) BOOST_PP_REPEAT_1_98(m, d) m(2, 98, d)
-# define BOOST_PP_REPEAT_1_100(m, d) BOOST_PP_REPEAT_1_99(m, d) m(2, 99, d)
-# define BOOST_PP_REPEAT_1_101(m, d) BOOST_PP_REPEAT_1_100(m, d) m(2, 100, d)
-# define BOOST_PP_REPEAT_1_102(m, d) BOOST_PP_REPEAT_1_101(m, d) m(2, 101, d)
-# define BOOST_PP_REPEAT_1_103(m, d) BOOST_PP_REPEAT_1_102(m, d) m(2, 102, d)
-# define BOOST_PP_REPEAT_1_104(m, d) BOOST_PP_REPEAT_1_103(m, d) m(2, 103, d)
-# define BOOST_PP_REPEAT_1_105(m, d) BOOST_PP_REPEAT_1_104(m, d) m(2, 104, d)
-# define BOOST_PP_REPEAT_1_106(m, d) BOOST_PP_REPEAT_1_105(m, d) m(2, 105, d)
-# define BOOST_PP_REPEAT_1_107(m, d) BOOST_PP_REPEAT_1_106(m, d) m(2, 106, d)
-# define BOOST_PP_REPEAT_1_108(m, d) BOOST_PP_REPEAT_1_107(m, d) m(2, 107, d)
-# define BOOST_PP_REPEAT_1_109(m, d) BOOST_PP_REPEAT_1_108(m, d) m(2, 108, d)
-# define BOOST_PP_REPEAT_1_110(m, d) BOOST_PP_REPEAT_1_109(m, d) m(2, 109, d)
-# define BOOST_PP_REPEAT_1_111(m, d) BOOST_PP_REPEAT_1_110(m, d) m(2, 110, d)
-# define BOOST_PP_REPEAT_1_112(m, d) BOOST_PP_REPEAT_1_111(m, d) m(2, 111, d)
-# define BOOST_PP_REPEAT_1_113(m, d) BOOST_PP_REPEAT_1_112(m, d) m(2, 112, d)
-# define BOOST_PP_REPEAT_1_114(m, d) BOOST_PP_REPEAT_1_113(m, d) m(2, 113, d)
-# define BOOST_PP_REPEAT_1_115(m, d) BOOST_PP_REPEAT_1_114(m, d) m(2, 114, d)
-# define BOOST_PP_REPEAT_1_116(m, d) BOOST_PP_REPEAT_1_115(m, d) m(2, 115, d)
-# define BOOST_PP_REPEAT_1_117(m, d) BOOST_PP_REPEAT_1_116(m, d) m(2, 116, d)
-# define BOOST_PP_REPEAT_1_118(m, d) BOOST_PP_REPEAT_1_117(m, d) m(2, 117, d)
-# define BOOST_PP_REPEAT_1_119(m, d) BOOST_PP_REPEAT_1_118(m, d) m(2, 118, d)
-# define BOOST_PP_REPEAT_1_120(m, d) BOOST_PP_REPEAT_1_119(m, d) m(2, 119, d)
-# define BOOST_PP_REPEAT_1_121(m, d) BOOST_PP_REPEAT_1_120(m, d) m(2, 120, d)
-# define BOOST_PP_REPEAT_1_122(m, d) BOOST_PP_REPEAT_1_121(m, d) m(2, 121, d)
-# define BOOST_PP_REPEAT_1_123(m, d) BOOST_PP_REPEAT_1_122(m, d) m(2, 122, d)
-# define BOOST_PP_REPEAT_1_124(m, d) BOOST_PP_REPEAT_1_123(m, d) m(2, 123, d)
-# define BOOST_PP_REPEAT_1_125(m, d) BOOST_PP_REPEAT_1_124(m, d) m(2, 124, d)
-# define BOOST_PP_REPEAT_1_126(m, d) BOOST_PP_REPEAT_1_125(m, d) m(2, 125, d)
-# define BOOST_PP_REPEAT_1_127(m, d) BOOST_PP_REPEAT_1_126(m, d) m(2, 126, d)
-# define BOOST_PP_REPEAT_1_128(m, d) BOOST_PP_REPEAT_1_127(m, d) m(2, 127, d)
-# define BOOST_PP_REPEAT_1_129(m, d) BOOST_PP_REPEAT_1_128(m, d) m(2, 128, d)
-# define BOOST_PP_REPEAT_1_130(m, d) BOOST_PP_REPEAT_1_129(m, d) m(2, 129, d)
-# define BOOST_PP_REPEAT_1_131(m, d) BOOST_PP_REPEAT_1_130(m, d) m(2, 130, d)
-# define BOOST_PP_REPEAT_1_132(m, d) BOOST_PP_REPEAT_1_131(m, d) m(2, 131, d)
-# define BOOST_PP_REPEAT_1_133(m, d) BOOST_PP_REPEAT_1_132(m, d) m(2, 132, d)
-# define BOOST_PP_REPEAT_1_134(m, d) BOOST_PP_REPEAT_1_133(m, d) m(2, 133, d)
-# define BOOST_PP_REPEAT_1_135(m, d) BOOST_PP_REPEAT_1_134(m, d) m(2, 134, d)
-# define BOOST_PP_REPEAT_1_136(m, d) BOOST_PP_REPEAT_1_135(m, d) m(2, 135, d)
-# define BOOST_PP_REPEAT_1_137(m, d) BOOST_PP_REPEAT_1_136(m, d) m(2, 136, d)
-# define BOOST_PP_REPEAT_1_138(m, d) BOOST_PP_REPEAT_1_137(m, d) m(2, 137, d)
-# define BOOST_PP_REPEAT_1_139(m, d) BOOST_PP_REPEAT_1_138(m, d) m(2, 138, d)
-# define BOOST_PP_REPEAT_1_140(m, d) BOOST_PP_REPEAT_1_139(m, d) m(2, 139, d)
-# define BOOST_PP_REPEAT_1_141(m, d) BOOST_PP_REPEAT_1_140(m, d) m(2, 140, d)
-# define BOOST_PP_REPEAT_1_142(m, d) BOOST_PP_REPEAT_1_141(m, d) m(2, 141, d)
-# define BOOST_PP_REPEAT_1_143(m, d) BOOST_PP_REPEAT_1_142(m, d) m(2, 142, d)
-# define BOOST_PP_REPEAT_1_144(m, d) BOOST_PP_REPEAT_1_143(m, d) m(2, 143, d)
-# define BOOST_PP_REPEAT_1_145(m, d) BOOST_PP_REPEAT_1_144(m, d) m(2, 144, d)
-# define BOOST_PP_REPEAT_1_146(m, d) BOOST_PP_REPEAT_1_145(m, d) m(2, 145, d)
-# define BOOST_PP_REPEAT_1_147(m, d) BOOST_PP_REPEAT_1_146(m, d) m(2, 146, d)
-# define BOOST_PP_REPEAT_1_148(m, d) BOOST_PP_REPEAT_1_147(m, d) m(2, 147, d)
-# define BOOST_PP_REPEAT_1_149(m, d) BOOST_PP_REPEAT_1_148(m, d) m(2, 148, d)
-# define BOOST_PP_REPEAT_1_150(m, d) BOOST_PP_REPEAT_1_149(m, d) m(2, 149, d)
-# define BOOST_PP_REPEAT_1_151(m, d) BOOST_PP_REPEAT_1_150(m, d) m(2, 150, d)
-# define BOOST_PP_REPEAT_1_152(m, d) BOOST_PP_REPEAT_1_151(m, d) m(2, 151, d)
-# define BOOST_PP_REPEAT_1_153(m, d) BOOST_PP_REPEAT_1_152(m, d) m(2, 152, d)
-# define BOOST_PP_REPEAT_1_154(m, d) BOOST_PP_REPEAT_1_153(m, d) m(2, 153, d)
-# define BOOST_PP_REPEAT_1_155(m, d) BOOST_PP_REPEAT_1_154(m, d) m(2, 154, d)
-# define BOOST_PP_REPEAT_1_156(m, d) BOOST_PP_REPEAT_1_155(m, d) m(2, 155, d)
-# define BOOST_PP_REPEAT_1_157(m, d) BOOST_PP_REPEAT_1_156(m, d) m(2, 156, d)
-# define BOOST_PP_REPEAT_1_158(m, d) BOOST_PP_REPEAT_1_157(m, d) m(2, 157, d)
-# define BOOST_PP_REPEAT_1_159(m, d) BOOST_PP_REPEAT_1_158(m, d) m(2, 158, d)
-# define BOOST_PP_REPEAT_1_160(m, d) BOOST_PP_REPEAT_1_159(m, d) m(2, 159, d)
-# define BOOST_PP_REPEAT_1_161(m, d) BOOST_PP_REPEAT_1_160(m, d) m(2, 160, d)
-# define BOOST_PP_REPEAT_1_162(m, d) BOOST_PP_REPEAT_1_161(m, d) m(2, 161, d)
-# define BOOST_PP_REPEAT_1_163(m, d) BOOST_PP_REPEAT_1_162(m, d) m(2, 162, d)
-# define BOOST_PP_REPEAT_1_164(m, d) BOOST_PP_REPEAT_1_163(m, d) m(2, 163, d)
-# define BOOST_PP_REPEAT_1_165(m, d) BOOST_PP_REPEAT_1_164(m, d) m(2, 164, d)
-# define BOOST_PP_REPEAT_1_166(m, d) BOOST_PP_REPEAT_1_165(m, d) m(2, 165, d)
-# define BOOST_PP_REPEAT_1_167(m, d) BOOST_PP_REPEAT_1_166(m, d) m(2, 166, d)
-# define BOOST_PP_REPEAT_1_168(m, d) BOOST_PP_REPEAT_1_167(m, d) m(2, 167, d)
-# define BOOST_PP_REPEAT_1_169(m, d) BOOST_PP_REPEAT_1_168(m, d) m(2, 168, d)
-# define BOOST_PP_REPEAT_1_170(m, d) BOOST_PP_REPEAT_1_169(m, d) m(2, 169, d)
-# define BOOST_PP_REPEAT_1_171(m, d) BOOST_PP_REPEAT_1_170(m, d) m(2, 170, d)
-# define BOOST_PP_REPEAT_1_172(m, d) BOOST_PP_REPEAT_1_171(m, d) m(2, 171, d)
-# define BOOST_PP_REPEAT_1_173(m, d) BOOST_PP_REPEAT_1_172(m, d) m(2, 172, d)
-# define BOOST_PP_REPEAT_1_174(m, d) BOOST_PP_REPEAT_1_173(m, d) m(2, 173, d)
-# define BOOST_PP_REPEAT_1_175(m, d) BOOST_PP_REPEAT_1_174(m, d) m(2, 174, d)
-# define BOOST_PP_REPEAT_1_176(m, d) BOOST_PP_REPEAT_1_175(m, d) m(2, 175, d)
-# define BOOST_PP_REPEAT_1_177(m, d) BOOST_PP_REPEAT_1_176(m, d) m(2, 176, d)
-# define BOOST_PP_REPEAT_1_178(m, d) BOOST_PP_REPEAT_1_177(m, d) m(2, 177, d)
-# define BOOST_PP_REPEAT_1_179(m, d) BOOST_PP_REPEAT_1_178(m, d) m(2, 178, d)
-# define BOOST_PP_REPEAT_1_180(m, d) BOOST_PP_REPEAT_1_179(m, d) m(2, 179, d)
-# define BOOST_PP_REPEAT_1_181(m, d) BOOST_PP_REPEAT_1_180(m, d) m(2, 180, d)
-# define BOOST_PP_REPEAT_1_182(m, d) BOOST_PP_REPEAT_1_181(m, d) m(2, 181, d)
-# define BOOST_PP_REPEAT_1_183(m, d) BOOST_PP_REPEAT_1_182(m, d) m(2, 182, d)
-# define BOOST_PP_REPEAT_1_184(m, d) BOOST_PP_REPEAT_1_183(m, d) m(2, 183, d)
-# define BOOST_PP_REPEAT_1_185(m, d) BOOST_PP_REPEAT_1_184(m, d) m(2, 184, d)
-# define BOOST_PP_REPEAT_1_186(m, d) BOOST_PP_REPEAT_1_185(m, d) m(2, 185, d)
-# define BOOST_PP_REPEAT_1_187(m, d) BOOST_PP_REPEAT_1_186(m, d) m(2, 186, d)
-# define BOOST_PP_REPEAT_1_188(m, d) BOOST_PP_REPEAT_1_187(m, d) m(2, 187, d)
-# define BOOST_PP_REPEAT_1_189(m, d) BOOST_PP_REPEAT_1_188(m, d) m(2, 188, d)
-# define BOOST_PP_REPEAT_1_190(m, d) BOOST_PP_REPEAT_1_189(m, d) m(2, 189, d)
-# define BOOST_PP_REPEAT_1_191(m, d) BOOST_PP_REPEAT_1_190(m, d) m(2, 190, d)
-# define BOOST_PP_REPEAT_1_192(m, d) BOOST_PP_REPEAT_1_191(m, d) m(2, 191, d)
-# define BOOST_PP_REPEAT_1_193(m, d) BOOST_PP_REPEAT_1_192(m, d) m(2, 192, d)
-# define BOOST_PP_REPEAT_1_194(m, d) BOOST_PP_REPEAT_1_193(m, d) m(2, 193, d)
-# define BOOST_PP_REPEAT_1_195(m, d) BOOST_PP_REPEAT_1_194(m, d) m(2, 194, d)
-# define BOOST_PP_REPEAT_1_196(m, d) BOOST_PP_REPEAT_1_195(m, d) m(2, 195, d)
-# define BOOST_PP_REPEAT_1_197(m, d) BOOST_PP_REPEAT_1_196(m, d) m(2, 196, d)
-# define BOOST_PP_REPEAT_1_198(m, d) BOOST_PP_REPEAT_1_197(m, d) m(2, 197, d)
-# define BOOST_PP_REPEAT_1_199(m, d) BOOST_PP_REPEAT_1_198(m, d) m(2, 198, d)
-# define BOOST_PP_REPEAT_1_200(m, d) BOOST_PP_REPEAT_1_199(m, d) m(2, 199, d)
-# define BOOST_PP_REPEAT_1_201(m, d) BOOST_PP_REPEAT_1_200(m, d) m(2, 200, d)
-# define BOOST_PP_REPEAT_1_202(m, d) BOOST_PP_REPEAT_1_201(m, d) m(2, 201, d)
-# define BOOST_PP_REPEAT_1_203(m, d) BOOST_PP_REPEAT_1_202(m, d) m(2, 202, d)
-# define BOOST_PP_REPEAT_1_204(m, d) BOOST_PP_REPEAT_1_203(m, d) m(2, 203, d)
-# define BOOST_PP_REPEAT_1_205(m, d) BOOST_PP_REPEAT_1_204(m, d) m(2, 204, d)
-# define BOOST_PP_REPEAT_1_206(m, d) BOOST_PP_REPEAT_1_205(m, d) m(2, 205, d)
-# define BOOST_PP_REPEAT_1_207(m, d) BOOST_PP_REPEAT_1_206(m, d) m(2, 206, d)
-# define BOOST_PP_REPEAT_1_208(m, d) BOOST_PP_REPEAT_1_207(m, d) m(2, 207, d)
-# define BOOST_PP_REPEAT_1_209(m, d) BOOST_PP_REPEAT_1_208(m, d) m(2, 208, d)
-# define BOOST_PP_REPEAT_1_210(m, d) BOOST_PP_REPEAT_1_209(m, d) m(2, 209, d)
-# define BOOST_PP_REPEAT_1_211(m, d) BOOST_PP_REPEAT_1_210(m, d) m(2, 210, d)
-# define BOOST_PP_REPEAT_1_212(m, d) BOOST_PP_REPEAT_1_211(m, d) m(2, 211, d)
-# define BOOST_PP_REPEAT_1_213(m, d) BOOST_PP_REPEAT_1_212(m, d) m(2, 212, d)
-# define BOOST_PP_REPEAT_1_214(m, d) BOOST_PP_REPEAT_1_213(m, d) m(2, 213, d)
-# define BOOST_PP_REPEAT_1_215(m, d) BOOST_PP_REPEAT_1_214(m, d) m(2, 214, d)
-# define BOOST_PP_REPEAT_1_216(m, d) BOOST_PP_REPEAT_1_215(m, d) m(2, 215, d)
-# define BOOST_PP_REPEAT_1_217(m, d) BOOST_PP_REPEAT_1_216(m, d) m(2, 216, d)
-# define BOOST_PP_REPEAT_1_218(m, d) BOOST_PP_REPEAT_1_217(m, d) m(2, 217, d)
-# define BOOST_PP_REPEAT_1_219(m, d) BOOST_PP_REPEAT_1_218(m, d) m(2, 218, d)
-# define BOOST_PP_REPEAT_1_220(m, d) BOOST_PP_REPEAT_1_219(m, d) m(2, 219, d)
-# define BOOST_PP_REPEAT_1_221(m, d) BOOST_PP_REPEAT_1_220(m, d) m(2, 220, d)
-# define BOOST_PP_REPEAT_1_222(m, d) BOOST_PP_REPEAT_1_221(m, d) m(2, 221, d)
-# define BOOST_PP_REPEAT_1_223(m, d) BOOST_PP_REPEAT_1_222(m, d) m(2, 222, d)
-# define BOOST_PP_REPEAT_1_224(m, d) BOOST_PP_REPEAT_1_223(m, d) m(2, 223, d)
-# define BOOST_PP_REPEAT_1_225(m, d) BOOST_PP_REPEAT_1_224(m, d) m(2, 224, d)
-# define BOOST_PP_REPEAT_1_226(m, d) BOOST_PP_REPEAT_1_225(m, d) m(2, 225, d)
-# define BOOST_PP_REPEAT_1_227(m, d) BOOST_PP_REPEAT_1_226(m, d) m(2, 226, d)
-# define BOOST_PP_REPEAT_1_228(m, d) BOOST_PP_REPEAT_1_227(m, d) m(2, 227, d)
-# define BOOST_PP_REPEAT_1_229(m, d) BOOST_PP_REPEAT_1_228(m, d) m(2, 228, d)
-# define BOOST_PP_REPEAT_1_230(m, d) BOOST_PP_REPEAT_1_229(m, d) m(2, 229, d)
-# define BOOST_PP_REPEAT_1_231(m, d) BOOST_PP_REPEAT_1_230(m, d) m(2, 230, d)
-# define BOOST_PP_REPEAT_1_232(m, d) BOOST_PP_REPEAT_1_231(m, d) m(2, 231, d)
-# define BOOST_PP_REPEAT_1_233(m, d) BOOST_PP_REPEAT_1_232(m, d) m(2, 232, d)
-# define BOOST_PP_REPEAT_1_234(m, d) BOOST_PP_REPEAT_1_233(m, d) m(2, 233, d)
-# define BOOST_PP_REPEAT_1_235(m, d) BOOST_PP_REPEAT_1_234(m, d) m(2, 234, d)
-# define BOOST_PP_REPEAT_1_236(m, d) BOOST_PP_REPEAT_1_235(m, d) m(2, 235, d)
-# define BOOST_PP_REPEAT_1_237(m, d) BOOST_PP_REPEAT_1_236(m, d) m(2, 236, d)
-# define BOOST_PP_REPEAT_1_238(m, d) BOOST_PP_REPEAT_1_237(m, d) m(2, 237, d)
-# define BOOST_PP_REPEAT_1_239(m, d) BOOST_PP_REPEAT_1_238(m, d) m(2, 238, d)
-# define BOOST_PP_REPEAT_1_240(m, d) BOOST_PP_REPEAT_1_239(m, d) m(2, 239, d)
-# define BOOST_PP_REPEAT_1_241(m, d) BOOST_PP_REPEAT_1_240(m, d) m(2, 240, d)
-# define BOOST_PP_REPEAT_1_242(m, d) BOOST_PP_REPEAT_1_241(m, d) m(2, 241, d)
-# define BOOST_PP_REPEAT_1_243(m, d) BOOST_PP_REPEAT_1_242(m, d) m(2, 242, d)
-# define BOOST_PP_REPEAT_1_244(m, d) BOOST_PP_REPEAT_1_243(m, d) m(2, 243, d)
-# define BOOST_PP_REPEAT_1_245(m, d) BOOST_PP_REPEAT_1_244(m, d) m(2, 244, d)
-# define BOOST_PP_REPEAT_1_246(m, d) BOOST_PP_REPEAT_1_245(m, d) m(2, 245, d)
-# define BOOST_PP_REPEAT_1_247(m, d) BOOST_PP_REPEAT_1_246(m, d) m(2, 246, d)
-# define BOOST_PP_REPEAT_1_248(m, d) BOOST_PP_REPEAT_1_247(m, d) m(2, 247, d)
-# define BOOST_PP_REPEAT_1_249(m, d) BOOST_PP_REPEAT_1_248(m, d) m(2, 248, d)
-# define BOOST_PP_REPEAT_1_250(m, d) BOOST_PP_REPEAT_1_249(m, d) m(2, 249, d)
-# define BOOST_PP_REPEAT_1_251(m, d) BOOST_PP_REPEAT_1_250(m, d) m(2, 250, d)
-# define BOOST_PP_REPEAT_1_252(m, d) BOOST_PP_REPEAT_1_251(m, d) m(2, 251, d)
-# define BOOST_PP_REPEAT_1_253(m, d) BOOST_PP_REPEAT_1_252(m, d) m(2, 252, d)
-# define BOOST_PP_REPEAT_1_254(m, d) BOOST_PP_REPEAT_1_253(m, d) m(2, 253, d)
-# define BOOST_PP_REPEAT_1_255(m, d) BOOST_PP_REPEAT_1_254(m, d) m(2, 254, d)
-# define BOOST_PP_REPEAT_1_256(m, d) BOOST_PP_REPEAT_1_255(m, d) m(2, 255, d)
-#
-# define BOOST_PP_REPEAT_2_0(m, d)
-# define BOOST_PP_REPEAT_2_1(m, d) m(3, 0, d)
-# define BOOST_PP_REPEAT_2_2(m, d) BOOST_PP_REPEAT_2_1(m, d) m(3, 1, d)
-# define BOOST_PP_REPEAT_2_3(m, d) BOOST_PP_REPEAT_2_2(m, d) m(3, 2, d)
-# define BOOST_PP_REPEAT_2_4(m, d) BOOST_PP_REPEAT_2_3(m, d) m(3, 3, d)
-# define BOOST_PP_REPEAT_2_5(m, d) BOOST_PP_REPEAT_2_4(m, d) m(3, 4, d)
-# define BOOST_PP_REPEAT_2_6(m, d) BOOST_PP_REPEAT_2_5(m, d) m(3, 5, d)
-# define BOOST_PP_REPEAT_2_7(m, d) BOOST_PP_REPEAT_2_6(m, d) m(3, 6, d)
-# define BOOST_PP_REPEAT_2_8(m, d) BOOST_PP_REPEAT_2_7(m, d) m(3, 7, d)
-# define BOOST_PP_REPEAT_2_9(m, d) BOOST_PP_REPEAT_2_8(m, d) m(3, 8, d)
-# define BOOST_PP_REPEAT_2_10(m, d) BOOST_PP_REPEAT_2_9(m, d) m(3, 9, d)
-# define BOOST_PP_REPEAT_2_11(m, d) BOOST_PP_REPEAT_2_10(m, d) m(3, 10, d)
-# define BOOST_PP_REPEAT_2_12(m, d) BOOST_PP_REPEAT_2_11(m, d) m(3, 11, d)
-# define BOOST_PP_REPEAT_2_13(m, d) BOOST_PP_REPEAT_2_12(m, d) m(3, 12, d)
-# define BOOST_PP_REPEAT_2_14(m, d) BOOST_PP_REPEAT_2_13(m, d) m(3, 13, d)
-# define BOOST_PP_REPEAT_2_15(m, d) BOOST_PP_REPEAT_2_14(m, d) m(3, 14, d)
-# define BOOST_PP_REPEAT_2_16(m, d) BOOST_PP_REPEAT_2_15(m, d) m(3, 15, d)
-# define BOOST_PP_REPEAT_2_17(m, d) BOOST_PP_REPEAT_2_16(m, d) m(3, 16, d)
-# define BOOST_PP_REPEAT_2_18(m, d) BOOST_PP_REPEAT_2_17(m, d) m(3, 17, d)
-# define BOOST_PP_REPEAT_2_19(m, d) BOOST_PP_REPEAT_2_18(m, d) m(3, 18, d)
-# define BOOST_PP_REPEAT_2_20(m, d) BOOST_PP_REPEAT_2_19(m, d) m(3, 19, d)
-# define BOOST_PP_REPEAT_2_21(m, d) BOOST_PP_REPEAT_2_20(m, d) m(3, 20, d)
-# define BOOST_PP_REPEAT_2_22(m, d) BOOST_PP_REPEAT_2_21(m, d) m(3, 21, d)
-# define BOOST_PP_REPEAT_2_23(m, d) BOOST_PP_REPEAT_2_22(m, d) m(3, 22, d)
-# define BOOST_PP_REPEAT_2_24(m, d) BOOST_PP_REPEAT_2_23(m, d) m(3, 23, d)
-# define BOOST_PP_REPEAT_2_25(m, d) BOOST_PP_REPEAT_2_24(m, d) m(3, 24, d)
-# define BOOST_PP_REPEAT_2_26(m, d) BOOST_PP_REPEAT_2_25(m, d) m(3, 25, d)
-# define BOOST_PP_REPEAT_2_27(m, d) BOOST_PP_REPEAT_2_26(m, d) m(3, 26, d)
-# define BOOST_PP_REPEAT_2_28(m, d) BOOST_PP_REPEAT_2_27(m, d) m(3, 27, d)
-# define BOOST_PP_REPEAT_2_29(m, d) BOOST_PP_REPEAT_2_28(m, d) m(3, 28, d)
-# define BOOST_PP_REPEAT_2_30(m, d) BOOST_PP_REPEAT_2_29(m, d) m(3, 29, d)
-# define BOOST_PP_REPEAT_2_31(m, d) BOOST_PP_REPEAT_2_30(m, d) m(3, 30, d)
-# define BOOST_PP_REPEAT_2_32(m, d) BOOST_PP_REPEAT_2_31(m, d) m(3, 31, d)
-# define BOOST_PP_REPEAT_2_33(m, d) BOOST_PP_REPEAT_2_32(m, d) m(3, 32, d)
-# define BOOST_PP_REPEAT_2_34(m, d) BOOST_PP_REPEAT_2_33(m, d) m(3, 33, d)
-# define BOOST_PP_REPEAT_2_35(m, d) BOOST_PP_REPEAT_2_34(m, d) m(3, 34, d)
-# define BOOST_PP_REPEAT_2_36(m, d) BOOST_PP_REPEAT_2_35(m, d) m(3, 35, d)
-# define BOOST_PP_REPEAT_2_37(m, d) BOOST_PP_REPEAT_2_36(m, d) m(3, 36, d)
-# define BOOST_PP_REPEAT_2_38(m, d) BOOST_PP_REPEAT_2_37(m, d) m(3, 37, d)
-# define BOOST_PP_REPEAT_2_39(m, d) BOOST_PP_REPEAT_2_38(m, d) m(3, 38, d)
-# define BOOST_PP_REPEAT_2_40(m, d) BOOST_PP_REPEAT_2_39(m, d) m(3, 39, d)
-# define BOOST_PP_REPEAT_2_41(m, d) BOOST_PP_REPEAT_2_40(m, d) m(3, 40, d)
-# define BOOST_PP_REPEAT_2_42(m, d) BOOST_PP_REPEAT_2_41(m, d) m(3, 41, d)
-# define BOOST_PP_REPEAT_2_43(m, d) BOOST_PP_REPEAT_2_42(m, d) m(3, 42, d)
-# define BOOST_PP_REPEAT_2_44(m, d) BOOST_PP_REPEAT_2_43(m, d) m(3, 43, d)
-# define BOOST_PP_REPEAT_2_45(m, d) BOOST_PP_REPEAT_2_44(m, d) m(3, 44, d)
-# define BOOST_PP_REPEAT_2_46(m, d) BOOST_PP_REPEAT_2_45(m, d) m(3, 45, d)
-# define BOOST_PP_REPEAT_2_47(m, d) BOOST_PP_REPEAT_2_46(m, d) m(3, 46, d)
-# define BOOST_PP_REPEAT_2_48(m, d) BOOST_PP_REPEAT_2_47(m, d) m(3, 47, d)
-# define BOOST_PP_REPEAT_2_49(m, d) BOOST_PP_REPEAT_2_48(m, d) m(3, 48, d)
-# define BOOST_PP_REPEAT_2_50(m, d) BOOST_PP_REPEAT_2_49(m, d) m(3, 49, d)
-# define BOOST_PP_REPEAT_2_51(m, d) BOOST_PP_REPEAT_2_50(m, d) m(3, 50, d)
-# define BOOST_PP_REPEAT_2_52(m, d) BOOST_PP_REPEAT_2_51(m, d) m(3, 51, d)
-# define BOOST_PP_REPEAT_2_53(m, d) BOOST_PP_REPEAT_2_52(m, d) m(3, 52, d)
-# define BOOST_PP_REPEAT_2_54(m, d) BOOST_PP_REPEAT_2_53(m, d) m(3, 53, d)
-# define BOOST_PP_REPEAT_2_55(m, d) BOOST_PP_REPEAT_2_54(m, d) m(3, 54, d)
-# define BOOST_PP_REPEAT_2_56(m, d) BOOST_PP_REPEAT_2_55(m, d) m(3, 55, d)
-# define BOOST_PP_REPEAT_2_57(m, d) BOOST_PP_REPEAT_2_56(m, d) m(3, 56, d)
-# define BOOST_PP_REPEAT_2_58(m, d) BOOST_PP_REPEAT_2_57(m, d) m(3, 57, d)
-# define BOOST_PP_REPEAT_2_59(m, d) BOOST_PP_REPEAT_2_58(m, d) m(3, 58, d)
-# define BOOST_PP_REPEAT_2_60(m, d) BOOST_PP_REPEAT_2_59(m, d) m(3, 59, d)
-# define BOOST_PP_REPEAT_2_61(m, d) BOOST_PP_REPEAT_2_60(m, d) m(3, 60, d)
-# define BOOST_PP_REPEAT_2_62(m, d) BOOST_PP_REPEAT_2_61(m, d) m(3, 61, d)
-# define BOOST_PP_REPEAT_2_63(m, d) BOOST_PP_REPEAT_2_62(m, d) m(3, 62, d)
-# define BOOST_PP_REPEAT_2_64(m, d) BOOST_PP_REPEAT_2_63(m, d) m(3, 63, d)
-# define BOOST_PP_REPEAT_2_65(m, d) BOOST_PP_REPEAT_2_64(m, d) m(3, 64, d)
-# define BOOST_PP_REPEAT_2_66(m, d) BOOST_PP_REPEAT_2_65(m, d) m(3, 65, d)
-# define BOOST_PP_REPEAT_2_67(m, d) BOOST_PP_REPEAT_2_66(m, d) m(3, 66, d)
-# define BOOST_PP_REPEAT_2_68(m, d) BOOST_PP_REPEAT_2_67(m, d) m(3, 67, d)
-# define BOOST_PP_REPEAT_2_69(m, d) BOOST_PP_REPEAT_2_68(m, d) m(3, 68, d)
-# define BOOST_PP_REPEAT_2_70(m, d) BOOST_PP_REPEAT_2_69(m, d) m(3, 69, d)
-# define BOOST_PP_REPEAT_2_71(m, d) BOOST_PP_REPEAT_2_70(m, d) m(3, 70, d)
-# define BOOST_PP_REPEAT_2_72(m, d) BOOST_PP_REPEAT_2_71(m, d) m(3, 71, d)
-# define BOOST_PP_REPEAT_2_73(m, d) BOOST_PP_REPEAT_2_72(m, d) m(3, 72, d)
-# define BOOST_PP_REPEAT_2_74(m, d) BOOST_PP_REPEAT_2_73(m, d) m(3, 73, d)
-# define BOOST_PP_REPEAT_2_75(m, d) BOOST_PP_REPEAT_2_74(m, d) m(3, 74, d)
-# define BOOST_PP_REPEAT_2_76(m, d) BOOST_PP_REPEAT_2_75(m, d) m(3, 75, d)
-# define BOOST_PP_REPEAT_2_77(m, d) BOOST_PP_REPEAT_2_76(m, d) m(3, 76, d)
-# define BOOST_PP_REPEAT_2_78(m, d) BOOST_PP_REPEAT_2_77(m, d) m(3, 77, d)
-# define BOOST_PP_REPEAT_2_79(m, d) BOOST_PP_REPEAT_2_78(m, d) m(3, 78, d)
-# define BOOST_PP_REPEAT_2_80(m, d) BOOST_PP_REPEAT_2_79(m, d) m(3, 79, d)
-# define BOOST_PP_REPEAT_2_81(m, d) BOOST_PP_REPEAT_2_80(m, d) m(3, 80, d)
-# define BOOST_PP_REPEAT_2_82(m, d) BOOST_PP_REPEAT_2_81(m, d) m(3, 81, d)
-# define BOOST_PP_REPEAT_2_83(m, d) BOOST_PP_REPEAT_2_82(m, d) m(3, 82, d)
-# define BOOST_PP_REPEAT_2_84(m, d) BOOST_PP_REPEAT_2_83(m, d) m(3, 83, d)
-# define BOOST_PP_REPEAT_2_85(m, d) BOOST_PP_REPEAT_2_84(m, d) m(3, 84, d)
-# define BOOST_PP_REPEAT_2_86(m, d) BOOST_PP_REPEAT_2_85(m, d) m(3, 85, d)
-# define BOOST_PP_REPEAT_2_87(m, d) BOOST_PP_REPEAT_2_86(m, d) m(3, 86, d)
-# define BOOST_PP_REPEAT_2_88(m, d) BOOST_PP_REPEAT_2_87(m, d) m(3, 87, d)
-# define BOOST_PP_REPEAT_2_89(m, d) BOOST_PP_REPEAT_2_88(m, d) m(3, 88, d)
-# define BOOST_PP_REPEAT_2_90(m, d) BOOST_PP_REPEAT_2_89(m, d) m(3, 89, d)
-# define BOOST_PP_REPEAT_2_91(m, d) BOOST_PP_REPEAT_2_90(m, d) m(3, 90, d)
-# define BOOST_PP_REPEAT_2_92(m, d) BOOST_PP_REPEAT_2_91(m, d) m(3, 91, d)
-# define BOOST_PP_REPEAT_2_93(m, d) BOOST_PP_REPEAT_2_92(m, d) m(3, 92, d)
-# define BOOST_PP_REPEAT_2_94(m, d) BOOST_PP_REPEAT_2_93(m, d) m(3, 93, d)
-# define BOOST_PP_REPEAT_2_95(m, d) BOOST_PP_REPEAT_2_94(m, d) m(3, 94, d)
-# define BOOST_PP_REPEAT_2_96(m, d) BOOST_PP_REPEAT_2_95(m, d) m(3, 95, d)
-# define BOOST_PP_REPEAT_2_97(m, d) BOOST_PP_REPEAT_2_96(m, d) m(3, 96, d)
-# define BOOST_PP_REPEAT_2_98(m, d) BOOST_PP_REPEAT_2_97(m, d) m(3, 97, d)
-# define BOOST_PP_REPEAT_2_99(m, d) BOOST_PP_REPEAT_2_98(m, d) m(3, 98, d)
-# define BOOST_PP_REPEAT_2_100(m, d) BOOST_PP_REPEAT_2_99(m, d) m(3, 99, d)
-# define BOOST_PP_REPEAT_2_101(m, d) BOOST_PP_REPEAT_2_100(m, d) m(3, 100, d)
-# define BOOST_PP_REPEAT_2_102(m, d) BOOST_PP_REPEAT_2_101(m, d) m(3, 101, d)
-# define BOOST_PP_REPEAT_2_103(m, d) BOOST_PP_REPEAT_2_102(m, d) m(3, 102, d)
-# define BOOST_PP_REPEAT_2_104(m, d) BOOST_PP_REPEAT_2_103(m, d) m(3, 103, d)
-# define BOOST_PP_REPEAT_2_105(m, d) BOOST_PP_REPEAT_2_104(m, d) m(3, 104, d)
-# define BOOST_PP_REPEAT_2_106(m, d) BOOST_PP_REPEAT_2_105(m, d) m(3, 105, d)
-# define BOOST_PP_REPEAT_2_107(m, d) BOOST_PP_REPEAT_2_106(m, d) m(3, 106, d)
-# define BOOST_PP_REPEAT_2_108(m, d) BOOST_PP_REPEAT_2_107(m, d) m(3, 107, d)
-# define BOOST_PP_REPEAT_2_109(m, d) BOOST_PP_REPEAT_2_108(m, d) m(3, 108, d)
-# define BOOST_PP_REPEAT_2_110(m, d) BOOST_PP_REPEAT_2_109(m, d) m(3, 109, d)
-# define BOOST_PP_REPEAT_2_111(m, d) BOOST_PP_REPEAT_2_110(m, d) m(3, 110, d)
-# define BOOST_PP_REPEAT_2_112(m, d) BOOST_PP_REPEAT_2_111(m, d) m(3, 111, d)
-# define BOOST_PP_REPEAT_2_113(m, d) BOOST_PP_REPEAT_2_112(m, d) m(3, 112, d)
-# define BOOST_PP_REPEAT_2_114(m, d) BOOST_PP_REPEAT_2_113(m, d) m(3, 113, d)
-# define BOOST_PP_REPEAT_2_115(m, d) BOOST_PP_REPEAT_2_114(m, d) m(3, 114, d)
-# define BOOST_PP_REPEAT_2_116(m, d) BOOST_PP_REPEAT_2_115(m, d) m(3, 115, d)
-# define BOOST_PP_REPEAT_2_117(m, d) BOOST_PP_REPEAT_2_116(m, d) m(3, 116, d)
-# define BOOST_PP_REPEAT_2_118(m, d) BOOST_PP_REPEAT_2_117(m, d) m(3, 117, d)
-# define BOOST_PP_REPEAT_2_119(m, d) BOOST_PP_REPEAT_2_118(m, d) m(3, 118, d)
-# define BOOST_PP_REPEAT_2_120(m, d) BOOST_PP_REPEAT_2_119(m, d) m(3, 119, d)
-# define BOOST_PP_REPEAT_2_121(m, d) BOOST_PP_REPEAT_2_120(m, d) m(3, 120, d)
-# define BOOST_PP_REPEAT_2_122(m, d) BOOST_PP_REPEAT_2_121(m, d) m(3, 121, d)
-# define BOOST_PP_REPEAT_2_123(m, d) BOOST_PP_REPEAT_2_122(m, d) m(3, 122, d)
-# define BOOST_PP_REPEAT_2_124(m, d) BOOST_PP_REPEAT_2_123(m, d) m(3, 123, d)
-# define BOOST_PP_REPEAT_2_125(m, d) BOOST_PP_REPEAT_2_124(m, d) m(3, 124, d)
-# define BOOST_PP_REPEAT_2_126(m, d) BOOST_PP_REPEAT_2_125(m, d) m(3, 125, d)
-# define BOOST_PP_REPEAT_2_127(m, d) BOOST_PP_REPEAT_2_126(m, d) m(3, 126, d)
-# define BOOST_PP_REPEAT_2_128(m, d) BOOST_PP_REPEAT_2_127(m, d) m(3, 127, d)
-# define BOOST_PP_REPEAT_2_129(m, d) BOOST_PP_REPEAT_2_128(m, d) m(3, 128, d)
-# define BOOST_PP_REPEAT_2_130(m, d) BOOST_PP_REPEAT_2_129(m, d) m(3, 129, d)
-# define BOOST_PP_REPEAT_2_131(m, d) BOOST_PP_REPEAT_2_130(m, d) m(3, 130, d)
-# define BOOST_PP_REPEAT_2_132(m, d) BOOST_PP_REPEAT_2_131(m, d) m(3, 131, d)
-# define BOOST_PP_REPEAT_2_133(m, d) BOOST_PP_REPEAT_2_132(m, d) m(3, 132, d)
-# define BOOST_PP_REPEAT_2_134(m, d) BOOST_PP_REPEAT_2_133(m, d) m(3, 133, d)
-# define BOOST_PP_REPEAT_2_135(m, d) BOOST_PP_REPEAT_2_134(m, d) m(3, 134, d)
-# define BOOST_PP_REPEAT_2_136(m, d) BOOST_PP_REPEAT_2_135(m, d) m(3, 135, d)
-# define BOOST_PP_REPEAT_2_137(m, d) BOOST_PP_REPEAT_2_136(m, d) m(3, 136, d)
-# define BOOST_PP_REPEAT_2_138(m, d) BOOST_PP_REPEAT_2_137(m, d) m(3, 137, d)
-# define BOOST_PP_REPEAT_2_139(m, d) BOOST_PP_REPEAT_2_138(m, d) m(3, 138, d)
-# define BOOST_PP_REPEAT_2_140(m, d) BOOST_PP_REPEAT_2_139(m, d) m(3, 139, d)
-# define BOOST_PP_REPEAT_2_141(m, d) BOOST_PP_REPEAT_2_140(m, d) m(3, 140, d)
-# define BOOST_PP_REPEAT_2_142(m, d) BOOST_PP_REPEAT_2_141(m, d) m(3, 141, d)
-# define BOOST_PP_REPEAT_2_143(m, d) BOOST_PP_REPEAT_2_142(m, d) m(3, 142, d)
-# define BOOST_PP_REPEAT_2_144(m, d) BOOST_PP_REPEAT_2_143(m, d) m(3, 143, d)
-# define BOOST_PP_REPEAT_2_145(m, d) BOOST_PP_REPEAT_2_144(m, d) m(3, 144, d)
-# define BOOST_PP_REPEAT_2_146(m, d) BOOST_PP_REPEAT_2_145(m, d) m(3, 145, d)
-# define BOOST_PP_REPEAT_2_147(m, d) BOOST_PP_REPEAT_2_146(m, d) m(3, 146, d)
-# define BOOST_PP_REPEAT_2_148(m, d) BOOST_PP_REPEAT_2_147(m, d) m(3, 147, d)
-# define BOOST_PP_REPEAT_2_149(m, d) BOOST_PP_REPEAT_2_148(m, d) m(3, 148, d)
-# define BOOST_PP_REPEAT_2_150(m, d) BOOST_PP_REPEAT_2_149(m, d) m(3, 149, d)
-# define BOOST_PP_REPEAT_2_151(m, d) BOOST_PP_REPEAT_2_150(m, d) m(3, 150, d)
-# define BOOST_PP_REPEAT_2_152(m, d) BOOST_PP_REPEAT_2_151(m, d) m(3, 151, d)
-# define BOOST_PP_REPEAT_2_153(m, d) BOOST_PP_REPEAT_2_152(m, d) m(3, 152, d)
-# define BOOST_PP_REPEAT_2_154(m, d) BOOST_PP_REPEAT_2_153(m, d) m(3, 153, d)
-# define BOOST_PP_REPEAT_2_155(m, d) BOOST_PP_REPEAT_2_154(m, d) m(3, 154, d)
-# define BOOST_PP_REPEAT_2_156(m, d) BOOST_PP_REPEAT_2_155(m, d) m(3, 155, d)
-# define BOOST_PP_REPEAT_2_157(m, d) BOOST_PP_REPEAT_2_156(m, d) m(3, 156, d)
-# define BOOST_PP_REPEAT_2_158(m, d) BOOST_PP_REPEAT_2_157(m, d) m(3, 157, d)
-# define BOOST_PP_REPEAT_2_159(m, d) BOOST_PP_REPEAT_2_158(m, d) m(3, 158, d)
-# define BOOST_PP_REPEAT_2_160(m, d) BOOST_PP_REPEAT_2_159(m, d) m(3, 159, d)
-# define BOOST_PP_REPEAT_2_161(m, d) BOOST_PP_REPEAT_2_160(m, d) m(3, 160, d)
-# define BOOST_PP_REPEAT_2_162(m, d) BOOST_PP_REPEAT_2_161(m, d) m(3, 161, d)
-# define BOOST_PP_REPEAT_2_163(m, d) BOOST_PP_REPEAT_2_162(m, d) m(3, 162, d)
-# define BOOST_PP_REPEAT_2_164(m, d) BOOST_PP_REPEAT_2_163(m, d) m(3, 163, d)
-# define BOOST_PP_REPEAT_2_165(m, d) BOOST_PP_REPEAT_2_164(m, d) m(3, 164, d)
-# define BOOST_PP_REPEAT_2_166(m, d) BOOST_PP_REPEAT_2_165(m, d) m(3, 165, d)
-# define BOOST_PP_REPEAT_2_167(m, d) BOOST_PP_REPEAT_2_166(m, d) m(3, 166, d)
-# define BOOST_PP_REPEAT_2_168(m, d) BOOST_PP_REPEAT_2_167(m, d) m(3, 167, d)
-# define BOOST_PP_REPEAT_2_169(m, d) BOOST_PP_REPEAT_2_168(m, d) m(3, 168, d)
-# define BOOST_PP_REPEAT_2_170(m, d) BOOST_PP_REPEAT_2_169(m, d) m(3, 169, d)
-# define BOOST_PP_REPEAT_2_171(m, d) BOOST_PP_REPEAT_2_170(m, d) m(3, 170, d)
-# define BOOST_PP_REPEAT_2_172(m, d) BOOST_PP_REPEAT_2_171(m, d) m(3, 171, d)
-# define BOOST_PP_REPEAT_2_173(m, d) BOOST_PP_REPEAT_2_172(m, d) m(3, 172, d)
-# define BOOST_PP_REPEAT_2_174(m, d) BOOST_PP_REPEAT_2_173(m, d) m(3, 173, d)
-# define BOOST_PP_REPEAT_2_175(m, d) BOOST_PP_REPEAT_2_174(m, d) m(3, 174, d)
-# define BOOST_PP_REPEAT_2_176(m, d) BOOST_PP_REPEAT_2_175(m, d) m(3, 175, d)
-# define BOOST_PP_REPEAT_2_177(m, d) BOOST_PP_REPEAT_2_176(m, d) m(3, 176, d)
-# define BOOST_PP_REPEAT_2_178(m, d) BOOST_PP_REPEAT_2_177(m, d) m(3, 177, d)
-# define BOOST_PP_REPEAT_2_179(m, d) BOOST_PP_REPEAT_2_178(m, d) m(3, 178, d)
-# define BOOST_PP_REPEAT_2_180(m, d) BOOST_PP_REPEAT_2_179(m, d) m(3, 179, d)
-# define BOOST_PP_REPEAT_2_181(m, d) BOOST_PP_REPEAT_2_180(m, d) m(3, 180, d)
-# define BOOST_PP_REPEAT_2_182(m, d) BOOST_PP_REPEAT_2_181(m, d) m(3, 181, d)
-# define BOOST_PP_REPEAT_2_183(m, d) BOOST_PP_REPEAT_2_182(m, d) m(3, 182, d)
-# define BOOST_PP_REPEAT_2_184(m, d) BOOST_PP_REPEAT_2_183(m, d) m(3, 183, d)
-# define BOOST_PP_REPEAT_2_185(m, d) BOOST_PP_REPEAT_2_184(m, d) m(3, 184, d)
-# define BOOST_PP_REPEAT_2_186(m, d) BOOST_PP_REPEAT_2_185(m, d) m(3, 185, d)
-# define BOOST_PP_REPEAT_2_187(m, d) BOOST_PP_REPEAT_2_186(m, d) m(3, 186, d)
-# define BOOST_PP_REPEAT_2_188(m, d) BOOST_PP_REPEAT_2_187(m, d) m(3, 187, d)
-# define BOOST_PP_REPEAT_2_189(m, d) BOOST_PP_REPEAT_2_188(m, d) m(3, 188, d)
-# define BOOST_PP_REPEAT_2_190(m, d) BOOST_PP_REPEAT_2_189(m, d) m(3, 189, d)
-# define BOOST_PP_REPEAT_2_191(m, d) BOOST_PP_REPEAT_2_190(m, d) m(3, 190, d)
-# define BOOST_PP_REPEAT_2_192(m, d) BOOST_PP_REPEAT_2_191(m, d) m(3, 191, d)
-# define BOOST_PP_REPEAT_2_193(m, d) BOOST_PP_REPEAT_2_192(m, d) m(3, 192, d)
-# define BOOST_PP_REPEAT_2_194(m, d) BOOST_PP_REPEAT_2_193(m, d) m(3, 193, d)
-# define BOOST_PP_REPEAT_2_195(m, d) BOOST_PP_REPEAT_2_194(m, d) m(3, 194, d)
-# define BOOST_PP_REPEAT_2_196(m, d) BOOST_PP_REPEAT_2_195(m, d) m(3, 195, d)
-# define BOOST_PP_REPEAT_2_197(m, d) BOOST_PP_REPEAT_2_196(m, d) m(3, 196, d)
-# define BOOST_PP_REPEAT_2_198(m, d) BOOST_PP_REPEAT_2_197(m, d) m(3, 197, d)
-# define BOOST_PP_REPEAT_2_199(m, d) BOOST_PP_REPEAT_2_198(m, d) m(3, 198, d)
-# define BOOST_PP_REPEAT_2_200(m, d) BOOST_PP_REPEAT_2_199(m, d) m(3, 199, d)
-# define BOOST_PP_REPEAT_2_201(m, d) BOOST_PP_REPEAT_2_200(m, d) m(3, 200, d)
-# define BOOST_PP_REPEAT_2_202(m, d) BOOST_PP_REPEAT_2_201(m, d) m(3, 201, d)
-# define BOOST_PP_REPEAT_2_203(m, d) BOOST_PP_REPEAT_2_202(m, d) m(3, 202, d)
-# define BOOST_PP_REPEAT_2_204(m, d) BOOST_PP_REPEAT_2_203(m, d) m(3, 203, d)
-# define BOOST_PP_REPEAT_2_205(m, d) BOOST_PP_REPEAT_2_204(m, d) m(3, 204, d)
-# define BOOST_PP_REPEAT_2_206(m, d) BOOST_PP_REPEAT_2_205(m, d) m(3, 205, d)
-# define BOOST_PP_REPEAT_2_207(m, d) BOOST_PP_REPEAT_2_206(m, d) m(3, 206, d)
-# define BOOST_PP_REPEAT_2_208(m, d) BOOST_PP_REPEAT_2_207(m, d) m(3, 207, d)
-# define BOOST_PP_REPEAT_2_209(m, d) BOOST_PP_REPEAT_2_208(m, d) m(3, 208, d)
-# define BOOST_PP_REPEAT_2_210(m, d) BOOST_PP_REPEAT_2_209(m, d) m(3, 209, d)
-# define BOOST_PP_REPEAT_2_211(m, d) BOOST_PP_REPEAT_2_210(m, d) m(3, 210, d)
-# define BOOST_PP_REPEAT_2_212(m, d) BOOST_PP_REPEAT_2_211(m, d) m(3, 211, d)
-# define BOOST_PP_REPEAT_2_213(m, d) BOOST_PP_REPEAT_2_212(m, d) m(3, 212, d)
-# define BOOST_PP_REPEAT_2_214(m, d) BOOST_PP_REPEAT_2_213(m, d) m(3, 213, d)
-# define BOOST_PP_REPEAT_2_215(m, d) BOOST_PP_REPEAT_2_214(m, d) m(3, 214, d)
-# define BOOST_PP_REPEAT_2_216(m, d) BOOST_PP_REPEAT_2_215(m, d) m(3, 215, d)
-# define BOOST_PP_REPEAT_2_217(m, d) BOOST_PP_REPEAT_2_216(m, d) m(3, 216, d)
-# define BOOST_PP_REPEAT_2_218(m, d) BOOST_PP_REPEAT_2_217(m, d) m(3, 217, d)
-# define BOOST_PP_REPEAT_2_219(m, d) BOOST_PP_REPEAT_2_218(m, d) m(3, 218, d)
-# define BOOST_PP_REPEAT_2_220(m, d) BOOST_PP_REPEAT_2_219(m, d) m(3, 219, d)
-# define BOOST_PP_REPEAT_2_221(m, d) BOOST_PP_REPEAT_2_220(m, d) m(3, 220, d)
-# define BOOST_PP_REPEAT_2_222(m, d) BOOST_PP_REPEAT_2_221(m, d) m(3, 221, d)
-# define BOOST_PP_REPEAT_2_223(m, d) BOOST_PP_REPEAT_2_222(m, d) m(3, 222, d)
-# define BOOST_PP_REPEAT_2_224(m, d) BOOST_PP_REPEAT_2_223(m, d) m(3, 223, d)
-# define BOOST_PP_REPEAT_2_225(m, d) BOOST_PP_REPEAT_2_224(m, d) m(3, 224, d)
-# define BOOST_PP_REPEAT_2_226(m, d) BOOST_PP_REPEAT_2_225(m, d) m(3, 225, d)
-# define BOOST_PP_REPEAT_2_227(m, d) BOOST_PP_REPEAT_2_226(m, d) m(3, 226, d)
-# define BOOST_PP_REPEAT_2_228(m, d) BOOST_PP_REPEAT_2_227(m, d) m(3, 227, d)
-# define BOOST_PP_REPEAT_2_229(m, d) BOOST_PP_REPEAT_2_228(m, d) m(3, 228, d)
-# define BOOST_PP_REPEAT_2_230(m, d) BOOST_PP_REPEAT_2_229(m, d) m(3, 229, d)
-# define BOOST_PP_REPEAT_2_231(m, d) BOOST_PP_REPEAT_2_230(m, d) m(3, 230, d)
-# define BOOST_PP_REPEAT_2_232(m, d) BOOST_PP_REPEAT_2_231(m, d) m(3, 231, d)
-# define BOOST_PP_REPEAT_2_233(m, d) BOOST_PP_REPEAT_2_232(m, d) m(3, 232, d)
-# define BOOST_PP_REPEAT_2_234(m, d) BOOST_PP_REPEAT_2_233(m, d) m(3, 233, d)
-# define BOOST_PP_REPEAT_2_235(m, d) BOOST_PP_REPEAT_2_234(m, d) m(3, 234, d)
-# define BOOST_PP_REPEAT_2_236(m, d) BOOST_PP_REPEAT_2_235(m, d) m(3, 235, d)
-# define BOOST_PP_REPEAT_2_237(m, d) BOOST_PP_REPEAT_2_236(m, d) m(3, 236, d)
-# define BOOST_PP_REPEAT_2_238(m, d) BOOST_PP_REPEAT_2_237(m, d) m(3, 237, d)
-# define BOOST_PP_REPEAT_2_239(m, d) BOOST_PP_REPEAT_2_238(m, d) m(3, 238, d)
-# define BOOST_PP_REPEAT_2_240(m, d) BOOST_PP_REPEAT_2_239(m, d) m(3, 239, d)
-# define BOOST_PP_REPEAT_2_241(m, d) BOOST_PP_REPEAT_2_240(m, d) m(3, 240, d)
-# define BOOST_PP_REPEAT_2_242(m, d) BOOST_PP_REPEAT_2_241(m, d) m(3, 241, d)
-# define BOOST_PP_REPEAT_2_243(m, d) BOOST_PP_REPEAT_2_242(m, d) m(3, 242, d)
-# define BOOST_PP_REPEAT_2_244(m, d) BOOST_PP_REPEAT_2_243(m, d) m(3, 243, d)
-# define BOOST_PP_REPEAT_2_245(m, d) BOOST_PP_REPEAT_2_244(m, d) m(3, 244, d)
-# define BOOST_PP_REPEAT_2_246(m, d) BOOST_PP_REPEAT_2_245(m, d) m(3, 245, d)
-# define BOOST_PP_REPEAT_2_247(m, d) BOOST_PP_REPEAT_2_246(m, d) m(3, 246, d)
-# define BOOST_PP_REPEAT_2_248(m, d) BOOST_PP_REPEAT_2_247(m, d) m(3, 247, d)
-# define BOOST_PP_REPEAT_2_249(m, d) BOOST_PP_REPEAT_2_248(m, d) m(3, 248, d)
-# define BOOST_PP_REPEAT_2_250(m, d) BOOST_PP_REPEAT_2_249(m, d) m(3, 249, d)
-# define BOOST_PP_REPEAT_2_251(m, d) BOOST_PP_REPEAT_2_250(m, d) m(3, 250, d)
-# define BOOST_PP_REPEAT_2_252(m, d) BOOST_PP_REPEAT_2_251(m, d) m(3, 251, d)
-# define BOOST_PP_REPEAT_2_253(m, d) BOOST_PP_REPEAT_2_252(m, d) m(3, 252, d)
-# define BOOST_PP_REPEAT_2_254(m, d) BOOST_PP_REPEAT_2_253(m, d) m(3, 253, d)
-# define BOOST_PP_REPEAT_2_255(m, d) BOOST_PP_REPEAT_2_254(m, d) m(3, 254, d)
-# define BOOST_PP_REPEAT_2_256(m, d) BOOST_PP_REPEAT_2_255(m, d) m(3, 255, d)
-#
-# define BOOST_PP_REPEAT_3_0(m, d)
-# define BOOST_PP_REPEAT_3_1(m, d) m(4, 0, d)
-# define BOOST_PP_REPEAT_3_2(m, d) BOOST_PP_REPEAT_3_1(m, d) m(4, 1, d)
-# define BOOST_PP_REPEAT_3_3(m, d) BOOST_PP_REPEAT_3_2(m, d) m(4, 2, d)
-# define BOOST_PP_REPEAT_3_4(m, d) BOOST_PP_REPEAT_3_3(m, d) m(4, 3, d)
-# define BOOST_PP_REPEAT_3_5(m, d) BOOST_PP_REPEAT_3_4(m, d) m(4, 4, d)
-# define BOOST_PP_REPEAT_3_6(m, d) BOOST_PP_REPEAT_3_5(m, d) m(4, 5, d)
-# define BOOST_PP_REPEAT_3_7(m, d) BOOST_PP_REPEAT_3_6(m, d) m(4, 6, d)
-# define BOOST_PP_REPEAT_3_8(m, d) BOOST_PP_REPEAT_3_7(m, d) m(4, 7, d)
-# define BOOST_PP_REPEAT_3_9(m, d) BOOST_PP_REPEAT_3_8(m, d) m(4, 8, d)
-# define BOOST_PP_REPEAT_3_10(m, d) BOOST_PP_REPEAT_3_9(m, d) m(4, 9, d)
-# define BOOST_PP_REPEAT_3_11(m, d) BOOST_PP_REPEAT_3_10(m, d) m(4, 10, d)
-# define BOOST_PP_REPEAT_3_12(m, d) BOOST_PP_REPEAT_3_11(m, d) m(4, 11, d)
-# define BOOST_PP_REPEAT_3_13(m, d) BOOST_PP_REPEAT_3_12(m, d) m(4, 12, d)
-# define BOOST_PP_REPEAT_3_14(m, d) BOOST_PP_REPEAT_3_13(m, d) m(4, 13, d)
-# define BOOST_PP_REPEAT_3_15(m, d) BOOST_PP_REPEAT_3_14(m, d) m(4, 14, d)
-# define BOOST_PP_REPEAT_3_16(m, d) BOOST_PP_REPEAT_3_15(m, d) m(4, 15, d)
-# define BOOST_PP_REPEAT_3_17(m, d) BOOST_PP_REPEAT_3_16(m, d) m(4, 16, d)
-# define BOOST_PP_REPEAT_3_18(m, d) BOOST_PP_REPEAT_3_17(m, d) m(4, 17, d)
-# define BOOST_PP_REPEAT_3_19(m, d) BOOST_PP_REPEAT_3_18(m, d) m(4, 18, d)
-# define BOOST_PP_REPEAT_3_20(m, d) BOOST_PP_REPEAT_3_19(m, d) m(4, 19, d)
-# define BOOST_PP_REPEAT_3_21(m, d) BOOST_PP_REPEAT_3_20(m, d) m(4, 20, d)
-# define BOOST_PP_REPEAT_3_22(m, d) BOOST_PP_REPEAT_3_21(m, d) m(4, 21, d)
-# define BOOST_PP_REPEAT_3_23(m, d) BOOST_PP_REPEAT_3_22(m, d) m(4, 22, d)
-# define BOOST_PP_REPEAT_3_24(m, d) BOOST_PP_REPEAT_3_23(m, d) m(4, 23, d)
-# define BOOST_PP_REPEAT_3_25(m, d) BOOST_PP_REPEAT_3_24(m, d) m(4, 24, d)
-# define BOOST_PP_REPEAT_3_26(m, d) BOOST_PP_REPEAT_3_25(m, d) m(4, 25, d)
-# define BOOST_PP_REPEAT_3_27(m, d) BOOST_PP_REPEAT_3_26(m, d) m(4, 26, d)
-# define BOOST_PP_REPEAT_3_28(m, d) BOOST_PP_REPEAT_3_27(m, d) m(4, 27, d)
-# define BOOST_PP_REPEAT_3_29(m, d) BOOST_PP_REPEAT_3_28(m, d) m(4, 28, d)
-# define BOOST_PP_REPEAT_3_30(m, d) BOOST_PP_REPEAT_3_29(m, d) m(4, 29, d)
-# define BOOST_PP_REPEAT_3_31(m, d) BOOST_PP_REPEAT_3_30(m, d) m(4, 30, d)
-# define BOOST_PP_REPEAT_3_32(m, d) BOOST_PP_REPEAT_3_31(m, d) m(4, 31, d)
-# define BOOST_PP_REPEAT_3_33(m, d) BOOST_PP_REPEAT_3_32(m, d) m(4, 32, d)
-# define BOOST_PP_REPEAT_3_34(m, d) BOOST_PP_REPEAT_3_33(m, d) m(4, 33, d)
-# define BOOST_PP_REPEAT_3_35(m, d) BOOST_PP_REPEAT_3_34(m, d) m(4, 34, d)
-# define BOOST_PP_REPEAT_3_36(m, d) BOOST_PP_REPEAT_3_35(m, d) m(4, 35, d)
-# define BOOST_PP_REPEAT_3_37(m, d) BOOST_PP_REPEAT_3_36(m, d) m(4, 36, d)
-# define BOOST_PP_REPEAT_3_38(m, d) BOOST_PP_REPEAT_3_37(m, d) m(4, 37, d)
-# define BOOST_PP_REPEAT_3_39(m, d) BOOST_PP_REPEAT_3_38(m, d) m(4, 38, d)
-# define BOOST_PP_REPEAT_3_40(m, d) BOOST_PP_REPEAT_3_39(m, d) m(4, 39, d)
-# define BOOST_PP_REPEAT_3_41(m, d) BOOST_PP_REPEAT_3_40(m, d) m(4, 40, d)
-# define BOOST_PP_REPEAT_3_42(m, d) BOOST_PP_REPEAT_3_41(m, d) m(4, 41, d)
-# define BOOST_PP_REPEAT_3_43(m, d) BOOST_PP_REPEAT_3_42(m, d) m(4, 42, d)
-# define BOOST_PP_REPEAT_3_44(m, d) BOOST_PP_REPEAT_3_43(m, d) m(4, 43, d)
-# define BOOST_PP_REPEAT_3_45(m, d) BOOST_PP_REPEAT_3_44(m, d) m(4, 44, d)
-# define BOOST_PP_REPEAT_3_46(m, d) BOOST_PP_REPEAT_3_45(m, d) m(4, 45, d)
-# define BOOST_PP_REPEAT_3_47(m, d) BOOST_PP_REPEAT_3_46(m, d) m(4, 46, d)
-# define BOOST_PP_REPEAT_3_48(m, d) BOOST_PP_REPEAT_3_47(m, d) m(4, 47, d)
-# define BOOST_PP_REPEAT_3_49(m, d) BOOST_PP_REPEAT_3_48(m, d) m(4, 48, d)
-# define BOOST_PP_REPEAT_3_50(m, d) BOOST_PP_REPEAT_3_49(m, d) m(4, 49, d)
-# define BOOST_PP_REPEAT_3_51(m, d) BOOST_PP_REPEAT_3_50(m, d) m(4, 50, d)
-# define BOOST_PP_REPEAT_3_52(m, d) BOOST_PP_REPEAT_3_51(m, d) m(4, 51, d)
-# define BOOST_PP_REPEAT_3_53(m, d) BOOST_PP_REPEAT_3_52(m, d) m(4, 52, d)
-# define BOOST_PP_REPEAT_3_54(m, d) BOOST_PP_REPEAT_3_53(m, d) m(4, 53, d)
-# define BOOST_PP_REPEAT_3_55(m, d) BOOST_PP_REPEAT_3_54(m, d) m(4, 54, d)
-# define BOOST_PP_REPEAT_3_56(m, d) BOOST_PP_REPEAT_3_55(m, d) m(4, 55, d)
-# define BOOST_PP_REPEAT_3_57(m, d) BOOST_PP_REPEAT_3_56(m, d) m(4, 56, d)
-# define BOOST_PP_REPEAT_3_58(m, d) BOOST_PP_REPEAT_3_57(m, d) m(4, 57, d)
-# define BOOST_PP_REPEAT_3_59(m, d) BOOST_PP_REPEAT_3_58(m, d) m(4, 58, d)
-# define BOOST_PP_REPEAT_3_60(m, d) BOOST_PP_REPEAT_3_59(m, d) m(4, 59, d)
-# define BOOST_PP_REPEAT_3_61(m, d) BOOST_PP_REPEAT_3_60(m, d) m(4, 60, d)
-# define BOOST_PP_REPEAT_3_62(m, d) BOOST_PP_REPEAT_3_61(m, d) m(4, 61, d)
-# define BOOST_PP_REPEAT_3_63(m, d) BOOST_PP_REPEAT_3_62(m, d) m(4, 62, d)
-# define BOOST_PP_REPEAT_3_64(m, d) BOOST_PP_REPEAT_3_63(m, d) m(4, 63, d)
-# define BOOST_PP_REPEAT_3_65(m, d) BOOST_PP_REPEAT_3_64(m, d) m(4, 64, d)
-# define BOOST_PP_REPEAT_3_66(m, d) BOOST_PP_REPEAT_3_65(m, d) m(4, 65, d)
-# define BOOST_PP_REPEAT_3_67(m, d) BOOST_PP_REPEAT_3_66(m, d) m(4, 66, d)
-# define BOOST_PP_REPEAT_3_68(m, d) BOOST_PP_REPEAT_3_67(m, d) m(4, 67, d)
-# define BOOST_PP_REPEAT_3_69(m, d) BOOST_PP_REPEAT_3_68(m, d) m(4, 68, d)
-# define BOOST_PP_REPEAT_3_70(m, d) BOOST_PP_REPEAT_3_69(m, d) m(4, 69, d)
-# define BOOST_PP_REPEAT_3_71(m, d) BOOST_PP_REPEAT_3_70(m, d) m(4, 70, d)
-# define BOOST_PP_REPEAT_3_72(m, d) BOOST_PP_REPEAT_3_71(m, d) m(4, 71, d)
-# define BOOST_PP_REPEAT_3_73(m, d) BOOST_PP_REPEAT_3_72(m, d) m(4, 72, d)
-# define BOOST_PP_REPEAT_3_74(m, d) BOOST_PP_REPEAT_3_73(m, d) m(4, 73, d)
-# define BOOST_PP_REPEAT_3_75(m, d) BOOST_PP_REPEAT_3_74(m, d) m(4, 74, d)
-# define BOOST_PP_REPEAT_3_76(m, d) BOOST_PP_REPEAT_3_75(m, d) m(4, 75, d)
-# define BOOST_PP_REPEAT_3_77(m, d) BOOST_PP_REPEAT_3_76(m, d) m(4, 76, d)
-# define BOOST_PP_REPEAT_3_78(m, d) BOOST_PP_REPEAT_3_77(m, d) m(4, 77, d)
-# define BOOST_PP_REPEAT_3_79(m, d) BOOST_PP_REPEAT_3_78(m, d) m(4, 78, d)
-# define BOOST_PP_REPEAT_3_80(m, d) BOOST_PP_REPEAT_3_79(m, d) m(4, 79, d)
-# define BOOST_PP_REPEAT_3_81(m, d) BOOST_PP_REPEAT_3_80(m, d) m(4, 80, d)
-# define BOOST_PP_REPEAT_3_82(m, d) BOOST_PP_REPEAT_3_81(m, d) m(4, 81, d)
-# define BOOST_PP_REPEAT_3_83(m, d) BOOST_PP_REPEAT_3_82(m, d) m(4, 82, d)
-# define BOOST_PP_REPEAT_3_84(m, d) BOOST_PP_REPEAT_3_83(m, d) m(4, 83, d)
-# define BOOST_PP_REPEAT_3_85(m, d) BOOST_PP_REPEAT_3_84(m, d) m(4, 84, d)
-# define BOOST_PP_REPEAT_3_86(m, d) BOOST_PP_REPEAT_3_85(m, d) m(4, 85, d)
-# define BOOST_PP_REPEAT_3_87(m, d) BOOST_PP_REPEAT_3_86(m, d) m(4, 86, d)
-# define BOOST_PP_REPEAT_3_88(m, d) BOOST_PP_REPEAT_3_87(m, d) m(4, 87, d)
-# define BOOST_PP_REPEAT_3_89(m, d) BOOST_PP_REPEAT_3_88(m, d) m(4, 88, d)
-# define BOOST_PP_REPEAT_3_90(m, d) BOOST_PP_REPEAT_3_89(m, d) m(4, 89, d)
-# define BOOST_PP_REPEAT_3_91(m, d) BOOST_PP_REPEAT_3_90(m, d) m(4, 90, d)
-# define BOOST_PP_REPEAT_3_92(m, d) BOOST_PP_REPEAT_3_91(m, d) m(4, 91, d)
-# define BOOST_PP_REPEAT_3_93(m, d) BOOST_PP_REPEAT_3_92(m, d) m(4, 92, d)
-# define BOOST_PP_REPEAT_3_94(m, d) BOOST_PP_REPEAT_3_93(m, d) m(4, 93, d)
-# define BOOST_PP_REPEAT_3_95(m, d) BOOST_PP_REPEAT_3_94(m, d) m(4, 94, d)
-# define BOOST_PP_REPEAT_3_96(m, d) BOOST_PP_REPEAT_3_95(m, d) m(4, 95, d)
-# define BOOST_PP_REPEAT_3_97(m, d) BOOST_PP_REPEAT_3_96(m, d) m(4, 96, d)
-# define BOOST_PP_REPEAT_3_98(m, d) BOOST_PP_REPEAT_3_97(m, d) m(4, 97, d)
-# define BOOST_PP_REPEAT_3_99(m, d) BOOST_PP_REPEAT_3_98(m, d) m(4, 98, d)
-# define BOOST_PP_REPEAT_3_100(m, d) BOOST_PP_REPEAT_3_99(m, d) m(4, 99, d)
-# define BOOST_PP_REPEAT_3_101(m, d) BOOST_PP_REPEAT_3_100(m, d) m(4, 100, d)
-# define BOOST_PP_REPEAT_3_102(m, d) BOOST_PP_REPEAT_3_101(m, d) m(4, 101, d)
-# define BOOST_PP_REPEAT_3_103(m, d) BOOST_PP_REPEAT_3_102(m, d) m(4, 102, d)
-# define BOOST_PP_REPEAT_3_104(m, d) BOOST_PP_REPEAT_3_103(m, d) m(4, 103, d)
-# define BOOST_PP_REPEAT_3_105(m, d) BOOST_PP_REPEAT_3_104(m, d) m(4, 104, d)
-# define BOOST_PP_REPEAT_3_106(m, d) BOOST_PP_REPEAT_3_105(m, d) m(4, 105, d)
-# define BOOST_PP_REPEAT_3_107(m, d) BOOST_PP_REPEAT_3_106(m, d) m(4, 106, d)
-# define BOOST_PP_REPEAT_3_108(m, d) BOOST_PP_REPEAT_3_107(m, d) m(4, 107, d)
-# define BOOST_PP_REPEAT_3_109(m, d) BOOST_PP_REPEAT_3_108(m, d) m(4, 108, d)
-# define BOOST_PP_REPEAT_3_110(m, d) BOOST_PP_REPEAT_3_109(m, d) m(4, 109, d)
-# define BOOST_PP_REPEAT_3_111(m, d) BOOST_PP_REPEAT_3_110(m, d) m(4, 110, d)
-# define BOOST_PP_REPEAT_3_112(m, d) BOOST_PP_REPEAT_3_111(m, d) m(4, 111, d)
-# define BOOST_PP_REPEAT_3_113(m, d) BOOST_PP_REPEAT_3_112(m, d) m(4, 112, d)
-# define BOOST_PP_REPEAT_3_114(m, d) BOOST_PP_REPEAT_3_113(m, d) m(4, 113, d)
-# define BOOST_PP_REPEAT_3_115(m, d) BOOST_PP_REPEAT_3_114(m, d) m(4, 114, d)
-# define BOOST_PP_REPEAT_3_116(m, d) BOOST_PP_REPEAT_3_115(m, d) m(4, 115, d)
-# define BOOST_PP_REPEAT_3_117(m, d) BOOST_PP_REPEAT_3_116(m, d) m(4, 116, d)
-# define BOOST_PP_REPEAT_3_118(m, d) BOOST_PP_REPEAT_3_117(m, d) m(4, 117, d)
-# define BOOST_PP_REPEAT_3_119(m, d) BOOST_PP_REPEAT_3_118(m, d) m(4, 118, d)
-# define BOOST_PP_REPEAT_3_120(m, d) BOOST_PP_REPEAT_3_119(m, d) m(4, 119, d)
-# define BOOST_PP_REPEAT_3_121(m, d) BOOST_PP_REPEAT_3_120(m, d) m(4, 120, d)
-# define BOOST_PP_REPEAT_3_122(m, d) BOOST_PP_REPEAT_3_121(m, d) m(4, 121, d)
-# define BOOST_PP_REPEAT_3_123(m, d) BOOST_PP_REPEAT_3_122(m, d) m(4, 122, d)
-# define BOOST_PP_REPEAT_3_124(m, d) BOOST_PP_REPEAT_3_123(m, d) m(4, 123, d)
-# define BOOST_PP_REPEAT_3_125(m, d) BOOST_PP_REPEAT_3_124(m, d) m(4, 124, d)
-# define BOOST_PP_REPEAT_3_126(m, d) BOOST_PP_REPEAT_3_125(m, d) m(4, 125, d)
-# define BOOST_PP_REPEAT_3_127(m, d) BOOST_PP_REPEAT_3_126(m, d) m(4, 126, d)
-# define BOOST_PP_REPEAT_3_128(m, d) BOOST_PP_REPEAT_3_127(m, d) m(4, 127, d)
-# define BOOST_PP_REPEAT_3_129(m, d) BOOST_PP_REPEAT_3_128(m, d) m(4, 128, d)
-# define BOOST_PP_REPEAT_3_130(m, d) BOOST_PP_REPEAT_3_129(m, d) m(4, 129, d)
-# define BOOST_PP_REPEAT_3_131(m, d) BOOST_PP_REPEAT_3_130(m, d) m(4, 130, d)
-# define BOOST_PP_REPEAT_3_132(m, d) BOOST_PP_REPEAT_3_131(m, d) m(4, 131, d)
-# define BOOST_PP_REPEAT_3_133(m, d) BOOST_PP_REPEAT_3_132(m, d) m(4, 132, d)
-# define BOOST_PP_REPEAT_3_134(m, d) BOOST_PP_REPEAT_3_133(m, d) m(4, 133, d)
-# define BOOST_PP_REPEAT_3_135(m, d) BOOST_PP_REPEAT_3_134(m, d) m(4, 134, d)
-# define BOOST_PP_REPEAT_3_136(m, d) BOOST_PP_REPEAT_3_135(m, d) m(4, 135, d)
-# define BOOST_PP_REPEAT_3_137(m, d) BOOST_PP_REPEAT_3_136(m, d) m(4, 136, d)
-# define BOOST_PP_REPEAT_3_138(m, d) BOOST_PP_REPEAT_3_137(m, d) m(4, 137, d)
-# define BOOST_PP_REPEAT_3_139(m, d) BOOST_PP_REPEAT_3_138(m, d) m(4, 138, d)
-# define BOOST_PP_REPEAT_3_140(m, d) BOOST_PP_REPEAT_3_139(m, d) m(4, 139, d)
-# define BOOST_PP_REPEAT_3_141(m, d) BOOST_PP_REPEAT_3_140(m, d) m(4, 140, d)
-# define BOOST_PP_REPEAT_3_142(m, d) BOOST_PP_REPEAT_3_141(m, d) m(4, 141, d)
-# define BOOST_PP_REPEAT_3_143(m, d) BOOST_PP_REPEAT_3_142(m, d) m(4, 142, d)
-# define BOOST_PP_REPEAT_3_144(m, d) BOOST_PP_REPEAT_3_143(m, d) m(4, 143, d)
-# define BOOST_PP_REPEAT_3_145(m, d) BOOST_PP_REPEAT_3_144(m, d) m(4, 144, d)
-# define BOOST_PP_REPEAT_3_146(m, d) BOOST_PP_REPEAT_3_145(m, d) m(4, 145, d)
-# define BOOST_PP_REPEAT_3_147(m, d) BOOST_PP_REPEAT_3_146(m, d) m(4, 146, d)
-# define BOOST_PP_REPEAT_3_148(m, d) BOOST_PP_REPEAT_3_147(m, d) m(4, 147, d)
-# define BOOST_PP_REPEAT_3_149(m, d) BOOST_PP_REPEAT_3_148(m, d) m(4, 148, d)
-# define BOOST_PP_REPEAT_3_150(m, d) BOOST_PP_REPEAT_3_149(m, d) m(4, 149, d)
-# define BOOST_PP_REPEAT_3_151(m, d) BOOST_PP_REPEAT_3_150(m, d) m(4, 150, d)
-# define BOOST_PP_REPEAT_3_152(m, d) BOOST_PP_REPEAT_3_151(m, d) m(4, 151, d)
-# define BOOST_PP_REPEAT_3_153(m, d) BOOST_PP_REPEAT_3_152(m, d) m(4, 152, d)
-# define BOOST_PP_REPEAT_3_154(m, d) BOOST_PP_REPEAT_3_153(m, d) m(4, 153, d)
-# define BOOST_PP_REPEAT_3_155(m, d) BOOST_PP_REPEAT_3_154(m, d) m(4, 154, d)
-# define BOOST_PP_REPEAT_3_156(m, d) BOOST_PP_REPEAT_3_155(m, d) m(4, 155, d)
-# define BOOST_PP_REPEAT_3_157(m, d) BOOST_PP_REPEAT_3_156(m, d) m(4, 156, d)
-# define BOOST_PP_REPEAT_3_158(m, d) BOOST_PP_REPEAT_3_157(m, d) m(4, 157, d)
-# define BOOST_PP_REPEAT_3_159(m, d) BOOST_PP_REPEAT_3_158(m, d) m(4, 158, d)
-# define BOOST_PP_REPEAT_3_160(m, d) BOOST_PP_REPEAT_3_159(m, d) m(4, 159, d)
-# define BOOST_PP_REPEAT_3_161(m, d) BOOST_PP_REPEAT_3_160(m, d) m(4, 160, d)
-# define BOOST_PP_REPEAT_3_162(m, d) BOOST_PP_REPEAT_3_161(m, d) m(4, 161, d)
-# define BOOST_PP_REPEAT_3_163(m, d) BOOST_PP_REPEAT_3_162(m, d) m(4, 162, d)
-# define BOOST_PP_REPEAT_3_164(m, d) BOOST_PP_REPEAT_3_163(m, d) m(4, 163, d)
-# define BOOST_PP_REPEAT_3_165(m, d) BOOST_PP_REPEAT_3_164(m, d) m(4, 164, d)
-# define BOOST_PP_REPEAT_3_166(m, d) BOOST_PP_REPEAT_3_165(m, d) m(4, 165, d)
-# define BOOST_PP_REPEAT_3_167(m, d) BOOST_PP_REPEAT_3_166(m, d) m(4, 166, d)
-# define BOOST_PP_REPEAT_3_168(m, d) BOOST_PP_REPEAT_3_167(m, d) m(4, 167, d)
-# define BOOST_PP_REPEAT_3_169(m, d) BOOST_PP_REPEAT_3_168(m, d) m(4, 168, d)
-# define BOOST_PP_REPEAT_3_170(m, d) BOOST_PP_REPEAT_3_169(m, d) m(4, 169, d)
-# define BOOST_PP_REPEAT_3_171(m, d) BOOST_PP_REPEAT_3_170(m, d) m(4, 170, d)
-# define BOOST_PP_REPEAT_3_172(m, d) BOOST_PP_REPEAT_3_171(m, d) m(4, 171, d)
-# define BOOST_PP_REPEAT_3_173(m, d) BOOST_PP_REPEAT_3_172(m, d) m(4, 172, d)
-# define BOOST_PP_REPEAT_3_174(m, d) BOOST_PP_REPEAT_3_173(m, d) m(4, 173, d)
-# define BOOST_PP_REPEAT_3_175(m, d) BOOST_PP_REPEAT_3_174(m, d) m(4, 174, d)
-# define BOOST_PP_REPEAT_3_176(m, d) BOOST_PP_REPEAT_3_175(m, d) m(4, 175, d)
-# define BOOST_PP_REPEAT_3_177(m, d) BOOST_PP_REPEAT_3_176(m, d) m(4, 176, d)
-# define BOOST_PP_REPEAT_3_178(m, d) BOOST_PP_REPEAT_3_177(m, d) m(4, 177, d)
-# define BOOST_PP_REPEAT_3_179(m, d) BOOST_PP_REPEAT_3_178(m, d) m(4, 178, d)
-# define BOOST_PP_REPEAT_3_180(m, d) BOOST_PP_REPEAT_3_179(m, d) m(4, 179, d)
-# define BOOST_PP_REPEAT_3_181(m, d) BOOST_PP_REPEAT_3_180(m, d) m(4, 180, d)
-# define BOOST_PP_REPEAT_3_182(m, d) BOOST_PP_REPEAT_3_181(m, d) m(4, 181, d)
-# define BOOST_PP_REPEAT_3_183(m, d) BOOST_PP_REPEAT_3_182(m, d) m(4, 182, d)
-# define BOOST_PP_REPEAT_3_184(m, d) BOOST_PP_REPEAT_3_183(m, d) m(4, 183, d)
-# define BOOST_PP_REPEAT_3_185(m, d) BOOST_PP_REPEAT_3_184(m, d) m(4, 184, d)
-# define BOOST_PP_REPEAT_3_186(m, d) BOOST_PP_REPEAT_3_185(m, d) m(4, 185, d)
-# define BOOST_PP_REPEAT_3_187(m, d) BOOST_PP_REPEAT_3_186(m, d) m(4, 186, d)
-# define BOOST_PP_REPEAT_3_188(m, d) BOOST_PP_REPEAT_3_187(m, d) m(4, 187, d)
-# define BOOST_PP_REPEAT_3_189(m, d) BOOST_PP_REPEAT_3_188(m, d) m(4, 188, d)
-# define BOOST_PP_REPEAT_3_190(m, d) BOOST_PP_REPEAT_3_189(m, d) m(4, 189, d)
-# define BOOST_PP_REPEAT_3_191(m, d) BOOST_PP_REPEAT_3_190(m, d) m(4, 190, d)
-# define BOOST_PP_REPEAT_3_192(m, d) BOOST_PP_REPEAT_3_191(m, d) m(4, 191, d)
-# define BOOST_PP_REPEAT_3_193(m, d) BOOST_PP_REPEAT_3_192(m, d) m(4, 192, d)
-# define BOOST_PP_REPEAT_3_194(m, d) BOOST_PP_REPEAT_3_193(m, d) m(4, 193, d)
-# define BOOST_PP_REPEAT_3_195(m, d) BOOST_PP_REPEAT_3_194(m, d) m(4, 194, d)
-# define BOOST_PP_REPEAT_3_196(m, d) BOOST_PP_REPEAT_3_195(m, d) m(4, 195, d)
-# define BOOST_PP_REPEAT_3_197(m, d) BOOST_PP_REPEAT_3_196(m, d) m(4, 196, d)
-# define BOOST_PP_REPEAT_3_198(m, d) BOOST_PP_REPEAT_3_197(m, d) m(4, 197, d)
-# define BOOST_PP_REPEAT_3_199(m, d) BOOST_PP_REPEAT_3_198(m, d) m(4, 198, d)
-# define BOOST_PP_REPEAT_3_200(m, d) BOOST_PP_REPEAT_3_199(m, d) m(4, 199, d)
-# define BOOST_PP_REPEAT_3_201(m, d) BOOST_PP_REPEAT_3_200(m, d) m(4, 200, d)
-# define BOOST_PP_REPEAT_3_202(m, d) BOOST_PP_REPEAT_3_201(m, d) m(4, 201, d)
-# define BOOST_PP_REPEAT_3_203(m, d) BOOST_PP_REPEAT_3_202(m, d) m(4, 202, d)
-# define BOOST_PP_REPEAT_3_204(m, d) BOOST_PP_REPEAT_3_203(m, d) m(4, 203, d)
-# define BOOST_PP_REPEAT_3_205(m, d) BOOST_PP_REPEAT_3_204(m, d) m(4, 204, d)
-# define BOOST_PP_REPEAT_3_206(m, d) BOOST_PP_REPEAT_3_205(m, d) m(4, 205, d)
-# define BOOST_PP_REPEAT_3_207(m, d) BOOST_PP_REPEAT_3_206(m, d) m(4, 206, d)
-# define BOOST_PP_REPEAT_3_208(m, d) BOOST_PP_REPEAT_3_207(m, d) m(4, 207, d)
-# define BOOST_PP_REPEAT_3_209(m, d) BOOST_PP_REPEAT_3_208(m, d) m(4, 208, d)
-# define BOOST_PP_REPEAT_3_210(m, d) BOOST_PP_REPEAT_3_209(m, d) m(4, 209, d)
-# define BOOST_PP_REPEAT_3_211(m, d) BOOST_PP_REPEAT_3_210(m, d) m(4, 210, d)
-# define BOOST_PP_REPEAT_3_212(m, d) BOOST_PP_REPEAT_3_211(m, d) m(4, 211, d)
-# define BOOST_PP_REPEAT_3_213(m, d) BOOST_PP_REPEAT_3_212(m, d) m(4, 212, d)
-# define BOOST_PP_REPEAT_3_214(m, d) BOOST_PP_REPEAT_3_213(m, d) m(4, 213, d)
-# define BOOST_PP_REPEAT_3_215(m, d) BOOST_PP_REPEAT_3_214(m, d) m(4, 214, d)
-# define BOOST_PP_REPEAT_3_216(m, d) BOOST_PP_REPEAT_3_215(m, d) m(4, 215, d)
-# define BOOST_PP_REPEAT_3_217(m, d) BOOST_PP_REPEAT_3_216(m, d) m(4, 216, d)
-# define BOOST_PP_REPEAT_3_218(m, d) BOOST_PP_REPEAT_3_217(m, d) m(4, 217, d)
-# define BOOST_PP_REPEAT_3_219(m, d) BOOST_PP_REPEAT_3_218(m, d) m(4, 218, d)
-# define BOOST_PP_REPEAT_3_220(m, d) BOOST_PP_REPEAT_3_219(m, d) m(4, 219, d)
-# define BOOST_PP_REPEAT_3_221(m, d) BOOST_PP_REPEAT_3_220(m, d) m(4, 220, d)
-# define BOOST_PP_REPEAT_3_222(m, d) BOOST_PP_REPEAT_3_221(m, d) m(4, 221, d)
-# define BOOST_PP_REPEAT_3_223(m, d) BOOST_PP_REPEAT_3_222(m, d) m(4, 222, d)
-# define BOOST_PP_REPEAT_3_224(m, d) BOOST_PP_REPEAT_3_223(m, d) m(4, 223, d)
-# define BOOST_PP_REPEAT_3_225(m, d) BOOST_PP_REPEAT_3_224(m, d) m(4, 224, d)
-# define BOOST_PP_REPEAT_3_226(m, d) BOOST_PP_REPEAT_3_225(m, d) m(4, 225, d)
-# define BOOST_PP_REPEAT_3_227(m, d) BOOST_PP_REPEAT_3_226(m, d) m(4, 226, d)
-# define BOOST_PP_REPEAT_3_228(m, d) BOOST_PP_REPEAT_3_227(m, d) m(4, 227, d)
-# define BOOST_PP_REPEAT_3_229(m, d) BOOST_PP_REPEAT_3_228(m, d) m(4, 228, d)
-# define BOOST_PP_REPEAT_3_230(m, d) BOOST_PP_REPEAT_3_229(m, d) m(4, 229, d)
-# define BOOST_PP_REPEAT_3_231(m, d) BOOST_PP_REPEAT_3_230(m, d) m(4, 230, d)
-# define BOOST_PP_REPEAT_3_232(m, d) BOOST_PP_REPEAT_3_231(m, d) m(4, 231, d)
-# define BOOST_PP_REPEAT_3_233(m, d) BOOST_PP_REPEAT_3_232(m, d) m(4, 232, d)
-# define BOOST_PP_REPEAT_3_234(m, d) BOOST_PP_REPEAT_3_233(m, d) m(4, 233, d)
-# define BOOST_PP_REPEAT_3_235(m, d) BOOST_PP_REPEAT_3_234(m, d) m(4, 234, d)
-# define BOOST_PP_REPEAT_3_236(m, d) BOOST_PP_REPEAT_3_235(m, d) m(4, 235, d)
-# define BOOST_PP_REPEAT_3_237(m, d) BOOST_PP_REPEAT_3_236(m, d) m(4, 236, d)
-# define BOOST_PP_REPEAT_3_238(m, d) BOOST_PP_REPEAT_3_237(m, d) m(4, 237, d)
-# define BOOST_PP_REPEAT_3_239(m, d) BOOST_PP_REPEAT_3_238(m, d) m(4, 238, d)
-# define BOOST_PP_REPEAT_3_240(m, d) BOOST_PP_REPEAT_3_239(m, d) m(4, 239, d)
-# define BOOST_PP_REPEAT_3_241(m, d) BOOST_PP_REPEAT_3_240(m, d) m(4, 240, d)
-# define BOOST_PP_REPEAT_3_242(m, d) BOOST_PP_REPEAT_3_241(m, d) m(4, 241, d)
-# define BOOST_PP_REPEAT_3_243(m, d) BOOST_PP_REPEAT_3_242(m, d) m(4, 242, d)
-# define BOOST_PP_REPEAT_3_244(m, d) BOOST_PP_REPEAT_3_243(m, d) m(4, 243, d)
-# define BOOST_PP_REPEAT_3_245(m, d) BOOST_PP_REPEAT_3_244(m, d) m(4, 244, d)
-# define BOOST_PP_REPEAT_3_246(m, d) BOOST_PP_REPEAT_3_245(m, d) m(4, 245, d)
-# define BOOST_PP_REPEAT_3_247(m, d) BOOST_PP_REPEAT_3_246(m, d) m(4, 246, d)
-# define BOOST_PP_REPEAT_3_248(m, d) BOOST_PP_REPEAT_3_247(m, d) m(4, 247, d)
-# define BOOST_PP_REPEAT_3_249(m, d) BOOST_PP_REPEAT_3_248(m, d) m(4, 248, d)
-# define BOOST_PP_REPEAT_3_250(m, d) BOOST_PP_REPEAT_3_249(m, d) m(4, 249, d)
-# define BOOST_PP_REPEAT_3_251(m, d) BOOST_PP_REPEAT_3_250(m, d) m(4, 250, d)
-# define BOOST_PP_REPEAT_3_252(m, d) BOOST_PP_REPEAT_3_251(m, d) m(4, 251, d)
-# define BOOST_PP_REPEAT_3_253(m, d) BOOST_PP_REPEAT_3_252(m, d) m(4, 252, d)
-# define BOOST_PP_REPEAT_3_254(m, d) BOOST_PP_REPEAT_3_253(m, d) m(4, 253, d)
-# define BOOST_PP_REPEAT_3_255(m, d) BOOST_PP_REPEAT_3_254(m, d) m(4, 254, d)
-# define BOOST_PP_REPEAT_3_256(m, d) BOOST_PP_REPEAT_3_255(m, d) m(4, 255, d)
-#
-# endif
diff --git a/boost/preprocessor/repetition/repeat_from_to.hpp b/boost/preprocessor/repetition/repeat_from_to.hpp
deleted file mode 100644
index efe539e..0000000
--- a/boost/preprocessor/repetition/repeat_from_to.hpp
+++ /dev/null
@@ -1,87 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_REPETITION_REPEAT_FROM_TO_HPP
-# define BOOST_PREPROCESSOR_REPETITION_REPEAT_FROM_TO_HPP
-#
-# include <boost/preprocessor/arithmetic/add.hpp>
-# include <boost/preprocessor/arithmetic/sub.hpp>
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/control/while.hpp>
-# include <boost/preprocessor/debug/error.hpp>
-# include <boost/preprocessor/detail/auto_rec.hpp>
-# include <boost/preprocessor/repetition/repeat.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-# include <boost/preprocessor/tuple/rem.hpp>
-#
-# /* BOOST_PP_REPEAT_FROM_TO */
-#
-# if 0
-# define BOOST_PP_REPEAT_FROM_TO(first, last, macro, data)
-# endif
-#
-# define BOOST_PP_REPEAT_FROM_TO BOOST_PP_CAT(BOOST_PP_REPEAT_FROM_TO_, BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4))
-#
-# define BOOST_PP_REPEAT_FROM_TO_1(f, l, m, dt) BOOST_PP_REPEAT_FROM_TO_D_1(BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256), f, l, m, dt)
-# define BOOST_PP_REPEAT_FROM_TO_2(f, l, m, dt) BOOST_PP_REPEAT_FROM_TO_D_2(BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256), f, l, m, dt)
-# define BOOST_PP_REPEAT_FROM_TO_3(f, l, m, dt) BOOST_PP_REPEAT_FROM_TO_D_3(BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256), f, l, m, dt)
-# define BOOST_PP_REPEAT_FROM_TO_4(f, l, m, dt) BOOST_PP_ERROR(0x0003)
-#
-# define BOOST_PP_REPEAT_FROM_TO_1ST BOOST_PP_REPEAT_FROM_TO_1
-# define BOOST_PP_REPEAT_FROM_TO_2ND BOOST_PP_REPEAT_FROM_TO_2
-# define BOOST_PP_REPEAT_FROM_TO_3RD BOOST_PP_REPEAT_FROM_TO_3
-#
-# /* BOOST_PP_REPEAT_FROM_TO_D */
-#
-# if 0
-# define BOOST_PP_REPEAT_FROM_TO_D(d, first, last, macro, data)
-# endif
-#
-# define BOOST_PP_REPEAT_FROM_TO_D BOOST_PP_CAT(BOOST_PP_REPEAT_FROM_TO_D_, BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4))
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_REPEAT_FROM_TO_D_1(d, f, l, m, dt) BOOST_PP_REPEAT_1(BOOST_PP_SUB_D(d, l, f), BOOST_PP_REPEAT_FROM_TO_M_1, (d, f, m, dt))
-# define BOOST_PP_REPEAT_FROM_TO_D_2(d, f, l, m, dt) BOOST_PP_REPEAT_2(BOOST_PP_SUB_D(d, l, f), BOOST_PP_REPEAT_FROM_TO_M_2, (d, f, m, dt))
-# define BOOST_PP_REPEAT_FROM_TO_D_3(d, f, l, m, dt) BOOST_PP_REPEAT_3(BOOST_PP_SUB_D(d, l, f), BOOST_PP_REPEAT_FROM_TO_M_3, (d, f, m, dt))
-# else
-# define BOOST_PP_REPEAT_FROM_TO_D_1(d, f, l, m, dt) BOOST_PP_REPEAT_FROM_TO_D_1_I(d, f, l, m, dt)
-# define BOOST_PP_REPEAT_FROM_TO_D_2(d, f, l, m, dt) BOOST_PP_REPEAT_FROM_TO_D_2_I(d, f, l, m, dt)
-# define BOOST_PP_REPEAT_FROM_TO_D_3(d, f, l, m, dt) BOOST_PP_REPEAT_FROM_TO_D_3_I(d, f, l, m, dt)
-# define BOOST_PP_REPEAT_FROM_TO_D_1_I(d, f, l, m, dt) BOOST_PP_REPEAT_1(BOOST_PP_SUB_D(d, l, f), BOOST_PP_REPEAT_FROM_TO_M_1, (d, f, m, dt))
-# define BOOST_PP_REPEAT_FROM_TO_D_2_I(d, f, l, m, dt) BOOST_PP_REPEAT_2(BOOST_PP_SUB_D(d, l, f), BOOST_PP_REPEAT_FROM_TO_M_2, (d, f, m, dt))
-# define BOOST_PP_REPEAT_FROM_TO_D_3_I(d, f, l, m, dt) BOOST_PP_REPEAT_3(BOOST_PP_SUB_D(d, l, f), BOOST_PP_REPEAT_FROM_TO_M_3, (d, f, m, dt))
-# endif
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
-# define BOOST_PP_REPEAT_FROM_TO_M_1(z, n, dfmd) BOOST_PP_REPEAT_FROM_TO_M_1_IM(z, n, BOOST_PP_TUPLE_REM_4 dfmd)
-# define BOOST_PP_REPEAT_FROM_TO_M_2(z, n, dfmd) BOOST_PP_REPEAT_FROM_TO_M_2_IM(z, n, BOOST_PP_TUPLE_REM_4 dfmd)
-# define BOOST_PP_REPEAT_FROM_TO_M_3(z, n, dfmd) BOOST_PP_REPEAT_FROM_TO_M_3_IM(z, n, BOOST_PP_TUPLE_REM_4 dfmd)
-# define BOOST_PP_REPEAT_FROM_TO_M_1_IM(z, n, im) BOOST_PP_REPEAT_FROM_TO_M_1_I(z, n, im)
-# define BOOST_PP_REPEAT_FROM_TO_M_2_IM(z, n, im) BOOST_PP_REPEAT_FROM_TO_M_2_I(z, n, im)
-# define BOOST_PP_REPEAT_FROM_TO_M_3_IM(z, n, im) BOOST_PP_REPEAT_FROM_TO_M_3_I(z, n, im)
-# else
-# define BOOST_PP_REPEAT_FROM_TO_M_1(z, n, dfmd) BOOST_PP_REPEAT_FROM_TO_M_1_I(z, n, BOOST_PP_TUPLE_ELEM(4, 0, dfmd), BOOST_PP_TUPLE_ELEM(4, 1, dfmd), BOOST_PP_TUPLE_ELEM(4, 2, dfmd), BOOST_PP_TUPLE_ELEM(4, 3, dfmd))
-# define BOOST_PP_REPEAT_FROM_TO_M_2(z, n, dfmd) BOOST_PP_REPEAT_FROM_TO_M_2_I(z, n, BOOST_PP_TUPLE_ELEM(4, 0, dfmd), BOOST_PP_TUPLE_ELEM(4, 1, dfmd), BOOST_PP_TUPLE_ELEM(4, 2, dfmd), BOOST_PP_TUPLE_ELEM(4, 3, dfmd))
-# define BOOST_PP_REPEAT_FROM_TO_M_3(z, n, dfmd) BOOST_PP_REPEAT_FROM_TO_M_3_I(z, n, BOOST_PP_TUPLE_ELEM(4, 0, dfmd), BOOST_PP_TUPLE_ELEM(4, 1, dfmd), BOOST_PP_TUPLE_ELEM(4, 2, dfmd), BOOST_PP_TUPLE_ELEM(4, 3, dfmd))
-# endif
-#
-# define BOOST_PP_REPEAT_FROM_TO_M_1_I(z, n, d, f, m, dt) BOOST_PP_REPEAT_FROM_TO_M_1_II(z, BOOST_PP_ADD_D(d, n, f), m, dt)
-# define BOOST_PP_REPEAT_FROM_TO_M_2_I(z, n, d, f, m, dt) BOOST_PP_REPEAT_FROM_TO_M_2_II(z, BOOST_PP_ADD_D(d, n, f), m, dt)
-# define BOOST_PP_REPEAT_FROM_TO_M_3_I(z, n, d, f, m, dt) BOOST_PP_REPEAT_FROM_TO_M_3_II(z, BOOST_PP_ADD_D(d, n, f), m, dt)
-#
-# define BOOST_PP_REPEAT_FROM_TO_M_1_II(z, n, m, dt) m(z, n, dt)
-# define BOOST_PP_REPEAT_FROM_TO_M_2_II(z, n, m, dt) m(z, n, dt)
-# define BOOST_PP_REPEAT_FROM_TO_M_3_II(z, n, m, dt) m(z, n, dt)
-#
-# endif
diff --git a/boost/preprocessor/seq/cat.hpp b/boost/preprocessor/seq/cat.hpp
deleted file mode 100644
index b6b09ff..0000000
--- a/boost/preprocessor/seq/cat.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_SEQ_CAT_HPP
-# define BOOST_PREPROCESSOR_SEQ_CAT_HPP
-#
-# include <boost/preprocessor/arithmetic/dec.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/control/if.hpp>
-# include <boost/preprocessor/seq/fold_left.hpp>
-# include <boost/preprocessor/seq/seq.hpp>
-# include <boost/preprocessor/seq/size.hpp>
-# include <boost/preprocessor/tuple/eat.hpp>
-#
-# /* BOOST_PP_SEQ_CAT */
-#
-# define BOOST_PP_SEQ_CAT(seq) \
- BOOST_PP_IF( \
- BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(seq)), \
- BOOST_PP_SEQ_CAT_I, \
- BOOST_PP_SEQ_HEAD \
- )(seq) \
- /**/
-# define BOOST_PP_SEQ_CAT_I(seq) BOOST_PP_SEQ_FOLD_LEFT(BOOST_PP_SEQ_CAT_O, BOOST_PP_SEQ_HEAD(seq), BOOST_PP_SEQ_TAIL(seq))
-#
-# define BOOST_PP_SEQ_CAT_O(s, st, elem) BOOST_PP_SEQ_CAT_O_I(st, elem)
-# define BOOST_PP_SEQ_CAT_O_I(a, b) a ## b
-#
-# /* BOOST_PP_SEQ_CAT_S */
-#
-# define BOOST_PP_SEQ_CAT_S(s, seq) \
- BOOST_PP_IF( \
- BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(seq)), \
- BOOST_PP_SEQ_CAT_S_I_A, \
- BOOST_PP_SEQ_CAT_S_I_B \
- )(s, seq) \
- /**/
-# define BOOST_PP_SEQ_CAT_S_I_A(s, seq) BOOST_PP_SEQ_FOLD_LEFT_ ## s(BOOST_PP_SEQ_CAT_O, BOOST_PP_SEQ_HEAD(seq), BOOST_PP_SEQ_TAIL(seq))
-# define BOOST_PP_SEQ_CAT_S_I_B(s, seq) BOOST_PP_SEQ_HEAD(seq)
-#
-# endif
diff --git a/boost/preprocessor/seq/detail/split.hpp b/boost/preprocessor/seq/detail/split.hpp
deleted file mode 100644
index 7c33931..0000000
--- a/boost/preprocessor/seq/detail/split.hpp
+++ /dev/null
@@ -1,284 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_SEQ_DETAIL_SPLIT_HPP
-# define BOOST_PREPROCESSOR_SEQ_DETAIL_SPLIT_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# /* BOOST_PP_SEQ_SPLIT */
-#
-# define BOOST_PP_SEQ_SPLIT(n, seq) BOOST_PP_SEQ_SPLIT_D(n, seq)
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-# define BOOST_PP_SEQ_SPLIT_D(n, seq) (BOOST_PP_SEQ_SPLIT_ ## n seq)
-# else
-# define BOOST_PP_SEQ_SPLIT_D(n, seq) (BOOST_PP_SEQ_SPLIT_ ## n ## seq)
-# endif
-#
-# define BOOST_PP_SEQ_SPLIT_1(x) (x),
-# define BOOST_PP_SEQ_SPLIT_2(x) (x) BOOST_PP_SEQ_SPLIT_1
-# define BOOST_PP_SEQ_SPLIT_3(x) (x) BOOST_PP_SEQ_SPLIT_2
-# define BOOST_PP_SEQ_SPLIT_4(x) (x) BOOST_PP_SEQ_SPLIT_3
-# define BOOST_PP_SEQ_SPLIT_5(x) (x) BOOST_PP_SEQ_SPLIT_4
-# define BOOST_PP_SEQ_SPLIT_6(x) (x) BOOST_PP_SEQ_SPLIT_5
-# define BOOST_PP_SEQ_SPLIT_7(x) (x) BOOST_PP_SEQ_SPLIT_6
-# define BOOST_PP_SEQ_SPLIT_8(x) (x) BOOST_PP_SEQ_SPLIT_7
-# define BOOST_PP_SEQ_SPLIT_9(x) (x) BOOST_PP_SEQ_SPLIT_8
-# define BOOST_PP_SEQ_SPLIT_10(x) (x) BOOST_PP_SEQ_SPLIT_9
-# define BOOST_PP_SEQ_SPLIT_11(x) (x) BOOST_PP_SEQ_SPLIT_10
-# define BOOST_PP_SEQ_SPLIT_12(x) (x) BOOST_PP_SEQ_SPLIT_11
-# define BOOST_PP_SEQ_SPLIT_13(x) (x) BOOST_PP_SEQ_SPLIT_12
-# define BOOST_PP_SEQ_SPLIT_14(x) (x) BOOST_PP_SEQ_SPLIT_13
-# define BOOST_PP_SEQ_SPLIT_15(x) (x) BOOST_PP_SEQ_SPLIT_14
-# define BOOST_PP_SEQ_SPLIT_16(x) (x) BOOST_PP_SEQ_SPLIT_15
-# define BOOST_PP_SEQ_SPLIT_17(x) (x) BOOST_PP_SEQ_SPLIT_16
-# define BOOST_PP_SEQ_SPLIT_18(x) (x) BOOST_PP_SEQ_SPLIT_17
-# define BOOST_PP_SEQ_SPLIT_19(x) (x) BOOST_PP_SEQ_SPLIT_18
-# define BOOST_PP_SEQ_SPLIT_20(x) (x) BOOST_PP_SEQ_SPLIT_19
-# define BOOST_PP_SEQ_SPLIT_21(x) (x) BOOST_PP_SEQ_SPLIT_20
-# define BOOST_PP_SEQ_SPLIT_22(x) (x) BOOST_PP_SEQ_SPLIT_21
-# define BOOST_PP_SEQ_SPLIT_23(x) (x) BOOST_PP_SEQ_SPLIT_22
-# define BOOST_PP_SEQ_SPLIT_24(x) (x) BOOST_PP_SEQ_SPLIT_23
-# define BOOST_PP_SEQ_SPLIT_25(x) (x) BOOST_PP_SEQ_SPLIT_24
-# define BOOST_PP_SEQ_SPLIT_26(x) (x) BOOST_PP_SEQ_SPLIT_25
-# define BOOST_PP_SEQ_SPLIT_27(x) (x) BOOST_PP_SEQ_SPLIT_26
-# define BOOST_PP_SEQ_SPLIT_28(x) (x) BOOST_PP_SEQ_SPLIT_27
-# define BOOST_PP_SEQ_SPLIT_29(x) (x) BOOST_PP_SEQ_SPLIT_28
-# define BOOST_PP_SEQ_SPLIT_30(x) (x) BOOST_PP_SEQ_SPLIT_29
-# define BOOST_PP_SEQ_SPLIT_31(x) (x) BOOST_PP_SEQ_SPLIT_30
-# define BOOST_PP_SEQ_SPLIT_32(x) (x) BOOST_PP_SEQ_SPLIT_31
-# define BOOST_PP_SEQ_SPLIT_33(x) (x) BOOST_PP_SEQ_SPLIT_32
-# define BOOST_PP_SEQ_SPLIT_34(x) (x) BOOST_PP_SEQ_SPLIT_33
-# define BOOST_PP_SEQ_SPLIT_35(x) (x) BOOST_PP_SEQ_SPLIT_34
-# define BOOST_PP_SEQ_SPLIT_36(x) (x) BOOST_PP_SEQ_SPLIT_35
-# define BOOST_PP_SEQ_SPLIT_37(x) (x) BOOST_PP_SEQ_SPLIT_36
-# define BOOST_PP_SEQ_SPLIT_38(x) (x) BOOST_PP_SEQ_SPLIT_37
-# define BOOST_PP_SEQ_SPLIT_39(x) (x) BOOST_PP_SEQ_SPLIT_38
-# define BOOST_PP_SEQ_SPLIT_40(x) (x) BOOST_PP_SEQ_SPLIT_39
-# define BOOST_PP_SEQ_SPLIT_41(x) (x) BOOST_PP_SEQ_SPLIT_40
-# define BOOST_PP_SEQ_SPLIT_42(x) (x) BOOST_PP_SEQ_SPLIT_41
-# define BOOST_PP_SEQ_SPLIT_43(x) (x) BOOST_PP_SEQ_SPLIT_42
-# define BOOST_PP_SEQ_SPLIT_44(x) (x) BOOST_PP_SEQ_SPLIT_43
-# define BOOST_PP_SEQ_SPLIT_45(x) (x) BOOST_PP_SEQ_SPLIT_44
-# define BOOST_PP_SEQ_SPLIT_46(x) (x) BOOST_PP_SEQ_SPLIT_45
-# define BOOST_PP_SEQ_SPLIT_47(x) (x) BOOST_PP_SEQ_SPLIT_46
-# define BOOST_PP_SEQ_SPLIT_48(x) (x) BOOST_PP_SEQ_SPLIT_47
-# define BOOST_PP_SEQ_SPLIT_49(x) (x) BOOST_PP_SEQ_SPLIT_48
-# define BOOST_PP_SEQ_SPLIT_50(x) (x) BOOST_PP_SEQ_SPLIT_49
-# define BOOST_PP_SEQ_SPLIT_51(x) (x) BOOST_PP_SEQ_SPLIT_50
-# define BOOST_PP_SEQ_SPLIT_52(x) (x) BOOST_PP_SEQ_SPLIT_51
-# define BOOST_PP_SEQ_SPLIT_53(x) (x) BOOST_PP_SEQ_SPLIT_52
-# define BOOST_PP_SEQ_SPLIT_54(x) (x) BOOST_PP_SEQ_SPLIT_53
-# define BOOST_PP_SEQ_SPLIT_55(x) (x) BOOST_PP_SEQ_SPLIT_54
-# define BOOST_PP_SEQ_SPLIT_56(x) (x) BOOST_PP_SEQ_SPLIT_55
-# define BOOST_PP_SEQ_SPLIT_57(x) (x) BOOST_PP_SEQ_SPLIT_56
-# define BOOST_PP_SEQ_SPLIT_58(x) (x) BOOST_PP_SEQ_SPLIT_57
-# define BOOST_PP_SEQ_SPLIT_59(x) (x) BOOST_PP_SEQ_SPLIT_58
-# define BOOST_PP_SEQ_SPLIT_60(x) (x) BOOST_PP_SEQ_SPLIT_59
-# define BOOST_PP_SEQ_SPLIT_61(x) (x) BOOST_PP_SEQ_SPLIT_60
-# define BOOST_PP_SEQ_SPLIT_62(x) (x) BOOST_PP_SEQ_SPLIT_61
-# define BOOST_PP_SEQ_SPLIT_63(x) (x) BOOST_PP_SEQ_SPLIT_62
-# define BOOST_PP_SEQ_SPLIT_64(x) (x) BOOST_PP_SEQ_SPLIT_63
-# define BOOST_PP_SEQ_SPLIT_65(x) (x) BOOST_PP_SEQ_SPLIT_64
-# define BOOST_PP_SEQ_SPLIT_66(x) (x) BOOST_PP_SEQ_SPLIT_65
-# define BOOST_PP_SEQ_SPLIT_67(x) (x) BOOST_PP_SEQ_SPLIT_66
-# define BOOST_PP_SEQ_SPLIT_68(x) (x) BOOST_PP_SEQ_SPLIT_67
-# define BOOST_PP_SEQ_SPLIT_69(x) (x) BOOST_PP_SEQ_SPLIT_68
-# define BOOST_PP_SEQ_SPLIT_70(x) (x) BOOST_PP_SEQ_SPLIT_69
-# define BOOST_PP_SEQ_SPLIT_71(x) (x) BOOST_PP_SEQ_SPLIT_70
-# define BOOST_PP_SEQ_SPLIT_72(x) (x) BOOST_PP_SEQ_SPLIT_71
-# define BOOST_PP_SEQ_SPLIT_73(x) (x) BOOST_PP_SEQ_SPLIT_72
-# define BOOST_PP_SEQ_SPLIT_74(x) (x) BOOST_PP_SEQ_SPLIT_73
-# define BOOST_PP_SEQ_SPLIT_75(x) (x) BOOST_PP_SEQ_SPLIT_74
-# define BOOST_PP_SEQ_SPLIT_76(x) (x) BOOST_PP_SEQ_SPLIT_75
-# define BOOST_PP_SEQ_SPLIT_77(x) (x) BOOST_PP_SEQ_SPLIT_76
-# define BOOST_PP_SEQ_SPLIT_78(x) (x) BOOST_PP_SEQ_SPLIT_77
-# define BOOST_PP_SEQ_SPLIT_79(x) (x) BOOST_PP_SEQ_SPLIT_78
-# define BOOST_PP_SEQ_SPLIT_80(x) (x) BOOST_PP_SEQ_SPLIT_79
-# define BOOST_PP_SEQ_SPLIT_81(x) (x) BOOST_PP_SEQ_SPLIT_80
-# define BOOST_PP_SEQ_SPLIT_82(x) (x) BOOST_PP_SEQ_SPLIT_81
-# define BOOST_PP_SEQ_SPLIT_83(x) (x) BOOST_PP_SEQ_SPLIT_82
-# define BOOST_PP_SEQ_SPLIT_84(x) (x) BOOST_PP_SEQ_SPLIT_83
-# define BOOST_PP_SEQ_SPLIT_85(x) (x) BOOST_PP_SEQ_SPLIT_84
-# define BOOST_PP_SEQ_SPLIT_86(x) (x) BOOST_PP_SEQ_SPLIT_85
-# define BOOST_PP_SEQ_SPLIT_87(x) (x) BOOST_PP_SEQ_SPLIT_86
-# define BOOST_PP_SEQ_SPLIT_88(x) (x) BOOST_PP_SEQ_SPLIT_87
-# define BOOST_PP_SEQ_SPLIT_89(x) (x) BOOST_PP_SEQ_SPLIT_88
-# define BOOST_PP_SEQ_SPLIT_90(x) (x) BOOST_PP_SEQ_SPLIT_89
-# define BOOST_PP_SEQ_SPLIT_91(x) (x) BOOST_PP_SEQ_SPLIT_90
-# define BOOST_PP_SEQ_SPLIT_92(x) (x) BOOST_PP_SEQ_SPLIT_91
-# define BOOST_PP_SEQ_SPLIT_93(x) (x) BOOST_PP_SEQ_SPLIT_92
-# define BOOST_PP_SEQ_SPLIT_94(x) (x) BOOST_PP_SEQ_SPLIT_93
-# define BOOST_PP_SEQ_SPLIT_95(x) (x) BOOST_PP_SEQ_SPLIT_94
-# define BOOST_PP_SEQ_SPLIT_96(x) (x) BOOST_PP_SEQ_SPLIT_95
-# define BOOST_PP_SEQ_SPLIT_97(x) (x) BOOST_PP_SEQ_SPLIT_96
-# define BOOST_PP_SEQ_SPLIT_98(x) (x) BOOST_PP_SEQ_SPLIT_97
-# define BOOST_PP_SEQ_SPLIT_99(x) (x) BOOST_PP_SEQ_SPLIT_98
-# define BOOST_PP_SEQ_SPLIT_100(x) (x) BOOST_PP_SEQ_SPLIT_99
-# define BOOST_PP_SEQ_SPLIT_101(x) (x) BOOST_PP_SEQ_SPLIT_100
-# define BOOST_PP_SEQ_SPLIT_102(x) (x) BOOST_PP_SEQ_SPLIT_101
-# define BOOST_PP_SEQ_SPLIT_103(x) (x) BOOST_PP_SEQ_SPLIT_102
-# define BOOST_PP_SEQ_SPLIT_104(x) (x) BOOST_PP_SEQ_SPLIT_103
-# define BOOST_PP_SEQ_SPLIT_105(x) (x) BOOST_PP_SEQ_SPLIT_104
-# define BOOST_PP_SEQ_SPLIT_106(x) (x) BOOST_PP_SEQ_SPLIT_105
-# define BOOST_PP_SEQ_SPLIT_107(x) (x) BOOST_PP_SEQ_SPLIT_106
-# define BOOST_PP_SEQ_SPLIT_108(x) (x) BOOST_PP_SEQ_SPLIT_107
-# define BOOST_PP_SEQ_SPLIT_109(x) (x) BOOST_PP_SEQ_SPLIT_108
-# define BOOST_PP_SEQ_SPLIT_110(x) (x) BOOST_PP_SEQ_SPLIT_109
-# define BOOST_PP_SEQ_SPLIT_111(x) (x) BOOST_PP_SEQ_SPLIT_110
-# define BOOST_PP_SEQ_SPLIT_112(x) (x) BOOST_PP_SEQ_SPLIT_111
-# define BOOST_PP_SEQ_SPLIT_113(x) (x) BOOST_PP_SEQ_SPLIT_112
-# define BOOST_PP_SEQ_SPLIT_114(x) (x) BOOST_PP_SEQ_SPLIT_113
-# define BOOST_PP_SEQ_SPLIT_115(x) (x) BOOST_PP_SEQ_SPLIT_114
-# define BOOST_PP_SEQ_SPLIT_116(x) (x) BOOST_PP_SEQ_SPLIT_115
-# define BOOST_PP_SEQ_SPLIT_117(x) (x) BOOST_PP_SEQ_SPLIT_116
-# define BOOST_PP_SEQ_SPLIT_118(x) (x) BOOST_PP_SEQ_SPLIT_117
-# define BOOST_PP_SEQ_SPLIT_119(x) (x) BOOST_PP_SEQ_SPLIT_118
-# define BOOST_PP_SEQ_SPLIT_120(x) (x) BOOST_PP_SEQ_SPLIT_119
-# define BOOST_PP_SEQ_SPLIT_121(x) (x) BOOST_PP_SEQ_SPLIT_120
-# define BOOST_PP_SEQ_SPLIT_122(x) (x) BOOST_PP_SEQ_SPLIT_121
-# define BOOST_PP_SEQ_SPLIT_123(x) (x) BOOST_PP_SEQ_SPLIT_122
-# define BOOST_PP_SEQ_SPLIT_124(x) (x) BOOST_PP_SEQ_SPLIT_123
-# define BOOST_PP_SEQ_SPLIT_125(x) (x) BOOST_PP_SEQ_SPLIT_124
-# define BOOST_PP_SEQ_SPLIT_126(x) (x) BOOST_PP_SEQ_SPLIT_125
-# define BOOST_PP_SEQ_SPLIT_127(x) (x) BOOST_PP_SEQ_SPLIT_126
-# define BOOST_PP_SEQ_SPLIT_128(x) (x) BOOST_PP_SEQ_SPLIT_127
-# define BOOST_PP_SEQ_SPLIT_129(x) (x) BOOST_PP_SEQ_SPLIT_128
-# define BOOST_PP_SEQ_SPLIT_130(x) (x) BOOST_PP_SEQ_SPLIT_129
-# define BOOST_PP_SEQ_SPLIT_131(x) (x) BOOST_PP_SEQ_SPLIT_130
-# define BOOST_PP_SEQ_SPLIT_132(x) (x) BOOST_PP_SEQ_SPLIT_131
-# define BOOST_PP_SEQ_SPLIT_133(x) (x) BOOST_PP_SEQ_SPLIT_132
-# define BOOST_PP_SEQ_SPLIT_134(x) (x) BOOST_PP_SEQ_SPLIT_133
-# define BOOST_PP_SEQ_SPLIT_135(x) (x) BOOST_PP_SEQ_SPLIT_134
-# define BOOST_PP_SEQ_SPLIT_136(x) (x) BOOST_PP_SEQ_SPLIT_135
-# define BOOST_PP_SEQ_SPLIT_137(x) (x) BOOST_PP_SEQ_SPLIT_136
-# define BOOST_PP_SEQ_SPLIT_138(x) (x) BOOST_PP_SEQ_SPLIT_137
-# define BOOST_PP_SEQ_SPLIT_139(x) (x) BOOST_PP_SEQ_SPLIT_138
-# define BOOST_PP_SEQ_SPLIT_140(x) (x) BOOST_PP_SEQ_SPLIT_139
-# define BOOST_PP_SEQ_SPLIT_141(x) (x) BOOST_PP_SEQ_SPLIT_140
-# define BOOST_PP_SEQ_SPLIT_142(x) (x) BOOST_PP_SEQ_SPLIT_141
-# define BOOST_PP_SEQ_SPLIT_143(x) (x) BOOST_PP_SEQ_SPLIT_142
-# define BOOST_PP_SEQ_SPLIT_144(x) (x) BOOST_PP_SEQ_SPLIT_143
-# define BOOST_PP_SEQ_SPLIT_145(x) (x) BOOST_PP_SEQ_SPLIT_144
-# define BOOST_PP_SEQ_SPLIT_146(x) (x) BOOST_PP_SEQ_SPLIT_145
-# define BOOST_PP_SEQ_SPLIT_147(x) (x) BOOST_PP_SEQ_SPLIT_146
-# define BOOST_PP_SEQ_SPLIT_148(x) (x) BOOST_PP_SEQ_SPLIT_147
-# define BOOST_PP_SEQ_SPLIT_149(x) (x) BOOST_PP_SEQ_SPLIT_148
-# define BOOST_PP_SEQ_SPLIT_150(x) (x) BOOST_PP_SEQ_SPLIT_149
-# define BOOST_PP_SEQ_SPLIT_151(x) (x) BOOST_PP_SEQ_SPLIT_150
-# define BOOST_PP_SEQ_SPLIT_152(x) (x) BOOST_PP_SEQ_SPLIT_151
-# define BOOST_PP_SEQ_SPLIT_153(x) (x) BOOST_PP_SEQ_SPLIT_152
-# define BOOST_PP_SEQ_SPLIT_154(x) (x) BOOST_PP_SEQ_SPLIT_153
-# define BOOST_PP_SEQ_SPLIT_155(x) (x) BOOST_PP_SEQ_SPLIT_154
-# define BOOST_PP_SEQ_SPLIT_156(x) (x) BOOST_PP_SEQ_SPLIT_155
-# define BOOST_PP_SEQ_SPLIT_157(x) (x) BOOST_PP_SEQ_SPLIT_156
-# define BOOST_PP_SEQ_SPLIT_158(x) (x) BOOST_PP_SEQ_SPLIT_157
-# define BOOST_PP_SEQ_SPLIT_159(x) (x) BOOST_PP_SEQ_SPLIT_158
-# define BOOST_PP_SEQ_SPLIT_160(x) (x) BOOST_PP_SEQ_SPLIT_159
-# define BOOST_PP_SEQ_SPLIT_161(x) (x) BOOST_PP_SEQ_SPLIT_160
-# define BOOST_PP_SEQ_SPLIT_162(x) (x) BOOST_PP_SEQ_SPLIT_161
-# define BOOST_PP_SEQ_SPLIT_163(x) (x) BOOST_PP_SEQ_SPLIT_162
-# define BOOST_PP_SEQ_SPLIT_164(x) (x) BOOST_PP_SEQ_SPLIT_163
-# define BOOST_PP_SEQ_SPLIT_165(x) (x) BOOST_PP_SEQ_SPLIT_164
-# define BOOST_PP_SEQ_SPLIT_166(x) (x) BOOST_PP_SEQ_SPLIT_165
-# define BOOST_PP_SEQ_SPLIT_167(x) (x) BOOST_PP_SEQ_SPLIT_166
-# define BOOST_PP_SEQ_SPLIT_168(x) (x) BOOST_PP_SEQ_SPLIT_167
-# define BOOST_PP_SEQ_SPLIT_169(x) (x) BOOST_PP_SEQ_SPLIT_168
-# define BOOST_PP_SEQ_SPLIT_170(x) (x) BOOST_PP_SEQ_SPLIT_169
-# define BOOST_PP_SEQ_SPLIT_171(x) (x) BOOST_PP_SEQ_SPLIT_170
-# define BOOST_PP_SEQ_SPLIT_172(x) (x) BOOST_PP_SEQ_SPLIT_171
-# define BOOST_PP_SEQ_SPLIT_173(x) (x) BOOST_PP_SEQ_SPLIT_172
-# define BOOST_PP_SEQ_SPLIT_174(x) (x) BOOST_PP_SEQ_SPLIT_173
-# define BOOST_PP_SEQ_SPLIT_175(x) (x) BOOST_PP_SEQ_SPLIT_174
-# define BOOST_PP_SEQ_SPLIT_176(x) (x) BOOST_PP_SEQ_SPLIT_175
-# define BOOST_PP_SEQ_SPLIT_177(x) (x) BOOST_PP_SEQ_SPLIT_176
-# define BOOST_PP_SEQ_SPLIT_178(x) (x) BOOST_PP_SEQ_SPLIT_177
-# define BOOST_PP_SEQ_SPLIT_179(x) (x) BOOST_PP_SEQ_SPLIT_178
-# define BOOST_PP_SEQ_SPLIT_180(x) (x) BOOST_PP_SEQ_SPLIT_179
-# define BOOST_PP_SEQ_SPLIT_181(x) (x) BOOST_PP_SEQ_SPLIT_180
-# define BOOST_PP_SEQ_SPLIT_182(x) (x) BOOST_PP_SEQ_SPLIT_181
-# define BOOST_PP_SEQ_SPLIT_183(x) (x) BOOST_PP_SEQ_SPLIT_182
-# define BOOST_PP_SEQ_SPLIT_184(x) (x) BOOST_PP_SEQ_SPLIT_183
-# define BOOST_PP_SEQ_SPLIT_185(x) (x) BOOST_PP_SEQ_SPLIT_184
-# define BOOST_PP_SEQ_SPLIT_186(x) (x) BOOST_PP_SEQ_SPLIT_185
-# define BOOST_PP_SEQ_SPLIT_187(x) (x) BOOST_PP_SEQ_SPLIT_186
-# define BOOST_PP_SEQ_SPLIT_188(x) (x) BOOST_PP_SEQ_SPLIT_187
-# define BOOST_PP_SEQ_SPLIT_189(x) (x) BOOST_PP_SEQ_SPLIT_188
-# define BOOST_PP_SEQ_SPLIT_190(x) (x) BOOST_PP_SEQ_SPLIT_189
-# define BOOST_PP_SEQ_SPLIT_191(x) (x) BOOST_PP_SEQ_SPLIT_190
-# define BOOST_PP_SEQ_SPLIT_192(x) (x) BOOST_PP_SEQ_SPLIT_191
-# define BOOST_PP_SEQ_SPLIT_193(x) (x) BOOST_PP_SEQ_SPLIT_192
-# define BOOST_PP_SEQ_SPLIT_194(x) (x) BOOST_PP_SEQ_SPLIT_193
-# define BOOST_PP_SEQ_SPLIT_195(x) (x) BOOST_PP_SEQ_SPLIT_194
-# define BOOST_PP_SEQ_SPLIT_196(x) (x) BOOST_PP_SEQ_SPLIT_195
-# define BOOST_PP_SEQ_SPLIT_197(x) (x) BOOST_PP_SEQ_SPLIT_196
-# define BOOST_PP_SEQ_SPLIT_198(x) (x) BOOST_PP_SEQ_SPLIT_197
-# define BOOST_PP_SEQ_SPLIT_199(x) (x) BOOST_PP_SEQ_SPLIT_198
-# define BOOST_PP_SEQ_SPLIT_200(x) (x) BOOST_PP_SEQ_SPLIT_199
-# define BOOST_PP_SEQ_SPLIT_201(x) (x) BOOST_PP_SEQ_SPLIT_200
-# define BOOST_PP_SEQ_SPLIT_202(x) (x) BOOST_PP_SEQ_SPLIT_201
-# define BOOST_PP_SEQ_SPLIT_203(x) (x) BOOST_PP_SEQ_SPLIT_202
-# define BOOST_PP_SEQ_SPLIT_204(x) (x) BOOST_PP_SEQ_SPLIT_203
-# define BOOST_PP_SEQ_SPLIT_205(x) (x) BOOST_PP_SEQ_SPLIT_204
-# define BOOST_PP_SEQ_SPLIT_206(x) (x) BOOST_PP_SEQ_SPLIT_205
-# define BOOST_PP_SEQ_SPLIT_207(x) (x) BOOST_PP_SEQ_SPLIT_206
-# define BOOST_PP_SEQ_SPLIT_208(x) (x) BOOST_PP_SEQ_SPLIT_207
-# define BOOST_PP_SEQ_SPLIT_209(x) (x) BOOST_PP_SEQ_SPLIT_208
-# define BOOST_PP_SEQ_SPLIT_210(x) (x) BOOST_PP_SEQ_SPLIT_209
-# define BOOST_PP_SEQ_SPLIT_211(x) (x) BOOST_PP_SEQ_SPLIT_210
-# define BOOST_PP_SEQ_SPLIT_212(x) (x) BOOST_PP_SEQ_SPLIT_211
-# define BOOST_PP_SEQ_SPLIT_213(x) (x) BOOST_PP_SEQ_SPLIT_212
-# define BOOST_PP_SEQ_SPLIT_214(x) (x) BOOST_PP_SEQ_SPLIT_213
-# define BOOST_PP_SEQ_SPLIT_215(x) (x) BOOST_PP_SEQ_SPLIT_214
-# define BOOST_PP_SEQ_SPLIT_216(x) (x) BOOST_PP_SEQ_SPLIT_215
-# define BOOST_PP_SEQ_SPLIT_217(x) (x) BOOST_PP_SEQ_SPLIT_216
-# define BOOST_PP_SEQ_SPLIT_218(x) (x) BOOST_PP_SEQ_SPLIT_217
-# define BOOST_PP_SEQ_SPLIT_219(x) (x) BOOST_PP_SEQ_SPLIT_218
-# define BOOST_PP_SEQ_SPLIT_220(x) (x) BOOST_PP_SEQ_SPLIT_219
-# define BOOST_PP_SEQ_SPLIT_221(x) (x) BOOST_PP_SEQ_SPLIT_220
-# define BOOST_PP_SEQ_SPLIT_222(x) (x) BOOST_PP_SEQ_SPLIT_221
-# define BOOST_PP_SEQ_SPLIT_223(x) (x) BOOST_PP_SEQ_SPLIT_222
-# define BOOST_PP_SEQ_SPLIT_224(x) (x) BOOST_PP_SEQ_SPLIT_223
-# define BOOST_PP_SEQ_SPLIT_225(x) (x) BOOST_PP_SEQ_SPLIT_224
-# define BOOST_PP_SEQ_SPLIT_226(x) (x) BOOST_PP_SEQ_SPLIT_225
-# define BOOST_PP_SEQ_SPLIT_227(x) (x) BOOST_PP_SEQ_SPLIT_226
-# define BOOST_PP_SEQ_SPLIT_228(x) (x) BOOST_PP_SEQ_SPLIT_227
-# define BOOST_PP_SEQ_SPLIT_229(x) (x) BOOST_PP_SEQ_SPLIT_228
-# define BOOST_PP_SEQ_SPLIT_230(x) (x) BOOST_PP_SEQ_SPLIT_229
-# define BOOST_PP_SEQ_SPLIT_231(x) (x) BOOST_PP_SEQ_SPLIT_230
-# define BOOST_PP_SEQ_SPLIT_232(x) (x) BOOST_PP_SEQ_SPLIT_231
-# define BOOST_PP_SEQ_SPLIT_233(x) (x) BOOST_PP_SEQ_SPLIT_232
-# define BOOST_PP_SEQ_SPLIT_234(x) (x) BOOST_PP_SEQ_SPLIT_233
-# define BOOST_PP_SEQ_SPLIT_235(x) (x) BOOST_PP_SEQ_SPLIT_234
-# define BOOST_PP_SEQ_SPLIT_236(x) (x) BOOST_PP_SEQ_SPLIT_235
-# define BOOST_PP_SEQ_SPLIT_237(x) (x) BOOST_PP_SEQ_SPLIT_236
-# define BOOST_PP_SEQ_SPLIT_238(x) (x) BOOST_PP_SEQ_SPLIT_237
-# define BOOST_PP_SEQ_SPLIT_239(x) (x) BOOST_PP_SEQ_SPLIT_238
-# define BOOST_PP_SEQ_SPLIT_240(x) (x) BOOST_PP_SEQ_SPLIT_239
-# define BOOST_PP_SEQ_SPLIT_241(x) (x) BOOST_PP_SEQ_SPLIT_240
-# define BOOST_PP_SEQ_SPLIT_242(x) (x) BOOST_PP_SEQ_SPLIT_241
-# define BOOST_PP_SEQ_SPLIT_243(x) (x) BOOST_PP_SEQ_SPLIT_242
-# define BOOST_PP_SEQ_SPLIT_244(x) (x) BOOST_PP_SEQ_SPLIT_243
-# define BOOST_PP_SEQ_SPLIT_245(x) (x) BOOST_PP_SEQ_SPLIT_244
-# define BOOST_PP_SEQ_SPLIT_246(x) (x) BOOST_PP_SEQ_SPLIT_245
-# define BOOST_PP_SEQ_SPLIT_247(x) (x) BOOST_PP_SEQ_SPLIT_246
-# define BOOST_PP_SEQ_SPLIT_248(x) (x) BOOST_PP_SEQ_SPLIT_247
-# define BOOST_PP_SEQ_SPLIT_249(x) (x) BOOST_PP_SEQ_SPLIT_248
-# define BOOST_PP_SEQ_SPLIT_250(x) (x) BOOST_PP_SEQ_SPLIT_249
-# define BOOST_PP_SEQ_SPLIT_251(x) (x) BOOST_PP_SEQ_SPLIT_250
-# define BOOST_PP_SEQ_SPLIT_252(x) (x) BOOST_PP_SEQ_SPLIT_251
-# define BOOST_PP_SEQ_SPLIT_253(x) (x) BOOST_PP_SEQ_SPLIT_252
-# define BOOST_PP_SEQ_SPLIT_254(x) (x) BOOST_PP_SEQ_SPLIT_253
-# define BOOST_PP_SEQ_SPLIT_255(x) (x) BOOST_PP_SEQ_SPLIT_254
-# define BOOST_PP_SEQ_SPLIT_256(x) (x) BOOST_PP_SEQ_SPLIT_255
-#
-# endif
diff --git a/boost/preprocessor/seq/elem.hpp b/boost/preprocessor/seq/elem.hpp
deleted file mode 100644
index 9c7a4b2..0000000
--- a/boost/preprocessor/seq/elem.hpp
+++ /dev/null
@@ -1,304 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_SEQ_ELEM_HPP
-# define BOOST_PREPROCESSOR_SEQ_ELEM_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/facilities/empty.hpp>
-#
-# /* BOOST_PP_SEQ_ELEM */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-# define BOOST_PP_SEQ_ELEM(i, seq) BOOST_PP_SEQ_ELEM_I(i, seq)
-# else
-# define BOOST_PP_SEQ_ELEM(i, seq) BOOST_PP_SEQ_ELEM_I((i, seq))
-# endif
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-# define BOOST_PP_SEQ_ELEM_I(i, seq) BOOST_PP_SEQ_ELEM_II((BOOST_PP_SEQ_ELEM_ ## i seq))
-# define BOOST_PP_SEQ_ELEM_II(res) BOOST_PP_SEQ_ELEM_IV(BOOST_PP_SEQ_ELEM_III res)
-# define BOOST_PP_SEQ_ELEM_III(x, _) x BOOST_PP_EMPTY()
-# define BOOST_PP_SEQ_ELEM_IV(x) x
-# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-# define BOOST_PP_SEQ_ELEM_I(par) BOOST_PP_SEQ_ELEM_II ## par
-# define BOOST_PP_SEQ_ELEM_II(i, seq) BOOST_PP_SEQ_ELEM_III(BOOST_PP_SEQ_ELEM_ ## i ## seq)
-# define BOOST_PP_SEQ_ELEM_III(im) BOOST_PP_SEQ_ELEM_IV(im)
-# define BOOST_PP_SEQ_ELEM_IV(x, _) x
-# else
-# if defined(__IBMC__) || defined(__IBMCPP__)
-# define BOOST_PP_SEQ_ELEM_I(i, seq) BOOST_PP_SEQ_ELEM_II(BOOST_PP_CAT(BOOST_PP_SEQ_ELEM_ ## i, seq))
-# else
-# define BOOST_PP_SEQ_ELEM_I(i, seq) BOOST_PP_SEQ_ELEM_II(BOOST_PP_SEQ_ELEM_ ## i seq)
-# endif
-# define BOOST_PP_SEQ_ELEM_II(im) BOOST_PP_SEQ_ELEM_III(im)
-# define BOOST_PP_SEQ_ELEM_III(x, _) x
-# endif
-#
-# define BOOST_PP_SEQ_ELEM_0(x) x, BOOST_PP_NIL
-# define BOOST_PP_SEQ_ELEM_1(_) BOOST_PP_SEQ_ELEM_0
-# define BOOST_PP_SEQ_ELEM_2(_) BOOST_PP_SEQ_ELEM_1
-# define BOOST_PP_SEQ_ELEM_3(_) BOOST_PP_SEQ_ELEM_2
-# define BOOST_PP_SEQ_ELEM_4(_) BOOST_PP_SEQ_ELEM_3
-# define BOOST_PP_SEQ_ELEM_5(_) BOOST_PP_SEQ_ELEM_4
-# define BOOST_PP_SEQ_ELEM_6(_) BOOST_PP_SEQ_ELEM_5
-# define BOOST_PP_SEQ_ELEM_7(_) BOOST_PP_SEQ_ELEM_6
-# define BOOST_PP_SEQ_ELEM_8(_) BOOST_PP_SEQ_ELEM_7
-# define BOOST_PP_SEQ_ELEM_9(_) BOOST_PP_SEQ_ELEM_8
-# define BOOST_PP_SEQ_ELEM_10(_) BOOST_PP_SEQ_ELEM_9
-# define BOOST_PP_SEQ_ELEM_11(_) BOOST_PP_SEQ_ELEM_10
-# define BOOST_PP_SEQ_ELEM_12(_) BOOST_PP_SEQ_ELEM_11
-# define BOOST_PP_SEQ_ELEM_13(_) BOOST_PP_SEQ_ELEM_12
-# define BOOST_PP_SEQ_ELEM_14(_) BOOST_PP_SEQ_ELEM_13
-# define BOOST_PP_SEQ_ELEM_15(_) BOOST_PP_SEQ_ELEM_14
-# define BOOST_PP_SEQ_ELEM_16(_) BOOST_PP_SEQ_ELEM_15
-# define BOOST_PP_SEQ_ELEM_17(_) BOOST_PP_SEQ_ELEM_16
-# define BOOST_PP_SEQ_ELEM_18(_) BOOST_PP_SEQ_ELEM_17
-# define BOOST_PP_SEQ_ELEM_19(_) BOOST_PP_SEQ_ELEM_18
-# define BOOST_PP_SEQ_ELEM_20(_) BOOST_PP_SEQ_ELEM_19
-# define BOOST_PP_SEQ_ELEM_21(_) BOOST_PP_SEQ_ELEM_20
-# define BOOST_PP_SEQ_ELEM_22(_) BOOST_PP_SEQ_ELEM_21
-# define BOOST_PP_SEQ_ELEM_23(_) BOOST_PP_SEQ_ELEM_22
-# define BOOST_PP_SEQ_ELEM_24(_) BOOST_PP_SEQ_ELEM_23
-# define BOOST_PP_SEQ_ELEM_25(_) BOOST_PP_SEQ_ELEM_24
-# define BOOST_PP_SEQ_ELEM_26(_) BOOST_PP_SEQ_ELEM_25
-# define BOOST_PP_SEQ_ELEM_27(_) BOOST_PP_SEQ_ELEM_26
-# define BOOST_PP_SEQ_ELEM_28(_) BOOST_PP_SEQ_ELEM_27
-# define BOOST_PP_SEQ_ELEM_29(_) BOOST_PP_SEQ_ELEM_28
-# define BOOST_PP_SEQ_ELEM_30(_) BOOST_PP_SEQ_ELEM_29
-# define BOOST_PP_SEQ_ELEM_31(_) BOOST_PP_SEQ_ELEM_30
-# define BOOST_PP_SEQ_ELEM_32(_) BOOST_PP_SEQ_ELEM_31
-# define BOOST_PP_SEQ_ELEM_33(_) BOOST_PP_SEQ_ELEM_32
-# define BOOST_PP_SEQ_ELEM_34(_) BOOST_PP_SEQ_ELEM_33
-# define BOOST_PP_SEQ_ELEM_35(_) BOOST_PP_SEQ_ELEM_34
-# define BOOST_PP_SEQ_ELEM_36(_) BOOST_PP_SEQ_ELEM_35
-# define BOOST_PP_SEQ_ELEM_37(_) BOOST_PP_SEQ_ELEM_36
-# define BOOST_PP_SEQ_ELEM_38(_) BOOST_PP_SEQ_ELEM_37
-# define BOOST_PP_SEQ_ELEM_39(_) BOOST_PP_SEQ_ELEM_38
-# define BOOST_PP_SEQ_ELEM_40(_) BOOST_PP_SEQ_ELEM_39
-# define BOOST_PP_SEQ_ELEM_41(_) BOOST_PP_SEQ_ELEM_40
-# define BOOST_PP_SEQ_ELEM_42(_) BOOST_PP_SEQ_ELEM_41
-# define BOOST_PP_SEQ_ELEM_43(_) BOOST_PP_SEQ_ELEM_42
-# define BOOST_PP_SEQ_ELEM_44(_) BOOST_PP_SEQ_ELEM_43
-# define BOOST_PP_SEQ_ELEM_45(_) BOOST_PP_SEQ_ELEM_44
-# define BOOST_PP_SEQ_ELEM_46(_) BOOST_PP_SEQ_ELEM_45
-# define BOOST_PP_SEQ_ELEM_47(_) BOOST_PP_SEQ_ELEM_46
-# define BOOST_PP_SEQ_ELEM_48(_) BOOST_PP_SEQ_ELEM_47
-# define BOOST_PP_SEQ_ELEM_49(_) BOOST_PP_SEQ_ELEM_48
-# define BOOST_PP_SEQ_ELEM_50(_) BOOST_PP_SEQ_ELEM_49
-# define BOOST_PP_SEQ_ELEM_51(_) BOOST_PP_SEQ_ELEM_50
-# define BOOST_PP_SEQ_ELEM_52(_) BOOST_PP_SEQ_ELEM_51
-# define BOOST_PP_SEQ_ELEM_53(_) BOOST_PP_SEQ_ELEM_52
-# define BOOST_PP_SEQ_ELEM_54(_) BOOST_PP_SEQ_ELEM_53
-# define BOOST_PP_SEQ_ELEM_55(_) BOOST_PP_SEQ_ELEM_54
-# define BOOST_PP_SEQ_ELEM_56(_) BOOST_PP_SEQ_ELEM_55
-# define BOOST_PP_SEQ_ELEM_57(_) BOOST_PP_SEQ_ELEM_56
-# define BOOST_PP_SEQ_ELEM_58(_) BOOST_PP_SEQ_ELEM_57
-# define BOOST_PP_SEQ_ELEM_59(_) BOOST_PP_SEQ_ELEM_58
-# define BOOST_PP_SEQ_ELEM_60(_) BOOST_PP_SEQ_ELEM_59
-# define BOOST_PP_SEQ_ELEM_61(_) BOOST_PP_SEQ_ELEM_60
-# define BOOST_PP_SEQ_ELEM_62(_) BOOST_PP_SEQ_ELEM_61
-# define BOOST_PP_SEQ_ELEM_63(_) BOOST_PP_SEQ_ELEM_62
-# define BOOST_PP_SEQ_ELEM_64(_) BOOST_PP_SEQ_ELEM_63
-# define BOOST_PP_SEQ_ELEM_65(_) BOOST_PP_SEQ_ELEM_64
-# define BOOST_PP_SEQ_ELEM_66(_) BOOST_PP_SEQ_ELEM_65
-# define BOOST_PP_SEQ_ELEM_67(_) BOOST_PP_SEQ_ELEM_66
-# define BOOST_PP_SEQ_ELEM_68(_) BOOST_PP_SEQ_ELEM_67
-# define BOOST_PP_SEQ_ELEM_69(_) BOOST_PP_SEQ_ELEM_68
-# define BOOST_PP_SEQ_ELEM_70(_) BOOST_PP_SEQ_ELEM_69
-# define BOOST_PP_SEQ_ELEM_71(_) BOOST_PP_SEQ_ELEM_70
-# define BOOST_PP_SEQ_ELEM_72(_) BOOST_PP_SEQ_ELEM_71
-# define BOOST_PP_SEQ_ELEM_73(_) BOOST_PP_SEQ_ELEM_72
-# define BOOST_PP_SEQ_ELEM_74(_) BOOST_PP_SEQ_ELEM_73
-# define BOOST_PP_SEQ_ELEM_75(_) BOOST_PP_SEQ_ELEM_74
-# define BOOST_PP_SEQ_ELEM_76(_) BOOST_PP_SEQ_ELEM_75
-# define BOOST_PP_SEQ_ELEM_77(_) BOOST_PP_SEQ_ELEM_76
-# define BOOST_PP_SEQ_ELEM_78(_) BOOST_PP_SEQ_ELEM_77
-# define BOOST_PP_SEQ_ELEM_79(_) BOOST_PP_SEQ_ELEM_78
-# define BOOST_PP_SEQ_ELEM_80(_) BOOST_PP_SEQ_ELEM_79
-# define BOOST_PP_SEQ_ELEM_81(_) BOOST_PP_SEQ_ELEM_80
-# define BOOST_PP_SEQ_ELEM_82(_) BOOST_PP_SEQ_ELEM_81
-# define BOOST_PP_SEQ_ELEM_83(_) BOOST_PP_SEQ_ELEM_82
-# define BOOST_PP_SEQ_ELEM_84(_) BOOST_PP_SEQ_ELEM_83
-# define BOOST_PP_SEQ_ELEM_85(_) BOOST_PP_SEQ_ELEM_84
-# define BOOST_PP_SEQ_ELEM_86(_) BOOST_PP_SEQ_ELEM_85
-# define BOOST_PP_SEQ_ELEM_87(_) BOOST_PP_SEQ_ELEM_86
-# define BOOST_PP_SEQ_ELEM_88(_) BOOST_PP_SEQ_ELEM_87
-# define BOOST_PP_SEQ_ELEM_89(_) BOOST_PP_SEQ_ELEM_88
-# define BOOST_PP_SEQ_ELEM_90(_) BOOST_PP_SEQ_ELEM_89
-# define BOOST_PP_SEQ_ELEM_91(_) BOOST_PP_SEQ_ELEM_90
-# define BOOST_PP_SEQ_ELEM_92(_) BOOST_PP_SEQ_ELEM_91
-# define BOOST_PP_SEQ_ELEM_93(_) BOOST_PP_SEQ_ELEM_92
-# define BOOST_PP_SEQ_ELEM_94(_) BOOST_PP_SEQ_ELEM_93
-# define BOOST_PP_SEQ_ELEM_95(_) BOOST_PP_SEQ_ELEM_94
-# define BOOST_PP_SEQ_ELEM_96(_) BOOST_PP_SEQ_ELEM_95
-# define BOOST_PP_SEQ_ELEM_97(_) BOOST_PP_SEQ_ELEM_96
-# define BOOST_PP_SEQ_ELEM_98(_) BOOST_PP_SEQ_ELEM_97
-# define BOOST_PP_SEQ_ELEM_99(_) BOOST_PP_SEQ_ELEM_98
-# define BOOST_PP_SEQ_ELEM_100(_) BOOST_PP_SEQ_ELEM_99
-# define BOOST_PP_SEQ_ELEM_101(_) BOOST_PP_SEQ_ELEM_100
-# define BOOST_PP_SEQ_ELEM_102(_) BOOST_PP_SEQ_ELEM_101
-# define BOOST_PP_SEQ_ELEM_103(_) BOOST_PP_SEQ_ELEM_102
-# define BOOST_PP_SEQ_ELEM_104(_) BOOST_PP_SEQ_ELEM_103
-# define BOOST_PP_SEQ_ELEM_105(_) BOOST_PP_SEQ_ELEM_104
-# define BOOST_PP_SEQ_ELEM_106(_) BOOST_PP_SEQ_ELEM_105
-# define BOOST_PP_SEQ_ELEM_107(_) BOOST_PP_SEQ_ELEM_106
-# define BOOST_PP_SEQ_ELEM_108(_) BOOST_PP_SEQ_ELEM_107
-# define BOOST_PP_SEQ_ELEM_109(_) BOOST_PP_SEQ_ELEM_108
-# define BOOST_PP_SEQ_ELEM_110(_) BOOST_PP_SEQ_ELEM_109
-# define BOOST_PP_SEQ_ELEM_111(_) BOOST_PP_SEQ_ELEM_110
-# define BOOST_PP_SEQ_ELEM_112(_) BOOST_PP_SEQ_ELEM_111
-# define BOOST_PP_SEQ_ELEM_113(_) BOOST_PP_SEQ_ELEM_112
-# define BOOST_PP_SEQ_ELEM_114(_) BOOST_PP_SEQ_ELEM_113
-# define BOOST_PP_SEQ_ELEM_115(_) BOOST_PP_SEQ_ELEM_114
-# define BOOST_PP_SEQ_ELEM_116(_) BOOST_PP_SEQ_ELEM_115
-# define BOOST_PP_SEQ_ELEM_117(_) BOOST_PP_SEQ_ELEM_116
-# define BOOST_PP_SEQ_ELEM_118(_) BOOST_PP_SEQ_ELEM_117
-# define BOOST_PP_SEQ_ELEM_119(_) BOOST_PP_SEQ_ELEM_118
-# define BOOST_PP_SEQ_ELEM_120(_) BOOST_PP_SEQ_ELEM_119
-# define BOOST_PP_SEQ_ELEM_121(_) BOOST_PP_SEQ_ELEM_120
-# define BOOST_PP_SEQ_ELEM_122(_) BOOST_PP_SEQ_ELEM_121
-# define BOOST_PP_SEQ_ELEM_123(_) BOOST_PP_SEQ_ELEM_122
-# define BOOST_PP_SEQ_ELEM_124(_) BOOST_PP_SEQ_ELEM_123
-# define BOOST_PP_SEQ_ELEM_125(_) BOOST_PP_SEQ_ELEM_124
-# define BOOST_PP_SEQ_ELEM_126(_) BOOST_PP_SEQ_ELEM_125
-# define BOOST_PP_SEQ_ELEM_127(_) BOOST_PP_SEQ_ELEM_126
-# define BOOST_PP_SEQ_ELEM_128(_) BOOST_PP_SEQ_ELEM_127
-# define BOOST_PP_SEQ_ELEM_129(_) BOOST_PP_SEQ_ELEM_128
-# define BOOST_PP_SEQ_ELEM_130(_) BOOST_PP_SEQ_ELEM_129
-# define BOOST_PP_SEQ_ELEM_131(_) BOOST_PP_SEQ_ELEM_130
-# define BOOST_PP_SEQ_ELEM_132(_) BOOST_PP_SEQ_ELEM_131
-# define BOOST_PP_SEQ_ELEM_133(_) BOOST_PP_SEQ_ELEM_132
-# define BOOST_PP_SEQ_ELEM_134(_) BOOST_PP_SEQ_ELEM_133
-# define BOOST_PP_SEQ_ELEM_135(_) BOOST_PP_SEQ_ELEM_134
-# define BOOST_PP_SEQ_ELEM_136(_) BOOST_PP_SEQ_ELEM_135
-# define BOOST_PP_SEQ_ELEM_137(_) BOOST_PP_SEQ_ELEM_136
-# define BOOST_PP_SEQ_ELEM_138(_) BOOST_PP_SEQ_ELEM_137
-# define BOOST_PP_SEQ_ELEM_139(_) BOOST_PP_SEQ_ELEM_138
-# define BOOST_PP_SEQ_ELEM_140(_) BOOST_PP_SEQ_ELEM_139
-# define BOOST_PP_SEQ_ELEM_141(_) BOOST_PP_SEQ_ELEM_140
-# define BOOST_PP_SEQ_ELEM_142(_) BOOST_PP_SEQ_ELEM_141
-# define BOOST_PP_SEQ_ELEM_143(_) BOOST_PP_SEQ_ELEM_142
-# define BOOST_PP_SEQ_ELEM_144(_) BOOST_PP_SEQ_ELEM_143
-# define BOOST_PP_SEQ_ELEM_145(_) BOOST_PP_SEQ_ELEM_144
-# define BOOST_PP_SEQ_ELEM_146(_) BOOST_PP_SEQ_ELEM_145
-# define BOOST_PP_SEQ_ELEM_147(_) BOOST_PP_SEQ_ELEM_146
-# define BOOST_PP_SEQ_ELEM_148(_) BOOST_PP_SEQ_ELEM_147
-# define BOOST_PP_SEQ_ELEM_149(_) BOOST_PP_SEQ_ELEM_148
-# define BOOST_PP_SEQ_ELEM_150(_) BOOST_PP_SEQ_ELEM_149
-# define BOOST_PP_SEQ_ELEM_151(_) BOOST_PP_SEQ_ELEM_150
-# define BOOST_PP_SEQ_ELEM_152(_) BOOST_PP_SEQ_ELEM_151
-# define BOOST_PP_SEQ_ELEM_153(_) BOOST_PP_SEQ_ELEM_152
-# define BOOST_PP_SEQ_ELEM_154(_) BOOST_PP_SEQ_ELEM_153
-# define BOOST_PP_SEQ_ELEM_155(_) BOOST_PP_SEQ_ELEM_154
-# define BOOST_PP_SEQ_ELEM_156(_) BOOST_PP_SEQ_ELEM_155
-# define BOOST_PP_SEQ_ELEM_157(_) BOOST_PP_SEQ_ELEM_156
-# define BOOST_PP_SEQ_ELEM_158(_) BOOST_PP_SEQ_ELEM_157
-# define BOOST_PP_SEQ_ELEM_159(_) BOOST_PP_SEQ_ELEM_158
-# define BOOST_PP_SEQ_ELEM_160(_) BOOST_PP_SEQ_ELEM_159
-# define BOOST_PP_SEQ_ELEM_161(_) BOOST_PP_SEQ_ELEM_160
-# define BOOST_PP_SEQ_ELEM_162(_) BOOST_PP_SEQ_ELEM_161
-# define BOOST_PP_SEQ_ELEM_163(_) BOOST_PP_SEQ_ELEM_162
-# define BOOST_PP_SEQ_ELEM_164(_) BOOST_PP_SEQ_ELEM_163
-# define BOOST_PP_SEQ_ELEM_165(_) BOOST_PP_SEQ_ELEM_164
-# define BOOST_PP_SEQ_ELEM_166(_) BOOST_PP_SEQ_ELEM_165
-# define BOOST_PP_SEQ_ELEM_167(_) BOOST_PP_SEQ_ELEM_166
-# define BOOST_PP_SEQ_ELEM_168(_) BOOST_PP_SEQ_ELEM_167
-# define BOOST_PP_SEQ_ELEM_169(_) BOOST_PP_SEQ_ELEM_168
-# define BOOST_PP_SEQ_ELEM_170(_) BOOST_PP_SEQ_ELEM_169
-# define BOOST_PP_SEQ_ELEM_171(_) BOOST_PP_SEQ_ELEM_170
-# define BOOST_PP_SEQ_ELEM_172(_) BOOST_PP_SEQ_ELEM_171
-# define BOOST_PP_SEQ_ELEM_173(_) BOOST_PP_SEQ_ELEM_172
-# define BOOST_PP_SEQ_ELEM_174(_) BOOST_PP_SEQ_ELEM_173
-# define BOOST_PP_SEQ_ELEM_175(_) BOOST_PP_SEQ_ELEM_174
-# define BOOST_PP_SEQ_ELEM_176(_) BOOST_PP_SEQ_ELEM_175
-# define BOOST_PP_SEQ_ELEM_177(_) BOOST_PP_SEQ_ELEM_176
-# define BOOST_PP_SEQ_ELEM_178(_) BOOST_PP_SEQ_ELEM_177
-# define BOOST_PP_SEQ_ELEM_179(_) BOOST_PP_SEQ_ELEM_178
-# define BOOST_PP_SEQ_ELEM_180(_) BOOST_PP_SEQ_ELEM_179
-# define BOOST_PP_SEQ_ELEM_181(_) BOOST_PP_SEQ_ELEM_180
-# define BOOST_PP_SEQ_ELEM_182(_) BOOST_PP_SEQ_ELEM_181
-# define BOOST_PP_SEQ_ELEM_183(_) BOOST_PP_SEQ_ELEM_182
-# define BOOST_PP_SEQ_ELEM_184(_) BOOST_PP_SEQ_ELEM_183
-# define BOOST_PP_SEQ_ELEM_185(_) BOOST_PP_SEQ_ELEM_184
-# define BOOST_PP_SEQ_ELEM_186(_) BOOST_PP_SEQ_ELEM_185
-# define BOOST_PP_SEQ_ELEM_187(_) BOOST_PP_SEQ_ELEM_186
-# define BOOST_PP_SEQ_ELEM_188(_) BOOST_PP_SEQ_ELEM_187
-# define BOOST_PP_SEQ_ELEM_189(_) BOOST_PP_SEQ_ELEM_188
-# define BOOST_PP_SEQ_ELEM_190(_) BOOST_PP_SEQ_ELEM_189
-# define BOOST_PP_SEQ_ELEM_191(_) BOOST_PP_SEQ_ELEM_190
-# define BOOST_PP_SEQ_ELEM_192(_) BOOST_PP_SEQ_ELEM_191
-# define BOOST_PP_SEQ_ELEM_193(_) BOOST_PP_SEQ_ELEM_192
-# define BOOST_PP_SEQ_ELEM_194(_) BOOST_PP_SEQ_ELEM_193
-# define BOOST_PP_SEQ_ELEM_195(_) BOOST_PP_SEQ_ELEM_194
-# define BOOST_PP_SEQ_ELEM_196(_) BOOST_PP_SEQ_ELEM_195
-# define BOOST_PP_SEQ_ELEM_197(_) BOOST_PP_SEQ_ELEM_196
-# define BOOST_PP_SEQ_ELEM_198(_) BOOST_PP_SEQ_ELEM_197
-# define BOOST_PP_SEQ_ELEM_199(_) BOOST_PP_SEQ_ELEM_198
-# define BOOST_PP_SEQ_ELEM_200(_) BOOST_PP_SEQ_ELEM_199
-# define BOOST_PP_SEQ_ELEM_201(_) BOOST_PP_SEQ_ELEM_200
-# define BOOST_PP_SEQ_ELEM_202(_) BOOST_PP_SEQ_ELEM_201
-# define BOOST_PP_SEQ_ELEM_203(_) BOOST_PP_SEQ_ELEM_202
-# define BOOST_PP_SEQ_ELEM_204(_) BOOST_PP_SEQ_ELEM_203
-# define BOOST_PP_SEQ_ELEM_205(_) BOOST_PP_SEQ_ELEM_204
-# define BOOST_PP_SEQ_ELEM_206(_) BOOST_PP_SEQ_ELEM_205
-# define BOOST_PP_SEQ_ELEM_207(_) BOOST_PP_SEQ_ELEM_206
-# define BOOST_PP_SEQ_ELEM_208(_) BOOST_PP_SEQ_ELEM_207
-# define BOOST_PP_SEQ_ELEM_209(_) BOOST_PP_SEQ_ELEM_208
-# define BOOST_PP_SEQ_ELEM_210(_) BOOST_PP_SEQ_ELEM_209
-# define BOOST_PP_SEQ_ELEM_211(_) BOOST_PP_SEQ_ELEM_210
-# define BOOST_PP_SEQ_ELEM_212(_) BOOST_PP_SEQ_ELEM_211
-# define BOOST_PP_SEQ_ELEM_213(_) BOOST_PP_SEQ_ELEM_212
-# define BOOST_PP_SEQ_ELEM_214(_) BOOST_PP_SEQ_ELEM_213
-# define BOOST_PP_SEQ_ELEM_215(_) BOOST_PP_SEQ_ELEM_214
-# define BOOST_PP_SEQ_ELEM_216(_) BOOST_PP_SEQ_ELEM_215
-# define BOOST_PP_SEQ_ELEM_217(_) BOOST_PP_SEQ_ELEM_216
-# define BOOST_PP_SEQ_ELEM_218(_) BOOST_PP_SEQ_ELEM_217
-# define BOOST_PP_SEQ_ELEM_219(_) BOOST_PP_SEQ_ELEM_218
-# define BOOST_PP_SEQ_ELEM_220(_) BOOST_PP_SEQ_ELEM_219
-# define BOOST_PP_SEQ_ELEM_221(_) BOOST_PP_SEQ_ELEM_220
-# define BOOST_PP_SEQ_ELEM_222(_) BOOST_PP_SEQ_ELEM_221
-# define BOOST_PP_SEQ_ELEM_223(_) BOOST_PP_SEQ_ELEM_222
-# define BOOST_PP_SEQ_ELEM_224(_) BOOST_PP_SEQ_ELEM_223
-# define BOOST_PP_SEQ_ELEM_225(_) BOOST_PP_SEQ_ELEM_224
-# define BOOST_PP_SEQ_ELEM_226(_) BOOST_PP_SEQ_ELEM_225
-# define BOOST_PP_SEQ_ELEM_227(_) BOOST_PP_SEQ_ELEM_226
-# define BOOST_PP_SEQ_ELEM_228(_) BOOST_PP_SEQ_ELEM_227
-# define BOOST_PP_SEQ_ELEM_229(_) BOOST_PP_SEQ_ELEM_228
-# define BOOST_PP_SEQ_ELEM_230(_) BOOST_PP_SEQ_ELEM_229
-# define BOOST_PP_SEQ_ELEM_231(_) BOOST_PP_SEQ_ELEM_230
-# define BOOST_PP_SEQ_ELEM_232(_) BOOST_PP_SEQ_ELEM_231
-# define BOOST_PP_SEQ_ELEM_233(_) BOOST_PP_SEQ_ELEM_232
-# define BOOST_PP_SEQ_ELEM_234(_) BOOST_PP_SEQ_ELEM_233
-# define BOOST_PP_SEQ_ELEM_235(_) BOOST_PP_SEQ_ELEM_234
-# define BOOST_PP_SEQ_ELEM_236(_) BOOST_PP_SEQ_ELEM_235
-# define BOOST_PP_SEQ_ELEM_237(_) BOOST_PP_SEQ_ELEM_236
-# define BOOST_PP_SEQ_ELEM_238(_) BOOST_PP_SEQ_ELEM_237
-# define BOOST_PP_SEQ_ELEM_239(_) BOOST_PP_SEQ_ELEM_238
-# define BOOST_PP_SEQ_ELEM_240(_) BOOST_PP_SEQ_ELEM_239
-# define BOOST_PP_SEQ_ELEM_241(_) BOOST_PP_SEQ_ELEM_240
-# define BOOST_PP_SEQ_ELEM_242(_) BOOST_PP_SEQ_ELEM_241
-# define BOOST_PP_SEQ_ELEM_243(_) BOOST_PP_SEQ_ELEM_242
-# define BOOST_PP_SEQ_ELEM_244(_) BOOST_PP_SEQ_ELEM_243
-# define BOOST_PP_SEQ_ELEM_245(_) BOOST_PP_SEQ_ELEM_244
-# define BOOST_PP_SEQ_ELEM_246(_) BOOST_PP_SEQ_ELEM_245
-# define BOOST_PP_SEQ_ELEM_247(_) BOOST_PP_SEQ_ELEM_246
-# define BOOST_PP_SEQ_ELEM_248(_) BOOST_PP_SEQ_ELEM_247
-# define BOOST_PP_SEQ_ELEM_249(_) BOOST_PP_SEQ_ELEM_248
-# define BOOST_PP_SEQ_ELEM_250(_) BOOST_PP_SEQ_ELEM_249
-# define BOOST_PP_SEQ_ELEM_251(_) BOOST_PP_SEQ_ELEM_250
-# define BOOST_PP_SEQ_ELEM_252(_) BOOST_PP_SEQ_ELEM_251
-# define BOOST_PP_SEQ_ELEM_253(_) BOOST_PP_SEQ_ELEM_252
-# define BOOST_PP_SEQ_ELEM_254(_) BOOST_PP_SEQ_ELEM_253
-# define BOOST_PP_SEQ_ELEM_255(_) BOOST_PP_SEQ_ELEM_254
-#
-# endif
diff --git a/boost/preprocessor/seq/enum.hpp b/boost/preprocessor/seq/enum.hpp
deleted file mode 100644
index b63b242..0000000
--- a/boost/preprocessor/seq/enum.hpp
+++ /dev/null
@@ -1,288 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_SEQ_ENUM_HPP
-# define BOOST_PREPROCESSOR_SEQ_ENUM_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/seq/size.hpp>
-#
-# /* BOOST_PP_SEQ_ENUM */
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_SEQ_ENUM(seq) BOOST_PP_SEQ_ENUM_I(seq)
-# define BOOST_PP_SEQ_ENUM_I(seq) BOOST_PP_CAT(BOOST_PP_SEQ_ENUM_, BOOST_PP_SEQ_SIZE(seq)) seq
-# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-# define BOOST_PP_SEQ_ENUM(seq) BOOST_PP_SEQ_ENUM_I(BOOST_PP_SEQ_SIZE(seq), seq)
-# define BOOST_PP_SEQ_ENUM_I(size, seq) BOOST_PP_CAT(BOOST_PP_SEQ_ENUM_, size) seq
-# else
-# define BOOST_PP_SEQ_ENUM(seq) BOOST_PP_CAT(BOOST_PP_SEQ_ENUM_, BOOST_PP_SEQ_SIZE(seq)) seq
-# endif
-#
-# define BOOST_PP_SEQ_ENUM_1(x) x
-# define BOOST_PP_SEQ_ENUM_2(x) x, BOOST_PP_SEQ_ENUM_1
-# define BOOST_PP_SEQ_ENUM_3(x) x, BOOST_PP_SEQ_ENUM_2
-# define BOOST_PP_SEQ_ENUM_4(x) x, BOOST_PP_SEQ_ENUM_3
-# define BOOST_PP_SEQ_ENUM_5(x) x, BOOST_PP_SEQ_ENUM_4
-# define BOOST_PP_SEQ_ENUM_6(x) x, BOOST_PP_SEQ_ENUM_5
-# define BOOST_PP_SEQ_ENUM_7(x) x, BOOST_PP_SEQ_ENUM_6
-# define BOOST_PP_SEQ_ENUM_8(x) x, BOOST_PP_SEQ_ENUM_7
-# define BOOST_PP_SEQ_ENUM_9(x) x, BOOST_PP_SEQ_ENUM_8
-# define BOOST_PP_SEQ_ENUM_10(x) x, BOOST_PP_SEQ_ENUM_9
-# define BOOST_PP_SEQ_ENUM_11(x) x, BOOST_PP_SEQ_ENUM_10
-# define BOOST_PP_SEQ_ENUM_12(x) x, BOOST_PP_SEQ_ENUM_11
-# define BOOST_PP_SEQ_ENUM_13(x) x, BOOST_PP_SEQ_ENUM_12
-# define BOOST_PP_SEQ_ENUM_14(x) x, BOOST_PP_SEQ_ENUM_13
-# define BOOST_PP_SEQ_ENUM_15(x) x, BOOST_PP_SEQ_ENUM_14
-# define BOOST_PP_SEQ_ENUM_16(x) x, BOOST_PP_SEQ_ENUM_15
-# define BOOST_PP_SEQ_ENUM_17(x) x, BOOST_PP_SEQ_ENUM_16
-# define BOOST_PP_SEQ_ENUM_18(x) x, BOOST_PP_SEQ_ENUM_17
-# define BOOST_PP_SEQ_ENUM_19(x) x, BOOST_PP_SEQ_ENUM_18
-# define BOOST_PP_SEQ_ENUM_20(x) x, BOOST_PP_SEQ_ENUM_19
-# define BOOST_PP_SEQ_ENUM_21(x) x, BOOST_PP_SEQ_ENUM_20
-# define BOOST_PP_SEQ_ENUM_22(x) x, BOOST_PP_SEQ_ENUM_21
-# define BOOST_PP_SEQ_ENUM_23(x) x, BOOST_PP_SEQ_ENUM_22
-# define BOOST_PP_SEQ_ENUM_24(x) x, BOOST_PP_SEQ_ENUM_23
-# define BOOST_PP_SEQ_ENUM_25(x) x, BOOST_PP_SEQ_ENUM_24
-# define BOOST_PP_SEQ_ENUM_26(x) x, BOOST_PP_SEQ_ENUM_25
-# define BOOST_PP_SEQ_ENUM_27(x) x, BOOST_PP_SEQ_ENUM_26
-# define BOOST_PP_SEQ_ENUM_28(x) x, BOOST_PP_SEQ_ENUM_27
-# define BOOST_PP_SEQ_ENUM_29(x) x, BOOST_PP_SEQ_ENUM_28
-# define BOOST_PP_SEQ_ENUM_30(x) x, BOOST_PP_SEQ_ENUM_29
-# define BOOST_PP_SEQ_ENUM_31(x) x, BOOST_PP_SEQ_ENUM_30
-# define BOOST_PP_SEQ_ENUM_32(x) x, BOOST_PP_SEQ_ENUM_31
-# define BOOST_PP_SEQ_ENUM_33(x) x, BOOST_PP_SEQ_ENUM_32
-# define BOOST_PP_SEQ_ENUM_34(x) x, BOOST_PP_SEQ_ENUM_33
-# define BOOST_PP_SEQ_ENUM_35(x) x, BOOST_PP_SEQ_ENUM_34
-# define BOOST_PP_SEQ_ENUM_36(x) x, BOOST_PP_SEQ_ENUM_35
-# define BOOST_PP_SEQ_ENUM_37(x) x, BOOST_PP_SEQ_ENUM_36
-# define BOOST_PP_SEQ_ENUM_38(x) x, BOOST_PP_SEQ_ENUM_37
-# define BOOST_PP_SEQ_ENUM_39(x) x, BOOST_PP_SEQ_ENUM_38
-# define BOOST_PP_SEQ_ENUM_40(x) x, BOOST_PP_SEQ_ENUM_39
-# define BOOST_PP_SEQ_ENUM_41(x) x, BOOST_PP_SEQ_ENUM_40
-# define BOOST_PP_SEQ_ENUM_42(x) x, BOOST_PP_SEQ_ENUM_41
-# define BOOST_PP_SEQ_ENUM_43(x) x, BOOST_PP_SEQ_ENUM_42
-# define BOOST_PP_SEQ_ENUM_44(x) x, BOOST_PP_SEQ_ENUM_43
-# define BOOST_PP_SEQ_ENUM_45(x) x, BOOST_PP_SEQ_ENUM_44
-# define BOOST_PP_SEQ_ENUM_46(x) x, BOOST_PP_SEQ_ENUM_45
-# define BOOST_PP_SEQ_ENUM_47(x) x, BOOST_PP_SEQ_ENUM_46
-# define BOOST_PP_SEQ_ENUM_48(x) x, BOOST_PP_SEQ_ENUM_47
-# define BOOST_PP_SEQ_ENUM_49(x) x, BOOST_PP_SEQ_ENUM_48
-# define BOOST_PP_SEQ_ENUM_50(x) x, BOOST_PP_SEQ_ENUM_49
-# define BOOST_PP_SEQ_ENUM_51(x) x, BOOST_PP_SEQ_ENUM_50
-# define BOOST_PP_SEQ_ENUM_52(x) x, BOOST_PP_SEQ_ENUM_51
-# define BOOST_PP_SEQ_ENUM_53(x) x, BOOST_PP_SEQ_ENUM_52
-# define BOOST_PP_SEQ_ENUM_54(x) x, BOOST_PP_SEQ_ENUM_53
-# define BOOST_PP_SEQ_ENUM_55(x) x, BOOST_PP_SEQ_ENUM_54
-# define BOOST_PP_SEQ_ENUM_56(x) x, BOOST_PP_SEQ_ENUM_55
-# define BOOST_PP_SEQ_ENUM_57(x) x, BOOST_PP_SEQ_ENUM_56
-# define BOOST_PP_SEQ_ENUM_58(x) x, BOOST_PP_SEQ_ENUM_57
-# define BOOST_PP_SEQ_ENUM_59(x) x, BOOST_PP_SEQ_ENUM_58
-# define BOOST_PP_SEQ_ENUM_60(x) x, BOOST_PP_SEQ_ENUM_59
-# define BOOST_PP_SEQ_ENUM_61(x) x, BOOST_PP_SEQ_ENUM_60
-# define BOOST_PP_SEQ_ENUM_62(x) x, BOOST_PP_SEQ_ENUM_61
-# define BOOST_PP_SEQ_ENUM_63(x) x, BOOST_PP_SEQ_ENUM_62
-# define BOOST_PP_SEQ_ENUM_64(x) x, BOOST_PP_SEQ_ENUM_63
-# define BOOST_PP_SEQ_ENUM_65(x) x, BOOST_PP_SEQ_ENUM_64
-# define BOOST_PP_SEQ_ENUM_66(x) x, BOOST_PP_SEQ_ENUM_65
-# define BOOST_PP_SEQ_ENUM_67(x) x, BOOST_PP_SEQ_ENUM_66
-# define BOOST_PP_SEQ_ENUM_68(x) x, BOOST_PP_SEQ_ENUM_67
-# define BOOST_PP_SEQ_ENUM_69(x) x, BOOST_PP_SEQ_ENUM_68
-# define BOOST_PP_SEQ_ENUM_70(x) x, BOOST_PP_SEQ_ENUM_69
-# define BOOST_PP_SEQ_ENUM_71(x) x, BOOST_PP_SEQ_ENUM_70
-# define BOOST_PP_SEQ_ENUM_72(x) x, BOOST_PP_SEQ_ENUM_71
-# define BOOST_PP_SEQ_ENUM_73(x) x, BOOST_PP_SEQ_ENUM_72
-# define BOOST_PP_SEQ_ENUM_74(x) x, BOOST_PP_SEQ_ENUM_73
-# define BOOST_PP_SEQ_ENUM_75(x) x, BOOST_PP_SEQ_ENUM_74
-# define BOOST_PP_SEQ_ENUM_76(x) x, BOOST_PP_SEQ_ENUM_75
-# define BOOST_PP_SEQ_ENUM_77(x) x, BOOST_PP_SEQ_ENUM_76
-# define BOOST_PP_SEQ_ENUM_78(x) x, BOOST_PP_SEQ_ENUM_77
-# define BOOST_PP_SEQ_ENUM_79(x) x, BOOST_PP_SEQ_ENUM_78
-# define BOOST_PP_SEQ_ENUM_80(x) x, BOOST_PP_SEQ_ENUM_79
-# define BOOST_PP_SEQ_ENUM_81(x) x, BOOST_PP_SEQ_ENUM_80
-# define BOOST_PP_SEQ_ENUM_82(x) x, BOOST_PP_SEQ_ENUM_81
-# define BOOST_PP_SEQ_ENUM_83(x) x, BOOST_PP_SEQ_ENUM_82
-# define BOOST_PP_SEQ_ENUM_84(x) x, BOOST_PP_SEQ_ENUM_83
-# define BOOST_PP_SEQ_ENUM_85(x) x, BOOST_PP_SEQ_ENUM_84
-# define BOOST_PP_SEQ_ENUM_86(x) x, BOOST_PP_SEQ_ENUM_85
-# define BOOST_PP_SEQ_ENUM_87(x) x, BOOST_PP_SEQ_ENUM_86
-# define BOOST_PP_SEQ_ENUM_88(x) x, BOOST_PP_SEQ_ENUM_87
-# define BOOST_PP_SEQ_ENUM_89(x) x, BOOST_PP_SEQ_ENUM_88
-# define BOOST_PP_SEQ_ENUM_90(x) x, BOOST_PP_SEQ_ENUM_89
-# define BOOST_PP_SEQ_ENUM_91(x) x, BOOST_PP_SEQ_ENUM_90
-# define BOOST_PP_SEQ_ENUM_92(x) x, BOOST_PP_SEQ_ENUM_91
-# define BOOST_PP_SEQ_ENUM_93(x) x, BOOST_PP_SEQ_ENUM_92
-# define BOOST_PP_SEQ_ENUM_94(x) x, BOOST_PP_SEQ_ENUM_93
-# define BOOST_PP_SEQ_ENUM_95(x) x, BOOST_PP_SEQ_ENUM_94
-# define BOOST_PP_SEQ_ENUM_96(x) x, BOOST_PP_SEQ_ENUM_95
-# define BOOST_PP_SEQ_ENUM_97(x) x, BOOST_PP_SEQ_ENUM_96
-# define BOOST_PP_SEQ_ENUM_98(x) x, BOOST_PP_SEQ_ENUM_97
-# define BOOST_PP_SEQ_ENUM_99(x) x, BOOST_PP_SEQ_ENUM_98
-# define BOOST_PP_SEQ_ENUM_100(x) x, BOOST_PP_SEQ_ENUM_99
-# define BOOST_PP_SEQ_ENUM_101(x) x, BOOST_PP_SEQ_ENUM_100
-# define BOOST_PP_SEQ_ENUM_102(x) x, BOOST_PP_SEQ_ENUM_101
-# define BOOST_PP_SEQ_ENUM_103(x) x, BOOST_PP_SEQ_ENUM_102
-# define BOOST_PP_SEQ_ENUM_104(x) x, BOOST_PP_SEQ_ENUM_103
-# define BOOST_PP_SEQ_ENUM_105(x) x, BOOST_PP_SEQ_ENUM_104
-# define BOOST_PP_SEQ_ENUM_106(x) x, BOOST_PP_SEQ_ENUM_105
-# define BOOST_PP_SEQ_ENUM_107(x) x, BOOST_PP_SEQ_ENUM_106
-# define BOOST_PP_SEQ_ENUM_108(x) x, BOOST_PP_SEQ_ENUM_107
-# define BOOST_PP_SEQ_ENUM_109(x) x, BOOST_PP_SEQ_ENUM_108
-# define BOOST_PP_SEQ_ENUM_110(x) x, BOOST_PP_SEQ_ENUM_109
-# define BOOST_PP_SEQ_ENUM_111(x) x, BOOST_PP_SEQ_ENUM_110
-# define BOOST_PP_SEQ_ENUM_112(x) x, BOOST_PP_SEQ_ENUM_111
-# define BOOST_PP_SEQ_ENUM_113(x) x, BOOST_PP_SEQ_ENUM_112
-# define BOOST_PP_SEQ_ENUM_114(x) x, BOOST_PP_SEQ_ENUM_113
-# define BOOST_PP_SEQ_ENUM_115(x) x, BOOST_PP_SEQ_ENUM_114
-# define BOOST_PP_SEQ_ENUM_116(x) x, BOOST_PP_SEQ_ENUM_115
-# define BOOST_PP_SEQ_ENUM_117(x) x, BOOST_PP_SEQ_ENUM_116
-# define BOOST_PP_SEQ_ENUM_118(x) x, BOOST_PP_SEQ_ENUM_117
-# define BOOST_PP_SEQ_ENUM_119(x) x, BOOST_PP_SEQ_ENUM_118
-# define BOOST_PP_SEQ_ENUM_120(x) x, BOOST_PP_SEQ_ENUM_119
-# define BOOST_PP_SEQ_ENUM_121(x) x, BOOST_PP_SEQ_ENUM_120
-# define BOOST_PP_SEQ_ENUM_122(x) x, BOOST_PP_SEQ_ENUM_121
-# define BOOST_PP_SEQ_ENUM_123(x) x, BOOST_PP_SEQ_ENUM_122
-# define BOOST_PP_SEQ_ENUM_124(x) x, BOOST_PP_SEQ_ENUM_123
-# define BOOST_PP_SEQ_ENUM_125(x) x, BOOST_PP_SEQ_ENUM_124
-# define BOOST_PP_SEQ_ENUM_126(x) x, BOOST_PP_SEQ_ENUM_125
-# define BOOST_PP_SEQ_ENUM_127(x) x, BOOST_PP_SEQ_ENUM_126
-# define BOOST_PP_SEQ_ENUM_128(x) x, BOOST_PP_SEQ_ENUM_127
-# define BOOST_PP_SEQ_ENUM_129(x) x, BOOST_PP_SEQ_ENUM_128
-# define BOOST_PP_SEQ_ENUM_130(x) x, BOOST_PP_SEQ_ENUM_129
-# define BOOST_PP_SEQ_ENUM_131(x) x, BOOST_PP_SEQ_ENUM_130
-# define BOOST_PP_SEQ_ENUM_132(x) x, BOOST_PP_SEQ_ENUM_131
-# define BOOST_PP_SEQ_ENUM_133(x) x, BOOST_PP_SEQ_ENUM_132
-# define BOOST_PP_SEQ_ENUM_134(x) x, BOOST_PP_SEQ_ENUM_133
-# define BOOST_PP_SEQ_ENUM_135(x) x, BOOST_PP_SEQ_ENUM_134
-# define BOOST_PP_SEQ_ENUM_136(x) x, BOOST_PP_SEQ_ENUM_135
-# define BOOST_PP_SEQ_ENUM_137(x) x, BOOST_PP_SEQ_ENUM_136
-# define BOOST_PP_SEQ_ENUM_138(x) x, BOOST_PP_SEQ_ENUM_137
-# define BOOST_PP_SEQ_ENUM_139(x) x, BOOST_PP_SEQ_ENUM_138
-# define BOOST_PP_SEQ_ENUM_140(x) x, BOOST_PP_SEQ_ENUM_139
-# define BOOST_PP_SEQ_ENUM_141(x) x, BOOST_PP_SEQ_ENUM_140
-# define BOOST_PP_SEQ_ENUM_142(x) x, BOOST_PP_SEQ_ENUM_141
-# define BOOST_PP_SEQ_ENUM_143(x) x, BOOST_PP_SEQ_ENUM_142
-# define BOOST_PP_SEQ_ENUM_144(x) x, BOOST_PP_SEQ_ENUM_143
-# define BOOST_PP_SEQ_ENUM_145(x) x, BOOST_PP_SEQ_ENUM_144
-# define BOOST_PP_SEQ_ENUM_146(x) x, BOOST_PP_SEQ_ENUM_145
-# define BOOST_PP_SEQ_ENUM_147(x) x, BOOST_PP_SEQ_ENUM_146
-# define BOOST_PP_SEQ_ENUM_148(x) x, BOOST_PP_SEQ_ENUM_147
-# define BOOST_PP_SEQ_ENUM_149(x) x, BOOST_PP_SEQ_ENUM_148
-# define BOOST_PP_SEQ_ENUM_150(x) x, BOOST_PP_SEQ_ENUM_149
-# define BOOST_PP_SEQ_ENUM_151(x) x, BOOST_PP_SEQ_ENUM_150
-# define BOOST_PP_SEQ_ENUM_152(x) x, BOOST_PP_SEQ_ENUM_151
-# define BOOST_PP_SEQ_ENUM_153(x) x, BOOST_PP_SEQ_ENUM_152
-# define BOOST_PP_SEQ_ENUM_154(x) x, BOOST_PP_SEQ_ENUM_153
-# define BOOST_PP_SEQ_ENUM_155(x) x, BOOST_PP_SEQ_ENUM_154
-# define BOOST_PP_SEQ_ENUM_156(x) x, BOOST_PP_SEQ_ENUM_155
-# define BOOST_PP_SEQ_ENUM_157(x) x, BOOST_PP_SEQ_ENUM_156
-# define BOOST_PP_SEQ_ENUM_158(x) x, BOOST_PP_SEQ_ENUM_157
-# define BOOST_PP_SEQ_ENUM_159(x) x, BOOST_PP_SEQ_ENUM_158
-# define BOOST_PP_SEQ_ENUM_160(x) x, BOOST_PP_SEQ_ENUM_159
-# define BOOST_PP_SEQ_ENUM_161(x) x, BOOST_PP_SEQ_ENUM_160
-# define BOOST_PP_SEQ_ENUM_162(x) x, BOOST_PP_SEQ_ENUM_161
-# define BOOST_PP_SEQ_ENUM_163(x) x, BOOST_PP_SEQ_ENUM_162
-# define BOOST_PP_SEQ_ENUM_164(x) x, BOOST_PP_SEQ_ENUM_163
-# define BOOST_PP_SEQ_ENUM_165(x) x, BOOST_PP_SEQ_ENUM_164
-# define BOOST_PP_SEQ_ENUM_166(x) x, BOOST_PP_SEQ_ENUM_165
-# define BOOST_PP_SEQ_ENUM_167(x) x, BOOST_PP_SEQ_ENUM_166
-# define BOOST_PP_SEQ_ENUM_168(x) x, BOOST_PP_SEQ_ENUM_167
-# define BOOST_PP_SEQ_ENUM_169(x) x, BOOST_PP_SEQ_ENUM_168
-# define BOOST_PP_SEQ_ENUM_170(x) x, BOOST_PP_SEQ_ENUM_169
-# define BOOST_PP_SEQ_ENUM_171(x) x, BOOST_PP_SEQ_ENUM_170
-# define BOOST_PP_SEQ_ENUM_172(x) x, BOOST_PP_SEQ_ENUM_171
-# define BOOST_PP_SEQ_ENUM_173(x) x, BOOST_PP_SEQ_ENUM_172
-# define BOOST_PP_SEQ_ENUM_174(x) x, BOOST_PP_SEQ_ENUM_173
-# define BOOST_PP_SEQ_ENUM_175(x) x, BOOST_PP_SEQ_ENUM_174
-# define BOOST_PP_SEQ_ENUM_176(x) x, BOOST_PP_SEQ_ENUM_175
-# define BOOST_PP_SEQ_ENUM_177(x) x, BOOST_PP_SEQ_ENUM_176
-# define BOOST_PP_SEQ_ENUM_178(x) x, BOOST_PP_SEQ_ENUM_177
-# define BOOST_PP_SEQ_ENUM_179(x) x, BOOST_PP_SEQ_ENUM_178
-# define BOOST_PP_SEQ_ENUM_180(x) x, BOOST_PP_SEQ_ENUM_179
-# define BOOST_PP_SEQ_ENUM_181(x) x, BOOST_PP_SEQ_ENUM_180
-# define BOOST_PP_SEQ_ENUM_182(x) x, BOOST_PP_SEQ_ENUM_181
-# define BOOST_PP_SEQ_ENUM_183(x) x, BOOST_PP_SEQ_ENUM_182
-# define BOOST_PP_SEQ_ENUM_184(x) x, BOOST_PP_SEQ_ENUM_183
-# define BOOST_PP_SEQ_ENUM_185(x) x, BOOST_PP_SEQ_ENUM_184
-# define BOOST_PP_SEQ_ENUM_186(x) x, BOOST_PP_SEQ_ENUM_185
-# define BOOST_PP_SEQ_ENUM_187(x) x, BOOST_PP_SEQ_ENUM_186
-# define BOOST_PP_SEQ_ENUM_188(x) x, BOOST_PP_SEQ_ENUM_187
-# define BOOST_PP_SEQ_ENUM_189(x) x, BOOST_PP_SEQ_ENUM_188
-# define BOOST_PP_SEQ_ENUM_190(x) x, BOOST_PP_SEQ_ENUM_189
-# define BOOST_PP_SEQ_ENUM_191(x) x, BOOST_PP_SEQ_ENUM_190
-# define BOOST_PP_SEQ_ENUM_192(x) x, BOOST_PP_SEQ_ENUM_191
-# define BOOST_PP_SEQ_ENUM_193(x) x, BOOST_PP_SEQ_ENUM_192
-# define BOOST_PP_SEQ_ENUM_194(x) x, BOOST_PP_SEQ_ENUM_193
-# define BOOST_PP_SEQ_ENUM_195(x) x, BOOST_PP_SEQ_ENUM_194
-# define BOOST_PP_SEQ_ENUM_196(x) x, BOOST_PP_SEQ_ENUM_195
-# define BOOST_PP_SEQ_ENUM_197(x) x, BOOST_PP_SEQ_ENUM_196
-# define BOOST_PP_SEQ_ENUM_198(x) x, BOOST_PP_SEQ_ENUM_197
-# define BOOST_PP_SEQ_ENUM_199(x) x, BOOST_PP_SEQ_ENUM_198
-# define BOOST_PP_SEQ_ENUM_200(x) x, BOOST_PP_SEQ_ENUM_199
-# define BOOST_PP_SEQ_ENUM_201(x) x, BOOST_PP_SEQ_ENUM_200
-# define BOOST_PP_SEQ_ENUM_202(x) x, BOOST_PP_SEQ_ENUM_201
-# define BOOST_PP_SEQ_ENUM_203(x) x, BOOST_PP_SEQ_ENUM_202
-# define BOOST_PP_SEQ_ENUM_204(x) x, BOOST_PP_SEQ_ENUM_203
-# define BOOST_PP_SEQ_ENUM_205(x) x, BOOST_PP_SEQ_ENUM_204
-# define BOOST_PP_SEQ_ENUM_206(x) x, BOOST_PP_SEQ_ENUM_205
-# define BOOST_PP_SEQ_ENUM_207(x) x, BOOST_PP_SEQ_ENUM_206
-# define BOOST_PP_SEQ_ENUM_208(x) x, BOOST_PP_SEQ_ENUM_207
-# define BOOST_PP_SEQ_ENUM_209(x) x, BOOST_PP_SEQ_ENUM_208
-# define BOOST_PP_SEQ_ENUM_210(x) x, BOOST_PP_SEQ_ENUM_209
-# define BOOST_PP_SEQ_ENUM_211(x) x, BOOST_PP_SEQ_ENUM_210
-# define BOOST_PP_SEQ_ENUM_212(x) x, BOOST_PP_SEQ_ENUM_211
-# define BOOST_PP_SEQ_ENUM_213(x) x, BOOST_PP_SEQ_ENUM_212
-# define BOOST_PP_SEQ_ENUM_214(x) x, BOOST_PP_SEQ_ENUM_213
-# define BOOST_PP_SEQ_ENUM_215(x) x, BOOST_PP_SEQ_ENUM_214
-# define BOOST_PP_SEQ_ENUM_216(x) x, BOOST_PP_SEQ_ENUM_215
-# define BOOST_PP_SEQ_ENUM_217(x) x, BOOST_PP_SEQ_ENUM_216
-# define BOOST_PP_SEQ_ENUM_218(x) x, BOOST_PP_SEQ_ENUM_217
-# define BOOST_PP_SEQ_ENUM_219(x) x, BOOST_PP_SEQ_ENUM_218
-# define BOOST_PP_SEQ_ENUM_220(x) x, BOOST_PP_SEQ_ENUM_219
-# define BOOST_PP_SEQ_ENUM_221(x) x, BOOST_PP_SEQ_ENUM_220
-# define BOOST_PP_SEQ_ENUM_222(x) x, BOOST_PP_SEQ_ENUM_221
-# define BOOST_PP_SEQ_ENUM_223(x) x, BOOST_PP_SEQ_ENUM_222
-# define BOOST_PP_SEQ_ENUM_224(x) x, BOOST_PP_SEQ_ENUM_223
-# define BOOST_PP_SEQ_ENUM_225(x) x, BOOST_PP_SEQ_ENUM_224
-# define BOOST_PP_SEQ_ENUM_226(x) x, BOOST_PP_SEQ_ENUM_225
-# define BOOST_PP_SEQ_ENUM_227(x) x, BOOST_PP_SEQ_ENUM_226
-# define BOOST_PP_SEQ_ENUM_228(x) x, BOOST_PP_SEQ_ENUM_227
-# define BOOST_PP_SEQ_ENUM_229(x) x, BOOST_PP_SEQ_ENUM_228
-# define BOOST_PP_SEQ_ENUM_230(x) x, BOOST_PP_SEQ_ENUM_229
-# define BOOST_PP_SEQ_ENUM_231(x) x, BOOST_PP_SEQ_ENUM_230
-# define BOOST_PP_SEQ_ENUM_232(x) x, BOOST_PP_SEQ_ENUM_231
-# define BOOST_PP_SEQ_ENUM_233(x) x, BOOST_PP_SEQ_ENUM_232
-# define BOOST_PP_SEQ_ENUM_234(x) x, BOOST_PP_SEQ_ENUM_233
-# define BOOST_PP_SEQ_ENUM_235(x) x, BOOST_PP_SEQ_ENUM_234
-# define BOOST_PP_SEQ_ENUM_236(x) x, BOOST_PP_SEQ_ENUM_235
-# define BOOST_PP_SEQ_ENUM_237(x) x, BOOST_PP_SEQ_ENUM_236
-# define BOOST_PP_SEQ_ENUM_238(x) x, BOOST_PP_SEQ_ENUM_237
-# define BOOST_PP_SEQ_ENUM_239(x) x, BOOST_PP_SEQ_ENUM_238
-# define BOOST_PP_SEQ_ENUM_240(x) x, BOOST_PP_SEQ_ENUM_239
-# define BOOST_PP_SEQ_ENUM_241(x) x, BOOST_PP_SEQ_ENUM_240
-# define BOOST_PP_SEQ_ENUM_242(x) x, BOOST_PP_SEQ_ENUM_241
-# define BOOST_PP_SEQ_ENUM_243(x) x, BOOST_PP_SEQ_ENUM_242
-# define BOOST_PP_SEQ_ENUM_244(x) x, BOOST_PP_SEQ_ENUM_243
-# define BOOST_PP_SEQ_ENUM_245(x) x, BOOST_PP_SEQ_ENUM_244
-# define BOOST_PP_SEQ_ENUM_246(x) x, BOOST_PP_SEQ_ENUM_245
-# define BOOST_PP_SEQ_ENUM_247(x) x, BOOST_PP_SEQ_ENUM_246
-# define BOOST_PP_SEQ_ENUM_248(x) x, BOOST_PP_SEQ_ENUM_247
-# define BOOST_PP_SEQ_ENUM_249(x) x, BOOST_PP_SEQ_ENUM_248
-# define BOOST_PP_SEQ_ENUM_250(x) x, BOOST_PP_SEQ_ENUM_249
-# define BOOST_PP_SEQ_ENUM_251(x) x, BOOST_PP_SEQ_ENUM_250
-# define BOOST_PP_SEQ_ENUM_252(x) x, BOOST_PP_SEQ_ENUM_251
-# define BOOST_PP_SEQ_ENUM_253(x) x, BOOST_PP_SEQ_ENUM_252
-# define BOOST_PP_SEQ_ENUM_254(x) x, BOOST_PP_SEQ_ENUM_253
-# define BOOST_PP_SEQ_ENUM_255(x) x, BOOST_PP_SEQ_ENUM_254
-# define BOOST_PP_SEQ_ENUM_256(x) x, BOOST_PP_SEQ_ENUM_255
-#
-# endif
diff --git a/boost/preprocessor/seq/first_n.hpp b/boost/preprocessor/seq/first_n.hpp
deleted file mode 100644
index c3c0716..0000000
--- a/boost/preprocessor/seq/first_n.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_SEQ_FIRST_N_HPP
-# define BOOST_PREPROCESSOR_SEQ_FIRST_N_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/control/if.hpp>
-# include <boost/preprocessor/seq/detail/split.hpp>
-# include <boost/preprocessor/tuple/eat.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-#
-# /* BOOST_PP_SEQ_FIRST_N */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_SEQ_FIRST_N(n, seq) BOOST_PP_IF(n, BOOST_PP_TUPLE_ELEM, BOOST_PP_TUPLE_EAT_3)(2, 0, BOOST_PP_SEQ_SPLIT(n, seq (nil)))
-# else
-# define BOOST_PP_SEQ_FIRST_N(n, seq) BOOST_PP_SEQ_FIRST_N_I(n, seq)
-# define BOOST_PP_SEQ_FIRST_N_I(n, seq) BOOST_PP_IF(n, BOOST_PP_TUPLE_ELEM, BOOST_PP_TUPLE_EAT_3)(2, 0, BOOST_PP_SEQ_SPLIT(n, seq (nil)))
-# endif
-#
-# endif
diff --git a/boost/preprocessor/seq/fold_left.hpp b/boost/preprocessor/seq/fold_left.hpp
deleted file mode 100644
index ab051b6..0000000
--- a/boost/preprocessor/seq/fold_left.hpp
+++ /dev/null
@@ -1,1070 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_SEQ_FOLD_LEFT_HPP
-# define BOOST_PREPROCESSOR_SEQ_FOLD_LEFT_HPP
-#
-# include <boost/preprocessor/arithmetic/dec.hpp>
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/control/if.hpp>
-# include <boost/preprocessor/debug/error.hpp>
-# include <boost/preprocessor/detail/auto_rec.hpp>
-# include <boost/preprocessor/seq/seq.hpp>
-# include <boost/preprocessor/seq/size.hpp>
-#
-# /* BOOST_PP_SEQ_FOLD_LEFT */
-#
-# if 0
-# define BOOST_PP_SEQ_FOLD_LEFT(op, state, seq) ...
-# endif
-#
-# define BOOST_PP_SEQ_FOLD_LEFT BOOST_PP_CAT(BOOST_PP_SEQ_FOLD_LEFT_, BOOST_PP_AUTO_REC(BOOST_PP_SEQ_FOLD_LEFT_P, 256))
-# define BOOST_PP_SEQ_FOLD_LEFT_P(n) BOOST_PP_CAT(BOOST_PP_SEQ_FOLD_LEFT_CHECK_, BOOST_PP_SEQ_FOLD_LEFT_I_ ## n(BOOST_PP_SEQ_FOLD_LEFT_O, BOOST_PP_NIL, (nil), 1))
-# define BOOST_PP_SEQ_FOLD_LEFT_O(s, st, _) st
-#
-# define BOOST_PP_SEQ_FOLD_LEFT_257(op, st, ss) BOOST_PP_ERROR(0x0005)
-# define BOOST_PP_SEQ_FOLD_LEFT_I_257(op, st, ss, sz) BOOST_PP_ERROR(0x0005)
-#
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_NIL 1
-#
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_1(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_2(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_3(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_4(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_5(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_6(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_7(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_8(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_9(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_10(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_11(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_12(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_13(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_14(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_15(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_16(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_17(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_18(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_19(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_20(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_21(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_22(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_23(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_24(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_25(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_26(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_27(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_28(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_29(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_30(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_31(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_32(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_33(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_34(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_35(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_36(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_37(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_38(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_39(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_40(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_41(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_42(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_43(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_44(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_45(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_46(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_47(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_48(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_49(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_50(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_51(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_52(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_53(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_54(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_55(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_56(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_57(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_58(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_59(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_60(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_61(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_62(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_63(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_64(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_65(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_66(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_67(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_68(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_69(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_70(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_71(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_72(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_73(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_74(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_75(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_76(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_77(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_78(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_79(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_80(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_81(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_82(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_83(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_84(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_85(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_86(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_87(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_88(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_89(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_90(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_91(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_92(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_93(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_94(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_95(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_96(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_97(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_98(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_99(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_100(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_101(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_102(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_103(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_104(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_105(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_106(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_107(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_108(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_109(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_110(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_111(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_112(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_113(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_114(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_115(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_116(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_117(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_118(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_119(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_120(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_121(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_122(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_123(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_124(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_125(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_126(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_127(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_128(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_129(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_130(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_131(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_132(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_133(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_134(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_135(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_136(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_137(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_138(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_139(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_140(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_141(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_142(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_143(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_144(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_145(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_146(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_147(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_148(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_149(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_150(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_151(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_152(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_153(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_154(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_155(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_156(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_157(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_158(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_159(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_160(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_161(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_162(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_163(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_164(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_165(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_166(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_167(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_168(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_169(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_170(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_171(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_172(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_173(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_174(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_175(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_176(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_177(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_178(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_179(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_180(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_181(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_182(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_183(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_184(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_185(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_186(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_187(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_188(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_189(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_190(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_191(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_192(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_193(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_194(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_195(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_196(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_197(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_198(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_199(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_200(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_201(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_202(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_203(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_204(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_205(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_206(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_207(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_208(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_209(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_210(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_211(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_212(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_213(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_214(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_215(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_216(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_217(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_218(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_219(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_220(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_221(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_222(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_223(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_224(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_225(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_226(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_227(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_228(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_229(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_230(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_231(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_232(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_233(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_234(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_235(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_236(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_237(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_238(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_239(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_240(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_241(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_242(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_243(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_244(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_245(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_246(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_247(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_248(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_249(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_250(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_251(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_252(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_253(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_254(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_255(op, st, ss, sz) 0
-# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_256(op, st, ss, sz) 0
-#
-# define BOOST_PP_SEQ_FOLD_LEFT_F(op, st, ss, sz) st
-#
-# define BOOST_PP_SEQ_FOLD_LEFT_1(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_1(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_2(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_2(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_3(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_3(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_4(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_4(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_5(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_5(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_6(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_6(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_7(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_7(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_8(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_8(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_9(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_9(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_10(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_10(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_11(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_11(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_12(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_12(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_13(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_13(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_14(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_14(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_15(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_15(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_16(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_16(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_17(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_17(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_18(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_18(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_19(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_19(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_20(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_20(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_21(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_21(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_22(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_22(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_23(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_23(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_24(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_24(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_25(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_25(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_26(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_26(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_27(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_27(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_28(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_28(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_29(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_29(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_30(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_30(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_31(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_31(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_32(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_32(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_33(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_33(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_34(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_34(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_35(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_35(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_36(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_36(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_37(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_37(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_38(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_38(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_39(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_39(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_40(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_40(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_41(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_41(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_42(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_42(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_43(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_43(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_44(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_44(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_45(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_45(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_46(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_46(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_47(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_47(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_48(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_48(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_49(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_49(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_50(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_50(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_51(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_51(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_52(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_52(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_53(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_53(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_54(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_54(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_55(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_55(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_56(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_56(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_57(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_57(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_58(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_58(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_59(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_59(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_60(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_60(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_61(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_61(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_62(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_62(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_63(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_63(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_64(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_64(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_65(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_65(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_66(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_66(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_67(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_67(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_68(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_68(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_69(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_69(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_70(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_70(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_71(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_71(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_72(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_72(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_73(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_73(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_74(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_74(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_75(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_75(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_76(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_76(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_77(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_77(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_78(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_78(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_79(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_79(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_80(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_80(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_81(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_81(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_82(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_82(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_83(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_83(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_84(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_84(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_85(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_85(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_86(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_86(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_87(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_87(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_88(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_88(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_89(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_89(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_90(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_90(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_91(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_91(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_92(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_92(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_93(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_93(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_94(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_94(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_95(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_95(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_96(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_96(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_97(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_97(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_98(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_98(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_99(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_99(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_100(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_100(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_101(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_101(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_102(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_102(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_103(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_103(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_104(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_104(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_105(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_105(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_106(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_106(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_107(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_107(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_108(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_108(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_109(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_109(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_110(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_110(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_111(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_111(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_112(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_112(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_113(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_113(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_114(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_114(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_115(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_115(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_116(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_116(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_117(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_117(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_118(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_118(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_119(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_119(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_120(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_120(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_121(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_121(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_122(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_122(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_123(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_123(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_124(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_124(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_125(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_125(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_126(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_126(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_127(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_127(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_128(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_128(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_129(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_129(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_130(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_130(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_131(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_131(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_132(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_132(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_133(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_133(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_134(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_134(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_135(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_135(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_136(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_136(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_137(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_137(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_138(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_138(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_139(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_139(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_140(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_140(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_141(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_141(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_142(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_142(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_143(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_143(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_144(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_144(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_145(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_145(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_146(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_146(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_147(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_147(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_148(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_148(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_149(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_149(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_150(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_150(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_151(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_151(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_152(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_152(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_153(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_153(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_154(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_154(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_155(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_155(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_156(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_156(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_157(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_157(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_158(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_158(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_159(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_159(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_160(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_160(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_161(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_161(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_162(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_162(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_163(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_163(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_164(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_164(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_165(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_165(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_166(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_166(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_167(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_167(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_168(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_168(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_169(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_169(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_170(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_170(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_171(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_171(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_172(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_172(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_173(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_173(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_174(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_174(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_175(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_175(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_176(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_176(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_177(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_177(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_178(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_178(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_179(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_179(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_180(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_180(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_181(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_181(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_182(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_182(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_183(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_183(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_184(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_184(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_185(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_185(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_186(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_186(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_187(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_187(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_188(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_188(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_189(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_189(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_190(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_190(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_191(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_191(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_192(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_192(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_193(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_193(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_194(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_194(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_195(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_195(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_196(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_196(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_197(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_197(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_198(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_198(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_199(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_199(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_200(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_200(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_201(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_201(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_202(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_202(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_203(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_203(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_204(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_204(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_205(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_205(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_206(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_206(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_207(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_207(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_208(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_208(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_209(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_209(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_210(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_210(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_211(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_211(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_212(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_212(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_213(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_213(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_214(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_214(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_215(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_215(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_216(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_216(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_217(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_217(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_218(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_218(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_219(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_219(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_220(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_220(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_221(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_221(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_222(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_222(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_223(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_223(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_224(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_224(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_225(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_225(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_226(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_226(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_227(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_227(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_228(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_228(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_229(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_229(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_230(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_230(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_231(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_231(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_232(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_232(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_233(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_233(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_234(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_234(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_235(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_235(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_236(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_236(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_237(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_237(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_238(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_238(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_239(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_239(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_240(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_240(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_241(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_241(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_242(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_242(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_243(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_243(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_244(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_244(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_245(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_245(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_246(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_246(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_247(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_247(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_248(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_248(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_249(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_249(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_250(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_250(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_251(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_251(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_252(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_252(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_253(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_253(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_254(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_254(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_255(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_255(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-# define BOOST_PP_SEQ_FOLD_LEFT_256(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_256(op, st, ss, BOOST_PP_SEQ_SIZE(ss))
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC()
-# define BOOST_PP_SEQ_FOLD_LEFT_I_1(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_2, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(2, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_2(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_3, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(3, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_3(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_4, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(4, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_4(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_5, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(5, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_5(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_6, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(6, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_6(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_7, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(7, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_7(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_8, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(8, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_8(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_9, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(9, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_9(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_10, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(10, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_10(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_11, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(11, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_11(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_12, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(12, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_12(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_13, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(13, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_13(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_14, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(14, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_14(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_15, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(15, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_15(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_16, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(16, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_16(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_17, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(17, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_17(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_18, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(18, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_18(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_19, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(19, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_19(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_20, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(20, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_20(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_21, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(21, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_21(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_22, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(22, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_22(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_23, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(23, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_23(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_24, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(24, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_24(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_25, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(25, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_25(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_26, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(26, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_26(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_27, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(27, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_27(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_28, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(28, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_28(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_29, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(29, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_29(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_30, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(30, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_30(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_31, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(31, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_31(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_32, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(32, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_32(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_33, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(33, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_33(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_34, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(34, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_34(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_35, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(35, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_35(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_36, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(36, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_36(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_37, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(37, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_37(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_38, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(38, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_38(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_39, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(39, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_39(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_40, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(40, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_40(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_41, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(41, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_41(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_42, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(42, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_42(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_43, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(43, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_43(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_44, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(44, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_44(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_45, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(45, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_45(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_46, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(46, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_46(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_47, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(47, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_47(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_48, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(48, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_48(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_49, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(49, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_49(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_50, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(50, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_50(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_51, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(51, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_51(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_52, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(52, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_52(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_53, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(53, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_53(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_54, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(54, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_54(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_55, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(55, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_55(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_56, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(56, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_56(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_57, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(57, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_57(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_58, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(58, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_58(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_59, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(59, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_59(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_60, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(60, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_60(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_61, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(61, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_61(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_62, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(62, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_62(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_63, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(63, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_63(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_64, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(64, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_64(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_65, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(65, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_65(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_66, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(66, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_66(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_67, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(67, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_67(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_68, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(68, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_68(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_69, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(69, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_69(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_70, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(70, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_70(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_71, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(71, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_71(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_72, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(72, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_72(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_73, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(73, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_73(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_74, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(74, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_74(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_75, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(75, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_75(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_76, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(76, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_76(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_77, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(77, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_77(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_78, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(78, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_78(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_79, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(79, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_79(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_80, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(80, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_80(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_81, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(81, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_81(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_82, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(82, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_82(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_83, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(83, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_83(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_84, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(84, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_84(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_85, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(85, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_85(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_86, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(86, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_86(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_87, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(87, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_87(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_88, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(88, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_88(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_89, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(89, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_89(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_90, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(90, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_90(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_91, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(91, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_91(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_92, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(92, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_92(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_93, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(93, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_93(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_94, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(94, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_94(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_95, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(95, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_95(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_96, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(96, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_96(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_97, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(97, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_97(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_98, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(98, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_98(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_99, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(99, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_99(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_100, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(100, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_100(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_101, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(101, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_101(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_102, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(102, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_102(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_103, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(103, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_103(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_104, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(104, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_104(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_105, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(105, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_105(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_106, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(106, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_106(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_107, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(107, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_107(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_108, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(108, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_108(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_109, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(109, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_109(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_110, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(110, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_110(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_111, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(111, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_111(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_112, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(112, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_112(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_113, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(113, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_113(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_114, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(114, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_114(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_115, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(115, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_115(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_116, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(116, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_116(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_117, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(117, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_117(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_118, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(118, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_118(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_119, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(119, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_119(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_120, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(120, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_120(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_121, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(121, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_121(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_122, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(122, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_122(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_123, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(123, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_123(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_124, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(124, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_124(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_125, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(125, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_125(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_126, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(126, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_126(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_127, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(127, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_127(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_128, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(128, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_128(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_129, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(129, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_129(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_130, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(130, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_130(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_131, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(131, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_131(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_132, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(132, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_132(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_133, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(133, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_133(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_134, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(134, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_134(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_135, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(135, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_135(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_136, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(136, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_136(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_137, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(137, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_137(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_138, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(138, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_138(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_139, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(139, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_139(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_140, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(140, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_140(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_141, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(141, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_141(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_142, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(142, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_142(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_143, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(143, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_143(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_144, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(144, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_144(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_145, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(145, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_145(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_146, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(146, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_146(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_147, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(147, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_147(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_148, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(148, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_148(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_149, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(149, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_149(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_150, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(150, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_150(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_151, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(151, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_151(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_152, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(152, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_152(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_153, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(153, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_153(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_154, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(154, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_154(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_155, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(155, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_155(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_156, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(156, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_156(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_157, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(157, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_157(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_158, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(158, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_158(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_159, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(159, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_159(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_160, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(160, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_160(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_161, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(161, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_161(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_162, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(162, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_162(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_163, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(163, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_163(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_164, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(164, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_164(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_165, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(165, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_165(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_166, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(166, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_166(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_167, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(167, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_167(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_168, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(168, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_168(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_169, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(169, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_169(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_170, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(170, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_170(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_171, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(171, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_171(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_172, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(172, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_172(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_173, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(173, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_173(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_174, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(174, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_174(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_175, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(175, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_175(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_176, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(176, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_176(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_177, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(177, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_177(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_178, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(178, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_178(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_179, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(179, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_179(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_180, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(180, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_180(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_181, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(181, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_181(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_182, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(182, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_182(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_183, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(183, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_183(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_184, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(184, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_184(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_185, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(185, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_185(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_186, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(186, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_186(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_187, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(187, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_187(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_188, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(188, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_188(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_189, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(189, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_189(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_190, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(190, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_190(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_191, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(191, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_191(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_192, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(192, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_192(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_193, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(193, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_193(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_194, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(194, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_194(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_195, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(195, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_195(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_196, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(196, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_196(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_197, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(197, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_197(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_198, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(198, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_198(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_199, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(199, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_199(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_200, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(200, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_200(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_201, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(201, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_201(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_202, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(202, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_202(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_203, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(203, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_203(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_204, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(204, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_204(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_205, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(205, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_205(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_206, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(206, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_206(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_207, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(207, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_207(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_208, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(208, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_208(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_209, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(209, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_209(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_210, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(210, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_210(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_211, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(211, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_211(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_212, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(212, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_212(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_213, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(213, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_213(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_214, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(214, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_214(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_215, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(215, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_215(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_216, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(216, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_216(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_217, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(217, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_217(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_218, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(218, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_218(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_219, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(219, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_219(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_220, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(220, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_220(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_221, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(221, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_221(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_222, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(222, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_222(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_223, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(223, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_223(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_224, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(224, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_224(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_225, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(225, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_225(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_226, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(226, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_226(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_227, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(227, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_227(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_228, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(228, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_228(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_229, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(229, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_229(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_230, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(230, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_230(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_231, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(231, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_231(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_232, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(232, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_232(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_233, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(233, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_233(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_234, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(234, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_234(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_235, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(235, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_235(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_236, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(236, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_236(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_237, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(237, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_237(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_238, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(238, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_238(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_239, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(239, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_239(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_240, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(240, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_240(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_241, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(241, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_241(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_242, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(242, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_242(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_243, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(243, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_243(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_244, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(244, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_244(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_245, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(245, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_245(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_246, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(246, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_246(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_247, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(247, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_247(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_248, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(248, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_248(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_249, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(249, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_249(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_250, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(250, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_250(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_251, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(251, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_251(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_252, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(252, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_252(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_253, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(253, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_253(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_254, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(254, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_254(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_255, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(255, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_255(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_256, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(256, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_256(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_257, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(257, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# else
-# define BOOST_PP_SEQ_FOLD_LEFT_I_1(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_2, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(2, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_2(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_3, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(3, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_3(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_4, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(4, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_4(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_5, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(5, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_5(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_6, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(6, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_6(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_7, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(7, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_7(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_8, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(8, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_8(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_9, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(9, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_9(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_10, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(10, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_10(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_11, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(11, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_11(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_12, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(12, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_12(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_13, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(13, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_13(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_14, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(14, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_14(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_15, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(15, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_15(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_16, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(16, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_16(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_17, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(17, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_17(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_18, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(18, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_18(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_19, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(19, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_19(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_20, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(20, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_20(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_21, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(21, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_21(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_22, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(22, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_22(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_23, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(23, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_23(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_24, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(24, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_24(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_25, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(25, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_25(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_26, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(26, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_26(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_27, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(27, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_27(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_28, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(28, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_28(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_29, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(29, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_29(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_30, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(30, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_30(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_31, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(31, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_31(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_32, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(32, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_32(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_33, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(33, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_33(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_34, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(34, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_34(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_35, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(35, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_35(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_36, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(36, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_36(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_37, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(37, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_37(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_38, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(38, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_38(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_39, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(39, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_39(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_40, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(40, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_40(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_41, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(41, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_41(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_42, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(42, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_42(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_43, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(43, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_43(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_44, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(44, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_44(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_45, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(45, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_45(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_46, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(46, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_46(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_47, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(47, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_47(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_48, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(48, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_48(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_49, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(49, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_49(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_50, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(50, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_50(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_51, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(51, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_51(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_52, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(52, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_52(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_53, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(53, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_53(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_54, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(54, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_54(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_55, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(55, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_55(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_56, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(56, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_56(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_57, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(57, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_57(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_58, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(58, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_58(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_59, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(59, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_59(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_60, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(60, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_60(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_61, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(61, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_61(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_62, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(62, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_62(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_63, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(63, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_63(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_64, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(64, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_64(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_65, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(65, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_65(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_66, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(66, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_66(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_67, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(67, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_67(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_68, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(68, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_68(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_69, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(69, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_69(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_70, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(70, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_70(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_71, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(71, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_71(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_72, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(72, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_72(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_73, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(73, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_73(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_74, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(74, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_74(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_75, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(75, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_75(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_76, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(76, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_76(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_77, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(77, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_77(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_78, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(78, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_78(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_79, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(79, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_79(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_80, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(80, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_80(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_81, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(81, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_81(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_82, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(82, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_82(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_83, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(83, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_83(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_84, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(84, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_84(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_85, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(85, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_85(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_86, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(86, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_86(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_87, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(87, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_87(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_88, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(88, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_88(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_89, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(89, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_89(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_90, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(90, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_90(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_91, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(91, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_91(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_92, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(92, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_92(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_93, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(93, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_93(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_94, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(94, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_94(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_95, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(95, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_95(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_96, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(96, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_96(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_97, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(97, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_97(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_98, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(98, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_98(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_99, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(99, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_99(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_100, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(100, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_100(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_101, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(101, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_101(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_102, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(102, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_102(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_103, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(103, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_103(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_104, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(104, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_104(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_105, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(105, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_105(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_106, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(106, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_106(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_107, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(107, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_107(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_108, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(108, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_108(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_109, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(109, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_109(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_110, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(110, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_110(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_111, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(111, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_111(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_112, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(112, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_112(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_113, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(113, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_113(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_114, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(114, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_114(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_115, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(115, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_115(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_116, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(116, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_116(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_117, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(117, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_117(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_118, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(118, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_118(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_119, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(119, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_119(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_120, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(120, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_120(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_121, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(121, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_121(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_122, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(122, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_122(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_123, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(123, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_123(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_124, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(124, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_124(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_125, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(125, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_125(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_126, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(126, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_126(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_127, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(127, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_127(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_128, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(128, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_128(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_129, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(129, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_129(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_130, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(130, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_130(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_131, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(131, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_131(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_132, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(132, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_132(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_133, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(133, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_133(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_134, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(134, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_134(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_135, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(135, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_135(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_136, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(136, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_136(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_137, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(137, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_137(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_138, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(138, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_138(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_139, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(139, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_139(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_140, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(140, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_140(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_141, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(141, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_141(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_142, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(142, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_142(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_143, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(143, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_143(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_144, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(144, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_144(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_145, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(145, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_145(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_146, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(146, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_146(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_147, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(147, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_147(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_148, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(148, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_148(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_149, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(149, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_149(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_150, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(150, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_150(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_151, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(151, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_151(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_152, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(152, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_152(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_153, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(153, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_153(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_154, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(154, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_154(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_155, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(155, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_155(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_156, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(156, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_156(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_157, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(157, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_157(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_158, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(158, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_158(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_159, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(159, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_159(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_160, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(160, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_160(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_161, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(161, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_161(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_162, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(162, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_162(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_163, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(163, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_163(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_164, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(164, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_164(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_165, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(165, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_165(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_166, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(166, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_166(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_167, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(167, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_167(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_168, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(168, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_168(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_169, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(169, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_169(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_170, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(170, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_170(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_171, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(171, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_171(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_172, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(172, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_172(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_173, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(173, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_173(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_174, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(174, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_174(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_175, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(175, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_175(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_176, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(176, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_176(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_177, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(177, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_177(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_178, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(178, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_178(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_179, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(179, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_179(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_180, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(180, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_180(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_181, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(181, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_181(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_182, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(182, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_182(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_183, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(183, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_183(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_184, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(184, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_184(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_185, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(185, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_185(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_186, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(186, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_186(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_187, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(187, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_187(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_188, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(188, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_188(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_189, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(189, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_189(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_190, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(190, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_190(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_191, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(191, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_191(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_192, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(192, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_192(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_193, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(193, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_193(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_194, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(194, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_194(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_195, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(195, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_195(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_196, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(196, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_196(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_197, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(197, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_197(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_198, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(198, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_198(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_199, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(199, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_199(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_200, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(200, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_200(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_201, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(201, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_201(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_202, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(202, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_202(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_203, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(203, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_203(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_204, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(204, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_204(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_205, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(205, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_205(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_206, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(206, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_206(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_207, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(207, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_207(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_208, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(208, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_208(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_209, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(209, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_209(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_210, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(210, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_210(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_211, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(211, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_211(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_212, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(212, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_212(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_213, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(213, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_213(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_214, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(214, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_214(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_215, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(215, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_215(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_216, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(216, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_216(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_217, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(217, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_217(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_218, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(218, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_218(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_219, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(219, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_219(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_220, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(220, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_220(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_221, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(221, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_221(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_222, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(222, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_222(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_223, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(223, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_223(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_224, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(224, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_224(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_225, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(225, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_225(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_226, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(226, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_226(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_227, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(227, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_227(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_228, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(228, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_228(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_229, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(229, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_229(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_230, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(230, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_230(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_231, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(231, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_231(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_232, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(232, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_232(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_233, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(233, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_233(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_234, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(234, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_234(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_235, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(235, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_235(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_236, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(236, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_236(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_237, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(237, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_237(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_238, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(238, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_238(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_239, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(239, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_239(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_240, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(240, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_240(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_241, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(241, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_241(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_242, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(242, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_242(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_243, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(243, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_243(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_244, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(244, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_244(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_245, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(245, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_245(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_246, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(246, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_246(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_247, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(247, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_247(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_248, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(248, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_248(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_249, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(249, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_249(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_250, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(250, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_250(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_251, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(251, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_251(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_252, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(252, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_252(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_253, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(253, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_253(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_254, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(254, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_254(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_255, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(255, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_255(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_256, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(256, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# define BOOST_PP_SEQ_FOLD_LEFT_I_256(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_257, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(257, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz))
-# endif
-#
-# endif
diff --git a/boost/preprocessor/seq/for_each.hpp b/boost/preprocessor/seq/for_each.hpp
deleted file mode 100644
index e997a9a..0000000
--- a/boost/preprocessor/seq/for_each.hpp
+++ /dev/null
@@ -1,60 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_SEQ_FOR_EACH_HPP
-# define BOOST_PREPROCESSOR_SEQ_FOR_EACH_HPP
-#
-# include <boost/preprocessor/arithmetic/dec.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/repetition/for.hpp>
-# include <boost/preprocessor/seq/seq.hpp>
-# include <boost/preprocessor/seq/size.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-# include <boost/preprocessor/tuple/rem.hpp>
-#
-# /* BOOST_PP_SEQ_FOR_EACH */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_SEQ_FOR_EACH(macro, data, seq) BOOST_PP_FOR((macro, data, seq (nil)), BOOST_PP_SEQ_FOR_EACH_P, BOOST_PP_SEQ_FOR_EACH_O, BOOST_PP_SEQ_FOR_EACH_M)
-# else
-# define BOOST_PP_SEQ_FOR_EACH(macro, data, seq) BOOST_PP_SEQ_FOR_EACH_D(macro, data, seq)
-# define BOOST_PP_SEQ_FOR_EACH_D(macro, data, seq) BOOST_PP_FOR((macro, data, seq (nil)), BOOST_PP_SEQ_FOR_EACH_P, BOOST_PP_SEQ_FOR_EACH_O, BOOST_PP_SEQ_FOR_EACH_M)
-# endif
-#
-# define BOOST_PP_SEQ_FOR_EACH_P(r, x) BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(BOOST_PP_TUPLE_ELEM(3, 2, x)))
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
-# define BOOST_PP_SEQ_FOR_EACH_O(r, x) BOOST_PP_SEQ_FOR_EACH_O_I x
-# else
-# define BOOST_PP_SEQ_FOR_EACH_O(r, x) BOOST_PP_SEQ_FOR_EACH_O_I(BOOST_PP_TUPLE_ELEM(3, 0, x), BOOST_PP_TUPLE_ELEM(3, 1, x), BOOST_PP_TUPLE_ELEM(3, 2, x))
-# endif
-#
-# define BOOST_PP_SEQ_FOR_EACH_O_I(macro, data, seq) (macro, data, BOOST_PP_SEQ_TAIL(seq))
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
-# define BOOST_PP_SEQ_FOR_EACH_M(r, x) BOOST_PP_SEQ_FOR_EACH_M_IM(r, BOOST_PP_TUPLE_REM_3 x)
-# define BOOST_PP_SEQ_FOR_EACH_M_IM(r, im) BOOST_PP_SEQ_FOR_EACH_M_I(r, im)
-# else
-# define BOOST_PP_SEQ_FOR_EACH_M(r, x) BOOST_PP_SEQ_FOR_EACH_M_I(r, BOOST_PP_TUPLE_ELEM(3, 0, x), BOOST_PP_TUPLE_ELEM(3, 1, x), BOOST_PP_TUPLE_ELEM(3, 2, x))
-# endif
-#
-# define BOOST_PP_SEQ_FOR_EACH_M_I(r, macro, data, seq) macro(r, data, BOOST_PP_SEQ_HEAD(seq))
-#
-# /* BOOST_PP_SEQ_FOR_EACH_R */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_SEQ_FOR_EACH_R(r, macro, data, seq) BOOST_PP_FOR_ ## r((macro, data, seq (nil)), BOOST_PP_SEQ_FOR_EACH_P, BOOST_PP_SEQ_FOR_EACH_O, BOOST_PP_SEQ_FOR_EACH_M)
-# else
-# define BOOST_PP_SEQ_FOR_EACH_R(r, macro, data, seq) BOOST_PP_SEQ_FOR_EACH_R_I(r, macro, data, seq)
-# define BOOST_PP_SEQ_FOR_EACH_R_I(r, macro, data, seq) BOOST_PP_FOR_ ## r((macro, data, seq (nil)), BOOST_PP_SEQ_FOR_EACH_P, BOOST_PP_SEQ_FOR_EACH_O, BOOST_PP_SEQ_FOR_EACH_M)
-# endif
-#
-# endif
diff --git a/boost/preprocessor/seq/for_each_i.hpp b/boost/preprocessor/seq/for_each_i.hpp
deleted file mode 100644
index c8edf5a..0000000
--- a/boost/preprocessor/seq/for_each_i.hpp
+++ /dev/null
@@ -1,61 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_SEQ_FOR_EACH_I_HPP
-# define BOOST_PREPROCESSOR_SEQ_FOR_EACH_I_HPP
-#
-# include <boost/preprocessor/arithmetic/dec.hpp>
-# include <boost/preprocessor/arithmetic/inc.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/repetition/for.hpp>
-# include <boost/preprocessor/seq/seq.hpp>
-# include <boost/preprocessor/seq/size.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-# include <boost/preprocessor/tuple/rem.hpp>
-#
-# /* BOOST_PP_SEQ_FOR_EACH_I */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_SEQ_FOR_EACH_I(macro, data, seq) BOOST_PP_FOR((macro, data, seq (nil), 0), BOOST_PP_SEQ_FOR_EACH_I_P, BOOST_PP_SEQ_FOR_EACH_I_O, BOOST_PP_SEQ_FOR_EACH_I_M)
-# else
-# define BOOST_PP_SEQ_FOR_EACH_I(macro, data, seq) BOOST_PP_SEQ_FOR_EACH_I_I(macro, data, seq)
-# define BOOST_PP_SEQ_FOR_EACH_I_I(macro, data, seq) BOOST_PP_FOR((macro, data, seq (nil), 0), BOOST_PP_SEQ_FOR_EACH_I_P, BOOST_PP_SEQ_FOR_EACH_I_O, BOOST_PP_SEQ_FOR_EACH_I_M)
-# endif
-#
-# define BOOST_PP_SEQ_FOR_EACH_I_P(r, x) BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(BOOST_PP_TUPLE_ELEM(4, 2, x)))
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
-# define BOOST_PP_SEQ_FOR_EACH_I_O(r, x) BOOST_PP_SEQ_FOR_EACH_I_O_I x
-# else
-# define BOOST_PP_SEQ_FOR_EACH_I_O(r, x) BOOST_PP_SEQ_FOR_EACH_I_O_I(BOOST_PP_TUPLE_ELEM(4, 0, x), BOOST_PP_TUPLE_ELEM(4, 1, x), BOOST_PP_TUPLE_ELEM(4, 2, x), BOOST_PP_TUPLE_ELEM(4, 3, x))
-# endif
-#
-# define BOOST_PP_SEQ_FOR_EACH_I_O_I(macro, data, seq, i) (macro, data, BOOST_PP_SEQ_TAIL(seq), BOOST_PP_INC(i))
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
-# define BOOST_PP_SEQ_FOR_EACH_I_M(r, x) BOOST_PP_SEQ_FOR_EACH_I_M_IM(r, BOOST_PP_TUPLE_REM_4 x)
-# define BOOST_PP_SEQ_FOR_EACH_I_M_IM(r, im) BOOST_PP_SEQ_FOR_EACH_I_M_I(r, im)
-# else
-# define BOOST_PP_SEQ_FOR_EACH_I_M(r, x) BOOST_PP_SEQ_FOR_EACH_I_M_I(r, BOOST_PP_TUPLE_ELEM(4, 0, x), BOOST_PP_TUPLE_ELEM(4, 1, x), BOOST_PP_TUPLE_ELEM(4, 2, x), BOOST_PP_TUPLE_ELEM(4, 3, x))
-# endif
-#
-# define BOOST_PP_SEQ_FOR_EACH_I_M_I(r, macro, data, seq, i) macro(r, data, i, BOOST_PP_SEQ_HEAD(seq))
-#
-# /* BOOST_PP_SEQ_FOR_EACH_I_R */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_SEQ_FOR_EACH_I_R(r, macro, data, seq) BOOST_PP_FOR_ ## r((macro, data, seq (nil), 0), BOOST_PP_SEQ_FOR_EACH_I_P, BOOST_PP_SEQ_FOR_EACH_I_O, BOOST_PP_SEQ_FOR_EACH_I_M)
-# else
-# define BOOST_PP_SEQ_FOR_EACH_I_R(r, macro, data, seq) BOOST_PP_SEQ_FOR_EACH_I_R_I(r, macro, data, seq)
-# define BOOST_PP_SEQ_FOR_EACH_I_R_I(r, macro, data, seq) BOOST_PP_FOR_ ## r((macro, data, seq (nil), 0), BOOST_PP_SEQ_FOR_EACH_I_P, BOOST_PP_SEQ_FOR_EACH_I_O, BOOST_PP_SEQ_FOR_EACH_I_M)
-# endif
-#
-# endif
diff --git a/boost/preprocessor/seq/rest_n.hpp b/boost/preprocessor/seq/rest_n.hpp
deleted file mode 100644
index 7e589cc..0000000
--- a/boost/preprocessor/seq/rest_n.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_SEQ_REST_N_HPP
-# define BOOST_PREPROCESSOR_SEQ_REST_N_HPP
-#
-# include <boost/preprocessor/arithmetic/inc.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/facilities/empty.hpp>
-# include <boost/preprocessor/seq/detail/split.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-#
-# /* BOOST_PP_SEQ_REST_N */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_SEQ_REST_N(n, seq) BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_SEQ_SPLIT(BOOST_PP_INC(n), (nil) seq BOOST_PP_EMPTY))()
-# else
-# define BOOST_PP_SEQ_REST_N(n, seq) BOOST_PP_SEQ_REST_N_I(n, seq)
-# define BOOST_PP_SEQ_REST_N_I(n, seq) BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_SEQ_SPLIT(BOOST_PP_INC(n), (nil) seq BOOST_PP_EMPTY))()
-# endif
-#
-# endif
diff --git a/boost/preprocessor/seq/seq.hpp b/boost/preprocessor/seq/seq.hpp
deleted file mode 100644
index f5ca84c..0000000
--- a/boost/preprocessor/seq/seq.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_SEQ_SEQ_HPP
-# define BOOST_PREPROCESSOR_SEQ_SEQ_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/seq/elem.hpp>
-#
-# /* BOOST_PP_SEQ_HEAD */
-#
-# define BOOST_PP_SEQ_HEAD(seq) BOOST_PP_SEQ_ELEM(0, seq)
-#
-# /* BOOST_PP_SEQ_TAIL */
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-# define BOOST_PP_SEQ_TAIL(seq) BOOST_PP_SEQ_TAIL_1((seq))
-# define BOOST_PP_SEQ_TAIL_1(par) BOOST_PP_SEQ_TAIL_2 ## par
-# define BOOST_PP_SEQ_TAIL_2(seq) BOOST_PP_SEQ_TAIL_I ## seq
-# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-# define BOOST_PP_SEQ_TAIL(seq) BOOST_PP_SEQ_TAIL_ID(BOOST_PP_SEQ_TAIL_I seq)
-# define BOOST_PP_SEQ_TAIL_ID(id) id
-# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_SEQ_TAIL(seq) BOOST_PP_SEQ_TAIL_D(seq)
-# define BOOST_PP_SEQ_TAIL_D(seq) BOOST_PP_SEQ_TAIL_I seq
-# else
-# define BOOST_PP_SEQ_TAIL(seq) BOOST_PP_SEQ_TAIL_I seq
-# endif
-#
-# define BOOST_PP_SEQ_TAIL_I(x)
-#
-# /* BOOST_PP_SEQ_NIL */
-#
-# define BOOST_PP_SEQ_NIL(x) (x)
-#
-# endif
diff --git a/boost/preprocessor/seq/size.hpp b/boost/preprocessor/seq/size.hpp
deleted file mode 100644
index 385c00a..0000000
--- a/boost/preprocessor/seq/size.hpp
+++ /dev/null
@@ -1,547 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_SEQ_SIZE_HPP
-# define BOOST_PREPROCESSOR_SEQ_SIZE_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-# define BOOST_PP_SEQ_SIZE(seq) BOOST_PP_SEQ_SIZE_I((seq))
-# define BOOST_PP_SEQ_SIZE_I(par) BOOST_PP_SEQ_SIZE_II ## par
-# define BOOST_PP_SEQ_SIZE_II(seq) BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_, BOOST_PP_SEQ_SIZE_0 ## seq)
-# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() || BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-# define BOOST_PP_SEQ_SIZE(seq) BOOST_PP_SEQ_SIZE_I(seq)
-# define BOOST_PP_SEQ_SIZE_I(seq) BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_, BOOST_PP_SEQ_SIZE_0 seq)
-# elif defined(__IBMC__) || defined(__IBMCPP__)
-# define BOOST_PP_SEQ_SIZE(seq) BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_, BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_0, seq))
-# else
-# define BOOST_PP_SEQ_SIZE(seq) BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_, BOOST_PP_SEQ_SIZE_0 seq)
-# endif
-#
-# define BOOST_PP_SEQ_SIZE_0(_) BOOST_PP_SEQ_SIZE_1
-# define BOOST_PP_SEQ_SIZE_1(_) BOOST_PP_SEQ_SIZE_2
-# define BOOST_PP_SEQ_SIZE_2(_) BOOST_PP_SEQ_SIZE_3
-# define BOOST_PP_SEQ_SIZE_3(_) BOOST_PP_SEQ_SIZE_4
-# define BOOST_PP_SEQ_SIZE_4(_) BOOST_PP_SEQ_SIZE_5
-# define BOOST_PP_SEQ_SIZE_5(_) BOOST_PP_SEQ_SIZE_6
-# define BOOST_PP_SEQ_SIZE_6(_) BOOST_PP_SEQ_SIZE_7
-# define BOOST_PP_SEQ_SIZE_7(_) BOOST_PP_SEQ_SIZE_8
-# define BOOST_PP_SEQ_SIZE_8(_) BOOST_PP_SEQ_SIZE_9
-# define BOOST_PP_SEQ_SIZE_9(_) BOOST_PP_SEQ_SIZE_10
-# define BOOST_PP_SEQ_SIZE_10(_) BOOST_PP_SEQ_SIZE_11
-# define BOOST_PP_SEQ_SIZE_11(_) BOOST_PP_SEQ_SIZE_12
-# define BOOST_PP_SEQ_SIZE_12(_) BOOST_PP_SEQ_SIZE_13
-# define BOOST_PP_SEQ_SIZE_13(_) BOOST_PP_SEQ_SIZE_14
-# define BOOST_PP_SEQ_SIZE_14(_) BOOST_PP_SEQ_SIZE_15
-# define BOOST_PP_SEQ_SIZE_15(_) BOOST_PP_SEQ_SIZE_16
-# define BOOST_PP_SEQ_SIZE_16(_) BOOST_PP_SEQ_SIZE_17
-# define BOOST_PP_SEQ_SIZE_17(_) BOOST_PP_SEQ_SIZE_18
-# define BOOST_PP_SEQ_SIZE_18(_) BOOST_PP_SEQ_SIZE_19
-# define BOOST_PP_SEQ_SIZE_19(_) BOOST_PP_SEQ_SIZE_20
-# define BOOST_PP_SEQ_SIZE_20(_) BOOST_PP_SEQ_SIZE_21
-# define BOOST_PP_SEQ_SIZE_21(_) BOOST_PP_SEQ_SIZE_22
-# define BOOST_PP_SEQ_SIZE_22(_) BOOST_PP_SEQ_SIZE_23
-# define BOOST_PP_SEQ_SIZE_23(_) BOOST_PP_SEQ_SIZE_24
-# define BOOST_PP_SEQ_SIZE_24(_) BOOST_PP_SEQ_SIZE_25
-# define BOOST_PP_SEQ_SIZE_25(_) BOOST_PP_SEQ_SIZE_26
-# define BOOST_PP_SEQ_SIZE_26(_) BOOST_PP_SEQ_SIZE_27
-# define BOOST_PP_SEQ_SIZE_27(_) BOOST_PP_SEQ_SIZE_28
-# define BOOST_PP_SEQ_SIZE_28(_) BOOST_PP_SEQ_SIZE_29
-# define BOOST_PP_SEQ_SIZE_29(_) BOOST_PP_SEQ_SIZE_30
-# define BOOST_PP_SEQ_SIZE_30(_) BOOST_PP_SEQ_SIZE_31
-# define BOOST_PP_SEQ_SIZE_31(_) BOOST_PP_SEQ_SIZE_32
-# define BOOST_PP_SEQ_SIZE_32(_) BOOST_PP_SEQ_SIZE_33
-# define BOOST_PP_SEQ_SIZE_33(_) BOOST_PP_SEQ_SIZE_34
-# define BOOST_PP_SEQ_SIZE_34(_) BOOST_PP_SEQ_SIZE_35
-# define BOOST_PP_SEQ_SIZE_35(_) BOOST_PP_SEQ_SIZE_36
-# define BOOST_PP_SEQ_SIZE_36(_) BOOST_PP_SEQ_SIZE_37
-# define BOOST_PP_SEQ_SIZE_37(_) BOOST_PP_SEQ_SIZE_38
-# define BOOST_PP_SEQ_SIZE_38(_) BOOST_PP_SEQ_SIZE_39
-# define BOOST_PP_SEQ_SIZE_39(_) BOOST_PP_SEQ_SIZE_40
-# define BOOST_PP_SEQ_SIZE_40(_) BOOST_PP_SEQ_SIZE_41
-# define BOOST_PP_SEQ_SIZE_41(_) BOOST_PP_SEQ_SIZE_42
-# define BOOST_PP_SEQ_SIZE_42(_) BOOST_PP_SEQ_SIZE_43
-# define BOOST_PP_SEQ_SIZE_43(_) BOOST_PP_SEQ_SIZE_44
-# define BOOST_PP_SEQ_SIZE_44(_) BOOST_PP_SEQ_SIZE_45
-# define BOOST_PP_SEQ_SIZE_45(_) BOOST_PP_SEQ_SIZE_46
-# define BOOST_PP_SEQ_SIZE_46(_) BOOST_PP_SEQ_SIZE_47
-# define BOOST_PP_SEQ_SIZE_47(_) BOOST_PP_SEQ_SIZE_48
-# define BOOST_PP_SEQ_SIZE_48(_) BOOST_PP_SEQ_SIZE_49
-# define BOOST_PP_SEQ_SIZE_49(_) BOOST_PP_SEQ_SIZE_50
-# define BOOST_PP_SEQ_SIZE_50(_) BOOST_PP_SEQ_SIZE_51
-# define BOOST_PP_SEQ_SIZE_51(_) BOOST_PP_SEQ_SIZE_52
-# define BOOST_PP_SEQ_SIZE_52(_) BOOST_PP_SEQ_SIZE_53
-# define BOOST_PP_SEQ_SIZE_53(_) BOOST_PP_SEQ_SIZE_54
-# define BOOST_PP_SEQ_SIZE_54(_) BOOST_PP_SEQ_SIZE_55
-# define BOOST_PP_SEQ_SIZE_55(_) BOOST_PP_SEQ_SIZE_56
-# define BOOST_PP_SEQ_SIZE_56(_) BOOST_PP_SEQ_SIZE_57
-# define BOOST_PP_SEQ_SIZE_57(_) BOOST_PP_SEQ_SIZE_58
-# define BOOST_PP_SEQ_SIZE_58(_) BOOST_PP_SEQ_SIZE_59
-# define BOOST_PP_SEQ_SIZE_59(_) BOOST_PP_SEQ_SIZE_60
-# define BOOST_PP_SEQ_SIZE_60(_) BOOST_PP_SEQ_SIZE_61
-# define BOOST_PP_SEQ_SIZE_61(_) BOOST_PP_SEQ_SIZE_62
-# define BOOST_PP_SEQ_SIZE_62(_) BOOST_PP_SEQ_SIZE_63
-# define BOOST_PP_SEQ_SIZE_63(_) BOOST_PP_SEQ_SIZE_64
-# define BOOST_PP_SEQ_SIZE_64(_) BOOST_PP_SEQ_SIZE_65
-# define BOOST_PP_SEQ_SIZE_65(_) BOOST_PP_SEQ_SIZE_66
-# define BOOST_PP_SEQ_SIZE_66(_) BOOST_PP_SEQ_SIZE_67
-# define BOOST_PP_SEQ_SIZE_67(_) BOOST_PP_SEQ_SIZE_68
-# define BOOST_PP_SEQ_SIZE_68(_) BOOST_PP_SEQ_SIZE_69
-# define BOOST_PP_SEQ_SIZE_69(_) BOOST_PP_SEQ_SIZE_70
-# define BOOST_PP_SEQ_SIZE_70(_) BOOST_PP_SEQ_SIZE_71
-# define BOOST_PP_SEQ_SIZE_71(_) BOOST_PP_SEQ_SIZE_72
-# define BOOST_PP_SEQ_SIZE_72(_) BOOST_PP_SEQ_SIZE_73
-# define BOOST_PP_SEQ_SIZE_73(_) BOOST_PP_SEQ_SIZE_74
-# define BOOST_PP_SEQ_SIZE_74(_) BOOST_PP_SEQ_SIZE_75
-# define BOOST_PP_SEQ_SIZE_75(_) BOOST_PP_SEQ_SIZE_76
-# define BOOST_PP_SEQ_SIZE_76(_) BOOST_PP_SEQ_SIZE_77
-# define BOOST_PP_SEQ_SIZE_77(_) BOOST_PP_SEQ_SIZE_78
-# define BOOST_PP_SEQ_SIZE_78(_) BOOST_PP_SEQ_SIZE_79
-# define BOOST_PP_SEQ_SIZE_79(_) BOOST_PP_SEQ_SIZE_80
-# define BOOST_PP_SEQ_SIZE_80(_) BOOST_PP_SEQ_SIZE_81
-# define BOOST_PP_SEQ_SIZE_81(_) BOOST_PP_SEQ_SIZE_82
-# define BOOST_PP_SEQ_SIZE_82(_) BOOST_PP_SEQ_SIZE_83
-# define BOOST_PP_SEQ_SIZE_83(_) BOOST_PP_SEQ_SIZE_84
-# define BOOST_PP_SEQ_SIZE_84(_) BOOST_PP_SEQ_SIZE_85
-# define BOOST_PP_SEQ_SIZE_85(_) BOOST_PP_SEQ_SIZE_86
-# define BOOST_PP_SEQ_SIZE_86(_) BOOST_PP_SEQ_SIZE_87
-# define BOOST_PP_SEQ_SIZE_87(_) BOOST_PP_SEQ_SIZE_88
-# define BOOST_PP_SEQ_SIZE_88(_) BOOST_PP_SEQ_SIZE_89
-# define BOOST_PP_SEQ_SIZE_89(_) BOOST_PP_SEQ_SIZE_90
-# define BOOST_PP_SEQ_SIZE_90(_) BOOST_PP_SEQ_SIZE_91
-# define BOOST_PP_SEQ_SIZE_91(_) BOOST_PP_SEQ_SIZE_92
-# define BOOST_PP_SEQ_SIZE_92(_) BOOST_PP_SEQ_SIZE_93
-# define BOOST_PP_SEQ_SIZE_93(_) BOOST_PP_SEQ_SIZE_94
-# define BOOST_PP_SEQ_SIZE_94(_) BOOST_PP_SEQ_SIZE_95
-# define BOOST_PP_SEQ_SIZE_95(_) BOOST_PP_SEQ_SIZE_96
-# define BOOST_PP_SEQ_SIZE_96(_) BOOST_PP_SEQ_SIZE_97
-# define BOOST_PP_SEQ_SIZE_97(_) BOOST_PP_SEQ_SIZE_98
-# define BOOST_PP_SEQ_SIZE_98(_) BOOST_PP_SEQ_SIZE_99
-# define BOOST_PP_SEQ_SIZE_99(_) BOOST_PP_SEQ_SIZE_100
-# define BOOST_PP_SEQ_SIZE_100(_) BOOST_PP_SEQ_SIZE_101
-# define BOOST_PP_SEQ_SIZE_101(_) BOOST_PP_SEQ_SIZE_102
-# define BOOST_PP_SEQ_SIZE_102(_) BOOST_PP_SEQ_SIZE_103
-# define BOOST_PP_SEQ_SIZE_103(_) BOOST_PP_SEQ_SIZE_104
-# define BOOST_PP_SEQ_SIZE_104(_) BOOST_PP_SEQ_SIZE_105
-# define BOOST_PP_SEQ_SIZE_105(_) BOOST_PP_SEQ_SIZE_106
-# define BOOST_PP_SEQ_SIZE_106(_) BOOST_PP_SEQ_SIZE_107
-# define BOOST_PP_SEQ_SIZE_107(_) BOOST_PP_SEQ_SIZE_108
-# define BOOST_PP_SEQ_SIZE_108(_) BOOST_PP_SEQ_SIZE_109
-# define BOOST_PP_SEQ_SIZE_109(_) BOOST_PP_SEQ_SIZE_110
-# define BOOST_PP_SEQ_SIZE_110(_) BOOST_PP_SEQ_SIZE_111
-# define BOOST_PP_SEQ_SIZE_111(_) BOOST_PP_SEQ_SIZE_112
-# define BOOST_PP_SEQ_SIZE_112(_) BOOST_PP_SEQ_SIZE_113
-# define BOOST_PP_SEQ_SIZE_113(_) BOOST_PP_SEQ_SIZE_114
-# define BOOST_PP_SEQ_SIZE_114(_) BOOST_PP_SEQ_SIZE_115
-# define BOOST_PP_SEQ_SIZE_115(_) BOOST_PP_SEQ_SIZE_116
-# define BOOST_PP_SEQ_SIZE_116(_) BOOST_PP_SEQ_SIZE_117
-# define BOOST_PP_SEQ_SIZE_117(_) BOOST_PP_SEQ_SIZE_118
-# define BOOST_PP_SEQ_SIZE_118(_) BOOST_PP_SEQ_SIZE_119
-# define BOOST_PP_SEQ_SIZE_119(_) BOOST_PP_SEQ_SIZE_120
-# define BOOST_PP_SEQ_SIZE_120(_) BOOST_PP_SEQ_SIZE_121
-# define BOOST_PP_SEQ_SIZE_121(_) BOOST_PP_SEQ_SIZE_122
-# define BOOST_PP_SEQ_SIZE_122(_) BOOST_PP_SEQ_SIZE_123
-# define BOOST_PP_SEQ_SIZE_123(_) BOOST_PP_SEQ_SIZE_124
-# define BOOST_PP_SEQ_SIZE_124(_) BOOST_PP_SEQ_SIZE_125
-# define BOOST_PP_SEQ_SIZE_125(_) BOOST_PP_SEQ_SIZE_126
-# define BOOST_PP_SEQ_SIZE_126(_) BOOST_PP_SEQ_SIZE_127
-# define BOOST_PP_SEQ_SIZE_127(_) BOOST_PP_SEQ_SIZE_128
-# define BOOST_PP_SEQ_SIZE_128(_) BOOST_PP_SEQ_SIZE_129
-# define BOOST_PP_SEQ_SIZE_129(_) BOOST_PP_SEQ_SIZE_130
-# define BOOST_PP_SEQ_SIZE_130(_) BOOST_PP_SEQ_SIZE_131
-# define BOOST_PP_SEQ_SIZE_131(_) BOOST_PP_SEQ_SIZE_132
-# define BOOST_PP_SEQ_SIZE_132(_) BOOST_PP_SEQ_SIZE_133
-# define BOOST_PP_SEQ_SIZE_133(_) BOOST_PP_SEQ_SIZE_134
-# define BOOST_PP_SEQ_SIZE_134(_) BOOST_PP_SEQ_SIZE_135
-# define BOOST_PP_SEQ_SIZE_135(_) BOOST_PP_SEQ_SIZE_136
-# define BOOST_PP_SEQ_SIZE_136(_) BOOST_PP_SEQ_SIZE_137
-# define BOOST_PP_SEQ_SIZE_137(_) BOOST_PP_SEQ_SIZE_138
-# define BOOST_PP_SEQ_SIZE_138(_) BOOST_PP_SEQ_SIZE_139
-# define BOOST_PP_SEQ_SIZE_139(_) BOOST_PP_SEQ_SIZE_140
-# define BOOST_PP_SEQ_SIZE_140(_) BOOST_PP_SEQ_SIZE_141
-# define BOOST_PP_SEQ_SIZE_141(_) BOOST_PP_SEQ_SIZE_142
-# define BOOST_PP_SEQ_SIZE_142(_) BOOST_PP_SEQ_SIZE_143
-# define BOOST_PP_SEQ_SIZE_143(_) BOOST_PP_SEQ_SIZE_144
-# define BOOST_PP_SEQ_SIZE_144(_) BOOST_PP_SEQ_SIZE_145
-# define BOOST_PP_SEQ_SIZE_145(_) BOOST_PP_SEQ_SIZE_146
-# define BOOST_PP_SEQ_SIZE_146(_) BOOST_PP_SEQ_SIZE_147
-# define BOOST_PP_SEQ_SIZE_147(_) BOOST_PP_SEQ_SIZE_148
-# define BOOST_PP_SEQ_SIZE_148(_) BOOST_PP_SEQ_SIZE_149
-# define BOOST_PP_SEQ_SIZE_149(_) BOOST_PP_SEQ_SIZE_150
-# define BOOST_PP_SEQ_SIZE_150(_) BOOST_PP_SEQ_SIZE_151
-# define BOOST_PP_SEQ_SIZE_151(_) BOOST_PP_SEQ_SIZE_152
-# define BOOST_PP_SEQ_SIZE_152(_) BOOST_PP_SEQ_SIZE_153
-# define BOOST_PP_SEQ_SIZE_153(_) BOOST_PP_SEQ_SIZE_154
-# define BOOST_PP_SEQ_SIZE_154(_) BOOST_PP_SEQ_SIZE_155
-# define BOOST_PP_SEQ_SIZE_155(_) BOOST_PP_SEQ_SIZE_156
-# define BOOST_PP_SEQ_SIZE_156(_) BOOST_PP_SEQ_SIZE_157
-# define BOOST_PP_SEQ_SIZE_157(_) BOOST_PP_SEQ_SIZE_158
-# define BOOST_PP_SEQ_SIZE_158(_) BOOST_PP_SEQ_SIZE_159
-# define BOOST_PP_SEQ_SIZE_159(_) BOOST_PP_SEQ_SIZE_160
-# define BOOST_PP_SEQ_SIZE_160(_) BOOST_PP_SEQ_SIZE_161
-# define BOOST_PP_SEQ_SIZE_161(_) BOOST_PP_SEQ_SIZE_162
-# define BOOST_PP_SEQ_SIZE_162(_) BOOST_PP_SEQ_SIZE_163
-# define BOOST_PP_SEQ_SIZE_163(_) BOOST_PP_SEQ_SIZE_164
-# define BOOST_PP_SEQ_SIZE_164(_) BOOST_PP_SEQ_SIZE_165
-# define BOOST_PP_SEQ_SIZE_165(_) BOOST_PP_SEQ_SIZE_166
-# define BOOST_PP_SEQ_SIZE_166(_) BOOST_PP_SEQ_SIZE_167
-# define BOOST_PP_SEQ_SIZE_167(_) BOOST_PP_SEQ_SIZE_168
-# define BOOST_PP_SEQ_SIZE_168(_) BOOST_PP_SEQ_SIZE_169
-# define BOOST_PP_SEQ_SIZE_169(_) BOOST_PP_SEQ_SIZE_170
-# define BOOST_PP_SEQ_SIZE_170(_) BOOST_PP_SEQ_SIZE_171
-# define BOOST_PP_SEQ_SIZE_171(_) BOOST_PP_SEQ_SIZE_172
-# define BOOST_PP_SEQ_SIZE_172(_) BOOST_PP_SEQ_SIZE_173
-# define BOOST_PP_SEQ_SIZE_173(_) BOOST_PP_SEQ_SIZE_174
-# define BOOST_PP_SEQ_SIZE_174(_) BOOST_PP_SEQ_SIZE_175
-# define BOOST_PP_SEQ_SIZE_175(_) BOOST_PP_SEQ_SIZE_176
-# define BOOST_PP_SEQ_SIZE_176(_) BOOST_PP_SEQ_SIZE_177
-# define BOOST_PP_SEQ_SIZE_177(_) BOOST_PP_SEQ_SIZE_178
-# define BOOST_PP_SEQ_SIZE_178(_) BOOST_PP_SEQ_SIZE_179
-# define BOOST_PP_SEQ_SIZE_179(_) BOOST_PP_SEQ_SIZE_180
-# define BOOST_PP_SEQ_SIZE_180(_) BOOST_PP_SEQ_SIZE_181
-# define BOOST_PP_SEQ_SIZE_181(_) BOOST_PP_SEQ_SIZE_182
-# define BOOST_PP_SEQ_SIZE_182(_) BOOST_PP_SEQ_SIZE_183
-# define BOOST_PP_SEQ_SIZE_183(_) BOOST_PP_SEQ_SIZE_184
-# define BOOST_PP_SEQ_SIZE_184(_) BOOST_PP_SEQ_SIZE_185
-# define BOOST_PP_SEQ_SIZE_185(_) BOOST_PP_SEQ_SIZE_186
-# define BOOST_PP_SEQ_SIZE_186(_) BOOST_PP_SEQ_SIZE_187
-# define BOOST_PP_SEQ_SIZE_187(_) BOOST_PP_SEQ_SIZE_188
-# define BOOST_PP_SEQ_SIZE_188(_) BOOST_PP_SEQ_SIZE_189
-# define BOOST_PP_SEQ_SIZE_189(_) BOOST_PP_SEQ_SIZE_190
-# define BOOST_PP_SEQ_SIZE_190(_) BOOST_PP_SEQ_SIZE_191
-# define BOOST_PP_SEQ_SIZE_191(_) BOOST_PP_SEQ_SIZE_192
-# define BOOST_PP_SEQ_SIZE_192(_) BOOST_PP_SEQ_SIZE_193
-# define BOOST_PP_SEQ_SIZE_193(_) BOOST_PP_SEQ_SIZE_194
-# define BOOST_PP_SEQ_SIZE_194(_) BOOST_PP_SEQ_SIZE_195
-# define BOOST_PP_SEQ_SIZE_195(_) BOOST_PP_SEQ_SIZE_196
-# define BOOST_PP_SEQ_SIZE_196(_) BOOST_PP_SEQ_SIZE_197
-# define BOOST_PP_SEQ_SIZE_197(_) BOOST_PP_SEQ_SIZE_198
-# define BOOST_PP_SEQ_SIZE_198(_) BOOST_PP_SEQ_SIZE_199
-# define BOOST_PP_SEQ_SIZE_199(_) BOOST_PP_SEQ_SIZE_200
-# define BOOST_PP_SEQ_SIZE_200(_) BOOST_PP_SEQ_SIZE_201
-# define BOOST_PP_SEQ_SIZE_201(_) BOOST_PP_SEQ_SIZE_202
-# define BOOST_PP_SEQ_SIZE_202(_) BOOST_PP_SEQ_SIZE_203
-# define BOOST_PP_SEQ_SIZE_203(_) BOOST_PP_SEQ_SIZE_204
-# define BOOST_PP_SEQ_SIZE_204(_) BOOST_PP_SEQ_SIZE_205
-# define BOOST_PP_SEQ_SIZE_205(_) BOOST_PP_SEQ_SIZE_206
-# define BOOST_PP_SEQ_SIZE_206(_) BOOST_PP_SEQ_SIZE_207
-# define BOOST_PP_SEQ_SIZE_207(_) BOOST_PP_SEQ_SIZE_208
-# define BOOST_PP_SEQ_SIZE_208(_) BOOST_PP_SEQ_SIZE_209
-# define BOOST_PP_SEQ_SIZE_209(_) BOOST_PP_SEQ_SIZE_210
-# define BOOST_PP_SEQ_SIZE_210(_) BOOST_PP_SEQ_SIZE_211
-# define BOOST_PP_SEQ_SIZE_211(_) BOOST_PP_SEQ_SIZE_212
-# define BOOST_PP_SEQ_SIZE_212(_) BOOST_PP_SEQ_SIZE_213
-# define BOOST_PP_SEQ_SIZE_213(_) BOOST_PP_SEQ_SIZE_214
-# define BOOST_PP_SEQ_SIZE_214(_) BOOST_PP_SEQ_SIZE_215
-# define BOOST_PP_SEQ_SIZE_215(_) BOOST_PP_SEQ_SIZE_216
-# define BOOST_PP_SEQ_SIZE_216(_) BOOST_PP_SEQ_SIZE_217
-# define BOOST_PP_SEQ_SIZE_217(_) BOOST_PP_SEQ_SIZE_218
-# define BOOST_PP_SEQ_SIZE_218(_) BOOST_PP_SEQ_SIZE_219
-# define BOOST_PP_SEQ_SIZE_219(_) BOOST_PP_SEQ_SIZE_220
-# define BOOST_PP_SEQ_SIZE_220(_) BOOST_PP_SEQ_SIZE_221
-# define BOOST_PP_SEQ_SIZE_221(_) BOOST_PP_SEQ_SIZE_222
-# define BOOST_PP_SEQ_SIZE_222(_) BOOST_PP_SEQ_SIZE_223
-# define BOOST_PP_SEQ_SIZE_223(_) BOOST_PP_SEQ_SIZE_224
-# define BOOST_PP_SEQ_SIZE_224(_) BOOST_PP_SEQ_SIZE_225
-# define BOOST_PP_SEQ_SIZE_225(_) BOOST_PP_SEQ_SIZE_226
-# define BOOST_PP_SEQ_SIZE_226(_) BOOST_PP_SEQ_SIZE_227
-# define BOOST_PP_SEQ_SIZE_227(_) BOOST_PP_SEQ_SIZE_228
-# define BOOST_PP_SEQ_SIZE_228(_) BOOST_PP_SEQ_SIZE_229
-# define BOOST_PP_SEQ_SIZE_229(_) BOOST_PP_SEQ_SIZE_230
-# define BOOST_PP_SEQ_SIZE_230(_) BOOST_PP_SEQ_SIZE_231
-# define BOOST_PP_SEQ_SIZE_231(_) BOOST_PP_SEQ_SIZE_232
-# define BOOST_PP_SEQ_SIZE_232(_) BOOST_PP_SEQ_SIZE_233
-# define BOOST_PP_SEQ_SIZE_233(_) BOOST_PP_SEQ_SIZE_234
-# define BOOST_PP_SEQ_SIZE_234(_) BOOST_PP_SEQ_SIZE_235
-# define BOOST_PP_SEQ_SIZE_235(_) BOOST_PP_SEQ_SIZE_236
-# define BOOST_PP_SEQ_SIZE_236(_) BOOST_PP_SEQ_SIZE_237
-# define BOOST_PP_SEQ_SIZE_237(_) BOOST_PP_SEQ_SIZE_238
-# define BOOST_PP_SEQ_SIZE_238(_) BOOST_PP_SEQ_SIZE_239
-# define BOOST_PP_SEQ_SIZE_239(_) BOOST_PP_SEQ_SIZE_240
-# define BOOST_PP_SEQ_SIZE_240(_) BOOST_PP_SEQ_SIZE_241
-# define BOOST_PP_SEQ_SIZE_241(_) BOOST_PP_SEQ_SIZE_242
-# define BOOST_PP_SEQ_SIZE_242(_) BOOST_PP_SEQ_SIZE_243
-# define BOOST_PP_SEQ_SIZE_243(_) BOOST_PP_SEQ_SIZE_244
-# define BOOST_PP_SEQ_SIZE_244(_) BOOST_PP_SEQ_SIZE_245
-# define BOOST_PP_SEQ_SIZE_245(_) BOOST_PP_SEQ_SIZE_246
-# define BOOST_PP_SEQ_SIZE_246(_) BOOST_PP_SEQ_SIZE_247
-# define BOOST_PP_SEQ_SIZE_247(_) BOOST_PP_SEQ_SIZE_248
-# define BOOST_PP_SEQ_SIZE_248(_) BOOST_PP_SEQ_SIZE_249
-# define BOOST_PP_SEQ_SIZE_249(_) BOOST_PP_SEQ_SIZE_250
-# define BOOST_PP_SEQ_SIZE_250(_) BOOST_PP_SEQ_SIZE_251
-# define BOOST_PP_SEQ_SIZE_251(_) BOOST_PP_SEQ_SIZE_252
-# define BOOST_PP_SEQ_SIZE_252(_) BOOST_PP_SEQ_SIZE_253
-# define BOOST_PP_SEQ_SIZE_253(_) BOOST_PP_SEQ_SIZE_254
-# define BOOST_PP_SEQ_SIZE_254(_) BOOST_PP_SEQ_SIZE_255
-# define BOOST_PP_SEQ_SIZE_255(_) BOOST_PP_SEQ_SIZE_256
-# define BOOST_PP_SEQ_SIZE_256(_) BOOST_PP_SEQ_SIZE_257
-#
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_0 0
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_1 1
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_2 2
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_3 3
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_4 4
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_5 5
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_6 6
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_7 7
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_8 8
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_9 9
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_10 10
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_11 11
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_12 12
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_13 13
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_14 14
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_15 15
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_16 16
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_17 17
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_18 18
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_19 19
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_20 20
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_21 21
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_22 22
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_23 23
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_24 24
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_25 25
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_26 26
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_27 27
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_28 28
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_29 29
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_30 30
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_31 31
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_32 32
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_33 33
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_34 34
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_35 35
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_36 36
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_37 37
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_38 38
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_39 39
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_40 40
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_41 41
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_42 42
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_43 43
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_44 44
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_45 45
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_46 46
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_47 47
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_48 48
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_49 49
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_50 50
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_51 51
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_52 52
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_53 53
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_54 54
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_55 55
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_56 56
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_57 57
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_58 58
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_59 59
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_60 60
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_61 61
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_62 62
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_63 63
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_64 64
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_65 65
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_66 66
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_67 67
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_68 68
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_69 69
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_70 70
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_71 71
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_72 72
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_73 73
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_74 74
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_75 75
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_76 76
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_77 77
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_78 78
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_79 79
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_80 80
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_81 81
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_82 82
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_83 83
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_84 84
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_85 85
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_86 86
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_87 87
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_88 88
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_89 89
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_90 90
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_91 91
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_92 92
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_93 93
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_94 94
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_95 95
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_96 96
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_97 97
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_98 98
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_99 99
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_100 100
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_101 101
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_102 102
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_103 103
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_104 104
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_105 105
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_106 106
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_107 107
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_108 108
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_109 109
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_110 110
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_111 111
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_112 112
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_113 113
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_114 114
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_115 115
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_116 116
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_117 117
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_118 118
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_119 119
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_120 120
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_121 121
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_122 122
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_123 123
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_124 124
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_125 125
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_126 126
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_127 127
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_128 128
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_129 129
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_130 130
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_131 131
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_132 132
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_133 133
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_134 134
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_135 135
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_136 136
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_137 137
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_138 138
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_139 139
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_140 140
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_141 141
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_142 142
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_143 143
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_144 144
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_145 145
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_146 146
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_147 147
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_148 148
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_149 149
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_150 150
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_151 151
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_152 152
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_153 153
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_154 154
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_155 155
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_156 156
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_157 157
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_158 158
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_159 159
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_160 160
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_161 161
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_162 162
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_163 163
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_164 164
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_165 165
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_166 166
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_167 167
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_168 168
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_169 169
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_170 170
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_171 171
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_172 172
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_173 173
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_174 174
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_175 175
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_176 176
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_177 177
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_178 178
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_179 179
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_180 180
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_181 181
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_182 182
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_183 183
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_184 184
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_185 185
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_186 186
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_187 187
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_188 188
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_189 189
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_190 190
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_191 191
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_192 192
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_193 193
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_194 194
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_195 195
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_196 196
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_197 197
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_198 198
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_199 199
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_200 200
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_201 201
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_202 202
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_203 203
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_204 204
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_205 205
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_206 206
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_207 207
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_208 208
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_209 209
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_210 210
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_211 211
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_212 212
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_213 213
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_214 214
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_215 215
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_216 216
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_217 217
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_218 218
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_219 219
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_220 220
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_221 221
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_222 222
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_223 223
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_224 224
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_225 225
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_226 226
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_227 227
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_228 228
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_229 229
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_230 230
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_231 231
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_232 232
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_233 233
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_234 234
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_235 235
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_236 236
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_237 237
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_238 238
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_239 239
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_240 240
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_241 241
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_242 242
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_243 243
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_244 244
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_245 245
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_246 246
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_247 247
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_248 248
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_249 249
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_250 250
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_251 251
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_252 252
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_253 253
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_254 254
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_255 255
-# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_256 256
-#
-# endif
diff --git a/boost/preprocessor/seq/subseq.hpp b/boost/preprocessor/seq/subseq.hpp
deleted file mode 100644
index fb242f1..0000000
--- a/boost/preprocessor/seq/subseq.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_SEQ_SUBSEQ_HPP
-# define BOOST_PREPROCESSOR_SEQ_SUBSEQ_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/seq/first_n.hpp>
-# include <boost/preprocessor/seq/rest_n.hpp>
-#
-# /* BOOST_PP_SEQ_SUBSEQ */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_SEQ_SUBSEQ(seq, i, len) BOOST_PP_SEQ_FIRST_N(len, BOOST_PP_SEQ_REST_N(i, seq))
-# else
-# define BOOST_PP_SEQ_SUBSEQ(seq, i, len) BOOST_PP_SEQ_SUBSEQ_I(seq, i, len)
-# define BOOST_PP_SEQ_SUBSEQ_I(seq, i, len) BOOST_PP_SEQ_FIRST_N(len, BOOST_PP_SEQ_REST_N(i, seq))
-# endif
-#
-# endif
diff --git a/boost/preprocessor/seq/transform.hpp b/boost/preprocessor/seq/transform.hpp
deleted file mode 100644
index 79d8108..0000000
--- a/boost/preprocessor/seq/transform.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_SEQ_TRANSFORM_HPP
-# define BOOST_PREPROCESSOR_SEQ_TRANSFORM_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/seq/fold_left.hpp>
-# include <boost/preprocessor/seq/seq.hpp>
-# include <boost/preprocessor/tuple/elem.hpp>
-# include <boost/preprocessor/tuple/rem.hpp>
-#
-# /* BOOST_PP_SEQ_TRANSFORM */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_SEQ_TRANSFORM(op, data, seq) BOOST_PP_SEQ_TAIL(BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_SEQ_FOLD_LEFT(BOOST_PP_SEQ_TRANSFORM_O, (op, data, (nil)), seq)))
-# else
-# define BOOST_PP_SEQ_TRANSFORM(op, data, seq) BOOST_PP_SEQ_TRANSFORM_I(op, data, seq)
-# define BOOST_PP_SEQ_TRANSFORM_I(op, data, seq) BOOST_PP_SEQ_TAIL(BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_SEQ_FOLD_LEFT(BOOST_PP_SEQ_TRANSFORM_O, (op, data, (nil)), seq)))
-# endif
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
-# define BOOST_PP_SEQ_TRANSFORM_O(s, state, elem) BOOST_PP_SEQ_TRANSFORM_O_IM(s, BOOST_PP_TUPLE_REM_3 state, elem)
-# define BOOST_PP_SEQ_TRANSFORM_O_IM(s, im, elem) BOOST_PP_SEQ_TRANSFORM_O_I(s, im, elem)
-# else
-# define BOOST_PP_SEQ_TRANSFORM_O(s, state, elem) BOOST_PP_SEQ_TRANSFORM_O_I(s, BOOST_PP_TUPLE_ELEM(3, 0, state), BOOST_PP_TUPLE_ELEM(3, 1, state), BOOST_PP_TUPLE_ELEM(3, 2, state), elem)
-# endif
-#
-# define BOOST_PP_SEQ_TRANSFORM_O_I(s, op, data, res, elem) (op, data, res (op(s, data, elem)))
-#
-# /* BOOST_PP_SEQ_TRANSFORM_S */
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_SEQ_TRANSFORM_S(s, op, data, seq) BOOST_PP_SEQ_TAIL(BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_SEQ_FOLD_LEFT_ ## s(BOOST_PP_SEQ_TRANSFORM_O, (op, data, (nil)), seq)))
-# else
-# define BOOST_PP_SEQ_TRANSFORM_S(s, op, data, seq) BOOST_PP_SEQ_TRANSFORM_S_I(s, op, data, seq)
-# define BOOST_PP_SEQ_TRANSFORM_S_I(s, op, data, seq) BOOST_PP_SEQ_TAIL(BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_SEQ_FOLD_LEFT_ ## s(BOOST_PP_SEQ_TRANSFORM_O, (op, data, (nil)), seq)))
-# endif
-#
-# endif
diff --git a/boost/preprocessor/slot/detail/counter.hpp b/boost/preprocessor/slot/detail/counter.hpp
deleted file mode 100644
index a1c0df1..0000000
--- a/boost/preprocessor/slot/detail/counter.hpp
+++ /dev/null
@@ -1,269 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2005. *
-# * Distributed under the Boost Software License, Version 1.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. */
-#
-# define BOOST_PP_VALUE BOOST_PP_COUNTER + 1
-#
-# include <boost/preprocessor/slot/detail/shared.hpp>
-#
-# undef BOOST_PP_COUNTER
-#
-# undef BOOST_PP_COUNTER_DIGIT_1
-# undef BOOST_PP_COUNTER_DIGIT_2
-# undef BOOST_PP_COUNTER_DIGIT_3
-# undef BOOST_PP_COUNTER_DIGIT_4
-# undef BOOST_PP_COUNTER_DIGIT_5
-# undef BOOST_PP_COUNTER_DIGIT_6
-# undef BOOST_PP_COUNTER_DIGIT_7
-# undef BOOST_PP_COUNTER_DIGIT_8
-# undef BOOST_PP_COUNTER_DIGIT_9
-# undef BOOST_PP_COUNTER_DIGIT_10
-#
-# if BOOST_PP_SLOT_TEMP_10 == 0
-# define BOOST_PP_COUNTER_DIGIT_10 0
-# elif BOOST_PP_SLOT_TEMP_10 == 1
-# define BOOST_PP_COUNTER_DIGIT_10 1
-# elif BOOST_PP_SLOT_TEMP_10 == 2
-# define BOOST_PP_COUNTER_DIGIT_10 2
-# elif BOOST_PP_SLOT_TEMP_10 == 3
-# define BOOST_PP_COUNTER_DIGIT_10 3
-# elif BOOST_PP_SLOT_TEMP_10 == 4
-# define BOOST_PP_COUNTER_DIGIT_10 4
-# elif BOOST_PP_SLOT_TEMP_10 == 5
-# define BOOST_PP_COUNTER_DIGIT_10 5
-# elif BOOST_PP_SLOT_TEMP_10 == 6
-# define BOOST_PP_COUNTER_DIGIT_10 6
-# elif BOOST_PP_SLOT_TEMP_10 == 7
-# define BOOST_PP_COUNTER_DIGIT_10 7
-# elif BOOST_PP_SLOT_TEMP_10 == 8
-# define BOOST_PP_COUNTER_DIGIT_10 8
-# elif BOOST_PP_SLOT_TEMP_10 == 9
-# define BOOST_PP_COUNTER_DIGIT_10 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_9 == 0
-# define BOOST_PP_COUNTER_DIGIT_9 0
-# elif BOOST_PP_SLOT_TEMP_9 == 1
-# define BOOST_PP_COUNTER_DIGIT_9 1
-# elif BOOST_PP_SLOT_TEMP_9 == 2
-# define BOOST_PP_COUNTER_DIGIT_9 2
-# elif BOOST_PP_SLOT_TEMP_9 == 3
-# define BOOST_PP_COUNTER_DIGIT_9 3
-# elif BOOST_PP_SLOT_TEMP_9 == 4
-# define BOOST_PP_COUNTER_DIGIT_9 4
-# elif BOOST_PP_SLOT_TEMP_9 == 5
-# define BOOST_PP_COUNTER_DIGIT_9 5
-# elif BOOST_PP_SLOT_TEMP_9 == 6
-# define BOOST_PP_COUNTER_DIGIT_9 6
-# elif BOOST_PP_SLOT_TEMP_9 == 7
-# define BOOST_PP_COUNTER_DIGIT_9 7
-# elif BOOST_PP_SLOT_TEMP_9 == 8
-# define BOOST_PP_COUNTER_DIGIT_9 8
-# elif BOOST_PP_SLOT_TEMP_9 == 9
-# define BOOST_PP_COUNTER_DIGIT_9 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_8 == 0
-# define BOOST_PP_COUNTER_DIGIT_8 0
-# elif BOOST_PP_SLOT_TEMP_8 == 1
-# define BOOST_PP_COUNTER_DIGIT_8 1
-# elif BOOST_PP_SLOT_TEMP_8 == 2
-# define BOOST_PP_COUNTER_DIGIT_8 2
-# elif BOOST_PP_SLOT_TEMP_8 == 3
-# define BOOST_PP_COUNTER_DIGIT_8 3
-# elif BOOST_PP_SLOT_TEMP_8 == 4
-# define BOOST_PP_COUNTER_DIGIT_8 4
-# elif BOOST_PP_SLOT_TEMP_8 == 5
-# define BOOST_PP_COUNTER_DIGIT_8 5
-# elif BOOST_PP_SLOT_TEMP_8 == 6
-# define BOOST_PP_COUNTER_DIGIT_8 6
-# elif BOOST_PP_SLOT_TEMP_8 == 7
-# define BOOST_PP_COUNTER_DIGIT_8 7
-# elif BOOST_PP_SLOT_TEMP_8 == 8
-# define BOOST_PP_COUNTER_DIGIT_8 8
-# elif BOOST_PP_SLOT_TEMP_8 == 9
-# define BOOST_PP_COUNTER_DIGIT_8 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_7 == 0
-# define BOOST_PP_COUNTER_DIGIT_7 0
-# elif BOOST_PP_SLOT_TEMP_7 == 1
-# define BOOST_PP_COUNTER_DIGIT_7 1
-# elif BOOST_PP_SLOT_TEMP_7 == 2
-# define BOOST_PP_COUNTER_DIGIT_7 2
-# elif BOOST_PP_SLOT_TEMP_7 == 3
-# define BOOST_PP_COUNTER_DIGIT_7 3
-# elif BOOST_PP_SLOT_TEMP_7 == 4
-# define BOOST_PP_COUNTER_DIGIT_7 4
-# elif BOOST_PP_SLOT_TEMP_7 == 5
-# define BOOST_PP_COUNTER_DIGIT_7 5
-# elif BOOST_PP_SLOT_TEMP_7 == 6
-# define BOOST_PP_COUNTER_DIGIT_7 6
-# elif BOOST_PP_SLOT_TEMP_7 == 7
-# define BOOST_PP_COUNTER_DIGIT_7 7
-# elif BOOST_PP_SLOT_TEMP_7 == 8
-# define BOOST_PP_COUNTER_DIGIT_7 8
-# elif BOOST_PP_SLOT_TEMP_7 == 9
-# define BOOST_PP_COUNTER_DIGIT_7 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_6 == 0
-# define BOOST_PP_COUNTER_DIGIT_6 0
-# elif BOOST_PP_SLOT_TEMP_6 == 1
-# define BOOST_PP_COUNTER_DIGIT_6 1
-# elif BOOST_PP_SLOT_TEMP_6 == 2
-# define BOOST_PP_COUNTER_DIGIT_6 2
-# elif BOOST_PP_SLOT_TEMP_6 == 3
-# define BOOST_PP_COUNTER_DIGIT_6 3
-# elif BOOST_PP_SLOT_TEMP_6 == 4
-# define BOOST_PP_COUNTER_DIGIT_6 4
-# elif BOOST_PP_SLOT_TEMP_6 == 5
-# define BOOST_PP_COUNTER_DIGIT_6 5
-# elif BOOST_PP_SLOT_TEMP_6 == 6
-# define BOOST_PP_COUNTER_DIGIT_6 6
-# elif BOOST_PP_SLOT_TEMP_6 == 7
-# define BOOST_PP_COUNTER_DIGIT_6 7
-# elif BOOST_PP_SLOT_TEMP_6 == 8
-# define BOOST_PP_COUNTER_DIGIT_6 8
-# elif BOOST_PP_SLOT_TEMP_6 == 9
-# define BOOST_PP_COUNTER_DIGIT_6 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_5 == 0
-# define BOOST_PP_COUNTER_DIGIT_5 0
-# elif BOOST_PP_SLOT_TEMP_5 == 1
-# define BOOST_PP_COUNTER_DIGIT_5 1
-# elif BOOST_PP_SLOT_TEMP_5 == 2
-# define BOOST_PP_COUNTER_DIGIT_5 2
-# elif BOOST_PP_SLOT_TEMP_5 == 3
-# define BOOST_PP_COUNTER_DIGIT_5 3
-# elif BOOST_PP_SLOT_TEMP_5 == 4
-# define BOOST_PP_COUNTER_DIGIT_5 4
-# elif BOOST_PP_SLOT_TEMP_5 == 5
-# define BOOST_PP_COUNTER_DIGIT_5 5
-# elif BOOST_PP_SLOT_TEMP_5 == 6
-# define BOOST_PP_COUNTER_DIGIT_5 6
-# elif BOOST_PP_SLOT_TEMP_5 == 7
-# define BOOST_PP_COUNTER_DIGIT_5 7
-# elif BOOST_PP_SLOT_TEMP_5 == 8
-# define BOOST_PP_COUNTER_DIGIT_5 8
-# elif BOOST_PP_SLOT_TEMP_5 == 9
-# define BOOST_PP_COUNTER_DIGIT_5 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_4 == 0
-# define BOOST_PP_COUNTER_DIGIT_4 0
-# elif BOOST_PP_SLOT_TEMP_4 == 1
-# define BOOST_PP_COUNTER_DIGIT_4 1
-# elif BOOST_PP_SLOT_TEMP_4 == 2
-# define BOOST_PP_COUNTER_DIGIT_4 2
-# elif BOOST_PP_SLOT_TEMP_4 == 3
-# define BOOST_PP_COUNTER_DIGIT_4 3
-# elif BOOST_PP_SLOT_TEMP_4 == 4
-# define BOOST_PP_COUNTER_DIGIT_4 4
-# elif BOOST_PP_SLOT_TEMP_4 == 5
-# define BOOST_PP_COUNTER_DIGIT_4 5
-# elif BOOST_PP_SLOT_TEMP_4 == 6
-# define BOOST_PP_COUNTER_DIGIT_4 6
-# elif BOOST_PP_SLOT_TEMP_4 == 7
-# define BOOST_PP_COUNTER_DIGIT_4 7
-# elif BOOST_PP_SLOT_TEMP_4 == 8
-# define BOOST_PP_COUNTER_DIGIT_4 8
-# elif BOOST_PP_SLOT_TEMP_4 == 9
-# define BOOST_PP_COUNTER_DIGIT_4 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_3 == 0
-# define BOOST_PP_COUNTER_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-# define BOOST_PP_COUNTER_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-# define BOOST_PP_COUNTER_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-# define BOOST_PP_COUNTER_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-# define BOOST_PP_COUNTER_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-# define BOOST_PP_COUNTER_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-# define BOOST_PP_COUNTER_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-# define BOOST_PP_COUNTER_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-# define BOOST_PP_COUNTER_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-# define BOOST_PP_COUNTER_DIGIT_3 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_2 == 0
-# define BOOST_PP_COUNTER_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-# define BOOST_PP_COUNTER_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-# define BOOST_PP_COUNTER_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-# define BOOST_PP_COUNTER_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-# define BOOST_PP_COUNTER_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-# define BOOST_PP_COUNTER_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-# define BOOST_PP_COUNTER_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-# define BOOST_PP_COUNTER_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-# define BOOST_PP_COUNTER_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-# define BOOST_PP_COUNTER_DIGIT_2 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_1 == 0
-# define BOOST_PP_COUNTER_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-# define BOOST_PP_COUNTER_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-# define BOOST_PP_COUNTER_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-# define BOOST_PP_COUNTER_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-# define BOOST_PP_COUNTER_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-# define BOOST_PP_COUNTER_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-# define BOOST_PP_COUNTER_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-# define BOOST_PP_COUNTER_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-# define BOOST_PP_COUNTER_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-# define BOOST_PP_COUNTER_DIGIT_1 9
-# endif
-#
-# if BOOST_PP_COUNTER_DIGIT_10
-# define BOOST_PP_COUNTER BOOST_PP_SLOT_CC_10(BOOST_PP_COUNTER_DIGIT_10, BOOST_PP_COUNTER_DIGIT_9, BOOST_PP_COUNTER_DIGIT_8, BOOST_PP_COUNTER_DIGIT_7, BOOST_PP_COUNTER_DIGIT_6, BOOST_PP_COUNTER_DIGIT_5, BOOST_PP_COUNTER_DIGIT_4, BOOST_PP_COUNTER_DIGIT_3, BOOST_PP_COUNTER_DIGIT_2, BOOST_PP_COUNTER_DIGIT_1)
-# elif BOOST_PP_COUNTER_DIGIT_9
-# define BOOST_PP_COUNTER BOOST_PP_SLOT_CC_9(BOOST_PP_COUNTER_DIGIT_9, BOOST_PP_COUNTER_DIGIT_8, BOOST_PP_COUNTER_DIGIT_7, BOOST_PP_COUNTER_DIGIT_6, BOOST_PP_COUNTER_DIGIT_5, BOOST_PP_COUNTER_DIGIT_4, BOOST_PP_COUNTER_DIGIT_3, BOOST_PP_COUNTER_DIGIT_2, BOOST_PP_COUNTER_DIGIT_1)
-# elif BOOST_PP_COUNTER_DIGIT_8
-# define BOOST_PP_COUNTER BOOST_PP_SLOT_CC_8(BOOST_PP_COUNTER_DIGIT_8, BOOST_PP_COUNTER_DIGIT_7, BOOST_PP_COUNTER_DIGIT_6, BOOST_PP_COUNTER_DIGIT_5, BOOST_PP_COUNTER_DIGIT_4, BOOST_PP_COUNTER_DIGIT_3, BOOST_PP_COUNTER_DIGIT_2, BOOST_PP_COUNTER_DIGIT_1)
-# elif BOOST_PP_COUNTER_DIGIT_7
-# define BOOST_PP_COUNTER BOOST_PP_SLOT_CC_7(BOOST_PP_COUNTER_DIGIT_7, BOOST_PP_COUNTER_DIGIT_6, BOOST_PP_COUNTER_DIGIT_5, BOOST_PP_COUNTER_DIGIT_4, BOOST_PP_COUNTER_DIGIT_3, BOOST_PP_COUNTER_DIGIT_2, BOOST_PP_COUNTER_DIGIT_1)
-# elif BOOST_PP_COUNTER_DIGIT_6
-# define BOOST_PP_COUNTER BOOST_PP_SLOT_CC_6(BOOST_PP_COUNTER_DIGIT_6, BOOST_PP_COUNTER_DIGIT_5, BOOST_PP_COUNTER_DIGIT_4, BOOST_PP_COUNTER_DIGIT_3, BOOST_PP_COUNTER_DIGIT_2, BOOST_PP_COUNTER_DIGIT_1)
-# elif BOOST_PP_COUNTER_DIGIT_5
-# define BOOST_PP_COUNTER BOOST_PP_SLOT_CC_5(BOOST_PP_COUNTER_DIGIT_5, BOOST_PP_COUNTER_DIGIT_4, BOOST_PP_COUNTER_DIGIT_3, BOOST_PP_COUNTER_DIGIT_2, BOOST_PP_COUNTER_DIGIT_1)
-# elif BOOST_PP_COUNTER_DIGIT_4
-# define BOOST_PP_COUNTER BOOST_PP_SLOT_CC_4(BOOST_PP_COUNTER_DIGIT_4, BOOST_PP_COUNTER_DIGIT_3, BOOST_PP_COUNTER_DIGIT_2, BOOST_PP_COUNTER_DIGIT_1)
-# elif BOOST_PP_COUNTER_DIGIT_3
-# define BOOST_PP_COUNTER BOOST_PP_SLOT_CC_3(BOOST_PP_COUNTER_DIGIT_3, BOOST_PP_COUNTER_DIGIT_2, BOOST_PP_COUNTER_DIGIT_1)
-# elif BOOST_PP_COUNTER_DIGIT_2
-# define BOOST_PP_COUNTER BOOST_PP_SLOT_CC_2(BOOST_PP_COUNTER_DIGIT_2, BOOST_PP_COUNTER_DIGIT_1)
-# else
-# define BOOST_PP_COUNTER BOOST_PP_COUNTER_DIGIT_1
-# endif
diff --git a/boost/preprocessor/slot/detail/def.hpp b/boost/preprocessor/slot/detail/def.hpp
deleted file mode 100644
index 885099e..0000000
--- a/boost/preprocessor/slot/detail/def.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_SLOT_DETAIL_DEF_HPP
-# define BOOST_PREPROCESSOR_SLOT_DETAIL_DEF_HPP
-#
-# /* BOOST_PP_SLOT_OFFSET_x */
-#
-# define BOOST_PP_SLOT_OFFSET_10(x) (x) % 1000000000UL
-# define BOOST_PP_SLOT_OFFSET_9(x) BOOST_PP_SLOT_OFFSET_10(x) % 100000000UL
-# define BOOST_PP_SLOT_OFFSET_8(x) BOOST_PP_SLOT_OFFSET_9(x) % 10000000UL
-# define BOOST_PP_SLOT_OFFSET_7(x) BOOST_PP_SLOT_OFFSET_8(x) % 1000000UL
-# define BOOST_PP_SLOT_OFFSET_6(x) BOOST_PP_SLOT_OFFSET_7(x) % 100000UL
-# define BOOST_PP_SLOT_OFFSET_5(x) BOOST_PP_SLOT_OFFSET_6(x) % 10000UL
-# define BOOST_PP_SLOT_OFFSET_4(x) BOOST_PP_SLOT_OFFSET_5(x) % 1000UL
-# define BOOST_PP_SLOT_OFFSET_3(x) BOOST_PP_SLOT_OFFSET_4(x) % 100UL
-# define BOOST_PP_SLOT_OFFSET_2(x) BOOST_PP_SLOT_OFFSET_3(x) % 10UL
-#
-# /* BOOST_PP_SLOT_CC_x */
-#
-# define BOOST_PP_SLOT_CC_2(a, b) BOOST_PP_SLOT_CC_2_D(a, b)
-# define BOOST_PP_SLOT_CC_3(a, b, c) BOOST_PP_SLOT_CC_3_D(a, b, c)
-# define BOOST_PP_SLOT_CC_4(a, b, c, d) BOOST_PP_SLOT_CC_4_D(a, b, c, d)
-# define BOOST_PP_SLOT_CC_5(a, b, c, d, e) BOOST_PP_SLOT_CC_5_D(a, b, c, d, e)
-# define BOOST_PP_SLOT_CC_6(a, b, c, d, e, f) BOOST_PP_SLOT_CC_6_D(a, b, c, d, e, f)
-# define BOOST_PP_SLOT_CC_7(a, b, c, d, e, f, g) BOOST_PP_SLOT_CC_7_D(a, b, c, d, e, f, g)
-# define BOOST_PP_SLOT_CC_8(a, b, c, d, e, f, g, h) BOOST_PP_SLOT_CC_8_D(a, b, c, d, e, f, g, h)
-# define BOOST_PP_SLOT_CC_9(a, b, c, d, e, f, g, h, i) BOOST_PP_SLOT_CC_9_D(a, b, c, d, e, f, g, h, i)
-# define BOOST_PP_SLOT_CC_10(a, b, c, d, e, f, g, h, i, j) BOOST_PP_SLOT_CC_10_D(a, b, c, d, e, f, g, h, i, j)
-#
-# define BOOST_PP_SLOT_CC_2_D(a, b) a ## b
-# define BOOST_PP_SLOT_CC_3_D(a, b, c) a ## b ## c
-# define BOOST_PP_SLOT_CC_4_D(a, b, c, d) a ## b ## c ## d
-# define BOOST_PP_SLOT_CC_5_D(a, b, c, d, e) a ## b ## c ## d ## e
-# define BOOST_PP_SLOT_CC_6_D(a, b, c, d, e, f) a ## b ## c ## d ## e ## f
-# define BOOST_PP_SLOT_CC_7_D(a, b, c, d, e, f, g) a ## b ## c ## d ## e ## f ## g
-# define BOOST_PP_SLOT_CC_8_D(a, b, c, d, e, f, g, h) a ## b ## c ## d ## e ## f ## g ## h
-# define BOOST_PP_SLOT_CC_9_D(a, b, c, d, e, f, g, h, i) a ## b ## c ## d ## e ## f ## g ## h ## i
-# define BOOST_PP_SLOT_CC_10_D(a, b, c, d, e, f, g, h, i, j) a ## b ## c ## d ## e ## f ## g ## h ## i ## j
-#
-# endif
diff --git a/boost/preprocessor/slot/detail/shared.hpp b/boost/preprocessor/slot/detail/shared.hpp
deleted file mode 100644
index c97ac54..0000000
--- a/boost/preprocessor/slot/detail/shared.hpp
+++ /dev/null
@@ -1,247 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PP_VALUE
-# error BOOST_PP_ERROR: BOOST_PP_VALUE is not defined
-# endif
-#
-# undef BOOST_PP_SLOT_TEMP_1
-# undef BOOST_PP_SLOT_TEMP_2
-# undef BOOST_PP_SLOT_TEMP_3
-# undef BOOST_PP_SLOT_TEMP_4
-# undef BOOST_PP_SLOT_TEMP_5
-# undef BOOST_PP_SLOT_TEMP_6
-# undef BOOST_PP_SLOT_TEMP_7
-# undef BOOST_PP_SLOT_TEMP_8
-# undef BOOST_PP_SLOT_TEMP_9
-# undef BOOST_PP_SLOT_TEMP_10
-#
-# if (BOOST_PP_VALUE) / 1000000000UL == 0
-# define BOOST_PP_SLOT_TEMP_10 0
-# elif (BOOST_PP_VALUE) / 1000000000UL == 1
-# define BOOST_PP_SLOT_TEMP_10 1
-# elif (BOOST_PP_VALUE) / 1000000000UL == 2
-# define BOOST_PP_SLOT_TEMP_10 2
-# elif (BOOST_PP_VALUE) / 1000000000UL == 3
-# define BOOST_PP_SLOT_TEMP_10 3
-# elif (BOOST_PP_VALUE) / 1000000000UL == 4
-# define BOOST_PP_SLOT_TEMP_10 4
-# elif (BOOST_PP_VALUE) / 1000000000UL == 5
-# define BOOST_PP_SLOT_TEMP_10 5
-# elif (BOOST_PP_VALUE) / 1000000000UL == 6
-# define BOOST_PP_SLOT_TEMP_10 6
-# elif (BOOST_PP_VALUE) / 1000000000UL == 7
-# define BOOST_PP_SLOT_TEMP_10 7
-# elif (BOOST_PP_VALUE) / 1000000000UL == 8
-# define BOOST_PP_SLOT_TEMP_10 8
-# elif (BOOST_PP_VALUE) / 1000000000UL == 9
-# define BOOST_PP_SLOT_TEMP_10 9
-# endif
-#
-# if BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 0
-# define BOOST_PP_SLOT_TEMP_9 0
-# elif BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 1
-# define BOOST_PP_SLOT_TEMP_9 1
-# elif BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 2
-# define BOOST_PP_SLOT_TEMP_9 2
-# elif BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 3
-# define BOOST_PP_SLOT_TEMP_9 3
-# elif BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 4
-# define BOOST_PP_SLOT_TEMP_9 4
-# elif BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 5
-# define BOOST_PP_SLOT_TEMP_9 5
-# elif BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 6
-# define BOOST_PP_SLOT_TEMP_9 6
-# elif BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 7
-# define BOOST_PP_SLOT_TEMP_9 7
-# elif BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 8
-# define BOOST_PP_SLOT_TEMP_9 8
-# elif BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 9
-# define BOOST_PP_SLOT_TEMP_9 9
-# endif
-#
-# if BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 0
-# define BOOST_PP_SLOT_TEMP_8 0
-# elif BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 1
-# define BOOST_PP_SLOT_TEMP_8 1
-# elif BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 2
-# define BOOST_PP_SLOT_TEMP_8 2
-# elif BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 3
-# define BOOST_PP_SLOT_TEMP_8 3
-# elif BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 4
-# define BOOST_PP_SLOT_TEMP_8 4
-# elif BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 5
-# define BOOST_PP_SLOT_TEMP_8 5
-# elif BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 6
-# define BOOST_PP_SLOT_TEMP_8 6
-# elif BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 7
-# define BOOST_PP_SLOT_TEMP_8 7
-# elif BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 8
-# define BOOST_PP_SLOT_TEMP_8 8
-# elif BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 9
-# define BOOST_PP_SLOT_TEMP_8 9
-# endif
-#
-# if BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 0
-# define BOOST_PP_SLOT_TEMP_7 0
-# elif BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 1
-# define BOOST_PP_SLOT_TEMP_7 1
-# elif BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 2
-# define BOOST_PP_SLOT_TEMP_7 2
-# elif BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 3
-# define BOOST_PP_SLOT_TEMP_7 3
-# elif BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 4
-# define BOOST_PP_SLOT_TEMP_7 4
-# elif BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 5
-# define BOOST_PP_SLOT_TEMP_7 5
-# elif BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 6
-# define BOOST_PP_SLOT_TEMP_7 6
-# elif BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 7
-# define BOOST_PP_SLOT_TEMP_7 7
-# elif BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 8
-# define BOOST_PP_SLOT_TEMP_7 8
-# elif BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 9
-# define BOOST_PP_SLOT_TEMP_7 9
-# endif
-#
-# if BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 0
-# define BOOST_PP_SLOT_TEMP_6 0
-# elif BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 1
-# define BOOST_PP_SLOT_TEMP_6 1
-# elif BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 2
-# define BOOST_PP_SLOT_TEMP_6 2
-# elif BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 3
-# define BOOST_PP_SLOT_TEMP_6 3
-# elif BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 4
-# define BOOST_PP_SLOT_TEMP_6 4
-# elif BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 5
-# define BOOST_PP_SLOT_TEMP_6 5
-# elif BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 6
-# define BOOST_PP_SLOT_TEMP_6 6
-# elif BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 7
-# define BOOST_PP_SLOT_TEMP_6 7
-# elif BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 8
-# define BOOST_PP_SLOT_TEMP_6 8
-# elif BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 9
-# define BOOST_PP_SLOT_TEMP_6 9
-# endif
-#
-# if BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 0
-# define BOOST_PP_SLOT_TEMP_5 0
-# elif BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 1
-# define BOOST_PP_SLOT_TEMP_5 1
-# elif BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 2
-# define BOOST_PP_SLOT_TEMP_5 2
-# elif BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 3
-# define BOOST_PP_SLOT_TEMP_5 3
-# elif BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 4
-# define BOOST_PP_SLOT_TEMP_5 4
-# elif BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 5
-# define BOOST_PP_SLOT_TEMP_5 5
-# elif BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 6
-# define BOOST_PP_SLOT_TEMP_5 6
-# elif BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 7
-# define BOOST_PP_SLOT_TEMP_5 7
-# elif BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 8
-# define BOOST_PP_SLOT_TEMP_5 8
-# elif BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 9
-# define BOOST_PP_SLOT_TEMP_5 9
-# endif
-#
-# if BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 0
-# define BOOST_PP_SLOT_TEMP_4 0
-# elif BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 1
-# define BOOST_PP_SLOT_TEMP_4 1
-# elif BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 2
-# define BOOST_PP_SLOT_TEMP_4 2
-# elif BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 3
-# define BOOST_PP_SLOT_TEMP_4 3
-# elif BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 4
-# define BOOST_PP_SLOT_TEMP_4 4
-# elif BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 5
-# define BOOST_PP_SLOT_TEMP_4 5
-# elif BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 6
-# define BOOST_PP_SLOT_TEMP_4 6
-# elif BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 7
-# define BOOST_PP_SLOT_TEMP_4 7
-# elif BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 8
-# define BOOST_PP_SLOT_TEMP_4 8
-# elif BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 9
-# define BOOST_PP_SLOT_TEMP_4 9
-# endif
-#
-# if BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 0
-# define BOOST_PP_SLOT_TEMP_3 0
-# elif BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 1
-# define BOOST_PP_SLOT_TEMP_3 1
-# elif BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 2
-# define BOOST_PP_SLOT_TEMP_3 2
-# elif BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 3
-# define BOOST_PP_SLOT_TEMP_3 3
-# elif BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 4
-# define BOOST_PP_SLOT_TEMP_3 4
-# elif BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 5
-# define BOOST_PP_SLOT_TEMP_3 5
-# elif BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 6
-# define BOOST_PP_SLOT_TEMP_3 6
-# elif BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 7
-# define BOOST_PP_SLOT_TEMP_3 7
-# elif BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 8
-# define BOOST_PP_SLOT_TEMP_3 8
-# elif BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 9
-# define BOOST_PP_SLOT_TEMP_3 9
-# endif
-#
-# if BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 0
-# define BOOST_PP_SLOT_TEMP_2 0
-# elif BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 1
-# define BOOST_PP_SLOT_TEMP_2 1
-# elif BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 2
-# define BOOST_PP_SLOT_TEMP_2 2
-# elif BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 3
-# define BOOST_PP_SLOT_TEMP_2 3
-# elif BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 4
-# define BOOST_PP_SLOT_TEMP_2 4
-# elif BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 5
-# define BOOST_PP_SLOT_TEMP_2 5
-# elif BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 6
-# define BOOST_PP_SLOT_TEMP_2 6
-# elif BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 7
-# define BOOST_PP_SLOT_TEMP_2 7
-# elif BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 8
-# define BOOST_PP_SLOT_TEMP_2 8
-# elif BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 9
-# define BOOST_PP_SLOT_TEMP_2 9
-# endif
-#
-# if BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 0
-# define BOOST_PP_SLOT_TEMP_1 0
-# elif BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 1
-# define BOOST_PP_SLOT_TEMP_1 1
-# elif BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 2
-# define BOOST_PP_SLOT_TEMP_1 2
-# elif BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 3
-# define BOOST_PP_SLOT_TEMP_1 3
-# elif BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 4
-# define BOOST_PP_SLOT_TEMP_1 4
-# elif BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 5
-# define BOOST_PP_SLOT_TEMP_1 5
-# elif BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 6
-# define BOOST_PP_SLOT_TEMP_1 6
-# elif BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 7
-# define BOOST_PP_SLOT_TEMP_1 7
-# elif BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 8
-# define BOOST_PP_SLOT_TEMP_1 8
-# elif BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 9
-# define BOOST_PP_SLOT_TEMP_1 9
-# endif
-#
-# undef BOOST_PP_VALUE
diff --git a/boost/preprocessor/slot/detail/slot1.hpp b/boost/preprocessor/slot/detail/slot1.hpp
deleted file mode 100644
index b22748e..0000000
--- a/boost/preprocessor/slot/detail/slot1.hpp
+++ /dev/null
@@ -1,267 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# include <boost/preprocessor/slot/detail/shared.hpp>
-#
-# undef BOOST_PP_SLOT_1
-#
-# undef BOOST_PP_SLOT_1_DIGIT_1
-# undef BOOST_PP_SLOT_1_DIGIT_2
-# undef BOOST_PP_SLOT_1_DIGIT_3
-# undef BOOST_PP_SLOT_1_DIGIT_4
-# undef BOOST_PP_SLOT_1_DIGIT_5
-# undef BOOST_PP_SLOT_1_DIGIT_6
-# undef BOOST_PP_SLOT_1_DIGIT_7
-# undef BOOST_PP_SLOT_1_DIGIT_8
-# undef BOOST_PP_SLOT_1_DIGIT_9
-# undef BOOST_PP_SLOT_1_DIGIT_10
-#
-# if BOOST_PP_SLOT_TEMP_10 == 0
-# define BOOST_PP_SLOT_1_DIGIT_10 0
-# elif BOOST_PP_SLOT_TEMP_10 == 1
-# define BOOST_PP_SLOT_1_DIGIT_10 1
-# elif BOOST_PP_SLOT_TEMP_10 == 2
-# define BOOST_PP_SLOT_1_DIGIT_10 2
-# elif BOOST_PP_SLOT_TEMP_10 == 3
-# define BOOST_PP_SLOT_1_DIGIT_10 3
-# elif BOOST_PP_SLOT_TEMP_10 == 4
-# define BOOST_PP_SLOT_1_DIGIT_10 4
-# elif BOOST_PP_SLOT_TEMP_10 == 5
-# define BOOST_PP_SLOT_1_DIGIT_10 5
-# elif BOOST_PP_SLOT_TEMP_10 == 6
-# define BOOST_PP_SLOT_1_DIGIT_10 6
-# elif BOOST_PP_SLOT_TEMP_10 == 7
-# define BOOST_PP_SLOT_1_DIGIT_10 7
-# elif BOOST_PP_SLOT_TEMP_10 == 8
-# define BOOST_PP_SLOT_1_DIGIT_10 8
-# elif BOOST_PP_SLOT_TEMP_10 == 9
-# define BOOST_PP_SLOT_1_DIGIT_10 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_9 == 0
-# define BOOST_PP_SLOT_1_DIGIT_9 0
-# elif BOOST_PP_SLOT_TEMP_9 == 1
-# define BOOST_PP_SLOT_1_DIGIT_9 1
-# elif BOOST_PP_SLOT_TEMP_9 == 2
-# define BOOST_PP_SLOT_1_DIGIT_9 2
-# elif BOOST_PP_SLOT_TEMP_9 == 3
-# define BOOST_PP_SLOT_1_DIGIT_9 3
-# elif BOOST_PP_SLOT_TEMP_9 == 4
-# define BOOST_PP_SLOT_1_DIGIT_9 4
-# elif BOOST_PP_SLOT_TEMP_9 == 5
-# define BOOST_PP_SLOT_1_DIGIT_9 5
-# elif BOOST_PP_SLOT_TEMP_9 == 6
-# define BOOST_PP_SLOT_1_DIGIT_9 6
-# elif BOOST_PP_SLOT_TEMP_9 == 7
-# define BOOST_PP_SLOT_1_DIGIT_9 7
-# elif BOOST_PP_SLOT_TEMP_9 == 8
-# define BOOST_PP_SLOT_1_DIGIT_9 8
-# elif BOOST_PP_SLOT_TEMP_9 == 9
-# define BOOST_PP_SLOT_1_DIGIT_9 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_8 == 0
-# define BOOST_PP_SLOT_1_DIGIT_8 0
-# elif BOOST_PP_SLOT_TEMP_8 == 1
-# define BOOST_PP_SLOT_1_DIGIT_8 1
-# elif BOOST_PP_SLOT_TEMP_8 == 2
-# define BOOST_PP_SLOT_1_DIGIT_8 2
-# elif BOOST_PP_SLOT_TEMP_8 == 3
-# define BOOST_PP_SLOT_1_DIGIT_8 3
-# elif BOOST_PP_SLOT_TEMP_8 == 4
-# define BOOST_PP_SLOT_1_DIGIT_8 4
-# elif BOOST_PP_SLOT_TEMP_8 == 5
-# define BOOST_PP_SLOT_1_DIGIT_8 5
-# elif BOOST_PP_SLOT_TEMP_8 == 6
-# define BOOST_PP_SLOT_1_DIGIT_8 6
-# elif BOOST_PP_SLOT_TEMP_8 == 7
-# define BOOST_PP_SLOT_1_DIGIT_8 7
-# elif BOOST_PP_SLOT_TEMP_8 == 8
-# define BOOST_PP_SLOT_1_DIGIT_8 8
-# elif BOOST_PP_SLOT_TEMP_8 == 9
-# define BOOST_PP_SLOT_1_DIGIT_8 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_7 == 0
-# define BOOST_PP_SLOT_1_DIGIT_7 0
-# elif BOOST_PP_SLOT_TEMP_7 == 1
-# define BOOST_PP_SLOT_1_DIGIT_7 1
-# elif BOOST_PP_SLOT_TEMP_7 == 2
-# define BOOST_PP_SLOT_1_DIGIT_7 2
-# elif BOOST_PP_SLOT_TEMP_7 == 3
-# define BOOST_PP_SLOT_1_DIGIT_7 3
-# elif BOOST_PP_SLOT_TEMP_7 == 4
-# define BOOST_PP_SLOT_1_DIGIT_7 4
-# elif BOOST_PP_SLOT_TEMP_7 == 5
-# define BOOST_PP_SLOT_1_DIGIT_7 5
-# elif BOOST_PP_SLOT_TEMP_7 == 6
-# define BOOST_PP_SLOT_1_DIGIT_7 6
-# elif BOOST_PP_SLOT_TEMP_7 == 7
-# define BOOST_PP_SLOT_1_DIGIT_7 7
-# elif BOOST_PP_SLOT_TEMP_7 == 8
-# define BOOST_PP_SLOT_1_DIGIT_7 8
-# elif BOOST_PP_SLOT_TEMP_7 == 9
-# define BOOST_PP_SLOT_1_DIGIT_7 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_6 == 0
-# define BOOST_PP_SLOT_1_DIGIT_6 0
-# elif BOOST_PP_SLOT_TEMP_6 == 1
-# define BOOST_PP_SLOT_1_DIGIT_6 1
-# elif BOOST_PP_SLOT_TEMP_6 == 2
-# define BOOST_PP_SLOT_1_DIGIT_6 2
-# elif BOOST_PP_SLOT_TEMP_6 == 3
-# define BOOST_PP_SLOT_1_DIGIT_6 3
-# elif BOOST_PP_SLOT_TEMP_6 == 4
-# define BOOST_PP_SLOT_1_DIGIT_6 4
-# elif BOOST_PP_SLOT_TEMP_6 == 5
-# define BOOST_PP_SLOT_1_DIGIT_6 5
-# elif BOOST_PP_SLOT_TEMP_6 == 6
-# define BOOST_PP_SLOT_1_DIGIT_6 6
-# elif BOOST_PP_SLOT_TEMP_6 == 7
-# define BOOST_PP_SLOT_1_DIGIT_6 7
-# elif BOOST_PP_SLOT_TEMP_6 == 8
-# define BOOST_PP_SLOT_1_DIGIT_6 8
-# elif BOOST_PP_SLOT_TEMP_6 == 9
-# define BOOST_PP_SLOT_1_DIGIT_6 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_5 == 0
-# define BOOST_PP_SLOT_1_DIGIT_5 0
-# elif BOOST_PP_SLOT_TEMP_5 == 1
-# define BOOST_PP_SLOT_1_DIGIT_5 1
-# elif BOOST_PP_SLOT_TEMP_5 == 2
-# define BOOST_PP_SLOT_1_DIGIT_5 2
-# elif BOOST_PP_SLOT_TEMP_5 == 3
-# define BOOST_PP_SLOT_1_DIGIT_5 3
-# elif BOOST_PP_SLOT_TEMP_5 == 4
-# define BOOST_PP_SLOT_1_DIGIT_5 4
-# elif BOOST_PP_SLOT_TEMP_5 == 5
-# define BOOST_PP_SLOT_1_DIGIT_5 5
-# elif BOOST_PP_SLOT_TEMP_5 == 6
-# define BOOST_PP_SLOT_1_DIGIT_5 6
-# elif BOOST_PP_SLOT_TEMP_5 == 7
-# define BOOST_PP_SLOT_1_DIGIT_5 7
-# elif BOOST_PP_SLOT_TEMP_5 == 8
-# define BOOST_PP_SLOT_1_DIGIT_5 8
-# elif BOOST_PP_SLOT_TEMP_5 == 9
-# define BOOST_PP_SLOT_1_DIGIT_5 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_4 == 0
-# define BOOST_PP_SLOT_1_DIGIT_4 0
-# elif BOOST_PP_SLOT_TEMP_4 == 1
-# define BOOST_PP_SLOT_1_DIGIT_4 1
-# elif BOOST_PP_SLOT_TEMP_4 == 2
-# define BOOST_PP_SLOT_1_DIGIT_4 2
-# elif BOOST_PP_SLOT_TEMP_4 == 3
-# define BOOST_PP_SLOT_1_DIGIT_4 3
-# elif BOOST_PP_SLOT_TEMP_4 == 4
-# define BOOST_PP_SLOT_1_DIGIT_4 4
-# elif BOOST_PP_SLOT_TEMP_4 == 5
-# define BOOST_PP_SLOT_1_DIGIT_4 5
-# elif BOOST_PP_SLOT_TEMP_4 == 6
-# define BOOST_PP_SLOT_1_DIGIT_4 6
-# elif BOOST_PP_SLOT_TEMP_4 == 7
-# define BOOST_PP_SLOT_1_DIGIT_4 7
-# elif BOOST_PP_SLOT_TEMP_4 == 8
-# define BOOST_PP_SLOT_1_DIGIT_4 8
-# elif BOOST_PP_SLOT_TEMP_4 == 9
-# define BOOST_PP_SLOT_1_DIGIT_4 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_3 == 0
-# define BOOST_PP_SLOT_1_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-# define BOOST_PP_SLOT_1_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-# define BOOST_PP_SLOT_1_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-# define BOOST_PP_SLOT_1_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-# define BOOST_PP_SLOT_1_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-# define BOOST_PP_SLOT_1_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-# define BOOST_PP_SLOT_1_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-# define BOOST_PP_SLOT_1_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-# define BOOST_PP_SLOT_1_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-# define BOOST_PP_SLOT_1_DIGIT_3 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_2 == 0
-# define BOOST_PP_SLOT_1_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-# define BOOST_PP_SLOT_1_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-# define BOOST_PP_SLOT_1_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-# define BOOST_PP_SLOT_1_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-# define BOOST_PP_SLOT_1_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-# define BOOST_PP_SLOT_1_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-# define BOOST_PP_SLOT_1_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-# define BOOST_PP_SLOT_1_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-# define BOOST_PP_SLOT_1_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-# define BOOST_PP_SLOT_1_DIGIT_2 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_1 == 0
-# define BOOST_PP_SLOT_1_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-# define BOOST_PP_SLOT_1_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-# define BOOST_PP_SLOT_1_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-# define BOOST_PP_SLOT_1_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-# define BOOST_PP_SLOT_1_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-# define BOOST_PP_SLOT_1_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-# define BOOST_PP_SLOT_1_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-# define BOOST_PP_SLOT_1_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-# define BOOST_PP_SLOT_1_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-# define BOOST_PP_SLOT_1_DIGIT_1 9
-# endif
-#
-# if BOOST_PP_SLOT_1_DIGIT_10
-# define BOOST_PP_SLOT_1() BOOST_PP_SLOT_CC_10(BOOST_PP_SLOT_1_DIGIT_10, BOOST_PP_SLOT_1_DIGIT_9, BOOST_PP_SLOT_1_DIGIT_8, BOOST_PP_SLOT_1_DIGIT_7, BOOST_PP_SLOT_1_DIGIT_6, BOOST_PP_SLOT_1_DIGIT_5, BOOST_PP_SLOT_1_DIGIT_4, BOOST_PP_SLOT_1_DIGIT_3, BOOST_PP_SLOT_1_DIGIT_2, BOOST_PP_SLOT_1_DIGIT_1)
-# elif BOOST_PP_SLOT_1_DIGIT_9
-# define BOOST_PP_SLOT_1() BOOST_PP_SLOT_CC_9(BOOST_PP_SLOT_1_DIGIT_9, BOOST_PP_SLOT_1_DIGIT_8, BOOST_PP_SLOT_1_DIGIT_7, BOOST_PP_SLOT_1_DIGIT_6, BOOST_PP_SLOT_1_DIGIT_5, BOOST_PP_SLOT_1_DIGIT_4, BOOST_PP_SLOT_1_DIGIT_3, BOOST_PP_SLOT_1_DIGIT_2, BOOST_PP_SLOT_1_DIGIT_1)
-# elif BOOST_PP_SLOT_1_DIGIT_8
-# define BOOST_PP_SLOT_1() BOOST_PP_SLOT_CC_8(BOOST_PP_SLOT_1_DIGIT_8, BOOST_PP_SLOT_1_DIGIT_7, BOOST_PP_SLOT_1_DIGIT_6, BOOST_PP_SLOT_1_DIGIT_5, BOOST_PP_SLOT_1_DIGIT_4, BOOST_PP_SLOT_1_DIGIT_3, BOOST_PP_SLOT_1_DIGIT_2, BOOST_PP_SLOT_1_DIGIT_1)
-# elif BOOST_PP_SLOT_1_DIGIT_7
-# define BOOST_PP_SLOT_1() BOOST_PP_SLOT_CC_7(BOOST_PP_SLOT_1_DIGIT_7, BOOST_PP_SLOT_1_DIGIT_6, BOOST_PP_SLOT_1_DIGIT_5, BOOST_PP_SLOT_1_DIGIT_4, BOOST_PP_SLOT_1_DIGIT_3, BOOST_PP_SLOT_1_DIGIT_2, BOOST_PP_SLOT_1_DIGIT_1)
-# elif BOOST_PP_SLOT_1_DIGIT_6
-# define BOOST_PP_SLOT_1() BOOST_PP_SLOT_CC_6(BOOST_PP_SLOT_1_DIGIT_6, BOOST_PP_SLOT_1_DIGIT_5, BOOST_PP_SLOT_1_DIGIT_4, BOOST_PP_SLOT_1_DIGIT_3, BOOST_PP_SLOT_1_DIGIT_2, BOOST_PP_SLOT_1_DIGIT_1)
-# elif BOOST_PP_SLOT_1_DIGIT_5
-# define BOOST_PP_SLOT_1() BOOST_PP_SLOT_CC_5(BOOST_PP_SLOT_1_DIGIT_5, BOOST_PP_SLOT_1_DIGIT_4, BOOST_PP_SLOT_1_DIGIT_3, BOOST_PP_SLOT_1_DIGIT_2, BOOST_PP_SLOT_1_DIGIT_1)
-# elif BOOST_PP_SLOT_1_DIGIT_4
-# define BOOST_PP_SLOT_1() BOOST_PP_SLOT_CC_4(BOOST_PP_SLOT_1_DIGIT_4, BOOST_PP_SLOT_1_DIGIT_3, BOOST_PP_SLOT_1_DIGIT_2, BOOST_PP_SLOT_1_DIGIT_1)
-# elif BOOST_PP_SLOT_1_DIGIT_3
-# define BOOST_PP_SLOT_1() BOOST_PP_SLOT_CC_3(BOOST_PP_SLOT_1_DIGIT_3, BOOST_PP_SLOT_1_DIGIT_2, BOOST_PP_SLOT_1_DIGIT_1)
-# elif BOOST_PP_SLOT_1_DIGIT_2
-# define BOOST_PP_SLOT_1() BOOST_PP_SLOT_CC_2(BOOST_PP_SLOT_1_DIGIT_2, BOOST_PP_SLOT_1_DIGIT_1)
-# else
-# define BOOST_PP_SLOT_1() BOOST_PP_SLOT_1_DIGIT_1
-# endif
diff --git a/boost/preprocessor/slot/detail/slot2.hpp b/boost/preprocessor/slot/detail/slot2.hpp
deleted file mode 100644
index 5d5258c..0000000
--- a/boost/preprocessor/slot/detail/slot2.hpp
+++ /dev/null
@@ -1,267 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# include <boost/preprocessor/slot/detail/shared.hpp>
-#
-# undef BOOST_PP_SLOT_2
-#
-# undef BOOST_PP_SLOT_2_DIGIT_1
-# undef BOOST_PP_SLOT_2_DIGIT_2
-# undef BOOST_PP_SLOT_2_DIGIT_3
-# undef BOOST_PP_SLOT_2_DIGIT_4
-# undef BOOST_PP_SLOT_2_DIGIT_5
-# undef BOOST_PP_SLOT_2_DIGIT_6
-# undef BOOST_PP_SLOT_2_DIGIT_7
-# undef BOOST_PP_SLOT_2_DIGIT_8
-# undef BOOST_PP_SLOT_2_DIGIT_9
-# undef BOOST_PP_SLOT_2_DIGIT_10
-#
-# if BOOST_PP_SLOT_TEMP_10 == 0
-# define BOOST_PP_SLOT_2_DIGIT_10 0
-# elif BOOST_PP_SLOT_TEMP_10 == 1
-# define BOOST_PP_SLOT_2_DIGIT_10 1
-# elif BOOST_PP_SLOT_TEMP_10 == 2
-# define BOOST_PP_SLOT_2_DIGIT_10 2
-# elif BOOST_PP_SLOT_TEMP_10 == 3
-# define BOOST_PP_SLOT_2_DIGIT_10 3
-# elif BOOST_PP_SLOT_TEMP_10 == 4
-# define BOOST_PP_SLOT_2_DIGIT_10 4
-# elif BOOST_PP_SLOT_TEMP_10 == 5
-# define BOOST_PP_SLOT_2_DIGIT_10 5
-# elif BOOST_PP_SLOT_TEMP_10 == 6
-# define BOOST_PP_SLOT_2_DIGIT_10 6
-# elif BOOST_PP_SLOT_TEMP_10 == 7
-# define BOOST_PP_SLOT_2_DIGIT_10 7
-# elif BOOST_PP_SLOT_TEMP_10 == 8
-# define BOOST_PP_SLOT_2_DIGIT_10 8
-# elif BOOST_PP_SLOT_TEMP_10 == 9
-# define BOOST_PP_SLOT_2_DIGIT_10 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_9 == 0
-# define BOOST_PP_SLOT_2_DIGIT_9 0
-# elif BOOST_PP_SLOT_TEMP_9 == 1
-# define BOOST_PP_SLOT_2_DIGIT_9 1
-# elif BOOST_PP_SLOT_TEMP_9 == 2
-# define BOOST_PP_SLOT_2_DIGIT_9 2
-# elif BOOST_PP_SLOT_TEMP_9 == 3
-# define BOOST_PP_SLOT_2_DIGIT_9 3
-# elif BOOST_PP_SLOT_TEMP_9 == 4
-# define BOOST_PP_SLOT_2_DIGIT_9 4
-# elif BOOST_PP_SLOT_TEMP_9 == 5
-# define BOOST_PP_SLOT_2_DIGIT_9 5
-# elif BOOST_PP_SLOT_TEMP_9 == 6
-# define BOOST_PP_SLOT_2_DIGIT_9 6
-# elif BOOST_PP_SLOT_TEMP_9 == 7
-# define BOOST_PP_SLOT_2_DIGIT_9 7
-# elif BOOST_PP_SLOT_TEMP_9 == 8
-# define BOOST_PP_SLOT_2_DIGIT_9 8
-# elif BOOST_PP_SLOT_TEMP_9 == 9
-# define BOOST_PP_SLOT_2_DIGIT_9 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_8 == 0
-# define BOOST_PP_SLOT_2_DIGIT_8 0
-# elif BOOST_PP_SLOT_TEMP_8 == 1
-# define BOOST_PP_SLOT_2_DIGIT_8 1
-# elif BOOST_PP_SLOT_TEMP_8 == 2
-# define BOOST_PP_SLOT_2_DIGIT_8 2
-# elif BOOST_PP_SLOT_TEMP_8 == 3
-# define BOOST_PP_SLOT_2_DIGIT_8 3
-# elif BOOST_PP_SLOT_TEMP_8 == 4
-# define BOOST_PP_SLOT_2_DIGIT_8 4
-# elif BOOST_PP_SLOT_TEMP_8 == 5
-# define BOOST_PP_SLOT_2_DIGIT_8 5
-# elif BOOST_PP_SLOT_TEMP_8 == 6
-# define BOOST_PP_SLOT_2_DIGIT_8 6
-# elif BOOST_PP_SLOT_TEMP_8 == 7
-# define BOOST_PP_SLOT_2_DIGIT_8 7
-# elif BOOST_PP_SLOT_TEMP_8 == 8
-# define BOOST_PP_SLOT_2_DIGIT_8 8
-# elif BOOST_PP_SLOT_TEMP_8 == 9
-# define BOOST_PP_SLOT_2_DIGIT_8 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_7 == 0
-# define BOOST_PP_SLOT_2_DIGIT_7 0
-# elif BOOST_PP_SLOT_TEMP_7 == 1
-# define BOOST_PP_SLOT_2_DIGIT_7 1
-# elif BOOST_PP_SLOT_TEMP_7 == 2
-# define BOOST_PP_SLOT_2_DIGIT_7 2
-# elif BOOST_PP_SLOT_TEMP_7 == 3
-# define BOOST_PP_SLOT_2_DIGIT_7 3
-# elif BOOST_PP_SLOT_TEMP_7 == 4
-# define BOOST_PP_SLOT_2_DIGIT_7 4
-# elif BOOST_PP_SLOT_TEMP_7 == 5
-# define BOOST_PP_SLOT_2_DIGIT_7 5
-# elif BOOST_PP_SLOT_TEMP_7 == 6
-# define BOOST_PP_SLOT_2_DIGIT_7 6
-# elif BOOST_PP_SLOT_TEMP_7 == 7
-# define BOOST_PP_SLOT_2_DIGIT_7 7
-# elif BOOST_PP_SLOT_TEMP_7 == 8
-# define BOOST_PP_SLOT_2_DIGIT_7 8
-# elif BOOST_PP_SLOT_TEMP_7 == 9
-# define BOOST_PP_SLOT_2_DIGIT_7 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_6 == 0
-# define BOOST_PP_SLOT_2_DIGIT_6 0
-# elif BOOST_PP_SLOT_TEMP_6 == 1
-# define BOOST_PP_SLOT_2_DIGIT_6 1
-# elif BOOST_PP_SLOT_TEMP_6 == 2
-# define BOOST_PP_SLOT_2_DIGIT_6 2
-# elif BOOST_PP_SLOT_TEMP_6 == 3
-# define BOOST_PP_SLOT_2_DIGIT_6 3
-# elif BOOST_PP_SLOT_TEMP_6 == 4
-# define BOOST_PP_SLOT_2_DIGIT_6 4
-# elif BOOST_PP_SLOT_TEMP_6 == 5
-# define BOOST_PP_SLOT_2_DIGIT_6 5
-# elif BOOST_PP_SLOT_TEMP_6 == 6
-# define BOOST_PP_SLOT_2_DIGIT_6 6
-# elif BOOST_PP_SLOT_TEMP_6 == 7
-# define BOOST_PP_SLOT_2_DIGIT_6 7
-# elif BOOST_PP_SLOT_TEMP_6 == 8
-# define BOOST_PP_SLOT_2_DIGIT_6 8
-# elif BOOST_PP_SLOT_TEMP_6 == 9
-# define BOOST_PP_SLOT_2_DIGIT_6 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_5 == 0
-# define BOOST_PP_SLOT_2_DIGIT_5 0
-# elif BOOST_PP_SLOT_TEMP_5 == 1
-# define BOOST_PP_SLOT_2_DIGIT_5 1
-# elif BOOST_PP_SLOT_TEMP_5 == 2
-# define BOOST_PP_SLOT_2_DIGIT_5 2
-# elif BOOST_PP_SLOT_TEMP_5 == 3
-# define BOOST_PP_SLOT_2_DIGIT_5 3
-# elif BOOST_PP_SLOT_TEMP_5 == 4
-# define BOOST_PP_SLOT_2_DIGIT_5 4
-# elif BOOST_PP_SLOT_TEMP_5 == 5
-# define BOOST_PP_SLOT_2_DIGIT_5 5
-# elif BOOST_PP_SLOT_TEMP_5 == 6
-# define BOOST_PP_SLOT_2_DIGIT_5 6
-# elif BOOST_PP_SLOT_TEMP_5 == 7
-# define BOOST_PP_SLOT_2_DIGIT_5 7
-# elif BOOST_PP_SLOT_TEMP_5 == 8
-# define BOOST_PP_SLOT_2_DIGIT_5 8
-# elif BOOST_PP_SLOT_TEMP_5 == 9
-# define BOOST_PP_SLOT_2_DIGIT_5 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_4 == 0
-# define BOOST_PP_SLOT_2_DIGIT_4 0
-# elif BOOST_PP_SLOT_TEMP_4 == 1
-# define BOOST_PP_SLOT_2_DIGIT_4 1
-# elif BOOST_PP_SLOT_TEMP_4 == 2
-# define BOOST_PP_SLOT_2_DIGIT_4 2
-# elif BOOST_PP_SLOT_TEMP_4 == 3
-# define BOOST_PP_SLOT_2_DIGIT_4 3
-# elif BOOST_PP_SLOT_TEMP_4 == 4
-# define BOOST_PP_SLOT_2_DIGIT_4 4
-# elif BOOST_PP_SLOT_TEMP_4 == 5
-# define BOOST_PP_SLOT_2_DIGIT_4 5
-# elif BOOST_PP_SLOT_TEMP_4 == 6
-# define BOOST_PP_SLOT_2_DIGIT_4 6
-# elif BOOST_PP_SLOT_TEMP_4 == 7
-# define BOOST_PP_SLOT_2_DIGIT_4 7
-# elif BOOST_PP_SLOT_TEMP_4 == 8
-# define BOOST_PP_SLOT_2_DIGIT_4 8
-# elif BOOST_PP_SLOT_TEMP_4 == 9
-# define BOOST_PP_SLOT_2_DIGIT_4 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_3 == 0
-# define BOOST_PP_SLOT_2_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-# define BOOST_PP_SLOT_2_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-# define BOOST_PP_SLOT_2_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-# define BOOST_PP_SLOT_2_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-# define BOOST_PP_SLOT_2_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-# define BOOST_PP_SLOT_2_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-# define BOOST_PP_SLOT_2_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-# define BOOST_PP_SLOT_2_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-# define BOOST_PP_SLOT_2_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-# define BOOST_PP_SLOT_2_DIGIT_3 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_2 == 0
-# define BOOST_PP_SLOT_2_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-# define BOOST_PP_SLOT_2_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-# define BOOST_PP_SLOT_2_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-# define BOOST_PP_SLOT_2_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-# define BOOST_PP_SLOT_2_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-# define BOOST_PP_SLOT_2_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-# define BOOST_PP_SLOT_2_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-# define BOOST_PP_SLOT_2_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-# define BOOST_PP_SLOT_2_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-# define BOOST_PP_SLOT_2_DIGIT_2 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_1 == 0
-# define BOOST_PP_SLOT_2_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-# define BOOST_PP_SLOT_2_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-# define BOOST_PP_SLOT_2_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-# define BOOST_PP_SLOT_2_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-# define BOOST_PP_SLOT_2_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-# define BOOST_PP_SLOT_2_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-# define BOOST_PP_SLOT_2_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-# define BOOST_PP_SLOT_2_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-# define BOOST_PP_SLOT_2_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-# define BOOST_PP_SLOT_2_DIGIT_1 9
-# endif
-#
-# if BOOST_PP_SLOT_2_DIGIT_10
-# define BOOST_PP_SLOT_2() BOOST_PP_SLOT_CC_10(BOOST_PP_SLOT_2_DIGIT_10, BOOST_PP_SLOT_2_DIGIT_9, BOOST_PP_SLOT_2_DIGIT_8, BOOST_PP_SLOT_2_DIGIT_7, BOOST_PP_SLOT_2_DIGIT_6, BOOST_PP_SLOT_2_DIGIT_5, BOOST_PP_SLOT_2_DIGIT_4, BOOST_PP_SLOT_2_DIGIT_3, BOOST_PP_SLOT_2_DIGIT_2, BOOST_PP_SLOT_2_DIGIT_1)
-# elif BOOST_PP_SLOT_2_DIGIT_9
-# define BOOST_PP_SLOT_2() BOOST_PP_SLOT_CC_9(BOOST_PP_SLOT_2_DIGIT_9, BOOST_PP_SLOT_2_DIGIT_8, BOOST_PP_SLOT_2_DIGIT_7, BOOST_PP_SLOT_2_DIGIT_6, BOOST_PP_SLOT_2_DIGIT_5, BOOST_PP_SLOT_2_DIGIT_4, BOOST_PP_SLOT_2_DIGIT_3, BOOST_PP_SLOT_2_DIGIT_2, BOOST_PP_SLOT_2_DIGIT_1)
-# elif BOOST_PP_SLOT_2_DIGIT_8
-# define BOOST_PP_SLOT_2() BOOST_PP_SLOT_CC_8(BOOST_PP_SLOT_2_DIGIT_8, BOOST_PP_SLOT_2_DIGIT_7, BOOST_PP_SLOT_2_DIGIT_6, BOOST_PP_SLOT_2_DIGIT_5, BOOST_PP_SLOT_2_DIGIT_4, BOOST_PP_SLOT_2_DIGIT_3, BOOST_PP_SLOT_2_DIGIT_2, BOOST_PP_SLOT_2_DIGIT_1)
-# elif BOOST_PP_SLOT_2_DIGIT_7
-# define BOOST_PP_SLOT_2() BOOST_PP_SLOT_CC_7(BOOST_PP_SLOT_2_DIGIT_7, BOOST_PP_SLOT_2_DIGIT_6, BOOST_PP_SLOT_2_DIGIT_5, BOOST_PP_SLOT_2_DIGIT_4, BOOST_PP_SLOT_2_DIGIT_3, BOOST_PP_SLOT_2_DIGIT_2, BOOST_PP_SLOT_2_DIGIT_1)
-# elif BOOST_PP_SLOT_2_DIGIT_6
-# define BOOST_PP_SLOT_2() BOOST_PP_SLOT_CC_6(BOOST_PP_SLOT_2_DIGIT_6, BOOST_PP_SLOT_2_DIGIT_5, BOOST_PP_SLOT_2_DIGIT_4, BOOST_PP_SLOT_2_DIGIT_3, BOOST_PP_SLOT_2_DIGIT_2, BOOST_PP_SLOT_2_DIGIT_1)
-# elif BOOST_PP_SLOT_2_DIGIT_5
-# define BOOST_PP_SLOT_2() BOOST_PP_SLOT_CC_5(BOOST_PP_SLOT_2_DIGIT_5, BOOST_PP_SLOT_2_DIGIT_4, BOOST_PP_SLOT_2_DIGIT_3, BOOST_PP_SLOT_2_DIGIT_2, BOOST_PP_SLOT_2_DIGIT_1)
-# elif BOOST_PP_SLOT_2_DIGIT_4
-# define BOOST_PP_SLOT_2() BOOST_PP_SLOT_CC_4(BOOST_PP_SLOT_2_DIGIT_4, BOOST_PP_SLOT_2_DIGIT_3, BOOST_PP_SLOT_2_DIGIT_2, BOOST_PP_SLOT_2_DIGIT_1)
-# elif BOOST_PP_SLOT_2_DIGIT_3
-# define BOOST_PP_SLOT_2() BOOST_PP_SLOT_CC_3(BOOST_PP_SLOT_2_DIGIT_3, BOOST_PP_SLOT_2_DIGIT_2, BOOST_PP_SLOT_2_DIGIT_1)
-# elif BOOST_PP_SLOT_2_DIGIT_2
-# define BOOST_PP_SLOT_2() BOOST_PP_SLOT_CC_2(BOOST_PP_SLOT_2_DIGIT_2, BOOST_PP_SLOT_2_DIGIT_1)
-# else
-# define BOOST_PP_SLOT_2() BOOST_PP_SLOT_2_DIGIT_1
-# endif
diff --git a/boost/preprocessor/slot/detail/slot3.hpp b/boost/preprocessor/slot/detail/slot3.hpp
deleted file mode 100644
index 005cf21..0000000
--- a/boost/preprocessor/slot/detail/slot3.hpp
+++ /dev/null
@@ -1,267 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# include <boost/preprocessor/slot/detail/shared.hpp>
-#
-# undef BOOST_PP_SLOT_3
-#
-# undef BOOST_PP_SLOT_3_DIGIT_1
-# undef BOOST_PP_SLOT_3_DIGIT_2
-# undef BOOST_PP_SLOT_3_DIGIT_3
-# undef BOOST_PP_SLOT_3_DIGIT_4
-# undef BOOST_PP_SLOT_3_DIGIT_5
-# undef BOOST_PP_SLOT_3_DIGIT_6
-# undef BOOST_PP_SLOT_3_DIGIT_7
-# undef BOOST_PP_SLOT_3_DIGIT_8
-# undef BOOST_PP_SLOT_3_DIGIT_9
-# undef BOOST_PP_SLOT_3_DIGIT_10
-#
-# if BOOST_PP_SLOT_TEMP_10 == 0
-# define BOOST_PP_SLOT_3_DIGIT_10 0
-# elif BOOST_PP_SLOT_TEMP_10 == 1
-# define BOOST_PP_SLOT_3_DIGIT_10 1
-# elif BOOST_PP_SLOT_TEMP_10 == 2
-# define BOOST_PP_SLOT_3_DIGIT_10 2
-# elif BOOST_PP_SLOT_TEMP_10 == 3
-# define BOOST_PP_SLOT_3_DIGIT_10 3
-# elif BOOST_PP_SLOT_TEMP_10 == 4
-# define BOOST_PP_SLOT_3_DIGIT_10 4
-# elif BOOST_PP_SLOT_TEMP_10 == 5
-# define BOOST_PP_SLOT_3_DIGIT_10 5
-# elif BOOST_PP_SLOT_TEMP_10 == 6
-# define BOOST_PP_SLOT_3_DIGIT_10 6
-# elif BOOST_PP_SLOT_TEMP_10 == 7
-# define BOOST_PP_SLOT_3_DIGIT_10 7
-# elif BOOST_PP_SLOT_TEMP_10 == 8
-# define BOOST_PP_SLOT_3_DIGIT_10 8
-# elif BOOST_PP_SLOT_TEMP_10 == 9
-# define BOOST_PP_SLOT_3_DIGIT_10 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_9 == 0
-# define BOOST_PP_SLOT_3_DIGIT_9 0
-# elif BOOST_PP_SLOT_TEMP_9 == 1
-# define BOOST_PP_SLOT_3_DIGIT_9 1
-# elif BOOST_PP_SLOT_TEMP_9 == 2
-# define BOOST_PP_SLOT_3_DIGIT_9 2
-# elif BOOST_PP_SLOT_TEMP_9 == 3
-# define BOOST_PP_SLOT_3_DIGIT_9 3
-# elif BOOST_PP_SLOT_TEMP_9 == 4
-# define BOOST_PP_SLOT_3_DIGIT_9 4
-# elif BOOST_PP_SLOT_TEMP_9 == 5
-# define BOOST_PP_SLOT_3_DIGIT_9 5
-# elif BOOST_PP_SLOT_TEMP_9 == 6
-# define BOOST_PP_SLOT_3_DIGIT_9 6
-# elif BOOST_PP_SLOT_TEMP_9 == 7
-# define BOOST_PP_SLOT_3_DIGIT_9 7
-# elif BOOST_PP_SLOT_TEMP_9 == 8
-# define BOOST_PP_SLOT_3_DIGIT_9 8
-# elif BOOST_PP_SLOT_TEMP_9 == 9
-# define BOOST_PP_SLOT_3_DIGIT_9 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_8 == 0
-# define BOOST_PP_SLOT_3_DIGIT_8 0
-# elif BOOST_PP_SLOT_TEMP_8 == 1
-# define BOOST_PP_SLOT_3_DIGIT_8 1
-# elif BOOST_PP_SLOT_TEMP_8 == 2
-# define BOOST_PP_SLOT_3_DIGIT_8 2
-# elif BOOST_PP_SLOT_TEMP_8 == 3
-# define BOOST_PP_SLOT_3_DIGIT_8 3
-# elif BOOST_PP_SLOT_TEMP_8 == 4
-# define BOOST_PP_SLOT_3_DIGIT_8 4
-# elif BOOST_PP_SLOT_TEMP_8 == 5
-# define BOOST_PP_SLOT_3_DIGIT_8 5
-# elif BOOST_PP_SLOT_TEMP_8 == 6
-# define BOOST_PP_SLOT_3_DIGIT_8 6
-# elif BOOST_PP_SLOT_TEMP_8 == 7
-# define BOOST_PP_SLOT_3_DIGIT_8 7
-# elif BOOST_PP_SLOT_TEMP_8 == 8
-# define BOOST_PP_SLOT_3_DIGIT_8 8
-# elif BOOST_PP_SLOT_TEMP_8 == 9
-# define BOOST_PP_SLOT_3_DIGIT_8 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_7 == 0
-# define BOOST_PP_SLOT_3_DIGIT_7 0
-# elif BOOST_PP_SLOT_TEMP_7 == 1
-# define BOOST_PP_SLOT_3_DIGIT_7 1
-# elif BOOST_PP_SLOT_TEMP_7 == 2
-# define BOOST_PP_SLOT_3_DIGIT_7 2
-# elif BOOST_PP_SLOT_TEMP_7 == 3
-# define BOOST_PP_SLOT_3_DIGIT_7 3
-# elif BOOST_PP_SLOT_TEMP_7 == 4
-# define BOOST_PP_SLOT_3_DIGIT_7 4
-# elif BOOST_PP_SLOT_TEMP_7 == 5
-# define BOOST_PP_SLOT_3_DIGIT_7 5
-# elif BOOST_PP_SLOT_TEMP_7 == 6
-# define BOOST_PP_SLOT_3_DIGIT_7 6
-# elif BOOST_PP_SLOT_TEMP_7 == 7
-# define BOOST_PP_SLOT_3_DIGIT_7 7
-# elif BOOST_PP_SLOT_TEMP_7 == 8
-# define BOOST_PP_SLOT_3_DIGIT_7 8
-# elif BOOST_PP_SLOT_TEMP_7 == 9
-# define BOOST_PP_SLOT_3_DIGIT_7 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_6 == 0
-# define BOOST_PP_SLOT_3_DIGIT_6 0
-# elif BOOST_PP_SLOT_TEMP_6 == 1
-# define BOOST_PP_SLOT_3_DIGIT_6 1
-# elif BOOST_PP_SLOT_TEMP_6 == 2
-# define BOOST_PP_SLOT_3_DIGIT_6 2
-# elif BOOST_PP_SLOT_TEMP_6 == 3
-# define BOOST_PP_SLOT_3_DIGIT_6 3
-# elif BOOST_PP_SLOT_TEMP_6 == 4
-# define BOOST_PP_SLOT_3_DIGIT_6 4
-# elif BOOST_PP_SLOT_TEMP_6 == 5
-# define BOOST_PP_SLOT_3_DIGIT_6 5
-# elif BOOST_PP_SLOT_TEMP_6 == 6
-# define BOOST_PP_SLOT_3_DIGIT_6 6
-# elif BOOST_PP_SLOT_TEMP_6 == 7
-# define BOOST_PP_SLOT_3_DIGIT_6 7
-# elif BOOST_PP_SLOT_TEMP_6 == 8
-# define BOOST_PP_SLOT_3_DIGIT_6 8
-# elif BOOST_PP_SLOT_TEMP_6 == 9
-# define BOOST_PP_SLOT_3_DIGIT_6 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_5 == 0
-# define BOOST_PP_SLOT_3_DIGIT_5 0
-# elif BOOST_PP_SLOT_TEMP_5 == 1
-# define BOOST_PP_SLOT_3_DIGIT_5 1
-# elif BOOST_PP_SLOT_TEMP_5 == 2
-# define BOOST_PP_SLOT_3_DIGIT_5 2
-# elif BOOST_PP_SLOT_TEMP_5 == 3
-# define BOOST_PP_SLOT_3_DIGIT_5 3
-# elif BOOST_PP_SLOT_TEMP_5 == 4
-# define BOOST_PP_SLOT_3_DIGIT_5 4
-# elif BOOST_PP_SLOT_TEMP_5 == 5
-# define BOOST_PP_SLOT_3_DIGIT_5 5
-# elif BOOST_PP_SLOT_TEMP_5 == 6
-# define BOOST_PP_SLOT_3_DIGIT_5 6
-# elif BOOST_PP_SLOT_TEMP_5 == 7
-# define BOOST_PP_SLOT_3_DIGIT_5 7
-# elif BOOST_PP_SLOT_TEMP_5 == 8
-# define BOOST_PP_SLOT_3_DIGIT_5 8
-# elif BOOST_PP_SLOT_TEMP_5 == 9
-# define BOOST_PP_SLOT_3_DIGIT_5 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_4 == 0
-# define BOOST_PP_SLOT_3_DIGIT_4 0
-# elif BOOST_PP_SLOT_TEMP_4 == 1
-# define BOOST_PP_SLOT_3_DIGIT_4 1
-# elif BOOST_PP_SLOT_TEMP_4 == 2
-# define BOOST_PP_SLOT_3_DIGIT_4 2
-# elif BOOST_PP_SLOT_TEMP_4 == 3
-# define BOOST_PP_SLOT_3_DIGIT_4 3
-# elif BOOST_PP_SLOT_TEMP_4 == 4
-# define BOOST_PP_SLOT_3_DIGIT_4 4
-# elif BOOST_PP_SLOT_TEMP_4 == 5
-# define BOOST_PP_SLOT_3_DIGIT_4 5
-# elif BOOST_PP_SLOT_TEMP_4 == 6
-# define BOOST_PP_SLOT_3_DIGIT_4 6
-# elif BOOST_PP_SLOT_TEMP_4 == 7
-# define BOOST_PP_SLOT_3_DIGIT_4 7
-# elif BOOST_PP_SLOT_TEMP_4 == 8
-# define BOOST_PP_SLOT_3_DIGIT_4 8
-# elif BOOST_PP_SLOT_TEMP_4 == 9
-# define BOOST_PP_SLOT_3_DIGIT_4 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_3 == 0
-# define BOOST_PP_SLOT_3_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-# define BOOST_PP_SLOT_3_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-# define BOOST_PP_SLOT_3_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-# define BOOST_PP_SLOT_3_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-# define BOOST_PP_SLOT_3_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-# define BOOST_PP_SLOT_3_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-# define BOOST_PP_SLOT_3_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-# define BOOST_PP_SLOT_3_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-# define BOOST_PP_SLOT_3_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-# define BOOST_PP_SLOT_3_DIGIT_3 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_2 == 0
-# define BOOST_PP_SLOT_3_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-# define BOOST_PP_SLOT_3_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-# define BOOST_PP_SLOT_3_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-# define BOOST_PP_SLOT_3_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-# define BOOST_PP_SLOT_3_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-# define BOOST_PP_SLOT_3_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-# define BOOST_PP_SLOT_3_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-# define BOOST_PP_SLOT_3_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-# define BOOST_PP_SLOT_3_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-# define BOOST_PP_SLOT_3_DIGIT_2 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_1 == 0
-# define BOOST_PP_SLOT_3_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-# define BOOST_PP_SLOT_3_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-# define BOOST_PP_SLOT_3_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-# define BOOST_PP_SLOT_3_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-# define BOOST_PP_SLOT_3_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-# define BOOST_PP_SLOT_3_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-# define BOOST_PP_SLOT_3_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-# define BOOST_PP_SLOT_3_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-# define BOOST_PP_SLOT_3_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-# define BOOST_PP_SLOT_3_DIGIT_1 9
-# endif
-#
-# if BOOST_PP_SLOT_3_DIGIT_10
-# define BOOST_PP_SLOT_3() BOOST_PP_SLOT_CC_10(BOOST_PP_SLOT_3_DIGIT_10, BOOST_PP_SLOT_3_DIGIT_9, BOOST_PP_SLOT_3_DIGIT_8, BOOST_PP_SLOT_3_DIGIT_7, BOOST_PP_SLOT_3_DIGIT_6, BOOST_PP_SLOT_3_DIGIT_5, BOOST_PP_SLOT_3_DIGIT_4, BOOST_PP_SLOT_3_DIGIT_3, BOOST_PP_SLOT_3_DIGIT_2, BOOST_PP_SLOT_3_DIGIT_1)
-# elif BOOST_PP_SLOT_3_DIGIT_9
-# define BOOST_PP_SLOT_3() BOOST_PP_SLOT_CC_9(BOOST_PP_SLOT_3_DIGIT_9, BOOST_PP_SLOT_3_DIGIT_8, BOOST_PP_SLOT_3_DIGIT_7, BOOST_PP_SLOT_3_DIGIT_6, BOOST_PP_SLOT_3_DIGIT_5, BOOST_PP_SLOT_3_DIGIT_4, BOOST_PP_SLOT_3_DIGIT_3, BOOST_PP_SLOT_3_DIGIT_2, BOOST_PP_SLOT_3_DIGIT_1)
-# elif BOOST_PP_SLOT_3_DIGIT_8
-# define BOOST_PP_SLOT_3() BOOST_PP_SLOT_CC_8(BOOST_PP_SLOT_3_DIGIT_8, BOOST_PP_SLOT_3_DIGIT_7, BOOST_PP_SLOT_3_DIGIT_6, BOOST_PP_SLOT_3_DIGIT_5, BOOST_PP_SLOT_3_DIGIT_4, BOOST_PP_SLOT_3_DIGIT_3, BOOST_PP_SLOT_3_DIGIT_2, BOOST_PP_SLOT_3_DIGIT_1)
-# elif BOOST_PP_SLOT_3_DIGIT_7
-# define BOOST_PP_SLOT_3() BOOST_PP_SLOT_CC_7(BOOST_PP_SLOT_3_DIGIT_7, BOOST_PP_SLOT_3_DIGIT_6, BOOST_PP_SLOT_3_DIGIT_5, BOOST_PP_SLOT_3_DIGIT_4, BOOST_PP_SLOT_3_DIGIT_3, BOOST_PP_SLOT_3_DIGIT_2, BOOST_PP_SLOT_3_DIGIT_1)
-# elif BOOST_PP_SLOT_3_DIGIT_6
-# define BOOST_PP_SLOT_3() BOOST_PP_SLOT_CC_6(BOOST_PP_SLOT_3_DIGIT_6, BOOST_PP_SLOT_3_DIGIT_5, BOOST_PP_SLOT_3_DIGIT_4, BOOST_PP_SLOT_3_DIGIT_3, BOOST_PP_SLOT_3_DIGIT_2, BOOST_PP_SLOT_3_DIGIT_1)
-# elif BOOST_PP_SLOT_3_DIGIT_5
-# define BOOST_PP_SLOT_3() BOOST_PP_SLOT_CC_5(BOOST_PP_SLOT_3_DIGIT_5, BOOST_PP_SLOT_3_DIGIT_4, BOOST_PP_SLOT_3_DIGIT_3, BOOST_PP_SLOT_3_DIGIT_2, BOOST_PP_SLOT_3_DIGIT_1)
-# elif BOOST_PP_SLOT_3_DIGIT_4
-# define BOOST_PP_SLOT_3() BOOST_PP_SLOT_CC_4(BOOST_PP_SLOT_3_DIGIT_4, BOOST_PP_SLOT_3_DIGIT_3, BOOST_PP_SLOT_3_DIGIT_2, BOOST_PP_SLOT_3_DIGIT_1)
-# elif BOOST_PP_SLOT_3_DIGIT_3
-# define BOOST_PP_SLOT_3() BOOST_PP_SLOT_CC_3(BOOST_PP_SLOT_3_DIGIT_3, BOOST_PP_SLOT_3_DIGIT_2, BOOST_PP_SLOT_3_DIGIT_1)
-# elif BOOST_PP_SLOT_3_DIGIT_2
-# define BOOST_PP_SLOT_3() BOOST_PP_SLOT_CC_2(BOOST_PP_SLOT_3_DIGIT_2, BOOST_PP_SLOT_3_DIGIT_1)
-# else
-# define BOOST_PP_SLOT_3() BOOST_PP_SLOT_3_DIGIT_1
-# endif
diff --git a/boost/preprocessor/slot/detail/slot4.hpp b/boost/preprocessor/slot/detail/slot4.hpp
deleted file mode 100644
index 9aa4d8a..0000000
--- a/boost/preprocessor/slot/detail/slot4.hpp
+++ /dev/null
@@ -1,267 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# include <boost/preprocessor/slot/detail/shared.hpp>
-#
-# undef BOOST_PP_SLOT_4
-#
-# undef BOOST_PP_SLOT_4_DIGIT_1
-# undef BOOST_PP_SLOT_4_DIGIT_2
-# undef BOOST_PP_SLOT_4_DIGIT_3
-# undef BOOST_PP_SLOT_4_DIGIT_4
-# undef BOOST_PP_SLOT_4_DIGIT_5
-# undef BOOST_PP_SLOT_4_DIGIT_6
-# undef BOOST_PP_SLOT_4_DIGIT_7
-# undef BOOST_PP_SLOT_4_DIGIT_8
-# undef BOOST_PP_SLOT_4_DIGIT_9
-# undef BOOST_PP_SLOT_4_DIGIT_10
-#
-# if BOOST_PP_SLOT_TEMP_10 == 0
-# define BOOST_PP_SLOT_4_DIGIT_10 0
-# elif BOOST_PP_SLOT_TEMP_10 == 1
-# define BOOST_PP_SLOT_4_DIGIT_10 1
-# elif BOOST_PP_SLOT_TEMP_10 == 2
-# define BOOST_PP_SLOT_4_DIGIT_10 2
-# elif BOOST_PP_SLOT_TEMP_10 == 3
-# define BOOST_PP_SLOT_4_DIGIT_10 3
-# elif BOOST_PP_SLOT_TEMP_10 == 4
-# define BOOST_PP_SLOT_4_DIGIT_10 4
-# elif BOOST_PP_SLOT_TEMP_10 == 5
-# define BOOST_PP_SLOT_4_DIGIT_10 5
-# elif BOOST_PP_SLOT_TEMP_10 == 6
-# define BOOST_PP_SLOT_4_DIGIT_10 6
-# elif BOOST_PP_SLOT_TEMP_10 == 7
-# define BOOST_PP_SLOT_4_DIGIT_10 7
-# elif BOOST_PP_SLOT_TEMP_10 == 8
-# define BOOST_PP_SLOT_4_DIGIT_10 8
-# elif BOOST_PP_SLOT_TEMP_10 == 9
-# define BOOST_PP_SLOT_4_DIGIT_10 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_9 == 0
-# define BOOST_PP_SLOT_4_DIGIT_9 0
-# elif BOOST_PP_SLOT_TEMP_9 == 1
-# define BOOST_PP_SLOT_4_DIGIT_9 1
-# elif BOOST_PP_SLOT_TEMP_9 == 2
-# define BOOST_PP_SLOT_4_DIGIT_9 2
-# elif BOOST_PP_SLOT_TEMP_9 == 3
-# define BOOST_PP_SLOT_4_DIGIT_9 3
-# elif BOOST_PP_SLOT_TEMP_9 == 4
-# define BOOST_PP_SLOT_4_DIGIT_9 4
-# elif BOOST_PP_SLOT_TEMP_9 == 5
-# define BOOST_PP_SLOT_4_DIGIT_9 5
-# elif BOOST_PP_SLOT_TEMP_9 == 6
-# define BOOST_PP_SLOT_4_DIGIT_9 6
-# elif BOOST_PP_SLOT_TEMP_9 == 7
-# define BOOST_PP_SLOT_4_DIGIT_9 7
-# elif BOOST_PP_SLOT_TEMP_9 == 8
-# define BOOST_PP_SLOT_4_DIGIT_9 8
-# elif BOOST_PP_SLOT_TEMP_9 == 9
-# define BOOST_PP_SLOT_4_DIGIT_9 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_8 == 0
-# define BOOST_PP_SLOT_4_DIGIT_8 0
-# elif BOOST_PP_SLOT_TEMP_8 == 1
-# define BOOST_PP_SLOT_4_DIGIT_8 1
-# elif BOOST_PP_SLOT_TEMP_8 == 2
-# define BOOST_PP_SLOT_4_DIGIT_8 2
-# elif BOOST_PP_SLOT_TEMP_8 == 3
-# define BOOST_PP_SLOT_4_DIGIT_8 3
-# elif BOOST_PP_SLOT_TEMP_8 == 4
-# define BOOST_PP_SLOT_4_DIGIT_8 4
-# elif BOOST_PP_SLOT_TEMP_8 == 5
-# define BOOST_PP_SLOT_4_DIGIT_8 5
-# elif BOOST_PP_SLOT_TEMP_8 == 6
-# define BOOST_PP_SLOT_4_DIGIT_8 6
-# elif BOOST_PP_SLOT_TEMP_8 == 7
-# define BOOST_PP_SLOT_4_DIGIT_8 7
-# elif BOOST_PP_SLOT_TEMP_8 == 8
-# define BOOST_PP_SLOT_4_DIGIT_8 8
-# elif BOOST_PP_SLOT_TEMP_8 == 9
-# define BOOST_PP_SLOT_4_DIGIT_8 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_7 == 0
-# define BOOST_PP_SLOT_4_DIGIT_7 0
-# elif BOOST_PP_SLOT_TEMP_7 == 1
-# define BOOST_PP_SLOT_4_DIGIT_7 1
-# elif BOOST_PP_SLOT_TEMP_7 == 2
-# define BOOST_PP_SLOT_4_DIGIT_7 2
-# elif BOOST_PP_SLOT_TEMP_7 == 3
-# define BOOST_PP_SLOT_4_DIGIT_7 3
-# elif BOOST_PP_SLOT_TEMP_7 == 4
-# define BOOST_PP_SLOT_4_DIGIT_7 4
-# elif BOOST_PP_SLOT_TEMP_7 == 5
-# define BOOST_PP_SLOT_4_DIGIT_7 5
-# elif BOOST_PP_SLOT_TEMP_7 == 6
-# define BOOST_PP_SLOT_4_DIGIT_7 6
-# elif BOOST_PP_SLOT_TEMP_7 == 7
-# define BOOST_PP_SLOT_4_DIGIT_7 7
-# elif BOOST_PP_SLOT_TEMP_7 == 8
-# define BOOST_PP_SLOT_4_DIGIT_7 8
-# elif BOOST_PP_SLOT_TEMP_7 == 9
-# define BOOST_PP_SLOT_4_DIGIT_7 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_6 == 0
-# define BOOST_PP_SLOT_4_DIGIT_6 0
-# elif BOOST_PP_SLOT_TEMP_6 == 1
-# define BOOST_PP_SLOT_4_DIGIT_6 1
-# elif BOOST_PP_SLOT_TEMP_6 == 2
-# define BOOST_PP_SLOT_4_DIGIT_6 2
-# elif BOOST_PP_SLOT_TEMP_6 == 3
-# define BOOST_PP_SLOT_4_DIGIT_6 3
-# elif BOOST_PP_SLOT_TEMP_6 == 4
-# define BOOST_PP_SLOT_4_DIGIT_6 4
-# elif BOOST_PP_SLOT_TEMP_6 == 5
-# define BOOST_PP_SLOT_4_DIGIT_6 5
-# elif BOOST_PP_SLOT_TEMP_6 == 6
-# define BOOST_PP_SLOT_4_DIGIT_6 6
-# elif BOOST_PP_SLOT_TEMP_6 == 7
-# define BOOST_PP_SLOT_4_DIGIT_6 7
-# elif BOOST_PP_SLOT_TEMP_6 == 8
-# define BOOST_PP_SLOT_4_DIGIT_6 8
-# elif BOOST_PP_SLOT_TEMP_6 == 9
-# define BOOST_PP_SLOT_4_DIGIT_6 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_5 == 0
-# define BOOST_PP_SLOT_4_DIGIT_5 0
-# elif BOOST_PP_SLOT_TEMP_5 == 1
-# define BOOST_PP_SLOT_4_DIGIT_5 1
-# elif BOOST_PP_SLOT_TEMP_5 == 2
-# define BOOST_PP_SLOT_4_DIGIT_5 2
-# elif BOOST_PP_SLOT_TEMP_5 == 3
-# define BOOST_PP_SLOT_4_DIGIT_5 3
-# elif BOOST_PP_SLOT_TEMP_5 == 4
-# define BOOST_PP_SLOT_4_DIGIT_5 4
-# elif BOOST_PP_SLOT_TEMP_5 == 5
-# define BOOST_PP_SLOT_4_DIGIT_5 5
-# elif BOOST_PP_SLOT_TEMP_5 == 6
-# define BOOST_PP_SLOT_4_DIGIT_5 6
-# elif BOOST_PP_SLOT_TEMP_5 == 7
-# define BOOST_PP_SLOT_4_DIGIT_5 7
-# elif BOOST_PP_SLOT_TEMP_5 == 8
-# define BOOST_PP_SLOT_4_DIGIT_5 8
-# elif BOOST_PP_SLOT_TEMP_5 == 9
-# define BOOST_PP_SLOT_4_DIGIT_5 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_4 == 0
-# define BOOST_PP_SLOT_4_DIGIT_4 0
-# elif BOOST_PP_SLOT_TEMP_4 == 1
-# define BOOST_PP_SLOT_4_DIGIT_4 1
-# elif BOOST_PP_SLOT_TEMP_4 == 2
-# define BOOST_PP_SLOT_4_DIGIT_4 2
-# elif BOOST_PP_SLOT_TEMP_4 == 3
-# define BOOST_PP_SLOT_4_DIGIT_4 3
-# elif BOOST_PP_SLOT_TEMP_4 == 4
-# define BOOST_PP_SLOT_4_DIGIT_4 4
-# elif BOOST_PP_SLOT_TEMP_4 == 5
-# define BOOST_PP_SLOT_4_DIGIT_4 5
-# elif BOOST_PP_SLOT_TEMP_4 == 6
-# define BOOST_PP_SLOT_4_DIGIT_4 6
-# elif BOOST_PP_SLOT_TEMP_4 == 7
-# define BOOST_PP_SLOT_4_DIGIT_4 7
-# elif BOOST_PP_SLOT_TEMP_4 == 8
-# define BOOST_PP_SLOT_4_DIGIT_4 8
-# elif BOOST_PP_SLOT_TEMP_4 == 9
-# define BOOST_PP_SLOT_4_DIGIT_4 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_3 == 0
-# define BOOST_PP_SLOT_4_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-# define BOOST_PP_SLOT_4_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-# define BOOST_PP_SLOT_4_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-# define BOOST_PP_SLOT_4_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-# define BOOST_PP_SLOT_4_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-# define BOOST_PP_SLOT_4_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-# define BOOST_PP_SLOT_4_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-# define BOOST_PP_SLOT_4_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-# define BOOST_PP_SLOT_4_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-# define BOOST_PP_SLOT_4_DIGIT_3 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_2 == 0
-# define BOOST_PP_SLOT_4_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-# define BOOST_PP_SLOT_4_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-# define BOOST_PP_SLOT_4_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-# define BOOST_PP_SLOT_4_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-# define BOOST_PP_SLOT_4_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-# define BOOST_PP_SLOT_4_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-# define BOOST_PP_SLOT_4_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-# define BOOST_PP_SLOT_4_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-# define BOOST_PP_SLOT_4_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-# define BOOST_PP_SLOT_4_DIGIT_2 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_1 == 0
-# define BOOST_PP_SLOT_4_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-# define BOOST_PP_SLOT_4_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-# define BOOST_PP_SLOT_4_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-# define BOOST_PP_SLOT_4_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-# define BOOST_PP_SLOT_4_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-# define BOOST_PP_SLOT_4_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-# define BOOST_PP_SLOT_4_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-# define BOOST_PP_SLOT_4_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-# define BOOST_PP_SLOT_4_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-# define BOOST_PP_SLOT_4_DIGIT_1 9
-# endif
-#
-# if BOOST_PP_SLOT_4_DIGIT_10
-# define BOOST_PP_SLOT_4() BOOST_PP_SLOT_CC_10(BOOST_PP_SLOT_4_DIGIT_10, BOOST_PP_SLOT_4_DIGIT_9, BOOST_PP_SLOT_4_DIGIT_8, BOOST_PP_SLOT_4_DIGIT_7, BOOST_PP_SLOT_4_DIGIT_6, BOOST_PP_SLOT_4_DIGIT_5, BOOST_PP_SLOT_4_DIGIT_4, BOOST_PP_SLOT_4_DIGIT_3, BOOST_PP_SLOT_4_DIGIT_2, BOOST_PP_SLOT_4_DIGIT_1)
-# elif BOOST_PP_SLOT_4_DIGIT_9
-# define BOOST_PP_SLOT_4() BOOST_PP_SLOT_CC_9(BOOST_PP_SLOT_4_DIGIT_9, BOOST_PP_SLOT_4_DIGIT_8, BOOST_PP_SLOT_4_DIGIT_7, BOOST_PP_SLOT_4_DIGIT_6, BOOST_PP_SLOT_4_DIGIT_5, BOOST_PP_SLOT_4_DIGIT_4, BOOST_PP_SLOT_4_DIGIT_3, BOOST_PP_SLOT_4_DIGIT_2, BOOST_PP_SLOT_4_DIGIT_1)
-# elif BOOST_PP_SLOT_4_DIGIT_8
-# define BOOST_PP_SLOT_4() BOOST_PP_SLOT_CC_8(BOOST_PP_SLOT_4_DIGIT_8, BOOST_PP_SLOT_4_DIGIT_7, BOOST_PP_SLOT_4_DIGIT_6, BOOST_PP_SLOT_4_DIGIT_5, BOOST_PP_SLOT_4_DIGIT_4, BOOST_PP_SLOT_4_DIGIT_3, BOOST_PP_SLOT_4_DIGIT_2, BOOST_PP_SLOT_4_DIGIT_1)
-# elif BOOST_PP_SLOT_4_DIGIT_7
-# define BOOST_PP_SLOT_4() BOOST_PP_SLOT_CC_7(BOOST_PP_SLOT_4_DIGIT_7, BOOST_PP_SLOT_4_DIGIT_6, BOOST_PP_SLOT_4_DIGIT_5, BOOST_PP_SLOT_4_DIGIT_4, BOOST_PP_SLOT_4_DIGIT_3, BOOST_PP_SLOT_4_DIGIT_2, BOOST_PP_SLOT_4_DIGIT_1)
-# elif BOOST_PP_SLOT_4_DIGIT_6
-# define BOOST_PP_SLOT_4() BOOST_PP_SLOT_CC_6(BOOST_PP_SLOT_4_DIGIT_6, BOOST_PP_SLOT_4_DIGIT_5, BOOST_PP_SLOT_4_DIGIT_4, BOOST_PP_SLOT_4_DIGIT_3, BOOST_PP_SLOT_4_DIGIT_2, BOOST_PP_SLOT_4_DIGIT_1)
-# elif BOOST_PP_SLOT_4_DIGIT_5
-# define BOOST_PP_SLOT_4() BOOST_PP_SLOT_CC_5(BOOST_PP_SLOT_4_DIGIT_5, BOOST_PP_SLOT_4_DIGIT_4, BOOST_PP_SLOT_4_DIGIT_3, BOOST_PP_SLOT_4_DIGIT_2, BOOST_PP_SLOT_4_DIGIT_1)
-# elif BOOST_PP_SLOT_4_DIGIT_4
-# define BOOST_PP_SLOT_4() BOOST_PP_SLOT_CC_4(BOOST_PP_SLOT_4_DIGIT_4, BOOST_PP_SLOT_4_DIGIT_3, BOOST_PP_SLOT_4_DIGIT_2, BOOST_PP_SLOT_4_DIGIT_1)
-# elif BOOST_PP_SLOT_4_DIGIT_3
-# define BOOST_PP_SLOT_4() BOOST_PP_SLOT_CC_3(BOOST_PP_SLOT_4_DIGIT_3, BOOST_PP_SLOT_4_DIGIT_2, BOOST_PP_SLOT_4_DIGIT_1)
-# elif BOOST_PP_SLOT_4_DIGIT_2
-# define BOOST_PP_SLOT_4() BOOST_PP_SLOT_CC_2(BOOST_PP_SLOT_4_DIGIT_2, BOOST_PP_SLOT_4_DIGIT_1)
-# else
-# define BOOST_PP_SLOT_4() BOOST_PP_SLOT_4_DIGIT_1
-# endif
diff --git a/boost/preprocessor/slot/detail/slot5.hpp b/boost/preprocessor/slot/detail/slot5.hpp
deleted file mode 100644
index d17535d..0000000
--- a/boost/preprocessor/slot/detail/slot5.hpp
+++ /dev/null
@@ -1,267 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# include <boost/preprocessor/slot/detail/shared.hpp>
-#
-# undef BOOST_PP_SLOT_5
-#
-# undef BOOST_PP_SLOT_5_DIGIT_1
-# undef BOOST_PP_SLOT_5_DIGIT_2
-# undef BOOST_PP_SLOT_5_DIGIT_3
-# undef BOOST_PP_SLOT_5_DIGIT_4
-# undef BOOST_PP_SLOT_5_DIGIT_5
-# undef BOOST_PP_SLOT_5_DIGIT_6
-# undef BOOST_PP_SLOT_5_DIGIT_7
-# undef BOOST_PP_SLOT_5_DIGIT_8
-# undef BOOST_PP_SLOT_5_DIGIT_9
-# undef BOOST_PP_SLOT_5_DIGIT_10
-#
-# if BOOST_PP_SLOT_TEMP_10 == 0
-# define BOOST_PP_SLOT_5_DIGIT_10 0
-# elif BOOST_PP_SLOT_TEMP_10 == 1
-# define BOOST_PP_SLOT_5_DIGIT_10 1
-# elif BOOST_PP_SLOT_TEMP_10 == 2
-# define BOOST_PP_SLOT_5_DIGIT_10 2
-# elif BOOST_PP_SLOT_TEMP_10 == 3
-# define BOOST_PP_SLOT_5_DIGIT_10 3
-# elif BOOST_PP_SLOT_TEMP_10 == 4
-# define BOOST_PP_SLOT_5_DIGIT_10 4
-# elif BOOST_PP_SLOT_TEMP_10 == 5
-# define BOOST_PP_SLOT_5_DIGIT_10 5
-# elif BOOST_PP_SLOT_TEMP_10 == 6
-# define BOOST_PP_SLOT_5_DIGIT_10 6
-# elif BOOST_PP_SLOT_TEMP_10 == 7
-# define BOOST_PP_SLOT_5_DIGIT_10 7
-# elif BOOST_PP_SLOT_TEMP_10 == 8
-# define BOOST_PP_SLOT_5_DIGIT_10 8
-# elif BOOST_PP_SLOT_TEMP_10 == 9
-# define BOOST_PP_SLOT_5_DIGIT_10 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_9 == 0
-# define BOOST_PP_SLOT_5_DIGIT_9 0
-# elif BOOST_PP_SLOT_TEMP_9 == 1
-# define BOOST_PP_SLOT_5_DIGIT_9 1
-# elif BOOST_PP_SLOT_TEMP_9 == 2
-# define BOOST_PP_SLOT_5_DIGIT_9 2
-# elif BOOST_PP_SLOT_TEMP_9 == 3
-# define BOOST_PP_SLOT_5_DIGIT_9 3
-# elif BOOST_PP_SLOT_TEMP_9 == 4
-# define BOOST_PP_SLOT_5_DIGIT_9 4
-# elif BOOST_PP_SLOT_TEMP_9 == 5
-# define BOOST_PP_SLOT_5_DIGIT_9 5
-# elif BOOST_PP_SLOT_TEMP_9 == 6
-# define BOOST_PP_SLOT_5_DIGIT_9 6
-# elif BOOST_PP_SLOT_TEMP_9 == 7
-# define BOOST_PP_SLOT_5_DIGIT_9 7
-# elif BOOST_PP_SLOT_TEMP_9 == 8
-# define BOOST_PP_SLOT_5_DIGIT_9 8
-# elif BOOST_PP_SLOT_TEMP_9 == 9
-# define BOOST_PP_SLOT_5_DIGIT_9 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_8 == 0
-# define BOOST_PP_SLOT_5_DIGIT_8 0
-# elif BOOST_PP_SLOT_TEMP_8 == 1
-# define BOOST_PP_SLOT_5_DIGIT_8 1
-# elif BOOST_PP_SLOT_TEMP_8 == 2
-# define BOOST_PP_SLOT_5_DIGIT_8 2
-# elif BOOST_PP_SLOT_TEMP_8 == 3
-# define BOOST_PP_SLOT_5_DIGIT_8 3
-# elif BOOST_PP_SLOT_TEMP_8 == 4
-# define BOOST_PP_SLOT_5_DIGIT_8 4
-# elif BOOST_PP_SLOT_TEMP_8 == 5
-# define BOOST_PP_SLOT_5_DIGIT_8 5
-# elif BOOST_PP_SLOT_TEMP_8 == 6
-# define BOOST_PP_SLOT_5_DIGIT_8 6
-# elif BOOST_PP_SLOT_TEMP_8 == 7
-# define BOOST_PP_SLOT_5_DIGIT_8 7
-# elif BOOST_PP_SLOT_TEMP_8 == 8
-# define BOOST_PP_SLOT_5_DIGIT_8 8
-# elif BOOST_PP_SLOT_TEMP_8 == 9
-# define BOOST_PP_SLOT_5_DIGIT_8 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_7 == 0
-# define BOOST_PP_SLOT_5_DIGIT_7 0
-# elif BOOST_PP_SLOT_TEMP_7 == 1
-# define BOOST_PP_SLOT_5_DIGIT_7 1
-# elif BOOST_PP_SLOT_TEMP_7 == 2
-# define BOOST_PP_SLOT_5_DIGIT_7 2
-# elif BOOST_PP_SLOT_TEMP_7 == 3
-# define BOOST_PP_SLOT_5_DIGIT_7 3
-# elif BOOST_PP_SLOT_TEMP_7 == 4
-# define BOOST_PP_SLOT_5_DIGIT_7 4
-# elif BOOST_PP_SLOT_TEMP_7 == 5
-# define BOOST_PP_SLOT_5_DIGIT_7 5
-# elif BOOST_PP_SLOT_TEMP_7 == 6
-# define BOOST_PP_SLOT_5_DIGIT_7 6
-# elif BOOST_PP_SLOT_TEMP_7 == 7
-# define BOOST_PP_SLOT_5_DIGIT_7 7
-# elif BOOST_PP_SLOT_TEMP_7 == 8
-# define BOOST_PP_SLOT_5_DIGIT_7 8
-# elif BOOST_PP_SLOT_TEMP_7 == 9
-# define BOOST_PP_SLOT_5_DIGIT_7 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_6 == 0
-# define BOOST_PP_SLOT_5_DIGIT_6 0
-# elif BOOST_PP_SLOT_TEMP_6 == 1
-# define BOOST_PP_SLOT_5_DIGIT_6 1
-# elif BOOST_PP_SLOT_TEMP_6 == 2
-# define BOOST_PP_SLOT_5_DIGIT_6 2
-# elif BOOST_PP_SLOT_TEMP_6 == 3
-# define BOOST_PP_SLOT_5_DIGIT_6 3
-# elif BOOST_PP_SLOT_TEMP_6 == 4
-# define BOOST_PP_SLOT_5_DIGIT_6 4
-# elif BOOST_PP_SLOT_TEMP_6 == 5
-# define BOOST_PP_SLOT_5_DIGIT_6 5
-# elif BOOST_PP_SLOT_TEMP_6 == 6
-# define BOOST_PP_SLOT_5_DIGIT_6 6
-# elif BOOST_PP_SLOT_TEMP_6 == 7
-# define BOOST_PP_SLOT_5_DIGIT_6 7
-# elif BOOST_PP_SLOT_TEMP_6 == 8
-# define BOOST_PP_SLOT_5_DIGIT_6 8
-# elif BOOST_PP_SLOT_TEMP_6 == 9
-# define BOOST_PP_SLOT_5_DIGIT_6 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_5 == 0
-# define BOOST_PP_SLOT_5_DIGIT_5 0
-# elif BOOST_PP_SLOT_TEMP_5 == 1
-# define BOOST_PP_SLOT_5_DIGIT_5 1
-# elif BOOST_PP_SLOT_TEMP_5 == 2
-# define BOOST_PP_SLOT_5_DIGIT_5 2
-# elif BOOST_PP_SLOT_TEMP_5 == 3
-# define BOOST_PP_SLOT_5_DIGIT_5 3
-# elif BOOST_PP_SLOT_TEMP_5 == 4
-# define BOOST_PP_SLOT_5_DIGIT_5 4
-# elif BOOST_PP_SLOT_TEMP_5 == 5
-# define BOOST_PP_SLOT_5_DIGIT_5 5
-# elif BOOST_PP_SLOT_TEMP_5 == 6
-# define BOOST_PP_SLOT_5_DIGIT_5 6
-# elif BOOST_PP_SLOT_TEMP_5 == 7
-# define BOOST_PP_SLOT_5_DIGIT_5 7
-# elif BOOST_PP_SLOT_TEMP_5 == 8
-# define BOOST_PP_SLOT_5_DIGIT_5 8
-# elif BOOST_PP_SLOT_TEMP_5 == 9
-# define BOOST_PP_SLOT_5_DIGIT_5 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_4 == 0
-# define BOOST_PP_SLOT_5_DIGIT_4 0
-# elif BOOST_PP_SLOT_TEMP_4 == 1
-# define BOOST_PP_SLOT_5_DIGIT_4 1
-# elif BOOST_PP_SLOT_TEMP_4 == 2
-# define BOOST_PP_SLOT_5_DIGIT_4 2
-# elif BOOST_PP_SLOT_TEMP_4 == 3
-# define BOOST_PP_SLOT_5_DIGIT_4 3
-# elif BOOST_PP_SLOT_TEMP_4 == 4
-# define BOOST_PP_SLOT_5_DIGIT_4 4
-# elif BOOST_PP_SLOT_TEMP_4 == 5
-# define BOOST_PP_SLOT_5_DIGIT_4 5
-# elif BOOST_PP_SLOT_TEMP_4 == 6
-# define BOOST_PP_SLOT_5_DIGIT_4 6
-# elif BOOST_PP_SLOT_TEMP_4 == 7
-# define BOOST_PP_SLOT_5_DIGIT_4 7
-# elif BOOST_PP_SLOT_TEMP_4 == 8
-# define BOOST_PP_SLOT_5_DIGIT_4 8
-# elif BOOST_PP_SLOT_TEMP_4 == 9
-# define BOOST_PP_SLOT_5_DIGIT_4 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_3 == 0
-# define BOOST_PP_SLOT_5_DIGIT_3 0
-# elif BOOST_PP_SLOT_TEMP_3 == 1
-# define BOOST_PP_SLOT_5_DIGIT_3 1
-# elif BOOST_PP_SLOT_TEMP_3 == 2
-# define BOOST_PP_SLOT_5_DIGIT_3 2
-# elif BOOST_PP_SLOT_TEMP_3 == 3
-# define BOOST_PP_SLOT_5_DIGIT_3 3
-# elif BOOST_PP_SLOT_TEMP_3 == 4
-# define BOOST_PP_SLOT_5_DIGIT_3 4
-# elif BOOST_PP_SLOT_TEMP_3 == 5
-# define BOOST_PP_SLOT_5_DIGIT_3 5
-# elif BOOST_PP_SLOT_TEMP_3 == 6
-# define BOOST_PP_SLOT_5_DIGIT_3 6
-# elif BOOST_PP_SLOT_TEMP_3 == 7
-# define BOOST_PP_SLOT_5_DIGIT_3 7
-# elif BOOST_PP_SLOT_TEMP_3 == 8
-# define BOOST_PP_SLOT_5_DIGIT_3 8
-# elif BOOST_PP_SLOT_TEMP_3 == 9
-# define BOOST_PP_SLOT_5_DIGIT_3 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_2 == 0
-# define BOOST_PP_SLOT_5_DIGIT_2 0
-# elif BOOST_PP_SLOT_TEMP_2 == 1
-# define BOOST_PP_SLOT_5_DIGIT_2 1
-# elif BOOST_PP_SLOT_TEMP_2 == 2
-# define BOOST_PP_SLOT_5_DIGIT_2 2
-# elif BOOST_PP_SLOT_TEMP_2 == 3
-# define BOOST_PP_SLOT_5_DIGIT_2 3
-# elif BOOST_PP_SLOT_TEMP_2 == 4
-# define BOOST_PP_SLOT_5_DIGIT_2 4
-# elif BOOST_PP_SLOT_TEMP_2 == 5
-# define BOOST_PP_SLOT_5_DIGIT_2 5
-# elif BOOST_PP_SLOT_TEMP_2 == 6
-# define BOOST_PP_SLOT_5_DIGIT_2 6
-# elif BOOST_PP_SLOT_TEMP_2 == 7
-# define BOOST_PP_SLOT_5_DIGIT_2 7
-# elif BOOST_PP_SLOT_TEMP_2 == 8
-# define BOOST_PP_SLOT_5_DIGIT_2 8
-# elif BOOST_PP_SLOT_TEMP_2 == 9
-# define BOOST_PP_SLOT_5_DIGIT_2 9
-# endif
-#
-# if BOOST_PP_SLOT_TEMP_1 == 0
-# define BOOST_PP_SLOT_5_DIGIT_1 0
-# elif BOOST_PP_SLOT_TEMP_1 == 1
-# define BOOST_PP_SLOT_5_DIGIT_1 1
-# elif BOOST_PP_SLOT_TEMP_1 == 2
-# define BOOST_PP_SLOT_5_DIGIT_1 2
-# elif BOOST_PP_SLOT_TEMP_1 == 3
-# define BOOST_PP_SLOT_5_DIGIT_1 3
-# elif BOOST_PP_SLOT_TEMP_1 == 4
-# define BOOST_PP_SLOT_5_DIGIT_1 4
-# elif BOOST_PP_SLOT_TEMP_1 == 5
-# define BOOST_PP_SLOT_5_DIGIT_1 5
-# elif BOOST_PP_SLOT_TEMP_1 == 6
-# define BOOST_PP_SLOT_5_DIGIT_1 6
-# elif BOOST_PP_SLOT_TEMP_1 == 7
-# define BOOST_PP_SLOT_5_DIGIT_1 7
-# elif BOOST_PP_SLOT_TEMP_1 == 8
-# define BOOST_PP_SLOT_5_DIGIT_1 8
-# elif BOOST_PP_SLOT_TEMP_1 == 9
-# define BOOST_PP_SLOT_5_DIGIT_1 9
-# endif
-#
-# if BOOST_PP_SLOT_5_DIGIT_10
-# define BOOST_PP_SLOT_5() BOOST_PP_SLOT_CC_10(BOOST_PP_SLOT_5_DIGIT_10, BOOST_PP_SLOT_5_DIGIT_9, BOOST_PP_SLOT_5_DIGIT_8, BOOST_PP_SLOT_5_DIGIT_7, BOOST_PP_SLOT_5_DIGIT_6, BOOST_PP_SLOT_5_DIGIT_5, BOOST_PP_SLOT_5_DIGIT_4, BOOST_PP_SLOT_5_DIGIT_3, BOOST_PP_SLOT_5_DIGIT_2, BOOST_PP_SLOT_5_DIGIT_1)
-# elif BOOST_PP_SLOT_5_DIGIT_9
-# define BOOST_PP_SLOT_5() BOOST_PP_SLOT_CC_9(BOOST_PP_SLOT_5_DIGIT_9, BOOST_PP_SLOT_5_DIGIT_8, BOOST_PP_SLOT_5_DIGIT_7, BOOST_PP_SLOT_5_DIGIT_6, BOOST_PP_SLOT_5_DIGIT_5, BOOST_PP_SLOT_5_DIGIT_4, BOOST_PP_SLOT_5_DIGIT_3, BOOST_PP_SLOT_5_DIGIT_2, BOOST_PP_SLOT_5_DIGIT_1)
-# elif BOOST_PP_SLOT_5_DIGIT_8
-# define BOOST_PP_SLOT_5() BOOST_PP_SLOT_CC_8(BOOST_PP_SLOT_5_DIGIT_8, BOOST_PP_SLOT_5_DIGIT_7, BOOST_PP_SLOT_5_DIGIT_6, BOOST_PP_SLOT_5_DIGIT_5, BOOST_PP_SLOT_5_DIGIT_4, BOOST_PP_SLOT_5_DIGIT_3, BOOST_PP_SLOT_5_DIGIT_2, BOOST_PP_SLOT_5_DIGIT_1)
-# elif BOOST_PP_SLOT_5_DIGIT_7
-# define BOOST_PP_SLOT_5() BOOST_PP_SLOT_CC_7(BOOST_PP_SLOT_5_DIGIT_7, BOOST_PP_SLOT_5_DIGIT_6, BOOST_PP_SLOT_5_DIGIT_5, BOOST_PP_SLOT_5_DIGIT_4, BOOST_PP_SLOT_5_DIGIT_3, BOOST_PP_SLOT_5_DIGIT_2, BOOST_PP_SLOT_5_DIGIT_1)
-# elif BOOST_PP_SLOT_5_DIGIT_6
-# define BOOST_PP_SLOT_5() BOOST_PP_SLOT_CC_6(BOOST_PP_SLOT_5_DIGIT_6, BOOST_PP_SLOT_5_DIGIT_5, BOOST_PP_SLOT_5_DIGIT_4, BOOST_PP_SLOT_5_DIGIT_3, BOOST_PP_SLOT_5_DIGIT_2, BOOST_PP_SLOT_5_DIGIT_1)
-# elif BOOST_PP_SLOT_5_DIGIT_5
-# define BOOST_PP_SLOT_5() BOOST_PP_SLOT_CC_5(BOOST_PP_SLOT_5_DIGIT_5, BOOST_PP_SLOT_5_DIGIT_4, BOOST_PP_SLOT_5_DIGIT_3, BOOST_PP_SLOT_5_DIGIT_2, BOOST_PP_SLOT_5_DIGIT_1)
-# elif BOOST_PP_SLOT_5_DIGIT_4
-# define BOOST_PP_SLOT_5() BOOST_PP_SLOT_CC_4(BOOST_PP_SLOT_5_DIGIT_4, BOOST_PP_SLOT_5_DIGIT_3, BOOST_PP_SLOT_5_DIGIT_2, BOOST_PP_SLOT_5_DIGIT_1)
-# elif BOOST_PP_SLOT_5_DIGIT_3
-# define BOOST_PP_SLOT_5() BOOST_PP_SLOT_CC_3(BOOST_PP_SLOT_5_DIGIT_3, BOOST_PP_SLOT_5_DIGIT_2, BOOST_PP_SLOT_5_DIGIT_1)
-# elif BOOST_PP_SLOT_5_DIGIT_2
-# define BOOST_PP_SLOT_5() BOOST_PP_SLOT_CC_2(BOOST_PP_SLOT_5_DIGIT_2, BOOST_PP_SLOT_5_DIGIT_1)
-# else
-# define BOOST_PP_SLOT_5() BOOST_PP_SLOT_5_DIGIT_1
-# endif
diff --git a/boost/preprocessor/slot/slot.hpp b/boost/preprocessor/slot/slot.hpp
deleted file mode 100644
index 147b097..0000000
--- a/boost/preprocessor/slot/slot.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_SLOT_SLOT_HPP
-# define BOOST_PREPROCESSOR_SLOT_SLOT_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/slot/detail/def.hpp>
-#
-# /* BOOST_PP_ASSIGN_SLOT */
-#
-# define BOOST_PP_ASSIGN_SLOT(i) BOOST_PP_CAT(BOOST_PP_ASSIGN_SLOT_, i)
-#
-# define BOOST_PP_ASSIGN_SLOT_1 <boost/preprocessor/slot/detail/slot1.hpp>
-# define BOOST_PP_ASSIGN_SLOT_2 <boost/preprocessor/slot/detail/slot2.hpp>
-# define BOOST_PP_ASSIGN_SLOT_3 <boost/preprocessor/slot/detail/slot3.hpp>
-# define BOOST_PP_ASSIGN_SLOT_4 <boost/preprocessor/slot/detail/slot4.hpp>
-# define BOOST_PP_ASSIGN_SLOT_5 <boost/preprocessor/slot/detail/slot5.hpp>
-#
-# /* BOOST_PP_SLOT */
-#
-# define BOOST_PP_SLOT(i) BOOST_PP_CAT(BOOST_PP_SLOT_, i)()
-#
-# endif
diff --git a/boost/preprocessor/stringize.hpp b/boost/preprocessor/stringize.hpp
deleted file mode 100644
index 64dd5fd..0000000
--- a/boost/preprocessor/stringize.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_STRINGIZE_HPP
-# define BOOST_PREPROCESSOR_STRINGIZE_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# /* BOOST_PP_STRINGIZE */
-#
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-# define BOOST_PP_STRINGIZE(text) BOOST_PP_STRINGIZE_A((text))
-# define BOOST_PP_STRINGIZE_A(arg) BOOST_PP_STRINGIZE_I arg
-# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-# define BOOST_PP_STRINGIZE(text) BOOST_PP_STRINGIZE_OO((text))
-# define BOOST_PP_STRINGIZE_OO(par) BOOST_PP_STRINGIZE_I ## par
-# else
-# define BOOST_PP_STRINGIZE(text) BOOST_PP_STRINGIZE_I(text)
-# endif
-#
-# define BOOST_PP_STRINGIZE_I(text) #text
-#
-# endif
diff --git a/boost/preprocessor/tuple/eat.hpp b/boost/preprocessor/tuple/eat.hpp
deleted file mode 100644
index 708015e..0000000
--- a/boost/preprocessor/tuple/eat.hpp
+++ /dev/null
@@ -1,106 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002-2011) */
-# /* Revised by Edward Diener (2011) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_TUPLE_EAT_HPP
-# define BOOST_PREPROCESSOR_TUPLE_EAT_HPP
-#
-# include <boost/preprocessor/config/config.hpp>
-#
-# /* BOOST_PP_EAT */
-#
-# if BOOST_PP_VARIADICS
-# define BOOST_PP_EAT(...)
-# else
-# define BOOST_PP_EAT(x)
-# endif
-#
-# /* BOOST_PP_TUPLE_EAT */
-#
-# if BOOST_PP_VARIADICS
-# define BOOST_PP_TUPLE_EAT(size) BOOST_PP_EAT
-# else
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-# define BOOST_PP_TUPLE_EAT(size) BOOST_PP_TUPLE_EAT_I(size)
-# else
-# define BOOST_PP_TUPLE_EAT(size) BOOST_PP_TUPLE_EAT_OO((size))
-# define BOOST_PP_TUPLE_EAT_OO(par) BOOST_PP_TUPLE_EAT_I ## par
-# endif
-# define BOOST_PP_TUPLE_EAT_I(size) BOOST_PP_TUPLE_EAT_ ## size
-# endif
-# define BOOST_PP_TUPLE_EAT_1(e0)
-# define BOOST_PP_TUPLE_EAT_2(e0, e1)
-# define BOOST_PP_TUPLE_EAT_3(e0, e1, e2)
-# define BOOST_PP_TUPLE_EAT_4(e0, e1, e2, e3)
-# define BOOST_PP_TUPLE_EAT_5(e0, e1, e2, e3, e4)
-# define BOOST_PP_TUPLE_EAT_6(e0, e1, e2, e3, e4, e5)
-# define BOOST_PP_TUPLE_EAT_7(e0, e1, e2, e3, e4, e5, e6)
-# define BOOST_PP_TUPLE_EAT_8(e0, e1, e2, e3, e4, e5, e6, e7)
-# define BOOST_PP_TUPLE_EAT_9(e0, e1, e2, e3, e4, e5, e6, e7, e8)
-# define BOOST_PP_TUPLE_EAT_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9)
-# define BOOST_PP_TUPLE_EAT_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10)
-# define BOOST_PP_TUPLE_EAT_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11)
-# define BOOST_PP_TUPLE_EAT_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12)
-# define BOOST_PP_TUPLE_EAT_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13)
-# define BOOST_PP_TUPLE_EAT_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14)
-# define BOOST_PP_TUPLE_EAT_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15)
-# define BOOST_PP_TUPLE_EAT_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16)
-# define BOOST_PP_TUPLE_EAT_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17)
-# define BOOST_PP_TUPLE_EAT_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18)
-# define BOOST_PP_TUPLE_EAT_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19)
-# define BOOST_PP_TUPLE_EAT_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20)
-# define BOOST_PP_TUPLE_EAT_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21)
-# define BOOST_PP_TUPLE_EAT_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22)
-# define BOOST_PP_TUPLE_EAT_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23)
-# define BOOST_PP_TUPLE_EAT_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24)
-# define BOOST_PP_TUPLE_EAT_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25)
-# define BOOST_PP_TUPLE_EAT_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26)
-# define BOOST_PP_TUPLE_EAT_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27)
-# define BOOST_PP_TUPLE_EAT_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28)
-# define BOOST_PP_TUPLE_EAT_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29)
-# define BOOST_PP_TUPLE_EAT_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30)
-# define BOOST_PP_TUPLE_EAT_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31)
-# define BOOST_PP_TUPLE_EAT_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32)
-# define BOOST_PP_TUPLE_EAT_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33)
-# define BOOST_PP_TUPLE_EAT_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34)
-# define BOOST_PP_TUPLE_EAT_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35)
-# define BOOST_PP_TUPLE_EAT_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36)
-# define BOOST_PP_TUPLE_EAT_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37)
-# define BOOST_PP_TUPLE_EAT_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38)
-# define BOOST_PP_TUPLE_EAT_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39)
-# define BOOST_PP_TUPLE_EAT_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40)
-# define BOOST_PP_TUPLE_EAT_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41)
-# define BOOST_PP_TUPLE_EAT_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42)
-# define BOOST_PP_TUPLE_EAT_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43)
-# define BOOST_PP_TUPLE_EAT_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44)
-# define BOOST_PP_TUPLE_EAT_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45)
-# define BOOST_PP_TUPLE_EAT_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46)
-# define BOOST_PP_TUPLE_EAT_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47)
-# define BOOST_PP_TUPLE_EAT_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48)
-# define BOOST_PP_TUPLE_EAT_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49)
-# define BOOST_PP_TUPLE_EAT_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50)
-# define BOOST_PP_TUPLE_EAT_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51)
-# define BOOST_PP_TUPLE_EAT_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52)
-# define BOOST_PP_TUPLE_EAT_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53)
-# define BOOST_PP_TUPLE_EAT_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54)
-# define BOOST_PP_TUPLE_EAT_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55)
-# define BOOST_PP_TUPLE_EAT_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56)
-# define BOOST_PP_TUPLE_EAT_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57)
-# define BOOST_PP_TUPLE_EAT_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58)
-# define BOOST_PP_TUPLE_EAT_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59)
-# define BOOST_PP_TUPLE_EAT_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60)
-# define BOOST_PP_TUPLE_EAT_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61)
-# define BOOST_PP_TUPLE_EAT_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62)
-# define BOOST_PP_TUPLE_EAT_64(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63)
-#
-# endif
diff --git a/boost/preprocessor/tuple/elem.hpp b/boost/preprocessor/tuple/elem.hpp
deleted file mode 100644
index 3eba1c5..0000000
--- a/boost/preprocessor/tuple/elem.hpp
+++ /dev/null
@@ -1,191 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002-2011) */
-# /* Revised by Edward Diener (2011) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_TUPLE_ELEM_HPP
-# define BOOST_PREPROCESSOR_TUPLE_ELEM_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/facilities/overload.hpp>
-# include <boost/preprocessor/tuple/rem.hpp>
-# include <boost/preprocessor/variadic/elem.hpp>
-#
-# if BOOST_PP_VARIADICS
-# if BOOST_PP_VARIADICS_MSVC
-# define BOOST_PP_TUPLE_ELEM(...) BOOST_PP_TUPLE_ELEM_I(BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_ELEM_O_, __VA_ARGS__), (__VA_ARGS__))
-# define BOOST_PP_TUPLE_ELEM_I(m, args) BOOST_PP_TUPLE_ELEM_II(m, args)
-# define BOOST_PP_TUPLE_ELEM_II(m, args) BOOST_PP_CAT(m ## args,)
-# else
-# define BOOST_PP_TUPLE_ELEM(...) BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_ELEM_O_, __VA_ARGS__)(__VA_ARGS__)
-# endif
-# define BOOST_PP_TUPLE_ELEM_O_2(n, tuple) BOOST_PP_VARIADIC_ELEM(n, BOOST_PP_REM tuple)
-# define BOOST_PP_TUPLE_ELEM_O_3(size, n, tuple) BOOST_PP_TUPLE_ELEM_O_2(n, tuple)
-# else
-# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-# define BOOST_PP_TUPLE_ELEM(size, n, tuple) BOOST_PP_TUPLE_ELEM_I(BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM_, n), BOOST_PP_CAT(BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM_E_, size), tuple))
-# define BOOST_PP_TUPLE_ELEM_I(m, args) BOOST_PP_TUPLE_ELEM_II(m, args)
-# define BOOST_PP_TUPLE_ELEM_II(m, args) BOOST_PP_CAT(m ## args,)
-# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-# define BOOST_PP_TUPLE_ELEM(size, n, tuple) BOOST_PP_TUPLE_ELEM_I_OO((size, n, tuple))
-# define BOOST_PP_TUPLE_ELEM_I_OO(par) BOOST_PP_TUPLE_ELEM_I ## par
-# define BOOST_PP_TUPLE_ELEM_I(size, n, tuple) BOOST_PP_TUPLE_ELEM_II((n, BOOST_PP_TUPLE_ELEM_E_ ## size ## tuple))
-# define BOOST_PP_TUPLE_ELEM_II(par) BOOST_PP_TUPLE_ELEM_III_OO(par)
-# define BOOST_PP_TUPLE_ELEM_III_OO(par) BOOST_PP_TUPLE_ELEM_III ## par
-# define BOOST_PP_TUPLE_ELEM_III(n, etuple) BOOST_PP_TUPLE_ELEM_ ## n ## etuple
-# else
-# define BOOST_PP_TUPLE_ELEM(size, n, tuple) BOOST_PP_TUPLE_ELEM_I(BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM_, n) BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM_E_, size) tuple)
-# define BOOST_PP_TUPLE_ELEM_I(x) x
-# endif
-# define BOOST_PP_TUPLE_ELEM_E_1(e0) (e0, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-# define BOOST_PP_TUPLE_ELEM_E_2(e0, e1) (e0, e1, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-# define BOOST_PP_TUPLE_ELEM_E_3(e0, e1, e2) (e0, e1, e2, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-# define BOOST_PP_TUPLE_ELEM_E_4(e0, e1, e2, e3) (e0, e1, e2, e3, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-# define BOOST_PP_TUPLE_ELEM_E_5(e0, e1, e2, e3, e4) (e0, e1, e2, e3, e4, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-# define BOOST_PP_TUPLE_ELEM_E_6(e0, e1, e2, e3, e4, e5) (e0, e1, e2, e3, e4, e5, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-# define BOOST_PP_TUPLE_ELEM_E_7(e0, e1, e2, e3, e4, e5, e6) (e0, e1, e2, e3, e4, e5, e6, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-# define BOOST_PP_TUPLE_ELEM_E_8(e0, e1, e2, e3, e4, e5, e6, e7) (e0, e1, e2, e3, e4, e5, e6, e7, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-# define BOOST_PP_TUPLE_ELEM_E_9(e0, e1, e2, e3, e4, e5, e6, e7, e8) (e0, e1, e2, e3, e4, e5, e6, e7, e8, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-# define BOOST_PP_TUPLE_ELEM_E_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-# define BOOST_PP_TUPLE_ELEM_E_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-# define BOOST_PP_TUPLE_ELEM_E_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-# define BOOST_PP_TUPLE_ELEM_E_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-# define BOOST_PP_TUPLE_ELEM_E_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-# define BOOST_PP_TUPLE_ELEM_E_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-# define BOOST_PP_TUPLE_ELEM_E_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-# define BOOST_PP_TUPLE_ELEM_E_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-# define BOOST_PP_TUPLE_ELEM_E_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-# define BOOST_PP_TUPLE_ELEM_E_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-# define BOOST_PP_TUPLE_ELEM_E_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-# define BOOST_PP_TUPLE_ELEM_E_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-# define BOOST_PP_TUPLE_ELEM_E_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-# define BOOST_PP_TUPLE_ELEM_E_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-# define BOOST_PP_TUPLE_ELEM_E_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-# define BOOST_PP_TUPLE_ELEM_E_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-# define BOOST_PP_TUPLE_ELEM_E_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-# define BOOST_PP_TUPLE_ELEM_E_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-# define BOOST_PP_TUPLE_ELEM_E_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-# define BOOST_PP_TUPLE_ELEM_E_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-# define BOOST_PP_TUPLE_ELEM_E_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-# define BOOST_PP_TUPLE_ELEM_E_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-# define BOOST_PP_TUPLE_ELEM_E_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-# define BOOST_PP_TUPLE_ELEM_E_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-# define BOOST_PP_TUPLE_ELEM_E_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-# define BOOST_PP_TUPLE_ELEM_E_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-# define BOOST_PP_TUPLE_ELEM_E_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-# define BOOST_PP_TUPLE_ELEM_E_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-# define BOOST_PP_TUPLE_ELEM_E_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-# define BOOST_PP_TUPLE_ELEM_E_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-# define BOOST_PP_TUPLE_ELEM_E_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-# define BOOST_PP_TUPLE_ELEM_E_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
-# define BOOST_PP_TUPLE_ELEM_E_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, [...]
-# define BOOST_PP_TUPLE_ELEM_E_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, [...]
-# define BOOST_PP_TUPLE_ELEM_E_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? [...]
-# define BOOST_PP_TUPLE_ELEM_E_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, ?, ?, ?, ?, ?, ?, ?, ?, [...]
-# define BOOST_PP_TUPLE_ELEM_E_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, ?, ?, ?, ?, ?, [...]
-# define BOOST_PP_TUPLE_ELEM_E_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, ?, ? [...]
-# define BOOST_PP_TUPLE_ELEM_E_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, [...]
-# define BOOST_PP_TUPLE_ELEM_E_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, [...]
-# define BOOST_PP_TUPLE_ELEM_E_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, [...]
-# define BOOST_PP_TUPLE_ELEM_E_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, [...]
-# define BOOST_PP_TUPLE_ELEM_E_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, [...]
-# define BOOST_PP_TUPLE_ELEM_E_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, [...]
-# define BOOST_PP_TUPLE_ELEM_E_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, [...]
-# define BOOST_PP_TUPLE_ELEM_E_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, [...]
-# define BOOST_PP_TUPLE_ELEM_E_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, [...]
-# define BOOST_PP_TUPLE_ELEM_E_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, [...]
-# define BOOST_PP_TUPLE_ELEM_E_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, [...]
-# define BOOST_PP_TUPLE_ELEM_E_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, [...]
-# define BOOST_PP_TUPLE_ELEM_E_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, [...]
-# define BOOST_PP_TUPLE_ELEM_E_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, [...]
-# define BOOST_PP_TUPLE_ELEM_E_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, [...]
-# define BOOST_PP_TUPLE_ELEM_E_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, [...]
-# define BOOST_PP_TUPLE_ELEM_E_64
-# define BOOST_PP_TUPLE_ELEM_0(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e0
-# define BOOST_PP_TUPLE_ELEM_1(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e1
-# define BOOST_PP_TUPLE_ELEM_2(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e2
-# define BOOST_PP_TUPLE_ELEM_3(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e3
-# define BOOST_PP_TUPLE_ELEM_4(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e4
-# define BOOST_PP_TUPLE_ELEM_5(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e5
-# define BOOST_PP_TUPLE_ELEM_6(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e6
-# define BOOST_PP_TUPLE_ELEM_7(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e7
-# define BOOST_PP_TUPLE_ELEM_8(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e8
-# define BOOST_PP_TUPLE_ELEM_9(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e9
-# define BOOST_PP_TUPLE_ELEM_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e10
-# define BOOST_PP_TUPLE_ELEM_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e11
-# define BOOST_PP_TUPLE_ELEM_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e12
-# define BOOST_PP_TUPLE_ELEM_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e13
-# define BOOST_PP_TUPLE_ELEM_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e14
-# define BOOST_PP_TUPLE_ELEM_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e15
-# define BOOST_PP_TUPLE_ELEM_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e16
-# define BOOST_PP_TUPLE_ELEM_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e17
-# define BOOST_PP_TUPLE_ELEM_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e18
-# define BOOST_PP_TUPLE_ELEM_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e19
-# define BOOST_PP_TUPLE_ELEM_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e20
-# define BOOST_PP_TUPLE_ELEM_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e21
-# define BOOST_PP_TUPLE_ELEM_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e22
-# define BOOST_PP_TUPLE_ELEM_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e23
-# define BOOST_PP_TUPLE_ELEM_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e24
-# define BOOST_PP_TUPLE_ELEM_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e25
-# define BOOST_PP_TUPLE_ELEM_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e26
-# define BOOST_PP_TUPLE_ELEM_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e27
-# define BOOST_PP_TUPLE_ELEM_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e28
-# define BOOST_PP_TUPLE_ELEM_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e29
-# define BOOST_PP_TUPLE_ELEM_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e30
-# define BOOST_PP_TUPLE_ELEM_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e31
-# define BOOST_PP_TUPLE_ELEM_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e32
-# define BOOST_PP_TUPLE_ELEM_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e33
-# define BOOST_PP_TUPLE_ELEM_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e34
-# define BOOST_PP_TUPLE_ELEM_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e35
-# define BOOST_PP_TUPLE_ELEM_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e36
-# define BOOST_PP_TUPLE_ELEM_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e37
-# define BOOST_PP_TUPLE_ELEM_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e38
-# define BOOST_PP_TUPLE_ELEM_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e39
-# define BOOST_PP_TUPLE_ELEM_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e40
-# define BOOST_PP_TUPLE_ELEM_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e41
-# define BOOST_PP_TUPLE_ELEM_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e42
-# define BOOST_PP_TUPLE_ELEM_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e43
-# define BOOST_PP_TUPLE_ELEM_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e44
-# define BOOST_PP_TUPLE_ELEM_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e45
-# define BOOST_PP_TUPLE_ELEM_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e46
-# define BOOST_PP_TUPLE_ELEM_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e47
-# define BOOST_PP_TUPLE_ELEM_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e48
-# define BOOST_PP_TUPLE_ELEM_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e49
-# define BOOST_PP_TUPLE_ELEM_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e50
-# define BOOST_PP_TUPLE_ELEM_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e51
-# define BOOST_PP_TUPLE_ELEM_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e52
-# define BOOST_PP_TUPLE_ELEM_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e53
-# define BOOST_PP_TUPLE_ELEM_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e54
-# define BOOST_PP_TUPLE_ELEM_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e55
-# define BOOST_PP_TUPLE_ELEM_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e56
-# define BOOST_PP_TUPLE_ELEM_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e57
-# define BOOST_PP_TUPLE_ELEM_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e58
-# define BOOST_PP_TUPLE_ELEM_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e59
-# define BOOST_PP_TUPLE_ELEM_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e60
-# define BOOST_PP_TUPLE_ELEM_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e61
-# define BOOST_PP_TUPLE_ELEM_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e62
-# define BOOST_PP_TUPLE_ELEM_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e63
-# endif
-#
-# /* directly used elsewhere in Boost... */
-#
-# define BOOST_PP_TUPLE_ELEM_1_0(a) a
-#
-# define BOOST_PP_TUPLE_ELEM_2_0(a, b) a
-# define BOOST_PP_TUPLE_ELEM_2_1(a, b) b
-#
-# define BOOST_PP_TUPLE_ELEM_3_0(a, b, c) a
-# define BOOST_PP_TUPLE_ELEM_3_1(a, b, c) b
-# define BOOST_PP_TUPLE_ELEM_3_2(a, b, c) c
-#
-# endif
diff --git a/boost/preprocessor/tuple/rem.hpp b/boost/preprocessor/tuple/rem.hpp
deleted file mode 100644
index af668a0..0000000
--- a/boost/preprocessor/tuple/rem.hpp
+++ /dev/null
@@ -1,135 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002-2011. *
-# * (C) Copyright Edward Diener 2011. *
-# * Distributed under the Boost Software License, Version 1.0. (See *
-# * accompanying file LICENSE_1_0.txt or copy at *
-# * http://www.boost.org/LICENSE_1_0.txt) *
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_TUPLE_REM_HPP
-# define BOOST_PREPROCESSOR_TUPLE_REM_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/facilities/overload.hpp>
-#
-# /* BOOST_PP_REM */
-#
-# if BOOST_PP_VARIADICS
-# define BOOST_PP_REM(...) __VA_ARGS__
-# else
-# define BOOST_PP_REM(x) x
-# endif
-#
-# /* BOOST_PP_TUPLE_REM */
-#
-# if BOOST_PP_VARIADICS
-# define BOOST_PP_TUPLE_REM(size) BOOST_PP_REM
-# else
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-# define BOOST_PP_TUPLE_REM(size) BOOST_PP_TUPLE_REM_I(size)
-# else
-# define BOOST_PP_TUPLE_REM(size) BOOST_PP_TUPLE_REM_OO((size))
-# define BOOST_PP_TUPLE_REM_OO(par) BOOST_PP_TUPLE_REM_I ## par
-# endif
-# define BOOST_PP_TUPLE_REM_I(size) BOOST_PP_TUPLE_REM_ ## size
-# endif
-# define BOOST_PP_TUPLE_REM_0()
-# define BOOST_PP_TUPLE_REM_1(e0) e0
-# define BOOST_PP_TUPLE_REM_2(e0, e1) e0, e1
-# define BOOST_PP_TUPLE_REM_3(e0, e1, e2) e0, e1, e2
-# define BOOST_PP_TUPLE_REM_4(e0, e1, e2, e3) e0, e1, e2, e3
-# define BOOST_PP_TUPLE_REM_5(e0, e1, e2, e3, e4) e0, e1, e2, e3, e4
-# define BOOST_PP_TUPLE_REM_6(e0, e1, e2, e3, e4, e5) e0, e1, e2, e3, e4, e5
-# define BOOST_PP_TUPLE_REM_7(e0, e1, e2, e3, e4, e5, e6) e0, e1, e2, e3, e4, e5, e6
-# define BOOST_PP_TUPLE_REM_8(e0, e1, e2, e3, e4, e5, e6, e7) e0, e1, e2, e3, e4, e5, e6, e7
-# define BOOST_PP_TUPLE_REM_9(e0, e1, e2, e3, e4, e5, e6, e7, e8) e0, e1, e2, e3, e4, e5, e6, e7, e8
-# define BOOST_PP_TUPLE_REM_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9
-# define BOOST_PP_TUPLE_REM_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10
-# define BOOST_PP_TUPLE_REM_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11
-# define BOOST_PP_TUPLE_REM_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12
-# define BOOST_PP_TUPLE_REM_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13
-# define BOOST_PP_TUPLE_REM_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14
-# define BOOST_PP_TUPLE_REM_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15
-# define BOOST_PP_TUPLE_REM_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16
-# define BOOST_PP_TUPLE_REM_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17
-# define BOOST_PP_TUPLE_REM_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18
-# define BOOST_PP_TUPLE_REM_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19
-# define BOOST_PP_TUPLE_REM_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20
-# define BOOST_PP_TUPLE_REM_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21
-# define BOOST_PP_TUPLE_REM_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22
-# define BOOST_PP_TUPLE_REM_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23
-# define BOOST_PP_TUPLE_REM_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24
-# define BOOST_PP_TUPLE_REM_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25
-# define BOOST_PP_TUPLE_REM_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26
-# define BOOST_PP_TUPLE_REM_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27
-# define BOOST_PP_TUPLE_REM_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28
-# define BOOST_PP_TUPLE_REM_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29
-# define BOOST_PP_TUPLE_REM_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30
-# define BOOST_PP_TUPLE_REM_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31
-# define BOOST_PP_TUPLE_REM_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32
-# define BOOST_PP_TUPLE_REM_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33
-# define BOOST_PP_TUPLE_REM_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34
-# define BOOST_PP_TUPLE_REM_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35
-# define BOOST_PP_TUPLE_REM_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36
-# define BOOST_PP_TUPLE_REM_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37
-# define BOOST_PP_TUPLE_REM_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38
-# define BOOST_PP_TUPLE_REM_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39
-# define BOOST_PP_TUPLE_REM_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40
-# define BOOST_PP_TUPLE_REM_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41
-# define BOOST_PP_TUPLE_REM_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42
-# define BOOST_PP_TUPLE_REM_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43
-# define BOOST_PP_TUPLE_REM_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44
-# define BOOST_PP_TUPLE_REM_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45
-# define BOOST_PP_TUPLE_REM_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46
-# define BOOST_PP_TUPLE_REM_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47
-# define BOOST_PP_TUPLE_REM_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48
-# define BOOST_PP_TUPLE_REM_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e [...]
-# define BOOST_PP_TUPLE_REM_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e [...]
-# define BOOST_PP_TUPLE_REM_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e [...]
-# define BOOST_PP_TUPLE_REM_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e [...]
-# define BOOST_PP_TUPLE_REM_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e [...]
-# define BOOST_PP_TUPLE_REM_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e [...]
-# define BOOST_PP_TUPLE_REM_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e [...]
-# define BOOST_PP_TUPLE_REM_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e [...]
-# define BOOST_PP_TUPLE_REM_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e [...]
-# define BOOST_PP_TUPLE_REM_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e [...]
-# define BOOST_PP_TUPLE_REM_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e [...]
-# define BOOST_PP_TUPLE_REM_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e [...]
-# define BOOST_PP_TUPLE_REM_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e [...]
-# define BOOST_PP_TUPLE_REM_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e [...]
-# define BOOST_PP_TUPLE_REM_64(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e [...]
-#
-# /* BOOST_PP_TUPLE_REM_CTOR */
-#
-# if BOOST_PP_VARIADICS
-# if BOOST_PP_VARIADICS_MSVC
-# define BOOST_PP_TUPLE_REM_CTOR(...) BOOST_PP_TUPLE_REM_CTOR_I(BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_REM_CTOR_O_, __VA_ARGS__), (__VA_ARGS__))
-# define BOOST_PP_TUPLE_REM_CTOR_I(m, args) BOOST_PP_TUPLE_REM_CTOR_II(m, args)
-# define BOOST_PP_TUPLE_REM_CTOR_II(m, args) BOOST_PP_CAT(m ## args,)
-# else
-# define BOOST_PP_TUPLE_REM_CTOR(...) BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_REM_CTOR_O_, __VA_ARGS__)(__VA_ARGS__)
-# endif
-# define BOOST_PP_TUPLE_REM_CTOR_O_1(tuple) BOOST_PP_REM tuple
-# define BOOST_PP_TUPLE_REM_CTOR_O_2(size, tuple) BOOST_PP_TUPLE_REM_CTOR_O_1(tuple)
-# else
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_TUPLE_REM_CTOR(size, tuple) BOOST_PP_TUPLE_REM_CTOR_I(BOOST_PP_TUPLE_REM(size), tuple)
-# else
-# define BOOST_PP_TUPLE_REM_CTOR(size, tuple) BOOST_PP_TUPLE_REM_CTOR_D(size, tuple)
-# define BOOST_PP_TUPLE_REM_CTOR_D(size, tuple) BOOST_PP_TUPLE_REM_CTOR_I(BOOST_PP_TUPLE_REM(size), tuple)
-# endif
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-# define BOOST_PP_TUPLE_REM_CTOR_I(ext, tuple) ext tuple
-# else
-# define BOOST_PP_TUPLE_REM_CTOR_I(ext, tuple) BOOST_PP_TUPLE_REM_CTOR_OO((ext, tuple))
-# define BOOST_PP_TUPLE_REM_CTOR_OO(par) BOOST_PP_TUPLE_REM_CTOR_II ## par
-# define BOOST_PP_TUPLE_REM_CTOR_II(ext, tuple) ext ## tuple
-# endif
-# endif
-#
-# endif
diff --git a/boost/preprocessor/tuple/to_list.hpp b/boost/preprocessor/tuple/to_list.hpp
deleted file mode 100644
index 2a9d6fe..0000000
--- a/boost/preprocessor/tuple/to_list.hpp
+++ /dev/null
@@ -1,116 +0,0 @@
-# /* Copyright (C) 2001
-# * Housemarque Oy
-# * http://www.housemarque.com
-# *
-# * Distributed under the Boost Software License, Version 1.0. (See
-# * accompanying file LICENSE_1_0.txt or copy at
-# * http://www.boost.org/LICENSE_1_0.txt)
-# */
-#
-# /* Revised by Paul Mensonides (2002-2011) */
-# /* Revised by Edward Diener (2011) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_TUPLE_TO_LIST_HPP
-# define BOOST_PREPROCESSOR_TUPLE_TO_LIST_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/facilities/overload.hpp>
-# include <boost/preprocessor/variadic/size.hpp>
-#
-# /* BOOST_PP_TUPLE_TO_LIST */
-#
-# if BOOST_PP_VARIADICS
-# if BOOST_PP_VARIADICS_MSVC
-# define BOOST_PP_TUPLE_TO_LIST(...) BOOST_PP_TUPLE_TO_LIST_I(BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_TO_LIST_O_, __VA_ARGS__), (__VA_ARGS__))
-# define BOOST_PP_TUPLE_TO_LIST_I(m, args) BOOST_PP_TUPLE_TO_LIST_II(m, args)
-# define BOOST_PP_TUPLE_TO_LIST_II(m, args) BOOST_PP_CAT(m ## args,)
-# else
-# define BOOST_PP_TUPLE_TO_LIST(...) BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_TO_LIST_O_, __VA_ARGS__)(__VA_ARGS__)
-# endif
-# define BOOST_PP_TUPLE_TO_LIST_O_1(tuple) BOOST_PP_CAT(BOOST_PP_TUPLE_TO_LIST_, BOOST_PP_VARIADIC_SIZE tuple) tuple
-# define BOOST_PP_TUPLE_TO_LIST_O_2(size, tuple) BOOST_PP_TUPLE_TO_LIST_O_1(tuple)
-# else
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-# define BOOST_PP_TUPLE_TO_LIST(size, tuple) BOOST_PP_TUPLE_TO_LIST_I(size, tuple)
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-# define BOOST_PP_TUPLE_TO_LIST_I(s, t) BOOST_PP_TUPLE_TO_LIST_ ## s t
-# else
-# define BOOST_PP_TUPLE_TO_LIST_I(s, t) BOOST_PP_TUPLE_TO_LIST_II(BOOST_PP_TUPLE_TO_LIST_ ## s t)
-# define BOOST_PP_TUPLE_TO_LIST_II(res) res
-# endif
-# else
-# define BOOST_PP_TUPLE_TO_LIST(size, tuple) BOOST_PP_TUPLE_TO_LIST_OO((size, tuple))
-# define BOOST_PP_TUPLE_TO_LIST_OO(par) BOOST_PP_TUPLE_TO_LIST_I ## par
-# define BOOST_PP_TUPLE_TO_LIST_I(s, t) BOOST_PP_TUPLE_TO_LIST_ ## s ## t
-# endif
-# endif
-#
-# define BOOST_PP_TUPLE_TO_LIST_1(e0) (e0, BOOST_PP_NIL)
-# define BOOST_PP_TUPLE_TO_LIST_2(e0, e1) (e0, (e1, BOOST_PP_NIL))
-# define BOOST_PP_TUPLE_TO_LIST_3(e0, e1, e2) (e0, (e1, (e2, BOOST_PP_NIL)))
-# define BOOST_PP_TUPLE_TO_LIST_4(e0, e1, e2, e3) (e0, (e1, (e2, (e3, BOOST_PP_NIL))))
-# define BOOST_PP_TUPLE_TO_LIST_5(e0, e1, e2, e3, e4) (e0, (e1, (e2, (e3, (e4, BOOST_PP_NIL)))))
-# define BOOST_PP_TUPLE_TO_LIST_6(e0, e1, e2, e3, e4, e5) (e0, (e1, (e2, (e3, (e4, (e5, BOOST_PP_NIL))))))
-# define BOOST_PP_TUPLE_TO_LIST_7(e0, e1, e2, e3, e4, e5, e6) (e0, (e1, (e2, (e3, (e4, (e5, (e6, BOOST_PP_NIL)))))))
-# define BOOST_PP_TUPLE_TO_LIST_8(e0, e1, e2, e3, e4, e5, e6, e7) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, BOOST_PP_NIL))))))))
-# define BOOST_PP_TUPLE_TO_LIST_9(e0, e1, e2, e3, e4, e5, e6, e7, e8) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, BOOST_PP_NIL)))))))))
-# define BOOST_PP_TUPLE_TO_LIST_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, BOOST_PP_NIL))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, BOOST_PP_NIL)))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, BOOST_PP_NIL))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, BOOST_PP_NIL)))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, BOOST_PP_NIL))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, BOOST_PP_NIL)))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, BOOST_PP_NIL))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, BOOST_PP_NIL)))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, BOOST_PP_NIL))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, BOOST_PP_NIL)))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, BOOST_PP_NIL))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, BOOST_PP_NIL)))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, BOOST_PP_NIL))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, BOOST_PP_NIL)))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, BOOST_PP_NIL))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, BOOST_PP_NIL)))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, BOOST_PP_NIL))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, BOOST_PP_NIL)))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, BOOST_PP_NIL))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, BOOST_PP_NIL)))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, BOOST_PP_NIL))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, BOOST_PP_NIL)))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, BOOST_PP_NIL))))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, BOOST_PP_NIL)))))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, BOOST_PP_NIL))))))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))
-# define BOOST_PP_TUPLE_TO_LIST_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, BOOST_PP_NIL))))))))))))))))))))))))) [...]
-# define BOOST_PP_TUPLE_TO_LIST_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, BOOST_PP_NIL)))))))))))))) [...]
-# define BOOST_PP_TUPLE_TO_LIST_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, BOOST_PP_NIL))) [...]
-# define BOOST_PP_TUPLE_TO_LIST_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, BOOS [...]
-# define BOOST_PP_TUPLE_TO_LIST_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, [...]
-# define BOOST_PP_TUPLE_TO_LIST_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, [...]
-# define BOOST_PP_TUPLE_TO_LIST_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, ( [...]
-# define BOOST_PP_TUPLE_TO_LIST_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e [...]
-# define BOOST_PP_TUPLE_TO_LIST_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e3 [...]
-# define BOOST_PP_TUPLE_TO_LIST_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38 [...]
-# define BOOST_PP_TUPLE_TO_LIST_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, [...]
-# define BOOST_PP_TUPLE_TO_LIST_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, [...]
-# define BOOST_PP_TUPLE_TO_LIST_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, ( [...]
-# define BOOST_PP_TUPLE_TO_LIST_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e [...]
-# define BOOST_PP_TUPLE_TO_LIST_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e3 [...]
-# define BOOST_PP_TUPLE_TO_LIST_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33 [...]
-# define BOOST_PP_TUPLE_TO_LIST_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, [...]
-# define BOOST_PP_TUPLE_TO_LIST_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, [...]
-# define BOOST_PP_TUPLE_TO_LIST_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, ( [...]
-# define BOOST_PP_TUPLE_TO_LIST_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e [...]
-# define BOOST_PP_TUPLE_TO_LIST_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e2 [...]
-# define BOOST_PP_TUPLE_TO_LIST_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28 [...]
-# define BOOST_PP_TUPLE_TO_LIST_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, [...]
-# define BOOST_PP_TUPLE_TO_LIST_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, [...]
-# define BOOST_PP_TUPLE_TO_LIST_64(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, ( [...]
-#
-# endif
diff --git a/boost/preprocessor/variadic/elem.hpp b/boost/preprocessor/variadic/elem.hpp
deleted file mode 100644
index be38a94..0000000
--- a/boost/preprocessor/variadic/elem.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Edward Diener 2011. *
-# * (C) Copyright Paul Mensonides 2011. *
-# * Distributed under the Boost Software License, Version 1.0. (See *
-# * accompanying file LICENSE_1_0.txt or copy at *
-# * http://www.boost.org/LICENSE_1_0.txt) *
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_VARIADIC_ELEM_HPP
-# define BOOST_PREPROCESSOR_VARIADIC_ELEM_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-#
-# /* BOOST_PP_VARIADIC_ELEM */
-#
-# if BOOST_PP_VARIADICS
-# if BOOST_PP_VARIADICS_MSVC
-# define BOOST_PP_VARIADIC_ELEM(n, ...) BOOST_PP_VARIADIC_ELEM_I(n,__VA_ARGS__)
-# define BOOST_PP_VARIADIC_ELEM_I(n, ...) BOOST_PP_CAT(BOOST_PP_CAT(BOOST_PP_VARIADIC_ELEM_, n)(__VA_ARGS__,),)
-# else
-# define BOOST_PP_VARIADIC_ELEM(n, ...) BOOST_PP_CAT(BOOST_PP_VARIADIC_ELEM_, n)(__VA_ARGS__,)
-# endif
-# define BOOST_PP_VARIADIC_ELEM_0(e0, ...) e0
-# define BOOST_PP_VARIADIC_ELEM_1(e0, e1, ...) e1
-# define BOOST_PP_VARIADIC_ELEM_2(e0, e1, e2, ...) e2
-# define BOOST_PP_VARIADIC_ELEM_3(e0, e1, e2, e3, ...) e3
-# define BOOST_PP_VARIADIC_ELEM_4(e0, e1, e2, e3, e4, ...) e4
-# define BOOST_PP_VARIADIC_ELEM_5(e0, e1, e2, e3, e4, e5, ...) e5
-# define BOOST_PP_VARIADIC_ELEM_6(e0, e1, e2, e3, e4, e5, e6, ...) e6
-# define BOOST_PP_VARIADIC_ELEM_7(e0, e1, e2, e3, e4, e5, e6, e7, ...) e7
-# define BOOST_PP_VARIADIC_ELEM_8(e0, e1, e2, e3, e4, e5, e6, e7, e8, ...) e8
-# define BOOST_PP_VARIADIC_ELEM_9(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, ...) e9
-# define BOOST_PP_VARIADIC_ELEM_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, ...) e10
-# define BOOST_PP_VARIADIC_ELEM_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, ...) e11
-# define BOOST_PP_VARIADIC_ELEM_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, ...) e12
-# define BOOST_PP_VARIADIC_ELEM_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, ...) e13
-# define BOOST_PP_VARIADIC_ELEM_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, ...) e14
-# define BOOST_PP_VARIADIC_ELEM_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, ...) e15
-# define BOOST_PP_VARIADIC_ELEM_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, ...) e16
-# define BOOST_PP_VARIADIC_ELEM_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, ...) e17
-# define BOOST_PP_VARIADIC_ELEM_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, ...) e18
-# define BOOST_PP_VARIADIC_ELEM_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, ...) e19
-# define BOOST_PP_VARIADIC_ELEM_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, ...) e20
-# define BOOST_PP_VARIADIC_ELEM_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, ...) e21
-# define BOOST_PP_VARIADIC_ELEM_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, ...) e22
-# define BOOST_PP_VARIADIC_ELEM_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, ...) e23
-# define BOOST_PP_VARIADIC_ELEM_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, ...) e24
-# define BOOST_PP_VARIADIC_ELEM_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, ...) e25
-# define BOOST_PP_VARIADIC_ELEM_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, ...) e26
-# define BOOST_PP_VARIADIC_ELEM_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, ...) e27
-# define BOOST_PP_VARIADIC_ELEM_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, ...) e28
-# define BOOST_PP_VARIADIC_ELEM_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, ...) e29
-# define BOOST_PP_VARIADIC_ELEM_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, ...) e30
-# define BOOST_PP_VARIADIC_ELEM_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, ...) e31
-# define BOOST_PP_VARIADIC_ELEM_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, ...) e32
-# define BOOST_PP_VARIADIC_ELEM_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, ...) e33
-# define BOOST_PP_VARIADIC_ELEM_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, ...) e34
-# define BOOST_PP_VARIADIC_ELEM_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, ...) e35
-# define BOOST_PP_VARIADIC_ELEM_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, ...) e36
-# define BOOST_PP_VARIADIC_ELEM_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, ...) e37
-# define BOOST_PP_VARIADIC_ELEM_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, ...) e38
-# define BOOST_PP_VARIADIC_ELEM_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, ...) e39
-# define BOOST_PP_VARIADIC_ELEM_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, ...) e40
-# define BOOST_PP_VARIADIC_ELEM_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, ...) e41
-# define BOOST_PP_VARIADIC_ELEM_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, ...) e42
-# define BOOST_PP_VARIADIC_ELEM_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, ...) e43
-# define BOOST_PP_VARIADIC_ELEM_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, ...) e44
-# define BOOST_PP_VARIADIC_ELEM_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, ...) e45
-# define BOOST_PP_VARIADIC_ELEM_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, ...) e46
-# define BOOST_PP_VARIADIC_ELEM_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, ...) e47
-# define BOOST_PP_VARIADIC_ELEM_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, ...) e48
-# define BOOST_PP_VARIADIC_ELEM_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, ...) e49
-# define BOOST_PP_VARIADIC_ELEM_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, ...) e50
-# define BOOST_PP_VARIADIC_ELEM_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, ...) e51
-# define BOOST_PP_VARIADIC_ELEM_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, ...) e52
-# define BOOST_PP_VARIADIC_ELEM_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, ...) e53
-# define BOOST_PP_VARIADIC_ELEM_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, ...) e54
-# define BOOST_PP_VARIADIC_ELEM_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, ...) e55
-# define BOOST_PP_VARIADIC_ELEM_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, ...) e56
-# define BOOST_PP_VARIADIC_ELEM_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, ...) e57
-# define BOOST_PP_VARIADIC_ELEM_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, ...) e58
-# define BOOST_PP_VARIADIC_ELEM_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, ...) e59
-# define BOOST_PP_VARIADIC_ELEM_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, ...) e60
-# define BOOST_PP_VARIADIC_ELEM_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, ...) e61
-# define BOOST_PP_VARIADIC_ELEM_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, ...) e62
-# define BOOST_PP_VARIADIC_ELEM_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, ...) e63
-# endif
-#
-# endif
diff --git a/boost/preprocessor/variadic/size.hpp b/boost/preprocessor/variadic/size.hpp
deleted file mode 100644
index b92a5ff..0000000
--- a/boost/preprocessor/variadic/size.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Edward Diener 2011. *
-# * (C) Copyright Paul Mensonides 2011. *
-# * Distributed under the Boost Software License, Version 1.0. (See *
-# * accompanying file LICENSE_1_0.txt or copy at *
-# * http://www.boost.org/LICENSE_1_0.txt) *
-# * *
-# ************************************************************************** */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# ifndef BOOST_PREPROCESSOR_VARIADIC_SIZE_HPP
-# define BOOST_PREPROCESSOR_VARIADIC_SIZE_HPP
-#
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/config/config.hpp>
-#
-# /* BOOST_PP_VARIADIC_SIZE */
-#
-# if BOOST_PP_VARIADICS
-# if BOOST_PP_VARIADICS_MSVC
-# define BOOST_PP_VARIADIC_SIZE(...) BOOST_PP_CAT(BOOST_PP_VARIADIC_SIZE_I(__VA_ARGS__, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,),)
-# else
-# define BOOST_PP_VARIADIC_SIZE(...) BOOST_PP_VARIADIC_SIZE_I(__VA_ARGS__, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,)
-# endif
-# define BOOST_PP_VARIADIC_SIZE_I(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, size, ...) size
-# endif
-#
-# endif
diff --git a/boost/random.hpp b/boost/random.hpp
deleted file mode 100644
index d05f2f3..0000000
--- a/boost/random.hpp
+++ /dev/null
@@ -1,85 +0,0 @@
-/* boost random.hpp header file
- *
- * Copyright Jens Maurer 2000-2001
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/random for documentation.
- *
- * $Id: random.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- *
- * Revision history
- * 2000-02-18 portability fixes (thanks to Beman Dawes)
- * 2000-02-21 shuffle_output, inversive_congruential_schrage,
- * generator_iterator, uniform_smallint
- * 2000-02-23 generic modulus arithmetic helper, removed *_schrage classes,
- * implemented Streamable and EqualityComparable concepts for
- * generators, added Bernoulli distribution and Box-Muller
- * transform
- * 2000-03-01 cauchy, lognormal, triangle distributions; fixed
- * uniform_smallint; renamed gaussian to normal distribution
- * 2000-03-05 implemented iterator syntax for distribution functions
- * 2000-04-21 removed some optimizations for better BCC/MSVC compatibility
- * 2000-05-10 adapted to BCC and MSVC
- * 2000-06-13 incorporated review results
- * 2000-07-06 moved basic templates from namespace detail to random
- * 2000-09-23 warning removals and int64 fixes (Ed Brey)
- * 2000-09-24 added lagged_fibonacci generator (Matthias Troyer)
- * 2001-02-18 moved to individual header files
- */
-
-#ifndef BOOST_RANDOM_HPP
-#define BOOST_RANDOM_HPP
-
-// generators
-#include <boost/random/additive_combine.hpp>
-#include <boost/random/discard_block.hpp>
-#include <boost/random/independent_bits.hpp>
-#include <boost/random/inversive_congruential.hpp>
-#include <boost/random/lagged_fibonacci.hpp>
-#include <boost/random/linear_congruential.hpp>
-#include <boost/random/linear_feedback_shift.hpp>
-#include <boost/random/mersenne_twister.hpp>
-#include <boost/random/ranlux.hpp>
-#include <boost/random/shuffle_order.hpp>
-#include <boost/random/shuffle_output.hpp>
-#include <boost/random/subtract_with_carry.hpp>
-#include <boost/random/taus88.hpp>
-#include <boost/random/xor_combine.hpp>
-
-// misc
-#include <boost/random/generate_canonical.hpp>
-#include <boost/random/seed_seq.hpp>
-#include <boost/random/random_number_generator.hpp>
-#include <boost/random/variate_generator.hpp>
-
-// distributions
-#include <boost/random/bernoulli_distribution.hpp>
-#include <boost/random/binomial_distribution.hpp>
-#include <boost/random/cauchy_distribution.hpp>
-#include <boost/random/chi_squared_distribution.hpp>
-#include <boost/random/discrete_distribution.hpp>
-#include <boost/random/exponential_distribution.hpp>
-#include <boost/random/extreme_value_distribution.hpp>
-#include <boost/random/fisher_f_distribution.hpp>
-#include <boost/random/gamma_distribution.hpp>
-#include <boost/random/geometric_distribution.hpp>
-#include <boost/random/lognormal_distribution.hpp>
-#include <boost/random/negative_binomial_distribution.hpp>
-#include <boost/random/normal_distribution.hpp>
-#include <boost/random/piecewise_constant_distribution.hpp>
-#include <boost/random/piecewise_linear_distribution.hpp>
-#include <boost/random/poisson_distribution.hpp>
-#include <boost/random/student_t_distribution.hpp>
-#include <boost/random/triangle_distribution.hpp>
-#include <boost/random/uniform_01.hpp>
-#include <boost/random/uniform_int.hpp>
-#include <boost/random/uniform_int_distribution.hpp>
-#include <boost/random/uniform_on_sphere.hpp>
-#include <boost/random/uniform_real.hpp>
-#include <boost/random/uniform_real_distribution.hpp>
-#include <boost/random/uniform_smallint.hpp>
-#include <boost/random/weibull_distribution.hpp>
-
-#endif // BOOST_RANDOM_HPP
diff --git a/boost/random/additive_combine.hpp b/boost/random/additive_combine.hpp
deleted file mode 100644
index b4cb63c..0000000
--- a/boost/random/additive_combine.hpp
+++ /dev/null
@@ -1,283 +0,0 @@
-/* boost random/additive_combine.hpp header file
- *
- * Copyright Jens Maurer 2000-2001
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: additive_combine.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- *
- * Revision history
- * 2001-02-18 moved to individual header files
- */
-
-#ifndef BOOST_RANDOM_ADDITIVE_COMBINE_HPP
-#define BOOST_RANDOM_ADDITIVE_COMBINE_HPP
-
-#include <istream>
-#include <iosfwd>
-#include <algorithm> // for std::min and std::max
-#include <boost/config.hpp>
-#include <boost/cstdint.hpp>
-#include <boost/random/detail/config.hpp>
-#include <boost/random/detail/operators.hpp>
-#include <boost/random/detail/seed.hpp>
-#include <boost/random/linear_congruential.hpp>
-
-namespace boost {
-namespace random {
-
-/**
- * An instantiation of class template @c additive_combine_engine models a
- * \pseudo_random_number_generator. It combines two multiplicative
- * \linear_congruential_engine number generators, i.e. those with @c c = 0.
- * It is described in
- *
- * @blockquote
- * "Efficient and Portable Combined Random Number Generators", Pierre L'Ecuyer,
- * Communications of the ACM, Vol. 31, No. 6, June 1988, pp. 742-749, 774
- * @endblockquote
- *
- * The template parameters MLCG1 and MLCG2 shall denote two different
- * \linear_congruential_engine number generators, each with c = 0. Each
- * invocation returns a random number
- * X(n) := (MLCG1(n) - MLCG2(n)) mod (m1 - 1),
- * where m1 denotes the modulus of MLCG1.
- */
-template<class MLCG1, class MLCG2>
-class additive_combine_engine
-{
-public:
- typedef MLCG1 first_base;
- typedef MLCG2 second_base;
- typedef typename MLCG1::result_type result_type;
-
- // Required by old Boost.Random concept
- BOOST_STATIC_CONSTANT(bool, has_fixed_range = false);
- /**
- * Returns the smallest value that the generator can produce
- */
- static result_type min BOOST_PREVENT_MACRO_SUBSTITUTION ()
- { return 1; }
- /**
- * Returns the largest value that the generator can produce
- */
- static result_type max BOOST_PREVENT_MACRO_SUBSTITUTION ()
- { return MLCG1::modulus-1; }
-
- /**
- * Constructs an @c additive_combine_engine using the
- * default constructors of the two base generators.
- */
- additive_combine_engine() : _mlcg1(), _mlcg2() { }
- /**
- * Constructs an @c additive_combine_engine, using seed as
- * the constructor argument for both base generators.
- */
- BOOST_RANDOM_DETAIL_ARITHMETIC_CONSTRUCTOR(additive_combine_engine,
- result_type, seed_arg)
- {
- _mlcg1.seed(seed_arg);
- _mlcg2.seed(seed_arg);
- }
- /**
- * Constructs an @c additive_combine_engine, using seq as
- * the constructor argument for both base generators.
- *
- * @xmlwarning
- * The semantics of this function are liable to change.
- * A @c seed_seq is designed to generate all the seeds
- * in one shot, but this seeds the two base engines
- * independantly and probably ends up giving the same
- * sequence to both.
- * @endxmlwarning
- */
- BOOST_RANDOM_DETAIL_SEED_SEQ_CONSTRUCTOR(additive_combine_engine,
- SeedSeq, seq)
- {
- _mlcg1.seed(seq);
- _mlcg2.seed(seq);
- }
- /**
- * Constructs an @c additive_combine_engine, using
- * @c seed1 and @c seed2 as the constructor argument to
- * the first and second base generators, respectively.
- */
- additive_combine_engine(typename MLCG1::result_type seed1,
- typename MLCG2::result_type seed2)
- : _mlcg1(seed1), _mlcg2(seed2) { }
- /**
- * Contructs an @c additive_combine_engine with
- * values from the range defined by the input iterators first
- * and last. first will be modified to point to the element
- * after the last one used.
- *
- * Throws: @c std::invalid_argument if the input range is too small.
- *
- * Exception Safety: Basic
- */
- template<class It> additive_combine_engine(It& first, It last)
- : _mlcg1(first, last), _mlcg2(first, last) { }
-
- /**
- * Seeds an @c additive_combine_engine using the default
- * seeds of the two base generators.
- */
- void seed()
- {
- _mlcg1.seed();
- _mlcg2.seed();
- }
-
- /**
- * Seeds an @c additive_combine_engine, using @c seed as the
- * seed for both base generators.
- */
- BOOST_RANDOM_DETAIL_ARITHMETIC_SEED(additive_combine_engine,
- result_type, seed_arg)
- {
- _mlcg1.seed(seed_arg);
- _mlcg2.seed(seed_arg);
- }
-
- /**
- * Seeds an @c additive_combine_engine, using @c seq to
- * seed both base generators.
- *
- * See the warning on the corresponding constructor.
- */
- BOOST_RANDOM_DETAIL_SEED_SEQ_SEED(additive_combine_engine,
- SeedSeq, seq)
- {
- _mlcg1.seed(seq);
- _mlcg2.seed(seq);
- }
-
- /**
- * Seeds an @c additive_combine generator, using @c seed1 and @c seed2 as
- * the seeds to the first and second base generators, respectively.
- */
- void seed(typename MLCG1::result_type seed1,
- typename MLCG2::result_type seed2)
- {
- _mlcg1.seed(seed1);
- _mlcg2.seed(seed2);
- }
-
- /**
- * Seeds an @c additive_combine_engine with
- * values from the range defined by the input iterators first
- * and last. first will be modified to point to the element
- * after the last one used.
- *
- * Throws: @c std::invalid_argument if the input range is too small.
- *
- * Exception Safety: Basic
- */
- template<class It> void seed(It& first, It last)
- {
- _mlcg1.seed(first, last);
- _mlcg2.seed(first, last);
- }
-
- /** Returns the next value of the generator. */
- result_type operator()() {
- result_type val1 = _mlcg1();
- result_type val2 = _mlcg2();
- if(val2 < val1) return val1 - val2;
- else return val1 - val2 + MLCG1::modulus - 1;
- }
-
- /** Fills a range with random values */
- template<class Iter>
- void generate(Iter first, Iter last)
- { detail::generate_from_int(*this, first, last); }
-
- /** Advances the state of the generator by @c z. */
- void discard(boost::uintmax_t z)
- {
- _mlcg1.discard(z);
- _mlcg2.discard(z);
- }
-
- /**
- * Writes the state of an @c additive_combine_engine to a @c
- * std::ostream. The textual representation of an @c
- * additive_combine_engine is the textual representation of
- * the first base generator followed by the textual representation
- * of the second base generator.
- */
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, additive_combine_engine, r)
- { os << r._mlcg1 << ' ' << r._mlcg2; return os; }
-
- /**
- * Reads the state of an @c additive_combine_engine from a
- * @c std::istream.
- */
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, additive_combine_engine, r)
- { is >> r._mlcg1 >> std::ws >> r._mlcg2; return is; }
-
- /**
- * Returns: true iff the two @c additive_combine_engines will
- * produce the same sequence of values.
- */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(additive_combine_engine, x, y)
- { return x._mlcg1 == y._mlcg1 && x._mlcg2 == y._mlcg2; }
- /**
- * Returns: true iff the two @c additive_combine_engines will
- * produce different sequences of values.
- */
- BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(additive_combine_engine)
-
-private:
- MLCG1 _mlcg1;
- MLCG2 _mlcg2;
-};
-
-#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-template<class MLCG1, class MLCG2>
-const bool additive_combine_engine<MLCG1, MLCG2>::has_fixed_range;
-#endif
-
-/// \cond show_deprecated
-
-/** Provided for backwards compatibility. */
-template<class MLCG1, class MLCG2, typename MLCG1::result_type val = 0>
-class additive_combine : public additive_combine_engine<MLCG1, MLCG2>
-{
- typedef additive_combine_engine<MLCG1, MLCG2> base_t;
-public:
- typedef typename base_t::result_type result_type;
- additive_combine() {}
- template<class T>
- additive_combine(T& arg) : base_t(arg) {}
- template<class T>
- additive_combine(const T& arg) : base_t(arg) {}
- template<class It>
- additive_combine(It& first, It last) : base_t(first, last) {}
-};
-
-/// \endcond
-
-/**
- * The specialization \ecuyer1988 was suggested in
- *
- * @blockquote
- * "Efficient and Portable Combined Random Number Generators", Pierre L'Ecuyer,
- * Communications of the ACM, Vol. 31, No. 6, June 1988, pp. 742-749, 774
- * @endblockquote
- */
-typedef additive_combine_engine<
- linear_congruential_engine<uint32_t, 40014, 0, 2147483563>,
- linear_congruential_engine<uint32_t, 40692, 0, 2147483399>
-> ecuyer1988;
-
-} // namespace random
-
-using random::ecuyer1988;
-
-} // namespace boost
-
-#endif // BOOST_RANDOM_ADDITIVE_COMBINE_HPP
diff --git a/boost/random/bernoulli_distribution.hpp b/boost/random/bernoulli_distribution.hpp
deleted file mode 100644
index 79d905d..0000000
--- a/boost/random/bernoulli_distribution.hpp
+++ /dev/null
@@ -1,197 +0,0 @@
-/* boost random/bernoulli_distribution.hpp header file
- *
- * Copyright Jens Maurer 2000-2001
- * Copyright Steven Watanabe 2011
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: bernoulli_distribution.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- *
- * Revision history
- * 2001-02-18 moved to individual header files
- */
-
-#ifndef BOOST_RANDOM_BERNOULLI_DISTRIBUTION_HPP
-#define BOOST_RANDOM_BERNOULLI_DISTRIBUTION_HPP
-
-#include <iosfwd>
-#include <boost/assert.hpp>
-#include <boost/random/detail/config.hpp>
-#include <boost/random/detail/operators.hpp>
-
-namespace boost {
-namespace random {
-
-/**
- * Instantiations of class template \bernoulli_distribution model a
- * \random_distribution. Such a random distribution produces bool values
- * distributed with probabilities P(true) = p and P(false) = 1-p. p is
- * the parameter of the distribution.
- */
-template<class RealType = double>
-class bernoulli_distribution
-{
-public:
- // In principle, this could work with both integer and floating-point
- // types. Generating floating-point random numbers in the first
- // place is probably more expensive, so use integer as input.
- typedef int input_type;
- typedef bool result_type;
-
- class param_type
- {
- public:
-
- typedef bernoulli_distribution distribution_type;
-
- /**
- * Constructs the parameters of the distribution.
- *
- * Requires: 0 <= p <= 1
- */
- explicit param_type(RealType p_arg = RealType(0.5))
- : _p(p_arg)
- {
- BOOST_ASSERT(_p >= 0);
- BOOST_ASSERT(_p <= 1);
- }
-
- /** Returns the p parameter of the distribution. */
- RealType p() const { return _p; }
-
- /** Writes the parameters to a std::ostream. */
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, param_type, parm)
- {
- os << parm._p;
- return os;
- }
-
- /** Reads the parameters from a std::istream. */
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, param_type, parm)
- {
- is >> parm._p;
- return is;
- }
-
- /** Returns true if the two sets of parameters are equal. */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(param_type, lhs, rhs)
- { return lhs._p == rhs._p; }
-
- /** Returns true if the two sets of parameters are different. */
- BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(param_type)
-
- private:
- RealType _p;
- };
-
- /**
- * Constructs a \bernoulli_distribution object.
- * p is the parameter of the distribution.
- *
- * Requires: 0 <= p <= 1
- */
- explicit bernoulli_distribution(const RealType& p_arg = RealType(0.5))
- : _p(p_arg)
- {
- BOOST_ASSERT(_p >= 0);
- BOOST_ASSERT(_p <= 1);
- }
- /**
- * Constructs \bernoulli_distribution from its parameters
- */
- explicit bernoulli_distribution(const param_type& parm)
- : _p(parm.p()) {}
-
- // compiler-generated copy ctor and assignment operator are fine
-
- /**
- * Returns: The "p" parameter of the distribution.
- */
- RealType p() const { return _p; }
-
- /** Returns the smallest value that the distribution can produce. */
- bool min BOOST_PREVENT_MACRO_SUBSTITUTION () const
- { return false; }
- /** Returns the largest value that the distribution can produce. */
- bool max BOOST_PREVENT_MACRO_SUBSTITUTION () const
- { return true; }
-
- /** Returns the parameters of the distribution. */
- param_type param() const { return param_type(_p); }
- /** Sets the parameters of the distribution. */
- void param(const param_type& parm) { _p = parm.p(); }
-
- /**
- * Effects: Subsequent uses of the distribution do not depend
- * on values produced by any engine prior to invoking reset.
- */
- void reset() { }
-
- /**
- * Returns: a random variate distributed according to the
- * \bernoulli_distribution.
- */
- template<class Engine>
- bool operator()(Engine& eng) const
- {
- if(_p == RealType(0))
- return false;
- else
- return RealType(eng() - (eng.min)()) <= _p * RealType((eng.max)()-(eng.min)());
- }
-
- /**
- * Returns: a random variate distributed according to the
- * \bernoulli_distribution with parameters specified by param.
- */
- template<class Engine>
- bool operator()(Engine& eng, const param_type& parm) const
- {
- return bernoulli_distribution(parm)(eng);
- }
-
- /**
- * Writes the parameters of the distribution to a @c std::ostream.
- */
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, bernoulli_distribution, bd)
- {
- os << bd._p;
- return os;
- }
-
- /**
- * Reads the parameters of the distribution from a @c std::istream.
- */
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, bernoulli_distribution, bd)
- {
- is >> bd._p;
- return is;
- }
-
- /**
- * Returns true iff the two distributions will produce identical
- * sequences of values given equal generators.
- */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(bernoulli_distribution, lhs, rhs)
- { return lhs._p == rhs._p; }
-
- /**
- * Returns true iff the two distributions will produce different
- * sequences of values given equal generators.
- */
- BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(bernoulli_distribution)
-
-private:
- RealType _p;
-};
-
-} // namespace random
-
-using random::bernoulli_distribution;
-
-} // namespace boost
-
-#endif // BOOST_RANDOM_BERNOULLI_DISTRIBUTION_HPP
diff --git a/boost/random/binomial_distribution.hpp b/boost/random/binomial_distribution.hpp
deleted file mode 100644
index dbe2784..0000000
--- a/boost/random/binomial_distribution.hpp
+++ /dev/null
@@ -1,422 +0,0 @@
-/* boost random/binomial_distribution.hpp header file
- *
- * Copyright Steven Watanabe 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 most recent version including documentation.
- *
- * $Id: binomial_distribution.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- */
-
-#ifndef BOOST_RANDOM_BINOMIAL_DISTRIBUTION_HPP_INCLUDED
-#define BOOST_RANDOM_BINOMIAL_DISTRIBUTION_HPP_INCLUDED
-
-#include <boost/config/no_tr1/cmath.hpp>
-#include <cstdlib>
-#include <iosfwd>
-
-#include <boost/random/detail/config.hpp>
-#include <boost/random/uniform_01.hpp>
-
-#include <boost/random/detail/disable_warnings.hpp>
-
-namespace boost {
-namespace random {
-
-namespace detail {
-
-template<class RealType>
-struct binomial_table {
- static const RealType table[10];
-};
-
-template<class RealType>
-const RealType binomial_table<RealType>::table[10] = {
- 0.08106146679532726,
- 0.04134069595540929,
- 0.02767792568499834,
- 0.02079067210376509,
- 0.01664469118982119,
- 0.01387612882307075,
- 0.01189670994589177,
- 0.01041126526197209,
- 0.009255462182712733,
- 0.008330563433362871
-};
-
-}
-
-/**
- * The binomial distribution is an integer valued distribution with
- * two parameters, @c t and @c p. The values of the distribution
- * are within the range [0,t].
- *
- * The distribution function is
- * \f$\displaystyle P(k) = {t \choose k}p^k(1-p)^{t-k}\f$.
- *
- * The algorithm used is the BTRD algorithm described in
- *
- * @blockquote
- * "The generation of binomial random variates", Wolfgang Hormann,
- * Journal of Statistical Computation and Simulation, Volume 46,
- * Issue 1 & 2 April 1993 , pages 101 - 110
- * @endblockquote
- */
-template<class IntType = int, class RealType = double>
-class binomial_distribution {
-public:
- typedef IntType result_type;
- typedef RealType input_type;
-
- class param_type {
- public:
- typedef binomial_distribution distribution_type;
- /**
- * Construct a param_type object. @c t and @c p
- * are the parameters of the distribution.
- *
- * Requires: t >=0 && 0 <= p <= 1
- */
- explicit param_type(IntType t_arg = 1, RealType p_arg = RealType (0.5))
- : _t(t_arg), _p(p_arg)
- {}
- /** Returns the @c t parameter of the distribution. */
- IntType t() const { return _t; }
- /** Returns the @c p parameter of the distribution. */
- RealType p() const { return _p; }
-#ifndef BOOST_RANDOM_NO_STREAM_OPERATORS
- /** Writes the parameters of the distribution to a @c std::ostream. */
- template<class CharT, class Traits>
- friend std::basic_ostream<CharT,Traits>&
- operator<<(std::basic_ostream<CharT,Traits>& os,
- const param_type& parm)
- {
- os << parm._p << " " << parm._t;
- return os;
- }
-
- /** Reads the parameters of the distribution from a @c std::istream. */
- template<class CharT, class Traits>
- friend std::basic_istream<CharT,Traits>&
- operator>>(std::basic_istream<CharT,Traits>& is, param_type& parm)
- {
- is >> parm._p >> std::ws >> parm._t;
- return is;
- }
-#endif
- /** Returns true if the parameters have the same values. */
- friend bool operator==(const param_type& lhs, const param_type& rhs)
- {
- return lhs._t == rhs._t && lhs._p == rhs._p;
- }
- /** Returns true if the parameters have different values. */
- friend bool operator!=(const param_type& lhs, const param_type& rhs)
- {
- return !(lhs == rhs);
- }
- private:
- IntType _t;
- RealType _p;
- };
-
- /**
- * Construct a @c binomial_distribution object. @c t and @c p
- * are the parameters of the distribution.
- *
- * Requires: t >=0 && 0 <= p <= 1
- */
- explicit binomial_distribution(IntType t_arg = 1,
- RealType p_arg = RealType(0.5))
- : _t(t_arg), _p(p_arg)
- {
- init();
- }
-
- /**
- * Construct an @c binomial_distribution object from the
- * parameters.
- */
- explicit binomial_distribution(const param_type& parm)
- : _t(parm.t()), _p(parm.p())
- {
- init();
- }
-
- /**
- * Returns a random variate distributed according to the
- * binomial distribution.
- */
- template<class URNG>
- IntType operator()(URNG& urng) const
- {
- if(use_inversion()) {
- if(0.5 < _p) {
- return _t - invert(_t, 1-_p, urng);
- } else {
- return invert(_t, _p, urng);
- }
- } else if(0.5 < _p) {
- return _t - generate(urng);
- } else {
- return generate(urng);
- }
- }
-
- /**
- * Returns a random variate distributed according to the
- * binomial distribution with parameters specified by @c param.
- */
- template<class URNG>
- IntType operator()(URNG& urng, const param_type& parm) const
- {
- return binomial_distribution(parm)(urng);
- }
-
- /** Returns the @c t parameter of the distribution. */
- IntType t() const { return _t; }
- /** Returns the @c p parameter of the distribution. */
- RealType p() const { return _p; }
-
- /** Returns the smallest value that the distribution can produce. */
- IntType min BOOST_PREVENT_MACRO_SUBSTITUTION() const { return 0; }
- /** Returns the largest value that the distribution can produce. */
- IntType max BOOST_PREVENT_MACRO_SUBSTITUTION() const { return _t; }
-
- /** Returns the parameters of the distribution. */
- param_type param() const { return param_type(_t, _p); }
- /** Sets parameters of the distribution. */
- void param(const param_type& parm)
- {
- _t = parm.t();
- _p = parm.p();
- init();
- }
-
- /**
- * Effects: Subsequent uses of the distribution do not depend
- * on values produced by any engine prior to invoking reset.
- */
- void reset() { }
-
-#ifndef BOOST_RANDOM_NO_STREAM_OPERATORS
- /** Writes the parameters of the distribution to a @c std::ostream. */
- template<class CharT, class Traits>
- friend std::basic_ostream<CharT,Traits>&
- operator<<(std::basic_ostream<CharT,Traits>& os,
- const binomial_distribution& bd)
- {
- os << bd.param();
- return os;
- }
-
- /** Reads the parameters of the distribution from a @c std::istream. */
- template<class CharT, class Traits>
- friend std::basic_istream<CharT,Traits>&
- operator>>(std::basic_istream<CharT,Traits>& is, binomial_distribution& bd)
- {
- bd.read(is);
- return is;
- }
-#endif
-
- /** Returns true if the two distributions will produce the same
- sequence of values, given equal generators. */
- friend bool operator==(const binomial_distribution& lhs,
- const binomial_distribution& rhs)
- {
- return lhs._t == rhs._t && lhs._p == rhs._p;
- }
- /** Returns true if the two distributions could produce different
- sequences of values, given equal generators. */
- friend bool operator!=(const binomial_distribution& lhs,
- const binomial_distribution& rhs)
- {
- return !(lhs == rhs);
- }
-
-private:
-
- /// @cond show_private
-
- template<class CharT, class Traits>
- void read(std::basic_istream<CharT, Traits>& is) {
- param_type parm;
- if(is >> parm) {
- param(parm);
- }
- }
-
- bool use_inversion() const
- {
- // BTRD is safe when np >= 10
- return m < 11;
- }
-
- // computes the correction factor for the Stirling approximation
- // for log(k!)
- static RealType fc(IntType k)
- {
- if(k < 10) return detail::binomial_table<RealType>::table[k];
- else {
- RealType ikp1 = RealType(1) / (k + 1);
- return (RealType(1)/12
- - (RealType(1)/360
- - (RealType(1)/1260)*(ikp1*ikp1))*(ikp1*ikp1))*ikp1;
- }
- }
-
- void init()
- {
- using std::sqrt;
- using std::pow;
-
- RealType p = (0.5 < _p)? (1 - _p) : _p;
- IntType t = _t;
-
- m = static_cast<IntType>((t+1)*p);
-
- if(use_inversion()) {
- q_n = pow((1 - p), static_cast<RealType>(t));
- } else {
- btrd.r = p/(1-p);
- btrd.nr = (t+1)*btrd.r;
- btrd.npq = t*p*(1-p);
- RealType sqrt_npq = sqrt(btrd.npq);
- btrd.b = 1.15 + 2.53 * sqrt_npq;
- btrd.a = -0.0873 + 0.0248*btrd.b + 0.01*p;
- btrd.c = t*p + 0.5;
- btrd.alpha = (2.83 + 5.1/btrd.b) * sqrt_npq;
- btrd.v_r = 0.92 - 4.2/btrd.b;
- btrd.u_rv_r = 0.86*btrd.v_r;
- }
- }
-
- template<class URNG>
- result_type generate(URNG& urng) const
- {
- using std::floor;
- using std::abs;
- using std::log;
-
- while(true) {
- RealType u;
- RealType v = uniform_01<RealType>()(urng);
- if(v <= btrd.u_rv_r) {
- RealType u = v/btrd.v_r - 0.43;
- return static_cast<IntType>(floor(
- (2*btrd.a/(0.5 - abs(u)) + btrd.b)*u + btrd.c));
- }
-
- if(v >= btrd.v_r) {
- u = uniform_01<RealType>()(urng) - 0.5;
- } else {
- u = v/btrd.v_r - 0.93;
- u = ((u < 0)? -0.5 : 0.5) - u;
- v = uniform_01<RealType>()(urng) * btrd.v_r;
- }
-
- RealType us = 0.5 - abs(u);
- IntType k = static_cast<IntType>(floor((2*btrd.a/us + btrd.b)*u + btrd.c));
- if(k < 0 || k > _t) continue;
- v = v*btrd.alpha/(btrd.a/(us*us) + btrd.b);
- RealType km = abs(k - m);
- if(km <= 15) {
- RealType f = 1;
- if(m < k) {
- IntType i = m;
- do {
- ++i;
- f = f*(btrd.nr/i - btrd.r);
- } while(i != k);
- } else if(m > k) {
- IntType i = k;
- do {
- ++i;
- v = v*(btrd.nr/i - btrd.r);
- } while(i != m);
- }
- if(v <= f) return k;
- else continue;
- } else {
- // final acceptance/rejection
- v = log(v);
- RealType rho =
- (km/btrd.npq)*(((km/3. + 0.625)*km + 1./6)/btrd.npq + 0.5);
- RealType t = -km*km/(2*btrd.npq);
- if(v < t - rho) return k;
- if(v > t + rho) continue;
-
- IntType nm = _t - m + 1;
- RealType h = (m + 0.5)*log((m + 1)/(btrd.r*nm))
- + fc(m) + fc(_t - m);
-
- IntType nk = _t - k + 1;
- if(v <= h + (_t+1)*log(static_cast<RealType>(nm)/nk)
- + (k + 0.5)*log(nk*btrd.r/(k+1))
- - fc(k)
- - fc(_t - k))
- {
- return k;
- } else {
- continue;
- }
- }
- }
- }
-
- template<class URNG>
- IntType invert(IntType t, RealType p, URNG& urng) const
- {
- RealType q = 1 - p;
- RealType s = p / q;
- RealType a = (t + 1) * s;
- RealType r = q_n;
- RealType u = uniform_01<RealType>()(urng);
- IntType x = 0;
- while(u > r) {
- u = u - r;
- ++x;
- r = ((a/x) - s) * r;
- }
- return x;
- }
-
- // parameters
- IntType _t;
- RealType _p;
-
- // common data
- IntType m;
-
- union {
- // for btrd
- struct {
- RealType r;
- RealType nr;
- RealType npq;
- RealType b;
- RealType a;
- RealType c;
- RealType alpha;
- RealType v_r;
- RealType u_rv_r;
- } btrd;
- // for inversion
- RealType q_n;
- };
-
- /// @endcond
-};
-
-}
-
-// backwards compatibility
-using random::binomial_distribution;
-
-}
-
-#include <boost/random/detail/enable_warnings.hpp>
-
-#endif
diff --git a/boost/random/cauchy_distribution.hpp b/boost/random/cauchy_distribution.hpp
deleted file mode 100644
index ed673bc..0000000
--- a/boost/random/cauchy_distribution.hpp
+++ /dev/null
@@ -1,214 +0,0 @@
-/* boost random/cauchy_distribution.hpp header file
- *
- * Copyright Jens Maurer 2000-2001
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: cauchy_distribution.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- *
- * Revision history
- * 2001-02-18 moved to individual header files
- */
-
-#ifndef BOOST_RANDOM_CAUCHY_DISTRIBUTION_HPP
-#define BOOST_RANDOM_CAUCHY_DISTRIBUTION_HPP
-
-#include <boost/config/no_tr1/cmath.hpp>
-#include <iosfwd>
-#include <istream>
-#include <boost/limits.hpp>
-#include <boost/random/detail/config.hpp>
-#include <boost/random/detail/operators.hpp>
-#include <boost/random/uniform_01.hpp>
-
-namespace boost {
-namespace random {
-
-// Cauchy distribution:
-
-/**
- * The cauchy distribution is a continuous distribution with two
- * parameters, median and sigma.
- *
- * It has \f$\displaystyle p(x) = \frac{\sigma}{\pi(\sigma^2 + (x-m)^2)}\f$
- */
-template<class RealType = double>
-class cauchy_distribution
-{
-public:
- typedef RealType input_type;
- typedef RealType result_type;
-
- class param_type
- {
- public:
-
- typedef cauchy_distribution distribution_type;
-
- /** Constructs the parameters of the cauchy distribution. */
- explicit param_type(RealType median_arg = RealType(0.0),
- RealType sigma_arg = RealType(1.0))
- : _median(median_arg), _sigma(sigma_arg) {}
-
- // backwards compatibility for Boost.Random
-
- /** Returns the median of the distribution. */
- RealType median() const { return _median; }
- /** Returns the sigma parameter of the distribution. */
- RealType sigma() const { return _sigma; }
-
- // The new names in C++0x.
-
- /** Returns the median of the distribution. */
- RealType a() const { return _median; }
- /** Returns the sigma parameter of the distribution. */
- RealType b() const { return _sigma; }
-
- /** Writes the parameters to a std::ostream. */
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, param_type, parm)
- {
- os << parm._median << " " << parm._sigma;
- return os;
- }
-
- /** Reads the parameters from a std::istream. */
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, param_type, parm)
- {
- is >> parm._median >> std::ws >> parm._sigma;
- return is;
- }
-
- /** Returns true if the two sets of parameters are equal. */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(param_type, lhs, rhs)
- { return lhs._median == rhs._median && lhs._sigma == rhs._sigma; }
-
- /** Returns true if the two sets of parameters are different. */
- BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(param_type)
-
- private:
- RealType _median;
- RealType _sigma;
- };
-
- /**
- * Constructs a \cauchy_distribution with the paramters @c median
- * and @c sigma.
- */
- explicit cauchy_distribution(RealType median_arg = RealType(0.0),
- RealType sigma_arg = RealType(1.0))
- : _median(median_arg), _sigma(sigma_arg) { }
-
- /**
- * Constructs a \cauchy_distribution from it's parameters.
- */
- explicit cauchy_distribution(const param_type& parm)
- : _median(parm.median()), _sigma(parm.sigma()) { }
-
- // compiler-generated copy ctor and assignment operator are fine
-
- // backwards compatibility for Boost.Random
-
- /** Returns: the "median" parameter of the distribution */
- RealType median() const { return _median; }
- /** Returns: the "sigma" parameter of the distribution */
- RealType sigma() const { return _sigma; }
-
- // The new names in C++0x
-
- /** Returns: the "median" parameter of the distribution */
- RealType a() const { return _median; }
- /** Returns: the "sigma" parameter of the distribution */
- RealType b() const { return _sigma; }
-
- /** Returns the smallest value that the distribution can produce. */
- RealType min BOOST_PREVENT_MACRO_SUBSTITUTION () const
- { return -(std::numeric_limits<RealType>::infinity)(); }
-
- /** Returns the largest value that the distribution can produce. */
- RealType max BOOST_PREVENT_MACRO_SUBSTITUTION () const
- { return (std::numeric_limits<RealType>::infinity)(); }
-
- param_type param() const { return param_type(_median, _sigma); }
-
- void param(const param_type& parm)
- {
- _median = parm.median();
- _sigma = parm.sigma();
- }
-
- /**
- * Effects: Subsequent uses of the distribution do not depend
- * on values produced by any engine prior to invoking reset.
- */
- void reset() { }
-
- /**
- * Returns: A random variate distributed according to the
- * cauchy distribution.
- */
- template<class Engine>
- result_type operator()(Engine& eng)
- {
- // Can we have a boost::mathconst please?
- const result_type pi = result_type(3.14159265358979323846);
- using std::tan;
- RealType val = uniform_01<RealType>()(eng)-result_type(0.5);
- return _median + _sigma * tan(pi*val);
- }
-
- /**
- * Returns: A random variate distributed according to the
- * cauchy distribution with parameters specified by param.
- */
- template<class Engine>
- result_type operator()(Engine& eng, const param_type& parm)
- {
- return cauchy_distribution(parm)(eng);
- }
-
- /**
- * Writes the distribution to a @c std::ostream.
- */
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, cauchy_distribution, cd)
- {
- os << cd._median << " " << cd._sigma;
- return os;
- }
-
- /**
- * Reads the distribution from a @c std::istream.
- */
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, cauchy_distribution, cd)
- {
- is >> cd._median >> std::ws >> cd._sigma;
- return is;
- }
-
- /**
- * Returns true if the two distributions will produce
- * identical sequences of values, given equal generators.
- */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(cauchy_distribution, lhs, rhs)
- { return lhs._median == rhs._median && lhs._sigma == rhs._sigma; }
-
- /**
- * Returns true if the two distributions may produce
- * different sequences of values, given equal generators.
- */
- BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(cauchy_distribution)
-
-private:
- RealType _median;
- RealType _sigma;
-};
-
-} // namespace random
-
-using random::cauchy_distribution;
-
-} // namespace boost
-
-#endif // BOOST_RANDOM_CAUCHY_DISTRIBUTION_HPP
diff --git a/boost/random/chi_squared_distribution.hpp b/boost/random/chi_squared_distribution.hpp
deleted file mode 100644
index 9e7d478..0000000
--- a/boost/random/chi_squared_distribution.hpp
+++ /dev/null
@@ -1,209 +0,0 @@
-/* boost random/chi_squared_distribution.hpp header file
- *
- * Copyright Steven Watanabe 2011
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: chi_squared_distribution.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- */
-
-#ifndef BOOST_RANDOM_CHI_SQUARED_DISTRIBUTION_HPP_INCLUDED
-#define BOOST_RANDOM_CHI_SQUARED_DISTRIBUTION_HPP_INCLUDED
-
-#include <iosfwd>
-#include <boost/limits.hpp>
-
-#include <boost/random/detail/config.hpp>
-#include <boost/random/gamma_distribution.hpp>
-
-namespace boost {
-namespace random {
-
-/**
- * The chi squared distribution is a real valued distribution with
- * one parameter, @c n. The distribution produces values > 0.
- *
- * The distribution function is
- * \f$\displaystyle P(x) = \frac{x^{(n/2)-1}e^{-x/2}}{\Gamma(n/2)2^{n/2}}\f$.
- */
-template<class RealType = double>
-class chi_squared_distribution {
-public:
- typedef RealType result_type;
- typedef RealType input_type;
-
- class param_type {
- public:
- typedef chi_squared_distribution distribution_type;
- /**
- * Construct a param_type object. @c n
- * is the parameter of the distribution.
- *
- * Requires: t >=0 && 0 <= p <= 1
- */
- explicit param_type(RealType n_arg = RealType(1))
- : _n(n_arg)
- {}
- /** Returns the @c n parameter of the distribution. */
- RealType n() const { return _n; }
-#ifndef BOOST_RANDOM_NO_STREAM_OPERATORS
- /** Writes the parameters of the distribution to a @c std::ostream. */
- template<class CharT, class Traits>
- friend std::basic_ostream<CharT,Traits>&
- operator<<(std::basic_ostream<CharT,Traits>& os,
- const param_type& parm)
- {
- os << parm._n;
- return os;
- }
-
- /** Reads the parameters of the distribution from a @c std::istream. */
- template<class CharT, class Traits>
- friend std::basic_istream<CharT,Traits>&
- operator>>(std::basic_istream<CharT,Traits>& is, param_type& parm)
- {
- is >> parm._n;
- return is;
- }
-#endif
- /** Returns true if the parameters have the same values. */
- friend bool operator==(const param_type& lhs, const param_type& rhs)
- {
- return lhs._n == rhs._n;
- }
- /** Returns true if the parameters have different values. */
- friend bool operator!=(const param_type& lhs, const param_type& rhs)
- {
- return !(lhs == rhs);
- }
- private:
- RealType _n;
- };
-
- /**
- * Construct a @c chi_squared_distribution object. @c n
- * is the parameter of the distribution.
- *
- * Requires: t >=0 && 0 <= p <= 1
- */
- explicit chi_squared_distribution(RealType n_arg = RealType(1))
- : _impl(n_arg / 2)
- {
- }
-
- /**
- * Construct an @c chi_squared_distribution object from the
- * parameters.
- */
- explicit chi_squared_distribution(const param_type& parm)
- : _impl(parm.n() / 2)
- {
- }
-
- /**
- * Returns a random variate distributed according to the
- * chi squared distribution.
- */
- template<class URNG>
- RealType operator()(URNG& urng)
- {
- return 2 * _impl(urng);
- }
-
- /**
- * Returns a random variate distributed according to the
- * chi squared distribution with parameters specified by @c param.
- */
- template<class URNG>
- RealType operator()(URNG& urng, const param_type& parm) const
- {
- return chi_squared_distribution(parm)(urng);
- }
-
- /** Returns the @c n parameter of the distribution. */
- RealType n() const { return 2 * _impl.alpha(); }
-
- /** Returns the smallest value that the distribution can produce. */
- RealType min BOOST_PREVENT_MACRO_SUBSTITUTION() const { return 0; }
- /** Returns the largest value that the distribution can produce. */
- RealType max BOOST_PREVENT_MACRO_SUBSTITUTION() const
- { return (std::numeric_limits<RealType>::infinity)(); }
-
- /** Returns the parameters of the distribution. */
- param_type param() const { return param_type(n()); }
- /** Sets parameters of the distribution. */
- void param(const param_type& parm)
- {
- typedef gamma_distribution<RealType> impl_type;
- typename impl_type::param_type impl_parm(parm.n() / 2);
- _impl.param(impl_parm);
- }
-
- /**
- * Effects: Subsequent uses of the distribution do not depend
- * on values produced by any engine prior to invoking reset.
- */
- void reset() { _impl.reset(); }
-
-#ifndef BOOST_RANDOM_NO_STREAM_OPERATORS
- /** Writes the parameters of the distribution to a @c std::ostream. */
- template<class CharT, class Traits>
- friend std::basic_ostream<CharT,Traits>&
- operator<<(std::basic_ostream<CharT,Traits>& os,
- const chi_squared_distribution& c2d)
- {
- os << c2d.param();
- return os;
- }
-
- /** Reads the parameters of the distribution from a @c std::istream. */
- template<class CharT, class Traits>
- friend std::basic_istream<CharT,Traits>&
- operator>>(std::basic_istream<CharT,Traits>& is,
- chi_squared_distribution& c2d)
- {
- c2d.read(is);
- return is;
- }
-#endif
-
- /** Returns true if the two distributions will produce the same
- sequence of values, given equal generators. */
- friend bool operator==(const chi_squared_distribution& lhs,
- const chi_squared_distribution& rhs)
- {
- return lhs._impl == rhs._impl;
- }
- /** Returns true if the two distributions could produce different
- sequences of values, given equal generators. */
- friend bool operator!=(const chi_squared_distribution& lhs,
- const chi_squared_distribution& rhs)
- {
- return !(lhs == rhs);
- }
-
-private:
-
- /// @cond show_private
-
- template<class CharT, class Traits>
- void read(std::basic_istream<CharT, Traits>& is) {
- param_type parm;
- if(is >> parm) {
- param(parm);
- }
- }
-
- gamma_distribution<RealType> _impl;
-
- /// @endcond
-};
-
-}
-
-}
-
-#endif
diff --git a/boost/random/detail/config.hpp b/boost/random/detail/config.hpp
deleted file mode 100644
index d6bc0cc..0000000
--- a/boost/random/detail/config.hpp
+++ /dev/null
@@ -1,18 +0,0 @@
-/* boost random/detail/config.hpp header file
- *
- * Copyright Steven Watanabe 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 for most recent version including documentation.
- *
- * $Id: config.hpp 52492 2009-04-19 14:55:57Z steven_watanabe $
- */
-
-#include <boost/config.hpp>
-
-#if (defined(BOOST_NO_OPERATORS_IN_NAMESPACE) || defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS)) \
- && !defined(BOOST_MSVC)
- #define BOOST_RANDOM_NO_STREAM_OPERATORS
-#endif
diff --git a/boost/random/detail/const_mod.hpp b/boost/random/detail/const_mod.hpp
deleted file mode 100644
index 9778f55..0000000
--- a/boost/random/detail/const_mod.hpp
+++ /dev/null
@@ -1,216 +0,0 @@
-/* boost random/detail/const_mod.hpp header file
- *
- * Copyright Jens Maurer 2000-2001
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: const_mod.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- *
- * Revision history
- * 2001-02-18 moved to individual header files
- */
-
-#ifndef BOOST_RANDOM_CONST_MOD_HPP
-#define BOOST_RANDOM_CONST_MOD_HPP
-
-#include <boost/assert.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/integer_traits.hpp>
-#include <boost/type_traits/make_unsigned.hpp>
-#include <boost/random/detail/large_arithmetic.hpp>
-
-#include <boost/random/detail/disable_warnings.hpp>
-
-namespace boost {
-namespace random {
-
-template<class IntType, IntType m>
-class const_mod
-{
-public:
- static IntType apply(IntType x)
- {
- if(((unsigned_m() - 1) & unsigned_m()) == 0)
- return (unsigned_type(x)) & (unsigned_m() - 1);
- else {
- IntType supress_warnings = (m == 0);
- BOOST_ASSERT(supress_warnings == 0);
- return x % (m + supress_warnings);
- }
- }
-
- static IntType add(IntType x, IntType c)
- {
- if(((unsigned_m() - 1) & unsigned_m()) == 0)
- return (unsigned_type(x) + unsigned_type(c)) & (unsigned_m() - 1);
- else if(c == 0)
- return x;
- else if(x < m - c)
- return x + c;
- else
- return x - (m - c);
- }
-
- static IntType mult(IntType a, IntType x)
- {
- if(((unsigned_m() - 1) & unsigned_m()) == 0)
- return unsigned_type(a) * unsigned_type(x) & (unsigned_m() - 1);
- else if(a == 0)
- return 0;
- else if(a == 1)
- return x;
- else if(m <= traits::const_max/a) // i.e. a*m <= max
- return mult_small(a, x);
- else if(traits::is_signed && (m%a < m/a))
- return mult_schrage(a, x);
- else
- return mult_general(a, x);
- }
-
- static IntType mult_add(IntType a, IntType x, IntType c)
- {
- if(((unsigned_m() - 1) & unsigned_m()) == 0)
- return (unsigned_type(a) * unsigned_type(x) + unsigned_type(c)) & (unsigned_m() - 1);
- else if(a == 0)
- return c;
- else if(m <= (traits::const_max-c)/a) { // i.e. a*m+c <= max
- IntType supress_warnings = (m == 0);
- BOOST_ASSERT(supress_warnings == 0);
- return (a*x+c) % (m + supress_warnings);
- } else
- return add(mult(a, x), c);
- }
-
- static IntType pow(IntType a, boost::uintmax_t exponent)
- {
- IntType result = 1;
- while(exponent != 0) {
- if(exponent % 2 == 1) {
- result = mult(result, a);
- }
- a = mult(a, a);
- exponent /= 2;
- }
- return result;
- }
-
- static IntType invert(IntType x)
- { return x == 0 ? 0 : (m == 0? invert_euclidian0(x) : invert_euclidian(x)); }
-
-private:
- typedef integer_traits<IntType> traits;
- typedef typename make_unsigned<IntType>::type unsigned_type;
-
- const_mod(); // don't instantiate
-
- static IntType mult_small(IntType a, IntType x)
- {
- IntType supress_warnings = (m == 0);
- BOOST_ASSERT(supress_warnings == 0);
- return a*x % (m + supress_warnings);
- }
-
- static IntType mult_schrage(IntType a, IntType value)
- {
- const IntType q = m / a;
- const IntType r = m % a;
-
- BOOST_ASSERT(r < q); // check that overflow cannot happen
-
- return sub(a*(value%q), r*(value/q));
- }
-
- static IntType mult_general(IntType a, IntType b)
- {
- IntType suppress_warnings = (m == 0);
- BOOST_ASSERT(suppress_warnings == 0);
- IntType modulus = m + suppress_warnings;
- BOOST_ASSERT(modulus == m);
- if(::boost::uintmax_t(modulus) <=
- (::std::numeric_limits< ::boost::uintmax_t>::max)() / modulus)
- {
- return static_cast<IntType>(boost::uintmax_t(a) * b % modulus);
- } else {
- return static_cast<IntType>(detail::mulmod(a, b, modulus));
- }
- }
-
- static IntType sub(IntType a, IntType b)
- {
- if(a < b)
- return m - (b - a);
- else
- return a - b;
- }
-
- static unsigned_type unsigned_m()
- {
- if(m == 0) {
- return unsigned_type((std::numeric_limits<IntType>::max)()) + 1;
- } else {
- return unsigned_type(m);
- }
- }
-
- // invert c in the finite field (mod m) (m must be prime)
- static IntType invert_euclidian(IntType c)
- {
- // we are interested in the gcd factor for c, because this is our inverse
- BOOST_ASSERT(c > 0);
- IntType l1 = 0;
- IntType l2 = 1;
- IntType n = c;
- IntType p = m;
- for(;;) {
- IntType q = p / n;
- l1 += q * l2;
- p -= q * n;
- if(p == 0)
- return l2;
- IntType q2 = n / p;
- l2 += q2 * l1;
- n -= q2 * p;
- if(n == 0)
- return m - l1;
- }
- }
-
- // invert c in the finite field (mod m) (c must be relatively prime to m)
- static IntType invert_euclidian0(IntType c)
- {
- // we are interested in the gcd factor for c, because this is our inverse
- BOOST_ASSERT(c > 0);
- if(c == 1) return 1;
- IntType l1 = 0;
- IntType l2 = 1;
- IntType n = c;
- IntType p = m;
- IntType max = (std::numeric_limits<IntType>::max)();
- IntType q = max / n;
- BOOST_ASSERT(max % n != n - 1 && "c must be relatively prime to m.");
- l1 += q * l2;
- p = max - q * n + 1;
- for(;;) {
- if(p == 0)
- return l2;
- IntType q2 = n / p;
- l2 += q2 * l1;
- n -= q2 * p;
- if(n == 0)
- return m - l1;
- q = p / n;
- l1 += q * l2;
- p -= q * n;
- }
- }
-};
-
-} // namespace random
-} // namespace boost
-
-#include <boost/random/detail/enable_warnings.hpp>
-
-#endif // BOOST_RANDOM_CONST_MOD_HPP
diff --git a/boost/random/detail/disable_warnings.hpp b/boost/random/detail/disable_warnings.hpp
deleted file mode 100644
index f3ade5e..0000000
--- a/boost/random/detail/disable_warnings.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-/* boost random/detail/disable_warnings.hpp header file
- *
- * Copyright Steven Watanabe 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 for most recent version including documentation.
- *
- * $Id: disable_warnings.hpp 60755 2010-03-22 00:45:06Z steven_watanabe $
- *
- */
-
-// No #include guard. This header is intended to be included multiple times.
-
-#include <boost/config.hpp>
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4512)
-#pragma warning(disable:4127)
-#pragma warning(disable:4724)
-#endif
diff --git a/boost/random/detail/enable_warnings.hpp b/boost/random/detail/enable_warnings.hpp
deleted file mode 100644
index 26184ea..0000000
--- a/boost/random/detail/enable_warnings.hpp
+++ /dev/null
@@ -1,18 +0,0 @@
-/* boost random/detail/enable_warnings.hpp header file
- *
- * Copyright Steven Watanabe 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 for most recent version including documentation.
- *
- * $Id: enable_warnings.hpp 58649 2010-01-02 21:23:17Z steven_watanabe $
- *
- */
-
-// No #include guard. This header is intended to be included multiple times.
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
diff --git a/boost/random/detail/generator_bits.hpp b/boost/random/detail/generator_bits.hpp
deleted file mode 100644
index 44b4248..0000000
--- a/boost/random/detail/generator_bits.hpp
+++ /dev/null
@@ -1,36 +0,0 @@
-/* boost random/detail/generator_bits.hpp header file
- *
- * Copyright Steven Watanabe 2011
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: generator_bits.hpp 72951 2011-07-07 04:57:37Z steven_watanabe $
- *
- */
-
-#ifndef BOOST_RANDOM_DETAIL_GENERATOR_BITS_HPP
-#define BOOST_RANDOM_DETAIL_GENERATOR_BITS_HPP
-
-#include <boost/limits.hpp>
-
-namespace boost {
-namespace random {
-namespace detail {
-
-// This is a temporary measure that retains backwards
-// compatibility.
-template<class URNG>
-struct generator_bits {
- static std::size_t value() {
- return std::numeric_limits<typename URNG::result_type>::digits;
- }
-};
-
-} // namespace detail
-} // namespace random
-} // namespace boost
-
-#endif // BOOST_RANDOM_DETAIL_GENERATOR_BITS_HPP
diff --git a/boost/random/detail/generator_seed_seq.hpp b/boost/random/detail/generator_seed_seq.hpp
deleted file mode 100644
index 6aaf98f..0000000
--- a/boost/random/detail/generator_seed_seq.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/* boost random/mersenne_twister.hpp header file
- *
- * Copyright Jens Maurer 2000-2001
- * Copyright Steven Watanabe 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 most recent version including documentation.
- *
- * $Id: generator_seed_seq.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- *
- */
-
-#ifndef BOOST_RANDOM_DETAIL_GENERATOR_SEED_SEQ_HPP_INCLUDED
-#define BOOST_RANDOM_DETAIL_GENERATOR_SEED_SEQ_HPP_INCLUDED
-
-namespace boost {
-namespace random {
-namespace detail {
-
-template<class Generator>
-class generator_seed_seq {
-public:
- generator_seed_seq(Generator& g) : gen(&g) {}
- template<class It>
- void generate(It first, It last) {
- for(; first != last; ++first) {
- *first = (*gen)();
- }
- }
-private:
- Generator* gen;
-};
-
-}
-}
-}
-
-#endif
diff --git a/boost/random/detail/integer_log2.hpp b/boost/random/detail/integer_log2.hpp
deleted file mode 100644
index e666032..0000000
--- a/boost/random/detail/integer_log2.hpp
+++ /dev/null
@@ -1,84 +0,0 @@
-/* boost random/detail/integer_log2.hpp header file
- *
- * Copyright Steven Watanabe 2011
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: integer_log2.hpp 85813 2013-09-21 20:17:00Z jewillco $
- *
- */
-
-#ifndef BOOST_RANDOM_DETAIL_INTEGER_LOG2_HPP
-#define BOOST_RANDOM_DETAIL_INTEGER_LOG2_HPP
-
-#include <boost/config.hpp>
-#include <boost/limits.hpp>
-#include <boost/pending/integer_log2.hpp>
-
-namespace boost {
-namespace random {
-namespace detail {
-
-#if !defined(BOOST_NO_CXX11_CONSTEXPR)
-#define BOOST_RANDOM_DETAIL_CONSTEXPR constexpr
-#elif defined(BOOST_MSVC)
-#define BOOST_RANDOM_DETAIL_CONSTEXPR __forceinline
-#elif defined(__GNUC__) && __GNUC__ >= 4
-#define BOOST_RANDOM_DETAIL_CONSTEXPR inline __attribute__((const)) __attribute__((always_inline))
-#else
-#define BOOST_RANDOM_DETAIL_CONSTEXPR inline
-#endif
-
-template<int Shift>
-struct integer_log2_impl
-{
-#if defined(BOOST_NO_CXX11_CONSTEXPR)
- template<class T>
- BOOST_RANDOM_DETAIL_CONSTEXPR static int apply(T t, int accum)
- {
- int update = ((t >> Shift) != 0) * Shift;
- return integer_log2_impl<Shift / 2>::apply(t >> update, accum + update);
- }
-#else
- template<class T>
- BOOST_RANDOM_DETAIL_CONSTEXPR static int apply2(T t, int accum, int update)
- {
- return integer_log2_impl<Shift / 2>::apply(t >> update, accum + update);
- }
-
- template<class T>
- BOOST_RANDOM_DETAIL_CONSTEXPR static int apply(T t, int accum)
- {
- return apply2(t, accum, ((t >> Shift) != 0) * Shift);
- }
-#endif
-};
-
-template<>
-struct integer_log2_impl<1>
-{
- template<class T>
- BOOST_RANDOM_DETAIL_CONSTEXPR static int apply(T t, int accum)
- {
- return int(t >> 1) + accum;
- }
-};
-
-template<class T>
-BOOST_RANDOM_DETAIL_CONSTEXPR int integer_log2(T t)
-{
- return integer_log2_impl<
- ::boost::detail::max_pow2_less<
- ::std::numeric_limits<T>::digits, 4
- >::value
- >::apply(t, 0);
-}
-
-} // namespace detail
-} // namespace random
-} // namespace boost
-
-#endif // BOOST_RANDOM_DETAIL_INTEGER_LOG2_HPP
diff --git a/boost/random/detail/large_arithmetic.hpp b/boost/random/detail/large_arithmetic.hpp
deleted file mode 100644
index 24177dc..0000000
--- a/boost/random/detail/large_arithmetic.hpp
+++ /dev/null
@@ -1,122 +0,0 @@
-/* boost random/detail/large_arithmetic.hpp header file
- *
- * Copyright Steven Watanabe 2011
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: large_arithmetic.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- */
-
-#ifndef BOOST_RANDOM_DETAIL_LARGE_ARITHMETIC_HPP
-#define BOOST_RANDOM_DETAIL_LARGE_ARITHMETIC_HPP
-
-#include <boost/cstdint.hpp>
-#include <boost/integer.hpp>
-#include <boost/limits.hpp>
-#include <boost/random/detail/integer_log2.hpp>
-
-#include <boost/random/detail/disable_warnings.hpp>
-
-namespace boost {
-namespace random {
-namespace detail {
-
-struct div_t {
- boost::uintmax_t quotient;
- boost::uintmax_t remainder;
-};
-
-inline div_t muldivmod(boost::uintmax_t a, boost::uintmax_t b, boost::uintmax_t m)
-{
- static const int bits =
- ::std::numeric_limits< ::boost::uintmax_t>::digits / 2;
- static const ::boost::uintmax_t mask = (::boost::uintmax_t(1) << bits) - 1;
- typedef ::boost::uint_t<bits>::fast digit_t;
-
- int shift = std::numeric_limits< ::boost::uintmax_t>::digits - 1
- - detail::integer_log2(m);
-
- a <<= shift;
- m <<= shift;
-
- digit_t product[4] = { 0, 0, 0, 0 };
- digit_t a_[2] = { digit_t(a & mask), digit_t((a >> bits) & mask) };
- digit_t b_[2] = { digit_t(b & mask), digit_t((b >> bits) & mask) };
- digit_t m_[2] = { digit_t(m & mask), digit_t((m >> bits) & mask) };
-
- // multiply a * b
- for(int i = 0; i < 2; ++i) {
- digit_t carry = 0;
- for(int j = 0; j < 2; ++j) {
- ::boost::uint64_t temp = ::boost::uintmax_t(a_[i]) * b_[j] +
- carry + product[i + j];
- product[i + j] = digit_t(temp & mask);
- carry = digit_t(temp >> bits);
- }
- if(carry != 0) {
- product[i + 2] += carry;
- }
- }
-
- digit_t quotient[2];
-
- if(m == 0) {
- div_t result = {
- ((::boost::uintmax_t(product[3]) << bits) | product[2]),
- ((::boost::uintmax_t(product[1]) << bits) | product[0]) >> shift,
- };
- return result;
- }
-
- // divide product / m
- for(int i = 3; i >= 2; --i) {
- ::boost::uintmax_t temp =
- ::boost::uintmax_t(product[i]) << bits | product[i - 1];
-
- digit_t q = digit_t((product[i] == m_[1]) ? mask : temp / m_[1]);
-
- ::boost::uintmax_t rem =
- ((temp - ::boost::uintmax_t(q) * m_[1]) << bits) + product[i - 2];
-
- ::boost::uintmax_t diff = m_[0] * ::boost::uintmax_t(q);
-
- int error = 0;
- if(diff > rem) {
- if(diff - rem > m) {
- error = 2;
- } else {
- error = 1;
- }
- }
- q -= error;
- rem = rem + error * m - diff;
-
- quotient[i - 2] = q;
- product[i] = 0;
- product[i-1] = (rem >> bits) & mask;
- product[i-2] = rem & mask;
- }
-
- div_t result = {
- ((::boost::uintmax_t(quotient[1]) << bits) | quotient[0]),
- ((::boost::uintmax_t(product[1]) << bits) | product[0]) >> shift,
- };
- return result;
-}
-
-inline boost::uintmax_t muldiv(boost::uintmax_t a, boost::uintmax_t b, boost::uintmax_t m)
-{ return detail::muldivmod(a, b, m).quotient; }
-
-inline boost::uintmax_t mulmod(boost::uintmax_t a, boost::uintmax_t b, boost::uintmax_t m)
-{ return detail::muldivmod(a, b, m).remainder; }
-
-} // namespace detail
-} // namespace random
-} // namespace boost
-
-#include <boost/random/detail/enable_warnings.hpp>
-
-#endif // BOOST_RANDOM_DETAIL_LARGE_ARITHMETIC_HPP
diff --git a/boost/random/detail/operators.hpp b/boost/random/detail/operators.hpp
deleted file mode 100644
index f27839a..0000000
--- a/boost/random/detail/operators.hpp
+++ /dev/null
@@ -1,84 +0,0 @@
-/* boost random/detail/operators.hpp header file
- *
- * Copyright Steven Watanabe 2010-2011
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: operators.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- */
-
-#ifndef BOOST_RANDOM_DETAIL_OPERATORS_HPP
-#define BOOST_RANDOM_DETAIL_OPERATORS_HPP
-
-#include <boost/random/detail/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1310) \
- || BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x5100))
-
-#define BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, T, t) \
- template<class CharT, class Traits> \
- friend std::basic_ostream<CharT,Traits>& \
- operator<<(std::basic_ostream<CharT,Traits>& os, const T& t) { \
- t.print(os, t); \
- return os; \
- } \
- template<class CharT, class Traits> \
- static std::basic_ostream<CharT,Traits>& \
- print(std::basic_ostream<CharT,Traits>& os, const T& t)
-
-#define BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, T, t) \
- template<class CharT, class Traits> \
- friend std::basic_istream<CharT,Traits>& \
- operator>>(std::basic_istream<CharT,Traits>& is, T& t) { \
- t.read(is, t); \
- return is; \
- } \
- template<class CharT, class Traits> \
- static std::basic_istream<CharT,Traits>& \
- read(std::basic_istream<CharT,Traits>& is, T& t)
-
-#endif
-
-#if defined(__BORLANDC__)
-
-#define BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(T, lhs, rhs) \
- bool operator==(const T& rhs) const \
- { return T::is_equal(*this, rhs); } \
- static bool is_equal(const T& lhs, const T& rhs)
-
-#define BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(T) \
- bool operator!=(const T& rhs) const \
- { return !T::is_equal(*this, rhs); }
-
-#endif
-
-#ifndef BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR
-#define BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, T, t) \
- template<class CharT, class Traits> \
- friend std::basic_ostream<CharT,Traits>& \
- operator<<(std::basic_ostream<CharT,Traits>& os, const T& t)
-#endif
-
-#ifndef BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR
-#define BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, T, t) \
- template<class CharT, class Traits> \
- friend std::basic_istream<CharT,Traits>& \
- operator>>(std::basic_istream<CharT,Traits>& is, T& t)
-#endif
-
-#ifndef BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR
-#define BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(T, lhs, rhs) \
- friend bool operator==(const T& lhs, const T& rhs)
-#endif
-
-#ifndef BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR
-#define BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(T) \
- friend bool operator!=(const T& lhs, const T& rhs) \
- { return !(lhs == rhs); }
-#endif
-
-#endif
diff --git a/boost/random/detail/ptr_helper.hpp b/boost/random/detail/ptr_helper.hpp
deleted file mode 100644
index 3f3fbdd..0000000
--- a/boost/random/detail/ptr_helper.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-/* boost random/detail/ptr_helper.hpp header file
- *
- * Copyright Jens Maurer 2002
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: ptr_helper.hpp 24096 2004-07-27 03:43:34Z dgregor $
- *
- */
-
-#ifndef BOOST_RANDOM_DETAIL_PTR_HELPER_HPP
-#define BOOST_RANDOM_DETAIL_PTR_HELPER_HPP
-
-#include <boost/config.hpp>
-
-
-namespace boost {
-namespace random {
-namespace detail {
-
-// type_traits could help here, but I don't want to depend on type_traits.
-template<class T>
-struct ptr_helper
-{
- typedef T value_type;
- typedef T& reference_type;
- typedef const T& rvalue_type;
- static reference_type ref(T& r) { return r; }
- static const T& ref(const T& r) { return r; }
-};
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-template<class T>
-struct ptr_helper<T&>
-{
- typedef T value_type;
- typedef T& reference_type;
- typedef T& rvalue_type;
- static reference_type ref(T& r) { return r; }
- static const T& ref(const T& r) { return r; }
-};
-
-template<class T>
-struct ptr_helper<T*>
-{
- typedef T value_type;
- typedef T& reference_type;
- typedef T* rvalue_type;
- static reference_type ref(T * p) { return *p; }
- static const T& ref(const T * p) { return *p; }
-};
-#endif
-
-} // namespace detail
-} // namespace random
-} // namespace boost
-
-//
-// BOOST_RANDOM_PTR_HELPER_SPEC --
-//
-// Helper macro for broken compilers defines specializations of
-// ptr_helper.
-//
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-# define BOOST_RANDOM_PTR_HELPER_SPEC(T) \
-namespace boost { namespace random { namespace detail { \
-template<> \
-struct ptr_helper<T&> \
-{ \
- typedef T value_type; \
- typedef T& reference_type; \
- typedef T& rvalue_type; \
- static reference_type ref(T& r) { return r; } \
- static const T& ref(const T& r) { return r; } \
-}; \
- \
-template<> \
-struct ptr_helper<T*> \
-{ \
- typedef T value_type; \
- typedef T& reference_type; \
- typedef T* rvalue_type; \
- static reference_type ref(T * p) { return *p; } \
- static const T& ref(const T * p) { return *p; } \
-}; \
-}}}
-#else
-# define BOOST_RANDOM_PTR_HELPER_SPEC(T)
-#endif
-
-#endif // BOOST_RANDOM_DETAIL_PTR_HELPER_HPP
diff --git a/boost/random/detail/seed.hpp b/boost/random/detail/seed.hpp
deleted file mode 100644
index 979db29..0000000
--- a/boost/random/detail/seed.hpp
+++ /dev/null
@@ -1,114 +0,0 @@
-/* boost random/detail/seed.hpp header file
- *
- * Copyright Steven Watanabe 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 for most recent version including documentation.
- *
- * $Id: seed.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- */
-
-#ifndef BOOST_RANDOM_DETAIL_SEED_HPP
-#define BOOST_RANDOM_DETAIL_SEED_HPP
-
-#include <boost/config.hpp>
-
-// Sun seems to have trouble with the use of SFINAE for the
-// templated constructor. So does Borland.
-#if !defined(BOOST_NO_SFINAE) && !defined(__SUNPRO_CC) && !defined(__BORLANDC__)
-
-#include <boost/utility/enable_if.hpp>
-#include <boost/type_traits/is_arithmetic.hpp>
-
-namespace boost {
-namespace random {
-namespace detail {
-
-template<class T>
-struct disable_seed : boost::disable_if<boost::is_arithmetic<T> > {};
-
-template<class Engine, class T>
-struct disable_constructor : disable_seed<T> {};
-
-template<class Engine>
-struct disable_constructor<Engine, Engine> {};
-
-#define BOOST_RANDOM_DETAIL_GENERATOR_CONSTRUCTOR(Self, Generator, gen) \
- template<class Generator> \
- explicit Self(Generator& gen, typename ::boost::random::detail::disable_constructor<Self, Generator>::type* = 0)
-
-#define BOOST_RANDOM_DETAIL_GENERATOR_SEED(Self, Generator, gen) \
- template<class Generator> \
- void seed(Generator& gen, typename ::boost::random::detail::disable_seed<Generator>::type* = 0)
-
-#define BOOST_RANDOM_DETAIL_SEED_SEQ_CONSTRUCTOR(Self, SeedSeq, seq) \
- template<class SeedSeq> \
- explicit Self(SeedSeq& seq, typename ::boost::random::detail::disable_constructor<Self, SeedSeq>::type* = 0)
-
-#define BOOST_RANDOM_DETAIL_SEED_SEQ_SEED(Self, SeedSeq, seq) \
- template<class SeedSeq> \
- void seed(SeedSeq& seq, typename ::boost::random::detail::disable_seed<SeedSeq>::type* = 0)
-
-#define BOOST_RANDOM_DETAIL_ARITHMETIC_CONSTRUCTOR(Self, T, x) \
- explicit Self(const T& x)
-
-#define BOOST_RANDOM_DETAIL_ARITHMETIC_SEED(Self, T, x) \
- void seed(const T& x)
-}
-}
-}
-
-#else
-
-#include <boost/type_traits/is_arithmetic.hpp>
-#include <boost/mpl/bool.hpp>
-
-#define BOOST_RANDOM_DETAIL_GENERATOR_CONSTRUCTOR(Self, Generator, gen) \
- Self(Self& other) { *this = other; } \
- Self(const Self& other) { *this = other; } \
- template<class Generator> \
- explicit Self(Generator& gen) { \
- boost_random_constructor_impl(gen, ::boost::is_arithmetic<Generator>());\
- } \
- template<class Generator> \
- void boost_random_constructor_impl(Generator& gen, ::boost::mpl::false_)
-
-#define BOOST_RANDOM_DETAIL_GENERATOR_SEED(Self, Generator, gen) \
- template<class Generator> \
- void seed(Generator& gen) { \
- boost_random_seed_impl(gen, ::boost::is_arithmetic<Generator>());\
- }\
- template<class Generator>\
- void boost_random_seed_impl(Generator& gen, ::boost::mpl::false_)
-
-#define BOOST_RANDOM_DETAIL_SEED_SEQ_CONSTRUCTOR(Self, SeedSeq, seq) \
- Self(Self& other) { *this = other; } \
- Self(const Self& other) { *this = other; } \
- template<class SeedSeq> \
- explicit Self(SeedSeq& seq) { \
- boost_random_constructor_impl(seq, ::boost::is_arithmetic<SeedSeq>());\
- } \
- template<class SeedSeq> \
- void boost_random_constructor_impl(SeedSeq& seq, ::boost::mpl::false_)
-
-#define BOOST_RANDOM_DETAIL_SEED_SEQ_SEED(Self, SeedSeq, seq) \
- template<class SeedSeq> \
- void seed(SeedSeq& seq) { \
- boost_random_seed_impl(seq, ::boost::is_arithmetic<SeedSeq>()); \
- } \
- template<class SeedSeq> \
- void boost_random_seed_impl(SeedSeq& seq, ::boost::mpl::false_)
-
-#define BOOST_RANDOM_DETAIL_ARITHMETIC_CONSTRUCTOR(Self, T, x) \
- explicit Self(const T& x) { boost_random_constructor_impl(x, ::boost::mpl::true_()); }\
- void boost_random_constructor_impl(const T& x, ::boost::mpl::true_)
-
-#define BOOST_RANDOM_DETAIL_ARITHMETIC_SEED(Self, T, x) \
- void seed(const T& x) { boost_random_seed_impl(x, ::boost::mpl::true_()); }\
- void boost_random_seed_impl(const T& x, ::boost::mpl::true_)
-
-#endif
-
-#endif
diff --git a/boost/random/detail/seed_impl.hpp b/boost/random/detail/seed_impl.hpp
deleted file mode 100644
index e044d45..0000000
--- a/boost/random/detail/seed_impl.hpp
+++ /dev/null
@@ -1,397 +0,0 @@
-/* boost random/detail/seed.hpp header file
- *
- * Copyright Steven Watanabe 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 for most recent version including documentation.
- *
- * $Id: seed_impl.hpp 72951 2011-07-07 04:57:37Z steven_watanabe $
- */
-
-#ifndef BOOST_RANDOM_DETAIL_SEED_IMPL_HPP
-#define BOOST_RANDOM_DETAIL_SEED_IMPL_HPP
-
-#include <stdexcept>
-#include <boost/cstdint.hpp>
-#include <boost/config/no_tr1/cmath.hpp>
-#include <boost/integer/integer_mask.hpp>
-#include <boost/integer/static_log2.hpp>
-#include <boost/type_traits/is_signed.hpp>
-#include <boost/type_traits/is_integral.hpp>
-#include <boost/type_traits/make_unsigned.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/random/detail/const_mod.hpp>
-#include <boost/random/detail/integer_log2.hpp>
-#include <boost/random/detail/signed_unsigned_tools.hpp>
-#include <boost/random/detail/generator_bits.hpp>
-
-#include <boost/random/detail/disable_warnings.hpp>
-
-namespace boost {
-namespace random {
-namespace detail {
-
-// finds the seed type of an engine, given its
-// result_type. If the result_type is integral
-// the seed type is the same. If the result_type
-// is floating point, the seed type is uint32_t
-template<class T>
-struct seed_type
-{
- typedef typename boost::mpl::if_<boost::is_integral<T>,
- T,
- boost::uint32_t
- >::type type;
-};
-
-template<int N>
-struct const_pow_impl
-{
- template<class T>
- static T call(T arg, int n, T result)
- {
- return const_pow_impl<N / 2>::call(arg * arg, n / 2,
- n%2 == 0? result : result * arg);
- }
-};
-
-template<>
-struct const_pow_impl<0>
-{
- template<class T>
- static T call(T, int, T result)
- {
- return result;
- }
-};
-
-// requires N is an upper bound on n
-template<int N, class T>
-inline T const_pow(T arg, int n) { return const_pow_impl<N>::call(arg, n, T(1)); }
-
-template<class T>
-inline T pow2(int n)
-{
- typedef unsigned int_type;
- const int max_bits = std::numeric_limits<int_type>::digits;
- T multiplier = T(int_type(1) << (max_bits - 1)) * 2;
- return (int_type(1) << (n % max_bits)) *
- const_pow<std::numeric_limits<T>::digits / max_bits>(multiplier, n / max_bits);
-}
-
-template<class Engine, class Iter>
-void generate_from_real(Engine& eng, Iter begin, Iter end)
-{
- using std::fmod;
- typedef typename Engine::result_type RealType;
- const int Bits = detail::generator_bits<Engine>::value();
- int remaining_bits = 0;
- boost::uint_least32_t saved_bits = 0;
- RealType multiplier = pow2<RealType>( Bits);
- RealType mult32 = RealType(4294967296.0); // 2^32
- while(true) {
- RealType val = eng() * multiplier;
- int available_bits = Bits;
- // Make sure the compiler can optimize this out
- // if it isn't possible.
- if(Bits < 32 && available_bits < 32 - remaining_bits) {
- saved_bits |= boost::uint_least32_t(val) << remaining_bits;
- remaining_bits += Bits;
- } else {
- // If Bits < 32, then remaining_bits != 0, since
- // if remaining_bits == 0, available_bits < 32 - 0,
- // and we won't get here to begin with.
- if(Bits < 32 || remaining_bits != 0) {
- boost::uint_least32_t divisor =
- (boost::uint_least32_t(1) << (32 - remaining_bits));
- boost::uint_least32_t extra_bits = boost::uint_least32_t(fmod(val, mult32)) & (divisor - 1);
- val = val / divisor;
- *begin++ = saved_bits | (extra_bits << remaining_bits);
- if(begin == end) return;
- available_bits -= 32 - remaining_bits;
- remaining_bits = 0;
- }
- // If Bits < 32 we should never enter this loop
- if(Bits >= 32) {
- for(; available_bits >= 32; available_bits -= 32) {
- boost::uint_least32_t word = boost::uint_least32_t(fmod(val, mult32));
- val /= mult32;
- *begin++ = word;
- if(begin == end) return;
- }
- }
- remaining_bits = available_bits;
- saved_bits = static_cast<boost::uint_least32_t>(val);
- }
- }
-}
-
-template<class Engine, class Iter>
-void generate_from_int(Engine& eng, Iter begin, Iter end)
-{
- typedef typename Engine::result_type IntType;
- typedef typename boost::make_unsigned<IntType>::type unsigned_type;
- int remaining_bits = 0;
- boost::uint_least32_t saved_bits = 0;
- unsigned_type range = boost::random::detail::subtract<IntType>()((eng.max)(), (eng.min)());
-
- int bits =
- (range == (std::numeric_limits<unsigned_type>::max)()) ?
- std::numeric_limits<unsigned_type>::digits :
- detail::integer_log2(range + 1);
-
- {
- int discarded_bits = detail::integer_log2(bits);
- unsigned_type excess = (range + 1) >> (bits - discarded_bits);
- if(excess != 0) {
- int extra_bits = detail::integer_log2((excess - 1) ^ excess);
- bits = bits - discarded_bits + extra_bits;
- }
- }
-
- unsigned_type mask = (static_cast<unsigned_type>(2) << (bits - 1)) - 1;
- unsigned_type limit = ((range + 1) & ~mask) - 1;
-
- while(true) {
- unsigned_type val;
- do {
- val = boost::random::detail::subtract<IntType>()(eng(), (eng.min)());
- } while(limit != range && val > limit);
- val &= mask;
- int available_bits = bits;
- if(available_bits == 32) {
- *begin++ = static_cast<boost::uint_least32_t>(val) & 0xFFFFFFFFu;
- if(begin == end) return;
- } else if(available_bits % 32 == 0) {
- for(int i = 0; i < available_bits / 32; ++i) {
- boost::uint_least32_t word = boost::uint_least32_t(val) & 0xFFFFFFFFu;
- int supress_warning = (bits >= 32);
- BOOST_ASSERT(supress_warning == 1);
- val >>= (32 * supress_warning);
- *begin++ = word;
- if(begin == end) return;
- }
- } else if(bits < 32 && available_bits < 32 - remaining_bits) {
- saved_bits |= boost::uint_least32_t(val) << remaining_bits;
- remaining_bits += bits;
- } else {
- if(bits < 32 || remaining_bits != 0) {
- boost::uint_least32_t extra_bits = boost::uint_least32_t(val) & ((boost::uint_least32_t(1) << (32 - remaining_bits)) - 1);
- val >>= 32 - remaining_bits;
- *begin++ = saved_bits | (extra_bits << remaining_bits);
- if(begin == end) return;
- available_bits -= 32 - remaining_bits;
- remaining_bits = 0;
- }
- if(bits >= 32) {
- for(; available_bits >= 32; available_bits -= 32) {
- boost::uint_least32_t word = boost::uint_least32_t(val) & 0xFFFFFFFFu;
- int supress_warning = (bits >= 32);
- BOOST_ASSERT(supress_warning == 1);
- val >>= (32 * supress_warning);
- *begin++ = word;
- if(begin == end) return;
- }
- }
- remaining_bits = available_bits;
- saved_bits = static_cast<boost::uint_least32_t>(val);
- }
- }
-}
-
-template<class Engine, class Iter>
-void generate_impl(Engine& eng, Iter first, Iter last, boost::mpl::true_)
-{
- return detail::generate_from_int(eng, first, last);
-}
-
-template<class Engine, class Iter>
-void generate_impl(Engine& eng, Iter first, Iter last, boost::mpl::false_)
-{
- return detail::generate_from_real(eng, first, last);
-}
-
-template<class Engine, class Iter>
-void generate(Engine& eng, Iter first, Iter last)
-{
- return detail::generate_impl(eng, first, last, boost::is_integral<typename Engine::result_type>());
-}
-
-
-
-template<class IntType, IntType m, class SeedSeq>
-IntType seed_one_int(SeedSeq& seq)
-{
- static const int log = ::boost::mpl::if_c<(m == 0),
- ::boost::mpl::int_<(::std::numeric_limits<IntType>::digits)>,
- ::boost::static_log2<m> >::type::value;
- static const int k =
- (log + ((~(static_cast<IntType>(2) << (log - 1)) & m)? 32 : 31)) / 32;
- ::boost::uint_least32_t array[log / 32 + 4];
- seq.generate(&array[0], &array[0] + k + 3);
- IntType s = 0;
- for(int j = 0; j < k; ++j) {
- IntType digit = const_mod<IntType, m>::apply(IntType(array[j+3]));
- IntType mult = IntType(1) << 32*j;
- s = const_mod<IntType, m>::mult_add(mult, digit, s);
- }
- return s;
-}
-
-template<class IntType, IntType m, class Iter>
-IntType get_one_int(Iter& first, Iter last)
-{
- static const int log = ::boost::mpl::if_c<(m == 0),
- ::boost::mpl::int_<(::std::numeric_limits<IntType>::digits)>,
- ::boost::static_log2<m> >::type::value;
- static const int k =
- (log + ((~(static_cast<IntType>(2) << (log - 1)) & m)? 32 : 31)) / 32;
- IntType s = 0;
- for(int j = 0; j < k; ++j) {
- if(first == last) {
- throw ::std::invalid_argument("Not enough elements in call to seed.");
- }
- IntType digit = const_mod<IntType, m>::apply(IntType(*first++));
- IntType mult = IntType(1) << 32*j;
- s = const_mod<IntType, m>::mult_add(mult, digit, s);
- }
- return s;
-}
-
-// TODO: work in-place whenever possible
-template<int w, std::size_t n, class SeedSeq, class UIntType>
-void seed_array_int_impl(SeedSeq& seq, UIntType (&x)[n])
-{
- boost::uint_least32_t storage[((w+31)/32) * n];
- seq.generate(&storage[0], &storage[0] + ((w+31)/32) * n);
- for(std::size_t j = 0; j < n; j++) {
- UIntType val = 0;
- for(std::size_t k = 0; k < (w+31)/32; ++k) {
- val += static_cast<UIntType>(storage[(w+31)/32*j + k]) << 32*k;
- }
- x[j] = val & ::boost::low_bits_mask_t<w>::sig_bits;
- }
-}
-
-template<int w, std::size_t n, class SeedSeq, class IntType>
-inline void seed_array_int_impl(SeedSeq& seq, IntType (&x)[n], boost::mpl::true_)
-{
- typedef typename boost::make_unsigned<IntType>::type unsigned_array[n];
- seed_array_int_impl<w>(seq, reinterpret_cast<unsigned_array&>(x));
-}
-
-template<int w, std::size_t n, class SeedSeq, class IntType>
-inline void seed_array_int_impl(SeedSeq& seq, IntType (&x)[n], boost::mpl::false_)
-{
- seed_array_int_impl<w>(seq, x);
-}
-
-template<int w, std::size_t n, class SeedSeq, class IntType>
-inline void seed_array_int(SeedSeq& seq, IntType (&x)[n])
-{
- seed_array_int_impl<w>(seq, x, boost::is_signed<IntType>());
-}
-
-template<int w, std::size_t n, class Iter, class UIntType>
-void fill_array_int_impl(Iter& first, Iter last, UIntType (&x)[n])
-{
- for(std::size_t j = 0; j < n; j++) {
- UIntType val = 0;
- for(std::size_t k = 0; k < (w+31)/32; ++k) {
- if(first == last) {
- throw std::invalid_argument("Not enough elements in call to seed.");
- }
- val += static_cast<UIntType>(*first++) << 32*k;
- }
- x[j] = val & ::boost::low_bits_mask_t<w>::sig_bits;
- }
-}
-
-template<int w, std::size_t n, class Iter, class IntType>
-inline void fill_array_int_impl(Iter& first, Iter last, IntType (&x)[n], boost::mpl::true_)
-{
- typedef typename boost::make_unsigned<IntType>::type unsigned_array[n];
- fill_array_int_impl<w>(first, last, reinterpret_cast<unsigned_array&>(x));
-}
-
-template<int w, std::size_t n, class Iter, class IntType>
-inline void fill_array_int_impl(Iter& first, Iter last, IntType (&x)[n], boost::mpl::false_)
-{
- fill_array_int_impl<w>(first, last, x);
-}
-
-template<int w, std::size_t n, class Iter, class IntType>
-inline void fill_array_int(Iter& first, Iter last, IntType (&x)[n])
-{
- fill_array_int_impl<w>(first, last, x, boost::is_signed<IntType>());
-}
-
-template<int w, std::size_t n, class RealType>
-void seed_array_real_impl(const boost::uint_least32_t* storage, RealType (&x)[n])
-{
- boost::uint_least32_t mask = ~((~boost::uint_least32_t(0)) << (w%32));
- RealType two32 = 4294967296.0;
- const RealType divisor = RealType(1)/detail::pow2<RealType>(w);
- unsigned int j;
- for(j = 0; j < n; ++j) {
- RealType val = RealType(0);
- RealType mult = divisor;
- for(int k = 0; k < w/32; ++k) {
- val += *storage++ * mult;
- mult *= two32;
- }
- if(mask != 0) {
- val += (*storage++ & mask) * mult;
- }
- BOOST_ASSERT(val >= 0);
- BOOST_ASSERT(val < 1);
- x[j] = val;
- }
-}
-
-template<int w, std::size_t n, class SeedSeq, class RealType>
-void seed_array_real(SeedSeq& seq, RealType (&x)[n])
-{
- using std::pow;
- boost::uint_least32_t storage[((w+31)/32) * n];
- seq.generate(&storage[0], &storage[0] + ((w+31)/32) * n);
- seed_array_real_impl<w>(storage, x);
-}
-
-template<int w, std::size_t n, class Iter, class RealType>
-void fill_array_real(Iter& first, Iter last, RealType (&x)[n])
-{
- boost::uint_least32_t mask = ~((~boost::uint_least32_t(0)) << (w%32));
- RealType two32 = 4294967296.0;
- const RealType divisor = RealType(1)/detail::pow2<RealType>(w);
- unsigned int j;
- for(j = 0; j < n; ++j) {
- RealType val = RealType(0);
- RealType mult = divisor;
- for(int k = 0; k < w/32; ++k, ++first) {
- if(first == last) throw std::invalid_argument("Not enough elements in call to seed.");
- val += *first * mult;
- mult *= two32;
- }
- if(mask != 0) {
- if(first == last) throw std::invalid_argument("Not enough elements in call to seed.");
- val += (*first & mask) * mult;
- ++first;
- }
- BOOST_ASSERT(val >= 0);
- BOOST_ASSERT(val < 1);
- x[j] = val;
- }
-}
-
-}
-}
-}
-
-#include <boost/random/detail/enable_warnings.hpp>
-
-#endif
diff --git a/boost/random/detail/signed_unsigned_tools.hpp b/boost/random/detail/signed_unsigned_tools.hpp
deleted file mode 100644
index 988cfb8..0000000
--- a/boost/random/detail/signed_unsigned_tools.hpp
+++ /dev/null
@@ -1,89 +0,0 @@
-/* boost random/detail/signed_unsigned_tools.hpp header file
- *
- * Copyright Jens Maurer 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 most recent version including documentation.
- */
-
-#ifndef BOOST_RANDOM_DETAIL_SIGNED_UNSIGNED_TOOLS
-#define BOOST_RANDOM_DETAIL_SIGNED_UNSIGNED_TOOLS
-
-#include <boost/limits.hpp>
-#include <boost/config.hpp>
-#include <boost/type_traits/make_unsigned.hpp>
-
-namespace boost {
-namespace random {
-namespace detail {
-
-
-/*
- * Compute x - y, we know that x >= y, return an unsigned value.
- */
-
-template<class T, bool sgn = std::numeric_limits<T>::is_signed>
-struct subtract { };
-
-template<class T>
-struct subtract<T, /* signed */ false>
-{
- typedef T result_type;
- result_type operator()(T x, T y) { return x - y; }
-};
-
-template<class T>
-struct subtract<T, /* signed */ true>
-{
- typedef typename make_unsigned<T>::type result_type;
- result_type operator()(T x, T y)
- {
- if (y >= 0) // because x >= y, it follows that x >= 0, too
- return result_type(x) - result_type(y);
- if (x >= 0) // y < 0
- // avoid the nasty two's complement case for y == min()
- return result_type(x) + result_type(-(y+1)) + 1;
- // both x and y are negative: no signed overflow
- return result_type(x - y);
- }
-};
-
-/*
- * Compute x + y, x is unsigned, result fits in type of "y".
- */
-
-template<class T1, class T2, bool sgn = std::numeric_limits<T2>::is_signed>
-struct add { };
-
-template<class T1, class T2>
-struct add<T1, T2, /* signed */ false>
-{
- typedef T2 result_type;
- result_type operator()(T1 x, T2 y) { return T2(x) + y; }
-};
-
-template<class T1, class T2>
-struct add<T1, T2, /* signed */ true>
-{
- typedef T2 result_type;
- result_type operator()(T1 x, T2 y)
- {
- if (y >= 0)
- return T2(x) + y;
- // y < 0
- if (x > T1(-(y+1))) // result >= 0 after subtraction
- // avoid the nasty two's complement edge case for y == min()
- return T2(x - T1(-(y+1)) - 1);
- // abs(x) < abs(y), thus T2 able to represent x
- return T2(x) + y;
- }
-};
-
-} // namespace detail
-} // namespace random
-} // namespace boost
-
-#endif // BOOST_RANDOM_DETAIL_SIGNED_UNSIGNED_TOOLS
-
diff --git a/boost/random/detail/uniform_int_float.hpp b/boost/random/detail/uniform_int_float.hpp
deleted file mode 100644
index ef20915..0000000
--- a/boost/random/detail/uniform_int_float.hpp
+++ /dev/null
@@ -1,76 +0,0 @@
-/* boost random/detail/uniform_int_float.hpp header file
- *
- * Copyright Jens Maurer 2000-2001
- * Copyright Steven Watanabe 2011
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: uniform_int_float.hpp 72951 2011-07-07 04:57:37Z steven_watanabe $
- *
- */
-
-#ifndef BOOST_RANDOM_DETAIL_UNIFORM_INT_FLOAT_HPP
-#define BOOST_RANDOM_DETAIL_UNIFORM_INT_FLOAT_HPP
-
-#include <boost/limits.hpp>
-#include <boost/config.hpp>
-#include <boost/integer.hpp>
-#include <boost/random/detail/config.hpp>
-#include <boost/random/detail/generator_bits.hpp>
-
-#include <boost/random/detail/disable_warnings.hpp>
-
-namespace boost {
-namespace random {
-namespace detail {
-
-template<class URNG>
-class uniform_int_float
-{
-public:
- typedef URNG base_type;
- typedef typename base_type::result_type base_result;
-
- typedef typename boost::uint_t<
- (std::numeric_limits<boost::uintmax_t>::digits <
- std::numeric_limits<base_result>::digits)?
- std::numeric_limits<boost::uintmax_t>::digits :
- std::numeric_limits<base_result>::digits
- >::fast result_type;
-
- uniform_int_float(base_type& rng)
- : _rng(rng) {}
-
- static result_type min BOOST_PREVENT_MACRO_SUBSTITUTION ()
- { return 0; }
- static result_type max BOOST_PREVENT_MACRO_SUBSTITUTION ()
- {
- std::size_t digits = std::numeric_limits<result_type>::digits;
- if(detail::generator_bits<URNG>::value() < digits) {
- digits = detail::generator_bits<URNG>::value();
- }
- return (result_type(2) << (digits - 1)) - 1;
- }
- base_type& base() { return _rng; }
- const base_type& base() const { return _rng; }
-
- result_type operator()()
- {
- base_result range = static_cast<base_result>((max)())+1;
- return static_cast<result_type>(_rng() * range);
- }
-
-private:
- base_type& _rng;
-};
-
-} // namespace detail
-} // namespace random
-} // namespace boost
-
-#include <boost/random/detail/enable_warnings.hpp>
-
-#endif // BOOST_RANDOM_DETAIL_UNIFORM_INT_FLOAT_HPP
diff --git a/boost/random/detail/vector_io.hpp b/boost/random/detail/vector_io.hpp
deleted file mode 100644
index 0bb261c..0000000
--- a/boost/random/detail/vector_io.hpp
+++ /dev/null
@@ -1,75 +0,0 @@
-/* boost random/vector_io.hpp header file
- *
- * Copyright Steven Watanabe 2011
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: vector_io.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- */
-
-#ifndef BOOST_RANDOM_DETAIL_VECTOR_IO_HPP
-#define BOOST_RANDOM_DETAIL_VECTOR_IO_HPP
-
-#include <vector>
-#include <iosfwd>
-#include <istream>
-
-namespace boost {
-namespace random {
-namespace detail {
-
-template<class CharT, class Traits, class T>
-void print_vector(std::basic_ostream<CharT, Traits>& os,
- const std::vector<T>& vec)
-{
- typename std::vector<T>::const_iterator
- iter = vec.begin(),
- end = vec.end();
- os << os.widen('[');
- if(iter != end) {
- os << *iter;
- ++iter;
- for(; iter != end; ++iter)
- {
- os << os.widen(' ') << *iter;
- }
- }
- os << os.widen(']');
-}
-
-template<class CharT, class Traits, class T>
-void read_vector(std::basic_istream<CharT, Traits>& is, std::vector<T>& vec)
-{
- CharT ch;
- if(!(is >> ch)) {
- return;
- }
- if(ch != is.widen('[')) {
- is.putback(ch);
- is.setstate(std::ios_base::failbit);
- return;
- }
- T val;
- while(is >> std::ws >> val) {
- vec.push_back(val);
- }
- if(is.fail()) {
- is.clear();
- if(!(is >> ch)) {
- return;
- }
- if(ch != is.widen(']')) {
- is.putback(ch);
- is.setstate(std::ios_base::failbit);
- }
- }
-}
-
-}
-}
-}
-
-#endif // BOOST_RANDOM_DETAIL_VECTOR_IO_HPP
diff --git a/boost/random/discard_block.hpp b/boost/random/discard_block.hpp
deleted file mode 100644
index aba6212..0000000
--- a/boost/random/discard_block.hpp
+++ /dev/null
@@ -1,240 +0,0 @@
-/* boost random/discard_block.hpp header file
- *
- * Copyright Jens Maurer 2002
- * Copyright Steven Watanabe 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 most recent version including documentation.
- *
- * $Id: discard_block.hpp 72951 2011-07-07 04:57:37Z steven_watanabe $
- *
- * Revision history
- * 2001-03-02 created
- */
-
-#ifndef BOOST_RANDOM_DISCARD_BLOCK_HPP
-#define BOOST_RANDOM_DISCARD_BLOCK_HPP
-
-#include <iostream>
-#include <boost/config.hpp>
-#include <boost/cstdint.hpp>
-#include <boost/limits.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/random/detail/config.hpp>
-#include <boost/random/detail/seed.hpp>
-
-
-namespace boost {
-namespace random {
-
-/**
- * The class template \discard_block_engine is a model of
- * \pseudo_random_number_generator. It modifies
- * another generator by discarding parts of its output.
- * Out of every block of @c p results, the first @c r
- * will be returned and the rest discarded.
- *
- * Requires: 0 < p <= r
- */
-template<class UniformRandomNumberGenerator, std::size_t p, std::size_t r>
-class discard_block_engine
-{
- typedef typename detail::seed_type<
- typename UniformRandomNumberGenerator::result_type>::type seed_type;
-public:
- typedef UniformRandomNumberGenerator base_type;
- typedef typename base_type::result_type result_type;
-
- BOOST_STATIC_CONSTANT(std::size_t, block_size = p);
- BOOST_STATIC_CONSTANT(std::size_t, used_block = r);
-
- BOOST_STATIC_CONSTANT(bool, has_fixed_range = false);
- BOOST_STATIC_CONSTANT(std::size_t, total_block = p);
- BOOST_STATIC_CONSTANT(std::size_t, returned_block = r);
-
- BOOST_STATIC_ASSERT(total_block >= returned_block);
-
- /** Uses the default seed for the base generator. */
- discard_block_engine() : _rng(), _n(0) { }
- /** Constructs a new \discard_block_engine with a copy of rng. */
- explicit discard_block_engine(const base_type & rng) : _rng(rng), _n(0) { }
-
-#ifndef BOOST_NO_RVALUE_REFERENCES
- /** Constructs a new \discard_block_engine with rng. */
- explicit discard_block_engine(base_type && rng) : _rng(rng), _n(0) { }
-#endif
-
- /**
- * Creates a new \discard_block_engine and seeds the underlying
- * generator with @c value
- */
- BOOST_RANDOM_DETAIL_ARITHMETIC_CONSTRUCTOR(discard_block_engine,
- seed_type, value)
- { _rng.seed(value); _n = 0; }
-
- /**
- * Creates a new \discard_block_engine and seeds the underlying
- * generator with @c seq
- */
- BOOST_RANDOM_DETAIL_SEED_SEQ_CONSTRUCTOR(discard_block_engine, SeedSeq, seq)
- { _rng.seed(seq); _n = 0; }
-
- /**
- * Creates a new \discard_block_engine and seeds the underlying
- * generator with first and last.
- */
- template<class It> discard_block_engine(It& first, It last)
- : _rng(first, last), _n(0) { }
-
- /** default seeds the underlying generator. */
- void seed() { _rng.seed(); _n = 0; }
- /** Seeds the underlying generator with s. */
- BOOST_RANDOM_DETAIL_ARITHMETIC_SEED(discard_block_engine, seed_type, s)
- { _rng.seed(s); _n = 0; }
- /** Seeds the underlying generator with seq. */
- BOOST_RANDOM_DETAIL_SEED_SEQ_SEED(discard_block_engine, SeedSeq, seq)
- { _rng.seed(seq); _n = 0; }
- /** Seeds the underlying generator with first and last. */
- template<class It> void seed(It& first, It last)
- { _rng.seed(first, last); _n = 0; }
-
- /** Returns the underlying engine. */
- const base_type& base() const { return _rng; }
-
- /** Returns the next value of the generator. */
- result_type operator()()
- {
- if(_n >= returned_block) {
- // discard values of random number generator
- // Don't use discard, since we still need to
- // be somewhat compatible with TR1.
- // _rng.discard(total_block - _n);
- for(std::size_t i = 0; i < total_block - _n; ++i) {
- _rng();
- }
- _n = 0;
- }
- ++_n;
- return _rng();
- }
-
- void discard(boost::uintmax_t z)
- {
- for(boost::uintmax_t j = 0; j < z; ++j) {
- (*this)();
- }
- }
-
- template<class It>
- void generate(It first, It last)
- { detail::generate(*this, first, last); }
-
- /**
- * Returns the smallest value that the generator can produce.
- * This is the same as the minimum of the underlying generator.
- */
- static result_type min BOOST_PREVENT_MACRO_SUBSTITUTION ()
- { return (base_type::min)(); }
- /**
- * Returns the largest value that the generator can produce.
- * This is the same as the maximum of the underlying generator.
- */
- static result_type max BOOST_PREVENT_MACRO_SUBSTITUTION ()
- { return (base_type::max)(); }
-
-#ifndef BOOST_RANDOM_NO_STREAM_OPERATORS
- /** Writes a \discard_block_engine to a @c std::ostream. */
- template<class CharT, class Traits>
- friend std::basic_ostream<CharT,Traits>&
- operator<<(std::basic_ostream<CharT,Traits>& os,
- const discard_block_engine& s)
- {
- os << s._rng << ' ' << s._n;
- return os;
- }
-
- /** Reads a \discard_block_engine from a @c std::istream. */
- template<class CharT, class Traits>
- friend std::basic_istream<CharT,Traits>&
- operator>>(std::basic_istream<CharT,Traits>& is, discard_block_engine& s)
- {
- is >> s._rng >> std::ws >> s._n;
- return is;
- }
-#endif
-
- /** Returns true if the two generators will produce identical sequences. */
- friend bool operator==(const discard_block_engine& x,
- const discard_block_engine& y)
- { return x._rng == y._rng && x._n == y._n; }
- /** Returns true if the two generators will produce different sequences. */
- friend bool operator!=(const discard_block_engine& x,
- const discard_block_engine& y)
- { return !(x == y); }
-
-private:
- base_type _rng;
- std::size_t _n;
-};
-
-#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-// A definition is required even for integral static constants
-template<class URNG, std::size_t p, std::size_t r>
-const bool discard_block_engine<URNG, p, r>::has_fixed_range;
-template<class URNG, std::size_t p, std::size_t r>
-const std::size_t discard_block_engine<URNG, p, r>::total_block;
-template<class URNG, std::size_t p, std::size_t r>
-const std::size_t discard_block_engine<URNG, p, r>::returned_block;
-template<class URNG, std::size_t p, std::size_t r>
-const std::size_t discard_block_engine<URNG, p, r>::block_size;
-template<class URNG, std::size_t p, std::size_t r>
-const std::size_t discard_block_engine<URNG, p, r>::used_block;
-#endif
-
-/// \cond \show_deprecated
-
-template<class URNG, int p, int r>
-class discard_block : public discard_block_engine<URNG, p, r>
-{
- typedef discard_block_engine<URNG, p, r> base_t;
-public:
- typedef typename base_t::result_type result_type;
- discard_block() {}
- template<class T>
- discard_block(T& arg) : base_t(arg) {}
- template<class T>
- discard_block(const T& arg) : base_t(arg) {}
- template<class It>
- discard_block(It& first, It last) : base_t(first, last) {}
- result_type min BOOST_PREVENT_MACRO_SUBSTITUTION ()
- { return (this->base().min)(); }
- result_type max BOOST_PREVENT_MACRO_SUBSTITUTION ()
- { return (this->base().max)(); }
-};
-
-/// \endcond
-
-namespace detail {
-
- template<class Engine>
- struct generator_bits;
-
- template<class URNG, std::size_t p, std::size_t r>
- struct generator_bits<discard_block_engine<URNG, p, r> > {
- static std::size_t value() { return generator_bits<URNG>::value(); }
- };
-
- template<class URNG, int p, int r>
- struct generator_bits<discard_block<URNG, p, r> > {
- static std::size_t value() { return generator_bits<URNG>::value(); }
- };
-
-}
-
-} // namespace random
-
-} // namespace boost
-
-#endif // BOOST_RANDOM_DISCARD_BLOCK_HPP
diff --git a/boost/random/discrete_distribution.hpp b/boost/random/discrete_distribution.hpp
deleted file mode 100644
index 626ee42..0000000
--- a/boost/random/discrete_distribution.hpp
+++ /dev/null
@@ -1,453 +0,0 @@
-/* boost random/discrete_distribution.hpp header file
- *
- * Copyright Steven Watanabe 2009-2011
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: discrete_distribution.hpp 85813 2013-09-21 20:17:00Z jewillco $
- */
-
-#ifndef BOOST_RANDOM_DISCRETE_DISTRIBUTION_HPP_INCLUDED
-#define BOOST_RANDOM_DISCRETE_DISTRIBUTION_HPP_INCLUDED
-
-#include <vector>
-#include <limits>
-#include <numeric>
-#include <utility>
-#include <iterator>
-#include <boost/assert.hpp>
-#include <boost/random/uniform_01.hpp>
-#include <boost/random/uniform_int.hpp>
-#include <boost/random/detail/config.hpp>
-#include <boost/random/detail/operators.hpp>
-#include <boost/random/detail/vector_io.hpp>
-
-#ifndef BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#include <initializer_list>
-#endif
-
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-
-#include <boost/random/detail/disable_warnings.hpp>
-
-namespace boost {
-namespace random {
-
-/**
- * The class @c discrete_distribution models a \random_distribution.
- * It produces integers in the range [0, n) with the probability
- * of producing each value is specified by the parameters of the
- * distribution.
- */
-template<class IntType = int, class WeightType = double>
-class discrete_distribution {
-public:
- typedef WeightType input_type;
- typedef IntType result_type;
-
- class param_type {
- public:
-
- typedef discrete_distribution distribution_type;
-
- /**
- * Constructs a @c param_type object, representing a distribution
- * with \f$p(0) = 1\f$ and \f$p(k|k>0) = 0\f$.
- */
- param_type() : _probabilities(1, static_cast<WeightType>(1)) {}
- /**
- * If @c first == @c last, equivalent to the default constructor.
- * Otherwise, the values of the range represent weights for the
- * possible values of the distribution.
- */
- template<class Iter>
- param_type(Iter first, Iter last) : _probabilities(first, last)
- {
- normalize();
- }
-#ifndef BOOST_NO_CXX11_HDR_INITIALIZER_LIST
- /**
- * If wl.size() == 0, equivalent to the default constructor.
- * Otherwise, the values of the @c initializer_list represent
- * weights for the possible values of the distribution.
- */
- param_type(const std::initializer_list<WeightType>& wl)
- : _probabilities(wl)
- {
- normalize();
- }
-#endif
- /**
- * If the range is empty, equivalent to the default constructor.
- * Otherwise, the elements of the range represent
- * weights for the possible values of the distribution.
- */
- template<class Range>
- explicit param_type(const Range& range)
- : _probabilities(boost::begin(range), boost::end(range))
- {
- normalize();
- }
-
- /**
- * If nw is zero, equivalent to the default constructor.
- * Otherwise, the range of the distribution is [0, nw),
- * and the weights are found by calling fw with values
- * evenly distributed between \f$\mbox{xmin} + \delta/2\f$ and
- * \f$\mbox{xmax} - \delta/2\f$, where
- * \f$\delta = (\mbox{xmax} - \mbox{xmin})/\mbox{nw}\f$.
- */
- template<class Func>
- param_type(std::size_t nw, double xmin, double xmax, Func fw)
- {
- std::size_t n = (nw == 0) ? 1 : nw;
- double delta = (xmax - xmin) / n;
- BOOST_ASSERT(delta > 0);
- for(std::size_t k = 0; k < n; ++k) {
- _probabilities.push_back(fw(xmin + k*delta + delta/2));
- }
- normalize();
- }
-
- /**
- * Returns a vector containing the probabilities of each possible
- * value of the distribution.
- */
- std::vector<WeightType> probabilities() const
- {
- return _probabilities;
- }
-
- /** Writes the parameters to a @c std::ostream. */
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, param_type, parm)
- {
- detail::print_vector(os, parm._probabilities);
- return os;
- }
-
- /** Reads the parameters from a @c std::istream. */
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, param_type, parm)
- {
- std::vector<WeightType> temp;
- detail::read_vector(is, temp);
- if(is) {
- parm._probabilities.swap(temp);
- }
- return is;
- }
-
- /** Returns true if the two sets of parameters are the same. */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(param_type, lhs, rhs)
- {
- return lhs._probabilities == rhs._probabilities;
- }
- /** Returns true if the two sets of parameters are different. */
- BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(param_type)
- private:
- /// @cond show_private
- friend class discrete_distribution;
- explicit param_type(const discrete_distribution& dist)
- : _probabilities(dist.probabilities())
- {}
- void normalize()
- {
- WeightType sum =
- std::accumulate(_probabilities.begin(), _probabilities.end(),
- static_cast<WeightType>(0));
- for(typename std::vector<WeightType>::iterator
- iter = _probabilities.begin(),
- end = _probabilities.end();
- iter != end; ++iter)
- {
- *iter /= sum;
- }
- }
- std::vector<WeightType> _probabilities;
- /// @endcond
- };
-
- /**
- * Creates a new @c discrete_distribution object that has
- * \f$p(0) = 1\f$ and \f$p(i|i>0) = 0\f$.
- */
- discrete_distribution()
- {
- _alias_table.push_back(std::make_pair(static_cast<WeightType>(1),
- static_cast<IntType>(0)));
- }
- /**
- * Constructs a discrete_distribution from an iterator range.
- * If @c first == @c last, equivalent to the default constructor.
- * Otherwise, the values of the range represent weights for the
- * possible values of the distribution.
- */
- template<class Iter>
- discrete_distribution(Iter first, Iter last)
- {
- init(first, last);
- }
-#ifndef BOOST_NO_CXX11_HDR_INITIALIZER_LIST
- /**
- * Constructs a @c discrete_distribution from a @c std::initializer_list.
- * If the @c initializer_list is empty, equivalent to the default
- * constructor. Otherwise, the values of the @c initializer_list
- * represent weights for the possible values of the distribution.
- * For example, given the distribution
- *
- * @code
- * discrete_distribution<> dist{1, 4, 5};
- * @endcode
- *
- * The probability of a 0 is 1/10, the probability of a 1 is 2/5,
- * the probability of a 2 is 1/2, and no other values are possible.
- */
- discrete_distribution(std::initializer_list<WeightType> wl)
- {
- init(wl.begin(), wl.end());
- }
-#endif
- /**
- * Constructs a discrete_distribution from a Boost.Range range.
- * If the range is empty, equivalent to the default constructor.
- * Otherwise, the values of the range represent weights for the
- * possible values of the distribution.
- */
- template<class Range>
- explicit discrete_distribution(const Range& range)
- {
- init(boost::begin(range), boost::end(range));
- }
- /**
- * Constructs a discrete_distribution that approximates a function.
- * If nw is zero, equivalent to the default constructor.
- * Otherwise, the range of the distribution is [0, nw),
- * and the weights are found by calling fw with values
- * evenly distributed between \f$\mbox{xmin} + \delta/2\f$ and
- * \f$\mbox{xmax} - \delta/2\f$, where
- * \f$\delta = (\mbox{xmax} - \mbox{xmin})/\mbox{nw}\f$.
- */
- template<class Func>
- discrete_distribution(std::size_t nw, double xmin, double xmax, Func fw)
- {
- std::size_t n = (nw == 0) ? 1 : nw;
- double delta = (xmax - xmin) / n;
- BOOST_ASSERT(delta > 0);
- std::vector<WeightType> weights;
- for(std::size_t k = 0; k < n; ++k) {
- weights.push_back(fw(xmin + k*delta + delta/2));
- }
- init(weights.begin(), weights.end());
- }
- /**
- * Constructs a discrete_distribution from its parameters.
- */
- explicit discrete_distribution(const param_type& parm)
- {
- param(parm);
- }
-
- /**
- * Returns a value distributed according to the parameters of the
- * discrete_distribution.
- */
- template<class URNG>
- IntType operator()(URNG& urng) const
- {
- BOOST_ASSERT(!_alias_table.empty());
- WeightType test = uniform_01<WeightType>()(urng);
- IntType result = uniform_int<IntType>((min)(), (max)())(urng);
- if(test < _alias_table[result].first) {
- return result;
- } else {
- return(_alias_table[result].second);
- }
- }
-
- /**
- * Returns a value distributed according to the parameters
- * specified by param.
- */
- template<class URNG>
- IntType operator()(URNG& urng, const param_type& parm) const
- {
- while(true) {
- WeightType val = uniform_01<WeightType>()(urng);
- WeightType sum = 0;
- std::size_t result = 0;
- for(typename std::vector<WeightType>::const_iterator
- iter = parm._probabilities.begin(),
- end = parm._probabilities.end();
- iter != end; ++iter, ++result)
- {
- sum += *iter;
- if(sum > val) {
- return result;
- }
- }
- }
- }
-
- /** Returns the smallest value that the distribution can produce. */
- result_type min BOOST_PREVENT_MACRO_SUBSTITUTION () const { return 0; }
- /** Returns the largest value that the distribution can produce. */
- result_type max BOOST_PREVENT_MACRO_SUBSTITUTION () const
- { return static_cast<result_type>(_alias_table.size() - 1); }
-
- /**
- * Returns a vector containing the probabilities of each
- * value of the distribution. For example, given
- *
- * @code
- * discrete_distribution<> dist = { 1, 4, 5 };
- * std::vector<double> p = dist.param();
- * @endcode
- *
- * the vector, p will contain {0.1, 0.4, 0.5}.
- */
- std::vector<WeightType> probabilities() const
- {
- std::vector<WeightType> result(_alias_table.size());
- const WeightType mean =
- static_cast<WeightType>(1) / _alias_table.size();
- std::size_t i = 0;
- for(typename alias_table_t::const_iterator
- iter = _alias_table.begin(),
- end = _alias_table.end();
- iter != end; ++iter, ++i)
- {
- WeightType val = iter->first * mean;
- result[i] += val;
- result[iter->second] += mean - val;
- }
- return(result);
- }
-
- /** Returns the parameters of the distribution. */
- param_type param() const
- {
- return param_type(*this);
- }
- /** Sets the parameters of the distribution. */
- void param(const param_type& parm)
- {
- init(parm._probabilities.begin(), parm._probabilities.end());
- }
-
- /**
- * Effects: Subsequent uses of the distribution do not depend
- * on values produced by any engine prior to invoking reset.
- */
- void reset() {}
-
- /** Writes a distribution to a @c std::ostream. */
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, discrete_distribution, dd)
- {
- os << dd.param();
- return os;
- }
-
- /** Reads a distribution from a @c std::istream */
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, discrete_distribution, dd)
- {
- param_type parm;
- if(is >> parm) {
- dd.param(parm);
- }
- return is;
- }
-
- /**
- * Returns true if the two distributions will return the
- * same sequence of values, when passed equal generators.
- */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(discrete_distribution, lhs, rhs)
- {
- return lhs._alias_table == rhs._alias_table;
- }
- /**
- * Returns true if the two distributions may return different
- * sequences of values, when passed equal generators.
- */
- BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(discrete_distribution)
-
-private:
-
- /// @cond show_private
-
- template<class Iter>
- void init(Iter first, Iter last, std::input_iterator_tag)
- {
- std::vector<WeightType> temp(first, last);
- init(temp.begin(), temp.end());
- }
- template<class Iter>
- void init(Iter first, Iter last, std::forward_iterator_tag)
- {
- std::vector<std::pair<WeightType, IntType> > below_average;
- std::vector<std::pair<WeightType, IntType> > above_average;
- std::size_t size = std::distance(first, last);
- WeightType weight_sum =
- std::accumulate(first, last, static_cast<WeightType>(0));
- WeightType weight_average = weight_sum / size;
- std::size_t i = 0;
- for(; first != last; ++first, ++i) {
- WeightType val = *first / weight_average;
- std::pair<WeightType, IntType> elem(val, static_cast<IntType>(i));
- if(val < static_cast<WeightType>(1)) {
- below_average.push_back(elem);
- } else {
- above_average.push_back(elem);
- }
- }
-
- _alias_table.resize(size);
- typename alias_table_t::iterator
- b_iter = below_average.begin(),
- b_end = below_average.end(),
- a_iter = above_average.begin(),
- a_end = above_average.end()
- ;
- while(b_iter != b_end && a_iter != a_end) {
- _alias_table[b_iter->second] =
- std::make_pair(b_iter->first, a_iter->second);
- a_iter->first -= (static_cast<WeightType>(1) - b_iter->first);
- if(a_iter->first < static_cast<WeightType>(1)) {
- *b_iter = *a_iter++;
- } else {
- ++b_iter;
- }
- }
- for(; b_iter != b_end; ++b_iter) {
- _alias_table[b_iter->second].first = static_cast<WeightType>(1);
- }
- for(; a_iter != a_end; ++a_iter) {
- _alias_table[a_iter->second].first = static_cast<WeightType>(1);
- }
- }
- template<class Iter>
- void init(Iter first, Iter last)
- {
- if(first == last) {
- _alias_table.clear();
- _alias_table.push_back(std::make_pair(static_cast<WeightType>(1),
- static_cast<IntType>(0)));
- } else {
- typename std::iterator_traits<Iter>::iterator_category category;
- init(first, last, category);
- }
- }
- typedef std::vector<std::pair<WeightType, IntType> > alias_table_t;
- alias_table_t _alias_table;
- /// @endcond
-};
-
-}
-}
-
-#include <boost/random/detail/enable_warnings.hpp>
-
-#endif
diff --git a/boost/random/exponential_distribution.hpp b/boost/random/exponential_distribution.hpp
deleted file mode 100644
index dd45e35..0000000
--- a/boost/random/exponential_distribution.hpp
+++ /dev/null
@@ -1,182 +0,0 @@
-/* boost random/exponential_distribution.hpp header file
- *
- * Copyright Jens Maurer 2000-2001
- * Copyright Steven Watanabe 2011
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: exponential_distribution.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- *
- * Revision history
- * 2001-02-18 moved to individual header files
- */
-
-#ifndef BOOST_RANDOM_EXPONENTIAL_DISTRIBUTION_HPP
-#define BOOST_RANDOM_EXPONENTIAL_DISTRIBUTION_HPP
-
-#include <boost/config/no_tr1/cmath.hpp>
-#include <iosfwd>
-#include <boost/assert.hpp>
-#include <boost/limits.hpp>
-#include <boost/random/detail/config.hpp>
-#include <boost/random/detail/operators.hpp>
-#include <boost/random/uniform_01.hpp>
-
-namespace boost {
-namespace random {
-
-/**
- * The exponential distribution is a model of \random_distribution with
- * a single parameter lambda.
- *
- * It has \f$\displaystyle p(x) = \lambda e^{-\lambda x}\f$
- */
-template<class RealType = double>
-class exponential_distribution
-{
-public:
- typedef RealType input_type;
- typedef RealType result_type;
-
- class param_type
- {
- public:
-
- typedef exponential_distribution distribution_type;
-
- /**
- * Constructs parameters with a given lambda.
- *
- * Requires: lambda > 0
- */
- param_type(RealType lambda_arg = RealType(1.0))
- : _lambda(lambda_arg) { BOOST_ASSERT(_lambda > RealType(0)); }
-
- /** Returns the lambda parameter of the distribution. */
- RealType lambda() const { return _lambda; }
-
- /** Writes the parameters to a @c std::ostream. */
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, param_type, parm)
- {
- os << parm._lambda;
- return os;
- }
-
- /** Reads the parameters from a @c std::istream. */
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, param_type, parm)
- {
- is >> parm._lambda;
- return is;
- }
-
- /** Returns true if the two sets of parameters are equal. */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(param_type, lhs, rhs)
- { return lhs._lambda == rhs._lambda; }
-
- /** Returns true if the two sets of parameters are different. */
- BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(param_type)
-
- private:
- RealType _lambda;
- };
-
- /**
- * Constructs an exponential_distribution with a given lambda.
- *
- * Requires: lambda > 0
- */
- explicit exponential_distribution(RealType lambda_arg = RealType(1.0))
- : _lambda(lambda_arg) { BOOST_ASSERT(_lambda > RealType(0)); }
-
- /**
- * Constructs an exponential_distribution from its parameters
- */
- explicit exponential_distribution(const param_type& parm)
- : _lambda(parm.lambda()) {}
-
- // compiler-generated copy ctor and assignment operator are fine
-
- /** Returns the lambda parameter of the distribution. */
- RealType lambda() const { return _lambda; }
-
- /** Returns the smallest value that the distribution can produce. */
- RealType min BOOST_PREVENT_MACRO_SUBSTITUTION () const
- { return RealType(0); }
- /** Returns the largest value that the distribution can produce. */
- RealType max BOOST_PREVENT_MACRO_SUBSTITUTION () const
- { return (std::numeric_limits<RealType>::infinity)(); }
-
- /** Returns the parameters of the distribution. */
- param_type param() const { return param_type(_lambda); }
- /** Sets the parameters of the distribution. */
- void param(const param_type& parm) { _lambda = parm.lambda(); }
-
- /**
- * Effects: Subsequent uses of the distribution do not depend
- * on values produced by any engine prior to invoking reset.
- */
- void reset() { }
-
- /**
- * Returns a random variate distributed according to the
- * exponential distribution.
- */
- template<class Engine>
- result_type operator()(Engine& eng) const
- {
- using std::log;
- return -result_type(1) /
- _lambda * log(result_type(1)-uniform_01<RealType>()(eng));
- }
-
- /**
- * Returns a random variate distributed according to the exponential
- * distribution with parameters specified by param.
- */
- template<class Engine>
- result_type operator()(Engine& eng, const param_type& parm) const
- {
- return exponential_distribution(parm)(eng);
- }
-
- /** Writes the distribution to a std::ostream. */
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, exponential_distribution, ed)
- {
- os << ed._lambda;
- return os;
- }
-
- /** Reads the distribution from a std::istream. */
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, exponential_distribution, ed)
- {
- is >> ed._lambda;
- return is;
- }
-
- /**
- * Returns true iff the two distributions will produce identical
- * sequences of values given equal generators.
- */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(exponential_distribution, lhs, rhs)
- { return lhs._lambda == rhs._lambda; }
-
- /**
- * Returns true iff the two distributions will produce different
- * sequences of values given equal generators.
- */
- BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(exponential_distribution)
-
-private:
- result_type _lambda;
-};
-
-} // namespace random
-
-using random::exponential_distribution;
-
-} // namespace boost
-
-#endif // BOOST_RANDOM_EXPONENTIAL_DISTRIBUTION_HPP
diff --git a/boost/random/extreme_value_distribution.hpp b/boost/random/extreme_value_distribution.hpp
deleted file mode 100644
index 61a6554..0000000
--- a/boost/random/extreme_value_distribution.hpp
+++ /dev/null
@@ -1,177 +0,0 @@
-/* boost random/extreme_value_distribution.hpp header file
- *
- * Copyright Steven Watanabe 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 most recent version including documentation.
- *
- * $Id: extreme_value_distribution.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- */
-
-#ifndef BOOST_RANDOM_EXTREME_VALUE_DISTRIBUTION_HPP
-#define BOOST_RANDOM_EXTREME_VALUE_DISTRIBUTION_HPP
-
-#include <boost/config/no_tr1/cmath.hpp>
-#include <iosfwd>
-#include <istream>
-#include <boost/config.hpp>
-#include <boost/limits.hpp>
-#include <boost/random/detail/operators.hpp>
-#include <boost/random/uniform_01.hpp>
-
-namespace boost {
-namespace random {
-
-/**
- * The extreme value distribution is a real valued distribution with two
- * parameters a and b.
- *
- * It has \f$\displaystyle p(x) = \frac{1}{b}e^{\frac{a-x}{b} - e^\frac{a-x}{b}}\f$.
- */
-template<class RealType = double>
-class extreme_value_distribution {
-public:
- typedef RealType result_type;
- typedef RealType input_type;
-
- class param_type {
- public:
- typedef extreme_value_distribution distribution_type;
-
- /**
- * Constructs a @c param_type from the "a" and "b" parameters
- * of the distribution.
- *
- * Requires: b > 0
- */
- explicit param_type(RealType a_arg = 1.0, RealType b_arg = 1.0)
- : _a(a_arg), _b(b_arg)
- {}
-
- /** Returns the "a" parameter of the distribtuion. */
- RealType a() const { return _a; }
- /** Returns the "b" parameter of the distribution. */
- RealType b() const { return _b; }
-
- /** Writes a @c param_type to a @c std::ostream. */
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, param_type, parm)
- { os << parm._a << ' ' << parm._b; return os; }
-
- /** Reads a @c param_type from a @c std::istream. */
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, param_type, parm)
- { is >> parm._a >> std::ws >> parm._b; return is; }
-
- /** Returns true if the two sets of parameters are the same. */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(param_type, lhs, rhs)
- { return lhs._a == rhs._a && lhs._b == rhs._b; }
-
- /** Returns true if the two sets of parameters are the different. */
- BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(param_type)
-
- private:
- RealType _a;
- RealType _b;
- };
-
- /**
- * Constructs an @c extreme_value_distribution from its "a" and "b" parameters.
- *
- * Requires: b > 0
- */
- explicit extreme_value_distribution(RealType a_arg = 1.0, RealType b_arg = 1.0)
- : _a(a_arg), _b(b_arg)
- {}
- /** Constructs an @c extreme_value_distribution from its parameters. */
- explicit extreme_value_distribution(const param_type& parm)
- : _a(parm.a()), _b(parm.b())
- {}
-
- /**
- * Returns a random variate distributed according to the
- * @c extreme_value_distribution.
- */
- template<class URNG>
- RealType operator()(URNG& urng) const
- {
- using std::log;
- return _a - log(-log(uniform_01<RealType>()(urng))) * _b;
- }
-
- /**
- * Returns a random variate distributed accordint to the extreme
- * value distribution with parameters specified by @c param.
- */
- template<class URNG>
- RealType operator()(URNG& urng, const param_type& parm) const
- {
- return extreme_value_distribution(parm)(urng);
- }
-
- /** Returns the "a" parameter of the distribution. */
- RealType a() const { return _a; }
- /** Returns the "b" parameter of the distribution. */
- RealType b() const { return _b; }
-
- /** Returns the smallest value that the distribution can produce. */
- RealType min BOOST_PREVENT_MACRO_SUBSTITUTION () const
- { return -std::numeric_limits<RealType>::infinity(); }
- /** Returns the largest value that the distribution can produce. */
- RealType max BOOST_PREVENT_MACRO_SUBSTITUTION () const
- { return std::numeric_limits<RealType>::infinity(); }
-
- /** Returns the parameters of the distribution. */
- param_type param() const { return param_type(_a, _b); }
- /** Sets the parameters of the distribution. */
- void param(const param_type& parm)
- {
- _a = parm.a();
- _b = parm.b();
- }
-
- /**
- * Effects: Subsequent uses of the distribution do not depend
- * on values produced by any engine prior to invoking reset.
- */
- void reset() { }
-
- /** Writes an @c extreme_value_distribution to a @c std::ostream. */
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, extreme_value_distribution, wd)
- {
- os << wd.param();
- return os;
- }
-
- /** Reads an @c extreme_value_distribution from a @c std::istream. */
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, extreme_value_distribution, wd)
- {
- param_type parm;
- if(is >> parm) {
- wd.param(parm);
- }
- return is;
- }
-
- /**
- * Returns true if the two instances of @c extreme_value_distribution will
- * return identical sequences of values given equal generators.
- */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(extreme_value_distribution, lhs, rhs)
- { return lhs._a == rhs._a && lhs._b == rhs._b; }
-
- /**
- * Returns true if the two instances of @c extreme_value_distribution will
- * return different sequences of values given equal generators.
- */
- BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(extreme_value_distribution)
-
-private:
- RealType _a;
- RealType _b;
-};
-
-} // namespace random
-} // namespace boost
-
-#endif // BOOST_RANDOM_EXTREME_VALUE_DISTRIBUTION_HPP
diff --git a/boost/random/fisher_f_distribution.hpp b/boost/random/fisher_f_distribution.hpp
deleted file mode 100644
index 58a05ac..0000000
--- a/boost/random/fisher_f_distribution.hpp
+++ /dev/null
@@ -1,183 +0,0 @@
-/* boost random/fisher_f_distribution.hpp header file
- *
- * Copyright Steven Watanabe 2011
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: fisher_f_distribution.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- */
-
-#ifndef BOOST_RANDOM_FISHER_F_DISTRIBUTION_HPP
-#define BOOST_RANDOM_FISHER_F_DISTRIBUTION_HPP
-
-#include <iosfwd>
-#include <istream>
-#include <boost/config.hpp>
-#include <boost/limits.hpp>
-#include <boost/random/detail/operators.hpp>
-#include <boost/random/chi_squared_distribution.hpp>
-
-namespace boost {
-namespace random {
-
-/**
- * The Fisher F distribution is a real valued distribution with two
- * parameters m and n.
- *
- * It has \f$\displaystyle p(x) =
- * \frac{\Gamma((m+n)/2)}{\Gamma(m/2)\Gamma(n/2)}
- * \left(\frac{m}{n}\right)^{m/2}
- * x^{(m/2)-1} \left(1+\frac{mx}{n}\right)^{-(m+n)/2}
- * \f$.
- */
-template<class RealType = double>
-class fisher_f_distribution {
-public:
- typedef RealType result_type;
- typedef RealType input_type;
-
- class param_type {
- public:
- typedef fisher_f_distribution distribution_type;
-
- /**
- * Constructs a @c param_type from the "m" and "n" parameters
- * of the distribution.
- *
- * Requires: m > 0 and n > 0
- */
- explicit param_type(RealType m_arg = RealType(1.0),
- RealType n_arg = RealType(1.0))
- : _m(m_arg), _n(n_arg)
- {}
-
- /** Returns the "m" parameter of the distribtuion. */
- RealType m() const { return _m; }
- /** Returns the "n" parameter of the distribution. */
- RealType n() const { return _n; }
-
- /** Writes a @c param_type to a @c std::ostream. */
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, param_type, parm)
- { os << parm._m << ' ' << parm._n; return os; }
-
- /** Reads a @c param_type from a @c std::istream. */
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, param_type, parm)
- { is >> parm._m >> std::ws >> parm._n; return is; }
-
- /** Returns true if the two sets of parameters are the same. */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(param_type, lhs, rhs)
- { return lhs._m == rhs._m && lhs._n == rhs._n; }
-
- /** Returns true if the two sets of parameters are the different. */
- BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(param_type)
-
- private:
- RealType _m;
- RealType _n;
- };
-
- /**
- * Constructs a @c fisher_f_distribution from its "m" and "n" parameters.
- *
- * Requires: m > 0 and n > 0
- */
- explicit fisher_f_distribution(RealType m_arg = RealType(1.0),
- RealType n_arg = RealType(1.0))
- : _impl_m(m_arg), _impl_n(n_arg)
- {}
- /** Constructs an @c fisher_f_distribution from its parameters. */
- explicit fisher_f_distribution(const param_type& parm)
- : _impl_m(parm.m()), _impl_n(parm.n())
- {}
-
- /**
- * Returns a random variate distributed according to the
- * F distribution.
- */
- template<class URNG>
- RealType operator()(URNG& urng)
- {
- return (_impl_m(urng) * n()) / (_impl_n(urng) * m());
- }
-
- /**
- * Returns a random variate distributed according to the
- * F distribution with parameters specified by @c param.
- */
- template<class URNG>
- RealType operator()(URNG& urng, const param_type& parm) const
- {
- return fisher_f_distribution(parm)(urng);
- }
-
- /** Returns the "m" parameter of the distribution. */
- RealType m() const { return _impl_m.n(); }
- /** Returns the "n" parameter of the distribution. */
- RealType n() const { return _impl_n.n(); }
-
- /** Returns the smallest value that the distribution can produce. */
- RealType min BOOST_PREVENT_MACRO_SUBSTITUTION () const { return 0; }
- /** Returns the largest value that the distribution can produce. */
- RealType max BOOST_PREVENT_MACRO_SUBSTITUTION () const
- { return std::numeric_limits<RealType>::infinity(); }
-
- /** Returns the parameters of the distribution. */
- param_type param() const { return param_type(m(), n()); }
- /** Sets the parameters of the distribution. */
- void param(const param_type& parm)
- {
- typedef chi_squared_distribution<RealType> impl_type;
- typename impl_type::param_type m_param(parm.m());
- _impl_m.param(m_param);
- typename impl_type::param_type n_param(parm.n());
- _impl_n.param(n_param);
- }
-
- /**
- * Effects: Subsequent uses of the distribution do not depend
- * on values produced by any engine prior to invoking reset.
- */
- void reset() { }
-
- /** Writes an @c fisher_f_distribution to a @c std::ostream. */
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, fisher_f_distribution, fd)
- {
- os << fd.param();
- return os;
- }
-
- /** Reads an @c fisher_f_distribution from a @c std::istream. */
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, fisher_f_distribution, fd)
- {
- param_type parm;
- if(is >> parm) {
- fd.param(parm);
- }
- return is;
- }
-
- /**
- * Returns true if the two instances of @c fisher_f_distribution will
- * return identical sequences of values given equal generators.
- */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(fisher_f_distribution, lhs, rhs)
- { return lhs._impl_m == rhs._impl_m && lhs._impl_n == rhs._impl_n; }
-
- /**
- * Returns true if the two instances of @c fisher_f_distribution will
- * return different sequences of values given equal generators.
- */
- BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(fisher_f_distribution)
-
-private:
- chi_squared_distribution<RealType> _impl_m;
- chi_squared_distribution<RealType> _impl_n;
-};
-
-} // namespace random
-} // namespace boost
-
-#endif // BOOST_RANDOM_EXTREME_VALUE_DISTRIBUTION_HPP
diff --git a/boost/random/gamma_distribution.hpp b/boost/random/gamma_distribution.hpp
deleted file mode 100644
index 20f5c3b..0000000
--- a/boost/random/gamma_distribution.hpp
+++ /dev/null
@@ -1,292 +0,0 @@
-/* boost random/gamma_distribution.hpp header file
- *
- * Copyright Jens Maurer 2002
- * Copyright Steven Watanabe 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 most recent version including documentation.
- *
- * $Id: gamma_distribution.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- *
- */
-
-#ifndef BOOST_RANDOM_GAMMA_DISTRIBUTION_HPP
-#define BOOST_RANDOM_GAMMA_DISTRIBUTION_HPP
-
-#include <boost/config/no_tr1/cmath.hpp>
-#include <istream>
-#include <iosfwd>
-#include <boost/assert.hpp>
-#include <boost/limits.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/random/detail/config.hpp>
-#include <boost/random/exponential_distribution.hpp>
-
-namespace boost {
-namespace random {
-
-// The algorithm is taken from Knuth
-
-/**
- * The gamma distribution is a continuous distribution with two
- * parameters alpha and beta. It produces values > 0.
- *
- * It has
- * \f$\displaystyle p(x) = x^{\alpha-1}\frac{e^{-x/\beta}}{\beta^\alpha\Gamma(\alpha)}\f$.
- */
-template<class RealType = double>
-class gamma_distribution
-{
-public:
- typedef RealType input_type;
- typedef RealType result_type;
-
- class param_type
- {
- public:
- typedef gamma_distribution distribution_type;
-
- /**
- * Constructs a @c param_type object from the "alpha" and "beta"
- * parameters.
- *
- * Requires: alpha > 0 && beta > 0
- */
- param_type(const RealType& alpha_arg = RealType(1.0),
- const RealType& beta_arg = RealType(1.0))
- : _alpha(alpha_arg), _beta(beta_arg)
- {
- }
-
- /** Returns the "alpha" parameter of the distribution. */
- RealType alpha() const { return _alpha; }
- /** Returns the "beta" parameter of the distribution. */
- RealType beta() const { return _beta; }
-
-#ifndef BOOST_RANDOM_NO_STREAM_OPERATORS
- /** Writes the parameters to a @c std::ostream. */
- template<class CharT, class Traits>
- friend std::basic_ostream<CharT, Traits>&
- operator<<(std::basic_ostream<CharT, Traits>& os,
- const param_type& parm)
- {
- os << parm._alpha << ' ' << parm._beta;
- return os;
- }
-
- /** Reads the parameters from a @c std::istream. */
- template<class CharT, class Traits>
- friend std::basic_istream<CharT, Traits>&
- operator>>(std::basic_istream<CharT, Traits>& is, param_type& parm)
- {
- is >> parm._alpha >> std::ws >> parm._beta;
- return is;
- }
-#endif
-
- /** Returns true if the two sets of parameters are the same. */
- friend bool operator==(const param_type& lhs, const param_type& rhs)
- {
- return lhs._alpha == rhs._alpha && lhs._beta == rhs._beta;
- }
- /** Returns true if the two sets fo parameters are different. */
- friend bool operator!=(const param_type& lhs, const param_type& rhs)
- {
- return !(lhs == rhs);
- }
- private:
- RealType _alpha;
- RealType _beta;
- };
-
-#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
- BOOST_STATIC_ASSERT(!std::numeric_limits<RealType>::is_integer);
-#endif
-
- /**
- * Creates a new gamma_distribution with parameters "alpha" and "beta".
- *
- * Requires: alpha > 0 && beta > 0
- */
- explicit gamma_distribution(const result_type& alpha_arg = result_type(1.0),
- const result_type& beta_arg = result_type(1.0))
- : _exp(result_type(1)), _alpha(alpha_arg), _beta(beta_arg)
- {
- BOOST_ASSERT(_alpha > result_type(0));
- BOOST_ASSERT(_beta > result_type(0));
- init();
- }
-
- /** Constructs a @c gamma_distribution from its parameters. */
- explicit gamma_distribution(const param_type& parm)
- : _exp(result_type(1)), _alpha(parm.alpha()), _beta(parm.beta())
- {
- init();
- }
-
- // compiler-generated copy ctor and assignment operator are fine
-
- /** Returns the "alpha" paramter of the distribution. */
- RealType alpha() const { return _alpha; }
- /** Returns the "beta" parameter of the distribution. */
- RealType beta() const { return _beta; }
- /** Returns the smallest value that the distribution can produce. */
- RealType min BOOST_PREVENT_MACRO_SUBSTITUTION () const { return 0; }
- /* Returns the largest value that the distribution can produce. */
- RealType max BOOST_PREVENT_MACRO_SUBSTITUTION () const
- { return (std::numeric_limits<RealType>::infinity)(); }
-
- /** Returns the parameters of the distribution. */
- param_type param() const { return param_type(_alpha, _beta); }
- /** Sets the parameters of the distribution. */
- void param(const param_type& parm)
- {
- _alpha = parm.alpha();
- _beta = parm.beta();
- init();
- }
-
- /**
- * Effects: Subsequent uses of the distribution do not depend
- * on values produced by any engine prior to invoking reset.
- */
- void reset() { _exp.reset(); }
-
- /**
- * Returns a random variate distributed according to
- * the gamma distribution.
- */
- template<class Engine>
- result_type operator()(Engine& eng)
- {
-#ifndef BOOST_NO_STDC_NAMESPACE
- // allow for Koenig lookup
- using std::tan; using std::sqrt; using std::exp; using std::log;
- using std::pow;
-#endif
- if(_alpha == result_type(1)) {
- return _exp(eng) * _beta;
- } else if(_alpha > result_type(1)) {
- // Can we have a boost::mathconst please?
- const result_type pi = result_type(3.14159265358979323846);
- for(;;) {
- result_type y = tan(pi * uniform_01<RealType>()(eng));
- result_type x = sqrt(result_type(2)*_alpha-result_type(1))*y
- + _alpha-result_type(1);
- if(x <= result_type(0))
- continue;
- if(uniform_01<RealType>()(eng) >
- (result_type(1)+y*y) * exp((_alpha-result_type(1))
- *log(x/(_alpha-result_type(1)))
- - sqrt(result_type(2)*_alpha
- -result_type(1))*y))
- continue;
- return x * _beta;
- }
- } else /* alpha < 1.0 */ {
- for(;;) {
- result_type u = uniform_01<RealType>()(eng);
- result_type y = _exp(eng);
- result_type x, q;
- if(u < _p) {
- x = exp(-y/_alpha);
- q = _p*exp(-x);
- } else {
- x = result_type(1)+y;
- q = _p + (result_type(1)-_p) * pow(x,_alpha-result_type(1));
- }
- if(u >= q)
- continue;
- return x * _beta;
- }
- }
- }
-
- template<class URNG>
- RealType operator()(URNG& urng, const param_type& parm) const
- {
- return gamma_distribution(parm)(urng);
- }
-
-#ifndef BOOST_RANDOM_NO_STREAM_OPERATORS
- /** Writes a @c gamma_distribution to a @c std::ostream. */
- template<class CharT, class Traits>
- friend std::basic_ostream<CharT,Traits>&
- operator<<(std::basic_ostream<CharT,Traits>& os,
- const gamma_distribution& gd)
- {
- os << gd.param();
- return os;
- }
-
- /** Reads a @c gamma_distribution from a @c std::istream. */
- template<class CharT, class Traits>
- friend std::basic_istream<CharT,Traits>&
- operator>>(std::basic_istream<CharT,Traits>& is, gamma_distribution& gd)
- {
- gd.read(is);
- return is;
- }
-#endif
-
- /**
- * Returns true if the two distributions will produce identical
- * sequences of random variates given equal generators.
- */
- friend bool operator==(const gamma_distribution& lhs,
- const gamma_distribution& rhs)
- {
- return lhs._alpha == rhs._alpha
- && lhs._beta == rhs._beta
- && lhs._exp == rhs._exp;
- }
-
- /**
- * Returns true if the two distributions can produce different
- * sequences of random variates, given equal generators.
- */
- friend bool operator!=(const gamma_distribution& lhs,
- const gamma_distribution& rhs)
- {
- return !(lhs == rhs);
- }
-
-private:
- /// \cond hide_private_members
-
- template<class CharT, class Traits>
- void read(std::basic_istream<CharT, Traits>& is)
- {
- param_type parm;
- if(is >> parm) {
- param(parm);
- }
- }
-
- void init()
- {
-#ifndef BOOST_NO_STDC_NAMESPACE
- // allow for Koenig lookup
- using std::exp;
-#endif
- _p = exp(result_type(1)) / (_alpha + exp(result_type(1)));
- }
- /// \endcond
-
- exponential_distribution<RealType> _exp;
- result_type _alpha;
- result_type _beta;
- // some data precomputed from the parameters
- result_type _p;
-};
-
-
-} // namespace random
-
-using random::gamma_distribution;
-
-} // namespace boost
-
-#endif // BOOST_RANDOM_GAMMA_DISTRIBUTION_HPP
diff --git a/boost/random/generate_canonical.hpp b/boost/random/generate_canonical.hpp
deleted file mode 100644
index 1bba44f..0000000
--- a/boost/random/generate_canonical.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-/* boost random/generate_canonical.hpp header file
- *
- * Copyright Steven Watanabe 2011
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: generate_canonical.hpp 72951 2011-07-07 04:57:37Z steven_watanabe $
- *
- */
-
-#ifndef BOOST_RANDOM_GENERATE_CANONICAL_HPP
-#define BOOST_RANDOM_GENERATE_CANONICAL_HPP
-
-#include <algorithm>
-#include <boost/assert.hpp>
-#include <boost/config/no_tr1/cmath.hpp>
-#include <boost/limits.hpp>
-#include <boost/type_traits/is_integral.hpp>
-#include <boost/math/special_functions.hpp>
-#include <boost/random/detail/signed_unsigned_tools.hpp>
-#include <boost/random/detail/generator_bits.hpp>
-
-namespace boost {
-namespace random {
-
-namespace detail {
-
-template<class RealType, std::size_t bits, class URNG>
-RealType generate_canonical_impl(URNG& g, boost::mpl::true_ /*is_integral*/)
-{
- using std::pow;
- typedef typename URNG::result_type base_result;
- std::size_t digits = std::numeric_limits<RealType>::digits;
- RealType R = RealType((g.max)()) - RealType((g.min)()) + 1;
- RealType mult = R;
- RealType limit =
- pow(RealType(2),
- RealType((std::min)(static_cast<std::size_t>(bits), digits)));
- RealType S = RealType(detail::subtract<base_result>()(g(), (g.min)()));
- while(mult < limit) {
- RealType inc = RealType(detail::subtract<base_result>()(g(), (g.min)()));
- S += inc * mult;
- mult *= R;
- }
- return S / mult;
-}
-
-template<class RealType, std::size_t bits, class URNG>
-RealType generate_canonical_impl(URNG& g, boost::mpl::false_ /*is_integral*/)
-{
- using std::pow;
- using std::floor;
- BOOST_ASSERT((g.min)() == 0);
- BOOST_ASSERT((g.max)() == 1);
- typedef typename URNG::result_type base_result;
- std::size_t digits = std::numeric_limits<RealType>::digits;
- std::size_t engine_bits = detail::generator_bits<URNG>::value();
- std::size_t b = (std::min)(bits, digits);
- RealType R = pow(RealType(2), RealType(engine_bits));
- RealType mult = R;
- RealType limit = pow(RealType(2), RealType(b));
- RealType S = RealType(g() - (g.min)());
- while(mult < limit) {
- RealType inc(floor((RealType(g()) - RealType((g.min)())) * R));
- S += inc * mult;
- mult *= R;
- }
- return S / mult;
-}
-
-}
-
-/**
- * Returns a value uniformly distributed in the range [0, 1)
- * with at least @c bits random bits.
- */
-template<class RealType, std::size_t bits, class URNG>
-RealType generate_canonical(URNG& g)
-{
- RealType result = detail::generate_canonical_impl<RealType, bits>(
- g, boost::is_integral<typename URNG::result_type>());
- BOOST_ASSERT(result >= 0);
- BOOST_ASSERT(result <= 1);
- if(result == 1) {
- result -= std::numeric_limits<RealType>::epsilon() / 2;
- BOOST_ASSERT(result != 1);
- }
- return result;
-}
-
-} // namespace random
-} // namespace boost
-
-#endif // BOOST_RANDOM_GENERATE_CANONICAL_HPP
diff --git a/boost/random/geometric_distribution.hpp b/boost/random/geometric_distribution.hpp
deleted file mode 100644
index daca0ce..0000000
--- a/boost/random/geometric_distribution.hpp
+++ /dev/null
@@ -1,267 +0,0 @@
-/* boost random/geometric_distribution.hpp header file
- *
- * Copyright Jens Maurer 2000-2001
- * Copyright Steven Watanabe 2011
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: geometric_distribution.hpp 74867 2011-10-09 23:13:31Z steven_watanabe $
- *
- * Revision history
- * 2001-02-18 moved to individual header files
- */
-
-#ifndef BOOST_RANDOM_GEOMETRIC_DISTRIBUTION_HPP
-#define BOOST_RANDOM_GEOMETRIC_DISTRIBUTION_HPP
-
-#include <boost/config/no_tr1/cmath.hpp> // std::log
-#include <iosfwd>
-#include <ios>
-#include <boost/assert.hpp>
-#include <boost/random/detail/config.hpp>
-#include <boost/random/detail/operators.hpp>
-#include <boost/random/uniform_01.hpp>
-
-namespace boost {
-namespace random {
-
-/**
- * An instantiation of the class template @c geometric_distribution models
- * a \random_distribution. The distribution produces positive
- * integers which are the number of bernoulli trials
- * with probability @c p required to get one that fails.
- *
- * For the geometric distribution, \f$p(i) = p(1-p)^{i}\f$.
- *
- * @xmlwarning
- * This distribution has been updated to match the C++ standard.
- * Its behavior has changed from the original
- * boost::geometric_distribution. A backwards compatible
- * wrapper is provided in namespace boost.
- * @endxmlwarning
- */
-template<class IntType = int, class RealType = double>
-class geometric_distribution
-{
-public:
- typedef RealType input_type;
- typedef IntType result_type;
-
- class param_type
- {
- public:
-
- typedef geometric_distribution distribution_type;
-
- /** Constructs the parameters with p. */
- explicit param_type(RealType p_arg = RealType(0.5))
- : _p(p_arg)
- {
- BOOST_ASSERT(RealType(0) < _p && _p < RealType(1));
- }
-
- /** Returns the p parameter of the distribution. */
- RealType p() const { return _p; }
-
- /** Writes the parameters to a std::ostream. */
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, param_type, parm)
- {
- os << parm._p;
- return os;
- }
-
- /** Reads the parameters from a std::istream. */
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, param_type, parm)
- {
- double p_in;
- if(is >> p_in) {
- if(p_in > RealType(0) && p_in < RealType(1)) {
- parm._p = p_in;
- } else {
- is.setstate(std::ios_base::failbit);
- }
- }
- return is;
- }
-
- /** Returns true if the two sets of parameters are equal. */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(param_type, lhs, rhs)
- { return lhs._p == rhs._p; }
-
- /** Returns true if the two sets of parameters are different. */
- BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(param_type)
-
-
- private:
- RealType _p;
- };
-
- /**
- * Contructs a new geometric_distribution with the paramter @c p.
- *
- * Requires: 0 < p < 1
- */
- explicit geometric_distribution(const RealType& p = RealType(0.5))
- : _p(p)
- {
- BOOST_ASSERT(RealType(0) < _p && _p < RealType(1));
- init();
- }
-
- /** Constructs a new geometric_distribution from its parameters. */
- explicit geometric_distribution(const param_type& parm)
- : _p(parm.p())
- {
- init();
- }
-
- // compiler-generated copy ctor and assignment operator are fine
-
- /** Returns: the distribution parameter @c p */
- RealType p() const { return _p; }
-
- /** Returns the smallest value that the distribution can produce. */
- IntType min BOOST_PREVENT_MACRO_SUBSTITUTION () const { return IntType(0); }
-
- /** Returns the largest value that the distribution can produce. */
- IntType max BOOST_PREVENT_MACRO_SUBSTITUTION () const
- { return (std::numeric_limits<IntType>::max)(); }
-
- /** Returns the parameters of the distribution. */
- param_type param() const { return param_type(_p); }
-
- /** Sets the parameters of the distribution. */
- void param(const param_type& parm)
- {
- _p = parm.p();
- init();
- }
-
- /**
- * Effects: Subsequent uses of the distribution do not depend
- * on values produced by any engine prior to invoking reset.
- */
- void reset() { }
-
- /**
- * Returns a random variate distributed according to the
- * geometric_distribution.
- */
- template<class Engine>
- result_type operator()(Engine& eng) const
- {
- using std::log;
- using std::floor;
- RealType x = RealType(1) - boost::uniform_01<RealType>()(eng);
- return IntType(floor(log(x) / _log_1mp));
- }
-
- /**
- * Returns a random variate distributed according to the
- * geometric distribution with parameters specified by param.
- */
- template<class Engine>
- result_type operator()(Engine& eng, const param_type& parm) const
- { return geometric_distribution(parm)(eng); }
-
- /** Writes the distribution to a @c std::ostream. */
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, geometric_distribution, gd)
- {
- os << gd._p;
- return os;
- }
-
- /** Reads the distribution from a @c std::istream. */
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, geometric_distribution, gd)
- {
- param_type parm;
- if(is >> parm) {
- gd.param(parm);
- }
- return is;
- }
-
- /**
- * Returns true if the two distributions will produce identical
- * sequences of values given equal generators.
- */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(geometric_distribution, lhs, rhs)
- { return lhs._p == rhs._p; }
-
- /**
- * Returns true if the two distributions may produce different
- * sequences of values given equal generators.
- */
- BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(geometric_distribution)
-
-private:
-
- /// \cond show_private
-
- void init()
- {
- using std::log;
- _log_1mp = log(1 - _p);
- }
-
- RealType _p;
- RealType _log_1mp;
-
- /// \endcond
-};
-
-} // namespace random
-
-/// \cond show_deprecated
-
-/**
- * Provided for backwards compatibility. This class is
- * deprecated. It provides the old behavior of geometric_distribution
- * with \f$p(i) = (1-p) p^{i-1}\f$.
- */
-template<class IntType = int, class RealType = double>
-class geometric_distribution
-{
-public:
- typedef RealType input_type;
- typedef IntType result_type;
-
- explicit geometric_distribution(RealType p_arg = RealType(0.5))
- : _impl(1 - p_arg) {}
-
- RealType p() const { return 1 - _impl.p(); }
-
- void reset() {}
-
- template<class Engine>
- IntType operator()(Engine& eng) const { return _impl(eng) + IntType(1); }
-
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, geometric_distribution, gd)
- {
- os << gd.p();
- return os;
- }
-
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, geometric_distribution, gd)
- {
- RealType val;
- if(is >> val) {
- typename impl_type::param_type impl_param(1 - val);
- gd._impl.param(impl_param);
- }
- return is;
- }
-
-private:
- typedef random::geometric_distribution<IntType, RealType> impl_type;
- impl_type _impl;
-};
-
-/// \endcond
-
-} // namespace boost
-
-#endif // BOOST_RANDOM_GEOMETRIC_DISTRIBUTION_HPP
diff --git a/boost/random/independent_bits.hpp b/boost/random/independent_bits.hpp
deleted file mode 100644
index f387fe2..0000000
--- a/boost/random/independent_bits.hpp
+++ /dev/null
@@ -1,260 +0,0 @@
-/* boost random/independent_bits.hpp header file
- *
- * Copyright Steven Watanabe 2011
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: independent_bits.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- *
- */
-
-#ifndef BOOST_RANDOM_INDEPENDENT_BITS_HPP
-#define BOOST_RANDOM_INDEPENDENT_BITS_HPP
-
-#include <istream>
-#include <iosfwd>
-#include <boost/assert.hpp>
-#include <boost/limits.hpp>
-#include <boost/config.hpp>
-#include <boost/cstdint.hpp>
-#include <boost/integer/integer_mask.hpp>
-#include <boost/type_traits/make_unsigned.hpp>
-#include <boost/random/detail/config.hpp>
-#include <boost/random/detail/integer_log2.hpp>
-#include <boost/random/detail/operators.hpp>
-#include <boost/random/detail/seed.hpp>
-#include <boost/random/detail/seed_impl.hpp>
-#include <boost/random/detail/signed_unsigned_tools.hpp>
-
-namespace boost {
-namespace random {
-
-/**
- * An instantiation of class template @c independent_bits_engine
- * model a \pseudo_random_number_generator. It generates random
- * numbers distributed between [0, 2^w) by combining one or
- * more invocations of the base engine.
- *
- * Requires: 0 < w <= std::numeric_limits<UIntType>::digits
- */
-template<class Engine, std::size_t w, class UIntType>
-class independent_bits_engine
-{
-public:
- typedef Engine base_type;
- typedef UIntType result_type;
-
- // Required by old Boost.Random concept
- BOOST_STATIC_CONSTANT(bool, has_fixed_range = false);
-
- /** Returns the smallest value that the generator can produce. */
- static result_type min BOOST_PREVENT_MACRO_SUBSTITUTION ()
- { return 0; }
- /** Returns the largest value that the generator can produce. */
- static result_type max BOOST_PREVENT_MACRO_SUBSTITUTION ()
- { return boost::low_bits_mask_t<w>::sig_bits; }
-
- /**
- * Constructs an @c independent_bits_engine using the
- * default constructor of the base generator.
- */
- independent_bits_engine() { }
-
- /**
- * Constructs an @c independent_bits_engine, using seed as
- * the constructor argument for both base generators.
- */
- BOOST_RANDOM_DETAIL_ARITHMETIC_CONSTRUCTOR(independent_bits_engine,
- result_type, seed_arg)
- {
- _base.seed(seed_arg);
- }
-
- /**
- * Constructs an @c independent_bits_engine, using seq as
- * the constructor argument for the base generator.
- */
- BOOST_RANDOM_DETAIL_SEED_SEQ_CONSTRUCTOR(independent_bits_engine,
- SeedSeq, seq)
- { _base.seed(seq); }
-
- /** Constructs an @c independent_bits_engine by copying @c base. */
- independent_bits_engine(const base_type& base_arg) : _base(base_arg) {}
-
- /**
- * Contructs an @c independent_bits_engine with
- * values from the range defined by the input iterators first
- * and last. first will be modified to point to the element
- * after the last one used.
- *
- * Throws: @c std::invalid_argument if the input range is too small.
- *
- * Exception Safety: Basic
- */
- template<class It>
- independent_bits_engine(It& first, It last) : _base(first, last) { }
-
- /**
- * Seeds an @c independent_bits_engine using the default
- * seed of the base generator.
- */
- void seed() { _base.seed(); }
-
- /**
- * Seeds an @c independent_bits_engine, using @c seed as the
- * seed for the base generator.
- */
- BOOST_RANDOM_DETAIL_ARITHMETIC_SEED(independent_bits_engine,
- result_type, seed_arg)
- { _base.seed(seed_arg); }
-
- /**
- * Seeds an @c independent_bits_engine, using @c seq to
- * seed the base generator.
- */
- BOOST_RANDOM_DETAIL_SEED_SEQ_SEED(independent_bits_engine,
- SeedSeq, seq)
- { _base.seed(seq); }
-
- /**
- * Seeds an @c independent_bits_engine with
- * values from the range defined by the input iterators first
- * and last. first will be modified to point to the element
- * after the last one used.
- *
- * Throws: @c std::invalid_argument if the input range is too small.
- *
- * Exception Safety: Basic
- */
- template<class It> void seed(It& first, It last)
- { _base.seed(first, last); }
-
- /** Returns the next value of the generator. */
- result_type operator()()
- {
- // While it may seem wasteful to recalculate this
- // every time, both msvc and gcc can propagate
- // constants, resolving this at compile time.
- base_unsigned range =
- detail::subtract<base_result>()((_base.max)(), (_base.min)());
- std::size_t m =
- (range == (std::numeric_limits<base_unsigned>::max)()) ?
- std::numeric_limits<base_unsigned>::digits :
- detail::integer_log2(range + 1);
- std::size_t n = (w + m - 1) / m;
- std::size_t w0, n0;
- base_unsigned y0, y1;
- base_unsigned y0_mask, y1_mask;
- calc_params(n, range, w0, n0, y0, y1, y0_mask, y1_mask);
- if(base_unsigned(range - y0 + 1) > y0 / n) {
- // increment n and try again.
- ++n;
- calc_params(n, range, w0, n0, y0, y1, y0_mask, y1_mask);
- }
-
- BOOST_ASSERT(n0*w0 + (n - n0)*(w0 + 1) == w);
-
- result_type S = 0;
- for(std::size_t k = 0; k < n0; ++k) {
- base_unsigned u;
- do {
- u = detail::subtract<base_result>()(_base(), (_base.min)());
- } while(u > base_unsigned(y0 - 1));
- S = (S << w0) + (u & y0_mask);
- }
- for(std::size_t k = 0; k < (n - n0); ++k) {
- base_unsigned u;
- do {
- u = detail::subtract<base_result>()(_base(), (_base.min)());
- } while(u > base_unsigned(y1 - 1));
- S = (S << (w0 + 1)) + (u & y1_mask);
- }
- return S;
- }
-
- /** Fills a range with random values */
- template<class Iter>
- void generate(Iter first, Iter last)
- { detail::generate_from_int(*this, first, last); }
-
- /** Advances the state of the generator by @c z. */
- void discard(boost::uintmax_t z)
- {
- for(boost::uintmax_t i = 0; i < z; ++i) {
- (*this)();
- }
- }
-
- const base_type& base() const { return _base; }
-
- /**
- * Writes the textual representation if the generator to a @c std::ostream.
- * The textual representation of the engine is the textual representation
- * of the base engine.
- */
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, independent_bits_engine, r)
- {
- os << r._base;
- return os;
- }
-
- /**
- * Reads the state of an @c independent_bits_engine from a
- * @c std::istream.
- */
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, independent_bits_engine, r)
- {
- is >> r._base;
- return is;
- }
-
- /**
- * Returns: true iff the two @c independent_bits_engines will
- * produce the same sequence of values.
- */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(independent_bits_engine, x, y)
- { return x._base == y._base; }
- /**
- * Returns: true iff the two @c independent_bits_engines will
- * produce different sequences of values.
- */
- BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(independent_bits_engine)
-
-private:
-
- /// \cond show_private
- typedef typename base_type::result_type base_result;
- typedef typename make_unsigned<base_result>::type base_unsigned;
-
- void calc_params(
- std::size_t n, base_unsigned range,
- std::size_t& w0, std::size_t& n0,
- base_unsigned& y0, base_unsigned& y1,
- base_unsigned& y0_mask, base_unsigned& y1_mask)
- {
- BOOST_ASSERT(w >= n);
- w0 = w/n;
- n0 = n - w % n;
- y0_mask = (base_unsigned(2) << (w0 - 1)) - 1;
- y1_mask = (y0_mask << 1) | 1;
- y0 = (range + 1) & ~y0_mask;
- y1 = (range + 1) & ~y1_mask;
- BOOST_ASSERT(y0 != 0 || base_unsigned(range + 1) == 0);
- }
- /// \endcond
-
- Engine _base;
-};
-
-#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-template<class Engine, std::size_t w, class UIntType>
-const bool independent_bits_engine<Engine, w, UIntType>::has_fixed_range;
-#endif
-
-} // namespace random
-} // namespace boost
-
-#endif // BOOST_RANDOM_INDEPENDENT_BITS_HPP
diff --git a/boost/random/inversive_congruential.hpp b/boost/random/inversive_congruential.hpp
deleted file mode 100644
index 616909d..0000000
--- a/boost/random/inversive_congruential.hpp
+++ /dev/null
@@ -1,267 +0,0 @@
-/* boost random/inversive_congruential.hpp header file
- *
- * Copyright Jens Maurer 2000-2001
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: inversive_congruential.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- *
- * Revision history
- * 2001-02-18 moved to individual header files
- */
-
-#ifndef BOOST_RANDOM_INVERSIVE_CONGRUENTIAL_HPP
-#define BOOST_RANDOM_INVERSIVE_CONGRUENTIAL_HPP
-
-#include <iosfwd>
-#include <stdexcept>
-#include <boost/assert.hpp>
-#include <boost/config.hpp>
-#include <boost/cstdint.hpp>
-#include <boost/integer/static_log2.hpp>
-#include <boost/random/detail/config.hpp>
-#include <boost/random/detail/const_mod.hpp>
-#include <boost/random/detail/seed.hpp>
-#include <boost/random/detail/operators.hpp>
-#include <boost/random/detail/seed_impl.hpp>
-
-#include <boost/random/detail/disable_warnings.hpp>
-
-namespace boost {
-namespace random {
-
-// Eichenauer and Lehn 1986
-/**
- * Instantiations of class template @c inversive_congruential_engine model a
- * \pseudo_random_number_generator. It uses the inversive congruential
- * algorithm (ICG) described in
- *
- * @blockquote
- * "Inversive pseudorandom number generators: concepts, results and links",
- * Peter Hellekalek, In: "Proceedings of the 1995 Winter Simulation
- * Conference", C. Alexopoulos, K. Kang, W.R. Lilegdon, and D. Goldsman
- * (editors), 1995, pp. 255-262. ftp://random.mat.sbg.ac.at/pub/data/wsc95.ps
- * @endblockquote
- *
- * The output sequence is defined by x(n+1) = (a*inv(x(n)) - b) (mod p),
- * where x(0), a, b, and the prime number p are parameters of the generator.
- * The expression inv(k) denotes the multiplicative inverse of k in the
- * field of integer numbers modulo p, with inv(0) := 0.
- *
- * The template parameter IntType shall denote a signed integral type large
- * enough to hold p; a, b, and p are the parameters of the generators. The
- * template parameter val is the validation value checked by validation.
- *
- * @xmlnote
- * The implementation currently uses the Euclidian Algorithm to compute
- * the multiplicative inverse. Therefore, the inversive generators are about
- * 10-20 times slower than the others (see section"performance"). However,
- * the paper talks of only 3x slowdown, so the Euclidian Algorithm is probably
- * not optimal for calculating the multiplicative inverse.
- * @endxmlnote
- */
-template<class IntType, IntType a, IntType b, IntType p>
-class inversive_congruential_engine
-{
-public:
- typedef IntType result_type;
- BOOST_STATIC_CONSTANT(bool, has_fixed_range = false);
-
- BOOST_STATIC_CONSTANT(result_type, multiplier = a);
- BOOST_STATIC_CONSTANT(result_type, increment = b);
- BOOST_STATIC_CONSTANT(result_type, modulus = p);
- BOOST_STATIC_CONSTANT(IntType, default_seed = 1);
-
- static result_type min BOOST_PREVENT_MACRO_SUBSTITUTION () { return b == 0 ? 1 : 0; }
- static result_type max BOOST_PREVENT_MACRO_SUBSTITUTION () { return p-1; }
-
- /**
- * Constructs an @c inversive_congruential_engine, seeding it with
- * the default seed.
- */
- inversive_congruential_engine() { seed(); }
-
- /**
- * Constructs an @c inversive_congruential_engine, seeding it with @c x0.
- */
- BOOST_RANDOM_DETAIL_ARITHMETIC_CONSTRUCTOR(inversive_congruential_engine,
- IntType, x0)
- { seed(x0); }
-
- /**
- * Constructs an @c inversive_congruential_engine, seeding it with values
- * produced by a call to @c seq.generate().
- */
- BOOST_RANDOM_DETAIL_SEED_SEQ_CONSTRUCTOR(inversive_congruential_engine,
- SeedSeq, seq)
- { seed(seq); }
-
- /**
- * Constructs an @c inversive_congruential_engine, seeds it
- * with values taken from the itrator range [first, last),
- * and adjusts first to point to the element after the last one
- * used. If there are not enough elements, throws @c std::invalid_argument.
- *
- * first and last must be input iterators.
- */
- template<class It> inversive_congruential_engine(It& first, It last)
- { seed(first, last); }
-
- /**
- * Calls seed(default_seed)
- */
- void seed() { seed(default_seed); }
-
- /**
- * If c mod m is zero and x0 mod m is zero, changes the current value of
- * the generator to 1. Otherwise, changes it to x0 mod m. If c is zero,
- * distinct seeds in the range [1,m) will leave the generator in distinct
- * states. If c is not zero, the range is [0,m).
- */
- BOOST_RANDOM_DETAIL_ARITHMETIC_SEED(inversive_congruential_engine, IntType, x0)
- {
- // wrap _x if it doesn't fit in the destination
- if(modulus == 0) {
- _value = x0;
- } else {
- _value = x0 % modulus;
- }
- // handle negative seeds
- if(_value <= 0 && _value != 0) {
- _value += modulus;
- }
- // adjust to the correct range
- if(increment == 0 && _value == 0) {
- _value = 1;
- }
- BOOST_ASSERT(_value >= (min)());
- BOOST_ASSERT(_value <= (max)());
- }
-
- /**
- * Seeds an @c inversive_congruential_engine using values from a SeedSeq.
- */
- BOOST_RANDOM_DETAIL_SEED_SEQ_SEED(inversive_congruential_engine, SeedSeq, seq)
- { seed(detail::seed_one_int<IntType, modulus>(seq)); }
-
- /**
- * seeds an @c inversive_congruential_engine with values taken
- * from the itrator range [first, last) and adjusts @c first to
- * point to the element after the last one used. If there are
- * not enough elements, throws @c std::invalid_argument.
- *
- * @c first and @c last must be input iterators.
- */
- template<class It> void seed(It& first, It last)
- { seed(detail::get_one_int<IntType, modulus>(first, last)); }
-
- /** Returns the next output of the generator. */
- IntType operator()()
- {
- typedef const_mod<IntType, p> do_mod;
- _value = do_mod::mult_add(a, do_mod::invert(_value), b);
- return _value;
- }
-
- /** Fills a range with random values */
- template<class Iter>
- void generate(Iter first, Iter last)
- { detail::generate_from_int(*this, first, last); }
-
- /** Advances the state of the generator by @c z. */
- void discard(boost::uintmax_t z)
- {
- for(boost::uintmax_t j = 0; j < z; ++j) {
- (*this)();
- }
- }
-
- /**
- * Writes the textual representation of the generator to a @c std::ostream.
- */
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, inversive_congruential_engine, x)
- {
- os << x._value;
- return os;
- }
-
- /**
- * Reads the textual representation of the generator from a @c std::istream.
- */
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, inversive_congruential_engine, x)
- {
- is >> x._value;
- return is;
- }
-
- /**
- * Returns true if the two generators will produce identical
- * sequences of outputs.
- */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(inversive_congruential_engine, x, y)
- { return x._value == y._value; }
-
- /**
- * Returns true if the two generators will produce different
- * sequences of outputs.
- */
- BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(inversive_congruential_engine)
-
-private:
- IntType _value;
-};
-
-#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-// A definition is required even for integral static constants
-template<class IntType, IntType a, IntType b, IntType p>
-const bool inversive_congruential_engine<IntType, a, b, p>::has_fixed_range;
-template<class IntType, IntType a, IntType b, IntType p>
-const typename inversive_congruential_engine<IntType, a, b, p>::result_type inversive_congruential_engine<IntType, a, b, p>::multiplier;
-template<class IntType, IntType a, IntType b, IntType p>
-const typename inversive_congruential_engine<IntType, a, b, p>::result_type inversive_congruential_engine<IntType, a, b, p>::increment;
-template<class IntType, IntType a, IntType b, IntType p>
-const typename inversive_congruential_engine<IntType, a, b, p>::result_type inversive_congruential_engine<IntType, a, b, p>::modulus;
-template<class IntType, IntType a, IntType b, IntType p>
-const typename inversive_congruential_engine<IntType, a, b, p>::result_type inversive_congruential_engine<IntType, a, b, p>::default_seed;
-#endif
-
-/// \cond show_deprecated
-
-// provided for backwards compatibility
-template<class IntType, IntType a, IntType b, IntType p, IntType val = 0>
-class inversive_congruential : public inversive_congruential_engine<IntType, a, b, p>
-{
- typedef inversive_congruential_engine<IntType, a, b, p> base_type;
-public:
- inversive_congruential(IntType x0 = 1) : base_type(x0) {}
- template<class It>
- inversive_congruential(It& first, It last) : base_type(first, last) {}
-};
-
-/// \endcond
-
-/**
- * The specialization hellekalek1995 was suggested in
- *
- * @blockquote
- * "Inversive pseudorandom number generators: concepts, results and links",
- * Peter Hellekalek, In: "Proceedings of the 1995 Winter Simulation
- * Conference", C. Alexopoulos, K. Kang, W.R. Lilegdon, and D. Goldsman
- * (editors), 1995, pp. 255-262. ftp://random.mat.sbg.ac.at/pub/data/wsc95.ps
- * @endblockquote
- */
-typedef inversive_congruential_engine<uint32_t, 9102, 2147483647-36884165,
- 2147483647> hellekalek1995;
-
-} // namespace random
-
-using random::hellekalek1995;
-
-} // namespace boost
-
-#include <boost/random/detail/enable_warnings.hpp>
-
-#endif // BOOST_RANDOM_INVERSIVE_CONGRUENTIAL_HPP
diff --git a/boost/random/lagged_fibonacci.hpp b/boost/random/lagged_fibonacci.hpp
deleted file mode 100644
index eb4e405..0000000
--- a/boost/random/lagged_fibonacci.hpp
+++ /dev/null
@@ -1,536 +0,0 @@
-/* boost random/lagged_fibonacci.hpp header file
- *
- * Copyright Jens Maurer 2000-2001
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: lagged_fibonacci.hpp 72951 2011-07-07 04:57:37Z steven_watanabe $
- *
- * Revision history
- * 2001-02-18 moved to individual header files
- */
-
-#ifndef BOOST_RANDOM_LAGGED_FIBONACCI_HPP
-#define BOOST_RANDOM_LAGGED_FIBONACCI_HPP
-
-#include <istream>
-#include <iosfwd>
-#include <algorithm> // std::max
-#include <iterator>
-#include <boost/config/no_tr1/cmath.hpp> // std::pow
-#include <boost/config.hpp>
-#include <boost/limits.hpp>
-#include <boost/cstdint.hpp>
-#include <boost/integer/integer_mask.hpp>
-#include <boost/random/linear_congruential.hpp>
-#include <boost/random/uniform_01.hpp>
-#include <boost/random/detail/config.hpp>
-#include <boost/random/detail/seed.hpp>
-#include <boost/random/detail/operators.hpp>
-#include <boost/random/detail/generator_seed_seq.hpp>
-
-namespace boost {
-namespace random {
-
-/**
- * Instantiations of class template \lagged_fibonacci_engine model a
- * \pseudo_random_number_generator. It uses a lagged Fibonacci
- * algorithm with two lags @c p and @c q:
- * x(i) = x(i-p) + x(i-q) (mod 2<sup>w</sup>) with p > q.
- */
-template<class UIntType, int w, unsigned int p, unsigned int q>
-class lagged_fibonacci_engine
-{
-public:
- typedef UIntType result_type;
- BOOST_STATIC_CONSTANT(bool, has_fixed_range = false);
- BOOST_STATIC_CONSTANT(int, word_size = w);
- BOOST_STATIC_CONSTANT(unsigned int, long_lag = p);
- BOOST_STATIC_CONSTANT(unsigned int, short_lag = q);
-
- BOOST_STATIC_CONSTANT(UIntType, default_seed = 331u);
-
- /** Returns the smallest value that the generator can produce. */
- static result_type min BOOST_PREVENT_MACRO_SUBSTITUTION () { return 0; }
- /** Returns the largest value that the generator can produce. */
- static result_type max BOOST_PREVENT_MACRO_SUBSTITUTION ()
- { return low_bits_mask_t<w>::sig_bits; }
-
- /** Creates a new @c lagged_fibonacci_engine and calls @c seed(). */
- lagged_fibonacci_engine() { seed(); }
-
- /** Creates a new @c lagged_fibonacci_engine and calls @c seed(value). */
- BOOST_RANDOM_DETAIL_ARITHMETIC_CONSTRUCTOR(lagged_fibonacci_engine,
- UIntType, value)
- { seed(value); }
-
- /** Creates a new @c lagged_fibonacci_engine and calls @c seed(seq). */
- BOOST_RANDOM_DETAIL_SEED_SEQ_CONSTRUCTOR(lagged_fibonacci_engine,
- SeedSeq, seq)
- { seed(seq); }
-
- /**
- * Creates a new @c lagged_fibonacci_engine and calls @c seed(first, last).
- */
- template<class It> lagged_fibonacci_engine(It& first, It last)
- { seed(first, last); }
-
- // compiler-generated copy ctor and assignment operator are fine
-
- /** Calls @c seed(default_seed). */
- void seed() { seed(default_seed); }
-
- /**
- * Sets the state of the generator to values produced by
- * a \minstd_rand0 generator.
- */
- BOOST_RANDOM_DETAIL_ARITHMETIC_SEED(lagged_fibonacci_engine,
- UIntType, value)
- {
- minstd_rand0 intgen(static_cast<boost::uint32_t>(value));
- detail::generator_seed_seq<minstd_rand0> gen(intgen);
- seed(gen);
- }
-
- /**
- * Sets the state of the generator using values produced by seq.
- */
- BOOST_RANDOM_DETAIL_SEED_SEQ_SEED(lagged_fibonacci_engine, SeedSeq, seq)
- {
- detail::seed_array_int<w>(seq, x);
- i = long_lag;
- }
-
- /**
- * Sets the state of the generator to values from the iterator
- * range [first, last). If there are not enough elements in the
- * range [first, last) throws @c std::invalid_argument.
- */
- template<class It>
- void seed(It& first, It last)
- {
- detail::fill_array_int<w>(first, last, x);
- i = long_lag;
- }
-
- /** Returns the next value of the generator. */
- result_type operator()()
- {
- if(i >= long_lag)
- fill();
- return x[i++];
- }
-
- /** Fills a range with random values */
- template<class Iter>
- void generate(Iter first, Iter last)
- { detail::generate_from_int(*this, first, last); }
-
- /** Advances the state of the generator by @c z. */
- void discard(boost::uintmax_t z)
- {
- for(boost::uintmax_t j = 0; j < z; ++j) {
- (*this)();
- }
- }
-
- /**
- * Writes the textual representation of the generator to a @c std::ostream.
- */
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, lagged_fibonacci_engine, f)
- {
- os << f.i;
- for(unsigned int i = 0; i < f.long_lag; ++i)
- os << ' ' << f.x[i];
- return os;
- }
-
- /**
- * Reads the textual representation of the generator from a @c std::istream.
- */
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, lagged_fibonacci_engine, f)
- {
- is >> f.i >> std::ws;
- for(unsigned int i = 0; i < f.long_lag; ++i)
- is >> f.x[i] >> std::ws;
- return is;
- }
-
- /**
- * Returns true if the two generators will produce identical
- * sequences of outputs.
- */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(lagged_fibonacci_engine, x, y)
- { return x.i == y.i && std::equal(x.x, x.x+long_lag, y.x); }
-
- /**
- * Returns true if the two generators will produce different
- * sequences of outputs.
- */
- BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(lagged_fibonacci_engine)
-
-private:
- /// \cond show_private
- void fill();
- /// \endcond
-
- unsigned int i;
- UIntType x[long_lag];
-};
-
-#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-// A definition is required even for integral static constants
-template<class UIntType, int w, unsigned int p, unsigned int q>
-const bool lagged_fibonacci_engine<UIntType, w, p, q>::has_fixed_range;
-template<class UIntType, int w, unsigned int p, unsigned int q>
-const unsigned int lagged_fibonacci_engine<UIntType, w, p, q>::long_lag;
-template<class UIntType, int w, unsigned int p, unsigned int q>
-const unsigned int lagged_fibonacci_engine<UIntType, w, p, q>::short_lag;
-template<class UIntType, int w, unsigned int p, unsigned int q>
-const UIntType lagged_fibonacci_engine<UIntType, w, p, q>::default_seed;
-#endif
-
-/// \cond show_private
-
-template<class UIntType, int w, unsigned int p, unsigned int q>
-void lagged_fibonacci_engine<UIntType, w, p, q>::fill()
-{
- // two loops to avoid costly modulo operations
- { // extra scope for MSVC brokenness w.r.t. for scope
- for(unsigned int j = 0; j < short_lag; ++j)
- x[j] = (x[j] + x[j+(long_lag-short_lag)]) & low_bits_mask_t<w>::sig_bits;
- }
- for(unsigned int j = short_lag; j < long_lag; ++j)
- x[j] = (x[j] + x[j-short_lag]) & low_bits_mask_t<w>::sig_bits;
- i = 0;
-}
-
-/// \endcond
-
-/// \cond show_deprecated
-
-// provided for backwards compatibility
-template<class UIntType, int w, unsigned int p, unsigned int q, UIntType v = 0>
-class lagged_fibonacci : public lagged_fibonacci_engine<UIntType, w, p, q>
-{
- typedef lagged_fibonacci_engine<UIntType, w, p, q> base_type;
-public:
- lagged_fibonacci() {}
- BOOST_RANDOM_DETAIL_ARITHMETIC_CONSTRUCTOR(lagged_fibonacci, UIntType, val)
- { this->seed(val); }
- BOOST_RANDOM_DETAIL_SEED_SEQ_CONSTRUCTOR(lagged_fibonacci, SeedSeq, seq)
- { this->seed(seq); }
- template<class It>
- lagged_fibonacci(It& first, It last) : base_type(first, last) {}
-};
-
-/// \endcond
-
-// lagged Fibonacci generator for the range [0..1)
-// contributed by Matthias Troyer
-// for p=55, q=24 originally by G. J. Mitchell and D. P. Moore 1958
-
-/**
- * Instantiations of class template @c lagged_fibonacci_01 model a
- * \pseudo_random_number_generator. It uses a lagged Fibonacci
- * algorithm with two lags @c p and @c q, evaluated in floating-point
- * arithmetic: x(i) = x(i-p) + x(i-q) (mod 1) with p > q. See
- *
- * @blockquote
- * "Uniform random number generators for supercomputers", Richard Brent,
- * Proc. of Fifth Australian Supercomputer Conference, Melbourne,
- * Dec. 1992, pp. 704-706.
- * @endblockquote
- *
- * @xmlnote
- * The quality of the generator crucially depends on the choice
- * of the parameters. User code should employ one of the sensibly
- * parameterized generators such as \lagged_fibonacci607 instead.
- * @endxmlnote
- *
- * The generator requires considerable amounts of memory for the storage
- * of its state array. For example, \lagged_fibonacci607 requires about
- * 4856 bytes and \lagged_fibonacci44497 requires about 350 KBytes.
- */
-template<class RealType, int w, unsigned int p, unsigned int q>
-class lagged_fibonacci_01_engine
-{
-public:
- typedef RealType result_type;
- BOOST_STATIC_CONSTANT(bool, has_fixed_range = false);
- BOOST_STATIC_CONSTANT(int, word_size = w);
- BOOST_STATIC_CONSTANT(unsigned int, long_lag = p);
- BOOST_STATIC_CONSTANT(unsigned int, short_lag = q);
-
- BOOST_STATIC_CONSTANT(boost::uint32_t, default_seed = 331u);
-
- /** Constructs a @c lagged_fibonacci_01 generator and calls @c seed(). */
- lagged_fibonacci_01_engine() { seed(); }
- /** Constructs a @c lagged_fibonacci_01 generator and calls @c seed(value). */
- BOOST_RANDOM_DETAIL_ARITHMETIC_CONSTRUCTOR(lagged_fibonacci_01_engine, uint32_t, value)
- { seed(value); }
- /** Constructs a @c lagged_fibonacci_01 generator and calls @c seed(gen). */
- BOOST_RANDOM_DETAIL_SEED_SEQ_CONSTRUCTOR(lagged_fibonacci_01_engine, SeedSeq, seq)
- { seed(seq); }
- template<class It> lagged_fibonacci_01_engine(It& first, It last)
- { seed(first, last); }
-
- // compiler-generated copy ctor and assignment operator are fine
-
- /** Calls seed(default_seed). */
- void seed() { seed(default_seed); }
-
- /**
- * Constructs a \minstd_rand0 generator with the constructor parameter
- * value and calls seed with it. Distinct seeds in the range
- * [1, 2147483647) will produce generators with different states. Other
- * seeds will be equivalent to some seed within this range. See
- * \linear_congruential_engine for details.
- */
- BOOST_RANDOM_DETAIL_ARITHMETIC_SEED(lagged_fibonacci_01_engine, boost::uint32_t, value)
- {
- minstd_rand0 intgen(value);
- detail::generator_seed_seq<minstd_rand0> gen(intgen);
- seed(gen);
- }
-
- /**
- * Seeds this @c lagged_fibonacci_01_engine using values produced by
- * @c seq.generate.
- */
- BOOST_RANDOM_DETAIL_SEED_SEQ_SEED(lagged_fibonacci_01_engine, SeedSeq, seq)
- {
- detail::seed_array_real<w>(seq, x);
- i = long_lag;
- }
-
- /**
- * Seeds this @c lagged_fibonacci_01_engine using values from the
- * iterator range [first, last). If there are not enough elements
- * in the range, throws @c std::invalid_argument.
- */
- template<class It>
- void seed(It& first, It last)
- {
- detail::fill_array_real<w>(first, last, x);
- i = long_lag;
- }
-
- /** Returns the smallest value that the generator can produce. */
- static result_type min BOOST_PREVENT_MACRO_SUBSTITUTION () { return result_type(0); }
- /** Returns the upper bound of the generators outputs. */
- static result_type max BOOST_PREVENT_MACRO_SUBSTITUTION () { return result_type(1); }
-
- /** Returns the next value of the generator. */
- result_type operator()()
- {
- if(i >= long_lag)
- fill();
- return x[i++];
- }
-
- /** Fills a range with random values */
- template<class Iter>
- void generate(Iter first, Iter last)
- { return detail::generate_from_real(*this, first, last); }
-
- /** Advances the state of the generator by @c z. */
- void discard(boost::uintmax_t z)
- {
- for(boost::uintmax_t j = 0; j < z; ++j) {
- (*this)();
- }
- }
-
- /**
- * Writes the textual representation of the generator to a @c std::ostream.
- */
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, lagged_fibonacci_01_engine, f)
- {
- // allow for Koenig lookup
- using std::pow;
- os << f.i;
- std::ios_base::fmtflags oldflags = os.flags(os.dec | os.fixed | os.left);
- for(unsigned int i = 0; i < f.long_lag; ++i)
- os << ' ' << f.x[i] * f.modulus();
- os.flags(oldflags);
- return os;
- }
-
- /**
- * Reads the textual representation of the generator from a @c std::istream.
- */
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, lagged_fibonacci_01_engine, f)
- {
- is >> f.i;
- for(unsigned int i = 0; i < f.long_lag; ++i) {
- typename lagged_fibonacci_01_engine::result_type value;
- is >> std::ws >> value;
- f.x[i] = value / f.modulus();
- }
- return is;
- }
-
- /**
- * Returns true if the two generators will produce identical
- * sequences of outputs.
- */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(lagged_fibonacci_01_engine, x, y)
- { return x.i == y.i && std::equal(x.x, x.x+long_lag, y.x); }
-
- /**
- * Returns true if the two generators will produce different
- * sequences of outputs.
- */
- BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(lagged_fibonacci_01_engine)
-
-private:
- /// \cond show_private
- void fill();
- static RealType modulus()
- {
- using std::pow;
- return pow(RealType(2), word_size);
- }
- /// \endcond
- unsigned int i;
- RealType x[long_lag];
-};
-
-#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-// A definition is required even for integral static constants
-template<class RealType, int w, unsigned int p, unsigned int q>
-const bool lagged_fibonacci_01_engine<RealType, w, p, q>::has_fixed_range;
-template<class RealType, int w, unsigned int p, unsigned int q>
-const unsigned int lagged_fibonacci_01_engine<RealType, w, p, q>::long_lag;
-template<class RealType, int w, unsigned int p, unsigned int q>
-const unsigned int lagged_fibonacci_01_engine<RealType, w, p, q>::short_lag;
-template<class RealType, int w, unsigned int p, unsigned int q>
-const int lagged_fibonacci_01_engine<RealType,w,p,q>::word_size;
-template<class RealType, int w, unsigned int p, unsigned int q>
-const boost::uint32_t lagged_fibonacci_01_engine<RealType,w,p,q>::default_seed;
-#endif
-
-/// \cond show_private
-template<class RealType, int w, unsigned int p, unsigned int q>
-void lagged_fibonacci_01_engine<RealType, w, p, q>::fill()
-{
- // two loops to avoid costly modulo operations
- { // extra scope for MSVC brokenness w.r.t. for scope
- for(unsigned int j = 0; j < short_lag; ++j) {
- RealType t = x[j] + x[j+(long_lag-short_lag)];
- if(t >= RealType(1))
- t -= RealType(1);
- x[j] = t;
- }
- }
- for(unsigned int j = short_lag; j < long_lag; ++j) {
- RealType t = x[j] + x[j-short_lag];
- if(t >= RealType(1))
- t -= RealType(1);
- x[j] = t;
- }
- i = 0;
-}
-/// \endcond
-
-/// \cond show_deprecated
-
-// provided for backwards compatibility
-template<class RealType, int w, unsigned int p, unsigned int q>
-class lagged_fibonacci_01 : public lagged_fibonacci_01_engine<RealType, w, p, q>
-{
- typedef lagged_fibonacci_01_engine<RealType, w, p, q> base_type;
-public:
- lagged_fibonacci_01() {}
- BOOST_RANDOM_DETAIL_ARITHMETIC_CONSTRUCTOR(lagged_fibonacci_01, boost::uint32_t, val)
- { this->seed(val); }
- BOOST_RANDOM_DETAIL_SEED_SEQ_CONSTRUCTOR(lagged_fibonacci_01, SeedSeq, seq)
- { this->seed(seq); }
- template<class It>
- lagged_fibonacci_01(It& first, It last) : base_type(first, last) {}
-};
-
-/// \endcond
-
-namespace detail {
-
-template<class Engine>
-struct generator_bits;
-
-template<class RealType, int w, unsigned int p, unsigned int q>
-struct generator_bits<lagged_fibonacci_01_engine<RealType, w, p, q> >
-{
- static std::size_t value() { return w; }
-};
-
-template<class RealType, int w, unsigned int p, unsigned int q>
-struct generator_bits<lagged_fibonacci_01<RealType, w, p, q> >
-{
- static std::size_t value() { return w; }
-};
-
-}
-
-#ifdef BOOST_RANDOM_DOXYGEN
-namespace detail {
-/**
- * The specializations lagged_fibonacci607 ... lagged_fibonacci44497
- * use well tested lags.
- *
- * See
- *
- * @blockquote
- * "On the Periods of Generalized Fibonacci Recurrences", Richard P. Brent
- * Computer Sciences Laboratory Australian National University, December 1992
- * @endblockquote
- *
- * The lags used here can be found in
- *
- * @blockquote
- * "Uniform random number generators for supercomputers", Richard Brent,
- * Proc. of Fifth Australian Supercomputer Conference, Melbourne,
- * Dec. 1992, pp. 704-706.
- * @endblockquote
- */
-struct lagged_fibonacci_doc {};
-}
-#endif
-
-/** @copydoc boost::random::detail::lagged_fibonacci_doc */
-typedef lagged_fibonacci_01_engine<double, 48, 607, 273> lagged_fibonacci607;
-/** @copydoc boost::random::detail::lagged_fibonacci_doc */
-typedef lagged_fibonacci_01_engine<double, 48, 1279, 418> lagged_fibonacci1279;
-/** @copydoc boost::random::detail::lagged_fibonacci_doc */
-typedef lagged_fibonacci_01_engine<double, 48, 2281, 1252> lagged_fibonacci2281;
-/** @copydoc boost::random::detail::lagged_fibonacci_doc */
-typedef lagged_fibonacci_01_engine<double, 48, 3217, 576> lagged_fibonacci3217;
-/** @copydoc boost::random::detail::lagged_fibonacci_doc */
-typedef lagged_fibonacci_01_engine<double, 48, 4423, 2098> lagged_fibonacci4423;
-/** @copydoc boost::random::detail::lagged_fibonacci_doc */
-typedef lagged_fibonacci_01_engine<double, 48, 9689, 5502> lagged_fibonacci9689;
-/** @copydoc boost::random::detail::lagged_fibonacci_doc */
-typedef lagged_fibonacci_01_engine<double, 48, 19937, 9842> lagged_fibonacci19937;
-/** @copydoc boost::random::detail::lagged_fibonacci_doc */
-typedef lagged_fibonacci_01_engine<double, 48, 23209, 13470> lagged_fibonacci23209;
-/** @copydoc boost::random::detail::lagged_fibonacci_doc */
-typedef lagged_fibonacci_01_engine<double, 48, 44497, 21034> lagged_fibonacci44497;
-
-} // namespace random
-
-using random::lagged_fibonacci607;
-using random::lagged_fibonacci1279;
-using random::lagged_fibonacci2281;
-using random::lagged_fibonacci3217;
-using random::lagged_fibonacci4423;
-using random::lagged_fibonacci9689;
-using random::lagged_fibonacci19937;
-using random::lagged_fibonacci23209;
-using random::lagged_fibonacci44497;
-
-} // namespace boost
-
-#endif // BOOST_RANDOM_LAGGED_FIBONACCI_HPP
diff --git a/boost/random/linear_congruential.hpp b/boost/random/linear_congruential.hpp
deleted file mode 100644
index 5f8fe7a..0000000
--- a/boost/random/linear_congruential.hpp
+++ /dev/null
@@ -1,466 +0,0 @@
-/* boost random/linear_congruential.hpp header file
- *
- * Copyright Jens Maurer 2000-2001
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: linear_congruential.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- *
- * Revision history
- * 2001-02-18 moved to individual header files
- */
-
-#ifndef BOOST_RANDOM_LINEAR_CONGRUENTIAL_HPP
-#define BOOST_RANDOM_LINEAR_CONGRUENTIAL_HPP
-
-#include <iostream>
-#include <stdexcept>
-#include <boost/assert.hpp>
-#include <boost/config.hpp>
-#include <boost/cstdint.hpp>
-#include <boost/limits.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/integer/static_log2.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/type_traits/is_arithmetic.hpp>
-#include <boost/random/detail/config.hpp>
-#include <boost/random/detail/const_mod.hpp>
-#include <boost/random/detail/seed.hpp>
-#include <boost/random/detail/seed_impl.hpp>
-#include <boost/detail/workaround.hpp>
-
-#include <boost/random/detail/disable_warnings.hpp>
-
-namespace boost {
-namespace random {
-
-/**
- * Instantiations of class template linear_congruential_engine model a
- * \pseudo_random_number_generator. Linear congruential pseudo-random
- * number generators are described in:
- *
- * @blockquote
- * "Mathematical methods in large-scale computing units", D. H. Lehmer,
- * Proc. 2nd Symposium on Large-Scale Digital Calculating Machines,
- * Harvard University Press, 1951, pp. 141-146
- * @endblockquote
- *
- * Let x(n) denote the sequence of numbers returned by some pseudo-random
- * number generator. Then for the linear congruential generator,
- * x(n+1) := (a * x(n) + c) mod m. Parameters for the generator are
- * x(0), a, c, m. The template parameter IntType shall denote an integral
- * type. It must be large enough to hold values a, c, and m. The template
- * parameters a and c must be smaller than m.
- *
- * Note: The quality of the generator crucially depends on the choice of
- * the parameters. User code should use one of the sensibly parameterized
- * generators such as minstd_rand instead.
- */
-template<class IntType, IntType a, IntType c, IntType m>
-class linear_congruential_engine
-{
-public:
- typedef IntType result_type;
-
- // Required for old Boost.Random concept
- BOOST_STATIC_CONSTANT(bool, has_fixed_range = false);
-
- BOOST_STATIC_CONSTANT(IntType, multiplier = a);
- BOOST_STATIC_CONSTANT(IntType, increment = c);
- BOOST_STATIC_CONSTANT(IntType, modulus = m);
- BOOST_STATIC_CONSTANT(IntType, default_seed = 1);
-
- BOOST_STATIC_ASSERT(std::numeric_limits<IntType>::is_integer);
- BOOST_STATIC_ASSERT(m == 0 || a < m);
- BOOST_STATIC_ASSERT(m == 0 || c < m);
-
- /**
- * Constructs a @c linear_congruential_engine, using the default seed
- */
- linear_congruential_engine() { seed(); }
-
- /**
- * Constructs a @c linear_congruential_engine, seeding it with @c x0.
- */
- BOOST_RANDOM_DETAIL_ARITHMETIC_CONSTRUCTOR(linear_congruential_engine,
- IntType, x0)
- { seed(x0); }
-
- /**
- * Constructs a @c linear_congruential_engine, seeding it with values
- * produced by a call to @c seq.generate().
- */
- BOOST_RANDOM_DETAIL_SEED_SEQ_CONSTRUCTOR(linear_congruential_engine,
- SeedSeq, seq)
- { seed(seq); }
-
- /**
- * Constructs a @c linear_congruential_engine and seeds it
- * with values taken from the itrator range [first, last)
- * and adjusts first to point to the element after the last one
- * used. If there are not enough elements, throws @c std::invalid_argument.
- *
- * first and last must be input iterators.
- */
- template<class It>
- linear_congruential_engine(It& first, It last)
- {
- seed(first, last);
- }
-
- // compiler-generated copy constructor and assignment operator are fine
-
- /**
- * Calls seed(default_seed)
- */
- void seed() { seed(default_seed); }
-
- /**
- * If c mod m is zero and x0 mod m is zero, changes the current value of
- * the generator to 1. Otherwise, changes it to x0 mod m. If c is zero,
- * distinct seeds in the range [1,m) will leave the generator in distinct
- * states. If c is not zero, the range is [0,m).
- */
- BOOST_RANDOM_DETAIL_ARITHMETIC_SEED(linear_congruential_engine, IntType, x0)
- {
- // wrap _x if it doesn't fit in the destination
- if(modulus == 0) {
- _x = x0;
- } else {
- _x = x0 % modulus;
- }
- // handle negative seeds
- if(_x <= 0 && _x != 0) {
- _x += modulus;
- }
- // adjust to the correct range
- if(increment == 0 && _x == 0) {
- _x = 1;
- }
- BOOST_ASSERT(_x >= (min)());
- BOOST_ASSERT(_x <= (max)());
- }
-
- /**
- * Seeds a @c linear_congruential_engine using values from a SeedSeq.
- */
- BOOST_RANDOM_DETAIL_SEED_SEQ_SEED(linear_congruential_engine, SeedSeq, seq)
- { seed(detail::seed_one_int<IntType, m>(seq)); }
-
- /**
- * seeds a @c linear_congruential_engine with values taken
- * from the itrator range [first, last) and adjusts @c first to
- * point to the element after the last one used. If there are
- * not enough elements, throws @c std::invalid_argument.
- *
- * @c first and @c last must be input iterators.
- */
- template<class It>
- void seed(It& first, It last)
- { seed(detail::get_one_int<IntType, m>(first, last)); }
-
- /**
- * Returns the smallest value that the @c linear_congruential_engine
- * can produce.
- */
- static result_type min BOOST_PREVENT_MACRO_SUBSTITUTION ()
- { return c == 0 ? 1 : 0; }
- /**
- * Returns the largest value that the @c linear_congruential_engine
- * can produce.
- */
- static result_type max BOOST_PREVENT_MACRO_SUBSTITUTION ()
- { return modulus-1; }
-
- /** Returns the next value of the @c linear_congruential_engine. */
- IntType operator()()
- {
- _x = const_mod<IntType, m>::mult_add(a, _x, c);
- return _x;
- }
-
- /** Fills a range with random values */
- template<class Iter>
- void generate(Iter first, Iter last)
- { detail::generate_from_int(*this, first, last); }
-
- /** Advances the state of the generator by @c z. */
- void discard(boost::uintmax_t z)
- {
- typedef const_mod<IntType, m> mod_type;
- IntType b_inv = mod_type::invert(a-1);
- IntType b_gcd = mod_type::mult(a-1, b_inv);
- if(b_gcd == 1) {
- IntType a_z = mod_type::pow(a, z);
- _x = mod_type::mult_add(a_z, _x,
- mod_type::mult(mod_type::mult(c, b_inv), a_z - 1));
- } else {
- // compute (a^z - 1)*c % (b_gcd * m) / (b / b_gcd) * inv(b / b_gcd)
- // we're storing the intermediate result / b_gcd
- IntType a_zm1_over_gcd = 0;
- IntType a_km1_over_gcd = (a - 1) / b_gcd;
- boost::uintmax_t exponent = z;
- while(exponent != 0) {
- if(exponent % 2 == 1) {
- a_zm1_over_gcd =
- mod_type::mult_add(
- b_gcd,
- mod_type::mult(a_zm1_over_gcd, a_km1_over_gcd),
- mod_type::add(a_zm1_over_gcd, a_km1_over_gcd));
- }
- a_km1_over_gcd = mod_type::mult_add(
- b_gcd,
- mod_type::mult(a_km1_over_gcd, a_km1_over_gcd),
- mod_type::add(a_km1_over_gcd, a_km1_over_gcd));
- exponent /= 2;
- }
-
- IntType a_z = mod_type::mult_add(b_gcd, a_zm1_over_gcd, 1);
- IntType num = mod_type::mult(c, a_zm1_over_gcd);
- b_inv = mod_type::invert((a-1)/b_gcd);
- _x = mod_type::mult_add(a_z, _x, mod_type::mult(b_inv, num));
- }
- }
-
- friend bool operator==(const linear_congruential_engine& x,
- const linear_congruential_engine& y)
- { return x._x == y._x; }
- friend bool operator!=(const linear_congruential_engine& x,
- const linear_congruential_engine& y)
- { return !(x == y); }
-
-#if !defined(BOOST_RANDOM_NO_STREAM_OPERATORS)
- /** Writes a @c linear_congruential_engine to a @c std::ostream. */
- template<class CharT, class Traits>
- friend std::basic_ostream<CharT,Traits>&
- operator<<(std::basic_ostream<CharT,Traits>& os,
- const linear_congruential_engine& lcg)
- {
- return os << lcg._x;
- }
-
- /** Reads a @c linear_congruential_engine from a @c std::istream. */
- template<class CharT, class Traits>
- friend std::basic_istream<CharT,Traits>&
- operator>>(std::basic_istream<CharT,Traits>& is,
- linear_congruential_engine& lcg)
- {
- lcg.read(is);
- return is;
- }
-#endif
-
-private:
-
- /// \cond show_private
-
- template<class CharT, class Traits>
- void read(std::basic_istream<CharT, Traits>& is) {
- IntType x;
- if(is >> x) {
- if(x >= (min)() && x <= (max)()) {
- _x = x;
- } else {
- is.setstate(std::ios_base::failbit);
- }
- }
- }
-
- /// \endcond
-
- IntType _x;
-};
-
-#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-// A definition is required even for integral static constants
-template<class IntType, IntType a, IntType c, IntType m>
-const bool linear_congruential_engine<IntType, a, c, m>::has_fixed_range;
-template<class IntType, IntType a, IntType c, IntType m>
-const IntType linear_congruential_engine<IntType,a,c,m>::multiplier;
-template<class IntType, IntType a, IntType c, IntType m>
-const IntType linear_congruential_engine<IntType,a,c,m>::increment;
-template<class IntType, IntType a, IntType c, IntType m>
-const IntType linear_congruential_engine<IntType,a,c,m>::modulus;
-template<class IntType, IntType a, IntType c, IntType m>
-const IntType linear_congruential_engine<IntType,a,c,m>::default_seed;
-#endif
-
-/// \cond show_deprecated
-
-// provided for backwards compatibility
-template<class IntType, IntType a, IntType c, IntType m, IntType val = 0>
-class linear_congruential : public linear_congruential_engine<IntType, a, c, m>
-{
- typedef linear_congruential_engine<IntType, a, c, m> base_type;
-public:
- linear_congruential(IntType x0 = 1) : base_type(x0) {}
- template<class It>
- linear_congruential(It& first, It last) : base_type(first, last) {}
-};
-
-/// \endcond
-
-/**
- * The specialization \minstd_rand0 was originally suggested in
- *
- * @blockquote
- * A pseudo-random number generator for the System/360, P.A. Lewis,
- * A.S. Goodman, J.M. Miller, IBM Systems Journal, Vol. 8, No. 2,
- * 1969, pp. 136-146
- * @endblockquote
- *
- * It is examined more closely together with \minstd_rand in
- *
- * @blockquote
- * "Random Number Generators: Good ones are hard to find",
- * Stephen K. Park and Keith W. Miller, Communications of
- * the ACM, Vol. 31, No. 10, October 1988, pp. 1192-1201
- * @endblockquote
- */
-typedef linear_congruential_engine<uint32_t, 16807, 0, 2147483647> minstd_rand0;
-
-/** The specialization \minstd_rand was suggested in
- *
- * @blockquote
- * "Random Number Generators: Good ones are hard to find",
- * Stephen K. Park and Keith W. Miller, Communications of
- * the ACM, Vol. 31, No. 10, October 1988, pp. 1192-1201
- * @endblockquote
- */
-typedef linear_congruential_engine<uint32_t, 48271, 0, 2147483647> minstd_rand;
-
-
-#if !defined(BOOST_NO_INT64_T) && !defined(BOOST_NO_INTEGRAL_INT64_T)
-/**
- * Class @c rand48 models a \pseudo_random_number_generator. It uses
- * the linear congruential algorithm with the parameters a = 0x5DEECE66D,
- * c = 0xB, m = 2**48. It delivers identical results to the @c lrand48()
- * function available on some systems (assuming lcong48 has not been called).
- *
- * It is only available on systems where @c uint64_t is provided as an
- * integral type, so that for example static in-class constants and/or
- * enum definitions with large @c uint64_t numbers work.
- */
-class rand48
-{
-public:
- typedef boost::uint32_t result_type;
-
- BOOST_STATIC_CONSTANT(bool, has_fixed_range = false);
- /**
- * Returns the smallest value that the generator can produce
- */
- static uint32_t min BOOST_PREVENT_MACRO_SUBSTITUTION () { return 0; }
- /**
- * Returns the largest value that the generator can produce
- */
- static uint32_t max BOOST_PREVENT_MACRO_SUBSTITUTION ()
- { return 0x7FFFFFFF; }
-
- /** Seeds the generator with the default seed. */
- rand48() : lcf(cnv(static_cast<uint32_t>(1))) {}
- /**
- * Constructs a \rand48 generator with x(0) := (x0 << 16) | 0x330e.
- */
- BOOST_RANDOM_DETAIL_ARITHMETIC_CONSTRUCTOR(rand48, result_type, x0)
- { seed(x0); }
- /**
- * Seeds the generator with values produced by @c seq.generate().
- */
- BOOST_RANDOM_DETAIL_SEED_SEQ_CONSTRUCTOR(rand48, SeedSeq, seq)
- { seed(seq); }
- /**
- * Seeds the generator using values from an iterator range,
- * and updates first to point one past the last value consumed.
- */
- template<class It> rand48(It& first, It last) : lcf(first, last) { }
-
- // compiler-generated copy ctor and assignment operator are fine
-
- /** Seeds the generator with the default seed. */
- void seed() { seed(static_cast<uint32_t>(1)); }
- /**
- * Changes the current value x(n) of the generator to (x0 << 16) | 0x330e.
- */
- BOOST_RANDOM_DETAIL_ARITHMETIC_SEED(rand48, result_type, x0)
- { lcf.seed(cnv(x0)); }
- /**
- * Seeds the generator using values from an iterator range,
- * and updates first to point one past the last value consumed.
- */
- template<class It> void seed(It& first, It last) { lcf.seed(first,last); }
- /**
- * Seeds the generator with values produced by @c seq.generate().
- */
- BOOST_RANDOM_DETAIL_SEED_SEQ_SEED(rand48, SeedSeq, seq)
- { lcf.seed(seq); }
-
- /** Returns the next value of the generator. */
- uint32_t operator()() { return static_cast<uint32_t>(lcf() >> 17); }
-
- /** Advances the state of the generator by @c z. */
- void discard(boost::uintmax_t z) { lcf.discard(z); }
-
- /** Fills a range with random values */
- template<class Iter>
- void generate(Iter first, Iter last)
- {
- for(; first != last; ++first) {
- *first = (*this)();
- }
- }
-
-#ifndef BOOST_RANDOM_NO_STREAM_OPERATORS
- /** Writes a @c rand48 to a @c std::ostream. */
- template<class CharT,class Traits>
- friend std::basic_ostream<CharT,Traits>&
- operator<<(std::basic_ostream<CharT,Traits>& os, const rand48& r)
- { os << r.lcf; return os; }
-
- /** Reads a @c rand48 from a @c std::istream. */
- template<class CharT,class Traits>
- friend std::basic_istream<CharT,Traits>&
- operator>>(std::basic_istream<CharT,Traits>& is, rand48& r)
- { is >> r.lcf; return is; }
-#endif
-
- /**
- * Returns true if the two generators will produce identical
- * sequences of values.
- */
- friend bool operator==(const rand48& x, const rand48& y)
- { return x.lcf == y.lcf; }
- /**
- * Returns true if the two generators will produce different
- * sequences of values.
- */
- friend bool operator!=(const rand48& x, const rand48& y)
- { return !(x == y); }
-private:
- /// \cond show_private
- typedef random::linear_congruential_engine<uint64_t,
- // xxxxULL is not portable
- uint64_t(0xDEECE66DUL) | (uint64_t(0x5) << 32),
- 0xB, uint64_t(1)<<48> lcf_t;
- lcf_t lcf;
-
- static boost::uint64_t cnv(boost::uint32_t x)
- { return (static_cast<uint64_t>(x) << 16) | 0x330e; }
- /// \endcond
-};
-#endif /* !BOOST_NO_INT64_T && !BOOST_NO_INTEGRAL_INT64_T */
-
-} // namespace random
-
-using random::minstd_rand0;
-using random::minstd_rand;
-using random::rand48;
-
-} // namespace boost
-
-#include <boost/random/detail/enable_warnings.hpp>
-
-#endif // BOOST_RANDOM_LINEAR_CONGRUENTIAL_HPP
diff --git a/boost/random/linear_feedback_shift.hpp b/boost/random/linear_feedback_shift.hpp
deleted file mode 100644
index 1cce9f9..0000000
--- a/boost/random/linear_feedback_shift.hpp
+++ /dev/null
@@ -1,217 +0,0 @@
-/* boost random/linear_feedback_shift.hpp header file
- *
- * Copyright Jens Maurer 2002
- * Copyright Steven Watanabe 2011
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: linear_feedback_shift.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- *
- */
-
-#ifndef BOOST_RANDOM_LINEAR_FEEDBACK_SHIFT_HPP
-#define BOOST_RANDOM_LINEAR_FEEDBACK_SHIFT_HPP
-
-#include <iosfwd>
-#include <stdexcept>
-#include <boost/config.hpp>
-#include <boost/cstdint.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/integer/integer_mask.hpp>
-#include <boost/random/detail/config.hpp>
-#include <boost/random/detail/seed.hpp>
-#include <boost/random/detail/operators.hpp>
-#include <boost/random/detail/seed_impl.hpp>
-
-namespace boost {
-namespace random {
-
-/**
- * Instatiations of @c linear_feedback_shift model a
- * \pseudo_random_number_generator. It was originally
- * proposed in
- *
- * @blockquote
- * "Random numbers generated by linear recurrence modulo two.",
- * Tausworthe, R. C.(1965), Mathematics of Computation 19, 201-209.
- * @endblockquote
- */
-template<class UIntType, int w, int k, int q, int s>
-class linear_feedback_shift_engine
-{
-public:
- typedef UIntType result_type;
- BOOST_STATIC_CONSTANT(bool, has_fixed_range = false);
- BOOST_STATIC_CONSTANT(int, word_size = w);
- BOOST_STATIC_CONSTANT(int, exponent1 = k);
- BOOST_STATIC_CONSTANT(int, exponent2 = q);
- BOOST_STATIC_CONSTANT(int, step_size = s);
- BOOST_STATIC_CONSTANT(UIntType, default_seed = 341);
-
- /** Returns the smallest value that the generator can produce. */
- static result_type min BOOST_PREVENT_MACRO_SUBSTITUTION () { return 0; }
- /** Returns the largest value that the generator can produce. */
- static result_type max BOOST_PREVENT_MACRO_SUBSTITUTION ()
- { return wordmask(); }
-
- BOOST_STATIC_ASSERT(w > 0);
- BOOST_STATIC_ASSERT(q > 0);
- BOOST_STATIC_ASSERT(k < w);
- BOOST_STATIC_ASSERT(0 < 2*q && 2*q < k);
- BOOST_STATIC_ASSERT(0 < s && s <= k-q);
-
- /** Constructs a @c linear_feedback_shift_engine, using the default seed. */
- linear_feedback_shift_engine() { seed(); }
-
- /** Constructs a @c linear_feedback_shift_engine, seeding it with s0. */
- BOOST_RANDOM_DETAIL_ARITHMETIC_CONSTRUCTOR(linear_feedback_shift_engine,
- UIntType, s0)
- { seed(s0); }
-
- /** Constructs a @c linear_feedback_shift_engine, seeding it with seq. */
- BOOST_RANDOM_DETAIL_SEED_SEQ_CONSTRUCTOR(linear_feedback_shift_engine,
- SeedSeq, seq)
- { seed(seq); }
-
- /**
- * Constructs a @c linear_feedback_shift_engine, seeding it with
- * values from the range [first, last).
- */
- template<class It> linear_feedback_shift_engine(It& first, It last)
- { seed(first, last); }
-
- /** Seeds a @c linear_feedback_shift_engine with the default seed. */
- void seed() { seed(default_seed); }
-
- /** Seeds a @c linear_feedback_shift_engine with @c s0. */
- BOOST_RANDOM_DETAIL_ARITHMETIC_SEED(linear_feedback_shift_engine,
- UIntType, s0)
- {
- value = s0 & wordmask();
- if(value < (1 << (w-k))) {
- value += 1 << (w-k);
- }
- }
-
- /**
- * Seeds a @c linear_feedback_shift_engine with values
- * produced by @c seq.generate().
- */
- BOOST_RANDOM_DETAIL_SEED_SEQ_SEED(linear_feedback_shift_engine,
- SeedSeq, seq)
- { seed(detail::seed_one_int<UIntType, (UIntType(2) << (w - 1))>(seq)); }
-
- /**
- * Seeds a @c linear_feedback_shift_engine with values
- * from the range [first, last).
- */
- template<class It> void seed(It& first, It last)
- {
- seed(detail::get_one_int<UIntType, (UIntType(2) << (w - 1))>(first, last));
- }
-
- /** Returns the next value of the generator. */
- result_type operator()()
- {
- const UIntType b = (((value << q) ^ value) & wordmask()) >> (k-s);
- const UIntType mask = (wordmask() << (w-k)) & wordmask();
- value = ((value & mask) << s) ^ b;
- return value;
- }
-
- /** Fills a range with random values */
- template<class Iter>
- void generate(Iter first, Iter last)
- { detail::generate_from_int(*this, first, last); }
-
- /** Advances the state of the generator by @c z. */
- void discard(boost::uintmax_t z)
- {
- for(boost::uintmax_t j = 0; j < z; ++j) {
- (*this)();
- }
- }
-
- /**
- * Writes the textual representation of the generator to a @c std::ostream.
- */
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, linear_feedback_shift_engine, x)
- {
- os << x.value;
- return os;
- }
-
- /**
- * Reads the textual representation of the generator from a @c std::istream.
- */
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, linear_feedback_shift_engine, x)
- {
- is >> x.value;
- return is;
- }
-
- /**
- * Returns true if the two generators will produce identical
- * sequences of outputs.
- */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(linear_feedback_shift_engine, x, y)
- { return x.value == y.value; }
-
- /**
- * Returns true if the two generators will produce different
- * sequences of outputs.
- */
- BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(linear_feedback_shift_engine)
-
-private:
- /// \cond show_private
- static UIntType wordmask() { return boost::low_bits_mask_t<w>::sig_bits; }
- /// \endcond
- UIntType value;
-};
-
-#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-// A definition is required even for integral static constants
-template<class UIntType, int w, int k, int q, int s>
-const bool linear_feedback_shift_engine<UIntType, w, k, q, s>::has_fixed_range;
-template<class UIntType, int w, int k, int q, int s>
-const int linear_feedback_shift_engine<UIntType, w, k, q, s>::word_size;
-template<class UIntType, int w, int k, int q, int s>
-const int linear_feedback_shift_engine<UIntType, w, k, q, s>::exponent1;
-template<class UIntType, int w, int k, int q, int s>
-const int linear_feedback_shift_engine<UIntType, w, k, q, s>::exponent2;
-template<class UIntType, int w, int k, int q, int s>
-const int linear_feedback_shift_engine<UIntType, w, k, q, s>::step_size;
-template<class UIntType, int w, int k, int q, int s>
-const UIntType linear_feedback_shift_engine<UIntType, w, k, q, s>::default_seed;
-#endif
-
-/// \cond show_deprecated
-
-/** Provided for backwards compatibility. */
-template<class UIntType, int w, int k, int q, int s, UIntType v = 0>
-class linear_feedback_shift :
- public linear_feedback_shift_engine<UIntType, w, k, q, s>
-{
- typedef linear_feedback_shift_engine<UIntType, w, k, q, s> base_type;
-public:
- linear_feedback_shift() {}
- BOOST_RANDOM_DETAIL_SEED_SEQ_CONSTRUCTOR(linear_feedback_shift,
- SeedSeq, seq)
- { seed(seq); }
- BOOST_RANDOM_DETAIL_ARITHMETIC_CONSTRUCTOR(linear_feedback_shift,
- UIntType, val)
- { seed(val); }
- template<class It>
- linear_feedback_shift(It& first, It last) : base_type(first, last) {}
-};
-
-/// \endcond
-
-} // namespace random
-} // namespace boost
-
-#endif // BOOST_RANDOM_LINEAR_FEEDBACK_SHIFT_HPP
diff --git a/boost/random/lognormal_distribution.hpp b/boost/random/lognormal_distribution.hpp
deleted file mode 100644
index bc7ddfe..0000000
--- a/boost/random/lognormal_distribution.hpp
+++ /dev/null
@@ -1,254 +0,0 @@
-/* boost random/lognormal_distribution.hpp header file
- *
- * Copyright Jens Maurer 2000-2001
- * Copyright Steven Watanabe 2011
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: lognormal_distribution.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- *
- * Revision history
- * 2001-02-18 moved to individual header files
- */
-
-#ifndef BOOST_RANDOM_LOGNORMAL_DISTRIBUTION_HPP
-#define BOOST_RANDOM_LOGNORMAL_DISTRIBUTION_HPP
-
-#include <boost/config/no_tr1/cmath.hpp> // std::exp, std::sqrt
-#include <cassert>
-#include <iosfwd>
-#include <istream>
-#include <boost/limits.hpp>
-#include <boost/random/detail/config.hpp>
-#include <boost/random/detail/operators.hpp>
-#include <boost/random/normal_distribution.hpp>
-
-namespace boost {
-namespace random {
-
-/**
- * Instantiations of class template lognormal_distribution model a
- * \random_distribution. Such a distribution produces random numbers
- * with \f$\displaystyle p(x) = \frac{1}{x s \sqrt{2\pi}} e^{\frac{-\left(\log(x)-m\right)^2}{2s^2}}\f$
- * for x > 0.
- *
- * @xmlwarning
- * This distribution has been updated to match the C++ standard.
- * Its behavior has changed from the original
- * boost::lognormal_distribution. A backwards compatible
- * version is provided in namespace boost.
- * @endxmlwarning
- */
-template<class RealType = double>
-class lognormal_distribution
-{
-public:
- typedef typename normal_distribution<RealType>::input_type input_type;
- typedef RealType result_type;
-
- class param_type
- {
- public:
-
- typedef lognormal_distribution distribution_type;
-
- /** Constructs the parameters of a lognormal_distribution. */
- explicit param_type(RealType m_arg = RealType(0.0),
- RealType s_arg = RealType(1.0))
- : _m(m_arg), _s(s_arg) {}
-
- /** Returns the "m" parameter of the distribution. */
- RealType m() const { return _m; }
-
- /** Returns the "s" parameter of the distribution. */
- RealType s() const { return _s; }
-
- /** Writes the parameters to a std::ostream. */
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, param_type, parm)
- {
- os << parm._m << " " << parm._s;
- return os;
- }
-
- /** Reads the parameters from a std::istream. */
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, param_type, parm)
- {
- is >> parm._m >> std::ws >> parm._s;
- return is;
- }
-
- /** Returns true if the two sets of parameters are equal. */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(param_type, lhs, rhs)
- { return lhs._m == rhs._m && lhs._s == rhs._s; }
-
- /** Returns true if the two sets of parameters are different. */
- BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(param_type)
-
- private:
- RealType _m;
- RealType _s;
- };
-
- /**
- * Constructs a lognormal_distribution. @c m and @c s are the
- * parameters of the distribution.
- */
- explicit lognormal_distribution(RealType m_arg = RealType(0.0),
- RealType s_arg = RealType(1.0))
- : _normal(m_arg, s_arg) {}
-
- /**
- * Constructs a lognormal_distribution from its parameters.
- */
- explicit lognormal_distribution(const param_type& parm)
- : _normal(parm.m(), parm.s()) {}
-
- // compiler-generated copy ctor and assignment operator are fine
-
- /** Returns the m parameter of the distribution. */
- RealType m() const { return _normal.mean(); }
- /** Returns the s parameter of the distribution. */
- RealType s() const { return _normal.sigma(); }
-
- /** Returns the smallest value that the distribution can produce. */
- RealType min BOOST_PREVENT_MACRO_SUBSTITUTION () const
- { return RealType(0); }
- /** Returns the largest value that the distribution can produce. */
- RealType max BOOST_PREVENT_MACRO_SUBSTITUTION () const
- { return (std::numeric_limits<RealType>::infinity)(); }
-
- /** Returns the parameters of the distribution. */
- param_type param() const { return param_type(m(), s()); }
- /** Sets the parameters of the distribution. */
- void param(const param_type& parm)
- {
- typedef normal_distribution<RealType> normal_type;
- typename normal_type::param_type normal_param(parm.m(), parm.s());
- _normal.param(normal_param);
- }
-
- /**
- * Effects: Subsequent uses of the distribution do not depend
- * on values produced by any engine prior to invoking reset.
- */
- void reset() { _normal.reset(); }
-
- /**
- * Returns a random variate distributed according to the
- * lognormal distribution.
- */
- template<class Engine>
- result_type operator()(Engine& eng)
- {
- using std::exp;
- return exp(_normal(eng));
- }
-
- /**
- * Returns a random variate distributed according to the
- * lognormal distribution with parameters specified by param.
- */
- template<class Engine>
- result_type operator()(Engine& eng, const param_type& parm)
- { return lognormal_distribution(parm)(eng); }
-
- /** Writes the distribution to a @c std::ostream. */
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, lognormal_distribution, ld)
- {
- os << ld._normal;
- return os;
- }
-
- /** Reads the distribution from a @c std::istream. */
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, lognormal_distribution, ld)
- {
- is >> ld._normal;
- return is;
- }
-
- /**
- * Returns true if the two distributions will produce identical
- * sequences of values given equal generators.
- */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(lognormal_distribution, lhs, rhs)
- { return lhs._normal == rhs._normal; }
-
- /**
- * Returns true if the two distributions may produce different
- * sequences of values given equal generators.
- */
- BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(lognormal_distribution)
-
-private:
- normal_distribution<result_type> _normal;
-};
-
-} // namespace random
-
-/// \cond show_deprecated
-
-/**
- * Provided for backwards compatibility. This class is
- * deprecated. It provides the old behavior of lognormal_distribution with
- * \f$\displaystyle p(x) = \frac{1}{x \sigma_N \sqrt{2\pi}} e^{\frac{-\left(\log(x)-\mu_N\right)^2}{2\sigma_N^2}}\f$
- * for x > 0, where \f$\displaystyle \mu_N = \log\left(\frac{\mu^2}{\sqrt{\sigma^2 + \mu^2}}\right)\f$ and
- * \f$\displaystyle \sigma_N = \sqrt{\log\left(1 + \frac{\sigma^2}{\mu^2}\right)}\f$.
- */
-template<class RealType = double>
-class lognormal_distribution
-{
-public:
- typedef typename normal_distribution<RealType>::input_type input_type;
- typedef RealType result_type;
-
- lognormal_distribution(RealType mean_arg = RealType(1.0),
- RealType sigma_arg = RealType(1.0))
- : _mean(mean_arg), _sigma(sigma_arg)
- {
- init();
- }
- RealType mean() const { return _mean; }
- RealType sigma() const { return _sigma; }
- void reset() { _normal.reset(); }
- template<class Engine>
- RealType operator()(Engine& eng)
- {
- using std::exp;
- return exp(_normal(eng) * _nsigma + _nmean);
- }
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, lognormal_distribution, ld)
- {
- os << ld._normal << " " << ld._mean << " " << ld._sigma;
- return os;
- }
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, lognormal_distribution, ld)
- {
- is >> ld._normal >> std::ws >> ld._mean >> std::ws >> ld._sigma;
- ld.init();
- return is;
- }
-private:
- /// \cond show_private
- void init()
- {
- using std::log;
- using std::sqrt;
- _nmean = log(_mean*_mean/sqrt(_sigma*_sigma + _mean*_mean));
- _nsigma = sqrt(log(_sigma*_sigma/_mean/_mean+result_type(1)));
- }
- RealType _mean;
- RealType _sigma;
- RealType _nmean;
- RealType _nsigma;
- normal_distribution<RealType> _normal;
- /// \endcond
-};
-
-/// \endcond
-
-} // namespace boost
-
-#endif // BOOST_RANDOM_LOGNORMAL_DISTRIBUTION_HPP
diff --git a/boost/random/mersenne_twister.hpp b/boost/random/mersenne_twister.hpp
deleted file mode 100644
index be60389..0000000
--- a/boost/random/mersenne_twister.hpp
+++ /dev/null
@@ -1,545 +0,0 @@
-/* boost random/mersenne_twister.hpp header file
- *
- * Copyright Jens Maurer 2000-2001
- * Copyright Steven Watanabe 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 most recent version including documentation.
- *
- * $Id: mersenne_twister.hpp 74867 2011-10-09 23:13:31Z steven_watanabe $
- *
- * Revision history
- * 2001-02-18 moved to individual header files
- */
-
-#ifndef BOOST_RANDOM_MERSENNE_TWISTER_HPP
-#define BOOST_RANDOM_MERSENNE_TWISTER_HPP
-
-#include <iosfwd>
-#include <istream>
-#include <stdexcept>
-#include <boost/config.hpp>
-#include <boost/cstdint.hpp>
-#include <boost/integer/integer_mask.hpp>
-#include <boost/random/detail/config.hpp>
-#include <boost/random/detail/ptr_helper.hpp>
-#include <boost/random/detail/seed.hpp>
-#include <boost/random/detail/seed_impl.hpp>
-#include <boost/random/detail/generator_seed_seq.hpp>
-
-namespace boost {
-namespace random {
-
-/**
- * Instantiations of class template mersenne_twister_engine model a
- * \pseudo_random_number_generator. It uses the algorithm described in
- *
- * @blockquote
- * "Mersenne Twister: A 623-dimensionally equidistributed uniform
- * pseudo-random number generator", Makoto Matsumoto and Takuji Nishimura,
- * ACM Transactions on Modeling and Computer Simulation: Special Issue on
- * Uniform Random Number Generation, Vol. 8, No. 1, January 1998, pp. 3-30.
- * @endblockquote
- *
- * @xmlnote
- * The boost variant has been implemented from scratch and does not
- * derive from or use mt19937.c provided on the above WWW site. However, it
- * was verified that both produce identical output.
- * @endxmlnote
- *
- * The seeding from an integer was changed in April 2005 to address a
- * <a href="http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/emt19937ar.html">weakness</a>.
- *
- * The quality of the generator crucially depends on the choice of the
- * parameters. User code should employ one of the sensibly parameterized
- * generators such as \mt19937 instead.
- *
- * The generator requires considerable amounts of memory for the storage of
- * its state array. For example, \mt11213b requires about 1408 bytes and
- * \mt19937 requires about 2496 bytes.
- */
-template<class UIntType,
- std::size_t w, std::size_t n, std::size_t m, std::size_t r,
- UIntType a, std::size_t u, UIntType d, std::size_t s,
- UIntType b, std::size_t t,
- UIntType c, std::size_t l, UIntType f>
-class mersenne_twister_engine
-{
-public:
- typedef UIntType result_type;
- BOOST_STATIC_CONSTANT(std::size_t, word_size = w);
- BOOST_STATIC_CONSTANT(std::size_t, state_size = n);
- BOOST_STATIC_CONSTANT(std::size_t, shift_size = m);
- BOOST_STATIC_CONSTANT(std::size_t, mask_bits = r);
- BOOST_STATIC_CONSTANT(UIntType, xor_mask = a);
- BOOST_STATIC_CONSTANT(std::size_t, tempering_u = u);
- BOOST_STATIC_CONSTANT(UIntType, tempering_d = d);
- BOOST_STATIC_CONSTANT(std::size_t, tempering_s = s);
- BOOST_STATIC_CONSTANT(UIntType, tempering_b = b);
- BOOST_STATIC_CONSTANT(std::size_t, tempering_t = t);
- BOOST_STATIC_CONSTANT(UIntType, tempering_c = c);
- BOOST_STATIC_CONSTANT(std::size_t, tempering_l = l);
- BOOST_STATIC_CONSTANT(UIntType, initialization_multiplier = f);
- BOOST_STATIC_CONSTANT(UIntType, default_seed = 5489u);
-
- // backwards compatibility
- BOOST_STATIC_CONSTANT(UIntType, parameter_a = a);
- BOOST_STATIC_CONSTANT(std::size_t, output_u = u);
- BOOST_STATIC_CONSTANT(std::size_t, output_s = s);
- BOOST_STATIC_CONSTANT(UIntType, output_b = b);
- BOOST_STATIC_CONSTANT(std::size_t, output_t = t);
- BOOST_STATIC_CONSTANT(UIntType, output_c = c);
- BOOST_STATIC_CONSTANT(std::size_t, output_l = l);
-
- // old Boost.Random concept requirements
- BOOST_STATIC_CONSTANT(bool, has_fixed_range = false);
-
-
- /**
- * Constructs a @c mersenne_twister_engine and calls @c seed().
- */
- mersenne_twister_engine() { seed(); }
-
- /**
- * Constructs a @c mersenne_twister_engine and calls @c seed(value).
- */
- BOOST_RANDOM_DETAIL_ARITHMETIC_CONSTRUCTOR(mersenne_twister_engine,
- UIntType, value)
- { seed(value); }
- template<class It> mersenne_twister_engine(It& first, It last)
- { seed(first,last); }
-
- /**
- * Constructs a mersenne_twister_engine and calls @c seed(gen).
- *
- * @xmlnote
- * The copy constructor will always be preferred over
- * the templated constructor.
- * @endxmlnote
- */
- BOOST_RANDOM_DETAIL_SEED_SEQ_CONSTRUCTOR(mersenne_twister_engine,
- SeedSeq, seq)
- { seed(seq); }
-
- // compiler-generated copy ctor and assignment operator are fine
-
- /** Calls @c seed(default_seed). */
- void seed() { seed(default_seed); }
-
- /**
- * Sets the state x(0) to v mod 2w. Then, iteratively,
- * sets x(i) to
- * (i + f * (x(i-1) xor (x(i-1) rshift w-2))) mod 2<sup>w</sup>
- * for i = 1 .. n-1. x(n) is the first value to be returned by operator().
- */
- BOOST_RANDOM_DETAIL_ARITHMETIC_SEED(mersenne_twister_engine, UIntType, value)
- {
- // New seeding algorithm from
- // http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/emt19937ar.html
- // In the previous versions, MSBs of the seed affected only MSBs of the
- // state x[].
- const UIntType mask = (max)();
- x[0] = value & mask;
- for (i = 1; i < n; i++) {
- // See Knuth "The Art of Computer Programming"
- // Vol. 2, 3rd ed., page 106
- x[i] = (f * (x[i-1] ^ (x[i-1] >> (w-2))) + i) & mask;
- }
- }
-
- /**
- * Seeds a mersenne_twister_engine using values produced by seq.generate().
- */
- BOOST_RANDOM_DETAIL_SEED_SEQ_SEED(mersenne_twister_engine, SeeqSeq, seq)
- {
- detail::seed_array_int<w>(seq, x);
- i = n;
-
- // fix up the state if it's all zeroes.
- if((x[0] & (~static_cast<UIntType>(0) << r)) == 0) {
- for(std::size_t j = 1; j < n; ++j) {
- if(x[j] != 0) return;
- }
- x[0] = static_cast<UIntType>(1) << (w-1);
- }
- }
-
- /** Sets the state of the generator using values from an iterator range. */
- template<class It>
- void seed(It& first, It last)
- {
- detail::fill_array_int<w>(first, last, x);
- i = n;
-
- // fix up the state if it's all zeroes.
- if((x[0] & (~static_cast<UIntType>(0) << r)) == 0) {
- for(std::size_t j = 1; j < n; ++j) {
- if(x[j] != 0) return;
- }
- x[0] = static_cast<UIntType>(1) << (w-1);
- }
- }
-
- /** Returns the smallest value that the generator can produce. */
- static result_type min BOOST_PREVENT_MACRO_SUBSTITUTION ()
- { return 0; }
- /** Returns the largest value that the generator can produce. */
- static result_type max BOOST_PREVENT_MACRO_SUBSTITUTION ()
- { return boost::low_bits_mask_t<w>::sig_bits; }
-
- /** Produces the next value of the generator. */
- result_type operator()();
-
- /** Fills a range with random values */
- template<class Iter>
- void generate(Iter first, Iter last)
- { detail::generate_from_int(*this, first, last); }
-
- /**
- * Advances the state of the generator by @c z steps. Equivalent to
- *
- * @code
- * for(unsigned long long i = 0; i < z; ++i) {
- * gen();
- * }
- * @endcode
- */
- void discard(boost::uintmax_t z)
- {
- for(boost::uintmax_t j = 0; j < z; ++j) {
- (*this)();
- }
- }
-
-#ifndef BOOST_RANDOM_NO_STREAM_OPERATORS
- /** Writes a mersenne_twister_engine to a @c std::ostream */
- template<class CharT, class Traits>
- friend std::basic_ostream<CharT,Traits>&
- operator<<(std::basic_ostream<CharT,Traits>& os,
- const mersenne_twister_engine& mt)
- {
- mt.print(os);
- return os;
- }
-
- /** Reads a mersenne_twister_engine from a @c std::istream */
- template<class CharT, class Traits>
- friend std::basic_istream<CharT,Traits>&
- operator>>(std::basic_istream<CharT,Traits>& is,
- mersenne_twister_engine& mt)
- {
- for(std::size_t j = 0; j < mt.state_size; ++j)
- is >> mt.x[j] >> std::ws;
- // MSVC (up to 7.1) and Borland (up to 5.64) don't handle the template
- // value parameter "n" available from the class template scope, so use
- // the static constant with the same value
- mt.i = mt.state_size;
- return is;
- }
-#endif
-
- /**
- * Returns true if the two generators are in the same state,
- * and will thus produce identical sequences.
- */
- friend bool operator==(const mersenne_twister_engine& x,
- const mersenne_twister_engine& y)
- {
- if(x.i < y.i) return x.equal_imp(y);
- else return y.equal_imp(x);
- }
-
- /**
- * Returns true if the two generators are in different states.
- */
- friend bool operator!=(const mersenne_twister_engine& x,
- const mersenne_twister_engine& y)
- { return !(x == y); }
-
-private:
- /// \cond show_private
-
- void twist();
-
- /**
- * Does the work of operator==. This is in a member function
- * for portability. Some compilers, such as msvc 7.1 and
- * Sun CC 5.10 can't access template parameters or static
- * members of the class from inline friend functions.
- *
- * requires i <= other.i
- */
- bool equal_imp(const mersenne_twister_engine& other) const
- {
- UIntType back[n];
- std::size_t offset = other.i - i;
- for(std::size_t j = 0; j + offset < n; ++j)
- if(x[j] != other.x[j+offset])
- return false;
- rewind(&back[n-1], offset);
- for(std::size_t j = 0; j < offset; ++j)
- if(back[j + n - offset] != other.x[j])
- return false;
- return true;
- }
-
- /**
- * Does the work of operator<<. This is in a member function
- * for portability.
- */
- template<class CharT, class Traits>
- void print(std::basic_ostream<CharT, Traits>& os) const
- {
- UIntType data[n];
- for(std::size_t j = 0; j < i; ++j) {
- data[j + n - i] = x[j];
- }
- if(i != n) {
- rewind(&data[n - i - 1], n - i);
- }
- os << data[0];
- for(std::size_t j = 1; j < n; ++j) {
- os << ' ' << data[j];
- }
- }
-
- /**
- * Copies z elements of the state preceding x[0] into
- * the array whose last element is last.
- */
- void rewind(UIntType* last, std::size_t z) const
- {
- const UIntType upper_mask = (~static_cast<UIntType>(0)) << r;
- const UIntType lower_mask = ~upper_mask;
- UIntType y0 = x[m-1] ^ x[n-1];
- if(y0 & (static_cast<UIntType>(1) << (w-1))) {
- y0 = ((y0 ^ a) << 1) | 1;
- } else {
- y0 = y0 << 1;
- }
- for(std::size_t sz = 0; sz < z; ++sz) {
- UIntType y1 =
- rewind_find(last, sz, m-1) ^ rewind_find(last, sz, n-1);
- if(y1 & (static_cast<UIntType>(1) << (w-1))) {
- y1 = ((y1 ^ a) << 1) | 1;
- } else {
- y1 = y1 << 1;
- }
- *(last - sz) = (y0 & upper_mask) | (y1 & lower_mask);
- y0 = y1;
- }
- }
-
- /**
- * Given a pointer to the last element of the rewind array,
- * and the current size of the rewind array, finds an element
- * relative to the next available slot in the rewind array.
- */
- UIntType
- rewind_find(UIntType* last, std::size_t size, std::size_t j) const
- {
- std::size_t index = (j + n - size + n - 1) % n;
- if(index < n - size) {
- return x[index];
- } else {
- return *(last - (n - 1 - index));
- }
- }
-
- /// \endcond
-
- // state representation: next output is o(x(i))
- // x[0] ... x[k] x[k+1] ... x[n-1] represents
- // x(i-k) ... x(i) x(i+1) ... x(i-k+n-1)
-
- UIntType x[n];
- std::size_t i;
-};
-
-/// \cond show_private
-
-#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-// A definition is required even for integral static constants
-#define BOOST_RANDOM_MT_DEFINE_CONSTANT(type, name) \
-template<class UIntType, std::size_t w, std::size_t n, std::size_t m, \
- std::size_t r, UIntType a, std::size_t u, UIntType d, std::size_t s, \
- UIntType b, std::size_t t, UIntType c, std::size_t l, UIntType f> \
-const type mersenne_twister_engine<UIntType,w,n,m,r,a,u,d,s,b,t,c,l,f>::name
-BOOST_RANDOM_MT_DEFINE_CONSTANT(std::size_t, word_size);
-BOOST_RANDOM_MT_DEFINE_CONSTANT(std::size_t, state_size);
-BOOST_RANDOM_MT_DEFINE_CONSTANT(std::size_t, shift_size);
-BOOST_RANDOM_MT_DEFINE_CONSTANT(std::size_t, mask_bits);
-BOOST_RANDOM_MT_DEFINE_CONSTANT(UIntType, xor_mask);
-BOOST_RANDOM_MT_DEFINE_CONSTANT(std::size_t, tempering_u);
-BOOST_RANDOM_MT_DEFINE_CONSTANT(UIntType, tempering_d);
-BOOST_RANDOM_MT_DEFINE_CONSTANT(std::size_t, tempering_s);
-BOOST_RANDOM_MT_DEFINE_CONSTANT(UIntType, tempering_b);
-BOOST_RANDOM_MT_DEFINE_CONSTANT(std::size_t, tempering_t);
-BOOST_RANDOM_MT_DEFINE_CONSTANT(UIntType, tempering_c);
-BOOST_RANDOM_MT_DEFINE_CONSTANT(std::size_t, tempering_l);
-BOOST_RANDOM_MT_DEFINE_CONSTANT(UIntType, initialization_multiplier);
-BOOST_RANDOM_MT_DEFINE_CONSTANT(UIntType, default_seed);
-BOOST_RANDOM_MT_DEFINE_CONSTANT(UIntType, parameter_a);
-BOOST_RANDOM_MT_DEFINE_CONSTANT(std::size_t, output_u );
-BOOST_RANDOM_MT_DEFINE_CONSTANT(std::size_t, output_s);
-BOOST_RANDOM_MT_DEFINE_CONSTANT(UIntType, output_b);
-BOOST_RANDOM_MT_DEFINE_CONSTANT(std::size_t, output_t);
-BOOST_RANDOM_MT_DEFINE_CONSTANT(UIntType, output_c);
-BOOST_RANDOM_MT_DEFINE_CONSTANT(std::size_t, output_l);
-BOOST_RANDOM_MT_DEFINE_CONSTANT(bool, has_fixed_range);
-#undef BOOST_RANDOM_MT_DEFINE_CONSTANT
-#endif
-
-template<class UIntType,
- std::size_t w, std::size_t n, std::size_t m, std::size_t r,
- UIntType a, std::size_t u, UIntType d, std::size_t s,
- UIntType b, std::size_t t,
- UIntType c, std::size_t l, UIntType f>
-void
-mersenne_twister_engine<UIntType,w,n,m,r,a,u,d,s,b,t,c,l,f>::twist()
-{
- const UIntType upper_mask = (~static_cast<UIntType>(0)) << r;
- const UIntType lower_mask = ~upper_mask;
-
- const std::size_t unroll_factor = 6;
- const std::size_t unroll_extra1 = (n-m) % unroll_factor;
- const std::size_t unroll_extra2 = (m-1) % unroll_factor;
-
- // split loop to avoid costly modulo operations
- { // extra scope for MSVC brokenness w.r.t. for scope
- for(std::size_t j = 0; j < n-m-unroll_extra1; j++) {
- UIntType y = (x[j] & upper_mask) | (x[j+1] & lower_mask);
- x[j] = x[j+m] ^ (y >> 1) ^ ((x[j+1]&1) * a);
- }
- }
- {
- for(std::size_t j = n-m-unroll_extra1; j < n-m; j++) {
- UIntType y = (x[j] & upper_mask) | (x[j+1] & lower_mask);
- x[j] = x[j+m] ^ (y >> 1) ^ ((x[j+1]&1) * a);
- }
- }
- {
- for(std::size_t j = n-m; j < n-1-unroll_extra2; j++) {
- UIntType y = (x[j] & upper_mask) | (x[j+1] & lower_mask);
- x[j] = x[j-(n-m)] ^ (y >> 1) ^ ((x[j+1]&1) * a);
- }
- }
- {
- for(std::size_t j = n-1-unroll_extra2; j < n-1; j++) {
- UIntType y = (x[j] & upper_mask) | (x[j+1] & lower_mask);
- x[j] = x[j-(n-m)] ^ (y >> 1) ^ ((x[j+1]&1) * a);
- }
- }
- // last iteration
- UIntType y = (x[n-1] & upper_mask) | (x[0] & lower_mask);
- x[n-1] = x[m-1] ^ (y >> 1) ^ ((x[0]&1) * a);
- i = 0;
-}
-/// \endcond
-
-template<class UIntType,
- std::size_t w, std::size_t n, std::size_t m, std::size_t r,
- UIntType a, std::size_t u, UIntType d, std::size_t s,
- UIntType b, std::size_t t,
- UIntType c, std::size_t l, UIntType f>
-inline typename
-mersenne_twister_engine<UIntType,w,n,m,r,a,u,d,s,b,t,c,l,f>::result_type
-mersenne_twister_engine<UIntType,w,n,m,r,a,u,d,s,b,t,c,l,f>::operator()()
-{
- if(i == n)
- twist();
- // Step 4
- UIntType z = x[i];
- ++i;
- z ^= ((z >> u) & d);
- z ^= ((z << s) & b);
- z ^= ((z << t) & c);
- z ^= (z >> l);
- return z;
-}
-
-/**
- * The specializations \mt11213b and \mt19937 are from
- *
- * @blockquote
- * "Mersenne Twister: A 623-dimensionally equidistributed
- * uniform pseudo-random number generator", Makoto Matsumoto
- * and Takuji Nishimura, ACM Transactions on Modeling and
- * Computer Simulation: Special Issue on Uniform Random Number
- * Generation, Vol. 8, No. 1, January 1998, pp. 3-30.
- * @endblockquote
- */
-typedef mersenne_twister_engine<uint32_t,32,351,175,19,0xccab8ee7,
- 11,0xffffffff,7,0x31b6ab00,15,0xffe50000,17,1812433253> mt11213b;
-
-/**
- * The specializations \mt11213b and \mt19937 are from
- *
- * @blockquote
- * "Mersenne Twister: A 623-dimensionally equidistributed
- * uniform pseudo-random number generator", Makoto Matsumoto
- * and Takuji Nishimura, ACM Transactions on Modeling and
- * Computer Simulation: Special Issue on Uniform Random Number
- * Generation, Vol. 8, No. 1, January 1998, pp. 3-30.
- * @endblockquote
- */
-typedef mersenne_twister_engine<uint32_t,32,624,397,31,0x9908b0df,
- 11,0xffffffff,7,0x9d2c5680,15,0xefc60000,18,1812433253> mt19937;
-
-#if !defined(BOOST_NO_INT64_T) && !defined(BOOST_NO_INTEGRAL_INT64_T)
-typedef mersenne_twister_engine<uint64_t,64,312,156,31,
- UINT64_C(0xb5026f5aa96619e9),29,UINT64_C(0x5555555555555555),17,
- UINT64_C(0x71d67fffeda60000),37,UINT64_C(0xfff7eee000000000),43,
- UINT64_C(6364136223846793005)> mt19937_64;
-#endif
-
-/// \cond show_deprecated
-
-template<class UIntType,
- int w, int n, int m, int r,
- UIntType a, int u, std::size_t s,
- UIntType b, int t,
- UIntType c, int l, UIntType v>
-class mersenne_twister :
- public mersenne_twister_engine<UIntType,
- w, n, m, r, a, u, ~(UIntType)0, s, b, t, c, l, 1812433253>
-{
- typedef mersenne_twister_engine<UIntType,
- w, n, m, r, a, u, ~(UIntType)0, s, b, t, c, l, 1812433253> base_type;
-public:
- mersenne_twister() {}
- BOOST_RANDOM_DETAIL_GENERATOR_CONSTRUCTOR(mersenne_twister, Gen, gen)
- { seed(gen); }
- BOOST_RANDOM_DETAIL_ARITHMETIC_CONSTRUCTOR(mersenne_twister, UIntType, val)
- { seed(val); }
- template<class It>
- mersenne_twister(It& first, It last) : base_type(first, last) {}
- void seed() { base_type::seed(); }
- BOOST_RANDOM_DETAIL_GENERATOR_SEED(mersenne_twister, Gen, gen)
- {
- detail::generator_seed_seq<Gen> seq(gen);
- base_type::seed(seq);
- }
- BOOST_RANDOM_DETAIL_ARITHMETIC_SEED(mersenne_twister, UIntType, val)
- { base_type::seed(val); }
- template<class It>
- void seed(It& first, It last) { base_type::seed(first, last); }
-};
-
-/// \endcond
-
-} // namespace random
-
-using random::mt11213b;
-using random::mt19937;
-using random::mt19937_64;
-
-} // namespace boost
-
-BOOST_RANDOM_PTR_HELPER_SPEC(boost::mt11213b)
-BOOST_RANDOM_PTR_HELPER_SPEC(boost::mt19937)
-BOOST_RANDOM_PTR_HELPER_SPEC(boost::mt19937_64)
-
-#endif // BOOST_RANDOM_MERSENNE_TWISTER_HPP
diff --git a/boost/random/negative_binomial_distribution.hpp b/boost/random/negative_binomial_distribution.hpp
deleted file mode 100644
index 23b657f..0000000
--- a/boost/random/negative_binomial_distribution.hpp
+++ /dev/null
@@ -1,220 +0,0 @@
-/* boost random/negative_binomial_distribution.hpp header file
- *
- * Copyright Steven Watanabe 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 most recent version including documentation.
- *
- * $Id: negative_binomial_distribution.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- */
-
-#ifndef BOOST_RANDOM_NEGATIVE_BINOMIAL_DISTRIBUTION_HPP_INCLUDED
-#define BOOST_RANDOM_NEGATIVE_BINOMIAL_DISTRIBUTION_HPP_INCLUDED
-
-#include <iosfwd>
-
-#include <boost/limits.hpp>
-#include <boost/random/detail/config.hpp>
-#include <boost/random/gamma_distribution.hpp>
-#include <boost/random/poisson_distribution.hpp>
-
-namespace boost {
-namespace random {
-
-/**
- * The negative binomial distribution is an integer valued
- * distribution with two parameters, @c k and @c p. The
- * distribution produces non-negative values.
- *
- * The distribution function is
- * \f$\displaystyle P(i) = {k+i-1\choose i}p^k(1-p)^i\f$.
- *
- * This implementation uses a gamma-poisson mixture.
- */
-template<class IntType = int, class RealType = double>
-class negative_binomial_distribution {
-public:
- typedef IntType result_type;
- typedef RealType input_type;
-
- class param_type {
- public:
- typedef negative_binomial_distribution distribution_type;
- /**
- * Construct a param_type object. @c k and @c p
- * are the parameters of the distribution.
- *
- * Requires: k >=0 && 0 <= p <= 1
- */
- explicit param_type(IntType k_arg = 1, RealType p_arg = RealType (0.5))
- : _k(k_arg), _p(p_arg)
- {}
- /** Returns the @c k parameter of the distribution. */
- IntType k() const { return _k; }
- /** Returns the @c p parameter of the distribution. */
- RealType p() const { return _p; }
-#ifndef BOOST_RANDOM_NO_STREAM_OPERATORS
- /** Writes the parameters of the distribution to a @c std::ostream. */
- template<class CharT, class Traits>
- friend std::basic_ostream<CharT,Traits>&
- operator<<(std::basic_ostream<CharT,Traits>& os,
- const param_type& parm)
- {
- os << parm._p << " " << parm._k;
- return os;
- }
-
- /** Reads the parameters of the distribution from a @c std::istream. */
- template<class CharT, class Traits>
- friend std::basic_istream<CharT,Traits>&
- operator>>(std::basic_istream<CharT,Traits>& is, param_type& parm)
- {
- is >> parm._p >> std::ws >> parm._k;
- return is;
- }
-#endif
- /** Returns true if the parameters have the same values. */
- friend bool operator==(const param_type& lhs, const param_type& rhs)
- {
- return lhs._k == rhs._k && lhs._p == rhs._p;
- }
- /** Returns true if the parameters have different values. */
- friend bool operator!=(const param_type& lhs, const param_type& rhs)
- {
- return !(lhs == rhs);
- }
- private:
- IntType _k;
- RealType _p;
- };
-
- /**
- * Construct a @c negative_binomial_distribution object. @c k and @c p
- * are the parameters of the distribution.
- *
- * Requires: k >=0 && 0 <= p <= 1
- */
- explicit negative_binomial_distribution(IntType k_arg = 1,
- RealType p_arg = RealType(0.5))
- : _k(k_arg), _p(p_arg)
- {}
-
- /**
- * Construct an @c negative_binomial_distribution object from the
- * parameters.
- */
- explicit negative_binomial_distribution(const param_type& parm)
- : _k(parm.k()), _p(parm.p())
- {}
-
- /**
- * Returns a random variate distributed according to the
- * negative binomial distribution.
- */
- template<class URNG>
- IntType operator()(URNG& urng) const
- {
- gamma_distribution<RealType> gamma(_k, (1-_p)/_p);
- poisson_distribution<IntType, RealType> poisson(gamma(urng));
- return poisson(urng);
- }
-
- /**
- * Returns a random variate distributed according to the negative
- * binomial distribution with parameters specified by @c param.
- */
- template<class URNG>
- IntType operator()(URNG& urng, const param_type& parm) const
- {
- return negative_binomial_distribution(parm)(urng);
- }
-
- /** Returns the @c k parameter of the distribution. */
- IntType k() const { return _k; }
- /** Returns the @c p parameter of the distribution. */
- RealType p() const { return _p; }
-
- /** Returns the smallest value that the distribution can produce. */
- IntType min BOOST_PREVENT_MACRO_SUBSTITUTION() const { return 0; }
- /** Returns the largest value that the distribution can produce. */
- IntType max BOOST_PREVENT_MACRO_SUBSTITUTION() const
- { return (std::numeric_limits<IntType>::max)(); }
-
- /** Returns the parameters of the distribution. */
- param_type param() const { return param_type(_k, _p); }
- /** Sets parameters of the distribution. */
- void param(const param_type& parm)
- {
- _k = parm.k();
- _p = parm.p();
- }
-
- /**
- * Effects: Subsequent uses of the distribution do not depend
- * on values produced by any engine prior to invoking reset.
- */
- void reset() { }
-
-#ifndef BOOST_RANDOM_NO_STREAM_OPERATORS
- /** Writes the parameters of the distribution to a @c std::ostream. */
- template<class CharT, class Traits>
- friend std::basic_ostream<CharT,Traits>&
- operator<<(std::basic_ostream<CharT,Traits>& os,
- const negative_binomial_distribution& bd)
- {
- os << bd.param();
- return os;
- }
-
- /** Reads the parameters of the distribution from a @c std::istream. */
- template<class CharT, class Traits>
- friend std::basic_istream<CharT,Traits>&
- operator>>(std::basic_istream<CharT,Traits>& is,
- negative_binomial_distribution& bd)
- {
- bd.read(is);
- return is;
- }
-#endif
-
- /** Returns true if the two distributions will produce the same
- sequence of values, given equal generators. */
- friend bool operator==(const negative_binomial_distribution& lhs,
- const negative_binomial_distribution& rhs)
- {
- return lhs._k == rhs._k && lhs._p == rhs._p;
- }
- /** Returns true if the two distributions could produce different
- sequences of values, given equal generators. */
- friend bool operator!=(const negative_binomial_distribution& lhs,
- const negative_binomial_distribution& rhs)
- {
- return !(lhs == rhs);
- }
-
-private:
-
- /// @cond \show_private
-
- template<class CharT, class Traits>
- void read(std::basic_istream<CharT, Traits>& is) {
- param_type parm;
- if(is >> parm) {
- param(parm);
- }
- }
-
- // parameters
- IntType _k;
- RealType _p;
-
- /// @endcond
-};
-
-}
-
-}
-
-#endif
diff --git a/boost/random/normal_distribution.hpp b/boost/random/normal_distribution.hpp
deleted file mode 100644
index 9515fb3..0000000
--- a/boost/random/normal_distribution.hpp
+++ /dev/null
@@ -1,223 +0,0 @@
-/* boost random/normal_distribution.hpp header file
- *
- * Copyright Jens Maurer 2000-2001
- * Copyright Steven Watanabe 2010-2011
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: normal_distribution.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- *
- * Revision history
- * 2001-02-18 moved to individual header files
- */
-
-#ifndef BOOST_RANDOM_NORMAL_DISTRIBUTION_HPP
-#define BOOST_RANDOM_NORMAL_DISTRIBUTION_HPP
-
-#include <boost/config/no_tr1/cmath.hpp>
-#include <istream>
-#include <iosfwd>
-#include <boost/assert.hpp>
-#include <boost/limits.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/random/detail/config.hpp>
-#include <boost/random/detail/operators.hpp>
-#include <boost/random/uniform_01.hpp>
-
-namespace boost {
-namespace random {
-
-// deterministic Box-Muller method, uses trigonometric functions
-
-/**
- * Instantiations of class template normal_distribution model a
- * \random_distribution. Such a distribution produces random numbers
- * @c x distributed with probability density function
- * \f$\displaystyle p(x) =
- * \frac{1}{\sqrt{2\pi\sigma}} e^{-\frac{(x-\mu)^2}{2\sigma^2}}
- * \f$,
- * where mean and sigma are the parameters of the distribution.
- */
-template<class RealType = double>
-class normal_distribution
-{
-public:
- typedef RealType input_type;
- typedef RealType result_type;
-
- class param_type {
- public:
- typedef normal_distribution distribution_type;
-
- /**
- * Constructs a @c param_type with a given mean and
- * standard deviation.
- *
- * Requires: sigma >= 0
- */
- explicit param_type(RealType mean_arg = RealType(0.0),
- RealType sigma_arg = RealType(1.0))
- : _mean(mean_arg),
- _sigma(sigma_arg)
- {}
-
- /** Returns the mean of the distribution. */
- RealType mean() const { return _mean; }
-
- /** Returns the standand deviation of the distribution. */
- RealType sigma() const { return _sigma; }
-
- /** Writes a @c param_type to a @c std::ostream. */
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, param_type, parm)
- { os << parm._mean << " " << parm._sigma ; return os; }
-
- /** Reads a @c param_type from a @c std::istream. */
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, param_type, parm)
- { is >> parm._mean >> std::ws >> parm._sigma; return is; }
-
- /** Returns true if the two sets of parameters are the same. */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(param_type, lhs, rhs)
- { return lhs._mean == rhs._mean && lhs._sigma == rhs._sigma; }
-
- /** Returns true if the two sets of parameters are the different. */
- BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(param_type)
-
- private:
- RealType _mean;
- RealType _sigma;
- };
-
- /**
- * Constructs a @c normal_distribution object. @c mean and @c sigma are
- * the parameters for the distribution.
- *
- * Requires: sigma >= 0
- */
- explicit normal_distribution(const RealType& mean_arg = RealType(0.0),
- const RealType& sigma_arg = RealType(1.0))
- : _mean(mean_arg), _sigma(sigma_arg),
- _r1(0), _r2(0), _cached_rho(0), _valid(false)
- {
- BOOST_ASSERT(_sigma >= RealType(0));
- }
-
- /**
- * Constructs a @c normal_distribution object from its parameters.
- */
- explicit normal_distribution(const param_type& parm)
- : _mean(parm.mean()), _sigma(parm.sigma()),
- _r1(0), _r2(0), _cached_rho(0), _valid(false)
- {}
-
- /** Returns the mean of the distribution. */
- RealType mean() const { return _mean; }
- /** Returns the standard deviation of the distribution. */
- RealType sigma() const { return _sigma; }
-
- /** Returns the smallest value that the distribution can produce. */
- RealType min BOOST_PREVENT_MACRO_SUBSTITUTION () const
- { return -std::numeric_limits<RealType>::infinity(); }
- /** Returns the largest value that the distribution can produce. */
- RealType max BOOST_PREVENT_MACRO_SUBSTITUTION () const
- { return std::numeric_limits<RealType>::infinity(); }
-
- /** Returns the parameters of the distribution. */
- param_type param() const { return param_type(_mean, _sigma); }
- /** Sets the parameters of the distribution. */
- void param(const param_type& parm)
- {
- _mean = parm.mean();
- _sigma = parm.sigma();
- _valid = false;
- }
-
- /**
- * Effects: Subsequent uses of the distribution do not depend
- * on values produced by any engine prior to invoking reset.
- */
- void reset() { _valid = false; }
-
- /** Returns a normal variate. */
- template<class Engine>
- result_type operator()(Engine& eng)
- {
- using std::sqrt;
- using std::log;
- using std::sin;
- using std::cos;
-
- if(!_valid) {
- _r1 = boost::uniform_01<RealType>()(eng);
- _r2 = boost::uniform_01<RealType>()(eng);
- _cached_rho = sqrt(-result_type(2) * log(result_type(1)-_r2));
- _valid = true;
- } else {
- _valid = false;
- }
- // Can we have a boost::mathconst please?
- const result_type pi = result_type(3.14159265358979323846);
-
- return _cached_rho * (_valid ?
- cos(result_type(2)*pi*_r1) :
- sin(result_type(2)*pi*_r1))
- * _sigma + _mean;
- }
-
- /** Returns a normal variate with parameters specified by @c param. */
- template<class URNG>
- result_type operator()(URNG& urng, const param_type& parm)
- {
- return normal_distribution(parm)(urng);
- }
-
- /** Writes a @c normal_distribution to a @c std::ostream. */
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, normal_distribution, nd)
- {
- os << nd._mean << " " << nd._sigma << " "
- << nd._valid << " " << nd._cached_rho << " " << nd._r1;
- return os;
- }
-
- /** Reads a @c normal_distribution from a @c std::istream. */
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, normal_distribution, nd)
- {
- is >> std::ws >> nd._mean >> std::ws >> nd._sigma
- >> std::ws >> nd._valid >> std::ws >> nd._cached_rho
- >> std::ws >> nd._r1;
- return is;
- }
-
- /**
- * Returns true if the two instances of @c normal_distribution will
- * return identical sequences of values given equal generators.
- */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(normal_distribution, lhs, rhs)
- {
- return lhs._mean == rhs._mean && lhs._sigma == rhs._sigma
- && lhs._valid == rhs._valid
- && (!lhs._valid || (lhs._r1 == rhs._r1 && lhs._r2 == rhs._r2));
- }
-
- /**
- * Returns true if the two instances of @c normal_distribution will
- * return different sequences of values given equal generators.
- */
- BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(normal_distribution)
-
-private:
- RealType _mean, _sigma;
- RealType _r1, _r2, _cached_rho;
- bool _valid;
-
-};
-
-} // namespace random
-
-using random::normal_distribution;
-
-} // namespace boost
-
-#endif // BOOST_RANDOM_NORMAL_DISTRIBUTION_HPP
diff --git a/boost/random/piecewise_constant_distribution.hpp b/boost/random/piecewise_constant_distribution.hpp
deleted file mode 100644
index 21e9c1c..0000000
--- a/boost/random/piecewise_constant_distribution.hpp
+++ /dev/null
@@ -1,466 +0,0 @@
-/* boost random/piecewise_constant_distribution.hpp header file
- *
- * Copyright Steven Watanabe 2011
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: piecewise_constant_distribution.hpp 85813 2013-09-21 20:17:00Z jewillco $
- */
-
-#ifndef BOOST_RANDOM_PIECEWISE_CONSTANT_DISTRIBUTION_HPP_INCLUDED
-#define BOOST_RANDOM_PIECEWISE_CONSTANT_DISTRIBUTION_HPP_INCLUDED
-
-#include <vector>
-#include <numeric>
-#include <boost/assert.hpp>
-#include <boost/random/uniform_real.hpp>
-#include <boost/random/discrete_distribution.hpp>
-#include <boost/random/detail/config.hpp>
-#include <boost/random/detail/operators.hpp>
-#include <boost/random/detail/vector_io.hpp>
-
-#ifndef BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#include <initializer_list>
-#endif
-
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-
-namespace boost {
-namespace random {
-
-/**
- * The class @c piecewise_constant_distribution models a \random_distribution.
- */
-template<class RealType = double, class WeightType = double>
-class piecewise_constant_distribution {
-public:
- typedef std::size_t input_type;
- typedef RealType result_type;
-
- class param_type {
- public:
-
- typedef piecewise_constant_distribution distribution_type;
-
- /**
- * Constructs a @c param_type object, representing a distribution
- * that produces values uniformly distributed in the range [0, 1).
- */
- param_type()
- {
- _weights.push_back(WeightType(1));
- _intervals.push_back(RealType(0));
- _intervals.push_back(RealType(1));
- }
- /**
- * Constructs a @c param_type object from two iterator ranges
- * containing the interval boundaries and the interval weights.
- * If there are less than two boundaries, then this is equivalent to
- * the default constructor and creates a single interval, [0, 1).
- *
- * The values of the interval boundaries must be strictly
- * increasing, and the number of weights must be one less than
- * the number of interval boundaries. If there are extra
- * weights, they are ignored.
- */
- template<class IntervalIter, class WeightIter>
- param_type(IntervalIter intervals_first, IntervalIter intervals_last,
- WeightIter weight_first)
- : _intervals(intervals_first, intervals_last)
- {
- if(_intervals.size() < 2) {
- _intervals.clear();
- _intervals.push_back(RealType(0));
- _intervals.push_back(RealType(1));
- _weights.push_back(WeightType(1));
- } else {
- _weights.reserve(_intervals.size() - 1);
- for(std::size_t i = 0; i < _intervals.size() - 1; ++i) {
- _weights.push_back(*weight_first++);
- }
- }
- }
-#ifndef BOOST_NO_CXX11_HDR_INITIALIZER_LIST
- /**
- * Constructs a @c param_type object from an
- * initializer_list containing the interval boundaries
- * and a unary function specifying the weights. Each
- * weight is determined by calling the function at the
- * midpoint of the corresponding interval.
- *
- * If the initializer_list contains less than two elements,
- * this is equivalent to the default constructor and the
- * distribution will produce values uniformly distributed
- * in the range [0, 1).
- */
- template<class T, class F>
- param_type(const std::initializer_list<T>& il, F f)
- : _intervals(il.begin(), il.end())
- {
- if(_intervals.size() < 2) {
- _intervals.clear();
- _intervals.push_back(RealType(0));
- _intervals.push_back(RealType(1));
- _weights.push_back(WeightType(1));
- } else {
- _weights.reserve(_intervals.size() - 1);
- for(std::size_t i = 0; i < _intervals.size() - 1; ++i) {
- RealType midpoint = (_intervals[i] + _intervals[i + 1]) / 2;
- _weights.push_back(f(midpoint));
- }
- }
- }
-#endif
- /**
- * Constructs a @c param_type object from Boost.Range
- * ranges holding the interval boundaries and the weights. If
- * there are less than two interval boundaries, this is equivalent
- * to the default constructor and the distribution will produce
- * values uniformly distributed in the range [0, 1). The
- * number of weights must be one less than the number of
- * interval boundaries.
- */
- template<class IntervalRange, class WeightRange>
- param_type(const IntervalRange& intervals_arg,
- const WeightRange& weights_arg)
- : _intervals(boost::begin(intervals_arg), boost::end(intervals_arg)),
- _weights(boost::begin(weights_arg), boost::end(weights_arg))
- {
- if(_intervals.size() < 2) {
- _intervals.clear();
- _intervals.push_back(RealType(0));
- _intervals.push_back(RealType(1));
- _weights.push_back(WeightType(1));
- }
- }
-
- /**
- * Constructs the parameters for a distribution that approximates a
- * function. The range of the distribution is [xmin, xmax). This
- * range is divided into nw equally sized intervals and the weights
- * are found by calling the unary function f on the midpoints of the
- * intervals.
- */
- template<class F>
- param_type(std::size_t nw, RealType xmin, RealType xmax, F f)
- {
- std::size_t n = (nw == 0) ? 1 : nw;
- double delta = (xmax - xmin) / n;
- BOOST_ASSERT(delta > 0);
- for(std::size_t k = 0; k < n; ++k) {
- _weights.push_back(f(xmin + k*delta + delta/2));
- _intervals.push_back(xmin + k*delta);
- }
- _intervals.push_back(xmax);
- }
-
- /** Returns a vector containing the interval boundaries. */
- std::vector<RealType> intervals() const { return _intervals; }
-
- /**
- * Returns a vector containing the probability densities
- * over all the intervals of the distribution.
- */
- std::vector<RealType> densities() const
- {
- RealType sum = std::accumulate(_weights.begin(), _weights.end(),
- static_cast<RealType>(0));
- std::vector<RealType> result;
- result.reserve(_weights.size());
- for(std::size_t i = 0; i < _weights.size(); ++i) {
- RealType width = _intervals[i + 1] - _intervals[i];
- result.push_back(_weights[i] / (sum * width));
- }
- return result;
- }
-
- /** Writes the parameters to a @c std::ostream. */
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, param_type, parm)
- {
- detail::print_vector(os, parm._intervals);
- detail::print_vector(os, parm._weights);
- return os;
- }
-
- /** Reads the parameters from a @c std::istream. */
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, param_type, parm)
- {
- std::vector<RealType> new_intervals;
- std::vector<WeightType> new_weights;
- detail::read_vector(is, new_intervals);
- detail::read_vector(is, new_weights);
- if(is) {
- parm._intervals.swap(new_intervals);
- parm._weights.swap(new_weights);
- }
- return is;
- }
-
- /** Returns true if the two sets of parameters are the same. */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(param_type, lhs, rhs)
- {
- return lhs._intervals == rhs._intervals
- && lhs._weights == rhs._weights;
- }
- /** Returns true if the two sets of parameters are different. */
- BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(param_type)
-
- private:
-
- friend class piecewise_constant_distribution;
-
- std::vector<RealType> _intervals;
- std::vector<WeightType> _weights;
- };
-
- /**
- * Creates a new @c piecewise_constant_distribution with
- * a single interval, [0, 1).
- */
- piecewise_constant_distribution()
- {
- _intervals.push_back(RealType(0));
- _intervals.push_back(RealType(1));
- }
- /**
- * Constructs a piecewise_constant_distribution from two iterator ranges
- * containing the interval boundaries and the interval weights.
- * If there are less than two boundaries, then this is equivalent to
- * the default constructor and creates a single interval, [0, 1).
- *
- * The values of the interval boundaries must be strictly
- * increasing, and the number of weights must be one less than
- * the number of interval boundaries. If there are extra
- * weights, they are ignored.
- *
- * For example,
- *
- * @code
- * double intervals[] = { 0.0, 1.0, 4.0 };
- * double weights[] = { 1.0, 1.0 };
- * piecewise_constant_distribution<> dist(
- * &intervals[0], &intervals[0] + 3, &weights[0]);
- * @endcode
- *
- * The distribution has a 50% chance of producing a
- * value between 0 and 1 and a 50% chance of producing
- * a value between 1 and 4.
- */
- template<class IntervalIter, class WeightIter>
- piecewise_constant_distribution(IntervalIter first_interval,
- IntervalIter last_interval,
- WeightIter first_weight)
- : _intervals(first_interval, last_interval)
- {
- if(_intervals.size() < 2) {
- _intervals.clear();
- _intervals.push_back(RealType(0));
- _intervals.push_back(RealType(1));
- } else {
- std::vector<WeightType> actual_weights;
- actual_weights.reserve(_intervals.size() - 1);
- for(std::size_t i = 0; i < _intervals.size() - 1; ++i) {
- actual_weights.push_back(*first_weight++);
- }
- typedef discrete_distribution<std::size_t, WeightType> bins_type;
- typename bins_type::param_type bins_param(actual_weights);
- _bins.param(bins_param);
- }
- }
-#ifndef BOOST_NO_CXX11_HDR_INITIALIZER_LIST
- /**
- * Constructs a piecewise_constant_distribution from an
- * initializer_list containing the interval boundaries
- * and a unary function specifying the weights. Each
- * weight is determined by calling the function at the
- * midpoint of the corresponding interval.
- *
- * If the initializer_list contains less than two elements,
- * this is equivalent to the default constructor and the
- * distribution will produce values uniformly distributed
- * in the range [0, 1).
- */
- template<class T, class F>
- piecewise_constant_distribution(std::initializer_list<T> il, F f)
- : _intervals(il.begin(), il.end())
- {
- if(_intervals.size() < 2) {
- _intervals.clear();
- _intervals.push_back(RealType(0));
- _intervals.push_back(RealType(1));
- } else {
- std::vector<WeightType> actual_weights;
- actual_weights.reserve(_intervals.size() - 1);
- for(std::size_t i = 0; i < _intervals.size() - 1; ++i) {
- RealType midpoint = (_intervals[i] + _intervals[i + 1]) / 2;
- actual_weights.push_back(f(midpoint));
- }
- typedef discrete_distribution<std::size_t, WeightType> bins_type;
- typename bins_type::param_type bins_param(actual_weights);
- _bins.param(bins_param);
- }
- }
-#endif
- /**
- * Constructs a piecewise_constant_distribution from Boost.Range
- * ranges holding the interval boundaries and the weights. If
- * there are less than two interval boundaries, this is equivalent
- * to the default constructor and the distribution will produce
- * values uniformly distributed in the range [0, 1). The
- * number of weights must be one less than the number of
- * interval boundaries.
- */
- template<class IntervalsRange, class WeightsRange>
- piecewise_constant_distribution(const IntervalsRange& intervals_arg,
- const WeightsRange& weights_arg)
- : _bins(weights_arg),
- _intervals(boost::begin(intervals_arg), boost::end(intervals_arg))
- {
- if(_intervals.size() < 2) {
- _intervals.clear();
- _intervals.push_back(RealType(0));
- _intervals.push_back(RealType(1));
- }
- }
- /**
- * Constructs a piecewise_constant_distribution that approximates a
- * function. The range of the distribution is [xmin, xmax). This
- * range is divided into nw equally sized intervals and the weights
- * are found by calling the unary function f on the midpoints of the
- * intervals.
- */
- template<class F>
- piecewise_constant_distribution(std::size_t nw,
- RealType xmin,
- RealType xmax,
- F f)
- : _bins(nw, xmin, xmax, f)
- {
- if(nw == 0) { nw = 1; }
- RealType delta = (xmax - xmin) / nw;
- _intervals.reserve(nw + 1);
- for(std::size_t i = 0; i < nw; ++i) {
- _intervals.push_back(xmin + i * delta);
- }
- _intervals.push_back(xmax);
- }
- /**
- * Constructs a piecewise_constant_distribution from its parameters.
- */
- explicit piecewise_constant_distribution(const param_type& parm)
- : _bins(parm._weights),
- _intervals(parm._intervals)
- {
- }
-
- /**
- * Returns a value distributed according to the parameters of the
- * piecewist_constant_distribution.
- */
- template<class URNG>
- RealType operator()(URNG& urng) const
- {
- std::size_t i = _bins(urng);
- return uniform_real<RealType>(_intervals[i], _intervals[i+1])(urng);
- }
-
- /**
- * Returns a value distributed according to the parameters
- * specified by param.
- */
- template<class URNG>
- RealType operator()(URNG& urng, const param_type& parm) const
- {
- return piecewise_constant_distribution(parm)(urng);
- }
-
- /** Returns the smallest value that the distribution can produce. */
- result_type min BOOST_PREVENT_MACRO_SUBSTITUTION () const
- { return _intervals.front(); }
- /** Returns the largest value that the distribution can produce. */
- result_type max BOOST_PREVENT_MACRO_SUBSTITUTION () const
- { return _intervals.back(); }
-
- /**
- * Returns a vector containing the probability density
- * over each interval.
- */
- std::vector<RealType> densities() const
- {
- std::vector<RealType> result(_bins.probabilities());
- for(std::size_t i = 0; i < result.size(); ++i) {
- result[i] /= (_intervals[i+1] - _intervals[i]);
- }
- return(result);
- }
- /** Returns a vector containing the interval boundaries. */
- std::vector<RealType> intervals() const { return _intervals; }
-
- /** Returns the parameters of the distribution. */
- param_type param() const
- {
- return param_type(_intervals, _bins.probabilities());
- }
- /** Sets the parameters of the distribution. */
- void param(const param_type& parm)
- {
- std::vector<RealType> new_intervals(parm._intervals);
- typedef discrete_distribution<std::size_t, RealType> bins_type;
- typename bins_type::param_type bins_param(parm._weights);
- _bins.param(bins_param);
- _intervals.swap(new_intervals);
- }
-
- /**
- * Effects: Subsequent uses of the distribution do not depend
- * on values produced by any engine prior to invoking reset.
- */
- void reset() { _bins.reset(); }
-
- /** Writes a distribution to a @c std::ostream. */
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(
- os, piecewise_constant_distribution, pcd)
- {
- os << pcd.param();
- return os;
- }
-
- /** Reads a distribution from a @c std::istream */
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(
- is, piecewise_constant_distribution, pcd)
- {
- param_type parm;
- if(is >> parm) {
- pcd.param(parm);
- }
- return is;
- }
-
- /**
- * Returns true if the two distributions will return the
- * same sequence of values, when passed equal generators.
- */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(
- piecewise_constant_distribution, lhs, rhs)
- {
- return lhs._bins == rhs._bins && lhs._intervals == rhs._intervals;
- }
- /**
- * Returns true if the two distributions may return different
- * sequences of values, when passed equal generators.
- */
- BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(piecewise_constant_distribution)
-
-private:
- discrete_distribution<std::size_t, WeightType> _bins;
- std::vector<RealType> _intervals;
-};
-
-}
-}
-
-#endif
diff --git a/boost/random/piecewise_linear_distribution.hpp b/boost/random/piecewise_linear_distribution.hpp
deleted file mode 100644
index d87d505..0000000
--- a/boost/random/piecewise_linear_distribution.hpp
+++ /dev/null
@@ -1,530 +0,0 @@
-/* boost random/piecewise_linear_distribution.hpp header file
- *
- * Copyright Steven Watanabe 2011
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: piecewise_linear_distribution.hpp 85813 2013-09-21 20:17:00Z jewillco $
- */
-
-#ifndef BOOST_RANDOM_PIECEWISE_LINEAR_DISTRIBUTION_HPP_INCLUDED
-#define BOOST_RANDOM_PIECEWISE_LINEAR_DISTRIBUTION_HPP_INCLUDED
-
-#include <vector>
-#include <algorithm>
-#include <cmath>
-#include <cstdlib>
-#include <boost/assert.hpp>
-#include <boost/random/uniform_real.hpp>
-#include <boost/random/discrete_distribution.hpp>
-#include <boost/random/detail/config.hpp>
-#include <boost/random/detail/operators.hpp>
-#include <boost/random/detail/vector_io.hpp>
-
-#ifndef BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#include <initializer_list>
-#endif
-
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-
-namespace boost {
-namespace random {
-
-/**
- * The class @c piecewise_linear_distribution models a \random_distribution.
- */
-template<class RealType = double>
-class piecewise_linear_distribution {
-public:
- typedef std::size_t input_type;
- typedef RealType result_type;
-
- class param_type {
- public:
-
- typedef piecewise_linear_distribution distribution_type;
-
- /**
- * Constructs a @c param_type object, representing a distribution
- * that produces values uniformly distributed in the range [0, 1).
- */
- param_type()
- {
- _weights.push_back(RealType(1));
- _weights.push_back(RealType(1));
- _intervals.push_back(RealType(0));
- _intervals.push_back(RealType(1));
- }
- /**
- * Constructs a @c param_type object from two iterator ranges
- * containing the interval boundaries and weights at the boundaries.
- * If there are fewer than two boundaries, then this is equivalent to
- * the default constructor and the distribution will produce values
- * uniformly distributed in the range [0, 1).
- *
- * The values of the interval boundaries must be strictly
- * increasing, and the number of weights must be the same as
- * the number of interval boundaries. If there are extra
- * weights, they are ignored.
- */
- template<class IntervalIter, class WeightIter>
- param_type(IntervalIter intervals_first, IntervalIter intervals_last,
- WeightIter weight_first)
- : _intervals(intervals_first, intervals_last)
- {
- if(_intervals.size() < 2) {
- _intervals.clear();
- _weights.push_back(RealType(1));
- _weights.push_back(RealType(1));
- _intervals.push_back(RealType(0));
- _intervals.push_back(RealType(1));
- } else {
- _weights.reserve(_intervals.size());
- for(std::size_t i = 0; i < _intervals.size(); ++i) {
- _weights.push_back(*weight_first++);
- }
- }
- }
-#ifndef BOOST_NO_CXX11_HDR_INITIALIZER_LIST
- /**
- * Constructs a @c param_type object from an initializer_list
- * containing the interval boundaries and a unary function
- * specifying the weights at the boundaries. Each weight is
- * determined by calling the function at the corresponding point.
- *
- * If the initializer_list contains fewer than two elements,
- * this is equivalent to the default constructor and the
- * distribution will produce values uniformly distributed
- * in the range [0, 1).
- */
- template<class T, class F>
- param_type(const std::initializer_list<T>& il, F f)
- : _intervals(il.begin(), il.end())
- {
- if(_intervals.size() < 2) {
- _intervals.clear();
- _weights.push_back(RealType(1));
- _weights.push_back(RealType(1));
- _intervals.push_back(RealType(0));
- _intervals.push_back(RealType(1));
- } else {
- _weights.reserve(_intervals.size());
- for(typename std::vector<RealType>::const_iterator
- iter = _intervals.begin(), end = _intervals.end();
- iter != end; ++iter)
- {
- _weights.push_back(f(*iter));
- }
- }
- }
-#endif
- /**
- * Constructs a @c param_type object from Boost.Range ranges holding
- * the interval boundaries and the weights at the boundaries. If
- * there are fewer than two interval boundaries, this is equivalent
- * to the default constructor and the distribution will produce
- * values uniformly distributed in the range [0, 1). The
- * number of weights must be equal to the number of
- * interval boundaries.
- */
- template<class IntervalRange, class WeightRange>
- param_type(const IntervalRange& intervals_arg,
- const WeightRange& weights_arg)
- : _intervals(boost::begin(intervals_arg), boost::end(intervals_arg)),
- _weights(boost::begin(weights_arg), boost::end(weights_arg))
- {
- if(_intervals.size() < 2) {
- _weights.clear();
- _weights.push_back(RealType(1));
- _weights.push_back(RealType(1));
- _intervals.clear();
- _intervals.push_back(RealType(0));
- _intervals.push_back(RealType(1));
- }
- }
-
- /**
- * Constructs the parameters for a distribution that approximates a
- * function. The range of the distribution is [xmin, xmax). This
- * range is divided into nw equally sized intervals and the weights
- * are found by calling the unary function f on the boundaries of the
- * intervals.
- */
- template<class F>
- param_type(std::size_t nw, RealType xmin, RealType xmax, F f)
- {
- std::size_t n = (nw == 0) ? 1 : nw;
- double delta = (xmax - xmin) / n;
- BOOST_ASSERT(delta > 0);
- for(std::size_t k = 0; k < n; ++k) {
- _weights.push_back(f(xmin + k*delta));
- _intervals.push_back(xmin + k*delta);
- }
- _weights.push_back(f(xmax));
- _intervals.push_back(xmax);
- }
-
- /** Returns a vector containing the interval boundaries. */
- std::vector<RealType> intervals() const { return _intervals; }
-
- /**
- * Returns a vector containing the probability densities
- * at all the interval boundaries.
- */
- std::vector<RealType> densities() const
- {
- RealType sum = static_cast<RealType>(0);
- for(std::size_t i = 0; i < _intervals.size() - 1; ++i) {
- RealType width = _intervals[i + 1] - _intervals[i];
- sum += (_weights[i] + _weights[i + 1]) * width / 2;
- }
- std::vector<RealType> result;
- result.reserve(_weights.size());
- for(typename std::vector<RealType>::const_iterator
- iter = _weights.begin(), end = _weights.end();
- iter != end; ++iter)
- {
- result.push_back(*iter / sum);
- }
- return result;
- }
-
- /** Writes the parameters to a @c std::ostream. */
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, param_type, parm)
- {
- detail::print_vector(os, parm._intervals);
- detail::print_vector(os, parm._weights);
- return os;
- }
-
- /** Reads the parameters from a @c std::istream. */
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, param_type, parm)
- {
- std::vector<RealType> new_intervals;
- std::vector<RealType> new_weights;
- detail::read_vector(is, new_intervals);
- detail::read_vector(is, new_weights);
- if(is) {
- parm._intervals.swap(new_intervals);
- parm._weights.swap(new_weights);
- }
- return is;
- }
-
- /** Returns true if the two sets of parameters are the same. */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(param_type, lhs, rhs)
- {
- return lhs._intervals == rhs._intervals
- && lhs._weights == rhs._weights;
- }
- /** Returns true if the two sets of parameters are different. */
- BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(param_type)
-
- private:
- friend class piecewise_linear_distribution;
-
- std::vector<RealType> _intervals;
- std::vector<RealType> _weights;
- };
-
- /**
- * Creates a new @c piecewise_linear_distribution that
- * produces values uniformly distributed in the range [0, 1).
- */
- piecewise_linear_distribution()
- {
- default_init();
- }
- /**
- * Constructs a piecewise_linear_distribution from two iterator ranges
- * containing the interval boundaries and the weights at the boundaries.
- * If there are fewer than two boundaries, then this is equivalent to
- * the default constructor and creates a distribution that
- * produces values uniformly distributed in the range [0, 1).
- *
- * The values of the interval boundaries must be strictly
- * increasing, and the number of weights must be equal to
- * the number of interval boundaries. If there are extra
- * weights, they are ignored.
- *
- * For example,
- *
- * @code
- * double intervals[] = { 0.0, 1.0, 2.0 };
- * double weights[] = { 0.0, 1.0, 0.0 };
- * piecewise_constant_distribution<> dist(
- * &intervals[0], &intervals[0] + 3, &weights[0]);
- * @endcode
- *
- * produces a triangle distribution.
- */
- template<class IntervalIter, class WeightIter>
- piecewise_linear_distribution(IntervalIter first_interval,
- IntervalIter last_interval,
- WeightIter first_weight)
- : _intervals(first_interval, last_interval)
- {
- if(_intervals.size() < 2) {
- default_init();
- } else {
- _weights.reserve(_intervals.size());
- for(std::size_t i = 0; i < _intervals.size(); ++i) {
- _weights.push_back(*first_weight++);
- }
- init();
- }
- }
-#ifndef BOOST_NO_CXX11_HDR_INITIALIZER_LIST
- /**
- * Constructs a piecewise_linear_distribution from an
- * initializer_list containing the interval boundaries
- * and a unary function specifying the weights. Each
- * weight is determined by calling the function at the
- * corresponding interval boundary.
- *
- * If the initializer_list contains fewer than two elements,
- * this is equivalent to the default constructor and the
- * distribution will produce values uniformly distributed
- * in the range [0, 1).
- */
- template<class T, class F>
- piecewise_linear_distribution(std::initializer_list<T> il, F f)
- : _intervals(il.begin(), il.end())
- {
- if(_intervals.size() < 2) {
- default_init();
- } else {
- _weights.reserve(_intervals.size());
- for(typename std::vector<RealType>::const_iterator
- iter = _intervals.begin(), end = _intervals.end();
- iter != end; ++iter)
- {
- _weights.push_back(f(*iter));
- }
- init();
- }
- }
-#endif
- /**
- * Constructs a piecewise_linear_distribution from Boost.Range
- * ranges holding the interval boundaries and the weights. If
- * there are fewer than two interval boundaries, this is equivalent
- * to the default constructor and the distribution will produce
- * values uniformly distributed in the range [0, 1). The
- * number of weights must be equal to the number of
- * interval boundaries.
- */
- template<class IntervalsRange, class WeightsRange>
- piecewise_linear_distribution(const IntervalsRange& intervals_arg,
- const WeightsRange& weights_arg)
- : _intervals(boost::begin(intervals_arg), boost::end(intervals_arg)),
- _weights(boost::begin(weights_arg), boost::end(weights_arg))
- {
- if(_intervals.size() < 2) {
- default_init();
- } else {
- init();
- }
- }
- /**
- * Constructs a piecewise_linear_distribution that approximates a
- * function. The range of the distribution is [xmin, xmax). This
- * range is divided into nw equally sized intervals and the weights
- * are found by calling the unary function f on the interval boundaries.
- */
- template<class F>
- piecewise_linear_distribution(std::size_t nw,
- RealType xmin,
- RealType xmax,
- F f)
- {
- if(nw == 0) { nw = 1; }
- RealType delta = (xmax - xmin) / nw;
- _intervals.reserve(nw + 1);
- for(std::size_t i = 0; i < nw; ++i) {
- RealType x = xmin + i * delta;
- _intervals.push_back(x);
- _weights.push_back(f(x));
- }
- _intervals.push_back(xmax);
- _weights.push_back(f(xmax));
- init();
- }
- /**
- * Constructs a piecewise_linear_distribution from its parameters.
- */
- explicit piecewise_linear_distribution(const param_type& parm)
- : _intervals(parm._intervals),
- _weights(parm._weights)
- {
- init();
- }
-
- /**
- * Returns a value distributed according to the parameters of the
- * piecewise_linear_distribution.
- */
- template<class URNG>
- RealType operator()(URNG& urng) const
- {
- std::size_t i = _bins(urng);
- bool is_in_rectangle = (i % 2 == 0);
- i = i / 2;
- uniform_real<RealType> dist(_intervals[i], _intervals[i+1]);
- if(is_in_rectangle) {
- return dist(urng);
- } else if(_weights[i] < _weights[i+1]) {
- return (std::max)(dist(urng), dist(urng));
- } else {
- return (std::min)(dist(urng), dist(urng));
- }
- }
-
- /**
- * Returns a value distributed according to the parameters
- * specified by param.
- */
- template<class URNG>
- RealType operator()(URNG& urng, const param_type& parm) const
- {
- return piecewise_linear_distribution(parm)(urng);
- }
-
- /** Returns the smallest value that the distribution can produce. */
- result_type min BOOST_PREVENT_MACRO_SUBSTITUTION () const
- { return _intervals.front(); }
- /** Returns the largest value that the distribution can produce. */
- result_type max BOOST_PREVENT_MACRO_SUBSTITUTION () const
- { return _intervals.back(); }
-
- /**
- * Returns a vector containing the probability densities
- * at the interval boundaries.
- */
- std::vector<RealType> densities() const
- {
- RealType sum = static_cast<RealType>(0);
- for(std::size_t i = 0; i < _intervals.size() - 1; ++i) {
- RealType width = _intervals[i + 1] - _intervals[i];
- sum += (_weights[i] + _weights[i + 1]) * width / 2;
- }
- std::vector<RealType> result;
- result.reserve(_weights.size());
- for(typename std::vector<RealType>::const_iterator
- iter = _weights.begin(), end = _weights.end();
- iter != end; ++iter)
- {
- result.push_back(*iter / sum);
- }
- return result;
- }
- /** Returns a vector containing the interval boundaries. */
- std::vector<RealType> intervals() const { return _intervals; }
-
- /** Returns the parameters of the distribution. */
- param_type param() const
- {
- return param_type(_intervals, _weights);
- }
- /** Sets the parameters of the distribution. */
- void param(const param_type& parm)
- {
- std::vector<RealType> new_intervals(parm._intervals);
- std::vector<RealType> new_weights(parm._weights);
- init(new_intervals, new_weights);
- _intervals.swap(new_intervals);
- _weights.swap(new_weights);
- }
-
- /**
- * Effects: Subsequent uses of the distribution do not depend
- * on values produced by any engine prior to invoking reset.
- */
- void reset() { _bins.reset(); }
-
- /** Writes a distribution to a @c std::ostream. */
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(
- os, piecewise_linear_distribution, pld)
- {
- os << pld.param();
- return os;
- }
-
- /** Reads a distribution from a @c std::istream */
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(
- is, piecewise_linear_distribution, pld)
- {
- param_type parm;
- if(is >> parm) {
- pld.param(parm);
- }
- return is;
- }
-
- /**
- * Returns true if the two distributions will return the
- * same sequence of values, when passed equal generators.
- */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(
- piecewise_linear_distribution, lhs, rhs)
- {
- return lhs._intervals == rhs._intervals && lhs._weights == rhs._weights;
- }
- /**
- * Returns true if the two distributions may return different
- * sequences of values, when passed equal generators.
- */
- BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(piecewise_linear_distribution)
-
-private:
-
- /// @cond \show_private
-
- void init(const std::vector<RealType>& intervals_arg,
- const std::vector<RealType>& weights_arg)
- {
- std::vector<RealType> bin_weights;
- bin_weights.reserve((intervals_arg.size() - 1) * 2);
- for(std::size_t i = 0; i < intervals_arg.size() - 1; ++i) {
- RealType width = intervals_arg[i + 1] - intervals_arg[i];
- RealType w1 = weights_arg[i];
- RealType w2 = weights_arg[i + 1];
- bin_weights.push_back((std::min)(w1, w2) * width);
- bin_weights.push_back(std::abs(w1 - w2) * width / 2);
- }
- typedef discrete_distribution<std::size_t, RealType> bins_type;
- typename bins_type::param_type bins_param(bin_weights);
- _bins.param(bins_param);
- }
-
- void init()
- {
- init(_intervals, _weights);
- }
-
- void default_init()
- {
- _intervals.clear();
- _intervals.push_back(RealType(0));
- _intervals.push_back(RealType(1));
- _weights.clear();
- _weights.push_back(RealType(1));
- _weights.push_back(RealType(1));
- init();
- }
-
- discrete_distribution<std::size_t, RealType> _bins;
- std::vector<RealType> _intervals;
- std::vector<RealType> _weights;
-
- /// @endcond
-};
-
-}
-}
-
-#endif
diff --git a/boost/random/poisson_distribution.hpp b/boost/random/poisson_distribution.hpp
deleted file mode 100644
index c1eac37..0000000
--- a/boost/random/poisson_distribution.hpp
+++ /dev/null
@@ -1,360 +0,0 @@
-/* boost random/poisson_distribution.hpp header file
- *
- * Copyright Jens Maurer 2002
- * Copyright Steven Watanabe 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 most recent version including documentation.
- *
- * $Id: poisson_distribution.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- *
- */
-
-#ifndef BOOST_RANDOM_POISSON_DISTRIBUTION_HPP
-#define BOOST_RANDOM_POISSON_DISTRIBUTION_HPP
-
-#include <boost/config/no_tr1/cmath.hpp>
-#include <cstdlib>
-#include <iosfwd>
-#include <boost/assert.hpp>
-#include <boost/limits.hpp>
-#include <boost/random/uniform_01.hpp>
-#include <boost/random/detail/config.hpp>
-
-#include <boost/random/detail/disable_warnings.hpp>
-
-namespace boost {
-namespace random {
-
-namespace detail {
-
-template<class RealType>
-struct poisson_table {
- static RealType value[10];
-};
-
-template<class RealType>
-RealType poisson_table<RealType>::value[10] = {
- 0.0,
- 0.0,
- 0.69314718055994529,
- 1.7917594692280550,
- 3.1780538303479458,
- 4.7874917427820458,
- 6.5792512120101012,
- 8.5251613610654147,
- 10.604602902745251,
- 12.801827480081469
-};
-
-}
-
-/**
- * An instantiation of the class template @c poisson_distribution is a
- * model of \random_distribution. The poisson distribution has
- * \f$p(i) = \frac{e^{-\lambda}\lambda^i}{i!}\f$
- *
- * This implementation is based on the PTRD algorithm described
- *
- * @blockquote
- * "The transformed rejection method for generating Poisson random variables",
- * Wolfgang Hormann, Insurance: Mathematics and Economics
- * Volume 12, Issue 1, February 1993, Pages 39-45
- * @endblockquote
- */
-template<class IntType = int, class RealType = double>
-class poisson_distribution {
-public:
- typedef IntType result_type;
- typedef RealType input_type;
-
- class param_type {
- public:
- typedef poisson_distribution distribution_type;
- /**
- * Construct a param_type object with the parameter "mean"
- *
- * Requires: mean > 0
- */
- explicit param_type(RealType mean_arg = RealType(1))
- : _mean(mean_arg)
- {
- BOOST_ASSERT(_mean > 0);
- }
- /* Returns the "mean" parameter of the distribution. */
- RealType mean() const { return _mean; }
-#ifndef BOOST_RANDOM_NO_STREAM_OPERATORS
- /** Writes the parameters of the distribution to a @c std::ostream. */
- template<class CharT, class Traits>
- friend std::basic_ostream<CharT, Traits>&
- operator<<(std::basic_ostream<CharT, Traits>& os,
- const param_type& parm)
- {
- os << parm._mean;
- return os;
- }
-
- /** Reads the parameters of the distribution from a @c std::istream. */
- template<class CharT, class Traits>
- friend std::basic_istream<CharT, Traits>&
- operator>>(std::basic_istream<CharT, Traits>& is, param_type& parm)
- {
- is >> parm._mean;
- return is;
- }
-#endif
- /** Returns true if the parameters have the same values. */
- friend bool operator==(const param_type& lhs, const param_type& rhs)
- {
- return lhs._mean == rhs._mean;
- }
- /** Returns true if the parameters have different values. */
- friend bool operator!=(const param_type& lhs, const param_type& rhs)
- {
- return !(lhs == rhs);
- }
- private:
- RealType _mean;
- };
-
- /**
- * Constructs a @c poisson_distribution with the parameter @c mean.
- *
- * Requires: mean > 0
- */
- explicit poisson_distribution(RealType mean_arg = RealType(1))
- : _mean(mean_arg)
- {
- BOOST_ASSERT(_mean > 0);
- init();
- }
-
- /**
- * Construct an @c poisson_distribution object from the
- * parameters.
- */
- explicit poisson_distribution(const param_type& parm)
- : _mean(parm.mean())
- {
- init();
- }
-
- /**
- * Returns a random variate distributed according to the
- * poisson distribution.
- */
- template<class URNG>
- IntType operator()(URNG& urng) const
- {
- if(use_inversion()) {
- return invert(urng);
- } else {
- return generate(urng);
- }
- }
-
- /**
- * Returns a random variate distributed according to the
- * poisson distribution with parameters specified by param.
- */
- template<class URNG>
- IntType operator()(URNG& urng, const param_type& parm) const
- {
- return poisson_distribution(parm)(urng);
- }
-
- /** Returns the "mean" parameter of the distribution. */
- RealType mean() const { return _mean; }
-
- /** Returns the smallest value that the distribution can produce. */
- IntType min BOOST_PREVENT_MACRO_SUBSTITUTION() const { return 0; }
- /** Returns the largest value that the distribution can produce. */
- IntType max BOOST_PREVENT_MACRO_SUBSTITUTION() const
- { return (std::numeric_limits<IntType>::max)(); }
-
- /** Returns the parameters of the distribution. */
- param_type param() const { return param_type(_mean); }
- /** Sets parameters of the distribution. */
- void param(const param_type& parm)
- {
- _mean = parm.mean();
- init();
- }
-
- /**
- * Effects: Subsequent uses of the distribution do not depend
- * on values produced by any engine prior to invoking reset.
- */
- void reset() { }
-
-#ifndef BOOST_RANDOM_NO_STREAM_OPERATORS
- /** Writes the parameters of the distribution to a @c std::ostream. */
- template<class CharT, class Traits>
- friend std::basic_ostream<CharT,Traits>&
- operator<<(std::basic_ostream<CharT,Traits>& os,
- const poisson_distribution& pd)
- {
- os << pd.param();
- return os;
- }
-
- /** Reads the parameters of the distribution from a @c std::istream. */
- template<class CharT, class Traits>
- friend std::basic_istream<CharT,Traits>&
- operator>>(std::basic_istream<CharT,Traits>& is, poisson_distribution& pd)
- {
- pd.read(is);
- return is;
- }
-#endif
-
- /** Returns true if the two distributions will produce the same
- sequence of values, given equal generators. */
- friend bool operator==(const poisson_distribution& lhs,
- const poisson_distribution& rhs)
- {
- return lhs._mean == rhs._mean;
- }
- /** Returns true if the two distributions could produce different
- sequences of values, given equal generators. */
- friend bool operator!=(const poisson_distribution& lhs,
- const poisson_distribution& rhs)
- {
- return !(lhs == rhs);
- }
-
-private:
-
- /// @cond show_private
-
- template<class CharT, class Traits>
- void read(std::basic_istream<CharT, Traits>& is) {
- param_type parm;
- if(is >> parm) {
- param(parm);
- }
- }
-
- bool use_inversion() const
- {
- return _mean < 10;
- }
-
- static RealType log_factorial(IntType k)
- {
- BOOST_ASSERT(k >= 0);
- BOOST_ASSERT(k < 10);
- return detail::poisson_table<RealType>::value[k];
- }
-
- void init()
- {
- using std::sqrt;
- using std::exp;
-
- if(use_inversion()) {
- _exp_mean = exp(-_mean);
- } else {
- _ptrd.smu = sqrt(_mean);
- _ptrd.b = 0.931 + 2.53 * _ptrd.smu;
- _ptrd.a = -0.059 + 0.02483 * _ptrd.b;
- _ptrd.inv_alpha = 1.1239 + 1.1328 / (_ptrd.b - 3.4);
- _ptrd.v_r = 0.9277 - 3.6224 / (_ptrd.b - 2);
- }
- }
-
- template<class URNG>
- IntType generate(URNG& urng) const
- {
- using std::floor;
- using std::abs;
- using std::log;
-
- while(true) {
- RealType u;
- RealType v = uniform_01<RealType>()(urng);
- if(v <= 0.86 * _ptrd.v_r) {
- u = v / _ptrd.v_r - 0.43;
- return static_cast<IntType>(floor(
- (2*_ptrd.a/(0.5-abs(u)) + _ptrd.b)*u + _mean + 0.445));
- }
-
- if(v >= _ptrd.v_r) {
- u = uniform_01<RealType>()(urng) - 0.5;
- } else {
- u = v/_ptrd.v_r - 0.93;
- u = ((u < 0)? -0.5 : 0.5) - u;
- v = uniform_01<RealType>()(urng) * _ptrd.v_r;
- }
-
- RealType us = 0.5 - abs(u);
- if(us < 0.013 && v > us) {
- continue;
- }
-
- RealType k = floor((2*_ptrd.a/us + _ptrd.b)*u+_mean+0.445);
- v = v*_ptrd.inv_alpha/(_ptrd.a/(us*us) + _ptrd.b);
-
- RealType log_sqrt_2pi = 0.91893853320467267;
-
- if(k >= 10) {
- if(log(v*_ptrd.smu) <= (k + 0.5)*log(_mean/k)
- - _mean
- - log_sqrt_2pi
- + k
- - (1/12. - (1/360. - 1/(1260.*k*k))/(k*k))/k) {
- return static_cast<IntType>(k);
- }
- } else if(k >= 0) {
- if(log(v) <= k*log(_mean)
- - _mean
- - log_factorial(static_cast<IntType>(k))) {
- return static_cast<IntType>(k);
- }
- }
- }
- }
-
- template<class URNG>
- IntType invert(URNG& urng) const
- {
- RealType p = _exp_mean;
- IntType x = 0;
- RealType u = uniform_01<RealType>()(urng);
- while(u > p) {
- u = u - p;
- ++x;
- p = _mean * p / x;
- }
- return x;
- }
-
- RealType _mean;
-
- union {
- // for ptrd
- struct {
- RealType v_r;
- RealType a;
- RealType b;
- RealType smu;
- RealType inv_alpha;
- } _ptrd;
- // for inversion
- RealType _exp_mean;
- };
-
- /// @endcond
-};
-
-} // namespace random
-
-using random::poisson_distribution;
-
-} // namespace boost
-
-#include <boost/random/detail/enable_warnings.hpp>
-
-#endif // BOOST_RANDOM_POISSON_DISTRIBUTION_HPP
diff --git a/boost/random/random_number_generator.hpp b/boost/random/random_number_generator.hpp
deleted file mode 100644
index f8eaf01..0000000
--- a/boost/random/random_number_generator.hpp
+++ /dev/null
@@ -1,73 +0,0 @@
-/* boost random/random_number_generator.hpp header file
- *
- * Copyright Jens Maurer 2000-2001
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: random_number_generator.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- *
- * Revision history
- * 2001-02-18 moved to individual header files
- */
-
-#ifndef BOOST_RANDOM_RANDOM_NUMBER_GENERATOR_HPP
-#define BOOST_RANDOM_RANDOM_NUMBER_GENERATOR_HPP
-
-#include <boost/assert.hpp>
-#include <boost/random/uniform_int_distribution.hpp>
-
-#include <boost/random/detail/disable_warnings.hpp>
-
-namespace boost {
-namespace random {
-
-/**
- * Instantiations of class template random_number_generator model a
- * RandomNumberGenerator (std:25.2.11 [lib.alg.random.shuffle]). On
- * each invocation, it returns a uniformly distributed integer in
- * the range [0..n).
- *
- * The template parameter IntType shall denote some integer-like value type.
- */
-template<class URNG, class IntType = long>
-class random_number_generator
-{
-public:
- typedef URNG base_type;
- typedef IntType argument_type;
- typedef IntType result_type;
- /**
- * Constructs a random_number_generator functor with the given
- * \uniform_random_number_generator as the underlying source of
- * random numbers.
- */
- random_number_generator(base_type& rng) : _rng(rng) {}
-
- // compiler-generated copy ctor is fine
- // assignment is disallowed because there is a reference member
-
- /**
- * Returns a value in the range [0, n)
- */
- result_type operator()(argument_type n)
- {
- BOOST_ASSERT(n > 0);
- return uniform_int_distribution<IntType>(0, n-1)(_rng);
- }
-
-private:
- base_type& _rng;
-};
-
-} // namespace random
-
-using random::random_number_generator;
-
-} // namespace boost
-
-#include <boost/random/detail/enable_warnings.hpp>
-
-#endif // BOOST_RANDOM_RANDOM_NUMBER_GENERATOR_HPP
diff --git a/boost/random/ranlux.hpp b/boost/random/ranlux.hpp
deleted file mode 100644
index 8847666..0000000
--- a/boost/random/ranlux.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-/* boost random/ranlux.hpp header file
- *
- * Copyright Jens Maurer 2002
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: ranlux.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- *
- * Revision history
- * 2001-02-18 created
- */
-
-#ifndef BOOST_RANDOM_RANLUX_HPP
-#define BOOST_RANDOM_RANLUX_HPP
-
-#include <boost/config.hpp>
-#include <boost/random/subtract_with_carry.hpp>
-#include <boost/random/discard_block.hpp>
-
-namespace boost {
-
-namespace random {
-
-namespace detail {
-/**
- * The ranlux family of generators are described in
- *
- * @blockquote
- * "A portable high-quality random number generator for lattice field theory
- * calculations", M. Luescher, Computer Physics Communications, 79 (1994)
- * pp 100-110.
- * @endblockquote
- *
- * The levels are given in
- *
- * @blockquote
- * "RANLUX: A Fortran implementation ofthe high-quality
- * pseudorandom number generator of Luescher", F. James,
- * Computer Physics Communications 79 (1994) 111-114
- * @endblockquote
- */
-class ranlux_documentation {};
-}
-
-typedef subtract_with_carry_engine<uint32_t, 24, 10, 24> ranlux_base;
-typedef subtract_with_carry_01_engine<float, 24, 10, 24> ranlux_base_01;
-typedef subtract_with_carry_01_engine<double, 48, 10, 24> ranlux64_base_01;
-
-
-/** @copydoc boost::random::detail::ranlux_documentation */
-typedef discard_block_engine<ranlux_base, 223, 24> ranlux3;
-/** @copydoc boost::random::detail::ranlux_documentation */
-typedef discard_block_engine<ranlux_base, 389, 24> ranlux4;
-
-/** @copydoc boost::random::detail::ranlux_documentation */
-typedef discard_block_engine<ranlux_base_01, 223, 24> ranlux3_01;
-/** @copydoc boost::random::detail::ranlux_documentation */
-typedef discard_block_engine<ranlux_base_01, 389, 24> ranlux4_01;
-
-/** @copydoc boost::random::detail::ranlux_documentation */
-typedef discard_block_engine<ranlux64_base_01, 223, 24> ranlux64_3_01;
-/** @copydoc boost::random::detail::ranlux_documentation */
-typedef discard_block_engine<ranlux64_base_01, 389, 24> ranlux64_4_01;
-
-#if !defined(BOOST_NO_INT64_T) && !defined(BOOST_NO_INTEGRAL_INT64_T)
-typedef subtract_with_carry_engine<uint64_t, 48, 10, 24> ranlux64_base;
-/** @copydoc boost::random::detail::ranlux_documentation */
-typedef discard_block_engine<ranlux64_base, 223, 24> ranlux64_3;
-/** @copydoc boost::random::detail::ranlux_documentation */
-typedef discard_block_engine<ranlux64_base, 389, 24> ranlux64_4;
-#endif /* !BOOST_NO_INT64_T && !BOOST_NO_INTEGRAL_INT64_T */
-
-
-typedef subtract_with_carry_engine<uint32_t, 24, 10, 24> ranlux24_base;
-typedef subtract_with_carry_engine<uint64_t, 48, 5, 12> ranlux48_base;
-
-typedef discard_block_engine<ranlux24_base, 223, 23> ranlux24;
-#if !defined(BOOST_NO_INT64_T) && !defined(BOOST_NO_INTEGRAL_INT64_T)
-typedef discard_block_engine<ranlux48_base, 389, 11> ranlux48;
-#endif
-}
-
-using random::ranlux3;
-using random::ranlux4;
-using random::ranlux3_01;
-using random::ranlux4_01;
-using random::ranlux64_3_01;
-using random::ranlux64_4_01;
-#if !defined(BOOST_NO_INT64_T) && !defined(BOOST_NO_INTEGRAL_INT64_T)
-using random::ranlux64_3;
-using random::ranlux64_4;
-#endif
-
-} // namespace boost
-
-#endif // BOOST_RANDOM_LINEAR_CONGRUENTIAL_HPP
diff --git a/boost/random/seed_seq.hpp b/boost/random/seed_seq.hpp
deleted file mode 100644
index 8550040..0000000
--- a/boost/random/seed_seq.hpp
+++ /dev/null
@@ -1,118 +0,0 @@
-/* boost random/seed_seq.hpp header file
- *
- * Copyright Steven Watanabe 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 most recent version including documentation.
- *
- * $Id: seed_seq.hpp 85813 2013-09-21 20:17:00Z jewillco $
- *
- */
-
-#ifndef BOOST_RANDOM_SEED_SEQ_HPP
-#define BOOST_RANDOM_SEED_SEQ_HPP
-
-#include <boost/config.hpp>
-#include <boost/cstdint.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <cstddef>
-#include <vector>
-#include <algorithm>
-#include <iterator>
-
-#ifndef BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#include <initializer_list>
-#endif
-
-namespace boost {
-namespace random {
-
-/**
- * The class @c seed_seq stores a sequence of 32-bit words
- * for seeding a \pseudo_random_number_generator. These
- * words will be combined to fill the entire state of the
- * generator.
- */
-class seed_seq {
-public:
- typedef boost::uint_least32_t result_type;
-
- /** Initializes a seed_seq to hold an empty sequence. */
- seed_seq() {}
-#ifndef BOOST_NO_CXX11_HDR_INITIALIZER_LIST
- /** Initializes the sequence from an initializer_list. */
- template<class T>
- seed_seq(const std::initializer_list<T>& il) : v(il.begin(), il.end()) {}
-#endif
- /** Initializes the sequence from an iterator range. */
- template<class Iter>
- seed_seq(Iter first, Iter last) : v(first, last) {}
- /** Initializes the sequence from Boost.Range range. */
- template<class Range>
- explicit seed_seq(const Range& range)
- : v(boost::begin(range), boost::end(range)) {}
-
- /**
- * Fills a range with 32-bit values based on the stored sequence.
- *
- * Requires: Iter must be a Random Access Iterator whose value type
- * is an unsigned integral type at least 32 bits wide.
- */
- template<class Iter>
- void generate(Iter first, Iter last) const
- {
- typedef typename std::iterator_traits<Iter>::value_type value_type;
- std::fill(first, last, static_cast<value_type>(0x8b8b8b8bu));
- std::size_t s = v.size();
- std::size_t n = last - first;
- std::size_t t =
- (n >= 623) ? 11 :
- (n >= 68) ? 7 :
- (n >= 39) ? 5 :
- (n >= 7) ? 3 :
- (n - 1)/2;
- std::size_t p = (n - t) / 2;
- std::size_t q = p + t;
- std::size_t m = (std::max)(s+1, n);
- value_type mask = 0xffffffffu;
- for(std::size_t k = 0; k < m; ++k) {
- value_type r1 =
- *(first + k%n) ^ *(first + (k+p)%n) ^ *(first + (k+n-1)%n);
- r1 = r1 ^ (r1 >> 27);
- r1 = (r1 * 1664525u) & mask;
- value_type r2 = r1 +
- ((k == 0) ? s :
- (k <= s) ? k % n + v[k - 1] :
- (k % n));
- *(first + (k+p)%n) = (*(first + (k+p)%n) + r1) & mask;
- *(first + (k+q)%n) = (*(first + (k+q)%n) + r2) & mask;
- *(first + k%n) = r2;
- }
- for(std::size_t k = m; k < m + n; ++k) {
- value_type r3 =
- (*(first + k%n) + *(first + (k+p)%n) + *(first + (k+n-1)%n))
- & mask;
- r3 = r3 ^ (r3 >> 27);
- r3 = (r3 * 1566083941u) & mask;
- value_type r4 = r3 - k%m;
- *(first + (k+p)%n) ^= r3;
- *(first + (k+q)%n) ^= r4;
- *(first + k%n) = r4;
- }
- }
- /** Returns the size of the sequence. */
- std::size_t size() const { return v.size(); }
- /** Writes the stored sequence to iter. */
- template<class Iter>
- void param(Iter out) { std::copy(v.begin(), v.end(), out); }
-private:
- std::vector<result_type> v;
-};
-
-}
-}
-
-#endif
diff --git a/boost/random/shuffle_order.hpp b/boost/random/shuffle_order.hpp
deleted file mode 100644
index 1c8d875..0000000
--- a/boost/random/shuffle_order.hpp
+++ /dev/null
@@ -1,269 +0,0 @@
-/* boost random/shuffle_order.hpp header file
- *
- * Copyright Jens Maurer 2000-2001
- * Copyright Steven Watanabe 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 most recent version including documentation.
- *
- * $Id: shuffle_order.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- *
- */
-
-#ifndef BOOST_RANDOM_SHUFFLE_ORDER_HPP
-#define BOOST_RANDOM_SHUFFLE_ORDER_HPP
-
-#include <iostream>
-#include <algorithm> // std::copy
-#include <cassert>
-#include <boost/config.hpp>
-#include <boost/limits.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/cstdint.hpp>
-#include <boost/random/detail/operators.hpp>
-#include <boost/random/detail/seed.hpp>
-#include <boost/random/detail/signed_unsigned_tools.hpp>
-#include <boost/random/linear_congruential.hpp>
-
-#include <boost/random/detail/disable_warnings.hpp>
-
-namespace boost {
-namespace random {
-
-/**
- * Instatiations of class template @c shuffle_order_engine model a
- * \pseudo_random_number_generator. It mixes the output
- * of some (usually \linear_congruential_engine)
- * \uniform_random_number_generator to get better statistical properties.
- * The algorithm is described in
- *
- * @blockquote
- * "Improving a poor random number generator", Carter Bays
- * and S.D. Durham, ACM Transactions on Mathematical Software,
- * Vol 2, No. 1, March 1976, pp. 59-64.
- * http://doi.acm.org/10.1145/355666.355670
- * @endblockquote
- *
- * The output of the base generator is buffered in an array of
- * length k. Every output X(n) has a second role: It gives an
- * index into the array where X(n+1) will be retrieved. Used
- * array elements are replaced with fresh output from the base
- * generator.
- *
- * Template parameters are the base generator and the array
- * length k, which should be around 100.
- */
-template<class UniformRandomNumberGenerator, std::size_t k>
-class shuffle_order_engine
-{
-public:
- typedef UniformRandomNumberGenerator base_type;
- typedef typename base_type::result_type result_type;
-
- BOOST_STATIC_CONSTANT(bool, has_fixed_range = false);
- BOOST_STATIC_CONSTANT(std::size_t, buffer_size = k);
- BOOST_STATIC_CONSTANT(std::size_t, table_size = k);
-
- BOOST_STATIC_ASSERT(std::numeric_limits<result_type>::is_integer);
- BOOST_STATIC_ASSERT(k > 0);
-
- /**
- * Constructs a @c shuffle_order_engine by invoking the
- * default constructor of the base generator.
- *
- * Complexity: Exactly k+1 invocations of the base generator.
- */
- shuffle_order_engine() : _rng() { init(); }
- /**
- * Constructs a @c shuffle_output_engine by invoking the one-argument
- * constructor of the base generator with the parameter seed.
- *
- * Complexity: Exactly k+1 invocations of the base generator.
- */
- BOOST_RANDOM_DETAIL_ARITHMETIC_CONSTRUCTOR(shuffle_order_engine,
- result_type, s)
- { _rng.seed(s); init(); }
- BOOST_RANDOM_DETAIL_SEED_SEQ_CONSTRUCTOR(shuffle_order_engine, SeedSeq, seq)
- { _rng.seed(seq); init(); }
- /**
- * Constructs a @c shuffle_output_engine by using a copy
- * of the provided generator.
- *
- * Precondition: The template argument UniformRandomNumberGenerator
- * shall denote a CopyConstructible type.
- *
- * Complexity: Exactly k+1 invocations of the base generator.
- */
- explicit shuffle_order_engine(const base_type & rng) : _rng(rng) { init(); }
-
-#ifndef BOOST_NO_RVALUE_REFERENCES
- explicit shuffle_order_engine(base_type&& rng) : _rng(rng) { init(); }
-#endif
-
- template<class It> shuffle_order_engine(It& first, It last)
- : _rng(first, last) { init(); }
- void seed() { _rng.seed(); init(); }
- /**
- * Invokes the one-argument seed method of the base generator
- * with the parameter seed and re-initializes the internal buffer array.
- *
- * Complexity: Exactly k+1 invocations of the base generator.
- */
- BOOST_RANDOM_DETAIL_ARITHMETIC_SEED(shuffle_order_engine,
- result_type, seed_arg)
- { _rng.seed(seed_arg); init(); }
- /**
- * Invokes the one-argument seed method of the base generator
- * with the parameter seq and re-initializes the internal buffer array.
- *
- * Complexity: Exactly k+1 invocations of the base generator.
- */
- BOOST_RANDOM_DETAIL_SEED_SEQ_SEED(shuffle_order_engine, SeedSeq, seq)
- { _rng.seed(seq); init(); }
- template<class It> void seed(It& first, It last)
- { _rng.seed(first, last); init(); }
-
- const base_type& base() const { return _rng; }
-
- result_type operator()() {
- // calculating the range every time may seem wasteful. However, this
- // makes the information locally available for the optimizer.
- typedef typename make_unsigned<result_type>::type base_unsigned;
- const base_unsigned brange =
- detail::subtract<result_type>()((max)(), (min)());
- const base_unsigned off =
- detail::subtract<result_type>()(y, (min)());
-
- base_unsigned j;
- if(k == 1) {
- j = 0;
- } else if(brange < (std::numeric_limits<base_unsigned>::max)() / k) {
- // try to do it in the native type if we know that it won't
- // overflow
- j = k * off / (brange + 1);
- } else if(brange < (std::numeric_limits<uintmax_t>::max)() / k) {
- // Otherwise try to use uint64_t
- j = static_cast<base_unsigned>(
- static_cast<uintmax_t>(off) * k /
- (static_cast<uintmax_t>(brange) + 1));
- } else {
- boost::uintmax_t divisor =
- static_cast<boost::uintmax_t>(brange) + 1;
- j = static_cast<base_unsigned>(detail::muldiv(off, k, divisor));
- }
- // assert(0 <= j && j < k);
- y = v[j];
- v[j] = _rng();
- return y;
- }
-
- /** Advances the generator by z steps. */
- void discard(boost::uintmax_t z)
- {
- for(boost::uintmax_t j = 0; j < z; ++j) {
- (*this)();
- }
- }
-
- /** Fills a range with pseudo-random values. */
- template<class Iter>
- void generate(Iter first, Iter last)
- { detail::generate_from_int(*this, first, last); }
-
- /** Returns the smallest value that the generator can produce. */
- static result_type min BOOST_PREVENT_MACRO_SUBSTITUTION ()
- { return (base_type::min)(); }
- /** Returns the largest value that the generator can produce. */
- static result_type max BOOST_PREVENT_MACRO_SUBSTITUTION ()
- { return (base_type::max)(); }
-
- /** Writes a @c shuffle_order_engine to a @c std::ostream. */
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, shuffle_order_engine, s)
- {
- os << s._rng;
- for(std::size_t i = 0; i < k; ++i)
- os << ' ' << s.v[i];
- os << ' ' << s.y;
- return os;
- }
-
- /** Reads a @c shuffle_order_engine from a @c std::istream. */
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, shuffle_order_engine, s)
- {
- is >> s._rng;
- for(std::size_t i = 0; i < k; ++i)
- is >> std::ws >> s.v[i];
- is >> std::ws >> s.y;
- return is;
- }
-
- /** Returns true if the two generators will produce identical sequences. */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(shuffle_order_engine, x, y)
- { return x._rng == y._rng && x.y == y.y && std::equal(x.v, x.v+k, y.v); }
- /** Returns true if the two generators will produce different sequences. */
- BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(shuffle_order_engine)
-
-private:
-
- /// \cond show_private
-
- void init()
- {
- // we cannot use std::generate, because it uses pass-by-value for _rng
- for(result_type * p = v; p != v+k; ++p)
- *p = _rng();
- y = _rng();
- }
-
- /// \endcond
-
- base_type _rng;
- result_type v[k];
- result_type y;
-};
-
-#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-// A definition is required even for integral static constants
-template<class URNG, std::size_t k>
-const bool shuffle_order_engine<URNG, k>::has_fixed_range;
-template<class URNG, std::size_t k>
-const std::size_t shuffle_order_engine<URNG, k>::table_size;
-template<class URNG, std::size_t k>
-const std::size_t shuffle_order_engine<URNG, k>::buffer_size;
-#endif
-
-/**
- * According to Harry Erwin (private e-mail), the specialization
- * @c kreutzer1986 was suggested in:
- *
- * @blockquote
- * "System Simulation: Programming Styles and Languages (International
- * Computer Science Series)", Wolfgang Kreutzer, Addison-Wesley, December 1986.
- * @endblockquote
- */
-typedef shuffle_order_engine<
- linear_congruential_engine<uint32_t, 1366, 150889, 714025>,
- 97> kreutzer1986;
-
-/**
- * The specialization @c knuth_b is specified by the C++ standard.
- * It is described in
- *
- * @blockquote
- * "The Art of Computer Programming, Second Edition, Volume 2,
- * Seminumerical Algorithms", Donald Knuth, Addison-Wesley, 1981.
- * @endblockquote
- */
-typedef shuffle_order_engine<minstd_rand0, 256> knuth_b;
-
-} // namespace random
-
-using random::kreutzer1986;
-
-} // namespace boost
-
-#include <boost/random/detail/enable_warnings.hpp>
-
-#endif // BOOST_RANDOM_SHUFFLE_OUTPUT_HPP
diff --git a/boost/random/shuffle_output.hpp b/boost/random/shuffle_output.hpp
deleted file mode 100644
index 44b823f..0000000
--- a/boost/random/shuffle_output.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-/* boost random/shuffle_output.hpp header file
- *
- * Copyright Jens Maurer 2000-2001
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: shuffle_output.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- *
- * Revision history
- * 2001-02-18 moved to individual header files
- */
-
-#ifndef BOOST_RANDOM_SHUFFLE_OUTPUT_HPP
-#define BOOST_RANDOM_SHUFFLE_OUTPUT_HPP
-
-#include <boost/random/shuffle_order.hpp>
-
-namespace boost {
-namespace random {
-
-/// \cond
-
-template<typename URNG, int k,
- typename URNG::result_type val = 0>
-class shuffle_output : public shuffle_order_engine<URNG, k>
-{
- typedef shuffle_order_engine<URNG, k> base_t;
- typedef typename base_t::result_type result_type;
-public:
- shuffle_output() {}
- template<class T>
- shuffle_output(T& arg) : base_t(arg) {}
- template<class T>
- shuffle_output(const T& arg) : base_t(arg) {}
- template<class It>
- shuffle_output(It& first, It last) : base_t(first, last) {}
- result_type min BOOST_PREVENT_MACRO_SUBSTITUTION ()
- { return (this->base().min)(); }
- result_type max BOOST_PREVENT_MACRO_SUBSTITUTION ()
- { return (this->base().max)(); }
-};
-
-/// \endcond
-
-}
-}
-
-#endif // BOOST_RANDOM_SHUFFLE_OUTPUT_HPP
diff --git a/boost/random/student_t_distribution.hpp b/boost/random/student_t_distribution.hpp
deleted file mode 100644
index 665afdb..0000000
--- a/boost/random/student_t_distribution.hpp
+++ /dev/null
@@ -1,180 +0,0 @@
-/* boost random/student_t_distribution.hpp header file
- *
- * Copyright Steven Watanabe 2011
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: student_t_distribution.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- */
-
-#ifndef BOOST_RANDOM_STUDENT_T_DISTRIBUTION_HPP
-#define BOOST_RANDOM_STUDENT_T_DISTRIBUTION_HPP
-
-#include <boost/config/no_tr1/cmath.hpp>
-#include <iosfwd>
-#include <boost/config.hpp>
-#include <boost/limits.hpp>
-#include <boost/random/detail/operators.hpp>
-#include <boost/random/chi_squared_distribution.hpp>
-#include <boost/random/normal_distribution.hpp>
-
-namespace boost {
-namespace random {
-
-/**
- * The Student t distribution is a real valued distribution with one
- * parameter n, the number of degrees of freedom.
- *
- * It has \f$\displaystyle p(x) =
- * \frac{1}{\sqrt{n\pi}}
- * \frac{\Gamma((n+1)/2)}{\Gamma(n/2)}
- * \left(1+\frac{x^2}{n}\right)^{-(n+1)/2}
- * \f$.
- */
-template<class RealType = double>
-class student_t_distribution {
-public:
- typedef RealType result_type;
- typedef RealType input_type;
-
- class param_type {
- public:
- typedef student_t_distribution distribution_type;
-
- /**
- * Constructs a @c param_type with "n" degrees of freedom.
- *
- * Requires: n > 0
- */
- explicit param_type(RealType n_arg = RealType(1.0))
- : _n(n_arg)
- {}
-
- /** Returns the number of degrees of freedom of the distribution. */
- RealType n() const { return _n; }
-
- /** Writes a @c param_type to a @c std::ostream. */
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, param_type, parm)
- { os << parm._n; return os; }
-
- /** Reads a @c param_type from a @c std::istream. */
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, param_type, parm)
- { is >> parm._n; return is; }
-
- /** Returns true if the two sets of parameters are the same. */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(param_type, lhs, rhs)
- { return lhs._n == rhs._n; }
-
- /** Returns true if the two sets of parameters are the different. */
- BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(param_type)
-
- private:
- RealType _n;
- };
-
- /**
- * Constructs an @c student_t_distribution with "n" degrees of freedom.
- *
- * Requires: n > 0
- */
- explicit student_t_distribution(RealType n_arg = RealType(1.0))
- : _normal(), _chi_squared(n_arg)
- {}
- /** Constructs an @c student_t_distribution from its parameters. */
- explicit student_t_distribution(const param_type& parm)
- : _normal(), _chi_squared(parm.n())
- {}
-
- /**
- * Returns a random variate distributed according to the
- * Student t distribution.
- */
- template<class URNG>
- RealType operator()(URNG& urng)
- {
- using std::sqrt;
- return _normal(urng) / sqrt(_chi_squared(urng) / n());
- }
-
- /**
- * Returns a random variate distributed accordint to the Student
- * t distribution with parameters specified by @c param.
- */
- template<class URNG>
- RealType operator()(URNG& urng, const param_type& parm) const
- {
- return student_t_distribution(parm)(urng);
- }
-
- /** Returns the number of degrees of freedom. */
- RealType n() const { return _chi_squared.n(); }
-
- /** Returns the smallest value that the distribution can produce. */
- RealType min BOOST_PREVENT_MACRO_SUBSTITUTION () const
- { return -std::numeric_limits<RealType>::infinity(); }
- /** Returns the largest value that the distribution can produce. */
- RealType max BOOST_PREVENT_MACRO_SUBSTITUTION () const
- { return std::numeric_limits<RealType>::infinity(); }
-
- /** Returns the parameters of the distribution. */
- param_type param() const { return param_type(n()); }
- /** Sets the parameters of the distribution. */
- void param(const param_type& parm)
- {
- typedef chi_squared_distribution<RealType> chi_squared_type;
- typename chi_squared_type::param_type chi_squared_param(parm.n());
- _chi_squared.param(chi_squared_param);
- }
-
- /**
- * Effects: Subsequent uses of the distribution do not depend
- * on values produced by any engine prior to invoking reset.
- */
- void reset()
- {
- _normal.reset();
- _chi_squared.reset();
- }
-
- /** Writes a @c student_t_distribution to a @c std::ostream. */
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, student_t_distribution, td)
- {
- os << td.param();
- return os;
- }
-
- /** Reads a @c student_t_distribution from a @c std::istream. */
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, student_t_distribution, td)
- {
- param_type parm;
- if(is >> parm) {
- td.param(parm);
- }
- return is;
- }
-
- /**
- * Returns true if the two instances of @c student_t_distribution will
- * return identical sequences of values given equal generators.
- */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(student_t_distribution, lhs, rhs)
- { return lhs._normal == rhs._normal && lhs._chi_squared == rhs._chi_squared; }
-
- /**
- * Returns true if the two instances of @c student_t_distribution will
- * return different sequences of values given equal generators.
- */
- BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(student_t_distribution)
-
-private:
- normal_distribution<RealType> _normal;
- chi_squared_distribution<RealType> _chi_squared;
-};
-
-} // namespace random
-} // namespace boost
-
-#endif // BOOST_RANDOM_STUDENT_T_DISTRIBUTION_HPP
diff --git a/boost/random/subtract_with_carry.hpp b/boost/random/subtract_with_carry.hpp
deleted file mode 100644
index fa82260..0000000
--- a/boost/random/subtract_with_carry.hpp
+++ /dev/null
@@ -1,613 +0,0 @@
-/* boost random/subtract_with_carry.hpp header file
- *
- * Copyright Jens Maurer 2002
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: subtract_with_carry.hpp 85813 2013-09-21 20:17:00Z jewillco $
- *
- * Revision history
- * 2002-03-02 created
- */
-
-#ifndef BOOST_RANDOM_SUBTRACT_WITH_CARRY_HPP
-#define BOOST_RANDOM_SUBTRACT_WITH_CARRY_HPP
-
-#include <boost/config/no_tr1/cmath.hpp> // std::pow
-#include <iostream>
-#include <algorithm> // std::equal
-#include <stdexcept>
-#include <boost/config.hpp>
-#include <boost/limits.hpp>
-#include <boost/cstdint.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/integer/static_log2.hpp>
-#include <boost/integer/integer_mask.hpp>
-#include <boost/detail/workaround.hpp>
-#include <boost/random/detail/config.hpp>
-#include <boost/random/detail/seed.hpp>
-#include <boost/random/detail/operators.hpp>
-#include <boost/random/detail/seed_impl.hpp>
-#include <boost/random/detail/generator_seed_seq.hpp>
-#include <boost/random/linear_congruential.hpp>
-
-
-namespace boost {
-namespace random {
-
-namespace detail {
-
-struct subtract_with_carry_discard
-{
- template<class Engine>
- static void apply(Engine& eng, boost::uintmax_t z)
- {
- typedef typename Engine::result_type IntType;
- const std::size_t short_lag = Engine::short_lag;
- const std::size_t long_lag = Engine::long_lag;
- std::size_t k = eng.k;
- IntType carry = eng.carry;
- if(k != 0) {
- // increment k until it becomes 0.
- if(k < short_lag) {
- std::size_t limit = (short_lag - k) < z?
- short_lag : (k + static_cast<std::size_t>(z));
- for(std::size_t j = k; j < limit; ++j) {
- carry = eng.do_update(j, j + long_lag - short_lag, carry);
- }
- }
- std::size_t limit = (long_lag - k) < z?
- long_lag : (k + static_cast<std::size_t>(z));
- std::size_t start = (k < short_lag ? short_lag : k);
- for(std::size_t j = start; j < limit; ++j) {
- carry = eng.do_update(j, j - short_lag, carry);
- }
- }
-
- k = ((z % long_lag) + k) % long_lag;
-
- if(k < z) {
- // main loop: update full blocks from k = 0 to long_lag
- for(std::size_t i = 0; i < (z - k) / long_lag; ++i) {
- for(std::size_t j = 0; j < short_lag; ++j) {
- carry = eng.do_update(j, j + long_lag - short_lag, carry);
- }
- for(std::size_t j = short_lag; j < long_lag; ++j) {
- carry = eng.do_update(j, j - short_lag, carry);
- }
- }
-
- // Update the last partial block
- std::size_t limit = short_lag < k? short_lag : k;
- for(std::size_t j = 0; j < limit; ++j) {
- carry = eng.do_update(j, j + long_lag - short_lag, carry);
- }
- for(std::size_t j = short_lag; j < k; ++j) {
- carry = eng.do_update(j, j - short_lag, carry);
- }
- }
- eng.carry = carry;
- eng.k = k;
- }
-};
-
-}
-
-/**
- * Instantiations of @c subtract_with_carry_engine model a
- * \pseudo_random_number_generator. The algorithm is
- * described in
- *
- * @blockquote
- * "A New Class of Random Number Generators", George
- * Marsaglia and Arif Zaman, Annals of Applied Probability,
- * Volume 1, Number 3 (1991), 462-480.
- * @endblockquote
- */
-template<class IntType, std::size_t w, std::size_t s, std::size_t r>
-class subtract_with_carry_engine
-{
-public:
- typedef IntType result_type;
- BOOST_STATIC_CONSTANT(std::size_t, word_size = w);
- BOOST_STATIC_CONSTANT(std::size_t, long_lag = r);
- BOOST_STATIC_CONSTANT(std::size_t, short_lag = s);
- BOOST_STATIC_CONSTANT(uint32_t, default_seed = 19780503u);
-
- // Required by the old Boost.Random concepts
- BOOST_STATIC_CONSTANT(bool, has_fixed_range = false);
- // Backwards compatibility
- BOOST_STATIC_CONSTANT(result_type, modulus = (result_type(1) << w));
-
- BOOST_STATIC_ASSERT(std::numeric_limits<result_type>::is_integer);
-
- /**
- * Constructs a new @c subtract_with_carry_engine and seeds
- * it with the default seed.
- */
- subtract_with_carry_engine() { seed(); }
- /**
- * Constructs a new @c subtract_with_carry_engine and seeds
- * it with @c value.
- */
- BOOST_RANDOM_DETAIL_ARITHMETIC_CONSTRUCTOR(subtract_with_carry_engine,
- IntType, value)
- { seed(value); }
- /**
- * Constructs a new @c subtract_with_carry_engine and seeds
- * it with values produced by @c seq.generate().
- */
- BOOST_RANDOM_DETAIL_SEED_SEQ_CONSTRUCTOR(subtract_with_carry_engine,
- SeedSeq, seq)
- { seed(seq); }
- /**
- * Constructs a new @c subtract_with_carry_engine and seeds
- * it with values from a range. first is updated to point
- * one past the last value consumed. If there are not
- * enough elements in the range to fill the entire state of
- * the generator, throws @c std::invalid_argument.
- */
- template<class It> subtract_with_carry_engine(It& first, It last)
- { seed(first,last); }
-
- // compiler-generated copy ctor and assignment operator are fine
-
- /** Seeds the generator with the default seed. */
- void seed() { seed(default_seed); }
- BOOST_RANDOM_DETAIL_ARITHMETIC_SEED(subtract_with_carry_engine,
- IntType, value)
- {
- typedef linear_congruential_engine<uint32_t,40014,0,2147483563> gen_t;
- gen_t intgen(static_cast<boost::uint32_t>(value == 0 ? default_seed : value));
- detail::generator_seed_seq<gen_t> gen(intgen);
- seed(gen);
- }
-
- /** Seeds the generator with values produced by @c seq.generate(). */
- BOOST_RANDOM_DETAIL_SEED_SEQ_SEED(subtract_with_carry, SeedSeq, seq)
- {
- detail::seed_array_int<w>(seq, x);
- carry = (x[long_lag-1] == 0);
- k = 0;
- }
-
- /**
- * Seeds the generator with values from a range. Updates @c first to
- * point one past the last consumed value. If the range does not
- * contain enough elements to fill the entire state of the generator,
- * throws @c std::invalid_argument.
- */
- template<class It>
- void seed(It& first, It last)
- {
- detail::fill_array_int<w>(first, last, x);
- carry = (x[long_lag-1] == 0);
- k = 0;
- }
-
- /** Returns the smallest value that the generator can produce. */
- static result_type min BOOST_PREVENT_MACRO_SUBSTITUTION ()
- { return 0; }
- /** Returns the largest value that the generator can produce. */
- static result_type max BOOST_PREVENT_MACRO_SUBSTITUTION ()
- { return boost::low_bits_mask_t<w>::sig_bits; }
-
- /** Returns the next value of the generator. */
- result_type operator()()
- {
- std::size_t short_index =
- (k < short_lag)?
- (k + long_lag - short_lag) :
- (k - short_lag);
- carry = do_update(k, short_index, carry);
- IntType result = x[k];
- ++k;
- if(k >= long_lag)
- k = 0;
- return result;
- }
-
- /** Advances the state of the generator by @c z. */
- void discard(boost::uintmax_t z)
- {
- detail::subtract_with_carry_discard::apply(*this, z);
- }
-
- /** Fills a range with random values. */
- template<class It>
- void generate(It first, It last)
- { detail::generate_from_int(*this, first, last); }
-
- /** Writes a @c subtract_with_carry_engine to a @c std::ostream. */
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, subtract_with_carry_engine, f)
- {
- for(unsigned int j = 0; j < f.long_lag; ++j)
- os << f.compute(j) << ' ';
- os << f.carry;
- return os;
- }
-
- /** Reads a @c subtract_with_carry_engine from a @c std::istream. */
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, subtract_with_carry_engine, f)
- {
- for(unsigned int j = 0; j < f.long_lag; ++j)
- is >> f.x[j] >> std::ws;
- is >> f.carry;
- f.k = 0;
- return is;
- }
-
- /**
- * Returns true if the two generators will produce identical
- * sequences of values.
- */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(subtract_with_carry_engine, x, y)
- {
- for(unsigned int j = 0; j < r; ++j)
- if(x.compute(j) != y.compute(j))
- return false;
- return true;
- }
-
- /**
- * Returns true if the two generators will produce different
- * sequences of values.
- */
- BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(subtract_with_carry_engine)
-
-private:
- /// \cond show_private
- // returns x(i-r+index), where index is in 0..r-1
- IntType compute(unsigned int index) const
- {
- return x[(k+index) % long_lag];
- }
-
- friend struct detail::subtract_with_carry_discard;
-
- IntType do_update(std::size_t current, std::size_t short_index, IntType carry)
- {
- IntType delta;
- IntType temp = x[current] + carry;
- if (x[short_index] >= temp) {
- // x(n) >= 0
- delta = x[short_index] - temp;
- carry = 0;
- } else {
- // x(n) < 0
- delta = modulus - temp + x[short_index];
- carry = 1;
- }
- x[current] = delta;
- return carry;
- }
- /// \endcond
-
- // state representation; next output (state) is x(i)
- // x[0] ... x[k] x[k+1] ... x[long_lag-1] represents
- // x(i-k) ... x(i) x(i+1) ... x(i-k+long_lag-1)
- // speed: base: 20-25 nsec
- // ranlux_4: 230 nsec, ranlux_7: 430 nsec, ranlux_14: 810 nsec
- // This state representation makes operator== and save/restore more
- // difficult, because we've already computed "too much" and thus
- // have to undo some steps to get at x(i-r) etc.
-
- // state representation: next output (state) is x(i)
- // x[0] ... x[k] x[k+1] ... x[long_lag-1] represents
- // x(i-k) ... x(i) x(i-long_lag+1) ... x(i-k-1)
- // speed: base 28 nsec
- // ranlux_4: 370 nsec, ranlux_7: 688 nsec, ranlux_14: 1343 nsec
- IntType x[long_lag];
- std::size_t k;
- IntType carry;
-};
-
-#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-// A definition is required even for integral static constants
-template<class IntType, std::size_t w, std::size_t s, std::size_t r>
-const bool subtract_with_carry_engine<IntType, w, s, r>::has_fixed_range;
-template<class IntType, std::size_t w, std::size_t s, std::size_t r>
-const IntType subtract_with_carry_engine<IntType, w, s, r>::modulus;
-template<class IntType, std::size_t w, std::size_t s, std::size_t r>
-const std::size_t subtract_with_carry_engine<IntType, w, s, r>::word_size;
-template<class IntType, std::size_t w, std::size_t s, std::size_t r>
-const std::size_t subtract_with_carry_engine<IntType, w, s, r>::long_lag;
-template<class IntType, std::size_t w, std::size_t s, std::size_t r>
-const std::size_t subtract_with_carry_engine<IntType, w, s, r>::short_lag;
-template<class IntType, std::size_t w, std::size_t s, std::size_t r>
-const uint32_t subtract_with_carry_engine<IntType, w, s, r>::default_seed;
-#endif
-
-
-// use a floating-point representation to produce values in [0..1)
-/**
- * Instantiations of \subtract_with_carry_01_engine model a
- * \pseudo_random_number_generator. The algorithm is
- * described in
- *
- * @blockquote
- * "A New Class of Random Number Generators", George
- * Marsaglia and Arif Zaman, Annals of Applied Probability,
- * Volume 1, Number 3 (1991), 462-480.
- * @endblockquote
- */
-template<class RealType, std::size_t w, std::size_t s, std::size_t r>
-class subtract_with_carry_01_engine
-{
-public:
- typedef RealType result_type;
- BOOST_STATIC_CONSTANT(bool, has_fixed_range = false);
- BOOST_STATIC_CONSTANT(std::size_t, word_size = w);
- BOOST_STATIC_CONSTANT(std::size_t, long_lag = r);
- BOOST_STATIC_CONSTANT(std::size_t, short_lag = s);
- BOOST_STATIC_CONSTANT(boost::uint32_t, default_seed = 19780503u);
-
- BOOST_STATIC_ASSERT(!std::numeric_limits<result_type>::is_integer);
-
- /** Creates a new \subtract_with_carry_01_engine using the default seed. */
- subtract_with_carry_01_engine() { init_modulus(); seed(); }
- /** Creates a new subtract_with_carry_01_engine and seeds it with value. */
- BOOST_RANDOM_DETAIL_ARITHMETIC_CONSTRUCTOR(subtract_with_carry_01_engine,
- boost::uint32_t, value)
- { init_modulus(); seed(value); }
- /**
- * Creates a new \subtract_with_carry_01_engine and seeds with values
- * produced by seq.generate().
- */
- BOOST_RANDOM_DETAIL_SEED_SEQ_CONSTRUCTOR(subtract_with_carry_01_engine,
- SeedSeq, seq)
- { init_modulus(); seed(seq); }
- /**
- * Creates a new \subtract_with_carry_01_engine and seeds it with values
- * from a range. Advances first to point one past the last consumed
- * value. If the range does not contain enough elements to fill the
- * entire state, throws @c std::invalid_argument.
- */
- template<class It> subtract_with_carry_01_engine(It& first, It last)
- { init_modulus(); seed(first,last); }
-
-private:
- /// \cond show_private
- void init_modulus()
- {
-#ifndef BOOST_NO_STDC_NAMESPACE
- // allow for Koenig lookup
- using std::pow;
-#endif
- _modulus = pow(RealType(2), RealType(word_size));
- }
- /// \endcond
-
-public:
- // compiler-generated copy ctor and assignment operator are fine
-
- /** Seeds the generator with the default seed. */
- void seed() { seed(default_seed); }
-
- /** Seeds the generator with @c value. */
- BOOST_RANDOM_DETAIL_ARITHMETIC_SEED(subtract_with_carry_01_engine,
- boost::uint32_t, value)
- {
- typedef linear_congruential_engine<uint32_t, 40014, 0, 2147483563> gen_t;
- gen_t intgen(value == 0 ? default_seed : value);
- detail::generator_seed_seq<gen_t> gen(intgen);
- seed(gen);
- }
-
- /** Seeds the generator with values produced by @c seq.generate(). */
- BOOST_RANDOM_DETAIL_SEED_SEQ_SEED(subtract_with_carry_01_engine,
- SeedSeq, seq)
- {
- detail::seed_array_real<w>(seq, x);
- carry = (x[long_lag-1] ? 0 : 1 / _modulus);
- k = 0;
- }
-
- /**
- * Seeds the generator with values from a range. Updates first to
- * point one past the last consumed element. If there are not
- * enough elements in the range to fill the entire state, throws
- * @c std::invalid_argument.
- */
- template<class It>
- void seed(It& first, It last)
- {
- detail::fill_array_real<w>(first, last, x);
- carry = (x[long_lag-1] ? 0 : 1 / _modulus);
- k = 0;
- }
-
- /** Returns the smallest value that the generator can produce. */
- static result_type min BOOST_PREVENT_MACRO_SUBSTITUTION ()
- { return result_type(0); }
- /** Returns the largest value that the generator can produce. */
- static result_type max BOOST_PREVENT_MACRO_SUBSTITUTION ()
- { return result_type(1); }
-
- /** Returns the next value of the generator. */
- result_type operator()()
- {
- std::size_t short_index =
- (k < short_lag) ?
- (k + long_lag - short_lag) :
- (k - short_lag);
- carry = do_update(k, short_index, carry);
- RealType result = x[k];
- ++k;
- if(k >= long_lag)
- k = 0;
- return result;
- }
-
- /** Advances the state of the generator by @c z. */
- void discard(boost::uintmax_t z)
- { detail::subtract_with_carry_discard::apply(*this, z); }
-
- /** Fills a range with random values. */
- template<class Iter>
- void generate(Iter first, Iter last)
- { detail::generate_from_real(*this, first, last); }
-
- /** Writes a \subtract_with_carry_01_engine to a @c std::ostream. */
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, subtract_with_carry_01_engine, f)
- {
- std::ios_base::fmtflags oldflags =
- os.flags(os.dec | os.fixed | os.left);
- for(unsigned int j = 0; j < f.long_lag; ++j)
- os << (f.compute(j) * f._modulus) << ' ';
- os << (f.carry * f._modulus);
- os.flags(oldflags);
- return os;
- }
-
- /** Reads a \subtract_with_carry_01_engine from a @c std::istream. */
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, subtract_with_carry_01_engine, f)
- {
- RealType value;
- for(unsigned int j = 0; j < long_lag; ++j) {
- is >> value >> std::ws;
- f.x[j] = value / f._modulus;
- }
- is >> value;
- f.carry = value / f._modulus;
- f.k = 0;
- return is;
- }
-
- /** Returns true if the two generators will produce identical sequences. */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(subtract_with_carry_01_engine, x, y)
- {
- for(unsigned int j = 0; j < r; ++j)
- if(x.compute(j) != y.compute(j))
- return false;
- return true;
- }
-
- /** Returns true if the two generators will produce different sequences. */
- BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(subtract_with_carry_01_engine)
-
-private:
- /// \cond show_private
- RealType compute(unsigned int index) const
- {
- return x[(k+index) % long_lag];
- }
-
- friend struct detail::subtract_with_carry_discard;
-
- RealType do_update(std::size_t current, std::size_t short_index, RealType carry)
- {
- RealType delta = x[short_index] - x[current] - carry;
- if(delta < 0) {
- delta += RealType(1);
- carry = RealType(1)/_modulus;
- } else {
- carry = 0;
- }
- x[current] = delta;
- return carry;
- }
- /// \endcond
- std::size_t k;
- RealType carry;
- RealType x[long_lag];
- RealType _modulus;
-};
-
-#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-// A definition is required even for integral static constants
-template<class RealType, std::size_t w, std::size_t s, std::size_t r>
-const bool subtract_with_carry_01_engine<RealType, w, s, r>::has_fixed_range;
-template<class RealType, std::size_t w, std::size_t s, std::size_t r>
-const std::size_t subtract_with_carry_01_engine<RealType, w, s, r>::word_size;
-template<class RealType, std::size_t w, std::size_t s, std::size_t r>
-const std::size_t subtract_with_carry_01_engine<RealType, w, s, r>::long_lag;
-template<class RealType, std::size_t w, std::size_t s, std::size_t r>
-const std::size_t subtract_with_carry_01_engine<RealType, w, s, r>::short_lag;
-template<class RealType, std::size_t w, std::size_t s, std::size_t r>
-const uint32_t subtract_with_carry_01_engine<RealType, w, s, r>::default_seed;
-#endif
-
-
-/// \cond show_deprecated
-
-template<class IntType, IntType m, unsigned s, unsigned r, IntType v>
-class subtract_with_carry :
- public subtract_with_carry_engine<IntType,
- boost::static_log2<m>::value, s, r>
-{
- typedef subtract_with_carry_engine<IntType,
- boost::static_log2<m>::value, s, r> base_type;
-public:
- subtract_with_carry() {}
- BOOST_RANDOM_DETAIL_GENERATOR_CONSTRUCTOR(subtract_with_carry, Gen, gen)
- { seed(gen); }
- BOOST_RANDOM_DETAIL_ARITHMETIC_CONSTRUCTOR(subtract_with_carry,
- IntType, val)
- { seed(val); }
- template<class It>
- subtract_with_carry(It& first, It last) : base_type(first, last) {}
- void seed() { base_type::seed(); }
- BOOST_RANDOM_DETAIL_GENERATOR_SEED(subtract_with_carry, Gen, gen)
- {
- detail::generator_seed_seq<Gen> seq(gen);
- base_type::seed(seq);
- }
- BOOST_RANDOM_DETAIL_ARITHMETIC_SEED(subtract_with_carry, IntType, val)
- { base_type::seed(val); }
- template<class It>
- void seed(It& first, It last) { base_type::seed(first, last); }
-};
-
-template<class RealType, int w, unsigned s, unsigned r, int v = 0>
-class subtract_with_carry_01 :
- public subtract_with_carry_01_engine<RealType, w, s, r>
-{
- typedef subtract_with_carry_01_engine<RealType, w, s, r> base_type;
-public:
- subtract_with_carry_01() {}
- BOOST_RANDOM_DETAIL_GENERATOR_CONSTRUCTOR(subtract_with_carry_01, Gen, gen)
- { seed(gen); }
- BOOST_RANDOM_DETAIL_ARITHMETIC_CONSTRUCTOR(subtract_with_carry_01,
- uint32_t, val)
- { seed(val); }
- template<class It>
- subtract_with_carry_01(It& first, It last) : base_type(first, last) {}
- void seed() { base_type::seed(); }
- BOOST_RANDOM_DETAIL_GENERATOR_SEED(subtract_with_carry_01, Gen, gen)
- {
- detail::generator_seed_seq<Gen> seq(gen);
- base_type::seed(seq);
- }
- BOOST_RANDOM_DETAIL_ARITHMETIC_SEED(subtract_with_carry_01, uint32_t, val)
- { base_type::seed(val); }
- template<class It>
- void seed(It& first, It last) { base_type::seed(first, last); }
-};
-
-/// \endcond
-
-namespace detail {
-
-template<class Engine>
-struct generator_bits;
-
-template<class RealType, std::size_t w, std::size_t s, std::size_t r>
-struct generator_bits<subtract_with_carry_01_engine<RealType, w, s, r> > {
- static std::size_t value() { return w; }
-};
-
-template<class RealType, int w, unsigned s, unsigned r, int v>
-struct generator_bits<subtract_with_carry_01<RealType, w, s, r, v> > {
- static std::size_t value() { return w; }
-};
-
-}
-
-} // namespace random
-} // namespace boost
-
-#endif // BOOST_RANDOM_SUBTRACT_WITH_CARRY_HPP
diff --git a/boost/random/taus88.hpp b/boost/random/taus88.hpp
deleted file mode 100644
index c9d3810..0000000
--- a/boost/random/taus88.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-/* boost random/taus88.hpp header file
- *
- * Copyright Jens Maurer 2000-2001
- * Copyright Steven Watanabe 2011
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/random for documentation.
- *
- * $Id: taus88.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- *
- */
-
-#ifndef BOOST_RANDOM_TAUS88_HPP
-#define BOOST_RANDOM_TAUS88_HPP
-
-#include <boost/random/linear_feedback_shift.hpp>
-#include <boost/random/xor_combine.hpp>
-
-namespace boost {
-namespace random {
-
-/**
- * The specialization taus88 was suggested in
- *
- * @blockquote
- * "Maximally Equidistributed Combined Tausworthe Generators",
- * Pierre L'Ecuyer, Mathematics of Computation, Volume 65,
- * Number 213, January 1996, Pages 203-213
- * @endblockquote
- */
-typedef xor_combine_engine<
- xor_combine_engine<
- linear_feedback_shift_engine<uint32_t, 32, 31, 13, 12>, 0,
- linear_feedback_shift_engine<uint32_t, 32, 29, 2, 4>, 0>, 0,
- linear_feedback_shift_engine<uint32_t, 32, 28, 3, 17>, 0> taus88;
-
-} // namespace random
-
-using random::taus88;
-
-} // namespace boost
-
-#endif // BOOST_RANDOM_TAUS88_HPP
diff --git a/boost/random/triangle_distribution.hpp b/boost/random/triangle_distribution.hpp
deleted file mode 100644
index 8776000..0000000
--- a/boost/random/triangle_distribution.hpp
+++ /dev/null
@@ -1,232 +0,0 @@
-/* boost random/triangle_distribution.hpp header file
- *
- * Copyright Jens Maurer 2000-2001
- * Copyright Steven Watanabe 2011
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: triangle_distribution.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- *
- * Revision history
- * 2001-02-18 moved to individual header files
- */
-
-#ifndef BOOST_RANDOM_TRIANGLE_DISTRIBUTION_HPP
-#define BOOST_RANDOM_TRIANGLE_DISTRIBUTION_HPP
-
-#include <boost/config/no_tr1/cmath.hpp>
-#include <iosfwd>
-#include <ios>
-#include <istream>
-#include <boost/assert.hpp>
-#include <boost/random/detail/config.hpp>
-#include <boost/random/detail/operators.hpp>
-#include <boost/random/uniform_01.hpp>
-
-namespace boost {
-namespace random {
-
-/**
- * Instantiations of @c triangle_distribution model a \random_distribution.
- * A @c triangle_distribution has three parameters, @c a, @c b, and @c c,
- * which are the smallest, the most probable and the largest values of
- * the distribution respectively.
- */
-template<class RealType = double>
-class triangle_distribution
-{
-public:
- typedef RealType input_type;
- typedef RealType result_type;
-
- class param_type
- {
- public:
-
- typedef triangle_distribution distribution_type;
-
- /** Constructs the parameters of a @c triangle_distribution. */
- explicit param_type(RealType a_arg = RealType(0.0),
- RealType b_arg = RealType(0.5),
- RealType c_arg = RealType(1.0))
- : _a(a_arg), _b(b_arg), _c(c_arg)
- {
- BOOST_ASSERT(_a <= _b && _b <= _c);
- }
-
- /** Returns the minimum value of the distribution. */
- RealType a() const { return _a; }
- /** Returns the mode of the distribution. */
- RealType b() const { return _b; }
- /** Returns the maximum value of the distribution. */
- RealType c() const { return _c; }
-
- /** Writes the parameters to a @c std::ostream. */
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, param_type, parm)
- {
- os << parm._a << " " << parm._b << " " << parm._c;
- return os;
- }
-
- /** Reads the parameters from a @c std::istream. */
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, param_type, parm)
- {
- double a_in, b_in, c_in;
- if(is >> a_in >> std::ws >> b_in >> std::ws >> c_in) {
- if(a_in <= b_in && b_in <= c_in) {
- parm._a = a_in;
- parm._b = b_in;
- parm._c = c_in;
- } else {
- is.setstate(std::ios_base::failbit);
- }
- }
- return is;
- }
-
- /** Returns true if the two sets of parameters are equal. */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(param_type, lhs, rhs)
- { return lhs._a == rhs._a && lhs._b == rhs._b && lhs._c == rhs._c; }
-
- /** Returns true if the two sets of parameters are different. */
- BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(param_type)
-
- private:
- RealType _a;
- RealType _b;
- RealType _c;
- };
-
- /**
- * Constructs a @c triangle_distribution with the parameters
- * @c a, @c b, and @c c.
- *
- * Preconditions: a <= b <= c.
- */
- explicit triangle_distribution(RealType a_arg = RealType(0.0),
- RealType b_arg = RealType(0.5),
- RealType c_arg = RealType(1.0))
- : _a(a_arg), _b(b_arg), _c(c_arg)
- {
- BOOST_ASSERT(_a <= _b && _b <= _c);
- init();
- }
-
- /** Constructs a @c triangle_distribution from its parameters. */
- explicit triangle_distribution(const param_type& parm)
- : _a(parm.a()), _b(parm.b()), _c(parm.c())
- {
- init();
- }
-
- // compiler-generated copy ctor and assignment operator are fine
-
- /** Returns the @c a parameter of the distribution */
- result_type a() const { return _a; }
- /** Returns the @c b parameter of the distribution */
- result_type b() const { return _b; }
- /** Returns the @c c parameter of the distribution */
- result_type c() const { return _c; }
-
- /** Returns the smallest value that the distribution can produce. */
- RealType min BOOST_PREVENT_MACRO_SUBSTITUTION () const { return _a; }
- /** Returns the largest value that the distribution can produce. */
- RealType max BOOST_PREVENT_MACRO_SUBSTITUTION () const { return _c; }
-
- /** Returns the parameters of the distribution. */
- param_type param() const { return param_type(_a, _b, _c); }
- /** Sets the parameters of the distribution. */
- void param(const param_type& parm)
- {
- _a = parm.a();
- _b = parm.b();
- _c = parm.c();
- init();
- }
-
- /**
- * Effects: Subsequent uses of the distribution do not depend
- * on values produced by any engine prior to invoking reset.
- */
- void reset() { }
-
- /**
- * Returns a random variate distributed according to the
- * triangle distribution.
- */
- template<class Engine>
- result_type operator()(Engine& eng)
- {
- using std::sqrt;
- result_type u = uniform_01<>()(eng);
- if( u <= q1 )
- return _a + p1*sqrt(u);
- else
- return _c - d3*sqrt(d2*u-d1);
- }
-
- /**
- * Returns a random variate distributed according to the
- * triangle distribution with parameters specified by param.
- */
- template<class Engine>
- result_type operator()(Engine& eng, const param_type& parm)
- { return triangle_distribution(parm)(eng); }
-
- /** Writes the distribution to a @c std::ostream. */
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, triangle_distribution, td)
- {
- os << td.param();
- return os;
- }
-
- /** Reads the distribution from a @c std::istream. */
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, triangle_distribution, td)
- {
- param_type parm;
- if(is >> parm) {
- td.param(parm);
- }
- return is;
- }
-
- /**
- * Returns true if the two distributions will produce identical
- * sequences of values given equal generators.
- */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(triangle_distribution, lhs, rhs)
- { return lhs._a == rhs._a && lhs._b == rhs._b && lhs._c == rhs._c; }
-
- /**
- * Returns true if the two distributions may produce different
- * sequences of values given equal generators.
- */
- BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(triangle_distribution)
-
-private:
- /// \cond show_private
- void init()
- {
- using std::sqrt;
- d1 = _b - _a;
- d2 = _c - _a;
- d3 = sqrt(_c - _b);
- q1 = d1 / d2;
- p1 = sqrt(d1 * d2);
- }
- /// \endcond
-
- RealType _a, _b, _c;
- RealType d1, d2, d3, q1, p1;
-};
-
-} // namespace random
-
-using random::triangle_distribution;
-
-} // namespace boost
-
-#endif // BOOST_RANDOM_TRIANGLE_DISTRIBUTION_HPP
diff --git a/boost/random/uniform_01.hpp b/boost/random/uniform_01.hpp
deleted file mode 100644
index d32a085..0000000
--- a/boost/random/uniform_01.hpp
+++ /dev/null
@@ -1,277 +0,0 @@
-/* boost random/uniform_01.hpp header file
- *
- * Copyright Jens Maurer 2000-2001
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: uniform_01.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- *
- * Revision history
- * 2001-02-18 moved to individual header files
- */
-
-#ifndef BOOST_RANDOM_UNIFORM_01_HPP
-#define BOOST_RANDOM_UNIFORM_01_HPP
-
-#include <iostream>
-#include <boost/config.hpp>
-#include <boost/limits.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/random/detail/config.hpp>
-#include <boost/random/detail/ptr_helper.hpp>
-
-#include <boost/random/detail/disable_warnings.hpp>
-
-namespace boost {
-namespace random {
-
-#ifdef BOOST_RANDOM_DOXYGEN
-
-/**
- * The distribution function uniform_01 models a \random_distribution.
- * On each invocation, it returns a random floating-point value
- * uniformly distributed in the range [0..1).
- *
- * The template parameter RealType shall denote a float-like value type
- * with support for binary operators +, -, and /.
- *
- * Note: The current implementation is buggy, because it may not fill
- * all of the mantissa with random bits. I'm unsure how to fill a
- * (to-be-invented) @c boost::bigfloat class with random bits efficiently.
- * It's probably time for a traits class.
- */
-template<class RealType = double>
-class uniform_01
-{
-public:
- typedef RealType input_type;
- typedef RealType result_type;
- result_type min BOOST_PREVENT_MACRO_SUBSTITUTION () const;
- result_type max BOOST_PREVENT_MACRO_SUBSTITUTION () const;
- void reset();
-
- template<class Engine>
- result_type operator()(Engine& eng);
-
-#ifndef BOOST_RANDOM_NO_STREAM_OPERATORS
- template<class CharT, class Traits>
- friend std::basic_ostream<CharT,Traits>&
- operator<<(std::basic_ostream<CharT,Traits>& os, const new_uniform_01&)
- {
- return os;
- }
-
- template<class CharT, class Traits>
- friend std::basic_istream<CharT,Traits>&
- operator>>(std::basic_istream<CharT,Traits>& is, new_uniform_01&)
- {
- return is;
- }
-#endif
-};
-
-#else
-
-namespace detail {
-
-template<class RealType>
-class new_uniform_01
-{
-public:
- typedef RealType input_type;
- typedef RealType result_type;
- // compiler-generated copy ctor and copy assignment are fine
- result_type min BOOST_PREVENT_MACRO_SUBSTITUTION () const { return result_type(0); }
- result_type max BOOST_PREVENT_MACRO_SUBSTITUTION () const { return result_type(1); }
- void reset() { }
-
- template<class Engine>
- result_type operator()(Engine& eng) {
- for (;;) {
- typedef typename Engine::result_type base_result;
- result_type factor = result_type(1) /
- (result_type((eng.max)()-(eng.min)()) +
- result_type(std::numeric_limits<base_result>::is_integer ? 1 : 0));
- result_type result = result_type(eng() - (eng.min)()) * factor;
- if (result < result_type(1))
- return result;
- }
- }
-
-#ifndef BOOST_RANDOM_NO_STREAM_OPERATORS
- template<class CharT, class Traits>
- friend std::basic_ostream<CharT,Traits>&
- operator<<(std::basic_ostream<CharT,Traits>& os, const new_uniform_01&)
- {
- return os;
- }
-
- template<class CharT, class Traits>
- friend std::basic_istream<CharT,Traits>&
- operator>>(std::basic_istream<CharT,Traits>& is, new_uniform_01&)
- {
- return is;
- }
-#endif
-};
-
-template<class UniformRandomNumberGenerator, class RealType>
-class backward_compatible_uniform_01
-{
- typedef boost::random::detail::ptr_helper<UniformRandomNumberGenerator> traits;
-public:
- typedef UniformRandomNumberGenerator base_type;
- typedef RealType result_type;
-
- BOOST_STATIC_CONSTANT(bool, has_fixed_range = false);
-
-#if !defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS) && !(defined(BOOST_MSVC) && BOOST_MSVC <= 1300)
- BOOST_STATIC_ASSERT(!std::numeric_limits<RealType>::is_integer);
-#endif
-
- explicit backward_compatible_uniform_01(typename traits::rvalue_type rng)
- : _rng(rng),
- _factor(result_type(1) /
- (result_type((base().max)()-(base().min)()) +
- result_type(std::numeric_limits<base_result>::is_integer ? 1 : 0)))
- {
- }
- // compiler-generated copy ctor and copy assignment are fine
-
- result_type min BOOST_PREVENT_MACRO_SUBSTITUTION () const { return result_type(0); }
- result_type max BOOST_PREVENT_MACRO_SUBSTITUTION () const { return result_type(1); }
- typename traits::value_type& base() { return traits::ref(_rng); }
- const typename traits::value_type& base() const { return traits::ref(_rng); }
- void reset() { }
-
- result_type operator()() {
- for (;;) {
- result_type result = result_type(base()() - (base().min)()) * _factor;
- if (result < result_type(1))
- return result;
- }
- }
-
-#if !defined(BOOST_NO_OPERATORS_IN_NAMESPACE) && !defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS)
- template<class CharT, class Traits>
- friend std::basic_ostream<CharT,Traits>&
- operator<<(std::basic_ostream<CharT,Traits>& os, const backward_compatible_uniform_01& u)
- {
- os << u._rng;
- return os;
- }
-
- template<class CharT, class Traits>
- friend std::basic_istream<CharT,Traits>&
- operator>>(std::basic_istream<CharT,Traits>& is, backward_compatible_uniform_01& u)
- {
- is >> u._rng;
- return is;
- }
-#endif
-
-private:
- typedef typename traits::value_type::result_type base_result;
- UniformRandomNumberGenerator _rng;
- result_type _factor;
-};
-
-#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-// A definition is required even for integral static constants
-template<class UniformRandomNumberGenerator, class RealType>
-const bool backward_compatible_uniform_01<UniformRandomNumberGenerator, RealType>::has_fixed_range;
-#endif
-
-template<class UniformRandomNumberGenerator>
-struct select_uniform_01
-{
- template<class RealType>
- struct apply
- {
- typedef backward_compatible_uniform_01<UniformRandomNumberGenerator, RealType> type;
- };
-};
-
-template<>
-struct select_uniform_01<float>
-{
- template<class RealType>
- struct apply
- {
- typedef new_uniform_01<float> type;
- };
-};
-
-template<>
-struct select_uniform_01<double>
-{
- template<class RealType>
- struct apply
- {
- typedef new_uniform_01<double> type;
- };
-};
-
-template<>
-struct select_uniform_01<long double>
-{
- template<class RealType>
- struct apply
- {
- typedef new_uniform_01<long double> type;
- };
-};
-
-}
-
-// Because it is so commonly used: uniform distribution on the real [0..1)
-// range. This allows for specializations to avoid a costly int -> float
-// conversion plus float multiplication
-template<class UniformRandomNumberGenerator = double, class RealType = double>
-class uniform_01
- : public detail::select_uniform_01<UniformRandomNumberGenerator>::BOOST_NESTED_TEMPLATE apply<RealType>::type
-{
- typedef typename detail::select_uniform_01<UniformRandomNumberGenerator>::BOOST_NESTED_TEMPLATE apply<RealType>::type impl_type;
- typedef boost::random::detail::ptr_helper<UniformRandomNumberGenerator> traits;
-public:
-
- uniform_01() {}
-
- explicit uniform_01(typename traits::rvalue_type rng)
- : impl_type(rng)
- {
- }
-
-#if !defined(BOOST_NO_OPERATORS_IN_NAMESPACE) && !defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS)
- template<class CharT, class Traits>
- friend std::basic_ostream<CharT,Traits>&
- operator<<(std::basic_ostream<CharT,Traits>& os, const uniform_01& u)
- {
- os << static_cast<const impl_type&>(u);
- return os;
- }
-
- template<class CharT, class Traits>
- friend std::basic_istream<CharT,Traits>&
- operator>>(std::basic_istream<CharT,Traits>& is, uniform_01& u)
- {
- is >> static_cast<impl_type&>(u);
- return is;
- }
-#endif
-};
-
-#endif
-
-} // namespace random
-
-using random::uniform_01;
-
-} // namespace boost
-
-#include <boost/random/detail/enable_warnings.hpp>
-
-#endif // BOOST_RANDOM_UNIFORM_01_HPP
diff --git a/boost/random/uniform_int.hpp b/boost/random/uniform_int.hpp
deleted file mode 100644
index 7ae3b92..0000000
--- a/boost/random/uniform_int.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-/* boost random/uniform_int.hpp header file
- *
- * Copyright Jens Maurer 2000-2001
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: uniform_int.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- *
- * Revision history
- * 2001-04-08 added min<max assertion (N. Becker)
- * 2001-02-18 moved to individual header files
- */
-
-#ifndef BOOST_RANDOM_UNIFORM_INT_HPP
-#define BOOST_RANDOM_UNIFORM_INT_HPP
-
-#include <boost/assert.hpp>
-#include <boost/random/uniform_int_distribution.hpp>
-
-namespace boost {
-
-/**
- * The distribution function uniform_int models a \random_distribution.
- * On each invocation, it returns a random integer value uniformly
- * distributed in the set of integer numbers {min, min+1, min+2, ..., max}.
- *
- * The template parameter IntType shall denote an integer-like value type.
- *
- * This class is deprecated. Please use @c uniform_int_distribution in
- * new code.
- */
-template<class IntType = int>
-class uniform_int : public random::uniform_int_distribution<IntType>
-{
- typedef random::uniform_int_distribution<IntType> base_type;
-public:
-
- class param_type : public base_type::param_type
- {
- public:
- typedef uniform_int distribution_type;
- /**
- * Constructs the parameters of a uniform_int distribution.
- *
- * Requires: min <= max
- */
- explicit param_type(IntType min_arg = 0, IntType max_arg = 9)
- : base_type::param_type(min_arg, max_arg)
- {}
- };
-
- /**
- * Constructs a uniform_int object. @c min and @c max are
- * the parameters of the distribution.
- *
- * Requires: min <= max
- */
- explicit uniform_int(IntType min_arg = 0, IntType max_arg = 9)
- : base_type(min_arg, max_arg)
- {}
-
- /** Constructs a uniform_int distribution from its parameters. */
- explicit uniform_int(const param_type& parm)
- : base_type(parm)
- {}
-
- /** Returns the parameters of the distribution */
- param_type param() const { return param_type(this->a(), this->b()); }
- /** Sets the parameters of the distribution. */
- void param(const param_type& parm) { this->base_type::param(parm); }
-
- // Codergear seems to have trouble with a using declaration here
-
- template<class Engine>
- IntType operator()(Engine& eng) const
- {
- return static_cast<const base_type&>(*this)(eng);
- }
-
- template<class Engine>
- IntType operator()(Engine& eng, const param_type& parm) const
- {
- return static_cast<const base_type&>(*this)(eng, parm);
- }
-
- template<class Engine>
- IntType operator()(Engine& eng, IntType n) const
- {
- BOOST_ASSERT(n > 0);
- return static_cast<const base_type&>(*this)(eng, param_type(0, n - 1));
- }
-};
-
-} // namespace boost
-
-#endif // BOOST_RANDOM_UNIFORM_INT_HPP
diff --git a/boost/random/uniform_int_distribution.hpp b/boost/random/uniform_int_distribution.hpp
deleted file mode 100644
index 0612028..0000000
--- a/boost/random/uniform_int_distribution.hpp
+++ /dev/null
@@ -1,400 +0,0 @@
-/* boost random/uniform_int_distribution.hpp header file
- *
- * Copyright Jens Maurer 2000-2001
- * Copyright Steven Watanabe 2011
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: uniform_int_distribution.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- *
- * Revision history
- * 2001-04-08 added min<max assertion (N. Becker)
- * 2001-02-18 moved to individual header files
- */
-
-#ifndef BOOST_RANDOM_UNIFORM_INT_DISTRIBUTION_HPP
-#define BOOST_RANDOM_UNIFORM_INT_DISTRIBUTION_HPP
-
-#include <iosfwd>
-#include <ios>
-#include <istream>
-#include <boost/config.hpp>
-#include <boost/limits.hpp>
-#include <boost/assert.hpp>
-#include <boost/random/detail/config.hpp>
-#include <boost/random/detail/operators.hpp>
-#include <boost/random/detail/uniform_int_float.hpp>
-#include <boost/random/detail/signed_unsigned_tools.hpp>
-#include <boost/type_traits/make_unsigned.hpp>
-#include <boost/type_traits/is_integral.hpp>
-
-namespace boost {
-namespace random {
-namespace detail {
-
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-// disable division by zero warning, since we can't
-// actually divide by zero.
-#pragma warning(disable:4723)
-#endif
-
-template<class Engine, class T>
-T generate_uniform_int(
- Engine& eng, T min_value, T max_value,
- boost::mpl::true_ /** is_integral<Engine::result_type> */)
-{
- typedef T result_type;
- typedef typename make_unsigned<T>::type range_type;
- typedef typename Engine::result_type base_result;
- // ranges are always unsigned
- typedef typename make_unsigned<base_result>::type base_unsigned;
- const range_type range = random::detail::subtract<result_type>()(max_value, min_value);
- const base_result bmin = (eng.min)();
- const base_unsigned brange =
- random::detail::subtract<base_result>()((eng.max)(), (eng.min)());
-
- if(range == 0) {
- return min_value;
- } else if(brange == range) {
- // this will probably never happen in real life
- // basically nothing to do; just take care we don't overflow / underflow
- base_unsigned v = random::detail::subtract<base_result>()(eng(), bmin);
- return random::detail::add<base_unsigned, result_type>()(v, min_value);
- } else if(brange < range) {
- // use rejection method to handle things like 0..3 --> 0..4
- for(;;) {
- // concatenate several invocations of the base RNG
- // take extra care to avoid overflows
-
- // limit == floor((range+1)/(brange+1))
- // Therefore limit*(brange+1) <= range+1
- range_type limit;
- if(range == (std::numeric_limits<range_type>::max)()) {
- limit = range/(range_type(brange)+1);
- if(range % (range_type(brange)+1) == range_type(brange))
- ++limit;
- } else {
- limit = (range+1)/(range_type(brange)+1);
- }
-
- // We consider "result" as expressed to base (brange+1):
- // For every power of (brange+1), we determine a random factor
- range_type result = range_type(0);
- range_type mult = range_type(1);
-
- // loop invariants:
- // result < mult
- // mult <= range
- while(mult <= limit) {
- // Postcondition: result <= range, thus no overflow
- //
- // limit*(brange+1)<=range+1 def. of limit (1)
- // eng()-bmin<=brange eng() post. (2)
- // and mult<=limit. loop condition (3)
- // Therefore mult*(eng()-bmin+1)<=range+1 by (1),(2),(3) (4)
- // Therefore mult*(eng()-bmin)+mult<=range+1 rearranging (4) (5)
- // result<mult loop invariant (6)
- // Therefore result+mult*(eng()-bmin)<range+1 by (5), (6) (7)
- //
- // Postcondition: result < mult*(brange+1)
- //
- // result<mult loop invariant (1)
- // eng()-bmin<=brange eng() post. (2)
- // Therefore result+mult*(eng()-bmin) <
- // mult+mult*(eng()-bmin) by (1) (3)
- // Therefore result+(eng()-bmin)*mult <
- // mult+mult*brange by (2), (3) (4)
- // Therefore result+(eng()-bmin)*mult <
- // mult*(brange+1) by (4)
- result += static_cast<range_type>(random::detail::subtract<base_result>()(eng(), bmin) * mult);
-
- // equivalent to (mult * (brange+1)) == range+1, but avoids overflow.
- if(mult * range_type(brange) == range - mult + 1) {
- // The destination range is an integer power of
- // the generator's range.
- return(result);
- }
-
- // Postcondition: mult <= range
- //
- // limit*(brange+1)<=range+1 def. of limit (1)
- // mult<=limit loop condition (2)
- // Therefore mult*(brange+1)<=range+1 by (1), (2) (3)
- // mult*(brange+1)!=range+1 preceding if (4)
- // Therefore mult*(brange+1)<range+1 by (3), (4) (5)
- //
- // Postcondition: result < mult
- //
- // See the second postcondition on the change to result.
- mult *= range_type(brange)+range_type(1);
- }
- // loop postcondition: range/mult < brange+1
- //
- // mult > limit loop condition (1)
- // Suppose range/mult >= brange+1 Assumption (2)
- // range >= mult*(brange+1) by (2) (3)
- // range+1 > mult*(brange+1) by (3) (4)
- // range+1 > (limit+1)*(brange+1) by (1), (4) (5)
- // (range+1)/(brange+1) > limit+1 by (5) (6)
- // limit < floor((range+1)/(brange+1)) by (6) (7)
- // limit==floor((range+1)/(brange+1)) def. of limit (8)
- // not (2) reductio (9)
- //
- // loop postcondition: (range/mult)*mult+(mult-1) >= range
- //
- // (range/mult)*mult + range%mult == range identity (1)
- // range%mult < mult def. of % (2)
- // (range/mult)*mult+mult > range by (1), (2) (3)
- // (range/mult)*mult+(mult-1) >= range by (3) (4)
- //
- // Note that the maximum value of result at this point is (mult-1),
- // so after this final step, we generate numbers that can be
- // at least as large as range. We have to really careful to avoid
- // overflow in this final addition and in the rejection. Anything
- // that overflows is larger than range and can thus be rejected.
-
- // range/mult < brange+1 -> no endless loop
- range_type result_increment =
- generate_uniform_int(
- eng,
- static_cast<range_type>(0),
- static_cast<range_type>(range/mult),
- boost::mpl::true_());
- if((std::numeric_limits<range_type>::max)() / mult < result_increment) {
- // The multiplcation would overflow. Reject immediately.
- continue;
- }
- result_increment *= mult;
- // unsigned integers are guaranteed to wrap on overflow.
- result += result_increment;
- if(result < result_increment) {
- // The addition overflowed. Reject.
- continue;
- }
- if(result > range) {
- // Too big. Reject.
- continue;
- }
- return random::detail::add<range_type, result_type>()(result, min_value);
- }
- } else { // brange > range
- base_unsigned bucket_size;
- // it's safe to add 1 to range, as long as we cast it first,
- // because we know that it is less than brange. However,
- // we do need to be careful not to cause overflow by adding 1
- // to brange.
- if(brange == (std::numeric_limits<base_unsigned>::max)()) {
- bucket_size = brange / (static_cast<base_unsigned>(range)+1);
- if(brange % (static_cast<base_unsigned>(range)+1) == static_cast<base_unsigned>(range)) {
- ++bucket_size;
- }
- } else {
- bucket_size = (brange+1) / (static_cast<base_unsigned>(range)+1);
- }
- for(;;) {
- base_unsigned result =
- random::detail::subtract<base_result>()(eng(), bmin);
- result /= bucket_size;
- // result and range are non-negative, and result is possibly larger
- // than range, so the cast is safe
- if(result <= static_cast<base_unsigned>(range))
- return random::detail::add<base_unsigned, result_type>()(result, min_value);
- }
- }
-}
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-template<class Engine, class T>
-inline T generate_uniform_int(
- Engine& eng, T min_value, T max_value,
- boost::mpl::false_ /** is_integral<Engine::result_type> */)
-{
- uniform_int_float<Engine> wrapper(eng);
- return generate_uniform_int(wrapper, min_value, max_value, boost::mpl::true_());
-}
-
-template<class Engine, class T>
-inline T generate_uniform_int(Engine& eng, T min_value, T max_value)
-{
- typedef typename Engine::result_type base_result;
- return generate_uniform_int(eng, min_value, max_value,
- boost::is_integral<base_result>());
-}
-
-}
-
-/**
- * The class template uniform_int_distribution models a \random_distribution.
- * On each invocation, it returns a random integer value uniformly
- * distributed in the set of integers {min, min+1, min+2, ..., max}.
- *
- * The template parameter IntType shall denote an integer-like value type.
- */
-template<class IntType = int>
-class uniform_int_distribution
-{
-public:
- typedef IntType input_type;
- typedef IntType result_type;
-
- class param_type
- {
- public:
-
- typedef uniform_int_distribution distribution_type;
-
- /**
- * Constructs the parameters of a uniform_int_distribution.
- *
- * Requires min <= max
- */
- explicit param_type(
- IntType min_arg = 0,
- IntType max_arg = (std::numeric_limits<IntType>::max)())
- : _min(min_arg), _max(max_arg)
- {
- BOOST_ASSERT(_min <= _max);
- }
-
- /** Returns the minimum value of the distribution. */
- IntType a() const { return _min; }
- /** Returns the maximum value of the distribution. */
- IntType b() const { return _max; }
-
- /** Writes the parameters to a @c std::ostream. */
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, param_type, parm)
- {
- os << parm._min << " " << parm._max;
- return os;
- }
-
- /** Reads the parameters from a @c std::istream. */
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, param_type, parm)
- {
- IntType min_in, max_in;
- if(is >> min_in >> std::ws >> max_in) {
- if(min_in <= max_in) {
- parm._min = min_in;
- parm._max = max_in;
- } else {
- is.setstate(std::ios_base::failbit);
- }
- }
- return is;
- }
-
- /** Returns true if the two sets of parameters are equal. */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(param_type, lhs, rhs)
- { return lhs._min == rhs._min && lhs._max == rhs._max; }
-
- /** Returns true if the two sets of parameters are different. */
- BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(param_type)
-
- private:
-
- IntType _min;
- IntType _max;
- };
-
- /**
- * Constructs a uniform_int_distribution. @c min and @c max are
- * the parameters of the distribution.
- *
- * Requires: min <= max
- */
- explicit uniform_int_distribution(
- IntType min_arg = 0,
- IntType max_arg = (std::numeric_limits<IntType>::max)())
- : _min(min_arg), _max(max_arg)
- {
- BOOST_ASSERT(min_arg <= max_arg);
- }
- /** Constructs a uniform_int_distribution from its parameters. */
- explicit uniform_int_distribution(const param_type& parm)
- : _min(parm.a()), _max(parm.b()) {}
-
- /** Returns the minimum value of the distribution */
- IntType min BOOST_PREVENT_MACRO_SUBSTITUTION () const { return _min; }
- /** Returns the maximum value of the distribution */
- IntType max BOOST_PREVENT_MACRO_SUBSTITUTION () const { return _max; }
-
- /** Returns the minimum value of the distribution */
- IntType a() const { return _min; }
- /** Returns the maximum value of the distribution */
- IntType b() const { return _max; }
-
- /** Returns the parameters of the distribution. */
- param_type param() const { return param_type(_min, _max); }
- /** Sets the parameters of the distribution. */
- void param(const param_type& parm)
- {
- _min = parm.a();
- _max = parm.b();
- }
-
- /**
- * Effects: Subsequent uses of the distribution do not depend
- * on values produced by any engine prior to invoking reset.
- */
- void reset() { }
-
- /** Returns an integer uniformly distributed in the range [min, max]. */
- template<class Engine>
- result_type operator()(Engine& eng) const
- { return detail::generate_uniform_int(eng, _min, _max); }
-
- /**
- * Returns an integer uniformly distributed in the range
- * [param.a(), param.b()].
- */
- template<class Engine>
- result_type operator()(Engine& eng, const param_type& parm) const
- { return detail::generate_uniform_int(eng, parm.a(), parm.b()); }
-
- /** Writes the distribution to a @c std::ostream. */
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, uniform_int_distribution, ud)
- {
- os << ud.param();
- return os;
- }
-
- /** Reads the distribution from a @c std::istream. */
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, uniform_int_distribution, ud)
- {
- param_type parm;
- if(is >> parm) {
- ud.param(parm);
- }
- return is;
- }
-
- /**
- * Returns true if the two distributions will produce identical sequences
- * of values given equal generators.
- */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(uniform_int_distribution, lhs, rhs)
- { return lhs._min == rhs._min && lhs._max == rhs._max; }
-
- /**
- * Returns true if the two distributions may produce different sequences
- * of values given equal generators.
- */
- BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(uniform_int_distribution)
-
-private:
- IntType _min;
- IntType _max;
-};
-
-} // namespace random
-} // namespace boost
-
-#endif // BOOST_RANDOM_UNIFORM_INT_HPP
diff --git a/boost/random/uniform_on_sphere.hpp b/boost/random/uniform_on_sphere.hpp
deleted file mode 100644
index 04071dc..0000000
--- a/boost/random/uniform_on_sphere.hpp
+++ /dev/null
@@ -1,229 +0,0 @@
-/* boost random/uniform_on_sphere.hpp header file
- *
- * Copyright Jens Maurer 2000-2001
- * Copyright Steven Watanabe 2011
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: uniform_on_sphere.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- *
- * Revision history
- * 2001-02-18 moved to individual header files
- */
-
-#ifndef BOOST_RANDOM_UNIFORM_ON_SPHERE_HPP
-#define BOOST_RANDOM_UNIFORM_ON_SPHERE_HPP
-
-#include <vector>
-#include <algorithm> // std::transform
-#include <functional> // std::bind2nd, std::divides
-#include <boost/assert.hpp>
-#include <boost/random/detail/config.hpp>
-#include <boost/random/detail/operators.hpp>
-#include <boost/random/normal_distribution.hpp>
-
-namespace boost {
-namespace random {
-
-/**
- * Instantiations of class template uniform_on_sphere model a
- * \random_distribution. Such a distribution produces random
- * numbers uniformly distributed on the unit sphere of arbitrary
- * dimension @c dim. The @c Cont template parameter must be a STL-like
- * container type with begin and end operations returning non-const
- * ForwardIterators of type @c Cont::iterator.
- */
-template<class RealType = double, class Cont = std::vector<RealType> >
-class uniform_on_sphere
-{
-public:
- typedef RealType input_type;
- typedef Cont result_type;
-
- class param_type
- {
- public:
-
- typedef uniform_on_sphere distribution_type;
-
- /**
- * Constructs the parameters of a uniform_on_sphere
- * distribution, given the dimension of the sphere.
- */
- explicit param_type(int dim_arg = 2) : _dim(dim_arg)
- {
- BOOST_ASSERT(_dim >= 0);
- }
-
- /** Returns the dimension of the sphere. */
- int dim() const { return _dim; }
-
- /** Writes the parameters to a @c std::ostream. */
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, param_type, parm)
- {
- os << parm._dim;
- return os;
- }
-
- /** Reads the parameters from a @c std::istream. */
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, param_type, parm)
- {
- is >> parm._dim;
- return is;
- }
-
- /** Returns true if the two sets of parameters are equal. */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(param_type, lhs, rhs)
- { return lhs._dim == rhs._dim; }
-
- /** Returns true if the two sets of parameters are different. */
- BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(param_type)
-
- private:
- int _dim;
- };
-
- /**
- * Constructs a @c uniform_on_sphere distribution.
- * @c dim is the dimension of the sphere.
- *
- * Requires: dim >= 0
- */
- explicit uniform_on_sphere(int dim_arg = 2)
- : _container(dim_arg), _dim(dim_arg) { }
-
- /**
- * Constructs a @c uniform_on_sphere distribution from its parameters.
- */
- explicit uniform_on_sphere(const param_type& parm)
- : _container(parm.dim()), _dim(parm.dim()) { }
-
- // compiler-generated copy ctor and assignment operator are fine
-
- /** Returns the dimension of the sphere. */
- int dim() const { return _dim; }
-
- /** Returns the parameters of the distribution. */
- param_type param() const { return param_type(_dim); }
- /** Sets the parameters of the distribution. */
- void param(const param_type& parm)
- {
- _dim = parm.dim();
- _container.resize(_dim);
- }
-
- /**
- * Returns the smallest value that the distribution can produce.
- * Note that this is required to approximate the standard library's
- * requirements. The behavior is defined according to lexicographical
- * comparison so that for a container type of std::vector,
- * dist.min() <= x <= dist.max() where x is any value produced
- * by the distribution.
- */
- result_type min BOOST_PREVENT_MACRO_SUBSTITUTION () const
- {
- result_type result(_dim);
- if(_dim != 0) {
- result.front() = RealType(-1.0);
- }
- return result;
- }
- /**
- * Returns the largest value that the distribution can produce.
- * Note that this is required to approximate the standard library's
- * requirements. The behavior is defined according to lexicographical
- * comparison so that for a container type of std::vector,
- * dist.min() <= x <= dist.max() where x is any value produced
- * by the distribution.
- */
- result_type max BOOST_PREVENT_MACRO_SUBSTITUTION () const
- {
- result_type result(_dim);
- if(_dim != 0) {
- result.front() = RealType(1.0);
- }
- return result;
- }
-
- /**
- * Effects: Subsequent uses of the distribution do not depend
- * on values produced by any engine prior to invoking reset.
- */
- void reset() { _normal.reset(); }
-
- /**
- * Returns a point uniformly distributed over the surface of
- * a sphere of dimension dim().
- */
- template<class Engine>
- const result_type & operator()(Engine& eng)
- {
- RealType sqsum = 0;
- for(typename Cont::iterator it = _container.begin();
- it != _container.end();
- ++it) {
- RealType val = _normal(eng);
- *it = val;
- sqsum += val * val;
- }
- using std::sqrt;
- // for all i: result[i] /= sqrt(sqsum)
- std::transform(_container.begin(), _container.end(), _container.begin(),
- std::bind2nd(std::divides<RealType>(), sqrt(sqsum)));
- return _container;
- }
-
- /**
- * Returns a point uniformly distributed over the surface of
- * a sphere of dimension param.dim().
- */
- template<class Engine>
- result_type operator()(Engine& eng, const param_type& parm) const
- {
- return uniform_on_sphere(parm)(eng);
- }
-
- /** Writes the distribution to a @c std::ostream. */
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, uniform_on_sphere, sd)
- {
- os << sd._dim;
- return os;
- }
-
- /** Reads the distribution from a @c std::istream. */
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, uniform_on_sphere, sd)
- {
- is >> sd._dim;
- sd._container.resize(sd._dim);
- return is;
- }
-
- /**
- * Returns true if the two distributions will produce identical
- * sequences of values, given equal generators.
- */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(uniform_on_sphere, lhs, rhs)
- { return lhs._dim == rhs._dim && lhs._normal == rhs._normal; }
-
- /**
- * Returns true if the two distributions may produce different
- * sequences of values, given equal generators.
- */
- BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(uniform_on_sphere)
-
-private:
- normal_distribution<RealType> _normal;
- result_type _container;
- int _dim;
-};
-
-} // namespace random
-
-using random::uniform_on_sphere;
-
-} // namespace boost
-
-#endif // BOOST_RANDOM_UNIFORM_ON_SPHERE_HPP
diff --git a/boost/random/uniform_real.hpp b/boost/random/uniform_real.hpp
deleted file mode 100644
index 396072e..0000000
--- a/boost/random/uniform_real.hpp
+++ /dev/null
@@ -1,82 +0,0 @@
-/* boost random/uniform_real.hpp header file
- *
- * Copyright Jens Maurer 2000-2001
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: uniform_real.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- *
- * Revision history
- * 2001-04-08 added min<max assertion (N. Becker)
- * 2001-02-18 moved to individual header files
- */
-
-#ifndef BOOST_RANDOM_UNIFORM_REAL_HPP
-#define BOOST_RANDOM_UNIFORM_REAL_HPP
-
-#include <boost/assert.hpp>
-#include <boost/config.hpp>
-#include <boost/limits.hpp>
-#include <boost/random/uniform_real_distribution.hpp>
-
-namespace boost {
-
-/**
- * The distribution function uniform_real models a random distribution.
- * On each invocation, it returns a random floating-point value uniformly
- * distributed in the range [min..max).
- *
- * This class is deprecated. Please use @c uniform_real_distribution in
- * new code.
- */
-template<class RealType = double>
-class uniform_real : public random::uniform_real_distribution<RealType>
-{
- typedef random::uniform_real_distribution<RealType> base_type;
-public:
-
- class param_type : public base_type::param_type
- {
- public:
- typedef uniform_real distribution_type;
- /**
- * Constructs the parameters of a uniform_real distribution.
- *
- * Requires: min <= max
- */
- explicit param_type(RealType min_arg = RealType(0.0),
- RealType max_arg = RealType(1.0))
- : base_type::param_type(min_arg, max_arg)
- {}
- };
-
- /**
- * Constructs a uniform_real object. @c min and @c max are the
- * parameters of the distribution.
- *
- * Requires: min <= max
- */
- explicit uniform_real(RealType min_arg = RealType(0.0),
- RealType max_arg = RealType(1.0))
- : base_type(min_arg, max_arg)
- {
- BOOST_ASSERT(min_arg <= max_arg);
- }
-
- /** Constructs a uniform_real distribution from its parameters. */
- explicit uniform_real(const param_type& parm)
- : base_type(parm)
- {}
-
- /** Returns the parameters of the distribution */
- param_type param() const { return param_type(this->a(), this->b()); }
- /** Sets the parameters of the distribution. */
- void param(const param_type& parm) { this->base_type::param(parm); }
-};
-
-} // namespace boost
-
-#endif // BOOST_RANDOM_UNIFORM_REAL_HPP
diff --git a/boost/random/uniform_real_distribution.hpp b/boost/random/uniform_real_distribution.hpp
deleted file mode 100644
index 61b235a..0000000
--- a/boost/random/uniform_real_distribution.hpp
+++ /dev/null
@@ -1,239 +0,0 @@
-/* boost random/uniform_real_distribution.hpp header file
- *
- * Copyright Jens Maurer 2000-2001
- * Copyright Steven Watanabe 2011
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: uniform_real_distribution.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- *
- */
-
-#ifndef BOOST_RANDOM_UNIFORM_REAL_DISTRIBUTION_HPP
-#define BOOST_RANDOM_UNIFORM_REAL_DISTRIBUTION_HPP
-
-#include <iosfwd>
-#include <ios>
-#include <istream>
-#include <boost/assert.hpp>
-#include <boost/config.hpp>
-#include <boost/random/detail/config.hpp>
-#include <boost/random/detail/operators.hpp>
-#include <boost/random/detail/signed_unsigned_tools.hpp>
-#include <boost/type_traits/is_integral.hpp>
-
-namespace boost {
-namespace random {
-namespace detail {
-
-template<class Engine, class T>
-T generate_uniform_real(
- Engine& eng, T min_value, T max_value,
- boost::mpl::false_ /** is_integral<Engine::result_type> */)
-{
- for(;;) {
- typedef T result_type;
- typedef typename Engine::result_type base_result;
- result_type numerator = static_cast<T>(eng() - (eng.min)());
- result_type divisor = static_cast<T>((eng.max)() - (eng.min)());
- BOOST_ASSERT(divisor > 0);
- BOOST_ASSERT(numerator >= 0 && numerator <= divisor);
- T result = numerator / divisor * (max_value - min_value) + min_value;
- if(result < max_value) return result;
- }
-}
-
-template<class Engine, class T>
-T generate_uniform_real(
- Engine& eng, T min_value, T max_value,
- boost::mpl::true_ /** is_integral<Engine::result_type> */)
-{
- for(;;) {
- typedef T result_type;
- typedef typename Engine::result_type base_result;
- result_type numerator = static_cast<T>(subtract<base_result>()(eng(), (eng.min)()));
- result_type divisor = static_cast<T>(subtract<base_result>()((eng.max)(), (eng.min)())) + 1;
- BOOST_ASSERT(divisor > 0);
- BOOST_ASSERT(numerator >= 0 && numerator <= divisor);
- T result = numerator / divisor * (max_value - min_value) + min_value;
- if(result < max_value) return result;
- }
-}
-
-template<class Engine, class T>
-inline T generate_uniform_real(Engine& eng, T min_value, T max_value)
-{
- typedef typename Engine::result_type base_result;
- return generate_uniform_real(eng, min_value, max_value,
- boost::is_integral<base_result>());
-}
-
-}
-
-/**
- * The class template uniform_real_distribution models a \random_distribution.
- * On each invocation, it returns a random floating-point value uniformly
- * distributed in the range [min..max).
- */
-template<class RealType = double>
-class uniform_real_distribution
-{
-public:
- typedef RealType input_type;
- typedef RealType result_type;
-
- class param_type
- {
- public:
-
- typedef uniform_real_distribution distribution_type;
-
- /**
- * Constructs the parameters of a uniform_real_distribution.
- *
- * Requires min <= max
- */
- explicit param_type(RealType min_arg = RealType(0.0),
- RealType max_arg = RealType(1.0))
- : _min(min_arg), _max(max_arg)
- {
- BOOST_ASSERT(_min <= _max);
- }
-
- /** Returns the minimum value of the distribution. */
- RealType a() const { return _min; }
- /** Returns the maximum value of the distribution. */
- RealType b() const { return _max; }
-
- /** Writes the parameters to a @c std::ostream. */
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, param_type, parm)
- {
- os << parm._min << " " << parm._max;
- return os;
- }
-
- /** Reads the parameters from a @c std::istream. */
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, param_type, parm)
- {
- RealType min_in, max_in;
- if(is >> min_in >> std::ws >> max_in) {
- if(min_in <= max_in) {
- parm._min = min_in;
- parm._max = max_in;
- } else {
- is.setstate(std::ios_base::failbit);
- }
- }
- return is;
- }
-
- /** Returns true if the two sets of parameters are equal. */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(param_type, lhs, rhs)
- { return lhs._min == rhs._min && lhs._max == rhs._max; }
-
- /** Returns true if the two sets of parameters are different. */
- BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(param_type)
-
- private:
-
- RealType _min;
- RealType _max;
- };
-
- /**
- * Constructs a uniform_real_distribution. @c min and @c max are
- * the parameters of the distribution.
- *
- * Requires: min <= max
- */
- explicit uniform_real_distribution(
- RealType min_arg = RealType(0.0),
- RealType max_arg = RealType(1.0))
- : _min(min_arg), _max(max_arg)
- {
- BOOST_ASSERT(min_arg <= max_arg);
- }
- /** Constructs a uniform_real_distribution from its parameters. */
- explicit uniform_real_distribution(const param_type& parm)
- : _min(parm.a()), _max(parm.b()) {}
-
- /** Returns the minimum value of the distribution */
- RealType min BOOST_PREVENT_MACRO_SUBSTITUTION () const { return _min; }
- /** Returns the maximum value of the distribution */
- RealType max BOOST_PREVENT_MACRO_SUBSTITUTION () const { return _max; }
-
- /** Returns the minimum value of the distribution */
- RealType a() const { return _min; }
- /** Returns the maximum value of the distribution */
- RealType b() const { return _max; }
-
- /** Returns the parameters of the distribution. */
- param_type param() const { return param_type(_min, _max); }
- /** Sets the parameters of the distribution. */
- void param(const param_type& parm)
- {
- _min = parm.a();
- _max = parm.b();
- }
-
- /**
- * Effects: Subsequent uses of the distribution do not depend
- * on values produced by any engine prior to invoking reset.
- */
- void reset() { }
-
- /** Returns a value uniformly distributed in the range [min, max). */
- template<class Engine>
- result_type operator()(Engine& eng) const
- { return detail::generate_uniform_real(eng, _min, _max); }
-
- /**
- * Returns a value uniformly distributed in the range
- * [param.a(), param.b()).
- */
- template<class Engine>
- result_type operator()(Engine& eng, const param_type& parm) const
- { return detail::generate_uniform_real(eng, parm.a(), parm.b()); }
-
- /** Writes the distribution to a @c std::ostream. */
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, uniform_real_distribution, ud)
- {
- os << ud.param();
- return os;
- }
-
- /** Reads the distribution from a @c std::istream. */
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, uniform_real_distribution, ud)
- {
- param_type parm;
- if(is >> parm) {
- ud.param(parm);
- }
- return is;
- }
-
- /**
- * Returns true if the two distributions will produce identical sequences
- * of values given equal generators.
- */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(uniform_real_distribution, lhs, rhs)
- { return lhs._min == rhs._min && lhs._max == rhs._max; }
-
- /**
- * Returns true if the two distributions may produce different sequences
- * of values given equal generators.
- */
- BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(uniform_real_distribution)
-
-private:
- RealType _min;
- RealType _max;
-};
-
-} // namespace random
-} // namespace boost
-
-#endif // BOOST_RANDOM_UNIFORM_INT_HPP
diff --git a/boost/random/uniform_smallint.hpp b/boost/random/uniform_smallint.hpp
deleted file mode 100644
index 745fa8e..0000000
--- a/boost/random/uniform_smallint.hpp
+++ /dev/null
@@ -1,288 +0,0 @@
-/* boost random/uniform_smallint.hpp header file
- *
- * Copyright Jens Maurer 2000-2001
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: uniform_smallint.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- *
- * Revision history
- * 2001-04-08 added min<max assertion (N. Becker)
- * 2001-02-18 moved to individual header files
- */
-
-#ifndef BOOST_RANDOM_UNIFORM_SMALLINT_HPP
-#define BOOST_RANDOM_UNIFORM_SMALLINT_HPP
-
-#include <istream>
-#include <iosfwd>
-#include <boost/assert.hpp>
-#include <boost/config.hpp>
-#include <boost/limits.hpp>
-#include <boost/type_traits/is_integral.hpp>
-#include <boost/random/detail/config.hpp>
-#include <boost/random/detail/operators.hpp>
-#include <boost/random/detail/signed_unsigned_tools.hpp>
-#include <boost/random/uniform_01.hpp>
-#include <boost/detail/workaround.hpp>
-
-namespace boost {
-namespace random {
-
-// uniform integer distribution on a small range [min, max]
-
-/**
- * The distribution function uniform_smallint models a \random_distribution.
- * On each invocation, it returns a random integer value uniformly distributed
- * in the set of integer numbers {min, min+1, min+2, ..., max}. It assumes
- * that the desired range (max-min+1) is small compared to the range of the
- * underlying source of random numbers and thus makes no attempt to limit
- * quantization errors.
- *
- * Let \f$r_{\mathtt{out}} = (\mbox{max}-\mbox{min}+1)\f$ the desired range of
- * integer numbers, and
- * let \f$r_{\mathtt{base}}\f$ be the range of the underlying source of random
- * numbers. Then, for the uniform distribution, the theoretical probability
- * for any number i in the range \f$r_{\mathtt{out}}\f$ will be
- * \f$\displaystyle p_{\mathtt{out}}(i) = \frac{1}{r_{\mathtt{out}}}\f$.
- * Likewise, assume a uniform distribution on \f$r_{\mathtt{base}}\f$ for
- * the underlying source of random numbers, i.e.
- * \f$\displaystyle p_{\mathtt{base}}(i) = \frac{1}{r_{\mathtt{base}}}\f$.
- * Let \f$p_{\mathtt{out\_s}}(i)\f$ denote the random
- * distribution generated by @c uniform_smallint. Then the sum over all
- * i in \f$r_{\mathtt{out}}\f$ of
- * \f$\displaystyle
- * \left(\frac{p_{\mathtt{out\_s}}(i)}{p_{\mathtt{out}}(i)} - 1\right)^2\f$
- * shall not exceed
- * \f$\displaystyle \frac{r_{\mathtt{out}}}{r_{\mathtt{base}}^2}
- * (r_{\mathtt{base}} \mbox{ mod } r_{\mathtt{out}})
- * (r_{\mathtt{out}} - r_{\mathtt{base}} \mbox{ mod } r_{\mathtt{out}})\f$.
- *
- * The template parameter IntType shall denote an integer-like value type.
- *
- * @xmlnote
- * The property above is the square sum of the relative differences
- * in probabilities between the desired uniform distribution
- * \f$p_{\mathtt{out}}(i)\f$ and the generated distribution
- * \f$p_{\mathtt{out\_s}}(i)\f$.
- * The property can be fulfilled with the calculation
- * \f$(\mbox{base\_rng} \mbox{ mod } r_{\mathtt{out}})\f$, as follows:
- * Let \f$r = r_{\mathtt{base}} \mbox{ mod } r_{\mathtt{out}}\f$.
- * The base distribution on \f$r_{\mathtt{base}}\f$ is folded onto the
- * range \f$r_{\mathtt{out}}\f$. The numbers i < r have assigned
- * \f$\displaystyle
- * \left\lfloor\frac{r_{\mathtt{base}}}{r_{\mathtt{out}}}\right\rfloor+1\f$
- * numbers of the base distribution, the rest has only \f$\displaystyle
- * \left\lfloor\frac{r_{\mathtt{base}}}{r_{\mathtt{out}}}\right\rfloor\f$.
- * Therefore,
- * \f$\displaystyle p_{\mathtt{out\_s}}(i) =
- * \left(\left\lfloor\frac{r_{\mathtt{base}}}
- * {r_{\mathtt{out}}}\right\rfloor+1\right) /
- * r_{\mathtt{base}}\f$ for i < r and \f$\displaystyle p_{\mathtt{out\_s}}(i) =
- * \left\lfloor\frac{r_{\mathtt{base}}}
- * {r_{\mathtt{out}}}\right\rfloor/r_{\mathtt{base}}\f$ otherwise.
- * Substituting this in the
- * above sum formula leads to the desired result.
- * @endxmlnote
- *
- * Note: The upper bound for
- * \f$(r_{\mathtt{base}} \mbox{ mod } r_{\mathtt{out}})
- * (r_{\mathtt{out}} - r_{\mathtt{base}} \mbox{ mod } r_{\mathtt{out}})\f$ is
- * \f$\displaystyle \frac{r_{\mathtt{out}}^2}{4}\f$. Regarding the upper bound
- * for the square sum of the relative quantization error of
- * \f$\displaystyle \frac{r_\mathtt{out}^3}{4r_{\mathtt{base}}^2}\f$, it
- * seems wise to either choose \f$r_{\mathtt{base}}\f$ so that
- * \f$r_{\mathtt{base}} > 10r_{\mathtt{out}}^2\f$ or ensure that
- * \f$r_{\mathtt{base}}\f$ is
- * divisible by \f$r_{\mathtt{out}}\f$.
- */
-template<class IntType = int>
-class uniform_smallint
-{
-public:
- typedef IntType input_type;
- typedef IntType result_type;
-
- class param_type
- {
- public:
-
- typedef uniform_smallint distribution_type;
-
- /** constructs the parameters of a @c uniform_smallint distribution. */
- param_type(IntType min_arg = 0, IntType max_arg = 9)
- : _min(min_arg), _max(max_arg)
- {
- BOOST_ASSERT(_min <= _max);
- }
-
- /** Returns the minimum value. */
- IntType a() const { return _min; }
- /** Returns the maximum value. */
- IntType b() const { return _max; }
-
-
- /** Writes the parameters to a @c std::ostream. */
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, param_type, parm)
- {
- os << parm._min << " " << parm._max;
- return os;
- }
-
- /** Reads the parameters from a @c std::istream. */
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, param_type, parm)
- {
- is >> parm._min >> std::ws >> parm._max;
- return is;
- }
-
- /** Returns true if the two sets of parameters are equal. */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(param_type, lhs, rhs)
- { return lhs._min == rhs._min && lhs._max == rhs._max; }
-
- /** Returns true if the two sets of parameters are different. */
- BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(param_type)
-
- private:
- IntType _min;
- IntType _max;
- };
-
- /**
- * Constructs a @c uniform_smallint. @c min and @c max are the
- * lower and upper bounds of the output range, respectively.
- */
- explicit uniform_smallint(IntType min_arg = 0, IntType max_arg = 9)
- : _min(min_arg), _max(max_arg) {}
-
- /**
- * Constructs a @c uniform_smallint from its parameters.
- */
- explicit uniform_smallint(const param_type& parm)
- : _min(parm.a()), _max(parm.b()) {}
-
- /** Returns the minimum value of the distribution. */
- result_type a() const { return _min; }
- /** Returns the maximum value of the distribution. */
- result_type b() const { return _max; }
- /** Returns the minimum value of the distribution. */
- result_type min BOOST_PREVENT_MACRO_SUBSTITUTION () const { return _min; }
- /** Returns the maximum value of the distribution. */
- result_type max BOOST_PREVENT_MACRO_SUBSTITUTION () const { return _max; }
-
- /** Returns the parameters of the distribution. */
- param_type param() const { return param_type(_min, _max); }
- /** Sets the parameters of the distribution. */
- void param(const param_type& parm)
- {
- _min = parm.a();
- _max = parm.b();
- }
-
- /**
- * Effects: Subsequent uses of the distribution do not depend
- * on values produced by any engine prior to invoking reset.
- */
- void reset() { }
-
- /** Returns a value uniformly distributed in the range [min(), max()]. */
- template<class Engine>
- result_type operator()(Engine& eng) const
- {
- typedef typename Engine::result_type base_result;
- return generate(eng, boost::is_integral<base_result>());
- }
-
- /** Returns a value uniformly distributed in the range [param.a(), param.b()]. */
- template<class Engine>
- result_type operator()(Engine& eng, const param_type& parm) const
- { return uniform_smallint(parm)(eng); }
-
- /** Writes the distribution to a @c std::ostream. */
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, uniform_smallint, ud)
- {
- os << ud._min << " " << ud._max;
- return os;
- }
-
- /** Reads the distribution from a @c std::istream. */
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, uniform_smallint, ud)
- {
- is >> ud._min >> std::ws >> ud._max;
- return is;
- }
-
- /**
- * Returns true if the two distributions will produce identical
- * sequences of values given equal generators.
- */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(uniform_smallint, lhs, rhs)
- { return lhs._min == rhs._min && lhs._max == rhs._max; }
-
- /**
- * Returns true if the two distributions may produce different
- * sequences of values given equal generators.
- */
- BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(uniform_smallint)
-
-private:
-
- // \cond show_private
- template<class Engine>
- result_type generate(Engine& eng, boost::mpl::true_) const
- {
- // equivalent to (eng() - eng.min()) % (_max - _min + 1) + _min,
- // but guarantees no overflow.
- typedef typename Engine::result_type base_result;
- typedef typename boost::make_unsigned<base_result>::type base_unsigned;
- typedef typename boost::make_unsigned<result_type>::type range_type;
- range_type range = random::detail::subtract<result_type>()(_max, _min);
- base_unsigned base_range =
- random::detail::subtract<result_type>()((eng.max)(), (eng.min)());
- base_unsigned val =
- random::detail::subtract<base_result>()(eng(), (eng.min)());
- if(range >= base_range) {
- return boost::random::detail::add<range_type, result_type>()(
- static_cast<range_type>(val), _min);
- } else {
- base_unsigned modulus = static_cast<base_unsigned>(range) + 1;
- return boost::random::detail::add<range_type, result_type>()(
- static_cast<range_type>(val % modulus), _min);
- }
- }
-
- template<class Engine>
- result_type generate(Engine& eng, boost::mpl::false_) const
- {
- typedef typename Engine::result_type base_result;
- typedef typename boost::make_unsigned<result_type>::type range_type;
- range_type range = random::detail::subtract<result_type>()(_max, _min);
- base_result val = boost::uniform_01<base_result>()(eng);
- // what is the worst that can possibly happen here?
- // base_result may not be able to represent all the values in [0, range]
- // exactly. If this happens, it will cause round off error and we
- // won't be able to produce all the values in the range. We don't
- // care about this because the user has already told us not to by
- // using uniform_smallint. However, we do need to be careful
- // to clamp the result, or floating point rounding can produce
- // an out of range result.
- range_type offset = static_cast<range_type>(val * (static_cast<base_result>(range) + 1));
- if(offset > range) return _max;
- return boost::random::detail::add<range_type, result_type>()(offset , _min);
- }
- // \endcond
-
- result_type _min;
- result_type _max;
-};
-
-} // namespace random
-
-using random::uniform_smallint;
-
-} // namespace boost
-
-#endif // BOOST_RANDOM_UNIFORM_SMALLINT_HPP
diff --git a/boost/random/variate_generator.hpp b/boost/random/variate_generator.hpp
deleted file mode 100644
index ac69800..0000000
--- a/boost/random/variate_generator.hpp
+++ /dev/null
@@ -1,122 +0,0 @@
-/* boost random/variate_generator.hpp header file
- *
- * Copyright Jens Maurer 2002
- * Copyright Steven Watanabe 2011
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: variate_generator.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- *
- */
-
-#ifndef BOOST_RANDOM_RANDOM_GENERATOR_HPP
-#define BOOST_RANDOM_RANDOM_GENERATOR_HPP
-
-#include <boost/random/detail/ptr_helper.hpp>
-
-#include <boost/random/detail/disable_warnings.hpp>
-
-namespace boost {
-
-/// \cond hide_private_members
-
-namespace random {
-
-///\endcond
-
-/**
- * A random variate generator is used to join a random number
- * generator together with a random number distribution.
- * Boost.Random provides a vast choice of \generators as well
- * as \distributions.
- *
- * The argument for the template parameter Engine shall be of
- * the form U, U&, or U*, where U models a
- * \uniform_random_number_generator. Then, the member
- * engine_value_type names U (not the pointer or reference to U).
- *
- * Specializations of @c variate_generator satisfy the
- * requirements of CopyConstructible. They also satisfy the
- * requirements of Assignable unless the template parameter
- * Engine is of the form U&.
- *
- * The complexity of all functions specified in this section
- * is constant. No function described in this section except
- * the constructor throws an exception.
- */
-template<class Engine, class Distribution>
-class variate_generator
-{
-private:
- typedef boost::random::detail::ptr_helper<Engine> helper_type;
-public:
- typedef typename helper_type::value_type engine_value_type;
- typedef Engine engine_type;
- typedef Distribution distribution_type;
- typedef typename Distribution::result_type result_type;
-
- /**
- * Constructs a @c variate_generator object with the associated
- * \uniform_random_number_generator eng and the associated
- * \random_distribution d.
- *
- * Throws: If and what the copy constructor of Engine or
- * Distribution throws.
- */
- variate_generator(Engine e, Distribution d)
- : _eng(e), _dist(d) { }
-
- /** Returns: distribution()(engine()) */
- result_type operator()() { return _dist(engine()); }
- /**
- * Returns: distribution()(engine(), value).
- */
- template<class T>
- result_type operator()(const T& value) { return _dist(engine(), value); }
-
- /**
- * Returns: A reference to the associated uniform random number generator.
- */
- engine_value_type& engine() { return helper_type::ref(_eng); }
- /**
- * Returns: A reference to the associated uniform random number generator.
- */
- const engine_value_type& engine() const { return helper_type::ref(_eng); }
-
- /** Returns: A reference to the associated \random_distribution. */
- distribution_type& distribution() { return _dist; }
- /**
- * Returns: A reference to the associated random distribution.
- */
- const distribution_type& distribution() const { return _dist; }
-
- /**
- * Precondition: distribution().min() is well-formed
- *
- * Returns: distribution().min()
- */
- result_type min BOOST_PREVENT_MACRO_SUBSTITUTION () const { return (distribution().min)(); }
- /**
- * Precondition: distribution().max() is well-formed
- *
- * Returns: distribution().max()
- */
- result_type max BOOST_PREVENT_MACRO_SUBSTITUTION () const { return (distribution().max)(); }
-
-private:
- Engine _eng;
- distribution_type _dist;
-};
-
-} // namespace random
-
-using random::variate_generator;
-
-} // namespace boost
-
-#include <boost/random/detail/enable_warnings.hpp>
-
-#endif // BOOST_RANDOM_RANDOM_GENERATOR_HPP
diff --git a/boost/random/weibull_distribution.hpp b/boost/random/weibull_distribution.hpp
deleted file mode 100644
index 2c8a26f..0000000
--- a/boost/random/weibull_distribution.hpp
+++ /dev/null
@@ -1,177 +0,0 @@
-/* boost random/weibull_distribution.hpp header file
- *
- * Copyright Steven Watanabe 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 most recent version including documentation.
- *
- * $Id: weibull_distribution.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- */
-
-#ifndef BOOST_RANDOM_WEIBULL_DISTRIBUTION_HPP
-#define BOOST_RANDOM_WEIBULL_DISTRIBUTION_HPP
-
-#include <boost/config/no_tr1/cmath.hpp>
-#include <iosfwd>
-#include <istream>
-#include <boost/config.hpp>
-#include <boost/limits.hpp>
-#include <boost/random/detail/operators.hpp>
-#include <boost/random/uniform_01.hpp>
-
-namespace boost {
-namespace random {
-
-/**
- * The Weibull distribution is a real valued distribution with two
- * parameters a and b, producing values >= 0.
- *
- * It has \f$\displaystyle p(x) = \frac{a}{b}\left(\frac{x}{b}\right)^{a-1}e^{-\left(\frac{x}{b}\right)^a}\f$.
- */
-template<class RealType = double>
-class weibull_distribution {
-public:
- typedef RealType result_type;
- typedef RealType input_type;
-
- class param_type {
- public:
- typedef weibull_distribution distribution_type;
-
- /**
- * Constructs a @c param_type from the "a" and "b" parameters
- * of the distribution.
- *
- * Requires: a > 0 && b > 0
- */
- explicit param_type(RealType a_arg = 1.0, RealType b_arg = 1.0)
- : _a(a_arg), _b(b_arg)
- {}
-
- /** Returns the "a" parameter of the distribtuion. */
- RealType a() const { return _a; }
- /** Returns the "b" parameter of the distribution. */
- RealType b() const { return _b; }
-
- /** Writes a @c param_type to a @c std::ostream. */
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, param_type, parm)
- { os << parm._a << ' ' << parm._b; return os; }
-
- /** Reads a @c param_type from a @c std::istream. */
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, param_type, parm)
- { is >> parm._a >> std::ws >> parm._b; return is; }
-
- /** Returns true if the two sets of parameters are the same. */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(param_type, lhs, rhs)
- { return lhs._a == rhs._a && lhs._b == rhs._b; }
-
- /** Returns true if the two sets of parameters are the different. */
- BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(param_type)
-
- private:
- RealType _a;
- RealType _b;
- };
-
- /**
- * Constructs a @c weibull_distribution from its "a" and "b" parameters.
- *
- * Requires: a > 0 && b > 0
- */
- explicit weibull_distribution(RealType a_arg = 1.0, RealType b_arg = 1.0)
- : _a(a_arg), _b(b_arg)
- {}
- /** Constructs a @c weibull_distribution from its parameters. */
- explicit weibull_distribution(const param_type& parm)
- : _a(parm.a()), _b(parm.b())
- {}
-
- /**
- * Returns a random variate distributed according to the
- * @c weibull_distribution.
- */
- template<class URNG>
- RealType operator()(URNG& urng) const
- {
- using std::pow;
- using std::log;
- return _b*pow(-log(1 - uniform_01<RealType>()(urng)), 1/_a);
- }
-
- /**
- * Returns a random variate distributed accordint to the Weibull
- * distribution with parameters specified by @c param.
- */
- template<class URNG>
- RealType operator()(URNG& urng, const param_type& parm) const
- {
- return weibull_distribution(parm)(urng);
- }
-
- /** Returns the "a" parameter of the distribution. */
- RealType a() const { return _a; }
- /** Returns the "b" parameter of the distribution. */
- RealType b() const { return _b; }
-
- /** Returns the smallest value that the distribution can produce. */
- RealType min BOOST_PREVENT_MACRO_SUBSTITUTION () const { return 0; }
- /** Returns the largest value that the distribution can produce. */
- RealType max BOOST_PREVENT_MACRO_SUBSTITUTION () const
- { return std::numeric_limits<RealType>::infinity(); }
-
- /** Returns the parameters of the distribution. */
- param_type param() const { return param_type(_a, _b); }
- /** Sets the parameters of the distribution. */
- void param(const param_type& parm)
- {
- _a = parm.a();
- _b = parm.b();
- }
-
- /**
- * Effects: Subsequent uses of the distribution do not depend
- * on values produced by any engine prior to invoking reset.
- */
- void reset() { }
-
- /** Writes a @c weibull_distribution to a @c std::ostream. */
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, weibull_distribution, wd)
- {
- os << wd.param();
- return os;
- }
-
- /** Reads a @c weibull_distribution from a @c std::istream. */
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, weibull_distribution, wd)
- {
- param_type parm;
- if(is >> parm) {
- wd.param(parm);
- }
- return is;
- }
-
- /**
- * Returns true if the two instances of @c weibull_distribution will
- * return identical sequences of values given equal generators.
- */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(weibull_distribution, lhs, rhs)
- { return lhs._a == rhs._a && lhs._b == rhs._b; }
-
- /**
- * Returns true if the two instances of @c weibull_distribution will
- * return different sequences of values given equal generators.
- */
- BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(weibull_distribution)
-
-private:
- RealType _a;
- RealType _b;
-};
-
-} // namespace random
-} // namespace boost
-
-#endif // BOOST_RANDOM_WEIBULL_DISTRIBUTION_HPP
diff --git a/boost/random/xor_combine.hpp b/boost/random/xor_combine.hpp
deleted file mode 100644
index d997a1c..0000000
--- a/boost/random/xor_combine.hpp
+++ /dev/null
@@ -1,207 +0,0 @@
-/* boost random/xor_combine.hpp header file
- *
- * Copyright Jens Maurer 2002
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org for most recent version including documentation.
- *
- * $Id: xor_combine.hpp 71018 2011-04-05 21:27:52Z steven_watanabe $
- *
- */
-
-#ifndef BOOST_RANDOM_XOR_COMBINE_HPP
-#define BOOST_RANDOM_XOR_COMBINE_HPP
-
-#include <istream>
-#include <iosfwd>
-#include <cassert>
-#include <algorithm> // for std::min and std::max
-#include <boost/config.hpp>
-#include <boost/limits.hpp>
-#include <boost/cstdint.hpp> // uint32_t
-#include <boost/random/detail/config.hpp>
-#include <boost/random/detail/seed.hpp>
-#include <boost/random/detail/seed_impl.hpp>
-
-namespace boost {
-namespace random {
-
-/**
- * Instantiations of @c xor_combine_engine model a
- * \pseudo_random_number_generator. To produce its output it
- * invokes each of the base generators, shifts their results
- * and xors them together.
- */
-template<class URNG1, int s1, class URNG2, int s2>
-class xor_combine_engine
-{
-public:
- typedef URNG1 base1_type;
- typedef URNG2 base2_type;
- typedef typename base1_type::result_type result_type;
-
- BOOST_STATIC_CONSTANT(bool, has_fixed_range = false);
- BOOST_STATIC_CONSTANT(int, shift1 = s1);
- BOOST_STATIC_CONSTANT(int, shift2 = s2);
-
- /**
- * Constructors a @c xor_combine_engine by default constructing
- * both base generators.
- */
- xor_combine_engine() : _rng1(), _rng2() { }
-
- /** Constructs a @c xor_combine by copying two base generators. */
- xor_combine_engine(const base1_type & rng1, const base2_type & rng2)
- : _rng1(rng1), _rng2(rng2) { }
-
- /**
- * Constructs a @c xor_combine_engine, seeding both base generators
- * with @c v.
- *
- * @xmlwarning
- * The exact algorithm used by this function may change in the future.
- * @endxmlwarning
- */
- BOOST_RANDOM_DETAIL_ARITHMETIC_CONSTRUCTOR(xor_combine_engine,
- result_type, v)
- { seed(v); }
-
- /**
- * Constructs a @c xor_combine_engine, seeding both base generators
- * with values produced by @c seq.
- */
- BOOST_RANDOM_DETAIL_SEED_SEQ_CONSTRUCTOR(xor_combine_engine,
- SeedSeq, seq)
- { seed(seq); }
-
- /**
- * Constructs a @c xor_combine_engine, seeding both base generators
- * with values from the iterator range [first, last) and changes
- * first to point to the element after the last one used. If there
- * are not enough elements in the range to seed both generators,
- * throws @c std::invalid_argument.
- */
- template<class It> xor_combine_engine(It& first, It last)
- : _rng1(first, last), _rng2( /* advanced by other call */ first, last) { }
-
- /** Calls @c seed() for both base generators. */
- void seed() { _rng1.seed(); _rng2.seed(); }
-
- /** @c seeds both base generators with @c v. */
- BOOST_RANDOM_DETAIL_ARITHMETIC_SEED(xor_combine_engine, result_type, v)
- { _rng1.seed(v); _rng2.seed(v); }
-
- /** @c seeds both base generators with values produced by @c seq. */
- BOOST_RANDOM_DETAIL_SEED_SEQ_SEED(xor_combine_engine, SeedSeq, seq)
- { _rng1.seed(seq); _rng2.seed(seq); }
-
- /**
- * seeds both base generators with values from the iterator
- * range [first, last) and changes first to point to the element
- * after the last one used. If there are not enough elements in
- * the range to seed both generators, throws @c std::invalid_argument.
- */
- template<class It> void seed(It& first, It last)
- {
- _rng1.seed(first, last);
- _rng2.seed(first, last);
- }
-
- /** Returns the first base generator. */
- const base1_type& base1() const { return _rng1; }
-
- /** Returns the second base generator. */
- const base2_type& base2() const { return _rng2; }
-
- /** Returns the next value of the generator. */
- result_type operator()()
- {
- return (_rng1() << s1) ^ (_rng2() << s2);
- }
-
- /** Fills a range with random values */
- template<class Iter>
- void generate(Iter first, Iter last)
- { detail::generate_from_int(*this, first, last); }
-
- /** Advances the state of the generator by @c z. */
- void discard(boost::uintmax_t z)
- {
- _rng1.discard(z);
- _rng2.discard(z);
- }
-
- /** Returns the smallest value that the generator can produce. */
- static result_type min BOOST_PREVENT_MACRO_SUBSTITUTION () { return (std::min)((URNG1::min)(), (URNG2::min)()); }
- /** Returns the largest value that the generator can produce. */
- static result_type max BOOST_PREVENT_MACRO_SUBSTITUTION () { return (std::max)((URNG1::min)(), (URNG2::max)()); }
-
- /**
- * Writes the textual representation of the generator to a @c std::ostream.
- */
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, xor_combine_engine, s)
- {
- os << s._rng1 << ' ' << s._rng2;
- return os;
- }
-
- /**
- * Reads the textual representation of the generator from a @c std::istream.
- */
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, xor_combine_engine, s)
- {
- is >> s._rng1 >> std::ws >> s._rng2;
- return is;
- }
-
- /** Returns true if the two generators will produce identical sequences. */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(xor_combine_engine, x, y)
- { return x._rng1 == y._rng1 && x._rng2 == y._rng2; }
-
- /** Returns true if the two generators will produce different sequences. */
- BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(xor_combine_engine)
-
-private:
- base1_type _rng1;
- base2_type _rng2;
-};
-
-#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-// A definition is required even for integral static constants
-template<class URNG1, int s1, class URNG2, int s2>
-const bool xor_combine_engine<URNG1, s1, URNG2, s2>::has_fixed_range;
-template<class URNG1, int s1, class URNG2, int s2>
-const int xor_combine_engine<URNG1, s1, URNG2, s2>::shift1;
-template<class URNG1, int s1, class URNG2, int s2>
-const int xor_combine_engine<URNG1, s1, URNG2, s2>::shift2;
-#endif
-
-/// \cond show_private
-
-/** Provided for backwards compatibility. */
-template<class URNG1, int s1, class URNG2, int s2,
- typename URNG1::result_type v = 0>
-class xor_combine : public xor_combine_engine<URNG1, s1, URNG2, s2>
-{
- typedef xor_combine_engine<URNG1, s1, URNG2, s2> base_type;
-public:
- typedef typename base_type::result_type result_type;
- xor_combine() {}
- xor_combine(result_type val) : base_type(val) {}
- template<class It>
- xor_combine(It& first, It last) : base_type(first, last) {}
- xor_combine(const URNG1 & rng1, const URNG2 & rng2)
- : base_type(rng1, rng2) { }
-
- result_type min BOOST_PREVENT_MACRO_SUBSTITUTION () const { return (std::min)((this->base1().min)(), (this->base2().min)()); }
- result_type max BOOST_PREVENT_MACRO_SUBSTITUTION () const { return (std::max)((this->base1().min)(), (this->base2().max)()); }
-};
-
-/// \endcond
-
-} // namespace random
-} // namespace boost
-
-#endif // BOOST_RANDOM_XOR_COMBINE_HPP
diff --git a/boost/range/algorithm/equal.hpp b/boost/range/algorithm/equal.hpp
deleted file mode 100644
index 4472bb1..0000000
--- a/boost/range/algorithm/equal.hpp
+++ /dev/null
@@ -1,198 +0,0 @@
-// Boost.Range library
-//
-// Copyright Neil Groves 2009.
-// 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)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-#ifndef BOOST_RANGE_ALGORITHM_EQUAL_HPP_INCLUDED
-#define BOOST_RANGE_ALGORITHM_EQUAL_HPP_INCLUDED
-
-#include <boost/config.hpp>
-#include <boost/range/concepts.hpp>
-#include <iterator>
-
-namespace boost
-{
- namespace range_detail
- {
- // An implementation of equality comparison that is optimized for iterator
- // traversal categories less than RandomAccessTraversal.
- template< class SinglePassTraversalReadableIterator1,
- class SinglePassTraversalReadableIterator2,
- class IteratorCategoryTag1,
- class IteratorCategoryTag2 >
- inline bool equal_impl( SinglePassTraversalReadableIterator1 first1,
- SinglePassTraversalReadableIterator1 last1,
- SinglePassTraversalReadableIterator2 first2,
- SinglePassTraversalReadableIterator2 last2,
- IteratorCategoryTag1,
- IteratorCategoryTag2 )
- {
- while (true)
- {
- // If we have reached the end of the left range then this is
- // the end of the loop. They are equal if and only if we have
- // simultaneously reached the end of the right range.
- if (first1 == last1)
- return first2 == last2;
-
- // If we have reached the end of the right range at this line
- // it indicates that the right range is shorter than the left
- // and hence the result is false.
- if (first2 == last2)
- return false;
-
- // continue looping if and only if the values are equal
- if (*first1 != *first2)
- break;
-
- ++first1;
- ++first2;
- }
-
- // Reaching this line in the algorithm indicates that a value
- // inequality has been detected.
- return false;
- }
-
- template< class SinglePassTraversalReadableIterator1,
- class SinglePassTraversalReadableIterator2,
- class IteratorCategoryTag1,
- class IteratorCategoryTag2,
- class BinaryPredicate >
- inline bool equal_impl( SinglePassTraversalReadableIterator1 first1,
- SinglePassTraversalReadableIterator1 last1,
- SinglePassTraversalReadableIterator2 first2,
- SinglePassTraversalReadableIterator2 last2,
- BinaryPredicate pred,
- IteratorCategoryTag1,
- IteratorCategoryTag2 )
- {
- while (true)
- {
- // If we have reached the end of the left range then this is
- // the end of the loop. They are equal if and only if we have
- // simultaneously reached the end of the right range.
- if (first1 == last1)
- return first2 == last2;
-
- // If we have reached the end of the right range at this line
- // it indicates that the right range is shorter than the left
- // and hence the result is false.
- if (first2 == last2)
- return false;
-
- // continue looping if and only if the values are equal
- if (!pred(*first1, *first2))
- break;
-
- ++first1;
- ++first2;
- }
-
- // Reaching this line in the algorithm indicates that a value
- // inequality has been detected.
- return false;
- }
-
- // An implementation of equality comparison that is optimized for
- // random access iterators.
- template< class RandomAccessTraversalReadableIterator1,
- class RandomAccessTraversalReadableIterator2 >
- inline bool equal_impl( RandomAccessTraversalReadableIterator1 first1,
- RandomAccessTraversalReadableIterator1 last1,
- RandomAccessTraversalReadableIterator2 first2,
- RandomAccessTraversalReadableIterator2 last2,
- std::random_access_iterator_tag,
- std::random_access_iterator_tag )
- {
- return ((last1 - first1) == (last2 - first2))
- && std::equal(first1, last1, first2);
- }
-
- template< class RandomAccessTraversalReadableIterator1,
- class RandomAccessTraversalReadableIterator2,
- class BinaryPredicate >
- inline bool equal_impl( RandomAccessTraversalReadableIterator1 first1,
- RandomAccessTraversalReadableIterator1 last1,
- RandomAccessTraversalReadableIterator2 first2,
- RandomAccessTraversalReadableIterator2 last2,
- BinaryPredicate pred )
- {
- return ((last1 - first1) == (last2 - first2))
- && std::equal(first1, last1, first2, pred);
- }
-
- template< class SinglePassTraversalReadableIterator1,
- class SinglePassTraversalReadableIterator2 >
- inline bool equal( SinglePassTraversalReadableIterator1 first1,
- SinglePassTraversalReadableIterator1 last1,
- SinglePassTraversalReadableIterator2 first2,
- SinglePassTraversalReadableIterator2 last2 )
- {
- BOOST_DEDUCED_TYPENAME std::iterator_traits< SinglePassTraversalReadableIterator1 >::iterator_category tag1;
- BOOST_DEDUCED_TYPENAME std::iterator_traits< SinglePassTraversalReadableIterator2 >::iterator_category tag2;
-
- return equal_impl(first1, last1, first2, last2, tag1, tag2);
- }
-
- template< class SinglePassTraversalReadableIterator1,
- class SinglePassTraversalReadableIterator2,
- class BinaryPredicate >
- inline bool equal( SinglePassTraversalReadableIterator1 first1,
- SinglePassTraversalReadableIterator1 last1,
- SinglePassTraversalReadableIterator2 first2,
- SinglePassTraversalReadableIterator2 last2,
- BinaryPredicate pred )
- {
- BOOST_DEDUCED_TYPENAME std::iterator_traits< SinglePassTraversalReadableIterator1 >::iterator_category tag1;
- BOOST_DEDUCED_TYPENAME std::iterator_traits< SinglePassTraversalReadableIterator2 >::iterator_category tag2;
-
- return equal_impl(first1, last1, first2, last2, pred, tag1, tag2);
- }
-
- } // namespace range_detail
-
- namespace range
- {
-
- /// \brief template function equal
- ///
- /// range-based version of the equal std algorithm
- ///
- /// \pre SinglePassRange1 is a model of the SinglePassRangeConcept
- /// \pre SinglePassRange2 is a model of the SinglePassRangeConcept
- /// \pre BinaryPredicate is a model of the BinaryPredicateConcept
- template< class SinglePassRange1, class SinglePassRange2 >
- inline bool equal( const SinglePassRange1& rng1, const SinglePassRange2& rng2 )
- {
- BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange1> ));
- BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange2> ));
-
- return ::boost::range_detail::equal(
- ::boost::begin(rng1), ::boost::end(rng1),
- ::boost::begin(rng2), ::boost::end(rng2) );
- }
-
- /// \overload
- template< class SinglePassRange1, class SinglePassRange2, class BinaryPredicate >
- inline bool equal( const SinglePassRange1& rng1, const SinglePassRange2& rng2,
- BinaryPredicate pred )
- {
- BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange1> ));
- BOOST_RANGE_CONCEPT_ASSERT(( SinglePassRangeConcept<const SinglePassRange2> ));
-
- return ::boost::range_detail::equal(
- ::boost::begin(rng1), ::boost::end(rng1),
- ::boost::begin(rng2), ::boost::end(rng2),
- pred);
- }
-
- } // namespace range
- using ::boost::range::equal;
-} // namespace boost
-
-#endif // include guard
diff --git a/boost/range/begin.hpp b/boost/range/begin.hpp
deleted file mode 100644
index c668488..0000000
--- a/boost/range/begin.hpp
+++ /dev/null
@@ -1,143 +0,0 @@
-// Boost.Range library
-//
-// Copyright Thorsten Ottosen 2003-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)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_BEGIN_HPP
-#define BOOST_RANGE_BEGIN_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <boost/range/config.hpp>
-
-#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-#include <boost/range/detail/begin.hpp>
-#else
-
-#include <boost/range/iterator.hpp>
-
-namespace boost
-{
-
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) && \
- !BOOST_WORKAROUND(__GNUC__, < 3) \
- /**/
-namespace range_detail
-{
-#endif
-
- //////////////////////////////////////////////////////////////////////
- // primary template
- //////////////////////////////////////////////////////////////////////
-
- template< typename C >
- inline BOOST_DEDUCED_TYPENAME range_iterator<C>::type
- range_begin( C& c )
- {
- //
- // If you get a compile-error here, it is most likely because
- // you have not implemented range_begin() properly in
- // the namespace of C
- //
- return c.begin();
- }
-
- //////////////////////////////////////////////////////////////////////
- // pair
- //////////////////////////////////////////////////////////////////////
-
- template< typename Iterator >
- inline Iterator range_begin( const std::pair<Iterator,Iterator>& p )
- {
- return p.first;
- }
-
- template< typename Iterator >
- inline Iterator range_begin( std::pair<Iterator,Iterator>& p )
- {
- return p.first;
- }
-
- //////////////////////////////////////////////////////////////////////
- // array
- //////////////////////////////////////////////////////////////////////
-
- //
- // May this be discarded? Or is it needed for bad compilers?
- //
- template< typename T, std::size_t sz >
- inline const T* range_begin( const T (&a)[sz] )
- {
- return a;
- }
-
- template< typename T, std::size_t sz >
- inline T* range_begin( T (&a)[sz] )
- {
- return a;
- }
-
-
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) && \
- !BOOST_WORKAROUND(__GNUC__, < 3) \
- /**/
-} // namespace 'range_detail'
-#endif
-
-// Use a ADL namespace barrier to avoid ambiguity with other unqualified
-// calls. This is particularly important with C++0x encouraging
-// unqualified calls to begin/end.
-namespace range_adl_barrier
-{
-
-template< class T >
-inline BOOST_DEDUCED_TYPENAME range_iterator<T>::type begin( T& r )
-{
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) && \
- !BOOST_WORKAROUND(__GNUC__, < 3) \
- /**/
- using namespace range_detail;
-#endif
- return range_begin( r );
-}
-
-template< class T >
-inline BOOST_DEDUCED_TYPENAME range_iterator<const T>::type begin( const T& r )
-{
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) && \
- !BOOST_WORKAROUND(__GNUC__, < 3) \
- /**/
- using namespace range_detail;
-#endif
- return range_begin( r );
-}
-
- } // namespace range_adl_barrier
-} // namespace boost
-
-#endif // BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-
-namespace boost
-{
- namespace range_adl_barrier
- {
- template< class T >
- inline BOOST_DEDUCED_TYPENAME range_iterator<const T>::type
- const_begin( const T& r )
- {
- return boost::range_adl_barrier::begin( r );
- }
- } // namespace range_adl_barrier
-
- using namespace range_adl_barrier;
-} // namespace boost
-
-#endif
-
diff --git a/boost/range/concepts.hpp b/boost/range/concepts.hpp
deleted file mode 100644
index 5a02a21..0000000
--- a/boost/range/concepts.hpp
+++ /dev/null
@@ -1,366 +0,0 @@
-// Boost.Range library concept checks
-//
-// Copyright Neil Groves 2009. 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)
-//
-// Copyright Daniel Walker 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)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_CONCEPTS_HPP
-#define BOOST_RANGE_CONCEPTS_HPP
-
-#include <boost/concept_check.hpp>
-#include <boost/iterator/iterator_concepts.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/iterator.hpp>
-#include <boost/range/value_type.hpp>
-#include <boost/range/detail/misc_concept.hpp>
-
-/*!
- * \file
- * \brief Concept checks for the Boost Range library.
- *
- * The structures in this file may be used in conjunction with the
- * Boost Concept Check library to insure that the type of a function
- * parameter is compatible with a range concept. If not, a meaningful
- * compile time error is generated. Checks are provided for the range
- * concepts related to iterator traversal categories. For example, the
- * following line checks that the type T models the ForwardRange
- * concept.
- *
- * \code
- * BOOST_CONCEPT_ASSERT((ForwardRangeConcept<T>));
- * \endcode
- *
- * A different concept check is required to ensure writeable value
- * access. For example to check for a ForwardRange that can be written
- * to, the following code is required.
- *
- * \code
- * BOOST_CONCEPT_ASSERT((WriteableForwardRangeConcept<T>));
- * \endcode
- *
- * \see http://www.boost.org/libs/range/doc/range.html for details
- * about range concepts.
- * \see http://www.boost.org/libs/iterator/doc/iterator_concepts.html
- * for details about iterator concepts.
- * \see http://www.boost.org/libs/concept_check/concept_check.htm for
- * details about concept checks.
- */
-
-namespace boost {
-
- namespace range_detail {
-
-#ifndef BOOST_RANGE_ENABLE_CONCEPT_ASSERT
-
-// List broken compiler versions here:
- #ifdef __GNUC__
- // GNUC 4.2 has strange issues correctly detecting compliance with the Concepts
- // hence the least disruptive approach is to turn-off the concept checking for
- // this version of the compiler.
- #if __GNUC__ == 4 && __GNUC_MINOR__ == 2
- #define BOOST_RANGE_ENABLE_CONCEPT_ASSERT 0
- #endif
- #endif
-
- #ifdef __BORLANDC__
- #define BOOST_RANGE_ENABLE_CONCEPT_ASSERT 0
- #endif
-
- #ifdef __PATHCC__
- #define BOOST_RANGE_ENABLE_CONCEPT_ASSERT 0
- #endif
-
-// Default to using the concept asserts unless we have defined it off
-// during the search for black listed compilers.
- #ifndef BOOST_RANGE_ENABLE_CONCEPT_ASSERT
- #define BOOST_RANGE_ENABLE_CONCEPT_ASSERT 1
- #endif
-
-#endif
-
-#if BOOST_RANGE_ENABLE_CONCEPT_ASSERT
- #define BOOST_RANGE_CONCEPT_ASSERT( x ) BOOST_CONCEPT_ASSERT( x )
-#else
- #define BOOST_RANGE_CONCEPT_ASSERT( x )
-#endif
-
- // Rationale for the inclusion of redefined iterator concept
- // classes:
- //
- // The Range algorithms often do not require that the iterators are
- // Assignable or default constructable, but the correct standard
- // conformant iterators do require the iterators to be a model of the
- // Assignable concept.
- // Iterators that contains a functor that is not assignable therefore
- // are not correct models of the standard iterator concepts,
- // despite being adequate for most algorithms. An example of this
- // use case is the combination of the boost::adaptors::filtered
- // class with a boost::lambda::bind generated functor.
- // Ultimately modeling the range concepts using composition
- // with the Boost.Iterator concepts would render the library
- // incompatible with many common Boost.Lambda expressions.
- template<class Iterator>
- struct IncrementableIteratorConcept : CopyConstructible<Iterator>
- {
-#if BOOST_RANGE_ENABLE_CONCEPT_ASSERT
- typedef BOOST_DEDUCED_TYPENAME iterator_traversal<Iterator>::type traversal_category;
-
- BOOST_RANGE_CONCEPT_ASSERT((
- Convertible<
- traversal_category,
- incrementable_traversal_tag
- >));
-
- BOOST_CONCEPT_USAGE(IncrementableIteratorConcept)
- {
- ++i;
- (void)i++;
- }
- private:
- Iterator i;
-#endif
- };
-
- template<class Iterator>
- struct SinglePassIteratorConcept
- : IncrementableIteratorConcept<Iterator>
- , EqualityComparable<Iterator>
- {
-#if BOOST_RANGE_ENABLE_CONCEPT_ASSERT
- BOOST_RANGE_CONCEPT_ASSERT((
- Convertible<
- BOOST_DEDUCED_TYPENAME SinglePassIteratorConcept::traversal_category,
- single_pass_traversal_tag
- >));
-
- BOOST_CONCEPT_USAGE(SinglePassIteratorConcept)
- {
- Iterator i2(++i);
- boost::ignore_unused_variable_warning(i2);
-
- // deliberately we are loose with the postfix version for the single pass
- // iterator due to the commonly poor adherence to the specification means that
- // many algorithms would be unusable, whereas actually without the check they
- // work
- (void)(i++);
-
- BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits<Iterator>::reference r1(*i);
- boost::ignore_unused_variable_warning(r1);
-
- BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits<Iterator>::reference r2(*(++i));
- boost::ignore_unused_variable_warning(r2);
- }
- private:
- Iterator i;
-#endif
- };
-
- template<class Iterator>
- struct ForwardIteratorConcept
- : SinglePassIteratorConcept<Iterator>
- , DefaultConstructible<Iterator>
- {
-#if BOOST_RANGE_ENABLE_CONCEPT_ASSERT
- typedef BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits<Iterator>::difference_type difference_type;
-
- BOOST_MPL_ASSERT((is_integral<difference_type>));
- BOOST_MPL_ASSERT_RELATION(std::numeric_limits<difference_type>::is_signed, ==, true);
-
- BOOST_RANGE_CONCEPT_ASSERT((
- Convertible<
- BOOST_DEDUCED_TYPENAME ForwardIteratorConcept::traversal_category,
- forward_traversal_tag
- >));
-
- BOOST_CONCEPT_USAGE(ForwardIteratorConcept)
- {
- // See the above note in the SinglePassIteratorConcept about the handling of the
- // postfix increment. Since with forward and better iterators there is no need
- // for a proxy, we can sensibly require that the dereference result
- // is convertible to reference.
- Iterator i2(i++);
- boost::ignore_unused_variable_warning(i2);
- BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits<Iterator>::reference r(*(i++));
- boost::ignore_unused_variable_warning(r);
- }
- private:
- Iterator i;
-#endif
- };
-
- template<class Iterator>
- struct BidirectionalIteratorConcept
- : ForwardIteratorConcept<Iterator>
- {
- #if BOOST_RANGE_ENABLE_CONCEPT_ASSERT
- BOOST_RANGE_CONCEPT_ASSERT((
- Convertible<
- BOOST_DEDUCED_TYPENAME BidirectionalIteratorConcept::traversal_category,
- bidirectional_traversal_tag
- >));
-
- BOOST_CONCEPT_USAGE(BidirectionalIteratorConcept)
- {
- --i;
- (void)i--;
- }
- private:
- Iterator i;
- #endif
- };
-
- template<class Iterator>
- struct RandomAccessIteratorConcept
- : BidirectionalIteratorConcept<Iterator>
- {
- #if BOOST_RANGE_ENABLE_CONCEPT_ASSERT
- BOOST_RANGE_CONCEPT_ASSERT((
- Convertible<
- BOOST_DEDUCED_TYPENAME RandomAccessIteratorConcept::traversal_category,
- random_access_traversal_tag
- >));
-
- BOOST_CONCEPT_USAGE(RandomAccessIteratorConcept)
- {
- i += n;
- i = i + n;
- i = n + i;
- i -= n;
- i = i - n;
- n = i - j;
- }
- private:
- BOOST_DEDUCED_TYPENAME RandomAccessIteratorConcept::difference_type n;
- Iterator i;
- Iterator j;
- #endif
- };
-
- } // namespace range_detail
-
- //! Check if a type T models the SinglePassRange range concept.
- template<class T>
- struct SinglePassRangeConcept
- {
-#if BOOST_RANGE_ENABLE_CONCEPT_ASSERT
- typedef BOOST_DEDUCED_TYPENAME range_iterator<T const>::type const_iterator;
- typedef BOOST_DEDUCED_TYPENAME range_iterator<T>::type iterator;
-
- BOOST_RANGE_CONCEPT_ASSERT((range_detail::SinglePassIteratorConcept<iterator>));
- BOOST_RANGE_CONCEPT_ASSERT((range_detail::SinglePassIteratorConcept<const_iterator>));
-
- BOOST_CONCEPT_USAGE(SinglePassRangeConcept)
- {
- // This has been modified from assigning to this->i
- // (where i was a member variable) to improve
- // compatibility with Boost.Lambda
- iterator i1 = boost::begin(*m_range);
- iterator i2 = boost::end(*m_range);
-
- ignore_unused_variable_warning(i1);
- ignore_unused_variable_warning(i2);
-
- const_constraints(*m_range);
- }
-
- private:
- void const_constraints(const T& const_range)
- {
- const_iterator ci1 = boost::begin(const_range);
- const_iterator ci2 = boost::end(const_range);
-
- ignore_unused_variable_warning(ci1);
- ignore_unused_variable_warning(ci2);
- }
-
- // Rationale:
- // The type of m_range is T* rather than T because it allows
- // T to be an abstract class. The other obvious alternative of
- // T& produces a warning on some compilers.
- T* m_range;
-#endif
- };
-
- //! Check if a type T models the ForwardRange range concept.
- template<class T>
- struct ForwardRangeConcept : SinglePassRangeConcept<T>
- {
-#if BOOST_RANGE_ENABLE_CONCEPT_ASSERT
- BOOST_RANGE_CONCEPT_ASSERT((range_detail::ForwardIteratorConcept<BOOST_DEDUCED_TYPENAME ForwardRangeConcept::iterator>));
- BOOST_RANGE_CONCEPT_ASSERT((range_detail::ForwardIteratorConcept<BOOST_DEDUCED_TYPENAME ForwardRangeConcept::const_iterator>));
-#endif
- };
-
- template<class Range>
- struct WriteableRangeConcept
- {
-#if BOOST_RANGE_ENABLE_CONCEPT_ASSERT
- typedef BOOST_DEDUCED_TYPENAME range_iterator<Range>::type iterator;
-
- BOOST_CONCEPT_USAGE(WriteableRangeConcept)
- {
- *i = v;
- }
- private:
- iterator i;
- BOOST_DEDUCED_TYPENAME range_value<Range>::type v;
-#endif
- };
-
- //! Check if a type T models the WriteableForwardRange range concept.
- template<class T>
- struct WriteableForwardRangeConcept
- : ForwardRangeConcept<T>
- , WriteableRangeConcept<T>
- {
- };
-
- //! Check if a type T models the BidirectionalRange range concept.
- template<class T>
- struct BidirectionalRangeConcept : ForwardRangeConcept<T>
- {
-#if BOOST_RANGE_ENABLE_CONCEPT_ASSERT
- BOOST_RANGE_CONCEPT_ASSERT((range_detail::BidirectionalIteratorConcept<BOOST_DEDUCED_TYPENAME BidirectionalRangeConcept::iterator>));
- BOOST_RANGE_CONCEPT_ASSERT((range_detail::BidirectionalIteratorConcept<BOOST_DEDUCED_TYPENAME BidirectionalRangeConcept::const_iterator>));
-#endif
- };
-
- //! Check if a type T models the WriteableBidirectionalRange range concept.
- template<class T>
- struct WriteableBidirectionalRangeConcept
- : BidirectionalRangeConcept<T>
- , WriteableRangeConcept<T>
- {
- };
-
- //! Check if a type T models the RandomAccessRange range concept.
- template<class T>
- struct RandomAccessRangeConcept : BidirectionalRangeConcept<T>
- {
-#if BOOST_RANGE_ENABLE_CONCEPT_ASSERT
- BOOST_RANGE_CONCEPT_ASSERT((range_detail::RandomAccessIteratorConcept<BOOST_DEDUCED_TYPENAME RandomAccessRangeConcept::iterator>));
- BOOST_RANGE_CONCEPT_ASSERT((range_detail::RandomAccessIteratorConcept<BOOST_DEDUCED_TYPENAME RandomAccessRangeConcept::const_iterator>));
-#endif
- };
-
- //! Check if a type T models the WriteableRandomAccessRange range concept.
- template<class T>
- struct WriteableRandomAccessRangeConcept
- : RandomAccessRangeConcept<T>
- , WriteableRangeConcept<T>
- {
- };
-
-} // namespace boost
-
-#endif // BOOST_RANGE_CONCEPTS_HPP
diff --git a/boost/range/config.hpp b/boost/range/config.hpp
deleted file mode 100644
index 4e7fb24..0000000
--- a/boost/range/config.hpp
+++ /dev/null
@@ -1,54 +0,0 @@
-// Boost.Range library
-//
-// Copyright Thorsten Ottosen 2003-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)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_CONFIG_HPP
-#define BOOST_RANGE_CONFIG_HPP
-
-#include <boost/detail/workaround.hpp>
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#ifdef BOOST_RANGE_DEDUCED_TYPENAME
-#error "macro already defined!"
-#endif
-
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-# define BOOST_RANGE_DEDUCED_TYPENAME typename
-#else
-# if BOOST_WORKAROUND(BOOST_MSVC, == 1300) && !defined(_MSC_EXTENSIONS)
-# define BOOST_RANGE_DEDUCED_TYPENAME typename
-# else
-# define BOOST_RANGE_DEDUCED_TYPENAME BOOST_DEDUCED_TYPENAME
-# endif
-#endif
-
-#ifdef BOOST_RANGE_NO_ARRAY_SUPPORT
-#error "macro already defined!"
-#endif
-
-#if BOOST_WORKAROUND( BOOST_MSVC, < 1300 ) || BOOST_WORKAROUND( __MWERKS__, <= 0x3003 )
-#define BOOST_RANGE_NO_ARRAY_SUPPORT 1
-#endif
-
-#ifdef BOOST_RANGE_NO_ARRAY_SUPPORT
-#define BOOST_RANGE_ARRAY_REF() (boost_range_array)
-#define BOOST_RANGE_NO_STATIC_ASSERT
-#else
-#define BOOST_RANGE_ARRAY_REF() (&boost_range_array)
-#endif
-
-
-
-#endif
-
diff --git a/boost/range/const_iterator.hpp b/boost/range/const_iterator.hpp
deleted file mode 100644
index 875320f..0000000
--- a/boost/range/const_iterator.hpp
+++ /dev/null
@@ -1,67 +0,0 @@
-// Boost.Range library
-//
-// Copyright Thorsten Ottosen 2003-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)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_CONST_ITERATOR_HPP
-#define BOOST_RANGE_CONST_ITERATOR_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <boost/range/config.hpp>
-
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-#include <boost/range/detail/const_iterator.hpp>
-#else
-
-#include <boost/range/detail/extract_optional_type.hpp>
-#include <boost/type_traits/remove_const.hpp>
-#include <cstddef>
-#include <utility>
-
-namespace boost
-{
- //////////////////////////////////////////////////////////////////////////
- // default
- //////////////////////////////////////////////////////////////////////////
-
- namespace range_detail {
- BOOST_RANGE_EXTRACT_OPTIONAL_TYPE( const_iterator )
- }
-
- template< typename C >
- struct range_const_iterator : range_detail::extract_const_iterator<C>
- {};
-
- //////////////////////////////////////////////////////////////////////////
- // pair
- //////////////////////////////////////////////////////////////////////////
-
- template< typename Iterator >
- struct range_const_iterator< std::pair<Iterator,Iterator> >
- {
- typedef Iterator type;
- };
-
- //////////////////////////////////////////////////////////////////////////
- // array
- //////////////////////////////////////////////////////////////////////////
-
- template< typename T, std::size_t sz >
- struct range_const_iterator< T[sz] >
- {
- typedef const T* type;
- };
-
-} // namespace boost
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-#endif
diff --git a/boost/range/detail/begin.hpp b/boost/range/detail/begin.hpp
deleted file mode 100644
index f3da732..0000000
--- a/boost/range/detail/begin.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-// Boost.Range library
-//
-// Copyright Thorsten Ottosen 2003-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)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_DETAIL_BEGIN_HPP
-#define BOOST_RANGE_DETAIL_BEGIN_HPP
-
-#include <boost/config.hpp> // BOOST_MSVC
-#include <boost/detail/workaround.hpp>
-#include <boost/range/iterator.hpp>
-#include <boost/range/detail/common.hpp>
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1310)
-# include <boost/range/value_type.hpp>
-#endif
-
-namespace boost
-{
-
- namespace range_detail
- {
- template< typename T >
- struct range_begin;
-
- //////////////////////////////////////////////////////////////////////
- // default
- //////////////////////////////////////////////////////////////////////
-
- template<>
- struct range_begin<std_container_>
- {
- template< typename C >
- static BOOST_RANGE_DEDUCED_TYPENAME range_iterator<C>::type fun( C& c )
- {
- return c.begin();
- };
- };
-
- //////////////////////////////////////////////////////////////////////
- // pair
- //////////////////////////////////////////////////////////////////////
-
- template<>
- struct range_begin<std_pair_>
- {
- template< typename P >
- static BOOST_RANGE_DEDUCED_TYPENAME range_iterator<P>::type fun( const P& p )
- {
- return p.first;
- }
- };
-
- //////////////////////////////////////////////////////////////////////
- // array
- //////////////////////////////////////////////////////////////////////
-
- template<>
- struct range_begin<array_>
- {
- #if !BOOST_WORKAROUND(BOOST_MSVC, < 1310)
- template< typename T, std::size_t sz >
- static T* fun( T BOOST_RANGE_ARRAY_REF()[sz] )
- {
- return boost_range_array;
- }
- #else
- template<typename T>
- static BOOST_RANGE_DEDUCED_TYPENAME range_value<T>::type* fun(T& t)
- {
- return t;
- }
- #endif
- };
-
- } // namespace 'range_detail'
-
- namespace range_adl_barrier
- {
- template< typename C >
- inline BOOST_RANGE_DEDUCED_TYPENAME range_iterator<C>::type
- begin( C& c )
- {
- return range_detail::range_begin< BOOST_RANGE_DEDUCED_TYPENAME range_detail::range<C>::type >::fun( c );
- }
- }
-} // namespace 'boost'
-
-
-#endif
diff --git a/boost/range/detail/common.hpp b/boost/range/detail/common.hpp
deleted file mode 100644
index f7539f5..0000000
--- a/boost/range/detail/common.hpp
+++ /dev/null
@@ -1,117 +0,0 @@
-// Boost.Range library
-//
-// Copyright Thorsten Ottosen 2003-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)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_DETAIL_COMMON_HPP
-#define BOOST_RANGE_DETAIL_COMMON_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <boost/range/config.hpp>
-#include <boost/range/detail/sfinae.hpp>
-#include <boost/type_traits/is_void.hpp>
-#include <boost/type_traits/detail/ice_or.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/int.hpp>
-#include <cstddef>
-
-//////////////////////////////////////////////////////////////////////////////
-// missing partial specialization workaround.
-//////////////////////////////////////////////////////////////////////////////
-
-namespace boost
-{
- namespace range_detail
- {
- // 1 = std containers
- // 2 = std::pair
- // 3 = const std::pair
- // 4 = array
- // 5 = const array
- // 6 = char array
- // 7 = wchar_t array
- // 8 = char*
- // 9 = const char*
- // 10 = whar_t*
- // 11 = const wchar_t*
- // 12 = string
-
- typedef mpl::int_<1>::type std_container_;
- typedef mpl::int_<2>::type std_pair_;
- typedef mpl::int_<3>::type const_std_pair_;
- typedef mpl::int_<4>::type array_;
- typedef mpl::int_<5>::type const_array_;
- typedef mpl::int_<6>::type char_array_;
- typedef mpl::int_<7>::type wchar_t_array_;
- typedef mpl::int_<8>::type char_ptr_;
- typedef mpl::int_<9>::type const_char_ptr_;
- typedef mpl::int_<10>::type wchar_t_ptr_;
- typedef mpl::int_<11>::type const_wchar_t_ptr_;
- typedef mpl::int_<12>::type string_;
-
- template< typename C >
- struct range_helper
- {
- static C* c;
- static C ptr;
-
- BOOST_STATIC_CONSTANT( bool, is_pair_ = sizeof( boost::range_detail::is_pair_impl( c ) ) == sizeof( yes_type ) );
- BOOST_STATIC_CONSTANT( bool, is_char_ptr_ = sizeof( boost::range_detail::is_char_ptr_impl( ptr ) ) == sizeof( yes_type ) );
- BOOST_STATIC_CONSTANT( bool, is_const_char_ptr_ = sizeof( boost::range_detail::is_const_char_ptr_impl( ptr ) ) == sizeof( yes_type ) );
- BOOST_STATIC_CONSTANT( bool, is_wchar_t_ptr_ = sizeof( boost::range_detail::is_wchar_t_ptr_impl( ptr ) ) == sizeof( yes_type ) );
- BOOST_STATIC_CONSTANT( bool, is_const_wchar_t_ptr_ = sizeof( boost::range_detail::is_const_wchar_t_ptr_impl( ptr ) ) == sizeof( yes_type ) );
- BOOST_STATIC_CONSTANT( bool, is_char_array_ = sizeof( boost::range_detail::is_char_array_impl( ptr ) ) == sizeof( yes_type ) );
- BOOST_STATIC_CONSTANT( bool, is_wchar_t_array_ = sizeof( boost::range_detail::is_wchar_t_array_impl( ptr ) ) == sizeof( yes_type ) );
- BOOST_STATIC_CONSTANT( bool, is_string_ = (boost::type_traits::ice_or<is_const_char_ptr_, is_const_wchar_t_ptr_>::value ));
- BOOST_STATIC_CONSTANT( bool, is_array_ = boost::is_array<C>::value );
-
- };
-
- template< typename C >
- class range
- {
- typedef BOOST_RANGE_DEDUCED_TYPENAME boost::mpl::if_c< ::boost::range_detail::range_helper<C>::is_pair_,
- boost::range_detail::std_pair_,
- void >::type pair_t;
- typedef BOOST_RANGE_DEDUCED_TYPENAME boost::mpl::if_c< ::boost::range_detail::range_helper<C>::is_array_,
- boost::range_detail::array_,
- pair_t >::type array_t;
- typedef BOOST_RANGE_DEDUCED_TYPENAME boost::mpl::if_c< ::boost::range_detail::range_helper<C>::is_string_,
- boost::range_detail::string_,
- array_t >::type string_t;
- typedef BOOST_RANGE_DEDUCED_TYPENAME boost::mpl::if_c< ::boost::range_detail::range_helper<C>::is_const_char_ptr_,
- boost::range_detail::const_char_ptr_,
- string_t >::type const_char_ptr_t;
- typedef BOOST_RANGE_DEDUCED_TYPENAME boost::mpl::if_c< ::boost::range_detail::range_helper<C>::is_char_ptr_,
- boost::range_detail::char_ptr_,
- const_char_ptr_t >::type char_ptr_t;
- typedef BOOST_RANGE_DEDUCED_TYPENAME boost::mpl::if_c< ::boost::range_detail::range_helper<C>::is_const_wchar_t_ptr_,
- boost::range_detail::const_wchar_t_ptr_,
- char_ptr_t >::type const_wchar_ptr_t;
- typedef BOOST_RANGE_DEDUCED_TYPENAME boost::mpl::if_c< ::boost::range_detail::range_helper<C>::is_wchar_t_ptr_,
- boost::range_detail::wchar_t_ptr_,
- const_wchar_ptr_t >::type wchar_ptr_t;
- typedef BOOST_RANGE_DEDUCED_TYPENAME boost::mpl::if_c< ::boost::range_detail::range_helper<C>::is_wchar_t_array_,
- boost::range_detail::wchar_t_array_,
- wchar_ptr_t >::type wchar_array_t;
- typedef BOOST_RANGE_DEDUCED_TYPENAME boost::mpl::if_c< ::boost::range_detail::range_helper<C>::is_char_array_,
- boost::range_detail::char_array_,
- wchar_array_t >::type char_array_t;
- public:
- typedef BOOST_RANGE_DEDUCED_TYPENAME boost::mpl::if_c< ::boost::is_void<char_array_t>::value,
- boost::range_detail::std_container_,
- char_array_t >::type type;
- }; // class 'range'
- }
-}
-
-#endif
-
diff --git a/boost/range/detail/const_iterator.hpp b/boost/range/detail/const_iterator.hpp
deleted file mode 100644
index e5cb34a..0000000
--- a/boost/range/detail/const_iterator.hpp
+++ /dev/null
@@ -1,71 +0,0 @@
-// Boost.Range library
-//
-// Copyright Thorsten Ottosen 2003-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)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_DETAIL_CONST_ITERATOR_HPP
-#define BOOST_RANGE_DETAIL_CONST_ITERATOR_HPP
-
-#include <boost/range/detail/common.hpp>
-#include <boost/range/detail/remove_extent.hpp>
-
-//////////////////////////////////////////////////////////////////////////////
-// missing partial specialization workaround.
-//////////////////////////////////////////////////////////////////////////////
-
-namespace boost
-{
- namespace range_detail
- {
- template< typename T >
- struct range_const_iterator_;
-
- template<>
- struct range_const_iterator_<std_container_>
- {
- template< typename C >
- struct pts
- {
- typedef BOOST_RANGE_DEDUCED_TYPENAME C::const_iterator type;
- };
- };
-
- template<>
- struct range_const_iterator_<std_pair_>
- {
- template< typename P >
- struct pts
- {
- typedef BOOST_RANGE_DEDUCED_TYPENAME P::first_type type;
- };
- };
-
-
- template<>
- struct range_const_iterator_<array_>
- {
- template< typename T >
- struct pts
- {
- typedef const BOOST_RANGE_DEDUCED_TYPENAME
- remove_extent<T>::type* type;
- };
- };
- }
-
- template< typename C >
- class range_const_iterator
- {
- typedef BOOST_DEDUCED_TYPENAME range_detail::range<C>::type c_type;
- public:
- typedef BOOST_DEDUCED_TYPENAME range_detail::range_const_iterator_<c_type>::BOOST_NESTED_TEMPLATE pts<C>::type type;
- };
-
-}
-
-#endif
diff --git a/boost/range/detail/end.hpp b/boost/range/detail/end.hpp
deleted file mode 100644
index 8b5f35d..0000000
--- a/boost/range/detail/end.hpp
+++ /dev/null
@@ -1,101 +0,0 @@
-// Boost.Range library
-//
-// Copyright Thorsten Ottosen 2003-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)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_DETAIL_END_HPP
-#define BOOST_RANGE_DETAIL_END_HPP
-
-#include <boost/config.hpp> // BOOST_MSVC
-#include <boost/detail/workaround.hpp>
-
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-# include <boost/range/detail/vc6/end.hpp>
-#else
-# include <boost/range/detail/implementation_help.hpp>
-# include <boost/range/iterator.hpp>
-# include <boost/range/detail/common.hpp>
-# if BOOST_WORKAROUND(BOOST_MSVC, < 1310)
-# include <boost/range/detail/remove_extent.hpp>
-# endif
-
-namespace boost
-{
- namespace range_detail
- {
- template< typename T >
- struct range_end;
-
- //////////////////////////////////////////////////////////////////////
- // default
- //////////////////////////////////////////////////////////////////////
-
- template<>
- struct range_end<std_container_>
- {
- template< typename C >
- static BOOST_RANGE_DEDUCED_TYPENAME range_iterator<C>::type
- fun( C& c )
- {
- return c.end();
- };
- };
-
- //////////////////////////////////////////////////////////////////////
- // pair
- //////////////////////////////////////////////////////////////////////
-
- template<>
- struct range_end<std_pair_>
- {
- template< typename P >
- static BOOST_RANGE_DEDUCED_TYPENAME range_iterator<P>::type
- fun( const P& p )
- {
- return p.second;
- }
- };
-
- //////////////////////////////////////////////////////////////////////
- // array
- //////////////////////////////////////////////////////////////////////
-
- template<>
- struct range_end<array_>
- {
- #if !BOOST_WORKAROUND(BOOST_MSVC, < 1310)
- template< typename T, std::size_t sz >
- static T* fun( T BOOST_RANGE_ARRAY_REF()[sz] )
- {
- return boost::range_detail::array_end( boost_range_array );
- }
- #else
- template<typename T>
- static BOOST_RANGE_DEDUCED_TYPENAME remove_extent<T>::type* fun(T& t)
- {
- return t + remove_extent<T>::size;
- }
- #endif
- };
-
- } // namespace 'range_detail'
-
- namespace range_adl_barrier
- {
- template< typename C >
- inline BOOST_RANGE_DEDUCED_TYPENAME range_iterator<C>::type
- end( C& c )
- {
- return range_detail::range_end< BOOST_RANGE_DEDUCED_TYPENAME range_detail::range<C>::type >::fun( c );
- }
- } // namespace range_adl_barrier
-
-} // namespace 'boost'
-
-# endif // VC6
-#endif
diff --git a/boost/range/detail/extract_optional_type.hpp b/boost/range/detail/extract_optional_type.hpp
deleted file mode 100644
index 4a7f71a..0000000
--- a/boost/range/detail/extract_optional_type.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-// Boost.Range library
-//
-// Copyright Arno Schoedl & Neil Groves 2009.
-// 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)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-#ifndef BOOST_RANGE_DETAIL_EXTRACT_OPTIONAL_TYPE_HPP_INCLUDED
-#define BOOST_RANGE_DETAIL_EXTRACT_OPTIONAL_TYPE_HPP_INCLUDED
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <boost/config.hpp>
-
-#ifdef BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
-
-#define BOOST_RANGE_EXTRACT_OPTIONAL_TYPE( a_typedef ) \
- template< typename C > \
- struct extract_ ## a_typedef \
- { \
- typedef BOOST_DEDUCED_TYPENAME C::a_typedef type; \
- };
-
-#else
-
-namespace boost {
- namespace range_detail {
- template< typename T > struct exists { typedef void type; };
- }
-}
-
-// Defines extract_some_typedef<T> which exposes T::some_typedef as
-// extract_some_typedef<T>::type if T::some_typedef exists. Otherwise
-// extract_some_typedef<T> is empty.
-#define BOOST_RANGE_EXTRACT_OPTIONAL_TYPE( a_typedef ) \
- template< typename C, typename Enable=void > \
- struct extract_ ## a_typedef \
- {}; \
- template< typename C > \
- struct extract_ ## a_typedef< C \
- , BOOST_DEDUCED_TYPENAME boost::range_detail::exists< BOOST_DEDUCED_TYPENAME C::a_typedef >::type \
- > { \
- typedef BOOST_DEDUCED_TYPENAME C::a_typedef type; \
- };
-
-#endif
-
-#endif // include guard
diff --git a/boost/range/detail/implementation_help.hpp b/boost/range/detail/implementation_help.hpp
deleted file mode 100644
index 1f7d163..0000000
--- a/boost/range/detail/implementation_help.hpp
+++ /dev/null
@@ -1,103 +0,0 @@
-// Boost.Range library
-//
-// Copyright Thorsten Ottosen 2003-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)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_DETAIL_IMPLEMENTATION_HELP_HPP
-#define BOOST_RANGE_DETAIL_IMPLEMENTATION_HELP_HPP
-
-#include <boost/range/config.hpp>
-#include <boost/range/detail/common.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <cstddef>
-#include <string.h>
-
-#ifndef BOOST_NO_CWCHAR
-#include <wchar.h>
-#endif
-
-namespace boost
-{
- namespace range_detail
- {
- template <typename T>
- inline void boost_range_silence_warning( const T& ) { }
-
- /////////////////////////////////////////////////////////////////////
- // end() help
- /////////////////////////////////////////////////////////////////////
-
- inline const char* str_end( const char* s, const char* )
- {
- return s + strlen( s );
- }
-
-#ifndef BOOST_NO_CWCHAR
- inline const wchar_t* str_end( const wchar_t* s, const wchar_t* )
- {
- return s + wcslen( s );
- }
-#else
- inline const wchar_t* str_end( const wchar_t* s, const wchar_t* )
- {
- if( s == 0 || s[0] == 0 )
- return s;
- while( *++s != 0 )
- ;
- return s;
- }
-#endif
-
- template< class Char >
- inline Char* str_end( Char* s )
- {
- return const_cast<Char*>( str_end( s, s ) );
- }
-
- template< class T, std::size_t sz >
- inline T* array_end( T BOOST_RANGE_ARRAY_REF()[sz] )
- {
- return boost_range_array + sz;
- }
-
- template< class T, std::size_t sz >
- inline const T* array_end( const T BOOST_RANGE_ARRAY_REF()[sz] )
- {
- return boost_range_array + sz;
- }
-
- /////////////////////////////////////////////////////////////////////
- // size() help
- /////////////////////////////////////////////////////////////////////
-
- template< class Char >
- inline std::size_t str_size( const Char* const& s )
- {
- return str_end( s ) - s;
- }
-
- template< class T, std::size_t sz >
- inline std::size_t array_size( T BOOST_RANGE_ARRAY_REF()[sz] )
- {
- boost_range_silence_warning( boost_range_array );
- return sz;
- }
-
- template< class T, std::size_t sz >
- inline std::size_t array_size( const T BOOST_RANGE_ARRAY_REF()[sz] )
- {
- boost_range_silence_warning( boost_range_array );
- return sz;
- }
-
- } // namespace 'range_detail'
-
-} // namespace 'boost'
-
-
-#endif
diff --git a/boost/range/detail/iterator.hpp b/boost/range/detail/iterator.hpp
deleted file mode 100644
index 58346d4..0000000
--- a/boost/range/detail/iterator.hpp
+++ /dev/null
@@ -1,78 +0,0 @@
-// Boost.Range library
-//
-// Copyright Thorsten Ottosen 2003-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)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_DETAIL_ITERATOR_HPP
-#define BOOST_RANGE_DETAIL_ITERATOR_HPP
-
-#include <boost/range/detail/common.hpp>
-#include <boost/range/detail/remove_extent.hpp>
-
-#include <boost/static_assert.hpp>
-
-//////////////////////////////////////////////////////////////////////////////
-// missing partial specialization workaround.
-//////////////////////////////////////////////////////////////////////////////
-
-namespace boost
-{
- namespace range_detail
- {
- template< typename T >
- struct range_iterator_ {
- template< typename C >
- struct pts
- {
- typedef int type;
- };
- };
-
- template<>
- struct range_iterator_<std_container_>
- {
- template< typename C >
- struct pts
- {
- typedef BOOST_RANGE_DEDUCED_TYPENAME C::iterator type;
- };
- };
-
- template<>
- struct range_iterator_<std_pair_>
- {
- template< typename P >
- struct pts
- {
- typedef BOOST_RANGE_DEDUCED_TYPENAME P::first_type type;
- };
- };
-
- template<>
- struct range_iterator_<array_>
- {
- template< typename T >
- struct pts
- {
- typedef BOOST_RANGE_DEDUCED_TYPENAME
- remove_extent<T>::type* type;
- };
- };
-
- }
-
- template< typename C >
- class range_mutable_iterator
- {
- typedef BOOST_RANGE_DEDUCED_TYPENAME range_detail::range<C>::type c_type;
- public:
- typedef typename range_detail::range_iterator_<c_type>::BOOST_NESTED_TEMPLATE pts<C>::type type;
- };
-}
-
-#endif
diff --git a/boost/range/detail/misc_concept.hpp b/boost/range/detail/misc_concept.hpp
deleted file mode 100644
index 74cb919..0000000
--- a/boost/range/detail/misc_concept.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-// Boost.Range library concept checks
-//
-// Copyright Neil Groves 2009. 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_RANGE_DETAIL_MISC_CONCEPT_HPP_INCLUDED
-#define BOOST_RANGE_DETAIL_MISC_CONCEPT_HPP_INCLUDED
-
-#include <boost/concept_check.hpp>
-
-namespace boost
-{
- namespace range_detail
- {
- template<typename T1, typename T2>
- class SameTypeConcept
- {
- public:
- BOOST_CONCEPT_USAGE(SameTypeConcept)
- {
- same_type(a,b);
- }
- private:
- template<typename T> void same_type(T,T) {}
- T1 a;
- T2 b;
- };
- }
-}
-
-#endif // include guard
diff --git a/boost/range/detail/remove_extent.hpp b/boost/range/detail/remove_extent.hpp
deleted file mode 100644
index 68e4597..0000000
--- a/boost/range/detail/remove_extent.hpp
+++ /dev/null
@@ -1,157 +0,0 @@
-// Boost.Range library
-//
-// Copyright Jonathan Turkanis 2005. 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)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-
-#ifndef BOOST_RANGE_DETAIL_REMOVE_BOUNDS_HPP
-#define BOOST_RANGE_DETAIL_REMOVE_BOUNDS_HPP
-
-#include <boost/config.hpp> // MSVC, NO_INTRINSIC_WCHAR_T, put size_t in std.
-#include <cstddef>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/type_traits/is_same.hpp>
-
-namespace boost
-{
- namespace range_detail
- {
-
- template< typename Case1 = mpl::true_,
- typename Type1 = mpl::void_,
- typename Case2 = mpl::true_,
- typename Type2 = mpl::void_,
- typename Case3 = mpl::true_,
- typename Type3 = mpl::void_,
- typename Case4 = mpl::true_,
- typename Type4 = mpl::void_,
- typename Case5 = mpl::true_,
- typename Type5 = mpl::void_,
- typename Case6 = mpl::true_,
- typename Type6 = mpl::void_,
- typename Case7 = mpl::true_,
- typename Type7 = mpl::void_,
- typename Case8 = mpl::true_,
- typename Type8 = mpl::void_,
- typename Case9 = mpl::true_,
- typename Type9 = mpl::void_,
- typename Case10 = mpl::true_,
- typename Type10 = mpl::void_,
- typename Case11 = mpl::true_,
- typename Type11 = mpl::void_,
- typename Case12 = mpl::true_,
- typename Type12 = mpl::void_,
- typename Case13 = mpl::true_,
- typename Type13 = mpl::void_,
- typename Case14 = mpl::true_,
- typename Type14 = mpl::void_,
- typename Case15 = mpl::true_,
- typename Type15 = mpl::void_,
- typename Case16 = mpl::true_,
- typename Type16 = mpl::void_,
- typename Case17 = mpl::true_,
- typename Type17 = mpl::void_,
- typename Case18 = mpl::true_,
- typename Type18 = mpl::void_,
- typename Case19 = mpl::true_,
- typename Type19 = mpl::void_,
- typename Case20 = mpl::true_,
- typename Type20 = mpl::void_>
- struct select {
- typedef typename
- mpl::eval_if<
- Case1, mpl::identity<Type1>, mpl::eval_if<
- Case2, mpl::identity<Type2>, mpl::eval_if<
- Case3, mpl::identity<Type3>, mpl::eval_if<
- Case4, mpl::identity<Type4>, mpl::eval_if<
- Case5, mpl::identity<Type5>, mpl::eval_if<
- Case6, mpl::identity<Type6>, mpl::eval_if<
- Case7, mpl::identity<Type7>, mpl::eval_if<
- Case8, mpl::identity<Type8>, mpl::eval_if<
- Case9, mpl::identity<Type9>, mpl::if_<
- Case10, Type10, mpl::void_ > > > > > > > > >
- >::type result1;
- typedef typename
- mpl::eval_if<
- Case11, mpl::identity<Type11>, mpl::eval_if<
- Case12, mpl::identity<Type12>, mpl::eval_if<
- Case13, mpl::identity<Type13>, mpl::eval_if<
- Case14, mpl::identity<Type14>, mpl::eval_if<
- Case15, mpl::identity<Type15>, mpl::eval_if<
- Case16, mpl::identity<Type16>, mpl::eval_if<
- Case17, mpl::identity<Type17>, mpl::eval_if<
- Case18, mpl::identity<Type18>, mpl::eval_if<
- Case19, mpl::identity<Type19>, mpl::if_<
- Case20, Type20, mpl::void_ > > > > > > > > >
- > result2;
- typedef typename
- mpl::eval_if<
- is_same<result1, mpl::void_>,
- result2,
- mpl::identity<result1>
- >::type type;
- };
-
- template<typename T>
- struct remove_extent {
- static T* ar;
- BOOST_STATIC_CONSTANT(std::size_t, size = sizeof(*ar) / sizeof((*ar)[0]));
-
- typedef typename
- select<
- is_same<T, bool[size]>, bool,
- is_same<T, char[size]>, char,
- is_same<T, signed char[size]>, signed char,
- is_same<T, unsigned char[size]>, unsigned char,
- #ifndef BOOST_NO_INTRINSIC_WCHAR_T
- is_same<T, wchar_t[size]>, wchar_t,
- #endif
- is_same<T, short[size]>, short,
- is_same<T, unsigned short[size]>, unsigned short,
- is_same<T, int[size]>, int,
- is_same<T, unsigned int[size]>, unsigned int,
- is_same<T, long[size]>, long,
- is_same<T, unsigned long[size]>, unsigned long,
- is_same<T, float[size]>, float,
- is_same<T, double[size]>, double,
- is_same<T, long double[size]>, long double
- >::type result1;
- typedef typename
- select<
- is_same<T, const bool[size]>, const bool,
- is_same<T, const char[size]>, const char,
- is_same<T, const signed char[size]>, const signed char,
- is_same<T, const unsigned char[size]>, const unsigned char,
- #ifndef BOOST_NO_INTRINSIC_WCHAR_T
- is_same<T, const wchar_t[size]>, const wchar_t,
- #endif
- is_same<T, const short[size]>, const short,
- is_same<T, const unsigned short[size]>, const unsigned short,
- is_same<T, const int[size]>, const int,
- is_same<T, const unsigned int[size]>, const unsigned int,
- is_same<T, const long[size]>, const long,
- is_same<T, const unsigned long[size]>, const unsigned long,
- is_same<T, const float[size]>, const float,
- is_same<T, const double[size]>, const double,
- is_same<T, const long double[size]>, const long double
- > result2;
- typedef typename
- mpl::eval_if<
- is_same<result1, mpl::void_>,
- result2,
- mpl::identity<result1>
- >::type type;
- };
-
- } // namespace 'range_detail'
-
-} // namespace 'boost'
-
-
-#endif
diff --git a/boost/range/detail/safe_bool.hpp b/boost/range/detail/safe_bool.hpp
deleted file mode 100644
index 182e510..0000000
--- a/boost/range/detail/safe_bool.hpp
+++ /dev/null
@@ -1,72 +0,0 @@
-// This header intentionally has no include guards.
-//
-// Copyright (c) 2010 Neil Groves
-// Distributed under the 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 utilises the experience gained during the evolution of
-// <boost/smart_ptr/operator_bool.hpp>
-#ifndef BOOST_RANGE_SAFE_BOOL_INCLUDED_HPP
-#define BOOST_RANGE_SAFE_BOOL_INCLUDED_HPP
-
-#include <boost/config.hpp>
-#include <boost/range/config.hpp>
-
-namespace boost
-{
- namespace range_detail
- {
-
-template<class DataMemberPtr>
-class safe_bool
-{
-public:
- typedef safe_bool this_type;
-
-#if (defined(__SUNPRO_CC) && BOOST_WORKAROUND(__SUNPRO_CC, < 0x570)) || defined(__CINT_)
- typedef bool unspecified_bool_type;
- static unspecified_bool_type to_unspecified_bool(const bool x, DataMemberPtr)
- {
- return x;
- }
-#elif defined(_MANAGED)
- static void unspecified_bool(this_type***)
- {
- }
- typedef void(*unspecified_bool_type)(this_type***);
- static unspecified_bool_type to_unspecified_bool(const bool x, DataMemberPtr)
- {
- return x ? unspecified_bool : 0;
- }
-#elif \
- ( defined(__MWERKS__) && BOOST_WORKAROUND(__MWERKS__, < 0x3200) ) || \
- ( defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ < 304) ) || \
- ( defined(__SUNPRO_CC) && BOOST_WORKAROUND(__SUNPRO_CC, <= 0x590) )
-
- typedef bool (this_type::*unspecified_bool_type)() const;
-
- static unspecified_bool_type to_unspecified_bool(const bool x, DataMemberPtr)
- {
- return x ? &this_type::detail_safe_bool_member_fn : 0;
- }
-private:
- bool detail_safe_bool_member_fn() const { return false; }
-#else
- typedef DataMemberPtr unspecified_bool_type;
- static unspecified_bool_type to_unspecified_bool(const bool x, DataMemberPtr p)
- {
- return x ? p : 0;
- }
-#endif
-private:
- safe_bool();
- safe_bool(const safe_bool&);
- void operator=(const safe_bool&);
- ~safe_bool();
-};
-
- } // namespace range_detail
-} // namespace boost
-
-#endif // include guard
diff --git a/boost/range/detail/sfinae.hpp b/boost/range/detail/sfinae.hpp
deleted file mode 100644
index 5b2c61e..0000000
--- a/boost/range/detail/sfinae.hpp
+++ /dev/null
@@ -1,77 +0,0 @@
-// Boost.Range library
-//
-// Copyright Thorsten Ottosen 2003-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)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_DETAIL_SFINAE_HPP
-#define BOOST_RANGE_DETAIL_SFINAE_HPP
-
-#include <boost/range/config.hpp>
-#include <boost/type_traits/is_array.hpp>
-#include <boost/type_traits/detail/yes_no_type.hpp>
-#include <utility>
-
-
-namespace boost
-{
- namespace range_detail
- {
- using type_traits::yes_type;
- using type_traits::no_type;
-
- //////////////////////////////////////////////////////////////////////
- // string
- //////////////////////////////////////////////////////////////////////
-
- yes_type is_string_impl( const char* const );
- yes_type is_string_impl( const wchar_t* const );
- no_type is_string_impl( ... );
-
- template< std::size_t sz >
- yes_type is_char_array_impl( char BOOST_RANGE_ARRAY_REF()[sz] );
- template< std::size_t sz >
- yes_type is_char_array_impl( const char BOOST_RANGE_ARRAY_REF()[sz] );
- no_type is_char_array_impl( ... );
-
- template< std::size_t sz >
- yes_type is_wchar_t_array_impl( wchar_t BOOST_RANGE_ARRAY_REF()[sz] );
- template< std::size_t sz >
- yes_type is_wchar_t_array_impl( const wchar_t BOOST_RANGE_ARRAY_REF()[sz] );
- no_type is_wchar_t_array_impl( ... );
-
- yes_type is_char_ptr_impl( char* const );
- no_type is_char_ptr_impl( ... );
-
- yes_type is_const_char_ptr_impl( const char* const );
- no_type is_const_char_ptr_impl( ... );
-
- yes_type is_wchar_t_ptr_impl( wchar_t* const );
- no_type is_wchar_t_ptr_impl( ... );
-
- yes_type is_const_wchar_t_ptr_impl( const wchar_t* const );
- no_type is_const_wchar_t_ptr_impl( ... );
-
- //////////////////////////////////////////////////////////////////////
- // pair
- //////////////////////////////////////////////////////////////////////
-
- template< typename Iterator >
- yes_type is_pair_impl( const std::pair<Iterator,Iterator>* );
- no_type is_pair_impl( ... );
-
- //////////////////////////////////////////////////////////////////////
- // tags
- //////////////////////////////////////////////////////////////////////
-
- struct char_or_wchar_t_array_tag {};
-
- } // namespace 'range_detail'
-
-} // namespace 'boost'
-
-#endif
diff --git a/boost/range/detail/size_type.hpp b/boost/range/detail/size_type.hpp
deleted file mode 100644
index 78a60a4..0000000
--- a/boost/range/detail/size_type.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-// Boost.Range library
-//
-// Copyright Thorsten Ottosen 2003-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)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_DETAIL_SIZE_TYPE_HPP
-#define BOOST_RANGE_DETAIL_SIZE_TYPE_HPP
-
-#include <boost/range/detail/common.hpp>
-
-//////////////////////////////////////////////////////////////////////////////
-// missing partial specialization workaround.
-//////////////////////////////////////////////////////////////////////////////
-
-namespace boost
-{
- namespace range_detail
- {
- template< typename T >
- struct range_size_type_
- {
- template< typename C >
- struct pts
- {
- typedef std::size_t type;
- };
- };
-
- template<>
- struct range_size_type_<std_container_>
- {
- template< typename C >
- struct pts
- {
- typedef BOOST_RANGE_DEDUCED_TYPENAME C::size_type type;
- };
- };
- }
-
- template< typename C >
- class range_size
- {
- typedef typename range_detail::range<C>::type c_type;
- public:
- typedef typename range_detail::range_size_type_<c_type>::BOOST_NESTED_TEMPLATE pts<C>::type type;
- };
-}
-
-#endif
-
diff --git a/boost/range/detail/vc6/end.hpp b/boost/range/detail/vc6/end.hpp
deleted file mode 100644
index 4f76af5..0000000
--- a/boost/range/detail/vc6/end.hpp
+++ /dev/null
@@ -1,170 +0,0 @@
-// Boost.Range library
-//
-// Copyright Thorsten Ottosen 2003-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)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_DETAIL_VC6_END_HPP
-#define BOOST_RANGE_DETAIL_VC6_END_HPP
-
-#include <boost/range/detail/implementation_help.hpp>
-#include <boost/range/detail/implementation_help.hpp>
-#include <boost/range/result_iterator.hpp>
-#include <boost/range/detail/common.hpp>
-#include <boost/range/detail/remove_extent.hpp>
-
-namespace boost
-{
- namespace range_detail
- {
- template< typename T >
- struct range_end;
-
- //////////////////////////////////////////////////////////////////////
- // default
- //////////////////////////////////////////////////////////////////////
-
- template<>
- struct range_end<std_container_>
- {
- template< typename C >
- struct inner {
- static BOOST_RANGE_DEDUCED_TYPENAME range_result_iterator<C>::type
- fun( C& c )
- {
- return c.end();
- };
- };
- };
-
- //////////////////////////////////////////////////////////////////////
- // pair
- //////////////////////////////////////////////////////////////////////
-
- template<>
- struct range_end<std_pair_>
- {
- template< typename P >
- struct inner {
- static BOOST_RANGE_DEDUCED_TYPENAME range_result_iterator<P>::type
- fun( const P& p )
- {
- return p.second;
- }
- };
- };
-
- //////////////////////////////////////////////////////////////////////
- // array
- //////////////////////////////////////////////////////////////////////
-
- template<>
- struct range_end<array_>
- {
- template< typename T >
- struct inner {
- static BOOST_DEDUCED_TYPENAME remove_extent<T>::type*
- fun(T& t)
- {
- return t + remove_extent<T>::size;
- }
- };
- };
-
-
- template<>
- struct range_end<char_array_>
- {
- template< typename T >
- struct inner {
- static BOOST_DEDUCED_TYPENAME remove_extent<T>::type*
- fun(T& t)
- {
- return t + remove_extent<T>::size;
- }
- };
- };
-
- template<>
- struct range_end<wchar_t_array_>
- {
- template< typename T >
- struct inner {
- static BOOST_DEDUCED_TYPENAME remove_extent<T>::type*
- fun(T& t)
- {
- return t + remove_extent<T>::size;
- }
- };
- };
-
- //////////////////////////////////////////////////////////////////////
- // string
- //////////////////////////////////////////////////////////////////////
-
- template<>
- struct range_end<char_ptr_>
- {
- template< typename T >
- struct inner {
- static char* fun( char* s )
- {
- return boost::range_detail::str_end( s );
- }
- };
- };
-
- template<>
- struct range_end<const_char_ptr_>
- {
- template< typename T >
- struct inner {
- static const char* fun( const char* s )
- {
- return boost::range_detail::str_end( s );
- }
- };
- };
-
- template<>
- struct range_end<wchar_t_ptr_>
- {
- template< typename T >
- struct inner {
- static wchar_t* fun( wchar_t* s )
- {
- return boost::range_detail::str_end( s );
- }
- };
- };
-
-
- template<>
- struct range_end<const_wchar_t_ptr_>
- {
- template< typename T >
- struct inner {
- static const wchar_t* fun( const wchar_t* s )
- {
- return boost::range_detail::str_end( s );
- }
- };
- };
-
- } // namespace 'range_detail'
-
- template< typename C >
- inline BOOST_DEDUCED_TYPENAME range_result_iterator<C>::type
- end( C& c )
- {
- return range_detail::range_end<range_detail::range<C>::type>::inner<C>::fun( c );
- }
-
-} // namespace 'boost'
-
-
-#endif
diff --git a/boost/range/difference_type.hpp b/boost/range/difference_type.hpp
deleted file mode 100644
index 164288f..0000000
--- a/boost/range/difference_type.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-// Boost.Range library
-//
-// Copyright Thorsten Ottosen 2003-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)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_DIFFERENCE_TYPE_HPP
-#define BOOST_RANGE_DIFFERENCE_TYPE_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <boost/range/config.hpp>
-#include <boost/range/iterator.hpp>
-#include <boost/iterator/iterator_traits.hpp>
-
-namespace boost
-{
- template< class T >
- struct range_difference : iterator_difference< typename range_iterator<T>::type >
- { };
-}
-
-#endif
diff --git a/boost/range/distance.hpp b/boost/range/distance.hpp
deleted file mode 100644
index 42a106d..0000000
--- a/boost/range/distance.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-// Boost.Range library
-//
-// Copyright Thorsten Ottosen 2003-2006. 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)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_DISTANCE_HPP
-#define BOOST_RANGE_DISTANCE_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/difference_type.hpp>
-
-namespace boost
-{
-
- template< class T >
- inline BOOST_DEDUCED_TYPENAME range_difference<T>::type
- distance( const T& r )
- {
- return std::distance( boost::begin( r ), boost::end( r ) );
- }
-
-} // namespace 'boost'
-
-#endif
diff --git a/boost/range/empty.hpp b/boost/range/empty.hpp
deleted file mode 100644
index 36e58d7..0000000
--- a/boost/range/empty.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-// Boost.Range library
-//
-// Copyright Thorsten Ottosen 2003-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)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_EMPTY_HPP
-#define BOOST_RANGE_EMPTY_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <boost/range/config.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-
-namespace boost
-{
-
- template< class T >
- inline bool empty( const T& r )
- {
- return boost::begin( r ) == boost::end( r );
- }
-
-} // namespace 'boost'
-
-
-#endif
diff --git a/boost/range/end.hpp b/boost/range/end.hpp
deleted file mode 100644
index d5e6526..0000000
--- a/boost/range/end.hpp
+++ /dev/null
@@ -1,136 +0,0 @@
-// Boost.Range library
-//
-// Copyright Thorsten Ottosen 2003-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)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_END_HPP
-#define BOOST_RANGE_END_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <boost/range/config.hpp>
-
-#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-#include <boost/range/detail/end.hpp>
-#else
-
-#include <boost/range/detail/implementation_help.hpp>
-#include <boost/range/iterator.hpp>
-#include <boost/range/const_iterator.hpp>
-
-namespace boost
-{
-
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) && \
- !BOOST_WORKAROUND(__GNUC__, < 3) \
- /**/
-namespace range_detail
-{
-#endif
-
- //////////////////////////////////////////////////////////////////////
- // primary template
- //////////////////////////////////////////////////////////////////////
- template< typename C >
- inline BOOST_DEDUCED_TYPENAME range_iterator<C>::type
- range_end( C& c )
- {
- //
- // If you get a compile-error here, it is most likely because
- // you have not implemented range_begin() properly in
- // the namespace of C
- //
- return c.end();
- }
-
- //////////////////////////////////////////////////////////////////////
- // pair
- //////////////////////////////////////////////////////////////////////
-
- template< typename Iterator >
- inline Iterator range_end( const std::pair<Iterator,Iterator>& p )
- {
- return p.second;
- }
-
- template< typename Iterator >
- inline Iterator range_end( std::pair<Iterator,Iterator>& p )
- {
- return p.second;
- }
-
- //////////////////////////////////////////////////////////////////////
- // array
- //////////////////////////////////////////////////////////////////////
-
- template< typename T, std::size_t sz >
- inline const T* range_end( const T (&a)[sz] )
- {
- return range_detail::array_end<T,sz>( a );
- }
-
- template< typename T, std::size_t sz >
- inline T* range_end( T (&a)[sz] )
- {
- return range_detail::array_end<T,sz>( a );
- }
-
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) && \
- !BOOST_WORKAROUND(__GNUC__, < 3) \
- /**/
-} // namespace 'range_detail'
-#endif
-
-namespace range_adl_barrier
-{
-
-template< class T >
-inline BOOST_DEDUCED_TYPENAME range_iterator<T>::type end( T& r )
-{
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) && \
- !BOOST_WORKAROUND(__GNUC__, < 3) \
- /**/
- using namespace range_detail;
-#endif
- return range_end( r );
-}
-
-template< class T >
-inline BOOST_DEDUCED_TYPENAME range_iterator<const T>::type end( const T& r )
-{
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) && \
- !BOOST_WORKAROUND(__GNUC__, < 3) \
- /**/
- using namespace range_detail;
-#endif
- return range_end( r );
-}
-
- } // namespace range_adl_barrier
-} // namespace 'boost'
-
-#endif // BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-
-namespace boost
-{
- namespace range_adl_barrier
- {
- template< class T >
- inline BOOST_DEDUCED_TYPENAME range_iterator<const T>::type
- const_end( const T& r )
- {
- return boost::range_adl_barrier::end( r );
- }
- } // namespace range_adl_barrier
- using namespace range_adl_barrier;
-} // namespace boost
-
-#endif
-
diff --git a/boost/range/functions.hpp b/boost/range/functions.hpp
deleted file mode 100644
index b8b8608..0000000
--- a/boost/range/functions.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-// Boost.Range library
-//
-// Copyright Thorsten Ottosen 2003-2006. 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)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_FUNCTIONS_HPP
-#define BOOST_RANGE_FUNCTIONS_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/size.hpp>
-#include <boost/range/distance.hpp>
-#include <boost/range/empty.hpp>
-#include <boost/range/rbegin.hpp>
-#include <boost/range/rend.hpp>
-
-#endif
-
diff --git a/boost/range/iterator.hpp b/boost/range/iterator.hpp
deleted file mode 100644
index ec73ddc..0000000
--- a/boost/range/iterator.hpp
+++ /dev/null
@@ -1,72 +0,0 @@
-// Boost.Range library
-//
-// Copyright Thorsten Ottosen 2003-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)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_ITERATOR_HPP
-#define BOOST_RANGE_ITERATOR_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#include <boost/range/config.hpp>
-#include <boost/range/mutable_iterator.hpp>
-#include <boost/range/const_iterator.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/remove_const.hpp>
-#include <boost/mpl/eval_if.hpp>
-
-namespace boost
-{
-
-#if BOOST_WORKAROUND(BOOST_MSVC, == 1310)
-
- namespace range_detail_vc7_1
- {
- template< typename C, typename Sig = void(C) >
- struct range_iterator
- {
- typedef BOOST_RANGE_DEDUCED_TYPENAME
- mpl::eval_if_c< is_const<C>::value,
- range_const_iterator< typename remove_const<C>::type >,
- range_mutable_iterator<C> >::type type;
- };
-
- template< typename C, typename T >
- struct range_iterator< C, void(T[]) >
- {
- typedef T* type;
- };
- }
-
-#endif
-
- template< typename C >
- struct range_iterator
- {
-#if BOOST_WORKAROUND(BOOST_MSVC, == 1310)
-
- typedef BOOST_RANGE_DEDUCED_TYPENAME
- range_detail_vc7_1::range_iterator<C>::type type;
-
-#else
-
- typedef BOOST_RANGE_DEDUCED_TYPENAME
- mpl::eval_if_c< is_const<C>::value,
- range_const_iterator< typename remove_const<C>::type >,
- range_mutable_iterator<C> >::type type;
-
-#endif
- };
-
-} // namespace boost
-
-//#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-#endif
diff --git a/boost/range/iterator_range_core.hpp b/boost/range/iterator_range_core.hpp
deleted file mode 100644
index 6e68992..0000000
--- a/boost/range/iterator_range_core.hpp
+++ /dev/null
@@ -1,653 +0,0 @@
-// Boost.Range library
-//
-// Copyright Neil Groves & Thorsten Ottosen & Pavol Droba 2003-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)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-#ifndef BOOST_RANGE_ITERATOR_RANGE_CORE_HPP_INCLUDED
-#define BOOST_RANGE_ITERATOR_RANGE_CORE_HPP_INCLUDED
-
-#include <boost/config.hpp> // Define __STL_CONFIG_H, if appropriate.
-#include <boost/detail/workaround.hpp>
-
-#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1500))
- #pragma warning( push )
- #pragma warning( disable : 4996 )
-#endif
-
-#include <boost/assert.hpp>
-#include <boost/iterator/iterator_traits.hpp>
-#include <boost/iterator/iterator_facade.hpp>
-#include <boost/mpl/or.hpp>
-#include <boost/type_traits/is_abstract.hpp>
-#include <boost/type_traits/is_array.hpp>
-#include <boost/type_traits/is_pointer.hpp>
-#include <boost/range/functions.hpp>
-#include <boost/range/iterator.hpp>
-#include <boost/range/difference_type.hpp>
-#include <boost/range/algorithm/equal.hpp>
-#include <boost/range/detail/safe_bool.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <iterator>
-#include <algorithm>
-#include <cstddef>
-
-/*! \file
- Defines the \c iterator_class and related functions.
- \c iterator_range is a simple wrapper of iterator pair idiom. It provides
- a rich subset of Container interface.
-*/
-
-
-namespace boost
-{
- namespace iterator_range_detail
- {
- //
- // The functions adl_begin and adl_end are implemented in a separate
- // class for gcc-2.9x
- //
- template<class IteratorT>
- struct iterator_range_impl {
- template< class ForwardRange >
- static IteratorT adl_begin( ForwardRange& r )
- {
- return static_cast<IteratorT>( boost::begin( r ) );
- }
-
- template< class ForwardRange >
- static IteratorT adl_end( ForwardRange& r )
- {
- return static_cast<IteratorT>( boost::end( r ) );
- }
- };
-
- template< class Left, class Right >
- inline bool less_than( const Left& l, const Right& r )
- {
- return std::lexicographical_compare( boost::begin(l),
- boost::end(l),
- boost::begin(r),
- boost::end(r) );
- }
-
- template< class Left, class Right >
- inline bool greater_than( const Left& l, const Right& r )
- {
- return less_than(r,l);
- }
-
- template< class Left, class Right >
- inline bool less_or_equal_than( const Left& l, const Right& r )
- {
- return !iterator_range_detail::less_than(r,l);
- }
-
- template< class Left, class Right >
- inline bool greater_or_equal_than( const Left& l, const Right& r )
- {
- return !iterator_range_detail::less_than(l,r);
- }
-
- // This version is maintained since it is used in other boost libraries
- // such as Boost.Assign
- template< class Left, class Right >
- inline bool equal(const Left& l, const Right& r)
- {
- return boost::equal(l, r);
- }
-
- struct range_tag { };
- struct const_range_tag { };
- }
-
-// iterator range template class -----------------------------------------//
-
- //! iterator_range class
- /*!
- An \c iterator_range delimits a range in a sequence by beginning and ending iterators.
- An iterator_range can be passed to an algorithm which requires a sequence as an input.
- For example, the \c toupper() function may be used most frequently on strings,
- but can also be used on iterator_ranges:
-
- \code
- boost::tolower( find( s, "UPPERCASE STRING" ) );
- \endcode
-
- Many algorithms working with sequences take a pair of iterators,
- delimiting a working range, as an arguments. The \c iterator_range class is an
- encapsulation of a range identified by a pair of iterators.
- It provides a collection interface,
- so it is possible to pass an instance to an algorithm requiring a collection as an input.
- */
- template<class IteratorT>
- class iterator_range
- {
- typedef range_detail::safe_bool< IteratorT iterator_range<IteratorT>::* > safe_bool_t;
- protected: // Used by sub_range
- //! implementation class
- typedef iterator_range_detail::iterator_range_impl<IteratorT> impl;
- public:
- //! this type
- typedef iterator_range<IteratorT> type;
- typedef BOOST_DEDUCED_TYPENAME safe_bool_t::unspecified_bool_type unspecified_bool_type;
- //BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(value_type);
-
- //! Encapsulated value type
- typedef BOOST_DEDUCED_TYPENAME
- iterator_value<IteratorT>::type value_type;
-
- //! Difference type
- typedef BOOST_DEDUCED_TYPENAME
- iterator_difference<IteratorT>::type difference_type;
-
- //! Size type
- typedef std::size_t size_type; // note: must be unsigned
-
- //! This type
- typedef iterator_range<IteratorT> this_type;
-
- //! Reference type
- //
- // Needed because value-type is the same for
- // const and non-const iterators
- //
- typedef BOOST_DEDUCED_TYPENAME
- iterator_reference<IteratorT>::type reference;
-
- //! const_iterator type
- /*!
- There is no distinction between const_iterator and iterator.
- These typedefs are provides to fulfill container interface
- */
- typedef IteratorT const_iterator;
- //! iterator type
- typedef IteratorT iterator;
-
- private: // for return value of operator()()
- typedef BOOST_DEDUCED_TYPENAME
- boost::mpl::if_< boost::mpl::or_< boost::is_abstract< value_type >,
- boost::is_array< value_type > >,
- reference, value_type >::type abstract_value_type;
-
- public:
- iterator_range() : m_Begin( iterator() ), m_End( iterator() )
- { }
-
- //! Constructor from a pair of iterators
- template< class Iterator >
- iterator_range( Iterator Begin, Iterator End ) :
- m_Begin(Begin), m_End(End)
- {}
-
- //! Constructor from a Range
- template< class Range >
- iterator_range( const Range& r ) :
- m_Begin( impl::adl_begin( r ) ), m_End( impl::adl_end( r ) )
- {}
-
- //! Constructor from a Range
- template< class Range >
- iterator_range( Range& r ) :
- m_Begin( impl::adl_begin( r ) ), m_End( impl::adl_end( r ) )
- {}
-
- //! Constructor from a Range
- template< class Range >
- iterator_range( const Range& r, iterator_range_detail::const_range_tag ) :
- m_Begin( impl::adl_begin( r ) ), m_End( impl::adl_end( r ) )
- {}
-
- //! Constructor from a Range
- template< class Range >
- iterator_range( Range& r, iterator_range_detail::range_tag ) :
- m_Begin( impl::adl_begin( r ) ), m_End( impl::adl_end( r ) )
- {}
-
- #if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
- this_type& operator=( const this_type& r )
- {
- m_Begin = r.begin();
- m_End = r.end();
- return *this;
- }
- #endif
-
- template< class Iterator >
- iterator_range& operator=( const iterator_range<Iterator>& r )
- {
- m_Begin = r.begin();
- m_End = r.end();
- return *this;
- }
-
- template< class ForwardRange >
- iterator_range& operator=( ForwardRange& r )
- {
- m_Begin = impl::adl_begin( r );
- m_End = impl::adl_end( r );
- return *this;
- }
-
- template< class ForwardRange >
- iterator_range& operator=( const ForwardRange& r )
- {
- m_Begin = impl::adl_begin( r );
- m_End = impl::adl_end( r );
- return *this;
- }
-
- IteratorT begin() const
- {
- return m_Begin;
- }
-
- IteratorT end() const
- {
- return m_End;
- }
-
- difference_type size() const
- {
- return m_End - m_Begin;
- }
-
- bool empty() const
- {
- return m_Begin == m_End;
- }
-
- operator unspecified_bool_type() const
- {
- return safe_bool_t::to_unspecified_bool(m_Begin != m_End, &iterator_range::m_Begin);
- }
-
- bool operator!() const
- {
- return empty();
- }
-
- bool equal( const iterator_range& r ) const
- {
- return m_Begin == r.m_Begin && m_End == r.m_End;
- }
-
-
-#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-
- bool operator==( const iterator_range& r ) const
- {
- return boost::equal( *this, r );
- }
-
- bool operator!=( const iterator_range& r ) const
- {
- return !operator==(r);
- }
-
- bool operator<( const iterator_range& r ) const
- {
- return iterator_range_detail::less_than( *this, r );
- }
-
- bool operator>( const iterator_range& r ) const
- {
- return iterator_range_detail::greater_than( *this, r );
- }
-
- bool operator<=( const iterator_range& r ) const
- {
- return iterator_range_detail::less_or_equal_than( *this, r );
- }
-
- bool operator>=( const iterator_range& r ) const
- {
- return iterator_range_detail::greater_or_equal_than( *this, r );
- }
-
-#endif
-
- public: // convenience
- reference front() const
- {
- BOOST_ASSERT( !empty() );
- return *m_Begin;
- }
-
- reference back() const
- {
- BOOST_ASSERT( !empty() );
- IteratorT last( m_End );
- return *--last;
- }
-
- // pop_front() - added to model the SinglePassRangePrimitiveConcept
- void pop_front()
- {
- BOOST_ASSERT( !empty() );
- ++m_Begin;
- }
-
- // pop_back() - added to model the BidirectionalRangePrimitiveConcept
- void pop_back()
- {
- BOOST_ASSERT( !empty() );
- --m_End;
- }
-
- reference operator[]( difference_type at ) const
- {
- BOOST_ASSERT( at >= 0 && at < size() );
- return m_Begin[at];
- }
-
- //
- // When storing transform iterators, operator[]()
- // fails because it returns by reference. Therefore
- // operator()() is provided for these cases.
- //
- abstract_value_type operator()( difference_type at ) const
- {
- BOOST_ASSERT( at >= 0 && at < size() );
- return m_Begin[at];
- }
-
- iterator_range& advance_begin( difference_type n )
- {
- std::advance( m_Begin, n );
- return *this;
- }
-
- iterator_range& advance_end( difference_type n )
- {
- std::advance( m_End, n );
- return *this;
- }
-
- private:
- // begin and end iterators
- IteratorT m_Begin;
- IteratorT m_End;
-
- protected:
- //
- // Allow subclasses an easy way to access the
- // base type
- //
- typedef iterator_range iterator_range_;
- };
-
-// iterator range free-standing operators ---------------------------//
-
- /////////////////////////////////////////////////////////////////////
- // comparison operators
- /////////////////////////////////////////////////////////////////////
-
- template< class IteratorT, class ForwardRange >
- inline bool operator==( const ForwardRange& l,
- const iterator_range<IteratorT>& r )
- {
- return boost::equal( l, r );
- }
-
- template< class IteratorT, class ForwardRange >
- inline bool operator!=( const ForwardRange& l,
- const iterator_range<IteratorT>& r )
- {
- return !boost::equal( l, r );
- }
-
- template< class IteratorT, class ForwardRange >
- inline bool operator<( const ForwardRange& l,
- const iterator_range<IteratorT>& r )
- {
- return iterator_range_detail::less_than( l, r );
- }
-
- template< class IteratorT, class ForwardRange >
- inline bool operator<=( const ForwardRange& l,
- const iterator_range<IteratorT>& r )
- {
- return iterator_range_detail::less_or_equal_than( l, r );
- }
-
- template< class IteratorT, class ForwardRange >
- inline bool operator>( const ForwardRange& l,
- const iterator_range<IteratorT>& r )
- {
- return iterator_range_detail::greater_than( l, r );
- }
-
- template< class IteratorT, class ForwardRange >
- inline bool operator>=( const ForwardRange& l,
- const iterator_range<IteratorT>& r )
- {
- return iterator_range_detail::greater_or_equal_than( l, r );
- }
-
-#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-#else
- template< class Iterator1T, class Iterator2T >
- inline bool operator==( const iterator_range<Iterator1T>& l,
- const iterator_range<Iterator2T>& r )
- {
- return boost::equal( l, r );
- }
-
- template< class IteratorT, class ForwardRange >
- inline bool operator==( const iterator_range<IteratorT>& l,
- const ForwardRange& r )
- {
- return boost::equal( l, r );
- }
-
-
- template< class Iterator1T, class Iterator2T >
- inline bool operator!=( const iterator_range<Iterator1T>& l,
- const iterator_range<Iterator2T>& r )
- {
- return !boost::equal( l, r );
- }
-
- template< class IteratorT, class ForwardRange >
- inline bool operator!=( const iterator_range<IteratorT>& l,
- const ForwardRange& r )
- {
- return !boost::equal( l, r );
- }
-
-
- template< class Iterator1T, class Iterator2T >
- inline bool operator<( const iterator_range<Iterator1T>& l,
- const iterator_range<Iterator2T>& r )
- {
- return iterator_range_detail::less_than( l, r );
- }
-
- template< class IteratorT, class ForwardRange >
- inline bool operator<( const iterator_range<IteratorT>& l,
- const ForwardRange& r )
- {
- return iterator_range_detail::less_than( l, r );
- }
-
- template< class Iterator1T, class Iterator2T >
- inline bool operator<=( const iterator_range<Iterator1T>& l,
- const iterator_range<Iterator2T>& r )
- {
- return iterator_range_detail::less_or_equal_than( l, r );
- }
-
- template< class IteratorT, class ForwardRange >
- inline bool operator<=( const iterator_range<IteratorT>& l,
- const ForwardRange& r )
- {
- return iterator_range_detail::less_or_equal_than( l, r );
- }
-
- template< class Iterator1T, class Iterator2T >
- inline bool operator>( const iterator_range<Iterator1T>& l,
- const iterator_range<Iterator2T>& r )
- {
- return iterator_range_detail::greater_than( l, r );
- }
-
- template< class IteratorT, class ForwardRange >
- inline bool operator>( const iterator_range<IteratorT>& l,
- const ForwardRange& r )
- {
- return iterator_range_detail::greater_than( l, r );
- }
-
- template< class Iterator1T, class Iterator2T >
- inline bool operator>=( const iterator_range<Iterator1T>& l,
- const iterator_range<Iterator2T>& r )
- {
- return iterator_range_detail::greater_or_equal_than( l, r );
- }
-
- template< class IteratorT, class ForwardRange >
- inline bool operator>=( const iterator_range<IteratorT>& l,
- const ForwardRange& r )
- {
- return iterator_range_detail::greater_or_equal_than( l, r );
- }
-
-#endif // BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-
-// iterator range utilities -----------------------------------------//
-
- //! iterator_range construct helper
- /*!
- Construct an \c iterator_range from a pair of iterators
-
- \param Begin A begin iterator
- \param End An end iterator
- \return iterator_range object
- */
- template< typename IteratorT >
- inline iterator_range< IteratorT >
- make_iterator_range( IteratorT Begin, IteratorT End )
- {
- return iterator_range<IteratorT>( Begin, End );
- }
-
-#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-
- template< typename Range >
- inline iterator_range< BOOST_DEDUCED_TYPENAME range_iterator<Range>::type >
- make_iterator_range( Range& r )
- {
- return iterator_range< BOOST_DEDUCED_TYPENAME range_iterator<Range>::type >
- ( boost::begin( r ), boost::end( r ) );
- }
-
-#else
- //! iterator_range construct helper
- /*!
- Construct an \c iterator_range from a \c Range containing the begin
- and end iterators.
- */
- template< class ForwardRange >
- inline iterator_range< BOOST_DEDUCED_TYPENAME range_iterator<ForwardRange>::type >
- make_iterator_range( ForwardRange& r )
- {
- return iterator_range< BOOST_DEDUCED_TYPENAME range_iterator<ForwardRange>::type >
- ( r, iterator_range_detail::range_tag() );
- }
-
- template< class ForwardRange >
- inline iterator_range< BOOST_DEDUCED_TYPENAME range_iterator<const ForwardRange>::type >
- make_iterator_range( const ForwardRange& r )
- {
- return iterator_range< BOOST_DEDUCED_TYPENAME range_iterator<const ForwardRange>::type >
- ( r, iterator_range_detail::const_range_tag() );
- }
-
-#endif // BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-
- namespace iterator_range_detail
- {
- template< class Range >
- inline iterator_range< BOOST_DEDUCED_TYPENAME range_iterator<Range>::type >
- make_range_impl( Range& r,
- BOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_begin,
- BOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_end )
- {
- //
- // Not worth the effort
- //
- //if( advance_begin == 0 && advance_end == 0 )
- // return make_iterator_range( r );
- //
-
- BOOST_DEDUCED_TYPENAME range_iterator<Range>::type
- new_begin = boost::begin( r ),
- new_end = boost::end( r );
- std::advance( new_begin, advance_begin );
- std::advance( new_end, advance_end );
- return make_iterator_range( new_begin, new_end );
- }
- }
-
-#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-
- template< class Range >
- inline iterator_range< BOOST_DEDUCED_TYPENAME range_iterator<Range>::type >
- make_iterator_range( Range& r,
- BOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_begin,
- BOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_end )
- {
- //BOOST_ASSERT( advance_begin - advance_end <= size(r) && "creating invalid range" );
- return iterator_range_detail::make_range_impl( r, advance_begin, advance_end );
- }
-
-#else
-
- template< class Range >
- inline iterator_range< BOOST_DEDUCED_TYPENAME range_iterator<Range>::type >
- make_iterator_range( Range& r,
- BOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_begin,
- BOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_end )
- {
- //BOOST_ASSERT( advance_begin - advance_end <= size(r) && "creating invalid range" );
- return iterator_range_detail::make_range_impl( r, advance_begin, advance_end );
- }
-
- template< class Range >
- inline iterator_range< BOOST_DEDUCED_TYPENAME range_iterator<const Range>::type >
- make_iterator_range( const Range& r,
- BOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_begin,
- BOOST_DEDUCED_TYPENAME range_difference<Range>::type advance_end )
- {
- //BOOST_ASSERT( advance_begin - advance_end <= size(r) && "creating invalid range" );
- return iterator_range_detail::make_range_impl( r, advance_begin, advance_end );
- }
-
-#endif // BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-
- //! copy a range into a sequence
- /*!
- Construct a new sequence of the specified type from the elements
- in the given range
-
- \param Range An input range
- \return New sequence
- */
- template< typename SeqT, typename Range >
- inline SeqT copy_range( const Range& r )
- {
- return SeqT( boost::begin( r ), boost::end( r ) );
- }
-
-} // namespace 'boost'
-
-#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1500))
- #pragma warning( pop )
-#endif
-
-#endif
-
diff --git a/boost/range/mutable_iterator.hpp b/boost/range/mutable_iterator.hpp
deleted file mode 100644
index 7beca66..0000000
--- a/boost/range/mutable_iterator.hpp
+++ /dev/null
@@ -1,67 +0,0 @@
-// Boost.Range library
-//
-// Copyright Thorsten Ottosen 2003-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)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_MUTABLE_ITERATOR_HPP
-#define BOOST_RANGE_MUTABLE_ITERATOR_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <boost/range/config.hpp>
-
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-#include <boost/range/detail/iterator.hpp>
-#else
-
-#include <boost/range/detail/extract_optional_type.hpp>
-#include <boost/iterator/iterator_traits.hpp>
-#include <cstddef>
-#include <utility>
-
-namespace boost
-{
- //////////////////////////////////////////////////////////////////////////
- // default
- //////////////////////////////////////////////////////////////////////////
-
- namespace range_detail {
- BOOST_RANGE_EXTRACT_OPTIONAL_TYPE( iterator )
- }
-
- template< typename C >
- struct range_mutable_iterator : range_detail::extract_iterator<C>
- {};
-
- //////////////////////////////////////////////////////////////////////////
- // pair
- //////////////////////////////////////////////////////////////////////////
-
- template< typename Iterator >
- struct range_mutable_iterator< std::pair<Iterator,Iterator> >
- {
- typedef Iterator type;
- };
-
- //////////////////////////////////////////////////////////////////////////
- // array
- //////////////////////////////////////////////////////////////////////////
-
- template< typename T, std::size_t sz >
- struct range_mutable_iterator< T[sz] >
- {
- typedef T* type;
- };
-
-} // namespace boost
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-#endif
diff --git a/boost/range/rbegin.hpp b/boost/range/rbegin.hpp
deleted file mode 100644
index 78e5f61..0000000
--- a/boost/range/rbegin.hpp
+++ /dev/null
@@ -1,65 +0,0 @@
-// Boost.Range library
-//
-// Copyright Thorsten Ottosen 2003-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)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_RBEGIN_HPP
-#define BOOST_RANGE_RBEGIN_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <boost/range/end.hpp>
-#include <boost/range/reverse_iterator.hpp>
-
-namespace boost
-{
-
-#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-
-template< class C >
-inline BOOST_DEDUCED_TYPENAME range_reverse_iterator<C>::type
-rbegin( C& c )
-{
- return BOOST_DEDUCED_TYPENAME range_reverse_iterator<C>::type( boost::end( c ) );
-}
-
-#else
-
-template< class C >
-inline BOOST_DEDUCED_TYPENAME range_reverse_iterator<C>::type
-rbegin( C& c )
-{
- typedef BOOST_DEDUCED_TYPENAME range_reverse_iterator<C>::type
- iter_type;
- return iter_type( boost::end( c ) );
-}
-
-template< class C >
-inline BOOST_DEDUCED_TYPENAME range_reverse_iterator<const C>::type
-rbegin( const C& c )
-{
- typedef BOOST_DEDUCED_TYPENAME range_reverse_iterator<const C>::type
- iter_type;
- return iter_type( boost::end( c ) );
-}
-
-#endif // BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-
-template< class T >
-inline BOOST_DEDUCED_TYPENAME range_reverse_iterator<const T>::type
-const_rbegin( const T& r )
-{
- return boost::rbegin( r );
-}
-
-} // namespace 'boost'
-
-#endif
-
diff --git a/boost/range/rend.hpp b/boost/range/rend.hpp
deleted file mode 100644
index fd79aa2..0000000
--- a/boost/range/rend.hpp
+++ /dev/null
@@ -1,65 +0,0 @@
-// Boost.Range library
-//
-// Copyright Thorsten Ottosen 2003-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)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_REND_HPP
-#define BOOST_RANGE_REND_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <boost/range/begin.hpp>
-#include <boost/range/reverse_iterator.hpp>
-
-namespace boost
-{
-
-#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-
-template< class C >
-inline BOOST_DEDUCED_TYPENAME range_reverse_iterator<C>::type
-rend( C& c )
-{
- return BOOST_DEDUCED_TYPENAME range_reverse_iterator<C>::type( boost::begin( c ) );
-}
-
-#else
-
-template< class C >
-inline BOOST_DEDUCED_TYPENAME range_reverse_iterator<C>::type
-rend( C& c )
-{
- typedef BOOST_DEDUCED_TYPENAME range_reverse_iterator<C>::type
- iter_type;
- return iter_type( boost::begin( c ) );
-}
-
-template< class C >
-inline BOOST_DEDUCED_TYPENAME range_reverse_iterator<const C>::type
-rend( const C& c )
-{
- typedef BOOST_DEDUCED_TYPENAME range_reverse_iterator<const C>::type
- iter_type;
- return iter_type( boost::begin( c ) );
-}
-
-#endif
-
-template< class T >
-inline BOOST_DEDUCED_TYPENAME range_reverse_iterator<const T>::type
-const_rend( const T& r )
-{
- return boost::rend( r );
-}
-
-} // namespace 'boost'
-
-#endif
-
diff --git a/boost/range/result_iterator.hpp b/boost/range/result_iterator.hpp
deleted file mode 100644
index ba09c5f..0000000
--- a/boost/range/result_iterator.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-// Boost.Range library
-//
-// Copyright Thorsten Ottosen 2003-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)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_RESULT_ITERATOR_HPP
-#define BOOST_RANGE_RESULT_ITERATOR_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#include <boost/range/iterator.hpp>
-
-namespace boost
-{
- //
- // This interface is deprecated, use range_iterator<T>
- //
-
- template< typename C >
- struct range_result_iterator : range_iterator<C>
- { };
-
-} // namespace boost
-
-
-#endif
diff --git a/boost/range/reverse_iterator.hpp b/boost/range/reverse_iterator.hpp
deleted file mode 100644
index f8e9221..0000000
--- a/boost/range/reverse_iterator.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-// Boost.Range library
-//
-// Copyright Thorsten Ottosen 2003-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)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_REVERSE_ITERATOR_HPP
-#define BOOST_RANGE_REVERSE_ITERATOR_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <boost/range/config.hpp>
-#include <boost/range/iterator.hpp>
-#include <boost/iterator/reverse_iterator.hpp>
-
-
-namespace boost
-{
- //////////////////////////////////////////////////////////////////////////
- // default
- //////////////////////////////////////////////////////////////////////////
-
- template< typename C >
- struct range_reverse_iterator
- {
- typedef reverse_iterator<
- BOOST_DEDUCED_TYPENAME range_iterator<C>::type > type;
- };
-
-
-} // namespace boost
-
-
-#endif
diff --git a/boost/range/size.hpp b/boost/range/size.hpp
deleted file mode 100644
index 6ae74d1..0000000
--- a/boost/range/size.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-// Boost.Range library
-//
-// Copyright Thorsten Ottosen 2003-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)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_SIZE_HPP
-#define BOOST_RANGE_SIZE_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <boost/range/config.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/size_type.hpp>
-#include <boost/assert.hpp>
-
-namespace boost
-{
- namespace range_detail
- {
- template<class SinglePassRange>
- inline BOOST_DEDUCED_TYPENAME range_size<const SinglePassRange>::type
- range_calculate_size(const SinglePassRange& rng)
- {
- BOOST_ASSERT( (boost::end(rng) - boost::begin(rng)) >= 0 &&
- "reachability invariant broken!" );
- return boost::end(rng) - boost::begin(rng);
- }
- }
-
- template<class SinglePassRange>
- inline BOOST_DEDUCED_TYPENAME range_size<const SinglePassRange>::type
- size(const SinglePassRange& rng)
- {
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) && \
- !BOOST_WORKAROUND(__GNUC__, < 3) \
- /**/
- using namespace range_detail;
-#endif
- return range_calculate_size(rng);
- }
-
-} // namespace 'boost'
-
-#endif
diff --git a/boost/range/size_type.hpp b/boost/range/size_type.hpp
deleted file mode 100644
index c6fb54b..0000000
--- a/boost/range/size_type.hpp
+++ /dev/null
@@ -1,89 +0,0 @@
-// Boost.Range library
-//
-// Copyright Thorsten Ottosen 2003-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)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_SIZE_TYPE_HPP
-#define BOOST_RANGE_SIZE_TYPE_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#include <boost/range/config.hpp>
-#include <boost/range/difference_type.hpp>
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-#include <boost/range/detail/size_type.hpp>
-#else
-
-#include <boost/utility/enable_if.hpp>
-#include <boost/type_traits/make_unsigned.hpp>
-#include <boost/type_traits/remove_const.hpp>
-#include <cstddef>
-#include <utility>
-
-namespace boost
-{
- namespace detail
- {
-
- //////////////////////////////////////////////////////////////////////////
- // default
- //////////////////////////////////////////////////////////////////////////
-
- template<typename T>
- class has_size_type
- {
- typedef char no_type;
- struct yes_type { char dummy[2]; };
-
- template<typename C>
- static yes_type test(BOOST_DEDUCED_TYPENAME C::size_type x);
-
- template<typename C, typename Arg>
- static no_type test(Arg x);
-
- public:
- static const bool value = sizeof(test<T>(0)) == sizeof(yes_type);
- };
-
- template<typename C, typename Enabler=void>
- struct range_size
- {
- typedef BOOST_DEDUCED_TYPENAME make_unsigned<
- BOOST_DEDUCED_TYPENAME range_difference<C>::type
- >::type type;
- };
-
- template<typename C>
- struct range_size<
- C,
- BOOST_DEDUCED_TYPENAME enable_if<has_size_type<C>, void>::type
- >
- {
- typedef BOOST_DEDUCED_TYPENAME C::size_type type;
- };
-
- }
-
- template< class T >
- struct range_size :
- detail::range_size<T>
- { };
-
- template< class T >
- struct range_size<const T >
- : detail::range_size<T>
- { };
-
-} // namespace boost
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-
-#endif
diff --git a/boost/range/value_type.hpp b/boost/range/value_type.hpp
deleted file mode 100644
index 95c7580..0000000
--- a/boost/range/value_type.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-// Boost.Range library
-//
-// Copyright Thorsten Ottosen 2003-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)
-//
-// For more information, see http://www.boost.org/libs/range/
-//
-
-#ifndef BOOST_RANGE_VALUE_TYPE_HPP
-#define BOOST_RANGE_VALUE_TYPE_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif
-
-#include <boost/range/config.hpp>
-#include <boost/range/iterator.hpp>
-
-//#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-//#include <boost/range/detail/value_type.hpp>
-//#else
-
-#include <boost/iterator/iterator_traits.hpp>
-
-namespace boost
-{
- template< class T >
- struct range_value : iterator_value< typename range_iterator<T>::type >
- { };
-}
-
-#endif
diff --git a/boost/ref.hpp b/boost/ref.hpp
deleted file mode 100644
index 6058d69..0000000
--- a/boost/ref.hpp
+++ /dev/null
@@ -1,189 +0,0 @@
-#ifndef BOOST_REF_HPP_INCLUDED
-#define BOOST_REF_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-#include <boost/config.hpp>
-#include <boost/utility/addressof.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/detail/workaround.hpp>
-
-//
-// ref.hpp - ref/cref, useful helper functions
-//
-// Copyright (C) 1999, 2000 Jaakko Jarvi (jaakko.jarvi at cs.utu.fi)
-// Copyright (C) 2001, 2002 Peter Dimov
-// Copyright (C) 2002 David Abrahams
-//
-// Distributed under the Boost Software License, Version 1.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/ref.html for documentation.
-//
-
-namespace boost
-{
-
-template<class T> class reference_wrapper
-{
-public:
- typedef T type;
-
-#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, < 1300 )
-
- explicit reference_wrapper(T& t): t_(&t) {}
-
-#else
-
- explicit reference_wrapper(T& t): t_(boost::addressof(t)) {}
-
-#endif
-
- operator T& () const { return *t_; }
-
- T& get() const { return *t_; }
-
- T* get_pointer() const { return t_; }
-
-private:
-
- T* t_;
-};
-
-# if defined( __BORLANDC__ ) && BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT(0x581) )
-# define BOOST_REF_CONST
-# else
-# define BOOST_REF_CONST const
-# endif
-
-template<class T> inline reference_wrapper<T> BOOST_REF_CONST ref(T & t)
-{
- return reference_wrapper<T>(t);
-}
-
-template<class T> inline reference_wrapper<T const> BOOST_REF_CONST cref(T const & t)
-{
- return reference_wrapper<T const>(t);
-}
-
-# undef BOOST_REF_CONST
-
-# ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-template<typename T>
-class is_reference_wrapper
- : public mpl::false_
-{
-};
-
-template<typename T>
-class unwrap_reference
-{
- public:
- typedef T type;
-};
-
-# define AUX_REFERENCE_WRAPPER_METAFUNCTIONS_DEF(X) \
-template<typename T> \
-class is_reference_wrapper< X > \
- : public mpl::true_ \
-{ \
-}; \
-\
-template<typename T> \
-class unwrap_reference< X > \
-{ \
- public: \
- typedef T type; \
-}; \
-/**/
-
-AUX_REFERENCE_WRAPPER_METAFUNCTIONS_DEF(reference_wrapper<T>)
-#if !defined(BOOST_NO_CV_SPECIALIZATIONS)
-AUX_REFERENCE_WRAPPER_METAFUNCTIONS_DEF(reference_wrapper<T> const)
-AUX_REFERENCE_WRAPPER_METAFUNCTIONS_DEF(reference_wrapper<T> volatile)
-AUX_REFERENCE_WRAPPER_METAFUNCTIONS_DEF(reference_wrapper<T> const volatile)
-#endif
-
-# undef AUX_REFERENCE_WRAPPER_METAFUNCTIONS_DEF
-
-# else // no partial specialization
-
-} // namespace boost
-
-#include <boost/type.hpp>
-
-namespace boost
-{
-
-namespace detail
-{
- typedef char (&yes_reference_wrapper_t)[1];
- typedef char (&no_reference_wrapper_t)[2];
-
- no_reference_wrapper_t is_reference_wrapper_test(...);
-
- template<typename T>
- yes_reference_wrapper_t is_reference_wrapper_test(type< reference_wrapper<T> >);
-
- template<bool wrapped>
- struct reference_unwrapper
- {
- template <class T>
- struct apply
- {
- typedef T type;
- };
- };
-
- template<>
- struct reference_unwrapper<true>
- {
- template <class T>
- struct apply
- {
- typedef typename T::type type;
- };
- };
-}
-
-template<typename T>
-class is_reference_wrapper
-{
- public:
- BOOST_STATIC_CONSTANT(
- bool, value = (
- sizeof(detail::is_reference_wrapper_test(type<T>()))
- == sizeof(detail::yes_reference_wrapper_t)));
-
- typedef ::boost::mpl::bool_<value> type;
-};
-
-template <typename T>
-class unwrap_reference
- : public detail::reference_unwrapper<
- is_reference_wrapper<T>::value
- >::template apply<T>
-{};
-
-# endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-template <class T> inline typename unwrap_reference<T>::type&
-unwrap_ref(T& t)
-{
- return t;
-}
-
-template<class T> inline T* get_pointer( reference_wrapper<T> const & r )
-{
- return r.get_pointer();
-}
-
-} // namespace boost
-
-#endif // #ifndef BOOST_REF_HPP_INCLUDED
diff --git a/boost/shared_ptr.hpp b/boost/shared_ptr.hpp
deleted file mode 100644
index d31978c..0000000
--- a/boost/shared_ptr.hpp
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef BOOST_SHARED_PTR_HPP_INCLUDED
-#define BOOST_SHARED_PTR_HPP_INCLUDED
-
-//
-// shared_ptr.hpp
-//
-// (C) Copyright Greg Colvin and Beman Dawes 1998, 1999.
-// Copyright (c) 2001-2008 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/smart_ptr/shared_ptr.htm for documentation.
-//
-
-#include <boost/smart_ptr/shared_ptr.hpp>
-
-#endif // #ifndef BOOST_SHARED_PTR_HPP_INCLUDED
diff --git a/boost/smart_ptr/bad_weak_ptr.hpp b/boost/smart_ptr/bad_weak_ptr.hpp
deleted file mode 100644
index 3e0a1b7..0000000
--- a/boost/smart_ptr/bad_weak_ptr.hpp
+++ /dev/null
@@ -1,59 +0,0 @@
-#ifndef BOOST_SMART_PTR_BAD_WEAK_PTR_HPP_INCLUDED
-#define BOOST_SMART_PTR_BAD_WEAK_PTR_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// boost/smart_ptr/bad_weak_ptr.hpp
-//
-// Copyright (c) 2001, 2002, 2003 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)
-//
-
-#include <exception>
-
-#ifdef __BORLANDC__
-# pragma warn -8026 // Functions with excep. spec. are not expanded inline
-#endif
-
-namespace boost
-{
-
-// The standard library that comes with Borland C++ 5.5.1, 5.6.4
-// defines std::exception and its members as having C calling
-// convention (-pc). When the definition of bad_weak_ptr
-// is compiled with -ps, the compiler issues an error.
-// Hence, the temporary #pragma option -pc below.
-
-#if defined(__BORLANDC__) && __BORLANDC__ <= 0x564
-# pragma option push -pc
-#endif
-
-class bad_weak_ptr: public std::exception
-{
-public:
-
- virtual char const * what() const throw()
- {
- return "tr1::bad_weak_ptr";
- }
-};
-
-#if defined(__BORLANDC__) && __BORLANDC__ <= 0x564
-# pragma option pop
-#endif
-
-} // namespace boost
-
-#ifdef __BORLANDC__
-# pragma warn .8026 // Functions with excep. spec. are not expanded inline
-#endif
-
-#endif // #ifndef BOOST_SMART_PTR_BAD_WEAK_PTR_HPP_INCLUDED
diff --git a/boost/smart_ptr/detail/atomic_count.hpp b/boost/smart_ptr/detail/atomic_count.hpp
deleted file mode 100644
index cc44ac2..0000000
--- a/boost/smart_ptr/detail/atomic_count.hpp
+++ /dev/null
@@ -1,119 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// boost/detail/atomic_count.hpp - thread/SMP safe reference counter
-//
-// Copyright (c) 2001, 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)
-//
-// typedef <implementation-defined> boost::detail::atomic_count;
-//
-// atomic_count a(n);
-//
-// (n is convertible to long)
-//
-// Effects: Constructs an atomic_count with an initial value of n
-//
-// a;
-//
-// Returns: (long) the current value of a
-//
-// ++a;
-//
-// Effects: Atomically increments the value of a
-// Returns: (long) the new value of a
-//
-// --a;
-//
-// Effects: Atomically decrements the value of a
-// Returns: (long) the new value of a
-//
-// Important note: when --a returns zero, it must act as a
-// read memory barrier (RMB); i.e. the calling thread must
-// have a synchronized view of the memory
-//
-// On Intel IA-32 (x86) memory is always synchronized, so this
-// is not a problem.
-//
-// On many architectures the atomic instructions already act as
-// a memory barrier.
-//
-// This property is necessary for proper reference counting, since
-// a thread can update the contents of a shared object, then
-// release its reference, and another thread may immediately
-// release the last reference causing object destruction.
-//
-// The destructor needs to have a synchronized view of the
-// object to perform proper cleanup.
-//
-// Original example by Alexander Terekhov:
-//
-// Given:
-//
-// - a mutable shared object OBJ;
-// - two threads THREAD1 and THREAD2 each holding
-// a private smart_ptr object pointing to that OBJ.
-//
-// t1: THREAD1 updates OBJ (thread-safe via some synchronization)
-// and a few cycles later (after "unlock") destroys smart_ptr;
-//
-// t2: THREAD2 destroys smart_ptr WITHOUT doing any synchronization
-// with respect to shared mutable object OBJ; OBJ destructors
-// are called driven by smart_ptr interface...
-//
-
-#include <boost/config.hpp>
-#include <boost/smart_ptr/detail/sp_has_sync.hpp>
-
-#ifndef BOOST_HAS_THREADS
-
-namespace boost
-{
-
-namespace detail
-{
-
-typedef long atomic_count;
-
-}
-
-}
-
-#elif defined(BOOST_AC_USE_PTHREADS)
-# include <boost/smart_ptr/detail/atomic_count_pthreads.hpp>
-
-#elif defined( __GNUC__ ) && ( defined( __i386__ ) || defined( __x86_64__ ) )
-# include <boost/smart_ptr/detail/atomic_count_gcc_x86.hpp>
-
-#elif defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
-# include <boost/smart_ptr/detail/atomic_count_win32.hpp>
-
-#elif defined( BOOST_SP_HAS_SYNC )
-# include <boost/smart_ptr/detail/atomic_count_sync.hpp>
-
-#elif defined(__GLIBCPP__) || defined(__GLIBCXX__)
-# include <boost/smart_ptr/detail/atomic_count_gcc.hpp>
-
-#elif defined(BOOST_HAS_PTHREADS)
-
-# define BOOST_AC_USE_PTHREADS
-# include <boost/smart_ptr/detail/atomic_count_pthreads.hpp>
-
-#else
-
-// Use #define BOOST_DISABLE_THREADS to avoid the error
-#error Unrecognized threading platform
-
-#endif
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_HPP_INCLUDED
diff --git a/boost/smart_ptr/detail/atomic_count_gcc.hpp b/boost/smart_ptr/detail/atomic_count_gcc.hpp
deleted file mode 100644
index 54807e9..0000000
--- a/boost/smart_ptr/detail/atomic_count_gcc.hpp
+++ /dev/null
@@ -1,72 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_GCC_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_GCC_HPP_INCLUDED
-
-//
-// boost/detail/atomic_count_gcc.hpp
-//
-// atomic_count for GNU libstdc++ v3
-//
-// http://gcc.gnu.org/onlinedocs/porting/Thread-safety.html
-//
-// Copyright (c) 2001, 2002 Peter Dimov and Multi Media Ltd.
-// Copyright (c) 2002 Lars Gullik Bj�nnes <larsbj at lyx.org>
-// Copyright 2003-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)
-//
-
-#if __GNUC__ * 100 + __GNUC_MINOR__ >= 402
-# include <ext/atomicity.h>
-#else
-# include <bits/atomicity.h>
-#endif
-
-namespace boost
-{
-
-namespace detail
-{
-
-#if defined(__GLIBCXX__) // g++ 3.4+
-
-using __gnu_cxx::__atomic_add;
-using __gnu_cxx::__exchange_and_add;
-
-#endif
-
-class atomic_count
-{
-public:
-
- explicit atomic_count( long v ) : value_( v ) {}
-
- long operator++()
- {
- return __exchange_and_add( &value_, +1 ) + 1;
- }
-
- long operator--()
- {
- return __exchange_and_add( &value_, -1 ) - 1;
- }
-
- operator long() const
- {
- return __exchange_and_add( &value_, 0 );
- }
-
-private:
-
- atomic_count(atomic_count const &);
- atomic_count & operator=(atomic_count const &);
-
- mutable _Atomic_word value_;
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_GCC_HPP_INCLUDED
diff --git a/boost/smart_ptr/detail/atomic_count_gcc_x86.hpp b/boost/smart_ptr/detail/atomic_count_gcc_x86.hpp
deleted file mode 100644
index 5c44d7c..0000000
--- a/boost/smart_ptr/detail/atomic_count_gcc_x86.hpp
+++ /dev/null
@@ -1,77 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_GCC_X86_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_GCC_X86_HPP_INCLUDED
-
-//
-// boost/detail/atomic_count_gcc_x86.hpp
-//
-// atomic_count for g++ on 486+/AMD64
-//
-// Copyright 2007 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)
-//
-
-namespace boost
-{
-
-namespace detail
-{
-
-class atomic_count
-{
-public:
-
- explicit atomic_count( long v ) : value_( static_cast< int >( v ) ) {}
-
- long operator++()
- {
- return atomic_exchange_and_add( &value_, +1 ) + 1;
- }
-
- long operator--()
- {
- return atomic_exchange_and_add( &value_, -1 ) - 1;
- }
-
- operator long() const
- {
- return atomic_exchange_and_add( &value_, 0 );
- }
-
-private:
-
- atomic_count(atomic_count const &);
- atomic_count & operator=(atomic_count const &);
-
- mutable int value_;
-
-private:
-
- static int atomic_exchange_and_add( int * pw, int dv )
- {
- // int r = *pw;
- // *pw += dv;
- // return r;
-
- int r;
-
- __asm__ __volatile__
- (
- "lock\n\t"
- "xadd %1, %0":
- "+m"( *pw ), "=r"( r ): // outputs (%0, %1)
- "1"( dv ): // inputs (%2 == %1)
- "memory", "cc" // clobbers
- );
-
- return r;
- }
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_GCC_X86_HPP_INCLUDED
diff --git a/boost/smart_ptr/detail/atomic_count_pthreads.hpp b/boost/smart_ptr/detail/atomic_count_pthreads.hpp
deleted file mode 100644
index 05f7867..0000000
--- a/boost/smart_ptr/detail/atomic_count_pthreads.hpp
+++ /dev/null
@@ -1,96 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_PTHREADS_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_PTHREADS_HPP_INCLUDED
-
-//
-// boost/detail/atomic_count_pthreads.hpp
-//
-// Copyright (c) 2001, 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)
-//
-
-#include <pthread.h>
-
-//
-// The generic pthread_mutex-based implementation sometimes leads to
-// inefficiencies. Example: a class with two atomic_count members
-// can get away with a single mutex.
-//
-// Users can detect this situation by checking BOOST_AC_USE_PTHREADS.
-//
-
-namespace boost
-{
-
-namespace detail
-{
-
-class atomic_count
-{
-private:
-
- class scoped_lock
- {
- public:
-
- scoped_lock(pthread_mutex_t & m): m_(m)
- {
- pthread_mutex_lock(&m_);
- }
-
- ~scoped_lock()
- {
- pthread_mutex_unlock(&m_);
- }
-
- private:
-
- pthread_mutex_t & m_;
- };
-
-public:
-
- explicit atomic_count(long v): value_(v)
- {
- pthread_mutex_init(&mutex_, 0);
- }
-
- ~atomic_count()
- {
- pthread_mutex_destroy(&mutex_);
- }
-
- long operator++()
- {
- scoped_lock lock(mutex_);
- return ++value_;
- }
-
- long operator--()
- {
- scoped_lock lock(mutex_);
- return --value_;
- }
-
- operator long() const
- {
- scoped_lock lock(mutex_);
- return value_;
- }
-
-private:
-
- atomic_count(atomic_count const &);
- atomic_count & operator=(atomic_count const &);
-
- mutable pthread_mutex_t mutex_;
- long value_;
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_PTHREADS_HPP_INCLUDED
diff --git a/boost/smart_ptr/detail/atomic_count_sync.hpp b/boost/smart_ptr/detail/atomic_count_sync.hpp
deleted file mode 100644
index b6359b5..0000000
--- a/boost/smart_ptr/detail/atomic_count_sync.hpp
+++ /dev/null
@@ -1,61 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_SYNC_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_SYNC_HPP_INCLUDED
-
-//
-// boost/detail/atomic_count_sync.hpp
-//
-// atomic_count for g++ 4.1+
-//
-// http://gcc.gnu.org/onlinedocs/gcc-4.1.1/gcc/Atomic-Builtins.html
-//
-// Copyright 2007 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)
-//
-
-#if defined( __ia64__ ) && defined( __INTEL_COMPILER )
-# include <ia64intrin.h>
-#endif
-
-namespace boost
-{
-
-namespace detail
-{
-
-class atomic_count
-{
-public:
-
- explicit atomic_count( long v ) : value_( v ) {}
-
- long operator++()
- {
- return __sync_add_and_fetch( &value_, 1 );
- }
-
- long operator--()
- {
- return __sync_add_and_fetch( &value_, -1 );
- }
-
- operator long() const
- {
- return __sync_fetch_and_add( &value_, 0 );
- }
-
-private:
-
- atomic_count(atomic_count const &);
- atomic_count & operator=(atomic_count const &);
-
- mutable long value_;
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_SYNC_HPP_INCLUDED
diff --git a/boost/smart_ptr/detail/atomic_count_win32.hpp b/boost/smart_ptr/detail/atomic_count_win32.hpp
deleted file mode 100644
index 60a0569..0000000
--- a/boost/smart_ptr/detail/atomic_count_win32.hpp
+++ /dev/null
@@ -1,63 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_WIN32_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_WIN32_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// boost/detail/atomic_count_win32.hpp
-//
-// Copyright (c) 2001-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 <boost/detail/interlocked.hpp>
-
-namespace boost
-{
-
-namespace detail
-{
-
-class atomic_count
-{
-public:
-
- explicit atomic_count( long v ): value_( v )
- {
- }
-
- long operator++()
- {
- return BOOST_INTERLOCKED_INCREMENT( &value_ );
- }
-
- long operator--()
- {
- return BOOST_INTERLOCKED_DECREMENT( &value_ );
- }
-
- operator long() const
- {
- return static_cast<long const volatile &>( value_ );
- }
-
-private:
-
- atomic_count( atomic_count const & );
- atomic_count & operator=( atomic_count const & );
-
- long value_;
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_WIN32_HPP_INCLUDED
diff --git a/boost/smart_ptr/detail/lightweight_mutex.hpp b/boost/smart_ptr/detail/lightweight_mutex.hpp
deleted file mode 100644
index d46b193..0000000
--- a/boost/smart_ptr/detail/lightweight_mutex.hpp
+++ /dev/null
@@ -1,42 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_LIGHTWEIGHT_MUTEX_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_LIGHTWEIGHT_MUTEX_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// boost/detail/lightweight_mutex.hpp - lightweight mutex
-//
-// Copyright (c) 2002, 2003 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)
-//
-// typedef <unspecified> boost::detail::lightweight_mutex;
-//
-// boost::detail::lightweight_mutex is a header-only implementation of
-// a subset of the Mutex concept requirements:
-//
-// http://www.boost.org/doc/html/threads/concepts.html#threads.concepts.Mutex
-//
-// It maps to a CRITICAL_SECTION on Windows or a pthread_mutex on POSIX.
-//
-
-#include <boost/config.hpp>
-
-#if !defined(BOOST_HAS_THREADS)
-# include <boost/smart_ptr/detail/lwm_nop.hpp>
-#elif defined(BOOST_HAS_PTHREADS)
-# include <boost/smart_ptr/detail/lwm_pthreads.hpp>
-#elif defined(BOOST_HAS_WINTHREADS) || defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
-# include <boost/smart_ptr/detail/lwm_win32_cs.hpp>
-#else
-// Use #define BOOST_DISABLE_THREADS to avoid the error
-# error Unrecognized threading platform
-#endif
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_LIGHTWEIGHT_MUTEX_HPP_INCLUDED
diff --git a/boost/smart_ptr/detail/lwm_nop.hpp b/boost/smart_ptr/detail/lwm_nop.hpp
deleted file mode 100644
index 521a88e..0000000
--- a/boost/smart_ptr/detail/lwm_nop.hpp
+++ /dev/null
@@ -1,37 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_LWM_NOP_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_LWM_NOP_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// boost/detail/lwm_nop.hpp
-//
-// 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)
-//
-
-namespace boost
-{
-
-namespace detail
-{
-
-class lightweight_mutex
-{
-public:
-
- typedef lightweight_mutex scoped_lock;
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_LWM_NOP_HPP_INCLUDED
diff --git a/boost/smart_ptr/detail/lwm_pthreads.hpp b/boost/smart_ptr/detail/lwm_pthreads.hpp
deleted file mode 100644
index 8eda518..0000000
--- a/boost/smart_ptr/detail/lwm_pthreads.hpp
+++ /dev/null
@@ -1,87 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_LWM_PTHREADS_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_LWM_PTHREADS_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// boost/detail/lwm_pthreads.hpp
-//
-// 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)
-//
-
-#include <boost/assert.hpp>
-#include <pthread.h>
-
-namespace boost
-{
-
-namespace detail
-{
-
-class lightweight_mutex
-{
-private:
-
- pthread_mutex_t m_;
-
- lightweight_mutex(lightweight_mutex const &);
- lightweight_mutex & operator=(lightweight_mutex const &);
-
-public:
-
- lightweight_mutex()
- {
-
-// HPUX 10.20 / DCE has a nonstandard pthread_mutex_init
-
-#if defined(__hpux) && defined(_DECTHREADS_)
- BOOST_VERIFY( pthread_mutex_init( &m_, pthread_mutexattr_default ) == 0 );
-#else
- BOOST_VERIFY( pthread_mutex_init( &m_, 0 ) == 0 );
-#endif
- }
-
- ~lightweight_mutex()
- {
- BOOST_VERIFY( pthread_mutex_destroy( &m_ ) == 0 );
- }
-
- class scoped_lock;
- friend class scoped_lock;
-
- class scoped_lock
- {
- private:
-
- pthread_mutex_t & m_;
-
- scoped_lock(scoped_lock const &);
- scoped_lock & operator=(scoped_lock const &);
-
- public:
-
- scoped_lock(lightweight_mutex & m): m_(m.m_)
- {
- BOOST_VERIFY( pthread_mutex_lock( &m_ ) == 0 );
- }
-
- ~scoped_lock()
- {
- BOOST_VERIFY( pthread_mutex_unlock( &m_ ) == 0 );
- }
- };
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_LWM_PTHREADS_HPP_INCLUDED
diff --git a/boost/smart_ptr/detail/lwm_win32_cs.hpp b/boost/smart_ptr/detail/lwm_win32_cs.hpp
deleted file mode 100644
index 00477e4..0000000
--- a/boost/smart_ptr/detail/lwm_win32_cs.hpp
+++ /dev/null
@@ -1,108 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_LWM_WIN32_CS_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_LWM_WIN32_CS_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// boost/detail/lwm_win32_cs.hpp
-//
-// Copyright (c) 2002, 2003 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)
-//
-
-#ifdef BOOST_USE_WINDOWS_H
-# include <windows.h>
-#endif
-
-namespace boost
-{
-
-namespace detail
-{
-
-#ifndef BOOST_USE_WINDOWS_H
-
-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
-};
-
-extern "C" __declspec(dllimport) void __stdcall InitializeCriticalSection(critical_section *);
-extern "C" __declspec(dllimport) void __stdcall EnterCriticalSection(critical_section *);
-extern "C" __declspec(dllimport) void __stdcall LeaveCriticalSection(critical_section *);
-extern "C" __declspec(dllimport) void __stdcall DeleteCriticalSection(critical_section *);
-
-#else
-
-typedef ::CRITICAL_SECTION critical_section;
-
-#endif // #ifndef BOOST_USE_WINDOWS_H
-
-class lightweight_mutex
-{
-private:
-
- critical_section cs_;
-
- lightweight_mutex(lightweight_mutex const &);
- lightweight_mutex & operator=(lightweight_mutex const &);
-
-public:
-
- lightweight_mutex()
- {
- InitializeCriticalSection(&cs_);
- }
-
- ~lightweight_mutex()
- {
- DeleteCriticalSection(&cs_);
- }
-
- class scoped_lock;
- friend class scoped_lock;
-
- class scoped_lock
- {
- private:
-
- lightweight_mutex & m_;
-
- scoped_lock(scoped_lock const &);
- scoped_lock & operator=(scoped_lock const &);
-
- public:
-
- explicit scoped_lock(lightweight_mutex & m): m_(m)
- {
- EnterCriticalSection(&m_.cs_);
- }
-
- ~scoped_lock()
- {
- LeaveCriticalSection(&m_.cs_);
- }
- };
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_LWM_WIN32_CS_HPP_INCLUDED
diff --git a/boost/smart_ptr/detail/operator_bool.hpp b/boost/smart_ptr/detail/operator_bool.hpp
deleted file mode 100644
index 8ae1527..0000000
--- a/boost/smart_ptr/detail/operator_bool.hpp
+++ /dev/null
@@ -1,63 +0,0 @@
-// This header intentionally has no include guards.
-//
-// Copyright (c) 2001-2009, 2012 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
-
-#if !defined( BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS ) && !defined( BOOST_NO_CXX11_NULLPTR )
-
- explicit operator bool () const BOOST_NOEXCEPT
- {
- return px != 0;
- }
-
-#elif ( defined(__SUNPRO_CC) && BOOST_WORKAROUND(__SUNPRO_CC, < 0x570) ) || defined(__CINT__)
-
- operator bool () const BOOST_NOEXCEPT
- {
- return px != 0;
- }
-
-#elif defined( _MANAGED )
-
- static void unspecified_bool( this_type*** )
- {
- }
-
- typedef void (*unspecified_bool_type)( this_type*** );
-
- operator unspecified_bool_type() const BOOST_NOEXCEPT
- {
- return px == 0? 0: unspecified_bool;
- }
-
-#elif \
- ( defined(__MWERKS__) && BOOST_WORKAROUND(__MWERKS__, < 0x3200) ) || \
- ( defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ < 304) ) || \
- ( defined(__SUNPRO_CC) && BOOST_WORKAROUND(__SUNPRO_CC, <= 0x590) )
-
- typedef element_type * (this_type::*unspecified_bool_type)() const;
-
- operator unspecified_bool_type() const BOOST_NOEXCEPT
- {
- return px == 0? 0: &this_type::get;
- }
-
-#else
-
- typedef element_type * this_type::*unspecified_bool_type;
-
- operator unspecified_bool_type() const BOOST_NOEXCEPT
- {
- return px == 0? 0: &this_type::px;
- }
-
-#endif
-
- // operator! is redundant, but some compilers need it
- bool operator! () const BOOST_NOEXCEPT
- {
- return px == 0;
- }
diff --git a/boost/smart_ptr/detail/quick_allocator.hpp b/boost/smart_ptr/detail/quick_allocator.hpp
deleted file mode 100644
index 159bd5e..0000000
--- a/boost/smart_ptr/detail/quick_allocator.hpp
+++ /dev/null
@@ -1,199 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_QUICK_ALLOCATOR_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_QUICK_ALLOCATOR_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// detail/quick_allocator.hpp
-//
-// Copyright (c) 2003 David Abrahams
-// Copyright (c) 2003 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 <boost/config.hpp>
-
-#include <boost/smart_ptr/detail/lightweight_mutex.hpp>
-#include <boost/type_traits/type_with_alignment.hpp>
-#include <boost/type_traits/alignment_of.hpp>
-
-#include <new> // ::operator new, ::operator delete
-#include <cstddef> // std::size_t
-
-namespace boost
-{
-
-namespace detail
-{
-
-template<unsigned size, unsigned align_> union freeblock
-{
- typedef typename boost::type_with_alignment<align_>::type aligner_type;
- aligner_type aligner;
- char bytes[size];
- freeblock * next;
-};
-
-template<unsigned size, unsigned align_> struct allocator_impl
-{
- typedef freeblock<size, align_> block;
-
- // It may seem odd to use such small pages.
- //
- // However, on a typical Windows implementation that uses
- // the OS allocator, "normal size" pages interact with the
- // "ordinary" operator new, slowing it down dramatically.
- //
- // 512 byte pages are handled by the small object allocator,
- // and don't interfere with ::new.
- //
- // The other alternative is to use much bigger pages (1M.)
- //
- // It is surprisingly easy to hit pathological behavior by
- // varying the page size. g++ 2.96 on Red Hat Linux 7.2,
- // for example, passionately dislikes 496. 512 seems OK.
-
-#if defined(BOOST_QA_PAGE_SIZE)
-
- enum { items_per_page = BOOST_QA_PAGE_SIZE / size };
-
-#else
-
- enum { items_per_page = 512 / size }; // 1048560 / size
-
-#endif
-
-#ifdef BOOST_HAS_THREADS
-
- static lightweight_mutex & mutex()
- {
- static freeblock< sizeof( lightweight_mutex ), boost::alignment_of< lightweight_mutex >::value > fbm;
- static lightweight_mutex * pm = new( &fbm ) lightweight_mutex;
- return *pm;
- }
-
- static lightweight_mutex * mutex_init;
-
-#endif
-
- static block * free;
- static block * page;
- static unsigned last;
-
- static inline void * alloc()
- {
-#ifdef BOOST_HAS_THREADS
- lightweight_mutex::scoped_lock lock( mutex() );
-#endif
- if(block * x = free)
- {
- free = x->next;
- return x;
- }
- else
- {
- if(last == items_per_page)
- {
- // "Listen to me carefully: there is no memory leak"
- // -- Scott Meyers, Eff C++ 2nd Ed Item 10
- page = ::new block[items_per_page];
- last = 0;
- }
-
- return &page[last++];
- }
- }
-
- static inline void * alloc(std::size_t n)
- {
- if(n != size) // class-specific new called for a derived object
- {
- return ::operator new(n);
- }
- else
- {
-#ifdef BOOST_HAS_THREADS
- lightweight_mutex::scoped_lock lock( mutex() );
-#endif
- if(block * x = free)
- {
- free = x->next;
- return x;
- }
- else
- {
- if(last == items_per_page)
- {
- page = ::new block[items_per_page];
- last = 0;
- }
-
- return &page[last++];
- }
- }
- }
-
- static inline void dealloc(void * pv)
- {
- if(pv != 0) // 18.4.1.1/13
- {
-#ifdef BOOST_HAS_THREADS
- lightweight_mutex::scoped_lock lock( mutex() );
-#endif
- block * pb = static_cast<block *>(pv);
- pb->next = free;
- free = pb;
- }
- }
-
- static inline void dealloc(void * pv, std::size_t n)
- {
- if(n != size) // class-specific delete called for a derived object
- {
- ::operator delete(pv);
- }
- else if(pv != 0) // 18.4.1.1/13
- {
-#ifdef BOOST_HAS_THREADS
- lightweight_mutex::scoped_lock lock( mutex() );
-#endif
- block * pb = static_cast<block *>(pv);
- pb->next = free;
- free = pb;
- }
- }
-};
-
-#ifdef BOOST_HAS_THREADS
-
-template<unsigned size, unsigned align_>
- lightweight_mutex * allocator_impl<size, align_>::mutex_init = &allocator_impl<size, align_>::mutex();
-
-#endif
-
-template<unsigned size, unsigned align_>
- freeblock<size, align_> * allocator_impl<size, align_>::free = 0;
-
-template<unsigned size, unsigned align_>
- freeblock<size, align_> * allocator_impl<size, align_>::page = 0;
-
-template<unsigned size, unsigned align_>
- unsigned allocator_impl<size, align_>::last = allocator_impl<size, align_>::items_per_page;
-
-template<class T>
-struct quick_allocator: public allocator_impl< sizeof(T), boost::alignment_of<T>::value >
-{
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_QUICK_ALLOCATOR_HPP_INCLUDED
diff --git a/boost/smart_ptr/detail/shared_count.hpp b/boost/smart_ptr/detail/shared_count.hpp
deleted file mode 100644
index 8e1dd48..0000000
--- a/boost/smart_ptr/detail/shared_count.hpp
+++ /dev/null
@@ -1,603 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SHARED_COUNT_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SHARED_COUNT_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// detail/shared_count.hpp
-//
-// Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
-// Copyright 2004-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)
-//
-
-#ifdef __BORLANDC__
-# pragma warn -8027 // Functions containing try are not expanded inline
-#endif
-
-#include <boost/config.hpp>
-#include <boost/checked_delete.hpp>
-#include <boost/throw_exception.hpp>
-#include <boost/smart_ptr/bad_weak_ptr.hpp>
-#include <boost/smart_ptr/detail/sp_counted_base.hpp>
-#include <boost/smart_ptr/detail/sp_counted_impl.hpp>
-#include <boost/detail/workaround.hpp>
-// In order to avoid circular dependencies with Boost.TR1
-// we make sure that our include of <memory> doesn't try to
-// pull in the TR1 headers: that's why we use this header
-// rather than including <memory> directly:
-#include <boost/config/no_tr1/memory.hpp> // std::auto_ptr
-#include <functional> // std::less
-
-#ifdef BOOST_NO_EXCEPTIONS
-# include <new> // std::bad_alloc
-#endif
-
-#if !defined( BOOST_NO_CXX11_SMART_PTR )
-# include <boost/utility/addressof.hpp>
-#endif
-
-namespace boost
-{
-
-namespace detail
-{
-
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-
-int const shared_count_id = 0x2C35F101;
-int const weak_count_id = 0x298C38A4;
-
-#endif
-
-struct sp_nothrow_tag {};
-
-template< class D > struct sp_inplace_tag
-{
-};
-
-#if !defined( BOOST_NO_CXX11_SMART_PTR )
-
-template< class T > class sp_reference_wrapper
-{
-public:
-
- explicit sp_reference_wrapper( T & t): t_( boost::addressof( t ) )
- {
- }
-
- template< class Y > void operator()( Y * p ) const
- {
- (*t_)( p );
- }
-
-private:
-
- T * t_;
-};
-
-template< class D > struct sp_convert_reference
-{
- typedef D type;
-};
-
-template< class D > struct sp_convert_reference< D& >
-{
- typedef sp_reference_wrapper< D > type;
-};
-
-#endif
-
-class weak_count;
-
-class shared_count
-{
-private:
-
- sp_counted_base * pi_;
-
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
- int id_;
-#endif
-
- friend class weak_count;
-
-public:
-
- shared_count(): pi_(0) // nothrow
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
- , id_(shared_count_id)
-#endif
- {
- }
-
- template<class Y> explicit shared_count( Y * p ): pi_( 0 )
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
- , id_(shared_count_id)
-#endif
- {
-#ifndef BOOST_NO_EXCEPTIONS
-
- try
- {
- pi_ = new sp_counted_impl_p<Y>( p );
- }
- catch(...)
- {
- boost::checked_delete( p );
- throw;
- }
-
-#else
-
- pi_ = new sp_counted_impl_p<Y>( p );
-
- if( pi_ == 0 )
- {
- boost::checked_delete( p );
- boost::throw_exception( std::bad_alloc() );
- }
-
-#endif
- }
-
-#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, <= 1200 )
- template<class Y, class D> shared_count( Y * p, D d ): pi_(0)
-#else
- template<class P, class D> shared_count( P p, D d ): pi_(0)
-#endif
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
- , id_(shared_count_id)
-#endif
- {
-#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, <= 1200 )
- typedef Y* P;
-#endif
-#ifndef BOOST_NO_EXCEPTIONS
-
- try
- {
- pi_ = new sp_counted_impl_pd<P, D>(p, d);
- }
- catch(...)
- {
- d(p); // delete p
- throw;
- }
-
-#else
-
- pi_ = new sp_counted_impl_pd<P, D>(p, d);
-
- if(pi_ == 0)
- {
- d(p); // delete p
- boost::throw_exception(std::bad_alloc());
- }
-
-#endif
- }
-
-#if !defined( BOOST_NO_FUNCTION_TEMPLATE_ORDERING )
-
- template< class P, class D > shared_count( P p, sp_inplace_tag<D> ): pi_( 0 )
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
- , id_(shared_count_id)
-#endif
- {
-#ifndef BOOST_NO_EXCEPTIONS
-
- try
- {
- pi_ = new sp_counted_impl_pd< P, D >( p );
- }
- catch( ... )
- {
- D::operator_fn( p ); // delete p
- throw;
- }
-
-#else
-
- pi_ = new sp_counted_impl_pd< P, D >( p );
-
- if( pi_ == 0 )
- {
- D::operator_fn( p ); // delete p
- boost::throw_exception( std::bad_alloc() );
- }
-
-#endif // #ifndef BOOST_NO_EXCEPTIONS
- }
-
-#endif // !defined( BOOST_NO_FUNCTION_TEMPLATE_ORDERING )
-
- template<class P, class D, class A> shared_count( P p, D d, A a ): pi_( 0 )
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
- , id_(shared_count_id)
-#endif
- {
- typedef sp_counted_impl_pda<P, D, A> impl_type;
- typedef typename A::template rebind< impl_type >::other A2;
-
- A2 a2( a );
-
-#ifndef BOOST_NO_EXCEPTIONS
-
- try
- {
- pi_ = a2.allocate( 1, static_cast< impl_type* >( 0 ) );
- new( static_cast< void* >( pi_ ) ) impl_type( p, d, a );
- }
- catch(...)
- {
- d( p );
-
- if( pi_ != 0 )
- {
- a2.deallocate( static_cast< impl_type* >( pi_ ), 1 );
- }
-
- throw;
- }
-
-#else
-
- pi_ = a2.allocate( 1, static_cast< impl_type* >( 0 ) );
-
- if( pi_ != 0 )
- {
- new( static_cast< void* >( pi_ ) ) impl_type( p, d, a );
- }
- else
- {
- d( p );
- boost::throw_exception( std::bad_alloc() );
- }
-
-#endif
- }
-
-#if !defined( BOOST_NO_FUNCTION_TEMPLATE_ORDERING )
-
- template< class P, class D, class A > shared_count( P p, sp_inplace_tag< D >, A a ): pi_( 0 )
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
- , id_(shared_count_id)
-#endif
- {
- typedef sp_counted_impl_pda< P, D, A > impl_type;
- typedef typename A::template rebind< impl_type >::other A2;
-
- A2 a2( a );
-
-#ifndef BOOST_NO_EXCEPTIONS
-
- try
- {
- pi_ = a2.allocate( 1, static_cast< impl_type* >( 0 ) );
- new( static_cast< void* >( pi_ ) ) impl_type( p, a );
- }
- catch(...)
- {
- D::operator_fn( p );
-
- if( pi_ != 0 )
- {
- a2.deallocate( static_cast< impl_type* >( pi_ ), 1 );
- }
-
- throw;
- }
-
-#else
-
- pi_ = a2.allocate( 1, static_cast< impl_type* >( 0 ) );
-
- if( pi_ != 0 )
- {
- new( static_cast< void* >( pi_ ) ) impl_type( p, a );
- }
- else
- {
- D::operator_fn( p );
- boost::throw_exception( std::bad_alloc() );
- }
-
-#endif // #ifndef BOOST_NO_EXCEPTIONS
- }
-
-#endif // !defined( BOOST_NO_FUNCTION_TEMPLATE_ORDERING )
-
-#ifndef BOOST_NO_AUTO_PTR
-
- // auto_ptr<Y> is special cased to provide the strong guarantee
-
- template<class Y>
- explicit shared_count( std::auto_ptr<Y> & r ): pi_( new sp_counted_impl_p<Y>( r.get() ) )
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
- , id_(shared_count_id)
-#endif
- {
-#ifdef BOOST_NO_EXCEPTIONS
-
- if( pi_ == 0 )
- {
- boost::throw_exception(std::bad_alloc());
- }
-
-#endif
-
- r.release();
- }
-
-#endif
-
-#if !defined( BOOST_NO_CXX11_SMART_PTR )
-
- template<class Y, class D>
- explicit shared_count( std::unique_ptr<Y, D> & r ): pi_( 0 )
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
- , id_(shared_count_id)
-#endif
- {
- typedef typename sp_convert_reference<D>::type D2;
-
- D2 d2( r.get_deleter() );
- pi_ = new sp_counted_impl_pd< typename std::unique_ptr<Y, D>::pointer, D2 >( r.get(), d2 );
-
-#ifdef BOOST_NO_EXCEPTIONS
-
- if( pi_ == 0 )
- {
- boost::throw_exception( std::bad_alloc() );
- }
-
-#endif
-
- r.release();
- }
-
-#endif
-
- ~shared_count() // nothrow
- {
- if( pi_ != 0 ) pi_->release();
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
- id_ = 0;
-#endif
- }
-
- shared_count(shared_count const & r): pi_(r.pi_) // nothrow
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
- , id_(shared_count_id)
-#endif
- {
- if( pi_ != 0 ) pi_->add_ref_copy();
- }
-
-#if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
-
- shared_count(shared_count && r): pi_(r.pi_) // nothrow
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
- , id_(shared_count_id)
-#endif
- {
- r.pi_ = 0;
- }
-
-#endif
-
- explicit shared_count(weak_count const & r); // throws bad_weak_ptr when r.use_count() == 0
- shared_count( weak_count const & r, sp_nothrow_tag ); // constructs an empty *this when r.use_count() == 0
-
- shared_count & operator= (shared_count const & r) // nothrow
- {
- sp_counted_base * tmp = r.pi_;
-
- if( tmp != pi_ )
- {
- if( tmp != 0 ) tmp->add_ref_copy();
- if( pi_ != 0 ) pi_->release();
- pi_ = tmp;
- }
-
- return *this;
- }
-
- void swap(shared_count & r) // nothrow
- {
- sp_counted_base * tmp = r.pi_;
- r.pi_ = pi_;
- pi_ = tmp;
- }
-
- long use_count() const // nothrow
- {
- return pi_ != 0? pi_->use_count(): 0;
- }
-
- bool unique() const // nothrow
- {
- return use_count() == 1;
- }
-
- bool empty() const // nothrow
- {
- return pi_ == 0;
- }
-
- friend inline bool operator==(shared_count const & a, shared_count const & b)
- {
- return a.pi_ == b.pi_;
- }
-
- friend inline bool operator<(shared_count const & a, shared_count const & b)
- {
- return std::less<sp_counted_base *>()( a.pi_, b.pi_ );
- }
-
- void * get_deleter( sp_typeinfo const & ti ) const
- {
- return pi_? pi_->get_deleter( ti ): 0;
- }
-
- void * get_untyped_deleter() const
- {
- return pi_? pi_->get_untyped_deleter(): 0;
- }
-};
-
-
-class weak_count
-{
-private:
-
- sp_counted_base * pi_;
-
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
- int id_;
-#endif
-
- friend class shared_count;
-
-public:
-
- weak_count(): pi_(0) // nothrow
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
- , id_(weak_count_id)
-#endif
- {
- }
-
- weak_count(shared_count const & r): pi_(r.pi_) // nothrow
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
- , id_(weak_count_id)
-#endif
- {
- if(pi_ != 0) pi_->weak_add_ref();
- }
-
- weak_count(weak_count const & r): pi_(r.pi_) // nothrow
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
- , id_(weak_count_id)
-#endif
- {
- if(pi_ != 0) pi_->weak_add_ref();
- }
-
-// Move support
-
-#if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
-
- weak_count(weak_count && r): pi_(r.pi_) // nothrow
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
- , id_(weak_count_id)
-#endif
- {
- r.pi_ = 0;
- }
-
-#endif
-
- ~weak_count() // nothrow
- {
- if(pi_ != 0) pi_->weak_release();
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
- id_ = 0;
-#endif
- }
-
- weak_count & operator= (shared_count const & r) // nothrow
- {
- sp_counted_base * tmp = r.pi_;
-
- if( tmp != pi_ )
- {
- if(tmp != 0) tmp->weak_add_ref();
- if(pi_ != 0) pi_->weak_release();
- pi_ = tmp;
- }
-
- return *this;
- }
-
- weak_count & operator= (weak_count const & r) // nothrow
- {
- sp_counted_base * tmp = r.pi_;
-
- if( tmp != pi_ )
- {
- if(tmp != 0) tmp->weak_add_ref();
- if(pi_ != 0) pi_->weak_release();
- pi_ = tmp;
- }
-
- return *this;
- }
-
- void swap(weak_count & r) // nothrow
- {
- sp_counted_base * tmp = r.pi_;
- r.pi_ = pi_;
- pi_ = tmp;
- }
-
- long use_count() const // nothrow
- {
- return pi_ != 0? pi_->use_count(): 0;
- }
-
- bool empty() const // nothrow
- {
- return pi_ == 0;
- }
-
- friend inline bool operator==(weak_count const & a, weak_count const & b)
- {
- return a.pi_ == b.pi_;
- }
-
- friend inline bool operator<(weak_count const & a, weak_count const & b)
- {
- return std::less<sp_counted_base *>()(a.pi_, b.pi_);
- }
-};
-
-inline shared_count::shared_count( weak_count const & r ): pi_( r.pi_ )
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
- , id_(shared_count_id)
-#endif
-{
- if( pi_ == 0 || !pi_->add_ref_lock() )
- {
- boost::throw_exception( boost::bad_weak_ptr() );
- }
-}
-
-inline shared_count::shared_count( weak_count const & r, sp_nothrow_tag ): pi_( r.pi_ )
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
- , id_(shared_count_id)
-#endif
-{
- if( pi_ != 0 && !pi_->add_ref_lock() )
- {
- pi_ = 0;
- }
-}
-
-} // namespace detail
-
-} // namespace boost
-
-#ifdef __BORLANDC__
-# pragma warn .8027 // Functions containing try are not expanded inline
-#endif
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SHARED_COUNT_HPP_INCLUDED
diff --git a/boost/smart_ptr/detail/shared_ptr_nmt.hpp b/boost/smart_ptr/detail/shared_ptr_nmt.hpp
deleted file mode 100644
index afc1ec0..0000000
--- a/boost/smart_ptr/detail/shared_ptr_nmt.hpp
+++ /dev/null
@@ -1,182 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SHARED_PTR_NMT_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SHARED_PTR_NMT_HPP_INCLUDED
-
-//
-// detail/shared_ptr_nmt.hpp - shared_ptr.hpp without member templates
-//
-// (C) Copyright Greg Colvin and Beman Dawes 1998, 1999.
-// Copyright (c) 2001, 2002 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/smart_ptr/shared_ptr.htm for documentation.
-//
-
-#include <boost/assert.hpp>
-#include <boost/checked_delete.hpp>
-#include <boost/throw_exception.hpp>
-#include <boost/smart_ptr/detail/atomic_count.hpp>
-
-#ifndef BOOST_NO_AUTO_PTR
-# include <memory> // for std::auto_ptr
-#endif
-
-#include <algorithm> // for std::swap
-#include <functional> // for std::less
-#include <new> // for std::bad_alloc
-
-namespace boost
-{
-
-template<class T> class shared_ptr
-{
-private:
-
- typedef detail::atomic_count count_type;
-
-public:
-
- typedef T element_type;
- typedef T value_type;
-
- explicit shared_ptr(T * p = 0): px(p)
- {
-#ifndef BOOST_NO_EXCEPTIONS
-
- try // prevent leak if new throws
- {
- pn = new count_type(1);
- }
- catch(...)
- {
- boost::checked_delete(p);
- throw;
- }
-
-#else
-
- pn = new count_type(1);
-
- if(pn == 0)
- {
- boost::checked_delete(p);
- boost::throw_exception(std::bad_alloc());
- }
-
-#endif
- }
-
- ~shared_ptr()
- {
- if(--*pn == 0)
- {
- boost::checked_delete(px);
- delete pn;
- }
- }
-
- shared_ptr(shared_ptr const & r): px(r.px) // never throws
- {
- pn = r.pn;
- ++*pn;
- }
-
- shared_ptr & operator=(shared_ptr const & r)
- {
- shared_ptr(r).swap(*this);
- return *this;
- }
-
-#ifndef BOOST_NO_AUTO_PTR
-
- explicit shared_ptr(std::auto_ptr<T> & r)
- {
- pn = new count_type(1); // may throw
- px = r.release(); // fix: moved here to stop leak if new throws
- }
-
- shared_ptr & operator=(std::auto_ptr<T> & r)
- {
- shared_ptr(r).swap(*this);
- return *this;
- }
-
-#endif
-
- void reset(T * p = 0)
- {
- BOOST_ASSERT(p == 0 || p != px);
- shared_ptr(p).swap(*this);
- }
-
- T & operator*() const // never throws
- {
- BOOST_ASSERT(px != 0);
- return *px;
- }
-
- T * operator->() const // never throws
- {
- BOOST_ASSERT(px != 0);
- return px;
- }
-
- T * get() const // never throws
- {
- return px;
- }
-
- long use_count() const // never throws
- {
- return *pn;
- }
-
- bool unique() const // never throws
- {
- return *pn == 1;
- }
-
- void swap(shared_ptr<T> & other) // never throws
- {
- std::swap(px, other.px);
- std::swap(pn, other.pn);
- }
-
-private:
-
- T * px; // contained pointer
- count_type * pn; // ptr to reference counter
-};
-
-template<class T, class U> inline bool operator==(shared_ptr<T> const & a, shared_ptr<U> const & b)
-{
- return a.get() == b.get();
-}
-
-template<class T, class U> inline bool operator!=(shared_ptr<T> const & a, shared_ptr<U> const & b)
-{
- return a.get() != b.get();
-}
-
-template<class T> inline bool operator<(shared_ptr<T> const & a, shared_ptr<T> const & b)
-{
- return std::less<T*>()(a.get(), b.get());
-}
-
-template<class T> void swap(shared_ptr<T> & a, shared_ptr<T> & b)
-{
- a.swap(b);
-}
-
-// get_pointer() enables boost::mem_fn to recognize shared_ptr
-
-template<class T> inline T * get_pointer(shared_ptr<T> const & p)
-{
- return p.get();
-}
-
-} // namespace boost
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SHARED_PTR_NMT_HPP_INCLUDED
diff --git a/boost/smart_ptr/detail/sp_convertible.hpp b/boost/smart_ptr/detail/sp_convertible.hpp
deleted file mode 100644
index 31b2627..0000000
--- a/boost/smart_ptr/detail/sp_convertible.hpp
+++ /dev/null
@@ -1,91 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_CONVERTIBLE_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_CONVERTIBLE_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-// detail/sp_convertible.hpp
-//
-// Copyright 2008 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0.
-// See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt
-
-#include <boost/config.hpp>
-
-#if !defined( BOOST_SP_NO_SP_CONVERTIBLE ) && defined( BOOST_NO_SFINAE )
-# define BOOST_SP_NO_SP_CONVERTIBLE
-#endif
-
-#if !defined( BOOST_SP_NO_SP_CONVERTIBLE ) && defined( __GNUC__ ) && ( __GNUC__ * 100 + __GNUC_MINOR__ < 303 )
-# define BOOST_SP_NO_SP_CONVERTIBLE
-#endif
-
-#if !defined( BOOST_SP_NO_SP_CONVERTIBLE ) && defined( __BORLANDC__ ) && ( __BORLANDC__ < 0x630 )
-# define BOOST_SP_NO_SP_CONVERTIBLE
-#endif
-
-#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )
-
-namespace boost
-{
-
-namespace detail
-{
-
-template< class Y, class T > struct sp_convertible
-{
- typedef char (&yes) [1];
- typedef char (&no) [2];
-
- static yes f( T* );
- static no f( ... );
-
- enum _vt { value = sizeof( (f)( static_cast<Y*>(0) ) ) == sizeof(yes) };
-};
-
-template< class Y, class T > struct sp_convertible< Y, T[] >
-{
- enum _vt { value = false };
-};
-
-template< class Y, class T > struct sp_convertible< Y[], T[] >
-{
- enum _vt { value = sp_convertible< Y[1], T[1] >::value };
-};
-
-template< class Y, std::size_t N, class T > struct sp_convertible< Y[N], T[] >
-{
- enum _vt { value = sp_convertible< Y[1], T[1] >::value };
-};
-
-struct sp_empty
-{
-};
-
-template< bool > struct sp_enable_if_convertible_impl;
-
-template<> struct sp_enable_if_convertible_impl<true>
-{
- typedef sp_empty type;
-};
-
-template<> struct sp_enable_if_convertible_impl<false>
-{
-};
-
-template< class Y, class T > struct sp_enable_if_convertible: public sp_enable_if_convertible_impl< sp_convertible< Y, T >::value >
-{
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // !defined( BOOST_SP_NO_SP_CONVERTIBLE )
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_CONVERTIBLE_HPP_INCLUDED
diff --git a/boost/smart_ptr/detail/sp_counted_base.hpp b/boost/smart_ptr/detail/sp_counted_base.hpp
deleted file mode 100644
index 9ced2b9..0000000
--- a/boost/smart_ptr/detail/sp_counted_base.hpp
+++ /dev/null
@@ -1,79 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// detail/sp_counted_base.hpp
-//
-// Copyright 2005, 2006 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 <boost/config.hpp>
-#include <boost/smart_ptr/detail/sp_has_sync.hpp>
-
-#if defined( BOOST_SP_DISABLE_THREADS )
-# include <boost/smart_ptr/detail/sp_counted_base_nt.hpp>
-
-#elif defined( BOOST_SP_USE_SPINLOCK )
-# include <boost/smart_ptr/detail/sp_counted_base_spin.hpp>
-
-#elif defined( BOOST_SP_USE_PTHREADS )
-# include <boost/smart_ptr/detail/sp_counted_base_pt.hpp>
-
-#elif defined( BOOST_DISABLE_THREADS ) && !defined( BOOST_SP_ENABLE_THREADS ) && !defined( BOOST_DISABLE_WIN32 )
-# include <boost/smart_ptr/detail/sp_counted_base_nt.hpp>
-
-#elif defined( __SNC__ )
-# include <boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp>
-
-#elif defined( __GNUC__ ) && ( defined( __i386__ ) || defined( __x86_64__ ) ) && !defined(__PATHSCALE__)
-# include <boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp>
-
-#elif defined(__HP_aCC) && defined(__ia64)
-# include <boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp>
-
-#elif defined( __GNUC__ ) && defined( __ia64__ ) && !defined( __INTEL_COMPILER ) && !defined(__PATHSCALE__)
-# include <boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp>
-
-#elif defined( __IBMCPP__ ) && defined( __powerpc )
-# include <boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp>
-
-#elif defined( __MWERKS__ ) && defined( __POWERPC__ )
-# include <boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp>
-
-#elif defined( __GNUC__ ) && ( defined( __powerpc__ ) || defined( __ppc__ ) || defined( __ppc ) ) && !defined(__PATHSCALE__) && !defined( _AIX )
-# include <boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp>
-
-#elif defined( __GNUC__ ) && ( defined( __mips__ ) || defined( _mips ) ) && !defined(__PATHSCALE__)
-# include <boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp>
-
-#elif defined( BOOST_SP_HAS_SYNC )
-# include <boost/smart_ptr/detail/sp_counted_base_sync.hpp>
-
-#elif defined(__GNUC__) && ( defined( __sparcv9 ) || ( defined( __sparcv8 ) && ( __GNUC__ * 100 + __GNUC_MINOR__ >= 402 ) ) )
-# include <boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp>
-
-#elif defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ ) || defined(__CYGWIN__)
-# include <boost/smart_ptr/detail/sp_counted_base_w32.hpp>
-
-#elif defined( _AIX )
-# include <boost/smart_ptr/detail/sp_counted_base_aix.hpp>
-
-#elif !defined( BOOST_HAS_THREADS )
-# include <boost/smart_ptr/detail/sp_counted_base_nt.hpp>
-
-#else
-# include <boost/smart_ptr/detail/sp_counted_base_spin.hpp>
-
-#endif
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_HPP_INCLUDED
diff --git a/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp b/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp
deleted file mode 100644
index cebc243..0000000
--- a/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp
+++ /dev/null
@@ -1,151 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_ACC_IA64_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_ACC_IA64_HPP_INCLUDED
-
-//
-// detail/sp_counted_base_acc_ia64.hpp - aC++ on HP-UX IA64
-//
-// Copyright 2007 Baruch Zilber
-// Copyright 2007 Boris Gubenko
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-//
-// Lock-free algorithm by Alexander Terekhov
-//
-
-#include <boost/detail/sp_typeinfo.hpp>
-#include <machine/sys/inline.h>
-
-namespace boost
-{
-
-namespace detail
-{
-
-inline void atomic_increment( int * pw )
-{
- // ++*pw;
-
- _Asm_fetchadd(_FASZ_W, _SEM_REL, pw, +1, _LDHINT_NONE);
-}
-
-inline int atomic_decrement( int * pw )
-{
- // return --*pw;
-
- int r = static_cast<int>(_Asm_fetchadd(_FASZ_W, _SEM_REL, pw, -1, _LDHINT_NONE));
- if (1 == r)
- {
- _Asm_mf();
- }
-
- return r - 1;
-}
-
-inline int atomic_conditional_increment( int * pw )
-{
- // if( *pw != 0 ) ++*pw;
- // return *pw;
-
- int v = *pw;
-
- for (;;)
- {
- if (0 == v)
- {
- return 0;
- }
-
- _Asm_mov_to_ar(_AREG_CCV,
- v,
- (_UP_CALL_FENCE | _UP_SYS_FENCE | _DOWN_CALL_FENCE | _DOWN_SYS_FENCE));
- int r = static_cast<int>(_Asm_cmpxchg(_SZ_W, _SEM_ACQ, pw, v + 1, _LDHINT_NONE));
- if (r == v)
- {
- return r + 1;
- }
-
- v = r;
- }
-}
-
-class sp_counted_base
-{
-private:
-
- sp_counted_base( sp_counted_base const & );
- sp_counted_base & operator= ( sp_counted_base const & );
-
- int use_count_; // #shared
- int weak_count_; // #weak + (#shared != 0)
-
-public:
-
- sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
- {
- }
-
- virtual ~sp_counted_base() // nothrow
- {
- }
-
- // dispose() is called when use_count_ drops to zero, to release
- // the resources managed by *this.
-
- virtual void dispose() = 0; // nothrow
-
- // destroy() is called when weak_count_ drops to zero.
-
- virtual void destroy() // nothrow
- {
- delete this;
- }
-
- virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
- virtual void * get_untyped_deleter() = 0;
-
- void add_ref_copy()
- {
- atomic_increment( &use_count_ );
- }
-
- bool add_ref_lock() // true on success
- {
- return atomic_conditional_increment( &use_count_ ) != 0;
- }
-
- void release() // nothrow
- {
- if( atomic_decrement( &use_count_ ) == 0 )
- {
- dispose();
- weak_release();
- }
- }
-
- void weak_add_ref() // nothrow
- {
- atomic_increment( &weak_count_ );
- }
-
- void weak_release() // nothrow
- {
- if( atomic_decrement( &weak_count_ ) == 0 )
- {
- destroy();
- }
- }
-
- long use_count() const // nothrow
- {
- return static_cast<int const volatile &>( use_count_ ); // TODO use ld.acq here
- }
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_ACC_IA64_HPP_INCLUDED
diff --git a/boost/smart_ptr/detail/sp_counted_base_aix.hpp b/boost/smart_ptr/detail/sp_counted_base_aix.hpp
deleted file mode 100644
index fe6c727..0000000
--- a/boost/smart_ptr/detail/sp_counted_base_aix.hpp
+++ /dev/null
@@ -1,143 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_AIX_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_AIX_HPP_INCLUDED
-
-//
-// detail/sp_counted_base_aix.hpp
-// based on: detail/sp_counted_base_w32.hpp
-//
-// Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
-// Copyright 2004-2005 Peter Dimov
-// Copyright 2006 Michael van der Westhuizen
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-//
-// Lock-free algorithm by Alexander Terekhov
-//
-// Thanks to Ben Hitchings for the #weak + (#shared != 0)
-// formulation
-//
-
-#include <boost/detail/sp_typeinfo.hpp>
-#include <builtins.h>
-#include <sys/atomic_op.h>
-
-namespace boost
-{
-
-namespace detail
-{
-
-inline void atomic_increment( int32_t* pw )
-{
- // ++*pw;
-
- fetch_and_add( pw, 1 );
-}
-
-inline int32_t atomic_decrement( int32_t * pw )
-{
- // return --*pw;
-
- int32_t originalValue;
-
- __lwsync();
- originalValue = fetch_and_add( pw, -1 );
- __isync();
-
- return (originalValue - 1);
-}
-
-inline int32_t atomic_conditional_increment( int32_t * pw )
-{
- // if( *pw != 0 ) ++*pw;
- // return *pw;
-
- int32_t tmp = fetch_and_add( pw, 0 );
- for( ;; )
- {
- if( tmp == 0 ) return 0;
- if( compare_and_swap( pw, &tmp, tmp + 1 ) ) return (tmp + 1);
- }
-}
-
-class sp_counted_base
-{
-private:
-
- sp_counted_base( sp_counted_base const & );
- sp_counted_base & operator= ( sp_counted_base const & );
-
- int32_t use_count_; // #shared
- int32_t weak_count_; // #weak + (#shared != 0)
-
-public:
-
- sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
- {
- }
-
- virtual ~sp_counted_base() // nothrow
- {
- }
-
- // dispose() is called when use_count_ drops to zero, to release
- // the resources managed by *this.
-
- virtual void dispose() = 0; // nothrow
-
- // destroy() is called when weak_count_ drops to zero.
-
- virtual void destroy() // nothrow
- {
- delete this;
- }
-
- virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
- virtual void * get_untyped_deleter() = 0;
-
- void add_ref_copy()
- {
- atomic_increment( &use_count_ );
- }
-
- bool add_ref_lock() // true on success
- {
- return atomic_conditional_increment( &use_count_ ) != 0;
- }
-
- void release() // nothrow
- {
- if( atomic_decrement( &use_count_ ) == 0 )
- {
- dispose();
- weak_release();
- }
- }
-
- void weak_add_ref() // nothrow
- {
- atomic_increment( &weak_count_ );
- }
-
- void weak_release() // nothrow
- {
- if( atomic_decrement( &weak_count_ ) == 0 )
- {
- destroy();
- }
- }
-
- long use_count() const // nothrow
- {
- return fetch_and_add( const_cast<int32_t*>(&use_count_), 0 );
- }
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_AIX_HPP_INCLUDED
diff --git a/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp b/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp
deleted file mode 100644
index 6c268e8..0000000
--- a/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp
+++ /dev/null
@@ -1,171 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_CW_PPC_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_CW_PPC_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// detail/sp_counted_base_cw_ppc.hpp - CodeWarrior on PowerPC
-//
-// Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
-// Copyright 2004-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)
-//
-//
-// Lock-free algorithm by Alexander Terekhov
-//
-// Thanks to Ben Hitchings for the #weak + (#shared != 0)
-// formulation
-//
-
-#include <boost/detail/sp_typeinfo.hpp>
-
-namespace boost
-{
-
-namespace detail
-{
-
-inline void atomic_increment( register long * pw )
-{
- register int a;
-
- asm
- {
-loop:
-
- lwarx a, 0, pw
- addi a, a, 1
- stwcx. a, 0, pw
- bne- loop
- }
-}
-
-inline long atomic_decrement( register long * pw )
-{
- register int a;
-
- asm
- {
- sync
-
-loop:
-
- lwarx a, 0, pw
- addi a, a, -1
- stwcx. a, 0, pw
- bne- loop
-
- isync
- }
-
- return a;
-}
-
-inline long atomic_conditional_increment( register long * pw )
-{
- register int a;
-
- asm
- {
-loop:
-
- lwarx a, 0, pw
- cmpwi a, 0
- beq store
-
- addi a, a, 1
-
-store:
-
- stwcx. a, 0, pw
- bne- loop
- }
-
- return a;
-}
-
-class sp_counted_base
-{
-private:
-
- sp_counted_base( sp_counted_base const & );
- sp_counted_base & operator= ( sp_counted_base const & );
-
- long use_count_; // #shared
- long weak_count_; // #weak + (#shared != 0)
-
-public:
-
- sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
- {
- }
-
- virtual ~sp_counted_base() // nothrow
- {
- }
-
- // dispose() is called when use_count_ drops to zero, to release
- // the resources managed by *this.
-
- virtual void dispose() = 0; // nothrow
-
- // destroy() is called when weak_count_ drops to zero.
-
- virtual void destroy() // nothrow
- {
- delete this;
- }
-
- virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
- virtual void * get_untyped_deleter() = 0;
-
- void add_ref_copy()
- {
- atomic_increment( &use_count_ );
- }
-
- bool add_ref_lock() // true on success
- {
- return atomic_conditional_increment( &use_count_ ) != 0;
- }
-
- void release() // nothrow
- {
- if( atomic_decrement( &use_count_ ) == 0 )
- {
- dispose();
- weak_release();
- }
- }
-
- void weak_add_ref() // nothrow
- {
- atomic_increment( &weak_count_ );
- }
-
- void weak_release() // nothrow
- {
- if( atomic_decrement( &weak_count_ ) == 0 )
- {
- destroy();
- }
- }
-
- long use_count() const // nothrow
- {
- return static_cast<long const volatile &>( use_count_ );
- }
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_CW_PPC_HPP_INCLUDED
diff --git a/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp b/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp
deleted file mode 100644
index f6e3904..0000000
--- a/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp
+++ /dev/null
@@ -1,158 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_IA64_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_IA64_HPP_INCLUDED
-
-//
-// detail/sp_counted_base_gcc_ia64.hpp - g++ on IA64
-//
-// Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
-// Copyright 2004-2006 Peter Dimov
-// Copyright 2005 Ben Hutchings
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-//
-// Lock-free algorithm by Alexander Terekhov
-//
-
-#include <boost/detail/sp_typeinfo.hpp>
-
-namespace boost
-{
-
-namespace detail
-{
-
-inline void atomic_increment( int * pw )
-{
- // ++*pw;
-
- int tmp;
-
- // No barrier is required here but fetchadd always has an acquire or
- // release barrier associated with it. We choose release as it should be
- // cheaper.
- __asm__ ("fetchadd4.rel %0=%1,1" :
- "=r"(tmp), "=m"(*pw) :
- "m"( *pw ));
-}
-
-inline int atomic_decrement( int * pw )
-{
- // return --*pw;
-
- int rv;
-
- __asm__ (" fetchadd4.rel %0=%1,-1 ;; \n"
- " cmp.eq p7,p0=1,%0 ;; \n"
- "(p7) ld4.acq %0=%1 " :
- "=&r"(rv), "=m"(*pw) :
- "m"( *pw ) :
- "p7");
-
- return rv;
-}
-
-inline int atomic_conditional_increment( int * pw )
-{
- // if( *pw != 0 ) ++*pw;
- // return *pw;
-
- int rv, tmp, tmp2;
-
- __asm__ ("0: ld4 %0=%3 ;; \n"
- " cmp.eq p7,p0=0,%0 ;; \n"
- "(p7) br.cond.spnt 1f \n"
- " mov ar.ccv=%0 \n"
- " add %1=1,%0 ;; \n"
- " cmpxchg4.acq %2=%3,%1,ar.ccv ;; \n"
- " cmp.ne p7,p0=%0,%2 ;; \n"
- "(p7) br.cond.spnt 0b \n"
- " mov %0=%1 ;; \n"
- "1:" :
- "=&r"(rv), "=&r"(tmp), "=&r"(tmp2), "=m"(*pw) :
- "m"( *pw ) :
- "ar.ccv", "p7");
-
- return rv;
-}
-
-class sp_counted_base
-{
-private:
-
- sp_counted_base( sp_counted_base const & );
- sp_counted_base & operator= ( sp_counted_base const & );
-
- int use_count_; // #shared
- int weak_count_; // #weak + (#shared != 0)
-
-public:
-
- sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
- {
- }
-
- virtual ~sp_counted_base() // nothrow
- {
- }
-
- // dispose() is called when use_count_ drops to zero, to release
- // the resources managed by *this.
-
- virtual void dispose() = 0; // nothrow
-
- // destroy() is called when weak_count_ drops to zero.
-
- virtual void destroy() // nothrow
- {
- delete this;
- }
-
- virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
- virtual void * get_untyped_deleter() = 0;
-
- void add_ref_copy()
- {
- atomic_increment( &use_count_ );
- }
-
- bool add_ref_lock() // true on success
- {
- return atomic_conditional_increment( &use_count_ ) != 0;
- }
-
- void release() // nothrow
- {
- if( atomic_decrement( &use_count_ ) == 0 )
- {
- dispose();
- weak_release();
- }
- }
-
- void weak_add_ref() // nothrow
- {
- atomic_increment( &weak_count_ );
- }
-
- void weak_release() // nothrow
- {
- if( atomic_decrement( &weak_count_ ) == 0 )
- {
- destroy();
- }
- }
-
- long use_count() const // nothrow
- {
- return static_cast<int const volatile &>( use_count_ ); // TODO use ld.acq here
- }
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_IA64_HPP_INCLUDED
diff --git a/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp b/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp
deleted file mode 100644
index 545c8ae..0000000
--- a/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp
+++ /dev/null
@@ -1,182 +0,0 @@
-#ifndef BOOST_DETAIL_SP_COUNTED_BASE_GCC_MIPS_HPP_INCLUDED
-#define BOOST_DETAIL_SP_COUNTED_BASE_GCC_MIPS_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// detail/sp_counted_base_gcc_mips.hpp - g++ on MIPS
-//
-// Copyright (c) 2009, Spirent Communications, 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)
-//
-//
-// Lock-free algorithm by Alexander Terekhov
-//
-
-#include <boost/detail/sp_typeinfo.hpp>
-
-namespace boost
-{
-
-namespace detail
-{
-
-inline void atomic_increment( int * pw )
-{
- // ++*pw;
-
- int tmp;
-
- __asm__ __volatile__
- (
- "0:\n\t"
- ".set push\n\t"
- ".set mips2\n\t"
- "ll %0, %1\n\t"
- "addiu %0, 1\n\t"
- "sc %0, %1\n\t"
- ".set pop\n\t"
- "beqz %0, 0b":
- "=&r"( tmp ), "=m"( *pw ):
- "m"( *pw )
- );
-}
-
-inline int atomic_decrement( int * pw )
-{
- // return --*pw;
-
- int rv, tmp;
-
- __asm__ __volatile__
- (
- "0:\n\t"
- ".set push\n\t"
- ".set mips2\n\t"
- "ll %1, %2\n\t"
- "addiu %0, %1, -1\n\t"
- "sc %0, %2\n\t"
- ".set pop\n\t"
- "beqz %0, 0b\n\t"
- "addiu %0, %1, -1":
- "=&r"( rv ), "=&r"( tmp ), "=m"( *pw ):
- "m"( *pw ):
- "memory"
- );
-
- return rv;
-}
-
-inline int atomic_conditional_increment( int * pw )
-{
- // if( *pw != 0 ) ++*pw;
- // return *pw;
-
- int rv, tmp;
-
- __asm__ __volatile__
- (
- "0:\n\t"
- ".set push\n\t"
- ".set mips2\n\t"
- "ll %0, %2\n\t"
- "beqz %0, 1f\n\t"
- "addiu %1, %0, 1\n\t"
- "sc %1, %2\n\t"
- ".set pop\n\t"
- "beqz %1, 0b\n\t"
- "addiu %0, %0, 1\n\t"
- "1:":
- "=&r"( rv ), "=&r"( tmp ), "=m"( *pw ):
- "m"( *pw ):
- "memory"
- );
-
- return rv;
-}
-
-class sp_counted_base
-{
-private:
-
- sp_counted_base( sp_counted_base const & );
- sp_counted_base & operator= ( sp_counted_base const & );
-
- int use_count_; // #shared
- int weak_count_; // #weak + (#shared != 0)
-
-public:
-
- sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
- {
- }
-
- virtual ~sp_counted_base() // nothrow
- {
- }
-
- // dispose() is called when use_count_ drops to zero, to release
- // the resources managed by *this.
-
- virtual void dispose() = 0; // nothrow
-
- // destroy() is called when weak_count_ drops to zero.
-
- virtual void destroy() // nothrow
- {
- delete this;
- }
-
- virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
- virtual void * get_untyped_deleter() = 0;
-
- void add_ref_copy()
- {
- atomic_increment( &use_count_ );
- }
-
- bool add_ref_lock() // true on success
- {
- return atomic_conditional_increment( &use_count_ ) != 0;
- }
-
- void release() // nothrow
- {
- if( atomic_decrement( &use_count_ ) == 0 )
- {
- dispose();
- weak_release();
- }
- }
-
- void weak_add_ref() // nothrow
- {
- atomic_increment( &weak_count_ );
- }
-
- void weak_release() // nothrow
- {
- if( atomic_decrement( &weak_count_ ) == 0 )
- {
- destroy();
- }
- }
-
- long use_count() const // nothrow
- {
- return static_cast<int const volatile &>( use_count_ );
- }
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_DETAIL_SP_COUNTED_BASE_GCC_MIPS_HPP_INCLUDED
diff --git a/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp b/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp
deleted file mode 100644
index 2e5bc0e..0000000
--- a/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp
+++ /dev/null
@@ -1,182 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_PPC_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_PPC_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// detail/sp_counted_base_gcc_ppc.hpp - g++ on PowerPC
-//
-// Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
-// Copyright 2004-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)
-//
-//
-// Lock-free algorithm by Alexander Terekhov
-//
-// Thanks to Ben Hitchings for the #weak + (#shared != 0)
-// formulation
-//
-
-#include <boost/detail/sp_typeinfo.hpp>
-
-namespace boost
-{
-
-namespace detail
-{
-
-inline void atomic_increment( int * pw )
-{
- // ++*pw;
-
- int tmp;
-
- __asm__
- (
- "0:\n\t"
- "lwarx %1, 0, %2\n\t"
- "addi %1, %1, 1\n\t"
- "stwcx. %1, 0, %2\n\t"
- "bne- 0b":
-
- "=m"( *pw ), "=&b"( tmp ):
- "r"( pw ), "m"( *pw ):
- "cc"
- );
-}
-
-inline int atomic_decrement( int * pw )
-{
- // return --*pw;
-
- int rv;
-
- __asm__ __volatile__
- (
- "sync\n\t"
- "0:\n\t"
- "lwarx %1, 0, %2\n\t"
- "addi %1, %1, -1\n\t"
- "stwcx. %1, 0, %2\n\t"
- "bne- 0b\n\t"
- "isync":
-
- "=m"( *pw ), "=&b"( rv ):
- "r"( pw ), "m"( *pw ):
- "memory", "cc"
- );
-
- return rv;
-}
-
-inline int atomic_conditional_increment( int * pw )
-{
- // if( *pw != 0 ) ++*pw;
- // return *pw;
-
- int rv;
-
- __asm__
- (
- "0:\n\t"
- "lwarx %1, 0, %2\n\t"
- "cmpwi %1, 0\n\t"
- "beq 1f\n\t"
- "addi %1, %1, 1\n\t"
- "1:\n\t"
- "stwcx. %1, 0, %2\n\t"
- "bne- 0b":
-
- "=m"( *pw ), "=&b"( rv ):
- "r"( pw ), "m"( *pw ):
- "cc"
- );
-
- return rv;
-}
-
-class sp_counted_base
-{
-private:
-
- sp_counted_base( sp_counted_base const & );
- sp_counted_base & operator= ( sp_counted_base const & );
-
- int use_count_; // #shared
- int weak_count_; // #weak + (#shared != 0)
-
-public:
-
- sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
- {
- }
-
- virtual ~sp_counted_base() // nothrow
- {
- }
-
- // dispose() is called when use_count_ drops to zero, to release
- // the resources managed by *this.
-
- virtual void dispose() = 0; // nothrow
-
- // destroy() is called when weak_count_ drops to zero.
-
- virtual void destroy() // nothrow
- {
- delete this;
- }
-
- virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
- virtual void * get_untyped_deleter() = 0;
-
- void add_ref_copy()
- {
- atomic_increment( &use_count_ );
- }
-
- bool add_ref_lock() // true on success
- {
- return atomic_conditional_increment( &use_count_ ) != 0;
- }
-
- void release() // nothrow
- {
- if( atomic_decrement( &use_count_ ) == 0 )
- {
- dispose();
- weak_release();
- }
- }
-
- void weak_add_ref() // nothrow
- {
- atomic_increment( &weak_count_ );
- }
-
- void weak_release() // nothrow
- {
- if( atomic_decrement( &weak_count_ ) == 0 )
- {
- destroy();
- }
- }
-
- long use_count() const // nothrow
- {
- return static_cast<int const volatile &>( use_count_ );
- }
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_PPC_HPP_INCLUDED
diff --git a/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp b/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp
deleted file mode 100644
index c6d20ce..0000000
--- a/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp
+++ /dev/null
@@ -1,167 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_SPARC_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_SPARC_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-// detail/sp_counted_base_gcc_sparc.hpp - g++ on Sparc V8+
-//
-// Copyright (c) 2006 Piotr Wyderski
-// Copyright (c) 2006 Tomas Puverle
-// Copyright (c) 2006 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
-//
-// Thanks to Michael van der Westhuizen
-
-#include <boost/detail/sp_typeinfo.hpp>
-#include <inttypes.h> // int32_t
-
-namespace boost
-{
-
-namespace detail
-{
-
-inline int32_t compare_and_swap( int32_t * dest_, int32_t compare_, int32_t swap_ )
-{
- __asm__ __volatile__( "cas [%1], %2, %0"
- : "+r" (swap_)
- : "r" (dest_), "r" (compare_)
- : "memory" );
-
- return swap_;
-}
-
-inline int32_t atomic_fetch_and_add( int32_t * pw, int32_t dv )
-{
- // long r = *pw;
- // *pw += dv;
- // return r;
-
- for( ;; )
- {
- int32_t r = *pw;
-
- if( __builtin_expect((compare_and_swap(pw, r, r + dv) == r), 1) )
- {
- return r;
- }
- }
-}
-
-inline void atomic_increment( int32_t * pw )
-{
- atomic_fetch_and_add( pw, 1 );
-}
-
-inline int32_t atomic_decrement( int32_t * pw )
-{
- return atomic_fetch_and_add( pw, -1 );
-}
-
-inline int32_t atomic_conditional_increment( int32_t * pw )
-{
- // long r = *pw;
- // if( r != 0 ) ++*pw;
- // return r;
-
- for( ;; )
- {
- int32_t r = *pw;
-
- if( r == 0 )
- {
- return r;
- }
-
- if( __builtin_expect( ( compare_and_swap( pw, r, r + 1 ) == r ), 1 ) )
- {
- return r;
- }
- }
-}
-
-class sp_counted_base
-{
-private:
-
- sp_counted_base( sp_counted_base const & );
- sp_counted_base & operator= ( sp_counted_base const & );
-
- int32_t use_count_; // #shared
- int32_t weak_count_; // #weak + (#shared != 0)
-
-public:
-
- sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
- {
- }
-
- virtual ~sp_counted_base() // nothrow
- {
- }
-
- // dispose() is called when use_count_ drops to zero, to release
- // the resources managed by *this.
-
- virtual void dispose() = 0; // nothrow
-
- // destroy() is called when weak_count_ drops to zero.
-
- virtual void destroy() // nothrow
- {
- delete this;
- }
-
- virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
- virtual void * get_untyped_deleter() = 0;
-
- void add_ref_copy()
- {
- atomic_increment( &use_count_ );
- }
-
- bool add_ref_lock() // true on success
- {
- return atomic_conditional_increment( &use_count_ ) != 0;
- }
-
- void release() // nothrow
- {
- if( atomic_decrement( &use_count_ ) == 1 )
- {
- dispose();
- weak_release();
- }
- }
-
- void weak_add_ref() // nothrow
- {
- atomic_increment( &weak_count_ );
- }
-
- void weak_release() // nothrow
- {
- if( atomic_decrement( &weak_count_ ) == 1 )
- {
- destroy();
- }
- }
-
- long use_count() const // nothrow
- {
- return const_cast< int32_t const volatile & >( use_count_ );
- }
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_SPARC_HPP_INCLUDED
diff --git a/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp b/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp
deleted file mode 100644
index 173dce5..0000000
--- a/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp
+++ /dev/null
@@ -1,174 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_X86_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_X86_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// detail/sp_counted_base_gcc_x86.hpp - g++ on 486+ or AMD64
-//
-// Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
-// Copyright 2004-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)
-//
-//
-// Lock-free algorithm by Alexander Terekhov
-//
-// Thanks to Ben Hitchings for the #weak + (#shared != 0)
-// formulation
-//
-
-#include <boost/detail/sp_typeinfo.hpp>
-
-namespace boost
-{
-
-namespace detail
-{
-
-inline int atomic_exchange_and_add( int * pw, int dv )
-{
- // int r = *pw;
- // *pw += dv;
- // return r;
-
- int r;
-
- __asm__ __volatile__
- (
- "lock\n\t"
- "xadd %1, %0":
- "=m"( *pw ), "=r"( r ): // outputs (%0, %1)
- "m"( *pw ), "1"( dv ): // inputs (%2, %3 == %1)
- "memory", "cc" // clobbers
- );
-
- return r;
-}
-
-inline void atomic_increment( int * pw )
-{
- //atomic_exchange_and_add( pw, 1 );
-
- __asm__
- (
- "lock\n\t"
- "incl %0":
- "=m"( *pw ): // output (%0)
- "m"( *pw ): // input (%1)
- "cc" // clobbers
- );
-}
-
-inline int atomic_conditional_increment( int * pw )
-{
- // int rv = *pw;
- // if( rv != 0 ) ++*pw;
- // return rv;
-
- int rv, tmp;
-
- __asm__
- (
- "movl %0, %%eax\n\t"
- "0:\n\t"
- "test %%eax, %%eax\n\t"
- "je 1f\n\t"
- "movl %%eax, %2\n\t"
- "incl %2\n\t"
- "lock\n\t"
- "cmpxchgl %2, %0\n\t"
- "jne 0b\n\t"
- "1:":
- "=m"( *pw ), "=&a"( rv ), "=&r"( tmp ): // outputs (%0, %1, %2)
- "m"( *pw ): // input (%3)
- "cc" // clobbers
- );
-
- return rv;
-}
-
-class sp_counted_base
-{
-private:
-
- sp_counted_base( sp_counted_base const & );
- sp_counted_base & operator= ( sp_counted_base const & );
-
- int use_count_; // #shared
- int weak_count_; // #weak + (#shared != 0)
-
-public:
-
- sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
- {
- }
-
- virtual ~sp_counted_base() // nothrow
- {
- }
-
- // dispose() is called when use_count_ drops to zero, to release
- // the resources managed by *this.
-
- virtual void dispose() = 0; // nothrow
-
- // destroy() is called when weak_count_ drops to zero.
-
- virtual void destroy() // nothrow
- {
- delete this;
- }
-
- virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
- virtual void * get_untyped_deleter() = 0;
-
- void add_ref_copy()
- {
- atomic_increment( &use_count_ );
- }
-
- bool add_ref_lock() // true on success
- {
- return atomic_conditional_increment( &use_count_ ) != 0;
- }
-
- void release() // nothrow
- {
- if( atomic_exchange_and_add( &use_count_, -1 ) == 1 )
- {
- dispose();
- weak_release();
- }
- }
-
- void weak_add_ref() // nothrow
- {
- atomic_increment( &weak_count_ );
- }
-
- void weak_release() // nothrow
- {
- if( atomic_exchange_and_add( &weak_count_, -1 ) == 1 )
- {
- destroy();
- }
- }
-
- long use_count() const // nothrow
- {
- return static_cast<int const volatile &>( use_count_ );
- }
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_GCC_X86_HPP_INCLUDED
diff --git a/boost/smart_ptr/detail/sp_counted_base_nt.hpp b/boost/smart_ptr/detail/sp_counted_base_nt.hpp
deleted file mode 100644
index 5c901f9..0000000
--- a/boost/smart_ptr/detail/sp_counted_base_nt.hpp
+++ /dev/null
@@ -1,108 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_NT_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_NT_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// detail/sp_counted_base_nt.hpp
-//
-// Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
-// Copyright 2004-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 <boost/detail/sp_typeinfo.hpp>
-
-namespace boost
-{
-
-namespace detail
-{
-
-class sp_counted_base
-{
-private:
-
- sp_counted_base( sp_counted_base const & );
- sp_counted_base & operator= ( sp_counted_base const & );
-
- long use_count_; // #shared
- long weak_count_; // #weak + (#shared != 0)
-
-public:
-
- sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
- {
- }
-
- virtual ~sp_counted_base() // nothrow
- {
- }
-
- // dispose() is called when use_count_ drops to zero, to release
- // the resources managed by *this.
-
- virtual void dispose() = 0; // nothrow
-
- // destroy() is called when weak_count_ drops to zero.
-
- virtual void destroy() // nothrow
- {
- delete this;
- }
-
- virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
- virtual void * get_untyped_deleter() = 0;
-
- void add_ref_copy()
- {
- ++use_count_;
- }
-
- bool add_ref_lock() // true on success
- {
- if( use_count_ == 0 ) return false;
- ++use_count_;
- return true;
- }
-
- void release() // nothrow
- {
- if( --use_count_ == 0 )
- {
- dispose();
- weak_release();
- }
- }
-
- void weak_add_ref() // nothrow
- {
- ++weak_count_;
- }
-
- void weak_release() // nothrow
- {
- if( --weak_count_ == 0 )
- {
- destroy();
- }
- }
-
- long use_count() const // nothrow
- {
- return use_count_;
- }
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_NT_HPP_INCLUDED
diff --git a/boost/smart_ptr/detail/sp_counted_base_pt.hpp b/boost/smart_ptr/detail/sp_counted_base_pt.hpp
deleted file mode 100644
index a742c3d..0000000
--- a/boost/smart_ptr/detail/sp_counted_base_pt.hpp
+++ /dev/null
@@ -1,136 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_PT_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_PT_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// detail/sp_counted_base_pt.hpp
-//
-// Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
-// Copyright 2004-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 <boost/detail/sp_typeinfo.hpp>
-#include <pthread.h>
-
-namespace boost
-{
-
-namespace detail
-{
-
-class sp_counted_base
-{
-private:
-
- sp_counted_base( sp_counted_base const & );
- sp_counted_base & operator= ( sp_counted_base const & );
-
- long use_count_; // #shared
- long weak_count_; // #weak + (#shared != 0)
-
- mutable pthread_mutex_t m_;
-
-public:
-
- sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
- {
-// HPUX 10.20 / DCE has a nonstandard pthread_mutex_init
-
-#if defined(__hpux) && defined(_DECTHREADS_)
- pthread_mutex_init( &m_, pthread_mutexattr_default );
-#else
- pthread_mutex_init( &m_, 0 );
-#endif
- }
-
- virtual ~sp_counted_base() // nothrow
- {
- pthread_mutex_destroy( &m_ );
- }
-
- // dispose() is called when use_count_ drops to zero, to release
- // the resources managed by *this.
-
- virtual void dispose() = 0; // nothrow
-
- // destroy() is called when weak_count_ drops to zero.
-
- virtual void destroy() // nothrow
- {
- delete this;
- }
-
- virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
- virtual void * get_untyped_deleter() = 0;
-
- void add_ref_copy()
- {
- pthread_mutex_lock( &m_ );
- ++use_count_;
- pthread_mutex_unlock( &m_ );
- }
-
- bool add_ref_lock() // true on success
- {
- pthread_mutex_lock( &m_ );
- bool r = use_count_ == 0? false: ( ++use_count_, true );
- pthread_mutex_unlock( &m_ );
- return r;
- }
-
- void release() // nothrow
- {
- pthread_mutex_lock( &m_ );
- long new_use_count = --use_count_;
- pthread_mutex_unlock( &m_ );
-
- if( new_use_count == 0 )
- {
- dispose();
- weak_release();
- }
- }
-
- void weak_add_ref() // nothrow
- {
- pthread_mutex_lock( &m_ );
- ++weak_count_;
- pthread_mutex_unlock( &m_ );
- }
-
- void weak_release() // nothrow
- {
- pthread_mutex_lock( &m_ );
- long new_weak_count = --weak_count_;
- pthread_mutex_unlock( &m_ );
-
- if( new_weak_count == 0 )
- {
- destroy();
- }
- }
-
- long use_count() const // nothrow
- {
- pthread_mutex_lock( &m_ );
- long r = use_count_;
- pthread_mutex_unlock( &m_ );
-
- return r;
- }
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_PT_HPP_INCLUDED
diff --git a/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp b/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp
deleted file mode 100644
index 56ed79f..0000000
--- a/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp
+++ /dev/null
@@ -1,162 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SNC_PS3_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SNC_PS3_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-// detail/sp_counted_base_gcc_sparc.hpp - g++ on Sparc V8+
-//
-// Copyright (c) 2006 Piotr Wyderski
-// Copyright (c) 2006 Tomas Puverle
-// Copyright (c) 2006 Peter Dimov
-// Copyright (c) 2011 Emil Dotchevski
-//
-// Distributed under the 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 Michael van der Westhuizen
-
-#include <boost/detail/sp_typeinfo.hpp>
-#include <inttypes.h> // uint32_t
-
-namespace boost
-{
-
-namespace detail
-{
-
-inline uint32_t compare_and_swap( uint32_t * dest_, uint32_t compare_, uint32_t swap_ )
-{
- return __builtin_cellAtomicCompareAndSwap32(dest_,compare_,swap_);
-}
-
-inline uint32_t atomic_fetch_and_add( uint32_t * pw, uint32_t dv )
-{
- // long r = *pw;
- // *pw += dv;
- // return r;
-
- for( ;; )
- {
- uint32_t r = *pw;
-
- if( __builtin_expect((compare_and_swap(pw, r, r + dv) == r), 1) )
- {
- return r;
- }
- }
-}
-
-inline void atomic_increment( uint32_t * pw )
-{
- (void) __builtin_cellAtomicIncr32( pw );
-}
-
-inline uint32_t atomic_decrement( uint32_t * pw )
-{
- return __builtin_cellAtomicDecr32( pw );
-}
-
-inline uint32_t atomic_conditional_increment( uint32_t * pw )
-{
- // long r = *pw;
- // if( r != 0 ) ++*pw;
- // return r;
-
- for( ;; )
- {
- uint32_t r = *pw;
-
- if( r == 0 )
- {
- return r;
- }
-
- if( __builtin_expect( ( compare_and_swap( pw, r, r + 1 ) == r ), 1 ) )
- {
- return r;
- }
- }
-}
-
-class sp_counted_base
-{
-private:
-
- sp_counted_base( sp_counted_base const & );
- sp_counted_base & operator= ( sp_counted_base const & );
-
- uint32_t use_count_; // #shared
- uint32_t weak_count_; // #weak + (#shared != 0)
-
-public:
-
- sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
- {
- }
-
- virtual ~sp_counted_base() // nothrow
- {
- }
-
- // dispose() is called when use_count_ drops to zero, to release
- // the resources managed by *this.
-
- virtual void dispose() = 0; // nothrow
-
- // destroy() is called when weak_count_ drops to zero.
-
- virtual void destroy() // nothrow
- {
- delete this;
- }
-
- virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
- virtual void * get_untyped_deleter() = 0;
-
- void add_ref_copy()
- {
- atomic_increment( &use_count_ );
- }
-
- bool add_ref_lock() // true on success
- {
- return atomic_conditional_increment( &use_count_ ) != 0;
- }
-
- void release() // nothrow
- {
- if( atomic_decrement( &use_count_ ) == 1 )
- {
- dispose();
- weak_release();
- }
- }
-
- void weak_add_ref() // nothrow
- {
- atomic_increment( &weak_count_ );
- }
-
- void weak_release() // nothrow
- {
- if( atomic_decrement( &weak_count_ ) == 1 )
- {
- destroy();
- }
- }
-
- long use_count() const // nothrow
- {
- return const_cast< uint32_t const volatile & >( use_count_ );
- }
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SNC_PS3_HPP_INCLUDED
diff --git a/boost/smart_ptr/detail/sp_counted_base_spin.hpp b/boost/smart_ptr/detail/sp_counted_base_spin.hpp
deleted file mode 100644
index 77734e7..0000000
--- a/boost/smart_ptr/detail/sp_counted_base_spin.hpp
+++ /dev/null
@@ -1,132 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SPIN_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SPIN_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// detail/sp_counted_base_spin.hpp - spinlock pool atomic emulation
-//
-// Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
-// Copyright 2004-2008 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/detail/sp_typeinfo.hpp>
-#include <boost/smart_ptr/detail/spinlock_pool.hpp>
-
-namespace boost
-{
-
-namespace detail
-{
-
-inline int atomic_exchange_and_add( int * pw, int dv )
-{
- spinlock_pool<1>::scoped_lock lock( pw );
-
- int r = *pw;
- *pw += dv;
- return r;
-}
-
-inline void atomic_increment( int * pw )
-{
- spinlock_pool<1>::scoped_lock lock( pw );
- ++*pw;
-}
-
-inline int atomic_conditional_increment( int * pw )
-{
- spinlock_pool<1>::scoped_lock lock( pw );
-
- int rv = *pw;
- if( rv != 0 ) ++*pw;
- return rv;
-}
-
-class sp_counted_base
-{
-private:
-
- sp_counted_base( sp_counted_base const & );
- sp_counted_base & operator= ( sp_counted_base const & );
-
- int use_count_; // #shared
- int weak_count_; // #weak + (#shared != 0)
-
-public:
-
- sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
- {
- }
-
- virtual ~sp_counted_base() // nothrow
- {
- }
-
- // dispose() is called when use_count_ drops to zero, to release
- // the resources managed by *this.
-
- virtual void dispose() = 0; // nothrow
-
- // destroy() is called when weak_count_ drops to zero.
-
- virtual void destroy() // nothrow
- {
- delete this;
- }
-
- virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
- virtual void * get_untyped_deleter() = 0;
-
- void add_ref_copy()
- {
- atomic_increment( &use_count_ );
- }
-
- bool add_ref_lock() // true on success
- {
- return atomic_conditional_increment( &use_count_ ) != 0;
- }
-
- void release() // nothrow
- {
- if( atomic_exchange_and_add( &use_count_, -1 ) == 1 )
- {
- dispose();
- weak_release();
- }
- }
-
- void weak_add_ref() // nothrow
- {
- atomic_increment( &weak_count_ );
- }
-
- void weak_release() // nothrow
- {
- if( atomic_exchange_and_add( &weak_count_, -1 ) == 1 )
- {
- destroy();
- }
- }
-
- long use_count() const // nothrow
- {
- spinlock_pool<1>::scoped_lock lock( &use_count_ );
- return use_count_;
- }
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SPIN_HPP_INCLUDED
diff --git a/boost/smart_ptr/detail/sp_counted_base_sync.hpp b/boost/smart_ptr/detail/sp_counted_base_sync.hpp
deleted file mode 100644
index fafed0e..0000000
--- a/boost/smart_ptr/detail/sp_counted_base_sync.hpp
+++ /dev/null
@@ -1,156 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SYNC_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SYNC_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-// detail/sp_counted_base_sync.hpp - g++ 4.1+ __sync intrinsics
-//
-// Copyright (c) 2007 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 <boost/detail/sp_typeinfo.hpp>
-#include <limits.h>
-
-#if defined( __ia64__ ) && defined( __INTEL_COMPILER )
-# include <ia64intrin.h>
-#endif
-
-namespace boost
-{
-
-namespace detail
-{
-
-#if INT_MAX >= 2147483647
-
-typedef int sp_int32_t;
-
-#else
-
-typedef long sp_int32_t;
-
-#endif
-
-inline void atomic_increment( sp_int32_t * pw )
-{
- __sync_fetch_and_add( pw, 1 );
-}
-
-inline sp_int32_t atomic_decrement( sp_int32_t * pw )
-{
- return __sync_fetch_and_add( pw, -1 );
-}
-
-inline sp_int32_t atomic_conditional_increment( sp_int32_t * pw )
-{
- // long r = *pw;
- // if( r != 0 ) ++*pw;
- // return r;
-
- sp_int32_t r = *pw;
-
- for( ;; )
- {
- if( r == 0 )
- {
- return r;
- }
-
- sp_int32_t r2 = __sync_val_compare_and_swap( pw, r, r + 1 );
-
- if( r2 == r )
- {
- return r;
- }
- else
- {
- r = r2;
- }
- }
-}
-
-class sp_counted_base
-{
-private:
-
- sp_counted_base( sp_counted_base const & );
- sp_counted_base & operator= ( sp_counted_base const & );
-
- sp_int32_t use_count_; // #shared
- sp_int32_t weak_count_; // #weak + (#shared != 0)
-
-public:
-
- sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
- {
- }
-
- virtual ~sp_counted_base() // nothrow
- {
- }
-
- // dispose() is called when use_count_ drops to zero, to release
- // the resources managed by *this.
-
- virtual void dispose() = 0; // nothrow
-
- // destroy() is called when weak_count_ drops to zero.
-
- virtual void destroy() // nothrow
- {
- delete this;
- }
-
- virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
- virtual void * get_untyped_deleter() = 0;
-
- void add_ref_copy()
- {
- atomic_increment( &use_count_ );
- }
-
- bool add_ref_lock() // true on success
- {
- return atomic_conditional_increment( &use_count_ ) != 0;
- }
-
- void release() // nothrow
- {
- if( atomic_decrement( &use_count_ ) == 1 )
- {
- dispose();
- weak_release();
- }
- }
-
- void weak_add_ref() // nothrow
- {
- atomic_increment( &weak_count_ );
- }
-
- void weak_release() // nothrow
- {
- if( atomic_decrement( &weak_count_ ) == 1 )
- {
- destroy();
- }
- }
-
- long use_count() const // nothrow
- {
- return const_cast< sp_int32_t const volatile & >( use_count_ );
- }
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SYNC_HPP_INCLUDED
diff --git a/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp b/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp
deleted file mode 100644
index 162f309..0000000
--- a/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp
+++ /dev/null
@@ -1,151 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_VACPP_PPC_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_VACPP_PPC_HPP_INCLUDED
-
-//
-// detail/sp_counted_base_vacpp_ppc.hpp - xlC(vacpp) on POWER
-// based on: detail/sp_counted_base_w32.hpp
-//
-// Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
-// Copyright 2004-2005 Peter Dimov
-// Copyright 2006 Michael van der Westhuizen
-// Copyright 2012 IBM Corp.
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-//
-// Lock-free algorithm by Alexander Terekhov
-//
-// Thanks to Ben Hitchings for the #weak + (#shared != 0)
-// formulation
-//
-
-#include <boost/detail/sp_typeinfo.hpp>
-
-extern "builtin" void __lwsync(void);
-extern "builtin" void __isync(void);
-extern "builtin" int __fetch_and_add(volatile int* addr, int val);
-extern "builtin" int __compare_and_swap(volatile int*, int*, int);
-
-namespace boost
-{
-
-namespace detail
-{
-
-inline void atomic_increment( int *pw )
-{
- // ++*pw;
- __lwsync();
- __fetch_and_add(pw, 1);
- __isync();
-}
-
-inline int atomic_decrement( int *pw )
-{
- // return --*pw;
- __lwsync();
- int originalValue = __fetch_and_add(pw, -1);
- __isync();
-
- return (originalValue - 1);
-}
-
-inline int atomic_conditional_increment( int *pw )
-{
- // if( *pw != 0 ) ++*pw;
- // return *pw;
-
- __lwsync();
- int v = *const_cast<volatile int*>(pw);
- for (;;)
- // loop until state is known
- {
- if (v == 0) return 0;
- if (__compare_and_swap(pw, &v, v + 1))
- {
- __isync(); return (v + 1);
- }
- }
-}
-
-class sp_counted_base
-{
-private:
-
- sp_counted_base( sp_counted_base const & );
- sp_counted_base & operator= ( sp_counted_base const & );
-
- int use_count_; // #shared
- int weak_count_; // #weak + (#shared != 0)
- char pad[64] __attribute__((__aligned__(64)));
- // pad to prevent false sharing
-public:
-
- sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
- {
- }
-
- virtual ~sp_counted_base() // nothrow
- {
- }
-
- // dispose() is called when use_count_ drops to zero, to release
- // the resources managed by *this.
-
- virtual void dispose() = 0; // nothrow
-
- // destroy() is called when weak_count_ drops to zero.
-
- virtual void destroy() // nothrow
- {
- delete this;
- }
-
- virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
- virtual void * get_untyped_deleter() = 0;
-
- void add_ref_copy()
- {
- atomic_increment( &use_count_ );
- }
-
- bool add_ref_lock() // true on success
- {
- return atomic_conditional_increment( &use_count_ ) != 0;
- }
-
- void release() // nothrow
- {
- if( atomic_decrement( &use_count_ ) == 0 )
- {
- dispose();
- weak_release();
- }
- }
-
- void weak_add_ref() // nothrow
- {
- atomic_increment( &weak_count_ );
- }
-
- void weak_release() // nothrow
- {
- if( atomic_decrement( &weak_count_ ) == 0 )
- {
- destroy();
- }
- }
-
- long use_count() const // nothrow
- {
- return *const_cast<volatile int*>(&use_count_);
- }
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_VACPP_PPC_HPP_INCLUDED
diff --git a/boost/smart_ptr/detail/sp_counted_base_w32.hpp b/boost/smart_ptr/detail/sp_counted_base_w32.hpp
deleted file mode 100644
index ff394dc..0000000
--- a/boost/smart_ptr/detail/sp_counted_base_w32.hpp
+++ /dev/null
@@ -1,131 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_W32_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_W32_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// detail/sp_counted_base_w32.hpp
-//
-// Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
-// Copyright 2004-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)
-//
-//
-// Lock-free algorithm by Alexander Terekhov
-//
-// Thanks to Ben Hitchings for the #weak + (#shared != 0)
-// formulation
-//
-
-#include <boost/detail/interlocked.hpp>
-#include <boost/detail/workaround.hpp>
-#include <boost/detail/sp_typeinfo.hpp>
-
-namespace boost
-{
-
-namespace detail
-{
-
-class sp_counted_base
-{
-private:
-
- sp_counted_base( sp_counted_base const & );
- sp_counted_base & operator= ( sp_counted_base const & );
-
- long use_count_; // #shared
- long weak_count_; // #weak + (#shared != 0)
-
-public:
-
- sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
- {
- }
-
- virtual ~sp_counted_base() // nothrow
- {
- }
-
- // dispose() is called when use_count_ drops to zero, to release
- // the resources managed by *this.
-
- virtual void dispose() = 0; // nothrow
-
- // destroy() is called when weak_count_ drops to zero.
-
- virtual void destroy() // nothrow
- {
- delete this;
- }
-
- virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
- virtual void * get_untyped_deleter() = 0;
-
- void add_ref_copy()
- {
- BOOST_INTERLOCKED_INCREMENT( &use_count_ );
- }
-
- bool add_ref_lock() // true on success
- {
- for( ;; )
- {
- long tmp = static_cast< long const volatile& >( use_count_ );
- if( tmp == 0 ) return false;
-
-#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, == 1200 )
-
- // work around a code generation bug
-
- long tmp2 = tmp + 1;
- if( BOOST_INTERLOCKED_COMPARE_EXCHANGE( &use_count_, tmp2, tmp ) == tmp2 - 1 ) return true;
-
-#else
-
- if( BOOST_INTERLOCKED_COMPARE_EXCHANGE( &use_count_, tmp + 1, tmp ) == tmp ) return true;
-
-#endif
- }
- }
-
- void release() // nothrow
- {
- if( BOOST_INTERLOCKED_DECREMENT( &use_count_ ) == 0 )
- {
- dispose();
- weak_release();
- }
- }
-
- void weak_add_ref() // nothrow
- {
- BOOST_INTERLOCKED_INCREMENT( &weak_count_ );
- }
-
- void weak_release() // nothrow
- {
- if( BOOST_INTERLOCKED_DECREMENT( &weak_count_ ) == 0 )
- {
- destroy();
- }
- }
-
- long use_count() const // nothrow
- {
- return static_cast<long const volatile &>( use_count_ );
- }
-};
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_W32_HPP_INCLUDED
diff --git a/boost/smart_ptr/detail/sp_counted_impl.hpp b/boost/smart_ptr/detail/sp_counted_impl.hpp
deleted file mode 100644
index d15cd3c..0000000
--- a/boost/smart_ptr/detail/sp_counted_impl.hpp
+++ /dev/null
@@ -1,254 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_IMPL_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_IMPL_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// detail/sp_counted_impl.hpp
-//
-// Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
-// Copyright 2004-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 <boost/config.hpp>
-
-#if defined(BOOST_SP_USE_STD_ALLOCATOR) && defined(BOOST_SP_USE_QUICK_ALLOCATOR)
-# error BOOST_SP_USE_STD_ALLOCATOR and BOOST_SP_USE_QUICK_ALLOCATOR are incompatible.
-#endif
-
-#include <boost/checked_delete.hpp>
-#include <boost/smart_ptr/detail/sp_counted_base.hpp>
-
-#if defined(BOOST_SP_USE_QUICK_ALLOCATOR)
-#include <boost/smart_ptr/detail/quick_allocator.hpp>
-#endif
-
-#if defined(BOOST_SP_USE_STD_ALLOCATOR)
-#include <memory> // std::allocator
-#endif
-
-#include <cstddef> // std::size_t
-
-namespace boost
-{
-
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
-
-void sp_scalar_constructor_hook( void * px, std::size_t size, void * pn );
-void sp_scalar_destructor_hook( void * px, std::size_t size, void * pn );
-
-#endif
-
-namespace detail
-{
-
-template<class X> class sp_counted_impl_p: public sp_counted_base
-{
-private:
-
- X * px_;
-
- sp_counted_impl_p( sp_counted_impl_p const & );
- sp_counted_impl_p & operator= ( sp_counted_impl_p const & );
-
- typedef sp_counted_impl_p<X> this_type;
-
-public:
-
- explicit sp_counted_impl_p( X * px ): px_( px )
- {
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
- boost::sp_scalar_constructor_hook( px, sizeof(X), this );
-#endif
- }
-
- virtual void dispose() // nothrow
- {
-#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS)
- boost::sp_scalar_destructor_hook( px_, sizeof(X), this );
-#endif
- boost::checked_delete( px_ );
- }
-
- virtual void * get_deleter( detail::sp_typeinfo const & )
- {
- return 0;
- }
-
- virtual void * get_untyped_deleter()
- {
- return 0;
- }
-
-#if defined(BOOST_SP_USE_STD_ALLOCATOR)
-
- void * operator new( std::size_t )
- {
- return std::allocator<this_type>().allocate( 1, static_cast<this_type *>(0) );
- }
-
- void operator delete( void * p )
- {
- std::allocator<this_type>().deallocate( static_cast<this_type *>(p), 1 );
- }
-
-#endif
-
-#if defined(BOOST_SP_USE_QUICK_ALLOCATOR)
-
- void * operator new( std::size_t )
- {
- return quick_allocator<this_type>::alloc();
- }
-
- void operator delete( void * p )
- {
- quick_allocator<this_type>::dealloc( p );
- }
-
-#endif
-};
-
-//
-// Borland's Codeguard trips up over the -Vx- option here:
-//
-#ifdef __CODEGUARD__
-# pragma option push -Vx-
-#endif
-
-template<class P, class D> class sp_counted_impl_pd: public sp_counted_base
-{
-private:
-
- P ptr; // copy constructor must not throw
- D del; // copy constructor must not throw
-
- sp_counted_impl_pd( sp_counted_impl_pd const & );
- sp_counted_impl_pd & operator= ( sp_counted_impl_pd const & );
-
- typedef sp_counted_impl_pd<P, D> this_type;
-
-public:
-
- // pre: d(p) must not throw
-
- sp_counted_impl_pd( P p, D & d ): ptr( p ), del( d )
- {
- }
-
- sp_counted_impl_pd( P p ): ptr( p ), del()
- {
- }
-
- virtual void dispose() // nothrow
- {
- del( ptr );
- }
-
- virtual void * get_deleter( detail::sp_typeinfo const & ti )
- {
- return ti == BOOST_SP_TYPEID(D)? &reinterpret_cast<char&>( del ): 0;
- }
-
- virtual void * get_untyped_deleter()
- {
- return &reinterpret_cast<char&>( del );
- }
-
-#if defined(BOOST_SP_USE_STD_ALLOCATOR)
-
- void * operator new( std::size_t )
- {
- return std::allocator<this_type>().allocate( 1, static_cast<this_type *>(0) );
- }
-
- void operator delete( void * p )
- {
- std::allocator<this_type>().deallocate( static_cast<this_type *>(p), 1 );
- }
-
-#endif
-
-#if defined(BOOST_SP_USE_QUICK_ALLOCATOR)
-
- void * operator new( std::size_t )
- {
- return quick_allocator<this_type>::alloc();
- }
-
- void operator delete( void * p )
- {
- quick_allocator<this_type>::dealloc( p );
- }
-
-#endif
-};
-
-template<class P, class D, class A> class sp_counted_impl_pda: public sp_counted_base
-{
-private:
-
- P p_; // copy constructor must not throw
- D d_; // copy constructor must not throw
- A a_; // copy constructor must not throw
-
- sp_counted_impl_pda( sp_counted_impl_pda const & );
- sp_counted_impl_pda & operator= ( sp_counted_impl_pda const & );
-
- typedef sp_counted_impl_pda<P, D, A> this_type;
-
-public:
-
- // pre: d( p ) must not throw
-
- sp_counted_impl_pda( P p, D & d, A a ): p_( p ), d_( d ), a_( a )
- {
- }
-
- sp_counted_impl_pda( P p, A a ): p_( p ), d_(), a_( a )
- {
- }
-
- virtual void dispose() // nothrow
- {
- d_( p_ );
- }
-
- virtual void destroy() // nothrow
- {
- typedef typename A::template rebind< this_type >::other A2;
-
- A2 a2( a_ );
-
- this->~this_type();
- a2.deallocate( this, 1 );
- }
-
- virtual void * get_deleter( detail::sp_typeinfo const & ti )
- {
- return ti == BOOST_SP_TYPEID( D )? &reinterpret_cast<char&>( d_ ): 0;
- }
-
- virtual void * get_untyped_deleter()
- {
- return &reinterpret_cast<char&>( d_ );
- }
-};
-
-#ifdef __CODEGUARD__
-# pragma option pop
-#endif
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_IMPL_HPP_INCLUDED
diff --git a/boost/smart_ptr/detail/sp_has_sync.hpp b/boost/smart_ptr/detail/sp_has_sync.hpp
deleted file mode 100644
index 16de21d..0000000
--- a/boost/smart_ptr/detail/sp_has_sync.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_HAS_SYNC_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_HAS_SYNC_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// boost/smart_ptr/detail/sp_has_sync.hpp
-//
-// Copyright (c) 2008, 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)
-//
-// Defines the BOOST_SP_HAS_SYNC macro if the __sync_* intrinsics
-// are available.
-//
-
-#ifndef BOOST_SP_NO_SYNC
-
-#if defined( __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 )
-
-# define BOOST_SP_HAS_SYNC
-
-#elif defined( __IBMCPP__ ) && ( __IBMCPP__ >= 1210 )
-
-# define BOOST_SP_HAS_SYNC
-
-#elif defined( __GNUC__ ) && ( __GNUC__ * 100 + __GNUC_MINOR__ >= 401 )
-
-#define BOOST_SP_HAS_SYNC
-
-#if defined( __arm__ ) || defined( __armel__ )
-#undef BOOST_SP_HAS_SYNC
-#endif
-
-#if defined( __hppa ) || defined( __hppa__ )
-#undef BOOST_SP_HAS_SYNC
-#endif
-
-#if defined( __m68k__ )
-#undef BOOST_SP_HAS_SYNC
-#endif
-
-#if defined( __sh__ )
-#undef BOOST_SP_HAS_SYNC
-#endif
-
-#if defined( __sparc__ )
-#undef BOOST_SP_HAS_SYNC
-#endif
-
-#if defined( __INTEL_COMPILER ) && !defined( __ia64__ ) && ( __INTEL_COMPILER < 1110 )
-#undef BOOST_SP_HAS_SYNC
-#endif
-
-#if defined(__PATHSCALE__) && ((__PATHCC__ == 4) && (__PATHCC_MINOR__ < 9))
-#undef BOOST_SP_HAS_SYNC
-#endif
-
-#endif
-
-#endif // #ifndef BOOST_SP_NO_SYNC
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_HAS_SYNC_HPP_INCLUDED
diff --git a/boost/smart_ptr/detail/sp_nullptr_t.hpp b/boost/smart_ptr/detail/sp_nullptr_t.hpp
deleted file mode 100644
index ccbb123..0000000
--- a/boost/smart_ptr/detail/sp_nullptr_t.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SP_NULLPTR_T_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SP_NULLPTR_T_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-// detail/sp_nullptr_t.hpp
-//
-// Copyright 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
-
-#include <boost/config.hpp>
-#include <cstddef>
-
-#if !defined( BOOST_NO_CXX11_NULLPTR )
-
-namespace boost
-{
-
-namespace detail
-{
-
-#if defined( __clang__ ) && !defined( _LIBCPP_VERSION ) && !defined( BOOST_NO_CXX11_DECLTYPE )
-
- typedef decltype(nullptr) sp_nullptr_t;
-
-#else
-
- typedef std::nullptr_t sp_nullptr_t;
-
-#endif
-
-} // namespace detail
-
-} // namespace boost
-
-#endif // !defined( BOOST_NO_CXX11_NULLPTR )
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_NULLPTR_T_HPP_INCLUDED
diff --git a/boost/smart_ptr/detail/spinlock.hpp b/boost/smart_ptr/detail/spinlock.hpp
deleted file mode 100644
index 88d7ad6..0000000
--- a/boost/smart_ptr/detail/spinlock.hpp
+++ /dev/null
@@ -1,56 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SPINLOCK_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// boost/detail/spinlock.hpp
-//
-// Copyright (c) 2008 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0.
-// See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// struct spinlock
-// {
-// void lock();
-// bool try_lock();
-// void unlock();
-//
-// class scoped_lock;
-// };
-//
-// #define BOOST_DETAIL_SPINLOCK_INIT <unspecified>
-//
-
-#include <boost/config.hpp>
-#include <boost/smart_ptr/detail/sp_has_sync.hpp>
-
-#if defined( BOOST_SP_USE_PTHREADS )
-# include <boost/smart_ptr/detail/spinlock_pt.hpp>
-
-#elif defined(__GNUC__) && defined( __arm__ ) && !defined( __thumb__ )
-# include <boost/smart_ptr/detail/spinlock_gcc_arm.hpp>
-
-#elif defined( BOOST_SP_HAS_SYNC )
-# include <boost/smart_ptr/detail/spinlock_sync.hpp>
-
-#elif defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
-# include <boost/smart_ptr/detail/spinlock_w32.hpp>
-
-#elif defined(BOOST_HAS_PTHREADS)
-# include <boost/smart_ptr/detail/spinlock_pt.hpp>
-
-#elif !defined(BOOST_HAS_THREADS)
-# include <boost/smart_ptr/detail/spinlock_nt.hpp>
-
-#else
-# error Unrecognized threading platform
-#endif
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_HPP_INCLUDED
diff --git a/boost/smart_ptr/detail/spinlock_gcc_arm.hpp b/boost/smart_ptr/detail/spinlock_gcc_arm.hpp
deleted file mode 100644
index 016796a..0000000
--- a/boost/smart_ptr/detail/spinlock_gcc_arm.hpp
+++ /dev/null
@@ -1,120 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_GCC_ARM_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SPINLOCK_GCC_ARM_HPP_INCLUDED
-
-//
-// Copyright (c) 2008, 2011 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 <boost/smart_ptr/detail/yield_k.hpp>
-
-#if defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) || defined(__ARM_ARCH_7EM__) || defined(__ARM_ARCH_7S__)
-
-# define BOOST_SP_ARM_BARRIER "dmb"
-# define BOOST_SP_ARM_HAS_LDREX
-
-#elif defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6Z__) || defined(__ARM_ARCH_6ZK__) || defined(__ARM_ARCH_6T2__)
-
-# define BOOST_SP_ARM_BARRIER "mcr p15, 0, r0, c7, c10, 5"
-# define BOOST_SP_ARM_HAS_LDREX
-
-#else
-
-# define BOOST_SP_ARM_BARRIER ""
-
-#endif
-
-namespace boost
-{
-
-namespace detail
-{
-
-class spinlock
-{
-public:
-
- int v_;
-
-public:
-
- bool try_lock()
- {
- int r;
-
-#ifdef BOOST_SP_ARM_HAS_LDREX
-
- __asm__ __volatile__(
- "ldrex %0, [%2]; \n"
- "cmp %0, %1; \n"
- "strexne %0, %1, [%2]; \n"
- BOOST_SP_ARM_BARRIER :
- "=&r"( r ): // outputs
- "r"( 1 ), "r"( &v_ ): // inputs
- "memory", "cc" );
-
-#else
-
- __asm__ __volatile__(
- "swp %0, %1, [%2];\n"
- BOOST_SP_ARM_BARRIER :
- "=&r"( r ): // outputs
- "r"( 1 ), "r"( &v_ ): // inputs
- "memory", "cc" );
-
-#endif
-
- return r == 0;
- }
-
- void lock()
- {
- for( unsigned k = 0; !try_lock(); ++k )
- {
- boost::detail::yield( k );
- }
- }
-
- void unlock()
- {
- __asm__ __volatile__( BOOST_SP_ARM_BARRIER ::: "memory" );
- *const_cast< int volatile* >( &v_ ) = 0;
- }
-
-public:
-
- class scoped_lock
- {
- private:
-
- spinlock & sp_;
-
- scoped_lock( scoped_lock const & );
- scoped_lock & operator=( scoped_lock const & );
-
- public:
-
- explicit scoped_lock( spinlock & sp ): sp_( sp )
- {
- sp.lock();
- }
-
- ~scoped_lock()
- {
- sp_.unlock();
- }
- };
-};
-
-} // namespace detail
-} // namespace boost
-
-#define BOOST_DETAIL_SPINLOCK_INIT {0}
-
-#undef BOOST_SP_ARM_BARRIER
-#undef BOOST_SP_ARM_HAS_LDREX
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_GCC_ARM_HPP_INCLUDED
diff --git a/boost/smart_ptr/detail/spinlock_nt.hpp b/boost/smart_ptr/detail/spinlock_nt.hpp
deleted file mode 100644
index 1f399d0..0000000
--- a/boost/smart_ptr/detail/spinlock_nt.hpp
+++ /dev/null
@@ -1,89 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_NT_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SPINLOCK_NT_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// Copyright (c) 2008 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0.
-// See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/assert.hpp>
-
-namespace boost
-{
-
-namespace detail
-{
-
-class spinlock
-{
-public:
-
- bool locked_;
-
-public:
-
- inline bool try_lock()
- {
- if( locked_ )
- {
- return false;
- }
- else
- {
- locked_ = true;
- return true;
- }
- }
-
- inline void lock()
- {
- BOOST_ASSERT( !locked_ );
- locked_ = true;
- }
-
- inline void unlock()
- {
- BOOST_ASSERT( locked_ );
- locked_ = false;
- }
-
-public:
-
- class scoped_lock
- {
- private:
-
- spinlock & sp_;
-
- scoped_lock( scoped_lock const & );
- scoped_lock & operator=( scoped_lock const & );
-
- public:
-
- explicit scoped_lock( spinlock & sp ): sp_( sp )
- {
- sp.lock();
- }
-
- ~scoped_lock()
- {
- sp_.unlock();
- }
- };
-};
-
-} // namespace detail
-} // namespace boost
-
-#define BOOST_DETAIL_SPINLOCK_INIT { false }
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_NT_HPP_INCLUDED
diff --git a/boost/smart_ptr/detail/spinlock_pool.hpp b/boost/smart_ptr/detail/spinlock_pool.hpp
deleted file mode 100644
index f09d5c6..0000000
--- a/boost/smart_ptr/detail/spinlock_pool.hpp
+++ /dev/null
@@ -1,91 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_POOL_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SPINLOCK_POOL_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// boost/detail/spinlock_pool.hpp
-//
-// Copyright (c) 2008 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0.
-// See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// spinlock_pool<0> is reserved for atomic<>, when/if it arrives
-// spinlock_pool<1> is reserved for shared_ptr reference counts
-// spinlock_pool<2> is reserved for shared_ptr atomic access
-//
-
-#include <boost/config.hpp>
-#include <boost/smart_ptr/detail/spinlock.hpp>
-#include <cstddef>
-
-namespace boost
-{
-
-namespace detail
-{
-
-template< int I > class spinlock_pool
-{
-private:
-
- static spinlock pool_[ 41 ];
-
-public:
-
- static spinlock & spinlock_for( void const * pv )
- {
-#if defined(__VMS) && __INITIAL_POINTER_SIZE == 64
- std::size_t i = reinterpret_cast< unsigned long long >( pv ) % 41;
-#else
- std::size_t i = reinterpret_cast< std::size_t >( pv ) % 41;
-#endif
- return pool_[ i ];
- }
-
- class scoped_lock
- {
- private:
-
- spinlock & sp_;
-
- scoped_lock( scoped_lock const & );
- scoped_lock & operator=( scoped_lock const & );
-
- public:
-
- explicit scoped_lock( void const * pv ): sp_( spinlock_for( pv ) )
- {
- sp_.lock();
- }
-
- ~scoped_lock()
- {
- sp_.unlock();
- }
- };
-};
-
-template< int I > spinlock spinlock_pool< I >::pool_[ 41 ] =
-{
- BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT,
- BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT,
- BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT,
- BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT,
- BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT,
- BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT,
- BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT,
- BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT,
- BOOST_DETAIL_SPINLOCK_INIT
-};
-
-} // namespace detail
-} // namespace boost
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_POOL_HPP_INCLUDED
diff --git a/boost/smart_ptr/detail/spinlock_pt.hpp b/boost/smart_ptr/detail/spinlock_pt.hpp
deleted file mode 100644
index f9cabfc..0000000
--- a/boost/smart_ptr/detail/spinlock_pt.hpp
+++ /dev/null
@@ -1,79 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_PT_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SPINLOCK_PT_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// Copyright (c) 2008 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0.
-// See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <pthread.h>
-
-namespace boost
-{
-
-namespace detail
-{
-
-class spinlock
-{
-public:
-
- pthread_mutex_t v_;
-
-public:
-
- bool try_lock()
- {
- return pthread_mutex_trylock( &v_ ) == 0;
- }
-
- void lock()
- {
- pthread_mutex_lock( &v_ );
- }
-
- void unlock()
- {
- pthread_mutex_unlock( &v_ );
- }
-
-public:
-
- class scoped_lock
- {
- private:
-
- spinlock & sp_;
-
- scoped_lock( scoped_lock const & );
- scoped_lock & operator=( scoped_lock const & );
-
- public:
-
- explicit scoped_lock( spinlock & sp ): sp_( sp )
- {
- sp.lock();
- }
-
- ~scoped_lock()
- {
- sp_.unlock();
- }
- };
-};
-
-} // namespace detail
-} // namespace boost
-
-#define BOOST_DETAIL_SPINLOCK_INIT { PTHREAD_MUTEX_INITIALIZER }
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_PT_HPP_INCLUDED
diff --git a/boost/smart_ptr/detail/spinlock_sync.hpp b/boost/smart_ptr/detail/spinlock_sync.hpp
deleted file mode 100644
index a7145c5..0000000
--- a/boost/smart_ptr/detail/spinlock_sync.hpp
+++ /dev/null
@@ -1,87 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_SYNC_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SPINLOCK_SYNC_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// Copyright (c) 2008 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0.
-// See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/smart_ptr/detail/yield_k.hpp>
-
-#if defined( __ia64__ ) && defined( __INTEL_COMPILER )
-# include <ia64intrin.h>
-#endif
-
-namespace boost
-{
-
-namespace detail
-{
-
-class spinlock
-{
-public:
-
- int v_;
-
-public:
-
- bool try_lock()
- {
- int r = __sync_lock_test_and_set( &v_, 1 );
- return r == 0;
- }
-
- void lock()
- {
- for( unsigned k = 0; !try_lock(); ++k )
- {
- boost::detail::yield( k );
- }
- }
-
- void unlock()
- {
- __sync_lock_release( &v_ );
- }
-
-public:
-
- class scoped_lock
- {
- private:
-
- spinlock & sp_;
-
- scoped_lock( scoped_lock const & );
- scoped_lock & operator=( scoped_lock const & );
-
- public:
-
- explicit scoped_lock( spinlock & sp ): sp_( sp )
- {
- sp.lock();
- }
-
- ~scoped_lock()
- {
- sp_.unlock();
- }
- };
-};
-
-} // namespace detail
-} // namespace boost
-
-#define BOOST_DETAIL_SPINLOCK_INIT {0}
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_SYNC_HPP_INCLUDED
diff --git a/boost/smart_ptr/detail/spinlock_w32.hpp b/boost/smart_ptr/detail/spinlock_w32.hpp
deleted file mode 100644
index fb97629..0000000
--- a/boost/smart_ptr/detail/spinlock_w32.hpp
+++ /dev/null
@@ -1,113 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_W32_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_SPINLOCK_W32_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// Copyright (c) 2008 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0.
-// See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#include <boost/detail/interlocked.hpp>
-#include <boost/smart_ptr/detail/yield_k.hpp>
-
-// BOOST_COMPILER_FENCE
-
-#if defined(__INTEL_COMPILER)
-
-#define BOOST_COMPILER_FENCE __memory_barrier();
-
-#elif defined( _MSC_VER ) && _MSC_VER >= 1310
-
-extern "C" void _ReadWriteBarrier();
-#pragma intrinsic( _ReadWriteBarrier )
-
-#define BOOST_COMPILER_FENCE _ReadWriteBarrier();
-
-#elif defined(__GNUC__)
-
-#define BOOST_COMPILER_FENCE __asm__ __volatile__( "" : : : "memory" );
-
-#else
-
-#define BOOST_COMPILER_FENCE
-
-#endif
-
-//
-
-namespace boost
-{
-
-namespace detail
-{
-
-class spinlock
-{
-public:
-
- long v_;
-
-public:
-
- bool try_lock()
- {
- long r = BOOST_INTERLOCKED_EXCHANGE( &v_, 1 );
-
- BOOST_COMPILER_FENCE
-
- return r == 0;
- }
-
- void lock()
- {
- for( unsigned k = 0; !try_lock(); ++k )
- {
- boost::detail::yield( k );
- }
- }
-
- void unlock()
- {
- BOOST_COMPILER_FENCE
- *const_cast< long volatile* >( &v_ ) = 0;
- }
-
-public:
-
- class scoped_lock
- {
- private:
-
- spinlock & sp_;
-
- scoped_lock( scoped_lock const & );
- scoped_lock & operator=( scoped_lock const & );
-
- public:
-
- explicit scoped_lock( spinlock & sp ): sp_( sp )
- {
- sp.lock();
- }
-
- ~scoped_lock()
- {
- sp_.unlock();
- }
- };
-};
-
-} // namespace detail
-} // namespace boost
-
-#define BOOST_DETAIL_SPINLOCK_INIT {0}
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_W32_HPP_INCLUDED
diff --git a/boost/smart_ptr/detail/yield_k.hpp b/boost/smart_ptr/detail/yield_k.hpp
deleted file mode 100644
index 14af524..0000000
--- a/boost/smart_ptr/detail/yield_k.hpp
+++ /dev/null
@@ -1,148 +0,0 @@
-#ifndef BOOST_SMART_PTR_DETAIL_YIELD_K_HPP_INCLUDED
-#define BOOST_SMART_PTR_DETAIL_YIELD_K_HPP_INCLUDED
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// yield_k.hpp
-//
-// Copyright (c) 2008 Peter Dimov
-//
-// void yield( unsigned k );
-//
-// Typical use:
-//
-// for( unsigned k = 0; !try_lock(); ++k ) yield( k );
-//
-// Distributed under the Boost Software License, Version 1.0.
-// See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt
-//
-
-#include <boost/config.hpp>
-
-// BOOST_SMT_PAUSE
-
-#if defined(_MSC_VER) && _MSC_VER >= 1310 && ( defined(_M_IX86) || defined(_M_X64) )
-
-extern "C" void _mm_pause();
-
-#define BOOST_SMT_PAUSE _mm_pause();
-
-#elif defined(__GNUC__) && ( defined(__i386__) || defined(__x86_64__) )
-
-#define BOOST_SMT_PAUSE __asm__ __volatile__( "rep; nop" : : : "memory" );
-
-#endif
-
-//
-
-#if defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ ) || defined( __CYGWIN__ )
-
-#if defined( BOOST_USE_WINDOWS_H )
-# include <windows.h>
-#endif
-
-namespace boost
-{
-
-namespace detail
-{
-
-#if !defined( BOOST_USE_WINDOWS_H )
- extern "C" void __stdcall Sleep( unsigned long ms );
-#endif
-
-inline void yield( unsigned k )
-{
- if( k < 4 )
- {
- }
-#if defined( BOOST_SMT_PAUSE )
- else if( k < 16 )
- {
- BOOST_SMT_PAUSE
- }
-#endif
- else if( k < 32 )
- {
- Sleep( 0 );
- }
- else
- {
- Sleep( 1 );
- }
-}
-
-} // namespace detail
-
-} // namespace boost
-
-#elif defined( BOOST_HAS_PTHREADS )
-
-#include <sched.h>
-#include <time.h>
-
-namespace boost
-{
-
-namespace detail
-{
-
-inline void yield( unsigned k )
-{
- if( k < 4 )
- {
- }
-#if defined( BOOST_SMT_PAUSE )
- else if( k < 16 )
- {
- BOOST_SMT_PAUSE
- }
-#endif
- else if( k < 32 || k & 1 )
- {
- sched_yield();
- }
- else
- {
- // g++ -Wextra warns on {} or {0}
- struct timespec rqtp = { 0, 0 };
-
- // POSIX says that timespec has tv_sec and tv_nsec
- // But it doesn't guarantee order or placement
-
- rqtp.tv_sec = 0;
- rqtp.tv_nsec = 1000;
-
- nanosleep( &rqtp, 0 );
- }
-}
-
-} // namespace detail
-
-} // namespace boost
-
-#else
-
-namespace boost
-{
-
-namespace detail
-{
-
-inline void yield( unsigned )
-{
-}
-
-} // namespace detail
-
-} // namespace boost
-
-#endif
-
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_YIELD_K_HPP_INCLUDED
diff --git a/boost/smart_ptr/shared_ptr.hpp b/boost/smart_ptr/shared_ptr.hpp
deleted file mode 100644
index 9259ca0..0000000
--- a/boost/smart_ptr/shared_ptr.hpp
+++ /dev/null
@@ -1,1035 +0,0 @@
-#ifndef BOOST_SMART_PTR_SHARED_PTR_HPP_INCLUDED
-#define BOOST_SMART_PTR_SHARED_PTR_HPP_INCLUDED
-
-//
-// shared_ptr.hpp
-//
-// (C) Copyright Greg Colvin and Beman Dawes 1998, 1999.
-// Copyright (c) 2001-2008 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/smart_ptr/shared_ptr.htm for documentation.
-//
-
-#include <boost/config.hpp> // for broken compiler workarounds
-
-#if defined(BOOST_NO_MEMBER_TEMPLATES) && !defined(BOOST_MSVC6_MEMBER_TEMPLATES)
-#include <boost/smart_ptr/detail/shared_ptr_nmt.hpp>
-#else
-
-// In order to avoid circular dependencies with Boost.TR1
-// we make sure that our include of <memory> doesn't try to
-// pull in the TR1 headers: that's why we use this header
-// rather than including <memory> directly:
-#include <boost/config/no_tr1/memory.hpp> // std::auto_ptr
-
-#include <boost/assert.hpp>
-#include <boost/checked_delete.hpp>
-#include <boost/throw_exception.hpp>
-#include <boost/smart_ptr/detail/shared_count.hpp>
-#include <boost/detail/workaround.hpp>
-#include <boost/smart_ptr/detail/sp_convertible.hpp>
-#include <boost/smart_ptr/detail/sp_nullptr_t.hpp>
-
-#if !defined(BOOST_SP_NO_ATOMIC_ACCESS)
-#include <boost/smart_ptr/detail/spinlock_pool.hpp>
-#include <boost/memory_order.hpp>
-#endif
-
-#include <algorithm> // for std::swap
-#include <functional> // for std::less
-#include <typeinfo> // for std::bad_cast
-#include <cstddef> // for std::size_t
-
-#if !defined(BOOST_NO_IOSTREAM)
-#if !defined(BOOST_NO_IOSFWD)
-#include <iosfwd> // for std::basic_ostream
-#else
-#include <ostream>
-#endif
-#endif
-
-namespace boost
-{
-
-template<class T> class shared_ptr;
-template<class T> class weak_ptr;
-template<class T> class enable_shared_from_this;
-class enable_shared_from_raw;
-
-namespace detail
-{
-
-// sp_element, element_type
-
-template< class T > struct sp_element
-{
- typedef T type;
-};
-
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
-
-template< class T > struct sp_element< T[] >
-{
- typedef T type;
-};
-
-#if !defined( __BORLANDC__ ) || !BOOST_WORKAROUND( __BORLANDC__, < 0x600 )
-
-template< class T, std::size_t N > struct sp_element< T[N] >
-{
- typedef T type;
-};
-
-#endif
-
-#endif // !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
-
-// sp_dereference, return type of operator*
-
-template< class T > struct sp_dereference
-{
- typedef T & type;
-};
-
-template<> struct sp_dereference< void >
-{
- typedef void type;
-};
-
-#if !defined(BOOST_NO_CV_VOID_SPECIALIZATIONS)
-
-template<> struct sp_dereference< void const >
-{
- typedef void type;
-};
-
-template<> struct sp_dereference< void volatile >
-{
- typedef void type;
-};
-
-template<> struct sp_dereference< void const volatile >
-{
- typedef void type;
-};
-
-#endif // !defined(BOOST_NO_CV_VOID_SPECIALIZATIONS)
-
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
-
-template< class T > struct sp_dereference< T[] >
-{
- typedef void type;
-};
-
-#if !defined( __BORLANDC__ ) || !BOOST_WORKAROUND( __BORLANDC__, < 0x600 )
-
-template< class T, std::size_t N > struct sp_dereference< T[N] >
-{
- typedef void type;
-};
-
-#endif
-
-#endif // !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
-
-// sp_member_access, return type of operator->
-
-template< class T > struct sp_member_access
-{
- typedef T * type;
-};
-
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
-
-template< class T > struct sp_member_access< T[] >
-{
- typedef void type;
-};
-
-#if !defined( __BORLANDC__ ) || !BOOST_WORKAROUND( __BORLANDC__, < 0x600 )
-
-template< class T, std::size_t N > struct sp_member_access< T[N] >
-{
- typedef void type;
-};
-
-#endif
-
-#endif // !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
-
-// sp_array_access, return type of operator[]
-
-template< class T > struct sp_array_access
-{
- typedef void type;
-};
-
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
-
-template< class T > struct sp_array_access< T[] >
-{
- typedef T & type;
-};
-
-#if !defined( __BORLANDC__ ) || !BOOST_WORKAROUND( __BORLANDC__, < 0x600 )
-
-template< class T, std::size_t N > struct sp_array_access< T[N] >
-{
- typedef T & type;
-};
-
-#endif
-
-#endif // !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
-
-// sp_extent, for operator[] index check
-
-template< class T > struct sp_extent
-{
- enum _vt { value = 0 };
-};
-
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
-
-template< class T, std::size_t N > struct sp_extent< T[N] >
-{
- enum _vt { value = N };
-};
-
-#endif // !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
-
-// enable_shared_from_this support
-
-template< class X, class Y, class T > inline void sp_enable_shared_from_this( boost::shared_ptr<X> const * ppx, Y const * py, boost::enable_shared_from_this< T > const * pe )
-{
- if( pe != 0 )
- {
- pe->_internal_accept_owner( ppx, const_cast< Y* >( py ) );
- }
-}
-
-template< class X, class Y > inline void sp_enable_shared_from_this( boost::shared_ptr<X> * ppx, Y const * py, boost::enable_shared_from_raw const * pe );
-
-#ifdef _MANAGED
-
-// Avoid C4793, ... causes native code generation
-
-struct sp_any_pointer
-{
- template<class T> sp_any_pointer( T* ) {}
-};
-
-inline void sp_enable_shared_from_this( sp_any_pointer, sp_any_pointer, sp_any_pointer )
-{
-}
-
-#else // _MANAGED
-
-inline void sp_enable_shared_from_this( ... )
-{
-}
-
-#endif // _MANAGED
-
-#if !defined( BOOST_NO_SFINAE ) && !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) && !defined( BOOST_NO_AUTO_PTR )
-
-// rvalue auto_ptr support based on a technique by Dave Abrahams
-
-template< class T, class R > struct sp_enable_if_auto_ptr
-{
-};
-
-template< class T, class R > struct sp_enable_if_auto_ptr< std::auto_ptr< T >, R >
-{
- typedef R type;
-};
-
-#endif
-
-// sp_assert_convertible
-
-template< class Y, class T > inline void sp_assert_convertible()
-{
-#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )
-
- // static_assert( sp_convertible< Y, T >::value );
- typedef char tmp[ sp_convertible< Y, T >::value? 1: -1 ];
- (void)sizeof( tmp );
-
-#else
-
- T* p = static_cast< Y* >( 0 );
- (void)p;
-
-#endif
-}
-
-// pointer constructor helper
-
-template< class T, class Y > inline void sp_pointer_construct( boost::shared_ptr< T > * ppx, Y * p, boost::detail::shared_count & pn )
-{
- boost::detail::shared_count( p ).swap( pn );
- boost::detail::sp_enable_shared_from_this( ppx, p, p );
-}
-
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
-
-template< class T, class Y > inline void sp_pointer_construct( boost::shared_ptr< T[] > * /*ppx*/, Y * p, boost::detail::shared_count & pn )
-{
- sp_assert_convertible< Y[], T[] >();
- boost::detail::shared_count( p, boost::checked_array_deleter< T >() ).swap( pn );
-}
-
-template< class T, std::size_t N, class Y > inline void sp_pointer_construct( boost::shared_ptr< T[N] > * /*ppx*/, Y * p, boost::detail::shared_count & pn )
-{
- sp_assert_convertible< Y[N], T[N] >();
- boost::detail::shared_count( p, boost::checked_array_deleter< T >() ).swap( pn );
-}
-
-#endif // !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
-
-// deleter constructor helper
-
-template< class T, class Y > inline void sp_deleter_construct( boost::shared_ptr< T > * ppx, Y * p )
-{
- boost::detail::sp_enable_shared_from_this( ppx, p, p );
-}
-
-#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
-
-template< class T, class Y > inline void sp_deleter_construct( boost::shared_ptr< T[] > * /*ppx*/, Y * /*p*/ )
-{
- sp_assert_convertible< Y[], T[] >();
-}
-
-template< class T, std::size_t N, class Y > inline void sp_deleter_construct( boost::shared_ptr< T[N] > * /*ppx*/, Y * /*p*/ )
-{
- sp_assert_convertible< Y[N], T[N] >();
-}
-
-#endif // !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
-
-} // namespace detail
-
-
-//
-// shared_ptr
-//
-// An enhanced relative of scoped_ptr with reference counted copy semantics.
-// The object pointed to is deleted when the last shared_ptr pointing to it
-// is destroyed or reset.
-//
-
-template<class T> class shared_ptr
-{
-private:
-
- // Borland 5.5.1 specific workaround
- typedef shared_ptr<T> this_type;
-
-public:
-
- typedef typename boost::detail::sp_element< T >::type element_type;
-
- shared_ptr() BOOST_NOEXCEPT : px( 0 ), pn() // never throws in 1.30+
- {
- }
-
-#if !defined( BOOST_NO_CXX11_NULLPTR )
-
- shared_ptr( boost::detail::sp_nullptr_t ) BOOST_NOEXCEPT : px( 0 ), pn() // never throws
- {
- }
-
-#endif
-
- template<class Y>
- explicit shared_ptr( Y * p ): px( p ), pn() // Y must be complete
- {
- boost::detail::sp_pointer_construct( this, p, pn );
- }
-
- //
- // Requirements: D's copy constructor must not throw
- //
- // shared_ptr will release p by calling d(p)
- //
-
- template<class Y, class D> shared_ptr( Y * p, D d ): px( p ), pn( p, d )
- {
- boost::detail::sp_deleter_construct( this, p );
- }
-
-#if !defined( BOOST_NO_CXX11_NULLPTR )
-
- template<class D> shared_ptr( boost::detail::sp_nullptr_t p, D d ): px( p ), pn( p, d )
- {
- }
-
-#endif
-
- // As above, but with allocator. A's copy constructor shall not throw.
-
- template<class Y, class D, class A> shared_ptr( Y * p, D d, A a ): px( p ), pn( p, d, a )
- {
- boost::detail::sp_deleter_construct( this, p );
- }
-
-#if !defined( BOOST_NO_CXX11_NULLPTR )
-
- template<class D, class A> shared_ptr( boost::detail::sp_nullptr_t p, D d, A a ): px( p ), pn( p, d, a )
- {
- }
-
-#endif
-
-// generated copy constructor, destructor are fine...
-
-#if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
-
-// ... except in C++0x, move disables the implicit copy
-
- shared_ptr( shared_ptr const & r ) BOOST_NOEXCEPT : px( r.px ), pn( r.pn )
- {
- }
-
-#endif
-
- template<class Y>
- explicit shared_ptr( weak_ptr<Y> const & r ): pn( r.pn ) // may throw
- {
- boost::detail::sp_assert_convertible< Y, T >();
-
- // it is now safe to copy r.px, as pn(r.pn) did not throw
- px = r.px;
- }
-
- template<class Y>
- shared_ptr( weak_ptr<Y> const & r, boost::detail::sp_nothrow_tag )
- BOOST_NOEXCEPT : px( 0 ), pn( r.pn, boost::detail::sp_nothrow_tag() )
- {
- if( !pn.empty() )
- {
- px = r.px;
- }
- }
-
- template<class Y>
-#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )
-
- shared_ptr( shared_ptr<Y> const & r, typename boost::detail::sp_enable_if_convertible<Y,T>::type = boost::detail::sp_empty() )
-
-#else
-
- shared_ptr( shared_ptr<Y> const & r )
-
-#endif
- BOOST_NOEXCEPT : px( r.px ), pn( r.pn )
- {
- boost::detail::sp_assert_convertible< Y, T >();
- }
-
- // aliasing
- template< class Y >
- shared_ptr( shared_ptr<Y> const & r, element_type * p ) BOOST_NOEXCEPT : px( p ), pn( r.pn )
- {
- }
-
-#ifndef BOOST_NO_AUTO_PTR
-
- template<class Y>
- explicit shared_ptr( std::auto_ptr<Y> & r ): px(r.get()), pn()
- {
- boost::detail::sp_assert_convertible< Y, T >();
-
- Y * tmp = r.get();
- pn = boost::detail::shared_count( r );
-
- boost::detail::sp_deleter_construct( this, tmp );
- }
-
-#if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
-
- template<class Y>
- shared_ptr( std::auto_ptr<Y> && r ): px(r.get()), pn()
- {
- boost::detail::sp_assert_convertible< Y, T >();
-
- Y * tmp = r.get();
- pn = boost::detail::shared_count( r );
-
- boost::detail::sp_deleter_construct( this, tmp );
- }
-
-#elif !defined( BOOST_NO_SFINAE ) && !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
-
- template<class Ap>
- explicit shared_ptr( Ap r, typename boost::detail::sp_enable_if_auto_ptr<Ap, int>::type = 0 ): px( r.get() ), pn()
- {
- typedef typename Ap::element_type Y;
-
- boost::detail::sp_assert_convertible< Y, T >();
-
- Y * tmp = r.get();
- pn = boost::detail::shared_count( r );
-
- boost::detail::sp_deleter_construct( this, tmp );
- }
-
-#endif // BOOST_NO_SFINAE, BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-#endif // BOOST_NO_AUTO_PTR
-
-#if !defined( BOOST_NO_CXX11_SMART_PTR ) && !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
-
- template< class Y, class D >
- shared_ptr( std::unique_ptr< Y, D > && r ): px( r.get() ), pn()
- {
- boost::detail::sp_assert_convertible< Y, T >();
-
- typename std::unique_ptr< Y, D >::pointer tmp = r.get();
- pn = boost::detail::shared_count( r );
-
- boost::detail::sp_deleter_construct( this, tmp );
- }
-
-#endif
-
- // assignment
-
- shared_ptr & operator=( shared_ptr const & r ) BOOST_NOEXCEPT
- {
- this_type(r).swap(*this);
- return *this;
- }
-
-#if !defined(BOOST_MSVC) || (BOOST_MSVC >= 1400)
-
- template<class Y>
- shared_ptr & operator=(shared_ptr<Y> const & r) BOOST_NOEXCEPT
- {
- this_type(r).swap(*this);
- return *this;
- }
-
-#endif
-
-#ifndef BOOST_NO_AUTO_PTR
-
- template<class Y>
- shared_ptr & operator=( std::auto_ptr<Y> & r )
- {
- this_type( r ).swap( *this );
- return *this;
- }
-
-#if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
-
- template<class Y>
- shared_ptr & operator=( std::auto_ptr<Y> && r )
- {
- this_type( static_cast< std::auto_ptr<Y> && >( r ) ).swap( *this );
- return *this;
- }
-
-#elif !defined( BOOST_NO_SFINAE ) && !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
-
- template<class Ap>
- typename boost::detail::sp_enable_if_auto_ptr< Ap, shared_ptr & >::type operator=( Ap r )
- {
- this_type( r ).swap( *this );
- return *this;
- }
-
-#endif // BOOST_NO_SFINAE, BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-#endif // BOOST_NO_AUTO_PTR
-
-#if !defined( BOOST_NO_CXX11_SMART_PTR ) && !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
-
- template<class Y, class D>
- shared_ptr & operator=( std::unique_ptr<Y, D> && r )
- {
- this_type( static_cast< std::unique_ptr<Y, D> && >( r ) ).swap(*this);
- return *this;
- }
-
-#endif
-
-// Move support
-
-#if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
-
- shared_ptr( shared_ptr && r ) BOOST_NOEXCEPT : px( r.px ), pn()
- {
- pn.swap( r.pn );
- r.px = 0;
- }
-
- template<class Y>
-#if !defined( BOOST_SP_NO_SP_CONVERTIBLE )
-
- shared_ptr( shared_ptr<Y> && r, typename boost::detail::sp_enable_if_convertible<Y,T>::type = boost::detail::sp_empty() )
-
-#else
-
- shared_ptr( shared_ptr<Y> && r )
-
-#endif
- BOOST_NOEXCEPT : px( r.px ), pn()
- {
- boost::detail::sp_assert_convertible< Y, T >();
-
- pn.swap( r.pn );
- r.px = 0;
- }
-
- shared_ptr & operator=( shared_ptr && r ) BOOST_NOEXCEPT
- {
- this_type( static_cast< shared_ptr && >( r ) ).swap( *this );
- return *this;
- }
-
- template<class Y>
- shared_ptr & operator=( shared_ptr<Y> && r ) BOOST_NOEXCEPT
- {
- this_type( static_cast< shared_ptr<Y> && >( r ) ).swap( *this );
- return *this;
- }
-
-#endif
-
-#if !defined( BOOST_NO_CXX11_NULLPTR )
-
- shared_ptr & operator=( boost::detail::sp_nullptr_t ) BOOST_NOEXCEPT // never throws
- {
- this_type().swap(*this);
- return *this;
- }
-
-#endif
-
- void reset() BOOST_NOEXCEPT // never throws in 1.30+
- {
- this_type().swap(*this);
- }
-
- template<class Y> void reset( Y * p ) // Y must be complete
- {
- BOOST_ASSERT( p == 0 || p != px ); // catch self-reset errors
- this_type( p ).swap( *this );
- }
-
- template<class Y, class D> void reset( Y * p, D d )
- {
- this_type( p, d ).swap( *this );
- }
-
- template<class Y, class D, class A> void reset( Y * p, D d, A a )
- {
- this_type( p, d, a ).swap( *this );
- }
-
- template<class Y> void reset( shared_ptr<Y> const & r, element_type * p )
- {
- this_type( r, p ).swap( *this );
- }
-
- // never throws (but has a BOOST_ASSERT in it, so not marked with BOOST_NOEXCEPT)
- typename boost::detail::sp_dereference< T >::type operator* () const
- {
- BOOST_ASSERT( px != 0 );
- return *px;
- }
-
- // never throws (but has a BOOST_ASSERT in it, so not marked with BOOST_NOEXCEPT)
- typename boost::detail::sp_member_access< T >::type operator-> () const
- {
- BOOST_ASSERT( px != 0 );
- return px;
- }
-
- // never throws (but has a BOOST_ASSERT in it, so not marked with BOOST_NOEXCEPT)
- typename boost::detail::sp_array_access< T >::type operator[] ( std::ptrdiff_t i ) const
- {
- BOOST_ASSERT( px != 0 );
- BOOST_ASSERT( i >= 0 && ( i < boost::detail::sp_extent< T >::value || boost::detail::sp_extent< T >::value == 0 ) );
-
- return px[ i ];
- }
-
- element_type * get() const BOOST_NOEXCEPT
- {
- return px;
- }
-
-// implicit conversion to "bool"
-#include <boost/smart_ptr/detail/operator_bool.hpp>
-
- bool unique() const BOOST_NOEXCEPT
- {
- return pn.unique();
- }
-
- long use_count() const BOOST_NOEXCEPT
- {
- return pn.use_count();
- }
-
- void swap( shared_ptr & other ) BOOST_NOEXCEPT
- {
- std::swap(px, other.px);
- pn.swap(other.pn);
- }
-
- template<class Y> bool owner_before( shared_ptr<Y> const & rhs ) const BOOST_NOEXCEPT
- {
- return pn < rhs.pn;
- }
-
- template<class Y> bool owner_before( weak_ptr<Y> const & rhs ) const BOOST_NOEXCEPT
- {
- return pn < rhs.pn;
- }
-
- void * _internal_get_deleter( boost::detail::sp_typeinfo const & ti ) const BOOST_NOEXCEPT
- {
- return pn.get_deleter( ti );
- }
-
- void * _internal_get_untyped_deleter() const BOOST_NOEXCEPT
- {
- return pn.get_untyped_deleter();
- }
-
- bool _internal_equiv( shared_ptr const & r ) const BOOST_NOEXCEPT
- {
- return px == r.px && pn == r.pn;
- }
-
-// Tasteless as this may seem, making all members public allows member templates
-// to work in the absence of member template friends. (Matthew Langston)
-
-#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-
-private:
-
- template<class Y> friend class shared_ptr;
- template<class Y> friend class weak_ptr;
-
-
-#endif
-
- element_type * px; // contained pointer
- boost::detail::shared_count pn; // reference counter
-
-}; // shared_ptr
-
-template<class T, class U> inline bool operator==(shared_ptr<T> const & a, shared_ptr<U> const & b) BOOST_NOEXCEPT
-{
- return a.get() == b.get();
-}
-
-template<class T, class U> inline bool operator!=(shared_ptr<T> const & a, shared_ptr<U> const & b) BOOST_NOEXCEPT
-{
- return a.get() != b.get();
-}
-
-#if __GNUC__ == 2 && __GNUC_MINOR__ <= 96
-
-// Resolve the ambiguity between our op!= and the one in rel_ops
-
-template<class T> inline bool operator!=(shared_ptr<T> const & a, shared_ptr<T> const & b) BOOST_NOEXCEPT
-{
- return a.get() != b.get();
-}
-
-#endif
-
-#if !defined( BOOST_NO_CXX11_NULLPTR )
-
-template<class T> inline bool operator==( shared_ptr<T> const & p, boost::detail::sp_nullptr_t ) BOOST_NOEXCEPT
-{
- return p.get() == 0;
-}
-
-template<class T> inline bool operator==( boost::detail::sp_nullptr_t, shared_ptr<T> const & p ) BOOST_NOEXCEPT
-{
- return p.get() == 0;
-}
-
-template<class T> inline bool operator!=( shared_ptr<T> const & p, boost::detail::sp_nullptr_t ) BOOST_NOEXCEPT
-{
- return p.get() != 0;
-}
-
-template<class T> inline bool operator!=( boost::detail::sp_nullptr_t, shared_ptr<T> const & p ) BOOST_NOEXCEPT
-{
- return p.get() != 0;
-}
-
-#endif
-
-template<class T, class U> inline bool operator<(shared_ptr<T> const & a, shared_ptr<U> const & b) BOOST_NOEXCEPT
-{
- return a.owner_before( b );
-}
-
-template<class T> inline void swap(shared_ptr<T> & a, shared_ptr<T> & b) BOOST_NOEXCEPT
-{
- a.swap(b);
-}
-
-template<class T, class U> shared_ptr<T> static_pointer_cast( shared_ptr<U> const & r ) BOOST_NOEXCEPT
-{
- (void) static_cast< T* >( static_cast< U* >( 0 ) );
-
- typedef typename shared_ptr<T>::element_type E;
-
- E * p = static_cast< E* >( r.get() );
- return shared_ptr<T>( r, p );
-}
-
-template<class T, class U> shared_ptr<T> const_pointer_cast( shared_ptr<U> const & r ) BOOST_NOEXCEPT
-{
- (void) const_cast< T* >( static_cast< U* >( 0 ) );
-
- typedef typename shared_ptr<T>::element_type E;
-
- E * p = const_cast< E* >( r.get() );
- return shared_ptr<T>( r, p );
-}
-
-template<class T, class U> shared_ptr<T> dynamic_pointer_cast( shared_ptr<U> const & r ) BOOST_NOEXCEPT
-{
- (void) dynamic_cast< T* >( static_cast< U* >( 0 ) );
-
- typedef typename shared_ptr<T>::element_type E;
-
- E * p = dynamic_cast< E* >( r.get() );
- return p? shared_ptr<T>( r, p ): shared_ptr<T>();
-}
-
-template<class T, class U> shared_ptr<T> reinterpret_pointer_cast( shared_ptr<U> const & r ) BOOST_NOEXCEPT
-{
- (void) reinterpret_cast< T* >( static_cast< U* >( 0 ) );
-
- typedef typename shared_ptr<T>::element_type E;
-
- E * p = reinterpret_cast< E* >( r.get() );
- return shared_ptr<T>( r, p );
-}
-
-// get_pointer() enables boost::mem_fn to recognize shared_ptr
-
-template<class T> inline typename shared_ptr<T>::element_type * get_pointer(shared_ptr<T> const & p) BOOST_NOEXCEPT
-{
- return p.get();
-}
-
-// operator<<
-
-#if !defined(BOOST_NO_IOSTREAM)
-
-#if defined(BOOST_NO_TEMPLATED_IOSTREAMS) || ( defined(__GNUC__) && (__GNUC__ < 3) )
-
-template<class Y> std::ostream & operator<< (std::ostream & os, shared_ptr<Y> const & p)
-{
- os << p.get();
- return os;
-}
-
-#else
-
-// in STLport's no-iostreams mode no iostream symbols can be used
-#ifndef _STLP_NO_IOSTREAMS
-
-# if defined(BOOST_MSVC) && BOOST_WORKAROUND(BOOST_MSVC, < 1300 && __SGI_STL_PORT)
-// MSVC6 has problems finding std::basic_ostream through the using declaration in namespace _STL
-using std::basic_ostream;
-template<class E, class T, class Y> basic_ostream<E, T> & operator<< (basic_ostream<E, T> & os, shared_ptr<Y> const & p)
-# else
-template<class E, class T, class Y> std::basic_ostream<E, T> & operator<< (std::basic_ostream<E, T> & os, shared_ptr<Y> const & p)
-# endif
-{
- os << p.get();
- return os;
-}
-
-#endif // _STLP_NO_IOSTREAMS
-
-#endif // __GNUC__ < 3
-
-#endif // !defined(BOOST_NO_IOSTREAM)
-
-// get_deleter
-
-namespace detail
-{
-
-#if ( defined(__GNUC__) && BOOST_WORKAROUND(__GNUC__, < 3) ) || \
- ( defined(__EDG_VERSION__) && BOOST_WORKAROUND(__EDG_VERSION__, <= 238) ) || \
- ( defined(__HP_aCC) && BOOST_WORKAROUND(__HP_aCC, <= 33500) )
-
-// g++ 2.9x doesn't allow static_cast<X const *>(void *)
-// apparently EDG 2.38 and HP aCC A.03.35 also don't accept it
-
-template<class D, class T> D * basic_get_deleter(shared_ptr<T> const & p)
-{
- void const * q = p._internal_get_deleter(BOOST_SP_TYPEID(D));
- return const_cast<D *>(static_cast<D const *>(q));
-}
-
-#else
-
-template<class D, class T> D * basic_get_deleter( shared_ptr<T> const & p ) BOOST_NOEXCEPT
-{
- return static_cast<D *>( p._internal_get_deleter(BOOST_SP_TYPEID(D)) );
-}
-
-#endif
-
-class esft2_deleter_wrapper
-{
-private:
-
- shared_ptr<void> deleter_;
-
-public:
-
- esft2_deleter_wrapper()
- {
- }
-
- template< class T > void set_deleter( shared_ptr<T> const & deleter )
- {
- deleter_ = deleter;
- }
-
- template<typename D> D* get_deleter() const BOOST_NOEXCEPT
- {
- return boost::detail::basic_get_deleter<D>( deleter_ );
- }
-
- template< class T> void operator()( T* )
- {
- BOOST_ASSERT( deleter_.use_count() <= 1 );
- deleter_.reset();
- }
-};
-
-} // namespace detail
-
-template<class D, class T> D * get_deleter( shared_ptr<T> const & p ) BOOST_NOEXCEPT
-{
- D *del = boost::detail::basic_get_deleter<D>(p);
-
- if(del == 0)
- {
- boost::detail::esft2_deleter_wrapper *del_wrapper = boost::detail::basic_get_deleter<boost::detail::esft2_deleter_wrapper>(p);
-// The following get_deleter method call is fully qualified because
-// older versions of gcc (2.95, 3.2.3) fail to compile it when written del_wrapper->get_deleter<D>()
- if(del_wrapper) del = del_wrapper->::boost::detail::esft2_deleter_wrapper::get_deleter<D>();
- }
-
- return del;
-}
-
-// atomic access
-
-#if !defined(BOOST_SP_NO_ATOMIC_ACCESS)
-
-template<class T> inline bool atomic_is_lock_free( shared_ptr<T> const * /*p*/ ) BOOST_NOEXCEPT
-{
- return false;
-}
-
-template<class T> shared_ptr<T> atomic_load( shared_ptr<T> const * p )
-{
- boost::detail::spinlock_pool<2>::scoped_lock lock( p );
- return *p;
-}
-
-template<class T> inline shared_ptr<T> atomic_load_explicit( shared_ptr<T> const * p, memory_order /*mo*/ )
-{
- return atomic_load( p );
-}
-
-template<class T> void atomic_store( shared_ptr<T> * p, shared_ptr<T> r )
-{
- boost::detail::spinlock_pool<2>::scoped_lock lock( p );
- p->swap( r );
-}
-
-template<class T> inline void atomic_store_explicit( shared_ptr<T> * p, shared_ptr<T> r, memory_order /*mo*/ )
-{
- atomic_store( p, r ); // std::move( r )
-}
-
-template<class T> shared_ptr<T> atomic_exchange( shared_ptr<T> * p, shared_ptr<T> r )
-{
- boost::detail::spinlock & sp = boost::detail::spinlock_pool<2>::spinlock_for( p );
-
- sp.lock();
- p->swap( r );
- sp.unlock();
-
- return r; // return std::move( r )
-}
-
-template<class T> shared_ptr<T> atomic_exchange_explicit( shared_ptr<T> * p, shared_ptr<T> r, memory_order /*mo*/ )
-{
- return atomic_exchange( p, r ); // std::move( r )
-}
-
-template<class T> bool atomic_compare_exchange( shared_ptr<T> * p, shared_ptr<T> * v, shared_ptr<T> w )
-{
- boost::detail::spinlock & sp = boost::detail::spinlock_pool<2>::spinlock_for( p );
-
- sp.lock();
-
- if( p->_internal_equiv( *v ) )
- {
- p->swap( w );
-
- sp.unlock();
-
- return true;
- }
- else
- {
- shared_ptr<T> tmp( *p );
-
- sp.unlock();
-
- tmp.swap( *v );
- return false;
- }
-}
-
-template<class T> inline bool atomic_compare_exchange_explicit( shared_ptr<T> * p, shared_ptr<T> * v, shared_ptr<T> w, memory_order /*success*/, memory_order /*failure*/ )
-{
- return atomic_compare_exchange( p, v, w ); // std::move( w )
-}
-
-#endif // !defined(BOOST_SP_NO_ATOMIC_ACCESS)
-
-// hash_value
-
-template< class T > struct hash;
-
-template< class T > std::size_t hash_value( boost::shared_ptr<T> const & p ) BOOST_NOEXCEPT
-{
- return boost::hash< T* >()( p.get() );
-}
-
-} // namespace boost
-
-#endif // #if defined(BOOST_NO_MEMBER_TEMPLATES) && !defined(BOOST_MSVC6_MEMBER_TEMPLATES)
-
-#endif // #ifndef BOOST_SMART_PTR_SHARED_PTR_HPP_INCLUDED
diff --git a/boost/static_assert.hpp b/boost/static_assert.hpp
deleted file mode 100644
index d083a9c..0000000
--- a/boost/static_assert.hpp
+++ /dev/null
@@ -1,195 +0,0 @@
-// (C) Copyright John Maddock 2000.
-// 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/libs/static_assert for documentation.
-
-/*
- Revision history:
- 02 August 2000
- Initial version.
-*/
-
-#ifndef BOOST_STATIC_ASSERT_HPP
-#define BOOST_STATIC_ASSERT_HPP
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-#if defined(__GNUC__) && !defined(__GXX_EXPERIMENTAL_CXX0X__)
-//
-// This is horrible, but it seems to be the only we can shut up the
-// "anonymous variadic macros were introduced in C99 [-Wvariadic-macros]"
-// warning that get spewed out otherwise in non-C++11 mode.
-//
-#pragma GCC system_header
-#endif
-
-#ifndef BOOST_NO_CXX11_STATIC_ASSERT
-# ifndef BOOST_NO_CXX11_VARIADIC_MACROS
-# define BOOST_STATIC_ASSERT_MSG( ... ) static_assert(__VA_ARGS__)
-# else
-# define BOOST_STATIC_ASSERT_MSG( B, Msg ) BOOST_STATIC_ASSERT( B )
-# endif
-#else
-# define BOOST_STATIC_ASSERT_MSG( B, Msg ) BOOST_STATIC_ASSERT( B )
-#endif
-
-#ifdef __BORLANDC__
-//
-// workaround for buggy integral-constant expression support:
-#define BOOST_BUGGY_INTEGRAL_CONSTANT_EXPRESSIONS
-#endif
-
-#if defined(__GNUC__) && (__GNUC__ == 3) && ((__GNUC_MINOR__ == 3) || (__GNUC_MINOR__ == 4))
-// gcc 3.3 and 3.4 don't produce good error messages with the default version:
-# define BOOST_SA_GCC_WORKAROUND
-#endif
-
-//
-// If the compiler issues warnings about old C style casts,
-// then enable this:
-//
-#if defined(__GNUC__) && ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 4)))
-# ifndef BOOST_NO_CXX11_VARIADIC_MACROS
-# define BOOST_STATIC_ASSERT_BOOL_CAST( ... ) ((__VA_ARGS__) == 0 ? false : true)
-# else
-# define BOOST_STATIC_ASSERT_BOOL_CAST( x ) ((x) == 0 ? false : true)
-# endif
-#else
-# ifndef BOOST_NO_CXX11_VARIADIC_MACROS
-# define BOOST_STATIC_ASSERT_BOOL_CAST( ... ) (bool)(__VA_ARGS__)
-# else
-# define BOOST_STATIC_ASSERT_BOOL_CAST(x) (bool)(x)
-# endif
-#endif
-//
-// If the compiler warns about unused typedefs then enable this:
-//
-#if defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)))
-# define BOOST_STATIC_ASSERT_UNUSED_ATTRIBUTE __attribute__((unused))
-#else
-# define BOOST_STATIC_ASSERT_UNUSED_ATTRIBUTE
-#endif
-
-#ifndef BOOST_NO_CXX11_STATIC_ASSERT
-# ifndef BOOST_NO_CXX11_VARIADIC_MACROS
-# define BOOST_STATIC_ASSERT( ... ) static_assert(__VA_ARGS__, #__VA_ARGS__)
-# else
-# define BOOST_STATIC_ASSERT( B ) static_assert(B, #B)
-# endif
-#else
-
-namespace boost{
-
-// HP aCC cannot deal with missing names for template value parameters
-template <bool x> struct STATIC_ASSERTION_FAILURE;
-
-template <> struct STATIC_ASSERTION_FAILURE<true> { enum { value = 1 }; };
-
-// HP aCC cannot deal with missing names for template value parameters
-template<int x> struct static_assert_test{};
-
-}
-
-//
-// Implicit instantiation requires that all member declarations be
-// instantiated, but that the definitions are *not* instantiated.
-//
-// It's not particularly clear how this applies to enum's or typedefs;
-// both are described as declarations [7.1.3] and [7.2] in the standard,
-// however some compilers use "delayed evaluation" of one or more of
-// these when implicitly instantiating templates. We use typedef declarations
-// by default, but try defining BOOST_USE_ENUM_STATIC_ASSERT if the enum
-// version gets better results from your compiler...
-//
-// Implementation:
-// Both of these versions rely on sizeof(incomplete_type) generating an error
-// message containing the name of the incomplete type. We use
-// "STATIC_ASSERTION_FAILURE" as the type name here to generate
-// an eye catching error message. The result of the sizeof expression is either
-// used as an enum initialiser, or as a template argument depending which version
-// is in use...
-// Note that the argument to the assert is explicitly cast to bool using old-
-// style casts: too many compilers currently have problems with static_cast
-// when used inside integral constant expressions.
-//
-#if !defined(BOOST_BUGGY_INTEGRAL_CONSTANT_EXPRESSIONS)
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
-// __LINE__ macro broken when -ZI is used see Q199057
-// fortunately MSVC ignores duplicate typedef's.
-#define BOOST_STATIC_ASSERT( B ) \
- typedef ::boost::static_assert_test<\
- sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( B ) >)\
- > boost_static_assert_typedef_
-#elif defined(BOOST_MSVC) && defined(BOOST_NO_CXX11_VARIADIC_MACROS)
-#define BOOST_STATIC_ASSERT( B ) \
- typedef ::boost::static_assert_test<\
- sizeof(::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST ( B ) >)>\
- BOOST_JOIN(boost_static_assert_typedef_, __COUNTER__)
-#elif defined(BOOST_MSVC)
-#define BOOST_STATIC_ASSERT(...) \
- typedef ::boost::static_assert_test<\
- sizeof(::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST (__VA_ARGS__) >)>\
- BOOST_JOIN(boost_static_assert_typedef_, __COUNTER__)
-#elif (defined(BOOST_INTEL_CXX_VERSION) || defined(BOOST_SA_GCC_WORKAROUND)) && defined(BOOST_NO_CXX11_VARIADIC_MACROS)
-// agurt 15/sep/02: a special care is needed to force Intel C++ issue an error
-// instead of warning in case of failure
-# define BOOST_STATIC_ASSERT( B ) \
- typedef char BOOST_JOIN(boost_static_assert_typedef_, __LINE__) \
- [ ::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( B ) >::value ]
-#elif (defined(BOOST_INTEL_CXX_VERSION) || defined(BOOST_SA_GCC_WORKAROUND)) && !defined(BOOST_NO_CXX11_VARIADIC_MACROS)
-// agurt 15/sep/02: a special care is needed to force Intel C++ issue an error
-// instead of warning in case of failure
-# define BOOST_STATIC_ASSERT(...) \
- typedef char BOOST_JOIN(boost_static_assert_typedef_, __LINE__) \
- [ ::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( __VA_ARGS__ ) >::value ]
-#elif defined(__sgi)
-// special version for SGI MIPSpro compiler
-#define BOOST_STATIC_ASSERT( B ) \
- BOOST_STATIC_CONSTANT(bool, \
- BOOST_JOIN(boost_static_assert_test_, __LINE__) = ( B )); \
- typedef ::boost::static_assert_test<\
- sizeof(::boost::STATIC_ASSERTION_FAILURE< \
- BOOST_JOIN(boost_static_assert_test_, __LINE__) >)>\
- BOOST_JOIN(boost_static_assert_typedef_, __LINE__)
-#elif BOOST_WORKAROUND(__MWERKS__, <= 0x3003)
-// special version for CodeWarrior <= 8.x
-#define BOOST_STATIC_ASSERT( B ) \
- BOOST_STATIC_CONSTANT(int, \
- BOOST_JOIN(boost_static_assert_test_, __LINE__) = \
- sizeof(::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( B ) >) )
-#else
-// generic version
-# ifndef BOOST_NO_CXX11_VARIADIC_MACROS
-# define BOOST_STATIC_ASSERT( ... ) \
- typedef ::boost::static_assert_test<\
- sizeof(::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( __VA_ARGS__ ) >)>\
- BOOST_JOIN(boost_static_assert_typedef_, __LINE__) BOOST_STATIC_ASSERT_UNUSED_ATTRIBUTE
-# else
-# define BOOST_STATIC_ASSERT( B ) \
- typedef ::boost::static_assert_test<\
- sizeof(::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( B ) >)>\
- BOOST_JOIN(boost_static_assert_typedef_, __LINE__) BOOST_STATIC_ASSERT_UNUSED_ATTRIBUTE
-# endif
-#endif
-
-#else
-// alternative enum based implementation:
-# ifndef BOOST_NO_CXX11_VARIADIC_MACROS
-# define BOOST_STATIC_ASSERT( ... ) \
- enum { BOOST_JOIN(boost_static_assert_enum_, __LINE__) \
- = sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( __VA_ARGS__ ) >) }
-# else
-# define BOOST_STATIC_ASSERT(B) \
- enum { BOOST_JOIN(boost_static_assert_enum_, __LINE__) \
- = sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( B ) >) }
-# endif
-#endif
-#endif // defined(BOOST_NO_CXX11_STATIC_ASSERT)
-
-#endif // BOOST_STATIC_ASSERT_HPP
-
-
diff --git a/boost/swap.hpp b/boost/swap.hpp
deleted file mode 100644
index dfc11f0..0000000
--- a/boost/swap.hpp
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright (C) 2007 Joseph Gauterin
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_SWAP_HPP
-#define BOOST_SWAP_HPP
-
-#include "boost/utility/swap.hpp"
-
-#endif
diff --git a/boost/throw_exception.hpp b/boost/throw_exception.hpp
deleted file mode 100644
index 200683e..0000000
--- a/boost/throw_exception.hpp
+++ /dev/null
@@ -1,103 +0,0 @@
-#ifndef UUID_AA15E74A856F11E08B8D93F24824019B
-#define UUID_AA15E74A856F11E08B8D93F24824019B
-#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
-
-// MS compatible compilers support #pragma once
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-//
-// boost/throw_exception.hpp
-//
-// Copyright (c) 2002 Peter Dimov and Multi Media Ltd.
-// Copyright (c) 2008-2009 Emil Dotchevski and Reverge Studios, Inc.
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// http://www.boost.org/libs/utility/throw_exception.html
-//
-
-#include <boost/exception/detail/attribute_noreturn.hpp>
-#include <boost/detail/workaround.hpp>
-#include <boost/config.hpp>
-#include <exception>
-
-#if !defined( BOOST_EXCEPTION_DISABLE ) && defined( __BORLANDC__ ) && BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT(0x593) )
-# define BOOST_EXCEPTION_DISABLE
-#endif
-
-#if !defined( BOOST_EXCEPTION_DISABLE ) && defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, < 1310 )
-# define BOOST_EXCEPTION_DISABLE
-#endif
-
-#if !defined( BOOST_EXCEPTION_DISABLE )
-# include <boost/exception/exception.hpp>
-#if !defined(BOOST_THROW_EXCEPTION_CURRENT_FUNCTION)
-# include <boost/current_function.hpp>
-# define BOOST_THROW_EXCEPTION_CURRENT_FUNCTION BOOST_CURRENT_FUNCTION
-#endif
-# define BOOST_THROW_EXCEPTION(x) ::boost::exception_detail::throw_exception_(x,BOOST_THROW_EXCEPTION_CURRENT_FUNCTION,__FILE__,__LINE__)
-#else
-# define BOOST_THROW_EXCEPTION(x) ::boost::throw_exception(x)
-#endif
-
-namespace boost
-{
-#ifdef BOOST_NO_EXCEPTIONS
-
-void throw_exception( std::exception const & e ); // user defined
-
-#else
-
-inline void throw_exception_assert_compatibility( std::exception const & ) { }
-
-template<class E> BOOST_ATTRIBUTE_NORETURN inline void throw_exception( E const & e )
-{
- //All boost exceptions are required to derive from std::exception,
- //to ensure compatibility with BOOST_NO_EXCEPTIONS.
- throw_exception_assert_compatibility(e);
-
-#ifndef BOOST_EXCEPTION_DISABLE
- throw enable_current_exception(enable_error_info(e));
-#else
- throw e;
-#endif
-}
-
-#endif
-
-#if !defined( BOOST_EXCEPTION_DISABLE )
- namespace
- exception_detail
- {
- template <class E>
- BOOST_ATTRIBUTE_NORETURN
- void
- throw_exception_( E const & x, char const * current_function, char const * file, int line )
- {
- boost::throw_exception(
- set_info(
- set_info(
- set_info(
- enable_error_info(x),
- throw_function(current_function)),
- throw_file(file)),
- throw_line(line)));
- }
- }
-#endif
-} // namespace boost
-
-#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
-#pragma warning(pop)
-#endif
-#endif
diff --git a/boost/tr1/detail/config.hpp b/boost/tr1/detail/config.hpp
deleted file mode 100644
index 1b95148..0000000
--- a/boost/tr1/detail/config.hpp
+++ /dev/null
@@ -1,169 +0,0 @@
-// (C) Copyright John Maddock 2005-7.
-// 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_TR1_DETAIL_CONFIG_HPP_INCLUDED
-# define BOOST_TR1_DETAIL_CONFIG_HPP_INCLUDED
-
-#include <cstddef>
-
-#if (defined(__GNUC__) && !(defined(linux) || defined(__linux) || defined(__linux__))) \
- || (!defined(_AIX) && defined(__IBMCPP__) && (__IBMCPP__ >= 800))
- // Disable use of #include_next on Linux as typically we are installed in a
- // directory that is searched *after* the std lib include path.
-#if !defined(BOOST_HAS_INCLUDE_NEXT)
-# define BOOST_HAS_INCLUDE_NEXT
-#endif
-// Need to find out if we're using GLIBC:
-#ifdef BOOST_TR1_UTILITY_INCLUDED
-// Oops we're in a recursive include path!!
-// Need to include utility, or some std lib header,
-// but *not* via <utility> or <boost/config/no_tr1/utility.hpp>
-# ifndef BOOST_TR1_NO_RECURSION
-# define BOOST_TR1_NO_RECURSION
-# define BOOST_TR1_NO_CONFIG_RECURSION
-# endif
-# if defined(BOOST_HAS_INCLUDE_NEXT) && !defined(BOOST_TR1_DISABLE_INCLUDE_NEXT)
-# include_next <utility>
-# else
-# include BOOST_TR1_STD_HEADER(utility)
-# endif
-# ifdef BOOST_TR1_NO_CONFIG_RECURSION
-# undef BOOST_TR1_NO_CONFIG_RECURSION
-# undef BOOST_TR1_NO_RECURSION
-# endif
-#else
-#include <boost/config/no_tr1/utility.hpp>
-#endif
-#endif
-
-#if defined(__GLIBCXX__) && !defined(BOOST_TR1_PATH)
-# define BOOST_TR1_PATH(name) tr1/name
-#endif
-#if !defined(BOOST_TR1_PATH)
-# define BOOST_TR1_PATH(name) name
-#endif
-
-#define BOOST_TR1_HEADER(name) <BOOST_TR1_PATH(name)>
-
-// Can't use BOOST_WORKAROUND here, it leads to recursive includes:
-#if (defined(__BORLANDC__) && (__BORLANDC__ <= 0x600)) || (defined(_MSC_VER) && (_MSC_VER < 1310))
-# define BOOST_TR1_USE_OLD_TUPLE
-#endif
-
-#ifdef __IBMCPP_TR1__
- // turn on support for everything:
-# define BOOST_HAS_TR1
-#endif
-
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
-# define BOOST_HAS_TR1_COMPLEX_OVERLOADS
-# define BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG
-#endif
-
-#ifdef BOOST_HAS_TR1
- // turn on support for everything:
-# define BOOST_HAS_TR1_ARRAY
-# define BOOST_HAS_TR1_COMPLEX_OVERLOADS
-# define BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG
-# define BOOST_HAS_TR1_REFERENCE_WRAPPER
-# define BOOST_HAS_TR1_RESULT_OF
-# define BOOST_HAS_TR1_MEM_FN
-# define BOOST_HAS_TR1_BIND
-# define BOOST_HAS_TR1_FUNCTION
-# define BOOST_HAS_TR1_HASH
-# define BOOST_HAS_TR1_SHARED_PTR
-# define BOOST_HAS_TR1_RANDOM
-# define BOOST_HAS_TR1_REGEX
-# define BOOST_HAS_TR1_TUPLE
-# define BOOST_HAS_TR1_TYPE_TRAITS
-# define BOOST_HAS_TR1_UTILITY
-# define BOOST_HAS_TR1_UNORDERED_MAP
-# define BOOST_HAS_TR1_UNORDERED_SET
-# define BOOST_HAS_TR1_CMATH
-
-#endif
-
-#if defined(__MWERKS__) && (__MWERKS__ >= 0x3205)
-//
-// Very preliminary MWCW support, may not be right:
-//
-# define BOOST_HAS_TR1_SHARED_PTR
-# define BOOST_HAS_TR1_REFERENCE_WRAPPER
-# define BOOST_HAS_TR1_FUNCTION
-# define BOOST_HAS_TR1_TUPLE
-# define BOOST_HAS_TR1_RESULT_OF
-#endif
-
-#ifdef BOOST_HAS_GCC_TR1
- // turn on support for everything in gcc 4.0.x:
-# define BOOST_HAS_TR1_ARRAY
-#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 403
-//# define BOOST_HAS_TR1_COMPLEX_OVERLOADS
-# define BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG
-#endif
-# define BOOST_HAS_TR1_REFERENCE_WRAPPER
-# define BOOST_HAS_TR1_RESULT_OF
-# define BOOST_HAS_TR1_MEM_FN
-# define BOOST_HAS_TR1_BIND
-# define BOOST_HAS_TR1_FUNCTION
-# define BOOST_HAS_TR1_HASH
-# define BOOST_HAS_TR1_SHARED_PTR
-#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 403
-# define BOOST_HAS_TR1_RANDOM
-//# define BOOST_HAS_TR1_REGEX
-#ifdef _GLIBCXX_USE_C99_MATH_TR1
-# define BOOST_HAS_TR1_CMATH
-#endif
-#endif
-# define BOOST_HAS_TR1_TUPLE
-# define BOOST_HAS_TR1_TYPE_TRAITS
-# define BOOST_HAS_TR1_UTILITY
-# define BOOST_HAS_TR1_UNORDERED_MAP
-# define BOOST_HAS_TR1_UNORDERED_SET
-
-#endif
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1500) \
- && defined(_MSC_FULL_VER) && \
- !defined(__SGI_STL_PORT) && \
- !defined(_STLPORT_VERSION) && \
- !defined(_RWSTD_VER_STR) && \
- !defined(_RWSTD_VER)
-//
-// MSVC-9.0 defines a not-quite TR1 conforming hash
-// function object in <functional>, so we must define
-// this here, in addition the feature pack for VC9
-// provides a more or less full TR1 implementation:
-//
-# if defined(_HAS_TR1) && (_HAS_TR1 + 0)
-# define BOOST_HAS_TR1_ARRAY
-# define BOOST_HAS_TR1_REFERENCE_WRAPPER
-# define BOOST_HAS_TR1_RESULT_OF
-# define BOOST_HAS_TR1_MEM_FN
-# define BOOST_HAS_TR1_BIND
-# define BOOST_HAS_TR1_FUNCTION
-# define BOOST_HAS_TR1_HASH
-# define BOOST_HAS_TR1_SHARED_PTR
-# define BOOST_HAS_TR1_RANDOM
-# define BOOST_HAS_TR1_REGEX
-# define BOOST_HAS_TR1_TUPLE
-# define BOOST_HAS_TR1_TYPE_TRAITS
-# define BOOST_HAS_TR1_UTILITY
-# define BOOST_HAS_TR1_UNORDERED_MAP
-# define BOOST_HAS_TR1_UNORDERED_SET
-# else
-# define BOOST_HAS_TR1_HASH
-# endif
-# if _MSC_VER >= 1600
-# define BOOST_HAS_CPP_0X
-# endif
-#endif
-
-#include <boost/config.hpp>
-
-#endif
-
-
-
diff --git a/boost/tr1/detail/config_all.hpp b/boost/tr1/detail/config_all.hpp
deleted file mode 100644
index ecf07b6..0000000
--- a/boost/tr1/detail/config_all.hpp
+++ /dev/null
@@ -1,168 +0,0 @@
-// (C) Copyright John Maddock 2005.
-// 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)
-
-/*
- * The gcc include path logic is derived from STLport:
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Copyright (c) 1996-1999
- * Silicon Graphics Computer Systems, Inc.
- *
- * Copyright (c) 1997
- * Moscow Center for SPARC Technology
- *
- * Copyright (c) 1999-2003
- * Boris Fomitchev
- *
- * This material is provided "as is", with absolutely no warranty expressed
- * or implied. Any use is at your own risk.
- *
- * Permission to use or copy this software for any purpose is hereby granted
- * without fee, provided the above notices are retained on all copies.
- * Permission to modify the code and to distribute modified code is granted,
- * provided the above notices are retained, and a notice that the code was
- * modified is included with the above copyright notice.
- *
- */
-
-#ifndef BOOST_TR1_DETAIL_CONFIG_ALL_HPP_INCLUDED
-# define BOOST_TR1_DETAIL_CONFIG_ALL_HPP_INCLUDED
-
-//
-// IMPORTANT: we must figure out the basics, such as how to
-// forward to the real std lib headers *without* including
-// boost/config.hpp or any of the std lib headers. A classic
-// chicken and the egg problem....
-//
-// Including <cstddef> at least lets us detect STLport:
-//
-#include <cstddef>
-
-// Including <cstdlib> allows us to use __GLIBCXX__ to
-// determine the version of the stdc++ library in use
-// under Darwin.
-#include <cstdlib>
-
-# if defined(_RWSTD_VER) && _RWSTD_VER >= 0x04010200
-# if !defined (__SUNPRO_CC) && !defined (__DECCXX)
-# define BOOST_TR1_STD_CHEADER(name) <../include/ansi/name>
-# endif
-# endif
-
-
-# if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && !defined(__BORLANDC__)
-# ifdef __SUNPRO_CC
- // can't use <../stlport/name> since some compilers put stlport in a different directory:
-# define BOOST_TR1_STD_HEADER(name) <../stlport4/name>
-# elif defined(__PGI)
-# define BOOST_TR1_STD_HEADER(name) <../CC/name>
-# else
-# define BOOST_TR1_STD_HEADER(name) <../stlport/name>
-# endif
-# elif defined(__PATHSCALE__) && (defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER))
-# define BOOST_TR1_STD_HEADER(name) <../include/name>
-
-# elif defined(__SUNPRO_CC) && (defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER))
-# define BOOST_TR1_STD_HEADER(name) <../stdcxx4/name>
-
-# elif defined(__HP_aCC)
- // HP aCC include path:
-# define BOOST_TR1_STD_HEADER(name) <../include_std/name>
-
-# elif defined(__DECCXX)
-# define BOOST_TR1_STD_HEADER(name) <../cxx/name>
-
-# elif defined(__BORLANDC__) && __BORLANDC__ >= 0x570
-# define BOOST_TR1_STD_HEADER(name) <../include/dinkumware/name>
-
-# elif defined(__clang__)
-# define BOOST_TR1_STD_HEADER(name) <../include/name>
-
-# elif defined(__GNUC__) && __GNUC__ >= 3
-# if defined(BOOST_TR1_GCC_INCLUDE_PATH)
-# define BOOST_TR1_STD_HEADER(name) <../BOOST_TR1_GCC_INCLUDE_PATH/name>
-# elif ( (__GNUC__ == 3 ) && ((__GNUC_MINOR__ == 0) || ((__GNUC_MINOR__ < 3) && defined(__APPLE_CC__))))
-# define BOOST_TR1_STD_HEADER(name) <../g++-v3/name>
-# else
-# if ( ((__GNUC__ == 3 ) && (__GNUC_MINOR__ >= 3)) && (defined(__APPLE_CC__) || defined(__CYGWIN__)))
-# define BOOST_TR1_STD_HEADER(name) <../c++/name>
-# elif ((__GLIBCXX__ == 20050421) && defined(__APPLE_CC__))
- // Some Darwin tools fix libstdc++ at 4.0.0 irrespective of the actual
- // compiler version:
-# define BOOST_TR1_STD_HEADER(name) <../4.0.0/name>
- /*
- * Before version 3.4.0 the 0 patch level was not part of the include path:
- */
-# elif defined (__GNUC_PATCHLEVEL__) && ((__GNUC_PATCHLEVEL__ > 0) || \
- (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || \
- (__GNUC__ > 3))
-# define BOOST_TR1_STD_HEADER(name) <../__GNUC__.__GNUC_MINOR__.__GNUC_PATCHLEVEL__/name>
-# else
-# define BOOST_TR1_STD_HEADER(name) <../__GNUC__.__GNUC_MINOR__/name>
-# endif
-# endif
-
-# if !defined(BOOST_TR1_DISABLE_INCLUDE_NEXT) && !defined(__ICC) \
- && (defined(linux) || defined(__linux) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__))
- // Disable use of #include_next on Linux as typically we are installed in a directory that is searched
- // *after* the std lib include path:
-# define BOOST_TR1_DISABLE_INCLUDE_NEXT
-# endif
-
-# else
-# define BOOST_TR1_STD_HEADER(name) <../include/name>
-# endif
-
-#if !defined(BOOST_TR1_STD_CHEADER)
-# define BOOST_TR1_STD_CHEADER(name) BOOST_TR1_STD_HEADER(name)
-#endif
-
-#if defined(__GNUC__) && !defined(BOOST_HAS_INCLUDE_NEXT)
-# define BOOST_HAS_INCLUDE_NEXT
-#endif
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
-# define BOOST_HAS_CPP_0X
-#endif
-#if defined(_MSC_VER) && (_MSC_VER >= 1600) && !defined(BOOST_HAS_CPP_0X)
-# define BOOST_HAS_CPP_0X
-#endif
-//
-// We may be in the middle of parsing boost/config.hpp
-// when this header is included, so don't rely on config
-// stuff in the rest of this header...
-//
-// Find our actual std lib:
-//
-#if defined(BOOST_HAS_INCLUDE_NEXT) && !defined(BOOST_TR1_DISABLE_INCLUDE_NEXT)
-//
-// We don't take this branch if BOOST_TR1_DISABLE_INCLUDE_NEXT
-// is defined as we may be installed in
-// /usr/include, in which case #include_next won't work as our
-// include path will occur AFTER the regular std lib one :-(
-//
-# ifndef BOOST_TR1_NO_RECURSION
-# define BOOST_TR1_NO_RECURSION
-# define BOOST_TR1_NO_CONFIG_ALL_RECURSION
-# endif
-# include_next <utility>
-# if (__GNUC__ < 3)
-# include_next <algorithm>
-# include_next <iterator>
-# endif
-# ifdef BOOST_TR1_NO_CONFIG_ALL_RECURSION
-# undef BOOST_TR1_NO_CONFIG_ALL_RECURSION
-# undef BOOST_TR1_NO_RECURSION
-# endif
-#else
-# include BOOST_TR1_STD_HEADER(utility)
-#endif
-
-#include <boost/tr1/detail/config.hpp>
-
-#endif
-
-
diff --git a/boost/tr1/tuple.hpp b/boost/tr1/tuple.hpp
deleted file mode 100644
index 7bc8169..0000000
--- a/boost/tr1/tuple.hpp
+++ /dev/null
@@ -1,82 +0,0 @@
-// (C) Copyright John Maddock 2005.
-// 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_TR1_TUPLE_HPP_INCLUDED
-# define BOOST_TR1_TUPLE_HPP_INCLUDED
-# include <boost/tr1/detail/config.hpp>
-
-#ifdef BOOST_HAS_TR1_TUPLE
-
-# if defined(BOOST_HAS_INCLUDE_NEXT) && !defined(BOOST_TR1_DISABLE_INCLUDE_NEXT)
-# include_next BOOST_TR1_HEADER(tuple)
-# else
-# include <boost/tr1/detail/config_all.hpp>
-# include BOOST_TR1_STD_HEADER(BOOST_TR1_PATH(tuple))
-# endif
-
-#else
-
-#if defined(BOOST_TR1_USE_OLD_TUPLE)
-
-#include <boost/tuple/tuple.hpp>
-#include <boost/tuple/tuple_comparison.hpp>
-#include <boost/type_traits/integral_constant.hpp>
-
-namespace std{ namespace tr1{
-
-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 <class T>
-struct tuple_size
- : public ::boost::integral_constant
- < ::std::size_t, ::boost::tuples::length<T>::value>
-{};
-
-template < int I, class T>
-struct tuple_element
-{
- typedef typename boost::tuples::element<I,T>::type type;
-};
-
-#if !BOOST_WORKAROUND(__BORLANDC__, < 0x0582)
-// [6.1.3.4] Element access
-using ::boost::get;
-#endif
-
-} } // namespaces
-
-#else
-
-#include <boost/fusion/include/tuple.hpp>
-#include <boost/fusion/include/std_pair.hpp>
-
-namespace std{ namespace tr1{
-
-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
-
-#endif
-
diff --git a/boost/tuple/detail/tuple_basic.hpp b/boost/tuple/detail/tuple_basic.hpp
deleted file mode 100644
index 88f0d90..0000000
--- a/boost/tuple/detail/tuple_basic.hpp
+++ /dev/null
@@ -1,980 +0,0 @@
-// tuple_basic.hpp -----------------------------------------------------
-
-// Copyright (C) 1999, 2000 Jaakko Jarvi (jaakko.jarvi at 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 http://www.boost.org
-
-// Outside help:
-// This and that, Gary Powell.
-// Fixed return types for get_head/get_tail
-// ( and other bugs ) per suggestion of Jens Maurer
-// simplified element type accessors + bug fix (Jeremy Siek)
-// Several changes/additions according to suggestions by Douglas Gregor,
-// William Kempf, Vesa Karvonen, John Max Skaller, Ed Brey, Beman Dawes,
-// David Abrahams.
-
-// Revision history:
-// 2002 05 01 Hugo Duncan: Fix for Borland after Jaakko's previous changes
-// 2002 04 18 Jaakko: tuple element types can be void or plain function
-// types, as long as no object is created.
-// Tuple objects can no hold even noncopyable types
-// such as arrays.
-// 2001 10 22 John Maddock
-// Fixes for Borland C++
-// 2001 08 30 David Abrahams
-// Added default constructor for cons<>.
-// -----------------------------------------------------------------
-
-#ifndef BOOST_TUPLE_BASIC_HPP
-#define BOOST_TUPLE_BASIC_HPP
-
-
-#include <utility> // needed for the assignment from pair to tuple
-
-#include "boost/type_traits/cv_traits.hpp"
-#include "boost/type_traits/function_traits.hpp"
-#include "boost/utility/swap.hpp"
-
-#include "boost/detail/workaround.hpp" // needed for BOOST_WORKAROUND
-
-namespace boost {
-namespace tuples {
-
-// -- null_type --------------------------------------------------------
-struct null_type {};
-
-// a helper function to provide a const null_type type temporary
-namespace detail {
- inline const null_type cnull() { return null_type(); }
-
-
-// -- if construct ------------------------------------------------
-// Proposed by Krzysztof Czarnecki and Ulrich Eisenecker
-
-template <bool If, class Then, class Else> struct IF { typedef Then RET; };
-
-template <class Then, class Else> struct IF<false, Then, Else> {
- typedef Else RET;
-};
-
-} // end detail
-
-// - cons forward declaration -----------------------------------------------
-template <class HT, class TT> struct cons;
-
-
-// - tuple forward declaration -----------------------------------------------
-template <
- class T0 = null_type, class T1 = null_type, class T2 = null_type,
- class T3 = null_type, class T4 = null_type, class T5 = null_type,
- class T6 = null_type, class T7 = null_type, class T8 = null_type,
- class T9 = null_type>
-class tuple;
-
-// tuple_length forward declaration
-template<class T> struct length;
-
-
-
-namespace detail {
-
-// -- generate error template, referencing to non-existing members of this
-// template is used to produce compilation errors intentionally
-template<class T>
-class generate_error;
-
-template<int N>
-struct drop_front {
- template<class Tuple>
- struct apply {
- typedef BOOST_DEDUCED_TYPENAME drop_front<N-1>::BOOST_NESTED_TEMPLATE
- apply<Tuple> next;
- typedef BOOST_DEDUCED_TYPENAME next::type::tail_type type;
- static const type& call(const Tuple& tup) {
- return next::call(tup).tail;
- }
- };
-};
-
-template<>
-struct drop_front<0> {
- template<class Tuple>
- struct apply {
- typedef Tuple type;
- static const type& call(const Tuple& tup) {
- return tup;
- }
- };
-};
-
-} // end of namespace detail
-
-
-// -cons type accessors ----------------------------------------
-// typename tuples::element<N,T>::type gets the type of the
-// Nth element ot T, first element is at index 0
-// -------------------------------------------------------
-
-#ifndef BOOST_NO_CV_SPECIALIZATIONS
-
-template<int N, class T>
-struct element
-{
- typedef BOOST_DEDUCED_TYPENAME detail::drop_front<N>::BOOST_NESTED_TEMPLATE
- apply<T>::type::head_type type;
-};
-
-template<int N, class T>
-struct element<N, const T>
-{
-private:
- typedef BOOST_DEDUCED_TYPENAME detail::drop_front<N>::BOOST_NESTED_TEMPLATE
- apply<T>::type::head_type unqualified_type;
-public:
-#if BOOST_WORKAROUND(__BORLANDC__,<0x600)
- typedef const unqualified_type type;
-#else
- typedef BOOST_DEDUCED_TYPENAME boost::add_const<unqualified_type>::type type;
-#endif
-};
-#else // def BOOST_NO_CV_SPECIALIZATIONS
-
-namespace detail {
-
-template<int N, class T, bool IsConst>
-struct element_impl
-{
- typedef BOOST_DEDUCED_TYPENAME detail::drop_front<N>::BOOST_NESTED_TEMPLATE
- apply<T>::type::head_type type;
-};
-
-template<int N, class T>
-struct element_impl<N, T, true /* IsConst */>
-{
- typedef BOOST_DEDUCED_TYPENAME detail::drop_front<N>::BOOST_NESTED_TEMPLATE
- apply<T>::type::head_type unqualified_type;
- typedef const unqualified_type type;
-};
-
-} // end of namespace detail
-
-
-template<int N, class T>
-struct element:
- public detail::element_impl<N, T, ::boost::is_const<T>::value>
-{
-};
-
-#endif
-
-
-// -get function templates -----------------------------------------------
-// Usage: get<N>(aTuple)
-
-// -- some traits classes for get functions
-
-// access traits lifted from detail namespace to be part of the interface,
-// (Joel de Guzman's suggestion). Rationale: get functions are part of the
-// interface, so should the way to express their return types be.
-
-template <class T> struct access_traits {
- typedef const T& const_type;
- typedef T& non_const_type;
-
- typedef const typename boost::remove_cv<T>::type& parameter_type;
-
-// used as the tuple constructors parameter types
-// Rationale: non-reference tuple element types can be cv-qualified.
-// It should be possible to initialize such types with temporaries,
-// and when binding temporaries to references, the reference must
-// be non-volatile and const. 8.5.3. (5)
-};
-
-template <class T> struct access_traits<T&> {
-
- typedef T& const_type;
- typedef T& non_const_type;
-
- typedef T& parameter_type;
-};
-
-// get function for non-const cons-lists, returns a reference to the element
-
-template<int N, class HT, class TT>
-inline typename access_traits<
- typename element<N, cons<HT, TT> >::type
- >::non_const_type
-get(cons<HT, TT>& c BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(int, N)) {
- typedef BOOST_DEDUCED_TYPENAME detail::drop_front<N>::BOOST_NESTED_TEMPLATE
- apply<cons<HT, TT> > impl;
- typedef BOOST_DEDUCED_TYPENAME impl::type cons_element;
- return const_cast<cons_element&>(impl::call(c)).head;
-}
-
-// get function for const cons-lists, returns a const reference to
-// the element. If the element is a reference, returns the reference
-// as such (that is, can return a non-const reference)
-template<int N, class HT, class TT>
-inline typename access_traits<
- typename element<N, cons<HT, TT> >::type
- >::const_type
-get(const cons<HT, TT>& c BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(int, N)) {
- typedef BOOST_DEDUCED_TYPENAME detail::drop_front<N>::BOOST_NESTED_TEMPLATE
- apply<cons<HT, TT> > impl;
- typedef BOOST_DEDUCED_TYPENAME impl::type cons_element;
- return impl::call(c).head;
-}
-
-// -- the cons template --------------------------------------------------
-namespace detail {
-
-// These helper templates wrap void types and plain function types.
-// The reationale is to allow one to write tuple types with those types
-// as elements, even though it is not possible to instantiate such object.
-// E.g: typedef tuple<void> some_type; // ok
-// but: some_type x; // fails
-
-template <class T> class non_storeable_type {
- non_storeable_type();
-};
-
-template <class T> struct wrap_non_storeable_type {
- typedef typename IF<
- ::boost::is_function<T>::value, non_storeable_type<T>, T
- >::RET type;
-};
-template <> struct wrap_non_storeable_type<void> {
- typedef non_storeable_type<void> type;
-};
-
-} // detail
-
-template <class HT, class TT>
-struct cons {
-
- typedef HT head_type;
- typedef TT tail_type;
-
- typedef typename
- detail::wrap_non_storeable_type<head_type>::type stored_head_type;
-
- stored_head_type head;
- tail_type tail;
-
- typename access_traits<stored_head_type>::non_const_type
- get_head() { return head; }
-
- typename access_traits<tail_type>::non_const_type
- get_tail() { return tail; }
-
- typename access_traits<stored_head_type>::const_type
- get_head() const { return head; }
-
- typename access_traits<tail_type>::const_type
- get_tail() const { return tail; }
-
- cons() : head(), tail() {}
- // cons() : head(detail::default_arg<HT>::f()), tail() {}
-
- // the argument for head is not strictly needed, but it prevents
- // array type elements. This is good, since array type elements
- // cannot be supported properly in any case (no assignment,
- // copy works only if the tails are exactly the same type, ...)
-
- cons(typename access_traits<stored_head_type>::parameter_type h,
- const tail_type& t)
- : head (h), tail(t) {}
-
- template <class T1, class T2, class T3, class T4, class T5,
- class T6, class T7, class T8, class T9, class T10>
- cons( T1& t1, T2& t2, T3& t3, T4& t4, T5& t5,
- T6& t6, T7& t7, T8& t8, T9& t9, T10& t10 )
- : head (t1),
- tail (t2, t3, t4, t5, t6, t7, t8, t9, t10, detail::cnull())
- {}
-
- template <class T2, class T3, class T4, class T5,
- class T6, class T7, class T8, class T9, class T10>
- cons( const null_type& /*t1*/, T2& t2, T3& t3, T4& t4, T5& t5,
- T6& t6, T7& t7, T8& t8, T9& t9, T10& t10 )
- : head (),
- tail (t2, t3, t4, t5, t6, t7, t8, t9, t10, detail::cnull())
- {}
-
-
- template <class HT2, class TT2>
- cons( const cons<HT2, TT2>& u ) : head(u.head), tail(u.tail) {}
-
- template <class HT2, class TT2>
- cons& operator=( const cons<HT2, TT2>& u ) {
- head=u.head; tail=u.tail; return *this;
- }
-
- // must define assignment operator explicitly, implicit version is
- // illformed if HT is a reference (12.8. (12))
- cons& operator=(const cons& u) {
- head = u.head; tail = u.tail; return *this;
- }
-
- template <class T1, class T2>
- cons& operator=( const std::pair<T1, T2>& u ) {
- BOOST_STATIC_ASSERT(length<cons>::value == 2); // check length = 2
- head = u.first; tail.head = u.second; return *this;
- }
-
- // get member functions (non-const and const)
- template <int N>
- typename access_traits<
- typename element<N, cons<HT, TT> >::type
- >::non_const_type
- get() {
- return boost::tuples::get<N>(*this); // delegate to non-member get
- }
-
- template <int N>
- typename access_traits<
- typename element<N, cons<HT, TT> >::type
- >::const_type
- get() const {
- return boost::tuples::get<N>(*this); // delegate to non-member get
- }
-};
-
-template <class HT>
-struct cons<HT, null_type> {
-
- typedef HT head_type;
- typedef null_type tail_type;
- typedef cons<HT, null_type> self_type;
-
- typedef typename
- detail::wrap_non_storeable_type<head_type>::type stored_head_type;
- stored_head_type head;
-
- typename access_traits<stored_head_type>::non_const_type
- get_head() { return head; }
-
- null_type get_tail() { return null_type(); }
-
- typename access_traits<stored_head_type>::const_type
- get_head() const { return head; }
-
- const null_type get_tail() const { return null_type(); }
-
- // cons() : head(detail::default_arg<HT>::f()) {}
- cons() : head() {}
-
- cons(typename access_traits<stored_head_type>::parameter_type h,
- const null_type& = null_type())
- : head (h) {}
-
- template<class T1>
- cons(T1& t1, const null_type&, const null_type&, const null_type&,
- const null_type&, const null_type&, const null_type&,
- const null_type&, const null_type&, const null_type&)
- : head (t1) {}
-
- cons(const null_type&,
- const null_type&, const null_type&, const null_type&,
- const null_type&, const null_type&, const null_type&,
- const null_type&, const null_type&, const null_type&)
- : head () {}
-
- template <class HT2>
- cons( const cons<HT2, null_type>& u ) : head(u.head) {}
-
- template <class HT2>
- cons& operator=(const cons<HT2, null_type>& u )
- { head = u.head; return *this; }
-
- // must define assignment operator explicitely, implicit version
- // is illformed if HT is a reference
- cons& operator=(const cons& u) { head = u.head; return *this; }
-
- template <int N>
- typename access_traits<
- typename element<N, self_type>::type
- >::non_const_type
- get(BOOST_EXPLICIT_TEMPLATE_NON_TYPE(int, N)) {
- return boost::tuples::get<N>(*this);
- }
-
- template <int N>
- typename access_traits<
- typename element<N, self_type>::type
- >::const_type
- get(BOOST_EXPLICIT_TEMPLATE_NON_TYPE(int, N)) const {
- return boost::tuples::get<N>(*this);
- }
-
-};
-
-// templates for finding out the length of the tuple -------------------
-
-template<class T>
-struct length {
- BOOST_STATIC_CONSTANT(int, value = 1 + length<typename T::tail_type>::value);
-};
-
-template<>
-struct length<tuple<> > {
- BOOST_STATIC_CONSTANT(int, value = 0);
-};
-
-template<>
-struct length<tuple<> const> {
- BOOST_STATIC_CONSTANT(int, value = 0);
-};
-
-template<>
-struct length<null_type> {
- BOOST_STATIC_CONSTANT(int, value = 0);
-};
-
-template<>
-struct length<null_type const> {
- BOOST_STATIC_CONSTANT(int, value = 0);
-};
-
-namespace detail {
-
-// Tuple to cons mapper --------------------------------------------------
-template <class T0, class T1, class T2, class T3, class T4,
- class T5, class T6, class T7, class T8, class T9>
-struct map_tuple_to_cons
-{
- typedef cons<T0,
- typename map_tuple_to_cons<T1, T2, T3, T4, T5,
- T6, T7, T8, T9, null_type>::type
- > type;
-};
-
-// The empty tuple is a null_type
-template <>
-struct map_tuple_to_cons<null_type, null_type, null_type, null_type, null_type, null_type, null_type, null_type, null_type, null_type>
-{
- typedef null_type type;
-};
-
-} // end detail
-
-// -------------------------------------------------------------------
-// -- tuple ------------------------------------------------------
-template <class T0, class T1, class T2, class T3, class T4,
- class T5, class T6, class T7, class T8, class T9>
-
-class tuple :
- public detail::map_tuple_to_cons<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>::type
-{
-public:
- typedef typename
- detail::map_tuple_to_cons<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>::type inherited;
- typedef typename inherited::head_type head_type;
- typedef typename inherited::tail_type tail_type;
-
-
-// access_traits<T>::parameter_type takes non-reference types as const T&
- tuple() {}
-
- tuple(typename access_traits<T0>::parameter_type t0)
- : inherited(t0, detail::cnull(), detail::cnull(), detail::cnull(),
- detail::cnull(), detail::cnull(), detail::cnull(),
- detail::cnull(), detail::cnull(), detail::cnull()) {}
-
- tuple(typename access_traits<T0>::parameter_type t0,
- typename access_traits<T1>::parameter_type t1)
- : inherited(t0, t1, detail::cnull(), detail::cnull(),
- detail::cnull(), detail::cnull(), detail::cnull(),
- detail::cnull(), detail::cnull(), detail::cnull()) {}
-
- tuple(typename access_traits<T0>::parameter_type t0,
- typename access_traits<T1>::parameter_type t1,
- typename access_traits<T2>::parameter_type t2)
- : inherited(t0, t1, t2, detail::cnull(), detail::cnull(),
- detail::cnull(), detail::cnull(), detail::cnull(),
- detail::cnull(), detail::cnull()) {}
-
- tuple(typename access_traits<T0>::parameter_type t0,
- typename access_traits<T1>::parameter_type t1,
- typename access_traits<T2>::parameter_type t2,
- typename access_traits<T3>::parameter_type t3)
- : inherited(t0, t1, t2, t3, detail::cnull(), detail::cnull(),
- detail::cnull(), detail::cnull(), detail::cnull(),
- detail::cnull()) {}
-
- tuple(typename access_traits<T0>::parameter_type t0,
- typename access_traits<T1>::parameter_type t1,
- typename access_traits<T2>::parameter_type t2,
- typename access_traits<T3>::parameter_type t3,
- typename access_traits<T4>::parameter_type t4)
- : inherited(t0, t1, t2, t3, t4, detail::cnull(), detail::cnull(),
- detail::cnull(), detail::cnull(), detail::cnull()) {}
-
- tuple(typename access_traits<T0>::parameter_type t0,
- typename access_traits<T1>::parameter_type t1,
- typename access_traits<T2>::parameter_type t2,
- typename access_traits<T3>::parameter_type t3,
- typename access_traits<T4>::parameter_type t4,
- typename access_traits<T5>::parameter_type t5)
- : inherited(t0, t1, t2, t3, t4, t5, detail::cnull(), detail::cnull(),
- detail::cnull(), detail::cnull()) {}
-
- tuple(typename access_traits<T0>::parameter_type t0,
- typename access_traits<T1>::parameter_type t1,
- typename access_traits<T2>::parameter_type t2,
- typename access_traits<T3>::parameter_type t3,
- typename access_traits<T4>::parameter_type t4,
- typename access_traits<T5>::parameter_type t5,
- typename access_traits<T6>::parameter_type t6)
- : inherited(t0, t1, t2, t3, t4, t5, t6, detail::cnull(),
- detail::cnull(), detail::cnull()) {}
-
- tuple(typename access_traits<T0>::parameter_type t0,
- typename access_traits<T1>::parameter_type t1,
- typename access_traits<T2>::parameter_type t2,
- typename access_traits<T3>::parameter_type t3,
- typename access_traits<T4>::parameter_type t4,
- typename access_traits<T5>::parameter_type t5,
- typename access_traits<T6>::parameter_type t6,
- typename access_traits<T7>::parameter_type t7)
- : inherited(t0, t1, t2, t3, t4, t5, t6, t7, detail::cnull(),
- detail::cnull()) {}
-
- tuple(typename access_traits<T0>::parameter_type t0,
- typename access_traits<T1>::parameter_type t1,
- typename access_traits<T2>::parameter_type t2,
- typename access_traits<T3>::parameter_type t3,
- typename access_traits<T4>::parameter_type t4,
- typename access_traits<T5>::parameter_type t5,
- typename access_traits<T6>::parameter_type t6,
- typename access_traits<T7>::parameter_type t7,
- typename access_traits<T8>::parameter_type t8)
- : inherited(t0, t1, t2, t3, t4, t5, t6, t7, t8, detail::cnull()) {}
-
- tuple(typename access_traits<T0>::parameter_type t0,
- typename access_traits<T1>::parameter_type t1,
- typename access_traits<T2>::parameter_type t2,
- typename access_traits<T3>::parameter_type t3,
- typename access_traits<T4>::parameter_type t4,
- typename access_traits<T5>::parameter_type t5,
- typename access_traits<T6>::parameter_type t6,
- typename access_traits<T7>::parameter_type t7,
- typename access_traits<T8>::parameter_type t8,
- typename access_traits<T9>::parameter_type t9)
- : inherited(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {}
-
-
- template<class U1, class U2>
- tuple(const cons<U1, U2>& p) : inherited(p) {}
-
- template <class U1, class U2>
- tuple& operator=(const cons<U1, U2>& k) {
- inherited::operator=(k);
- return *this;
- }
-
- template <class U1, class U2>
- tuple& operator=(const std::pair<U1, U2>& k) {
- BOOST_STATIC_ASSERT(length<tuple>::value == 2);// check_length = 2
- this->head = k.first;
- this->tail.head = k.second;
- return *this;
- }
-
-};
-
-// The empty tuple
-template <>
-class tuple<null_type, null_type, null_type, null_type, null_type, null_type, null_type, null_type, null_type, null_type> :
- public null_type
-{
-public:
- typedef null_type inherited;
-};
-
-
-// Swallows any assignment (by Doug Gregor)
-namespace detail {
-
-struct swallow_assign;
-typedef void (detail::swallow_assign::*ignore_t)();
-struct swallow_assign {
- swallow_assign(ignore_t(*)(ignore_t)) {}
- template<typename T>
- swallow_assign const& operator=(const T&) const {
- return *this;
- }
-};
-
-
-} // namespace detail
-
-// "ignore" allows tuple positions to be ignored when using "tie".
-inline detail::ignore_t ignore(detail::ignore_t) { return 0; }
-
-// ---------------------------------------------------------------------------
-// The call_traits for make_tuple
-// Honours the reference_wrapper class.
-
-// Must be instantiated with plain or const plain types (not with references)
-
-// from template<class T> foo(const T& t) : make_tuple_traits<const T>::type
-// from template<class T> foo(T& t) : make_tuple_traits<T>::type
-
-// Conversions:
-// T -> T,
-// references -> compile_time_error
-// reference_wrapper<T> -> T&
-// const reference_wrapper<T> -> T&
-// array -> const ref array
-
-
-template<class T>
-struct make_tuple_traits {
- typedef T type;
-
- // commented away, see below (JJ)
- // typedef typename IF<
- // boost::is_function<T>::value,
- // T&,
- // T>::RET type;
-
-};
-
-// The is_function test was there originally for plain function types,
-// which can't be stored as such (we must either store them as references or
-// pointers). Such a type could be formed if make_tuple was called with a
-// reference to a function.
-// But this would mean that a const qualified function type was formed in
-// the make_tuple function and hence make_tuple can't take a function
-// reference as a parameter, and thus T can't be a function type.
-// So is_function test was removed.
-// (14.8.3. says that type deduction fails if a cv-qualified function type
-// is created. (It only applies for the case of explicitly specifying template
-// args, though?)) (JJ)
-
-template<class T>
-struct make_tuple_traits<T&> {
- typedef typename
- detail::generate_error<T&>::
- do_not_use_with_reference_type error;
-};
-
-// Arrays can't be stored as plain types; convert them to references.
-// All arrays are converted to const. This is because make_tuple takes its
-// parameters as const T& and thus the knowledge of the potential
-// non-constness of actual argument is lost.
-template<class T, int n> struct make_tuple_traits <T[n]> {
- typedef const T (&type)[n];
-};
-
-template<class T, int n>
-struct make_tuple_traits<const T[n]> {
- typedef const T (&type)[n];
-};
-
-template<class T, int n> struct make_tuple_traits<volatile T[n]> {
- typedef const volatile T (&type)[n];
-};
-
-template<class T, int n>
-struct make_tuple_traits<const volatile T[n]> {
- typedef const volatile T (&type)[n];
-};
-
-template<class T>
-struct make_tuple_traits<reference_wrapper<T> >{
- typedef T& type;
-};
-
-template<class T>
-struct make_tuple_traits<const reference_wrapper<T> >{
- typedef T& type;
-};
-
-template<>
-struct make_tuple_traits<detail::ignore_t(detail::ignore_t)> {
- typedef detail::swallow_assign type;
-};
-
-
-
-namespace detail {
-
-// a helper traits to make the make_tuple functions shorter (Vesa Karvonen's
-// suggestion)
-template <
- class T0 = null_type, class T1 = null_type, class T2 = null_type,
- class T3 = null_type, class T4 = null_type, class T5 = null_type,
- class T6 = null_type, class T7 = null_type, class T8 = null_type,
- class T9 = null_type
->
-struct make_tuple_mapper {
- typedef
- tuple<typename make_tuple_traits<T0>::type,
- typename make_tuple_traits<T1>::type,
- typename make_tuple_traits<T2>::type,
- typename make_tuple_traits<T3>::type,
- typename make_tuple_traits<T4>::type,
- typename make_tuple_traits<T5>::type,
- typename make_tuple_traits<T6>::type,
- typename make_tuple_traits<T7>::type,
- typename make_tuple_traits<T8>::type,
- typename make_tuple_traits<T9>::type> type;
-};
-
-} // end detail
-
-// -make_tuple function templates -----------------------------------
-inline tuple<> make_tuple() {
- return tuple<>();
-}
-
-template<class T0>
-inline typename detail::make_tuple_mapper<T0>::type
-make_tuple(const T0& t0) {
- typedef typename detail::make_tuple_mapper<T0>::type t;
- return t(t0);
-}
-
-template<class T0, class T1>
-inline typename detail::make_tuple_mapper<T0, T1>::type
-make_tuple(const T0& t0, const T1& t1) {
- typedef typename detail::make_tuple_mapper<T0, T1>::type t;
- return t(t0, t1);
-}
-
-template<class T0, class T1, class T2>
-inline typename detail::make_tuple_mapper<T0, T1, T2>::type
-make_tuple(const T0& t0, const T1& t1, const T2& t2) {
- typedef typename detail::make_tuple_mapper<T0, T1, T2>::type t;
- return t(t0, t1, t2);
-}
-
-template<class T0, class T1, class T2, class T3>
-inline typename detail::make_tuple_mapper<T0, T1, T2, T3>::type
-make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3) {
- typedef typename detail::make_tuple_mapper<T0, T1, T2, T3>::type t;
- return t(t0, t1, t2, t3);
-}
-
-template<class T0, class T1, class T2, class T3, class T4>
-inline typename detail::make_tuple_mapper<T0, T1, T2, T3, T4>::type
-make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3,
- const T4& t4) {
- typedef typename detail::make_tuple_mapper<T0, T1, T2, T3, T4>::type t;
- return t(t0, t1, t2, t3, t4);
-}
-
-template<class T0, class T1, class T2, class T3, class T4, class T5>
-inline typename detail::make_tuple_mapper<T0, T1, T2, T3, T4, T5>::type
-make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3,
- const T4& t4, const T5& t5) {
- typedef typename detail::make_tuple_mapper<T0, T1, T2, T3, T4, T5>::type t;
- return t(t0, t1, t2, t3, t4, t5);
-}
-
-template<class T0, class T1, class T2, class T3, class T4, class T5, class T6>
-inline typename detail::make_tuple_mapper<T0, T1, T2, T3, T4, T5, T6>::type
-make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3,
- const T4& t4, const T5& t5, const T6& t6) {
- typedef typename detail::make_tuple_mapper
- <T0, T1, T2, T3, T4, T5, T6>::type t;
- return t(t0, t1, t2, t3, t4, t5, t6);
-}
-
-template<class T0, class T1, class T2, class T3, class T4, class T5, class T6,
- class T7>
-inline typename detail::make_tuple_mapper<T0, T1, T2, T3, T4, T5, T6, T7>::type
-make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3,
- const T4& t4, const T5& t5, const T6& t6, const T7& t7) {
- typedef typename detail::make_tuple_mapper
- <T0, T1, T2, T3, T4, T5, T6, T7>::type t;
- return t(t0, t1, t2, t3, t4, t5, t6, t7);
-}
-
-template<class T0, class T1, class T2, class T3, class T4, class T5, class T6,
- class T7, class T8>
-inline typename detail::make_tuple_mapper
- <T0, T1, T2, T3, T4, T5, T6, T7, T8>::type
-make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3,
- const T4& t4, const T5& t5, const T6& t6, const T7& t7,
- const T8& t8) {
- typedef typename detail::make_tuple_mapper
- <T0, T1, T2, T3, T4, T5, T6, T7, T8>::type t;
- return t(t0, t1, t2, t3, t4, t5, t6, t7, t8);
-}
-
-template<class T0, class T1, class T2, class T3, class T4, class T5, class T6,
- class T7, class T8, class T9>
-inline typename detail::make_tuple_mapper
- <T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>::type
-make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3,
- const T4& t4, const T5& t5, const T6& t6, const T7& t7,
- const T8& t8, const T9& t9) {
- typedef typename detail::make_tuple_mapper
- <T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>::type t;
- return t(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9);
-}
-
-namespace detail {
-
-template<class T>
-struct tie_traits {
- typedef T& type;
-};
-
-template<>
-struct tie_traits<ignore_t(ignore_t)> {
- typedef swallow_assign type;
-};
-
-template<>
-struct tie_traits<void> {
- typedef null_type type;
-};
-
-template <
- class T0 = void, class T1 = void, class T2 = void,
- class T3 = void, class T4 = void, class T5 = void,
- class T6 = void, class T7 = void, class T8 = void,
- class T9 = void
->
-struct tie_mapper {
- typedef
- tuple<typename tie_traits<T0>::type,
- typename tie_traits<T1>::type,
- typename tie_traits<T2>::type,
- typename tie_traits<T3>::type,
- typename tie_traits<T4>::type,
- typename tie_traits<T5>::type,
- typename tie_traits<T6>::type,
- typename tie_traits<T7>::type,
- typename tie_traits<T8>::type,
- typename tie_traits<T9>::type> type;
-};
-
-}
-
-// Tie function templates -------------------------------------------------
-template<class T0>
-inline typename detail::tie_mapper<T0>::type
-tie(T0& t0) {
- typedef typename detail::tie_mapper<T0>::type t;
- return t(t0);
-}
-
-template<class T0, class T1>
-inline typename detail::tie_mapper<T0, T1>::type
-tie(T0& t0, T1& t1) {
- typedef typename detail::tie_mapper<T0, T1>::type t;
- return t(t0, t1);
-}
-
-template<class T0, class T1, class T2>
-inline typename detail::tie_mapper<T0, T1, T2>::type
-tie(T0& t0, T1& t1, T2& t2) {
- typedef typename detail::tie_mapper<T0, T1, T2>::type t;
- return t(t0, t1, t2);
-}
-
-template<class T0, class T1, class T2, class T3>
-inline typename detail::tie_mapper<T0, T1, T2, T3>::type
-tie(T0& t0, T1& t1, T2& t2, T3& t3) {
- typedef typename detail::tie_mapper<T0, T1, T2, T3>::type t;
- return t(t0, t1, t2, t3);
-}
-
-template<class T0, class T1, class T2, class T3, class T4>
-inline typename detail::tie_mapper<T0, T1, T2, T3, T4>::type
-tie(T0& t0, T1& t1, T2& t2, T3& t3,
- T4& t4) {
- typedef typename detail::tie_mapper<T0, T1, T2, T3, T4>::type t;
- return t(t0, t1, t2, t3, t4);
-}
-
-template<class T0, class T1, class T2, class T3, class T4, class T5>
-inline typename detail::tie_mapper<T0, T1, T2, T3, T4, T5>::type
-tie(T0& t0, T1& t1, T2& t2, T3& t3,
- T4& t4, T5& t5) {
- typedef typename detail::tie_mapper<T0, T1, T2, T3, T4, T5>::type t;
- return t(t0, t1, t2, t3, t4, t5);
-}
-
-template<class T0, class T1, class T2, class T3, class T4, class T5, class T6>
-inline typename detail::tie_mapper<T0, T1, T2, T3, T4, T5, T6>::type
-tie(T0& t0, T1& t1, T2& t2, T3& t3,
- T4& t4, T5& t5, T6& t6) {
- typedef typename detail::tie_mapper
- <T0, T1, T2, T3, T4, T5, T6>::type t;
- return t(t0, t1, t2, t3, t4, t5, t6);
-}
-
-template<class T0, class T1, class T2, class T3, class T4, class T5, class T6,
- class T7>
-inline typename detail::tie_mapper<T0, T1, T2, T3, T4, T5, T6, T7>::type
-tie(T0& t0, T1& t1, T2& t2, T3& t3,
- T4& t4, T5& t5, T6& t6, T7& t7) {
- typedef typename detail::tie_mapper
- <T0, T1, T2, T3, T4, T5, T6, T7>::type t;
- return t(t0, t1, t2, t3, t4, t5, t6, t7);
-}
-
-template<class T0, class T1, class T2, class T3, class T4, class T5, class T6,
- class T7, class T8>
-inline typename detail::tie_mapper
- <T0, T1, T2, T3, T4, T5, T6, T7, T8>::type
-tie(T0& t0, T1& t1, T2& t2, T3& t3,
- T4& t4, T5& t5, T6& t6, T7& t7,
- T8& t8) {
- typedef typename detail::tie_mapper
- <T0, T1, T2, T3, T4, T5, T6, T7, T8>::type t;
- return t(t0, t1, t2, t3, t4, t5, t6, t7, t8);
-}
-
-template<class T0, class T1, class T2, class T3, class T4, class T5, class T6,
- class T7, class T8, class T9>
-inline typename detail::tie_mapper
- <T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>::type
-tie(T0& t0, T1& t1, T2& t2, T3& t3,
- T4& t4, T5& t5, T6& t6, T7& t7,
- T8& t8, T9& t9) {
- typedef typename detail::tie_mapper
- <T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>::type t;
- return t(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9);
-}
-
-template <class T0, class T1, class T2, class T3, class T4,
- class T5, class T6, class T7, class T8, class T9>
-void swap(tuple<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>& lhs,
- tuple<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>& rhs);
-inline void swap(null_type&, null_type&) {}
-template<class HH>
-inline void swap(cons<HH, null_type>& lhs, cons<HH, null_type>& rhs) {
- ::boost::swap(lhs.head, rhs.head);
-}
-template<class HH, class TT>
-inline void swap(cons<HH, TT>& lhs, cons<HH, TT>& rhs) {
- ::boost::swap(lhs.head, rhs.head);
- ::boost::tuples::swap(lhs.tail, rhs.tail);
-}
-template <class T0, class T1, class T2, class T3, class T4,
- class T5, class T6, class T7, class T8, class T9>
-inline void swap(tuple<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>& lhs,
- tuple<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>& rhs) {
- typedef tuple<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> tuple_type;
- typedef typename tuple_type::inherited base;
- ::boost::tuples::swap(static_cast<base&>(lhs), static_cast<base&>(rhs));
-}
-
-} // end of namespace tuples
-} // end of namespace boost
-
-
-#endif // BOOST_TUPLE_BASIC_HPP
-
-
diff --git a/boost/tuple/detail/tuple_basic_no_partial_spec.hpp b/boost/tuple/detail/tuple_basic_no_partial_spec.hpp
deleted file mode 100644
index 7379bf8..0000000
--- a/boost/tuple/detail/tuple_basic_no_partial_spec.hpp
+++ /dev/null
@@ -1,865 +0,0 @@
-// - tuple_basic_no_partial_spec.hpp -----------------------------------------
-
-// Copyright (C) 1999, 2000 Jaakko Jarvi (jaakko.jarvi at cs.utu.fi)
-// Copyright (C) 2001 Douglas Gregor (gregod at rpi.edu)
-// Copyright (C) 2001 Gary Powell (gary.powell at sierra.com)
-//
-// Distributed under the 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 or http://lambda.cs.utu.fi
-
-// Revision History
-// 14 02 01 Remove extra ';'. Also, fixed 10-parameter to make_tuple. (DG)
-// 10 02 01 Fixed "null_type" constructors.
-// Implemented comparison operators globally.
-// Hide element_type_ref and element_type_const_ref.
-// (DG).
-// 09 02 01 Extended to tuples of length 10. Changed comparison for
-// operator<()
-// to the same used by std::pair<>, added cnull_type() (GP)
-// 03 02 01 Initial Version from original tuple.hpp code by JJ. (DG)
-
-// -----------------------------------------------------------------
-
-#ifndef BOOST_TUPLE_BASIC_NO_PARTIAL_SPEC_HPP
-#define BOOST_TUPLE_BASIC_NO_PARTIAL_SPEC_HPP
-
-#include "boost/type_traits.hpp"
-#include "boost/utility/swap.hpp"
-#include <utility>
-
-#if defined BOOST_MSVC
-#pragma warning(disable:4518) // storage-class or type specifier(s) unexpected here; ignored
-#pragma warning(disable:4181) // qualifier applied to reference type ignored
-#pragma warning(disable:4227) // qualifier applied to reference type ignored
-#endif
-
-namespace boost {
-namespace tuples {
-
- // null_type denotes the end of a list built with "cons"
- struct null_type
- {
- null_type() {}
- null_type(const null_type&, const null_type&) {}
- };
-
- // a helper function to provide a const null_type type temporary
- inline const null_type cnull_type() { return null_type(); }
-
-// forward declaration of tuple
- template<
- typename T1 = null_type,
- typename T2 = null_type,
- typename T3 = null_type,
- typename T4 = null_type,
- typename T5 = null_type,
- typename T6 = null_type,
- typename T7 = null_type,
- typename T8 = null_type,
- typename T9 = null_type,
- typename T10 = null_type
- >
- class tuple;
-
-// forward declaration of cons
- template<typename Head, typename Tail = null_type>
- struct cons;
-
- namespace detail {
-
- // Takes a pointer and routes all assignments to whatever it points to
- template<typename T>
- struct assign_to_pointee
- {
- public:
- explicit assign_to_pointee(T* p) : ptr(p) {}
-
- template<typename Other>
- assign_to_pointee& operator=(const Other& other)
- {
- *ptr = other;
- return *this;
- }
-
- private:
- T* ptr;
- };
-
- // Swallows any assignment
- struct swallow_assign
- {
- template<typename T>
- swallow_assign const& operator=(const T&) const
- {
- return *this;
- }
- };
-
- template <typename T> struct add_const_reference : add_reference<typename add_const<T>::type> {};
-
- template <class MyTail>
- struct init_tail
- {
- // Each of vc6 and vc7 seem to require a different formulation
- // of this return type
- template <class H, class T>
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
- static typename add_reference<typename add_const<T>::type>::type
-#else
- static typename add_const_reference<T>::type
-#endif
- execute( cons<H,T> const& u, long )
- {
- return u.get_tail();
- }
- };
-
- template <>
- struct init_tail<null_type>
- {
- template <class H>
- static null_type execute( cons<H,null_type> const& u, long )
- {
- return null_type();
- }
-
- template <class U>
- static null_type execute(U const&, ...)
- {
- return null_type();
- }
- private:
- template <class H, class T>
- void execute( cons<H,T> const&, int);
- };
-
- template <class Other>
- Other const&
- init_head( Other const& u, ... )
- {
- return u;
- }
-
- template <class H, class T>
- typename add_reference<typename add_const<H>::type>::type
- init_head( cons<H,T> const& u, int )
- {
- return u.get_head();
- }
-
- inline char**** init_head(null_type const&, int);
-
- } // end of namespace detail
-
- // cons builds a heterogenous list of types
- template<typename Head, typename Tail>
- struct cons
- {
- typedef cons self_type;
- typedef Head head_type;
- typedef Tail tail_type;
-
- private:
- typedef typename boost::add_reference<head_type>::type head_ref;
- typedef typename boost::add_reference<tail_type>::type tail_ref;
- typedef typename detail::add_const_reference<head_type>::type head_cref;
- typedef typename detail::add_const_reference<tail_type>::type tail_cref;
- public:
- head_type head;
- tail_type tail;
-
- head_ref get_head() { return head; }
- tail_ref get_tail() { return tail; }
-
- head_cref get_head() const { return head; }
- tail_cref get_tail() const { return tail; }
-
- cons() : head(), tail() {}
-
-#if defined BOOST_MSVC
- template<typename Tail>
- cons(head_cref h /* = head_type() */, // causes MSVC 6.5 to barf.
- const Tail& t) : head(h), tail(t.head, t.tail)
- {
- }
-
- cons(head_cref h /* = head_type() */, // causes MSVC 6.5 to barf.
- const null_type& t) : head(h), tail(t)
- {
- }
-
-#else
- template<typename T>
- explicit cons(head_cref h, const T& t) :
- head(h), tail(t.head, t.tail)
- {
- }
-
- explicit cons(head_cref h = head_type(),
- tail_cref t = tail_type()) :
- head(h), tail(t)
- {
- }
-#endif
-
- template <class U>
- cons( const U& u )
- : head(detail::init_head(u, 0))
- , tail(detail::init_tail<Tail>::execute(u, 0L))
- {
- }
-
- template<typename Other>
- cons& operator=(const Other& other)
- {
- head = other.head;
- tail = other.tail;
- return *this;
- }
- };
-
- namespace detail {
-
- // Determines if the parameter is null_type
- template<typename T> struct is_null_type { enum { RET = 0 }; };
- template<> struct is_null_type<null_type> { enum { RET = 1 }; };
-
- /* Build a cons structure from the given Head and Tail. If both are null_type,
- return null_type. */
- template<typename Head, typename Tail>
- struct build_cons
- {
- private:
- enum { tail_is_null_type = is_null_type<Tail>::RET };
- public:
- typedef cons<Head, Tail> RET;
- };
-
- template<>
- struct build_cons<null_type, null_type>
- {
- typedef null_type RET;
- };
-
- // Map the N elements of a tuple into a cons list
- template<
- typename T1,
- typename T2 = null_type,
- typename T3 = null_type,
- typename T4 = null_type,
- typename T5 = null_type,
- typename T6 = null_type,
- typename T7 = null_type,
- typename T8 = null_type,
- typename T9 = null_type,
- typename T10 = null_type
- >
- struct map_tuple_to_cons
- {
- typedef typename detail::build_cons<T10, null_type >::RET cons10;
- typedef typename detail::build_cons<T9, cons10>::RET cons9;
- typedef typename detail::build_cons<T8, cons9>::RET cons8;
- typedef typename detail::build_cons<T7, cons8>::RET cons7;
- typedef typename detail::build_cons<T6, cons7>::RET cons6;
- typedef typename detail::build_cons<T5, cons6>::RET cons5;
- typedef typename detail::build_cons<T4, cons5>::RET cons4;
- typedef typename detail::build_cons<T3, cons4>::RET cons3;
- typedef typename detail::build_cons<T2, cons3>::RET cons2;
- typedef typename detail::build_cons<T1, cons2>::RET cons1;
- };
-
- // Workaround the lack of partial specialization in some compilers
- template<int N>
- struct _element_type
- {
- template<typename Tuple>
- struct inner
- {
- private:
- typedef typename Tuple::tail_type tail_type;
- typedef _element_type<N-1> next_elt_type;
-
- public:
- typedef typename _element_type<N-1>::template inner<tail_type>::RET RET;
- };
- };
-
- template<>
- struct _element_type<0>
- {
- template<typename Tuple>
- struct inner
- {
- typedef typename Tuple::head_type RET;
- };
- };
-
- } // namespace detail
-
-
- // Return the Nth type of the given Tuple
- template<int N, typename Tuple>
- struct element
- {
- private:
- typedef detail::_element_type<N> nth_type;
-
- public:
- typedef typename nth_type::template inner<Tuple>::RET RET;
- typedef RET type;
- };
-
- namespace detail {
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC == 1300)
- // special workaround for vc7:
-
- template <bool x>
- struct reference_adder
- {
- template <class T>
- struct rebind
- {
- typedef T& type;
- };
- };
-
- template <>
- struct reference_adder<true>
- {
- template <class T>
- struct rebind
- {
- typedef T type;
- };
- };
-
-
- // Return a reference to the Nth type of the given Tuple
- template<int N, typename Tuple>
- struct element_ref
- {
- private:
- typedef typename element<N, Tuple>::RET elt_type;
- enum { is_ref = is_reference<elt_type>::value };
-
- public:
- typedef reference_adder<is_ref>::rebind<elt_type>::type RET;
- typedef RET type;
- };
-
- // Return a const reference to the Nth type of the given Tuple
- template<int N, typename Tuple>
- struct element_const_ref
- {
- private:
- typedef typename element<N, Tuple>::RET elt_type;
- enum { is_ref = is_reference<elt_type>::value };
-
- public:
- typedef reference_adder<is_ref>::rebind<const elt_type>::type RET;
- typedef RET type;
- };
-
-#else // vc7
-
- // Return a reference to the Nth type of the given Tuple
- template<int N, typename Tuple>
- struct element_ref
- {
- private:
- typedef typename element<N, Tuple>::RET elt_type;
-
- public:
- typedef typename add_reference<elt_type>::type RET;
- typedef RET type;
- };
-
- // Return a const reference to the Nth type of the given Tuple
- template<int N, typename Tuple>
- struct element_const_ref
- {
- private:
- typedef typename element<N, Tuple>::RET elt_type;
-
- public:
- typedef typename add_reference<const elt_type>::type RET;
- typedef RET type;
- };
-#endif // vc7
-
- } // namespace detail
-
- // Get length of this tuple
- template<typename Tuple>
- struct length
- {
- BOOST_STATIC_CONSTANT(int, value = 1 + length<typename Tuple::tail_type>::value);
- };
-
- template<> struct length<tuple<> > {
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-
- template<>
- struct length<null_type>
- {
- BOOST_STATIC_CONSTANT(int, value = 0);
- };
-
- namespace detail {
-
- // Reference the Nth element in a tuple and retrieve it with "get"
- template<int N>
- struct get_class
- {
- template<typename Head, typename Tail>
- static inline
- typename detail::element_ref<N, cons<Head, Tail> >::RET
- get(cons<Head, Tail>& t)
- {
- return get_class<N-1>::get(t.tail);
- }
-
- template<typename Head, typename Tail>
- static inline
- typename detail::element_const_ref<N, cons<Head, Tail> >::RET
- get(const cons<Head, Tail>& t)
- {
- return get_class<N-1>::get(t.tail);
- }
- };
-
- template<>
- struct get_class<0>
- {
- template<typename Head, typename Tail>
- static inline
- typename add_reference<Head>::type
- get(cons<Head, Tail>& t)
- {
- return t.head;
- }
-
- template<typename Head, typename Tail>
- static inline
- typename add_reference<const Head>::type
- get(const cons<Head, Tail>& t)
- {
- return t.head;
- }
- };
-
- } // namespace detail
-
- // tuple class
- template<
- typename T1,
- typename T2,
- typename T3,
- typename T4,
- typename T5,
- typename T6,
- typename T7,
- typename T8,
- typename T9,
- typename T10
- >
- class tuple :
- public detail::map_tuple_to_cons<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>::cons1
- {
- private:
- typedef detail::map_tuple_to_cons<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> mapped_tuple;
- typedef typename mapped_tuple::cons10 cons10;
- typedef typename mapped_tuple::cons9 cons9;
- typedef typename mapped_tuple::cons8 cons8;
- typedef typename mapped_tuple::cons7 cons7;
- typedef typename mapped_tuple::cons6 cons6;
- typedef typename mapped_tuple::cons5 cons5;
- typedef typename mapped_tuple::cons4 cons4;
- typedef typename mapped_tuple::cons3 cons3;
- typedef typename mapped_tuple::cons2 cons2;
- typedef typename mapped_tuple::cons1 cons1;
-
- typedef typename detail::add_const_reference<T1>::type t1_cref;
- typedef typename detail::add_const_reference<T2>::type t2_cref;
- typedef typename detail::add_const_reference<T3>::type t3_cref;
- typedef typename detail::add_const_reference<T4>::type t4_cref;
- typedef typename detail::add_const_reference<T5>::type t5_cref;
- typedef typename detail::add_const_reference<T6>::type t6_cref;
- typedef typename detail::add_const_reference<T7>::type t7_cref;
- typedef typename detail::add_const_reference<T8>::type t8_cref;
- typedef typename detail::add_const_reference<T9>::type t9_cref;
- typedef typename detail::add_const_reference<T10>::type t10_cref;
- public:
- typedef cons1 inherited;
- typedef tuple self_type;
-
- tuple() : cons1(T1(), cons2(T2(), cons3(T3(), cons4(T4(), cons5(T5(), cons6(T6(),cons7(T7(),cons8(T8(),cons9(T9(),cons10(T10()))))))))))
- {}
-
- tuple(
- t1_cref t1,
- t2_cref t2,
- t3_cref t3 = T3(),
- t4_cref t4 = T4(),
- t5_cref t5 = T5(),
- t6_cref t6 = T6(),
- t7_cref t7 = T7(),
- t8_cref t8 = T8(),
- t9_cref t9 = T9(),
- t10_cref t10 = T10()
- ) :
- cons1(t1, cons2(t2, cons3(t3, cons4(t4, cons5(t5, cons6(t6,cons7(t7,cons8(t8,cons9(t9,cons10(t10))))))))))
- {
- }
-
- explicit tuple(t1_cref t1)
- : cons1(t1, cons2(T2(), cons3(T3(), cons4(T4(), cons5(T5(), cons6(T6(),cons7(T7(),cons8(T8(),cons9(T9(),cons10(T10()))))))))))
- {}
-
- template<typename Head, typename Tail>
- tuple(const cons<Head, Tail>& other) :
- cons1(other.head, other.tail)
- {
- }
-
- template<typename First, typename Second>
- self_type& operator=(const std::pair<First, Second>& other)
- {
- this->head = other.first;
- this->tail.head = other.second;
- return *this;
- }
-
- template<typename Head, typename Tail>
- self_type& operator=(const cons<Head, Tail>& other)
- {
- this->head = other.head;
- this->tail = other.tail;
-
- return *this;
- }
- };
-
- namespace detail {
-
- template<int N> struct workaround_holder {};
-
- } // namespace detail
-
- template<int N, typename Head, typename Tail>
- typename detail::element_ref<N, cons<Head, Tail> >::RET
- get(cons<Head, Tail>& t, detail::workaround_holder<N>* = 0)
- {
- return detail::get_class<N>::get(t);
- }
-
- template<int N, typename Head, typename Tail>
- typename detail::element_const_ref<N, cons<Head, Tail> >::RET
- get(const cons<Head, Tail>& t, detail::workaround_holder<N>* = 0)
- {
- return detail::get_class<N>::get(t);
- }
-
- // Make a tuple
- template<typename T1>
- inline
- tuple<T1>
- make_tuple(const T1& t1)
- {
- return tuple<T1>(t1);
- }
-
- // Make a tuple
- template<typename T1, typename T2>
- inline
- tuple<T1, T2>
- make_tuple(const T1& t1, const T2& t2)
- {
- return tuple<T1, T2>(t1, t2);
- }
-
- // Make a tuple
- template<typename T1, typename T2, typename T3>
- inline
- tuple<T1, T2, T3>
- make_tuple(const T1& t1, const T2& t2, const T3& t3)
- {
- return tuple<T1, T2, T3>(t1, t2, t3);
- }
-
- // Make a tuple
- template<typename T1, typename T2, typename T3, typename T4>
- inline
- tuple<T1, T2, T3, T4>
- make_tuple(const T1& t1, const T2& t2, const T3& t3, const T4& t4)
- {
- return tuple<T1, T2, T3, T4>(t1, t2, t3, t4);
- }
-
- // Make a tuple
- template<typename T1, typename T2, typename T3, typename T4, typename T5>
- inline
- tuple<T1, T2, T3, T4, T5>
- make_tuple(const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5)
- {
- return tuple<T1, T2, T3, T4, T5>(t1, t2, t3, t4, t5);
- }
-
- // Make a tuple
- template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6>
- inline
- tuple<T1, T2, T3, T4, T5, T6>
- make_tuple(const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6)
- {
- return tuple<T1, T2, T3, T4, T5, T6>(t1, t2, t3, t4, t5, t6);
- }
-
- // Make a tuple
- template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7>
- inline
- tuple<T1, T2, T3, T4, T5, T6, T7>
- make_tuple(const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7)
- {
- return tuple<T1, T2, T3, T4, T5, T6, T7>(t1, t2, t3, t4, t5, t6, t7);
- }
-
- // Make a tuple
- template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8>
- inline
- tuple<T1, T2, T3, T4, T5, T6, T7, T8>
- make_tuple(const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8)
- {
- return tuple<T1, T2, T3, T4, T5, T6, T7, T8>(t1, t2, t3, t4, t5, t6, t7, t8);
- }
-
- // Make a tuple
- template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9>
- inline
- tuple<T1, T2, T3, T4, T5, T6, T7, T8, T9>
- make_tuple(const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8, const T9& t9)
- {
- return tuple<T1, T2, T3, T4, T5, T6, T7, T8, T9>(t1, t2, t3, t4, t5, t6, t7, t8, t9);
- }
-
- // Make a tuple
- template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10>
- inline
- tuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>
- make_tuple(const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8, const T9& t9, const T10& t10)
- {
- return tuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10);
- }
-
- // Tie variables into a tuple
- template<typename T1>
- inline
- tuple<detail::assign_to_pointee<T1> >
- tie(T1& t1)
- {
- return make_tuple(detail::assign_to_pointee<T1>(&t1));
- }
-
- // Tie variables into a tuple
- template<typename T1, typename T2>
- inline
- tuple<detail::assign_to_pointee<T1>,
- detail::assign_to_pointee<T2> >
- tie(T1& t1, T2& t2)
- {
- return make_tuple(detail::assign_to_pointee<T1>(&t1),
- detail::assign_to_pointee<T2>(&t2));
- }
-
- // Tie variables into a tuple
- template<typename T1, typename T2, typename T3>
- inline
- tuple<detail::assign_to_pointee<T1>,
- detail::assign_to_pointee<T2>,
- detail::assign_to_pointee<T3> >
- tie(T1& t1, T2& t2, T3& t3)
- {
- return make_tuple(detail::assign_to_pointee<T1>(&t1),
- detail::assign_to_pointee<T2>(&t2),
- detail::assign_to_pointee<T3>(&t3));
- }
-
- // Tie variables into a tuple
- template<typename T1, typename T2, typename T3, typename T4>
- inline
- tuple<detail::assign_to_pointee<T1>,
- detail::assign_to_pointee<T2>,
- detail::assign_to_pointee<T3>,
- detail::assign_to_pointee<T4> >
- tie(T1& t1, T2& t2, T3& t3, T4& t4)
- {
- return make_tuple(detail::assign_to_pointee<T1>(&t1),
- detail::assign_to_pointee<T2>(&t2),
- detail::assign_to_pointee<T3>(&t3),
- detail::assign_to_pointee<T4>(&t4));
- }
-
- // Tie variables into a tuple
- template<typename T1, typename T2, typename T3, typename T4, typename T5>
- inline
- tuple<detail::assign_to_pointee<T1>,
- detail::assign_to_pointee<T2>,
- detail::assign_to_pointee<T3>,
- detail::assign_to_pointee<T4>,
- detail::assign_to_pointee<T5> >
- tie(T1& t1, T2& t2, T3& t3, T4& t4, T5 &t5)
- {
- return make_tuple(detail::assign_to_pointee<T1>(&t1),
- detail::assign_to_pointee<T2>(&t2),
- detail::assign_to_pointee<T3>(&t3),
- detail::assign_to_pointee<T4>(&t4),
- detail::assign_to_pointee<T5>(&t5));
- }
-
- // Tie variables into a tuple
- template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6>
- inline
- tuple<detail::assign_to_pointee<T1>,
- detail::assign_to_pointee<T2>,
- detail::assign_to_pointee<T3>,
- detail::assign_to_pointee<T4>,
- detail::assign_to_pointee<T5>,
- detail::assign_to_pointee<T6> >
- tie(T1& t1, T2& t2, T3& t3, T4& t4, T5 &t5, T6 &t6)
- {
- return make_tuple(detail::assign_to_pointee<T1>(&t1),
- detail::assign_to_pointee<T2>(&t2),
- detail::assign_to_pointee<T3>(&t3),
- detail::assign_to_pointee<T4>(&t4),
- detail::assign_to_pointee<T5>(&t5),
- detail::assign_to_pointee<T6>(&t6));
- }
-
- // Tie variables into a tuple
- template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7>
- inline
- tuple<detail::assign_to_pointee<T1>,
- detail::assign_to_pointee<T2>,
- detail::assign_to_pointee<T3>,
- detail::assign_to_pointee<T4>,
- detail::assign_to_pointee<T5>,
- detail::assign_to_pointee<T6>,
- detail::assign_to_pointee<T7> >
- tie(T1& t1, T2& t2, T3& t3, T4& t4, T5 &t5, T6 &t6, T7 &t7)
- {
- return make_tuple(detail::assign_to_pointee<T1>(&t1),
- detail::assign_to_pointee<T2>(&t2),
- detail::assign_to_pointee<T3>(&t3),
- detail::assign_to_pointee<T4>(&t4),
- detail::assign_to_pointee<T5>(&t5),
- detail::assign_to_pointee<T6>(&t6),
- detail::assign_to_pointee<T7>(&t7));
- }
-
- // Tie variables into a tuple
- template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8>
- inline
- tuple<detail::assign_to_pointee<T1>,
- detail::assign_to_pointee<T2>,
- detail::assign_to_pointee<T3>,
- detail::assign_to_pointee<T4>,
- detail::assign_to_pointee<T5>,
- detail::assign_to_pointee<T6>,
- detail::assign_to_pointee<T7>,
- detail::assign_to_pointee<T8> >
- tie(T1& t1, T2& t2, T3& t3, T4& t4, T5 &t5, T6 &t6, T7 &t7, T8 &t8)
- {
- return make_tuple(detail::assign_to_pointee<T1>(&t1),
- detail::assign_to_pointee<T2>(&t2),
- detail::assign_to_pointee<T3>(&t3),
- detail::assign_to_pointee<T4>(&t4),
- detail::assign_to_pointee<T5>(&t5),
- detail::assign_to_pointee<T6>(&t6),
- detail::assign_to_pointee<T7>(&t7),
- detail::assign_to_pointee<T8>(&t8));
- }
-
- // Tie variables into a tuple
- template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9>
- inline
- tuple<detail::assign_to_pointee<T1>,
- detail::assign_to_pointee<T2>,
- detail::assign_to_pointee<T3>,
- detail::assign_to_pointee<T4>,
- detail::assign_to_pointee<T5>,
- detail::assign_to_pointee<T6>,
- detail::assign_to_pointee<T7>,
- detail::assign_to_pointee<T8>,
- detail::assign_to_pointee<T9> >
- tie(T1& t1, T2& t2, T3& t3, T4& t4, T5 &t5, T6 &t6, T7 &t7, T8 &t8, T9 &t9)
- {
- return make_tuple(detail::assign_to_pointee<T1>(&t1),
- detail::assign_to_pointee<T2>(&t2),
- detail::assign_to_pointee<T3>(&t3),
- detail::assign_to_pointee<T4>(&t4),
- detail::assign_to_pointee<T5>(&t5),
- detail::assign_to_pointee<T6>(&t6),
- detail::assign_to_pointee<T7>(&t7),
- detail::assign_to_pointee<T8>(&t8),
- detail::assign_to_pointee<T9>(&t9));
- }
- // Tie variables into a tuple
- template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10>
- inline
- tuple<detail::assign_to_pointee<T1>,
- detail::assign_to_pointee<T2>,
- detail::assign_to_pointee<T3>,
- detail::assign_to_pointee<T4>,
- detail::assign_to_pointee<T5>,
- detail::assign_to_pointee<T6>,
- detail::assign_to_pointee<T7>,
- detail::assign_to_pointee<T8>,
- detail::assign_to_pointee<T9>,
- detail::assign_to_pointee<T10> >
- tie(T1& t1, T2& t2, T3& t3, T4& t4, T5 &t5, T6 &t6, T7 &t7, T8 &t8, T9 &t9, T10 &t10)
- {
- return make_tuple(detail::assign_to_pointee<T1>(&t1),
- detail::assign_to_pointee<T2>(&t2),
- detail::assign_to_pointee<T3>(&t3),
- detail::assign_to_pointee<T4>(&t4),
- detail::assign_to_pointee<T5>(&t5),
- detail::assign_to_pointee<T6>(&t6),
- detail::assign_to_pointee<T7>(&t7),
- detail::assign_to_pointee<T8>(&t8),
- detail::assign_to_pointee<T9>(&t9),
- detail::assign_to_pointee<T10>(&t10));
- }
- // "ignore" allows tuple positions to be ignored when using "tie".
-
-detail::swallow_assign const ignore = detail::swallow_assign();
-
-template <class T0, class T1, class T2, class T3, class T4,
- class T5, class T6, class T7, class T8, class T9>
-void swap(tuple<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>& lhs,
- tuple<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>& rhs);
-inline void swap(null_type&, null_type&) {}
-template<class HH>
-inline void swap(cons<HH, null_type>& lhs, cons<HH, null_type>& rhs) {
- ::boost::swap(lhs.head, rhs.head);
-}
-template<class HH, class TT>
-inline void swap(cons<HH, TT>& lhs, cons<HH, TT>& rhs) {
- ::boost::swap(lhs.head, rhs.head);
- ::boost::tuples::swap(lhs.tail, rhs.tail);
-}
-template <class T0, class T1, class T2, class T3, class T4,
- class T5, class T6, class T7, class T8, class T9>
-inline void swap(tuple<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>& lhs,
- tuple<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>& rhs) {
- typedef tuple<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> tuple_type;
- typedef typename tuple_type::inherited base;
- ::boost::tuples::swap(static_cast<base&>(lhs), static_cast<base&>(rhs));
-}
-
-} // namespace tuples
-} // namespace boost
-#endif // BOOST_TUPLE_BASIC_NO_PARTIAL_SPEC_HPP
diff --git a/boost/tuple/tuple.hpp b/boost/tuple/tuple.hpp
deleted file mode 100644
index 7703597..0000000
--- a/boost/tuple/tuple.hpp
+++ /dev/null
@@ -1,90 +0,0 @@
-// tuple.hpp - Boost Tuple Library --------------------------------------
-
-// Copyright (C) 1999, 2000 Jaakko Jarvi (jaakko.jarvi at 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 http://www.boost.org
-
-// -----------------------------------------------------------------
-
-#ifndef BOOST_TUPLE_HPP
-#define BOOST_TUPLE_HPP
-
-#if defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 730
-// Work around a compiler bug.
-// boost::python::tuple has to be seen by the compiler before the
-// boost::tuple class template.
-namespace boost { namespace python { class tuple; }}
-#endif
-
-#include "boost/config.hpp"
-#include "boost/static_assert.hpp"
-
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-// The MSVC version
-#include "boost/tuple/detail/tuple_basic_no_partial_spec.hpp"
-
-#else
-// other compilers
-#include "boost/ref.hpp"
-#include "boost/tuple/detail/tuple_basic.hpp"
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-namespace boost {
-
-using tuples::tuple;
-using tuples::make_tuple;
-using tuples::tie;
-#if !defined(BOOST_NO_USING_TEMPLATE)
-using tuples::get;
-#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-//
-// The "using tuples::get" statement causes the
-// Borland compiler to ICE, use forwarding
-// functions instead:
-//
-template<int N, class HT, class TT>
-inline typename tuples::access_traits<
- typename tuples::element<N, tuples::cons<HT, TT> >::type
- >::non_const_type
-get(tuples::cons<HT, TT>& c) {
- return tuples::get<N,HT,TT>(c);
-}
-// get function for const cons-lists, returns a const reference to
-// the element. If the element is a reference, returns the reference
-// as such (that is, can return a non-const reference)
-template<int N, class HT, class TT>
-inline typename tuples::access_traits<
- typename tuples::element<N, tuples::cons<HT, TT> >::type
- >::const_type
-get(const tuples::cons<HT, TT>& c) {
- return tuples::get<N,HT,TT>(c);
-}
-#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-//
-// MSVC, using declarations don't mix with templates well,
-// so use forwarding functions instead:
-//
-template<int N, typename Head, typename Tail>
-typename tuples::detail::element_ref<N, tuples::cons<Head, Tail> >::RET
-get(tuples::cons<Head, Tail>& t, tuples::detail::workaround_holder<N>* = 0)
-{
- return tuples::detail::get_class<N>::get(t);
-}
-
-template<int N, typename Head, typename Tail>
-typename tuples::detail::element_const_ref<N, tuples::cons<Head, Tail> >::RET
-get(const tuples::cons<Head, Tail>& t, tuples::detail::workaround_holder<N>* = 0)
-{
- return tuples::detail::get_class<N>::get(t);
-}
-#endif // BOOST_NO_USING_TEMPLATE
-
-} // end namespace boost
-
-
-#endif // BOOST_TUPLE_HPP
diff --git a/boost/tuple/tuple_comparison.hpp b/boost/tuple/tuple_comparison.hpp
deleted file mode 100644
index 73723a1..0000000
--- a/boost/tuple/tuple_comparison.hpp
+++ /dev/null
@@ -1,175 +0,0 @@
-// tuple_comparison.hpp -----------------------------------------------------
-//
-// Copyright (C) 2001 Jaakko Jarvi (jaakko.jarvi at cs.utu.fi)
-// Copyright (C) 2001 Gary Powell (gary.powell at sierra.com)
-//
-// Distributed under the 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
-//
-// (The idea and first impl. of comparison operators was from Doug Gregor)
-
-// -----------------------------------------------------------------
-
-#ifndef BOOST_TUPLE_COMPARISON_HPP
-#define BOOST_TUPLE_COMPARISON_HPP
-
-#include "boost/tuple/tuple.hpp"
-
-// -------------------------------------------------------------
-// equality and comparison operators
-//
-// == and != compare tuples elementwise
-// <, >, <= and >= use lexicographical ordering
-//
-// Any operator between tuples of different length fails at compile time
-// No dependencies between operators are assumed
-// (i.e. !(a<b) does not imply a>=b, a!=b does not imply a==b etc.
-// so any weirdnesses of elementary operators are respected).
-//
-// -------------------------------------------------------------
-
-
-namespace boost {
-namespace tuples {
-
-inline bool operator==(const null_type&, const null_type&) { return true; }
-inline bool operator>=(const null_type&, const null_type&) { return true; }
-inline bool operator<=(const null_type&, const null_type&) { return true; }
-inline bool operator!=(const null_type&, const null_type&) { return false; }
-inline bool operator<(const null_type&, const null_type&) { return false; }
-inline bool operator>(const null_type&, const null_type&) { return false; }
-
-
-namespace detail {
- // comparison operators check statically the length of its operands and
- // delegate the comparing task to the following functions. Hence
- // the static check is only made once (should help the compiler).
- // These functions assume tuples to be of the same length.
-
-
-template<class T1, class T2>
-inline bool eq(const T1& lhs, const T2& rhs) {
- return lhs.get_head() == rhs.get_head() &&
- eq(lhs.get_tail(), rhs.get_tail());
-}
-template<>
-inline bool eq<null_type,null_type>(const null_type&, const null_type&) { return true; }
-
-template<class T1, class T2>
-inline bool neq(const T1& lhs, const T2& rhs) {
- return lhs.get_head() != rhs.get_head() ||
- neq(lhs.get_tail(), rhs.get_tail());
-}
-template<>
-inline bool neq<null_type,null_type>(const null_type&, const null_type&) { return false; }
-
-template<class T1, class T2>
-inline bool lt(const T1& lhs, const T2& rhs) {
- return lhs.get_head() < rhs.get_head() ||
- ( !(rhs.get_head() < lhs.get_head()) &&
- lt(lhs.get_tail(), rhs.get_tail()));
-}
-template<>
-inline bool lt<null_type,null_type>(const null_type&, const null_type&) { return false; }
-
-template<class T1, class T2>
-inline bool gt(const T1& lhs, const T2& rhs) {
- return lhs.get_head() > rhs.get_head() ||
- ( !(rhs.get_head() > lhs.get_head()) &&
- gt(lhs.get_tail(), rhs.get_tail()));
-}
-template<>
-inline bool gt<null_type,null_type>(const null_type&, const null_type&) { return false; }
-
-template<class T1, class T2>
-inline bool lte(const T1& lhs, const T2& rhs) {
- return lhs.get_head() <= rhs.get_head() &&
- ( !(rhs.get_head() <= lhs.get_head()) ||
- lte(lhs.get_tail(), rhs.get_tail()));
-}
-template<>
-inline bool lte<null_type,null_type>(const null_type&, const null_type&) { return true; }
-
-template<class T1, class T2>
-inline bool gte(const T1& lhs, const T2& rhs) {
- return lhs.get_head() >= rhs.get_head() &&
- ( !(rhs.get_head() >= lhs.get_head()) ||
- gte(lhs.get_tail(), rhs.get_tail()));
-}
-template<>
-inline bool gte<null_type,null_type>(const null_type&, const null_type&) { return true; }
-
-} // end of namespace detail
-
-
-// equal ----
-
-template<class T1, class T2, class S1, class S2>
-inline bool operator==(const cons<T1, T2>& lhs, const cons<S1, S2>& rhs)
-{
- // check that tuple lengths are equal
- BOOST_STATIC_ASSERT(length<T2>::value == length<S2>::value);
-
- return detail::eq(lhs, rhs);
-}
-
-// not equal -----
-
-template<class T1, class T2, class S1, class S2>
-inline bool operator!=(const cons<T1, T2>& lhs, const cons<S1, S2>& rhs)
-{
-
- // check that tuple lengths are equal
- BOOST_STATIC_ASSERT(length<T2>::value == length<S2>::value);
-
- return detail::neq(lhs, rhs);
-}
-
-// <
-template<class T1, class T2, class S1, class S2>
-inline bool operator<(const cons<T1, T2>& lhs, const cons<S1, S2>& rhs)
-{
- // check that tuple lengths are equal
- BOOST_STATIC_ASSERT(length<T2>::value == length<S2>::value);
-
- return detail::lt(lhs, rhs);
-}
-
-// >
-template<class T1, class T2, class S1, class S2>
-inline bool operator>(const cons<T1, T2>& lhs, const cons<S1, S2>& rhs)
-{
- // check that tuple lengths are equal
- BOOST_STATIC_ASSERT(length<T2>::value == length<S2>::value);
-
- return detail::gt(lhs, rhs);
-}
-
-// <=
-template<class T1, class T2, class S1, class S2>
-inline bool operator<=(const cons<T1, T2>& lhs, const cons<S1, S2>& rhs)
-{
- // check that tuple lengths are equal
- BOOST_STATIC_ASSERT(length<T2>::value == length<S2>::value);
-
- return detail::lte(lhs, rhs);
-}
-
-// >=
-template<class T1, class T2, class S1, class S2>
-inline bool operator>=(const cons<T1, T2>& lhs, const cons<S1, S2>& rhs)
-{
- // check that tuple lengths are equal
- BOOST_STATIC_ASSERT(length<T2>::value == length<S2>::value);
-
- return detail::gte(lhs, rhs);
-}
-
-} // end of namespace tuples
-} // end of namespace boost
-
-
-#endif // BOOST_TUPLE_COMPARISON_HPP
diff --git a/boost/type.hpp b/boost/type.hpp
deleted file mode 100644
index ab81c91..0000000
--- a/boost/type.hpp
+++ /dev/null
@@ -1,18 +0,0 @@
-// (C) Copyright David Abrahams 2001.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPE_DWA20010120_HPP
-# define BOOST_TYPE_DWA20010120_HPP
-
-namespace boost {
-
- // Just a simple "type envelope". Useful in various contexts, mostly to work
- // around some MSVC deficiencies.
- template <class T>
- struct type {};
-
-}
-
-#endif // BOOST_TYPE_DWA20010120_HPP
diff --git a/boost/type_traits.hpp b/boost/type_traits.hpp
deleted file mode 100644
index 9267a71..0000000
--- a/boost/type_traits.hpp
+++ /dev/null
@@ -1,101 +0,0 @@
-// (C) Copyright John Maddock 2000.
-// 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/libs/type_traits for most recent version including documentation.
-
-// See boost/type_traits/*.hpp for full copyright notices.
-
-#ifndef BOOST_TYPE_TRAITS_HPP
-#define BOOST_TYPE_TRAITS_HPP
-
-#include "boost/type_traits/add_const.hpp"
-#include "boost/type_traits/add_cv.hpp"
-#include "boost/type_traits/add_lvalue_reference.hpp"
-#include "boost/type_traits/add_pointer.hpp"
-#include "boost/type_traits/add_reference.hpp"
-#include "boost/type_traits/add_rvalue_reference.hpp"
-#include "boost/type_traits/add_volatile.hpp"
-#include "boost/type_traits/aligned_storage.hpp"
-#include "boost/type_traits/alignment_of.hpp"
-#include "boost/type_traits/common_type.hpp"
-#include "boost/type_traits/conditional.hpp"
-#include "boost/type_traits/decay.hpp"
-#include "boost/type_traits/extent.hpp"
-#include "boost/type_traits/floating_point_promotion.hpp"
-#include "boost/type_traits/function_traits.hpp"
-#if !defined(__BORLANDC__) && !defined(__CUDACC__)
-#include "boost/type_traits/has_new_operator.hpp"
-#endif
-#include "boost/type_traits/has_nothrow_assign.hpp"
-#include "boost/type_traits/has_nothrow_constructor.hpp"
-#include "boost/type_traits/has_nothrow_copy.hpp"
-#include "boost/type_traits/has_nothrow_destructor.hpp"
-#include <boost/type_traits/has_operator.hpp>
-#include "boost/type_traits/has_trivial_assign.hpp"
-#include "boost/type_traits/has_trivial_constructor.hpp"
-#include "boost/type_traits/has_trivial_copy.hpp"
-#include "boost/type_traits/has_trivial_destructor.hpp"
-#include "boost/type_traits/has_trivial_move_assign.hpp"
-#include "boost/type_traits/has_trivial_move_constructor.hpp"
-#include "boost/type_traits/has_virtual_destructor.hpp"
-#include "boost/type_traits/is_abstract.hpp"
-#include "boost/type_traits/is_arithmetic.hpp"
-#include "boost/type_traits/is_array.hpp"
-#include "boost/type_traits/is_base_and_derived.hpp"
-#include "boost/type_traits/is_base_of.hpp"
-#include "boost/type_traits/is_class.hpp"
-#include <boost/type_traits/is_complex.hpp>
-#include "boost/type_traits/is_compound.hpp"
-#include "boost/type_traits/is_const.hpp"
-#include "boost/type_traits/is_convertible.hpp"
-#include "boost/type_traits/is_copy_constructible.hpp"
-#include "boost/type_traits/is_empty.hpp"
-#include "boost/type_traits/is_enum.hpp"
-#include "boost/type_traits/is_float.hpp"
-#include "boost/type_traits/is_floating_point.hpp"
-#include "boost/type_traits/is_function.hpp"
-#include "boost/type_traits/is_fundamental.hpp"
-#include "boost/type_traits/is_integral.hpp"
-#include "boost/type_traits/is_lvalue_reference.hpp"
-#include "boost/type_traits/is_member_function_pointer.hpp"
-#include "boost/type_traits/is_member_object_pointer.hpp"
-#include "boost/type_traits/is_member_pointer.hpp"
-#include "boost/type_traits/is_nothrow_move_assignable.hpp"
-#include "boost/type_traits/is_nothrow_move_constructible.hpp"
-#include "boost/type_traits/is_object.hpp"
-#include "boost/type_traits/is_pod.hpp"
-#include "boost/type_traits/is_polymorphic.hpp"
-#include "boost/type_traits/is_pointer.hpp"
-#include "boost/type_traits/is_reference.hpp"
-#include "boost/type_traits/is_rvalue_reference.hpp"
-#include "boost/type_traits/is_signed.hpp"
-#include "boost/type_traits/is_same.hpp"
-#include "boost/type_traits/is_scalar.hpp"
-#include "boost/type_traits/is_stateless.hpp"
-#include "boost/type_traits/is_union.hpp"
-#include "boost/type_traits/is_unsigned.hpp"
-#include "boost/type_traits/is_void.hpp"
-#include "boost/type_traits/is_virtual_base_of.hpp"
-#include "boost/type_traits/is_volatile.hpp"
-#include <boost/type_traits/make_unsigned.hpp>
-#include <boost/type_traits/make_signed.hpp>
-#include "boost/type_traits/rank.hpp"
-#include "boost/type_traits/remove_bounds.hpp"
-#include "boost/type_traits/remove_extent.hpp"
-#include "boost/type_traits/remove_all_extents.hpp"
-#include "boost/type_traits/remove_const.hpp"
-#include "boost/type_traits/remove_cv.hpp"
-#include "boost/type_traits/remove_pointer.hpp"
-#include "boost/type_traits/remove_reference.hpp"
-#include "boost/type_traits/remove_volatile.hpp"
-#include "boost/type_traits/type_with_alignment.hpp"
-#if !(defined(__sgi) && defined(__EDG_VERSION__) && (__EDG_VERSION__ == 238))
-#include "boost/type_traits/integral_promotion.hpp"
-#include "boost/type_traits/promote.hpp"
-#endif
-
-#include "boost/type_traits/ice.hpp"
-
-#endif // BOOST_TYPE_TRAITS_HPP
diff --git a/boost/type_traits/add_const.hpp b/boost/type_traits/add_const.hpp
deleted file mode 100644
index 29f0bd9..0000000
--- a/boost/type_traits/add_const.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-
-// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard
-// Hinnant & John Maddock 2000.
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_ADD_CONST_HPP_INCLUDED
-#define BOOST_TT_ADD_CONST_HPP_INCLUDED
-
-#include <boost/config.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/type_trait_def.hpp>
-
-namespace boost {
-
-// * convert a type T to const type - add_const<T>
-// this is not required since the result is always
-// the same as "T const", but it does suppress warnings
-// from some compilers:
-
-#if defined(BOOST_MSVC)
-// This bogus warning will appear when add_const is applied to a
-// const volatile reference because we can't detect const volatile
-// references with MSVC6.
-# pragma warning(push)
-# pragma warning(disable:4181) // warning C4181: qualifier applied to reference type ignored
-#endif
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(add_const,T,T const)
-
-#if defined(BOOST_MSVC)
-# pragma warning(pop)
-#endif
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,add_const,T&,T&)
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/type_trait_undef.hpp>
-
-#endif // BOOST_TT_ADD_CONST_HPP_INCLUDED
diff --git a/boost/type_traits/add_cv.hpp b/boost/type_traits/add_cv.hpp
deleted file mode 100644
index bfde76a..0000000
--- a/boost/type_traits/add_cv.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-
-// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard
-// Hinnant & John Maddock 2000.
-// 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/libs/type_traits for most recent version including documentation.
-
-
-#ifndef BOOST_TT_ADD_CV_HPP_INCLUDED
-#define BOOST_TT_ADD_CV_HPP_INCLUDED
-
-#include <boost/config.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/type_trait_def.hpp>
-
-namespace boost {
-
-// * convert a type T to a const volatile type - add_cv<T>
-// this is not required since the result is always
-// the same as "T const volatile", but it does suppress warnings
-// from some compilers:
-
-#if defined(BOOST_MSVC)
-// This bogus warning will appear when add_volatile is applied to a
-// const volatile reference because we can't detect const volatile
-// references with MSVC6.
-# pragma warning(push)
-# pragma warning(disable:4181) // warning C4181: qualifier applied to reference type ignored
-#endif
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(add_cv,T,T const volatile)
-
-#if defined(BOOST_MSVC)
-# pragma warning(pop)
-#endif
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,add_cv,T&,T&)
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/type_trait_undef.hpp>
-
-#endif // BOOST_TT_ADD_CV_HPP_INCLUDED
diff --git a/boost/type_traits/add_lvalue_reference.hpp b/boost/type_traits/add_lvalue_reference.hpp
deleted file mode 100644
index 1d75794..0000000
--- a/boost/type_traits/add_lvalue_reference.hpp
+++ /dev/null
@@ -1,26 +0,0 @@
-// Copyright 2010 John Maddock
-
-// Distributed under the Boost Software License, Version 1.0.
-// See http://www.boost.org/LICENSE_1_0.txt
-
-#ifndef BOOST_TYPE_TRAITS_EXT_ADD_LVALUE_REFERENCE__HPP
-#define BOOST_TYPE_TRAITS_EXT_ADD_LVALUE_REFERENCE__HPP
-
-#include <boost/type_traits/add_reference.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/type_trait_def.hpp>
-
-namespace boost{
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(add_lvalue_reference,T,typename boost::add_reference<T>::type)
-
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,add_lvalue_reference,T&&,T&)
-#endif
-
-}
-
-#include <boost/type_traits/detail/type_trait_undef.hpp>
-
-#endif // BOOST_TYPE_TRAITS_EXT_ADD_LVALUE_REFERENCE__HPP
diff --git a/boost/type_traits/add_pointer.hpp b/boost/type_traits/add_pointer.hpp
deleted file mode 100644
index 3e0e481..0000000
--- a/boost/type_traits/add_pointer.hpp
+++ /dev/null
@@ -1,72 +0,0 @@
-
-// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_ADD_POINTER_HPP_INCLUDED
-#define BOOST_TT_ADD_POINTER_HPP_INCLUDED
-
-#include <boost/type_traits/remove_reference.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/type_trait_def.hpp>
-
-namespace boost {
-
-namespace detail {
-
-#if defined(__BORLANDC__) && (__BORLANDC__ < 0x5A0)
-//
-// For some reason this implementation stops Borlands compiler
-// from dropping cv-qualifiers, it still fails with references
-// to arrays for some reason though (shrug...) (JM 20021104)
-//
-template <typename T>
-struct add_pointer_impl
-{
- typedef T* type;
-};
-template <typename T>
-struct add_pointer_impl<T&>
-{
- typedef T* type;
-};
-template <typename T>
-struct add_pointer_impl<T&const>
-{
- typedef T* type;
-};
-template <typename T>
-struct add_pointer_impl<T&volatile>
-{
- typedef T* type;
-};
-template <typename T>
-struct add_pointer_impl<T&const volatile>
-{
- typedef T* type;
-};
-
-#else
-
-template <typename T>
-struct add_pointer_impl
-{
- typedef typename remove_reference<T>::type no_ref_type;
- typedef no_ref_type* type;
-};
-
-#endif
-
-} // namespace detail
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(add_pointer,T,typename boost::detail::add_pointer_impl<T>::type)
-
-} // namespace boost
-
-#include <boost/type_traits/detail/type_trait_undef.hpp>
-
-#endif // BOOST_TT_ADD_POINTER_HPP_INCLUDED
diff --git a/boost/type_traits/add_reference.hpp b/boost/type_traits/add_reference.hpp
deleted file mode 100644
index f926a53..0000000
--- a/boost/type_traits/add_reference.hpp
+++ /dev/null
@@ -1,107 +0,0 @@
-
-// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_ADD_REFERENCE_HPP_INCLUDED
-#define BOOST_TT_ADD_REFERENCE_HPP_INCLUDED
-
-#include <boost/type_traits/is_reference.hpp>
-#include <boost/detail/workaround.hpp>
-#include <boost/config.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/type_trait_def.hpp>
-
-namespace boost {
-
-namespace detail {
-
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && defined(BOOST_MSVC6_MEMBER_TEMPLATES)
-
-template <bool x>
-struct reference_adder
-{
- template <typename T> struct result_
- {
- typedef T& type;
- };
-};
-
-template <>
-struct reference_adder<true>
-{
- template <typename T> struct result_
- {
- typedef T type;
- };
-};
-
-template <typename T>
-struct add_reference_impl
-{
- typedef typename reference_adder<
- ::boost::is_reference<T>::value
- >::template result_<T> result;
-
- typedef typename result::type type;
-};
-
-#else
-//
-// We can't filter out rvalue_references at the same level as
-// references or we get ambiguities from msvc:
-//
-
-template <typename T>
-struct add_reference_rvalue_layer
-{
- typedef T& type;
-};
-
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-template <typename T>
-struct add_reference_rvalue_layer<T&&>
-{
- typedef T&& type;
-};
-#endif
-
-template <typename T>
-struct add_reference_impl
-{
- typedef typename add_reference_rvalue_layer<T>::type type;
-};
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-BOOST_TT_AUX_TYPE_TRAIT_IMPL_PARTIAL_SPEC1_1(typename T,add_reference,T&,T&)
-#endif
-
-#endif
-
-// these full specialisations are always required:
-BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1(add_reference,void,void)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1(add_reference,void const,void const)
-BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1(add_reference,void volatile,void volatile)
-BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1(add_reference,void const volatile,void const volatile)
-#endif
-
-} // namespace detail
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(add_reference,T,typename boost::detail::add_reference_impl<T>::type)
-
-// agurt, 07/mar/03: workaround Borland's ill-formed sensitivity to an additional
-// level of indirection, here
-#if BOOST_WORKAROUND(__BORLANDC__, < 0x600)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,add_reference,T&,T&)
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/type_trait_undef.hpp>
-
-#endif // BOOST_TT_ADD_REFERENCE_HPP_INCLUDED
diff --git a/boost/type_traits/add_rvalue_reference.hpp b/boost/type_traits/add_rvalue_reference.hpp
deleted file mode 100644
index 92c2c38..0000000
--- a/boost/type_traits/add_rvalue_reference.hpp
+++ /dev/null
@@ -1,66 +0,0 @@
-// add_rvalue_reference.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_TYPE_TRAITS_EXT_ADD_RVALUE_REFERENCE__HPP
-#define BOOST_TYPE_TRAITS_EXT_ADD_RVALUE_REFERENCE__HPP
-
-#include <boost/config.hpp>
-
-//----------------------------------------------------------------------------//
-
-#include <boost/type_traits/is_void.hpp>
-#include <boost/type_traits/is_reference.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/type_trait_def.hpp>
-
-//----------------------------------------------------------------------------//
-// //
-// C++03 implementation of //
-// 20.9.7.2 Reference modifications [meta.trans.ref] //
-// Written by Vicente J. Botet Escriba //
-// //
-// If T names an object or function type then the member typedef type
-// shall name T&&; otherwise, type shall name T. [ Note: This rule reflects
-// the semantics of reference collapsing. For example, when a type T names
-// a type T1&, the type add_rvalue_reference<T>::type is not an rvalue
-// reference. -end note ]
-//----------------------------------------------------------------------------//
-
-namespace boost {
-
-namespace type_traits_detail {
-
- template <typename T, bool b>
- struct add_rvalue_reference_helper
- { typedef T type; };
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
- template <typename T>
- struct add_rvalue_reference_helper<T, true>
- {
- typedef T&& type;
- };
-#endif
-
- template <typename T>
- struct add_rvalue_reference_imp
- {
- typedef typename boost::type_traits_detail::add_rvalue_reference_helper
- <T, (is_void<T>::value == false && is_reference<T>::value == false) >::type type;
- };
-
-}
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(add_rvalue_reference,T,typename boost::type_traits_detail::add_rvalue_reference_imp<T>::type)
-
-} // namespace boost
-
-#include <boost/type_traits/detail/type_trait_undef.hpp>
-
-#endif // BOOST_TYPE_TRAITS_EXT_ADD_RVALUE_REFERENCE__HPP
-
diff --git a/boost/type_traits/add_volatile.hpp b/boost/type_traits/add_volatile.hpp
deleted file mode 100644
index 491f1c2..0000000
--- a/boost/type_traits/add_volatile.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-
-// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard
-// Hinnant & John Maddock 2000.
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_ADD_VOLATILE_HPP_INCLUDED
-#define BOOST_TT_ADD_VOLATILE_HPP_INCLUDED
-
-#include <boost/config.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/type_trait_def.hpp>
-
-namespace boost {
-
-// * convert a type T to volatile type - add_volatile<T>
-// this is not required since the result is always
-// the same as "T volatile", but it does suppress warnings
-// from some compilers:
-
-#if defined(BOOST_MSVC)
-// This bogus warning will appear when add_volatile is applied to a
-// const volatile reference because we can't detect const volatile
-// references with MSVC6.
-# pragma warning(push)
-# pragma warning(disable:4181) // warning C4181: qualifier applied to reference type ignored
-#endif
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(add_volatile,T,T volatile)
-
-#if defined(BOOST_MSVC)
-# pragma warning(pop)
-#endif
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,add_volatile,T&,T&)
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/type_trait_undef.hpp>
-
-#endif // BOOST_TT_ADD_VOLATILE_HPP_INCLUDED
diff --git a/boost/type_traits/aligned_storage.hpp b/boost/type_traits/aligned_storage.hpp
deleted file mode 100644
index 5420f26..0000000
--- a/boost/type_traits/aligned_storage.hpp
+++ /dev/null
@@ -1,13 +0,0 @@
-
-// Copyright (C) John Maddock 2005.
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_ALIGNED_STORAGE_HPP_INCLUDED
-# define BOOST_TT_ALIGNED_STORAGE_HPP_INCLUDED
-# include <boost/aligned_storage.hpp>
-#endif // BOOST_TT_ALIGNED_STORAGE_HPP_INCLUDED
-
diff --git a/boost/type_traits/alignment_of.hpp b/boost/type_traits/alignment_of.hpp
deleted file mode 100644
index e1735dc..0000000
--- a/boost/type_traits/alignment_of.hpp
+++ /dev/null
@@ -1,128 +0,0 @@
-
-// (C) Copyright John Maddock 2000.
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_ALIGNMENT_OF_HPP_INCLUDED
-#define BOOST_TT_ALIGNMENT_OF_HPP_INCLUDED
-
-#include <boost/config.hpp>
-#include <cstddef>
-
-#include <boost/type_traits/intrinsics.hpp>
-// should be the last #include
-#include <boost/type_traits/detail/size_t_trait_def.hpp>
-
-#ifdef BOOST_MSVC
-# pragma warning(push)
-# pragma warning(disable: 4121 4512) // alignment is sensitive to packing
-#endif
-#if defined(__BORLANDC__) && (__BORLANDC__ < 0x600)
-#pragma option push -Vx- -Ve-
-#endif
-
-namespace boost {
-
-template <typename T> struct alignment_of;
-
-// get the alignment of some arbitrary type:
-namespace detail {
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4324) // structure was padded due to __declspec(align())
-#endif
-template <typename T>
-struct alignment_of_hack
-{
- char c;
- T t;
- alignment_of_hack();
-};
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-template <unsigned A, unsigned S>
-struct alignment_logic
-{
- BOOST_STATIC_CONSTANT(std::size_t, value = A < S ? A : S);
-};
-
-
-template< typename T >
-struct alignment_of_impl
-{
-#if defined(BOOST_MSVC) && (BOOST_MSVC >= 1400)
- //
- // With MSVC both the native __alignof operator
- // and our own logic gets things wrong from time to time :-(
- // Using a combination of the two seems to make the most of a bad job:
- //
- BOOST_STATIC_CONSTANT(std::size_t, value =
- (::boost::detail::alignment_logic<
- sizeof(::boost::detail::alignment_of_hack<T>) - sizeof(T),
- __alignof(T)
- >::value));
-#elif !defined(BOOST_ALIGNMENT_OF)
- BOOST_STATIC_CONSTANT(std::size_t, value =
- (::boost::detail::alignment_logic<
- sizeof(::boost::detail::alignment_of_hack<T>) - sizeof(T),
- sizeof(T)
- >::value));
-#else
- //
- // We put this here, rather than in the definition of
- // alignment_of below, because MSVC's __alignof doesn't
- // always work in that context for some unexplained reason.
- // (See type_with_alignment tests for test cases).
- //
- BOOST_STATIC_CONSTANT(std::size_t, value = BOOST_ALIGNMENT_OF(T));
-#endif
-};
-
-} // namespace detail
-
-BOOST_TT_AUX_SIZE_T_TRAIT_DEF1(alignment_of,T,::boost::detail::alignment_of_impl<T>::value)
-
-// references have to be treated specially, assume
-// that a reference is just a special pointer:
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-template <typename T>
-struct alignment_of<T&>
- : public alignment_of<T*>
-{
-};
-#endif
-#ifdef __BORLANDC__
-// long double gives an incorrect value of 10 (!)
-// unless we do this...
-struct long_double_wrapper{ long double ld; };
-template<> struct alignment_of<long double>
- : public alignment_of<long_double_wrapper>{};
-#endif
-
-// void has to be treated specially:
-BOOST_TT_AUX_SIZE_T_TRAIT_SPEC1(alignment_of,void,0)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_SIZE_T_TRAIT_SPEC1(alignment_of,void const,0)
-BOOST_TT_AUX_SIZE_T_TRAIT_SPEC1(alignment_of,void volatile,0)
-BOOST_TT_AUX_SIZE_T_TRAIT_SPEC1(alignment_of,void const volatile,0)
-#endif
-
-} // namespace boost
-
-#if defined(__BORLANDC__) && (__BORLANDC__ < 0x600)
-#pragma option pop
-#endif
-#ifdef BOOST_MSVC
-# pragma warning(pop)
-#endif
-
-#include <boost/type_traits/detail/size_t_trait_undef.hpp>
-
-#endif // BOOST_TT_ALIGNMENT_OF_HPP_INCLUDED
-
diff --git a/boost/type_traits/broken_compiler_spec.hpp b/boost/type_traits/broken_compiler_spec.hpp
deleted file mode 100644
index fb51769..0000000
--- a/boost/type_traits/broken_compiler_spec.hpp
+++ /dev/null
@@ -1,117 +0,0 @@
-
-// Copyright 2001-2003 Aleksey Gurtovoy.
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_BROKEN_COMPILER_SPEC_HPP_INCLUDED
-#define BOOST_TT_BROKEN_COMPILER_SPEC_HPP_INCLUDED
-
-#include <boost/mpl/aux_/lambda_support.hpp>
-#include <boost/config.hpp>
-
-// these are needed regardless of BOOST_TT_NO_BROKEN_COMPILER_SPEC
-#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-namespace boost { namespace detail {
-template< typename T > struct remove_const_impl { typedef T type; };
-template< typename T > struct remove_volatile_impl { typedef T type; };
-template< typename T > struct remove_pointer_impl { typedef T type; };
-template< typename T > struct remove_reference_impl { typedef T type; };
-typedef int invoke_BOOST_TT_BROKEN_COMPILER_SPEC_outside_all_namespaces;
-}}
-#endif
-
-// agurt, 27/jun/03: disable the workaround if user defined
-// BOOST_TT_NO_BROKEN_COMPILER_SPEC
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
- || defined(BOOST_TT_NO_BROKEN_COMPILER_SPEC)
-
-# define BOOST_TT_BROKEN_COMPILER_SPEC(T) /**/
-
-#else
-
-// same as BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1 macro, except that it
-// never gets #undef-ined
-# define BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(trait,spec,result) \
-template<> struct trait##_impl<spec> \
-{ \
- typedef result type; \
-}; \
-/**/
-
-# define BOOST_TT_AUX_REMOVE_CONST_VOLATILE_RANK1_SPEC(T) \
- BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_const,T const,T) \
- BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_const,T const volatile,T volatile) \
- BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_volatile,T volatile,T) \
- BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_volatile,T const volatile,T const) \
- /**/
-
-# define BOOST_TT_AUX_REMOVE_PTR_REF_RANK_1_SPEC(T) \
- BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_pointer,T*,T) \
- BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_pointer,T*const,T) \
- BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_pointer,T*volatile,T) \
- BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_pointer,T*const volatile,T) \
- BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_reference,T&,T) \
- /**/
-
-# define BOOST_TT_AUX_REMOVE_PTR_REF_RANK_2_SPEC(T) \
- BOOST_TT_AUX_REMOVE_PTR_REF_RANK_1_SPEC(T) \
- BOOST_TT_AUX_REMOVE_PTR_REF_RANK_1_SPEC(T const) \
- BOOST_TT_AUX_REMOVE_PTR_REF_RANK_1_SPEC(T volatile) \
- BOOST_TT_AUX_REMOVE_PTR_REF_RANK_1_SPEC(T const volatile) \
- /**/
-
-# define BOOST_TT_AUX_REMOVE_ALL_RANK_1_SPEC(T) \
- BOOST_TT_AUX_REMOVE_PTR_REF_RANK_2_SPEC(T) \
- BOOST_TT_AUX_REMOVE_CONST_VOLATILE_RANK1_SPEC(T) \
- /**/
-
-# define BOOST_TT_AUX_REMOVE_ALL_RANK_2_SPEC(T) \
- BOOST_TT_AUX_REMOVE_ALL_RANK_1_SPEC(T*) \
- BOOST_TT_AUX_REMOVE_ALL_RANK_1_SPEC(T const*) \
- BOOST_TT_AUX_REMOVE_ALL_RANK_1_SPEC(T volatile*) \
- BOOST_TT_AUX_REMOVE_ALL_RANK_1_SPEC(T const volatile*) \
- /**/
-
-# define BOOST_TT_BROKEN_COMPILER_SPEC(T) \
- namespace boost { namespace detail { \
- typedef invoke_BOOST_TT_BROKEN_COMPILER_SPEC_outside_all_namespaces \
- please_invoke_BOOST_TT_BROKEN_COMPILER_SPEC_outside_all_namespaces; \
- BOOST_TT_AUX_REMOVE_ALL_RANK_1_SPEC(T) \
- BOOST_TT_AUX_REMOVE_ALL_RANK_2_SPEC(T) \
- BOOST_TT_AUX_REMOVE_ALL_RANK_2_SPEC(T*) \
- BOOST_TT_AUX_REMOVE_ALL_RANK_2_SPEC(T const*) \
- BOOST_TT_AUX_REMOVE_ALL_RANK_2_SPEC(T volatile*) \
- BOOST_TT_AUX_REMOVE_ALL_RANK_2_SPEC(T const volatile*) \
- }} \
- /**/
-
-# include <boost/type_traits/detail/type_trait_undef.hpp>
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-BOOST_TT_BROKEN_COMPILER_SPEC(bool)
-BOOST_TT_BROKEN_COMPILER_SPEC(char)
-#ifndef BOOST_NO_INTRINSIC_WCHAR_T
-BOOST_TT_BROKEN_COMPILER_SPEC(wchar_t)
-#endif
-BOOST_TT_BROKEN_COMPILER_SPEC(signed char)
-BOOST_TT_BROKEN_COMPILER_SPEC(unsigned char)
-BOOST_TT_BROKEN_COMPILER_SPEC(signed short)
-BOOST_TT_BROKEN_COMPILER_SPEC(unsigned short)
-BOOST_TT_BROKEN_COMPILER_SPEC(signed int)
-BOOST_TT_BROKEN_COMPILER_SPEC(unsigned int)
-BOOST_TT_BROKEN_COMPILER_SPEC(signed long)
-BOOST_TT_BROKEN_COMPILER_SPEC(unsigned long)
-BOOST_TT_BROKEN_COMPILER_SPEC(float)
-BOOST_TT_BROKEN_COMPILER_SPEC(double)
-//BOOST_TT_BROKEN_COMPILER_SPEC(long double)
-
-// for backward compatibility
-#define BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(T) \
- BOOST_TT_BROKEN_COMPILER_SPEC(T) \
-/**/
-
-#endif // BOOST_TT_BROKEN_COMPILER_SPEC_HPP_INCLUDED
diff --git a/boost/type_traits/common_type.hpp b/boost/type_traits/common_type.hpp
deleted file mode 100644
index f057770..0000000
--- a/boost/type_traits/common_type.hpp
+++ /dev/null
@@ -1,157 +0,0 @@
-// common_type.hpp ---------------------------------------------------------//
-
-// Copyright 2008 Howard Hinnant
-// Copyright 2008 Beman Dawes
-
-// Distributed under the Boost Software License, Version 1.0.
-// See http://www.boost.org/LICENSE_1_0.txt
-
-#ifndef BOOST_TYPE_TRAITS_COMMON_TYPE_HPP
-#define BOOST_TYPE_TRAITS_COMMON_TYPE_HPP
-
-#include <boost/config.hpp>
-
-#if defined(__SUNPRO_CC) && !defined(BOOST_COMMON_TYPE_DONT_USE_TYPEOF)
-# define BOOST_COMMON_TYPE_DONT_USE_TYPEOF
-#endif
-#if defined(__IBMCPP__) && !defined(BOOST_COMMON_TYPE_DONT_USE_TYPEOF)
-# define BOOST_COMMON_TYPE_DONT_USE_TYPEOF
-#endif
-
-//----------------------------------------------------------------------------//
-#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_COMMON_TYPE_ARITY)
-#define BOOST_COMMON_TYPE_ARITY 3
-#endif
-
-//----------------------------------------------------------------------------//
-#if defined(BOOST_NO_CXX11_DECLTYPE) && !defined(BOOST_COMMON_TYPE_DONT_USE_TYPEOF)
-#include <boost/typeof/typeof.hpp> // boost wonders never cease!
-#endif
-
-//----------------------------------------------------------------------------//
-#ifndef BOOST_NO_CXX11_STATIC_ASSERT
-#define BOOST_COMMON_TYPE_STATIC_ASSERT(CND, MSG, TYPES) static_assert(CND,MSG)
-#elif defined(BOOST_COMMON_TYPE_USES_MPL_ASSERT)
-#include <boost/mpl/assert.hpp>
-#include <boost/mpl/bool.hpp>
-#define BOOST_COMMON_TYPE_STATIC_ASSERT(CND, MSG, TYPES) \
- BOOST_MPL_ASSERT_MSG(boost::mpl::bool_< (CND) >::type::value, MSG, TYPES)
-#else
-#include <boost/static_assert.hpp>
-#define BOOST_COMMON_TYPE_STATIC_ASSERT(CND, MSG, TYPES) BOOST_STATIC_ASSERT(CND)
-#endif
-
-#if !defined(BOOST_NO_CXX11_STATIC_ASSERT) || !defined(BOOST_COMMON_TYPE_USES_MPL_ASSERT)
-#define BOOST_COMMON_TYPE_MUST_BE_A_COMPLE_TYPE "must be complete type"
-#endif
-
-#if defined(BOOST_NO_CXX11_DECLTYPE) && defined(BOOST_COMMON_TYPE_DONT_USE_TYPEOF)
-#include <boost/type_traits/detail/common_type_imp.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#endif
-#include <boost/mpl/if.hpp>
-#include <boost/utility/declval.hpp>
-#include <boost/type_traits/add_rvalue_reference.hpp>
-
-//----------------------------------------------------------------------------//
-// //
-// C++03 implementation of //
-// 20.9.7.6 Other transformations [meta.trans.other] //
-// Written by Howard Hinnant //
-// Adapted for Boost by Beman Dawes, Vicente Botet and Jeffrey Hellrung //
-// //
-//----------------------------------------------------------------------------//
-
-namespace boost {
-
-// prototype
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
- template<typename... T>
- struct common_type;
-#else // or no specialization
- template <class T, class U = void, class V = void>
- struct common_type
- {
- public:
- typedef typename common_type<typename common_type<T, U>::type, V>::type type;
- };
-#endif
-
-
-// 1 arg
- template<typename T>
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
- struct common_type<T>
-#else
- struct common_type<T, void, void>
-
-#endif
- {
- BOOST_COMMON_TYPE_STATIC_ASSERT(sizeof(T) > 0, BOOST_COMMON_TYPE_MUST_BE_A_COMPLE_TYPE, (T));
- public:
- typedef T type;
- };
-
-// 2 args
-namespace type_traits_detail {
-
- template <class T, class U>
- struct common_type_2
- {
- private:
- BOOST_COMMON_TYPE_STATIC_ASSERT(sizeof(T) > 0, BOOST_COMMON_TYPE_MUST_BE_A_COMPLE_TYPE, (T));
- BOOST_COMMON_TYPE_STATIC_ASSERT(sizeof(U) > 0, BOOST_COMMON_TYPE_MUST_BE_A_COMPLE_TYPE, (U));
- static bool declval_bool(); // workaround gcc bug; not required by std
- static typename add_rvalue_reference<T>::type declval_T(); // workaround gcc bug; not required by std
- static typename add_rvalue_reference<U>::type declval_U(); // workaround gcc bug; not required by std
- static typename add_rvalue_reference<bool>::type declval_b();
-
-#if !defined(BOOST_NO_CXX11_DECLTYPE)
- public:
- typedef decltype(declval<bool>() ? declval<T>() : declval<U>()) type;
-#elif defined(BOOST_COMMON_TYPE_DONT_USE_TYPEOF)
- public:
- typedef typename detail_type_traits_common_type::common_type_impl<
- typename remove_cv<T>::type,
- typename remove_cv<U>::type
- >::type type;
-#else
- public:
- typedef BOOST_TYPEOF_TPL(declval_b() ? declval_T() : declval_U()) type;
-#endif
-
-#if defined(__GNUC__) && __GNUC__ == 3 && (__GNUC_MINOR__ == 2 || __GNUC_MINOR__ == 3)
- public:
- void public_dummy_function_just_to_silence_warning();
-#endif
- };
-
- template <class T>
- struct common_type_2<T, T>
- {
- typedef T type;
- };
- }
-
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
- template <class T, class U>
- struct common_type<T, U>
-#else
- template <class T, class U>
- struct common_type<T, U, void>
-#endif
- : public type_traits_detail::common_type_2<T,U>
- { };
-
-
-// 3 or more args
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
- template<typename T, typename U, typename... V>
- struct common_type<T, U, V...> {
- public:
- typedef typename common_type<typename common_type<T, U>::type, V...>::type type;
- };
-#endif
-} // namespace boost
-
-#endif // BOOST_TYPE_TRAITS_COMMON_TYPE_HPP
diff --git a/boost/type_traits/conditional.hpp b/boost/type_traits/conditional.hpp
deleted file mode 100644
index 8bbda85..0000000
--- a/boost/type_traits/conditional.hpp
+++ /dev/null
@@ -1,25 +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).
-//
-// See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-
-#ifndef BOOST_TT_CONDITIONAL_HPP_INCLUDED
-#define BOOST_TT_CONDITIONAL_HPP_INCLUDED
-
-#include <boost/mpl/if.hpp>
-
-namespace boost {
-
-template <bool b, class T, class U>
-struct conditional : public mpl::if_c<b, T, U>
-{
-};
-
-} // namespace boost
-
-
-#endif // BOOST_TT_CONDITIONAL_HPP_INCLUDED
diff --git a/boost/type_traits/config.hpp b/boost/type_traits/config.hpp
deleted file mode 100644
index 7934454..0000000
--- a/boost/type_traits/config.hpp
+++ /dev/null
@@ -1,76 +0,0 @@
-
-// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_CONFIG_HPP_INCLUDED
-#define BOOST_TT_CONFIG_HPP_INCLUDED
-
-#ifndef BOOST_CONFIG_HPP
-#include <boost/config.hpp>
-#endif
-
-#include <boost/detail/workaround.hpp>
-
-//
-// whenever we have a conversion function with ellipses
-// it needs to be declared __cdecl to suppress compiler
-// warnings from MS and Borland compilers (this *must*
-// appear before we include is_same.hpp below):
-#if defined(BOOST_MSVC) || (defined(__BORLANDC__) && !defined(BOOST_DISABLE_WIN32))
-# define BOOST_TT_DECL __cdecl
-#else
-# define BOOST_TT_DECL /**/
-#endif
-
-# if (BOOST_WORKAROUND(__MWERKS__, < 0x3000) \
- || BOOST_WORKAROUND(BOOST_MSVC, <= 1301) \
- || !defined(__EDG_VERSION__) && BOOST_WORKAROUND(__GNUC__, < 3) \
- || BOOST_WORKAROUND(__IBMCPP__, < 600 ) \
- || BOOST_WORKAROUND(__BORLANDC__, < 0x5A0) \
- || defined(__ghs) \
- || BOOST_WORKAROUND(__HP_aCC, < 60700) \
- || BOOST_WORKAROUND(MPW_CPLUS, BOOST_TESTED_AT(0x890)) \
- || BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x580))) \
- && defined(BOOST_NO_IS_ABSTRACT)
-
-# define BOOST_TT_NO_CONFORMING_IS_CLASS_IMPLEMENTATION 1
-
-#endif
-
-#ifndef BOOST_TT_NO_CONFORMING_IS_CLASS_IMPLEMENTATION
-# define BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION 1
-#endif
-
-//
-// Define BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-// when we can't test for function types with elipsis:
-//
-#if BOOST_WORKAROUND(__GNUC__, < 3)
-# define BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-#endif
-
-//
-// define BOOST_TT_TEST_MS_FUNC_SIGS
-// when we want to test __stdcall etc function types with is_function etc
-// (Note, does not work with Borland, even though it does support __stdcall etc):
-//
-#if defined(_MSC_EXTENSIONS) && !defined(__BORLANDC__)
-# define BOOST_TT_TEST_MS_FUNC_SIGS
-#endif
-
-//
-// define BOOST_TT_NO_CV_FUNC_TEST
-// if tests for cv-qualified member functions don't
-// work in is_member_function_pointer
-//
-#if BOOST_WORKAROUND(__MWERKS__, < 0x3000) || BOOST_WORKAROUND(__IBMCPP__, <= 600)
-# define BOOST_TT_NO_CV_FUNC_TEST
-#endif
-
-#endif // BOOST_TT_CONFIG_HPP_INCLUDED
-
-
diff --git a/boost/type_traits/conversion_traits.hpp b/boost/type_traits/conversion_traits.hpp
deleted file mode 100644
index c8e5139..0000000
--- a/boost/type_traits/conversion_traits.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-
-// Copyright 2000 John Maddock (john at johnmaddock.co.uk)
-// Copyright 2000 Jeremy Siek (jsiek at lsc.nd.edu)
-// Copyright 1999, 2000 Jaakko Jarvi (jaakko.jarvi at cs.utu.fi)
-//
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_CONVERSION_TRAITS_HPP_INCLUDED
-#define BOOST_TT_CONVERSION_TRAITS_HPP_INCLUDED
-
-#include <boost/type_traits/is_convertible.hpp>
-
-#endif // BOOST_TT_CONVERSION_TRAITS_HPP_INCLUDED
diff --git a/boost/type_traits/cv_traits.hpp b/boost/type_traits/cv_traits.hpp
deleted file mode 100644
index 5bd6c4f..0000000
--- a/boost/type_traits/cv_traits.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard
-// Hinnant & John Maddock 2000.
-// 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/libs/type_traits for most recent version including documentation.
-//
-// defines traits classes for cv-qualified types:
-// is_const, is_volatile, remove_const, remove_volatile, remove_cv.
-
-#ifndef BOOST_TT_CV_TRAITS_HPP_INCLUDED
-#define BOOST_TT_CV_TRAITS_HPP_INCLUDED
-
-#include <boost/type_traits/add_const.hpp>
-#include <boost/type_traits/add_volatile.hpp>
-#include <boost/type_traits/add_cv.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/is_volatile.hpp>
-#include <boost/type_traits/remove_const.hpp>
-#include <boost/type_traits/remove_volatile.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-
-#endif // BOOST_TT_CV_TRAITS_HPP_INCLUDED
diff --git a/boost/type_traits/decay.hpp b/boost/type_traits/decay.hpp
deleted file mode 100644
index c23a9b0..0000000
--- a/boost/type_traits/decay.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-// (C) Copyright John Maddock & Thorsten Ottosen 2005.
-// 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/libs/type_traits for most recent version including documentation.
-
-
-#ifndef BOOST_TT_DECAY_HPP_INCLUDED
-#define BOOST_TT_DECAY_HPP_INCLUDED
-
-#include <boost/type_traits/config.hpp>
-#include <boost/type_traits/is_array.hpp>
-#include <boost/type_traits/is_function.hpp>
-#include <boost/type_traits/remove_bounds.hpp>
-#include <boost/type_traits/add_pointer.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-
-namespace boost
-{
-
- template< class T >
- struct decay
- {
- private:
- typedef BOOST_DEDUCED_TYPENAME remove_reference<T>::type Ty;
- public:
- typedef BOOST_DEDUCED_TYPENAME mpl::eval_if<
- is_array<Ty>,
- mpl::identity<BOOST_DEDUCED_TYPENAME remove_bounds<Ty>::type*>,
- BOOST_DEDUCED_TYPENAME mpl::eval_if<
- is_function<Ty>,
- add_pointer<Ty>,
- mpl::identity<Ty>
- >
- >::type type;
- };
-
-} // namespace boost
-
-
-#endif // BOOST_TT_DECAY_HPP_INCLUDED
diff --git a/boost/type_traits/detail/bool_trait_def.hpp b/boost/type_traits/detail/bool_trait_def.hpp
deleted file mode 100644
index e3c7774..0000000
--- a/boost/type_traits/detail/bool_trait_def.hpp
+++ /dev/null
@@ -1,196 +0,0 @@
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
-
-// 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)
-
-// $Source$
-// $Date: 2011-10-09 15:28:33 -0700 (Sun, 09 Oct 2011) $
-// $Revision: 74865 $
-
-#include <boost/type_traits/detail/template_arity_spec.hpp>
-#include <boost/type_traits/integral_constant.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-#include <boost/config.hpp>
-
-//
-// Unfortunately some libraries have started using this header without
-// cleaning up afterwards: so we'd better undef the macros just in case
-// they've been defined already....
-//
-#ifdef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
-#undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
-#undef BOOST_TT_AUX_BOOL_C_BASE
-#undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
-#undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
-#undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
-#undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
-#undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
-#undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
-#undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
-#undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
-#undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
-#undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
-#undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
-#undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
-#endif
-
-#if defined(__SUNPRO_CC) && (__SUNPRO_CC < 0x570)
-# define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \
- typedef ::boost::integral_constant<bool,C> type; \
- enum { value = type::value }; \
- /**/
-# define BOOST_TT_AUX_BOOL_C_BASE(C)
-
-#elif defined(BOOST_MSVC) && BOOST_MSVC < 1300
-
-# define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \
- typedef ::boost::integral_constant<bool,C> base_; \
- using base_::value; \
- /**/
-
-#endif
-
-#ifndef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
-# define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) /**/
-#endif
-
-#ifndef BOOST_TT_AUX_BOOL_C_BASE
-# define BOOST_TT_AUX_BOOL_C_BASE(C) : public ::boost::integral_constant<bool,C>
-#endif
-
-
-#define BOOST_TT_AUX_BOOL_TRAIT_DEF1(trait,T,C) \
-template< typename T > struct trait \
- BOOST_TT_AUX_BOOL_C_BASE(C) \
-{ \
-public:\
- BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \
- BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) \
-}; \
-\
-BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait) \
-/**/
-
-
-#define BOOST_TT_AUX_BOOL_TRAIT_DEF2(trait,T1,T2,C) \
-template< typename T1, typename T2 > struct trait \
- BOOST_TT_AUX_BOOL_C_BASE(C) \
-{ \
-public:\
- BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \
- BOOST_MPL_AUX_LAMBDA_SUPPORT(2,trait,(T1,T2)) \
-}; \
-\
-BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,trait) \
-/**/
-
-#define BOOST_TT_AUX_BOOL_TRAIT_DEF3(trait,T1,T2,T3,C) \
-template< typename T1, typename T2, typename T3 > struct trait \
- BOOST_TT_AUX_BOOL_C_BASE(C) \
-{ \
-public:\
- BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \
- BOOST_MPL_AUX_LAMBDA_SUPPORT(3,trait,(T1,T2,T3)) \
-}; \
-\
-BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(3,trait) \
-/**/
-
-#define BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,C) \
-template<> struct trait< sp > \
- BOOST_TT_AUX_BOOL_C_BASE(C) \
-{ \
-public:\
- BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(sp)) \
-}; \
-/**/
-
-#define BOOST_TT_AUX_BOOL_TRAIT_SPEC2(trait,sp1,sp2,C) \
-template<> struct trait< sp1,sp2 > \
- BOOST_TT_AUX_BOOL_C_BASE(C) \
-{ \
-public:\
- BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) \
-}; \
-/**/
-
-#define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(trait,sp,C) \
-template<> struct trait##_impl< sp > \
-{ \
-public:\
- BOOST_STATIC_CONSTANT(bool, value = (C)); \
-}; \
-/**/
-
-#define BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,sp1,sp2,C) \
-template<> struct trait##_impl< sp1,sp2 > \
-{ \
-public:\
- BOOST_STATIC_CONSTANT(bool, value = (C)); \
-}; \
-/**/
-
-#define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(param,trait,sp,C) \
-template< param > struct trait< sp > \
- BOOST_TT_AUX_BOOL_C_BASE(C) \
-{ \
-public:\
- BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \
-}; \
-/**/
-
-#define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,sp,C) \
-template< param1, param2 > struct trait< sp > \
- BOOST_TT_AUX_BOOL_C_BASE(C) \
-{ \
-public:\
- BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \
-}; \
-/**/
-
-#define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) \
-template< param > struct trait< sp1,sp2 > \
- BOOST_TT_AUX_BOOL_C_BASE(C) \
-{ \
-public:\
- BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,trait,(sp1,sp2)) \
-}; \
-/**/
-
-#define BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(param1,param2,trait,sp1,sp2,C) \
-template< param1, param2 > struct trait< sp1,sp2 > \
- BOOST_TT_AUX_BOOL_C_BASE(C) \
-{ \
-public:\
- BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \
-}; \
-/**/
-
-#define BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(param,trait,sp1,sp2,C) \
-template< param > struct trait##_impl< sp1,sp2 > \
-{ \
-public:\
- BOOST_STATIC_CONSTANT(bool, value = (C)); \
-}; \
-/**/
-
-#ifndef BOOST_NO_CV_SPECIALIZATIONS
-# define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) \
- BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) \
- BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const,value) \
- BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp volatile,value) \
- BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp const volatile,value) \
- /**/
-#else
-# define BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(trait,sp,value) \
- BOOST_TT_AUX_BOOL_TRAIT_SPEC1(trait,sp,value) \
- /**/
-#endif
diff --git a/boost/type_traits/detail/bool_trait_undef.hpp b/boost/type_traits/detail/bool_trait_undef.hpp
deleted file mode 100644
index 008febe..0000000
--- a/boost/type_traits/detail/bool_trait_undef.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
-
-// 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)
-
-// $Source$
-// $Date: 2011-10-09 15:28:33 -0700 (Sun, 09 Oct 2011) $
-// $Revision: 74865 $
-
-#undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
-#undef BOOST_TT_AUX_BOOL_C_BASE
-#undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
-#undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
-#undef BOOST_TT_AUX_BOOL_TRAIT_DEF3
-#undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
-#undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
-#undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
-#undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
-#undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
-#undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
-#undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
-#undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
-#undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
-#undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
diff --git a/boost/type_traits/detail/common_type_imp.hpp b/boost/type_traits/detail/common_type_imp.hpp
deleted file mode 100644
index 84de8b4..0000000
--- a/boost/type_traits/detail/common_type_imp.hpp
+++ /dev/null
@@ -1,333 +0,0 @@
-/*******************************************************************************
- * boost/type_traits/detail/common_type_imp.hpp
- *
- * Copyright 2010, Jeffrey Hellrung.
- * Distributed under the Boost Software License, Version 1.0. (See accompanying
- * file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- *
- * struct boost::common_type<T,U>
- *
- * common_type<T,U>::type is the type of the expression
- * b() ? x() : y()
- * where b() returns a bool, x() has return type T, and y() has return type U.
- * See
- * http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2661.htm#common_type
- *
- * Note that this evaluates to void if one or both of T and U is void.
- ******************************************************************************/
-
-#ifndef BOOST_TYPE_TRAITS_DETAIL_COMMON_TYPE_IMP_HPP
-#define BOOST_TYPE_TRAITS_DETAIL_COMMON_TYPE_IMP_HPP
-
-#include <cstddef>
-
-#include <boost/mpl/assert.hpp>
-#include <boost/mpl/at.hpp>
-#include <boost/mpl/begin_end.hpp>
-#include <boost/mpl/contains.hpp>
-#include <boost/mpl/copy.hpp>
-#include <boost/mpl/deref.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/inserter.hpp>
-#include <boost/mpl/next.hpp>
-#include <boost/mpl/or.hpp>
-#include <boost/mpl/placeholders.hpp>
-#include <boost/mpl/push_back.hpp>
-#include <boost/mpl/size.hpp>
-#include <boost/mpl/vector/vector0.hpp>
-#include <boost/mpl/vector/vector10.hpp>
-#include <boost/type_traits/integral_constant.hpp>
-#include <boost/type_traits/is_enum.hpp>
-#include <boost/type_traits/is_integral.hpp>
-#include <boost/type_traits/make_signed.hpp>
-#include <boost/type_traits/make_unsigned.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/utility/declval.hpp>
-
-namespace boost
-{
-
-namespace detail_type_traits_common_type
-{
-
-/*******************************************************************************
- * struct propagate_cv< From, To >
- *
- * This metafunction propagates cv-qualifiers on type From to type To.
- ******************************************************************************/
-
-template< class From, class To >
-struct propagate_cv
-{ typedef To type; };
-template< class From, class To >
-struct propagate_cv< const From, To >
-{ typedef To const type; };
-template< class From, class To >
-struct propagate_cv< volatile From, To >
-{ typedef To volatile type; };
-template< class From, class To >
-struct propagate_cv< const volatile From, To >
-{ typedef To const volatile type; };
-
-/*******************************************************************************
- * struct is_integral_or_enum<T>
- *
- * This metafunction determines if T is an integral type which can be made
- * signed or unsigned.
- ******************************************************************************/
-
-template< class T >
-struct is_integral_or_enum
- : public mpl::or_< is_integral<T>, is_enum<T> >
-{ };
-template<>
-struct is_integral_or_enum< bool >
- : public false_type
-{ };
-
-/*******************************************************************************
- * struct make_unsigned_soft<T>
- * struct make_signed_soft<T>
- *
- * These metafunction are identical to make_unsigned and make_signed,
- * respectively, except for special-casing bool.
- ******************************************************************************/
-
-template< class T >
-struct make_unsigned_soft
- : public make_unsigned<T>
-{ };
-template<>
-struct make_unsigned_soft< bool >
-{ typedef bool type; };
-
-template< class T >
-struct make_signed_soft
- : public make_signed<T>
-{ };
-template<>
-struct make_signed_soft< bool >
-{ typedef bool type; };
-
-/*******************************************************************************
- * struct sizeof_t<N>
- * typedef ... yes_type
- * typedef ... no_type
- *
- * These types are integral players in the use of the "sizeof trick", i.e., we
- * can distinguish overload selection by inspecting the size of the return type
- * of the overload.
- ******************************************************************************/
-
-template< std::size_t N > struct sizeof_t { char _dummy[N]; };
-typedef sizeof_t<1> yes_type;
-typedef sizeof_t<2> no_type;
-BOOST_MPL_ASSERT_RELATION( sizeof( yes_type ), ==, 1 );
-BOOST_MPL_ASSERT_RELATION( sizeof( no_type ), ==, 2 );
-
-/*******************************************************************************
- * rvalue_test(T&) -> no_type
- * rvalue_test(...) -> yes_type
- *
- * These overloads are used to determine the rvalue-ness of an expression.
- ******************************************************************************/
-
-template< class T > no_type rvalue_test(T&);
-yes_type rvalue_test(...);
-
-/*******************************************************************************
- * struct conversion_test_overloads< Sequence >
- *
- * This struct has multiple overloads of the static member function apply, each
- * one taking a single parameter of a type within the Boost.MPL sequence
- * Sequence. Each such apply overload has a return type with sizeof equal to
- * one plus the index of the parameter type within Sequence. Thus, we can
- * deduce the type T of an expression as long as we can generate a finite set of
- * candidate types containing T via these apply overloads and the "sizeof
- * trick".
- ******************************************************************************/
-
-template< class First, class Last, std::size_t Index >
-struct conversion_test_overloads_iterate
- : public conversion_test_overloads_iterate<
- typename mpl::next< First >::type, Last, Index + 1
- >
-{
- using conversion_test_overloads_iterate<
- typename mpl::next< First >::type, Last, Index + 1
- >::apply;
- static sizeof_t< Index + 1 >
- apply(typename mpl::deref< First >::type);
-};
-
-template< class Last, std::size_t Index >
-struct conversion_test_overloads_iterate< Last, Last, Index >
-{ static sizeof_t< Index + 1 > apply(...); };
-
-template< class Sequence >
-struct conversion_test_overloads
- : public conversion_test_overloads_iterate<
- typename mpl::begin< Sequence >::type,
- typename mpl::end< Sequence >::type,
- 0
- >
-{ };
-
-/*******************************************************************************
- * struct select< Sequence, Index >
- *
- * select is synonymous with mpl::at_c unless Index equals the size of the
- * Boost.MPL Sequence, in which case this evaluates to void.
- ******************************************************************************/
-
-template<
- class Sequence, int Index,
- int N = mpl::size< Sequence >::value
->
-struct select
- : public mpl::at_c< Sequence, Index >
-{ };
-template< class Sequence, int N >
-struct select< Sequence, N, N >
-{ typedef void type; };
-
-/*******************************************************************************
- * class deduce_common_type< T, U, NominalCandidates >
- * struct nominal_candidates<T,U>
- * struct common_type_dispatch_on_rvalueness<T,U>
- * struct common_type_impl<T,U>
- *
- * These classes and structs implement the logic behind common_type, which goes
- * roughly as follows. Let C be the type of the conditional expression
- * declval< bool >() ? declval<T>() : declval<U>()
- * if C is an rvalue, then:
- * let T' and U' be T and U stripped of reference- and cv-qualifiers
- * if T' and U' are pointer types, say, T' = V* and U' = W*, then:
- * define the set of NominalCandidates to be
- * { V*, W*, V'*, W'* }
- * where V' is V with whatever cv-qualifiers are on W, and W' is W
- * with whatever cv-qualifiers are on V
- * else if T' and U' are both integral or enum types, then:
- * define the set of NominalCandidates to be
- * {
- * unsigned_soft(T'),
- * unsigned_soft(U'),
- * signed_soft(T'),
- * signed_soft(U'),
- * T',
- * U',
- * unsigned int,
- * int
- * }
- * where unsigned_soft(X) is make_unsigned_soft<X>::type and
- * signed_soft(X) is make_signed_soft<X>::type (these are all
- * generally necessary to cover the various integral promotion cases)
- * else
- * define the set of NominalCandidates to be
- * { T', U' }
- * else
- * let V and W be T and U stripped of reference-qualifiers
- * define the set of NominalCandidates to be
- * { V&, W&, V'&, W'& }
- * where V' is V with whatever cv-qualifiers are on W, and W' is W with
- * whatever cv-qualifiers are on V
- * define the set of Candidates to be equal to the set of NominalCandidates with
- * duplicates removed, and use this set of Candidates to determine C using the
- * conversion_test_overloads struct
- ******************************************************************************/
-
-template< class T, class U, class NominalCandidates >
-class deduce_common_type
-{
- typedef typename mpl::copy<
- NominalCandidates,
- mpl::inserter<
- mpl::vector0<>,
- mpl::if_<
- mpl::contains< mpl::_1, mpl::_2 >,
- mpl::_1,
- mpl::push_back< mpl::_1, mpl::_2 >
- >
- >
- >::type candidate_types;
- static const int best_candidate_index =
- sizeof( conversion_test_overloads< candidate_types >::apply(
- declval< bool >() ? declval<T>() : declval<U>()
- ) ) - 1;
-public:
- typedef typename select< candidate_types, best_candidate_index >::type type;
-};
-
-template<
- class T, class U,
- class V = typename remove_cv< typename remove_reference<T>::type >::type,
- class W = typename remove_cv< typename remove_reference<U>::type >::type,
- bool = is_integral_or_enum<V>::value && is_integral_or_enum<W>::value
->
-struct nominal_candidates
-{ typedef mpl::vector2<V,W> type; };
-
-template< class T, class U, class V, class W >
-struct nominal_candidates< T, U, V, W, true >
-{
- typedef boost::mpl::vector8<
- typename make_unsigned_soft<V>::type,
- typename make_unsigned_soft<W>::type,
- typename make_signed_soft<V>::type,
- typename make_signed_soft<W>::type,
- V, W, unsigned int, int
- > type;
-};
-
-template< class T, class U, class V, class W >
-struct nominal_candidates< T, U, V*, W*, false >
-{
- typedef mpl::vector4<
- V*, W*,
- typename propagate_cv<W,V>::type *,
- typename propagate_cv<V,W>::type *
- > type;
-};
-
-template<class T, class U, bool b>
-struct common_type_dispatch_on_rvalueness
- : public deduce_common_type< T, U, typename nominal_candidates<T,U>::type >
-{ };
-
-template< class T, class U >
-struct common_type_dispatch_on_rvalueness< T, U, false >
-{
-private:
- typedef typename remove_reference<T>::type unrefed_T_type;
- typedef typename remove_reference<U>::type unrefed_U_type;
-public:
- typedef typename deduce_common_type<
- T, U,
- mpl::vector4<
- unrefed_T_type &,
- unrefed_U_type &,
- typename propagate_cv< unrefed_U_type, unrefed_T_type >::type &,
- typename propagate_cv< unrefed_T_type, unrefed_U_type >::type &
- >
- >::type type;
-};
-
-template< class T, class U >
-struct common_type_impl
- : public common_type_dispatch_on_rvalueness<T,U, sizeof( ::boost::detail_type_traits_common_type::rvalue_test(
- declval< bool >() ? declval<T>() : declval<U>() ) ) == sizeof( yes_type ) >
-{ };
-
-template< class T > struct common_type_impl< T, void > { typedef void type; };
-template< class T > struct common_type_impl< void, T > { typedef void type; };
-template<> struct common_type_impl< void, void > { typedef void type; };
-
-} // namespace detail_type_traits_common_type
-
-
-} // namespace boost
-
-#endif // BOOST_TYPE_TRAITS_DETAIL_COMMON_TYPE_HPP
-
diff --git a/boost/type_traits/detail/cv_traits_impl.hpp b/boost/type_traits/detail/cv_traits_impl.hpp
deleted file mode 100644
index ed20c9d..0000000
--- a/boost/type_traits/detail/cv_traits_impl.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard
-// Hinnant & John Maddock 2000.
-// 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/libs/type_traits for most recent version including documentation.
-
-
-#ifndef BOOST_TT_DETAIL_CV_TRAITS_IMPL_HPP_INCLUDED
-#define BOOST_TT_DETAIL_CV_TRAITS_IMPL_HPP_INCLUDED
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-// implementation helper:
-
-
-#if !(BOOST_WORKAROUND(__GNUC__,== 3) && BOOST_WORKAROUND(__GNUC_MINOR__, <= 2))
-namespace boost {
-namespace detail {
-#else
-#include <boost/type_traits/detail/yes_no_type.hpp>
-namespace boost {
-namespace type_traits {
-namespace gcc8503 {
-#endif
-
-template <typename T> struct cv_traits_imp {};
-
-template <typename T>
-struct cv_traits_imp<T*>
-{
- BOOST_STATIC_CONSTANT(bool, is_const = false);
- BOOST_STATIC_CONSTANT(bool, is_volatile = false);
- typedef T unqualified_type;
-};
-
-template <typename T>
-struct cv_traits_imp<const T*>
-{
- BOOST_STATIC_CONSTANT(bool, is_const = true);
- BOOST_STATIC_CONSTANT(bool, is_volatile = false);
- typedef T unqualified_type;
-};
-
-template <typename T>
-struct cv_traits_imp<volatile T*>
-{
- BOOST_STATIC_CONSTANT(bool, is_const = false);
- BOOST_STATIC_CONSTANT(bool, is_volatile = true);
- typedef T unqualified_type;
-};
-
-template <typename T>
-struct cv_traits_imp<const volatile T*>
-{
- BOOST_STATIC_CONSTANT(bool, is_const = true);
- BOOST_STATIC_CONSTANT(bool, is_volatile = true);
- typedef T unqualified_type;
-};
-
-#if BOOST_WORKAROUND(__GNUC__,== 3) && BOOST_WORKAROUND(__GNUC_MINOR__, <= 2)
-// We have to exclude function pointers
-// (see http://gcc.gnu.org/bugzilla/show_bug.cgi?8503)
-yes_type mini_funcptr_tester(...);
-no_type mini_funcptr_tester(const volatile void*);
-
-} // namespace gcc8503
-} // namespace type_traits
-
-namespace detail {
-
-// Use the implementation above for non function pointers
-template <typename T, unsigned Select
- = (unsigned)sizeof(::boost::type_traits::gcc8503::mini_funcptr_tester((T)0)) >
-struct cv_traits_imp : public ::boost::type_traits::gcc8503::cv_traits_imp<T> { };
-
-// Functions are never cv-qualified
-template <typename T> struct cv_traits_imp<T*,1>
-{
- BOOST_STATIC_CONSTANT(bool, is_const = false);
- BOOST_STATIC_CONSTANT(bool, is_volatile = false);
- typedef T unqualified_type;
-};
-
-#endif
-
-} // namespace detail
-} // namespace boost
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-#endif // BOOST_TT_DETAIL_CV_TRAITS_IMPL_HPP_INCLUDED
diff --git a/boost/type_traits/detail/false_result.hpp b/boost/type_traits/detail/false_result.hpp
deleted file mode 100644
index e65e8bc..0000000
--- a/boost/type_traits/detail/false_result.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-// Copyright David Abrahams 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/libs/type_traits for most recent version including documentation.
-
-
-#ifndef BOOST_TT_DETAIL_FALSE_RESULT_HPP_INCLUDED
-#define BOOST_TT_DETAIL_FALSE_RESULT_HPP_INCLUDED
-
-#include <boost/config.hpp>
-
-namespace boost {
-namespace type_traits {
-
-// Utility class which always "returns" false
-struct false_result
-{
- template <typename T> struct result_
- {
- BOOST_STATIC_CONSTANT(bool, value = false);
- };
-};
-
-}} // namespace boost::type_traits
-
-#endif // BOOST_TT_DETAIL_FALSE_RESULT_HPP_INCLUDED
diff --git a/boost/type_traits/detail/has_binary_operator.hpp b/boost/type_traits/detail/has_binary_operator.hpp
deleted file mode 100644
index 1fd26ef..0000000
--- a/boost/type_traits/detail/has_binary_operator.hpp
+++ /dev/null
@@ -1,229 +0,0 @@
-// (C) Copyright 2009-2011 Frederic Bron, Robert Stewart, Steven Watanabe & Roman Perepelitsa.
-//
-// 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/libs/type_traits for most recent version including documentation.
-
-#include <boost/config.hpp>
-#include <boost/type_traits/ice.hpp>
-#include <boost/type_traits/integral_constant.hpp>
-#include <boost/type_traits/is_base_of.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/is_convertible.hpp>
-#include <boost/type_traits/is_fundamental.hpp>
-#include <boost/type_traits/is_integral.hpp>
-#include <boost/type_traits/is_pointer.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/is_void.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/type_traits/remove_pointer.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-// cannot include this header without getting warnings of the kind:
-// gcc:
-// warning: value computed is not used
-// warning: comparison between signed and unsigned integer expressions
-// msvc:
-// warning C4018: '<' : signed/unsigned mismatch
-// warning C4244: '+=' : conversion from 'double' to 'char', possible loss of data
-// warning C4547: '*' : operator before comma has no effect; expected operator with side-effect
-// warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
-// warning C4804: '<' : unsafe use of type 'bool' in operation
-// warning C4805: '==' : unsafe mix of type 'bool' and type 'char' in operation
-// cannot find another implementation -> declared as system header to suppress these warnings.
-#if defined(__GNUC__) && ((__GNUC__==3 && __GNUC_MINOR__>=1) || (__GNUC__>3))
-# pragma GCC system_header
-#elif defined(BOOST_MSVC)
-# pragma warning ( push )
-# pragma warning ( disable : 4018 4244 4547 4800 4804 4805 4913 )
-#endif
-
-namespace boost {
-namespace detail {
-
-// This namespace ensures that argument-dependent name lookup does not mess things up.
-namespace BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl) {
-
-// 1. a function to have an instance of type T without requiring T to be default
-// constructible
-template <typename T> T &make();
-
-
-// 2. we provide our operator definition for types that do not have one already
-
-// a type returned from operator BOOST_TT_TRAIT_OP when no such operator is
-// found in the type's own namespace (our own operator is used) so that we have
-// a means to know that our operator was used
-struct no_operator { };
-
-// this class allows implicit conversions and makes the following operator
-// definition less-preferred than any other such operators that might be found
-// via argument-dependent name lookup
-struct any { template <class T> any(T const&); };
-
-// when operator BOOST_TT_TRAIT_OP is not available, this one is used
-no_operator operator BOOST_TT_TRAIT_OP (const any&, const any&);
-
-
-// 3. checks if the operator returns void or not
-// conditions: Lhs!=void and Rhs!=void
-
-// we first redefine "operator," so that we have no compilation error if
-// operator BOOST_TT_TRAIT_OP returns void and we can use the return type of
-// (lhs BOOST_TT_TRAIT_OP rhs, returns_void_t()) to deduce if
-// operator BOOST_TT_TRAIT_OP returns void or not:
-// - operator BOOST_TT_TRAIT_OP returns void -> (lhs BOOST_TT_TRAIT_OP rhs, returns_void_t()) returns returns_void_t
-// - operator BOOST_TT_TRAIT_OP returns !=void -> (lhs BOOST_TT_TRAIT_OP rhs, returns_void_t()) returns int
-struct returns_void_t { };
-template <typename T> int operator,(const T&, returns_void_t);
-template <typename T> int operator,(const volatile T&, returns_void_t);
-
-// this intermediate trait has member value of type bool:
-// - value==true -> operator BOOST_TT_TRAIT_OP returns void
-// - value==false -> operator BOOST_TT_TRAIT_OP does not return void
-template < typename Lhs, typename Rhs >
-struct operator_returns_void {
- // overloads of function returns_void make the difference
- // yes_type and no_type have different size by construction
- static ::boost::type_traits::yes_type returns_void(returns_void_t);
- static ::boost::type_traits::no_type returns_void(int);
- BOOST_STATIC_CONSTANT(bool, value = (sizeof(::boost::type_traits::yes_type)==sizeof(returns_void((make<Lhs>() BOOST_TT_TRAIT_OP make<Rhs>(),returns_void_t())))));
-};
-
-
-// 4. checks if the return type is Ret or Ret==dont_care
-// conditions: Lhs!=void and Rhs!=void
-
-struct dont_care { };
-
-template < typename Lhs, typename Rhs, typename Ret, bool Returns_void >
-struct operator_returns_Ret;
-
-template < typename Lhs, typename Rhs >
-struct operator_returns_Ret < Lhs, Rhs, dont_care, true > {
- BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template < typename Lhs, typename Rhs >
-struct operator_returns_Ret < Lhs, Rhs, dont_care, false > {
- BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template < typename Lhs, typename Rhs >
-struct operator_returns_Ret < Lhs, Rhs, void, true > {
- BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template < typename Lhs, typename Rhs >
-struct operator_returns_Ret < Lhs, Rhs, void, false > {
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template < typename Lhs, typename Rhs, typename Ret >
-struct operator_returns_Ret < Lhs, Rhs, Ret, true > {
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-// otherwise checks if it is convertible to Ret using the sizeof trick
-// based on overload resolution
-// condition: Ret!=void and Ret!=dont_care and the operator does not return void
-template < typename Lhs, typename Rhs, typename Ret >
-struct operator_returns_Ret < Lhs, Rhs, Ret, false > {
- static ::boost::type_traits::yes_type is_convertible_to_Ret(Ret); // this version is preferred for types convertible to Ret
- static ::boost::type_traits::no_type is_convertible_to_Ret(...); // this version is used otherwise
-
- BOOST_STATIC_CONSTANT(bool, value = (sizeof(is_convertible_to_Ret(make<Lhs>() BOOST_TT_TRAIT_OP make<Rhs>()))==sizeof(::boost::type_traits::yes_type)));
-};
-
-
-// 5. checks for operator existence
-// condition: Lhs!=void and Rhs!=void
-
-// checks if our definition of operator BOOST_TT_TRAIT_OP is used or an other
-// existing one;
-// this is done with redefinition of "operator," that returns no_operator or has_operator
-struct has_operator { };
-no_operator operator,(no_operator, has_operator);
-
-template < typename Lhs, typename Rhs >
-struct operator_exists {
- static ::boost::type_traits::yes_type check(has_operator); // this version is preferred when operator exists
- static ::boost::type_traits::no_type check(no_operator); // this version is used otherwise
-
- BOOST_STATIC_CONSTANT(bool, value = (sizeof(check(((make<Lhs>() BOOST_TT_TRAIT_OP make<Rhs>()),make<has_operator>())))==sizeof(::boost::type_traits::yes_type)));
-};
-
-
-// 6. main trait: to avoid any compilation error, this class behaves
-// differently when operator BOOST_TT_TRAIT_OP(Lhs, Rhs) is forbidden by the
-// standard.
-// Forbidden_if is a bool that is:
-// - true when the operator BOOST_TT_TRAIT_OP(Lhs, Rhs) is forbidden by the standard
-// (would yield compilation error if used)
-// - false otherwise
-template < typename Lhs, typename Rhs, typename Ret, bool Forbidden_if >
-struct trait_impl1;
-
-template < typename Lhs, typename Rhs, typename Ret >
-struct trait_impl1 < Lhs, Rhs, Ret, true > {
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template < typename Lhs, typename Rhs, typename Ret >
-struct trait_impl1 < Lhs, Rhs, Ret, false > {
- BOOST_STATIC_CONSTANT(bool,
- value = (
- ::boost::type_traits::ice_and<
- operator_exists < Lhs, Rhs >::value,
- operator_returns_Ret < Lhs, Rhs, Ret, operator_returns_void < Lhs, Rhs >::value >::value
- >::value
- )
- );
-};
-
-// some specializations needs to be declared for the special void case
-template < typename Rhs, typename Ret >
-struct trait_impl1 < void, Rhs, Ret, false > {
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template < typename Lhs, typename Ret >
-struct trait_impl1 < Lhs, void, Ret, false > {
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template < typename Ret >
-struct trait_impl1 < void, void, Ret, false > {
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-// defines some typedef for convenience
-template < typename Lhs, typename Rhs, typename Ret >
-struct trait_impl {
- typedef typename ::boost::remove_reference<Lhs>::type Lhs_noref;
- typedef typename ::boost::remove_reference<Rhs>::type Rhs_noref;
- typedef typename ::boost::remove_cv<Lhs_noref>::type Lhs_nocv;
- typedef typename ::boost::remove_cv<Rhs_noref>::type Rhs_nocv;
- typedef typename ::boost::remove_cv< typename ::boost::remove_reference< typename ::boost::remove_pointer<Lhs_noref>::type >::type >::type Lhs_noptr;
- typedef typename ::boost::remove_cv< typename ::boost::remove_reference< typename ::boost::remove_pointer<Rhs_noref>::type >::type >::type Rhs_noptr;
- BOOST_STATIC_CONSTANT(bool, value = (trait_impl1 < Lhs_noref, Rhs_noref, Ret, BOOST_TT_FORBIDDEN_IF >::value));
-};
-
-} // namespace impl
-} // namespace detail
-
-// this is the accessible definition of the trait to end user
-BOOST_TT_AUX_BOOL_TRAIT_DEF3(BOOST_TT_TRAIT_NAME, Lhs, Rhs=Lhs, Ret=::boost::detail::BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl)::dont_care, (::boost::detail::BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl)::trait_impl < Lhs, Rhs, Ret >::value))
-
-} // namespace boost
-
-#if defined(BOOST_MSVC)
-# pragma warning ( pop )
-#endif
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
diff --git a/boost/type_traits/detail/has_postfix_operator.hpp b/boost/type_traits/detail/has_postfix_operator.hpp
deleted file mode 100644
index 5c52b07..0000000
--- a/boost/type_traits/detail/has_postfix_operator.hpp
+++ /dev/null
@@ -1,202 +0,0 @@
-// (C) Copyright 2009-2011 Frederic Bron, Robert Stewart, Steven Watanabe & Roman Perepelitsa.
-//
-// 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/libs/type_traits for most recent version including documentation.
-
-#include <boost/config.hpp>
-#include <boost/type_traits/ice.hpp>
-#include <boost/type_traits/integral_constant.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/is_fundamental.hpp>
-#include <boost/type_traits/is_pointer.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/is_void.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/type_traits/remove_pointer.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-// avoid warnings
-#if defined(__GNUC__) && ((__GNUC__==3 && __GNUC_MINOR__>=1) || (__GNUC__>3))
-# pragma GCC system_header
-#elif defined(BOOST_MSVC)
-# pragma warning ( push )
-# pragma warning ( disable : 4244 4913 )
-#endif
-
-namespace boost {
-namespace detail {
-
-// This namespace ensures that argument-dependent name lookup does not mess things up.
-namespace BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl) {
-
-// 1. a function to have an instance of type T without requiring T to be default
-// constructible
-template <typename T> T &make();
-
-
-// 2. we provide our operator definition for types that do not have one already
-
-// a type returned from operator BOOST_TT_TRAIT_OP when no such operator is
-// found in the type's own namespace (our own operator is used) so that we have
-// a means to know that our operator was used
-struct no_operator { };
-
-// this class allows implicit conversions and makes the following operator
-// definition less-preferred than any other such operators that might be found
-// via argument-dependent name lookup
-struct any { template <class T> any(T const&); };
-
-// when operator BOOST_TT_TRAIT_OP is not available, this one is used
-no_operator operator BOOST_TT_TRAIT_OP (const any&, int);
-
-
-// 3. checks if the operator returns void or not
-// conditions: Lhs!=void
-
-// we first redefine "operator," so that we have no compilation error if
-// operator BOOST_TT_TRAIT_OP returns void and we can use the return type of
-// (lhs BOOST_TT_TRAIT_OP, returns_void_t()) to deduce if
-// operator BOOST_TT_TRAIT_OP returns void or not:
-// - operator BOOST_TT_TRAIT_OP returns void -> (lhs BOOST_TT_TRAIT_OP, returns_void_t()) returns returns_void_t
-// - operator BOOST_TT_TRAIT_OP returns !=void -> (lhs BOOST_TT_TRAIT_OP, returns_void_t()) returns int
-struct returns_void_t { };
-template <typename T> int operator,(const T&, returns_void_t);
-template <typename T> int operator,(const volatile T&, returns_void_t);
-
-// this intermediate trait has member value of type bool:
-// - value==true -> operator BOOST_TT_TRAIT_OP returns void
-// - value==false -> operator BOOST_TT_TRAIT_OP does not return void
-template < typename Lhs >
-struct operator_returns_void {
- // overloads of function returns_void make the difference
- // yes_type and no_type have different size by construction
- static ::boost::type_traits::yes_type returns_void(returns_void_t);
- static ::boost::type_traits::no_type returns_void(int);
- BOOST_STATIC_CONSTANT(bool, value = (sizeof(::boost::type_traits::yes_type)==sizeof(returns_void((make<Lhs>() BOOST_TT_TRAIT_OP,returns_void_t())))));
-};
-
-
-// 4. checks if the return type is Ret or Ret==dont_care
-// conditions: Lhs!=void
-
-struct dont_care { };
-
-template < typename Lhs, typename Ret, bool Returns_void >
-struct operator_returns_Ret;
-
-template < typename Lhs >
-struct operator_returns_Ret < Lhs, dont_care, true > {
- BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template < typename Lhs >
-struct operator_returns_Ret < Lhs, dont_care, false > {
- BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template < typename Lhs >
-struct operator_returns_Ret < Lhs, void, true > {
- BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template < typename Lhs >
-struct operator_returns_Ret < Lhs, void, false > {
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template < typename Lhs, typename Ret >
-struct operator_returns_Ret < Lhs, Ret, true > {
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-// otherwise checks if it is convertible to Ret using the sizeof trick
-// based on overload resolution
-// condition: Ret!=void and Ret!=dont_care and the operator does not return void
-template < typename Lhs, typename Ret >
-struct operator_returns_Ret < Lhs, Ret, false > {
- static ::boost::type_traits::yes_type is_convertible_to_Ret(Ret); // this version is preferred for types convertible to Ret
- static ::boost::type_traits::no_type is_convertible_to_Ret(...); // this version is used otherwise
-
- BOOST_STATIC_CONSTANT(bool, value = (sizeof(is_convertible_to_Ret(make<Lhs>() BOOST_TT_TRAIT_OP))==sizeof(::boost::type_traits::yes_type)));
-};
-
-
-// 5. checks for operator existence
-// condition: Lhs!=void
-
-// checks if our definition of operator BOOST_TT_TRAIT_OP is used or an other
-// existing one;
-// this is done with redefinition of "operator," that returns no_operator or has_operator
-struct has_operator { };
-no_operator operator,(no_operator, has_operator);
-
-template < typename Lhs >
-struct operator_exists {
- static ::boost::type_traits::yes_type check(has_operator); // this version is preferred when operator exists
- static ::boost::type_traits::no_type check(no_operator); // this version is used otherwise
-
- BOOST_STATIC_CONSTANT(bool, value = (sizeof(check(((make<Lhs>() BOOST_TT_TRAIT_OP),make<has_operator>())))==sizeof(::boost::type_traits::yes_type)));
-};
-
-
-// 6. main trait: to avoid any compilation error, this class behaves
-// differently when operator BOOST_TT_TRAIT_OP(Lhs) is forbidden by the
-// standard.
-// Forbidden_if is a bool that is:
-// - true when the operator BOOST_TT_TRAIT_OP(Lhs) is forbidden by the standard
-// (would yield compilation error if used)
-// - false otherwise
-template < typename Lhs, typename Ret, bool Forbidden_if >
-struct trait_impl1;
-
-template < typename Lhs, typename Ret >
-struct trait_impl1 < Lhs, Ret, true > {
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template < typename Lhs, typename Ret >
-struct trait_impl1 < Lhs, Ret, false > {
- BOOST_STATIC_CONSTANT(bool,
- value = (
- ::boost::type_traits::ice_and<
- operator_exists < Lhs >::value,
- operator_returns_Ret < Lhs, Ret, operator_returns_void < Lhs >::value >::value
- >::value
- )
- );
-};
-
-// specialization needs to be declared for the special void case
-template < typename Ret >
-struct trait_impl1 < void, Ret, false > {
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-// defines some typedef for convenience
-template < typename Lhs, typename Ret >
-struct trait_impl {
- typedef typename ::boost::remove_reference<Lhs>::type Lhs_noref;
- typedef typename ::boost::remove_cv<Lhs_noref>::type Lhs_nocv;
- typedef typename ::boost::remove_cv< typename ::boost::remove_reference< typename ::boost::remove_pointer<Lhs_noref>::type >::type >::type Lhs_noptr;
- BOOST_STATIC_CONSTANT(bool, value = (trait_impl1 < Lhs_noref, Ret, BOOST_TT_FORBIDDEN_IF >::value));
-};
-
-} // namespace impl
-} // namespace detail
-
-// this is the accessible definition of the trait to end user
-BOOST_TT_AUX_BOOL_TRAIT_DEF2(BOOST_TT_TRAIT_NAME, Lhs, Ret=::boost::detail::BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl)::dont_care, (::boost::detail::BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl)::trait_impl< Lhs, Ret >::value))
-
-} // namespace boost
-
-#if defined(BOOST_MSVC)
-# pragma warning ( pop )
-#endif
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
diff --git a/boost/type_traits/detail/has_prefix_operator.hpp b/boost/type_traits/detail/has_prefix_operator.hpp
deleted file mode 100644
index ac30e4d..0000000
--- a/boost/type_traits/detail/has_prefix_operator.hpp
+++ /dev/null
@@ -1,210 +0,0 @@
-// (C) Copyright 2009-2011 Frederic Bron, Robert Stewart, Steven Watanabe & Roman Perepelitsa.
-//
-// 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/libs/type_traits for most recent version including documentation.
-
-#include <boost/config.hpp>
-#include <boost/type_traits/ice.hpp>
-#include <boost/type_traits/integral_constant.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/is_fundamental.hpp>
-#include <boost/type_traits/is_integral.hpp>
-#include <boost/type_traits/is_pointer.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/is_void.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/type_traits/remove_pointer.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-// cannot include this header without getting warnings of the kind:
-// gcc:
-// warning: value computed is not used
-// warning: comparison between signed and unsigned integer expressions
-// msvc:
-// warning C4146: unary minus operator applied to unsigned type, result still unsigned
-// warning C4804: '-' : unsafe use of type 'bool' in operation
-// cannot find another implementation -> declared as system header to suppress these warnings.
-#if defined(__GNUC__) && ((__GNUC__==3 && __GNUC_MINOR__>=1) || (__GNUC__>3))
-# pragma GCC system_header
-#elif defined(BOOST_MSVC)
-# pragma warning ( push )
-# pragma warning ( disable : 4146 4804 4913 4244 )
-#endif
-
-namespace boost {
-namespace detail {
-
-// This namespace ensures that argument-dependent name lookup does not mess things up.
-namespace BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl) {
-
-// 1. a function to have an instance of type T without requiring T to be default
-// constructible
-template <typename T> T &make();
-
-
-// 2. we provide our operator definition for types that do not have one already
-
-// a type returned from operator BOOST_TT_TRAIT_OP when no such operator is
-// found in the type's own namespace (our own operator is used) so that we have
-// a means to know that our operator was used
-struct no_operator { };
-
-// this class allows implicit conversions and makes the following operator
-// definition less-preferred than any other such operators that might be found
-// via argument-dependent name lookup
-struct any { template <class T> any(T const&); };
-
-// when operator BOOST_TT_TRAIT_OP is not available, this one is used
-no_operator operator BOOST_TT_TRAIT_OP (const any&);
-
-
-// 3. checks if the operator returns void or not
-// conditions: Rhs!=void
-
-// we first redefine "operator," so that we have no compilation error if
-// operator BOOST_TT_TRAIT_OP returns void and we can use the return type of
-// (BOOST_TT_TRAIT_OP rhs, returns_void_t()) to deduce if
-// operator BOOST_TT_TRAIT_OP returns void or not:
-// - operator BOOST_TT_TRAIT_OP returns void -> (BOOST_TT_TRAIT_OP rhs, returns_void_t()) returns returns_void_t
-// - operator BOOST_TT_TRAIT_OP returns !=void -> (BOOST_TT_TRAIT_OP rhs, returns_void_t()) returns int
-struct returns_void_t { };
-template <typename T> int operator,(const T&, returns_void_t);
-template <typename T> int operator,(const volatile T&, returns_void_t);
-
-// this intermediate trait has member value of type bool:
-// - value==true -> operator BOOST_TT_TRAIT_OP returns void
-// - value==false -> operator BOOST_TT_TRAIT_OP does not return void
-template < typename Rhs >
-struct operator_returns_void {
- // overloads of function returns_void make the difference
- // yes_type and no_type have different size by construction
- static ::boost::type_traits::yes_type returns_void(returns_void_t);
- static ::boost::type_traits::no_type returns_void(int);
- BOOST_STATIC_CONSTANT(bool, value = (sizeof(::boost::type_traits::yes_type)==sizeof(returns_void((BOOST_TT_TRAIT_OP make<Rhs>(),returns_void_t())))));
-};
-
-
-// 4. checks if the return type is Ret or Ret==dont_care
-// conditions: Rhs!=void
-
-struct dont_care { };
-
-template < typename Rhs, typename Ret, bool Returns_void >
-struct operator_returns_Ret;
-
-template < typename Rhs >
-struct operator_returns_Ret < Rhs, dont_care, true > {
- BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template < typename Rhs >
-struct operator_returns_Ret < Rhs, dont_care, false > {
- BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template < typename Rhs >
-struct operator_returns_Ret < Rhs, void, true > {
- BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template < typename Rhs >
-struct operator_returns_Ret < Rhs, void, false > {
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template < typename Rhs, typename Ret >
-struct operator_returns_Ret < Rhs, Ret, true > {
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-// otherwise checks if it is convertible to Ret using the sizeof trick
-// based on overload resolution
-// condition: Ret!=void and Ret!=dont_care and the operator does not return void
-template < typename Rhs, typename Ret >
-struct operator_returns_Ret < Rhs, Ret, false > {
- static ::boost::type_traits::yes_type is_convertible_to_Ret(Ret); // this version is preferred for types convertible to Ret
- static ::boost::type_traits::no_type is_convertible_to_Ret(...); // this version is used otherwise
-
- BOOST_STATIC_CONSTANT(bool, value = (sizeof(is_convertible_to_Ret(BOOST_TT_TRAIT_OP make<Rhs>()))==sizeof(::boost::type_traits::yes_type)));
-};
-
-
-// 5. checks for operator existence
-// condition: Rhs!=void
-
-// checks if our definition of operator BOOST_TT_TRAIT_OP is used or an other
-// existing one;
-// this is done with redefinition of "operator," that returns no_operator or has_operator
-struct has_operator { };
-no_operator operator,(no_operator, has_operator);
-
-template < typename Rhs >
-struct operator_exists {
- static ::boost::type_traits::yes_type check(has_operator); // this version is preferred when operator exists
- static ::boost::type_traits::no_type check(no_operator); // this version is used otherwise
-
- BOOST_STATIC_CONSTANT(bool, value = (sizeof(check(((BOOST_TT_TRAIT_OP make<Rhs>()),make<has_operator>())))==sizeof(::boost::type_traits::yes_type)));
-};
-
-
-// 6. main trait: to avoid any compilation error, this class behaves
-// differently when operator BOOST_TT_TRAIT_OP(Rhs) is forbidden by the
-// standard.
-// Forbidden_if is a bool that is:
-// - true when the operator BOOST_TT_TRAIT_OP(Rhs) is forbidden by the standard
-// (would yield compilation error if used)
-// - false otherwise
-template < typename Rhs, typename Ret, bool Forbidden_if >
-struct trait_impl1;
-
-template < typename Rhs, typename Ret >
-struct trait_impl1 < Rhs, Ret, true > {
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template < typename Rhs, typename Ret >
-struct trait_impl1 < Rhs, Ret, false > {
- BOOST_STATIC_CONSTANT(bool,
- value = (
- ::boost::type_traits::ice_and<
- operator_exists < Rhs >::value,
- operator_returns_Ret < Rhs, Ret, operator_returns_void < Rhs >::value >::value
- >::value
- )
- );
-};
-
-// specialization needs to be declared for the special void case
-template < typename Ret >
-struct trait_impl1 < void, Ret, false > {
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-// defines some typedef for convenience
-template < typename Rhs, typename Ret >
-struct trait_impl {
- typedef typename ::boost::remove_reference<Rhs>::type Rhs_noref;
- typedef typename ::boost::remove_cv<Rhs_noref>::type Rhs_nocv;
- typedef typename ::boost::remove_cv< typename ::boost::remove_reference< typename ::boost::remove_pointer<Rhs_noref>::type >::type >::type Rhs_noptr;
- BOOST_STATIC_CONSTANT(bool, value = (trait_impl1 < Rhs_noref, Ret, BOOST_TT_FORBIDDEN_IF >::value));
-};
-
-} // namespace impl
-} // namespace detail
-
-// this is the accessible definition of the trait to end user
-BOOST_TT_AUX_BOOL_TRAIT_DEF2(BOOST_TT_TRAIT_NAME, Rhs, Ret=::boost::detail::BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl)::dont_care, (::boost::detail::BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl)::trait_impl < Rhs, Ret >::value))
-
-} // namespace boost
-
-#if defined(BOOST_MSVC)
-# pragma warning ( pop )
-#endif
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
diff --git a/boost/type_traits/detail/ice_and.hpp b/boost/type_traits/detail/ice_and.hpp
deleted file mode 100644
index 8b461b9..0000000
--- a/boost/type_traits/detail/ice_and.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-// (C) Copyright John Maddock and Steve Cleary 2000.
-//
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_DETAIL_ICE_AND_HPP_INCLUDED
-#define BOOST_TT_DETAIL_ICE_AND_HPP_INCLUDED
-
-#include <boost/config.hpp>
-
-namespace boost {
-namespace type_traits {
-
-template <bool b1, bool b2, bool b3 = true, bool b4 = true, bool b5 = true, bool b6 = true, bool b7 = true>
-struct ice_and;
-
-template <bool b1, bool b2, bool b3, bool b4, bool b5, bool b6, bool b7>
-struct ice_and
-{
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template <>
-struct ice_and<true, true, true, true, true, true, true>
-{
- BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-} // namespace type_traits
-} // namespace boost
-
-#endif // BOOST_TT_DETAIL_ICE_AND_HPP_INCLUDED
diff --git a/boost/type_traits/detail/ice_eq.hpp b/boost/type_traits/detail/ice_eq.hpp
deleted file mode 100644
index ea42a60..0000000
--- a/boost/type_traits/detail/ice_eq.hpp
+++ /dev/null
@@ -1,36 +0,0 @@
-// (C) Copyright John Maddock and Steve Cleary 2000.
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_DETAIL_ICE_EQ_HPP_INCLUDED
-#define BOOST_TT_DETAIL_ICE_EQ_HPP_INCLUDED
-
-#include <boost/config.hpp>
-
-namespace boost {
-namespace type_traits {
-
-template <int b1, int b2>
-struct ice_eq
-{
- BOOST_STATIC_CONSTANT(bool, value = (b1 == b2));
-};
-
-template <int b1, int b2>
-struct ice_ne
-{
- BOOST_STATIC_CONSTANT(bool, value = (b1 != b2));
-};
-
-#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-template <int b1, int b2> bool const ice_eq<b1,b2>::value;
-template <int b1, int b2> bool const ice_ne<b1,b2>::value;
-#endif
-
-} // namespace type_traits
-} // namespace boost
-
-#endif // BOOST_TT_DETAIL_ICE_EQ_HPP_INCLUDED
diff --git a/boost/type_traits/detail/ice_not.hpp b/boost/type_traits/detail/ice_not.hpp
deleted file mode 100644
index ee1dca0..0000000
--- a/boost/type_traits/detail/ice_not.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-// (C) Copyright John Maddock and Steve Cleary 2000.
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_DETAIL_ICE_NOT_HPP_INCLUDED
-#define BOOST_TT_DETAIL_ICE_NOT_HPP_INCLUDED
-
-#include <boost/config.hpp>
-
-namespace boost {
-namespace type_traits {
-
-template <bool b>
-struct ice_not
-{
- BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template <>
-struct ice_not<true>
-{
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-} // namespace type_traits
-} // namespace boost
-
-#endif // BOOST_TT_DETAIL_ICE_NOT_HPP_INCLUDED
diff --git a/boost/type_traits/detail/ice_or.hpp b/boost/type_traits/detail/ice_or.hpp
deleted file mode 100644
index f88d9f6..0000000
--- a/boost/type_traits/detail/ice_or.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-// (C) Copyright John Maddock and Steve Cleary 2000.
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_DETAIL_ICE_OR_HPP_INCLUDED
-#define BOOST_TT_DETAIL_ICE_OR_HPP_INCLUDED
-
-#include <boost/config.hpp>
-
-namespace boost {
-namespace type_traits {
-
-template <bool b1, bool b2, bool b3 = false, bool b4 = false, bool b5 = false, bool b6 = false, bool b7 = false>
-struct ice_or;
-
-template <bool b1, bool b2, bool b3, bool b4, bool b5, bool b6, bool b7>
-struct ice_or
-{
- BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-template <>
-struct ice_or<false, false, false, false, false, false, false>
-{
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-} // namespace type_traits
-} // namespace boost
-
-#endif // BOOST_TT_DETAIL_ICE_OR_HPP_INCLUDED
diff --git a/boost/type_traits/detail/is_function_ptr_helper.hpp b/boost/type_traits/detail/is_function_ptr_helper.hpp
deleted file mode 100644
index 605d0bc..0000000
--- a/boost/type_traits/detail/is_function_ptr_helper.hpp
+++ /dev/null
@@ -1,220 +0,0 @@
-
-// Copyright 2000 John Maddock (john at johnmaddock.co.uk)
-// Copyright 2002 Aleksey Gurtovoy (agurtovoy at meta-comm.com)
-//
-// 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/libs/type_traits for most recent version including documentation.
-
-#if !defined(BOOST_PP_IS_ITERATING)
-
-///// header body
-
-#ifndef BOOST_TT_DETAIL_IS_FUNCTION_PTR_HELPER_HPP_INCLUDED
-#define BOOST_TT_DETAIL_IS_FUNCTION_PTR_HELPER_HPP_INCLUDED
-
-#include <boost/type_traits/config.hpp>
-
-#if defined(BOOST_TT_PREPROCESSING_MODE)
-# include <boost/preprocessor/iterate.hpp>
-# include <boost/preprocessor/enum_params.hpp>
-# include <boost/preprocessor/comma_if.hpp>
-#endif
-
-namespace boost {
-namespace type_traits {
-
-template <class R>
-struct is_function_ptr_helper
-{
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-#if !defined(BOOST_TT_PREPROCESSING_MODE)
-// preprocessor-generated part, don't edit by hand!
-
-template <class R >
-struct is_function_ptr_helper<R (*)()> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R >
-struct is_function_ptr_helper<R (*)( ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0>
-struct is_function_ptr_helper<R (*)( T0)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0>
-struct is_function_ptr_helper<R (*)( T0 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0 , class T1>
-struct is_function_ptr_helper<R (*)( T0 , T1)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1>
-struct is_function_ptr_helper<R (*)( T0 , T1 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0 , class T1 , class T2>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>
-struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#else
-
-#undef BOOST_STATIC_CONSTANT
-#define BOOST_PP_ITERATION_PARAMS_1 \
- (3, (0, 25, "boost/type_traits/detail/is_function_ptr_helper.hpp"))
-#include BOOST_PP_ITERATE()
-
-#endif // BOOST_TT_PREPROCESSING_MODE
-
-} // namespace type_traits
-} // namespace boost
-
-#endif // BOOST_TT_DETAIL_IS_FUNCTION_PTR_HELPER_HPP_INCLUDED
-
-///// iteration
-
-#else
-#define BOOST_PP_COUNTER BOOST_PP_FRAME_ITERATION(1)
-
-template <class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T)>
-struct is_function_ptr_helper<R (*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T))> { BOOST_STATIC_CONSTANT(bool, value = true); };
-@#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T)>
-struct is_function_ptr_helper<R (*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
-@#endif
-#undef BOOST_PP_COUNTER
-#endif // BOOST_PP_IS_ITERATING
diff --git a/boost/type_traits/detail/is_function_ptr_tester.hpp b/boost/type_traits/detail/is_function_ptr_tester.hpp
deleted file mode 100644
index 2ab49a3..0000000
--- a/boost/type_traits/detail/is_function_ptr_tester.hpp
+++ /dev/null
@@ -1,654 +0,0 @@
-
-// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes,
-// Aleksey Gurtovoy, Howard Hinnant & John Maddock 2000.
-// 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/libs/type_traits for most recent version including documentation.
-
-#if !defined(BOOST_PP_IS_ITERATING)
-
-///// header body
-
-#ifndef BOOST_TT_DETAIL_IS_FUNCTION_PTR_TESTER_HPP_INCLUDED
-#define BOOST_TT_DETAIL_IS_FUNCTION_PTR_TESTER_HPP_INCLUDED
-
-#include <boost/type_traits/detail/yes_no_type.hpp>
-#include <boost/type_traits/config.hpp>
-
-#if defined(BOOST_TT_PREPROCESSING_MODE)
-# include <boost/preprocessor/iterate.hpp>
-# include <boost/preprocessor/enum_params.hpp>
-# include <boost/preprocessor/comma_if.hpp>
-#endif
-
-namespace boost {
-namespace type_traits {
-
-// Note it is acceptable to use ellipsis here, since the argument will
-// always be a pointer type of some sort (JM 2005/06/04):
-no_type BOOST_TT_DECL is_function_ptr_tester(...);
-
-#if !defined(BOOST_TT_PREPROCESSING_MODE)
-// pre-processed code, don't edit, try GNU cpp with
-// cpp -I../../../ -DBOOST_TT_PREPROCESSING_MODE -x c++ -P filename
-
-template <class R >
-yes_type is_function_ptr_tester(R (*)());
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R >
-yes_type is_function_ptr_tester(R (*)( ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R >
-yes_type is_function_ptr_tester(R (__stdcall*)());
-template <class R >
-yes_type is_function_ptr_tester(R (__stdcall*)( ...));
-#ifndef _MANAGED
-template <class R >
-yes_type is_function_ptr_tester(R (__fastcall*)());
-template <class R >
-yes_type is_function_ptr_tester(R (__fastcall*)( ...));
-#endif
-template <class R >
-yes_type is_function_ptr_tester(R (__cdecl*)());
-template <class R >
-yes_type is_function_ptr_tester(R (__cdecl*)( ...));
-#endif
-template <class R , class T0 >
-yes_type is_function_ptr_tester(R (*)( T0));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 >
-yes_type is_function_ptr_tester(R (*)( T0 ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0));
-template <class R , class T0 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 ...));
-#ifndef _MANAGED
-template <class R , class T0 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0));
-template <class R , class T0 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 ...));
-#endif
-template <class R , class T0 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0));
-template <class R , class T0 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 ...));
-#endif
-template <class R , class T0 , class T1 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 , class T1 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1));
-template <class R , class T0 , class T1 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 ...));
-#ifndef _MANAGED
-template <class R , class T0 , class T1 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1));
-template <class R , class T0 , class T1 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 ...));
-#endif
-template <class R , class T0 , class T1 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1));
-template <class R , class T0 , class T1 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 , class T1 , class T2 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2));
-template <class R , class T0 , class T1 , class T2 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 ...));
-#ifndef _MANAGED
-template <class R , class T0 , class T1 , class T2 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2));
-template <class R , class T0 , class T1 , class T2 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2));
-template <class R , class T0 , class T1 , class T2 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 , class T1 , class T2 , class T3 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3));
-template <class R , class T0 , class T1 , class T2 , class T3 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 ...));
-#ifndef _MANAGED
-template <class R , class T0 , class T1 , class T2 , class T3 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3));
-template <class R , class T0 , class T1 , class T2 , class T3 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3));
-template <class R , class T0 , class T1 , class T2 , class T3 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 ...));
-#ifndef _MANAGED
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 ...));
-#ifndef _MANAGED
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...));
-#ifndef _MANAGED
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...));
-#ifndef _MANAGED
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...));
-#ifndef _MANAGED
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...));
-#ifndef _MANAGED
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...));
-#ifndef _MANAGED
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...));
-#ifndef _MANAGED
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...));
-#ifndef _MANAGED
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...));
-#ifndef _MANAGED
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...));
-#ifndef _MANAGED
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...));
-#ifndef _MANAGED
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...));
-#ifndef _MANAGED
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...));
-#ifndef _MANAGED
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...));
-#ifndef _MANAGED
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...));
-#ifndef _MANAGED
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...));
-#ifndef _MANAGED
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...));
-#ifndef _MANAGED
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...));
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...));
-#ifndef _MANAGED
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22));
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...));
-#endif
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_function_ptr_tester(R (*)( 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
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_function_ptr_tester(R (__stdcall*)( 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 <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...));
-#ifndef _MANAGED
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_function_ptr_tester(R (__fastcall*)( 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 <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_function_ptr_tester(R (__fastcall*)( 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
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_function_ptr_tester(R (__cdecl*)( 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 <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_function_ptr_tester(R (__cdecl*)( 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
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24));
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_function_ptr_tester(R (*)( T0 , 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
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , 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 <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...));
-#ifndef _MANAGED
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , 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 <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_function_ptr_tester(R (__fastcall*)( T0 , 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
-template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , 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 <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_function_ptr_tester(R (__cdecl*)( T0 , 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
-#else
-
-#define BOOST_PP_ITERATION_PARAMS_1 \
- (3, (0, 25, "boost/type_traits/detail/is_function_ptr_tester.hpp"))
-#include BOOST_PP_ITERATE()
-
-#endif // BOOST_TT_PREPROCESSING_MODE
-
-} // namespace type_traits
-} // namespace boost
-
-#endif // BOOST_TT_DETAIL_IS_FUNCTION_PTR_TESTER_HPP_INCLUDED
-
-///// iteration
-
-#else
-#define BOOST_PP_COUNTER BOOST_PP_FRAME_ITERATION(1)
-#undef __stdcall
-#undef __fastcall
-#undef __cdecl
-
-template <class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_function_ptr_tester(R (*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)));
-@#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_function_ptr_tester(R (*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...));
-@#endif
-@#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_function_ptr_tester(R (__stdcall*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)));
-template <class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_function_ptr_tester(R (__stdcall*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...));
-@#ifndef _MANAGED
-template <class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_function_ptr_tester(R (__fastcall*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)));
-template <class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_function_ptr_tester(R (__fastcall*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...));
-@#endif
-template <class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_function_ptr_tester(R (__cdecl*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)));
-template <class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_function_ptr_tester(R (__cdecl*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...));
-@#endif
-
-#undef BOOST_PP_COUNTER
-#endif // BOOST_PP_IS_ITERATING
diff --git a/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp b/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp
deleted file mode 100644
index 4f75f14..0000000
--- a/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp
+++ /dev/null
@@ -1,817 +0,0 @@
-
-// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes,
-// Aleksey Gurtovoy, Howard Hinnant & John Maddock 2000.
-// 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/libs/type_traits for most recent version including documentation.
-
-#if !defined(BOOST_PP_IS_ITERATING)
-
-///// header body
-
-#ifndef BOOST_TT_DETAIL_IS_MEM_FUN_POINTER_IMPL_HPP_INCLUDED
-#define BOOST_TT_DETAIL_IS_MEM_FUN_POINTER_IMPL_HPP_INCLUDED
-
-#include <boost/config.hpp>
-
-#if defined(BOOST_TT_PREPROCESSING_MODE)
-# include <boost/preprocessor/iterate.hpp>
-# include <boost/preprocessor/enum_params.hpp>
-# include <boost/preprocessor/comma_if.hpp>
-#endif
-
-namespace boost {
-namespace type_traits {
-
-template <typename T>
-struct is_mem_fun_pointer_impl
-{
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-#if !defined(BOOST_TT_PREPROCESSING_MODE)
-// pre-processed code, don't edit, try GNU cpp with
-// cpp -I../../../ -DBOOST_TT_PREPROCESSING_MODE -x c++ -P filename
-
-template <class R, class T >
-struct is_mem_fun_pointer_impl<R (T::*)() > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T >
-struct is_mem_fun_pointer_impl<R (T::*)( ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T >
-struct is_mem_fun_pointer_impl<R (T::*)() const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T >
-struct is_mem_fun_pointer_impl<R (T::*)() volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T >
-struct is_mem_fun_pointer_impl<R (T::*)() const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T >
-struct is_mem_fun_pointer_impl<R (T::*)( ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T >
-struct is_mem_fun_pointer_impl<R (T::*)( ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T >
-struct is_mem_fun_pointer_impl<R (T::*)( ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0>
-struct is_mem_fun_pointer_impl<R (T::*)( T0) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0>
-struct is_mem_fun_pointer_impl<R (T::*)( T0) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0>
-struct is_mem_fun_pointer_impl<R (T::*)( T0) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0>
-struct is_mem_fun_pointer_impl<R (T::*)( T0) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0 , class T1>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0 , class T1>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0 , class T1 , class T2>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0 , class T1 , class T2>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0 , class T1 , class T2 , class T3>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-
-#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>
-struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-#endif
-#endif
-
-#else
-
-#undef BOOST_STATIC_CONSTANT
-#define BOOST_PP_ITERATION_PARAMS_1 \
- (3, (0, 25, "boost/type_traits/detail/is_mem_fun_pointer_impl.hpp"))
-#include BOOST_PP_ITERATE()
-
-#endif // BOOST_TT_PREPROCESSING_MODE
-
-} // namespace type_traits
-} // namespace boost
-
-#endif // BOOST_TT_DETAIL_IS_MEM_FUN_POINTER_IMPL_HPP_INCLUDED
-
-///// iteration
-
-#else
-#define BOOST_PP_COUNTER BOOST_PP_FRAME_ITERATION(1)
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T)>
-struct is_mem_fun_pointer_impl<R (T::*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-@#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T)>
-struct is_mem_fun_pointer_impl<R (T::*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
-@#endif
-
-@#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T)>
-struct is_mem_fun_pointer_impl<R (T::*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T)>
-struct is_mem_fun_pointer_impl<R (T::*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T)>
-struct is_mem_fun_pointer_impl<R (T::*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-@#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T)>
-struct is_mem_fun_pointer_impl<R (T::*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T)>
-struct is_mem_fun_pointer_impl<R (T::*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T)>
-struct is_mem_fun_pointer_impl<R (T::*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
-@#endif
-@#endif
-
-#undef BOOST_PP_COUNTER
-#endif // BOOST_PP_IS_ITERATING
-
diff --git a/boost/type_traits/detail/is_mem_fun_pointer_tester.hpp b/boost/type_traits/detail/is_mem_fun_pointer_tester.hpp
deleted file mode 100644
index e6532d3..0000000
--- a/boost/type_traits/detail/is_mem_fun_pointer_tester.hpp
+++ /dev/null
@@ -1,2759 +0,0 @@
-
-// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes,
-// Aleksey Gurtovoy, Howard Hinnant & John Maddock 2000.
-// 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/libs/type_traits for most recent version including documentation.
-
-#if !defined(BOOST_PP_IS_ITERATING)
-
-///// header body
-
-#ifndef BOOST_TT_DETAIL_IS_MEM_FUN_POINTER_TESTER_HPP_INCLUDED
-#define BOOST_TT_DETAIL_IS_MEM_FUN_POINTER_TESTER_HPP_INCLUDED
-
-#include <boost/type_traits/detail/yes_no_type.hpp>
-#include <boost/type_traits/config.hpp>
-
-#if defined(BOOST_TT_PREPROCESSING_MODE)
-# include <boost/preprocessor/iterate.hpp>
-# include <boost/preprocessor/enum_params.hpp>
-# include <boost/preprocessor/comma_if.hpp>
-#endif
-
-namespace boost {
-namespace type_traits {
-
-no_type BOOST_TT_DECL is_mem_fun_pointer_tester(...);
-
-#if !defined(BOOST_TT_PREPROCESSING_MODE)
-// pre-processed code, don't edit, try GNU cpp with
-// cpp -I../../../ -DBOOST_TT_PREPROCESSING_MODE -x c++ -P filename
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)());
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)() const);
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)() volatile);
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)() const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( ...));
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( ...) const);
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( ...) volatile);
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)());
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)() const);
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)() volatile);
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)() const volatile);
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( ...));
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( ...) const);
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( ...) volatile);
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)());
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)() const);
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)() volatile);
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)() const volatile);
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( ...));
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( ...) const);
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( ...) volatile);
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( ...) const volatile);
-#endif
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)());
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)() const);
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)() volatile);
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)() const volatile);
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( ...));
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( ...) const);
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( ...) volatile);
-
-template <class R, class T >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( ...) const volatile);
-#endif
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0));
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0) const);
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0) volatile);
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 ...));
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 ...) const);
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 ...) volatile);
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0));
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0) const);
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0) volatile);
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0) const volatile);
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 ...));
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 ...) const);
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 ...) volatile);
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0));
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0) const);
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0) volatile);
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0) const volatile);
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 ...));
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 ...) const);
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 ...) volatile);
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0));
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0) const);
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0) volatile);
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0) const volatile);
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 ...));
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 ...) const);
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 ...) volatile);
-
-template <class R, class T , class T0 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 ...) const volatile);
-#endif
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1));
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1) const);
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1) volatile);
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 ...));
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 ...) const);
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 ...) volatile);
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1));
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1) const);
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1) volatile);
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1) const volatile);
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 ...));
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 ...) const);
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 ...) volatile);
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1));
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1) const);
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1) volatile);
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1) const volatile);
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 ...));
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 ...) const);
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 ...) volatile);
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1));
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1) const);
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1) volatile);
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1) const volatile);
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 ...));
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 ...) const);
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 ...) volatile);
-
-template <class R, class T , class T0 , class T1 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 ...) const volatile);
-#endif
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2));
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2) const);
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2));
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2) const);
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2));
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2) const);
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2));
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2) const);
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 ...) const volatile);
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 ...) const volatile);
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 ...) const volatile);
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 ...) const volatile);
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) const volatile);
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) const volatile);
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) const volatile);
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) const volatile);
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) const volatile);
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) const volatile);
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) const volatile);
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) const volatile);
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) const volatile);
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) const volatile);
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) const volatile);
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) const volatile);
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) const volatile);
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) const volatile);
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) const volatile);
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) const volatile);
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...));
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) const volatile);
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( 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 <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( 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 <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( 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 <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( 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 <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( 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 <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( 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 <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( 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 <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( 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 <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) const volatile);
-#endif
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , 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 <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) const volatile);
-
-#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , 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 <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) const volatile);
-#endif
-#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , 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 <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , 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 <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) const volatile);
-
-#ifndef _MANAGED
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , 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 <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , 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 <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) const volatile);
-#endif
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , 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 <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) const volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , 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 <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) const);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) volatile);
-
-template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24 >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) const volatile);
-#endif
-
-#else
-
-#define BOOST_PP_ITERATION_PARAMS_1 \
- (3, (0, 25, "boost/type_traits/detail/is_mem_fun_pointer_tester.hpp"))
-#include BOOST_PP_ITERATE()
-
-#endif // BOOST_TT_PREPROCESSING_MODE
-
-} // namespace type_traits
-} // namespace boost
-
-#endif // BOOST_TT_DETAIL_IS_MEM_FUN_POINTER_TESTER_HPP_INCLUDED
-
-///// iteration
-
-#else
-#define BOOST_PP_COUNTER BOOST_PP_FRAME_ITERATION(1)
-#undef __stdcall
-#undef __fastcall
-#undef __cdecl
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)));
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const);
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) volatile);
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const volatile);
-
-@#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...));
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) const);
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) volatile);
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) const volatile);
-@#endif
-@#ifdef BOOST_TT_TEST_MS_FUNC_SIGS // Other calling conventions used by MS compatible compilers:
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)));
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const);
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) volatile);
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const volatile);
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...));
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) const);
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) volatile);
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) const volatile);
-
-@#ifndef _MANAGED
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)));
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const);
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) volatile);
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const volatile);
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...));
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) const);
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) volatile);
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) const volatile);
-@#endif
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)));
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const);
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) volatile);
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const volatile);
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...));
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) const);
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) volatile);
-
-template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
-yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) const volatile);
-@#endif
-
-#undef BOOST_PP_COUNTER
-#endif // BOOST_PP_IS_ITERATING
diff --git a/boost/type_traits/detail/size_t_trait_def.hpp b/boost/type_traits/detail/size_t_trait_def.hpp
deleted file mode 100644
index 3be4f70..0000000
--- a/boost/type_traits/detail/size_t_trait_def.hpp
+++ /dev/null
@@ -1,60 +0,0 @@
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
-
-// 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)
-
-// $Source$
-// $Date: 2011-04-25 05:26:48 -0700 (Mon, 25 Apr 2011) $
-// $Revision: 71481 $
-
-#include <boost/type_traits/detail/template_arity_spec.hpp>
-#include <boost/type_traits/integral_constant.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-#include <boost/mpl/size_t.hpp>
-
-#include <cstddef>
-
-#if !defined(BOOST_MSVC) || BOOST_MSVC >= 1300
-# define BOOST_TT_AUX_SIZE_T_BASE(C) public ::boost::integral_constant<std::size_t,C>
-# define BOOST_TT_AUX_SIZE_T_TRAIT_VALUE_DECL(C) /**/
-#else
-# define BOOST_TT_AUX_SIZE_T_BASE(C) public ::boost::mpl::size_t<C>
-# define BOOST_TT_AUX_SIZE_T_TRAIT_VALUE_DECL(C) \
- typedef ::boost::mpl::size_t<C> base_; \
- using base_::value; \
- /**/
-#endif
-
-
-#define BOOST_TT_AUX_SIZE_T_TRAIT_DEF1(trait,T,C) \
-template< typename T > struct trait \
- : BOOST_TT_AUX_SIZE_T_BASE(C) \
-{ \
-public:\
- BOOST_TT_AUX_SIZE_T_TRAIT_VALUE_DECL(C) \
- BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) \
-}; \
-\
-BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait) \
-/**/
-
-#define BOOST_TT_AUX_SIZE_T_TRAIT_SPEC1(trait,spec,C) \
-template<> struct trait<spec> \
- : BOOST_TT_AUX_SIZE_T_BASE(C) \
-{ \
-public:\
- BOOST_TT_AUX_SIZE_T_TRAIT_VALUE_DECL(C) \
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(spec)) \
-}; \
-/**/
-
-#define BOOST_TT_AUX_SIZE_T_TRAIT_PARTIAL_SPEC1_1(param,trait,spec,C) \
-template< param > struct trait<spec> \
- : BOOST_TT_AUX_SIZE_T_BASE(C) \
-{ \
-}; \
-/**/
diff --git a/boost/type_traits/detail/size_t_trait_undef.hpp b/boost/type_traits/detail/size_t_trait_undef.hpp
deleted file mode 100644
index 967fd91..0000000
--- a/boost/type_traits/detail/size_t_trait_undef.hpp
+++ /dev/null
@@ -1,16 +0,0 @@
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
-
-// 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)
-
-// $Source$
-// $Date: 2004-09-02 08:41:37 -0700 (Thu, 02 Sep 2004) $
-// $Revision: 24874 $
-
-#undef BOOST_TT_AUX_SIZE_T_TRAIT_DEF1
-#undef BOOST_TT_AUX_SIZE_T_TRAIT_SPEC1
-#undef BOOST_TT_AUX_SIZE_T_TRAIT_PARTIAL_SPEC1_1
diff --git a/boost/type_traits/detail/template_arity_spec.hpp b/boost/type_traits/detail/template_arity_spec.hpp
deleted file mode 100644
index fe9b422..0000000
--- a/boost/type_traits/detail/template_arity_spec.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
-
-// 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)
-
-#include <boost/mpl/int.hpp>
-#include <boost/mpl/aux_/template_arity_fwd.hpp>
-#include <boost/mpl/aux_/preprocessor/params.hpp>
-#include <boost/mpl/aux_/config/lambda.hpp>
-#include <boost/mpl/aux_/config/overload_resolution.hpp>
-
-#if defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) \
- && defined(BOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION)
-# define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i, name) \
-namespace mpl { namespace aux { \
-template< BOOST_MPL_PP_PARAMS(i, typename T) > \
-struct template_arity< \
- name< BOOST_MPL_PP_PARAMS(i, T) > \
- > \
- : int_<i> \
-{ \
-}; \
-}} \
-/**/
-#else
-# define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i, name) /**/
-#endif
diff --git a/boost/type_traits/detail/type_trait_def.hpp b/boost/type_traits/detail/type_trait_def.hpp
deleted file mode 100644
index 224f848..0000000
--- a/boost/type_traits/detail/type_trait_def.hpp
+++ /dev/null
@@ -1,67 +0,0 @@
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
-
-// 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)
-
-// $Source$
-// $Date: 2011-04-25 05:26:48 -0700 (Mon, 25 Apr 2011) $
-// $Revision: 71481 $
-
-#include <boost/type_traits/detail/template_arity_spec.hpp>
-#include <boost/mpl/aux_/lambda_support.hpp>
-
-#define BOOST_TT_AUX_TYPE_TRAIT_DEF1(trait,T,result) \
-template< typename T > struct trait \
-{ \
-public:\
- typedef result type; \
- BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) \
-}; \
-\
-BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait) \
-/**/
-
-#define BOOST_TT_AUX_TYPE_TRAIT_SPEC1(trait,spec,result) \
-template<> struct trait<spec> \
-{ \
-public:\
- typedef result type; \
- BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(spec)) \
-}; \
-/**/
-
-#define BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1(trait,spec,result) \
-template<> struct trait##_impl<spec> \
-{ \
-public:\
- typedef result type; \
-}; \
-/**/
-
-#define BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(param,trait,spec,result) \
-template< param > struct trait<spec> \
-{ \
-public:\
- typedef result type; \
-}; \
-/**/
-
-#define BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(param1,param2,trait,spec,result) \
-template< param1, param2 > struct trait<spec> \
-{ \
-public:\
- typedef result; \
-}; \
-/**/
-
-#define BOOST_TT_AUX_TYPE_TRAIT_IMPL_PARTIAL_SPEC1_1(param,trait,spec,result) \
-template< param > struct trait##_impl<spec> \
-{ \
-public:\
- typedef result type; \
-}; \
-/**/
diff --git a/boost/type_traits/detail/type_trait_undef.hpp b/boost/type_traits/detail/type_trait_undef.hpp
deleted file mode 100644
index c4f14ff..0000000
--- a/boost/type_traits/detail/type_trait_undef.hpp
+++ /dev/null
@@ -1,19 +0,0 @@
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
-
-// 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)
-
-// $Source$
-// $Date: 2004-09-02 08:41:37 -0700 (Thu, 02 Sep 2004) $
-// $Revision: 24874 $
-
-#undef BOOST_TT_AUX_TYPE_TRAIT_DEF1
-#undef BOOST_TT_AUX_TYPE_TRAIT_SPEC1
-#undef BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1
-#undef BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1
-#undef BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2
-#undef BOOST_TT_AUX_TYPE_TRAIT_IMPL_PARTIAL_SPEC1_1
diff --git a/boost/type_traits/detail/wrap.hpp b/boost/type_traits/detail/wrap.hpp
deleted file mode 100644
index d0a75d0..0000000
--- a/boost/type_traits/detail/wrap.hpp
+++ /dev/null
@@ -1,18 +0,0 @@
-// (C) Copyright David Abrahams 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_DETAIL_WRAP_HPP_INCLUDED
-#define BOOST_TT_DETAIL_WRAP_HPP_INCLUDED
-
-namespace boost {
-namespace type_traits {
-
-template <class T> struct wrap {};
-
-}} // namespace boost::type_traits
-
-#endif // BOOST_TT_DETAIL_WRAP_HPP_INCLUDED
diff --git a/boost/type_traits/detail/yes_no_type.hpp b/boost/type_traits/detail/yes_no_type.hpp
deleted file mode 100644
index f583730..0000000
--- a/boost/type_traits/detail/yes_no_type.hpp
+++ /dev/null
@@ -1,26 +0,0 @@
-
-// (C) Copyright John Maddock and Steve Cleary 2000.
-// 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/libs/type_traits for most recent version including documentation.
-//
-// macros and helpers for working with integral-constant-expressions.
-
-#ifndef BOOST_TT_DETAIL_YES_NO_TYPE_HPP_INCLUDED
-#define BOOST_TT_DETAIL_YES_NO_TYPE_HPP_INCLUDED
-
-namespace boost {
-namespace type_traits {
-
-typedef char yes_type;
-struct no_type
-{
- char padding[8];
-};
-
-} // namespace type_traits
-} // namespace boost
-
-#endif // BOOST_TT_DETAIL_YES_NO_TYPE_HPP_INCLUDED
diff --git a/boost/type_traits/extent.hpp b/boost/type_traits/extent.hpp
deleted file mode 100644
index 27e8a67..0000000
--- a/boost/type_traits/extent.hpp
+++ /dev/null
@@ -1,145 +0,0 @@
-
-// (C) Copyright John Maddock 2005.
-// 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/libs/type_traits for most recent version including documentation.
-
-
-#ifndef BOOST_TT_EXTENT_HPP_INCLUDED
-#define BOOST_TT_EXTENT_HPP_INCLUDED
-
-// should be the last #include
-#include <boost/type_traits/detail/size_t_trait_def.hpp>
-
-namespace boost {
-
-namespace detail{
-
-#if defined( __CODEGEARC__ )
- // wrap the impl as main trait provides additional MPL lambda support
- template < typename T, std::size_t N >
- struct extent_imp {
- static const std::size_t value = __array_extent(T, N);
- };
-
-#else
-
-template <class T, std::size_t N>
-struct extent_imp
-{
- BOOST_STATIC_CONSTANT(std::size_t, value = 0);
-};
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
-template <class T, std::size_t R, std::size_t N>
-struct extent_imp<T[R], N>
-{
- BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::extent_imp<T, N-1>::value));
-};
-
-template <class T, std::size_t R, std::size_t N>
-struct extent_imp<T const[R], N>
-{
- BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::extent_imp<T, N-1>::value));
-};
-
-template <class T, std::size_t R, std::size_t N>
-struct extent_imp<T volatile[R], N>
-{
- BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::extent_imp<T, N-1>::value));
-};
-
-template <class T, std::size_t R, std::size_t N>
-struct extent_imp<T const volatile[R], N>
-{
- BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::extent_imp<T, N-1>::value));
-};
-
-template <class T, std::size_t R>
-struct extent_imp<T[R],0>
-{
- BOOST_STATIC_CONSTANT(std::size_t, value = R);
-};
-
-template <class T, std::size_t R>
-struct extent_imp<T const[R], 0>
-{
- BOOST_STATIC_CONSTANT(std::size_t, value = R);
-};
-
-template <class T, std::size_t R>
-struct extent_imp<T volatile[R], 0>
-{
- BOOST_STATIC_CONSTANT(std::size_t, value = R);
-};
-
-template <class T, std::size_t R>
-struct extent_imp<T const volatile[R], 0>
-{
- BOOST_STATIC_CONSTANT(std::size_t, value = R);
-};
-
-#if !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(__IBMCPP__) && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) && !defined(__MWERKS__)
-template <class T, std::size_t N>
-struct extent_imp<T[], N>
-{
- BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::extent_imp<T, N-1>::value));
-};
-template <class T, std::size_t N>
-struct extent_imp<T const[], N>
-{
- BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::extent_imp<T, N-1>::value));
-};
-template <class T, std::size_t N>
-struct extent_imp<T volatile[], N>
-{
- BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::extent_imp<T, N-1>::value));
-};
-template <class T, std::size_t N>
-struct extent_imp<T const volatile[], N>
-{
- BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::extent_imp<T, N-1>::value));
-};
-template <class T>
-struct extent_imp<T[], 0>
-{
- BOOST_STATIC_CONSTANT(std::size_t, value = 0);
-};
-template <class T>
-struct extent_imp<T const[], 0>
-{
- BOOST_STATIC_CONSTANT(std::size_t, value = 0);
-};
-template <class T>
-struct extent_imp<T volatile[], 0>
-{
- BOOST_STATIC_CONSTANT(std::size_t, value = 0);
-};
-template <class T>
-struct extent_imp<T const volatile[], 0>
-{
- BOOST_STATIC_CONSTANT(std::size_t, value = 0);
-};
-#endif
-#endif
-
-#endif // non-CodeGear implementation
-} // ::boost::detail
-
-template <class T, std::size_t N = 0>
-struct extent
- : public ::boost::integral_constant<std::size_t, ::boost::detail::extent_imp<T,N>::value>
-{
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
- typedef ::boost::integral_constant<std::size_t, ::boost::detail::extent_imp<T,N>::value> base_;
- using base_::value;
-#endif
- BOOST_MPL_AUX_LAMBDA_SUPPORT(1,extent,(T))
-};
-
-} // namespace boost
-
-#include <boost/type_traits/detail/size_t_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
diff --git a/boost/type_traits/floating_point_promotion.hpp b/boost/type_traits/floating_point_promotion.hpp
deleted file mode 100644
index 8b6ae3a..0000000
--- a/boost/type_traits/floating_point_promotion.hpp
+++ /dev/null
@@ -1,91 +0,0 @@
-// Copyright 2005 Alexander Nasonov.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef FILE_boost_type_traits_floating_point_promotion_hpp_INCLUDED
-#define FILE_boost_type_traits_floating_point_promotion_hpp_INCLUDED
-
-#include <boost/config.hpp>
-
-#ifdef BOOST_NO_CV_SPECIALIZATIONS
-#include <boost/mpl/at.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/mpl/multiplies.hpp>
-#include <boost/mpl/plus.hpp>
-#include <boost/mpl/vector.hpp>
-#include <boost/type_traits/is_same.hpp>
-#endif
-
-// Should be the last #include
-#include <boost/type_traits/detail/type_trait_def.hpp>
-
-namespace boost {
-
-namespace type_traits { namespace detail {
-
-#ifndef BOOST_NO_CV_SPECIALIZATIONS
-
-template<class T>
-struct floating_point_promotion
-{
- typedef T type;
-};
-
-template<>
-struct floating_point_promotion<float>
-{
- typedef double type;
-};
-
-template<>
-struct floating_point_promotion<float const>
-{
- typedef double const type;
-};
-
-template<>
-struct floating_point_promotion<float volatile>
-{
- typedef double volatile type;
-};
-
-template<>
-struct floating_point_promotion<float const volatile>
-{
- typedef double const volatile type;
-};
-
-#else
-
-template<class T>
-struct floating_point_promotion
- : mpl::at<
- mpl::vector< T, double, double const, double volatile,
- double const volatile >
- , mpl::plus<
- is_same<T, float>
- , mpl::multiplies< is_same<T, float const> , mpl::int_<2> >
- , mpl::multiplies< is_same<T, float volatile> , mpl::int_<3> >
- , mpl::multiplies< is_same<T, float const volatile>, mpl::int_<4> >
- >
- >
-{
-};
-
-#endif
-
-} }
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(
- floating_point_promotion
- , T
- , BOOST_DEDUCED_TYPENAME
- boost::type_traits::detail::floating_point_promotion<T>::type
- )
-}
-
-#include <boost/type_traits/detail/type_trait_undef.hpp>
-
-#endif // #ifndef FILE_boost_type_traits_floating_point_promotion_hpp_INCLUDED
-
diff --git a/boost/type_traits/function_traits.hpp b/boost/type_traits/function_traits.hpp
deleted file mode 100644
index d715345..0000000
--- a/boost/type_traits/function_traits.hpp
+++ /dev/null
@@ -1,236 +0,0 @@
-
-// Copyright 2000 John Maddock (john at johnmaddock.co.uk)
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_FUNCTION_TRAITS_HPP_INCLUDED
-#define BOOST_TT_FUNCTION_TRAITS_HPP_INCLUDED
-
-#include <boost/config.hpp>
-#include <boost/type_traits/is_function.hpp>
-#include <boost/type_traits/add_pointer.hpp>
-
-namespace boost {
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-namespace detail {
-
-template<typename Function> struct function_traits_helper;
-
-template<typename R>
-struct function_traits_helper<R (*)(void)>
-{
- BOOST_STATIC_CONSTANT(unsigned, arity = 0);
- typedef R result_type;
-};
-
-template<typename R, typename T1>
-struct function_traits_helper<R (*)(T1)>
-{
- BOOST_STATIC_CONSTANT(unsigned, arity = 1);
- typedef R result_type;
- typedef T1 arg1_type;
- typedef T1 argument_type;
-};
-
-template<typename R, typename T1, typename T2>
-struct function_traits_helper<R (*)(T1, T2)>
-{
- BOOST_STATIC_CONSTANT(unsigned, arity = 2);
- typedef R result_type;
- typedef T1 arg1_type;
- typedef T2 arg2_type;
- typedef T1 first_argument_type;
- typedef T2 second_argument_type;
-};
-
-template<typename R, typename T1, typename T2, typename T3>
-struct function_traits_helper<R (*)(T1, T2, T3)>
-{
- BOOST_STATIC_CONSTANT(unsigned, arity = 3);
- typedef R result_type;
- typedef T1 arg1_type;
- typedef T2 arg2_type;
- typedef T3 arg3_type;
-};
-
-template<typename R, typename T1, typename T2, typename T3, typename T4>
-struct function_traits_helper<R (*)(T1, T2, T3, T4)>
-{
- BOOST_STATIC_CONSTANT(unsigned, arity = 4);
- typedef R result_type;
- typedef T1 arg1_type;
- typedef T2 arg2_type;
- typedef T3 arg3_type;
- typedef T4 arg4_type;
-};
-
-template<typename R, typename T1, typename T2, typename T3, typename T4,
- typename T5>
-struct function_traits_helper<R (*)(T1, T2, T3, T4, T5)>
-{
- BOOST_STATIC_CONSTANT(unsigned, arity = 5);
- typedef R result_type;
- typedef T1 arg1_type;
- typedef T2 arg2_type;
- typedef T3 arg3_type;
- typedef T4 arg4_type;
- typedef T5 arg5_type;
-};
-
-template<typename R, typename T1, typename T2, typename T3, typename T4,
- typename T5, typename T6>
-struct function_traits_helper<R (*)(T1, T2, T3, T4, T5, T6)>
-{
- BOOST_STATIC_CONSTANT(unsigned, arity = 6);
- typedef R result_type;
- typedef T1 arg1_type;
- typedef T2 arg2_type;
- typedef T3 arg3_type;
- typedef T4 arg4_type;
- typedef T5 arg5_type;
- typedef T6 arg6_type;
-};
-
-template<typename R, typename T1, typename T2, typename T3, typename T4,
- typename T5, typename T6, typename T7>
-struct function_traits_helper<R (*)(T1, T2, T3, T4, T5, T6, T7)>
-{
- BOOST_STATIC_CONSTANT(unsigned, arity = 7);
- typedef R result_type;
- typedef T1 arg1_type;
- typedef T2 arg2_type;
- typedef T3 arg3_type;
- typedef T4 arg4_type;
- typedef T5 arg5_type;
- typedef T6 arg6_type;
- typedef T7 arg7_type;
-};
-
-template<typename R, typename T1, typename T2, typename T3, typename T4,
- typename T5, typename T6, typename T7, typename T8>
-struct function_traits_helper<R (*)(T1, T2, T3, T4, T5, T6, T7, T8)>
-{
- BOOST_STATIC_CONSTANT(unsigned, arity = 8);
- typedef R result_type;
- typedef T1 arg1_type;
- typedef T2 arg2_type;
- typedef T3 arg3_type;
- typedef T4 arg4_type;
- typedef T5 arg5_type;
- typedef T6 arg6_type;
- typedef T7 arg7_type;
- typedef T8 arg8_type;
-};
-
-template<typename R, typename T1, typename T2, typename T3, typename T4,
- typename T5, typename T6, typename T7, typename T8, typename T9>
-struct function_traits_helper<R (*)(T1, T2, T3, T4, T5, T6, T7, T8, T9)>
-{
- BOOST_STATIC_CONSTANT(unsigned, arity = 9);
- typedef R result_type;
- typedef T1 arg1_type;
- typedef T2 arg2_type;
- typedef T3 arg3_type;
- typedef T4 arg4_type;
- typedef T5 arg5_type;
- typedef T6 arg6_type;
- typedef T7 arg7_type;
- typedef T8 arg8_type;
- typedef T9 arg9_type;
-};
-
-template<typename R, typename T1, typename T2, typename T3, typename T4,
- typename T5, typename T6, typename T7, typename T8, typename T9,
- typename T10>
-struct function_traits_helper<R (*)(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)>
-{
- BOOST_STATIC_CONSTANT(unsigned, arity = 10);
- typedef R result_type;
- typedef T1 arg1_type;
- typedef T2 arg2_type;
- typedef T3 arg3_type;
- typedef T4 arg4_type;
- typedef T5 arg5_type;
- typedef T6 arg6_type;
- typedef T7 arg7_type;
- typedef T8 arg8_type;
- typedef T9 arg9_type;
- typedef T10 arg10_type;
-};
-
-} // end namespace detail
-
-template<typename Function>
-struct function_traits :
- public boost::detail::function_traits_helper<typename boost::add_pointer<Function>::type>
-{
-};
-
-#else
-
-namespace detail {
-
-template<unsigned N>
-struct type_of_size
-{
- char elements[N];
-};
-
-template<typename R>
-type_of_size<1> function_arity_helper(R (*f)());
-
-template<typename R, typename T1>
-type_of_size<2> function_arity_helper(R (*f)(T1));
-
-template<typename R, typename T1, typename T2>
-type_of_size<3> function_arity_helper(R (*f)(T1, T2));
-
-template<typename R, typename T1, typename T2, typename T3>
-type_of_size<4> function_arity_helper(R (*f)(T1, T2, T3));
-
-template<typename R, typename T1, typename T2, typename T3, typename T4>
-type_of_size<5> function_arity_helper(R (*f)(T1, T2, T3, T4));
-
-template<typename R, typename T1, typename T2, typename T3, typename T4,
- typename T5>
-type_of_size<6> function_arity_helper(R (*f)(T1, T2, T3, T4, T5));
-
-template<typename R, typename T1, typename T2, typename T3, typename T4,
- typename T5, typename T6>
-type_of_size<7> function_arity_helper(R (*f)(T1, T2, T3, T4, T5, T6));
-
-template<typename R, typename T1, typename T2, typename T3, typename T4,
- typename T5, typename T6, typename T7>
-type_of_size<8> function_arity_helper(R (*f)(T1, T2, T3, T4, T5, T6, T7));
-
-template<typename R, typename T1, typename T2, typename T3, typename T4,
- typename T5, typename T6, typename T7, typename T8>
-type_of_size<9> function_arity_helper(R (*f)(T1, T2, T3, T4, T5, T6, T7, T8));
-
-template<typename R, typename T1, typename T2, typename T3, typename T4,
- typename T5, typename T6, typename T7, typename T8, typename T9>
-type_of_size<10> function_arity_helper(R (*f)(T1, T2, T3, T4, T5, T6, T7, T8,
- T9));
-
-template<typename R, typename T1, typename T2, typename T3, typename T4,
- typename T5, typename T6, typename T7, typename T8, typename T9,
- typename T10>
-type_of_size<11> function_arity_helper(R (*f)(T1, T2, T3, T4, T5, T6, T7, T8,
- T9, T10));
-} // end namespace detail
-
-// Won't work with references
-template<typename Function>
-struct function_traits
-{
- BOOST_STATIC_CONSTANT(unsigned, arity = (sizeof(boost::detail::function_arity_helper((Function*)0))-1));
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-}
-
-#endif // BOOST_TT_FUNCTION_TRAITS_HPP_INCLUDED
diff --git a/boost/type_traits/has_bit_and.hpp b/boost/type_traits/has_bit_and.hpp
deleted file mode 100644
index ee3307f..0000000
--- a/boost/type_traits/has_bit_and.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-// (C) Copyright 2009-2011 Frederic Bron.
-//
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_BIT_AND_HPP_INCLUDED
-#define BOOST_TT_HAS_BIT_AND_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_bit_and
-#define BOOST_TT_TRAIT_OP &
-#define BOOST_TT_FORBIDDEN_IF\
- ::boost::type_traits::ice_or<\
- /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Lhs_nocv >::value,\
- ::boost::is_fundamental< Rhs_nocv >::value,\
- ::boost::type_traits::ice_or<\
- ::boost::type_traits::ice_not< ::boost::is_integral< Lhs_noref >::value >::value,\
- ::boost::type_traits::ice_not< ::boost::is_integral< Rhs_noref >::value >::value\
- >::value\
- >::value,\
- /* Lhs==fundamental and Rhs==pointer */\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Lhs_nocv >::value,\
- ::boost::is_pointer< Rhs_noref >::value\
- >::value,\
- /* Rhs==fundamental and Lhs==pointer */\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Rhs_nocv >::value,\
- ::boost::is_pointer< Lhs_noref >::value\
- >::value,\
- /* Lhs==pointer and Rhs==pointer */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Lhs_noref >::value,\
- ::boost::is_pointer< Rhs_noref >::value\
- >::value\
- >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/boost/type_traits/has_bit_and_assign.hpp b/boost/type_traits/has_bit_and_assign.hpp
deleted file mode 100644
index 5b3112a..0000000
--- a/boost/type_traits/has_bit_and_assign.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-// (C) Copyright 2009-2011 Frederic Bron.
-//
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_BIT_AND_ASSIGN_HPP_INCLUDED
-#define BOOST_TT_HAS_BIT_AND_ASSIGN_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_bit_and_assign
-#define BOOST_TT_TRAIT_OP &=
-#define BOOST_TT_FORBIDDEN_IF\
- ::boost::type_traits::ice_or<\
- /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Lhs_nocv >::value,\
- ::boost::is_fundamental< Rhs_nocv >::value,\
- ::boost::type_traits::ice_or<\
- ::boost::type_traits::ice_not< ::boost::is_integral< Lhs_noref >::value >::value,\
- ::boost::type_traits::ice_not< ::boost::is_integral< Rhs_noref >::value >::value\
- >::value\
- >::value,\
- /* Lhs==fundamental and Rhs==pointer */\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Lhs_nocv >::value,\
- ::boost::is_pointer< Rhs_noref >::value\
- >::value,\
- /* Rhs==fundamental and Lhs==pointer */\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Rhs_nocv >::value,\
- ::boost::is_pointer< Lhs_noref >::value\
- >::value,\
- /* Lhs==pointer and Rhs==pointer */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Lhs_noref >::value,\
- ::boost::is_pointer< Rhs_noref >::value\
- >::value,\
- /* Lhs==fundamental and Rhs==fundamental and Lhs==const */\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Lhs_nocv >::value,\
- ::boost::is_fundamental< Rhs_nocv >::value,\
- ::boost::is_const< Lhs_noref >::value\
- >::value\
- >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/boost/type_traits/has_bit_or.hpp b/boost/type_traits/has_bit_or.hpp
deleted file mode 100644
index 922b4ce..0000000
--- a/boost/type_traits/has_bit_or.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-// (C) Copyright 2009-2011 Frederic Bron.
-//
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_BIT_OR_HPP_INCLUDED
-#define BOOST_TT_HAS_BIT_OR_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_bit_or
-#define BOOST_TT_TRAIT_OP |
-#define BOOST_TT_FORBIDDEN_IF\
- ::boost::type_traits::ice_or<\
- /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Lhs_nocv >::value,\
- ::boost::is_fundamental< Rhs_nocv >::value,\
- ::boost::type_traits::ice_or<\
- ::boost::type_traits::ice_not< ::boost::is_integral< Lhs_noref >::value >::value,\
- ::boost::type_traits::ice_not< ::boost::is_integral< Rhs_noref >::value >::value\
- >::value\
- >::value,\
- /* Lhs==fundamental and Rhs==pointer */\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Lhs_nocv >::value,\
- ::boost::is_pointer< Rhs_noref >::value\
- >::value,\
- /* Rhs==fundamental and Lhs==pointer */\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Rhs_nocv >::value,\
- ::boost::is_pointer< Lhs_noref >::value\
- >::value,\
- /* Lhs==pointer and Rhs==pointer */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Lhs_noref >::value,\
- ::boost::is_pointer< Rhs_noref >::value\
- >::value\
- >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/boost/type_traits/has_bit_or_assign.hpp b/boost/type_traits/has_bit_or_assign.hpp
deleted file mode 100644
index 5481b92..0000000
--- a/boost/type_traits/has_bit_or_assign.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-// (C) Copyright 2009-2011 Frederic Bron.
-//
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_BIT_OR_ASSIGN_HPP_INCLUDED
-#define BOOST_TT_HAS_BIT_OR_ASSIGN_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_bit_or_assign
-#define BOOST_TT_TRAIT_OP |=
-#define BOOST_TT_FORBIDDEN_IF\
- ::boost::type_traits::ice_or<\
- /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Lhs_nocv >::value,\
- ::boost::is_fundamental< Rhs_nocv >::value,\
- ::boost::type_traits::ice_or<\
- ::boost::type_traits::ice_not< ::boost::is_integral< Lhs_noref >::value >::value,\
- ::boost::type_traits::ice_not< ::boost::is_integral< Rhs_noref >::value >::value\
- >::value\
- >::value,\
- /* Lhs==fundamental and Rhs==pointer */\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Lhs_nocv >::value,\
- ::boost::is_pointer< Rhs_noref >::value\
- >::value,\
- /* Rhs==fundamental and Lhs==pointer */\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Rhs_nocv >::value,\
- ::boost::is_pointer< Lhs_noref >::value\
- >::value,\
- /* Lhs==pointer and Rhs==pointer */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Lhs_noref >::value,\
- ::boost::is_pointer< Rhs_noref >::value\
- >::value,\
- /* Lhs==fundamental and Rhs==fundamental and Lhs==const */\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Lhs_nocv >::value,\
- ::boost::is_fundamental< Rhs_nocv >::value,\
- ::boost::is_const< Lhs_noref >::value\
- >::value\
- >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/boost/type_traits/has_bit_xor.hpp b/boost/type_traits/has_bit_xor.hpp
deleted file mode 100644
index 883dcf6..0000000
--- a/boost/type_traits/has_bit_xor.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-// (C) Copyright 2009-2011 Frederic Bron.
-//
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_BIT_XOR_HPP_INCLUDED
-#define BOOST_TT_HAS_BIT_XOR_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_bit_xor
-#define BOOST_TT_TRAIT_OP ^
-#define BOOST_TT_FORBIDDEN_IF\
- ::boost::type_traits::ice_or<\
- /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Lhs_nocv >::value,\
- ::boost::is_fundamental< Rhs_nocv >::value,\
- ::boost::type_traits::ice_or<\
- ::boost::type_traits::ice_not< ::boost::is_integral< Lhs_noref >::value >::value,\
- ::boost::type_traits::ice_not< ::boost::is_integral< Rhs_noref >::value >::value\
- >::value\
- >::value,\
- /* Lhs==fundamental and Rhs==pointer */\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Lhs_nocv >::value,\
- ::boost::is_pointer< Rhs_noref >::value\
- >::value,\
- /* Rhs==fundamental and Lhs==pointer */\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Rhs_nocv >::value,\
- ::boost::is_pointer< Lhs_noref >::value\
- >::value,\
- /* Lhs==pointer and Rhs==pointer */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Lhs_noref >::value,\
- ::boost::is_pointer< Rhs_noref >::value\
- >::value\
- >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/boost/type_traits/has_bit_xor_assign.hpp b/boost/type_traits/has_bit_xor_assign.hpp
deleted file mode 100644
index e2767cc..0000000
--- a/boost/type_traits/has_bit_xor_assign.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-// (C) Copyright 2009-2011 Frederic Bron.
-//
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_BIT_XOR_ASSIGN_HPP_INCLUDED
-#define BOOST_TT_HAS_BIT_XOR_ASSIGN_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_bit_xor_assign
-#define BOOST_TT_TRAIT_OP ^=
-#define BOOST_TT_FORBIDDEN_IF\
- ::boost::type_traits::ice_or<\
- /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Lhs_nocv >::value,\
- ::boost::is_fundamental< Rhs_nocv >::value,\
- ::boost::type_traits::ice_or<\
- ::boost::type_traits::ice_not< ::boost::is_integral< Lhs_noref >::value >::value,\
- ::boost::type_traits::ice_not< ::boost::is_integral< Rhs_noref >::value >::value\
- >::value\
- >::value,\
- /* Lhs==fundamental and Rhs==pointer */\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Lhs_nocv >::value,\
- ::boost::is_pointer< Rhs_noref >::value\
- >::value,\
- /* Rhs==fundamental and Lhs==pointer */\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Rhs_nocv >::value,\
- ::boost::is_pointer< Lhs_noref >::value\
- >::value,\
- /* Lhs==pointer and Rhs==pointer */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Lhs_noref >::value,\
- ::boost::is_pointer< Rhs_noref >::value\
- >::value,\
- /* Lhs==fundamental and Rhs==fundamental and Lhs==const */\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Lhs_nocv >::value,\
- ::boost::is_fundamental< Rhs_nocv >::value,\
- ::boost::is_const< Lhs_noref >::value\
- >::value\
- >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/boost/type_traits/has_complement.hpp b/boost/type_traits/has_complement.hpp
deleted file mode 100644
index dafd9f5..0000000
--- a/boost/type_traits/has_complement.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-// (C) Copyright 2009-2011 Frederic Bron.
-//
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_COMPLEMENT_HPP_INCLUDED
-#define BOOST_TT_HAS_COMPLEMENT_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_complement
-#define BOOST_TT_TRAIT_OP ~
-#define BOOST_TT_FORBIDDEN_IF\
- ::boost::type_traits::ice_or<\
- /* pointer */\
- ::boost::is_pointer< Rhs_noref >::value,\
- /* fundamental non integral */\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Rhs_noref >::value,\
- ::boost::type_traits::ice_not< ::boost::is_integral< Rhs_noref >::value >::value\
- >::value\
- >::value
-
-
-#include <boost/type_traits/detail/has_prefix_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/boost/type_traits/has_dereference.hpp b/boost/type_traits/has_dereference.hpp
deleted file mode 100644
index fe48e11..0000000
--- a/boost/type_traits/has_dereference.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-// (C) Copyright 2009-2011 Frederic Bron.
-//
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_DEREFERENCE_HPP_INCLUDED
-#define BOOST_TT_HAS_DEREFERENCE_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_dereference
-#define BOOST_TT_TRAIT_OP *
-#define BOOST_TT_FORBIDDEN_IF\
- /* void* or fundamental */\
- ::boost::type_traits::ice_or<\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Rhs_noref >::value,\
- ::boost::is_void< Rhs_noptr >::value\
- >::value,\
- ::boost::is_fundamental< Rhs_nocv >::value\
- >::value
-
-
-#include <boost/type_traits/detail/has_prefix_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/boost/type_traits/has_divides.hpp b/boost/type_traits/has_divides.hpp
deleted file mode 100644
index 277c2da..0000000
--- a/boost/type_traits/has_divides.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-// (C) Copyright 2009-2011 Frederic Bron.
-//
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_DIVIDES_HPP_INCLUDED
-#define BOOST_TT_HAS_DIVIDES_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_divides
-#define BOOST_TT_TRAIT_OP /
-#define BOOST_TT_FORBIDDEN_IF\
- /* pointer with pointer or fundamental */\
- ::boost::type_traits::ice_or<\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Lhs_noref >::value,\
- ::boost::type_traits::ice_or<\
- ::boost::is_fundamental< Rhs_nocv >::value,\
- ::boost::is_pointer< Rhs_noref >::value\
- >::value\
- >::value,\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Rhs_noref >::value,\
- ::boost::type_traits::ice_or<\
- ::boost::is_fundamental< Lhs_nocv >::value,\
- ::boost::is_pointer< Lhs_noref >::value\
- >::value\
- >::value\
- >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/boost/type_traits/has_divides_assign.hpp b/boost/type_traits/has_divides_assign.hpp
deleted file mode 100644
index b21a05a..0000000
--- a/boost/type_traits/has_divides_assign.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-// (C) Copyright 2009-2011 Frederic Bron.
-//
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_DIVIDES_ASSIGN_HPP_INCLUDED
-#define BOOST_TT_HAS_DIVIDES_ASSIGN_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_divides_assign
-#define BOOST_TT_TRAIT_OP /=
-#define BOOST_TT_FORBIDDEN_IF\
- ::boost::type_traits::ice_or<\
- /* Lhs==fundamental and Lhs==const and Rhs==fundamental */\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Lhs_nocv >::value,\
- ::boost::is_const< Lhs_noref >::value,\
- ::boost::is_fundamental< Rhs_nocv >::value\
- >::value,\
- /* Lhs==pointer and (Rhs==fundamental or Rhs==pointer) */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Lhs_noref >::value,\
- ::boost::type_traits::ice_or<\
- ::boost::is_fundamental< Rhs_nocv >::value,\
- ::boost::is_pointer< Rhs_noref >::value\
- >::value\
- >::value,\
- /* Rhs==pointer and (Lhs==fundamental or Lhs==pointer) */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Rhs_noref >::value,\
- ::boost::type_traits::ice_or<\
- ::boost::is_fundamental< Lhs_nocv >::value,\
- ::boost::is_pointer< Lhs_noref >::value\
- >::value\
- >::value\
- >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/boost/type_traits/has_equal_to.hpp b/boost/type_traits/has_equal_to.hpp
deleted file mode 100644
index c2245c2..0000000
--- a/boost/type_traits/has_equal_to.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-// (C) Copyright 2009-2011 Frederic Bron.
-//
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_EQUAL_TO_HPP_INCLUDED
-#define BOOST_TT_HAS_EQUAL_TO_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_equal_to
-#define BOOST_TT_TRAIT_OP ==
-#define BOOST_TT_FORBIDDEN_IF\
- ::boost::type_traits::ice_or<\
- /* Lhs==pointer and Rhs==fundamental */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Lhs_noref >::value,\
- ::boost::is_fundamental< Rhs_nocv >::value\
- >::value,\
- /* Rhs==pointer and Lhs==fundamental */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Rhs_noref >::value,\
- ::boost::is_fundamental< Lhs_nocv >::value\
- >::value,\
- /* Lhs==pointer and Rhs==pointer and Lhs!=base(Rhs) and Rhs!=base(Lhs) and Lhs!=void* and Rhs!=void* */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Lhs_noref >::value,\
- ::boost::is_pointer< Rhs_noref >::value,\
- ::boost::type_traits::ice_not<\
- ::boost::type_traits::ice_or<\
- ::boost::is_base_of< Lhs_noptr, Rhs_noptr >::value,\
- ::boost::is_base_of< Rhs_noptr, Lhs_noptr >::value,\
- ::boost::is_same< Lhs_noptr, Rhs_noptr >::value,\
- ::boost::is_void< Lhs_noptr >::value,\
- ::boost::is_void< Rhs_noptr >::value\
- >::value\
- >::value\
- >::value\
- >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/boost/type_traits/has_greater.hpp b/boost/type_traits/has_greater.hpp
deleted file mode 100644
index ce32658..0000000
--- a/boost/type_traits/has_greater.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-// (C) Copyright 2009-2011 Frederic Bron.
-//
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_GREATER_HPP_INCLUDED
-#define BOOST_TT_HAS_GREATER_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_greater
-#define BOOST_TT_TRAIT_OP >
-#define BOOST_TT_FORBIDDEN_IF\
- ::boost::type_traits::ice_or<\
- /* Lhs==pointer and Rhs==fundamental */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Lhs_noref >::value,\
- ::boost::is_fundamental< Rhs_nocv >::value\
- >::value,\
- /* Rhs==pointer and Lhs==fundamental */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Rhs_noref >::value,\
- ::boost::is_fundamental< Lhs_nocv >::value\
- >::value,\
- /* Lhs==pointer and Rhs==pointer and Lhs!=base(Rhs) and Rhs!=base(Lhs) and Lhs!=void* and Rhs!=void* */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Lhs_noref >::value,\
- ::boost::is_pointer< Rhs_noref >::value,\
- ::boost::type_traits::ice_not<\
- ::boost::type_traits::ice_or<\
- ::boost::is_base_of< Lhs_noptr, Rhs_noptr >::value,\
- ::boost::is_base_of< Rhs_noptr, Lhs_noptr >::value,\
- ::boost::is_same< Lhs_noptr, Rhs_noptr >::value,\
- ::boost::is_void< Lhs_noptr >::value,\
- ::boost::is_void< Rhs_noptr >::value\
- >::value\
- >::value\
- >::value\
- >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/boost/type_traits/has_greater_equal.hpp b/boost/type_traits/has_greater_equal.hpp
deleted file mode 100644
index 681685a..0000000
--- a/boost/type_traits/has_greater_equal.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-// (C) Copyright 2009-2011 Frederic Bron.
-//
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_GREATER_EQUAL_HPP_INCLUDED
-#define BOOST_TT_HAS_GREATER_EQUAL_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_greater_equal
-#define BOOST_TT_TRAIT_OP >=
-#define BOOST_TT_FORBIDDEN_IF\
- ::boost::type_traits::ice_or<\
- /* Lhs==pointer and Rhs==fundamental */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Lhs_noref >::value,\
- ::boost::is_fundamental< Rhs_nocv >::value\
- >::value,\
- /* Rhs==pointer and Lhs==fundamental */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Rhs_noref >::value,\
- ::boost::is_fundamental< Lhs_nocv >::value\
- >::value,\
- /* Lhs==pointer and Rhs==pointer and Lhs!=base(Rhs) and Rhs!=base(Lhs) and Lhs!=void* and Rhs!=void* */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Lhs_noref >::value,\
- ::boost::is_pointer< Rhs_noref >::value,\
- ::boost::type_traits::ice_not<\
- ::boost::type_traits::ice_or<\
- ::boost::is_base_of< Lhs_noptr, Rhs_noptr >::value,\
- ::boost::is_base_of< Rhs_noptr, Lhs_noptr >::value,\
- ::boost::is_same< Lhs_noptr, Rhs_noptr >::value,\
- ::boost::is_void< Lhs_noptr >::value,\
- ::boost::is_void< Rhs_noptr >::value\
- >::value\
- >::value\
- >::value\
- >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/boost/type_traits/has_left_shift.hpp b/boost/type_traits/has_left_shift.hpp
deleted file mode 100644
index 88205d9..0000000
--- a/boost/type_traits/has_left_shift.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-// (C) Copyright 2009-2011 Frederic Bron.
-//
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_LEFT_SHIFT_HPP_INCLUDED
-#define BOOST_TT_HAS_LEFT_SHIFT_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_left_shift
-#define BOOST_TT_TRAIT_OP <<
-#define BOOST_TT_FORBIDDEN_IF\
- ::boost::type_traits::ice_or<\
- /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Lhs_nocv >::value,\
- ::boost::is_fundamental< Rhs_nocv >::value,\
- ::boost::type_traits::ice_or<\
- ::boost::type_traits::ice_not< ::boost::is_integral< Lhs_noref >::value >::value,\
- ::boost::type_traits::ice_not< ::boost::is_integral< Rhs_noref >::value >::value\
- >::value\
- >::value,\
- /* Lhs==fundamental and Rhs==pointer */\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Lhs_nocv >::value,\
- ::boost::is_pointer< Rhs_noref >::value\
- >::value,\
- /* Rhs==fundamental and Lhs==pointer */\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Rhs_nocv >::value,\
- ::boost::is_pointer< Lhs_noref >::value\
- >::value,\
- /* Lhs==pointer and Rhs==pointer */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Lhs_noref >::value,\
- ::boost::is_pointer< Rhs_noref >::value\
- >::value\
- >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/boost/type_traits/has_left_shift_assign.hpp b/boost/type_traits/has_left_shift_assign.hpp
deleted file mode 100644
index 0b3b9b1..0000000
--- a/boost/type_traits/has_left_shift_assign.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-// (C) Copyright 2009-2011 Frederic Bron.
-//
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_LEFT_SHIFT_ASSIGN_HPP_INCLUDED
-#define BOOST_TT_HAS_LEFT_SHIFT_ASSIGN_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_left_shift_assign
-#define BOOST_TT_TRAIT_OP <<=
-#define BOOST_TT_FORBIDDEN_IF\
- ::boost::type_traits::ice_or<\
- /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Lhs_nocv >::value,\
- ::boost::is_fundamental< Rhs_nocv >::value,\
- ::boost::type_traits::ice_or<\
- ::boost::type_traits::ice_not< ::boost::is_integral< Lhs_noref >::value >::value,\
- ::boost::type_traits::ice_not< ::boost::is_integral< Rhs_noref >::value >::value\
- >::value\
- >::value,\
- /* Lhs==fundamental and Rhs==pointer */\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Lhs_nocv >::value,\
- ::boost::is_pointer< Rhs_noref >::value\
- >::value,\
- /* Rhs==fundamental and Lhs==pointer */\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Rhs_nocv >::value,\
- ::boost::is_pointer< Lhs_noref >::value\
- >::value,\
- /* Lhs==pointer and Rhs==pointer */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Lhs_noref >::value,\
- ::boost::is_pointer< Rhs_noref >::value\
- >::value,\
- /* Lhs==fundamental and Rhs==fundamental and Lhs==const */\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Lhs_nocv >::value,\
- ::boost::is_fundamental< Rhs_nocv >::value,\
- ::boost::is_const< Lhs_noref >::value\
- >::value\
- >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/boost/type_traits/has_less.hpp b/boost/type_traits/has_less.hpp
deleted file mode 100644
index e1a045e..0000000
--- a/boost/type_traits/has_less.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-// (C) Copyright 2009-2011 Frederic Bron.
-//
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_LESS_HPP_INCLUDED
-#define BOOST_TT_HAS_LESS_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_less
-#define BOOST_TT_TRAIT_OP <
-#define BOOST_TT_FORBIDDEN_IF\
- ::boost::type_traits::ice_or<\
- /* Lhs==pointer and Rhs==fundamental */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Lhs_noref >::value,\
- ::boost::is_fundamental< Rhs_nocv >::value\
- >::value,\
- /* Rhs==pointer and Lhs==fundamental */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Rhs_noref >::value,\
- ::boost::is_fundamental< Lhs_nocv >::value\
- >::value,\
- /* Lhs==pointer and Rhs==pointer and Lhs!=base(Rhs) and Rhs!=base(Lhs) and Lhs!=void* and Rhs!=void* */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Lhs_noref >::value,\
- ::boost::is_pointer< Rhs_noref >::value,\
- ::boost::type_traits::ice_not<\
- ::boost::type_traits::ice_or<\
- ::boost::is_base_of< Lhs_noptr, Rhs_noptr >::value,\
- ::boost::is_base_of< Rhs_noptr, Lhs_noptr >::value,\
- ::boost::is_same< Lhs_noptr, Rhs_noptr >::value,\
- ::boost::is_void< Lhs_noptr >::value,\
- ::boost::is_void< Rhs_noptr >::value\
- >::value\
- >::value\
- >::value\
- >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/boost/type_traits/has_less_equal.hpp b/boost/type_traits/has_less_equal.hpp
deleted file mode 100644
index c633b8b..0000000
--- a/boost/type_traits/has_less_equal.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-// (C) Copyright 2009-2011 Frederic Bron.
-//
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_LESS_EQUAL_HPP_INCLUDED
-#define BOOST_TT_HAS_LESS_EQUAL_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_less_equal
-#define BOOST_TT_TRAIT_OP <=
-#define BOOST_TT_FORBIDDEN_IF\
- ::boost::type_traits::ice_or<\
- /* Lhs==pointer and Rhs==fundamental */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Lhs_noref >::value,\
- ::boost::is_fundamental< Rhs_nocv >::value\
- >::value,\
- /* Rhs==pointer and Lhs==fundamental */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Rhs_noref >::value,\
- ::boost::is_fundamental< Lhs_nocv >::value\
- >::value,\
- /* Lhs==pointer and Rhs==pointer and Lhs!=base(Rhs) and Rhs!=base(Lhs) and Lhs!=void* and Rhs!=void* */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Lhs_noref >::value,\
- ::boost::is_pointer< Rhs_noref >::value,\
- ::boost::type_traits::ice_not<\
- ::boost::type_traits::ice_or<\
- ::boost::is_base_of< Lhs_noptr, Rhs_noptr >::value,\
- ::boost::is_base_of< Rhs_noptr, Lhs_noptr >::value,\
- ::boost::is_same< Lhs_noptr, Rhs_noptr >::value,\
- ::boost::is_void< Lhs_noptr >::value,\
- ::boost::is_void< Rhs_noptr >::value\
- >::value\
- >::value\
- >::value\
- >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/boost/type_traits/has_logical_and.hpp b/boost/type_traits/has_logical_and.hpp
deleted file mode 100644
index 5bfa1c3..0000000
--- a/boost/type_traits/has_logical_and.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-// (C) Copyright 2009-2011 Frederic Bron.
-//
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_LOGICAL_AND_HPP_INCLUDED
-#define BOOST_TT_HAS_LOGICAL_AND_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_logical_and
-#define BOOST_TT_TRAIT_OP &&
-#define BOOST_TT_FORBIDDEN_IF\
- /* pointer with fundamental non convertible to bool */\
- ::boost::type_traits::ice_or<\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Lhs_noref >::value,\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Rhs_nocv >::value,\
- ::boost::type_traits::ice_not< ::boost::is_convertible< Rhs_nocv, bool >::value >::value\
- >::value\
- >::value,\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Rhs_noref >::value,\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Lhs_nocv >::value,\
- ::boost::type_traits::ice_not< ::boost::is_convertible< Lhs_nocv, bool >::value >::value\
- >::value\
- >::value\
- >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/boost/type_traits/has_logical_not.hpp b/boost/type_traits/has_logical_not.hpp
deleted file mode 100644
index fd99d3c..0000000
--- a/boost/type_traits/has_logical_not.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-// (C) Copyright 2009-2011 Frederic Bron.
-//
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_LOGICAL_NOT_HPP_INCLUDED
-#define BOOST_TT_HAS_LOGICAL_NOT_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_logical_not
-#define BOOST_TT_TRAIT_OP !
-#define BOOST_TT_FORBIDDEN_IF\
- false
-
-#include <boost/type_traits/detail/has_prefix_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/boost/type_traits/has_logical_or.hpp b/boost/type_traits/has_logical_or.hpp
deleted file mode 100644
index a4ae6c5..0000000
--- a/boost/type_traits/has_logical_or.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-// (C) Copyright 2009-2011 Frederic Bron.
-//
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_LOGICAL_OR_HPP_INCLUDED
-#define BOOST_TT_HAS_LOGICAL_OR_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_logical_or
-#define BOOST_TT_TRAIT_OP ||
-#define BOOST_TT_FORBIDDEN_IF\
- /* pointer with fundamental non convertible to bool */\
- ::boost::type_traits::ice_or<\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Lhs_noref >::value,\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Rhs_nocv >::value,\
- ::boost::type_traits::ice_not< ::boost::is_convertible< Rhs_nocv, bool >::value >::value\
- >::value\
- >::value,\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Rhs_noref >::value,\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Lhs_nocv >::value,\
- ::boost::type_traits::ice_not< ::boost::is_convertible< Lhs_nocv, bool >::value >::value\
- >::value\
- >::value\
- >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/boost/type_traits/has_minus.hpp b/boost/type_traits/has_minus.hpp
deleted file mode 100644
index cc1d06b..0000000
--- a/boost/type_traits/has_minus.hpp
+++ /dev/null
@@ -1,60 +0,0 @@
-// (C) Copyright 2009-2011 Frederic Bron.
-//
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_MINUS_HPP_INCLUDED
-#define BOOST_TT_HAS_MINUS_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_minus
-#define BOOST_TT_TRAIT_OP -
-#define BOOST_TT_FORBIDDEN_IF\
- ::boost::type_traits::ice_or<\
- /* Lhs==pointer and Rhs==fundamental and Rhs!=integral */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Lhs_noref >::value,\
- ::boost::is_fundamental< Rhs_nocv >::value,\
- ::boost::type_traits::ice_not< ::boost::is_integral< Rhs_noref >::value >::value\
- >::value,\
- /* Lhs==void* and (Rhs==fundamental or Rhs==pointer) */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Lhs_noref >::value,\
- ::boost::is_void< Lhs_noptr >::value,\
- ::boost::type_traits::ice_or<\
- ::boost::is_fundamental< Rhs_nocv >::value,\
- ::boost::is_pointer< Rhs_noref >::value\
- >::value\
- >::value,\
- /* Rhs==void* and (Lhs==fundamental or Lhs==pointer) */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Rhs_noref >::value,\
- ::boost::is_void< Rhs_noptr >::value,\
- ::boost::type_traits::ice_or<\
- ::boost::is_fundamental< Lhs_nocv >::value,\
- ::boost::is_pointer< Lhs_noref >::value\
- >::value\
- >::value,\
- /* Lhs=fundamental and Rhs=pointer */\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Lhs_nocv >::value,\
- ::boost::is_pointer< Rhs_noref >::value\
- >::value,\
- /* two different pointers */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Lhs_noref >::value,\
- ::boost::is_pointer< Rhs_noref >::value,\
- ::boost::type_traits::ice_not< ::boost::is_same< Lhs_nocv, Rhs_nocv >::value >::value\
- >::value\
- >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/boost/type_traits/has_minus_assign.hpp b/boost/type_traits/has_minus_assign.hpp
deleted file mode 100644
index 84ba359..0000000
--- a/boost/type_traits/has_minus_assign.hpp
+++ /dev/null
@@ -1,65 +0,0 @@
-// (C) Copyright 2009-2011 Frederic Bron.
-//
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_MINUS_ASSIGN_HPP_INCLUDED
-#define BOOST_TT_HAS_MINUS_ASSIGN_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_minus_assign
-#define BOOST_TT_TRAIT_OP -=
-#define BOOST_TT_FORBIDDEN_IF\
- ::boost::type_traits::ice_or<\
- /* Lhs==pointer and Rhs==fundamental and Rhs!=integral */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Lhs_noref >::value,\
- ::boost::is_fundamental< Rhs_nocv >::value,\
- ::boost::type_traits::ice_not< ::boost::is_integral< Rhs_noref >::value >::value\
- >::value,\
- /* Lhs==void* and Rhs==fundamental */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Lhs_noref >::value,\
- ::boost::is_void< Lhs_noptr >::value,\
- ::boost::is_fundamental< Rhs_nocv >::value\
- >::value,\
- /* Rhs==void* and Lhs==fundamental */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Rhs_noref >::value,\
- ::boost::is_void< Rhs_noptr >::value,\
- ::boost::is_fundamental< Lhs_nocv >::value\
- >::value,\
- /* Lhs=fundamental and Rhs=pointer */\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Lhs_nocv >::value,\
- ::boost::is_pointer< Rhs_noref >::value\
- >::value,\
- /* Lhs==pointer and Rhs==pointer */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Lhs_noref >::value,\
- ::boost::is_pointer< Rhs_noref >::value\
- >::value,\
- /* (Lhs==fundamental or Lhs==pointer) and (Rhs==fundamental or Rhs==pointer) and (Lhs==const) */\
- ::boost::type_traits::ice_and<\
- ::boost::type_traits::ice_or<\
- ::boost::is_fundamental< Lhs_nocv >::value,\
- ::boost::is_pointer< Lhs_noref >::value\
- >::value,\
- ::boost::type_traits::ice_or<\
- ::boost::is_fundamental< Rhs_nocv >::value,\
- ::boost::is_pointer< Rhs_noref >::value\
- >::value,\
- ::boost::is_const< Lhs_noref >::value\
- >::value\
- >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/boost/type_traits/has_modulus.hpp b/boost/type_traits/has_modulus.hpp
deleted file mode 100644
index 6948728..0000000
--- a/boost/type_traits/has_modulus.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-// (C) Copyright 2009-2011 Frederic Bron.
-//
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_MODULUS_HPP_INCLUDED
-#define BOOST_TT_HAS_MODULUS_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_modulus
-#define BOOST_TT_TRAIT_OP %
-#define BOOST_TT_FORBIDDEN_IF\
- ::boost::type_traits::ice_or<\
- /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Lhs_nocv >::value,\
- ::boost::is_fundamental< Rhs_nocv >::value,\
- ::boost::type_traits::ice_or<\
- ::boost::type_traits::ice_not< ::boost::is_integral< Lhs_noref >::value >::value,\
- ::boost::type_traits::ice_not< ::boost::is_integral< Rhs_noref >::value >::value\
- >::value\
- >::value,\
- /* Lhs==fundamental and Rhs==pointer */\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Lhs_nocv >::value,\
- ::boost::is_pointer< Rhs_noref >::value\
- >::value,\
- /* Rhs==fundamental and Lhs==pointer */\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Rhs_nocv >::value,\
- ::boost::is_pointer< Lhs_noref >::value\
- >::value,\
- /* Lhs==pointer and Rhs==pointer */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Lhs_noref >::value,\
- ::boost::is_pointer< Rhs_noref >::value\
- >::value\
- >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/boost/type_traits/has_modulus_assign.hpp b/boost/type_traits/has_modulus_assign.hpp
deleted file mode 100644
index f0531f0..0000000
--- a/boost/type_traits/has_modulus_assign.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-// (C) Copyright 2009-2011 Frederic Bron.
-//
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_MODULUS_ASSIGN_HPP_INCLUDED
-#define BOOST_TT_HAS_MODULUS_ASSIGN_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_modulus_assign
-#define BOOST_TT_TRAIT_OP %=
-#define BOOST_TT_FORBIDDEN_IF\
- ::boost::type_traits::ice_or<\
- /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Lhs_nocv >::value,\
- ::boost::is_fundamental< Rhs_nocv >::value,\
- ::boost::type_traits::ice_or<\
- ::boost::type_traits::ice_not< ::boost::is_integral< Lhs_noref >::value >::value,\
- ::boost::type_traits::ice_not< ::boost::is_integral< Rhs_noref >::value >::value\
- >::value\
- >::value,\
- /* Lhs==fundamental and Rhs==pointer */\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Lhs_nocv >::value,\
- ::boost::is_pointer< Rhs_noref >::value\
- >::value,\
- /* Rhs==fundamental and Lhs==pointer */\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Rhs_nocv >::value,\
- ::boost::is_pointer< Lhs_noref >::value\
- >::value,\
- /* Lhs==pointer and Rhs==pointer */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Lhs_noref >::value,\
- ::boost::is_pointer< Rhs_noref >::value\
- >::value,\
- /* Lhs==fundamental and Rhs==fundamental and Lhs==const */\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Lhs_nocv >::value,\
- ::boost::is_fundamental< Rhs_nocv >::value,\
- ::boost::is_const< Lhs_noref >::value\
- >::value\
- >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/boost/type_traits/has_multiplies.hpp b/boost/type_traits/has_multiplies.hpp
deleted file mode 100644
index 4b578c5..0000000
--- a/boost/type_traits/has_multiplies.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-// (C) Copyright 2009-2011 Frederic Bron.
-//
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_MULTIPLIES_HPP_INCLUDED
-#define BOOST_TT_HAS_MULTIPLIES_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_multiplies
-#define BOOST_TT_TRAIT_OP *
-#define BOOST_TT_FORBIDDEN_IF\
- /* pointer with pointer or fundamental */\
- ::boost::type_traits::ice_or<\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Lhs_noref >::value,\
- ::boost::type_traits::ice_or<\
- ::boost::is_fundamental< Rhs_nocv >::value,\
- ::boost::is_pointer< Rhs_noref >::value\
- >::value\
- >::value,\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Rhs_noref >::value,\
- ::boost::type_traits::ice_or<\
- ::boost::is_fundamental< Lhs_nocv >::value,\
- ::boost::is_pointer< Lhs_noref >::value\
- >::value\
- >::value\
- >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/boost/type_traits/has_multiplies_assign.hpp b/boost/type_traits/has_multiplies_assign.hpp
deleted file mode 100644
index 1678b7b..0000000
--- a/boost/type_traits/has_multiplies_assign.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-// (C) Copyright 2009-2011 Frederic Bron.
-//
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_MULTIPLIES_ASSIGN_HPP_INCLUDED
-#define BOOST_TT_HAS_MULTIPLIES_ASSIGN_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_multiplies_assign
-#define BOOST_TT_TRAIT_OP *=
-#define BOOST_TT_FORBIDDEN_IF\
- ::boost::type_traits::ice_or<\
- /* Lhs==fundamental and Lhs==const and Rhs==fundamental */\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Lhs_nocv >::value,\
- ::boost::is_const< Lhs_noref >::value,\
- ::boost::is_fundamental< Rhs_nocv >::value\
- >::value,\
- /* Lhs==pointer and (Rhs==fundamental or Rhs==pointer) */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Lhs_noref >::value,\
- ::boost::type_traits::ice_or<\
- ::boost::is_fundamental< Rhs_nocv >::value,\
- ::boost::is_pointer< Rhs_noref >::value\
- >::value\
- >::value,\
- /* Rhs==pointer and (Lhs==fundamental or Lhs==pointer) */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Rhs_noref >::value,\
- ::boost::type_traits::ice_or<\
- ::boost::is_fundamental< Lhs_nocv >::value,\
- ::boost::is_pointer< Lhs_noref >::value\
- >::value\
- >::value\
- >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/boost/type_traits/has_negate.hpp b/boost/type_traits/has_negate.hpp
deleted file mode 100644
index 452e54a..0000000
--- a/boost/type_traits/has_negate.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-// (C) Copyright 2009-2011 Frederic Bron.
-//
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_NEGATE_HPP_INCLUDED
-#define BOOST_TT_HAS_NEGATE_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_negate
-#define BOOST_TT_TRAIT_OP -
-#define BOOST_TT_FORBIDDEN_IF\
- /* pointer */\
- ::boost::is_pointer< Rhs_noref >::value
-
-
-#include <boost/type_traits/detail/has_prefix_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/boost/type_traits/has_new_operator.hpp b/boost/type_traits/has_new_operator.hpp
deleted file mode 100644
index 2c2c322..0000000
--- a/boost/type_traits/has_new_operator.hpp
+++ /dev/null
@@ -1,140 +0,0 @@
-
-// (C) Copyright Runar Undheim, Robert Ramey & John Maddock 2008.
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_NEW_OPERATOR_HPP_INCLUDED
-#define BOOST_TT_HAS_NEW_OPERATOR_HPP_INCLUDED
-
-#include <new> // std::nothrow_t
-#include <cstddef> // std::size_t
-#include <boost/type_traits/config.hpp>
-#include <boost/type_traits/detail/yes_no_type.hpp>
-#include <boost/type_traits/detail/ice_or.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-namespace detail {
- template <class U, U x>
- struct test;
-
- template <typename T>
- struct has_new_operator_impl {
- template<class U>
- static type_traits::yes_type check_sig1(
- U*,
- test<
- void *(*)(std::size_t),
- &U::operator new
- >* = NULL
- );
- template<class U>
- static type_traits::no_type check_sig1(...);
-
- template<class U>
- static type_traits::yes_type check_sig2(
- U*,
- test<
- void *(*)(std::size_t, const std::nothrow_t&),
- &U::operator new
- >* = NULL
- );
- template<class U>
- static type_traits::no_type check_sig2(...);
-
- template<class U>
- static type_traits::yes_type check_sig3(
- U*,
- test<
- void *(*)(std::size_t, void*),
- &U::operator new
- >* = NULL
- );
- template<class U>
- static type_traits::no_type check_sig3(...);
-
-
- template<class U>
- static type_traits::yes_type check_sig4(
- U*,
- test<
- void *(*)(std::size_t),
- &U::operator new[]
- >* = NULL
- );
- template<class U>
- static type_traits::no_type check_sig4(...);
-
- template<class U>
- static type_traits::yes_type check_sig5(
- U*,
- test<
- void *(*)(std::size_t, const std::nothrow_t&),
- &U::operator new[]
- >* = NULL
- );
- template<class U>
- static type_traits::no_type check_sig5(...);
-
- template<class U>
- static type_traits::yes_type check_sig6(
- U*,
- test<
- void *(*)(std::size_t, void*),
- &U::operator new[]
- >* = NULL
- );
- template<class U>
- static type_traits::no_type check_sig6(...);
-
- // GCC2 won't even parse this template if we embed the computation
- // of s1 in the computation of value.
- #ifdef __GNUC__
- BOOST_STATIC_CONSTANT(unsigned, s1 = sizeof(has_new_operator_impl<T>::template check_sig1<T>(0)));
- BOOST_STATIC_CONSTANT(unsigned, s2 = sizeof(has_new_operator_impl<T>::template check_sig2<T>(0)));
- BOOST_STATIC_CONSTANT(unsigned, s3 = sizeof(has_new_operator_impl<T>::template check_sig3<T>(0)));
- BOOST_STATIC_CONSTANT(unsigned, s4 = sizeof(has_new_operator_impl<T>::template check_sig4<T>(0)));
- BOOST_STATIC_CONSTANT(unsigned, s5 = sizeof(has_new_operator_impl<T>::template check_sig5<T>(0)));
- BOOST_STATIC_CONSTANT(unsigned, s6 = sizeof(has_new_operator_impl<T>::template check_sig6<T>(0)));
- #else
- #if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
- #pragma warning(push)
- #pragma warning(disable:6334)
- #endif
-
- BOOST_STATIC_CONSTANT(unsigned, s1 = sizeof(check_sig1<T>(0)));
- BOOST_STATIC_CONSTANT(unsigned, s2 = sizeof(check_sig2<T>(0)));
- BOOST_STATIC_CONSTANT(unsigned, s3 = sizeof(check_sig3<T>(0)));
- BOOST_STATIC_CONSTANT(unsigned, s4 = sizeof(check_sig4<T>(0)));
- BOOST_STATIC_CONSTANT(unsigned, s5 = sizeof(check_sig5<T>(0)));
- BOOST_STATIC_CONSTANT(unsigned, s6 = sizeof(check_sig6<T>(0)));
-
- #if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
- #pragma warning(pop)
- #endif
- #endif
- BOOST_STATIC_CONSTANT(bool, value =
- (::boost::type_traits::ice_or<
- (s1 == sizeof(type_traits::yes_type)),
- (s2 == sizeof(type_traits::yes_type)),
- (s3 == sizeof(type_traits::yes_type)),
- (s4 == sizeof(type_traits::yes_type)),
- (s5 == sizeof(type_traits::yes_type)),
- (s6 == sizeof(type_traits::yes_type))
- >::value)
- );
- };
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_new_operator,T,::boost::detail::has_new_operator_impl<T>::value)
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_HAS_NEW_OPERATOR_HPP_INCLUDED
diff --git a/boost/type_traits/has_not_equal_to.hpp b/boost/type_traits/has_not_equal_to.hpp
deleted file mode 100644
index e7e3700..0000000
--- a/boost/type_traits/has_not_equal_to.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-// (C) Copyright 2009-2011 Frederic Bron.
-//
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_NOT_EQUAL_TO_HPP_INCLUDED
-#define BOOST_TT_HAS_NOT_EQUAL_TO_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_not_equal_to
-#define BOOST_TT_TRAIT_OP !=
-#define BOOST_TT_FORBIDDEN_IF\
- ::boost::type_traits::ice_or<\
- /* Lhs==pointer and Rhs==fundamental */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Lhs_noref >::value,\
- ::boost::is_fundamental< Rhs_nocv >::value\
- >::value,\
- /* Rhs==pointer and Lhs==fundamental */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Rhs_noref >::value,\
- ::boost::is_fundamental< Lhs_nocv >::value\
- >::value,\
- /* Lhs==pointer and Rhs==pointer and Lhs!=base(Rhs) and Rhs!=base(Lhs) and Lhs!=void* and Rhs!=void* */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Lhs_noref >::value,\
- ::boost::is_pointer< Rhs_noref >::value,\
- ::boost::type_traits::ice_not<\
- ::boost::type_traits::ice_or<\
- ::boost::is_base_of< Lhs_noptr, Rhs_noptr >::value,\
- ::boost::is_base_of< Rhs_noptr, Lhs_noptr >::value,\
- ::boost::is_same< Lhs_noptr, Rhs_noptr >::value,\
- ::boost::is_void< Lhs_noptr >::value,\
- ::boost::is_void< Rhs_noptr >::value\
- >::value\
- >::value\
- >::value\
- >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/boost/type_traits/has_nothrow_assign.hpp b/boost/type_traits/has_nothrow_assign.hpp
deleted file mode 100644
index 83e5968..0000000
--- a/boost/type_traits/has_nothrow_assign.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-
-// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_NOTHROW_ASSIGN_HPP_INCLUDED
-#define BOOST_TT_HAS_NOTHROW_ASSIGN_HPP_INCLUDED
-
-#include <boost/type_traits/has_trivial_assign.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-namespace detail{
-
-template <class T>
-struct has_nothrow_assign_imp{
-#ifndef BOOST_HAS_NOTHROW_ASSIGN
- BOOST_STATIC_CONSTANT(bool, value = ::boost::has_trivial_assign<T>::value);
-#else
- BOOST_STATIC_CONSTANT(bool, value = BOOST_HAS_NOTHROW_ASSIGN(T));
-#endif
-};
-
-}
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_nothrow_assign,T,::boost::detail::has_nothrow_assign_imp<T>::value)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_assign,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_assign,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_assign,void const volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_assign,void volatile,false)
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_HAS_NOTHROW_ASSIGN_HPP_INCLUDED
diff --git a/boost/type_traits/has_nothrow_constructor.hpp b/boost/type_traits/has_nothrow_constructor.hpp
deleted file mode 100644
index 3bc4f80..0000000
--- a/boost/type_traits/has_nothrow_constructor.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-
-// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_NOTHROW_CONSTRUCTOR_HPP_INCLUDED
-#define BOOST_TT_HAS_NOTHROW_CONSTRUCTOR_HPP_INCLUDED
-
-#include <boost/type_traits/has_trivial_constructor.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-namespace detail{
-
-template <class T>
-struct has_nothrow_constructor_imp{
-#ifdef BOOST_HAS_NOTHROW_CONSTRUCTOR
- BOOST_STATIC_CONSTANT(bool, value = BOOST_HAS_NOTHROW_CONSTRUCTOR(T));
-#else
- BOOST_STATIC_CONSTANT(bool, value = ::boost::has_trivial_constructor<T>::value);
-#endif
-};
-
-}
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_nothrow_constructor,T,::boost::detail::has_nothrow_constructor_imp<T>::value)
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_nothrow_default_constructor,T,::boost::detail::has_nothrow_constructor_imp<T>::value)
-
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_constructor,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_constructor,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_constructor,void const volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_constructor,void volatile,false)
-#endif
-
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_default_constructor,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_default_constructor,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_default_constructor,void const volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_default_constructor,void volatile,false)
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_HAS_NOTHROW_CONSTRUCTOR_HPP_INCLUDED
diff --git a/boost/type_traits/has_nothrow_copy.hpp b/boost/type_traits/has_nothrow_copy.hpp
deleted file mode 100644
index 9c3c903..0000000
--- a/boost/type_traits/has_nothrow_copy.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-
-// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_NOTHROW_COPY_HPP_INCLUDED
-#define BOOST_TT_HAS_NOTHROW_COPY_HPP_INCLUDED
-
-#include <boost/type_traits/has_trivial_copy.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-namespace detail{
-
-template <class T>
-struct has_nothrow_copy_imp{
-#ifdef BOOST_HAS_NOTHROW_COPY
- BOOST_STATIC_CONSTANT(bool, value = BOOST_HAS_NOTHROW_COPY(T));
-#else
- BOOST_STATIC_CONSTANT(bool, value = ::boost::has_trivial_copy<T>::value);
-#endif
-};
-
-}
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_nothrow_copy,T,::boost::detail::has_nothrow_copy_imp<T>::value)
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_nothrow_copy_constructor,T,::boost::detail::has_nothrow_copy_imp<T>::value)
-
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_copy,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_copy,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_copy,void const volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_copy,void volatile,false)
-#endif
-
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_copy_constructor,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_copy_constructor,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_copy_constructor,void const volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_nothrow_copy_constructor,void volatile,false)
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_HAS_NOTHROW_COPY_HPP_INCLUDED
diff --git a/boost/type_traits/has_nothrow_destructor.hpp b/boost/type_traits/has_nothrow_destructor.hpp
deleted file mode 100644
index 4f5882a..0000000
--- a/boost/type_traits/has_nothrow_destructor.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-
-// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_NOTHROW_DESTRUCTOR_HPP_INCLUDED
-#define BOOST_TT_HAS_NOTHROW_DESTRUCTOR_HPP_INCLUDED
-
-#include <boost/type_traits/has_trivial_destructor.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_nothrow_destructor,T,::boost::has_trivial_destructor<T>::value)
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_HAS_NOTHROW_DESTRUCTOR_HPP_INCLUDED
diff --git a/boost/type_traits/has_operator.hpp b/boost/type_traits/has_operator.hpp
deleted file mode 100644
index c97a90f..0000000
--- a/boost/type_traits/has_operator.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-// (C) Copyright 2009-2011 Frederic Bron.
-//
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_OPERATOR_HPP_INCLUDED
-#define BOOST_TT_HAS_OPERATOR_HPP_INCLUDED
-
-#include <boost/type_traits/has_bit_and.hpp>
-#include <boost/type_traits/has_bit_and_assign.hpp>
-#include <boost/type_traits/has_bit_or.hpp>
-#include <boost/type_traits/has_bit_or_assign.hpp>
-#include <boost/type_traits/has_bit_xor.hpp>
-#include <boost/type_traits/has_bit_xor_assign.hpp>
-#include <boost/type_traits/has_complement.hpp>
-#include <boost/type_traits/has_dereference.hpp>
-#include <boost/type_traits/has_divides.hpp>
-#include <boost/type_traits/has_divides_assign.hpp>
-#include <boost/type_traits/has_equal_to.hpp>
-#include <boost/type_traits/has_greater.hpp>
-#include <boost/type_traits/has_greater_equal.hpp>
-#include <boost/type_traits/has_left_shift.hpp>
-#include <boost/type_traits/has_left_shift_assign.hpp>
-#include <boost/type_traits/has_less.hpp>
-#include <boost/type_traits/has_less_equal.hpp>
-#include <boost/type_traits/has_logical_and.hpp>
-#include <boost/type_traits/has_logical_not.hpp>
-#include <boost/type_traits/has_logical_or.hpp>
-#include <boost/type_traits/has_minus.hpp>
-#include <boost/type_traits/has_minus_assign.hpp>
-#include <boost/type_traits/has_modulus.hpp>
-#include <boost/type_traits/has_modulus_assign.hpp>
-#include <boost/type_traits/has_multiplies.hpp>
-#include <boost/type_traits/has_multiplies_assign.hpp>
-#include <boost/type_traits/has_negate.hpp>
-#include <boost/type_traits/has_not_equal_to.hpp>
-#include <boost/type_traits/has_plus.hpp>
-#include <boost/type_traits/has_plus_assign.hpp>
-#include <boost/type_traits/has_post_decrement.hpp>
-#include <boost/type_traits/has_post_increment.hpp>
-#include <boost/type_traits/has_pre_decrement.hpp>
-#include <boost/type_traits/has_pre_increment.hpp>
-#include <boost/type_traits/has_right_shift.hpp>
-#include <boost/type_traits/has_right_shift_assign.hpp>
-#include <boost/type_traits/has_unary_minus.hpp>
-#include <boost/type_traits/has_unary_plus.hpp>
-
-#endif
diff --git a/boost/type_traits/has_plus.hpp b/boost/type_traits/has_plus.hpp
deleted file mode 100644
index 70c1200..0000000
--- a/boost/type_traits/has_plus.hpp
+++ /dev/null
@@ -1,54 +0,0 @@
-// (C) Copyright 2009-2011 Frederic Bron.
-//
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_PLUS_HPP_INCLUDED
-#define BOOST_TT_HAS_PLUS_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_plus
-#define BOOST_TT_TRAIT_OP +
-#define BOOST_TT_FORBIDDEN_IF\
- ::boost::type_traits::ice_or<\
- /* Lhs==pointer and Rhs==pointer */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Lhs_noref >::value,\
- ::boost::is_pointer< Rhs_noref >::value\
- >::value,\
- /* Lhs==void* and Rhs==fundamental */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Lhs_noref >::value,\
- ::boost::is_void< Lhs_noptr >::value,\
- ::boost::is_fundamental< Rhs_nocv >::value\
- >::value,\
- /* Rhs==void* and Lhs==fundamental */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Rhs_noref >::value,\
- ::boost::is_void< Rhs_noptr >::value,\
- ::boost::is_fundamental< Lhs_nocv >::value\
- >::value,\
- /* Lhs==pointer and Rhs==fundamental and Rhs!=integral */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Lhs_noref >::value,\
- ::boost::is_fundamental< Rhs_nocv >::value,\
- ::boost::type_traits::ice_not< ::boost::is_integral< Rhs_noref >::value >::value\
- >::value,\
- /* Rhs==pointer and Lhs==fundamental and Lhs!=integral */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Rhs_noref >::value,\
- ::boost::is_fundamental< Lhs_nocv >::value,\
- ::boost::type_traits::ice_not< ::boost::is_integral< Lhs_noref >::value >::value\
- >::value\
- >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/boost/type_traits/has_plus_assign.hpp b/boost/type_traits/has_plus_assign.hpp
deleted file mode 100644
index 6d65204..0000000
--- a/boost/type_traits/has_plus_assign.hpp
+++ /dev/null
@@ -1,66 +0,0 @@
-// (C) Copyright 2009-2011 Frederic Bron.
-//
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_PLUS_ASSIGN_HPP_INCLUDED
-#define BOOST_TT_HAS_PLUS_ASSIGN_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_plus_assign
-#define BOOST_TT_TRAIT_OP +=
-#define BOOST_TT_FORBIDDEN_IF\
- ::boost::type_traits::ice_or<\
- /* Lhs==pointer and Rhs==pointer */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Lhs_noref >::value,\
- ::boost::is_pointer< Rhs_noref >::value\
- >::value,\
- /* Lhs==void* and Rhs==fundamental */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Lhs_noref >::value,\
- ::boost::is_void< Lhs_noptr >::value,\
- ::boost::is_fundamental< Rhs_nocv >::value\
- >::value,\
- /* Rhs==void* and Lhs==fundamental */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Rhs_noref >::value,\
- ::boost::is_void< Rhs_noptr >::value,\
- ::boost::is_fundamental< Lhs_nocv >::value\
- >::value,\
- /* Lhs==pointer and Rhs==fundamental and Rhs!=integral */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Lhs_noref >::value,\
- ::boost::is_fundamental< Rhs_nocv >::value,\
- ::boost::type_traits::ice_not< ::boost::is_integral< Rhs_noref >::value >::value\
- >::value,\
- /* Rhs==pointer and Lhs==fundamental and Lhs!=bool */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Rhs_noref >::value,\
- ::boost::is_fundamental< Lhs_nocv >::value,\
- ::boost::type_traits::ice_not< ::boost::is_same< Lhs_nocv, bool >::value >::value\
- >::value,\
- /* (Lhs==fundamental or Lhs==pointer) and (Rhs==fundamental or Rhs==pointer) and (Lhs==const) */\
- ::boost::type_traits::ice_and<\
- ::boost::type_traits::ice_or<\
- ::boost::is_fundamental< Lhs_nocv >::value,\
- ::boost::is_pointer< Lhs_noref >::value\
- >::value,\
- ::boost::type_traits::ice_or<\
- ::boost::is_fundamental< Rhs_nocv >::value,\
- ::boost::is_pointer< Rhs_noref >::value\
- >::value,\
- ::boost::is_const< Lhs_noref >::value\
- >::value\
- >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/boost/type_traits/has_post_decrement.hpp b/boost/type_traits/has_post_decrement.hpp
deleted file mode 100644
index e277eaf..0000000
--- a/boost/type_traits/has_post_decrement.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-// (C) Copyright 2009-2011 Frederic Bron.
-//
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_POST_DECREMENT_HPP_INCLUDED
-#define BOOST_TT_HAS_POST_DECREMENT_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_post_decrement
-#define BOOST_TT_TRAIT_OP --
-#define BOOST_TT_FORBIDDEN_IF\
- ::boost::type_traits::ice_or<\
- /* bool */\
- ::boost::is_same< bool, Lhs_nocv >::value,\
- /* void* */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Lhs_noref >::value,\
- ::boost::is_void< Lhs_noptr >::value\
- >::value,\
- /* (fundamental or pointer) and const */\
- ::boost::type_traits::ice_and<\
- ::boost::type_traits::ice_or<\
- ::boost::is_fundamental< Lhs_nocv >::value,\
- ::boost::is_pointer< Lhs_noref >::value\
- >::value,\
- ::boost::is_const< Lhs_noref >::value\
- >::value\
- >::value
-
-
-#include <boost/type_traits/detail/has_postfix_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/boost/type_traits/has_post_increment.hpp b/boost/type_traits/has_post_increment.hpp
deleted file mode 100644
index 085b2d5..0000000
--- a/boost/type_traits/has_post_increment.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-// (C) Copyright 2009-2011 Frederic Bron.
-//
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_POST_INCREMENT_HPP_INCLUDED
-#define BOOST_TT_HAS_POST_INCREMENT_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_post_increment
-#define BOOST_TT_TRAIT_OP ++
-#define BOOST_TT_FORBIDDEN_IF\
- ::boost::type_traits::ice_or<\
- /* bool */\
- ::boost::is_same< bool, Lhs_nocv >::value,\
- /* void* */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Lhs_noref >::value,\
- ::boost::is_void< Lhs_noptr >::value\
- >::value,\
- /* (fundamental or pointer) and const */\
- ::boost::type_traits::ice_and<\
- ::boost::type_traits::ice_or<\
- ::boost::is_fundamental< Lhs_nocv >::value,\
- ::boost::is_pointer< Lhs_noref >::value\
- >::value,\
- ::boost::is_const< Lhs_noref >::value\
- >::value\
- >::value
-
-
-#include <boost/type_traits/detail/has_postfix_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/boost/type_traits/has_pre_decrement.hpp b/boost/type_traits/has_pre_decrement.hpp
deleted file mode 100644
index 8f08291..0000000
--- a/boost/type_traits/has_pre_decrement.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-// (C) Copyright 2009-2011 Frederic Bron.
-//
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_PRE_DECREMENT_HPP_INCLUDED
-#define BOOST_TT_HAS_PRE_DECREMENT_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_pre_decrement
-#define BOOST_TT_TRAIT_OP --
-#define BOOST_TT_FORBIDDEN_IF\
- ::boost::type_traits::ice_or<\
- /* bool */\
- ::boost::is_same< bool, Rhs_nocv >::value,\
- /* void* */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Rhs_noref >::value,\
- ::boost::is_void< Rhs_noptr >::value\
- >::value,\
- /* (fundamental or pointer) and const */\
- ::boost::type_traits::ice_and<\
- ::boost::type_traits::ice_or<\
- ::boost::is_fundamental< Rhs_nocv >::value,\
- ::boost::is_pointer< Rhs_noref >::value\
- >::value,\
- ::boost::is_const< Rhs_noref >::value\
- >::value\
- >::value
-
-
-#include <boost/type_traits/detail/has_prefix_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/boost/type_traits/has_pre_increment.hpp b/boost/type_traits/has_pre_increment.hpp
deleted file mode 100644
index fcb946d..0000000
--- a/boost/type_traits/has_pre_increment.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-// (C) Copyright 2009-2011 Frederic Bron.
-//
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_PRE_INCREMENT_HPP_INCLUDED
-#define BOOST_TT_HAS_PRE_INCREMENT_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_pre_increment
-#define BOOST_TT_TRAIT_OP ++
-#define BOOST_TT_FORBIDDEN_IF\
- ::boost::type_traits::ice_or<\
- /* bool */\
- ::boost::is_same< bool, Rhs_nocv >::value,\
- /* void* */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Rhs_noref >::value,\
- ::boost::is_void< Rhs_noptr >::value\
- >::value,\
- /* (fundamental or pointer) and const */\
- ::boost::type_traits::ice_and<\
- ::boost::type_traits::ice_or<\
- ::boost::is_fundamental< Rhs_nocv >::value,\
- ::boost::is_pointer< Rhs_noref >::value\
- >::value,\
- ::boost::is_const< Rhs_noref >::value\
- >::value\
- >::value
-
-
-#include <boost/type_traits/detail/has_prefix_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/boost/type_traits/has_right_shift.hpp b/boost/type_traits/has_right_shift.hpp
deleted file mode 100644
index 5735870..0000000
--- a/boost/type_traits/has_right_shift.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-// (C) Copyright 2009-2011 Frederic Bron.
-//
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_RIGHT_SHIFT_HPP_INCLUDED
-#define BOOST_TT_HAS_RIGHT_SHIFT_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_right_shift
-#define BOOST_TT_TRAIT_OP >>
-#define BOOST_TT_FORBIDDEN_IF\
- ::boost::type_traits::ice_or<\
- /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Lhs_nocv >::value,\
- ::boost::is_fundamental< Rhs_nocv >::value,\
- ::boost::type_traits::ice_or<\
- ::boost::type_traits::ice_not< ::boost::is_integral< Lhs_noref >::value >::value,\
- ::boost::type_traits::ice_not< ::boost::is_integral< Rhs_noref >::value >::value\
- >::value\
- >::value,\
- /* Lhs==fundamental and Rhs==pointer */\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Lhs_nocv >::value,\
- ::boost::is_pointer< Rhs_noref >::value\
- >::value,\
- /* Rhs==fundamental and Lhs==pointer */\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Rhs_nocv >::value,\
- ::boost::is_pointer< Lhs_noref >::value\
- >::value,\
- /* Lhs==pointer and Rhs==pointer */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Lhs_noref >::value,\
- ::boost::is_pointer< Rhs_noref >::value\
- >::value\
- >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/boost/type_traits/has_right_shift_assign.hpp b/boost/type_traits/has_right_shift_assign.hpp
deleted file mode 100644
index 0536e71..0000000
--- a/boost/type_traits/has_right_shift_assign.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-// (C) Copyright 2009-2011 Frederic Bron.
-//
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_RIGHT_SHIFT_ASSIGN_HPP_INCLUDED
-#define BOOST_TT_HAS_RIGHT_SHIFT_ASSIGN_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_right_shift_assign
-#define BOOST_TT_TRAIT_OP >>=
-#define BOOST_TT_FORBIDDEN_IF\
- ::boost::type_traits::ice_or<\
- /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Lhs_nocv >::value,\
- ::boost::is_fundamental< Rhs_nocv >::value,\
- ::boost::type_traits::ice_or<\
- ::boost::type_traits::ice_not< ::boost::is_integral< Lhs_noref >::value >::value,\
- ::boost::type_traits::ice_not< ::boost::is_integral< Rhs_noref >::value >::value\
- >::value\
- >::value,\
- /* Lhs==fundamental and Rhs==pointer */\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Lhs_nocv >::value,\
- ::boost::is_pointer< Rhs_noref >::value\
- >::value,\
- /* Rhs==fundamental and Lhs==pointer */\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Rhs_nocv >::value,\
- ::boost::is_pointer< Lhs_noref >::value\
- >::value,\
- /* Lhs==pointer and Rhs==pointer */\
- ::boost::type_traits::ice_and<\
- ::boost::is_pointer< Lhs_noref >::value,\
- ::boost::is_pointer< Rhs_noref >::value\
- >::value,\
- /* Lhs==fundamental and Rhs==fundamental and Lhs==const */\
- ::boost::type_traits::ice_and<\
- ::boost::is_fundamental< Lhs_nocv >::value,\
- ::boost::is_fundamental< Rhs_nocv >::value,\
- ::boost::is_const< Lhs_noref >::value\
- >::value\
- >::value
-
-
-#include <boost/type_traits/detail/has_binary_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/boost/type_traits/has_trivial_assign.hpp b/boost/type_traits/has_trivial_assign.hpp
deleted file mode 100644
index 404b62c..0000000
--- a/boost/type_traits/has_trivial_assign.hpp
+++ /dev/null
@@ -1,57 +0,0 @@
-
-// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_TRIVIAL_ASSIGN_HPP_INCLUDED
-#define BOOST_TT_HAS_TRIVIAL_ASSIGN_HPP_INCLUDED
-
-#include <boost/type_traits/config.hpp>
-#include <boost/type_traits/intrinsics.hpp>
-#include <boost/type_traits/is_pod.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/is_volatile.hpp>
-#include <boost/type_traits/detail/ice_and.hpp>
-#include <boost/type_traits/detail/ice_or.hpp>
-#include <boost/type_traits/detail/ice_not.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-namespace detail {
-
-template <typename T>
-struct has_trivial_assign_impl
-{
-#ifdef BOOST_HAS_TRIVIAL_ASSIGN
- BOOST_STATIC_CONSTANT(bool, value = BOOST_HAS_TRIVIAL_ASSIGN(T));
-#else
- BOOST_STATIC_CONSTANT(bool, value =
- (::boost::type_traits::ice_and<
- ::boost::is_pod<T>::value,
- ::boost::type_traits::ice_not< ::boost::is_const<T>::value >::value,
- ::boost::type_traits::ice_not< ::boost::is_volatile<T>::value >::value
- >::value));
-#endif
-};
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_trivial_assign,T,::boost::detail::has_trivial_assign_impl<T>::value)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_assign,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_assign,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_assign,void const volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_assign,void volatile,false)
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_HAS_TRIVIAL_ASSIGN_HPP_INCLUDED
diff --git a/boost/type_traits/has_trivial_constructor.hpp b/boost/type_traits/has_trivial_constructor.hpp
deleted file mode 100644
index 30dbdd8..0000000
--- a/boost/type_traits/has_trivial_constructor.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-
-// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_TRIVIAL_CONSTRUCTOR_HPP_INCLUDED
-#define BOOST_TT_HAS_TRIVIAL_CONSTRUCTOR_HPP_INCLUDED
-
-#include <boost/type_traits/config.hpp>
-#include <boost/type_traits/intrinsics.hpp>
-#include <boost/type_traits/is_pod.hpp>
-#include <boost/type_traits/detail/ice_or.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-namespace detail {
-
-template <typename T>
-struct has_trivial_ctor_impl
-{
-#ifdef BOOST_HAS_TRIVIAL_CONSTRUCTOR
- BOOST_STATIC_CONSTANT(bool, value =
- (::boost::type_traits::ice_or<
- ::boost::is_pod<T>::value,
- BOOST_HAS_TRIVIAL_CONSTRUCTOR(T)
- >::value));
-#else
- BOOST_STATIC_CONSTANT(bool, value =
- (::boost::type_traits::ice_or<
- ::boost::is_pod<T>::value,
- false
- >::value));
-#endif
-};
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_trivial_constructor,T,::boost::detail::has_trivial_ctor_impl<T>::value)
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_trivial_default_constructor,T,::boost::detail::has_trivial_ctor_impl<T>::value)
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_HAS_TRIVIAL_CONSTRUCTOR_HPP_INCLUDED
diff --git a/boost/type_traits/has_trivial_copy.hpp b/boost/type_traits/has_trivial_copy.hpp
deleted file mode 100644
index ba4d884..0000000
--- a/boost/type_traits/has_trivial_copy.hpp
+++ /dev/null
@@ -1,64 +0,0 @@
-
-// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_TRIVIAL_COPY_HPP_INCLUDED
-#define BOOST_TT_HAS_TRIVIAL_COPY_HPP_INCLUDED
-
-#include <boost/type_traits/config.hpp>
-#include <boost/type_traits/intrinsics.hpp>
-#include <boost/type_traits/is_volatile.hpp>
-#include <boost/type_traits/is_pod.hpp>
-#include <boost/type_traits/detail/ice_and.hpp>
-#include <boost/type_traits/detail/ice_or.hpp>
-#include <boost/type_traits/detail/ice_not.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-namespace detail {
-
-template <typename T>
-struct has_trivial_copy_impl
-{
-#ifdef BOOST_HAS_TRIVIAL_COPY
- BOOST_STATIC_CONSTANT(bool, value = BOOST_HAS_TRIVIAL_COPY(T));
-#else
- BOOST_STATIC_CONSTANT(bool, value =
- (::boost::type_traits::ice_and<
- ::boost::is_pod<T>::value,
- ::boost::type_traits::ice_not< ::boost::is_volatile<T>::value >::value
- >::value));
-#endif
-};
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_trivial_copy,T,::boost::detail::has_trivial_copy_impl<T>::value)
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_trivial_copy_constructor,T,::boost::detail::has_trivial_copy_impl<T>::value)
-
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_copy,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_copy,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_copy,void const volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_copy,void volatile,false)
-#endif
-
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_copy_constructor,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_copy_constructor,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_copy_constructor,void const volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_copy_constructor,void volatile,false)
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_HAS_TRIVIAL_COPY_HPP_INCLUDED
diff --git a/boost/type_traits/has_trivial_destructor.hpp b/boost/type_traits/has_trivial_destructor.hpp
deleted file mode 100644
index 79d7522..0000000
--- a/boost/type_traits/has_trivial_destructor.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-
-// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_TRIVIAL_DESTRUCTOR_HPP_INCLUDED
-#define BOOST_TT_HAS_TRIVIAL_DESTRUCTOR_HPP_INCLUDED
-
-#include <boost/type_traits/config.hpp>
-#include <boost/type_traits/intrinsics.hpp>
-#include <boost/type_traits/is_pod.hpp>
-#include <boost/type_traits/detail/ice_or.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-namespace detail {
-
-template <typename T>
-struct has_trivial_dtor_impl
-{
-#ifdef BOOST_HAS_TRIVIAL_DESTRUCTOR
- BOOST_STATIC_CONSTANT(bool, value = BOOST_HAS_TRIVIAL_DESTRUCTOR(T));
-#else
- BOOST_STATIC_CONSTANT(bool, value = ::boost::is_pod<T>::value);
-#endif
-};
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_trivial_destructor,T,::boost::detail::has_trivial_dtor_impl<T>::value)
-
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_destructor,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_destructor,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_destructor,void const volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_destructor,void volatile,false)
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_HAS_TRIVIAL_DESTRUCTOR_HPP_INCLUDED
diff --git a/boost/type_traits/has_trivial_move_assign.hpp b/boost/type_traits/has_trivial_move_assign.hpp
deleted file mode 100644
index db337f7..0000000
--- a/boost/type_traits/has_trivial_move_assign.hpp
+++ /dev/null
@@ -1,57 +0,0 @@
-
-// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-// (C) Copyright Eric Friedman 2002-2003.
-// (C) Copyright Antony Polukhin 2013.
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_TRIVIAL_MOVE_ASSIGN_HPP_INCLUDED
-#define BOOST_TT_HAS_TRIVIAL_MOVE_ASSIGN_HPP_INCLUDED
-
-#include <boost/type_traits/config.hpp>
-#include <boost/type_traits/is_pod.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/is_volatile.hpp>
-#include <boost/type_traits/detail/ice_and.hpp>
-#include <boost/type_traits/detail/ice_not.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-namespace detail {
-
-template <typename T>
-struct has_trivial_move_assign_impl
-{
-#ifdef BOOST_HAS_TRIVIAL_MOVE_ASSIGN
- BOOST_STATIC_CONSTANT(bool, value = (BOOST_HAS_TRIVIAL_MOVE_ASSIGN(T)));
-#else
- BOOST_STATIC_CONSTANT(bool, value =
- (::boost::type_traits::ice_and<
- ::boost::is_pod<T>::value,
- ::boost::type_traits::ice_not< ::boost::is_const<T>::value >::value,
- ::boost::type_traits::ice_not< ::boost::is_volatile<T>::value >::value
- >::value));
-#endif
-};
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_trivial_move_assign,T,::boost::detail::has_trivial_move_assign_impl<T>::value)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_move_assign,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_move_assign,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_move_assign,void const volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_move_assign,void volatile,false)
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_HAS_TRIVIAL_MOVE_ASSIGN_HPP_INCLUDED
diff --git a/boost/type_traits/has_trivial_move_constructor.hpp b/boost/type_traits/has_trivial_move_constructor.hpp
deleted file mode 100644
index a341834..0000000
--- a/boost/type_traits/has_trivial_move_constructor.hpp
+++ /dev/null
@@ -1,57 +0,0 @@
-
-// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-// (C) Copyright Eric Friedman 2002-2003.
-// (C) Copyright Antony Polukhin 2013.
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_TRIVIAL_MOVE_CONSTRUCTOR_HPP_INCLUDED
-#define BOOST_TT_HAS_TRIVIAL_MOVE_CONSTRUCTOR_HPP_INCLUDED
-
-#include <boost/type_traits/config.hpp>
-#include <boost/type_traits/intrinsics.hpp>
-#include <boost/type_traits/is_pod.hpp>
-#include <boost/type_traits/is_volatile.hpp>
-#include <boost/type_traits/detail/ice_and.hpp>
-#include <boost/type_traits/detail/ice_not.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-namespace detail {
-
-template <typename T>
-struct has_trivial_move_ctor_impl
-{
-#ifdef BOOST_HAS_TRIVIAL_MOVE_CONSTRUCTOR
- BOOST_STATIC_CONSTANT(bool, value = (BOOST_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T)));
-#else
- BOOST_STATIC_CONSTANT(bool, value =
- (::boost::type_traits::ice_and<
- ::boost::is_pod<T>::value,
- ::boost::type_traits::ice_not< ::boost::is_volatile<T>::value >::value
- >::value));
-#endif
-};
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_trivial_move_constructor,T,::boost::detail::has_trivial_move_ctor_impl<T>::value)
-
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_move_constructor,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_move_constructor,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_move_constructor,void const volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(has_trivial_move_constructor,void volatile,false)
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_HAS_TRIVIAL_MOVE_CONSTRUCTOR_HPP_INCLUDED
diff --git a/boost/type_traits/has_unary_minus.hpp b/boost/type_traits/has_unary_minus.hpp
deleted file mode 100644
index 6b3157f..0000000
--- a/boost/type_traits/has_unary_minus.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-// (C) Copyright 2009-2011 Frederic Bron.
-//
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_UNARY_MINUS_HPP_INCLUDED
-#define BOOST_TT_HAS_UNARY_MINUS_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_unary_minus
-#define BOOST_TT_TRAIT_OP -
-#define BOOST_TT_FORBIDDEN_IF\
- /* pointer */\
- ::boost::is_pointer< Rhs_noref >::value
-
-
-#include <boost/type_traits/detail/has_prefix_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/boost/type_traits/has_unary_plus.hpp b/boost/type_traits/has_unary_plus.hpp
deleted file mode 100644
index a61770f..0000000
--- a/boost/type_traits/has_unary_plus.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-// (C) Copyright 2009-2011 Frederic Bron.
-//
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_HAS_UNARY_PLUS_HPP_INCLUDED
-#define BOOST_TT_HAS_UNARY_PLUS_HPP_INCLUDED
-
-#define BOOST_TT_TRAIT_NAME has_unary_plus
-#define BOOST_TT_TRAIT_OP +
-#define BOOST_TT_FORBIDDEN_IF\
- false
-
-#include <boost/type_traits/detail/has_prefix_operator.hpp>
-
-#undef BOOST_TT_TRAIT_NAME
-#undef BOOST_TT_TRAIT_OP
-#undef BOOST_TT_FORBIDDEN_IF
-
-#endif
diff --git a/boost/type_traits/has_virtual_destructor.hpp b/boost/type_traits/has_virtual_destructor.hpp
deleted file mode 100644
index b741197..0000000
--- a/boost/type_traits/has_virtual_destructor.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-
-// (C) Copyright John Maddock 2005.
-// 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/libs/type_traits for most recent version including documentation.
-
-
-#ifndef BOOST_TT_HAS_VIRTUAL_DESTRUCTOR_HPP_INCLUDED
-#define BOOST_TT_HAS_VIRTUAL_DESTRUCTOR_HPP_INCLUDED
-
-#include <boost/type_traits/intrinsics.hpp>
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-#ifdef BOOST_HAS_VIRTUAL_DESTRUCTOR
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_virtual_destructor,T,BOOST_HAS_VIRTUAL_DESTRUCTOR(T))
-#else
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(has_virtual_destructor,T,false)
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
diff --git a/boost/type_traits/ice.hpp b/boost/type_traits/ice.hpp
deleted file mode 100644
index 134bc4b..0000000
--- a/boost/type_traits/ice.hpp
+++ /dev/null
@@ -1,20 +0,0 @@
-
-// (C) Copyright John Maddock and Steve Cleary 2000.
-// 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/libs/type_traits for most recent version including documentation.
-//
-// macros and helpers for working with integral-constant-expressions.
-
-#ifndef BOOST_TT_ICE_HPP_INCLUDED
-#define BOOST_TT_ICE_HPP_INCLUDED
-
-#include <boost/type_traits/detail/yes_no_type.hpp>
-#include <boost/type_traits/detail/ice_or.hpp>
-#include <boost/type_traits/detail/ice_and.hpp>
-#include <boost/type_traits/detail/ice_not.hpp>
-#include <boost/type_traits/detail/ice_eq.hpp>
-
-#endif // BOOST_TT_ICE_HPP_INCLUDED
diff --git a/boost/type_traits/integral_constant.hpp b/boost/type_traits/integral_constant.hpp
deleted file mode 100644
index 4ed1bb0..0000000
--- a/boost/type_traits/integral_constant.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-// (C) Copyright John Maddock 2005.
-// 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_TYPE_TRAITS_INTEGRAL_CONSTANT_HPP
-#define BOOST_TYPE_TRAITS_INTEGRAL_CONSTANT_HPP
-
-#include <boost/config.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/integral_c.hpp>
-
-namespace boost{
-
-#if defined(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS) || defined(__BORLANDC__)
-template <class T, int val>
-#else
-template <class T, T val>
-#endif
-struct integral_constant : public mpl::integral_c<T, val>
-{
- typedef integral_constant<T,val> type;
-};
-
-template<> struct integral_constant<bool,true> : public mpl::true_
-{
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-# pragma warning(push)
-# pragma warning(disable:4097)
- typedef mpl::true_ base_;
- using base_::value;
-# pragma warning(pop)
-#endif
- typedef integral_constant<bool,true> type;
-};
-template<> struct integral_constant<bool,false> : public mpl::false_
-{
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
-# pragma warning(push)
-# pragma warning(disable:4097)
- typedef mpl::false_ base_;
- using base_::value;
-# pragma warning(pop)
-#endif
- typedef integral_constant<bool,false> type;
-};
-
-typedef integral_constant<bool,true> true_type;
-typedef integral_constant<bool,false> false_type;
-
-}
-
-#endif
diff --git a/boost/type_traits/integral_promotion.hpp b/boost/type_traits/integral_promotion.hpp
deleted file mode 100644
index 2109b9c..0000000
--- a/boost/type_traits/integral_promotion.hpp
+++ /dev/null
@@ -1,195 +0,0 @@
-// Copyright 2005 Alexander Nasonov.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef FILE_boost_type_traits_integral_promotion_hpp_INCLUDED
-#define FILE_boost_type_traits_integral_promotion_hpp_INCLUDED
-
-#include <boost/config.hpp>
-
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/type_traits/integral_constant.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/is_enum.hpp>
-#include <boost/type_traits/is_volatile.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-
-// Should be the last #include
-#include <boost/type_traits/detail/type_trait_def.hpp>
-
-namespace boost {
-
-namespace type_traits { namespace detail {
-
-// 4.5/2
-template <class T> struct need_promotion : public boost::is_enum<T> {};
-
-// 4.5/1
-template<> struct need_promotion<char > : public true_type {};
-template<> struct need_promotion<signed char > : public true_type {};
-template<> struct need_promotion<unsigned char > : public true_type {};
-template<> struct need_promotion<signed short int > : public true_type {};
-template<> struct need_promotion<unsigned short int> : public true_type {};
-
-
-// Specializations for non-standard types.
-// Type is promoted if it's smaller then int.
-
-#define BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(T) \
- template<> struct need_promotion<T> \
- : public integral_constant<bool, (sizeof(T) < sizeof(int))> {};
-
-// Same set of integral types as in boost/type_traits/is_integral.hpp.
-// Please, keep in sync.
-#if (defined(BOOST_MSVC) && (BOOST_MSVC < 1300)) \
- || (defined(BOOST_INTEL_CXX_VERSION) && defined(_MSC_VER) && (BOOST_INTEL_CXX_VERSION <= 600)) \
- || (defined(__BORLANDC__) && (__BORLANDC__ == 0x600) && (_MSC_VER < 1300))
-// TODO: common macro for this #if. Or better yet, PP SEQ of non-standard types.
-BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(__int8 )
-BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(unsigned __int8 )
-BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(__int16 )
-BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(unsigned __int16)
-BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(__int32 )
-BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(unsigned __int32)
-#ifdef __BORLANDC__
-BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(unsigned __int64)
-BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE( __int64)
-#endif
-#endif
-
-#if defined(BOOST_HAS_LONG_LONG)
-BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(boost::ulong_long_type)
-BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(boost::long_long_type )
-#elif defined(BOOST_HAS_MS_INT64)
-BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(unsigned __int64)
-BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE( __int64)
-#endif
-
-#undef BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE
-
-
-#ifndef BOOST_NO_INTRINSIC_WCHAR_T
-// 4.5/2
-template<> struct need_promotion<wchar_t> : public true_type {};
-#endif
-
-// 4.5/3 (integral bit-field) is not supported.
-
-// 4.5/4
-template<> struct need_promotion<bool> : public true_type {};
-
-
-// Get promoted type by index and cv qualifiers.
-
-template<int Index, int IsConst, int IsVolatile> struct promote_from_index;
-
-#define BOOST_TT_AUX_PROMOTE_FROM_INDEX(N,T) \
- template<> struct promote_from_index<N,0,0> { typedef T type; }; \
- template<> struct promote_from_index<N,0,1> { typedef T volatile type; }; \
- template<> struct promote_from_index<N,1,0> { typedef T const type; }; \
- template<> struct promote_from_index<N,1,1> { typedef T const volatile type; };
-
-
-BOOST_TT_AUX_PROMOTE_FROM_INDEX(1, int )
-BOOST_TT_AUX_PROMOTE_FROM_INDEX(2, unsigned int )
-BOOST_TT_AUX_PROMOTE_FROM_INDEX(3, long )
-BOOST_TT_AUX_PROMOTE_FROM_INDEX(4, unsigned long)
-
-
-// WARNING: integral promotions to non-standard types
-// long long and __int64 are not defined by the standard.
-// Additional specialisations and overloads shouldn't
-// introduce ambiguity, though.
-
-#if defined(BOOST_HAS_LONG_LONG)
-BOOST_TT_AUX_PROMOTE_FROM_INDEX(5, boost::long_long_type )
-BOOST_TT_AUX_PROMOTE_FROM_INDEX(6, boost::ulong_long_type)
-#elif defined(BOOST_HAS_MS_INT64)
-BOOST_TT_AUX_PROMOTE_FROM_INDEX(7, __int64 )
-BOOST_TT_AUX_PROMOTE_FROM_INDEX(8, unsigned __int64)
-#endif
-
-#undef BOOST_TT_AUX_PROMOTE_FROM_INDEX
-
-
-// Define BOOST_TT_AUX_PROMOTED_INDEX_TESTER:
-#if !defined(BOOST_MSVC)
-
-template<int N>
-struct sized_type_for_promotion
-{
- typedef char (&type)[N];
-};
-
-#define BOOST_TT_AUX_PROMOTED_INDEX_TESTER(I,T) \
- sized_type_for_promotion<I>::type promoted_index_tester(T);
-
-#else
-
-#define BOOST_TT_AUX_PROMOTED_INDEX_TESTER(I,T) \
- char (&promoted_index_tester(T))[I];
-
-#endif
-
-BOOST_TT_AUX_PROMOTED_INDEX_TESTER(1, int )
-BOOST_TT_AUX_PROMOTED_INDEX_TESTER(2, unsigned int )
-BOOST_TT_AUX_PROMOTED_INDEX_TESTER(3, long )
-BOOST_TT_AUX_PROMOTED_INDEX_TESTER(4, unsigned long)
-
-#if defined(BOOST_HAS_LONG_LONG)
-BOOST_TT_AUX_PROMOTED_INDEX_TESTER(5, boost::long_long_type )
-BOOST_TT_AUX_PROMOTED_INDEX_TESTER(6, boost::ulong_long_type)
-#elif defined(BOOST_HAS_MS_INT64)
-BOOST_TT_AUX_PROMOTED_INDEX_TESTER(7, __int64 )
-BOOST_TT_AUX_PROMOTED_INDEX_TESTER(8, unsigned __int64)
-#endif
-
-#undef BOOST_TT_AUX_PROMOTED_INDEX_TESTER
-
-
-// Get an index of promoted type for type T.
-// Precondition: need_promotion<T>
-template<class T>
-struct promoted_index
-{
- static T testee; // undefined
- BOOST_STATIC_CONSTANT(int, value = sizeof(promoted_index_tester(+testee)) );
- // Unary plus promotes testee LOOK HERE ---> ^
-};
-
-template<class T>
-struct integral_promotion_impl
-{
- typedef BOOST_DEDUCED_TYPENAME promote_from_index<
- (boost::type_traits::detail::promoted_index<T>::value)
- , (boost::is_const<T>::value)
- , (boost::is_volatile<T>::value)
- >::type type;
-};
-
-template<class T>
-struct integral_promotion
- : public boost::mpl::eval_if<
- need_promotion<BOOST_DEDUCED_TYPENAME remove_cv<T>::type>
- , integral_promotion_impl<T>
- , boost::mpl::identity<T>
- >
-{
-};
-
-} }
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(
- integral_promotion
- , T
- , BOOST_DEDUCED_TYPENAME
- boost::type_traits::detail::integral_promotion<T>::type
- )
-}
-
-#include <boost/type_traits/detail/type_trait_undef.hpp>
-
-#endif // #ifndef FILE_boost_type_traits_integral_promotion_hpp_INCLUDED
-
diff --git a/boost/type_traits/intrinsics.hpp b/boost/type_traits/intrinsics.hpp
deleted file mode 100644
index 799f9b6..0000000
--- a/boost/type_traits/intrinsics.hpp
+++ /dev/null
@@ -1,305 +0,0 @@
-// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_INTRINSICS_HPP_INCLUDED
-#define BOOST_TT_INTRINSICS_HPP_INCLUDED
-
-#ifndef BOOST_TT_CONFIG_HPP_INCLUDED
-#include <boost/type_traits/config.hpp>
-#endif
-
-//
-// Helper macros for builtin compiler support.
-// If your compiler has builtin support for any of the following
-// traits concepts, then redefine the appropriate macros to pick
-// up on the compiler support:
-//
-// (these should largely ignore cv-qualifiers)
-// BOOST_IS_UNION(T) should evaluate to true if T is a union type
-// BOOST_IS_POD(T) should evaluate to true if T is a POD type
-// BOOST_IS_EMPTY(T) should evaluate to true if T is an empty class type (and not a union)
-// BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) should evaluate to true if "T x;" has no effect
-// BOOST_HAS_TRIVIAL_COPY(T) should evaluate to true if T(t) <==> memcpy
-// BOOST_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) should evaluate to true if T(boost::move(t)) <==> memcpy
-// BOOST_HAS_TRIVIAL_ASSIGN(T) should evaluate to true if t = u <==> memcpy
-// BOOST_HAS_TRIVIAL_MOVE_ASSIGN(T) should evaluate to true if t = boost::move(u) <==> memcpy
-// BOOST_HAS_TRIVIAL_DESTRUCTOR(T) should evaluate to true if ~T() has no effect
-// BOOST_HAS_NOTHROW_CONSTRUCTOR(T) should evaluate to true if "T x;" can not throw
-// BOOST_HAS_NOTHROW_COPY(T) should evaluate to true if T(t) can not throw
-// BOOST_HAS_NOTHROW_ASSIGN(T) should evaluate to true if t = u can not throw
-// BOOST_HAS_VIRTUAL_DESTRUCTOR(T) should evaluate to true T has a virtual destructor
-//
-// The following can also be defined: when detected our implementation is greatly simplified.
-//
-// BOOST_IS_ABSTRACT(T) true if T is an abstract type
-// BOOST_IS_BASE_OF(T,U) true if T is a base class of U
-// BOOST_IS_CLASS(T) true if T is a class type (and not a union)
-// BOOST_IS_CONVERTIBLE(T,U) true if T is convertible to U
-// BOOST_IS_ENUM(T) true is T is an enum
-// BOOST_IS_POLYMORPHIC(T) true if T is a polymorphic type
-// BOOST_ALIGNMENT_OF(T) should evaluate to the alignment requirements of type T.
-
-#ifdef BOOST_HAS_SGI_TYPE_TRAITS
- // Hook into SGI's __type_traits class, this will pick up user supplied
- // specializations as well as SGI - compiler supplied specializations.
-# include <boost/type_traits/is_same.hpp>
-# ifdef __NetBSD__
- // There are two different versions of type_traits.h on NetBSD on Spark
- // use an implicit include via algorithm instead, to make sure we get
- // the same version as the std lib:
-# include <algorithm>
-# else
-# include <type_traits.h>
-# endif
-# define BOOST_IS_POD(T) ::boost::is_same< typename ::__type_traits<T>::is_POD_type, ::__true_type>::value
-# define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) ::boost::is_same< typename ::__type_traits<T>::has_trivial_default_constructor, ::__true_type>::value
-# define BOOST_HAS_TRIVIAL_COPY(T) ::boost::is_same< typename ::__type_traits<T>::has_trivial_copy_constructor, ::__true_type>::value
-# define BOOST_HAS_TRIVIAL_ASSIGN(T) ::boost::is_same< typename ::__type_traits<T>::has_trivial_assignment_operator, ::__true_type>::value
-# define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) ::boost::is_same< typename ::__type_traits<T>::has_trivial_destructor, ::__true_type>::value
-
-# ifdef __sgi
-# define BOOST_HAS_TYPE_TRAITS_INTRINSICS
-# endif
-#endif
-
-#if defined(__MSL_CPP__) && (__MSL_CPP__ >= 0x8000)
- // Metrowerks compiler is acquiring intrinsic type traits support
- // post version 8. We hook into the published interface to pick up
- // user defined specializations as well as compiler intrinsics as
- // and when they become available:
-# include <msl_utility>
-# define BOOST_IS_UNION(T) BOOST_STD_EXTENSION_NAMESPACE::is_union<T>::value
-# define BOOST_IS_POD(T) BOOST_STD_EXTENSION_NAMESPACE::is_POD<T>::value
-# define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) BOOST_STD_EXTENSION_NAMESPACE::has_trivial_default_ctor<T>::value
-# define BOOST_HAS_TRIVIAL_COPY(T) BOOST_STD_EXTENSION_NAMESPACE::has_trivial_copy_ctor<T>::value
-# define BOOST_HAS_TRIVIAL_ASSIGN(T) BOOST_STD_EXTENSION_NAMESPACE::has_trivial_assignment<T>::value
-# define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) BOOST_STD_EXTENSION_NAMESPACE::has_trivial_dtor<T>::value
-# define BOOST_HAS_TYPE_TRAITS_INTRINSICS
-#endif
-
-#if (defined(BOOST_MSVC) && defined(BOOST_MSVC_FULL_VER) && (BOOST_MSVC_FULL_VER >=140050215))\
- || (defined(BOOST_INTEL) && defined(_MSC_VER) && (_MSC_VER >= 1500))
-# include <boost/type_traits/is_same.hpp>
-# include <boost/type_traits/is_function.hpp>
-
-# define BOOST_IS_UNION(T) __is_union(T)
-# define BOOST_IS_POD(T) (__is_pod(T) && __has_trivial_constructor(T))
-# define BOOST_IS_EMPTY(T) __is_empty(T)
-# define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) __has_trivial_constructor(T)
-# define BOOST_HAS_TRIVIAL_COPY(T) (__has_trivial_copy(T)|| ( ::boost::is_pod<T>::value && !::boost::is_volatile<T>::value))
-# define BOOST_HAS_TRIVIAL_ASSIGN(T) (__has_trivial_assign(T) || ( ::boost::is_pod<T>::value && ! ::boost::is_const<T>::value && !::boost::is_volatile<T>::value))
-# define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) (__has_trivial_destructor(T) || ::boost::is_pod<T>::value)
-# define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) (__has_nothrow_constructor(T) || ::boost::has_trivial_constructor<T>::value)
-# define BOOST_HAS_NOTHROW_COPY(T) (__has_nothrow_copy(T) || ::boost::has_trivial_copy<T>::value)
-# define BOOST_HAS_NOTHROW_ASSIGN(T) (__has_nothrow_assign(T) || ::boost::has_trivial_assign<T>::value)
-# define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T)
-
-# define BOOST_IS_ABSTRACT(T) __is_abstract(T)
-# define BOOST_IS_BASE_OF(T,U) (__is_base_of(T,U) && !is_same<T,U>::value)
-# define BOOST_IS_CLASS(T) __is_class(T)
-# define BOOST_IS_CONVERTIBLE(T,U) ((__is_convertible_to(T,U) || (is_same<T,U>::value && !is_function<U>::value)) && !__is_abstract(U))
-# define BOOST_IS_ENUM(T) __is_enum(T)
-// This one doesn't quite always do the right thing:
-// # define BOOST_IS_POLYMORPHIC(T) __is_polymorphic(T)
-// This one fails if the default alignment has been changed with /Zp:
-// # define BOOST_ALIGNMENT_OF(T) __alignof(T)
-
-# if defined(_MSC_VER) && (_MSC_VER >= 1700)
-# define BOOST_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) ((__has_trivial_move_constructor(T) || ::boost::is_pod<T>::value) && !::boost::is_volatile<T>::value)
-# define BOOST_HAS_TRIVIAL_MOVE_ASSIGN(T) ((__has_trivial_move_assign(T) || ::boost::is_pod<T>::value) && ! ::boost::is_const<T>::value && !::boost::is_volatile<T>::value)
-# endif
-
-# define BOOST_HAS_TYPE_TRAITS_INTRINSICS
-#endif
-
-#if defined(__DMC__) && (__DMC__ >= 0x848)
-// For Digital Mars C++, www.digitalmars.com
-# define BOOST_IS_UNION(T) (__typeinfo(T) & 0x400)
-# define BOOST_IS_POD(T) (__typeinfo(T) & 0x800)
-# define BOOST_IS_EMPTY(T) (__typeinfo(T) & 0x1000)
-# define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) (__typeinfo(T) & 0x10)
-# define BOOST_HAS_TRIVIAL_COPY(T) (__typeinfo(T) & 0x20)
-# define BOOST_HAS_TRIVIAL_ASSIGN(T) (__typeinfo(T) & 0x40)
-# define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) (__typeinfo(T) & 0x8)
-# define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) (__typeinfo(T) & 0x80)
-# define BOOST_HAS_NOTHROW_COPY(T) (__typeinfo(T) & 0x100)
-# define BOOST_HAS_NOTHROW_ASSIGN(T) (__typeinfo(T) & 0x200)
-# define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) (__typeinfo(T) & 0x4)
-# define BOOST_HAS_TYPE_TRAITS_INTRINSICS
-#endif
-
-#if defined(BOOST_CLANG) && defined(__has_feature)
-# include <cstddef>
-# include <boost/type_traits/is_same.hpp>
-# include <boost/type_traits/is_reference.hpp>
-# include <boost/type_traits/is_volatile.hpp>
-
-# if __has_feature(is_union)
-# define BOOST_IS_UNION(T) __is_union(T)
-# endif
-# if (!defined(__GLIBCXX__) || (__GLIBCXX__ >= 20080306 && __GLIBCXX__ != 20080519)) && __has_feature(is_pod)
-# define BOOST_IS_POD(T) __is_pod(T)
-# endif
-# if (!defined(__GLIBCXX__) || (__GLIBCXX__ >= 20080306 && __GLIBCXX__ != 20080519)) && __has_feature(is_empty)
-# define BOOST_IS_EMPTY(T) __is_empty(T)
-# endif
-# if __has_feature(has_trivial_constructor)
-# define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) __has_trivial_constructor(T)
-# endif
-# if __has_feature(has_trivial_copy)
-# define BOOST_HAS_TRIVIAL_COPY(T) (__has_trivial_copy(T) && !is_reference<T>::value && !is_volatile<T>::value)
-# endif
-# if __has_feature(has_trivial_assign)
-# define BOOST_HAS_TRIVIAL_ASSIGN(T) (__has_trivial_assign(T) && !is_volatile<T>::value)
-# endif
-# if __has_feature(has_trivial_destructor)
-# define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) __has_trivial_destructor(T)
-# endif
-# if __has_feature(has_nothrow_constructor)
-# define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) __has_nothrow_constructor(T)
-# endif
-# if __has_feature(has_nothrow_copy)
-# define BOOST_HAS_NOTHROW_COPY(T) (__has_nothrow_copy(T) && !is_volatile<T>::value && !is_reference<T>::value)
-# endif
-# if __has_feature(has_nothrow_assign)
-# define BOOST_HAS_NOTHROW_ASSIGN(T) (__has_nothrow_assign(T) && !is_volatile<T>::value)
-# endif
-# if __has_feature(has_virtual_destructor)
-# define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T)
-# endif
-# if __has_feature(is_abstract)
-# define BOOST_IS_ABSTRACT(T) __is_abstract(T)
-# endif
-# if __has_feature(is_base_of)
-# define BOOST_IS_BASE_OF(T,U) (__is_base_of(T,U) && !is_same<T,U>::value)
-# endif
-# if __has_feature(is_class)
-# define BOOST_IS_CLASS(T) __is_class(T)
-# endif
-# if __has_feature(is_convertible_to)
-# include <boost/type_traits/is_abstract.hpp>
-# define BOOST_IS_CONVERTIBLE(T,U) (__is_convertible_to(T,U) && !::boost::is_abstract<U>::value)
-# endif
-# if __has_feature(is_enum)
-# define BOOST_IS_ENUM(T) __is_enum(T)
-# endif
-# if __has_feature(is_polymorphic)
-# define BOOST_IS_POLYMORPHIC(T) __is_polymorphic(T)
-# endif
-# if __has_feature(has_trivial_move_constructor)
-# define BOOST_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) __has_trivial_move_constructor(T)
-# endif
-# if __has_feature(has_trivial_move_assign)
-# define BOOST_HAS_TRIVIAL_MOVE_ASSIGN(T) __has_trivial_move_assign(T)
-# endif
-# define BOOST_ALIGNMENT_OF(T) __alignof(T)
-
-# define BOOST_HAS_TYPE_TRAITS_INTRINSICS
-#endif
-
-#if defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3) && !defined(__GCCXML__))) && !defined(BOOST_CLANG)
-# include <boost/type_traits/is_same.hpp>
-# include <boost/type_traits/is_reference.hpp>
-# include <boost/type_traits/is_volatile.hpp>
-
-#ifdef BOOST_INTEL
-# define BOOST_INTEL_TT_OPTS || is_pod<T>::value
-#else
-# define BOOST_INTEL_TT_OPTS
-#endif
-
-# define BOOST_IS_UNION(T) __is_union(T)
-# define BOOST_IS_POD(T) __is_pod(T)
-# define BOOST_IS_EMPTY(T) __is_empty(T)
-# define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) ((__has_trivial_constructor(T) BOOST_INTEL_TT_OPTS) && ! ::boost::is_volatile<T>::value)
-# define BOOST_HAS_TRIVIAL_COPY(T) ((__has_trivial_copy(T) BOOST_INTEL_TT_OPTS) && !is_reference<T>::value && ! ::boost::is_volatile<T>::value)
-# define BOOST_HAS_TRIVIAL_ASSIGN(T) ((__has_trivial_assign(T) BOOST_INTEL_TT_OPTS) && ! ::boost::is_volatile<T>::value && ! ::boost::is_const<T>::value)
-# define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) (__has_trivial_destructor(T) BOOST_INTEL_TT_OPTS)
-# define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) (__has_nothrow_constructor(T) BOOST_INTEL_TT_OPTS)
-# define BOOST_HAS_NOTHROW_COPY(T) ((__has_nothrow_copy(T) BOOST_INTEL_TT_OPTS) && !is_volatile<T>::value && !is_reference<T>::value)
-# define BOOST_HAS_NOTHROW_ASSIGN(T) ((__has_nothrow_assign(T) BOOST_INTEL_TT_OPTS) && !is_volatile<T>::value && !is_const<T>::value)
-# define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T)
-
-# define BOOST_IS_ABSTRACT(T) __is_abstract(T)
-# define BOOST_IS_BASE_OF(T,U) (__is_base_of(T,U) && !is_same<T,U>::value)
-# define BOOST_IS_CLASS(T) __is_class(T)
-# define BOOST_IS_ENUM(T) __is_enum(T)
-# define BOOST_IS_POLYMORPHIC(T) __is_polymorphic(T)
-# if (!defined(unix) && !defined(__unix__)) || defined(__LP64__)
- // GCC sometimes lies about alignment requirements
- // of type double on 32-bit unix platforms, use the
- // old implementation instead in that case:
-# define BOOST_ALIGNMENT_OF(T) __alignof__(T)
-# endif
-
-# define BOOST_HAS_TYPE_TRAITS_INTRINSICS
-#endif
-
-#if defined(__ghs__) && (__GHS_VERSION_NUMBER >= 600)
-# include <boost/type_traits/is_same.hpp>
-# include <boost/type_traits/is_reference.hpp>
-# include <boost/type_traits/is_volatile.hpp>
-
-# define BOOST_IS_UNION(T) __is_union(T)
-# define BOOST_IS_POD(T) __is_pod(T)
-# define BOOST_IS_EMPTY(T) __is_empty(T)
-# define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) __has_trivial_constructor(T)
-# define BOOST_HAS_TRIVIAL_COPY(T) (__has_trivial_copy(T) && !is_reference<T>::value && !is_volatile<T>::value)
-# define BOOST_HAS_TRIVIAL_ASSIGN(T) (__has_trivial_assign(T) && !is_volatile<T>::value)
-# define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) __has_trivial_destructor(T)
-# define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) __has_nothrow_constructor(T)
-# define BOOST_HAS_NOTHROW_COPY(T) (__has_nothrow_copy(T) && !is_volatile<T>::value && !is_reference<T>::value)
-# define BOOST_HAS_NOTHROW_ASSIGN(T) (__has_nothrow_assign(T) && !is_volatile<T>::value)
-# define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T)
-
-# define BOOST_IS_ABSTRACT(T) __is_abstract(T)
-# define BOOST_IS_BASE_OF(T,U) (__is_base_of(T,U) && !is_same<T,U>::value)
-# define BOOST_IS_CLASS(T) __is_class(T)
-# define BOOST_IS_ENUM(T) __is_enum(T)
-# define BOOST_IS_POLYMORPHIC(T) __is_polymorphic(T)
-# define BOOST_ALIGNMENT_OF(T) __alignof__(T)
-
-# define BOOST_HAS_TYPE_TRAITS_INTRINSICS
-#endif
-
-# if defined(__CODEGEARC__)
-# include <boost/type_traits/is_same.hpp>
-# include <boost/type_traits/is_reference.hpp>
-# include <boost/type_traits/is_volatile.hpp>
-# include <boost/type_traits/is_void.hpp>
-
-# define BOOST_IS_UNION(T) __is_union(T)
-# define BOOST_IS_POD(T) __is_pod(T)
-# define BOOST_IS_EMPTY(T) __is_empty(T)
-# define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) (__has_trivial_default_constructor(T))
-# define BOOST_HAS_TRIVIAL_COPY(T) (__has_trivial_copy_constructor(T) && !is_volatile<T>::value && !is_reference<T>::value)
-# define BOOST_HAS_TRIVIAL_ASSIGN(T) (__has_trivial_assign(T) && !is_volatile<T>::value)
-# define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) (__has_trivial_destructor(T))
-# define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) (__has_nothrow_default_constructor(T))
-# define BOOST_HAS_NOTHROW_COPY(T) (__has_nothrow_copy_constructor(T) && !is_volatile<T>::value && !is_reference<T>::value)
-# define BOOST_HAS_NOTHROW_ASSIGN(T) (__has_nothrow_assign(T) && !is_volatile<T>::value)
-# define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T)
-
-# define BOOST_IS_ABSTRACT(T) __is_abstract(T)
-# define BOOST_IS_BASE_OF(T,U) (__is_base_of(T,U) && !is_void<T>::value && !is_void<U>::value)
-# define BOOST_IS_CLASS(T) __is_class(T)
-# define BOOST_IS_CONVERTIBLE(T,U) (__is_convertible(T,U) || is_void<U>::value)
-# define BOOST_IS_ENUM(T) __is_enum(T)
-# define BOOST_IS_POLYMORPHIC(T) __is_polymorphic(T)
-# define BOOST_ALIGNMENT_OF(T) alignof(T)
-
-# define BOOST_HAS_TYPE_TRAITS_INTRINSICS
-#endif
-
-#endif // BOOST_TT_INTRINSICS_HPP_INCLUDED
-
-
-
-
-
-
-
diff --git a/boost/type_traits/is_abstract.hpp b/boost/type_traits/is_abstract.hpp
deleted file mode 100644
index d88c143..0000000
--- a/boost/type_traits/is_abstract.hpp
+++ /dev/null
@@ -1,153 +0,0 @@
-#ifndef BOOST_TT_IS_ABSTRACT_CLASS_HPP
-#define BOOST_TT_IS_ABSTRACT_CLASS_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
-# pragma once
-#endif
-
-/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// is_abstract_class.hpp:
-//
-// (C) Copyright 2002 Rani Sharoni (rani_sharoni at hotmail.com) and Robert Ramey
-// 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.
-//
-
-// Compile type discovery whether given type is abstract class or not.
-//
-// Requires DR 337 to be supported by compiler
-// (http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/cwg_active.html#337).
-//
-//
-// Believed (Jan 2004) to work on:
-// - GCC 3.4
-// - VC++ 7.1
-// - compilers with new EDG frontend (Intel C++ 7, Comeau 4.3.2)
-//
-// Doesn't work on:
-// - VC++6, VC++7.0 and less
-// - GCC 3.3.X and less
-// - Borland C++ 6 and less
-//
-//
-// History:
-// - Originally written by Rani Sharoni, see
-// http://groups.google.com/groups?selm=df893da6.0207110613.75b2fe90%40posting.google.com
-// At this time supported by EDG (Intel C++ 7, Comeau 4.3.2) and VC7.1.
-// - Adapted and added into Boost.Serialization library by Robert Ramey
-// (starting with submission #10).
-// - Jan 2004: GCC 3.4 fixed to support DR337 (Giovanni Bajo).
-// - Jan 2004: modified to be part of Boost.TypeTraits (Pavel Vozenilek).
-// - Nov 2004: Christoph Ludwig found that the implementation did not work with
-// template types and gcc-3.4 or VC7.1, fix due to Christoph Ludwig
-// and John Maddock.
-// - Dec 2004: Added new config macro BOOST_NO_IS_ABSTRACT which causes the template
-// to degrade gracefully, rather than trash the compiler (John Maddock).
-//
-
-#include <boost/type_traits/intrinsics.hpp>
-#ifndef BOOST_IS_ABSTRACT
-#include <boost/static_assert.hpp>
-#include <boost/type_traits/detail/yes_no_type.hpp>
-#include <boost/type_traits/is_class.hpp>
-#include <boost/type_traits/detail/ice_and.hpp>
-#ifdef BOOST_NO_IS_ABSTRACT
-#include <boost/type_traits/is_polymorphic.hpp>
-#endif
-#endif
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-
-namespace boost {
-namespace detail{
-
-#ifdef BOOST_IS_ABSTRACT
-template <class T>
-struct is_abstract_imp
-{
- BOOST_STATIC_CONSTANT(bool, value = BOOST_IS_ABSTRACT(T));
-};
-#elif !defined(BOOST_NO_IS_ABSTRACT)
-template<class T>
-struct is_abstract_imp2
-{
- // Deduction fails if T is void, function type,
- // reference type (14.8.2/2)or an abstract class type
- // according to review status issue #337
- //
- template<class U>
- static type_traits::no_type check_sig(U (*)[1]);
- template<class U>
- static type_traits::yes_type check_sig(...);
- //
- // T must be a complete type, further if T is a template then
- // it must be instantiated in order for us to get the right answer:
- //
- BOOST_STATIC_ASSERT(sizeof(T) != 0);
-
- // GCC2 won't even parse this template if we embed the computation
- // of s1 in the computation of value.
-#ifdef __GNUC__
- BOOST_STATIC_CONSTANT(std::size_t, s1 = sizeof(is_abstract_imp2<T>::template check_sig<T>(0)));
-#else
-#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
-#pragma warning(push)
-#pragma warning(disable:6334)
-#endif
- BOOST_STATIC_CONSTANT(std::size_t, s1 = sizeof(check_sig<T>(0)));
-#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
-#pragma warning(pop)
-#endif
-#endif
-
- BOOST_STATIC_CONSTANT(bool, value =
- (s1 == sizeof(type_traits::yes_type)));
-};
-
-template <bool v>
-struct is_abstract_select
-{
- template <class T>
- struct rebind
- {
- typedef is_abstract_imp2<T> type;
- };
-};
-template <>
-struct is_abstract_select<false>
-{
- template <class T>
- struct rebind
- {
- typedef false_type type;
- };
-};
-
-template <class T>
-struct is_abstract_imp
-{
- typedef is_abstract_select< ::boost::is_class<T>::value> selector;
- typedef typename selector::template rebind<T> binder;
- typedef typename binder::type type;
-
- BOOST_STATIC_CONSTANT(bool, value = type::value);
-};
-
-#endif
-}
-
-#ifndef BOOST_NO_IS_ABSTRACT
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_abstract,T,::boost::detail::is_abstract_imp<T>::value)
-#else
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_abstract,T,::boost::detail::is_polymorphic_imp<T>::value)
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif //BOOST_TT_IS_ABSTRACT_CLASS_HPP
diff --git a/boost/type_traits/is_arithmetic.hpp b/boost/type_traits/is_arithmetic.hpp
deleted file mode 100644
index a1d8c46..0000000
--- a/boost/type_traits/is_arithmetic.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-
-// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_IS_ARITHMETIC_HPP_INCLUDED
-#define BOOST_TT_IS_ARITHMETIC_HPP_INCLUDED
-
-#if !defined( __CODEGEARC__ )
-#include <boost/type_traits/is_integral.hpp>
-#include <boost/type_traits/is_float.hpp>
-#include <boost/type_traits/detail/ice_or.hpp>
-#include <boost/config.hpp>
-#endif
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-#if !defined(__CODEGEARC__)
-namespace detail {
-
-template< typename T >
-struct is_arithmetic_impl
-{
- BOOST_STATIC_CONSTANT(bool, value =
- (::boost::type_traits::ice_or<
- ::boost::is_integral<T>::value,
- ::boost::is_float<T>::value
- >::value));
-};
-
-} // namespace detail
-#endif
-
-//* is a type T an arithmetic type described in the standard (3.9.1p8)
-#if defined(__CODEGEARC__)
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_arithmetic,T,__is_arithmetic(T))
-#else
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_arithmetic,T,::boost::detail::is_arithmetic_impl<T>::value)
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_ARITHMETIC_HPP_INCLUDED
diff --git a/boost/type_traits/is_array.hpp b/boost/type_traits/is_array.hpp
deleted file mode 100644
index 91c0f15..0000000
--- a/boost/type_traits/is_array.hpp
+++ /dev/null
@@ -1,91 +0,0 @@
-
-// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard
-// Hinnant & John Maddock 2000.
-// 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/libs/type_traits for most recent version including documentation.
-
-
-// Some fixes for is_array are based on a newsgroup posting by Jonathan Lundquist.
-
-
-#ifndef BOOST_TT_IS_ARRAY_HPP_INCLUDED
-#define BOOST_TT_IS_ARRAY_HPP_INCLUDED
-
-#include <boost/type_traits/config.hpp>
-
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-# include <boost/type_traits/detail/yes_no_type.hpp>
-# include <boost/type_traits/detail/wrap.hpp>
-#endif
-
-#include <cstddef>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-#if defined( __CODEGEARC__ )
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_array,T,__is_array(T))
-#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_array,T,false)
-#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,is_array,T[N],true)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,is_array,T const[N],true)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,is_array,T volatile[N],true)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,is_array,T const volatile[N],true)
-#if !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(__IBMCPP__) && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_array,T[],true)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_array,T const[],true)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_array,T volatile[],true)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_array,T const volatile[],true)
-#endif
-#endif
-
-#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-namespace detail {
-
-using ::boost::type_traits::yes_type;
-using ::boost::type_traits::no_type;
-using ::boost::type_traits::wrap;
-
-template< typename T > T(* is_array_tester1(wrap<T>) )(wrap<T>);
-char BOOST_TT_DECL is_array_tester1(...);
-
-template< typename T> no_type is_array_tester2(T(*)(wrap<T>));
-yes_type BOOST_TT_DECL is_array_tester2(...);
-
-template< typename T >
-struct is_array_impl
-{
- BOOST_STATIC_CONSTANT(bool, value =
- sizeof(::boost::detail::is_array_tester2(
- ::boost::detail::is_array_tester1(
- ::boost::type_traits::wrap<T>()
- )
- )) == 1
- );
-};
-
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_array,void,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_array,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_array,void volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_array,void const volatile,false)
-#endif
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_array,T,::boost::detail::is_array_impl<T>::value)
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_ARRAY_HPP_INCLUDED
diff --git a/boost/type_traits/is_base_and_derived.hpp b/boost/type_traits/is_base_and_derived.hpp
deleted file mode 100644
index d6a9991..0000000
--- a/boost/type_traits/is_base_and_derived.hpp
+++ /dev/null
@@ -1,254 +0,0 @@
-
-// (C) Copyright Rani Sharoni 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_IS_BASE_AND_DERIVED_HPP_INCLUDED
-#define BOOST_TT_IS_BASE_AND_DERIVED_HPP_INCLUDED
-
-#include <boost/type_traits/intrinsics.hpp>
-#ifndef BOOST_IS_BASE_OF
-#include <boost/type_traits/is_class.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/is_convertible.hpp>
-#include <boost/type_traits/detail/ice_and.hpp>
-#include <boost/config.hpp>
-#include <boost/static_assert.hpp>
-#endif
-#include <boost/type_traits/remove_cv.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-namespace detail {
-
-#ifndef BOOST_IS_BASE_OF
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x581)) \
- && !BOOST_WORKAROUND(__SUNPRO_CC , <= 0x540) \
- && !BOOST_WORKAROUND(__EDG_VERSION__, <= 243) \
- && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
-
- // The EDG version number is a lower estimate.
- // It is not currently known which EDG version
- // exactly fixes the problem.
-
-/*************************************************************************
-
-This version detects ambiguous base classes and private base classes
-correctly, and was devised by Rani Sharoni.
-
-Explanation by Terje Slettebo and Rani Sharoni.
-
-Let's take the multiple base class below as an example, and the following
-will also show why there's not a problem with private or ambiguous base
-class:
-
-struct B {};
-struct B1 : B {};
-struct B2 : B {};
-struct D : private B1, private B2 {};
-
-is_base_and_derived<B, D>::value;
-
-First, some terminology:
-
-SC - Standard conversion
-UDC - User-defined conversion
-
-A user-defined conversion sequence consists of an SC, followed by an UDC,
-followed by another SC. Either SC may be the identity conversion.
-
-When passing the default-constructed Host object to the overloaded check_sig()
-functions (initialization 8.5/14/4/3), we have several viable implicit
-conversion sequences:
-
-For "static no_type check_sig(B const volatile *, int)" we have the conversion
-sequences:
-
-C -> C const (SC - Qualification Adjustment) -> B const volatile* (UDC)
-C -> D const volatile* (UDC) -> B1 const volatile* / B2 const volatile* ->
- B const volatile* (SC - Conversion)
-
-For "static yes_type check_sig(D const volatile *, T)" we have the conversion
-sequence:
-
-C -> D const volatile* (UDC)
-
-According to 13.3.3.1/4, in context of user-defined conversion only the
-standard conversion sequence is considered when selecting the best viable
-function, so it only considers up to the user-defined conversion. For the
-first function this means choosing between C -> C const and C -> C, and it
-chooses the latter, because it's a proper subset (13.3.3.2/3/2) of the
-former. Therefore, we have:
-
-C -> D const volatile* (UDC) -> B1 const volatile* / B2 const volatile* ->
- B const volatile* (SC - Conversion)
-C -> D const volatile* (UDC)
-
-Here, the principle of the "shortest subsequence" applies again, and it
-chooses C -> D const volatile*. This shows that it doesn't even need to
-consider the multiple paths to B, or accessibility, as that possibility is
-eliminated before it could possibly cause ambiguity or access violation.
-
-If D is not derived from B, it has to choose between C -> C const -> B const
-volatile* for the first function, and C -> D const volatile* for the second
-function, which are just as good (both requires a UDC, 13.3.3.2), had it not
-been for the fact that "static no_type check_sig(B const volatile *, int)" is
-not templated, which makes C -> C const -> B const volatile* the best choice
-(13.3.3/1/4), resulting in "no".
-
-Also, if Host::operator B const volatile* hadn't been const, the two
-conversion sequences for "static no_type check_sig(B const volatile *, int)", in
-the case where D is derived from B, would have been ambiguous.
-
-See also
-http://groups.google.com/groups?selm=df893da6.0301280859.522081f7%40posting.
-google.com and links therein.
-
-*************************************************************************/
-
-template <typename B, typename D>
-struct bd_helper
-{
- //
- // This VC7.1 specific workaround stops the compiler from generating
- // an internal compiler error when compiling with /vmg (thanks to
- // Aleksey Gurtovoy for figuring out the workaround).
- //
-#if !BOOST_WORKAROUND(BOOST_MSVC, == 1310)
- template <typename T>
- static type_traits::yes_type check_sig(D const volatile *, T);
- static type_traits::no_type check_sig(B const volatile *, int);
-#else
- static type_traits::yes_type check_sig(D const volatile *, long);
- static type_traits::no_type check_sig(B const volatile * const&, int);
-#endif
-};
-
-template<typename B, typename D>
-struct is_base_and_derived_impl2
-{
-#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
-#pragma warning(push)
-#pragma warning(disable:6334)
-#endif
- //
- // May silently do the wrong thing with incomplete types
- // unless we trap them here:
- //
- BOOST_STATIC_ASSERT(sizeof(B) != 0);
- BOOST_STATIC_ASSERT(sizeof(D) != 0);
-
- struct Host
- {
-#if !BOOST_WORKAROUND(BOOST_MSVC, == 1310)
- operator B const volatile *() const;
-#else
- operator B const volatile * const&() const;
-#endif
- operator D const volatile *();
- };
-
- BOOST_STATIC_CONSTANT(bool, value =
- sizeof(bd_helper<B,D>::check_sig(Host(), 0)) == sizeof(type_traits::yes_type));
-#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
-#pragma warning(pop)
-#endif
-};
-
-#else
-
-//
-// broken version:
-//
-template<typename B, typename D>
-struct is_base_and_derived_impl2
-{
- BOOST_STATIC_CONSTANT(bool, value =
- (::boost::is_convertible<D*,B*>::value));
-};
-
-#define BOOST_BROKEN_IS_BASE_AND_DERIVED
-
-#endif
-
-template <typename B, typename D>
-struct is_base_and_derived_impl3
-{
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template <bool ic1, bool ic2, bool iss>
-struct is_base_and_derived_select
-{
- template <class T, class U>
- struct rebind
- {
- typedef is_base_and_derived_impl3<T,U> type;
- };
-};
-
-template <>
-struct is_base_and_derived_select<true,true,false>
-{
- template <class T, class U>
- struct rebind
- {
- typedef is_base_and_derived_impl2<T,U> type;
- };
-};
-
-template <typename B, typename D>
-struct is_base_and_derived_impl
-{
- typedef typename remove_cv<B>::type ncvB;
- typedef typename remove_cv<D>::type ncvD;
-
- typedef is_base_and_derived_select<
- ::boost::is_class<B>::value,
- ::boost::is_class<D>::value,
- ::boost::is_same<ncvB,ncvD>::value> selector;
- typedef typename selector::template rebind<ncvB,ncvD> binder;
- typedef typename binder::type bound_type;
-
- BOOST_STATIC_CONSTANT(bool, value = bound_type::value);
-};
-#else
-template <typename B, typename D>
-struct is_base_and_derived_impl
-{
- typedef typename remove_cv<B>::type ncvB;
- typedef typename remove_cv<D>::type ncvD;
-
- BOOST_STATIC_CONSTANT(bool, value = (BOOST_IS_BASE_OF(B,D) && ! ::boost::is_same<ncvB,ncvD>::value));
-};
-#endif
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF2(
- is_base_and_derived
- , Base
- , Derived
- , (::boost::detail::is_base_and_derived_impl<Base,Derived>::value)
- )
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_base_and_derived,Base&,Derived,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_base_and_derived,Base,Derived&,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_base_and_derived,Base&,Derived&,false)
-#endif
-
-#if BOOST_WORKAROUND(__CODEGEARC__, BOOST_TESTED_AT(0x610))
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(typename Base,is_base_and_derived,Base,Base,false)
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_BASE_AND_DERIVED_HPP_INCLUDED
diff --git a/boost/type_traits/is_base_of.hpp b/boost/type_traits/is_base_of.hpp
deleted file mode 100644
index 0cc7a32..0000000
--- a/boost/type_traits/is_base_of.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-
-// (C) Copyright Rani Sharoni 2003-2005.
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_IS_BASE_OF_HPP_INCLUDED
-#define BOOST_TT_IS_BASE_OF_HPP_INCLUDED
-
-#include <boost/type_traits/is_base_and_derived.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/is_class.hpp>
-#include <boost/type_traits/detail/ice_or.hpp>
-#include <boost/type_traits/detail/ice_and.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
- namespace detail{
- template <class B, class D>
- struct is_base_of_imp
- {
- typedef typename remove_cv<B>::type ncvB;
- typedef typename remove_cv<D>::type ncvD;
- BOOST_STATIC_CONSTANT(bool, value = (::boost::type_traits::ice_or<
- (::boost::detail::is_base_and_derived_impl<ncvB,ncvD>::value),
- (::boost::type_traits::ice_and< ::boost::is_same<ncvB,ncvD>::value, ::boost::is_class<ncvB>::value>::value)>::value));
- };
- }
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF2(
- is_base_of
- , Base
- , Derived
- , (::boost::detail::is_base_of_imp<Base, Derived>::value))
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_base_of,Base&,Derived,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_base_of,Base,Derived&,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_base_of,Base&,Derived&,false)
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_BASE_AND_DERIVED_HPP_INCLUDED
diff --git a/boost/type_traits/is_class.hpp b/boost/type_traits/is_class.hpp
deleted file mode 100644
index 1a2cd20..0000000
--- a/boost/type_traits/is_class.hpp
+++ /dev/null
@@ -1,140 +0,0 @@
-// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard
-// Hinnant & John Maddock 2000-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/libs/type_traits for most recent version including documentation.
-
-
-#ifndef BOOST_TT_IS_CLASS_HPP_INCLUDED
-#define BOOST_TT_IS_CLASS_HPP_INCLUDED
-
-#include <boost/type_traits/config.hpp>
-#include <boost/type_traits/intrinsics.hpp>
-#ifndef BOOST_IS_CLASS
-# include <boost/type_traits/is_union.hpp>
-# include <boost/type_traits/detail/ice_and.hpp>
-# include <boost/type_traits/detail/ice_not.hpp>
-
-#ifdef BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION
-# include <boost/type_traits/detail/yes_no_type.hpp>
-#else
-# include <boost/type_traits/is_scalar.hpp>
-# include <boost/type_traits/is_array.hpp>
-# include <boost/type_traits/is_reference.hpp>
-# include <boost/type_traits/is_void.hpp>
-# include <boost/type_traits/is_function.hpp>
-#endif
-
-#endif // BOOST_IS_CLASS
-
-#ifdef __EDG_VERSION__
-# include <boost/type_traits/remove_cv.hpp>
-#endif
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-namespace detail {
-
-#ifndef BOOST_IS_CLASS
-#ifdef BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION
-
-// This is actually the conforming implementation which works with
-// abstract classes. However, enough compilers have trouble with
-// it that most will use the one in
-// boost/type_traits/object_traits.hpp. This implementation
-// actually works with VC7.0, but other interactions seem to fail
-// when we use it.
-
-// is_class<> metafunction due to Paul Mensonides
-// (leavings at attbi.com). For more details:
-// http://groups.google.com/groups?hl=en&selm=000001c1cc83%24e154d5e0%247772e50c%40c161550a&rnum=1
-#if defined(__GNUC__) && !defined(__EDG_VERSION__)
-
-template <class U> ::boost::type_traits::yes_type is_class_tester(void(U::*)(void));
-template <class U> ::boost::type_traits::no_type is_class_tester(...);
-
-template <typename T>
-struct is_class_impl
-{
-
- BOOST_STATIC_CONSTANT(bool, value =
- (::boost::type_traits::ice_and<
- sizeof(is_class_tester<T>(0)) == sizeof(::boost::type_traits::yes_type),
- ::boost::type_traits::ice_not< ::boost::is_union<T>::value >::value
- >::value)
- );
-};
-
-#else
-
-template <typename T>
-struct is_class_impl
-{
- template <class U> static ::boost::type_traits::yes_type is_class_tester(void(U::*)(void));
- template <class U> static ::boost::type_traits::no_type is_class_tester(...);
-
- BOOST_STATIC_CONSTANT(bool, value =
- (::boost::type_traits::ice_and<
- sizeof(is_class_tester<T>(0)) == sizeof(::boost::type_traits::yes_type),
- ::boost::type_traits::ice_not< ::boost::is_union<T>::value >::value
- >::value)
- );
-};
-
-#endif
-
-#else
-
-template <typename T>
-struct is_class_impl
-{
-# ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
- BOOST_STATIC_CONSTANT(bool, value =
- (::boost::type_traits::ice_and<
- ::boost::type_traits::ice_not< ::boost::is_union<T>::value >::value,
- ::boost::type_traits::ice_not< ::boost::is_scalar<T>::value >::value,
- ::boost::type_traits::ice_not< ::boost::is_array<T>::value >::value,
- ::boost::type_traits::ice_not< ::boost::is_reference<T>::value>::value,
- ::boost::type_traits::ice_not< ::boost::is_void<T>::value >::value,
- ::boost::type_traits::ice_not< ::boost::is_function<T>::value >::value
- >::value));
-# else
- BOOST_STATIC_CONSTANT(bool, value =
- (::boost::type_traits::ice_and<
- ::boost::type_traits::ice_not< ::boost::is_union<T>::value >::value,
- ::boost::type_traits::ice_not< ::boost::is_scalar<T>::value >::value,
- ::boost::type_traits::ice_not< ::boost::is_array<T>::value >::value,
- ::boost::type_traits::ice_not< ::boost::is_reference<T>::value>::value,
- ::boost::type_traits::ice_not< ::boost::is_void<T>::value >::value
- >::value));
-# endif
-};
-
-# endif // BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION
-# else // BOOST_IS_CLASS
-template <typename T>
-struct is_class_impl
-{
- BOOST_STATIC_CONSTANT(bool, value = BOOST_IS_CLASS(T));
-};
-# endif // BOOST_IS_CLASS
-
-} // namespace detail
-
-# ifdef __EDG_VERSION__
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(
- is_class,T, boost::detail::is_class_impl<typename boost::remove_cv<T>::type>::value)
-# else
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_class,T,::boost::detail::is_class_impl<T>::value)
-# endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_CLASS_HPP_INCLUDED
diff --git a/boost/type_traits/is_complex.hpp b/boost/type_traits/is_complex.hpp
deleted file mode 100644
index 0813dac..0000000
--- a/boost/type_traits/is_complex.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-// (C) 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).
-//
-// See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_IS_COMPLEX_HPP
-#define BOOST_TT_IS_COMPLEX_HPP
-
-#include <boost/type_traits/is_convertible.hpp>
-#include <complex>
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-
-namespace boost {
-namespace detail{
-
-struct is_convertible_from_tester
-{
- template <class T>
- is_convertible_from_tester(const std::complex<T>&);
-};
-
-}
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_complex,T,(::boost::is_convertible<T, boost::detail::is_convertible_from_tester>::value))
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif //BOOST_TT_IS_COMPLEX_HPP
diff --git a/boost/type_traits/is_compound.hpp b/boost/type_traits/is_compound.hpp
deleted file mode 100644
index bbaaa42..0000000
--- a/boost/type_traits/is_compound.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-
-// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_IS_COMPOUND_HPP_INCLUDED
-#define BOOST_TT_IS_COMPOUND_HPP_INCLUDED
-
-#include <boost/config.hpp>
-#include <boost/type_traits/is_fundamental.hpp>
-#include <boost/type_traits/detail/ice_not.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-#if !defined( __CODEGEARC__ )
-namespace detail {
-
-template <typename T>
-struct is_compound_impl
-{
- BOOST_STATIC_CONSTANT(bool, value =
- (::boost::type_traits::ice_not<
- ::boost::is_fundamental<T>::value
- >::value));
-};
-
-} // namespace detail
-#endif // !defined( __CODEGEARC__ )
-
-#if defined( __CODEGEARC__ )
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_compound,T,__is_compound(T))
-#else
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_compound,T,::boost::detail::is_compound_impl<T>::value)
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_COMPOUND_HPP_INCLUDED
diff --git a/boost/type_traits/is_const.hpp b/boost/type_traits/is_const.hpp
deleted file mode 100644
index 0c7da4a..0000000
--- a/boost/type_traits/is_const.hpp
+++ /dev/null
@@ -1,165 +0,0 @@
-
-// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes,
-// Howard Hinnant and John Maddock 2000.
-// (C) Copyright Mat Marcus, Jesse Jones and Adobe Systems Inc 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/libs/type_traits for most recent version including documentation.
-
-// Fixed is_pointer, is_reference, is_const, is_volatile, is_same,
-// is_member_pointer based on the Simulated Partial Specialization work
-// of Mat Marcus and Jesse Jones. See http://opensource.adobe.com or
-// http://groups.yahoo.com/group/boost/message/5441
-// Some workarounds in here use ideas suggested from "Generic<Programming>:
-// Mappings between Types and Values"
-// by Andrei Alexandrescu (see http://www.cuj.com/experts/1810/alexandr.html).
-
-
-#ifndef BOOST_TT_IS_CONST_HPP_INCLUDED
-#define BOOST_TT_IS_CONST_HPP_INCLUDED
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-# include <boost/type_traits/detail/cv_traits_impl.hpp>
-# ifdef __GNUC__
-# include <boost/type_traits/is_reference.hpp>
-# endif
-# if BOOST_WORKAROUND(BOOST_MSVC, < 1400)
-# include <boost/type_traits/remove_bounds.hpp>
-# endif
-#else
-# include <boost/type_traits/is_reference.hpp>
-# include <boost/type_traits/is_array.hpp>
-# include <boost/type_traits/detail/yes_no_type.hpp>
-# include <boost/type_traits/detail/false_result.hpp>
-#endif
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-#if defined( __CODEGEARC__ )
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_const,T,__is_const(T))
-
-#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-namespace detail{
-//
-// We can't filter out rvalue_references at the same level as
-// references or we get ambiguities from msvc:
-//
-template <class T>
-struct is_const_rvalue_filter
-{
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1400)
- BOOST_STATIC_CONSTANT(bool, value = ::boost::detail::cv_traits_imp<typename boost::remove_bounds<T>::type*>::is_const);
-#else
- BOOST_STATIC_CONSTANT(bool, value = ::boost::detail::cv_traits_imp<T*>::is_const);
-#endif
-};
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-template <class T>
-struct is_const_rvalue_filter<T&&>
-{
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-#endif
-}
-
-//* is a type T declared const - is_const<T>
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_const,T,::boost::detail::is_const_rvalue_filter<T>::value)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_const,T&,false)
-
-#if defined(BOOST_ILLEGAL_CV_REFERENCES)
-// these are illegal specialisations; cv-qualifies applied to
-// references have no effect according to [8.3.2p1],
-// C++ Builder requires them though as it treats cv-qualified
-// references as distinct types...
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_const,T& const,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_const,T& volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_const,T& const volatile,false)
-#endif
-
-#if defined(__GNUC__) && (__GNUC__ < 3)
-// special case for gcc where illegally cv-qualified reference types can be
-// generated in some corner cases:
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_const,T const,!(::boost::is_reference<T>::value))
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_const,T volatile const,!(::boost::is_reference<T>::value))
-#endif
-
-#else
-
-namespace detail {
-
-using ::boost::type_traits::yes_type;
-using ::boost::type_traits::no_type;
-
-yes_type is_const_tester(const volatile void*);
-no_type is_const_tester(volatile void *);
-
-template <bool is_ref, bool array>
-struct is_const_helper
- : public ::boost::type_traits::false_result
-{
-};
-
-template <>
-struct is_const_helper<false,false>
-{
- template <typename T> struct result_
- {
- static T* t;
- BOOST_STATIC_CONSTANT(bool, value = (
- sizeof(boost::detail::yes_type) == sizeof(boost::detail::is_const_tester(t))
- ));
- };
-};
-
-template <>
-struct is_const_helper<false,true>
-{
- template <typename T> struct result_
- {
- static T t;
- BOOST_STATIC_CONSTANT(bool, value = (
- sizeof(boost::detail::yes_type) == sizeof(boost::detail::is_const_tester(&t))
- ));
- };
-};
-
-template <typename T>
-struct is_const_impl
- : public is_const_helper<
- is_reference<T>::value
- , is_array<T>::value
- >::template result_<T>
-{
-};
-
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_const,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_const,void const,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_const,void volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_const,void const volatile,true)
-#endif
-
-} // namespace detail
-
-//* is a type T declared const - is_const<T>
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_const,T,::boost::detail::is_const_impl<T>::value)
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_CONST_HPP_INCLUDED
-
diff --git a/boost/type_traits/is_convertible.hpp b/boost/type_traits/is_convertible.hpp
deleted file mode 100644
index 3eccadc..0000000
--- a/boost/type_traits/is_convertible.hpp
+++ /dev/null
@@ -1,492 +0,0 @@
-
-// Copyright 2000 John Maddock (john at johnmaddock.co.uk)
-// Copyright 2000 Jeremy Siek (jsiek at lsc.nd.edu)
-// Copyright 1999, 2000 Jaakko Jarvi (jaakko.jarvi at cs.utu.fi)
-//
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_IS_CONVERTIBLE_HPP_INCLUDED
-#define BOOST_TT_IS_CONVERTIBLE_HPP_INCLUDED
-
-#include <boost/type_traits/intrinsics.hpp>
-#ifndef BOOST_IS_CONVERTIBLE
-#include <boost/type_traits/detail/yes_no_type.hpp>
-#include <boost/type_traits/config.hpp>
-#include <boost/type_traits/is_array.hpp>
-#include <boost/type_traits/ice.hpp>
-#include <boost/type_traits/is_arithmetic.hpp>
-#include <boost/type_traits/is_void.hpp>
-#ifndef BOOST_NO_IS_ABSTRACT
-#include <boost/type_traits/is_abstract.hpp>
-#endif
-#include <boost/type_traits/add_lvalue_reference.hpp>
-#include <boost/type_traits/add_rvalue_reference.hpp>
-#include <boost/type_traits/is_function.hpp>
-
-#if defined(__MWERKS__)
-#include <boost/type_traits/remove_reference.hpp>
-#endif
-
-#endif // BOOST_IS_CONVERTIBLE
-
-// should be always the last #include directive
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-#ifndef BOOST_IS_CONVERTIBLE
-
-// is one type convertible to another?
-//
-// there are multiple versions of the is_convertible
-// template, almost every compiler seems to require its
-// own version.
-//
-// Thanks to Andrei Alexandrescu for the original version of the
-// conversion detection technique!
-//
-
-namespace detail {
-
-// MS specific version:
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC <= 1300)
-
-// This workaround is necessary to handle when From is void
-// which is normally taken care of by the partial specialization
-// of the is_convertible typename.
-using ::boost::type_traits::yes_type;
-using ::boost::type_traits::no_type;
-
-template< typename From >
-struct does_conversion_exist
-{
- template< typename To > struct result_
- {
- static no_type BOOST_TT_DECL _m_check(...);
- static yes_type BOOST_TT_DECL _m_check(To);
- static typename add_lvalue_reference<From>::type _m_from;
- enum { value = sizeof( _m_check(_m_from) ) == sizeof(yes_type) };
- };
-};
-
-template<>
-struct does_conversion_exist<void>
-{
- template< typename To > struct result_
- {
- enum { value = ::boost::is_void<To>::value };
- };
-};
-
-template <typename From, typename To>
-struct is_convertible_basic_impl
- : public does_conversion_exist<From>::template result_<To>
-{
-};
-
-#elif defined(__BORLANDC__) && (__BORLANDC__ < 0x560)
-//
-// special version for Borland compilers
-// this version breaks when used for some
-// UDT conversions:
-//
-template <typename From, typename To>
-struct is_convertible_impl
-{
-#pragma option push -w-8074
- // This workaround for Borland breaks the EDG C++ frontend,
- // so we only use it for Borland.
- template <typename T> struct checker
- {
- static ::boost::type_traits::no_type BOOST_TT_DECL _m_check(...);
- static ::boost::type_traits::yes_type BOOST_TT_DECL _m_check(T);
- };
-
- static typename add_lvalue_reference<From>::type _m_from;
- static bool const value = sizeof( checker<To>::_m_check(_m_from) )
- == sizeof(::boost::type_traits::yes_type);
-#pragma option pop
-};
-
-#elif defined(__GNUC__) || defined(__BORLANDC__) && (__BORLANDC__ < 0x600)
-// special version for gcc compiler + recent Borland versions
-// note that this does not pass UDT's through (...)
-
-struct any_conversion
-{
- template <typename T> any_conversion(const volatile T&);
- template <typename T> any_conversion(const T&);
- template <typename T> any_conversion(volatile T&);
- template <typename T> any_conversion(T&);
-};
-
-template <typename T> struct checker
-{
- static boost::type_traits::no_type _m_check(any_conversion ...);
- static boost::type_traits::yes_type _m_check(T, int);
-};
-
-template <typename From, typename To>
-struct is_convertible_basic_impl
-{
- typedef typename add_lvalue_reference<From>::type lvalue_type;
- typedef typename add_rvalue_reference<From>::type rvalue_type;
- static lvalue_type _m_from;
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 6)))
- static bool const value =
- sizeof( boost::detail::checker<To>::_m_check(static_cast<rvalue_type>(_m_from), 0) )
- == sizeof(::boost::type_traits::yes_type);
-#else
- static bool const value =
- sizeof( boost::detail::checker<To>::_m_check(_m_from, 0) )
- == sizeof(::boost::type_traits::yes_type);
-#endif
-};
-
-#elif (defined(__EDG_VERSION__) && (__EDG_VERSION__ >= 245) && !defined(__ICL)) \
- || defined(__IBMCPP__) || defined(__HP_aCC)
-//
-// This is *almost* an ideal world implementation as it doesn't rely
-// on undefined behaviour by passing UDT's through (...).
-// Unfortunately it doesn't quite pass all the tests for most compilers (sigh...)
-// Enable this for your compiler if is_convertible_test.cpp will compile it...
-//
-// Note we do not enable this for VC7.1, because even though it passes all the
-// type_traits tests it is known to cause problems when instantiation occurs
-// deep within the instantiation tree :-(
-//
-struct any_conversion
-{
- template <typename T> any_conversion(const volatile T&);
- template <typename T> any_conversion(const T&);
- template <typename T> any_conversion(volatile T&);
- // we need this constructor to catch references to functions
- // (which can not be cv-qualified):
- template <typename T> any_conversion(T&);
-};
-
-template <typename From, typename To>
-struct is_convertible_basic_impl
-{
- static ::boost::type_traits::no_type BOOST_TT_DECL _m_check(any_conversion ...);
- static ::boost::type_traits::yes_type BOOST_TT_DECL _m_check(To, int);
- typedef typename add_lvalue_reference<From>::type lvalue_type;
- typedef typename add_rvalue_reference<From>::type rvalue_type;
- static lvalue_type _m_from;
-
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
- BOOST_STATIC_CONSTANT(bool, value =
- sizeof( _m_check(static_cast<rvalue_type>(_m_from), 0) ) == sizeof(::boost::type_traits::yes_type)
- );
-#else
- BOOST_STATIC_CONSTANT(bool, value =
- sizeof( _m_check(_m_from, 0) ) == sizeof(::boost::type_traits::yes_type)
- );
-#endif
-};
-
-#elif defined(__DMC__)
-
-struct any_conversion
-{
- template <typename T> any_conversion(const volatile T&);
- template <typename T> any_conversion(const T&);
- template <typename T> any_conversion(volatile T&);
- // we need this constructor to catch references to functions
- // (which can not be cv-qualified):
- template <typename T> any_conversion(T&);
-};
-
-template <typename From, typename To>
-struct is_convertible_basic_impl
-{
- // Using '...' doesn't always work on Digital Mars. This version seems to.
- template <class T>
- static ::boost::type_traits::no_type BOOST_TT_DECL _m_check(any_conversion, float, T);
- static ::boost::type_traits::yes_type BOOST_TT_DECL _m_check(To, int, int);
- typedef typename add_lvalue_reference<From>::type lvalue_type;
- typedef typename add_rvalue_reference<From>::type rvalue_type;
- static lvalue_type _m_from;
-
- // Static constants sometime cause the conversion of _m_from to To to be
- // called. This doesn't happen with an enum.
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
- enum { value =
- sizeof( _m_check(static_cast<rvalue_type>(_m_from), 0, 0) ) == sizeof(::boost::type_traits::yes_type)
- };
-#else
- enum { value =
- sizeof( _m_check(_m_from, 0, 0) ) == sizeof(::boost::type_traits::yes_type)
- };
-#endif
-};
-
-#elif defined(__MWERKS__)
-//
-// CW works with the technique implemented above for EDG, except when From
-// is a function type (or a reference to such a type), in which case
-// any_conversion won't be accepted as a valid conversion. We detect this
-// exceptional situation and channel it through an alternative algorithm.
-//
-
-template <typename From, typename To,bool FromIsFunctionRef>
-struct is_convertible_basic_impl_aux;
-
-struct any_conversion
-{
- template <typename T> any_conversion(const volatile T&);
- template <typename T> any_conversion(const T&);
- template <typename T> any_conversion(volatile T&);
- template <typename T> any_conversion(T&);
-};
-
-template <typename From, typename To>
-struct is_convertible_basic_impl_aux<From,To,false /*FromIsFunctionRef*/>
-{
- static ::boost::type_traits::no_type BOOST_TT_DECL _m_check(any_conversion ...);
- static ::boost::type_traits::yes_type BOOST_TT_DECL _m_check(To, int);
- typedef typename add_lvalue_reference<From>::type lvalue_type;
- typedef typename add_rvalue_reference<From>::type rvalue_type;
- static lvalue_type _m_from;
-
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
- BOOST_STATIC_CONSTANT(bool, value =
- sizeof( _m_check(static_cast<rvalue_type>(_m_from), 0) ) == sizeof(::boost::type_traits::yes_type)
- );
-#else
- BOOST_STATIC_CONSTANT(bool, value =
- sizeof( _m_check(_m_from, 0) ) == sizeof(::boost::type_traits::yes_type)
- );
-#endif
-};
-
-template <typename From, typename To>
-struct is_convertible_basic_impl_aux<From,To,true /*FromIsFunctionRef*/>
-{
- static ::boost::type_traits::no_type BOOST_TT_DECL _m_check(...);
- static ::boost::type_traits::yes_type BOOST_TT_DECL _m_check(To);
- typedef typename add_lvalue_reference<From>::type lvalue_type;
- typedef typename add_rvalue_reference<From>::type rvalue_type;
- static lvalue_type _m_from;
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
- BOOST_STATIC_CONSTANT(bool, value =
- sizeof( _m_check(static_cast<rvalue_type>(_m_from)) ) == sizeof(::boost::type_traits::yes_type)
- );
-#else
- BOOST_STATIC_CONSTANT(bool, value =
- sizeof( _m_check(_m_from) ) == sizeof(::boost::type_traits::yes_type)
- );
-#endif
-};
-
-template <typename From, typename To>
-struct is_convertible_basic_impl:
- is_convertible_basic_impl_aux<
- From,To,
- ::boost::is_function<typename ::boost::remove_reference<From>::type>::value
- >
-{};
-
-#else
-//
-// This version seems to work pretty well for a wide spectrum of compilers,
-// however it does rely on undefined behaviour by passing UDT's through (...).
-//
-template <typename From, typename To>
-struct is_convertible_basic_impl
-{
- static ::boost::type_traits::no_type BOOST_TT_DECL _m_check(...);
- static ::boost::type_traits::yes_type BOOST_TT_DECL _m_check(To);
- typedef typename add_lvalue_reference<From>::type lvalue_type;
- typedef typename add_rvalue_reference<From>::type rvalue_type;
- static lvalue_type _m_from;
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4244)
-#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
-#pragma warning(disable:6334)
-#endif
-#endif
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
- BOOST_STATIC_CONSTANT(bool, value =
- sizeof( _m_check(static_cast<rvalue_type>(_m_from)) ) == sizeof(::boost::type_traits::yes_type)
- );
-#else
- BOOST_STATIC_CONSTANT(bool, value =
- sizeof( _m_check(_m_from) ) == sizeof(::boost::type_traits::yes_type)
- );
-#endif
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-};
-
-#endif // is_convertible_impl
-
-#if defined(__DMC__)
-// As before, a static constant sometimes causes errors on Digital Mars.
-template <typename From, typename To>
-struct is_convertible_impl
-{
- enum { value =
- (::boost::type_traits::ice_and<
- ::boost::type_traits::ice_or<
- ::boost::detail::is_convertible_basic_impl<From,To>::value,
- ::boost::is_void<To>::value
- >::value,
- ::boost::type_traits::ice_not<
- ::boost::is_array<To>::value
- >::value,
- ::boost::type_traits::ice_not<
- ::boost::is_function<To>::value
- >::value
- >::value) };
-};
-#elif !defined(__BORLANDC__) || __BORLANDC__ > 0x551
-template <typename From, typename To>
-struct is_convertible_impl
-{
- BOOST_STATIC_CONSTANT(bool, value =
- (::boost::type_traits::ice_and<
- ::boost::type_traits::ice_or<
- ::boost::detail::is_convertible_basic_impl<From,To>::value,
- ::boost::is_void<To>::value
- >::value,
- ::boost::type_traits::ice_not<
- ::boost::is_array<To>::value
- >::value,
- ::boost::type_traits::ice_not<
- ::boost::is_function<To>::value
- >::value
- >::value)
- );
-};
-#endif
-
-template <bool trivial1, bool trivial2, bool abstract_target>
-struct is_convertible_impl_select
-{
- template <class From, class To>
- struct rebind
- {
- typedef is_convertible_impl<From, To> type;
- };
-};
-
-template <>
-struct is_convertible_impl_select<true, true, false>
-{
- template <class From, class To>
- struct rebind
- {
- typedef true_type type;
- };
-};
-
-template <>
-struct is_convertible_impl_select<false, false, true>
-{
- template <class From, class To>
- struct rebind
- {
- typedef false_type type;
- };
-};
-
-template <>
-struct is_convertible_impl_select<true, false, true>
-{
- template <class From, class To>
- struct rebind
- {
- typedef false_type type;
- };
-};
-
-template <typename From, typename To>
-struct is_convertible_impl_dispatch_base
-{
-#if !BOOST_WORKAROUND(__HP_aCC, < 60700)
- typedef is_convertible_impl_select<
- ::boost::is_arithmetic<From>::value,
- ::boost::is_arithmetic<To>::value,
-#ifndef BOOST_NO_IS_ABSTRACT
- ::boost::is_abstract<To>::value
-#else
- false
-#endif
- > selector;
-#else
- typedef is_convertible_impl_select<false, false, false> selector;
-#endif
- typedef typename selector::template rebind<From, To> isc_binder;
- typedef typename isc_binder::type type;
-};
-
-template <typename From, typename To>
-struct is_convertible_impl_dispatch
- : public is_convertible_impl_dispatch_base<From, To>::type
-{};
-
-//
-// Now add the full and partial specialisations
-// for void types, these are common to all the
-// implementation above:
-//
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-# define TT_AUX_BOOL_CV_VOID_TRAIT_SPEC2_PART1(trait,spec1,spec2,value) \
- BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,spec1,spec2,value) \
- BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,spec1,spec2 const,value) \
- BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,spec1,spec2 volatile,value) \
- BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(trait,spec1,spec2 const volatile,value) \
- /**/
-
-# define TT_AUX_BOOL_CV_VOID_TRAIT_SPEC2(trait,spec1,spec2,value) \
- TT_AUX_BOOL_CV_VOID_TRAIT_SPEC2_PART1(trait,spec1,spec2,value) \
- TT_AUX_BOOL_CV_VOID_TRAIT_SPEC2_PART1(trait,spec1 const,spec2,value) \
- TT_AUX_BOOL_CV_VOID_TRAIT_SPEC2_PART1(trait,spec1 volatile,spec2,value) \
- TT_AUX_BOOL_CV_VOID_TRAIT_SPEC2_PART1(trait,spec1 const volatile,spec2,value) \
- /**/
-
- TT_AUX_BOOL_CV_VOID_TRAIT_SPEC2(is_convertible,void,void,true)
-
-# undef TT_AUX_BOOL_CV_VOID_TRAIT_SPEC2
-# undef TT_AUX_BOOL_CV_VOID_TRAIT_SPEC2_PART1
-
-#else
- BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(is_convertible,void,void,true)
-#endif // BOOST_NO_CV_VOID_SPECIALIZATIONS
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(typename To,is_convertible,void,To,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(typename From,is_convertible,From,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(typename To,is_convertible,void const,To,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(typename To,is_convertible,void volatile,To,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(typename To,is_convertible,void const volatile,To,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(typename From,is_convertible,From,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(typename From,is_convertible,From,void volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(typename From,is_convertible,From,void const volatile,false)
-#endif
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF2(is_convertible,From,To,(::boost::detail::is_convertible_impl_dispatch<From,To>::value))
-
-#else
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF2(is_convertible,From,To,BOOST_IS_CONVERTIBLE(From,To))
-
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_CONVERTIBLE_HPP_INCLUDED
diff --git a/boost/type_traits/is_copy_constructible.hpp b/boost/type_traits/is_copy_constructible.hpp
deleted file mode 100644
index e90ecb7..0000000
--- a/boost/type_traits/is_copy_constructible.hpp
+++ /dev/null
@@ -1,122 +0,0 @@
-// (C) Copyright Antony Polukhin 2013.
-//
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_IS_COPY_CONSTRUCTIBLE_HPP_INCLUDED
-#define BOOST_TT_IS_COPY_CONSTRUCTIBLE_HPP_INCLUDED
-
-#include <boost/config.hpp>
-#include <boost/type_traits/detail/yes_no_type.hpp>
-#include <boost/type_traits/is_base_and_derived.hpp>
-#include <boost/type_traits/add_reference.hpp>
-#include <boost/type_traits/is_rvalue_reference.hpp>
-#include <boost/utility/declval.hpp>
-#include <boost/noncopyable.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-namespace detail{
-
-template <bool DerivedFromNoncopyable, class T>
-struct is_copy_constructible_impl2 {
-
-// Intel compiler has problems with SFINAE for copy constructors and deleted functions:
-//
-// error: function *function_name* cannot be referenced -- it is a deleted function
-// static boost::type_traits::yes_type test(T1&, decltype(T1(boost::declval<T1&>()))* = 0);
-// ^
-#if !defined(BOOST_NO_CXX11_DELETED_FUNCTIONS) && !defined(BOOST_INTEL_CXX_VERSION)
-
-#ifdef BOOST_NO_CXX11_DECLTYPE
- template <class T1>
- static boost::type_traits::yes_type test(T1&, boost::mpl::int_<sizeof(T1(boost::declval<T1&>()))>* = 0);
-#else
- template <class T1>
- static boost::type_traits::yes_type test(T1&, decltype(T1(boost::declval<T1&>()))* = 0);
-#endif
-
- static boost::type_traits::no_type test(...);
-#else
- template <class T1>
- static boost::type_traits::no_type test(T1&, typename T1::boost_move_no_copy_constructor_or_assign* = 0);
- static boost::type_traits::yes_type test(...);
-#endif
-
- // If you see errors like this:
- //
- // `'T::T(const T&)' is private`
- // `boost/type_traits/is_copy_constructible.hpp:68:5: error: within this context`
- //
- // then you are trying to call that macro for a structure defined like that:
- //
- // struct T {
- // ...
- // private:
- // T(const T &);
- // ...
- // };
- //
- // To fix that you must modify your structure:
- //
- // // C++03 and C++11 version
- // struct T: private boost::noncopyable {
- // ...
- // private:
- // T(const T &);
- // ...
- // };
- //
- // // C++11 version
- // struct T {
- // ...
- // private:
- // T(const T &) = delete;
- // ...
- // };
- BOOST_STATIC_CONSTANT(bool, value = (
- sizeof(test(
- boost::declval<BOOST_DEDUCED_TYPENAME boost::add_reference<T>::type>()
- )) == sizeof(boost::type_traits::yes_type)
- ||
- boost::is_rvalue_reference<T>::value
- ));
-};
-
-template <class T>
-struct is_copy_constructible_impl2<true, T> {
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template <class T>
-struct is_copy_constructible_impl {
-
- BOOST_STATIC_CONSTANT(bool, value = (
- boost::detail::is_copy_constructible_impl2<
- boost::is_base_and_derived<boost::noncopyable, T>::value,
- T
- >::value
- ));
-};
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_copy_constructible,T,::boost::detail::is_copy_constructible_impl<T>::value)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_copy_constructible,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_copy_constructible,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_copy_constructible,void const volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_copy_constructible,void volatile,false)
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_COPY_CONSTRUCTIBLE_HPP_INCLUDED
diff --git a/boost/type_traits/is_empty.hpp b/boost/type_traits/is_empty.hpp
deleted file mode 100644
index 8a2c5b8..0000000
--- a/boost/type_traits/is_empty.hpp
+++ /dev/null
@@ -1,229 +0,0 @@
-
-// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_IS_EMPTY_HPP_INCLUDED
-#define BOOST_TT_IS_EMPTY_HPP_INCLUDED
-
-#include <boost/type_traits/is_convertible.hpp>
-#include <boost/type_traits/detail/ice_or.hpp>
-#include <boost/type_traits/config.hpp>
-#include <boost/type_traits/intrinsics.hpp>
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-# include <boost/type_traits/remove_cv.hpp>
-# include <boost/type_traits/is_class.hpp>
-# include <boost/type_traits/add_reference.hpp>
-#else
-# include <boost/type_traits/is_reference.hpp>
-# include <boost/type_traits/is_pointer.hpp>
-# include <boost/type_traits/is_member_pointer.hpp>
-# include <boost/type_traits/is_array.hpp>
-# include <boost/type_traits/is_void.hpp>
-# include <boost/type_traits/detail/ice_and.hpp>
-# include <boost/type_traits/detail/ice_not.hpp>
-#endif
-
-// should be always the last #include directive
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-#ifndef BOOST_INTERNAL_IS_EMPTY
-#define BOOST_INTERNAL_IS_EMPTY(T) false
-#else
-#define BOOST_INTERNAL_IS_EMPTY(T) BOOST_IS_EMPTY(T)
-#endif
-
-namespace boost {
-
-namespace detail {
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable:4624) // destructor could not be generated
-#endif
-
-template <typename T>
-struct empty_helper_t1 : public T
-{
- empty_helper_t1(); // hh compiler bug workaround
- int i[256];
-private:
- // suppress compiler warnings:
- empty_helper_t1(const empty_helper_t1&);
- empty_helper_t1& operator=(const empty_helper_t1&);
-};
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-struct empty_helper_t2 { int i[256]; };
-
-#if !BOOST_WORKAROUND(__BORLANDC__, < 0x600)
-
-template <typename T, bool is_a_class = false>
-struct empty_helper
-{
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template <typename T>
-struct empty_helper<T, true>
-{
- BOOST_STATIC_CONSTANT(
- bool, value = (sizeof(empty_helper_t1<T>) == sizeof(empty_helper_t2))
- );
-};
-
-template <typename T>
-struct is_empty_impl
-{
- typedef typename remove_cv<T>::type cvt;
- BOOST_STATIC_CONSTANT(
- bool, value = (
- ::boost::type_traits::ice_or<
- ::boost::detail::empty_helper<cvt,::boost::is_class<T>::value>::value
- , BOOST_INTERNAL_IS_EMPTY(cvt)
- >::value
- ));
-};
-
-#else // __BORLANDC__
-
-template <typename T, bool is_a_class, bool convertible_to_int>
-struct empty_helper
-{
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template <typename T>
-struct empty_helper<T, true, false>
-{
- BOOST_STATIC_CONSTANT(bool, value = (
- sizeof(empty_helper_t1<T>) == sizeof(empty_helper_t2)
- ));
-};
-
-template <typename T>
-struct is_empty_impl
-{
- typedef typename remove_cv<T>::type cvt;
- typedef typename add_reference<T>::type r_type;
-
- BOOST_STATIC_CONSTANT(
- bool, value = (
- ::boost::type_traits::ice_or<
- ::boost::detail::empty_helper<
- cvt
- , ::boost::is_class<T>::value
- , ::boost::is_convertible< r_type,int>::value
- >::value
- , BOOST_INTERNAL_IS_EMPTY(cvt)
- >::value));
-};
-
-#endif // __BORLANDC__
-
-#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-#ifdef BOOST_MSVC6_MEMBER_TEMPLATES
-
-template <typename T>
-struct empty_helper_t1 : public T
-{
- empty_helper_t1();
- int i[256];
-};
-
-struct empty_helper_t2 { int i[256]; };
-
-template <typename T>
-struct empty_helper_base
-{
- enum { value = (sizeof(empty_helper_t1<T>) == sizeof(empty_helper_t2)) };
-};
-
-template <typename T>
-struct empty_helper_nonbase
-{
- enum { value = false };
-};
-
-template <bool base>
-struct empty_helper_chooser
-{
- template <typename T> struct result_
- {
- typedef empty_helper_nonbase<T> type;
- };
-};
-
-template <>
-struct empty_helper_chooser<true>
-{
- template <typename T> struct result_
- {
- typedef empty_helper_base<T> type;
- };
-};
-
-template <typename T>
-struct is_empty_impl
-{
- typedef ::boost::detail::empty_helper_chooser<
- ::boost::type_traits::ice_and<
- ::boost::type_traits::ice_not< ::boost::is_reference<T>::value >::value,
- ::boost::type_traits::ice_not< ::boost::is_convertible<T,double>::value >::value,
- ::boost::type_traits::ice_not< ::boost::is_pointer<T>::value >::value,
- ::boost::type_traits::ice_not< ::boost::is_member_pointer<T>::value >::value,
- ::boost::type_traits::ice_not< ::boost::is_array<T>::value >::value,
- ::boost::type_traits::ice_not< ::boost::is_void<T>::value >::value,
- ::boost::type_traits::ice_not<
- ::boost::is_convertible<T,void const volatile*>::value
- >::value
- >::value > chooser;
-
- typedef typename chooser::template result_<T> result;
- typedef typename result::type eh_type;
-
- BOOST_STATIC_CONSTANT(bool, value =
- (::boost::type_traits::ice_or<eh_type::value, BOOST_INTERNAL_IS_EMPTY(T)>::value));
-};
-
-#else
-
-template <typename T> struct is_empty_impl
-{
- BOOST_STATIC_CONSTANT(bool, value = BOOST_INTERNAL_IS_EMPTY(T));
-};
-
-#endif // BOOST_MSVC6_MEMBER_TEMPLATES
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-// these help when the compiler has no partial specialization support:
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_empty,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_empty,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_empty,void volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_empty,void const volatile,false)
-#endif
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_empty,T,::boost::detail::is_empty_impl<T>::value)
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#undef BOOST_INTERNAL_IS_EMPTY
-
-#endif // BOOST_TT_IS_EMPTY_HPP_INCLUDED
-
diff --git a/boost/type_traits/is_enum.hpp b/boost/type_traits/is_enum.hpp
deleted file mode 100644
index e35548c..0000000
--- a/boost/type_traits/is_enum.hpp
+++ /dev/null
@@ -1,189 +0,0 @@
-
-// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard
-// Hinnant & John Maddock 2000.
-// 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/libs/type_traits for most recent version including documentation.
-
-
-#ifndef BOOST_TT_IS_ENUM_HPP_INCLUDED
-#define BOOST_TT_IS_ENUM_HPP_INCLUDED
-
-#include <boost/type_traits/intrinsics.hpp>
-#ifndef BOOST_IS_ENUM
-#include <boost/type_traits/add_reference.hpp>
-#include <boost/type_traits/is_arithmetic.hpp>
-#include <boost/type_traits/is_reference.hpp>
-#include <boost/type_traits/is_convertible.hpp>
-#include <boost/type_traits/is_array.hpp>
-#ifdef __GNUC__
-#include <boost/type_traits/is_function.hpp>
-#endif
-#include <boost/type_traits/config.hpp>
-#if defined(BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION)
-# include <boost/type_traits/is_class.hpp>
-# include <boost/type_traits/is_union.hpp>
-#endif
-#endif
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-#ifndef BOOST_IS_ENUM
-#if !(defined(__BORLANDC__) && (__BORLANDC__ <= 0x551))
-
-namespace detail {
-
-#if defined(BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION)
-
-template <typename T>
-struct is_class_or_union
-{
- BOOST_STATIC_CONSTANT(bool, value =
- (::boost::type_traits::ice_or<
- ::boost::is_class<T>::value
- , ::boost::is_union<T>::value
- >::value));
-};
-
-#else
-
-template <typename T>
-struct is_class_or_union
-{
-# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x581))// we simply can't detect it this way.
- BOOST_STATIC_CONSTANT(bool, value = false);
-# else
- template <class U> static ::boost::type_traits::yes_type is_class_or_union_tester(void(U::*)(void));
-
-# if BOOST_WORKAROUND(BOOST_MSVC, == 1300) \
- || BOOST_WORKAROUND(__MWERKS__, <= 0x3000) // no SFINAE
- static ::boost::type_traits::no_type is_class_or_union_tester(...);
- BOOST_STATIC_CONSTANT(
- bool, value = sizeof(is_class_or_union_tester(0)) == sizeof(::boost::type_traits::yes_type));
-# else
- template <class U>
- static ::boost::type_traits::no_type is_class_or_union_tester(...);
- BOOST_STATIC_CONSTANT(
- bool, value = sizeof(is_class_or_union_tester<T>(0)) == sizeof(::boost::type_traits::yes_type));
-# endif
-# endif
-};
-#endif
-
-struct int_convertible
-{
- int_convertible(int);
-};
-
-// Don't evaluate convertibility to int_convertible unless the type
-// is non-arithmetic. This suppresses warnings with GCC.
-template <bool is_typename_arithmetic_or_reference = true>
-struct is_enum_helper
-{
- template <typename T> struct type
- {
- BOOST_STATIC_CONSTANT(bool, value = false);
- };
-};
-
-template <>
-struct is_enum_helper<false>
-{
- template <typename T> struct type
- : public ::boost::is_convertible<typename boost::add_reference<T>::type,::boost::detail::int_convertible>
- {
- };
-};
-
-template <typename T> struct is_enum_impl
-{
- //typedef ::boost::add_reference<T> ar_t;
- //typedef typename ar_t::type r_type;
-
-#if defined(__GNUC__)
-
-#ifdef BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION
-
- // We MUST check for is_class_or_union on conforming compilers in
- // order to correctly deduce that noncopyable types are not enums
- // (dwa 2002/04/15)...
- BOOST_STATIC_CONSTANT(bool, selector =
- (::boost::type_traits::ice_or<
- ::boost::is_arithmetic<T>::value
- , ::boost::is_reference<T>::value
- , ::boost::is_function<T>::value
- , is_class_or_union<T>::value
- , is_array<T>::value
- >::value));
-#else
- // ...however, not checking is_class_or_union on non-conforming
- // compilers prevents a dependency recursion.
- BOOST_STATIC_CONSTANT(bool, selector =
- (::boost::type_traits::ice_or<
- ::boost::is_arithmetic<T>::value
- , ::boost::is_reference<T>::value
- , ::boost::is_function<T>::value
- , is_array<T>::value
- >::value));
-#endif // BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION
-
-#else // !defined(__GNUC__):
-
- BOOST_STATIC_CONSTANT(bool, selector =
- (::boost::type_traits::ice_or<
- ::boost::is_arithmetic<T>::value
- , ::boost::is_reference<T>::value
- , is_class_or_union<T>::value
- , is_array<T>::value
- >::value));
-
-#endif
-
-#if BOOST_WORKAROUND(__BORLANDC__, < 0x600)
- typedef ::boost::detail::is_enum_helper<
- ::boost::detail::is_enum_impl<T>::selector
- > se_t;
-#else
- typedef ::boost::detail::is_enum_helper<selector> se_t;
-#endif
-
- typedef typename se_t::template type<T> helper;
- BOOST_STATIC_CONSTANT(bool, value = helper::value);
-};
-
-// these help on compilers with no partial specialization support:
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_enum,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_enum,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_enum,void volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_enum,void const volatile,false)
-#endif
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_enum,T,::boost::detail::is_enum_impl<T>::value)
-
-#else // __BORLANDC__
-//
-// buggy is_convertible prevents working
-// implementation of is_enum:
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_enum,T,false)
-
-#endif
-
-#else // BOOST_IS_ENUM
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_enum,T,BOOST_IS_ENUM(T))
-
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_ENUM_HPP_INCLUDED
diff --git a/boost/type_traits/is_float.hpp b/boost/type_traits/is_float.hpp
deleted file mode 100644
index 25d16f1..0000000
--- a/boost/type_traits/is_float.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-
-// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TYPE_TRAITS_IS_FLOAT_HPP_INCLUDED
-#define BOOST_TYPE_TRAITS_IS_FLOAT_HPP_INCLUDED
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-//* is a type T a floating-point type described in the standard (3.9.1p8)
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_float,T,false)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_float,float,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_float,double,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_float,long double,true)
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TYPE_TRAITS_IS_FLOAT_HPP_INCLUDED
diff --git a/boost/type_traits/is_floating_point.hpp b/boost/type_traits/is_floating_point.hpp
deleted file mode 100644
index 2224453..0000000
--- a/boost/type_traits/is_floating_point.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-
-// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000-2005.
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TYPE_TRAITS_IS_FLOATING_HPP_INCLUDED
-#define BOOST_TYPE_TRAITS_IS_FLOATING_HPP_INCLUDED
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-//* is a type T a floating-point type described in the standard (3.9.1p8)
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_floating_point,T,false)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_floating_point,float,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_floating_point,double,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_floating_point,long double,true)
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TYPE_TRAITS_IS_FLOAT_HPP_INCLUDED
diff --git a/boost/type_traits/is_function.hpp b/boost/type_traits/is_function.hpp
deleted file mode 100644
index cd80e74..0000000
--- a/boost/type_traits/is_function.hpp
+++ /dev/null
@@ -1,111 +0,0 @@
-
-// Copyright 2000 John Maddock (john at johnmaddock.co.uk)
-// Copyright 2002 Aleksey Gurtovoy (agurtovoy at meta-comm.com)
-//
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_IS_FUNCTION_HPP_INCLUDED
-#define BOOST_TT_IS_FUNCTION_HPP_INCLUDED
-
-#include <boost/type_traits/is_reference.hpp>
-#include <boost/type_traits/detail/false_result.hpp>
-#include <boost/config.hpp>
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_TT_TEST_MS_FUNC_SIGS)
-# include <boost/type_traits/detail/is_function_ptr_helper.hpp>
-#else
-# include <boost/type_traits/detail/is_function_ptr_tester.hpp>
-# include <boost/type_traits/detail/yes_no_type.hpp>
-#endif
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-// is a type a function?
-// Please note that this implementation is unnecessarily complex:
-// we could just use !is_convertible<T*, const volatile void*>::value,
-// except that some compilers erroneously allow conversions from
-// function pointers to void*.
-
-namespace boost {
-
-#if !defined( __CODEGEARC__ )
-
-namespace detail {
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_TT_TEST_MS_FUNC_SIGS)
-template<bool is_ref = true>
-struct is_function_chooser
- : public ::boost::type_traits::false_result
-{
-};
-
-template <>
-struct is_function_chooser<false>
-{
- template< typename T > struct result_
- : public ::boost::type_traits::is_function_ptr_helper<T*>
- {
- };
-};
-
-template <typename T>
-struct is_function_impl
- : public is_function_chooser< ::boost::is_reference<T>::value >
- ::BOOST_NESTED_TEMPLATE result_<T>
-{
-};
-
-#else
-
-template <typename T>
-struct is_function_impl
-{
-#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
-#pragma warning(push)
-#pragma warning(disable:6334)
-#endif
- static T* t;
- BOOST_STATIC_CONSTANT(
- bool, value = sizeof(::boost::type_traits::is_function_ptr_tester(t))
- == sizeof(::boost::type_traits::yes_type)
- );
-#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
-#pragma warning(pop)
-#endif
-};
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-template <typename T>
-struct is_function_impl<T&> : public false_type
-{};
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-template <typename T>
-struct is_function_impl<T&&> : public false_type
-{};
-#endif
-#endif
-
-#endif
-
-} // namespace detail
-
-#endif // !defined( __CODEGEARC__ )
-
-#if defined( __CODEGEARC__ )
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_function,T,__is_function(T))
-#else
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_function,T,::boost::detail::is_function_impl<T>::value)
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_function,T&&,false)
-#endif
-#endif
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_FUNCTION_HPP_INCLUDED
diff --git a/boost/type_traits/is_fundamental.hpp b/boost/type_traits/is_fundamental.hpp
deleted file mode 100644
index 138e296..0000000
--- a/boost/type_traits/is_fundamental.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-
-// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_IS_FUNDAMENTAL_HPP_INCLUDED
-#define BOOST_TT_IS_FUNDAMENTAL_HPP_INCLUDED
-
-#include <boost/type_traits/is_arithmetic.hpp>
-#include <boost/type_traits/is_void.hpp>
-#include <boost/type_traits/detail/ice_or.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-namespace detail {
-
-template <typename T>
-struct is_fundamental_impl
- : public ::boost::type_traits::ice_or<
- ::boost::is_arithmetic<T>::value
- , ::boost::is_void<T>::value
- >
-{
-};
-
-} // namespace detail
-
-//* is a type T a fundamental type described in the standard (3.9.1)
-#if defined( __CODEGEARC__ )
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_fundamental,T,__is_fundamental(T))
-#else
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_fundamental,T,::boost::detail::is_fundamental_impl<T>::value)
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_FUNDAMENTAL_HPP_INCLUDED
diff --git a/boost/type_traits/is_integral.hpp b/boost/type_traits/is_integral.hpp
deleted file mode 100644
index 1ab27fd..0000000
--- a/boost/type_traits/is_integral.hpp
+++ /dev/null
@@ -1,89 +0,0 @@
-
-// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_IS_INTEGRAL_HPP_INCLUDED
-#define BOOST_TT_IS_INTEGRAL_HPP_INCLUDED
-
-#include <boost/config.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-//* is a type T an [cv-qualified-] integral type described in the standard (3.9.1p3)
-// as an extension we include long long, as this is likely to be added to the
-// standard at a later date
-#if defined( __CODEGEARC__ )
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_integral,T,__is_integral(T))
-#else
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_integral,T,false)
-
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned char,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned short,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned int,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned long,true)
-
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,signed char,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,signed short,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,signed int,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,signed long,true)
-
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,bool,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,char,true)
-
-#ifndef BOOST_NO_INTRINSIC_WCHAR_T
-// If the following line fails to compile and you're using the Intel
-// compiler, see http://lists.boost.org/MailArchives/boost-users/msg06567.php,
-// and define BOOST_NO_INTRINSIC_WCHAR_T on the command line.
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,wchar_t,true)
-#endif
-
-// Same set of integral types as in boost/type_traits/integral_promotion.hpp.
-// Please, keep in sync. -- Alexander Nasonov
-#if (defined(BOOST_MSVC) && (BOOST_MSVC < 1300)) \
- || (defined(BOOST_INTEL_CXX_VERSION) && defined(_MSC_VER) && (BOOST_INTEL_CXX_VERSION <= 600)) \
- || (defined(__BORLANDC__) && (__BORLANDC__ == 0x600) && (_MSC_VER < 1300))
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned __int8,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,__int8,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned __int16,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,__int16,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned __int32,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,__int32,true)
-#ifdef __BORLANDC__
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned __int64,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,__int64,true)
-#endif
-#endif
-
-# if defined(BOOST_HAS_LONG_LONG)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral, ::boost::ulong_long_type,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral, ::boost::long_long_type,true)
-#elif defined(BOOST_HAS_MS_INT64)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned __int64,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,__int64,true)
-#endif
-
-#ifdef BOOST_HAS_INT128
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,boost::int128_type,true)
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,boost::uint128_type,true)
-#endif
-#ifndef BOOST_NO_CXX11_CHAR16_T
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,char16_t,true)
-#endif
-#ifndef BOOST_NO_CXX11_CHAR32_T
-BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,char32_t,true)
-#endif
-
-#endif // non-CodeGear implementation
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_INTEGRAL_HPP_INCLUDED
diff --git a/boost/type_traits/is_lvalue_reference.hpp b/boost/type_traits/is_lvalue_reference.hpp
deleted file mode 100644
index a6af859..0000000
--- a/boost/type_traits/is_lvalue_reference.hpp
+++ /dev/null
@@ -1,118 +0,0 @@
-
-// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes,
-// Howard Hinnant and John Maddock 2000.
-// (C) Copyright Mat Marcus, Jesse Jones and Adobe Systems Inc 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/libs/type_traits for most recent version including documentation.
-
-// Fixed is_pointer, is_lvalue_reference, is_const, is_volatile, is_same,
-// is_member_pointer based on the Simulated Partial Specialization work
-// of Mat Marcus and Jesse Jones. See http://opensource.adobe.com or
-// http://groups.yahoo.com/group/boost/message/5441
-// Some workarounds in here use ideas suggested from "Generic<Programming>:
-// Mappings between Types and Values"
-// by Andrei Alexandrescu (see http://www.cuj.com/experts/1810/alexandr.html).
-
-
-#ifndef BOOST_TT_IS_LVALUE_REFERENCE_HPP_INCLUDED
-#define BOOST_TT_IS_LVALUE_REFERENCE_HPP_INCLUDED
-
-#include <boost/type_traits/config.hpp>
-
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-# include <boost/type_traits/detail/yes_no_type.hpp>
-# include <boost/type_traits/detail/wrap.hpp>
-#endif
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-#if defined( __CODEGEARC__ )
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_lvalue_reference,T,__is_reference(T))
-#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_lvalue_reference,T,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_lvalue_reference,T&,true)
-
-#if defined(BOOST_ILLEGAL_CV_REFERENCES)
-// these are illegal specialisations; cv-qualifies applied to
-// references have no effect according to [8.3.2p1],
-// C++ Builder requires them though as it treats cv-qualified
-// references as distinct types...
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_lvalue_reference,T& const,true)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_lvalue_reference,T& volatile,true)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_lvalue_reference,T& const volatile,true)
-#endif
-
-#if defined(__GNUC__) && (__GNUC__ < 3)
-// these allow us to work around illegally cv-qualified reference
-// types.
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_lvalue_reference,T const ,::boost::is_lvalue_reference<T>::value)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_lvalue_reference,T volatile ,::boost::is_lvalue_reference<T>::value)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_lvalue_reference,T const volatile ,::boost::is_lvalue_reference<T>::value)
-// However, the above specializations confuse gcc 2.96 unless we also
-// supply these specializations for array types
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,unsigned long N,is_lvalue_reference,T[N],false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,unsigned long N,is_lvalue_reference,const T[N],false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,unsigned long N,is_lvalue_reference,volatile T[N],false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,unsigned long N,is_lvalue_reference,const volatile T[N],false)
-#endif
-
-#else
-
-#ifdef BOOST_MSVC
-# pragma warning(push)
-# pragma warning(disable: 4181 4097)
-#endif
-
-namespace detail {
-
-using ::boost::type_traits::yes_type;
-using ::boost::type_traits::no_type;
-using ::boost::type_traits::wrap;
-
-template <class T> T&(* is_lvalue_reference_helper1(wrap<T>) )(wrap<T>);
-char is_lvalue_reference_helper1(...);
-
-template <class T> no_type is_lvalue_reference_helper2(T&(*)(wrap<T>));
-yes_type is_lvalue_reference_helper2(...);
-
-template <typename T>
-struct is_lvalue_reference_impl
-{
- BOOST_STATIC_CONSTANT(
- bool, value = sizeof(
- ::boost::detail::is_lvalue_reference_helper2(
- ::boost::detail::is_lvalue_reference_helper1(::boost::type_traits::wrap<T>()))) == 1
- );
-};
-
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_lvalue_reference,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_lvalue_reference,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_lvalue_reference,void volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_lvalue_reference,void const volatile,false)
-#endif
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_lvalue_reference,T,::boost::detail::is_lvalue_reference_impl<T>::value)
-
-#ifdef BOOST_MSVC
-# pragma warning(pop)
-#endif
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_REFERENCE_HPP_INCLUDED
-
diff --git a/boost/type_traits/is_member_function_pointer.hpp b/boost/type_traits/is_member_function_pointer.hpp
deleted file mode 100644
index 38babf4..0000000
--- a/boost/type_traits/is_member_function_pointer.hpp
+++ /dev/null
@@ -1,136 +0,0 @@
-
-// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard
-// Hinnant & John Maddock 2000.
-// 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/libs/type_traits for most recent version including documentation.
-
-
-#ifndef BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
-#define BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
-
-#include <boost/type_traits/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
- && !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(BOOST_TT_TEST_MS_FUNC_SIGS)
- //
- // Note: we use the "workaround" version for MSVC because it works for
- // __stdcall etc function types, where as the partial specialisation
- // version does not do so.
- //
-# include <boost/type_traits/detail/is_mem_fun_pointer_impl.hpp>
-# include <boost/type_traits/remove_cv.hpp>
-#else
-# include <boost/type_traits/is_reference.hpp>
-# include <boost/type_traits/is_array.hpp>
-# include <boost/type_traits/detail/yes_no_type.hpp>
-# include <boost/type_traits/detail/false_result.hpp>
-# include <boost/type_traits/detail/ice_or.hpp>
-# include <boost/type_traits/detail/is_mem_fun_pointer_tester.hpp>
-#endif
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-#if defined( __CODEGEARC__ )
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_member_function_pointer,T,__is_member_function_pointer( T ))
-#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(BOOST_TT_TEST_MS_FUNC_SIGS)
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(
- is_member_function_pointer
- , T
- , ::boost::type_traits::is_mem_fun_pointer_impl<typename remove_cv<T>::type>::value
- )
-
-#else
-
-namespace detail {
-
-#ifndef __BORLANDC__
-
-template <bool>
-struct is_mem_fun_pointer_select
- : public ::boost::type_traits::false_result
-{
-};
-
-template <>
-struct is_mem_fun_pointer_select<false>
-{
- template <typename T> struct result_
- {
-#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
-#pragma warning(push)
-#pragma warning(disable:6334)
-#endif
- static T* make_t;
- typedef result_<T> self_type;
-
- BOOST_STATIC_CONSTANT(
- bool, value = (
- 1 == sizeof(::boost::type_traits::is_mem_fun_pointer_tester(self_type::make_t))
- ));
-#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
-#pragma warning(pop)
-#endif
- };
-};
-
-template <typename T>
-struct is_member_function_pointer_impl
- : public is_mem_fun_pointer_select<
- ::boost::type_traits::ice_or<
- ::boost::is_reference<T>::value
- , ::boost::is_array<T>::value
- >::value
- >::template result_<T>
-{
-};
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-template <typename T>
-struct is_member_function_pointer_impl<T&> : public false_type{};
-#endif
-
-#else // Borland C++
-
-template <typename T>
-struct is_member_function_pointer_impl
-{
- static T* m_t;
- BOOST_STATIC_CONSTANT(
- bool, value =
- (1 == sizeof(type_traits::is_mem_fun_pointer_tester(m_t))) );
-};
-
-template <typename T>
-struct is_member_function_pointer_impl<T&>
-{
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-#endif
-
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_function_pointer,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_function_pointer,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_function_pointer,void volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_function_pointer,void const volatile,false)
-#endif
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_member_function_pointer,T,::boost::detail::is_member_function_pointer_impl<T>::value)
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
diff --git a/boost/type_traits/is_member_object_pointer.hpp b/boost/type_traits/is_member_object_pointer.hpp
deleted file mode 100644
index 66b76c9..0000000
--- a/boost/type_traits/is_member_object_pointer.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-
-// (C) Copyright John Maddock 2005.
-// 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/libs/type_traits for most recent version including documentation.
-
-
-#ifndef BOOST_TT_IS_MEMBER_OBJECT_POINTER_HPP_INCLUDED
-#define BOOST_TT_IS_MEMBER_OBJECT_POINTER_HPP_INCLUDED
-
-#include <boost/type_traits/config.hpp>
-#include <boost/type_traits/is_member_pointer.hpp>
-#include <boost/type_traits/is_member_function_pointer.hpp>
-#include <boost/type_traits/detail/ice_and.hpp>
-#include <boost/type_traits/detail/ice_not.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-namespace detail{
-
-template <typename T>
-struct is_member_object_pointer_impl
-{
- BOOST_STATIC_CONSTANT(
- bool, value = (::boost::type_traits::ice_and<
- ::boost::is_member_pointer<T>::value,
- ::boost::type_traits::ice_not<
- ::boost::is_member_function_pointer<T>::value
- >::value
- >::value ));
-};
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_member_object_pointer,T,::boost::detail::is_member_object_pointer_impl<T>::value)
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
diff --git a/boost/type_traits/is_member_pointer.hpp b/boost/type_traits/is_member_pointer.hpp
deleted file mode 100644
index a4a6d25..0000000
--- a/boost/type_traits/is_member_pointer.hpp
+++ /dev/null
@@ -1,116 +0,0 @@
-
-// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes,
-// Howard Hinnant and John Maddock 2000.
-// (C) Copyright Mat Marcus, Jesse Jones and Adobe Systems Inc 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/libs/type_traits for most recent version including documentation.
-
-// Fixed is_pointer, is_reference, is_const, is_volatile, is_same,
-// is_member_pointer based on the Simulated Partial Specialization work
-// of Mat Marcus and Jesse Jones. See http://opensource.adobe.com or
-// http://groups.yahoo.com/group/boost/message/5441
-// Some workarounds in here use ideas suggested from "Generic<Programming>:
-// Mappings between Types and Values"
-// by Andrei Alexandrescu (see http://www.cuj.com/experts/1810/alexandr.html).
-
-
-#ifndef BOOST_TT_IS_MEMBER_POINTER_HPP_INCLUDED
-#define BOOST_TT_IS_MEMBER_POINTER_HPP_INCLUDED
-
-#include <boost/type_traits/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !BOOST_WORKAROUND(__BORLANDC__, < 0x600)
-# include <boost/type_traits/is_member_function_pointer.hpp>
-#else
-# include <boost/type_traits/is_reference.hpp>
-# include <boost/type_traits/is_array.hpp>
-# include <boost/type_traits/detail/is_mem_fun_pointer_tester.hpp>
-# include <boost/type_traits/detail/yes_no_type.hpp>
-# include <boost/type_traits/detail/false_result.hpp>
-# include <boost/type_traits/detail/ice_or.hpp>
-#endif
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-#if defined( __CODEGEARC__ )
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_member_pointer,T,__is_member_pointer(T))
-#elif BOOST_WORKAROUND(__BORLANDC__, < 0x600)
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_member_pointer,T,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,typename U,is_member_pointer,U T::*,true)
-
-#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_member_pointer,T,::boost::is_member_function_pointer<T>::value)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,typename U,is_member_pointer,U T::*,true)
-
-#if !BOOST_WORKAROUND(__MWERKS__,<=0x3003) && !BOOST_WORKAROUND(__IBMCPP__, <=600)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,typename U,is_member_pointer,U T::*const,true)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,typename U,is_member_pointer,U T::*volatile,true)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,typename U,is_member_pointer,U T::*const volatile,true)
-#endif
-
-#else // no partial template specialization
-
-namespace detail {
-
-template <typename R, typename T>
-::boost::type_traits::yes_type BOOST_TT_DECL is_member_pointer_tester(R T::*const volatile*);
-::boost::type_traits::no_type BOOST_TT_DECL is_member_pointer_tester(...);
-
-template <bool>
-struct is_member_pointer_select
- : public ::boost::type_traits::false_result
-{
-};
-
-template <>
-struct is_member_pointer_select<false>
-{
- template <typename T> struct result_
- {
- static T* make_t();
- BOOST_STATIC_CONSTANT(
- bool, value =
- (::boost::type_traits::ice_or<
- (1 == sizeof(::boost::type_traits::is_mem_fun_pointer_tester(make_t()))),
- (1 == sizeof(is_member_pointer_tester(make_t())))
- >::value) );
- };
-};
-
-template <typename T>
-struct is_member_pointer_impl
- : public is_member_pointer_select<
- ::boost::type_traits::ice_or<
- ::boost::is_reference<T>::value
- , ::boost::is_array<T>::value
- >::value
- >::template result_<T>
-{
-};
-
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_pointer,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_pointer,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_pointer,void volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_pointer,void const volatile,false)
-#endif
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_member_pointer,T,::boost::detail::is_member_pointer_impl<T>::value)
-
-#endif // __BORLANDC__
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_MEMBER_POINTER_HPP_INCLUDED
diff --git a/boost/type_traits/is_nothrow_move_assignable.hpp b/boost/type_traits/is_nothrow_move_assignable.hpp
deleted file mode 100644
index 5a3427f..0000000
--- a/boost/type_traits/is_nothrow_move_assignable.hpp
+++ /dev/null
@@ -1,84 +0,0 @@
-
-// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-// (C) Copyright Eric Friedman 2002-2003.
-// (C) Copyright Antony Polukhin 2013.
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_IS_NOTHROW_MOVE_ASSIGNABLE_HPP_INCLUDED
-#define BOOST_TT_IS_NOTHROW_MOVE_ASSIGNABLE_HPP_INCLUDED
-
-#include <boost/config.hpp>
-#include <boost/type_traits/has_trivial_move_assign.hpp>
-#include <boost/type_traits/has_nothrow_assign.hpp>
-#include <boost/type_traits/is_array.hpp>
-#include <boost/type_traits/is_reference.hpp>
-#include <boost/type_traits/detail/ice_and.hpp>
-#include <boost/type_traits/detail/ice_or.hpp>
-#include <boost/type_traits/detail/ice_not.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <boost/utility/declval.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-namespace detail{
-
-#ifndef BOOST_NO_CXX11_NOEXCEPT
-
-template <class T, class Enable = void>
-struct false_or_cpp11_noexcept_move_assignable: public ::boost::false_type {};
-
-template <class T>
-struct false_or_cpp11_noexcept_move_assignable <
- T,
- typename ::boost::enable_if_c<sizeof(T) && BOOST_NOEXCEPT_EXPR(::boost::declval<T&>() = ::boost::declval<T>())>::type
- > : public ::boost::integral_constant<bool, BOOST_NOEXCEPT_EXPR(::boost::declval<T&>() = ::boost::declval<T>())>
-{};
-
-template <class T>
-struct is_nothrow_move_assignable_imp{
- BOOST_STATIC_CONSTANT(bool, value = (
- ::boost::type_traits::ice_and<
- ::boost::type_traits::ice_not< ::boost::is_volatile<T>::value >::value,
- ::boost::type_traits::ice_not< ::boost::is_reference<T>::value >::value,
- ::boost::detail::false_or_cpp11_noexcept_move_assignable<T>::value
- >::value));
-};
-
-#else
-
-template <class T>
-struct is_nothrow_move_assignable_imp{
- BOOST_STATIC_CONSTANT(bool, value = (
- ::boost::type_traits::ice_and<
- ::boost::type_traits::ice_or<
- ::boost::has_trivial_move_assign<T>::value,
- ::boost::has_nothrow_assign<T>::value
- >::value,
- ::boost::type_traits::ice_not< ::boost::is_array<T>::value >::value
- >::value));
-};
-
-#endif
-
-}
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_nothrow_move_assignable,T,::boost::detail::is_nothrow_move_assignable_imp<T>::value)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_nothrow_move_assignable,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_nothrow_move_assignable,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_nothrow_move_assignable,void const volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_nothrow_move_assignable,void volatile,false)
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_NOTHROW_MOVE_ASSIGNABLE_HPP_INCLUDED
diff --git a/boost/type_traits/is_nothrow_move_constructible.hpp b/boost/type_traits/is_nothrow_move_constructible.hpp
deleted file mode 100644
index bc7fb88..0000000
--- a/boost/type_traits/is_nothrow_move_constructible.hpp
+++ /dev/null
@@ -1,84 +0,0 @@
-
-// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-// (C) Copyright Eric Friedman 2002-2003.
-// (C) Copyright Antony Polukhin 2013.
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_IS_NOTHROW_MOVE_CONSTRUCTIBLE_HPP_INCLUDED
-#define BOOST_TT_IS_NOTHROW_MOVE_CONSTRUCTIBLE_HPP_INCLUDED
-
-#include <boost/config.hpp>
-#include <boost/type_traits/has_trivial_move_constructor.hpp>
-#include <boost/type_traits/has_nothrow_copy.hpp>
-#include <boost/type_traits/is_array.hpp>
-#include <boost/type_traits/is_reference.hpp>
-#include <boost/type_traits/detail/ice_or.hpp>
-#include <boost/type_traits/detail/ice_and.hpp>
-#include <boost/utility/declval.hpp>
-#include <boost/utility/enable_if.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-namespace detail{
-
-#ifndef BOOST_NO_CXX11_NOEXCEPT
-
-template <class T, class Enable = void>
-struct false_or_cpp11_noexcept_move_constructible: public ::boost::false_type {};
-
-template <class T>
-struct false_or_cpp11_noexcept_move_constructible <
- T,
- typename ::boost::enable_if_c<sizeof(T) && BOOST_NOEXCEPT_EXPR(T(::boost::declval<T>()))>::type
- > : public ::boost::integral_constant<bool, BOOST_NOEXCEPT_EXPR(T(::boost::declval<T>()))>
-{};
-
-template <class T>
-struct is_nothrow_move_constructible_imp{
- BOOST_STATIC_CONSTANT(bool, value =
- (::boost::type_traits::ice_and<
- ::boost::type_traits::ice_not< ::boost::is_volatile<T>::value >::value,
- ::boost::type_traits::ice_not< ::boost::is_reference<T>::value >::value,
- ::boost::detail::false_or_cpp11_noexcept_move_constructible<T>::value
- >::value));
-};
-
-#else
-
-template <class T>
-struct is_nothrow_move_constructible_imp{
- BOOST_STATIC_CONSTANT(bool, value =(
- ::boost::type_traits::ice_and<
- ::boost::type_traits::ice_or<
- ::boost::has_trivial_move_constructor<T>::value,
- ::boost::has_nothrow_copy<T>::value
- >::value,
- ::boost::type_traits::ice_not< ::boost::is_array<T>::value >::value
- >::value));
-};
-
-#endif
-
-}
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_nothrow_move_constructible,T,::boost::detail::is_nothrow_move_constructible_imp<T>::value)
-
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_nothrow_move_constructible,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_nothrow_move_constructible,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_nothrow_move_constructible,void const volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_nothrow_move_constructible,void volatile,false)
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_NOTHROW_MOVE_CONSTRUCTIBLE_HPP_INCLUDED
diff --git a/boost/type_traits/is_object.hpp b/boost/type_traits/is_object.hpp
deleted file mode 100644
index 3decbf8..0000000
--- a/boost/type_traits/is_object.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-
-// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_IS_OBJECT_HPP_INCLUDED
-#define BOOST_TT_IS_OBJECT_HPP_INCLUDED
-
-#include <boost/type_traits/is_reference.hpp>
-#include <boost/type_traits/is_void.hpp>
-#include <boost/type_traits/is_function.hpp>
-#include <boost/type_traits/detail/ice_and.hpp>
-#include <boost/type_traits/detail/ice_not.hpp>
-#include <boost/config.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-namespace detail {
-
-template <typename T>
-struct is_object_impl
-{
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
- BOOST_STATIC_CONSTANT(bool, value =
- (::boost::type_traits::ice_and<
- ::boost::type_traits::ice_not< ::boost::is_reference<T>::value>::value,
- ::boost::type_traits::ice_not< ::boost::is_void<T>::value>::value,
- ::boost::type_traits::ice_not< ::boost::is_function<T>::value>::value
- >::value));
-#else
- BOOST_STATIC_CONSTANT(bool, value =
- (::boost::type_traits::ice_and<
- ::boost::type_traits::ice_not< ::boost::is_reference<T>::value>::value,
- ::boost::type_traits::ice_not< ::boost::is_void<T>::value>::value
- >::value));
-#endif
-};
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_object,T,::boost::detail::is_object_impl<T>::value)
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_OBJECT_HPP_INCLUDED
diff --git a/boost/type_traits/is_pod.hpp b/boost/type_traits/is_pod.hpp
deleted file mode 100644
index b4e1733..0000000
--- a/boost/type_traits/is_pod.hpp
+++ /dev/null
@@ -1,145 +0,0 @@
-
-// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_IS_POD_HPP_INCLUDED
-#define BOOST_TT_IS_POD_HPP_INCLUDED
-
-#include <boost/type_traits/config.hpp>
-#include <boost/type_traits/is_void.hpp>
-#include <boost/type_traits/is_scalar.hpp>
-#include <boost/type_traits/detail/ice_or.hpp>
-#include <boost/type_traits/intrinsics.hpp>
-
-#include <cstddef>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-#ifndef BOOST_IS_POD
-#define BOOST_INTERNAL_IS_POD(T) false
-#else
-#define BOOST_INTERNAL_IS_POD(T) BOOST_IS_POD(T)
-#endif
-
-namespace boost {
-
-// forward declaration, needed by 'is_pod_array_helper' template below
-template< typename T > struct is_POD;
-
-namespace detail {
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-template <typename T> struct is_pod_impl
-{
- BOOST_STATIC_CONSTANT(
- bool, value =
- (::boost::type_traits::ice_or<
- ::boost::is_scalar<T>::value,
- ::boost::is_void<T>::value,
- BOOST_INTERNAL_IS_POD(T)
- >::value));
-};
-
-#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
-template <typename T, std::size_t sz>
-struct is_pod_impl<T[sz]>
- : public is_pod_impl<T>
-{
-};
-#endif
-
-#else
-
-template <bool is_array = false>
-struct is_pod_helper
-{
- template <typename T> struct result_
- {
- BOOST_STATIC_CONSTANT(
- bool, value =
- (::boost::type_traits::ice_or<
- ::boost::is_scalar<T>::value,
- ::boost::is_void<T>::value,
- BOOST_INTERNAL_IS_POD(T)
- >::value));
- };
-};
-
-template <bool b>
-struct bool_to_yes_no_type
-{
- typedef ::boost::type_traits::no_type type;
-};
-
-template <>
-struct bool_to_yes_no_type<true>
-{
- typedef ::boost::type_traits::yes_type type;
-};
-
-template <typename ArrayType>
-struct is_pod_array_helper
-{
- enum { is_pod = ::boost::is_POD<ArrayType>::value }; // MSVC workaround
- typedef typename bool_to_yes_no_type<is_pod>::type type;
- type instance() const;
-};
-
-template <typename T>
-is_pod_array_helper<T> is_POD_array(T*);
-
-template <>
-struct is_pod_helper<true>
-{
- template <typename T> struct result_
- {
- static T& help();
- BOOST_STATIC_CONSTANT(bool, value =
- sizeof(is_POD_array(help()).instance()) == sizeof(::boost::type_traits::yes_type)
- );
- };
-};
-
-
-template <typename T> struct is_pod_impl
-{
- BOOST_STATIC_CONSTANT(
- bool, value = (
- ::boost::detail::is_pod_helper<
- ::boost::is_array<T>::value
- >::template result_<T>::value
- )
- );
-};
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-// the following help compilers without partial specialization support:
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,void,true)
-
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,void const,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,void volatile,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,void const volatile,true)
-#endif
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_pod,T,::boost::detail::is_pod_impl<T>::value)
-// is_POD is the old depricated name for this trait, do not use this as it may
-// be removed in future without warning!!
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_POD,T,::boost::is_pod<T>::value)
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#undef BOOST_INTERNAL_IS_POD
-
-#endif // BOOST_TT_IS_POD_HPP_INCLUDED
diff --git a/boost/type_traits/is_pointer.hpp b/boost/type_traits/is_pointer.hpp
deleted file mode 100644
index 4e29bb3..0000000
--- a/boost/type_traits/is_pointer.hpp
+++ /dev/null
@@ -1,162 +0,0 @@
-
-// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes,
-// Howard Hinnant and John Maddock 2000.
-// (C) Copyright Mat Marcus, Jesse Jones and Adobe Systems Inc 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/libs/type_traits for most recent version including documentation.
-
-// Fixed is_pointer, is_reference, is_const, is_volatile, is_same,
-// is_member_pointer based on the Simulated Partial Specialization work
-// of Mat Marcus and Jesse Jones. See http://opensource.adobe.com or
-// http://groups.yahoo.com/group/boost/message/5441
-// Some workarounds in here use ideas suggested from "Generic<Programming>:
-// Mappings between Types and Values"
-// by Andrei Alexandrescu (see http://www.cuj.com/experts/1810/alexandr.html).
-
-
-#ifndef BOOST_TT_IS_POINTER_HPP_INCLUDED
-#define BOOST_TT_IS_POINTER_HPP_INCLUDED
-
-#include <boost/type_traits/is_member_pointer.hpp>
-#include <boost/type_traits/detail/ice_and.hpp>
-#include <boost/type_traits/detail/ice_not.hpp>
-#include <boost/type_traits/config.hpp>
-#if !BOOST_WORKAROUND(BOOST_MSVC,<=1300)
-#include <boost/type_traits/remove_cv.hpp>
-#endif
-
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-# include <boost/type_traits/is_reference.hpp>
-# include <boost/type_traits/is_array.hpp>
-# include <boost/type_traits/detail/is_function_ptr_tester.hpp>
-# include <boost/type_traits/detail/false_result.hpp>
-# include <boost/type_traits/detail/ice_or.hpp>
-#endif
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-#if defined( __CODEGEARC__ )
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_pointer,T,__is_pointer(T))
-#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-namespace detail {
-
-template< typename T > struct is_pointer_helper
-{
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-# define TT_AUX_BOOL_TRAIT_HELPER_PARTIAL_SPEC(helper,sp,result) \
-template< typename T > struct helper<sp> \
-{ \
- BOOST_STATIC_CONSTANT(bool, value = result); \
-}; \
-/**/
-
-TT_AUX_BOOL_TRAIT_HELPER_PARTIAL_SPEC(is_pointer_helper,T*,true)
-
-# undef TT_AUX_BOOL_TRAIT_HELPER_PARTIAL_SPEC
-
-template< typename T >
-struct is_pointer_impl
-{
-#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)
- BOOST_STATIC_CONSTANT(bool, value =
- (::boost::type_traits::ice_and<
- ::boost::detail::is_pointer_helper<T>::value
- , ::boost::type_traits::ice_not<
- ::boost::is_member_pointer<T>::value
- >::value
- >::value)
- );
-#else
- BOOST_STATIC_CONSTANT(bool, value =
- (::boost::type_traits::ice_and<
- ::boost::detail::is_pointer_helper<typename remove_cv<T>::type>::value
- , ::boost::type_traits::ice_not<
- ::boost::is_member_pointer<T>::value
- >::value
- >::value)
- );
-#endif
-};
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_pointer,T,::boost::detail::is_pointer_impl<T>::value)
-
-#if defined(__BORLANDC__) && !defined(__COMO__) && (__BORLANDC__ < 0x600)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_pointer,T&,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_pointer,T& const,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_pointer,T& volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_pointer,T& const volatile,false)
-#endif
-
-#else // no partial template specialization
-
-namespace detail {
-
-struct pointer_helper
-{
- pointer_helper(const volatile void*);
-};
-
-yes_type BOOST_TT_DECL is_pointer_tester(pointer_helper);
-no_type BOOST_TT_DECL is_pointer_tester(...);
-
-template <bool>
-struct is_pointer_select
- : public ::boost::type_traits::false_result
-{
-};
-
-template <>
-struct is_pointer_select<false>
-{
- template <typename T> struct result_
- {
- static T& make_t();
- BOOST_STATIC_CONSTANT(bool, value =
- (::boost::type_traits::ice_or<
- (1 == sizeof(is_pointer_tester(make_t()))),
- (1 == sizeof(type_traits::is_function_ptr_tester(make_t())))
- >::value));
- };
-};
-
-template <typename T>
-struct is_pointer_impl
- : public is_pointer_select<
- ::boost::type_traits::ice_or<
- ::boost::is_reference<T>::value
- , ::boost::is_array<T>::value
- >::value
- >::template result_<T>
-{
-};
-
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pointer,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pointer,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pointer,void volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pointer,void const volatile,false)
-#endif
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_pointer,T,::boost::detail::is_pointer_impl<T>::value)
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_POINTER_HPP_INCLUDED
diff --git a/boost/type_traits/is_polymorphic.hpp b/boost/type_traits/is_polymorphic.hpp
deleted file mode 100644
index 8fcc69e..0000000
--- a/boost/type_traits/is_polymorphic.hpp
+++ /dev/null
@@ -1,114 +0,0 @@
-// (C) Copyright John Maddock 2000.
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_IS_POLYMORPHIC_HPP
-#define BOOST_TT_IS_POLYMORPHIC_HPP
-
-#include <boost/type_traits/intrinsics.hpp>
-#ifndef BOOST_IS_POLYMORPHIC
-#include <boost/type_traits/is_class.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#endif
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-#include <boost/detail/workaround.hpp>
-
-namespace boost{
-
-#ifndef BOOST_IS_POLYMORPHIC
-
-namespace detail{
-
-template <class T>
-struct is_polymorphic_imp1
-{
-# if BOOST_WORKAROUND(__MWERKS__, <= 0x2407) // CWPro7 should return false always.
- typedef char d1, (&d2)[2];
-# else
- typedef typename remove_cv<T>::type ncvT;
- struct d1 : public ncvT
- {
- d1();
-# if !defined(__GNUC__) // this raises warnings with some classes, and buys nothing with GCC
- ~d1()throw();
-# endif
- char padding[256];
- private:
- // keep some picky compilers happy:
- d1(const d1&);
- d1& operator=(const d1&);
- };
- struct d2 : public ncvT
- {
- d2();
- virtual ~d2()throw();
-# if !defined(BOOST_MSVC) && !defined(__ICL)
- // for some reason this messes up VC++ when T has virtual bases,
- // probably likewise for compilers that use the same ABI:
- struct unique{};
- virtual void unique_name_to_boost5487629(unique*);
-# endif
- char padding[256];
- private:
- // keep some picky compilers happy:
- d2(const d2&);
- d2& operator=(const d2&);
- };
-# endif
- BOOST_STATIC_CONSTANT(bool, value = (sizeof(d2) == sizeof(d1)));
-};
-
-template <class T>
-struct is_polymorphic_imp2
-{
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template <bool is_class>
-struct is_polymorphic_selector
-{
- template <class T>
- struct rebind
- {
- typedef is_polymorphic_imp2<T> type;
- };
-};
-
-template <>
-struct is_polymorphic_selector<true>
-{
- template <class T>
- struct rebind
- {
- typedef is_polymorphic_imp1<T> type;
- };
-};
-
-template <class T>
-struct is_polymorphic_imp
-{
- typedef is_polymorphic_selector< ::boost::is_class<T>::value> selector;
- typedef typename selector::template rebind<T> binder;
- typedef typename binder::type imp_type;
- BOOST_STATIC_CONSTANT(bool, value = imp_type::value);
-};
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_polymorphic,T,::boost::detail::is_polymorphic_imp<T>::value)
-
-#else // BOOST_IS_POLYMORPHIC
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_polymorphic,T,BOOST_IS_POLYMORPHIC(T))
-
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif
diff --git a/boost/type_traits/is_reference.hpp b/boost/type_traits/is_reference.hpp
deleted file mode 100644
index 49b5f9f..0000000
--- a/boost/type_traits/is_reference.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-
-// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes,
-// Howard Hinnant and John Maddock 2000, 2010.
-// (C) Copyright Mat Marcus, Jesse Jones and Adobe Systems Inc 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_IS_REFERENCE_HPP_INCLUDED
-#define BOOST_TT_IS_REFERENCE_HPP_INCLUDED
-
-#include <boost/type_traits/config.hpp>
-#include <boost/type_traits/is_lvalue_reference.hpp>
-#include <boost/type_traits/is_rvalue_reference.hpp>
-#include <boost/type_traits/ice.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-namespace detail {
-
-template <typename T>
-struct is_reference_impl
-{
- BOOST_STATIC_CONSTANT(bool, value =
- (::boost::type_traits::ice_or<
- ::boost::is_lvalue_reference<T>::value, ::boost::is_rvalue_reference<T>::value
- >::value));
-};
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_reference,T,::boost::detail::is_reference_impl<T>::value)
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_REFERENCE_HPP_INCLUDED
-
diff --git a/boost/type_traits/is_rvalue_reference.hpp b/boost/type_traits/is_rvalue_reference.hpp
deleted file mode 100644
index 93cd0bf..0000000
--- a/boost/type_traits/is_rvalue_reference.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-
-// (C) 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).
-//
-// See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_IS_RVALUE_REFERENCE_HPP_INCLUDED
-#define BOOST_TT_IS_RVALUE_REFERENCE_HPP_INCLUDED
-
-#include <boost/type_traits/config.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_rvalue_reference,T,false)
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_rvalue_reference,T&&,true)
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_REFERENCE_HPP_INCLUDED
-
diff --git a/boost/type_traits/is_same.hpp b/boost/type_traits/is_same.hpp
deleted file mode 100644
index c6afbd7..0000000
--- a/boost/type_traits/is_same.hpp
+++ /dev/null
@@ -1,103 +0,0 @@
-
-// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes,
-// Howard Hinnant and John Maddock 2000.
-// (C) Copyright Mat Marcus, Jesse Jones and Adobe Systems Inc 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/libs/type_traits for most recent version including documentation.
-
-// Fixed is_pointer, is_reference, is_const, is_volatile, is_same,
-// is_member_pointer based on the Simulated Partial Specialization work
-// of Mat Marcus and Jesse Jones. See http://opensource.adobe.com or
-// http://groups.yahoo.com/group/boost/message/5441
-// Some workarounds in here use ideas suggested from "Generic<Programming>:
-// Mappings between Types and Values"
-// by Andrei Alexandrescu (see http://www.cuj.com/experts/1810/alexandr.html).
-
-
-#ifndef BOOST_TT_IS_SAME_HPP_INCLUDED
-#define BOOST_TT_IS_SAME_HPP_INCLUDED
-
-#include <boost/type_traits/config.hpp>
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-#include <boost/type_traits/detail/yes_no_type.hpp>
-#include <boost/type_traits/detail/ice_and.hpp>
-#include <boost/type_traits/is_reference.hpp>
-#endif
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF2(is_same,T,U,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(typename T,is_same,T,T,true)
-#if BOOST_WORKAROUND(__BORLANDC__, < 0x600)
-// without this, Borland's compiler gives the wrong answer for
-// references to arrays:
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(typename T,is_same,T&,T&,true)
-#endif
-
-#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-namespace detail {
-
-#ifdef BOOST_MSVC
-// the following VC6 specific implementation is *NOT* legal
-// C++, but has the advantage that it works for incomplete
-// types.
-
-template< typename T1 >
-struct is_same_part_1
-{
- template<typename T2> struct part_2 { enum { value = false }; };
- template<> struct part_2<T1> { enum { value = true }; };
-};
-
-template< typename T1, typename T2 >
-struct is_same_impl
-{
- enum { value = boost::detail::is_same_part_1<T1>::template part_2<T2>::value };
-};
-
-#else // generic "no-partial-specialization" version
-
-template <typename T>
-::boost::type_traits::yes_type
-BOOST_TT_DECL is_same_tester(T*, T*);
-
-::boost::type_traits::no_type
-BOOST_TT_DECL is_same_tester(...);
-
-template <typename T, typename U>
-struct is_same_impl
-{
- static T t;
- static U u;
-
- BOOST_STATIC_CONSTANT(bool, value =
- (::boost::type_traits::ice_and<
- (sizeof(type_traits::yes_type) == sizeof(boost::detail::is_same_tester(&t,&u))),
- (::boost::is_reference<T>::value == ::boost::is_reference<U>::value),
- (sizeof(T) == sizeof(U))
- >::value));
-};
-
-#endif // BOOST_MSVC
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF2(is_same,T,U,(::boost::detail::is_same_impl<T,U>::value))
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_SAME_HPP_INCLUDED
-
diff --git a/boost/type_traits/is_scalar.hpp b/boost/type_traits/is_scalar.hpp
deleted file mode 100644
index 4af3def..0000000
--- a/boost/type_traits/is_scalar.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-
-// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_IS_SCALAR_HPP_INCLUDED
-#define BOOST_TT_IS_SCALAR_HPP_INCLUDED
-
-#include <boost/type_traits/is_arithmetic.hpp>
-#include <boost/type_traits/is_enum.hpp>
-#include <boost/type_traits/is_pointer.hpp>
-#include <boost/type_traits/is_member_pointer.hpp>
-#include <boost/type_traits/detail/ice_or.hpp>
-#include <boost/config.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-namespace detail {
-
-template <typename T>
-struct is_scalar_impl
-{
- BOOST_STATIC_CONSTANT(bool, value =
- (::boost::type_traits::ice_or<
- ::boost::is_arithmetic<T>::value,
- ::boost::is_enum<T>::value,
- ::boost::is_pointer<T>::value,
- ::boost::is_member_pointer<T>::value
- >::value));
-};
-
-// these specializations are only really needed for compilers
-// without partial specialization support:
-template <> struct is_scalar_impl<void>{ BOOST_STATIC_CONSTANT(bool, value = false ); };
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-template <> struct is_scalar_impl<void const>{ BOOST_STATIC_CONSTANT(bool, value = false ); };
-template <> struct is_scalar_impl<void volatile>{ BOOST_STATIC_CONSTANT(bool, value = false ); };
-template <> struct is_scalar_impl<void const volatile>{ BOOST_STATIC_CONSTANT(bool, value = false ); };
-#endif
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_scalar,T,::boost::detail::is_scalar_impl<T>::value)
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_SCALAR_HPP_INCLUDED
diff --git a/boost/type_traits/is_signed.hpp b/boost/type_traits/is_signed.hpp
deleted file mode 100644
index ba7d6e9..0000000
--- a/boost/type_traits/is_signed.hpp
+++ /dev/null
@@ -1,140 +0,0 @@
-
-// (C) Copyright John Maddock 2005.
-// 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/libs/type_traits for most recent version including documentation.
-
-
-#ifndef BOOST_TT_IS_SIGNED_HPP_INCLUDED
-#define BOOST_TT_IS_SIGNED_HPP_INCLUDED
-
-#include <boost/type_traits/is_integral.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/type_traits/is_enum.hpp>
-#include <boost/type_traits/detail/ice_or.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-#if !defined( __CODEGEARC__ )
-
-namespace detail{
-
-#if !(defined(__EDG_VERSION__) && __EDG_VERSION__ <= 238) && !defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION)
-
-template <class T>
-struct is_signed_values
-{
- //
- // Note that we cannot use BOOST_STATIC_CONSTANT here, using enum's
- // rather than "real" static constants simply doesn't work or give
- // the correct answer.
- //
- typedef typename remove_cv<T>::type no_cv_t;
- static const no_cv_t minus_one = (static_cast<no_cv_t>(-1));
- static const no_cv_t zero = (static_cast<no_cv_t>(0));
-};
-
-template <class T>
-struct is_signed_helper
-{
- typedef typename remove_cv<T>::type no_cv_t;
- BOOST_STATIC_CONSTANT(bool, value = (!(::boost::detail::is_signed_values<T>::minus_one > boost::detail::is_signed_values<T>::zero)));
-};
-
-template <bool integral_type>
-struct is_signed_select_helper
-{
- template <class T>
- struct rebind
- {
- typedef is_signed_helper<T> type;
- };
-};
-
-template <>
-struct is_signed_select_helper<false>
-{
- template <class T>
- struct rebind
- {
- typedef false_type type;
- };
-};
-
-template <class T>
-struct is_signed_imp
-{
- typedef is_signed_select_helper<
- ::boost::type_traits::ice_or<
- ::boost::is_integral<T>::value,
- ::boost::is_enum<T>::value>::value
- > selector;
- typedef typename selector::template rebind<T> binder;
- typedef typename binder::type type;
-#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
- BOOST_STATIC_CONSTANT(bool, value = is_signed_imp<T>::type::value);
-#else
- BOOST_STATIC_CONSTANT(bool, value = type::value);
-#endif
-};
-
-#else
-
-template <class T> struct is_signed_imp : public false_type{};
-template <> struct is_signed_imp<signed char> : public true_type{};
-template <> struct is_signed_imp<const signed char> : public true_type{};
-template <> struct is_signed_imp<volatile signed char> : public true_type{};
-template <> struct is_signed_imp<const volatile signed char> : public true_type{};
-template <> struct is_signed_imp<short> : public true_type{};
-template <> struct is_signed_imp<const short> : public true_type{};
-template <> struct is_signed_imp<volatile short> : public true_type{};
-template <> struct is_signed_imp<const volatile short> : public true_type{};
-template <> struct is_signed_imp<int> : public true_type{};
-template <> struct is_signed_imp<const int> : public true_type{};
-template <> struct is_signed_imp<volatile int> : public true_type{};
-template <> struct is_signed_imp<const volatile int> : public true_type{};
-template <> struct is_signed_imp<long> : public true_type{};
-template <> struct is_signed_imp<const long> : public true_type{};
-template <> struct is_signed_imp<volatile long> : public true_type{};
-template <> struct is_signed_imp<const volatile long> : public true_type{};
-#ifdef BOOST_HAS_LONG_LONG
-template <> struct is_signed_imp<long long> : public true_type{};
-template <> struct is_signed_imp<const long long> : public true_type{};
-template <> struct is_signed_imp<volatile long long> : public true_type{};
-template <> struct is_signed_imp<const volatile long long> : public true_type{};
-#endif
-#if defined(CHAR_MIN) && (CHAR_MIN != 0)
-template <> struct is_signed_imp<char> : public true_type{};
-template <> struct is_signed_imp<const char> : public true_type{};
-template <> struct is_signed_imp<volatile char> : public true_type{};
-template <> struct is_signed_imp<const volatile char> : public true_type{};
-#endif
-#if defined(WCHAR_MIN) && (WCHAR_MIN != 0)
-template <> struct is_signed_imp<wchar_t> : public true_type{};
-template <> struct is_signed_imp<const wchar_t> : public true_type{};
-template <> struct is_signed_imp<volatile wchar_t> : public true_type{};
-template <> struct is_signed_imp<const volatile wchar_t> : public true_type{};
-#endif
-
-#endif
-
-}
-
-#endif // !defined( __CODEGEARC__ )
-
-#if defined( __CODEGEARC__ )
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_signed,T,__is_signed(T))
-#else
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_signed,T,::boost::detail::is_signed_imp<T>::value)
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
diff --git a/boost/type_traits/is_stateless.hpp b/boost/type_traits/is_stateless.hpp
deleted file mode 100644
index d8d4063..0000000
--- a/boost/type_traits/is_stateless.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-
-// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_IS_STATELESS_HPP_INCLUDED
-#define BOOST_TT_IS_STATELESS_HPP_INCLUDED
-
-#include <boost/type_traits/has_trivial_constructor.hpp>
-#include <boost/type_traits/has_trivial_copy.hpp>
-#include <boost/type_traits/has_trivial_destructor.hpp>
-#include <boost/type_traits/is_class.hpp>
-#include <boost/type_traits/is_empty.hpp>
-#include <boost/type_traits/detail/ice_and.hpp>
-#include <boost/config.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-namespace detail {
-
-template <typename T>
-struct is_stateless_impl
-{
- BOOST_STATIC_CONSTANT(bool, value =
- (::boost::type_traits::ice_and<
- ::boost::has_trivial_constructor<T>::value,
- ::boost::has_trivial_copy<T>::value,
- ::boost::has_trivial_destructor<T>::value,
- ::boost::is_class<T>::value,
- ::boost::is_empty<T>::value
- >::value));
-};
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_stateless,T,::boost::detail::is_stateless_impl<T>::value)
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_STATELESS_HPP_INCLUDED
diff --git a/boost/type_traits/is_union.hpp b/boost/type_traits/is_union.hpp
deleted file mode 100644
index 610f162..0000000
--- a/boost/type_traits/is_union.hpp
+++ /dev/null
@@ -1,57 +0,0 @@
-
-// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard
-// Hinnant & John Maddock 2000.
-// 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/libs/type_traits for most recent version including documentation.
-
-
-#ifndef BOOST_TT_IS_UNION_HPP_INCLUDED
-#define BOOST_TT_IS_UNION_HPP_INCLUDED
-
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/type_traits/config.hpp>
-#include <boost/type_traits/intrinsics.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-namespace detail {
-#ifndef __GNUC__
-template <typename T> struct is_union_impl
-{
- typedef typename remove_cv<T>::type cvt;
-#ifdef BOOST_IS_UNION
- BOOST_STATIC_CONSTANT(bool, value = BOOST_IS_UNION(cvt));
-#else
- BOOST_STATIC_CONSTANT(bool, value = false);
-#endif
-};
-#else
-//
-// using remove_cv here generates a whole load of needless
-// warnings with gcc, since it doesn't do any good with gcc
-// in any case (at least at present), just remove it:
-//
-template <typename T> struct is_union_impl
-{
-#ifdef BOOST_IS_UNION
- BOOST_STATIC_CONSTANT(bool, value = BOOST_IS_UNION(T));
-#else
- BOOST_STATIC_CONSTANT(bool, value = false);
-#endif
-};
-#endif
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_union,T,::boost::detail::is_union_impl<T>::value)
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_UNION_HPP_INCLUDED
diff --git a/boost/type_traits/is_unsigned.hpp b/boost/type_traits/is_unsigned.hpp
deleted file mode 100644
index 0602838..0000000
--- a/boost/type_traits/is_unsigned.hpp
+++ /dev/null
@@ -1,135 +0,0 @@
-
-// (C) Copyright John Maddock 2005.
-// 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/libs/type_traits for most recent version including documentation.
-
-
-#ifndef BOOST_TT_IS_UNSIGNED_HPP_INCLUDED
-#define BOOST_TT_IS_UNSIGNED_HPP_INCLUDED
-
-#include <boost/type_traits/is_integral.hpp>
-#include <boost/type_traits/is_enum.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/type_traits/detail/ice_or.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-#if !defined( __CODEGEARC__ )
-
-namespace detail{
-
-#if !(defined(__EDG_VERSION__) && __EDG_VERSION__ <= 238) && !defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION)
-
-template <class T>
-struct is_unsigned_values
-{
- //
- // Note that we cannot use BOOST_STATIC_CONSTANT here, using enum's
- // rather than "real" static constants simply doesn't work or give
- // the correct answer.
- //
- typedef typename remove_cv<T>::type no_cv_t;
- static const no_cv_t minus_one = (static_cast<no_cv_t>(-1));
- static const no_cv_t zero = (static_cast<no_cv_t>(0));
-};
-
-template <class T>
-struct is_ununsigned_helper
-{
- BOOST_STATIC_CONSTANT(bool, value = (::boost::detail::is_unsigned_values<T>::minus_one > ::boost::detail::is_unsigned_values<T>::zero));
-};
-
-template <bool integral_type>
-struct is_ununsigned_select_helper
-{
- template <class T>
- struct rebind
- {
- typedef is_ununsigned_helper<T> type;
- };
-};
-
-template <>
-struct is_ununsigned_select_helper<false>
-{
- template <class T>
- struct rebind
- {
- typedef false_type type;
- };
-};
-
-template <class T>
-struct is_unsigned_imp
-{
- typedef is_ununsigned_select_helper<
- ::boost::type_traits::ice_or<
- ::boost::is_integral<T>::value,
- ::boost::is_enum<T>::value>::value
- > selector;
- typedef typename selector::template rebind<T> binder;
- typedef typename binder::type type;
- BOOST_STATIC_CONSTANT(bool, value = type::value);
-};
-
-#else
-
-template <class T> struct is_unsigned_imp : public false_type{};
-template <> struct is_unsigned_imp<unsigned char> : public true_type{};
-template <> struct is_unsigned_imp<const unsigned char> : public true_type{};
-template <> struct is_unsigned_imp<volatile unsigned char> : public true_type{};
-template <> struct is_unsigned_imp<const volatile unsigned char> : public true_type{};
-template <> struct is_unsigned_imp<unsigned short> : public true_type{};
-template <> struct is_unsigned_imp<const unsigned short> : public true_type{};
-template <> struct is_unsigned_imp<volatile unsigned short> : public true_type{};
-template <> struct is_unsigned_imp<const volatile unsigned short> : public true_type{};
-template <> struct is_unsigned_imp<unsigned int> : public true_type{};
-template <> struct is_unsigned_imp<const unsigned int> : public true_type{};
-template <> struct is_unsigned_imp<volatile unsigned int> : public true_type{};
-template <> struct is_unsigned_imp<const volatile unsigned int> : public true_type{};
-template <> struct is_unsigned_imp<unsigned long> : public true_type{};
-template <> struct is_unsigned_imp<const unsigned long> : public true_type{};
-template <> struct is_unsigned_imp<volatile unsigned long> : public true_type{};
-template <> struct is_unsigned_imp<const volatile unsigned long> : public true_type{};
-#ifdef BOOST_HAS_LONG_LONG
-template <> struct is_unsigned_imp<unsigned long long> : public true_type{};
-template <> struct is_unsigned_imp<const unsigned long long> : public true_type{};
-template <> struct is_unsigned_imp<volatile unsigned long long> : public true_type{};
-template <> struct is_unsigned_imp<const volatile unsigned long long> : public true_type{};
-#endif
-#if defined(CHAR_MIN) && (CHAR_MIN == 0)
-template <> struct is_unsigned_imp<char> : public true_type{};
-template <> struct is_unsigned_imp<const char> : public true_type{};
-template <> struct is_unsigned_imp<volatile char> : public true_type{};
-template <> struct is_unsigned_imp<const volatile char> : public true_type{};
-#endif
-#if defined(WCHAR_MIN) && (WCHAR_MIN == 0) && !defined(BOOST_NO_INTRINSIC_WCHAR_T)
-template <> struct is_unsigned_imp<wchar_t> : public true_type{};
-template <> struct is_unsigned_imp<const wchar_t> : public true_type{};
-template <> struct is_unsigned_imp<volatile wchar_t> : public true_type{};
-template <> struct is_unsigned_imp<const volatile wchar_t> : public true_type{};
-#endif
-
-#endif
-
-}
-
-#endif // !defined( __CODEGEARC__ )
-
-#if defined( __CODEGEARC__ )
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_unsigned,T,__is_unsigned(T))
-#else
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_unsigned,T,::boost::detail::is_unsigned_imp<T>::value)
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
diff --git a/boost/type_traits/is_virtual_base_of.hpp b/boost/type_traits/is_virtual_base_of.hpp
deleted file mode 100644
index f57cb61..0000000
--- a/boost/type_traits/is_virtual_base_of.hpp
+++ /dev/null
@@ -1,104 +0,0 @@
-// (C) Copyright Daniel Frey and Robert Ramey 2009.
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_IS_VIRTUAL_BASE_OF_HPP_INCLUDED
-#define BOOST_TT_IS_VIRTUAL_BASE_OF_HPP_INCLUDED
-
-#include <boost/type_traits/is_base_of.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/not.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-namespace detail {
-
-
-#ifdef BOOST_MSVC
-#pragma warning( push )
-#pragma warning( disable : 4584 4250)
-#elif defined(__GNUC__) && (__GNUC__ >= 4)
-#pragma GCC system_header
-#endif
-
-template<typename Base, typename Derived, typename tag>
-struct is_virtual_base_of_impl
-{
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template<typename Base, typename Derived>
-struct is_virtual_base_of_impl<Base, Derived, mpl::true_>
-{
-#ifdef __BORLANDC__
- struct boost_type_traits_internal_struct_X : public virtual Derived, public virtual Base
- {
- boost_type_traits_internal_struct_X();
- boost_type_traits_internal_struct_X(const boost_type_traits_internal_struct_X&);
- boost_type_traits_internal_struct_X& operator=(const boost_type_traits_internal_struct_X&);
- ~boost_type_traits_internal_struct_X()throw();
- };
- struct boost_type_traits_internal_struct_Y : public virtual Derived
- {
- boost_type_traits_internal_struct_Y();
- boost_type_traits_internal_struct_Y(const boost_type_traits_internal_struct_Y&);
- boost_type_traits_internal_struct_Y& operator=(const boost_type_traits_internal_struct_Y&);
- ~boost_type_traits_internal_struct_Y()throw();
- };
-#else
- struct boost_type_traits_internal_struct_X : public Derived, virtual Base
- {
- boost_type_traits_internal_struct_X();
- boost_type_traits_internal_struct_X(const boost_type_traits_internal_struct_X&);
- boost_type_traits_internal_struct_X& operator=(const boost_type_traits_internal_struct_X&);
- ~boost_type_traits_internal_struct_X()throw();
- };
- struct boost_type_traits_internal_struct_Y : public Derived
- {
- boost_type_traits_internal_struct_Y();
- boost_type_traits_internal_struct_Y(const boost_type_traits_internal_struct_Y&);
- boost_type_traits_internal_struct_Y& operator=(const boost_type_traits_internal_struct_Y&);
- ~boost_type_traits_internal_struct_Y()throw();
- };
-#endif
- BOOST_STATIC_CONSTANT(bool, value = (sizeof(boost_type_traits_internal_struct_X)==sizeof(boost_type_traits_internal_struct_Y)));
-};
-
-template<typename Base, typename Derived>
-struct is_virtual_base_of_impl2
-{
- typedef typename mpl::and_<is_base_of<Base, Derived>, mpl::not_<is_same<Base, Derived> > >::type tag_type;
- typedef is_virtual_base_of_impl<Base, Derived, tag_type> imp;
- BOOST_STATIC_CONSTANT(bool, value = imp::value);
-};
-
-#ifdef BOOST_MSVC
-#pragma warning( pop )
-#endif
-
-} // namespace detail
-
-BOOST_TT_AUX_BOOL_TRAIT_DEF2(
- is_virtual_base_of
- , Base
- , Derived
- , (::boost::detail::is_virtual_base_of_impl2<Base,Derived>::value)
-)
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_virtual_base_of,Base&,Derived,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_virtual_base_of,Base,Derived&,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_virtual_base_of,Base&,Derived&,false)
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif
diff --git a/boost/type_traits/is_void.hpp b/boost/type_traits/is_void.hpp
deleted file mode 100644
index 6f6fbff..0000000
--- a/boost/type_traits/is_void.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-
-// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_IS_VOID_HPP_INCLUDED
-#define BOOST_TT_IS_VOID_HPP_INCLUDED
-
-#include <boost/config.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-//* is a type T void - is_void<T>
-#if defined( __CODEGEARC__ )
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_void,T,__is_void(T))
-#else
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_void,T,false)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_void,void,true)
-
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_void,void const,true)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_void,void volatile,true)
-BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_void,void const volatile,true)
-#endif
-
-#endif // non-CodeGear implementation
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_VOID_HPP_INCLUDED
diff --git a/boost/type_traits/is_volatile.hpp b/boost/type_traits/is_volatile.hpp
deleted file mode 100644
index c921c9e..0000000
--- a/boost/type_traits/is_volatile.hpp
+++ /dev/null
@@ -1,152 +0,0 @@
-
-// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes,
-// Howard Hinnant and John Maddock 2000.
-// (C) Copyright Mat Marcus, Jesse Jones and Adobe Systems Inc 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/libs/type_traits for most recent version including documentation.
-
-// Fixed is_pointer, is_reference, is_const, is_volatile, is_same,
-// is_member_pointer based on the Simulated Partial Specialization work
-// of Mat Marcus and Jesse Jones. See http://opensource.adobe.com or
-// http://groups.yahoo.com/group/boost/message/5441
-// Some workarounds in here use ideas suggested from "Generic<Programming>:
-// Mappings between Types and Values"
-// by Andrei Alexandrescu (see http://www.cuj.com/experts/1810/alexandr.html).
-
-
-#ifndef BOOST_TT_IS_VOLATILE_HPP_INCLUDED
-#define BOOST_TT_IS_VOLATILE_HPP_INCLUDED
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-# include <boost/type_traits/detail/cv_traits_impl.hpp>
-# if BOOST_WORKAROUND(BOOST_MSVC, < 1400)
-# include <boost/type_traits/remove_bounds.hpp>
-# endif
-#else
-# include <boost/type_traits/is_reference.hpp>
-# include <boost/type_traits/is_array.hpp>
-# include <boost/type_traits/detail/yes_no_type.hpp>
-# include <boost/type_traits/detail/false_result.hpp>
-#endif
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-namespace boost {
-
-namespace detail{
-template <class T>
-struct is_volatile_rval_filter
-{
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1400)
- BOOST_STATIC_CONSTANT(bool, value = ::boost::detail::cv_traits_imp<typename boost::remove_bounds<T>::type*>::is_volatile);
-#else
- BOOST_STATIC_CONSTANT(bool, value = ::boost::detail::cv_traits_imp<T*>::is_volatile);
-#endif
-};
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-//
-// We can't filter out rvalue_references at the same level as
-// references or we get ambiguities from msvc:
-//
-template <class T>
-struct is_volatile_rval_filter<T&&>
-{
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-#endif
-}
-
-#if defined( __CODEGEARC__ )
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_volatile,T,__is_volatile(T))
-#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-//* is a type T declared volatile - is_volatile<T>
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_volatile,T,::boost::detail::is_volatile_rval_filter<T>::value)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_volatile,T&,false)
-
-#if defined(BOOST_ILLEGAL_CV_REFERENCES)
-// these are illegal specialisations; cv-qualifies applied to
-// references have no effect according to [8.3.2p1],
-// C++ Builder requires them though as it treats cv-qualified
-// references as distinct types...
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_volatile,T& const,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_volatile,T& volatile,false)
-BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_volatile,T& const volatile,false)
-#endif
-
-#else
-
-namespace detail {
-
-using ::boost::type_traits::yes_type;
-using ::boost::type_traits::no_type;
-
-yes_type is_volatile_tester(void const volatile*);
-no_type is_volatile_tester(void const*);
-
-template <bool is_ref, bool array>
-struct is_volatile_helper
- : public ::boost::type_traits::false_result
-{
-};
-
-template <>
-struct is_volatile_helper<false,false>
-{
- template <typename T> struct result_
- {
- static T* t;
- BOOST_STATIC_CONSTANT(bool, value = (
- sizeof(boost::detail::yes_type) == sizeof(boost::detail::is_volatile_tester(t))
- ));
- };
-};
-
-template <>
-struct is_volatile_helper<false,true>
-{
- template <typename T> struct result_
- {
- static T t;
- BOOST_STATIC_CONSTANT(bool, value = (
- sizeof(boost::detail::yes_type) == sizeof(boost::detail::is_volatile_tester(&t))
- ));
- };
-};
-
-template <typename T>
-struct is_volatile_impl
- : public is_volatile_helper<
- is_reference<T>::value
- , is_array<T>::value
- >::template result_<T>
-{
-};
-
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_volatile,void,false)
-#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_volatile,void const,false)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_volatile,void volatile,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_volatile,void const volatile,true)
-#endif
-
-} // namespace detail
-
-//* is a type T declared volatile - is_volatile<T>
-BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_volatile,T,::boost::detail::is_volatile_impl<T>::value)
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-} // namespace boost
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_VOLATILE_HPP_INCLUDED
diff --git a/boost/type_traits/make_signed.hpp b/boost/type_traits/make_signed.hpp
deleted file mode 100644
index 7deb855..0000000
--- a/boost/type_traits/make_signed.hpp
+++ /dev/null
@@ -1,153 +0,0 @@
-
-// (C) 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).
-//
-// See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_MAKE_SIGNED_HPP_INCLUDED
-#define BOOST_TT_MAKE_SIGNED_HPP_INCLUDED
-
-#include <boost/mpl/if.hpp>
-#include <boost/type_traits/is_integral.hpp>
-#include <boost/type_traits/is_signed.hpp>
-#include <boost/type_traits/is_unsigned.hpp>
-#include <boost/type_traits/is_enum.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/is_volatile.hpp>
-#include <boost/type_traits/add_const.hpp>
-#include <boost/type_traits/add_volatile.hpp>
-#include <boost/type_traits/detail/ice_or.hpp>
-#include <boost/type_traits/detail/ice_and.hpp>
-#include <boost/type_traits/detail/ice_not.hpp>
-#include <boost/static_assert.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/type_trait_def.hpp>
-
-namespace boost {
-
-namespace detail {
-
-template <class T>
-struct make_signed_imp
-{
- BOOST_STATIC_ASSERT(
- (::boost::type_traits::ice_or< ::boost::is_integral<T>::value, ::boost::is_enum<T>::value>::value));
-#if !BOOST_WORKAROUND(BOOST_MSVC, <=1300)
- BOOST_STATIC_ASSERT(
- (::boost::type_traits::ice_not< ::boost::is_same<
- typename remove_cv<T>::type, bool>::value>::value));
-#endif
-
- typedef typename remove_cv<T>::type t_no_cv;
- typedef typename mpl::if_c<
- (::boost::type_traits::ice_and<
- ::boost::is_signed<T>::value,
- ::boost::is_integral<T>::value,
- ::boost::type_traits::ice_not< ::boost::is_same<t_no_cv, char>::value>::value,
- ::boost::type_traits::ice_not< ::boost::is_same<t_no_cv, wchar_t>::value>::value,
- ::boost::type_traits::ice_not< ::boost::is_same<t_no_cv, bool>::value>::value >::value),
- T,
- typename mpl::if_c<
- (::boost::type_traits::ice_and<
- ::boost::is_integral<T>::value,
- ::boost::type_traits::ice_not< ::boost::is_same<t_no_cv, char>::value>::value,
- ::boost::type_traits::ice_not< ::boost::is_same<t_no_cv, wchar_t>::value>::value,
- ::boost::type_traits::ice_not< ::boost::is_same<t_no_cv, bool>::value>::value>
- ::value),
- typename mpl::if_<
- is_same<t_no_cv, unsigned char>,
- signed char,
- typename mpl::if_<
- is_same<t_no_cv, unsigned short>,
- signed short,
- typename mpl::if_<
- is_same<t_no_cv, unsigned int>,
- int,
- typename mpl::if_<
- is_same<t_no_cv, unsigned long>,
- long,
-#if defined(BOOST_HAS_LONG_LONG)
-#ifdef BOOST_HAS_INT128
- typename mpl::if_c<
- sizeof(t_no_cv) == sizeof(boost::long_long_type),
- boost::long_long_type,
- boost::int128_type
- >::type
-#else
- boost::long_long_type
-#endif
-#elif defined(BOOST_HAS_MS_INT64)
- __int64
-#else
- long
-#endif
- >::type
- >::type
- >::type
- >::type,
- // Not a regular integer type:
- typename mpl::if_c<
- sizeof(t_no_cv) == sizeof(unsigned char),
- signed char,
- typename mpl::if_c<
- sizeof(t_no_cv) == sizeof(unsigned short),
- signed short,
- typename mpl::if_c<
- sizeof(t_no_cv) == sizeof(unsigned int),
- int,
- typename mpl::if_c<
- sizeof(t_no_cv) == sizeof(unsigned long),
- long,
-#if defined(BOOST_HAS_LONG_LONG)
-#ifdef BOOST_HAS_INT128
- typename mpl::if_c<
- sizeof(t_no_cv) == sizeof(boost::long_long_type),
- boost::long_long_type,
- boost::int128_type
- >::type
-#else
- boost::long_long_type
-#endif
-#elif defined(BOOST_HAS_MS_INT64)
- __int64
-#else
- long
-#endif
- >::type
- >::type
- >::type
- >::type
- >::type
- >::type base_integer_type;
-
- // Add back any const qualifier:
- typedef typename mpl::if_<
- is_const<T>,
- typename add_const<base_integer_type>::type,
- base_integer_type
- >::type const_base_integer_type;
-
- // Add back any volatile qualifier:
- typedef typename mpl::if_<
- is_volatile<T>,
- typename add_volatile<const_base_integer_type>::type,
- const_base_integer_type
- >::type type;
-};
-
-
-} // namespace detail
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(make_signed,T,typename boost::detail::make_signed_imp<T>::type)
-
-} // namespace boost
-
-#include <boost/type_traits/detail/type_trait_undef.hpp>
-
-#endif // BOOST_TT_ADD_REFERENCE_HPP_INCLUDED
-
diff --git a/boost/type_traits/make_unsigned.hpp b/boost/type_traits/make_unsigned.hpp
deleted file mode 100644
index 7e2fcdc..0000000
--- a/boost/type_traits/make_unsigned.hpp
+++ /dev/null
@@ -1,153 +0,0 @@
-
-// (C) 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).
-//
-// See http://www.boost.org/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_MAKE_UNSIGNED_HPP_INCLUDED
-#define BOOST_TT_MAKE_UNSIGNED_HPP_INCLUDED
-
-#include <boost/mpl/if.hpp>
-#include <boost/type_traits/is_integral.hpp>
-#include <boost/type_traits/is_signed.hpp>
-#include <boost/type_traits/is_unsigned.hpp>
-#include <boost/type_traits/is_enum.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/is_volatile.hpp>
-#include <boost/type_traits/add_const.hpp>
-#include <boost/type_traits/add_volatile.hpp>
-#include <boost/type_traits/detail/ice_or.hpp>
-#include <boost/type_traits/detail/ice_and.hpp>
-#include <boost/type_traits/detail/ice_not.hpp>
-#include <boost/static_assert.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/type_trait_def.hpp>
-
-namespace boost {
-
-namespace detail {
-
-template <class T>
-struct make_unsigned_imp
-{
- BOOST_STATIC_ASSERT(
- (::boost::type_traits::ice_or< ::boost::is_integral<T>::value, ::boost::is_enum<T>::value>::value));
-#if !BOOST_WORKAROUND(BOOST_MSVC, <=1300)
- BOOST_STATIC_ASSERT(
- (::boost::type_traits::ice_not< ::boost::is_same<
- typename remove_cv<T>::type, bool>::value>::value));
-#endif
-
- typedef typename remove_cv<T>::type t_no_cv;
- typedef typename mpl::if_c<
- (::boost::type_traits::ice_and<
- ::boost::is_unsigned<T>::value,
- ::boost::is_integral<T>::value,
- ::boost::type_traits::ice_not< ::boost::is_same<t_no_cv, char>::value>::value,
- ::boost::type_traits::ice_not< ::boost::is_same<t_no_cv, wchar_t>::value>::value,
- ::boost::type_traits::ice_not< ::boost::is_same<t_no_cv, bool>::value>::value >::value),
- T,
- typename mpl::if_c<
- (::boost::type_traits::ice_and<
- ::boost::is_integral<T>::value,
- ::boost::type_traits::ice_not< ::boost::is_same<t_no_cv, char>::value>::value,
- ::boost::type_traits::ice_not< ::boost::is_same<t_no_cv, wchar_t>::value>::value,
- ::boost::type_traits::ice_not< ::boost::is_same<t_no_cv, bool>::value>::value>
- ::value),
- typename mpl::if_<
- is_same<t_no_cv, signed char>,
- unsigned char,
- typename mpl::if_<
- is_same<t_no_cv, short>,
- unsigned short,
- typename mpl::if_<
- is_same<t_no_cv, int>,
- unsigned int,
- typename mpl::if_<
- is_same<t_no_cv, long>,
- unsigned long,
-#if defined(BOOST_HAS_LONG_LONG)
-#ifdef BOOST_HAS_INT128
- typename mpl::if_c<
- sizeof(t_no_cv) == sizeof(boost::ulong_long_type),
- boost::ulong_long_type,
- boost::uint128_type
- >::type
-#else
- boost::ulong_long_type
-#endif
-#elif defined(BOOST_HAS_MS_INT64)
- unsigned __int64
-#else
- unsigned long
-#endif
- >::type
- >::type
- >::type
- >::type,
- // Not a regular integer type:
- typename mpl::if_c<
- sizeof(t_no_cv) == sizeof(unsigned char),
- unsigned char,
- typename mpl::if_c<
- sizeof(t_no_cv) == sizeof(unsigned short),
- unsigned short,
- typename mpl::if_c<
- sizeof(t_no_cv) == sizeof(unsigned int),
- unsigned int,
- typename mpl::if_c<
- sizeof(t_no_cv) == sizeof(unsigned long),
- unsigned long,
-#if defined(BOOST_HAS_LONG_LONG)
-#ifdef BOOST_HAS_INT128
- typename mpl::if_c<
- sizeof(t_no_cv) == sizeof(boost::ulong_long_type),
- boost::ulong_long_type,
- boost::uint128_type
- >::type
-#else
- boost::ulong_long_type
-#endif
-#elif defined(BOOST_HAS_MS_INT64)
- unsigned __int64
-#else
- unsigned long
-#endif
- >::type
- >::type
- >::type
- >::type
- >::type
- >::type base_integer_type;
-
- // Add back any const qualifier:
- typedef typename mpl::if_<
- is_const<T>,
- typename add_const<base_integer_type>::type,
- base_integer_type
- >::type const_base_integer_type;
-
- // Add back any volatile qualifier:
- typedef typename mpl::if_<
- is_volatile<T>,
- typename add_volatile<const_base_integer_type>::type,
- const_base_integer_type
- >::type type;
-};
-
-
-} // namespace detail
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(make_unsigned,T,typename boost::detail::make_unsigned_imp<T>::type)
-
-} // namespace boost
-
-#include <boost/type_traits/detail/type_trait_undef.hpp>
-
-#endif // BOOST_TT_ADD_REFERENCE_HPP_INCLUDED
-
diff --git a/boost/type_traits/msvc/remove_all_extents.hpp b/boost/type_traits/msvc/remove_all_extents.hpp
deleted file mode 100644
index 25c0edf..0000000
--- a/boost/type_traits/msvc/remove_all_extents.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright (C) 2004 Peder Holt
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPE_TRAITS_MSVC_REMOVE_ALL_EXTENT_HOLT_2004_0827
-#define BOOST_TYPE_TRAITS_MSVC_REMOVE_ALL_EXTENT_HOLT_2004_0827
-
-#include <boost/type_traits/msvc/typeof.hpp>
-#include <boost/type_traits/is_array.hpp>
-
-namespace boost {
- template<typename T>
- struct remove_all_extents;
-
- namespace detail {
- template<bool IsArray>
- struct remove_all_extents_impl_typeof {
- template<typename T,typename ID>
- struct inner {
- typedef T type;
- };
- };
- template<>
- struct remove_all_extents_impl_typeof<true> {
- template<typename T,typename ID>
- struct inner {
- template<typename U>
- static msvc_register_type<U,ID> test(U[]);
- static msvc_register_type<T,ID> test(...);
- BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( *((T*)NULL) ) ));
- typedef typename msvc_extract_type<ID>::id2type::type reduced_type;
- typedef typename remove_all_extents<reduced_type>::type type;
- };
- };
- } //namespace detail
-
- template<typename T>
- struct remove_all_extents {
- typedef typename boost::detail::remove_all_extents_impl_typeof<
- boost::is_array<T>::value
- >::template inner<T,remove_all_extents<T> >::type type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_all_extents,T)
- };
-} //namespace boost
-
-#endif //BOOST_TYPE_TRAITS_MSVC_REMOVE_BOUNDS_HOLT_2004_0827
-
diff --git a/boost/type_traits/msvc/remove_bounds.hpp b/boost/type_traits/msvc/remove_bounds.hpp
deleted file mode 100644
index 4b23b35..0000000
--- a/boost/type_traits/msvc/remove_bounds.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright (C) 2004 Peder Holt
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPE_TRAITS_MSVC_REMOVE_BOUNDS_HOLT_2004_0827
-#define BOOST_TYPE_TRAITS_MSVC_REMOVE_BOUNDS_HOLT_2004_0827
-
-#include <boost/type_traits/msvc/typeof.hpp>
-#include <boost/type_traits/is_array.hpp>
-
-namespace boost {
- namespace detail {
- template<bool IsArray>
- struct remove_bounds_impl_typeof {
- template<typename T,typename ID>
- struct inner {
- typedef T type;
- };
- };
- template<>
- struct remove_bounds_impl_typeof<true> {
- template<typename T,typename ID>
- struct inner {
- template<typename U>
- static msvc_register_type<U,ID> test(U[]);
- static msvc_register_type<T,ID> test(...);
- BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( *((T*)NULL) ) ));
- typedef typename msvc_extract_type<ID>::id2type::type type;
- };
- };
- } //namespace detail
-
- template<typename T>
- struct remove_bounds {
- typedef typename boost::detail::remove_bounds_impl_typeof<
- boost::is_array<T>::value
- >::template inner<T,remove_bounds<T> >::type type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_bounds,T)
- };
-} //namespace boost
-
-#endif //BOOST_TYPE_TRAITS_MSVC_REMOVE_BOUNDS_HOLT_2004_0827
-
diff --git a/boost/type_traits/msvc/remove_const.hpp b/boost/type_traits/msvc/remove_const.hpp
deleted file mode 100644
index d370754..0000000
--- a/boost/type_traits/msvc/remove_const.hpp
+++ /dev/null
@@ -1,143 +0,0 @@
-// Copyright (C) 2004 Peder Holt
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPE_TRAITS_MSVC_REMOVE_CONST_HOLT_2004_0828
-#define BOOST_TYPE_TRAITS_MSVC_REMOVE_CONST_HOLT_2004_0828
-
-#include <boost/type_traits/msvc/typeof.hpp>
-#include <boost/type_traits/is_volatile.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/is_pointer.hpp>
-#include <boost/type_traits/is_array.hpp>
-
-namespace boost {
- namespace detail {
- template<bool IsPointer,bool IsArray,bool IsConst,bool IsVolatile>
- struct remove_const_impl_typeof {
- template<typename T,typename ID>
- struct inner {
- typedef T type;
- };
- template<typename T>
- struct transform_type {
- typedef T type;
- };
- };
- template<> //Const
- struct remove_const_impl_typeof<false,false,true,false> {
- template<typename T,typename ID>
- struct inner {
- template<typename U>
- static msvc_register_type<U,ID> test(U const&(*)());
- static msvc_register_type<T,ID> test(...);
- BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));
- typedef typename msvc_extract_type<ID>::id2type::type type;
- };
- template<typename T>
- struct transform_type {
- typedef T& type;
- };
- };
- template<> //CV
- struct remove_const_impl_typeof<false,false,true,true> {
- template<typename T,typename ID>
- struct inner {
- template<typename U>
- static msvc_register_type<U volatile,ID> test(U const volatile&(*)());
- static msvc_register_type<T,ID> test(...);
- BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));
- typedef typename msvc_extract_type<ID>::id2type::type type;
- };
- template<typename T>
- struct transform_type {
- typedef T& type;
- };
- };
- template<> //Const Pointer
- struct remove_const_impl_typeof<true,false,true,false> {
- template<typename T,typename ID>
- struct inner {
- template<typename U>
- static msvc_register_type<U,ID> test(void(*)(U const[]));
- static msvc_register_type<T,ID> test(...);
- BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
- typedef typename msvc_extract_type<ID>::id2type::type type;
- };
- template<typename T>
- struct transform_type {
- typedef T type[];
- };
- };
- template<> //CV Pointer
- struct remove_const_impl_typeof<true,false,true,true> {
- template<typename T,typename ID>
- struct inner {
- template<typename U>
- static msvc_register_type<U volatile,ID> test(void(*)(U const volatile[]));
- static msvc_register_type<T,ID> test(...);
- BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
- typedef typename msvc_extract_type<ID>::id2type::type type;
- };
- template<typename T>
- struct transform_type {
- typedef T type[];
- };
- };
- template<> //Const Array
- struct remove_const_impl_typeof<false,true,true,false> {
- template<typename T,typename ID>
- struct inner {
- BOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));
-
- template<typename U>
- static msvc_register_type<U[value],ID> test(void(*)(U const[]));
- static msvc_register_type<T,ID> test(...);
- BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
- typedef typename msvc_extract_type<ID>::id2type::type type;
- };
- template<typename T>
- struct transform_type {
- typedef T type;
- };
- };
-
- template<> //CV Array
- struct remove_const_impl_typeof<false,true,true,true> {
- template<typename T,typename ID>
- struct inner {
- BOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));
-
- template<typename U>
- static msvc_register_type<U volatile[value],ID> test(void(*)(U const volatile[]));
- static msvc_register_type<T,ID> test(...);
- BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
- typedef typename msvc_extract_type<ID>::id2type::type type;
- };
- template<typename T>
- struct transform_type {
- typedef T type;
- };
- };
-
- } //namespace detail
-
- template<typename T>
- struct remove_const {
- typedef boost::detail::remove_const_impl_typeof<
- boost::is_pointer<T>::value,
- boost::is_array<T>::value,
- boost::is_const<T>::value,
- boost::is_volatile<T>::value
- > remove_const_type;
- typedef typename
- remove_const_type::template inner<
- typename remove_const_type::template transform_type<T>::type,
- remove_const<T>
- >::type
- type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_const,T)
- };
-}//namespace boost
-
-#endif //BOOST_TYPE_TRAITS_MSVC_REMOVE_CONST_HOLT_2004_0828
diff --git a/boost/type_traits/msvc/remove_cv.hpp b/boost/type_traits/msvc/remove_cv.hpp
deleted file mode 100644
index 9fbf8b8..0000000
--- a/boost/type_traits/msvc/remove_cv.hpp
+++ /dev/null
@@ -1,190 +0,0 @@
-// Copyright (C) 2004 Peder Holt
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPE_TRAITS_MSVC_REMOVE_CV_HOLT_2004_0901
-#define BOOST_TYPE_TRAITS_MSVC_REMOVE_CV_HOLT_2004_0901
-
-#include <boost/type_traits/msvc/typeof.hpp>
-#include <boost/type_traits/is_volatile.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/is_pointer.hpp>
-#include <boost/type_traits/is_array.hpp>
-
-namespace boost {
- namespace detail {
- template<bool IsPointer,bool IsArray,bool IsConst,bool IsVolatile>
- struct remove_cv_impl_typeof {
- template<typename T,typename ID>
- struct inner {
- typedef T type;
- };
- template<typename T>
- struct transform_type {
- typedef T type;
- };
- };
- template<> //Volatile
- struct remove_cv_impl_typeof<false,false,false,true> {
- template<typename T,typename ID>
- struct inner {
- template<typename U>
- static msvc_register_type<U,ID> test(U volatile&(*)());
- static msvc_register_type<T,ID> test(...);
- BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));
- typedef typename msvc_extract_type<ID>::id2type::type type;
- };
- template<typename T>
- struct transform_type {
- typedef T& type;
- };
- };
- template<> //Const
- struct remove_cv_impl_typeof<false,false,true,false> {
- template<typename T,typename ID>
- struct inner {
- template<typename U>
- static msvc_register_type<U,ID> test(U const&(*)());
- static msvc_register_type<T,ID> test(...);
- BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));
- typedef typename msvc_extract_type<ID>::id2type::type type;
- };
- template<typename T>
- struct transform_type {
- typedef T& type;
- };
- };
- template<> //CV
- struct remove_cv_impl_typeof<false,false,true,true> {
- template<typename T,typename ID>
- struct inner {
- template<typename U>
- static msvc_register_type<U,ID> test(U const volatile&(*)());
- static msvc_register_type<T,ID> test(...);
- BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));
- typedef typename msvc_extract_type<ID>::id2type::type type;
- };
- template<typename T>
- struct transform_type {
- typedef T& type;
- };
- };
- template<> //Volatile Pointer
- struct remove_cv_impl_typeof<true,false,false,true> {
- template<typename T,typename ID>
- struct inner {
- template<typename U>
- static msvc_register_type<U,ID> test(void(*)(U volatile[]));
- static msvc_register_type<T,ID> test(...);
- BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
- typedef typename msvc_extract_type<ID>::id2type::type type;
- };
- template<typename T>
- struct transform_type {
- typedef T type[];
- };
- };
- template<> //Const Pointer
- struct remove_cv_impl_typeof<true,false,true,false> {
- template<typename T,typename ID>
- struct inner {
- template<typename U>
- static msvc_register_type<U,ID> test(void(*)(U const[]));
- static msvc_register_type<T,ID> test(...);
- BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
- typedef typename msvc_extract_type<ID>::id2type::type type;
- };
- template<typename T>
- struct transform_type {
- typedef T type[];
- };
- };
- template<> //CV Pointer
- struct remove_cv_impl_typeof<true,false,true,true> {
- template<typename T,typename ID>
- struct inner {
- template<typename U>
- static msvc_register_type<U,ID> test(void(*)(U const volatile[]));
- static msvc_register_type<T,ID> test(...);
- BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
- typedef typename msvc_extract_type<ID>::id2type::type type;
- };
- template<typename T>
- struct transform_type {
- typedef T type[];
- };
- };
- template<> //Volatile Array
- struct remove_cv_impl_typeof<false,true,false,true> {
- template<typename T,typename ID>
- struct inner {
- BOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));
-
- template<typename U>
- static msvc_register_type<U[value],ID> test(void(*)(U volatile[]));
- static msvc_register_type<T,ID> test(...);
- BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
- typedef typename msvc_extract_type<ID>::id2type::type type;
- };
- template<typename T>
- struct transform_type {
- typedef T type;
- };
- };
- template<> //Const Array
- struct remove_cv_impl_typeof<false,true,true,false> {
- template<typename T,typename ID>
- struct inner {
- BOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));
-
- template<typename U>
- static msvc_register_type<U[value],ID> test(void(*)(U const[]));
- static msvc_register_type<T,ID> test(...);
- BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
- typedef typename msvc_extract_type<ID>::id2type::type type;
- };
- template<typename T>
- struct transform_type {
- typedef T type;
- };
- };
-
- template<> //CV Array
- struct remove_cv_impl_typeof<false,true,true,true> {
- template<typename T,typename ID>
- struct inner {
- BOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));
-
- template<typename U>
- static msvc_register_type<U[value],ID> test(void(*)(U const volatile[]));
- static msvc_register_type<T,ID> test(...);
- BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
- typedef typename msvc_extract_type<ID>::id2type::type type;
- };
- template<typename T>
- struct transform_type {
- typedef T type;
- };
- };
-
- } //namespace detail
-
- template<typename T>
- struct remove_cv {
- typedef boost::detail::remove_cv_impl_typeof<
- boost::is_pointer<T>::value,
- boost::is_array<T>::value,
- boost::is_const<T>::value,
- boost::is_volatile<T>::value
- > remove_cv_type;
- typedef typename
- remove_cv_type::template inner<
- typename remove_cv_type::template transform_type<T>::type,
- remove_cv<T>
- >::type
- type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_cv,T)
- };
-}//namespace boost
-
-#endif //BOOST_TYPE_TRAITS_MSVC_REMOVE_CV_HOLT_2004_0901
diff --git a/boost/type_traits/msvc/remove_extent.hpp b/boost/type_traits/msvc/remove_extent.hpp
deleted file mode 100644
index c5a59ef..0000000
--- a/boost/type_traits/msvc/remove_extent.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright (C) 2004 Peder Holt
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPE_TRAITS_MSVC_REMOVE_EXTENT_HOLT_2004_0827
-#define BOOST_TYPE_TRAITS_MSVC_REMOVE_EXTENT_HOLT_2004_0827
-
-#include <boost/type_traits/msvc/typeof.hpp>
-#include <boost/type_traits/is_array.hpp>
-
-namespace boost {
- namespace detail {
- template<bool IsArray>
- struct remove_extent_impl_typeof {
- template<typename T,typename ID>
- struct inner {
- typedef T type;
- };
- };
- template<>
- struct remove_extent_impl_typeof<true> {
- template<typename T,typename ID>
- struct inner {
- template<typename U>
- static msvc_register_type<U,ID> test(U[]);
- static msvc_register_type<T,ID> test(...);
- BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( *((T*)NULL) ) ));
- typedef typename msvc_extract_type<ID>::id2type::type type;
- };
- };
- } //namespace detail
-
- template<typename T>
- struct remove_extent {
- typedef typename boost::detail::remove_extent_impl_typeof<
- boost::is_array<T>::value
- >::template inner<T,remove_extent<T> >::type type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_extent,T)
- };
-} //namespace boost
-
-#endif //BOOST_TYPE_TRAITS_MSVC_REMOVE_BOUNDS_HOLT_2004_0827
-
diff --git a/boost/type_traits/msvc/remove_pointer.hpp b/boost/type_traits/msvc/remove_pointer.hpp
deleted file mode 100644
index ec847f9..0000000
--- a/boost/type_traits/msvc/remove_pointer.hpp
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright (C) 2004 Peder Holt
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPE_TRAITS_MSVC_REMOVE_POINTER_HOLT_2004_0827
-#define BOOST_TYPE_TRAITS_MSVC_REMOVE_POINTER_HOLT_2004_0827
-
-#include <boost/type_traits/msvc/typeof.hpp>
-#include <boost/type_traits/is_pointer.hpp>
-
-namespace boost {
- namespace detail {
- template<int IsPointer>
- struct remove_pointer_impl_typeof {
- template<typename T,typename ID>
- struct inner {
- typedef T type;
- };
- };
- template<>
- struct remove_pointer_impl_typeof<true> {
- template<typename T,typename ID>
- struct inner {
- template<typename U>
- static msvc_register_type<U,ID> test(U*);
- static msvc_register_type<T,ID> test(...);
- BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( *((T*)NULL) ) ));
- typedef typename msvc_extract_type<ID>::id2type::type type;
- };
- };
- } //namespace detail
-
- template<typename T>
- struct remove_pointer {
- typedef typename boost::detail::remove_pointer_impl_typeof<
- boost::is_pointer<T>::value
- >::template inner<T,remove_pointer<T> >::type type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_pointer,T)
- };
-} //namespace boost
-
-#endif //BOOST_TYPE_TRAITS_REMOVE_POINTER_HOLT_2004_0827
diff --git a/boost/type_traits/msvc/remove_reference.hpp b/boost/type_traits/msvc/remove_reference.hpp
deleted file mode 100644
index f8a77d4..0000000
--- a/boost/type_traits/msvc/remove_reference.hpp
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright (C) 2004 Peder Holt
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPE_TRAITS_MSVC_REMOVE_REFERENCE_HOLT_2004_0827
-#define BOOST_TYPE_TRAITS_MSVC_REMOVE_REFERENCE_HOLT_2004_0827
-
-#include <boost/type_traits/msvc/typeof.hpp>
-#include <boost/type_traits/is_reference.hpp>
-
-namespace boost {
- namespace detail {
- template<bool IsReference>
- struct remove_reference_impl_typeof {
- template<typename T,typename ID>
- struct inner {
- typedef T type;
- };
- };
- template<>
- struct remove_reference_impl_typeof<true> {
- template<typename T,typename ID>
- struct inner {
- template<typename U>
- static msvc_register_type<U,ID> test(U&(*)());
- static msvc_register_type<T,ID> test(...);
- BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));
- typedef typename msvc_extract_type<ID>::id2type::type type;
- };
- };
- } //namespace detail
-
- template<typename T>
- struct remove_reference {
- typedef typename boost::detail::remove_reference_impl_typeof<
- boost::is_reference<T>::value
- >::template inner<T,remove_reference<T> >::type type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_reference,T)
- };
-} //namespace boost
-
-#endif //BOOST_TYPE_TRAITS_MSVC_REMOVE_REFERENCE_HOLT_2004_0827
diff --git a/boost/type_traits/msvc/remove_volatile.hpp b/boost/type_traits/msvc/remove_volatile.hpp
deleted file mode 100644
index 6f9259c..0000000
--- a/boost/type_traits/msvc/remove_volatile.hpp
+++ /dev/null
@@ -1,143 +0,0 @@
-// Copyright (C) 2004 Peder Holt
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPE_TRAITS_MSVC_REMOVE_VOLATILE_HOLT_2004_0828
-#define BOOST_TYPE_TRAITS_MSVC_REMOVE_VOLATILE_HOLT_2004_0828
-
-#include <boost/type_traits/msvc/typeof.hpp>
-#include <boost/type_traits/is_volatile.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/is_pointer.hpp>
-#include <boost/type_traits/is_array.hpp>
-
-namespace boost {
- namespace detail {
- template<bool IsPointer,bool IsArray,bool IsConst,bool IsVolatile>
- struct remove_volatile_impl_typeof {
- template<typename T,typename ID>
- struct inner {
- typedef T type;
- };
- template<typename T>
- struct transform_type {
- typedef T type;
- };
- };
- template<> //Volatile
- struct remove_volatile_impl_typeof<false,false,false,true> {
- template<typename T,typename ID>
- struct inner {
- template<typename U>
- static msvc_register_type<U,ID> test(U volatile&(*)());
- static msvc_register_type<T,ID> test(...);
- BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));
- typedef typename msvc_extract_type<ID>::id2type::type type;
- };
- template<typename T>
- struct transform_type {
- typedef T& type;
- };
- };
- template<> //CV
- struct remove_volatile_impl_typeof<false,false,true,true> {
- template<typename T,typename ID>
- struct inner {
- template<typename U>
- static msvc_register_type<U const,ID> test(U const volatile&(*)());
- static msvc_register_type<T,ID> test(...);
- BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));
- typedef typename msvc_extract_type<ID>::id2type::type type;
- };
- template<typename T>
- struct transform_type {
- typedef T& type;
- };
- };
- template<> //Volatile Pointer
- struct remove_volatile_impl_typeof<true,false,false,true> {
- template<typename T,typename ID>
- struct inner {
- template<typename U>
- static msvc_register_type<U,ID> test(void(*)(U volatile[]));
- static msvc_register_type<T,ID> test(...);
- BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
- typedef typename msvc_extract_type<ID>::id2type::type type;
- };
- template<typename T>
- struct transform_type {
- typedef T type[];
- };
- };
- template<> //CV Pointer
- struct remove_volatile_impl_typeof<true,false,true,true> {
- template<typename T,typename ID>
- struct inner {
- template<typename U>
- static msvc_register_type<U const,ID> test(void(*)(U const volatile[]));
- static msvc_register_type<T,ID> test(...);
- BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
- typedef typename msvc_extract_type<ID>::id2type::type type;
- };
- template<typename T>
- struct transform_type {
- typedef T type[];
- };
- };
- template<> //Volatile Array
- struct remove_volatile_impl_typeof<false,true,false,true> {
- template<typename T,typename ID>
- struct inner {
- BOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));
-
- template<typename U>
- static msvc_register_type<U[value],ID> test(void(*)(U volatile[]));
- static msvc_register_type<T,ID> test(...);
- BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
- typedef typename msvc_extract_type<ID>::id2type::type type;
- };
- template<typename T>
- struct transform_type {
- typedef T type;
- };
- };
-
- template<> //CV Array
- struct remove_volatile_impl_typeof<false,true,true,true> {
- template<typename T,typename ID>
- struct inner {
- BOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));
-
- template<typename U>
- static msvc_register_type<U const[value],ID> test(void(*)(U const volatile[]));
- static msvc_register_type<T,ID> test(...);
- BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
- typedef typename msvc_extract_type<ID>::id2type::type type;
- };
- template<typename T>
- struct transform_type {
- typedef T type;
- };
- };
-
- } //namespace detail
-
- template<typename T>
- struct remove_volatile {
- typedef boost::detail::remove_volatile_impl_typeof<
- boost::is_pointer<T>::value,
- boost::is_array<T>::value,
- boost::is_const<T>::value,
- boost::is_volatile<T>::value
- > remove_volatile_type;
- typedef typename
- remove_volatile_type::template inner<
- typename remove_volatile_type::template transform_type<T>::type,
- remove_volatile<T>
- >::type
- type;
- BOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_volatile,T)
- };
-}//namespace boost
-
-#endif //BOOST_TYPE_TRAITS_MSVC_REMOVE_VOLATILE_HOLT_2004_0828
diff --git a/boost/type_traits/msvc/typeof.hpp b/boost/type_traits/msvc/typeof.hpp
deleted file mode 100644
index b95785d..0000000
--- a/boost/type_traits/msvc/typeof.hpp
+++ /dev/null
@@ -1,50 +0,0 @@
-// Copyright (C) 2004 Peder Holt
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPETRAITS_MSVC_TYPEOF_HPP
-#define BOOST_TYPETRAITS_MSVC_TYPEOF_HPP
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-namespace boost { namespace detail {
-# if BOOST_WORKAROUND(BOOST_MSVC,==1300)
- template<typename ID>
- struct msvc_extract_type
- {
- template<bool>
- struct id2type_impl;
-
- typedef id2type_impl<true> id2type;
- };
-
- template<typename T, typename ID>
- struct msvc_register_type : public msvc_extract_type<ID>
- {
- template<>
- struct id2type_impl<true> //VC7.0 specific bugfeature
- {
- typedef T type;
- };
- };
-# else
- template<typename ID>
- struct msvc_extract_type
- {
- struct id2type;
- };
-
- template<typename T, typename ID>
- struct msvc_register_type : public msvc_extract_type<ID>
- {
- typedef msvc_extract_type<ID> base_type;
- struct base_type::id2type // This uses nice VC6.5 and VC7.1 bugfeature
- {
- typedef T type;
- };
- };
-# endif
-}}
-
-#endif //BOOST_TYPETRAITS_MSVC_TYPEOF_IMPL_HPP
diff --git a/boost/type_traits/promote.hpp b/boost/type_traits/promote.hpp
deleted file mode 100644
index 60f6278..0000000
--- a/boost/type_traits/promote.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2005 Alexander Nasonov.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef FILE_boost_type_traits_promote_hpp_INCLUDED
-#define FILE_boost_type_traits_promote_hpp_INCLUDED
-
-#include <boost/config.hpp>
-#include <boost/type_traits/integral_promotion.hpp>
-#include <boost/type_traits/floating_point_promotion.hpp>
-
-// Should be the last #include
-#include <boost/type_traits/detail/type_trait_def.hpp>
-
-namespace boost {
-
-namespace detail {
-
-template<class T>
-struct promote_impl
- : public integral_promotion<
- BOOST_DEDUCED_TYPENAME floating_point_promotion<T>::type
- >
-{
-};
-
-}
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(
- promote
- , T
- , BOOST_DEDUCED_TYPENAME boost::detail::promote_impl<T>::type
- )
-}
-
-#include <boost/type_traits/detail/type_trait_undef.hpp>
-
-#endif // #ifndef FILE_boost_type_traits_promote_hpp_INCLUDED
-
diff --git a/boost/type_traits/rank.hpp b/boost/type_traits/rank.hpp
deleted file mode 100644
index 77df41e..0000000
--- a/boost/type_traits/rank.hpp
+++ /dev/null
@@ -1,89 +0,0 @@
-
-// (C) Copyright John Maddock 2005.
-// 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/libs/type_traits for most recent version including documentation.
-
-
-#ifndef BOOST_TT_RANK_HPP_INCLUDED
-#define BOOST_TT_RANK_HPP_INCLUDED
-
-// should be the last #include
-#include <boost/type_traits/detail/size_t_trait_def.hpp>
-
-namespace boost {
-
-#if !defined( __CODEGEARC__ )
-
-namespace detail{
-
-template <class T, std::size_t N>
-struct rank_imp
-{
- BOOST_STATIC_CONSTANT(std::size_t, value = N);
-};
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
-template <class T, std::size_t R, std::size_t N>
-struct rank_imp<T[R], N>
-{
- BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::rank_imp<T, N+1>::value));
-};
-
-template <class T, std::size_t R, std::size_t N>
-struct rank_imp<T const[R], N>
-{
- BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::rank_imp<T, N+1>::value));
-};
-
-template <class T, std::size_t R, std::size_t N>
-struct rank_imp<T volatile[R], N>
-{
- BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::rank_imp<T, N+1>::value));
-};
-
-template <class T, std::size_t R, std::size_t N>
-struct rank_imp<T const volatile[R], N>
-{
- BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::rank_imp<T, N+1>::value));
-};
-
-#if !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(__IBMCPP__) && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
-template <class T, std::size_t N>
-struct rank_imp<T[], N>
-{
- BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::rank_imp<T, N+1>::value));
-};
-template <class T, std::size_t N>
-struct rank_imp<T const[], N>
-{
- BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::rank_imp<T, N+1>::value));
-};
-template <class T, std::size_t N>
-struct rank_imp<T volatile[], N>
-{
- BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::rank_imp<T, N+1>::value));
-};
-template <class T, std::size_t N>
-struct rank_imp<T const volatile[], N>
-{
- BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::rank_imp<T, N+1>::value));
-};
-#endif
-#endif
-}
-
-#endif // !defined( __CODEGEARC__ )
-
-#if defined( __CODEGEARC__ )
-BOOST_TT_AUX_SIZE_T_TRAIT_DEF1(rank,T,__array_rank(T))
-#else
-BOOST_TT_AUX_SIZE_T_TRAIT_DEF1(rank,T,(::boost::detail::rank_imp<T,0>::value))
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/size_t_trait_undef.hpp>
-
-#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED
diff --git a/boost/type_traits/remove_all_extents.hpp b/boost/type_traits/remove_all_extents.hpp
deleted file mode 100644
index 64876e1..0000000
--- a/boost/type_traits/remove_all_extents.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-
-// (C) Copyright John Maddock 2005.
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_REMOVE_ALL_EXTENTS_HPP_INCLUDED
-#define BOOST_TT_REMOVE_ALL_EXTENTS_HPP_INCLUDED
-
-#include <boost/config.hpp>
-#include <cstddef>
-#include <boost/detail/workaround.hpp>
-
-#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)
-#include <boost/type_traits/msvc/remove_all_extents.hpp>
-#endif
-
-// should be the last #include
-#include <boost/type_traits/detail/type_trait_def.hpp>
-
-#if !BOOST_WORKAROUND(BOOST_MSVC,<=1300)
-
-namespace boost {
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_all_extents,T,T)
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_all_extents,T[N],typename boost::remove_all_extents<T>::type type)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_all_extents,T const[N],typename boost::remove_all_extents<T const>::type type)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_all_extents,T volatile[N],typename boost::remove_all_extents<T volatile>::type type)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_all_extents,T const volatile[N],typename boost::remove_all_extents<T const volatile>::type type)
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) && !defined(__IBMCPP__) && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_all_extents,T[],typename boost::remove_all_extents<T>::type)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_all_extents,T const[],typename boost::remove_all_extents<T const>::type)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_all_extents,T volatile[],typename boost::remove_all_extents<T volatile>::type)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_all_extents,T const volatile[],typename boost::remove_all_extents<T const volatile>::type)
-#endif
-#endif
-
-} // namespace boost
-
-#endif
-
-#include <boost/type_traits/detail/type_trait_undef.hpp>
-
-#endif // BOOST_TT_REMOVE_BOUNDS_HPP_INCLUDED
diff --git a/boost/type_traits/remove_bounds.hpp b/boost/type_traits/remove_bounds.hpp
deleted file mode 100644
index ce12978..0000000
--- a/boost/type_traits/remove_bounds.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-
-// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_REMOVE_BOUNDS_HPP_INCLUDED
-#define BOOST_TT_REMOVE_BOUNDS_HPP_INCLUDED
-
-#include <boost/config.hpp>
-#include <cstddef>
-#include <boost/detail/workaround.hpp>
-
-#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)
-#include <boost/type_traits/msvc/remove_bounds.hpp>
-#endif
-
-// should be the last #include
-#include <boost/type_traits/detail/type_trait_def.hpp>
-
-#if !BOOST_WORKAROUND(BOOST_MSVC,<=1300)
-
-namespace boost {
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_bounds,T,T)
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_bounds,T[N],T type)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_bounds,T const[N],T const type)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_bounds,T volatile[N],T volatile type)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_bounds,T const volatile[N],T const volatile type)
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) && !defined(__IBMCPP__) && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_bounds,T[],T)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_bounds,T const[],T const)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_bounds,T volatile[],T volatile)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_bounds,T const volatile[],T const volatile)
-#endif
-#endif
-
-} // namespace boost
-
-#endif
-
-#include <boost/type_traits/detail/type_trait_undef.hpp>
-
-#endif // BOOST_TT_REMOVE_BOUNDS_HPP_INCLUDED
diff --git a/boost/type_traits/remove_const.hpp b/boost/type_traits/remove_const.hpp
deleted file mode 100644
index 5f957e9..0000000
--- a/boost/type_traits/remove_const.hpp
+++ /dev/null
@@ -1,90 +0,0 @@
-
-// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard
-// Hinnant & John Maddock 2000.
-// 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/libs/type_traits for most recent version including documentation.
-
-
-#ifndef BOOST_TT_REMOVE_CONST_HPP_INCLUDED
-#define BOOST_TT_REMOVE_CONST_HPP_INCLUDED
-
-#include <boost/type_traits/is_volatile.hpp>
-#include <boost/type_traits/broken_compiler_spec.hpp>
-#include <boost/type_traits/detail/cv_traits_impl.hpp>
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-#include <cstddef>
-
-#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)
-#include <boost/type_traits/msvc/remove_const.hpp>
-#endif
-
-// should be the last #include
-#include <boost/type_traits/detail/type_trait_def.hpp>
-
-namespace boost {
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-namespace detail {
-
-template <typename T, bool is_vol>
-struct remove_const_helper
-{
- typedef T type;
-};
-
-template <typename T>
-struct remove_const_helper<T, true>
-{
- typedef T volatile type;
-};
-
-
-template <typename T>
-struct remove_const_impl
-{
- typedef typename remove_const_helper<
- typename cv_traits_imp<T*>::unqualified_type
- , ::boost::is_volatile<T>::value
- >::type type;
-};
-
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-//
-// We can't filter out rvalue_references at the same level as
-// references or we get ambiguities from msvc:
-//
-template <typename T>
-struct remove_const_impl<T&&>
-{
- typedef T&& type;
-};
-#endif
-
-} // namespace detail
-
-// * convert a type T to non-const type - remove_const<T>
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_const,T,typename boost::detail::remove_const_impl<T>::type)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_const,T&,T&)
-#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_const,T const[N],T type[N])
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_const,T const volatile[N],T volatile type[N])
-#endif
-
-#elif !BOOST_WORKAROUND(BOOST_MSVC,<=1300)
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_const,T,typename boost::detail::remove_const_impl<T>::type)
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-} // namespace boost
-
-#include <boost/type_traits/detail/type_trait_undef.hpp>
-
-#endif // BOOST_TT_REMOVE_CONST_HPP_INCLUDED
diff --git a/boost/type_traits/remove_cv.hpp b/boost/type_traits/remove_cv.hpp
deleted file mode 100644
index 7478c20..0000000
--- a/boost/type_traits/remove_cv.hpp
+++ /dev/null
@@ -1,84 +0,0 @@
-
-// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard
-// Hinnant & John Maddock 2000.
-// 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/libs/type_traits for most recent version including documentation.
-
-
-#ifndef BOOST_TT_REMOVE_CV_HPP_INCLUDED
-#define BOOST_TT_REMOVE_CV_HPP_INCLUDED
-
-#include <boost/type_traits/broken_compiler_spec.hpp>
-#include <boost/type_traits/detail/cv_traits_impl.hpp>
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-#include <cstddef>
-
-#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)
-#include <boost/type_traits/msvc/remove_cv.hpp>
-#endif
-
-// should be the last #include
-#include <boost/type_traits/detail/type_trait_def.hpp>
-
-namespace boost {
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-namespace detail{
-
-template <class T>
-struct rvalue_ref_filter_rem_cv
-{
- typedef typename boost::detail::cv_traits_imp<T*>::unqualified_type type;
-};
-
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-//
-// We can't filter out rvalue_references at the same level as
-// references or we get ambiguities from msvc:
-//
-template <class T>
-struct rvalue_ref_filter_rem_cv<T&&>
-{
- typedef T&& type;
-};
-#endif
-
-}
-
-
-// convert a type T to a non-cv-qualified type - remove_cv<T>
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_cv,T,typename boost::detail::rvalue_ref_filter_rem_cv<T>::type)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_cv,T&,T&)
-#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_cv,T const[N],T type[N])
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_cv,T volatile[N],T type[N])
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_cv,T const volatile[N],T type[N])
-#endif
-
-#elif !BOOST_WORKAROUND(BOOST_MSVC,<=1300)
-
-namespace detail {
-template <typename T>
-struct remove_cv_impl
-{
- typedef typename remove_volatile_impl<
- typename remove_const_impl<T>::type
- >::type type;
-};
-}
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_cv,T,typename boost::detail::remove_cv_impl<T>::type)
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-} // namespace boost
-
-#include <boost/type_traits/detail/type_trait_undef.hpp>
-
-#endif // BOOST_TT_REMOVE_CV_HPP_INCLUDED
diff --git a/boost/type_traits/remove_extent.hpp b/boost/type_traits/remove_extent.hpp
deleted file mode 100644
index b4c7d41..0000000
--- a/boost/type_traits/remove_extent.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-
-// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000-2005.
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_REMOVE_EXTENT_HPP_INCLUDED
-#define BOOST_TT_REMOVE_EXTENT_HPP_INCLUDED
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-#include <cstddef>
-
-#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)
-#include <boost/type_traits/msvc/remove_extent.hpp>
-#endif
-
-// should be the last #include
-#include <boost/type_traits/detail/type_trait_def.hpp>
-
-#if !BOOST_WORKAROUND(BOOST_MSVC,<=1300)
-
-namespace boost {
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_extent,T,T)
-
-#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_extent,T[N],T type)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_extent,T const[N],T const type)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_extent,T volatile[N],T volatile type)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_extent,T const volatile[N],T const volatile type)
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) && !defined(__IBMCPP__) && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_extent,T[],T)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_extent,T const[],T const)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_extent,T volatile[],T volatile)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_extent,T const volatile[],T const volatile)
-#endif
-#endif
-
-} // namespace boost
-
-#endif
-
-#include <boost/type_traits/detail/type_trait_undef.hpp>
-
-#endif // BOOST_TT_REMOVE_BOUNDS_HPP_INCLUDED
diff --git a/boost/type_traits/remove_pointer.hpp b/boost/type_traits/remove_pointer.hpp
deleted file mode 100644
index 01253db..0000000
--- a/boost/type_traits/remove_pointer.hpp
+++ /dev/null
@@ -1,92 +0,0 @@
-
-// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_REMOVE_POINTER_HPP_INCLUDED
-#define BOOST_TT_REMOVE_POINTER_HPP_INCLUDED
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-#include <boost/type_traits/broken_compiler_spec.hpp>
-#endif
-
-#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)
-#include <boost/type_traits/msvc/remove_pointer.hpp>
-#elif defined(BOOST_MSVC)
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/type_traits/is_pointer.hpp>
-#endif
-
-// should be the last #include
-#include <boost/type_traits/detail/type_trait_def.hpp>
-
-namespace boost {
-
-#ifdef BOOST_MSVC
-
-namespace detail{
-
- //
- // We need all this crazy indirection because a type such as:
- //
- // T (*const)(U)
- //
- // Does not bind to a <T*> or <T*const> partial specialization with VC10 and earlier
- //
- template <class T>
- struct remove_pointer_imp
- {
- typedef T type;
- };
-
- template <class T>
- struct remove_pointer_imp<T*>
- {
- typedef T type;
- };
-
- template <class T, bool b>
- struct remove_pointer_imp3
- {
- typedef typename remove_pointer_imp<typename boost::remove_cv<T>::type>::type type;
- };
-
- template <class T>
- struct remove_pointer_imp3<T, false>
- {
- typedef T type;
- };
-
- template <class T>
- struct remove_pointer_imp2
- {
- typedef typename remove_pointer_imp3<T, ::boost::is_pointer<T>::value>::type type;
- };
-}
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_pointer,T,typename boost::detail::remove_pointer_imp2<T>::type)
-
-#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_pointer,T,T)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_pointer,T*,T)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_pointer,T* const,T)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_pointer,T* volatile,T)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_pointer,T* const volatile,T)
-
-#elif !BOOST_WORKAROUND(BOOST_MSVC,<=1300)
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_pointer,T,typename boost::detail::remove_pointer_impl<T>::type)
-
-#endif
-
-} // namespace boost
-
-#include <boost/type_traits/detail/type_trait_undef.hpp>
-
-#endif // BOOST_TT_REMOVE_POINTER_HPP_INCLUDED
diff --git a/boost/type_traits/remove_reference.hpp b/boost/type_traits/remove_reference.hpp
deleted file mode 100644
index 19a55b7..0000000
--- a/boost/type_traits/remove_reference.hpp
+++ /dev/null
@@ -1,70 +0,0 @@
-
-// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_REMOVE_REFERENCE_HPP_INCLUDED
-#define BOOST_TT_REMOVE_REFERENCE_HPP_INCLUDED
-
-#include <boost/type_traits/broken_compiler_spec.hpp>
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)
-#include <boost/type_traits/msvc/remove_reference.hpp>
-#endif
-
-// should be the last #include
-#include <boost/type_traits/detail/type_trait_def.hpp>
-
-namespace boost {
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-namespace detail{
-//
-// We can't filter out rvalue_references at the same level as
-// references or we get ambiguities from msvc:
-//
-template <class T>
-struct remove_rvalue_ref
-{
- typedef T type;
-};
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-template <class T>
-struct remove_rvalue_ref<T&&>
-{
- typedef T type;
-};
-#endif
-
-} // namespace detail
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_reference,T,typename boost::detail::remove_rvalue_ref<T>::type)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_reference,T&,T)
-
-#if defined(BOOST_ILLEGAL_CV_REFERENCES)
-// these are illegal specialisations; cv-qualifies applied to
-// references have no effect according to [8.3.2p1],
-// C++ Builder requires them though as it treats cv-qualified
-// references as distinct types...
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_reference,T& const,T)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_reference,T& volatile,T)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_reference,T& const volatile,T)
-#endif
-
-#elif !BOOST_WORKAROUND(BOOST_MSVC,<=1300)
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_reference,T,typename boost::detail::remove_reference_impl<T>::type)
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-} // namespace boost
-
-#include <boost/type_traits/detail/type_trait_undef.hpp>
-
-#endif // BOOST_TT_REMOVE_REFERENCE_HPP_INCLUDED
diff --git a/boost/type_traits/remove_volatile.hpp b/boost/type_traits/remove_volatile.hpp
deleted file mode 100644
index 98da5cf..0000000
--- a/boost/type_traits/remove_volatile.hpp
+++ /dev/null
@@ -1,88 +0,0 @@
-
-// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard
-// Hinnant & John Maddock 2000.
-// 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/libs/type_traits for most recent version including documentation.
-
-
-#ifndef BOOST_TT_REMOVE_VOLATILE_HPP_INCLUDED
-#define BOOST_TT_REMOVE_VOLATILE_HPP_INCLUDED
-
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/broken_compiler_spec.hpp>
-#include <boost/type_traits/detail/cv_traits_impl.hpp>
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-#include <cstddef>
-
-#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)
-#include <boost/type_traits/msvc/remove_volatile.hpp>
-#endif
-
-// should be the last #include
-#include <boost/type_traits/detail/type_trait_def.hpp>
-
-namespace boost {
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-namespace detail {
-
-template <typename T, bool is_const>
-struct remove_volatile_helper
-{
- typedef T type;
-};
-
-template <typename T>
-struct remove_volatile_helper<T,true>
-{
- typedef T const type;
-};
-
-template <typename T>
-struct remove_volatile_impl
-{
- typedef typename remove_volatile_helper<
- typename cv_traits_imp<T*>::unqualified_type
- , ::boost::is_const<T>::value
- >::type type;
-};
-
-//
-// We can't filter out rvalue_references at the same level as
-// references or we get ambiguities from msvc:
-//
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
-template <typename T>
-struct remove_volatile_impl<T&&>
-{
- typedef T&& type;
-};
-#endif
-} // namespace detail
-
-// * convert a type T to a non-volatile type - remove_volatile<T>
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_volatile,T,typename boost::detail::remove_volatile_impl<T>::type)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_volatile,T&,T&)
-#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_volatile,T volatile[N],T type[N])
-BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_volatile,T const volatile[N],T const type[N])
-#endif
-
-#elif !BOOST_WORKAROUND(BOOST_MSVC,<=1300)
-
-BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_volatile,T,typename boost::detail::remove_volatile_impl<T>::type)
-
-#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-} // namespace boost
-
-#include <boost/type_traits/detail/type_trait_undef.hpp>
-
-#endif // BOOST_TT_REMOVE_VOLATILE_HPP_INCLUDED
diff --git a/boost/type_traits/type_with_alignment.hpp b/boost/type_traits/type_with_alignment.hpp
deleted file mode 100644
index a86137f..0000000
--- a/boost/type_traits/type_with_alignment.hpp
+++ /dev/null
@@ -1,399 +0,0 @@
-// (C) Copyright John Maddock 2000.
-// 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/libs/type_traits for most recent version including documentation.
-
-#ifndef BOOST_TT_TYPE_WITH_ALIGNMENT_INCLUDED
-#define BOOST_TT_TYPE_WITH_ALIGNMENT_INCLUDED
-
-#include <boost/mpl/if.hpp>
-#include <boost/preprocessor/list/for_each_i.hpp>
-#include <boost/preprocessor/tuple/to_list.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/list/transform.hpp>
-#include <boost/preprocessor/list/append.hpp>
-#include <boost/type_traits/alignment_of.hpp>
-#include <boost/type_traits/is_pod.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/config.hpp>
-
-// should be the last #include
-#include <boost/type_traits/detail/bool_trait_def.hpp>
-
-#include <cstddef>
-
-#ifdef BOOST_MSVC
-# pragma warning(push)
-# pragma warning(disable: 4121) // alignment is sensitive to packing
-#endif
-
-namespace boost {
-
-#ifndef __BORLANDC__
-
-namespace detail {
-
-class alignment_dummy;
-typedef void (*function_ptr)();
-typedef int (alignment_dummy::*member_ptr);
-typedef int (alignment_dummy::*member_function_ptr)();
-
-#ifdef BOOST_HAS_LONG_LONG
-#define BOOST_TT_ALIGNMENT_BASE_TYPES BOOST_PP_TUPLE_TO_LIST( \
- 12, ( \
- char, short, int, long, ::boost::long_long_type, float, double, long double \
- , void*, function_ptr, member_ptr, member_function_ptr))
-#else
-#define BOOST_TT_ALIGNMENT_BASE_TYPES BOOST_PP_TUPLE_TO_LIST( \
- 11, ( \
- char, short, int, long, float, double, long double \
- , void*, function_ptr, member_ptr, member_function_ptr))
-#endif
-
-#define BOOST_TT_HAS_ONE_T(D,Data,T) boost::detail::has_one_T< T >
-
-#define BOOST_TT_ALIGNMENT_STRUCT_TYPES \
- BOOST_PP_LIST_TRANSFORM(BOOST_TT_HAS_ONE_T, \
- X, \
- BOOST_TT_ALIGNMENT_BASE_TYPES)
-
-#define BOOST_TT_ALIGNMENT_TYPES \
- BOOST_PP_LIST_APPEND(BOOST_TT_ALIGNMENT_BASE_TYPES, \
- BOOST_TT_ALIGNMENT_STRUCT_TYPES)
-
-//
-// lower_alignment_helper --
-//
-// This template gets instantiated a lot, so use partial
-// specialization when available to reduce the compiler burden.
-//
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-template <bool found = true>
-struct lower_alignment_helper_impl
-{
- template <std::size_t, class>
- struct apply
- {
- typedef char type;
- enum { value = true };
- };
-};
-
-template <>
-struct lower_alignment_helper_impl<false>
-{
- template <std::size_t target, class TestType>
- struct apply
- : public mpl::if_c<(alignment_of<TestType>::value == target), TestType, char>
- {
- enum { value = (alignment_of<TestType>::value == target) };
- };
-};
-
-template <bool found, std::size_t target, class TestType>
-struct lower_alignment_helper
- : public lower_alignment_helper_impl<found>::template apply<target,TestType>
-{
-};
-#else
-template <bool found, std::size_t target, class TestType>
-struct lower_alignment_helper
-{
- typedef char type;
- enum { value = true };
-};
-
-template <std::size_t target, class TestType>
-struct lower_alignment_helper<false,target,TestType>
-{
- enum { value = (alignment_of<TestType>::value == target) };
- typedef typename mpl::if_c<value, TestType, char>::type type;
-};
-#endif
-
-#define BOOST_TT_CHOOSE_MIN_ALIGNMENT(R,P,I,T) \
- typename lower_alignment_helper< \
- BOOST_PP_CAT(found,I),target,T \
- >::type BOOST_PP_CAT(t,I); \
- enum { \
- BOOST_PP_CAT(found,BOOST_PP_INC(I)) \
- = lower_alignment_helper<BOOST_PP_CAT(found,I),target,T >::value \
- };
-
-#define BOOST_TT_CHOOSE_T(R,P,I,T) T BOOST_PP_CAT(t,I);
-
-template <typename T>
-struct has_one_T
-{
- T data;
-};
-
-template <std::size_t target>
-union lower_alignment
-{
- enum { found0 = false };
-
- BOOST_PP_LIST_FOR_EACH_I(
- BOOST_TT_CHOOSE_MIN_ALIGNMENT
- , ignored
- , BOOST_TT_ALIGNMENT_TYPES
- )
-};
-
-union max_align
-{
- BOOST_PP_LIST_FOR_EACH_I(
- BOOST_TT_CHOOSE_T
- , ignored
- , BOOST_TT_ALIGNMENT_TYPES
- )
-};
-
-#undef BOOST_TT_ALIGNMENT_BASE_TYPES
-#undef BOOST_TT_HAS_ONE_T
-#undef BOOST_TT_ALIGNMENT_STRUCT_TYPES
-#undef BOOST_TT_ALIGNMENT_TYPES
-#undef BOOST_TT_CHOOSE_MIN_ALIGNMENT
-#undef BOOST_TT_CHOOSE_T
-
-template<std::size_t TAlign, std::size_t Align>
-struct is_aligned
-{
- BOOST_STATIC_CONSTANT(bool,
- value = (TAlign >= Align) & (TAlign % Align == 0)
- );
-};
-
-#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::max_align,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<1> ,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<2> ,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<4> ,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<8> ,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<10> ,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<16> ,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<32> ,true)
-#endif
-
-} // namespace detail
-
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-template<std::size_t Align>
-struct is_pod< ::boost::detail::lower_alignment<Align> >
-{
- BOOST_STATIC_CONSTANT(std::size_t, value = true);
-};
-#endif
-
-// This alignment method originally due to Brian Parker, implemented by David
-// Abrahams, and then ported here by Doug Gregor.
-namespace detail{
-
-template <std::size_t Align>
-class type_with_alignment_imp
-{
- typedef ::boost::detail::lower_alignment<Align> t1;
- typedef typename mpl::if_c<
- ::boost::detail::is_aligned< ::boost::alignment_of<t1>::value,Align >::value
- , t1
- , ::boost::detail::max_align
- >::type align_t;
-
- BOOST_STATIC_CONSTANT(std::size_t, found = alignment_of<align_t>::value);
-
- BOOST_STATIC_ASSERT(found >= Align);
- BOOST_STATIC_ASSERT(found % Align == 0);
-
- public:
- typedef align_t type;
-};
-
-}
-
-template <std::size_t Align>
-class type_with_alignment
- : public ::boost::detail::type_with_alignment_imp<Align>
-{
-};
-
-#if defined(__GNUC__)
-namespace align {
-struct __attribute__((__aligned__(2))) a2 {};
-struct __attribute__((__aligned__(4))) a4 {};
-struct __attribute__((__aligned__(8))) a8 {};
-struct __attribute__((__aligned__(16))) a16 {};
-struct __attribute__((__aligned__(32))) a32 {};
-struct __attribute__((__aligned__(64))) a64 {};
-struct __attribute__((__aligned__(128))) a128 {};
-}
-
-template<> class type_with_alignment<1> { public: typedef char type; };
-template<> class type_with_alignment<2> { public: typedef align::a2 type; };
-template<> class type_with_alignment<4> { public: typedef align::a4 type; };
-template<> class type_with_alignment<8> { public: typedef align::a8 type; };
-template<> class type_with_alignment<16> { public: typedef align::a16 type; };
-template<> class type_with_alignment<32> { public: typedef align::a32 type; };
-template<> class type_with_alignment<64> { public: typedef align::a64 type; };
-template<> class type_with_alignment<128> { public: typedef align::a128 type; };
-
-namespace detail {
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a2,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a4,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a8,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a16,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a32,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a64,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a128,true)
-}
-#endif
-#if (defined(BOOST_MSVC) || (defined(BOOST_INTEL) && defined(_MSC_VER))) && _MSC_VER >= 1300
-//
-// MSVC supports types which have alignments greater than the normal
-// maximum: these are used for example in the types __m64 and __m128
-// to provide types with alignment requirements which match the SSE
-// registers. Therefore we extend type_with_alignment<> to support
-// such types, however, we have to be careful to use a builtin type
-// whenever possible otherwise we break previously working code:
-// see http://article.gmane.org/gmane.comp.lib.boost.devel/173011
-// for an example and test case. Thus types like a8 below will
-// be used *only* if the existing implementation can't provide a type
-// with suitable alignment. This does mean however, that type_with_alignment<>
-// may return a type which cannot be passed through a function call
-// by value (and neither can any type containing such a type like
-// Boost.Optional). However, this only happens when we have no choice
-// in the matter because no other "ordinary" type is available.
-//
-namespace align {
-struct __declspec(align(8)) a8 {
- char m[8];
- typedef a8 type;
-};
-struct __declspec(align(16)) a16 {
- char m[16];
- typedef a16 type;
-};
-struct __declspec(align(32)) a32 {
- char m[32];
- typedef a32 type;
-};
-struct __declspec(align(64)) a64
-{
- char m[64];
- typedef a64 type;
-};
-struct __declspec(align(128)) a128 {
- char m[128];
- typedef a128 type;
-};
-}
-
-template<> class type_with_alignment<8>
-{
- typedef mpl::if_c<
- ::boost::alignment_of<boost::detail::max_align>::value < 8,
- align::a8,
- boost::detail::type_with_alignment_imp<8> >::type t1;
-public:
- typedef t1::type type;
-};
-template<> class type_with_alignment<16>
-{
- typedef mpl::if_c<
- ::boost::alignment_of<boost::detail::max_align>::value < 16,
- align::a16,
- boost::detail::type_with_alignment_imp<16> >::type t1;
-public:
- typedef t1::type type;
-};
-template<> class type_with_alignment<32>
-{
- typedef mpl::if_c<
- ::boost::alignment_of<boost::detail::max_align>::value < 32,
- align::a32,
- boost::detail::type_with_alignment_imp<32> >::type t1;
-public:
- typedef t1::type type;
-};
-template<> class type_with_alignment<64> {
- typedef mpl::if_c<
- ::boost::alignment_of<boost::detail::max_align>::value < 64,
- align::a64,
- boost::detail::type_with_alignment_imp<64> >::type t1;
-public:
- typedef t1::type type;
-};
-template<> class type_with_alignment<128> {
- typedef mpl::if_c<
- ::boost::alignment_of<boost::detail::max_align>::value < 128,
- align::a128,
- boost::detail::type_with_alignment_imp<128> >::type t1;
-public:
- typedef t1::type type;
-};
-
-namespace detail {
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a8,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a16,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a32,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a64,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a128,true)
-}
-#endif
-
-#else
-
-//
-// Borland specific version, we have this for two reasons:
-// 1) The version above doesn't always compile (with the new test cases for example)
-// 2) Because of Borlands #pragma option we can create types with alignments that are
-// greater that the largest aligned builtin type.
-
-namespace align{
-#pragma option push -a16
-struct a2{ short s; };
-struct a4{ int s; };
-struct a8{ double s; };
-struct a16{ long double s; };
-#pragma option pop
-}
-
-namespace detail {
-
-typedef ::boost::align::a16 max_align;
-
-//#if ! BOOST_WORKAROUND(__CODEGEARC__, BOOST_TESTED_AT(0x610))
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a2,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a4,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a8,true)
-BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a16,true)
-//#endif
-}
-
-template <std::size_t N> struct type_with_alignment
-{
- // We should never get to here, but if we do use the maximally
- // aligned type:
- // BOOST_STATIC_ASSERT(0);
- typedef align::a16 type;
-};
-template <> struct type_with_alignment<1>{ typedef char type; };
-template <> struct type_with_alignment<2>{ typedef align::a2 type; };
-template <> struct type_with_alignment<4>{ typedef align::a4 type; };
-template <> struct type_with_alignment<8>{ typedef align::a8 type; };
-template <> struct type_with_alignment<16>{ typedef align::a16 type; };
-
-#endif
-
-} // namespace boost
-
-#ifdef BOOST_MSVC
-# pragma warning(pop)
-#endif
-
-#include <boost/type_traits/detail/bool_trait_undef.hpp>
-
-#endif // BOOST_TT_TYPE_WITH_ALIGNMENT_INCLUDED
-
-
diff --git a/boost/typeof/dmc/typeof_impl.hpp b/boost/typeof/dmc/typeof_impl.hpp
deleted file mode 100644
index 2460622..0000000
--- a/boost/typeof/dmc/typeof_impl.hpp
+++ /dev/null
@@ -1,100 +0,0 @@
-// Copyright (C) 2007 Peder Holt
-
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPEOF_MSVC_TYPEOF_IMPL_HPP_INCLUDED
-# define BOOST_TYPEOF_MSVC_TYPEOF_IMPL_HPP_INCLUDED
-
-# include <boost/config.hpp>
-# include <boost/detail/workaround.hpp>
-# include <boost/mpl/int.hpp>
-
-namespace boost
-{
- namespace type_of
- {
-
- template<int N> struct encode_counter : encode_counter<N - 1> {};
- template<> struct encode_counter<0> {};
-
- char (*encode_index(...))[1];
-
-# define BOOST_TYPEOF_INDEX(T) (sizeof(*boost::type_of::encode_index((boost::type_of::encode_counter<1000>*)0)))
-# define BOOST_TYPEOF_NEXT_INDEX(next) friend char (*encode_index(encode_counter<next>*))[next];
-
-
- //Typeof code
-
- template<typename ID>
- struct msvc_extract_type
- {
- struct id2type;
- };
-
- template<typename T, typename ID>
- struct msvc_register_type : msvc_extract_type<ID>
- {
- typedef msvc_extract_type<ID> base_type;
- struct base_type::id2type // This uses nice VC6.5 and VC7.1 bugfeature, also works for Digital Mars
- {
- typedef T type;
- };
- };
-
-
- template<int ID>
- struct msvc_typeid_wrapper {
- typedef typename msvc_extract_type<mpl::int_<ID> >::id2type id2type;
- typedef typename id2type::type type;
- };
-
- //Tie it all together
- template<typename T>
- struct encode_type
- {
- //Get the next available compile time constants index
- BOOST_STATIC_CONSTANT(unsigned,value=BOOST_TYPEOF_INDEX(T));
- //Instantiate the template
- typedef typename msvc_register_type<T,mpl::int_<value> >::id2type type;
- //Set the next compile time constants index
- BOOST_STATIC_CONSTANT(unsigned,next=value+1);
- //Increment the compile time constant (only needed when extensions are not active
- BOOST_TYPEOF_NEXT_INDEX(next);
- };
-
- template<class T>
- struct sizer
- {
- typedef char(*type)[encode_type<T>::value];
- };
-
- template<typename T>
- typename sizer<T>::type encode_start(T const&);
-
- template<typename Organizer, typename T>
- msvc_register_type<T,Organizer> typeof_register_type(const T&,Organizer* =0);
-
-# define BOOST_TYPEOF(expr) \
- boost::type_of::msvc_typeid_wrapper<sizeof(*boost::type_of::encode_start(expr))>::type
-
-# define BOOST_TYPEOF_TPL(expr) typename BOOST_TYPEOF(expr)
-
-# define BOOST_TYPEOF_NESTED_TYPEDEF_TPL(name,expr) \
- struct name {\
- BOOST_STATIC_CONSTANT(int,_typeof_register_value=sizeof(boost::type_of::typeof_register_type<name>(expr)));\
- typedef typename boost::type_of::msvc_extract_type<name>::id2type id2type;\
- typedef typename id2type::type type;\
- };
-
-# define BOOST_TYPEOF_NESTED_TYPEDEF(name,expr) \
- struct name {\
- BOOST_STATIC_CONSTANT(int,_typeof_register_value=sizeof(boost::type_of::typeof_register_type<name>(expr)));\
- typedef boost::type_of::msvc_extract_type<name>::id2type id2type;\
- typedef id2type::type type;\
- };
-
- }
-}
-
-#endif//BOOST_TYPEOF_MSVC_TYPEOF_IMPL_HPP_INCLUDED
diff --git a/boost/typeof/encode_decode.hpp b/boost/typeof/encode_decode.hpp
deleted file mode 100644
index 5a13fd5..0000000
--- a/boost/typeof/encode_decode.hpp
+++ /dev/null
@@ -1,61 +0,0 @@
-// Copyright (C) 2004 Arkadiy Vertleyb
-
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-// boostinspect:nounnamed
-
-#ifndef BOOST_TYPEOF_ENCODE_DECODE_HPP_INCLUDED
-#define BOOST_TYPEOF_ENCODE_DECODE_HPP_INCLUDED
-
-#include <boost/mpl/deref.hpp>
-#include <boost/mpl/next.hpp>
-
-#ifndef BOOST_TYPEOF_SUPPRESS_UNNAMED_NAMESPACE
-
-# define BOOST_TYPEOF_BEGIN_ENCODE_NS namespace { namespace boost_typeof {
-# define BOOST_TYPEOF_END_ENCODE_NS }}
-# define BOOST_TYPEOF_ENCODE_NS_QUALIFIER boost_typeof
-
-#else
-
-# define BOOST_TYPEOF_BEGIN_ENCODE_NS namespace boost { namespace type_of {
-# define BOOST_TYPEOF_END_ENCODE_NS }}
-# define BOOST_TYPEOF_ENCODE_NS_QUALIFIER boost::type_of
-
-# define BOOST_TYPEOF_TEXT "unnamed namespace is off"
-# include <boost/typeof/message.hpp>
-
-#endif
-
-BOOST_TYPEOF_BEGIN_ENCODE_NS
-
-template<class V, class Type_Not_Registered_With_Typeof_System>
-struct encode_type_impl;
-
-template<class T, class Iter>
-struct decode_type_impl
-{
- typedef int type; // MSVC ETI workaround
-};
-
-template<class T>
-struct decode_nested_template_helper_impl;
-
-BOOST_TYPEOF_END_ENCODE_NS
-
-namespace boost { namespace type_of {
-
- template<class V, class T>
- struct encode_type : BOOST_TYPEOF_ENCODE_NS_QUALIFIER::encode_type_impl<V, T>
- {};
-
- template<class Iter>
- struct decode_type : BOOST_TYPEOF_ENCODE_NS_QUALIFIER::decode_type_impl<
- typename Iter::type,
- typename Iter::next
- >
- {};
-}}
-
-#endif//BOOST_TYPEOF_ENCODE_DECODE_HPP_INCLUDED
diff --git a/boost/typeof/encode_decode_params.hpp b/boost/typeof/encode_decode_params.hpp
deleted file mode 100644
index 640bfdc..0000000
--- a/boost/typeof/encode_decode_params.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright (C) 2005 Arkadiy Vertleyb
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPEOF_ENCODE_DECODE_PARAMS_HPP_INCLUDED
-#define BOOST_TYPEOF_ENCODE_DECODE_PARAMS_HPP_INCLUDED
-
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/repetition/repeat.hpp>
-
-// Assumes iter0 contains initial iterator
-
-#define BOOST_TYPEOF_DECODE_PARAM(z, n, text) \
- typedef boost::type_of::decode_type<iter##n> decode##n; \
- typedef typename decode##n::type p##n; \
- typedef typename decode##n::iter BOOST_PP_CAT(iter, BOOST_PP_INC(n));
-
-#define BOOST_TYPEOF_DECODE_PARAMS(n)\
- BOOST_PP_REPEAT(n, BOOST_TYPEOF_DECODE_PARAM, ~)
-
-// The P0, P1, ... PN are encoded and added to V
-
-#define BOOST_TYPEOF_ENCODE_PARAMS_BEGIN(z, n, text)\
- typename boost::type_of::encode_type<
-
-#define BOOST_TYPEOF_ENCODE_PARAMS_END(z, n, text)\
- , BOOST_PP_CAT(P, n)>::type
-
-#define BOOST_TYPEOF_ENCODE_PARAMS(n, ID) \
- BOOST_PP_REPEAT(n, BOOST_TYPEOF_ENCODE_PARAMS_BEGIN, ~) \
- typename boost::type_of::push_back<V, boost::mpl::size_t<ID> >::type \
- BOOST_PP_REPEAT(n, BOOST_TYPEOF_ENCODE_PARAMS_END, ~)
-
-#endif//BOOST_TYPEOF_ENCODE_DECODE_PARAMS_HPP_INCLUDED
diff --git a/boost/typeof/int_encoding.hpp b/boost/typeof/int_encoding.hpp
deleted file mode 100644
index 482b7f6..0000000
--- a/boost/typeof/int_encoding.hpp
+++ /dev/null
@@ -1,118 +0,0 @@
-// Copyright (C) 2004 Arkadiy Vertleyb
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPEOF_INT_ENCODING_HPP_INCLUDED
-#define BOOST_TYPEOF_INT_ENCODING_HPP_INCLUDED
-
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/size_t.hpp>
-#include <boost/config.hpp>
-
-namespace boost { namespace type_of {
-
- template<class T> struct get_unsigned
- {
- typedef T type;
- };
- template<> struct get_unsigned<signed char>
- {
- typedef unsigned char type;
- };
- template<> struct get_unsigned<char>
- {
- typedef unsigned char type;
- };
- template<> struct get_unsigned<short>
- {
- typedef unsigned short type;
- };
- template<> struct get_unsigned<int>
- {
- typedef unsigned int type;
- };
- template<> struct get_unsigned<long>
- {
- typedef unsigned long type;
- };
-
- //////////////////////////
-
- template<std::size_t n, bool Overflow>
- struct pack
- {
- BOOST_STATIC_CONSTANT(std::size_t , value=((n + 1) * 2 + (Overflow ? 1 : 0)));
- };
-
- template<std::size_t m>
- struct unpack
- {
- BOOST_STATIC_CONSTANT(std::size_t, value = (m / 2) - 1);
- BOOST_STATIC_CONSTANT(std::size_t, overflow = (m % 2 == 1));
- };
-
- ////////////////////////////////
-
- template<class V, std::size_t n, bool overflow = (n >= 0x3fffffff)>
- struct encode_size_t : push_back<
- V,
- boost::mpl::size_t<pack<n, false>::value>
- >
- {};
-
- template<class V, std::size_t n>
- struct encode_size_t<V, n, true> : push_back<typename push_back<
- V,
- boost::mpl::size_t<pack<n % 0x3ffffffe, true>::value> >::type,
- boost::mpl::size_t<n / 0x3ffffffe>
- >
- {};
-
- template<class V, class T, T n>
- struct encode_integral : encode_size_t< V, (typename get_unsigned<T>::type)n,(((typename get_unsigned<T>::type)n)>=0x3fffffff) >
- {};
-
- template<class V, bool b>
- struct encode_integral<V, bool, b> : encode_size_t< V, b?1:0, false>
- {};
- ///////////////////////////
-
- template<std::size_t n, class Iter, bool overflow>
- struct decode_size_t;
-
- template<std::size_t n, class Iter>
- struct decode_size_t<n, Iter, false>
- {
- BOOST_STATIC_CONSTANT(std::size_t,value = n);
- typedef Iter iter;
- };
-
- template<std::size_t n, class Iter>
- struct decode_size_t<n, Iter, true>
- {
- BOOST_STATIC_CONSTANT(std::size_t,m = Iter::type::value);
-
- BOOST_STATIC_CONSTANT(std::size_t,value = (std::size_t)m * 0x3ffffffe + n);
- typedef typename Iter::next iter;
- };
-
- template<class T, class Iter>
- struct decode_integral
- {
- typedef decode_integral<T,Iter> self_t;
- BOOST_STATIC_CONSTANT(std::size_t,m = Iter::type::value);
-
- BOOST_STATIC_CONSTANT(std::size_t,n = unpack<m>::value);
-
- BOOST_STATIC_CONSTANT(std::size_t,overflow = unpack<m>::overflow);
-
- typedef typename Iter::next nextpos;
-
- static const T value = (T)(std::size_t)decode_size_t<n, nextpos, overflow>::value;
-
- typedef typename decode_size_t<self_t::n, nextpos, self_t::overflow>::iter iter;
- };
-
-}}//namespace
-
-#endif//BOOST_TYPEOF_INT_ENCODING_HPP_INCLUDED
diff --git a/boost/typeof/integral_template_param.hpp b/boost/typeof/integral_template_param.hpp
deleted file mode 100644
index 8543be7..0000000
--- a/boost/typeof/integral_template_param.hpp
+++ /dev/null
@@ -1,80 +0,0 @@
-// Copyright (C) 2005 Arkadiy Vertleyb
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPEOF_INTEGRAL_TEMPLATE_PARAM_HPP_INCLUDED
-#define BOOST_TYPEOF_INTEGRAL_TEMPLATE_PARAM_HPP_INCLUDED
-
-#define BOOST_TYPEOF_unsigned (unsigned)
-#define BOOST_TYPEOF_signed (signed)
-
-#define char_BOOST_TYPEOF (char)
-#define short_BOOST_TYPEOF (short)
-#define int_BOOST_TYPEOF (int)
-#define long_BOOST_TYPEOF (long)
-
-#define BOOST_TYPEOF_char_BOOST_TYPEOF (char)
-#define BOOST_TYPEOF_short_BOOST_TYPEOF (short)
-#define BOOST_TYPEOF_int_BOOST_TYPEOF (int)
-#define BOOST_TYPEOF_long_BOOST_TYPEOF (long)
-#define BOOST_TYPEOF_bool_BOOST_TYPEOF (bool)
-#define BOOST_TYPEOF_unsigned_BOOST_TYPEOF (unsigned)
-#define BOOST_TYPEOF_size_t_BOOST_TYPEOF (size_t)
-
-#define BOOST_TYPEOF_MAKE_OBJ_char BOOST_TYPEOF_INTEGRAL_PARAM(char)
-#define BOOST_TYPEOF_MAKE_OBJ_short BOOST_TYPEOF_INTEGRAL_PARAM(short)
-#define BOOST_TYPEOF_MAKE_OBJ_int BOOST_TYPEOF_INTEGRAL_PARAM(int)
-#define BOOST_TYPEOF_MAKE_OBJ_long BOOST_TYPEOF_INTEGRAL_PARAM(long)
-#define BOOST_TYPEOF_MAKE_OBJ_bool BOOST_TYPEOF_INTEGRAL_PARAM(bool)
-#define BOOST_TYPEOF_MAKE_OBJ_unsigned BOOST_TYPEOF_INTEGRAL_PARAM(unsigned)
-#define BOOST_TYPEOF_MAKE_OBJ_size_t BOOST_TYPEOF_INTEGRAL_PARAM(size_t)
-#define BOOST_TYPEOF_MAKE_OBJ_unsignedchar BOOST_TYPEOF_INTEGRAL_PARAM(unsigned char)
-#define BOOST_TYPEOF_MAKE_OBJ_unsignedshort BOOST_TYPEOF_INTEGRAL_PARAM(unsigned short)
-#define BOOST_TYPEOF_MAKE_OBJ_unsignedint BOOST_TYPEOF_INTEGRAL_PARAM(unsigned int)
-#define BOOST_TYPEOF_MAKE_OBJ_unsignedlong BOOST_TYPEOF_INTEGRAL_PARAM(unsigned long)
-#define BOOST_TYPEOF_MAKE_OBJ_signedchar BOOST_TYPEOF_INTEGRAL_PARAM(signed char)
-#define BOOST_TYPEOF_MAKE_OBJ_signedshort BOOST_TYPEOF_INTEGRAL_PARAM(signed short)
-#define BOOST_TYPEOF_MAKE_OBJ_signedint BOOST_TYPEOF_INTEGRAL_PARAM(signed int)
-#define BOOST_TYPEOF_MAKE_OBJ_signedlong BOOST_TYPEOF_INTEGRAL_PARAM(signed long)
-#define BOOST_TYPEOF_MAKE_OBJ_integral(x) BOOST_TYPEOF_INTEGRAL_PARAM(x)
-
-#define BOOST_TYPEOF_INTEGRAL(X) integral(X) BOOST_TYPEOF_EAT
-#define BOOST_TYPEOF_EAT_BOOST_TYPEOF
-#define BOOST_TYPEOF_integral(X) (integral(X))
-
-#define BOOST_TYPEOF_INTEGRAL_PARAM(Type)\
- (INTEGRAL_PARAM)\
- (Type)
-
-#define BOOST_TYPEOF_INTEGRAL_PARAM_GETTYPE(Param)\
- BOOST_PP_SEQ_ELEM(1, Param)
-
-#define BOOST_TYPEOF_INTEGRAL_PARAM_EXPANDTYPE(Param)\
- BOOST_TYPEOF_INTEGRAL_PARAM_GETTYPE(Param)
-
-// INTEGRAL_PARAM "virtual functions" implementation
-
-#define BOOST_TYPEOF_INTEGRAL_PARAM_ENCODE(This, n)\
- typedef typename boost::type_of::encode_integral<\
- BOOST_PP_CAT(V, n),\
- BOOST_TYPEOF_INTEGRAL_PARAM_GETTYPE(This),\
- BOOST_PP_CAT(P, n)\
- >::type BOOST_PP_CAT(V, BOOST_PP_INC(n));
-
-#define BOOST_TYPEOF_INTEGRAL_PARAM_DECODE(This, n)\
- typedef boost::type_of::decode_integral<BOOST_TYPEOF_INTEGRAL_PARAM_GETTYPE(This), BOOST_PP_CAT(iter, n)> BOOST_PP_CAT(d, n);\
- static const BOOST_TYPEOF_INTEGRAL_PARAM_GETTYPE(This) BOOST_PP_CAT(P, n) = BOOST_PP_CAT(d, n)::value;\
- typedef typename BOOST_PP_CAT(d, n)::iter BOOST_PP_CAT(iter, BOOST_PP_INC(n));
-
-#define BOOST_TYPEOF_INTEGRAL_PARAM_PLACEHOLDER(Param)\
- (BOOST_TYPEOF_INTEGRAL_PARAM_GETTYPE(Param))0
-
-#define BOOST_TYPEOF_INTEGRAL_PARAM_DECLARATION_TYPE(Param)\
- BOOST_TYPEOF_INTEGRAL_PARAM_GETTYPE(Param)
-
-#define BOOST_TYPEOF_INTEGRAL_PARAM_PLACEHOLDER_TYPES(Param, n)\
- BOOST_PP_CAT(T,n)
-
-#define BOOST_TYPEOF_INTEGRAL_PARAM_ISTEMPLATE 0
-
-#endif//BOOST_TYPEOF_INTEGRAL_TEMPLATE_PARAM_HPP_INCLUDED
diff --git a/boost/typeof/message.hpp b/boost/typeof/message.hpp
deleted file mode 100644
index cabbb82..0000000
--- a/boost/typeof/message.hpp
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright (C) 2005 Arkadiy Vertleyb
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
-
-#if defined(_MSC_VER) && defined BOOST_TYPEOF_MESSAGES
-# pragma message(BOOST_TYPEOF_TEXT)
-#endif
-#undef BOOST_TYPEOF_TEXT
diff --git a/boost/typeof/modifiers.hpp b/boost/typeof/modifiers.hpp
deleted file mode 100644
index 630d0dc..0000000
--- a/boost/typeof/modifiers.hpp
+++ /dev/null
@@ -1,121 +0,0 @@
-// Copyright (C) 2004 Arkadiy Vertleyb
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPEOF_MODIFIERS_HPP_INCLUDED
-#define BOOST_TYPEOF_MODIFIERS_HPP_INCLUDED
-
-#include <boost/typeof/encode_decode.hpp>
-#include <boost/preprocessor/facilities/identity.hpp>
-
-#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
-
-// modifiers
-
-#define BOOST_TYPEOF_modifier_support(ID, Fun)\
- template<class V, class T> struct encode_type_impl<V, Fun(T)>\
- {\
- typedef\
- typename boost::type_of::encode_type<\
- typename boost::type_of::push_back<\
- V\
- , boost::mpl::size_t<ID> >::type\
- , T>::type\
- type;\
- };\
- template<class Iter> struct decode_type_impl<boost::mpl::size_t<ID>, Iter>\
- {\
- typedef boost::type_of::decode_type<Iter> d1;\
- typedef Fun(typename d1::type) type;\
- typedef typename d1::iter iter;\
- }
-
-
-#define BOOST_TYPEOF_const_fun(T) const T
-#define BOOST_TYPEOF_volatile_fun(T) volatile T
-#define BOOST_TYPEOF_volatile_const_fun(T) volatile const T
-#define BOOST_TYPEOF_pointer_fun(T) T*
-#define BOOST_TYPEOF_reference_fun(T) T&
-
-#if defined(__BORLANDC__) && (__BORLANDC__ < 0x600)
-//Borland incorrectly handles T const, T const volatile and T volatile.
-//It drops the decoration no matter what, so we need to try to handle T* const etc. without loosing the top modifier.
-#define BOOST_TYPEOF_const_pointer_fun(T) T const *
-#define BOOST_TYPEOF_const_reference_fun(T) T const &
-#define BOOST_TYPEOF_volatile_pointer_fun(T) T volatile*
-#define BOOST_TYPEOF_volatile_reference_fun(T) T volatile&
-#define BOOST_TYPEOF_volatile_const_pointer_fun(T) T volatile const *
-#define BOOST_TYPEOF_volatile_const_reference_fun(T) T volatile const &
-#endif
-
-BOOST_TYPEOF_BEGIN_ENCODE_NS
-
-BOOST_TYPEOF_modifier_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_TYPEOF_const_fun);
-BOOST_TYPEOF_modifier_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_TYPEOF_volatile_fun);
-BOOST_TYPEOF_modifier_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_TYPEOF_volatile_const_fun);
-BOOST_TYPEOF_modifier_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_TYPEOF_pointer_fun);
-BOOST_TYPEOF_modifier_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_TYPEOF_reference_fun);
-
-#if defined(__BORLANDC__) && (__BORLANDC__ < 0x600)
-BOOST_TYPEOF_modifier_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_TYPEOF_const_pointer_fun);
-BOOST_TYPEOF_modifier_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_TYPEOF_const_reference_fun);
-BOOST_TYPEOF_modifier_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_TYPEOF_volatile_pointer_fun);
-BOOST_TYPEOF_modifier_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_TYPEOF_volatile_reference_fun);
-BOOST_TYPEOF_modifier_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_TYPEOF_volatile_const_pointer_fun);
-BOOST_TYPEOF_modifier_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_TYPEOF_volatile_const_reference_fun);
-#endif
-
-BOOST_TYPEOF_END_ENCODE_NS
-
-#undef BOOST_TYPEOF_modifier_support
-#undef BOOST_TYPEOF_const_fun
-#undef BOOST_TYPEOF_volatile_fun
-#undef BOOST_TYPEOF_volatile_const_fun
-#undef BOOST_TYPEOF_pointer_fun
-#undef BOOST_TYPEOF_reference_fun
-
-#if defined(__BORLANDC__) && (__BORLANDC__ < 0x600)
-#undef BOOST_TYPEOF_const_pointer_fun
-#undef BOOST_TYPEOF_const_reference_fun
-#undef BOOST_TYPEOF_volatile_pointer_fun
-#undef BOOST_TYPEOF_volatile_reference_fun
-#undef BOOST_TYPEOF_volatile_const_pointer_fun
-#undef BOOST_TYPEOF_volatile_const_reference_fun
-#endif
-
-// arrays
-
-#define BOOST_TYPEOF_array_support(ID, Qualifier)\
- template<class V, class T, int N>\
- struct encode_type_impl<V, Qualifier() T[N]>\
- {\
- typedef\
- typename boost::type_of::encode_type<\
- typename boost::type_of::push_back<\
- typename boost::type_of::push_back<\
- V\
- , boost::mpl::size_t<ID> >::type\
- , boost::mpl::size_t<N> >::type\
- , T>::type\
- type;\
- };\
- template<class Iter>\
- struct decode_type_impl<boost::mpl::size_t<ID>, Iter>\
- {\
- enum{n = Iter::type::value};\
- typedef boost::type_of::decode_type<typename Iter::next> d;\
- typedef typename d::type Qualifier() type[n];\
- typedef typename d::iter iter;\
- }
-
-BOOST_TYPEOF_BEGIN_ENCODE_NS
-
-BOOST_TYPEOF_array_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_PP_EMPTY);
-BOOST_TYPEOF_array_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_PP_IDENTITY(const));
-BOOST_TYPEOF_array_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_PP_IDENTITY(volatile));
-BOOST_TYPEOF_array_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_PP_IDENTITY(volatile const));
-BOOST_TYPEOF_END_ENCODE_NS
-
-#undef BOOST_TYPEOF_array_support
-
-#endif//BOOST_TYPEOF_MODIFIERS_HPP_INCLUDED
diff --git a/boost/typeof/msvc/typeof_impl.hpp b/boost/typeof/msvc/typeof_impl.hpp
deleted file mode 100644
index 74ebc70..0000000
--- a/boost/typeof/msvc/typeof_impl.hpp
+++ /dev/null
@@ -1,283 +0,0 @@
-
-// Copyright (C) 2005 Igor Chesnokov, mailto:ichesnokov at gmail.com (VC 6.5,VC 7.1 + counter code)
-// Copyright (C) 2005-2007 Peder Holt (VC 7.0 + framework)
-// Copyright (C) 2006 Steven Watanabe (VC 8.0)
-
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPEOF_MSVC_TYPEOF_IMPL_HPP_INCLUDED
-# define BOOST_TYPEOF_MSVC_TYPEOF_IMPL_HPP_INCLUDED
-
-# include <boost/config.hpp>
-# include <boost/detail/workaround.hpp>
-# include <boost/mpl/int.hpp>
-# include <boost/type_traits/is_function.hpp>
-# include <boost/utility/enable_if.hpp>
-
-# if BOOST_WORKAROUND(BOOST_MSVC,>=1310)
-# include <typeinfo>
-# endif
-
-namespace boost
-{
- namespace type_of
- {
-
- //Compile time constant code
-# if BOOST_WORKAROUND(BOOST_MSVC,>=1300) && defined(_MSC_EXTENSIONS)
- template<int N> struct the_counter;
-
- template<typename T,int N = 5/*for similarity*/>
- struct encode_counter
- {
- __if_exists(the_counter<N + 256>)
- {
- BOOST_STATIC_CONSTANT(unsigned,count=(encode_counter<T,N + 257>::count));
- }
- __if_not_exists(the_counter<N + 256>)
- {
- __if_exists(the_counter<N + 64>)
- {
- BOOST_STATIC_CONSTANT(unsigned,count=(encode_counter<T,N + 65>::count));
- }
- __if_not_exists(the_counter<N + 64>)
- {
- __if_exists(the_counter<N + 16>)
- {
- BOOST_STATIC_CONSTANT(unsigned,count=(encode_counter<T,N + 17>::count));
- }
- __if_not_exists(the_counter<N + 16>)
- {
- __if_exists(the_counter<N + 4>)
- {
- BOOST_STATIC_CONSTANT(unsigned,count=(encode_counter<T,N + 5>::count));
- }
- __if_not_exists(the_counter<N + 4>)
- {
- __if_exists(the_counter<N>)
- {
- BOOST_STATIC_CONSTANT(unsigned,count=(encode_counter<T,N + 1>::count));
- }
- __if_not_exists(the_counter<N>)
- {
- BOOST_STATIC_CONSTANT(unsigned,count=N);
- typedef the_counter<N> type;
- }
- }
- }
- }
- }
- };
-
-# define BOOST_TYPEOF_INDEX(T) (encode_counter<T>::count)
-# define BOOST_TYPEOF_NEXT_INDEX(next)
-# else
- template<int N> struct encode_counter : encode_counter<N - 1> {};
- template<> struct encode_counter<0> {};
-
- //Need to default to a larger value than 4, as due to MSVC's ETI errors. (sizeof(int)==4)
- char (*encode_index(...))[5];
-
-# define BOOST_TYPEOF_INDEX(T) (sizeof(*boost::type_of::encode_index((boost::type_of::encode_counter<1005>*)0)))
-# define BOOST_TYPEOF_NEXT_INDEX(next) friend char (*encode_index(encode_counter<next>*))[next];
-# endif
-
- //Typeof code
-
-# if BOOST_WORKAROUND(BOOST_MSVC,==1300)
- template<typename ID>
- struct msvc_extract_type
- {
- template<bool>
- struct id2type_impl;
-
- typedef id2type_impl<true> id2type;
- };
-
- template<typename T, typename ID>
- struct msvc_register_type : msvc_extract_type<ID>
- {
- template<>
- struct id2type_impl<true> //VC7.0 specific bugfeature
- {
- typedef T type;
- };
- };
-#elif BOOST_WORKAROUND(BOOST_MSVC,>=1400)
- struct msvc_extract_type_default_param {};
-
- template<typename ID, typename T = msvc_extract_type_default_param>
- struct msvc_extract_type;
-
- template<typename ID>
- struct msvc_extract_type<ID, msvc_extract_type_default_param> {
- template<bool>
- struct id2type_impl;
-
- typedef id2type_impl<true> id2type;
- };
-
- template<typename ID, typename T>
- struct msvc_extract_type : msvc_extract_type<ID,msvc_extract_type_default_param>
- {
- template<>
- struct id2type_impl<true> //VC8.0 specific bugfeature
- {
- typedef T type;
- };
- template<bool>
- struct id2type_impl;
-
- typedef id2type_impl<true> id2type;
- };
-
- template<typename T, typename ID>
- struct msvc_register_type : msvc_extract_type<ID, T>
- {
- };
-# else
- template<typename ID>
- struct msvc_extract_type
- {
- struct id2type;
- };
-
- template<typename T, typename ID>
- struct msvc_register_type : msvc_extract_type<ID>
- {
- typedef msvc_extract_type<ID> base_type;
- struct base_type::id2type // This uses nice VC6.5 and VC7.1 bugfeature
- {
- typedef T type;
- };
- };
-# endif
-// EAN: preprocess this block out on advice of Peder Holt
-// to eliminate errors in type_traits/common_type.hpp
-# if 0 //BOOST_WORKAROUND(BOOST_MSVC,==1310)
- template<const std::type_info& ref_type_info>
- struct msvc_typeid_wrapper {
- typedef typename msvc_extract_type<msvc_typeid_wrapper>::id2type id2type;
- typedef typename id2type::type wrapped_type;
- typedef typename wrapped_type::type type;
- };
- //This class is used for registering the type T. encode_type<T> is mapped against typeid(encode_type<T>).
- //msvc_typeid_wrapper<typeid(encode_type<T>)> will now have a type typedef that equals encode_type<T>.
- template<typename T>
- struct encode_type
- {
- typedef encode_type<T> input_type;
- //Invoke registration of encode_type<T>. typeid(encode_type<T>) is now mapped to encode_type<T>. Do not use registered_type for anything.
- //The reason for registering encode_type<T> rather than T, is that VC handles typeid(function reference) poorly. By adding another
- //level of indirection, we solve this problem.
- typedef typename msvc_register_type<input_type,msvc_typeid_wrapper<typeid(input_type)> >::id2type registered_type;
- typedef T type;
- };
-
- template<typename T> typename disable_if<
- typename is_function<T>::type,
- typename encode_type<T>::input_type>::type encode_start(T const&);
-
- template<typename T> typename enable_if<
- typename is_function<T>::type,
- typename encode_type<T>::input_type>::type encode_start(T&);
-
- template<typename Organizer, typename T>
- msvc_register_type<T,Organizer> typeof_register_type(const T&);
-
-
-# define BOOST_TYPEOF(expr) \
- boost::type_of::msvc_typeid_wrapper<typeid(boost::type_of::encode_start(expr))>::type
-
-# define BOOST_TYPEOF_TPL(expr) typename BOOST_TYPEOF(expr)
-
-# define BOOST_TYPEOF_NESTED_TYPEDEF_TPL(name,expr) \
-struct name {\
- enum {_typeof_register_value=sizeof(typeid(boost::type_of::typeof_register_type<name>(expr)))};\
- typedef typename boost::type_of::msvc_extract_type<name>::id2type id2type;\
- typedef typename id2type::type type;\
-};
-
-# define BOOST_TYPEOF_NESTED_TYPEDEF(name,expr) \
-struct name {\
- enum {_typeof_register_value=sizeof(typeid(boost::type_of::typeof_register_type<name>(expr)))};\
- typedef boost::type_of::msvc_extract_type<name>::id2type id2type;\
- typedef id2type::type type;\
-};
-
-# else
- template<int ID>
- struct msvc_typeid_wrapper {
- typedef typename msvc_extract_type<mpl::int_<ID> >::id2type id2type;
- typedef typename id2type::type type;
- };
- //Workaround for ETI-bug for VC6 and VC7
- template<>
- struct msvc_typeid_wrapper<1> {
- typedef msvc_typeid_wrapper<1> type;
- };
- //Workaround for ETI-bug for VC7.1
- template<>
- struct msvc_typeid_wrapper<4> {
- typedef msvc_typeid_wrapper<4> type;
- };
-
- //Tie it all together
- template<typename T>
- struct encode_type
- {
- //Get the next available compile time constants index
- BOOST_STATIC_CONSTANT(unsigned,value=BOOST_TYPEOF_INDEX(T));
- //Instantiate the template
- typedef typename msvc_register_type<T,mpl::int_<value> >::id2type type;
- //Set the next compile time constants index
- BOOST_STATIC_CONSTANT(unsigned,next=value+1);
- //Increment the compile time constant (only needed when extensions are not active
- BOOST_TYPEOF_NEXT_INDEX(next);
- };
-
- template<class T>
- struct sizer
- {
- typedef char(*type)[encode_type<T>::value];
- };
-# if BOOST_WORKAROUND(BOOST_MSVC,>=1310)
- template<typename T> typename disable_if<
- typename is_function<T>::type,
- typename sizer<T>::type>::type encode_start(T const&);
-
- template<typename T> typename enable_if<
- typename is_function<T>::type,
- typename sizer<T>::type>::type encode_start(T&);
-# else
- template<typename T>
- typename sizer<T>::type encode_start(T const&);
-# endif
- template<typename Organizer, typename T>
- msvc_register_type<T,Organizer> typeof_register_type(const T&,Organizer* =0);
-
-# define BOOST_TYPEOF(expr) \
- boost::type_of::msvc_typeid_wrapper<sizeof(*boost::type_of::encode_start(expr))>::type
-
-# define BOOST_TYPEOF_TPL(expr) typename BOOST_TYPEOF(expr)
-
-# define BOOST_TYPEOF_NESTED_TYPEDEF_TPL(name,expr) \
- struct name {\
- BOOST_STATIC_CONSTANT(int,_typeof_register_value=sizeof(boost::type_of::typeof_register_type<name>(expr)));\
- typedef typename boost::type_of::msvc_extract_type<name>::id2type id2type;\
- typedef typename id2type::type type;\
- };
-
-# define BOOST_TYPEOF_NESTED_TYPEDEF(name,expr) \
- struct name {\
- BOOST_STATIC_CONSTANT(int,_typeof_register_value=sizeof(boost::type_of::typeof_register_type<name>(expr)));\
- typedef boost::type_of::msvc_extract_type<name>::id2type id2type;\
- typedef id2type::type type;\
- };
-
-#endif
- }
-}
-
-#endif//BOOST_TYPEOF_MSVC_TYPEOF_IMPL_HPP_INCLUDED
diff --git a/boost/typeof/native.hpp b/boost/typeof/native.hpp
deleted file mode 100644
index 8197e28..0000000
--- a/boost/typeof/native.hpp
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright (C) 2006 Arkadiy Vertleyb
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPEOF_NATIVE_HPP_INCLUDED
-#define BOOST_TYPEOF_NATIVE_HPP_INCLUDED
-
-#ifndef MSVC_TYPEOF_HACK
-
-#ifdef BOOST_NO_SFINAE
-
-namespace boost { namespace type_of {
-
- template<class T>
- T& ensure_obj(const T&);
-
-}}
-
-#else
-
-#include <boost/type_traits/is_function.hpp>
-#include <boost/utility/enable_if.hpp>
-
-namespace boost { namespace type_of {
-# ifdef BOOST_NO_SFINAE
- template<class T>
- T& ensure_obj(const T&);
-# else
- template<typename T>
- typename enable_if<is_function<T>, T&>::type
- ensure_obj(T&);
-
- template<typename T>
- typename disable_if<is_function<T>, T&>::type
- ensure_obj(const T&);
-# endif
-}}
-
-#endif//BOOST_NO_SFINAE
-
-#define BOOST_TYPEOF(expr) BOOST_TYPEOF_KEYWORD(boost::type_of::ensure_obj(expr))
-#define BOOST_TYPEOF_TPL BOOST_TYPEOF
-
-#define BOOST_TYPEOF_NESTED_TYPEDEF_TPL(name,expr) \
- struct name {\
- typedef BOOST_TYPEOF_TPL(expr) type;\
- };
-
-#define BOOST_TYPEOF_NESTED_TYPEDEF(name,expr) \
- struct name {\
- typedef BOOST_TYPEOF(expr) type;\
- };
-
-#endif//MSVC_TYPEOF_HACK
-
-#define BOOST_TYPEOF_REGISTER_TYPE(x)
-#define BOOST_TYPEOF_REGISTER_TEMPLATE(x, params)
-
-#endif//BOOST_TYPEOF_NATIVE_HPP_INCLUDED
-
diff --git a/boost/typeof/pointers_data_members.hpp b/boost/typeof/pointers_data_members.hpp
deleted file mode 100644
index 2b47e97..0000000
--- a/boost/typeof/pointers_data_members.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright (C) 2004 Arkadiy Vertleyb
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPEOF_POINTERS_DATA_MEMBERS_HPP_INCLUDED
-#define BOOST_TYPEOF_POINTERS_DATA_MEMBERS_HPP_INCLUDED
-
-#include <boost/typeof/encode_decode_params.hpp>
-#include <boost/typeof/encode_decode.hpp>
-
-#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
-
-BOOST_TYPEOF_BEGIN_ENCODE_NS
-
-enum {PTR_DATA_MEM_ID = BOOST_TYPEOF_UNIQUE_ID()};
-
-template<class V, class P0, class P1>
-struct encode_type_impl<V, P0 P1::*>
-{
- typedef BOOST_TYPEOF_ENCODE_PARAMS(2, PTR_DATA_MEM_ID) type;
-};
-
-template<class Iter>
-struct decode_type_impl<boost::mpl::size_t<PTR_DATA_MEM_ID>, Iter>
-{
- typedef Iter iter0;
- BOOST_TYPEOF_DECODE_PARAMS(2)
-
- template<class T> struct workaround{
- typedef p0 T::* type;
- };
- typedef typename decode_type_impl<boost::mpl::size_t<PTR_DATA_MEM_ID>, Iter>::template workaround<p1>::type type;
- typedef iter2 iter;
-};
-
-BOOST_TYPEOF_END_ENCODE_NS
-
-#endif//BOOST_TYPEOF_POINTERS_DATA_MEMBERS_HPP_INCLUDED
diff --git a/boost/typeof/register_functions.hpp b/boost/typeof/register_functions.hpp
deleted file mode 100644
index 407bba3..0000000
--- a/boost/typeof/register_functions.hpp
+++ /dev/null
@@ -1,50 +0,0 @@
-// Copyright (C) 2004 Arkadiy Vertleyb
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPEOF_REGISTER_FUNCTIONS_HPP_INCLUDED
-#define BOOST_TYPEOF_REGISTER_FUNCTIONS_HPP_INCLUDED
-
-#include <boost/preprocessor/repetition/enum.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_trailing_params.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/inc.hpp>
-#include <boost/preprocessor/dec.hpp>
-#include <boost/preprocessor/if.hpp>
-#include <boost/preprocessor/arithmetic/add.hpp>
-#include <boost/preprocessor/iteration/iterate.hpp>
-
-#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
-
-#ifndef BOOST_TYPEOF_LIMIT_FUNCTION_ARITY
-#define BOOST_TYPEOF_LIMIT_FUNCTION_ARITY 10
-#endif
-
-enum
-{
- FUN_ID = BOOST_TYPEOF_UNIQUE_ID(),
- FUN_PTR_ID = FUN_ID + 1 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
- FUN_REF_ID = FUN_ID + 2 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
- MEM_FUN_ID = FUN_ID + 3 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
- CONST_MEM_FUN_ID = FUN_ID + 4 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
- VOLATILE_MEM_FUN_ID = FUN_ID + 5 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
- VOLATILE_CONST_MEM_FUN_ID = FUN_ID + 6 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
- FUN_VAR_ID = FUN_ID + 7 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
- FUN_VAR_PTR_ID = FUN_ID + 8 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
- FUN_VAR_REF_ID = FUN_ID + 9 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
- MEM_FUN_VAR_ID = FUN_ID + 10 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
- CONST_MEM_FUN_VAR_ID = FUN_ID + 11 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
- VOLATILE_MEM_FUN_VAR_ID = FUN_ID + 12 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY),
- VOLATILE_CONST_MEM_FUN_VAR_ID = FUN_ID + 13 * BOOST_PP_INC(BOOST_TYPEOF_LIMIT_FUNCTION_ARITY)
-};
-
-BOOST_TYPEOF_BEGIN_ENCODE_NS
-
-# define BOOST_PP_ITERATION_LIMITS (0, BOOST_TYPEOF_LIMIT_FUNCTION_ARITY)
-# define BOOST_PP_FILENAME_1 <boost/typeof/register_functions_iterate.hpp>
-# include BOOST_PP_ITERATE()
-
-BOOST_TYPEOF_END_ENCODE_NS
-
-#endif//BOOST_TYPEOF_REGISTER_FUNCTIONS_HPP_INCLUDED
diff --git a/boost/typeof/register_functions_iterate.hpp b/boost/typeof/register_functions_iterate.hpp
deleted file mode 100644
index aaa43f3..0000000
--- a/boost/typeof/register_functions_iterate.hpp
+++ /dev/null
@@ -1,135 +0,0 @@
-// Copyright (C) 2004 Arkadiy Vertleyb
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#include <boost/typeof/encode_decode_params.hpp>
-
-#define n BOOST_PP_ITERATION()
-
-// function pointers
-
-template<class V, class R BOOST_PP_ENUM_TRAILING_PARAMS(n, class P)>
-struct encode_type_impl<V, R(*)(BOOST_PP_ENUM_PARAMS(n, P))>
-{
- typedef R BOOST_PP_CAT(P, n);
- typedef BOOST_TYPEOF_ENCODE_PARAMS(BOOST_PP_INC(n), FUN_PTR_ID + n) type;
-};
-
-template<class V, class R BOOST_PP_ENUM_TRAILING_PARAMS(n, class P)>
-struct encode_type_impl<V, R(*)(BOOST_PP_ENUM_PARAMS(n, P) ...)>
-{
- typedef R BOOST_PP_CAT(P, n);
- typedef BOOST_TYPEOF_ENCODE_PARAMS(BOOST_PP_INC(n), FUN_VAR_PTR_ID + n) type;
-};
-
-template<class Iter>
-struct decode_type_impl<boost::mpl::size_t<FUN_PTR_ID + n>, Iter>
-{
- typedef Iter iter0;
- BOOST_TYPEOF_DECODE_PARAMS(BOOST_PP_INC(n))
- typedef BOOST_PP_CAT(p, n)(*type)(BOOST_PP_ENUM_PARAMS(n, p));
- typedef BOOST_PP_CAT(iter, BOOST_PP_INC(n)) iter;
-};
-
-template<class Iter>
-struct decode_type_impl<boost::mpl::size_t<FUN_VAR_PTR_ID + n>, Iter>
-{
- typedef Iter iter0;
- BOOST_TYPEOF_DECODE_PARAMS(BOOST_PP_INC(n))
- typedef BOOST_PP_CAT(p, n)(*type)(BOOST_PP_ENUM_PARAMS(n, p) ...);
- typedef BOOST_PP_CAT(iter, BOOST_PP_INC(n)) iter;
-};
-
-#ifndef BOOST_TYPEOF_NO_FUNCTION_TYPES
-
- // function references
-
- template<class V, class R BOOST_PP_ENUM_TRAILING_PARAMS(n, class P)>
- struct encode_type_impl<V, R(&)(BOOST_PP_ENUM_PARAMS(n, P))>
- {
- typedef R BOOST_PP_CAT(P, n);
- typedef BOOST_TYPEOF_ENCODE_PARAMS(BOOST_PP_INC(n), FUN_REF_ID + n) type;
- };
-
- template<class V, class R BOOST_PP_ENUM_TRAILING_PARAMS(n, class P)>
- struct encode_type_impl<V, R(&)(BOOST_PP_ENUM_PARAMS(n, P) ...)>
- {
- typedef R BOOST_PP_CAT(P, n);
- typedef BOOST_TYPEOF_ENCODE_PARAMS(BOOST_PP_INC(n), FUN_VAR_REF_ID + n) type;
- };
-
- template<class Iter>
- struct decode_type_impl<boost::mpl::size_t<FUN_REF_ID + n>, Iter>
- {
- typedef Iter iter0;
- BOOST_TYPEOF_DECODE_PARAMS(BOOST_PP_INC(n))
- typedef BOOST_PP_CAT(p, n)(&type)(BOOST_PP_ENUM_PARAMS(n, p));
- typedef BOOST_PP_CAT(iter, BOOST_PP_INC(n)) iter;
- };
-
- template<class Iter>
- struct decode_type_impl<boost::mpl::size_t<FUN_VAR_REF_ID + n>, Iter>
- {
- typedef Iter iter0;
- BOOST_TYPEOF_DECODE_PARAMS(BOOST_PP_INC(n))
- typedef BOOST_PP_CAT(p, n)(&type)(BOOST_PP_ENUM_PARAMS(n, p) ...);
- typedef BOOST_PP_CAT(iter, BOOST_PP_INC(n)) iter;
- };
-
- // functions
-
- template<class V, class R BOOST_PP_ENUM_TRAILING_PARAMS(n, class P)>
- struct encode_type_impl<V, R(BOOST_PP_ENUM_PARAMS(n, P))>
- {
- typedef R BOOST_PP_CAT(P, n);
- typedef BOOST_TYPEOF_ENCODE_PARAMS(BOOST_PP_INC(n), FUN_ID + n) type;
- };
-
- template<class V, class R BOOST_PP_ENUM_TRAILING_PARAMS(n, class P)>
- struct encode_type_impl<V, R(BOOST_PP_ENUM_PARAMS(n, P) ...)>
- {
- typedef R BOOST_PP_CAT(P, n);
- typedef BOOST_TYPEOF_ENCODE_PARAMS(BOOST_PP_INC(n), FUN_VAR_ID + n) type;
- };
-
- template<class Iter>
- struct decode_type_impl<boost::mpl::size_t<FUN_ID + n>, Iter>
- {
- typedef Iter iter0;
- BOOST_TYPEOF_DECODE_PARAMS(BOOST_PP_INC(n))
- typedef BOOST_PP_CAT(p, n)(type)(BOOST_PP_ENUM_PARAMS(n, p));
- typedef BOOST_PP_CAT(iter, BOOST_PP_INC(n)) iter;
- };
-
- template<class Iter>
- struct decode_type_impl<boost::mpl::size_t<FUN_VAR_ID + n>, Iter>
- {
- typedef Iter iter0;
- BOOST_TYPEOF_DECODE_PARAMS(BOOST_PP_INC(n))
- typedef BOOST_PP_CAT(p, n)(type)(BOOST_PP_ENUM_PARAMS(n, p) ...);
- typedef BOOST_PP_CAT(iter, BOOST_PP_INC(n)) iter;
- };
-
-#endif//BOOST_TYPEOF_NO_FUNCTION_TYPES
-
-#ifndef BOOST_TYPEOF_NO_MEMBER_FUNCTION_TYPES
-// member functions
-
-#define BOOST_TYPEOF_qualifier
-#define BOOST_TYPEOF_id MEM_FUN_ID
-#include <boost/typeof/register_mem_functions.hpp>
-
-#define BOOST_TYPEOF_qualifier const
-#define BOOST_TYPEOF_id CONST_MEM_FUN_ID
-#include <boost/typeof/register_mem_functions.hpp>
-
-#define BOOST_TYPEOF_qualifier volatile
-#define BOOST_TYPEOF_id VOLATILE_MEM_FUN_ID
-#include <boost/typeof/register_mem_functions.hpp>
-
-#define BOOST_TYPEOF_qualifier volatile const
-#define BOOST_TYPEOF_id VOLATILE_CONST_MEM_FUN_ID
-#include <boost/typeof/register_mem_functions.hpp>
-
-#undef n
-#endif
diff --git a/boost/typeof/register_fundamental.hpp b/boost/typeof/register_fundamental.hpp
deleted file mode 100644
index 3a15888..0000000
--- a/boost/typeof/register_fundamental.hpp
+++ /dev/null
@@ -1,62 +0,0 @@
-// Copyright (C) 2004 Arkadiy Vertleyb
-// Copyright (C) 2004 Peder Holt
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPEOF_REGISTER_FUNDAMENTAL_HPP_INCLUDED
-#define BOOST_TYPEOF_REGISTER_FUNDAMENTAL_HPP_INCLUDED
-
-#include <boost/typeof/typeof.hpp>
-
-#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
-
-BOOST_TYPEOF_REGISTER_TYPE(unsigned char)
-BOOST_TYPEOF_REGISTER_TYPE(unsigned short)
-BOOST_TYPEOF_REGISTER_TYPE(unsigned int)
-BOOST_TYPEOF_REGISTER_TYPE(unsigned long)
-
-BOOST_TYPEOF_REGISTER_TYPE(signed char)
-BOOST_TYPEOF_REGISTER_TYPE(signed short)
-BOOST_TYPEOF_REGISTER_TYPE(signed int)
-BOOST_TYPEOF_REGISTER_TYPE(signed long)
-
-BOOST_TYPEOF_REGISTER_TYPE(bool)
-BOOST_TYPEOF_REGISTER_TYPE(char)
-
-BOOST_TYPEOF_REGISTER_TYPE(float)
-BOOST_TYPEOF_REGISTER_TYPE(double)
-BOOST_TYPEOF_REGISTER_TYPE(long double)
-
-#ifndef BOOST_NO_INTRINSIC_WCHAR_T
-// If the following line fails to compile and you're using the Intel
-// compiler, see http://lists.boost.org/MailArchives/boost-users/msg06567.php,
-// and define BOOST_NO_INTRINSIC_WCHAR_T on the command line.
-BOOST_TYPEOF_REGISTER_TYPE(wchar_t)
-#endif
-
-#if (defined(BOOST_MSVC) && (BOOST_MSVC == 1200)) \
- || (defined(BOOST_INTEL_CXX_VERSION) && defined(_MSC_VER) && (BOOST_INTEL_CXX_VERSION <= 600)) \
- || (defined(__BORLANDC__) && (__BORLANDC__ == 0x600) && (_MSC_VER == 1200))
-BOOST_TYPEOF_REGISTER_TYPE(unsigned __int8)
-BOOST_TYPEOF_REGISTER_TYPE(__int8)
-BOOST_TYPEOF_REGISTER_TYPE(unsigned __int16)
-BOOST_TYPEOF_REGISTER_TYPE(__int16)
-BOOST_TYPEOF_REGISTER_TYPE(unsigned __int32)
-BOOST_TYPEOF_REGISTER_TYPE(__int32)
-#ifdef __BORLANDC__
-BOOST_TYPEOF_REGISTER_TYPE(unsigned __int64)
-BOOST_TYPEOF_REGISTER_TYPE(__int64)
-#endif
-#endif
-
-# if defined(BOOST_HAS_LONG_LONG)
-BOOST_TYPEOF_REGISTER_TYPE(::boost::ulong_long_type)
-BOOST_TYPEOF_REGISTER_TYPE(::boost::long_long_type)
-#elif defined(BOOST_HAS_MS_INT64)
-BOOST_TYPEOF_REGISTER_TYPE(unsigned __int64)
-BOOST_TYPEOF_REGISTER_TYPE(__int64)
-#endif
-
-BOOST_TYPEOF_REGISTER_TYPE(void)
-
-#endif//BOOST_TYPEOF_REGISTER_FUNDAMENTAL_HPP_INCLUDED
diff --git a/boost/typeof/register_mem_functions.hpp b/boost/typeof/register_mem_functions.hpp
deleted file mode 100644
index 9cf9720..0000000
--- a/boost/typeof/register_mem_functions.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright (C) 2004 Arkadiy Vertleyb
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
-
-#include <boost/typeof/encode_decode_params.hpp>
-
-// member functions
-
-template<class V, class T, class R BOOST_PP_ENUM_TRAILING_PARAMS(n, class P)>
-struct encode_type_impl<V, R(T::*)(BOOST_PP_ENUM_PARAMS(n, P)) BOOST_TYPEOF_qualifier>
-{
- typedef R BOOST_PP_CAT(P, n);
- typedef T BOOST_PP_CAT(P, BOOST_PP_INC(n));
- typedef BOOST_TYPEOF_ENCODE_PARAMS(BOOST_PP_ADD(n, 2), BOOST_TYPEOF_id + n) type;
-};
-
-template<class Iter>
-struct decode_type_impl<boost::mpl::size_t<BOOST_TYPEOF_id + n>, Iter>
-{
- typedef Iter iter0;
- BOOST_TYPEOF_DECODE_PARAMS(BOOST_PP_ADD(n, 2))
- template<class T> struct workaround{
- typedef BOOST_PP_CAT(p, n)(T::*type)(BOOST_PP_ENUM_PARAMS(n, p)) BOOST_TYPEOF_qualifier;
- };
- typedef typename workaround<BOOST_PP_CAT(p, BOOST_PP_INC(n))>::type type;
- typedef BOOST_PP_CAT(iter, BOOST_PP_ADD(n, 2)) iter;
-};
-
-// undef parameters
-
-#undef BOOST_TYPEOF_id
-#undef BOOST_TYPEOF_qualifier
diff --git a/boost/typeof/template_encoding.hpp b/boost/typeof/template_encoding.hpp
deleted file mode 100644
index bae7e89..0000000
--- a/boost/typeof/template_encoding.hpp
+++ /dev/null
@@ -1,160 +0,0 @@
-// Copyright (C) 2004 Arkadiy Vertleyb
-// Copyright (C) 2005 Peder Holt
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPEOF_TEMPLATE_ENCODING_HPP_INCLUDED
-#define BOOST_TYPEOF_TEMPLATE_ENCODING_HPP_INCLUDED
-
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/repetition/enum_trailing.hpp>
-#include <boost/preprocessor/control/iif.hpp>
-#include <boost/preprocessor/detail/is_unary.hpp>
-#include <boost/preprocessor/repetition/repeat.hpp>
-#include <boost/preprocessor/tuple/eat.hpp>
-#include <boost/preprocessor/seq/transform.hpp>
-#include <boost/preprocessor/seq/for_each_i.hpp>
-#include <boost/preprocessor/seq/cat.hpp>
-
-#include <boost/typeof/encode_decode.hpp>
-#include <boost/typeof/int_encoding.hpp>
-
-#include <boost/typeof/type_template_param.hpp>
-#include <boost/typeof/integral_template_param.hpp>
-#include <boost/typeof/template_template_param.hpp>
-
-#ifdef __BORLANDC__
-#define BOOST_TYPEOF_QUALIFY(P) self_t::P
-#else
-#define BOOST_TYPEOF_QUALIFY(P) P
-#endif
-// The template parameter description, entered by the user,
-// is converted into a polymorphic "object"
-// that is used to generate the code responsible for
-// encoding/decoding the parameter, etc.
-
-// make sure to cat the sequence first, and only then add the prefix.
-#define BOOST_TYPEOF_MAKE_OBJ(elem) BOOST_PP_CAT(\
- BOOST_TYPEOF_MAKE_OBJ,\
- BOOST_PP_SEQ_CAT((_) BOOST_TYPEOF_TO_SEQ(elem))\
- )
-
-#define BOOST_TYPEOF_TO_SEQ(tokens) BOOST_TYPEOF_ ## tokens ## _BOOST_TYPEOF
-
-// BOOST_TYPEOF_REGISTER_TEMPLATE
-
-#define BOOST_TYPEOF_REGISTER_TEMPLATE_EXPLICIT_ID(Name, Params, Id)\
- BOOST_TYPEOF_REGISTER_TEMPLATE_IMPL(\
- Name,\
- BOOST_TYPEOF_MAKE_OBJS(BOOST_TYPEOF_TOSEQ(Params)),\
- BOOST_PP_SEQ_SIZE(BOOST_TYPEOF_TOSEQ(Params)),\
- Id)
-
-#define BOOST_TYPEOF_REGISTER_TEMPLATE(Name, Params)\
- BOOST_TYPEOF_REGISTER_TEMPLATE_EXPLICIT_ID(Name, Params, BOOST_TYPEOF_UNIQUE_ID())
-
-#define BOOST_TYPEOF_OBJECT_MAKER(s, data, elem)\
- BOOST_TYPEOF_MAKE_OBJ(elem)
-
-#define BOOST_TYPEOF_MAKE_OBJS(Params)\
- BOOST_PP_SEQ_TRANSFORM(BOOST_TYPEOF_OBJECT_MAKER, ~, Params)
-
-// As suggested by Paul Mensonides:
-
-#define BOOST_TYPEOF_TOSEQ(x)\
- BOOST_PP_IIF(\
- BOOST_PP_IS_UNARY(x),\
- x BOOST_PP_TUPLE_EAT(3), BOOST_PP_REPEAT\
- )(x, BOOST_TYPEOF_TOSEQ_2, ~)
-
-#define BOOST_TYPEOF_TOSEQ_2(z, n, _) (class)
-
-// BOOST_TYPEOF_VIRTUAL
-
-#define BOOST_TYPEOF_CAT_4(a, b, c, d) BOOST_TYPEOF_CAT_4_I(a, b, c, d)
-#define BOOST_TYPEOF_CAT_4_I(a, b, c, d) a ## b ## c ## d
-
-#define BOOST_TYPEOF_VIRTUAL(Fun, Obj)\
- BOOST_TYPEOF_CAT_4(BOOST_TYPEOF_, BOOST_PP_SEQ_HEAD(Obj), _, Fun)
-
-// BOOST_TYPEOF_SEQ_ENUM[_TRAILING][_1]
-// Two versions provided due to reentrancy issue
-
-#define BOOST_TYPEOF_SEQ_EXPAND_ELEMENT(z,n,seq)\
- BOOST_PP_SEQ_ELEM(0,seq) (z,n,BOOST_PP_SEQ_ELEM(n,BOOST_PP_SEQ_ELEM(1,seq)))
-
-#define BOOST_TYPEOF_SEQ_ENUM(seq,macro)\
- BOOST_PP_ENUM(BOOST_PP_SEQ_SIZE(seq),BOOST_TYPEOF_SEQ_EXPAND_ELEMENT,(macro)(seq))
-
-#define BOOST_TYPEOF_SEQ_ENUM_TRAILING(seq,macro)\
- BOOST_PP_ENUM_TRAILING(BOOST_PP_SEQ_SIZE(seq),BOOST_TYPEOF_SEQ_EXPAND_ELEMENT,(macro)(seq))
-
-#define BOOST_TYPEOF_SEQ_EXPAND_ELEMENT_1(z,n,seq)\
- BOOST_PP_SEQ_ELEM(0,seq) (z,n,BOOST_PP_SEQ_ELEM(n,BOOST_PP_SEQ_ELEM(1,seq)))
-
-#define BOOST_TYPEOF_SEQ_ENUM_1(seq,macro)\
- BOOST_PP_ENUM(BOOST_PP_SEQ_SIZE(seq),BOOST_TYPEOF_SEQ_EXPAND_ELEMENT_1,(macro)(seq))
-
-#define BOOST_TYPEOF_SEQ_ENUM_TRAILING_1(seq,macro)\
- BOOST_PP_ENUM_TRAILING(BOOST_PP_SEQ_SIZE(seq),BOOST_TYPEOF_SEQ_EXPAND_ELEMENT_1,(macro)(seq))
-
-//
-
-#define BOOST_TYPEOF_PLACEHOLDER(z, n, elem)\
- BOOST_TYPEOF_VIRTUAL(PLACEHOLDER, elem)(elem)
-
-#define BOOST_TYPEOF_PLACEHOLDER_TYPES(z, n, elem)\
- BOOST_TYPEOF_VIRTUAL(PLACEHOLDER_TYPES, elem)(elem, n)
-
-#define BOOST_TYPEOF_REGISTER_TEMPLATE_ENCODE_PARAM(r, data, n, elem)\
- BOOST_TYPEOF_VIRTUAL(ENCODE, elem)(elem, n)
-
-#define BOOST_TYPEOF_REGISTER_TEMPLATE_DECODE_PARAM(r, data, n, elem)\
- BOOST_TYPEOF_VIRTUAL(DECODE, elem)(elem, n)
-
-#define BOOST_TYPEOF_REGISTER_TEMPLATE_PARAM_PAIR(z, n, elem) \
- BOOST_TYPEOF_VIRTUAL(EXPANDTYPE, elem)(elem) BOOST_PP_CAT(P, n)
-
-#define BOOST_TYPEOF_REGISTER_DEFAULT_TEMPLATE_TYPE(Name,Params,ID)\
- Name< BOOST_PP_ENUM_PARAMS(BOOST_PP_SEQ_SIZE(Params), P) >
-
-//Since we are creating an internal decode struct, we need to use different template names, T instead of P.
-#define BOOST_TYPEOF_REGISTER_DECODER_TYPE_PARAM_PAIR(z,n,elem) \
- BOOST_TYPEOF_VIRTUAL(EXPANDTYPE, elem)(elem) BOOST_PP_CAT(T, n)
-
-//Default template param decoding
-
-#define BOOST_TYPEOF_TYPEDEF_DECODED_TEMPLATE_TYPE(Name,Params)\
- typedef Name<BOOST_PP_ENUM_PARAMS(BOOST_PP_SEQ_SIZE(Params),BOOST_TYPEOF_QUALIFY(P))> type;
-
-//Branch the decoding
-#define BOOST_TYPEOF_TYPEDEF_DECODED_TYPE(Name,Params)\
- BOOST_PP_IF(BOOST_TYPEOF_HAS_TEMPLATES(Params),\
- BOOST_TYPEOF_TYPEDEF_DECODED_TEMPLATE_TEMPLATE_TYPE,\
- BOOST_TYPEOF_TYPEDEF_DECODED_TEMPLATE_TYPE)(Name,Params)
-
-#define BOOST_TYPEOF_REGISTER_TEMPLATE_IMPL(Name, Params, Size, ID)\
- BOOST_TYPEOF_BEGIN_ENCODE_NS\
- BOOST_TYPEOF_REGISTER_TEMPLATE_TEMPLATE_IMPL(Name, Params, ID)\
- template<class V\
- BOOST_TYPEOF_SEQ_ENUM_TRAILING(Params, BOOST_TYPEOF_REGISTER_TEMPLATE_PARAM_PAIR)\
- >\
- struct encode_type_impl<V, Name<BOOST_PP_ENUM_PARAMS(Size, P)> >\
- {\
- typedef typename boost::type_of::push_back<V, boost::mpl::size_t<ID> >::type V0;\
- BOOST_PP_SEQ_FOR_EACH_I(BOOST_TYPEOF_REGISTER_TEMPLATE_ENCODE_PARAM, ~, Params)\
- typedef BOOST_PP_CAT(V, Size) type;\
- };\
- template<class Iter>\
- struct decode_type_impl<boost::mpl::size_t<ID>, Iter>\
- {\
- typedef decode_type_impl<boost::mpl::size_t<ID>, Iter> self_t;\
- typedef boost::mpl::size_t<ID> self_id;\
- typedef Iter iter0;\
- BOOST_PP_SEQ_FOR_EACH_I(BOOST_TYPEOF_REGISTER_TEMPLATE_DECODE_PARAM, ~, Params)\
- BOOST_TYPEOF_TYPEDEF_DECODED_TYPE(Name, Params)\
- typedef BOOST_PP_CAT(iter, Size) iter;\
- };\
- BOOST_TYPEOF_END_ENCODE_NS
-
-#endif//BOOST_TYPEOF_TEMPLATE_ENCODING_HPP_INCLUDED
diff --git a/boost/typeof/template_template_param.hpp b/boost/typeof/template_template_param.hpp
deleted file mode 100644
index 4d64190..0000000
--- a/boost/typeof/template_template_param.hpp
+++ /dev/null
@@ -1,149 +0,0 @@
-// Copyright (C) 2005 Peder Holt
-// Copyright (C) 2005 Arkadiy Vertleyb
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPEOF_TEMPLATE_TEMPLATE_PARAM_HPP_INCLUDED
-#define BOOST_TYPEOF_TEMPLATE_TEMPLATE_PARAM_HPP_INCLUDED
-
-#include <boost/preprocessor/logical/or.hpp>
-#include <boost/preprocessor/seq/fold_left.hpp>
-#include <boost/preprocessor/seq/enum.hpp>
-
-#define BOOST_TYPEOF_MAKE_OBJ_template(x) BOOST_TYPEOF_TEMPLATE_PARAM(x)
-#define BOOST_TYPEOF_TEMPLATE(X) template(X) BOOST_TYPEOF_EAT
-#define BOOST_TYPEOF_template(X) (template(X))
-
-#define BOOST_TYPEOF_TEMPLATE_PARAM(Params)\
- (TEMPLATE_PARAM)\
- (Params)
-
-#define BOOST_TYPEOF_TEMPLATE_PARAM_GETPARAMS(This)\
- BOOST_TYPEOF_TOSEQ(BOOST_PP_SEQ_ELEM(1, This))
-
-//Encode / decode this
-#define BOOST_TYPEOF_TEMPLATE_PARAM_ENCODE(This, n)\
- typedef typename boost::type_of::encode_template<BOOST_PP_CAT(V, n),\
- BOOST_PP_CAT(P, n)<BOOST_TYPEOF_SEQ_ENUM(BOOST_TYPEOF_MAKE_OBJS(BOOST_TYPEOF_TEMPLATE_PARAM_GETPARAMS(This)),BOOST_TYPEOF_PLACEHOLDER) >\
- >::type BOOST_PP_CAT(V, BOOST_PP_INC(n));
-
-#define BOOST_TYPEOF_TEMPLATE_PARAM_DECODE(This, n)\
- typedef boost::type_of::decode_template< BOOST_PP_CAT(iter, n) > BOOST_PP_CAT(d, n);\
- typedef typename BOOST_PP_CAT(d, n)::type BOOST_PP_CAT(P, n);\
- typedef typename BOOST_PP_CAT(d, n)::iter BOOST_PP_CAT(iter,BOOST_PP_INC(n));
-
-// template<class, unsigned int, ...> class
-#define BOOST_TYPEOF_TEMPLATE_PARAM_EXPANDTYPE(This) \
- template <BOOST_PP_SEQ_ENUM(BOOST_TYPEOF_TEMPLATE_PARAM_GETPARAMS(This)) > class
-
-#define BOOST_TYPEOF_TEMPLATE_PARAM_PLACEHOLDER(Param)\
- Nested_Template_Template_Arguments_Not_Supported
-
-//'template<class,int> class' is reduced to 'class'
-#define BOOST_TYPEOF_TEMPLATE_PARAM_DECLARATION_TYPE(Param) class
-
-// T3<int, (unsigned int)0, ...>
-#define BOOST_TYPEOF_TEMPLATE_PARAM_PLACEHOLDER_TYPES(Param, n)\
- BOOST_PP_CAT(T,n)<BOOST_TYPEOF_SEQ_ENUM_1(BOOST_TYPEOF_MAKE_OBJS(BOOST_TYPEOF_TEMPLATE_PARAM_GETPARAMS(Param)),BOOST_TYPEOF_PLACEHOLDER) >
-
-#define BOOST_TYPEOF_TEMPLATE_PARAM_ISTEMPLATE 1
-
-////////////////////////////
-// move to encode_decode?
-
-BOOST_TYPEOF_BEGIN_ENCODE_NS
-
-template<class V, class Type_Not_Registered_With_Typeof_System> struct encode_template_impl;
-template<class T, class Iter> struct decode_template_impl;
-
-BOOST_TYPEOF_END_ENCODE_NS
-
-namespace boost { namespace type_of {
-
- template<class V, class T> struct encode_template
- : BOOST_TYPEOF_ENCODE_NS_QUALIFIER::encode_template_impl<V, T>
- {};
-
- template<class Iter> struct decode_template
- : BOOST_TYPEOF_ENCODE_NS_QUALIFIER::decode_template_impl<typename Iter::type, typename Iter::next>
- {};
-}}
-
-////////////////////////////
-// move to template_encoding.hpp?
-
-//Template template registration
-#define BOOST_TYPEOF_REGISTER_TYPE_FOR_TEMPLATE_TEMPLATE(Name,Params,ID)\
- template<class V\
- BOOST_TYPEOF_SEQ_ENUM_TRAILING(Params,BOOST_TYPEOF_REGISTER_TEMPLATE_PARAM_PAIR)\
- >\
- struct encode_template_impl<V,Name<\
- BOOST_PP_ENUM_PARAMS(\
- BOOST_PP_SEQ_SIZE(Params),\
- P)> >\
- : boost::type_of::push_back<V, boost::mpl::size_t<ID> >\
- {\
- };\
- template<class Iter> struct decode_template_impl<boost::mpl::size_t<ID>, Iter>\
- {\
- BOOST_PP_REPEAT(BOOST_PP_SEQ_SIZE(Params),BOOST_TYPEOF_TYPEDEF_INT_PN,_)\
- typedef Name<BOOST_TYPEOF_SEQ_ENUM(Params,BOOST_TYPEOF_PLACEHOLDER) > type;\
- typedef Iter iter;\
- };
-
-#define BOOST_TYPEOF_TYPEDEF_INT_PN(z,n,Params) typedef int BOOST_PP_CAT(P,n);
-
-#ifdef __BORLANDC__
-#define BOOST_TYPEOF_DECODE_NESTED_TEMPLATE_HELPER_NAME BOOST_PP_CAT(\
- BOOST_PP_CAT(\
- BOOST_PP_CAT(\
- decode_nested_template_helper,\
- BOOST_TYPEOF_REGISTRATION_GROUP\
- ),0x10000\
- ),__LINE__\
- )
-#define BOOST_TYPEOF_REGISTER_DECODE_NESTED_TEMPLATE_HELPER_IMPL(Name,Params,ID)\
- struct BOOST_TYPEOF_DECODE_NESTED_TEMPLATE_HELPER_NAME {\
- template<BOOST_TYPEOF_SEQ_ENUM(Params,BOOST_TYPEOF_REGISTER_DECLARE_DECODER_TYPE_PARAM_PAIR) >\
- struct decode_params;\
- template<BOOST_TYPEOF_SEQ_ENUM(Params,BOOST_TYPEOF_REGISTER_DECODER_TYPE_PARAM_PAIR) >\
- struct decode_params<BOOST_TYPEOF_SEQ_ENUM(Params,BOOST_TYPEOF_PLACEHOLDER_TYPES) >\
- {\
- typedef Name<BOOST_PP_ENUM_PARAMS(BOOST_PP_SEQ_SIZE(Params),T)> type;\
- };\
- };
-//Template template param decoding
-#define BOOST_TYPEOF_TYPEDEF_DECODED_TEMPLATE_TEMPLATE_TYPE(Name,Params)\
- typedef typename BOOST_TYPEOF_DECODE_NESTED_TEMPLATE_HELPER_NAME::decode_params<BOOST_PP_ENUM_PARAMS(BOOST_PP_SEQ_SIZE(Params),P)>::type type;
-
-#else
-#define BOOST_TYPEOF_REGISTER_DECODE_NESTED_TEMPLATE_HELPER_IMPL(Name,Params,ID)
-
-//Template template param decoding
-#define BOOST_TYPEOF_TYPEDEF_DECODED_TEMPLATE_TEMPLATE_TYPE(Name,Params)\
- template<BOOST_TYPEOF_SEQ_ENUM(Params,BOOST_TYPEOF_REGISTER_DECLARE_DECODER_TYPE_PARAM_PAIR) >\
- struct decode_params;\
- template<BOOST_TYPEOF_SEQ_ENUM(Params,BOOST_TYPEOF_REGISTER_DECODER_TYPE_PARAM_PAIR) >\
- struct decode_params<BOOST_TYPEOF_SEQ_ENUM(Params,BOOST_TYPEOF_PLACEHOLDER_TYPES) >\
- {\
- typedef Name<BOOST_PP_ENUM_PARAMS(BOOST_PP_SEQ_SIZE(Params),T)> type;\
- };\
- typedef typename decode_params<BOOST_PP_ENUM_PARAMS(BOOST_PP_SEQ_SIZE(Params),P)>::type type;
-#endif
-#define BOOST_TYPEOF_REGISTER_DECLARE_DECODER_TYPE_PARAM_PAIR(z,n,elem) \
- BOOST_TYPEOF_VIRTUAL(DECLARATION_TYPE, elem)(elem) BOOST_PP_CAT(T, n)
-
-// BOOST_TYPEOF_HAS_TEMPLATES
-#define BOOST_TYPEOF_HAS_TEMPLATES(Params)\
- BOOST_PP_SEQ_FOLD_LEFT(BOOST_TYPEOF_HAS_TEMPLATES_OP, 0, Params)
-
-#define BOOST_TYPEOF_HAS_TEMPLATES_OP(s, state, elem)\
- BOOST_PP_OR(state, BOOST_TYPEOF_VIRTUAL(ISTEMPLATE, elem))
-
-//Define template template arguments
-#define BOOST_TYPEOF_REGISTER_TEMPLATE_TEMPLATE_IMPL(Name,Params,ID)\
- BOOST_PP_IF(BOOST_TYPEOF_HAS_TEMPLATES(Params),\
- BOOST_TYPEOF_REGISTER_DECODE_NESTED_TEMPLATE_HELPER_IMPL,\
- BOOST_TYPEOF_REGISTER_TYPE_FOR_TEMPLATE_TEMPLATE)(Name,Params,ID)
-
-#endif //BOOST_TYPEOF_TEMPLATE_TEMPLATE_PARAM_HPP_INCLUDED
diff --git a/boost/typeof/type_encoding.hpp b/boost/typeof/type_encoding.hpp
deleted file mode 100644
index e0378c2..0000000
--- a/boost/typeof/type_encoding.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-// Copyright (C) 2004 Arkadiy Vertleyb
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPEOF_TYPE_ENCODING_HPP_INCLUDED
-#define BOOST_TYPEOF_TYPE_ENCODING_HPP_INCLUDED
-
-#define BOOST_TYPEOF_REGISTER_TYPE_IMPL(T, Id) \
- \
- template<class V> struct encode_type_impl<V, T > \
- : boost::type_of::push_back<V, boost::mpl::size_t<Id> > \
- {}; \
- template<class Iter> struct decode_type_impl<boost::mpl::size_t<Id>, Iter> \
- { \
- typedef T type; \
- typedef Iter iter; \
- };
-
-#define BOOST_TYPEOF_REGISTER_TYPE_EXPLICIT_ID(Type, Id) \
- BOOST_TYPEOF_BEGIN_ENCODE_NS \
- BOOST_TYPEOF_REGISTER_TYPE_IMPL(Type, Id) \
- BOOST_TYPEOF_END_ENCODE_NS
-
-#define BOOST_TYPEOF_REGISTER_TYPE(Type) \
- BOOST_TYPEOF_REGISTER_TYPE_EXPLICIT_ID(Type, BOOST_TYPEOF_UNIQUE_ID())
-
-#endif//BOOST_TYPEOF_TYPE_ENCODING_HPP_INCLUDED
diff --git a/boost/typeof/type_template_param.hpp b/boost/typeof/type_template_param.hpp
deleted file mode 100644
index 28a860c..0000000
--- a/boost/typeof/type_template_param.hpp
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright (C) 2005 Arkadiy Vertleyb
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPEOF_TYPE_TEMPLATE_PARAM_HPP_INCLUDED
-#define BOOST_TYPEOF_TYPE_TEMPLATE_PARAM_HPP_INCLUDED
-
-#define BOOST_TYPEOF_class_BOOST_TYPEOF (class)
-#define BOOST_TYPEOF_typename_BOOST_TYPEOF (typename)
-
-#define BOOST_TYPEOF_MAKE_OBJ_class BOOST_TYPEOF_TYPE_PARAM
-#define BOOST_TYPEOF_MAKE_OBJ_typename BOOST_TYPEOF_TYPE_PARAM
-
-#define BOOST_TYPEOF_TYPE_PARAM\
- (TYPE_PARAM)
-
-#define BOOST_TYPEOF_TYPE_PARAM_EXPANDTYPE(Param) class
-
-// TYPE_PARAM "virtual functions" implementation
-
-#define BOOST_TYPEOF_TYPE_PARAM_ENCODE(This, n)\
- typedef typename boost::type_of::encode_type<\
- BOOST_PP_CAT(V, n),\
- BOOST_PP_CAT(P, n)\
- >::type BOOST_PP_CAT(V, BOOST_PP_INC(n));
-
-#define BOOST_TYPEOF_TYPE_PARAM_DECODE(This, n)\
- typedef boost::type_of::decode_type< BOOST_PP_CAT(iter, n) > BOOST_PP_CAT(d, n);\
- typedef typename BOOST_PP_CAT(d, n)::type BOOST_PP_CAT(P, n);\
- typedef typename BOOST_PP_CAT(d, n)::iter BOOST_PP_CAT(iter, BOOST_PP_INC(n));
-
-#define BOOST_TYPEOF_TYPE_PARAM_PLACEHOLDER(Param) int
-#define BOOST_TYPEOF_TYPE_PARAM_DECLARATION_TYPE(Param) class
-#define BOOST_TYPEOF_TYPE_PARAM_PLACEHOLDER_TYPES(Param, n) BOOST_PP_CAT(T,n)
-#define BOOST_TYPEOF_TYPE_PARAM_ISTEMPLATE 0
-
-#endif//BOOST_TYPEOF_TYPE_TEMPLATE_PARAM_HPP_INCLUDED
diff --git a/boost/typeof/typeof.hpp b/boost/typeof/typeof.hpp
deleted file mode 100644
index 4d56964..0000000
--- a/boost/typeof/typeof.hpp
+++ /dev/null
@@ -1,218 +0,0 @@
-// Copyright (C) 2004 Arkadiy Vertleyb
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPEOF_TYPEOF_HPP_INCLUDED
-#define BOOST_TYPEOF_TYPEOF_HPP_INCLUDED
-
-#if defined(BOOST_TYPEOF_COMPLIANT)
-# define BOOST_TYPEOF_EMULATION
-#endif
-
-#if defined(BOOST_TYPEOF_EMULATION) && defined(BOOST_TYPEOF_NATIVE)
-# error both typeof emulation and native mode requested
-#endif
-
-#if defined(__COMO__)
-# ifdef __GNUG__
-# ifndef BOOST_TYPEOF_EMULATION
-# ifndef BOOST_TYPEOF_NATIVE
-# define BOOST_TYPEOF_NATIVE
-# endif
-# define BOOST_TYPEOF_KEYWORD typeof
-# endif
-# else
-# ifndef BOOST_TYPEOF_NATIVE
-# ifndef BOOST_TYPEOF_EMULATION
-# define BOOST_TYPEOF_EMULATION
-# endif
-# else
-# error native typeof is not supported
-# endif
-# endif
-
-#elif defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC)
-# ifdef __GNUC__
-# ifndef BOOST_TYPEOF_EMULATION
-# ifndef BOOST_TYPEOF_NATIVE
-# define BOOST_TYPEOF_NATIVE
-# endif
-# define BOOST_TYPEOF_KEYWORD __typeof__
-# endif
-# else
-# ifndef BOOST_TYPEOF_NATIVE
-# ifndef BOOST_TYPEOF_EMULATION
-# define BOOST_TYPEOF_EMULATION
-# endif
-# else
-# error native typeof is not supported
-# endif
-# endif
-
-#elif defined(__GNUC__)
-# ifndef BOOST_TYPEOF_EMULATION
-# ifndef BOOST_TYPEOF_NATIVE
-# define BOOST_TYPEOF_NATIVE
-# endif
-# define BOOST_TYPEOF_KEYWORD __typeof__
-# endif
-
-#elif defined(__MWERKS__)
-# if(__MWERKS__ <= 0x3003) // 8.x
-# ifndef BOOST_TYPEOF_EMULATION
-# ifndef BOOST_TYPEOF_NATIVE
-# define BOOST_TYPEOF_NATIVE
-# endif
-# define BOOST_TYPEOF_KEYWORD __typeof__
-# else
-# define BOOST_TYPEOF_EMULATION_UNSUPPORTED
-# endif
-# else // 9.x
-# ifndef BOOST_TYPEOF_EMULATION
-# ifndef BOOST_TYPEOF_NATIVE
-# define BOOST_TYPEOF_NATIVE
-# endif
-# define BOOST_TYPEOF_KEYWORD __typeof__
-# endif
-# endif
-#elif defined __CODEGEARC__
-# ifndef BOOST_TYPEOF_EMULATION
-# ifndef BOOST_TYPEOF_NATIVE
-# define BOOST_TYPEOF_EMULATION_UNSUPPORTED
-# endif
-# else
-# define BOOST_TYPEOF_EMULATION_UNSUPPORTED
-# endif
-#elif defined __BORLANDC__
-# ifndef BOOST_TYPEOF_EMULATION
-# ifndef BOOST_TYPEOF_NATIVE
-# define BOOST_TYPEOF_EMULATION_UNSUPPORTED
-# endif
-# else
-# define BOOST_TYPEOF_EMULATION_UNSUPPORTED
-# endif
-#elif defined __DMC__
-# ifndef BOOST_TYPEOF_EMULATION
-# ifndef BOOST_TYPEOF_NATIVE
-# define BOOST_TYPEOF_NATIVE
-# endif
-# include <boost/typeof/dmc/typeof_impl.hpp>
-# define MSVC_TYPEOF_HACK
-# endif
-#elif defined(_MSC_VER)
-# if (_MSC_VER <= 1300) // 6.5, 7.0
-# ifndef BOOST_TYPEOF_EMULATION
-# ifndef BOOST_TYPEOF_NATIVE
-# define BOOST_TYPEOF_NATIVE
-# endif
-# include <boost/typeof/msvc/typeof_impl.hpp>
-# define MSVC_TYPEOF_HACK
-# else
-# error typeof emulation is not supported
-# endif
-# elif (_MSC_VER >= 1310) // 7.1 ->
-# ifndef BOOST_TYPEOF_EMULATION
-# ifndef BOOST_TYPEOF_NATIVE
-# ifndef _MSC_EXTENSIONS
-# define BOOST_TYPEOF_EMULATION
-# else
-# define BOOST_TYPEOF_NATIVE
-# endif
-# endif
-# endif
-# ifdef BOOST_TYPEOF_NATIVE
-# include <boost/typeof/msvc/typeof_impl.hpp>
-# define MSVC_TYPEOF_HACK
-# endif
-# endif
-#elif defined(__HP_aCC)
-# ifndef BOOST_TYPEOF_NATIVE
-# ifndef BOOST_TYPEOF_EMULATION
-# define BOOST_TYPEOF_EMULATION
-# endif
-# else
-# error native typeof is not supported
-# endif
-
-#elif defined(__DECCXX)
-# ifndef BOOST_TYPEOF_NATIVE
-# ifndef BOOST_TYPEOF_EMULATION
-# define BOOST_TYPEOF_EMULATION
-# endif
-# else
-# error native typeof is not supported
-# endif
-
-#elif defined(__BORLANDC__)
-# if (__BORLANDC__ < 0x590)
-# define BOOST_TYPEOF_NO_FUNCTION_TYPES
-# define BOOST_TYPEOF_NO_MEMBER_FUNCTION_TYPES
-# endif
-# ifndef BOOST_TYPEOF_NATIVE
-# ifndef BOOST_TYPEOF_EMULATION
-# define BOOST_TYPEOF_EMULATION
-# endif
-# else
-# error native typeof is not supported
-# endif
-#elif defined(__SUNPRO_CC)
-# if (__SUNPRO_CC < 0x590 )
-# ifdef BOOST_TYPEOF_NATIVE
-# error native typeof is not supported
-# endif
-# ifndef BOOST_TYPEOF_EMULATION
-# define BOOST_TYPEOF_EMULATION
-# endif
-# else
-# ifndef BOOST_TYPEOF_EMULATION
-# ifndef BOOST_TYPEOF_NATIVE
-# define BOOST_TYPEOF_NATIVE
-# endif
-# define BOOST_TYPEOF_KEYWORD __typeof__
-# endif
-# endif
-#else //unknown compiler
-# ifndef BOOST_TYPEOF_NATIVE
-# ifndef BOOST_TYPEOF_EMULATION
-# define BOOST_TYPEOF_EMULATION
-# endif
-# else
-# ifndef BOOST_TYPEOF_KEYWORD
-# define BOOST_TYPEOF_KEYWORD typeof
-# endif
-# endif
-
-#endif
-
-#define BOOST_TYPEOF_UNIQUE_ID()\
- BOOST_TYPEOF_REGISTRATION_GROUP * 0x10000 + __LINE__
-
-#define BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()\
- <boost/typeof/incr_registration_group.hpp>
-
-#ifdef BOOST_TYPEOF_EMULATION_UNSUPPORTED
-# include <boost/typeof/unsupported.hpp>
-#elif defined BOOST_TYPEOF_EMULATION
-# define BOOST_TYPEOF_TEXT "using typeof emulation"
-# include <boost/typeof/message.hpp>
-# include <boost/typeof/typeof_impl.hpp>
-# include <boost/typeof/type_encoding.hpp>
-# include <boost/typeof/template_encoding.hpp>
-# include <boost/typeof/modifiers.hpp>
-# include <boost/typeof/pointers_data_members.hpp>
-# include <boost/typeof/register_functions.hpp>
-# include <boost/typeof/register_fundamental.hpp>
-
-#elif defined(BOOST_TYPEOF_NATIVE)
-# define BOOST_TYPEOF_TEXT "using native typeof"
-# include <boost/typeof/message.hpp>
-# include <boost/typeof/native.hpp>
-#else
-# error typeof configuration error
-#endif
-
-// auto
-#define BOOST_AUTO(Var, Expr) BOOST_TYPEOF(Expr) Var = Expr
-#define BOOST_AUTO_TPL(Var, Expr) BOOST_TYPEOF_TPL(Expr) Var = Expr
-
-#endif//BOOST_TYPEOF_TYPEOF_HPP_INCLUDED
diff --git a/boost/typeof/typeof_impl.hpp b/boost/typeof/typeof_impl.hpp
deleted file mode 100644
index d627b85..0000000
--- a/boost/typeof/typeof_impl.hpp
+++ /dev/null
@@ -1,186 +0,0 @@
-// Copyright (C) 2004, 2005 Arkadiy Vertleyb
-// Copyright (C) 2005 Peder Holt
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPEOF_TYPEOF_IMPL_HPP_INCLUDED
-#define BOOST_TYPEOF_TYPEOF_IMPL_HPP_INCLUDED
-
-#include <boost/mpl/size_t.hpp>
-#include <boost/preprocessor/repetition/enum.hpp>
-#include <boost/typeof/encode_decode.hpp>
-#include <boost/typeof/vector.hpp>
-#include <boost/type_traits/is_function.hpp>
-#include <boost/utility/enable_if.hpp>
-
-#define BOOST_TYPEOF_VECTOR(n) BOOST_PP_CAT(boost::type_of::vector, n)
-
-#define BOOST_TYPEOF_sizer_item(z, n, _)\
- char item ## n[V::item ## n ::value];
-
-namespace boost { namespace type_of {
- template<class V>
- struct sizer
- {
- // char item0[V::item0::value];
- // char item1[V::item1::value];
- // ...
-
- BOOST_PP_REPEAT(BOOST_TYPEOF_LIMIT_SIZE, BOOST_TYPEOF_sizer_item, ~)
- };
-}}
-
-#undef BOOST_TYPEOF_sizer_item
-
-//
-namespace boost { namespace type_of {
-# ifdef BOOST_NO_SFINAE
- template<class V, class T>
- sizer<typename encode_type<V, T>::type> encode(const T&);
-# else
- template<class V, class T>
- typename enable_if<
- typename is_function<T>::type,
- sizer<typename encode_type<V, T>::type> >::type encode(T&);
-
- template<class V, class T>
- typename disable_if<
- typename is_function<T>::type,
- sizer<typename encode_type<V, T>::type> >::type encode(const T&);
-# endif
-}}
-//
-namespace boost { namespace type_of {
-
- template<class V>
- struct decode_begin
- {
- typedef typename decode_type<typename V::begin>::type type;
- };
-}}
-
-#define BOOST_TYPEOF_TYPEITEM(z, n, expr)\
- boost::mpl::size_t<sizeof(boost::type_of::encode<BOOST_TYPEOF_VECTOR(0)<> >(expr).item ## n)>
-
-#define BOOST_TYPEOF_ENCODED_VECTOR(Expr) \
- BOOST_TYPEOF_VECTOR(BOOST_TYPEOF_LIMIT_SIZE)< \
- BOOST_PP_ENUM(BOOST_TYPEOF_LIMIT_SIZE, BOOST_TYPEOF_TYPEITEM, Expr) \
- >
-
-#define BOOST_TYPEOF(Expr)\
- boost::type_of::decode_begin<BOOST_TYPEOF_ENCODED_VECTOR(Expr) >::type
-
-#define BOOST_TYPEOF_TPL typename BOOST_TYPEOF
-
-//offset_vector is used to delay the insertion of data into the vector in order to allow
-//encoding to be done in many steps
-namespace boost { namespace type_of {
- template<typename V,typename Offset>
- struct offset_vector {
- };
-
- template<class V,class Offset,class T>
- struct push_back<boost::type_of::offset_vector<V,Offset>,T> {
- typedef offset_vector<V,typename Offset::prior> type;
- };
-
- template<class V,class T>
- struct push_back<boost::type_of::offset_vector<V,mpl::size_t<0> >,T> {
- typedef typename push_back<V,T>::type type;
- };
-}}
-
-#define BOOST_TYPEOF_NESTED_TYPEITEM(z, n, expr)\
- BOOST_STATIC_CONSTANT(int,BOOST_PP_CAT(value,n) = sizeof(boost::type_of::encode<_typeof_start_vector>(expr).item ## n));\
- typedef boost::mpl::size_t<BOOST_PP_CAT(self_t::value,n)> BOOST_PP_CAT(item,n);
-
-#ifdef __DMC__
-#define BOOST_TYPEOF_NESTED_TYPEITEM_2(z,n,expr)\
- typedef typename _typeof_encode_fraction<iteration>::BOOST_PP_CAT(item,n) BOOST_PP_CAT(item,n);
-
-#define BOOST_TYPEOF_FRACTIONTYPE()\
- BOOST_PP_REPEAT(BOOST_TYPEOF_LIMIT_SIZE,BOOST_TYPEOF_NESTED_TYPEITEM_2,_)\
- typedef _typeof_fraction_iter<Pos> fraction_type;
-#else
-#define BOOST_TYPEOF_FRACTIONTYPE()\
- typedef _typeof_encode_fraction<self_t::iteration> fraction_type;
-#endif
-
-#ifdef __BORLANDC__
-namespace boost { namespace type_of {
- template<typename Pos,typename Iter>
- struct generic_typeof_fraction_iter {
- typedef generic_typeof_fraction_iter<Pos,Iter> self_t;
- static const int pos=(Pos::value);
- static const int iteration=(pos/5);
- static const int where=pos%5;
- typedef typename Iter::template _apply_next<self_t::iteration>::type fraction_type;
- typedef generic_typeof_fraction_iter<typename Pos::next,Iter> next;
- typedef typename v_iter<fraction_type,mpl::int_<self_t::where> >::type type;
- };
-}}
-#define BOOST_TYPEOF_NESTED_TYPEDEF_IMPL(expr) \
- template<int _Typeof_Iteration>\
- struct _typeof_encode_fraction {\
- typedef _typeof_encode_fraction<_Typeof_Iteration> self_t;\
- BOOST_STATIC_CONSTANT(int,_typeof_encode_offset = (_Typeof_Iteration*BOOST_TYPEOF_LIMIT_SIZE));\
- typedef boost::type_of::offset_vector<BOOST_TYPEOF_VECTOR(0)<>,boost::mpl::size_t<self_t::_typeof_encode_offset> > _typeof_start_vector;\
- BOOST_PP_REPEAT(BOOST_TYPEOF_LIMIT_SIZE,BOOST_TYPEOF_NESTED_TYPEITEM,expr)\
- template<int Next>\
- struct _apply_next {\
- typedef _typeof_encode_fraction<Next> type;\
- };\
- };\
- template<typename Pos>\
- struct _typeof_fraction_iter {\
- typedef boost::type_of::generic_typeof_fraction_iter<Pos,_typeof_encode_fraction<0> > self_t;\
- typedef typename self_t::next next;\
- typedef typename self_t::type type;\
- };
-#else
-#define BOOST_TYPEOF_NESTED_TYPEDEF_IMPL(expr) \
- template<int _Typeof_Iteration>\
- struct _typeof_encode_fraction {\
- typedef _typeof_encode_fraction<_Typeof_Iteration> self_t;\
- BOOST_STATIC_CONSTANT(int,_typeof_encode_offset = (_Typeof_Iteration*BOOST_TYPEOF_LIMIT_SIZE));\
- typedef boost::type_of::offset_vector<BOOST_TYPEOF_VECTOR(0)<>,boost::mpl::size_t<self_t::_typeof_encode_offset> > _typeof_start_vector;\
- BOOST_PP_REPEAT(BOOST_TYPEOF_LIMIT_SIZE,BOOST_TYPEOF_NESTED_TYPEITEM,expr)\
- };\
- template<typename Pos>\
- struct _typeof_fraction_iter {\
- typedef _typeof_fraction_iter<Pos> self_t;\
- BOOST_STATIC_CONSTANT(int,pos=(Pos::value));\
- BOOST_STATIC_CONSTANT(int,iteration=(pos/BOOST_TYPEOF_LIMIT_SIZE));\
- BOOST_STATIC_CONSTANT(int,where=pos%BOOST_TYPEOF_LIMIT_SIZE);\
- BOOST_TYPEOF_FRACTIONTYPE()\
- typedef typename boost::type_of::v_iter<fraction_type,boost::mpl::int_<self_t::where> >::type type;\
- typedef _typeof_fraction_iter<typename Pos::next> next;\
- };
-#endif
-#ifdef __MWERKS__
-
-# define BOOST_TYPEOF_NESTED_TYPEDEF(name,expr) \
-template<typename T>\
-struct BOOST_PP_CAT(_typeof_template_,name) {\
- BOOST_TYPEOF_NESTED_TYPEDEF_IMPL(expr)\
- typedef typename boost::type_of::decode_type<_typeof_fraction_iter<boost::mpl::size_t<0> > >::type type;\
-};\
-typedef BOOST_PP_CAT(_typeof_template_,name)<int> name;
-
-# define BOOST_TYPEOF_NESTED_TYPEDEF_TPL(name,expr) BOOST_TYPEOF_NESTED_TYPEDEF(name,expr)
-
-#else
-# define BOOST_TYPEOF_NESTED_TYPEDEF_TPL(name,expr) \
- struct name {\
- BOOST_TYPEOF_NESTED_TYPEDEF_IMPL(expr)\
- typedef typename boost::type_of::decode_type<_typeof_fraction_iter<boost::mpl::size_t<0> > >::type type;\
- };
-
-# define BOOST_TYPEOF_NESTED_TYPEDEF(name,expr) \
- struct name {\
- BOOST_TYPEOF_NESTED_TYPEDEF_IMPL(expr)\
- typedef boost::type_of::decode_type<_typeof_fraction_iter<boost::mpl::size_t<0> > >::type type;\
- };
-#endif
-
-#endif//BOOST_TYPEOF_COMPLIANT_TYPEOF_IMPL_HPP_INCLUDED
diff --git a/boost/typeof/unsupported.hpp b/boost/typeof/unsupported.hpp
deleted file mode 100644
index 83d3a55..0000000
--- a/boost/typeof/unsupported.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright (C) 2010 Peder Holt
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPEOF_UNSUPPORTED_HPP_INCLUDED
-#define BOOST_TYPEOF_UNSUPPORTED_HPP_INCLUDED
-
-namespace boost { namespace type_of {
- struct typeof_emulation_is_unsupported_on_this_compiler {};
-}}
-
-#define BOOST_TYPEOF(expr) boost::type_of::typeof_emulation_is_unsupported_on_this_compiler
-#define BOOST_TYPEOF_TPL BOOST_TYPEOF
-
-#define BOOST_TYPEOF_NESTED_TYPEDEF_TPL(name,expr) \
-struct name {\
- typedef BOOST_TYPEOF_TPL(expr) type;\
-};
-
-#define BOOST_TYPEOF_NESTED_TYPEDEF(name,expr) \
-struct name {\
- typedef BOOST_TYPEOF(expr) type;\
-};
-
-
-#define BOOST_TYPEOF_REGISTER_TYPE(x)
-#define BOOST_TYPEOF_REGISTER_TEMPLATE(x, params)
-
-#endif
\ No newline at end of file
diff --git a/boost/typeof/vector.hpp b/boost/typeof/vector.hpp
deleted file mode 100644
index 7dc8d50..0000000
--- a/boost/typeof/vector.hpp
+++ /dev/null
@@ -1,166 +0,0 @@
-// Copyright (C) 2005 Arkadiy Vertleyb
-// Copyright (C) 2005 Peder Holt
-//
-// Copyright (C) 2006 Tobias Schwinger
-//
-// Use, modification and distribution is subject to the Boost Software
-// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_TYPEOF_VECTOR_HPP_INCLUDED
-
-#include <boost/mpl/int.hpp>
-#include <boost/preprocessor/iteration/self.hpp>
-
-#ifndef BOOST_TYPEOF_LIMIT_SIZE
-# define BOOST_TYPEOF_LIMIT_SIZE 50
-#endif
-
-//
-// To recreate the preprocessed versions of this file preprocess and run
-//
-// $(BOOST_ROOT)/libs/typeof/tools/preprocess.pl
-//
-
-#if defined(BOOST_TYPEOF_PP_INCLUDE_EXTERNAL)
-
-# undef BOOST_TYPEOF_PP_INCLUDE_EXTERNAL
-
-#elif !defined(BOOST_TYPEOF_PREPROCESSING_MODE) && !BOOST_PP_IS_SELFISH
-
-# define BOOST_PP_INDIRECT_SELF <boost/typeof/vector.hpp>
-# if BOOST_TYPEOF_LIMIT_SIZE < 50
-# include BOOST_PP_INCLUDE_SELF()
-# elif BOOST_TYPEOF_LIMIT_SIZE < 100
-# include <boost/typeof/vector50.hpp>
-# define BOOST_TYPEOF_PP_START_SIZE 51
-# include BOOST_PP_INCLUDE_SELF()
-# elif BOOST_TYPEOF_LIMIT_SIZE < 150
-# include <boost/typeof/vector100.hpp>
-# define BOOST_TYPEOF_PP_START_SIZE 101
-# include BOOST_PP_INCLUDE_SELF()
-# elif BOOST_TYPEOF_LIMIT_SIZE < 200
-# include <boost/typeof/vector150.hpp>
-# define BOOST_TYPEOF_PP_START_SIZE 151
-# include BOOST_PP_INCLUDE_SELF()
-# elif BOOST_TYPEOF_LIMIT_SIZE <= 250
-# include <boost/typeof/vector200.hpp>
-# define BOOST_TYPEOF_PP_START_SIZE 201
-# include BOOST_PP_INCLUDE_SELF()
-# else
-# error "BOOST_TYPEOF_LIMIT_SIZE too high"
-# endif
-
-#else// defined(BOOST_TYPEOF_PREPROCESSING_MODE) || BOOST_PP_IS_SELFISH
-
-# ifndef BOOST_TYPEOF_PP_NEXT_SIZE
-# define BOOST_TYPEOF_PP_NEXT_SIZE BOOST_TYPEOF_LIMIT_SIZE
-# endif
-# ifndef BOOST_TYPEOF_PP_START_SIZE
-# define BOOST_TYPEOF_PP_START_SIZE 0
-# endif
-
-# if BOOST_TYPEOF_PP_START_SIZE <= BOOST_TYPEOF_LIMIT_SIZE
-
-# include <boost/preprocessor/enum_params.hpp>
-# include <boost/preprocessor/repeat.hpp>
-# include <boost/preprocessor/repeat_from_to.hpp>
-# include <boost/preprocessor/cat.hpp>
-# include <boost/preprocessor/inc.hpp>
-# include <boost/preprocessor/dec.hpp>
-# include <boost/preprocessor/comma_if.hpp>
-# include <boost/preprocessor/iteration/local.hpp>
-# include <boost/preprocessor/control/expr_iif.hpp>
-# include <boost/preprocessor/logical/not.hpp>
-
-// iterator
-
-# define BOOST_TYPEOF_spec_iter(n)\
- template<class V>\
- struct v_iter<V, mpl::int_<n> >\
- {\
- typedef typename V::item ## n type;\
- typedef v_iter<V, mpl::int_<n + 1> > next;\
- };
-
-namespace boost { namespace type_of {
-
- template<class V, class Increase_BOOST_TYPEOF_LIMIT_SIZE> struct v_iter; // not defined
-# define BOOST_PP_LOCAL_MACRO BOOST_TYPEOF_spec_iter
-# define BOOST_PP_LOCAL_LIMITS \
- (BOOST_PP_DEC(BOOST_TYPEOF_PP_START_SIZE), \
- BOOST_PP_DEC(BOOST_TYPEOF_LIMIT_SIZE))
-# include BOOST_PP_LOCAL_ITERATE()
-
-}}
-
-# undef BOOST_TYPEOF_spec_iter
-
-// vector
-
-# define BOOST_TYPEOF_typedef_item(z, n, _)\
- typedef P ## n item ## n;
-
-# define BOOST_TYPEOF_typedef_fake_item(z, n, _)\
- typedef mpl::int_<1> item ## n;
-
-# define BOOST_TYPEOF_define_vector(n)\
- template<BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IIF(BOOST_PP_NOT(n), class T = void)>\
- struct vector ## n\
- {\
- typedef v_iter<vector ## n<BOOST_PP_ENUM_PARAMS(n,P)>, boost::mpl::int_<0> > begin;\
- BOOST_PP_REPEAT(n, BOOST_TYPEOF_typedef_item, ~)\
- BOOST_PP_REPEAT_FROM_TO(n, BOOST_TYPEOF_PP_NEXT_SIZE, BOOST_TYPEOF_typedef_fake_item, ~)\
- };
-
-namespace boost { namespace type_of {
-
-# define BOOST_PP_LOCAL_MACRO BOOST_TYPEOF_define_vector
-# define BOOST_PP_LOCAL_LIMITS \
- (BOOST_TYPEOF_PP_START_SIZE,BOOST_TYPEOF_LIMIT_SIZE)
-# include BOOST_PP_LOCAL_ITERATE()
-
-}}
-
-# undef BOOST_TYPEOF_typedef_item
-# undef BOOST_TYPEOF_typedef_fake_item
-# undef BOOST_TYPEOF_define_vector
-
-// push_back
-
-# define BOOST_TYPEOF_spec_push_back(n)\
- template<BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_COMMA_IF(n) class T>\
- struct push_back<BOOST_PP_CAT(boost::type_of::vector, n)<BOOST_PP_ENUM_PARAMS(n, P)>, T>\
- {\
- typedef BOOST_PP_CAT(boost::type_of::vector, BOOST_PP_INC(n))<\
- BOOST_PP_ENUM_PARAMS(n, P) BOOST_PP_COMMA_IF(n) T\
- > type;\
- };
-
-namespace boost { namespace type_of {
-
-# if BOOST_TYPEOF_LIMIT_SIZE < 50
- template<class V, class T> struct push_back {
- typedef V type;
- };
-# endif
- //default behaviour is to let push_back ignore T, and return the input vector.
- //This is to let BOOST_TYPEOF_NESTED_TYPEDEF work properly with the default vector.
-# define BOOST_PP_LOCAL_MACRO BOOST_TYPEOF_spec_push_back
-# define BOOST_PP_LOCAL_LIMITS \
- (BOOST_PP_DEC(BOOST_TYPEOF_PP_START_SIZE), \
- BOOST_PP_DEC(BOOST_TYPEOF_LIMIT_SIZE))
-# include BOOST_PP_LOCAL_ITERATE()
-
-}}
-
-# undef BOOST_TYPEOF_spec_push_back
-
-# endif//BOOST_TYPEOF_PP_START_SIZE<=BOOST_TYPEOF_LIMIT_SIZE
-# undef BOOST_TYPEOF_PP_START_SIZE
-# undef BOOST_TYPEOF_PP_NEXT_SIZE
-
-#endif//BOOST_TYPEOF_PREPROCESSING_MODE || BOOST_PP_IS_SELFISH
-
-#define BOOST_TYPEOF_VECTOR_HPP_INCLUDED
-#endif//BOOST_TYPEOF_VECTOR_HPP_INCLUDED
-
diff --git a/boost/typeof/vector100.hpp b/boost/typeof/vector100.hpp
deleted file mode 100644
index 5c5b97f..0000000
--- a/boost/typeof/vector100.hpp
+++ /dev/null
@@ -1,321 +0,0 @@
-
-// Copyright (C) 2005 Arkadiy Vertleyb
-// Copyright (C) 2005 Peder Holt
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-// Preprocessed code, do not edit manually !
-
-
-namespace boost { namespace type_of {
- template<class V, class Increase_BOOST_TYPEOF_LIMIT_SIZE> struct v_iter;
- template<class V> struct v_iter<V, mpl::int_<0> > { typedef typename V::item0 type; typedef v_iter<V, mpl::int_<0 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<1> > { typedef typename V::item1 type; typedef v_iter<V, mpl::int_<1 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<2> > { typedef typename V::item2 type; typedef v_iter<V, mpl::int_<2 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<3> > { typedef typename V::item3 type; typedef v_iter<V, mpl::int_<3 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<4> > { typedef typename V::item4 type; typedef v_iter<V, mpl::int_<4 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<5> > { typedef typename V::item5 type; typedef v_iter<V, mpl::int_<5 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<6> > { typedef typename V::item6 type; typedef v_iter<V, mpl::int_<6 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<7> > { typedef typename V::item7 type; typedef v_iter<V, mpl::int_<7 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<8> > { typedef typename V::item8 type; typedef v_iter<V, mpl::int_<8 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<9> > { typedef typename V::item9 type; typedef v_iter<V, mpl::int_<9 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<10> > { typedef typename V::item10 type; typedef v_iter<V, mpl::int_<10 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<11> > { typedef typename V::item11 type; typedef v_iter<V, mpl::int_<11 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<12> > { typedef typename V::item12 type; typedef v_iter<V, mpl::int_<12 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<13> > { typedef typename V::item13 type; typedef v_iter<V, mpl::int_<13 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<14> > { typedef typename V::item14 type; typedef v_iter<V, mpl::int_<14 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<15> > { typedef typename V::item15 type; typedef v_iter<V, mpl::int_<15 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<16> > { typedef typename V::item16 type; typedef v_iter<V, mpl::int_<16 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<17> > { typedef typename V::item17 type; typedef v_iter<V, mpl::int_<17 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<18> > { typedef typename V::item18 type; typedef v_iter<V, mpl::int_<18 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<19> > { typedef typename V::item19 type; typedef v_iter<V, mpl::int_<19 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<20> > { typedef typename V::item20 type; typedef v_iter<V, mpl::int_<20 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<21> > { typedef typename V::item21 type; typedef v_iter<V, mpl::int_<21 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<22> > { typedef typename V::item22 type; typedef v_iter<V, mpl::int_<22 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<23> > { typedef typename V::item23 type; typedef v_iter<V, mpl::int_<23 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<24> > { typedef typename V::item24 type; typedef v_iter<V, mpl::int_<24 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<25> > { typedef typename V::item25 type; typedef v_iter<V, mpl::int_<25 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<26> > { typedef typename V::item26 type; typedef v_iter<V, mpl::int_<26 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<27> > { typedef typename V::item27 type; typedef v_iter<V, mpl::int_<27 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<28> > { typedef typename V::item28 type; typedef v_iter<V, mpl::int_<28 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<29> > { typedef typename V::item29 type; typedef v_iter<V, mpl::int_<29 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<30> > { typedef typename V::item30 type; typedef v_iter<V, mpl::int_<30 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<31> > { typedef typename V::item31 type; typedef v_iter<V, mpl::int_<31 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<32> > { typedef typename V::item32 type; typedef v_iter<V, mpl::int_<32 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<33> > { typedef typename V::item33 type; typedef v_iter<V, mpl::int_<33 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<34> > { typedef typename V::item34 type; typedef v_iter<V, mpl::int_<34 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<35> > { typedef typename V::item35 type; typedef v_iter<V, mpl::int_<35 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<36> > { typedef typename V::item36 type; typedef v_iter<V, mpl::int_<36 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<37> > { typedef typename V::item37 type; typedef v_iter<V, mpl::int_<37 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<38> > { typedef typename V::item38 type; typedef v_iter<V, mpl::int_<38 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<39> > { typedef typename V::item39 type; typedef v_iter<V, mpl::int_<39 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<40> > { typedef typename V::item40 type; typedef v_iter<V, mpl::int_<40 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<41> > { typedef typename V::item41 type; typedef v_iter<V, mpl::int_<41 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<42> > { typedef typename V::item42 type; typedef v_iter<V, mpl::int_<42 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<43> > { typedef typename V::item43 type; typedef v_iter<V, mpl::int_<43 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<44> > { typedef typename V::item44 type; typedef v_iter<V, mpl::int_<44 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<45> > { typedef typename V::item45 type; typedef v_iter<V, mpl::int_<45 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<46> > { typedef typename V::item46 type; typedef v_iter<V, mpl::int_<46 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<47> > { typedef typename V::item47 type; typedef v_iter<V, mpl::int_<47 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<48> > { typedef typename V::item48 type; typedef v_iter<V, mpl::int_<48 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<49> > { typedef typename V::item49 type; typedef v_iter<V, mpl::int_<49 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<50> > { typedef typename V::item50 type; typedef v_iter<V, mpl::int_<50 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<51> > { typedef typename V::item51 type; typedef v_iter<V, mpl::int_<51 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<52> > { typedef typename V::item52 type; typedef v_iter<V, mpl::int_<52 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<53> > { typedef typename V::item53 type; typedef v_iter<V, mpl::int_<53 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<54> > { typedef typename V::item54 type; typedef v_iter<V, mpl::int_<54 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<55> > { typedef typename V::item55 type; typedef v_iter<V, mpl::int_<55 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<56> > { typedef typename V::item56 type; typedef v_iter<V, mpl::int_<56 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<57> > { typedef typename V::item57 type; typedef v_iter<V, mpl::int_<57 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<58> > { typedef typename V::item58 type; typedef v_iter<V, mpl::int_<58 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<59> > { typedef typename V::item59 type; typedef v_iter<V, mpl::int_<59 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<60> > { typedef typename V::item60 type; typedef v_iter<V, mpl::int_<60 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<61> > { typedef typename V::item61 type; typedef v_iter<V, mpl::int_<61 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<62> > { typedef typename V::item62 type; typedef v_iter<V, mpl::int_<62 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<63> > { typedef typename V::item63 type; typedef v_iter<V, mpl::int_<63 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<64> > { typedef typename V::item64 type; typedef v_iter<V, mpl::int_<64 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<65> > { typedef typename V::item65 type; typedef v_iter<V, mpl::int_<65 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<66> > { typedef typename V::item66 type; typedef v_iter<V, mpl::int_<66 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<67> > { typedef typename V::item67 type; typedef v_iter<V, mpl::int_<67 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<68> > { typedef typename V::item68 type; typedef v_iter<V, mpl::int_<68 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<69> > { typedef typename V::item69 type; typedef v_iter<V, mpl::int_<69 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<70> > { typedef typename V::item70 type; typedef v_iter<V, mpl::int_<70 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<71> > { typedef typename V::item71 type; typedef v_iter<V, mpl::int_<71 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<72> > { typedef typename V::item72 type; typedef v_iter<V, mpl::int_<72 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<73> > { typedef typename V::item73 type; typedef v_iter<V, mpl::int_<73 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<74> > { typedef typename V::item74 type; typedef v_iter<V, mpl::int_<74 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<75> > { typedef typename V::item75 type; typedef v_iter<V, mpl::int_<75 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<76> > { typedef typename V::item76 type; typedef v_iter<V, mpl::int_<76 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<77> > { typedef typename V::item77 type; typedef v_iter<V, mpl::int_<77 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<78> > { typedef typename V::item78 type; typedef v_iter<V, mpl::int_<78 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<79> > { typedef typename V::item79 type; typedef v_iter<V, mpl::int_<79 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<80> > { typedef typename V::item80 type; typedef v_iter<V, mpl::int_<80 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<81> > { typedef typename V::item81 type; typedef v_iter<V, mpl::int_<81 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<82> > { typedef typename V::item82 type; typedef v_iter<V, mpl::int_<82 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<83> > { typedef typename V::item83 type; typedef v_iter<V, mpl::int_<83 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<84> > { typedef typename V::item84 type; typedef v_iter<V, mpl::int_<84 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<85> > { typedef typename V::item85 type; typedef v_iter<V, mpl::int_<85 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<86> > { typedef typename V::item86 type; typedef v_iter<V, mpl::int_<86 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<87> > { typedef typename V::item87 type; typedef v_iter<V, mpl::int_<87 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<88> > { typedef typename V::item88 type; typedef v_iter<V, mpl::int_<88 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<89> > { typedef typename V::item89 type; typedef v_iter<V, mpl::int_<89 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<90> > { typedef typename V::item90 type; typedef v_iter<V, mpl::int_<90 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<91> > { typedef typename V::item91 type; typedef v_iter<V, mpl::int_<91 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<92> > { typedef typename V::item92 type; typedef v_iter<V, mpl::int_<92 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<93> > { typedef typename V::item93 type; typedef v_iter<V, mpl::int_<93 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<94> > { typedef typename V::item94 type; typedef v_iter<V, mpl::int_<94 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<95> > { typedef typename V::item95 type; typedef v_iter<V, mpl::int_<95 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<96> > { typedef typename V::item96 type; typedef v_iter<V, mpl::int_<96 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<97> > { typedef typename V::item97 type; typedef v_iter<V, mpl::int_<97 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<98> > { typedef typename V::item98 type; typedef v_iter<V, mpl::int_<98 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<99> > { typedef typename V::item99 type; typedef v_iter<V, mpl::int_<99 + 1> > next; };
-}}
-namespace boost { namespace type_of {
- template< class T = void> struct vector0 { typedef v_iter<vector0<>, boost::mpl::int_<0> > begin; typedef mpl::int_<1> item0; typedef mpl::int_<1> item1; typedef mpl::int_<1> item2; typedef mpl::int_<1> item3; typedef mpl::int_<1> item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl::int_<1 [...]
- template< class P0 > struct vector1 { typedef v_iter<vector1< P0>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef mpl::int_<1> item1; typedef mpl::int_<1> item2; typedef mpl::int_<1> item3; typedef mpl::int_<1> item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl::int_<1> item13; ty [...]
- template< class P0 , class P1 > struct vector2 { typedef v_iter<vector2< P0 , P1>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef mpl::int_<1> item2; typedef mpl::int_<1> item3; typedef mpl::int_<1> item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl::int_<1> item [...]
- template< class P0 , class P1 , class P2 > struct vector3 { typedef v_iter<vector3< P0 , P1 , P2>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef mpl::int_<1> item3; typedef mpl::int_<1> item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl::int_<1 [...]
- template< class P0 , class P1 , class P2 , class P3 > struct vector4 { typedef v_iter<vector4< P0 , P1 , P2 , P3>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef mpl::int_<1> item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl:: [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 > struct vector5 { typedef v_iter<vector5< P0 , P1 , P2 , P3 , P4>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 > struct vector6 { typedef v_iter<vector6< P0 , P1 , P2 , P3 , P4 , P5>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; t [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 > struct vector7 { typedef v_iter<vector7< P0 , P1 , P2 , P3 , P4 , P5 , P6>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> ite [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 > struct vector8 { typedef v_iter<vector8< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_< [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 > struct vector9 { typedef v_iter<vector9< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl: [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 > struct vector10 { typedef v_iter<vector10< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; type [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 > struct vector11 { typedef v_iter<vector11< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef mpl::int_<1> ite [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 > struct vector12 { typedef v_iter<vector12< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typede [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 > struct vector13 { typedef v_iter<vector13< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 > struct vector14 { typedef v_iter<vector14< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 > struct vector15 { typedef v_iter<vector15< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 > struct vector16 { typedef v_iter<vector16< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 > struct vector17 { typedef v_iter<vector17< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 > struct vector18 { typedef v_iter<vector18< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 > struct vector19 { typedef v_iter<vector19< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 > struct vector20 { typedef v_iter<vector20< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 > struct vector21 { typedef v_iter<vector21< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 > struct vector22 { typedef v_iter<vector22< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 > struct vector23 { typedef v_iter<vector23< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22>, boost::mpl::int_<0> > begin; typedef [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 > struct vector24 { typedef v_iter<vector24< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23>, boost::mpl::int_<0> [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 > struct vector25 { typedef v_iter<vector25< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24>, b [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 > struct vector26 { typedef v_iter<vector26< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 > struct vector27 { typedef v_iter<vector27< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 > struct vector28 { typedef v_iter<vector28< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 > struct vector29 { typedef v_iter<vector29< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 > struct vector30 { typedef v_iter<vector30< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 > struct vector31 { typedef v_iter<vector31< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 > struct vector32 { typedef v_iter<vector32< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 > struct vector33 { typedef v_iter<vector33< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 > struct vector34 { typedef v_iter<vector34< P0 , P1 , P2 , P3 , P4 , P5 , P6 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 > struct vector35 { typedef v_iter<vector35< P0 , P1 , P2 , P3 , P [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 > struct vector36 { typedef v_iter<vector36< P0 , P1 , [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 > struct vector37 { typedef v_iter<vector3 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 > struct vector38 { typedef v_ [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 > struct vector39 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 > stru [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-}}
-namespace boost { namespace type_of {
- template<class V, class T> struct push_back {
- typedef V type;
- };
- template< class T> struct push_back<boost::type_of::vector0<>, T> { typedef boost::type_of::vector1< T > type; };
- template< class P0 , class T> struct push_back<boost::type_of::vector1< P0>, T> { typedef boost::type_of::vector2< P0 , T > type; };
- template< class P0 , class P1 , class T> struct push_back<boost::type_of::vector2< P0 , P1>, T> { typedef boost::type_of::vector3< P0 , P1 , T > type; };
- template< class P0 , class P1 , class P2 , class T> struct push_back<boost::type_of::vector3< P0 , P1 , P2>, T> { typedef boost::type_of::vector4< P0 , P1 , P2 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class T> struct push_back<boost::type_of::vector4< P0 , P1 , P2 , P3>, T> { typedef boost::type_of::vector5< P0 , P1 , P2 , P3 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class T> struct push_back<boost::type_of::vector5< P0 , P1 , P2 , P3 , P4>, T> { typedef boost::type_of::vector6< P0 , P1 , P2 , P3 , P4 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class T> struct push_back<boost::type_of::vector6< P0 , P1 , P2 , P3 , P4 , P5>, T> { typedef boost::type_of::vector7< P0 , P1 , P2 , P3 , P4 , P5 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class T> struct push_back<boost::type_of::vector7< P0 , P1 , P2 , P3 , P4 , P5 , P6>, T> { typedef boost::type_of::vector8< P0 , P1 , P2 , P3 , P4 , P5 , P6 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class T> struct push_back<boost::type_of::vector8< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7>, T> { typedef boost::type_of::vector9< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class T> struct push_back<boost::type_of::vector9< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8>, T> { typedef boost::type_of::vector10< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class T> struct push_back<boost::type_of::vector10< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9>, T> { typedef boost::type_of::vector11< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class T> struct push_back<boost::type_of::vector11< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10>, T> { typedef boost::type_of::vector12< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class T> struct push_back<boost::type_of::vector12< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11>, T> { typedef boost::type_of::vector13< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class T> struct push_back<boost::type_of::vector13< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12>, T> { typedef boost::type_of::vector14< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class T> struct push_back<boost::type_of::vector14< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13>, T> { typedef boost::type_of::vector15< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class T> struct push_back<boost::type_of::vector15< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14>, T> { typedef boost::type_of::vector16< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class T> struct push_back<boost::type_of::vector16< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15>, T> { typedef boost::type_of::vector17< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class T> struct push_back<boost::type_of::vector17< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16>, T> { typedef boost::type_of::vector18< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class T> struct push_back<boost::type_of::vector18< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17>, T> { typedef boost::type_of::vector19< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class T> struct push_back<boost::type_of::vector19< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18>, T> { typedef boost::type_of::vector20< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class T> struct push_back<boost::type_of::vector20< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19>, T> { typedef boost::type_of::vector21< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class T> struct push_back<boost::type_of::vector21< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20>, T> { typedef boost::type_of::vector22< P0 , P1 , P2 , P3 , P4 , [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class T> struct push_back<boost::type_of::vector22< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21>, T> { typedef boost::type_of::vector23< P0 , P1 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class T> struct push_back<boost::type_of::vector23< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22>, T> { typedef boost::type_of: [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class T> struct push_back<boost::type_of::vector24< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23>, T> { typed [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class T> struct push_back<boost::type_of::vector25< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class T> struct push_back<boost::type_of::vector26< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class T> struct push_back<boost::type_of::vector27< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class T> struct push_back<boost::type_of::vector28< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class T> struct push_back<boost::type_of::vector29< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class T> struct push_back<boost::type_of::vector30< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class T> struct push_back<boost::type_of::vector31< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class T> struct push_back<boost::type_of::vector32< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class T> struct push_back<boost::type_of::vector33< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class T> struct push_back<boost::type_of::vector34< P0 , P1 , P2 , P3 , P4 , [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class T> struct push_back<boost::type_of::vector35< P0 , P1 , P2 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class T> struct push_back<boost::type_of::vector36< [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class T> struct push_back<boost::type_of [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class T> struct push_back<bo [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class T> struct [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-}}
diff --git a/boost/typeof/vector150.hpp b/boost/typeof/vector150.hpp
deleted file mode 100644
index a7d7fb1..0000000
--- a/boost/typeof/vector150.hpp
+++ /dev/null
@@ -1,471 +0,0 @@
-
-// Copyright (C) 2005 Arkadiy Vertleyb
-// Copyright (C) 2005 Peder Holt
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-// Preprocessed code, do not edit manually !
-
-
-namespace boost { namespace type_of {
- template<class V, class Increase_BOOST_TYPEOF_LIMIT_SIZE> struct v_iter;
- template<class V> struct v_iter<V, mpl::int_<0> > { typedef typename V::item0 type; typedef v_iter<V, mpl::int_<0 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<1> > { typedef typename V::item1 type; typedef v_iter<V, mpl::int_<1 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<2> > { typedef typename V::item2 type; typedef v_iter<V, mpl::int_<2 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<3> > { typedef typename V::item3 type; typedef v_iter<V, mpl::int_<3 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<4> > { typedef typename V::item4 type; typedef v_iter<V, mpl::int_<4 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<5> > { typedef typename V::item5 type; typedef v_iter<V, mpl::int_<5 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<6> > { typedef typename V::item6 type; typedef v_iter<V, mpl::int_<6 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<7> > { typedef typename V::item7 type; typedef v_iter<V, mpl::int_<7 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<8> > { typedef typename V::item8 type; typedef v_iter<V, mpl::int_<8 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<9> > { typedef typename V::item9 type; typedef v_iter<V, mpl::int_<9 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<10> > { typedef typename V::item10 type; typedef v_iter<V, mpl::int_<10 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<11> > { typedef typename V::item11 type; typedef v_iter<V, mpl::int_<11 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<12> > { typedef typename V::item12 type; typedef v_iter<V, mpl::int_<12 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<13> > { typedef typename V::item13 type; typedef v_iter<V, mpl::int_<13 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<14> > { typedef typename V::item14 type; typedef v_iter<V, mpl::int_<14 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<15> > { typedef typename V::item15 type; typedef v_iter<V, mpl::int_<15 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<16> > { typedef typename V::item16 type; typedef v_iter<V, mpl::int_<16 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<17> > { typedef typename V::item17 type; typedef v_iter<V, mpl::int_<17 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<18> > { typedef typename V::item18 type; typedef v_iter<V, mpl::int_<18 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<19> > { typedef typename V::item19 type; typedef v_iter<V, mpl::int_<19 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<20> > { typedef typename V::item20 type; typedef v_iter<V, mpl::int_<20 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<21> > { typedef typename V::item21 type; typedef v_iter<V, mpl::int_<21 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<22> > { typedef typename V::item22 type; typedef v_iter<V, mpl::int_<22 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<23> > { typedef typename V::item23 type; typedef v_iter<V, mpl::int_<23 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<24> > { typedef typename V::item24 type; typedef v_iter<V, mpl::int_<24 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<25> > { typedef typename V::item25 type; typedef v_iter<V, mpl::int_<25 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<26> > { typedef typename V::item26 type; typedef v_iter<V, mpl::int_<26 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<27> > { typedef typename V::item27 type; typedef v_iter<V, mpl::int_<27 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<28> > { typedef typename V::item28 type; typedef v_iter<V, mpl::int_<28 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<29> > { typedef typename V::item29 type; typedef v_iter<V, mpl::int_<29 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<30> > { typedef typename V::item30 type; typedef v_iter<V, mpl::int_<30 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<31> > { typedef typename V::item31 type; typedef v_iter<V, mpl::int_<31 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<32> > { typedef typename V::item32 type; typedef v_iter<V, mpl::int_<32 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<33> > { typedef typename V::item33 type; typedef v_iter<V, mpl::int_<33 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<34> > { typedef typename V::item34 type; typedef v_iter<V, mpl::int_<34 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<35> > { typedef typename V::item35 type; typedef v_iter<V, mpl::int_<35 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<36> > { typedef typename V::item36 type; typedef v_iter<V, mpl::int_<36 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<37> > { typedef typename V::item37 type; typedef v_iter<V, mpl::int_<37 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<38> > { typedef typename V::item38 type; typedef v_iter<V, mpl::int_<38 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<39> > { typedef typename V::item39 type; typedef v_iter<V, mpl::int_<39 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<40> > { typedef typename V::item40 type; typedef v_iter<V, mpl::int_<40 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<41> > { typedef typename V::item41 type; typedef v_iter<V, mpl::int_<41 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<42> > { typedef typename V::item42 type; typedef v_iter<V, mpl::int_<42 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<43> > { typedef typename V::item43 type; typedef v_iter<V, mpl::int_<43 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<44> > { typedef typename V::item44 type; typedef v_iter<V, mpl::int_<44 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<45> > { typedef typename V::item45 type; typedef v_iter<V, mpl::int_<45 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<46> > { typedef typename V::item46 type; typedef v_iter<V, mpl::int_<46 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<47> > { typedef typename V::item47 type; typedef v_iter<V, mpl::int_<47 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<48> > { typedef typename V::item48 type; typedef v_iter<V, mpl::int_<48 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<49> > { typedef typename V::item49 type; typedef v_iter<V, mpl::int_<49 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<50> > { typedef typename V::item50 type; typedef v_iter<V, mpl::int_<50 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<51> > { typedef typename V::item51 type; typedef v_iter<V, mpl::int_<51 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<52> > { typedef typename V::item52 type; typedef v_iter<V, mpl::int_<52 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<53> > { typedef typename V::item53 type; typedef v_iter<V, mpl::int_<53 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<54> > { typedef typename V::item54 type; typedef v_iter<V, mpl::int_<54 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<55> > { typedef typename V::item55 type; typedef v_iter<V, mpl::int_<55 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<56> > { typedef typename V::item56 type; typedef v_iter<V, mpl::int_<56 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<57> > { typedef typename V::item57 type; typedef v_iter<V, mpl::int_<57 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<58> > { typedef typename V::item58 type; typedef v_iter<V, mpl::int_<58 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<59> > { typedef typename V::item59 type; typedef v_iter<V, mpl::int_<59 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<60> > { typedef typename V::item60 type; typedef v_iter<V, mpl::int_<60 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<61> > { typedef typename V::item61 type; typedef v_iter<V, mpl::int_<61 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<62> > { typedef typename V::item62 type; typedef v_iter<V, mpl::int_<62 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<63> > { typedef typename V::item63 type; typedef v_iter<V, mpl::int_<63 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<64> > { typedef typename V::item64 type; typedef v_iter<V, mpl::int_<64 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<65> > { typedef typename V::item65 type; typedef v_iter<V, mpl::int_<65 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<66> > { typedef typename V::item66 type; typedef v_iter<V, mpl::int_<66 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<67> > { typedef typename V::item67 type; typedef v_iter<V, mpl::int_<67 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<68> > { typedef typename V::item68 type; typedef v_iter<V, mpl::int_<68 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<69> > { typedef typename V::item69 type; typedef v_iter<V, mpl::int_<69 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<70> > { typedef typename V::item70 type; typedef v_iter<V, mpl::int_<70 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<71> > { typedef typename V::item71 type; typedef v_iter<V, mpl::int_<71 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<72> > { typedef typename V::item72 type; typedef v_iter<V, mpl::int_<72 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<73> > { typedef typename V::item73 type; typedef v_iter<V, mpl::int_<73 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<74> > { typedef typename V::item74 type; typedef v_iter<V, mpl::int_<74 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<75> > { typedef typename V::item75 type; typedef v_iter<V, mpl::int_<75 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<76> > { typedef typename V::item76 type; typedef v_iter<V, mpl::int_<76 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<77> > { typedef typename V::item77 type; typedef v_iter<V, mpl::int_<77 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<78> > { typedef typename V::item78 type; typedef v_iter<V, mpl::int_<78 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<79> > { typedef typename V::item79 type; typedef v_iter<V, mpl::int_<79 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<80> > { typedef typename V::item80 type; typedef v_iter<V, mpl::int_<80 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<81> > { typedef typename V::item81 type; typedef v_iter<V, mpl::int_<81 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<82> > { typedef typename V::item82 type; typedef v_iter<V, mpl::int_<82 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<83> > { typedef typename V::item83 type; typedef v_iter<V, mpl::int_<83 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<84> > { typedef typename V::item84 type; typedef v_iter<V, mpl::int_<84 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<85> > { typedef typename V::item85 type; typedef v_iter<V, mpl::int_<85 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<86> > { typedef typename V::item86 type; typedef v_iter<V, mpl::int_<86 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<87> > { typedef typename V::item87 type; typedef v_iter<V, mpl::int_<87 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<88> > { typedef typename V::item88 type; typedef v_iter<V, mpl::int_<88 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<89> > { typedef typename V::item89 type; typedef v_iter<V, mpl::int_<89 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<90> > { typedef typename V::item90 type; typedef v_iter<V, mpl::int_<90 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<91> > { typedef typename V::item91 type; typedef v_iter<V, mpl::int_<91 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<92> > { typedef typename V::item92 type; typedef v_iter<V, mpl::int_<92 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<93> > { typedef typename V::item93 type; typedef v_iter<V, mpl::int_<93 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<94> > { typedef typename V::item94 type; typedef v_iter<V, mpl::int_<94 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<95> > { typedef typename V::item95 type; typedef v_iter<V, mpl::int_<95 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<96> > { typedef typename V::item96 type; typedef v_iter<V, mpl::int_<96 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<97> > { typedef typename V::item97 type; typedef v_iter<V, mpl::int_<97 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<98> > { typedef typename V::item98 type; typedef v_iter<V, mpl::int_<98 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<99> > { typedef typename V::item99 type; typedef v_iter<V, mpl::int_<99 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<100> > { typedef typename V::item100 type; typedef v_iter<V, mpl::int_<100 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<101> > { typedef typename V::item101 type; typedef v_iter<V, mpl::int_<101 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<102> > { typedef typename V::item102 type; typedef v_iter<V, mpl::int_<102 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<103> > { typedef typename V::item103 type; typedef v_iter<V, mpl::int_<103 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<104> > { typedef typename V::item104 type; typedef v_iter<V, mpl::int_<104 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<105> > { typedef typename V::item105 type; typedef v_iter<V, mpl::int_<105 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<106> > { typedef typename V::item106 type; typedef v_iter<V, mpl::int_<106 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<107> > { typedef typename V::item107 type; typedef v_iter<V, mpl::int_<107 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<108> > { typedef typename V::item108 type; typedef v_iter<V, mpl::int_<108 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<109> > { typedef typename V::item109 type; typedef v_iter<V, mpl::int_<109 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<110> > { typedef typename V::item110 type; typedef v_iter<V, mpl::int_<110 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<111> > { typedef typename V::item111 type; typedef v_iter<V, mpl::int_<111 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<112> > { typedef typename V::item112 type; typedef v_iter<V, mpl::int_<112 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<113> > { typedef typename V::item113 type; typedef v_iter<V, mpl::int_<113 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<114> > { typedef typename V::item114 type; typedef v_iter<V, mpl::int_<114 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<115> > { typedef typename V::item115 type; typedef v_iter<V, mpl::int_<115 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<116> > { typedef typename V::item116 type; typedef v_iter<V, mpl::int_<116 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<117> > { typedef typename V::item117 type; typedef v_iter<V, mpl::int_<117 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<118> > { typedef typename V::item118 type; typedef v_iter<V, mpl::int_<118 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<119> > { typedef typename V::item119 type; typedef v_iter<V, mpl::int_<119 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<120> > { typedef typename V::item120 type; typedef v_iter<V, mpl::int_<120 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<121> > { typedef typename V::item121 type; typedef v_iter<V, mpl::int_<121 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<122> > { typedef typename V::item122 type; typedef v_iter<V, mpl::int_<122 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<123> > { typedef typename V::item123 type; typedef v_iter<V, mpl::int_<123 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<124> > { typedef typename V::item124 type; typedef v_iter<V, mpl::int_<124 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<125> > { typedef typename V::item125 type; typedef v_iter<V, mpl::int_<125 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<126> > { typedef typename V::item126 type; typedef v_iter<V, mpl::int_<126 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<127> > { typedef typename V::item127 type; typedef v_iter<V, mpl::int_<127 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<128> > { typedef typename V::item128 type; typedef v_iter<V, mpl::int_<128 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<129> > { typedef typename V::item129 type; typedef v_iter<V, mpl::int_<129 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<130> > { typedef typename V::item130 type; typedef v_iter<V, mpl::int_<130 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<131> > { typedef typename V::item131 type; typedef v_iter<V, mpl::int_<131 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<132> > { typedef typename V::item132 type; typedef v_iter<V, mpl::int_<132 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<133> > { typedef typename V::item133 type; typedef v_iter<V, mpl::int_<133 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<134> > { typedef typename V::item134 type; typedef v_iter<V, mpl::int_<134 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<135> > { typedef typename V::item135 type; typedef v_iter<V, mpl::int_<135 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<136> > { typedef typename V::item136 type; typedef v_iter<V, mpl::int_<136 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<137> > { typedef typename V::item137 type; typedef v_iter<V, mpl::int_<137 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<138> > { typedef typename V::item138 type; typedef v_iter<V, mpl::int_<138 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<139> > { typedef typename V::item139 type; typedef v_iter<V, mpl::int_<139 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<140> > { typedef typename V::item140 type; typedef v_iter<V, mpl::int_<140 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<141> > { typedef typename V::item141 type; typedef v_iter<V, mpl::int_<141 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<142> > { typedef typename V::item142 type; typedef v_iter<V, mpl::int_<142 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<143> > { typedef typename V::item143 type; typedef v_iter<V, mpl::int_<143 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<144> > { typedef typename V::item144 type; typedef v_iter<V, mpl::int_<144 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<145> > { typedef typename V::item145 type; typedef v_iter<V, mpl::int_<145 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<146> > { typedef typename V::item146 type; typedef v_iter<V, mpl::int_<146 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<147> > { typedef typename V::item147 type; typedef v_iter<V, mpl::int_<147 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<148> > { typedef typename V::item148 type; typedef v_iter<V, mpl::int_<148 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<149> > { typedef typename V::item149 type; typedef v_iter<V, mpl::int_<149 + 1> > next; };
-}}
-namespace boost { namespace type_of {
- template< class T = void> struct vector0 { typedef v_iter<vector0<>, boost::mpl::int_<0> > begin; typedef mpl::int_<1> item0; typedef mpl::int_<1> item1; typedef mpl::int_<1> item2; typedef mpl::int_<1> item3; typedef mpl::int_<1> item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl::int_<1 [...]
- template< class P0 > struct vector1 { typedef v_iter<vector1< P0>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef mpl::int_<1> item1; typedef mpl::int_<1> item2; typedef mpl::int_<1> item3; typedef mpl::int_<1> item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl::int_<1> item13; ty [...]
- template< class P0 , class P1 > struct vector2 { typedef v_iter<vector2< P0 , P1>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef mpl::int_<1> item2; typedef mpl::int_<1> item3; typedef mpl::int_<1> item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl::int_<1> item [...]
- template< class P0 , class P1 , class P2 > struct vector3 { typedef v_iter<vector3< P0 , P1 , P2>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef mpl::int_<1> item3; typedef mpl::int_<1> item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl::int_<1 [...]
- template< class P0 , class P1 , class P2 , class P3 > struct vector4 { typedef v_iter<vector4< P0 , P1 , P2 , P3>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef mpl::int_<1> item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl:: [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 > struct vector5 { typedef v_iter<vector5< P0 , P1 , P2 , P3 , P4>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 > struct vector6 { typedef v_iter<vector6< P0 , P1 , P2 , P3 , P4 , P5>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; t [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 > struct vector7 { typedef v_iter<vector7< P0 , P1 , P2 , P3 , P4 , P5 , P6>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> ite [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 > struct vector8 { typedef v_iter<vector8< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_< [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 > struct vector9 { typedef v_iter<vector9< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl: [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 > struct vector10 { typedef v_iter<vector10< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; type [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 > struct vector11 { typedef v_iter<vector11< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef mpl::int_<1> ite [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 > struct vector12 { typedef v_iter<vector12< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typede [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 > struct vector13 { typedef v_iter<vector13< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 > struct vector14 { typedef v_iter<vector14< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 > struct vector15 { typedef v_iter<vector15< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 > struct vector16 { typedef v_iter<vector16< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 > struct vector17 { typedef v_iter<vector17< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 > struct vector18 { typedef v_iter<vector18< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 > struct vector19 { typedef v_iter<vector19< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 > struct vector20 { typedef v_iter<vector20< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 > struct vector21 { typedef v_iter<vector21< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 > struct vector22 { typedef v_iter<vector22< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 > struct vector23 { typedef v_iter<vector23< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22>, boost::mpl::int_<0> > begin; typedef [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 > struct vector24 { typedef v_iter<vector24< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23>, boost::mpl::int_<0> [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 > struct vector25 { typedef v_iter<vector25< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24>, b [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 > struct vector26 { typedef v_iter<vector26< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 > struct vector27 { typedef v_iter<vector27< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 > struct vector28 { typedef v_iter<vector28< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 > struct vector29 { typedef v_iter<vector29< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 > struct vector30 { typedef v_iter<vector30< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 > struct vector31 { typedef v_iter<vector31< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 > struct vector32 { typedef v_iter<vector32< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 > struct vector33 { typedef v_iter<vector33< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 > struct vector34 { typedef v_iter<vector34< P0 , P1 , P2 , P3 , P4 , P5 , P6 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 > struct vector35 { typedef v_iter<vector35< P0 , P1 , P2 , P3 , P [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 > struct vector36 { typedef v_iter<vector36< P0 , P1 , [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 > struct vector37 { typedef v_iter<vector3 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 > struct vector38 { typedef v_ [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 > struct vector39 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 > stru [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-}}
-namespace boost { namespace type_of {
- template<class V, class T> struct push_back {
- typedef V type;
- };
- template< class T> struct push_back<boost::type_of::vector0<>, T> { typedef boost::type_of::vector1< T > type; };
- template< class P0 , class T> struct push_back<boost::type_of::vector1< P0>, T> { typedef boost::type_of::vector2< P0 , T > type; };
- template< class P0 , class P1 , class T> struct push_back<boost::type_of::vector2< P0 , P1>, T> { typedef boost::type_of::vector3< P0 , P1 , T > type; };
- template< class P0 , class P1 , class P2 , class T> struct push_back<boost::type_of::vector3< P0 , P1 , P2>, T> { typedef boost::type_of::vector4< P0 , P1 , P2 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class T> struct push_back<boost::type_of::vector4< P0 , P1 , P2 , P3>, T> { typedef boost::type_of::vector5< P0 , P1 , P2 , P3 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class T> struct push_back<boost::type_of::vector5< P0 , P1 , P2 , P3 , P4>, T> { typedef boost::type_of::vector6< P0 , P1 , P2 , P3 , P4 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class T> struct push_back<boost::type_of::vector6< P0 , P1 , P2 , P3 , P4 , P5>, T> { typedef boost::type_of::vector7< P0 , P1 , P2 , P3 , P4 , P5 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class T> struct push_back<boost::type_of::vector7< P0 , P1 , P2 , P3 , P4 , P5 , P6>, T> { typedef boost::type_of::vector8< P0 , P1 , P2 , P3 , P4 , P5 , P6 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class T> struct push_back<boost::type_of::vector8< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7>, T> { typedef boost::type_of::vector9< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class T> struct push_back<boost::type_of::vector9< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8>, T> { typedef boost::type_of::vector10< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class T> struct push_back<boost::type_of::vector10< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9>, T> { typedef boost::type_of::vector11< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class T> struct push_back<boost::type_of::vector11< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10>, T> { typedef boost::type_of::vector12< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class T> struct push_back<boost::type_of::vector12< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11>, T> { typedef boost::type_of::vector13< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class T> struct push_back<boost::type_of::vector13< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12>, T> { typedef boost::type_of::vector14< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class T> struct push_back<boost::type_of::vector14< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13>, T> { typedef boost::type_of::vector15< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class T> struct push_back<boost::type_of::vector15< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14>, T> { typedef boost::type_of::vector16< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class T> struct push_back<boost::type_of::vector16< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15>, T> { typedef boost::type_of::vector17< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class T> struct push_back<boost::type_of::vector17< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16>, T> { typedef boost::type_of::vector18< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class T> struct push_back<boost::type_of::vector18< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17>, T> { typedef boost::type_of::vector19< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class T> struct push_back<boost::type_of::vector19< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18>, T> { typedef boost::type_of::vector20< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class T> struct push_back<boost::type_of::vector20< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19>, T> { typedef boost::type_of::vector21< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class T> struct push_back<boost::type_of::vector21< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20>, T> { typedef boost::type_of::vector22< P0 , P1 , P2 , P3 , P4 , [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class T> struct push_back<boost::type_of::vector22< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21>, T> { typedef boost::type_of::vector23< P0 , P1 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class T> struct push_back<boost::type_of::vector23< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22>, T> { typedef boost::type_of: [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class T> struct push_back<boost::type_of::vector24< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23>, T> { typed [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class T> struct push_back<boost::type_of::vector25< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class T> struct push_back<boost::type_of::vector26< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class T> struct push_back<boost::type_of::vector27< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class T> struct push_back<boost::type_of::vector28< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class T> struct push_back<boost::type_of::vector29< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class T> struct push_back<boost::type_of::vector30< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class T> struct push_back<boost::type_of::vector31< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class T> struct push_back<boost::type_of::vector32< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class T> struct push_back<boost::type_of::vector33< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class T> struct push_back<boost::type_of::vector34< P0 , P1 , P2 , P3 , P4 , [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class T> struct push_back<boost::type_of::vector35< P0 , P1 , P2 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class T> struct push_back<boost::type_of::vector36< [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class T> struct push_back<boost::type_of [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class T> struct push_back<bo [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class T> struct [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-}}
diff --git a/boost/typeof/vector200.hpp b/boost/typeof/vector200.hpp
deleted file mode 100644
index 43860c3..0000000
--- a/boost/typeof/vector200.hpp
+++ /dev/null
@@ -1,621 +0,0 @@
-
-// Copyright (C) 2005 Arkadiy Vertleyb
-// Copyright (C) 2005 Peder Holt
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-// Preprocessed code, do not edit manually !
-
-
-namespace boost { namespace type_of {
- template<class V, class Increase_BOOST_TYPEOF_LIMIT_SIZE> struct v_iter;
- template<class V> struct v_iter<V, mpl::int_<0> > { typedef typename V::item0 type; typedef v_iter<V, mpl::int_<0 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<1> > { typedef typename V::item1 type; typedef v_iter<V, mpl::int_<1 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<2> > { typedef typename V::item2 type; typedef v_iter<V, mpl::int_<2 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<3> > { typedef typename V::item3 type; typedef v_iter<V, mpl::int_<3 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<4> > { typedef typename V::item4 type; typedef v_iter<V, mpl::int_<4 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<5> > { typedef typename V::item5 type; typedef v_iter<V, mpl::int_<5 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<6> > { typedef typename V::item6 type; typedef v_iter<V, mpl::int_<6 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<7> > { typedef typename V::item7 type; typedef v_iter<V, mpl::int_<7 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<8> > { typedef typename V::item8 type; typedef v_iter<V, mpl::int_<8 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<9> > { typedef typename V::item9 type; typedef v_iter<V, mpl::int_<9 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<10> > { typedef typename V::item10 type; typedef v_iter<V, mpl::int_<10 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<11> > { typedef typename V::item11 type; typedef v_iter<V, mpl::int_<11 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<12> > { typedef typename V::item12 type; typedef v_iter<V, mpl::int_<12 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<13> > { typedef typename V::item13 type; typedef v_iter<V, mpl::int_<13 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<14> > { typedef typename V::item14 type; typedef v_iter<V, mpl::int_<14 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<15> > { typedef typename V::item15 type; typedef v_iter<V, mpl::int_<15 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<16> > { typedef typename V::item16 type; typedef v_iter<V, mpl::int_<16 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<17> > { typedef typename V::item17 type; typedef v_iter<V, mpl::int_<17 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<18> > { typedef typename V::item18 type; typedef v_iter<V, mpl::int_<18 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<19> > { typedef typename V::item19 type; typedef v_iter<V, mpl::int_<19 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<20> > { typedef typename V::item20 type; typedef v_iter<V, mpl::int_<20 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<21> > { typedef typename V::item21 type; typedef v_iter<V, mpl::int_<21 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<22> > { typedef typename V::item22 type; typedef v_iter<V, mpl::int_<22 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<23> > { typedef typename V::item23 type; typedef v_iter<V, mpl::int_<23 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<24> > { typedef typename V::item24 type; typedef v_iter<V, mpl::int_<24 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<25> > { typedef typename V::item25 type; typedef v_iter<V, mpl::int_<25 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<26> > { typedef typename V::item26 type; typedef v_iter<V, mpl::int_<26 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<27> > { typedef typename V::item27 type; typedef v_iter<V, mpl::int_<27 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<28> > { typedef typename V::item28 type; typedef v_iter<V, mpl::int_<28 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<29> > { typedef typename V::item29 type; typedef v_iter<V, mpl::int_<29 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<30> > { typedef typename V::item30 type; typedef v_iter<V, mpl::int_<30 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<31> > { typedef typename V::item31 type; typedef v_iter<V, mpl::int_<31 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<32> > { typedef typename V::item32 type; typedef v_iter<V, mpl::int_<32 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<33> > { typedef typename V::item33 type; typedef v_iter<V, mpl::int_<33 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<34> > { typedef typename V::item34 type; typedef v_iter<V, mpl::int_<34 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<35> > { typedef typename V::item35 type; typedef v_iter<V, mpl::int_<35 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<36> > { typedef typename V::item36 type; typedef v_iter<V, mpl::int_<36 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<37> > { typedef typename V::item37 type; typedef v_iter<V, mpl::int_<37 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<38> > { typedef typename V::item38 type; typedef v_iter<V, mpl::int_<38 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<39> > { typedef typename V::item39 type; typedef v_iter<V, mpl::int_<39 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<40> > { typedef typename V::item40 type; typedef v_iter<V, mpl::int_<40 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<41> > { typedef typename V::item41 type; typedef v_iter<V, mpl::int_<41 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<42> > { typedef typename V::item42 type; typedef v_iter<V, mpl::int_<42 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<43> > { typedef typename V::item43 type; typedef v_iter<V, mpl::int_<43 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<44> > { typedef typename V::item44 type; typedef v_iter<V, mpl::int_<44 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<45> > { typedef typename V::item45 type; typedef v_iter<V, mpl::int_<45 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<46> > { typedef typename V::item46 type; typedef v_iter<V, mpl::int_<46 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<47> > { typedef typename V::item47 type; typedef v_iter<V, mpl::int_<47 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<48> > { typedef typename V::item48 type; typedef v_iter<V, mpl::int_<48 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<49> > { typedef typename V::item49 type; typedef v_iter<V, mpl::int_<49 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<50> > { typedef typename V::item50 type; typedef v_iter<V, mpl::int_<50 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<51> > { typedef typename V::item51 type; typedef v_iter<V, mpl::int_<51 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<52> > { typedef typename V::item52 type; typedef v_iter<V, mpl::int_<52 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<53> > { typedef typename V::item53 type; typedef v_iter<V, mpl::int_<53 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<54> > { typedef typename V::item54 type; typedef v_iter<V, mpl::int_<54 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<55> > { typedef typename V::item55 type; typedef v_iter<V, mpl::int_<55 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<56> > { typedef typename V::item56 type; typedef v_iter<V, mpl::int_<56 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<57> > { typedef typename V::item57 type; typedef v_iter<V, mpl::int_<57 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<58> > { typedef typename V::item58 type; typedef v_iter<V, mpl::int_<58 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<59> > { typedef typename V::item59 type; typedef v_iter<V, mpl::int_<59 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<60> > { typedef typename V::item60 type; typedef v_iter<V, mpl::int_<60 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<61> > { typedef typename V::item61 type; typedef v_iter<V, mpl::int_<61 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<62> > { typedef typename V::item62 type; typedef v_iter<V, mpl::int_<62 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<63> > { typedef typename V::item63 type; typedef v_iter<V, mpl::int_<63 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<64> > { typedef typename V::item64 type; typedef v_iter<V, mpl::int_<64 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<65> > { typedef typename V::item65 type; typedef v_iter<V, mpl::int_<65 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<66> > { typedef typename V::item66 type; typedef v_iter<V, mpl::int_<66 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<67> > { typedef typename V::item67 type; typedef v_iter<V, mpl::int_<67 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<68> > { typedef typename V::item68 type; typedef v_iter<V, mpl::int_<68 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<69> > { typedef typename V::item69 type; typedef v_iter<V, mpl::int_<69 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<70> > { typedef typename V::item70 type; typedef v_iter<V, mpl::int_<70 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<71> > { typedef typename V::item71 type; typedef v_iter<V, mpl::int_<71 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<72> > { typedef typename V::item72 type; typedef v_iter<V, mpl::int_<72 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<73> > { typedef typename V::item73 type; typedef v_iter<V, mpl::int_<73 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<74> > { typedef typename V::item74 type; typedef v_iter<V, mpl::int_<74 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<75> > { typedef typename V::item75 type; typedef v_iter<V, mpl::int_<75 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<76> > { typedef typename V::item76 type; typedef v_iter<V, mpl::int_<76 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<77> > { typedef typename V::item77 type; typedef v_iter<V, mpl::int_<77 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<78> > { typedef typename V::item78 type; typedef v_iter<V, mpl::int_<78 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<79> > { typedef typename V::item79 type; typedef v_iter<V, mpl::int_<79 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<80> > { typedef typename V::item80 type; typedef v_iter<V, mpl::int_<80 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<81> > { typedef typename V::item81 type; typedef v_iter<V, mpl::int_<81 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<82> > { typedef typename V::item82 type; typedef v_iter<V, mpl::int_<82 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<83> > { typedef typename V::item83 type; typedef v_iter<V, mpl::int_<83 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<84> > { typedef typename V::item84 type; typedef v_iter<V, mpl::int_<84 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<85> > { typedef typename V::item85 type; typedef v_iter<V, mpl::int_<85 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<86> > { typedef typename V::item86 type; typedef v_iter<V, mpl::int_<86 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<87> > { typedef typename V::item87 type; typedef v_iter<V, mpl::int_<87 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<88> > { typedef typename V::item88 type; typedef v_iter<V, mpl::int_<88 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<89> > { typedef typename V::item89 type; typedef v_iter<V, mpl::int_<89 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<90> > { typedef typename V::item90 type; typedef v_iter<V, mpl::int_<90 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<91> > { typedef typename V::item91 type; typedef v_iter<V, mpl::int_<91 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<92> > { typedef typename V::item92 type; typedef v_iter<V, mpl::int_<92 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<93> > { typedef typename V::item93 type; typedef v_iter<V, mpl::int_<93 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<94> > { typedef typename V::item94 type; typedef v_iter<V, mpl::int_<94 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<95> > { typedef typename V::item95 type; typedef v_iter<V, mpl::int_<95 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<96> > { typedef typename V::item96 type; typedef v_iter<V, mpl::int_<96 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<97> > { typedef typename V::item97 type; typedef v_iter<V, mpl::int_<97 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<98> > { typedef typename V::item98 type; typedef v_iter<V, mpl::int_<98 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<99> > { typedef typename V::item99 type; typedef v_iter<V, mpl::int_<99 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<100> > { typedef typename V::item100 type; typedef v_iter<V, mpl::int_<100 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<101> > { typedef typename V::item101 type; typedef v_iter<V, mpl::int_<101 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<102> > { typedef typename V::item102 type; typedef v_iter<V, mpl::int_<102 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<103> > { typedef typename V::item103 type; typedef v_iter<V, mpl::int_<103 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<104> > { typedef typename V::item104 type; typedef v_iter<V, mpl::int_<104 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<105> > { typedef typename V::item105 type; typedef v_iter<V, mpl::int_<105 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<106> > { typedef typename V::item106 type; typedef v_iter<V, mpl::int_<106 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<107> > { typedef typename V::item107 type; typedef v_iter<V, mpl::int_<107 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<108> > { typedef typename V::item108 type; typedef v_iter<V, mpl::int_<108 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<109> > { typedef typename V::item109 type; typedef v_iter<V, mpl::int_<109 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<110> > { typedef typename V::item110 type; typedef v_iter<V, mpl::int_<110 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<111> > { typedef typename V::item111 type; typedef v_iter<V, mpl::int_<111 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<112> > { typedef typename V::item112 type; typedef v_iter<V, mpl::int_<112 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<113> > { typedef typename V::item113 type; typedef v_iter<V, mpl::int_<113 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<114> > { typedef typename V::item114 type; typedef v_iter<V, mpl::int_<114 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<115> > { typedef typename V::item115 type; typedef v_iter<V, mpl::int_<115 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<116> > { typedef typename V::item116 type; typedef v_iter<V, mpl::int_<116 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<117> > { typedef typename V::item117 type; typedef v_iter<V, mpl::int_<117 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<118> > { typedef typename V::item118 type; typedef v_iter<V, mpl::int_<118 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<119> > { typedef typename V::item119 type; typedef v_iter<V, mpl::int_<119 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<120> > { typedef typename V::item120 type; typedef v_iter<V, mpl::int_<120 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<121> > { typedef typename V::item121 type; typedef v_iter<V, mpl::int_<121 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<122> > { typedef typename V::item122 type; typedef v_iter<V, mpl::int_<122 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<123> > { typedef typename V::item123 type; typedef v_iter<V, mpl::int_<123 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<124> > { typedef typename V::item124 type; typedef v_iter<V, mpl::int_<124 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<125> > { typedef typename V::item125 type; typedef v_iter<V, mpl::int_<125 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<126> > { typedef typename V::item126 type; typedef v_iter<V, mpl::int_<126 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<127> > { typedef typename V::item127 type; typedef v_iter<V, mpl::int_<127 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<128> > { typedef typename V::item128 type; typedef v_iter<V, mpl::int_<128 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<129> > { typedef typename V::item129 type; typedef v_iter<V, mpl::int_<129 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<130> > { typedef typename V::item130 type; typedef v_iter<V, mpl::int_<130 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<131> > { typedef typename V::item131 type; typedef v_iter<V, mpl::int_<131 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<132> > { typedef typename V::item132 type; typedef v_iter<V, mpl::int_<132 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<133> > { typedef typename V::item133 type; typedef v_iter<V, mpl::int_<133 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<134> > { typedef typename V::item134 type; typedef v_iter<V, mpl::int_<134 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<135> > { typedef typename V::item135 type; typedef v_iter<V, mpl::int_<135 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<136> > { typedef typename V::item136 type; typedef v_iter<V, mpl::int_<136 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<137> > { typedef typename V::item137 type; typedef v_iter<V, mpl::int_<137 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<138> > { typedef typename V::item138 type; typedef v_iter<V, mpl::int_<138 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<139> > { typedef typename V::item139 type; typedef v_iter<V, mpl::int_<139 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<140> > { typedef typename V::item140 type; typedef v_iter<V, mpl::int_<140 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<141> > { typedef typename V::item141 type; typedef v_iter<V, mpl::int_<141 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<142> > { typedef typename V::item142 type; typedef v_iter<V, mpl::int_<142 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<143> > { typedef typename V::item143 type; typedef v_iter<V, mpl::int_<143 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<144> > { typedef typename V::item144 type; typedef v_iter<V, mpl::int_<144 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<145> > { typedef typename V::item145 type; typedef v_iter<V, mpl::int_<145 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<146> > { typedef typename V::item146 type; typedef v_iter<V, mpl::int_<146 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<147> > { typedef typename V::item147 type; typedef v_iter<V, mpl::int_<147 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<148> > { typedef typename V::item148 type; typedef v_iter<V, mpl::int_<148 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<149> > { typedef typename V::item149 type; typedef v_iter<V, mpl::int_<149 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<150> > { typedef typename V::item150 type; typedef v_iter<V, mpl::int_<150 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<151> > { typedef typename V::item151 type; typedef v_iter<V, mpl::int_<151 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<152> > { typedef typename V::item152 type; typedef v_iter<V, mpl::int_<152 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<153> > { typedef typename V::item153 type; typedef v_iter<V, mpl::int_<153 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<154> > { typedef typename V::item154 type; typedef v_iter<V, mpl::int_<154 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<155> > { typedef typename V::item155 type; typedef v_iter<V, mpl::int_<155 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<156> > { typedef typename V::item156 type; typedef v_iter<V, mpl::int_<156 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<157> > { typedef typename V::item157 type; typedef v_iter<V, mpl::int_<157 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<158> > { typedef typename V::item158 type; typedef v_iter<V, mpl::int_<158 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<159> > { typedef typename V::item159 type; typedef v_iter<V, mpl::int_<159 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<160> > { typedef typename V::item160 type; typedef v_iter<V, mpl::int_<160 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<161> > { typedef typename V::item161 type; typedef v_iter<V, mpl::int_<161 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<162> > { typedef typename V::item162 type; typedef v_iter<V, mpl::int_<162 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<163> > { typedef typename V::item163 type; typedef v_iter<V, mpl::int_<163 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<164> > { typedef typename V::item164 type; typedef v_iter<V, mpl::int_<164 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<165> > { typedef typename V::item165 type; typedef v_iter<V, mpl::int_<165 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<166> > { typedef typename V::item166 type; typedef v_iter<V, mpl::int_<166 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<167> > { typedef typename V::item167 type; typedef v_iter<V, mpl::int_<167 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<168> > { typedef typename V::item168 type; typedef v_iter<V, mpl::int_<168 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<169> > { typedef typename V::item169 type; typedef v_iter<V, mpl::int_<169 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<170> > { typedef typename V::item170 type; typedef v_iter<V, mpl::int_<170 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<171> > { typedef typename V::item171 type; typedef v_iter<V, mpl::int_<171 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<172> > { typedef typename V::item172 type; typedef v_iter<V, mpl::int_<172 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<173> > { typedef typename V::item173 type; typedef v_iter<V, mpl::int_<173 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<174> > { typedef typename V::item174 type; typedef v_iter<V, mpl::int_<174 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<175> > { typedef typename V::item175 type; typedef v_iter<V, mpl::int_<175 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<176> > { typedef typename V::item176 type; typedef v_iter<V, mpl::int_<176 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<177> > { typedef typename V::item177 type; typedef v_iter<V, mpl::int_<177 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<178> > { typedef typename V::item178 type; typedef v_iter<V, mpl::int_<178 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<179> > { typedef typename V::item179 type; typedef v_iter<V, mpl::int_<179 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<180> > { typedef typename V::item180 type; typedef v_iter<V, mpl::int_<180 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<181> > { typedef typename V::item181 type; typedef v_iter<V, mpl::int_<181 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<182> > { typedef typename V::item182 type; typedef v_iter<V, mpl::int_<182 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<183> > { typedef typename V::item183 type; typedef v_iter<V, mpl::int_<183 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<184> > { typedef typename V::item184 type; typedef v_iter<V, mpl::int_<184 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<185> > { typedef typename V::item185 type; typedef v_iter<V, mpl::int_<185 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<186> > { typedef typename V::item186 type; typedef v_iter<V, mpl::int_<186 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<187> > { typedef typename V::item187 type; typedef v_iter<V, mpl::int_<187 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<188> > { typedef typename V::item188 type; typedef v_iter<V, mpl::int_<188 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<189> > { typedef typename V::item189 type; typedef v_iter<V, mpl::int_<189 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<190> > { typedef typename V::item190 type; typedef v_iter<V, mpl::int_<190 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<191> > { typedef typename V::item191 type; typedef v_iter<V, mpl::int_<191 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<192> > { typedef typename V::item192 type; typedef v_iter<V, mpl::int_<192 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<193> > { typedef typename V::item193 type; typedef v_iter<V, mpl::int_<193 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<194> > { typedef typename V::item194 type; typedef v_iter<V, mpl::int_<194 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<195> > { typedef typename V::item195 type; typedef v_iter<V, mpl::int_<195 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<196> > { typedef typename V::item196 type; typedef v_iter<V, mpl::int_<196 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<197> > { typedef typename V::item197 type; typedef v_iter<V, mpl::int_<197 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<198> > { typedef typename V::item198 type; typedef v_iter<V, mpl::int_<198 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<199> > { typedef typename V::item199 type; typedef v_iter<V, mpl::int_<199 + 1> > next; };
-}}
-namespace boost { namespace type_of {
- template< class T = void> struct vector0 { typedef v_iter<vector0<>, boost::mpl::int_<0> > begin; typedef mpl::int_<1> item0; typedef mpl::int_<1> item1; typedef mpl::int_<1> item2; typedef mpl::int_<1> item3; typedef mpl::int_<1> item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl::int_<1 [...]
- template< class P0 > struct vector1 { typedef v_iter<vector1< P0>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef mpl::int_<1> item1; typedef mpl::int_<1> item2; typedef mpl::int_<1> item3; typedef mpl::int_<1> item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl::int_<1> item13; ty [...]
- template< class P0 , class P1 > struct vector2 { typedef v_iter<vector2< P0 , P1>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef mpl::int_<1> item2; typedef mpl::int_<1> item3; typedef mpl::int_<1> item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl::int_<1> item [...]
- template< class P0 , class P1 , class P2 > struct vector3 { typedef v_iter<vector3< P0 , P1 , P2>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef mpl::int_<1> item3; typedef mpl::int_<1> item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl::int_<1 [...]
- template< class P0 , class P1 , class P2 , class P3 > struct vector4 { typedef v_iter<vector4< P0 , P1 , P2 , P3>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef mpl::int_<1> item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl:: [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 > struct vector5 { typedef v_iter<vector5< P0 , P1 , P2 , P3 , P4>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 > struct vector6 { typedef v_iter<vector6< P0 , P1 , P2 , P3 , P4 , P5>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; t [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 > struct vector7 { typedef v_iter<vector7< P0 , P1 , P2 , P3 , P4 , P5 , P6>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> ite [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 > struct vector8 { typedef v_iter<vector8< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_< [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 > struct vector9 { typedef v_iter<vector9< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl: [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 > struct vector10 { typedef v_iter<vector10< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; type [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 > struct vector11 { typedef v_iter<vector11< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef mpl::int_<1> ite [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 > struct vector12 { typedef v_iter<vector12< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typede [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 > struct vector13 { typedef v_iter<vector13< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 > struct vector14 { typedef v_iter<vector14< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 > struct vector15 { typedef v_iter<vector15< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 > struct vector16 { typedef v_iter<vector16< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 > struct vector17 { typedef v_iter<vector17< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 > struct vector18 { typedef v_iter<vector18< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 > struct vector19 { typedef v_iter<vector19< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 > struct vector20 { typedef v_iter<vector20< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 > struct vector21 { typedef v_iter<vector21< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 > struct vector22 { typedef v_iter<vector22< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 > struct vector23 { typedef v_iter<vector23< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22>, boost::mpl::int_<0> > begin; typedef [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 > struct vector24 { typedef v_iter<vector24< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23>, boost::mpl::int_<0> [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 > struct vector25 { typedef v_iter<vector25< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24>, b [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 > struct vector26 { typedef v_iter<vector26< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 > struct vector27 { typedef v_iter<vector27< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 > struct vector28 { typedef v_iter<vector28< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 > struct vector29 { typedef v_iter<vector29< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 > struct vector30 { typedef v_iter<vector30< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 > struct vector31 { typedef v_iter<vector31< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 > struct vector32 { typedef v_iter<vector32< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 > struct vector33 { typedef v_iter<vector33< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 > struct vector34 { typedef v_iter<vector34< P0 , P1 , P2 , P3 , P4 , P5 , P6 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 > struct vector35 { typedef v_iter<vector35< P0 , P1 , P2 , P3 , P [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 > struct vector36 { typedef v_iter<vector36< P0 , P1 , [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 > struct vector37 { typedef v_iter<vector3 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 > struct vector38 { typedef v_ [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 > struct vector39 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 > stru [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-}}
-namespace boost { namespace type_of {
- template<class V, class T> struct push_back {
- typedef V type;
- };
- template< class T> struct push_back<boost::type_of::vector0<>, T> { typedef boost::type_of::vector1< T > type; };
- template< class P0 , class T> struct push_back<boost::type_of::vector1< P0>, T> { typedef boost::type_of::vector2< P0 , T > type; };
- template< class P0 , class P1 , class T> struct push_back<boost::type_of::vector2< P0 , P1>, T> { typedef boost::type_of::vector3< P0 , P1 , T > type; };
- template< class P0 , class P1 , class P2 , class T> struct push_back<boost::type_of::vector3< P0 , P1 , P2>, T> { typedef boost::type_of::vector4< P0 , P1 , P2 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class T> struct push_back<boost::type_of::vector4< P0 , P1 , P2 , P3>, T> { typedef boost::type_of::vector5< P0 , P1 , P2 , P3 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class T> struct push_back<boost::type_of::vector5< P0 , P1 , P2 , P3 , P4>, T> { typedef boost::type_of::vector6< P0 , P1 , P2 , P3 , P4 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class T> struct push_back<boost::type_of::vector6< P0 , P1 , P2 , P3 , P4 , P5>, T> { typedef boost::type_of::vector7< P0 , P1 , P2 , P3 , P4 , P5 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class T> struct push_back<boost::type_of::vector7< P0 , P1 , P2 , P3 , P4 , P5 , P6>, T> { typedef boost::type_of::vector8< P0 , P1 , P2 , P3 , P4 , P5 , P6 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class T> struct push_back<boost::type_of::vector8< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7>, T> { typedef boost::type_of::vector9< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class T> struct push_back<boost::type_of::vector9< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8>, T> { typedef boost::type_of::vector10< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class T> struct push_back<boost::type_of::vector10< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9>, T> { typedef boost::type_of::vector11< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class T> struct push_back<boost::type_of::vector11< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10>, T> { typedef boost::type_of::vector12< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class T> struct push_back<boost::type_of::vector12< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11>, T> { typedef boost::type_of::vector13< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class T> struct push_back<boost::type_of::vector13< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12>, T> { typedef boost::type_of::vector14< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class T> struct push_back<boost::type_of::vector14< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13>, T> { typedef boost::type_of::vector15< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class T> struct push_back<boost::type_of::vector15< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14>, T> { typedef boost::type_of::vector16< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class T> struct push_back<boost::type_of::vector16< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15>, T> { typedef boost::type_of::vector17< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class T> struct push_back<boost::type_of::vector17< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16>, T> { typedef boost::type_of::vector18< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class T> struct push_back<boost::type_of::vector18< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17>, T> { typedef boost::type_of::vector19< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class T> struct push_back<boost::type_of::vector19< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18>, T> { typedef boost::type_of::vector20< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class T> struct push_back<boost::type_of::vector20< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19>, T> { typedef boost::type_of::vector21< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class T> struct push_back<boost::type_of::vector21< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20>, T> { typedef boost::type_of::vector22< P0 , P1 , P2 , P3 , P4 , [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class T> struct push_back<boost::type_of::vector22< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21>, T> { typedef boost::type_of::vector23< P0 , P1 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class T> struct push_back<boost::type_of::vector23< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22>, T> { typedef boost::type_of: [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class T> struct push_back<boost::type_of::vector24< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23>, T> { typed [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class T> struct push_back<boost::type_of::vector25< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class T> struct push_back<boost::type_of::vector26< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class T> struct push_back<boost::type_of::vector27< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class T> struct push_back<boost::type_of::vector28< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class T> struct push_back<boost::type_of::vector29< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class T> struct push_back<boost::type_of::vector30< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class T> struct push_back<boost::type_of::vector31< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class T> struct push_back<boost::type_of::vector32< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class T> struct push_back<boost::type_of::vector33< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class T> struct push_back<boost::type_of::vector34< P0 , P1 , P2 , P3 , P4 , [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class T> struct push_back<boost::type_of::vector35< P0 , P1 , P2 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class T> struct push_back<boost::type_of::vector36< [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class T> struct push_back<boost::type_of [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class T> struct push_back<bo [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class T> struct [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-}}
diff --git a/boost/typeof/vector50.hpp b/boost/typeof/vector50.hpp
deleted file mode 100644
index d3beaff..0000000
--- a/boost/typeof/vector50.hpp
+++ /dev/null
@@ -1,171 +0,0 @@
-
-// Copyright (C) 2005 Arkadiy Vertleyb
-// Copyright (C) 2005 Peder Holt
-//
-// Use modification and distribution are subject to the boost Software License,
-// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
-
-// Preprocessed code, do not edit manually !
-
-
-namespace boost { namespace type_of {
- template<class V, class Increase_BOOST_TYPEOF_LIMIT_SIZE> struct v_iter;
- template<class V> struct v_iter<V, mpl::int_<0> > { typedef typename V::item0 type; typedef v_iter<V, mpl::int_<0 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<1> > { typedef typename V::item1 type; typedef v_iter<V, mpl::int_<1 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<2> > { typedef typename V::item2 type; typedef v_iter<V, mpl::int_<2 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<3> > { typedef typename V::item3 type; typedef v_iter<V, mpl::int_<3 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<4> > { typedef typename V::item4 type; typedef v_iter<V, mpl::int_<4 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<5> > { typedef typename V::item5 type; typedef v_iter<V, mpl::int_<5 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<6> > { typedef typename V::item6 type; typedef v_iter<V, mpl::int_<6 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<7> > { typedef typename V::item7 type; typedef v_iter<V, mpl::int_<7 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<8> > { typedef typename V::item8 type; typedef v_iter<V, mpl::int_<8 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<9> > { typedef typename V::item9 type; typedef v_iter<V, mpl::int_<9 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<10> > { typedef typename V::item10 type; typedef v_iter<V, mpl::int_<10 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<11> > { typedef typename V::item11 type; typedef v_iter<V, mpl::int_<11 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<12> > { typedef typename V::item12 type; typedef v_iter<V, mpl::int_<12 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<13> > { typedef typename V::item13 type; typedef v_iter<V, mpl::int_<13 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<14> > { typedef typename V::item14 type; typedef v_iter<V, mpl::int_<14 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<15> > { typedef typename V::item15 type; typedef v_iter<V, mpl::int_<15 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<16> > { typedef typename V::item16 type; typedef v_iter<V, mpl::int_<16 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<17> > { typedef typename V::item17 type; typedef v_iter<V, mpl::int_<17 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<18> > { typedef typename V::item18 type; typedef v_iter<V, mpl::int_<18 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<19> > { typedef typename V::item19 type; typedef v_iter<V, mpl::int_<19 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<20> > { typedef typename V::item20 type; typedef v_iter<V, mpl::int_<20 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<21> > { typedef typename V::item21 type; typedef v_iter<V, mpl::int_<21 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<22> > { typedef typename V::item22 type; typedef v_iter<V, mpl::int_<22 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<23> > { typedef typename V::item23 type; typedef v_iter<V, mpl::int_<23 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<24> > { typedef typename V::item24 type; typedef v_iter<V, mpl::int_<24 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<25> > { typedef typename V::item25 type; typedef v_iter<V, mpl::int_<25 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<26> > { typedef typename V::item26 type; typedef v_iter<V, mpl::int_<26 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<27> > { typedef typename V::item27 type; typedef v_iter<V, mpl::int_<27 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<28> > { typedef typename V::item28 type; typedef v_iter<V, mpl::int_<28 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<29> > { typedef typename V::item29 type; typedef v_iter<V, mpl::int_<29 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<30> > { typedef typename V::item30 type; typedef v_iter<V, mpl::int_<30 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<31> > { typedef typename V::item31 type; typedef v_iter<V, mpl::int_<31 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<32> > { typedef typename V::item32 type; typedef v_iter<V, mpl::int_<32 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<33> > { typedef typename V::item33 type; typedef v_iter<V, mpl::int_<33 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<34> > { typedef typename V::item34 type; typedef v_iter<V, mpl::int_<34 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<35> > { typedef typename V::item35 type; typedef v_iter<V, mpl::int_<35 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<36> > { typedef typename V::item36 type; typedef v_iter<V, mpl::int_<36 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<37> > { typedef typename V::item37 type; typedef v_iter<V, mpl::int_<37 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<38> > { typedef typename V::item38 type; typedef v_iter<V, mpl::int_<38 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<39> > { typedef typename V::item39 type; typedef v_iter<V, mpl::int_<39 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<40> > { typedef typename V::item40 type; typedef v_iter<V, mpl::int_<40 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<41> > { typedef typename V::item41 type; typedef v_iter<V, mpl::int_<41 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<42> > { typedef typename V::item42 type; typedef v_iter<V, mpl::int_<42 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<43> > { typedef typename V::item43 type; typedef v_iter<V, mpl::int_<43 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<44> > { typedef typename V::item44 type; typedef v_iter<V, mpl::int_<44 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<45> > { typedef typename V::item45 type; typedef v_iter<V, mpl::int_<45 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<46> > { typedef typename V::item46 type; typedef v_iter<V, mpl::int_<46 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<47> > { typedef typename V::item47 type; typedef v_iter<V, mpl::int_<47 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<48> > { typedef typename V::item48 type; typedef v_iter<V, mpl::int_<48 + 1> > next; };
- template<class V> struct v_iter<V, mpl::int_<49> > { typedef typename V::item49 type; typedef v_iter<V, mpl::int_<49 + 1> > next; };
-}}
-namespace boost { namespace type_of {
- template< class T = void> struct vector0 { typedef v_iter<vector0<>, boost::mpl::int_<0> > begin; typedef mpl::int_<1> item0; typedef mpl::int_<1> item1; typedef mpl::int_<1> item2; typedef mpl::int_<1> item3; typedef mpl::int_<1> item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl::int_<1 [...]
- template< class P0 > struct vector1 { typedef v_iter<vector1< P0>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef mpl::int_<1> item1; typedef mpl::int_<1> item2; typedef mpl::int_<1> item3; typedef mpl::int_<1> item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl::int_<1> item13; ty [...]
- template< class P0 , class P1 > struct vector2 { typedef v_iter<vector2< P0 , P1>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef mpl::int_<1> item2; typedef mpl::int_<1> item3; typedef mpl::int_<1> item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl::int_<1> item [...]
- template< class P0 , class P1 , class P2 > struct vector3 { typedef v_iter<vector3< P0 , P1 , P2>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef mpl::int_<1> item3; typedef mpl::int_<1> item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl::int_<1 [...]
- template< class P0 , class P1 , class P2 , class P3 > struct vector4 { typedef v_iter<vector4< P0 , P1 , P2 , P3>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef mpl::int_<1> item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl:: [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 > struct vector5 { typedef v_iter<vector5< P0 , P1 , P2 , P3 , P4>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 > struct vector6 { typedef v_iter<vector6< P0 , P1 , P2 , P3 , P4 , P5>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; t [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 > struct vector7 { typedef v_iter<vector7< P0 , P1 , P2 , P3 , P4 , P5 , P6>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> ite [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 > struct vector8 { typedef v_iter<vector8< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_< [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 > struct vector9 { typedef v_iter<vector9< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl: [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 > struct vector10 { typedef v_iter<vector10< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; type [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 > struct vector11 { typedef v_iter<vector11< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef mpl::int_<1> ite [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 > struct vector12 { typedef v_iter<vector12< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typede [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 > struct vector13 { typedef v_iter<vector13< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 > struct vector14 { typedef v_iter<vector14< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 > struct vector15 { typedef v_iter<vector15< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 > struct vector16 { typedef v_iter<vector16< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 > struct vector17 { typedef v_iter<vector17< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 > struct vector18 { typedef v_iter<vector18< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 > struct vector19 { typedef v_iter<vector19< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 > struct vector20 { typedef v_iter<vector20< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 > struct vector21 { typedef v_iter<vector21< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 > struct vector22 { typedef v_iter<vector22< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 > struct vector23 { typedef v_iter<vector23< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22>, boost::mpl::int_<0> > begin; typedef [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 > struct vector24 { typedef v_iter<vector24< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23>, boost::mpl::int_<0> [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 > struct vector25 { typedef v_iter<vector25< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24>, b [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 > struct vector26 { typedef v_iter<vector26< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 > struct vector27 { typedef v_iter<vector27< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 > struct vector28 { typedef v_iter<vector28< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 > struct vector29 { typedef v_iter<vector29< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 > struct vector30 { typedef v_iter<vector30< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 > struct vector31 { typedef v_iter<vector31< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 > struct vector32 { typedef v_iter<vector32< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 > struct vector33 { typedef v_iter<vector33< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 > struct vector34 { typedef v_iter<vector34< P0 , P1 , P2 , P3 , P4 , P5 , P6 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 > struct vector35 { typedef v_iter<vector35< P0 , P1 , P2 , P3 , P [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 > struct vector36 { typedef v_iter<vector36< P0 , P1 , [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 > struct vector37 { typedef v_iter<vector3 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 > struct vector38 { typedef v_ [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 > struct vector39 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 > stru [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-}}
-namespace boost { namespace type_of {
- template<class V, class T> struct push_back {
- typedef V type;
- };
- template< class T> struct push_back<boost::type_of::vector0<>, T> { typedef boost::type_of::vector1< T > type; };
- template< class P0 , class T> struct push_back<boost::type_of::vector1< P0>, T> { typedef boost::type_of::vector2< P0 , T > type; };
- template< class P0 , class P1 , class T> struct push_back<boost::type_of::vector2< P0 , P1>, T> { typedef boost::type_of::vector3< P0 , P1 , T > type; };
- template< class P0 , class P1 , class P2 , class T> struct push_back<boost::type_of::vector3< P0 , P1 , P2>, T> { typedef boost::type_of::vector4< P0 , P1 , P2 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class T> struct push_back<boost::type_of::vector4< P0 , P1 , P2 , P3>, T> { typedef boost::type_of::vector5< P0 , P1 , P2 , P3 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class T> struct push_back<boost::type_of::vector5< P0 , P1 , P2 , P3 , P4>, T> { typedef boost::type_of::vector6< P0 , P1 , P2 , P3 , P4 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class T> struct push_back<boost::type_of::vector6< P0 , P1 , P2 , P3 , P4 , P5>, T> { typedef boost::type_of::vector7< P0 , P1 , P2 , P3 , P4 , P5 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class T> struct push_back<boost::type_of::vector7< P0 , P1 , P2 , P3 , P4 , P5 , P6>, T> { typedef boost::type_of::vector8< P0 , P1 , P2 , P3 , P4 , P5 , P6 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class T> struct push_back<boost::type_of::vector8< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7>, T> { typedef boost::type_of::vector9< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class T> struct push_back<boost::type_of::vector9< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8>, T> { typedef boost::type_of::vector10< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class T> struct push_back<boost::type_of::vector10< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9>, T> { typedef boost::type_of::vector11< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class T> struct push_back<boost::type_of::vector11< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10>, T> { typedef boost::type_of::vector12< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class T> struct push_back<boost::type_of::vector12< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11>, T> { typedef boost::type_of::vector13< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class T> struct push_back<boost::type_of::vector13< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12>, T> { typedef boost::type_of::vector14< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class T> struct push_back<boost::type_of::vector14< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13>, T> { typedef boost::type_of::vector15< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class T> struct push_back<boost::type_of::vector15< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14>, T> { typedef boost::type_of::vector16< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class T> struct push_back<boost::type_of::vector16< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15>, T> { typedef boost::type_of::vector17< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class T> struct push_back<boost::type_of::vector17< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16>, T> { typedef boost::type_of::vector18< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , T > type; };
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class T> struct push_back<boost::type_of::vector18< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17>, T> { typedef boost::type_of::vector19< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class T> struct push_back<boost::type_of::vector19< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18>, T> { typedef boost::type_of::vector20< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class T> struct push_back<boost::type_of::vector20< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19>, T> { typedef boost::type_of::vector21< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class T> struct push_back<boost::type_of::vector21< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20>, T> { typedef boost::type_of::vector22< P0 , P1 , P2 , P3 , P4 , [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class T> struct push_back<boost::type_of::vector22< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21>, T> { typedef boost::type_of::vector23< P0 , P1 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class T> struct push_back<boost::type_of::vector23< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22>, T> { typedef boost::type_of: [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class T> struct push_back<boost::type_of::vector24< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23>, T> { typed [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class T> struct push_back<boost::type_of::vector25< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class T> struct push_back<boost::type_of::vector26< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class T> struct push_back<boost::type_of::vector27< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class T> struct push_back<boost::type_of::vector28< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class T> struct push_back<boost::type_of::vector29< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class T> struct push_back<boost::type_of::vector30< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class T> struct push_back<boost::type_of::vector31< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class T> struct push_back<boost::type_of::vector32< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class T> struct push_back<boost::type_of::vector33< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class T> struct push_back<boost::type_of::vector34< P0 , P1 , P2 , P3 , P4 , [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class T> struct push_back<boost::type_of::vector35< P0 , P1 , P2 [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class T> struct push_back<boost::type_of::vector36< [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class T> struct push_back<boost::type_of [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class T> struct push_back<bo [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class T> struct [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
- template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , clas [...]
-}}
diff --git a/boost/utility/addressof.hpp b/boost/utility/addressof.hpp
deleted file mode 100644
index ecb7776..0000000
--- a/boost/utility/addressof.hpp
+++ /dev/null
@@ -1,102 +0,0 @@
-// Copyright (C) 2002 Brad King (brad.king at kitware.com)
-// Douglas Gregor (gregod at cs.rpi.edu)
-//
-// Copyright (C) 2002, 2008 Peter Dimov
-//
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// For more information, see http://www.boost.org
-
-#ifndef BOOST_UTILITY_ADDRESSOF_HPP
-# define BOOST_UTILITY_ADDRESSOF_HPP
-
-# include <boost/config.hpp>
-# include <boost/detail/workaround.hpp>
-
-namespace boost
-{
-
-namespace detail
-{
-
-template<class T> 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<class T> struct addressof_impl
-{
- static inline T * f( T & v, long )
- {
- return reinterpret_cast<T*>(
- &const_cast<char&>(reinterpret_cast<const volatile char &>(v)));
- }
-
- static inline T * f( T * v, int )
- {
- return v;
- }
-};
-
-} // namespace detail
-
-template<class T> T * addressof( T & v )
-{
-#if (defined( __BORLANDC__ ) && BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT( 0x610 ) ) ) || defined( __SUNPRO_CC )
-
- return boost::detail::addressof_impl<T>::f( v, 0 );
-
-#else
-
- return boost::detail::addressof_impl<T>::f( boost::detail::addr_impl_ref<T>( v ), 0 );
-
-#endif
-}
-
-#if defined( __SUNPRO_CC ) && BOOST_WORKAROUND( __SUNPRO_CC, BOOST_TESTED_AT( 0x590 ) )
-
-namespace detail
-{
-
-template<class T> struct addressof_addp
-{
- typedef T * type;
-};
-
-} // namespace detail
-
-template< class T, std::size_t N >
-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<typename T,std::size_t N>
-T (*addressof(T (&t)[N]))[N]
-{
- return reinterpret_cast<T(*)[N]>(&t);
-}
-
-template<typename T,std::size_t N>
-const T (*addressof(const T (&t)[N]))[N]
-{
- return reinterpret_cast<const T(*)[N]>(&t);
-}
-#endif
-
-} // namespace boost
-
-#endif // BOOST_UTILITY_ADDRESSOF_HPP
diff --git a/boost/utility/base_from_member.hpp b/boost/utility/base_from_member.hpp
deleted file mode 100644
index e32ecb8..0000000
--- a/boost/utility/base_from_member.hpp
+++ /dev/null
@@ -1,158 +0,0 @@
-// boost utility/base_from_member.hpp header file --------------------------//
-
-// Copyright 2001, 2003, 2004, 2012 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
-// <http://www.boost.org/LICENSE_1_0.txt>.)
-
-// See <http://www.boost.org/libs/utility/> for the library's home page.
-
-#ifndef BOOST_UTILITY_BASE_FROM_MEMBER_HPP
-#define BOOST_UTILITY_BASE_FROM_MEMBER_HPP
-
-#include <boost/config.hpp>
-#include <boost/preprocessor/arithmetic/inc.hpp>
-#include <boost/preprocessor/repetition/enum_binary_params.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/repeat_from_to.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/utility/enable_if.hpp>
-
-
-// Base-from-member arity configuration macro ------------------------------//
-
-// The following macro determines how many arguments will be in the largest
-// constructor template of base_from_member. Constructor templates will be
-// generated from one argument to this maximum. Code from other files can read
-// this number if they need to always match the exact maximum base_from_member
-// uses. The maximum constructor length can be changed by overriding the
-// #defined constant. Make sure to apply the override, if any, for all source
-// files during project compiling for consistency.
-
-// Contributed by Jonathan Turkanis
-
-#ifndef BOOST_BASE_FROM_MEMBER_MAX_ARITY
-#define BOOST_BASE_FROM_MEMBER_MAX_ARITY 10
-#endif
-
-
-// An iteration of a constructor template for base_from_member -------------//
-
-// A macro that should expand to:
-// template < typename T1, ..., typename Tn >
-// base_from_member( T1 x1, ..., Tn xn )
-// : member( x1, ..., xn )
-// {}
-// This macro should only persist within this file.
-
-#define BOOST_PRIVATE_CTR_DEF( z, n, data ) \
- template < BOOST_PP_ENUM_PARAMS(n, typename T) > \
- explicit base_from_member( BOOST_PP_ENUM_BINARY_PARAMS(n, T, x) ) \
- : member( BOOST_PP_ENUM_PARAMS(n, x) ) \
- {} \
- /**/
-
-
-namespace boost
-{
-
-namespace detail
-{
-
-// Type-unmarking class template -------------------------------------------//
-
-// Type-trait to get the raw type, i.e. the type without top-level reference nor
-// cv-qualification, from a type expression. Mainly for function arguments, any
-// reference part is stripped first.
-
-// Contributed by Daryle Walker
-
-template < typename T >
-struct remove_cv_ref
-{
- typedef typename ::boost::remove_cv<typename
- ::boost::remove_reference<T>::type>::type type;
-
-}; // boost::detail::remove_cv_ref
-
-// Unmarked-type comparison class template ---------------------------------//
-
-// Type-trait to check if two type expressions have the same raw type.
-
-// Contributed by Daryle Walker, based on a work-around by Luc Danton
-
-template < typename T, typename U >
-struct is_related
- : public ::boost::is_same<
- typename ::boost::detail::remove_cv_ref<T>::type,
- typename ::boost::detail::remove_cv_ref<U>::type >
-{};
-
-// Enable-if-on-unidentical-unmarked-type class template -------------------//
-
-// Enable-if on the first two type expressions NOT having the same raw type.
-
-// Contributed by Daryle Walker, based on a work-around by Luc Danton
-
-#ifndef BOOST_NO_CXX11_VARIADIC_TEMPLATES
-template<typename ...T>
-struct enable_if_unrelated
- : public ::boost::enable_if_c<true>
-{};
-
-template<typename T, typename U, typename ...U2>
-struct enable_if_unrelated<T, U, U2...>
- : public ::boost::disable_if< ::boost::detail::is_related<T, U> >
-{};
-#endif
-
-} // namespace boost::detail
-
-
-// Base-from-member class template -----------------------------------------//
-
-// Helper to initialize a base object so a derived class can use this
-// object in the initialization of another base class. Used by
-// Dietmar Kuehl from ideas by Ron Klatcho to solve the problem of a
-// base class needing to be initialized by a member.
-
-// Contributed by Daryle Walker
-
-template < typename MemberType, int UniqueID = 0 >
-class base_from_member
-{
-protected:
- MemberType member;
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && \
- !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && \
- !defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS) && \
- !(defined(__GNUC__) && (__GNUC__ == 4) && (__GNUC_MINOR__ < 4))
- template <typename ...T, typename EnableIf = typename
- ::boost::detail::enable_if_unrelated<base_from_member, T...>::type>
- explicit BOOST_CONSTEXPR base_from_member( T&& ...x )
- BOOST_NOEXCEPT_IF( BOOST_NOEXCEPT_EXPR(::new ((void*) 0) MemberType(
- static_cast<T&&>(x)... )) ) // no std::is_nothrow_constructible...
- : member( static_cast<T&&>(x)... ) // ...nor std::forward needed
- {}
-#else
- base_from_member()
- : member()
- {}
-
- BOOST_PP_REPEAT_FROM_TO( 1, BOOST_PP_INC(BOOST_BASE_FROM_MEMBER_MAX_ARITY),
- BOOST_PRIVATE_CTR_DEF, _ )
-#endif
-
-}; // boost::base_from_member
-
-} // namespace boost
-
-
-// Undo any private macros
-#undef BOOST_PRIVATE_CTR_DEF
-
-
-#endif // BOOST_UTILITY_BASE_FROM_MEMBER_HPP
diff --git a/boost/utility/compare_pointees.hpp b/boost/utility/compare_pointees.hpp
deleted file mode 100644
index 7e2515c..0000000
--- a/boost/utility/compare_pointees.hpp
+++ /dev/null
@@ -1,68 +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 at hotmail.com
-//
-#ifndef BOOST_UTILITY_COMPARE_POINTEES_25AGO2003_HPP
-#define BOOST_UTILITY_COMPARE_POINTEES_25AGO2003_HPP
-
-#include<functional>
-
-namespace boost {
-
-// template<class OP> bool equal_pointees(OP const& x, OP const& y);
-// template<class OP> struct equal_pointees_t;
-//
-// Being OP a model of OptionalPointee (either a pointer or an optional):
-//
-// If both x and y have valid pointees, returns the result of (*x == *y)
-// If only one has a valid pointee, returns false.
-// If none have valid pointees, returns true.
-// No-throw
-template<class OptionalPointee>
-inline
-bool equal_pointees ( OptionalPointee const& x, OptionalPointee const& y )
-{
- return (!x) != (!y) ? false : ( !x ? true : (*x) == (*y) ) ;
-}
-
-template<class OptionalPointee>
-struct equal_pointees_t : std::binary_function<OptionalPointee,OptionalPointee,bool>
-{
- bool operator() ( OptionalPointee const& x, OptionalPointee const& y ) const
- { return equal_pointees(x,y) ; }
-} ;
-
-// template<class OP> bool less_pointees(OP const& x, OP const& y);
-// template<class OP> struct less_pointees_t;
-//
-// Being OP a model of OptionalPointee (either a pointer or an optional):
-//
-// If y has not a valid pointee, returns false.
-// ElseIf x has not a valid pointee, returns true.
-// ElseIf both x and y have valid pointees, returns the result of (*x < *y)
-// No-throw
-template<class OptionalPointee>
-inline
-bool less_pointees ( OptionalPointee const& x, OptionalPointee const& y )
-{
- return !y ? false : ( !x ? true : (*x) < (*y) ) ;
-}
-
-template<class OptionalPointee>
-struct less_pointees_t : std::binary_function<OptionalPointee,OptionalPointee,bool>
-{
- bool operator() ( OptionalPointee const& x, OptionalPointee const& y ) const
- { return less_pointees(x,y) ; }
-} ;
-
-} // namespace boost
-
-#endif
-
diff --git a/boost/utility/declval.hpp b/boost/utility/declval.hpp
deleted file mode 100644
index a4ab2c8..0000000
--- a/boost/utility/declval.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-// declval.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_UTILITY_DECLVAL_HPP
-#define BOOST_UTILITY_DECLVAL_HPP
-
-#include <boost/config.hpp>
-
-//----------------------------------------------------------------------------//
-
-#include <boost/type_traits/add_rvalue_reference.hpp>
-
-//----------------------------------------------------------------------------//
-// //
-// C++03 implementation of //
-// 20.2.4 Function template declval [declval] //
-// Written by Vicente J. Botet Escriba //
-// //
-// 1 The library provides the function template declval to simplify the
-// definition of expressions which occur as unevaluated operands.
-// 2 Remarks: If this function is used, the program is ill-formed.
-// 3 Remarks: The template parameter T of declval may be an incomplete type.
-// [ Example:
-//
-// template <class To, class From>
-// decltype(static_cast<To>(declval<From>())) convert(From&&);
-//
-// declares a function template convert which only participates in overloading
-// if the type From can be explicitly converted to type To. For another example
-// see class template common_type (20.9.7.6). -end example ]
-//----------------------------------------------------------------------------//
-
-namespace boost {
-
- template <typename T>
- typename add_rvalue_reference<T>::type declval() BOOST_NOEXCEPT; // as unevaluated operand
-
-} // namespace boost
-
-#endif // BOOST_UTILITY_DECLVAL_HPP
diff --git a/boost/utility/detail/in_place_factory_prefix.hpp b/boost/utility/detail/in_place_factory_prefix.hpp
deleted file mode 100644
index afd76b5..0000000
--- a/boost/utility/detail/in_place_factory_prefix.hpp
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright (C) 2003, Fernando Luis Cacciola Carballal.
-// Copyright (C) 2007, Tobias Schwinger.
-//
-// Use, modification, and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/optional for documentation.
-//
-// You are welcome to contact the author at:
-// fernando_cacciola at hotmail.com
-//
-#ifndef BOOST_UTILITY_DETAIL_INPLACE_FACTORY_PREFIX_04APR2007_HPP
-#define BOOST_UTILITY_DETAIL_INPLACE_FACTORY_PREFIX_04APR2007_HPP
-
-#include <new>
-#include <cstddef>
-#include <boost/config.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/punctuation/paren.hpp>
-#include <boost/preprocessor/iteration/iterate.hpp>
-#include <boost/preprocessor/repetition/repeat.hpp>
-#include <boost/preprocessor/repetition/enum.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_binary_params.hpp>
-#include <boost/preprocessor/repetition/enum_trailing_params.hpp>
-
-#define BOOST_DEFINE_INPLACE_FACTORY_CLASS_MEMBER_INIT(z,n,_) BOOST_PP_CAT(m_a,n) BOOST_PP_LPAREN() BOOST_PP_CAT(a,n) BOOST_PP_RPAREN()
-#define BOOST_DEFINE_INPLACE_FACTORY_CLASS_MEMBER_DECL(z,n,_) BOOST_PP_CAT(A,n) const& BOOST_PP_CAT(m_a,n);
-
-#define BOOST_MAX_INPLACE_FACTORY_ARITY 10
-
-#undef BOOST_UTILITY_DETAIL_INPLACE_FACTORY_SUFFIX_04APR2007_HPP
-
-#endif
-
diff --git a/boost/utility/detail/in_place_factory_suffix.hpp b/boost/utility/detail/in_place_factory_suffix.hpp
deleted file mode 100644
index 58f48c7..0000000
--- a/boost/utility/detail/in_place_factory_suffix.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright (C) 2003, Fernando Luis Cacciola Carballal.
-// Copyright (C) 2007, Tobias Schwinger.
-//
-// Use, modification, and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/optional for documentation.
-//
-// You are welcome to contact the author at:
-// fernando_cacciola at hotmail.com
-//
-#ifndef BOOST_UTILITY_DETAIL_INPLACE_FACTORY_SUFFIX_04APR2007_HPP
-#define BOOST_UTILITY_DETAIL_INPLACE_FACTORY_SUFFIX_04APR2007_HPP
-
-#undef BOOST_DEFINE_INPLACE_FACTORY_CLASS_MEMBER_INIT
-#undef BOOST_DEFINE_INPLACE_FACTORY_CLASS_MEMBER_DECL
-#undef BOOST_MAX_INPLACE_FACTORY_ARITY
-
-#undef BOOST_UTILITY_DETAIL_INPLACE_FACTORY_PREFIX_04APR2007_HPP
-
-#endif
-
diff --git a/boost/utility/detail/result_of_iterate.hpp b/boost/utility/detail/result_of_iterate.hpp
deleted file mode 100644
index 5192172..0000000
--- a/boost/utility/detail/result_of_iterate.hpp
+++ /dev/null
@@ -1,221 +0,0 @@
-// Boost result_of library
-
-// Copyright Douglas Gregor 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)
-
-// Copyright Daniel Walker, Eric Niebler, Michel Morin 2008-2012.
-// 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)
-
-// For more information, see http://www.boost.org/libs/utility
-#if !defined(BOOST_PP_IS_ITERATING)
-# error Boost result_of - do not include this file!
-#endif
-
-// CWPro8 requires an argument in a function type specialization
-#if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3002)) && BOOST_PP_ITERATION() == 0
-# define BOOST_RESULT_OF_ARGS void
-#else
-# define BOOST_RESULT_OF_ARGS BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),T)
-#endif
-
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551))
-template<typename F BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(),typename T)>
-struct tr1_result_of<F(BOOST_RESULT_OF_ARGS)>
- : mpl::if_<
- mpl::or_< is_pointer<F>, is_member_function_pointer<F> >
- , boost::detail::tr1_result_of_impl<
- typename remove_cv<F>::type,
- typename remove_cv<F>::type(BOOST_RESULT_OF_ARGS),
- (boost::detail::has_result_type<F>::value)>
- , boost::detail::tr1_result_of_impl<
- F,
- F(BOOST_RESULT_OF_ARGS),
- (boost::detail::has_result_type<F>::value)> >::type { };
-#endif
-
-#ifdef BOOST_RESULT_OF_USE_DECLTYPE
-template<typename F BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(),typename T)>
-struct result_of<F(BOOST_RESULT_OF_ARGS)>
- : detail::cpp0x_result_of<F(BOOST_RESULT_OF_ARGS)> { };
-#endif // BOOST_RESULT_OF_USE_DECLTYPE
-
-#ifdef BOOST_RESULT_OF_USE_TR1_WITH_DECLTYPE_FALLBACK
-template<typename F BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(),typename T)>
-struct result_of<F(BOOST_RESULT_OF_ARGS)>
- : mpl::if_<mpl::or_<detail::has_result_type<F>, detail::has_result<F> >,
- tr1_result_of<F(BOOST_RESULT_OF_ARGS)>,
- detail::cpp0x_result_of<F(BOOST_RESULT_OF_ARGS)> >::type { };
-#endif // BOOST_RESULT_OF_USE_TR1_WITH_DECLTYPE_FALLBACK
-
-#if defined(BOOST_RESULT_OF_USE_DECLTYPE) || defined(BOOST_RESULT_OF_USE_TR1_WITH_DECLTYPE_FALLBACK)
-
-namespace detail {
-
-template<typename F BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(),typename T)>
-struct cpp0x_result_of<F(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),T))>
- : mpl::if_<
- is_member_function_pointer<F>
- , detail::tr1_result_of_impl<
- typename remove_cv<F>::type,
- typename remove_cv<F>::type(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),T)), false
- >
- , detail::cpp0x_result_of_impl<
- F(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),T))
- >
- >::type
-{};
-
-#ifdef BOOST_NO_SFINAE_EXPR
-
-template<typename F>
-struct BOOST_PP_CAT(result_of_callable_fun_2_, BOOST_PP_ITERATION());
-
-template<typename R BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(), typename T)>
-struct BOOST_PP_CAT(result_of_callable_fun_2_, BOOST_PP_ITERATION())<R(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), T))> {
- R operator()(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), T)) const;
- typedef result_of_private_type const &(*pfn_t)(...);
- operator pfn_t() const volatile;
-};
-
-template<typename F>
-struct BOOST_PP_CAT(result_of_callable_fun_, BOOST_PP_ITERATION());
-
-template<typename F>
-struct BOOST_PP_CAT(result_of_callable_fun_, BOOST_PP_ITERATION())<F *>
- : BOOST_PP_CAT(result_of_callable_fun_2_, BOOST_PP_ITERATION())<F>
-{};
-
-template<typename F>
-struct BOOST_PP_CAT(result_of_callable_fun_, BOOST_PP_ITERATION())<F &>
- : BOOST_PP_CAT(result_of_callable_fun_2_, BOOST_PP_ITERATION())<F>
-{};
-
-template<typename F>
-struct BOOST_PP_CAT(result_of_select_call_wrapper_type_, BOOST_PP_ITERATION())
- : mpl::eval_if<
- is_class<typename remove_reference<F>::type>,
- result_of_wrap_callable_class<F>,
- mpl::identity<BOOST_PP_CAT(result_of_callable_fun_, BOOST_PP_ITERATION())<typename remove_cv<F>::type> >
- >
-{};
-
-template<typename F BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(), typename T)>
-struct BOOST_PP_CAT(result_of_is_callable_, BOOST_PP_ITERATION()) {
- typedef typename BOOST_PP_CAT(result_of_select_call_wrapper_type_, BOOST_PP_ITERATION())<F>::type wrapper_t;
- static const bool value = (
- sizeof(result_of_no_type) == sizeof(detail::result_of_is_private_type(
- (boost::declval<wrapper_t>()(BOOST_PP_ENUM_BINARY_PARAMS(BOOST_PP_ITERATION(), boost::declval<T, >() BOOST_PP_INTERCEPT)), result_of_weird_type())
- ))
- );
- typedef mpl::bool_<value> type;
-};
-
-template<typename F BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(),typename T)>
-struct cpp0x_result_of_impl<F(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),T)), true>
- : lazy_enable_if<
- BOOST_PP_CAT(result_of_is_callable_, BOOST_PP_ITERATION())<F BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(), T)>
- , cpp0x_result_of_impl<F(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),T)), false>
- >
-{};
-
-template<typename F BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(),typename T)>
-struct cpp0x_result_of_impl<F(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),T)), false>
-{
- typedef decltype(
- boost::declval<F>()(
- BOOST_PP_ENUM_BINARY_PARAMS(BOOST_PP_ITERATION(), boost::declval<T, >() BOOST_PP_INTERCEPT)
- )
- ) type;
-};
-
-#else // BOOST_NO_SFINAE_EXPR
-
-template<typename F BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(),typename T)>
-struct cpp0x_result_of_impl<F(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),T)),
- typename result_of_always_void<decltype(
- boost::declval<F>()(
- BOOST_PP_ENUM_BINARY_PARAMS(BOOST_PP_ITERATION(), boost::declval<T, >() BOOST_PP_INTERCEPT)
- )
- )>::type> {
- typedef decltype(
- boost::declval<F>()(
- BOOST_PP_ENUM_BINARY_PARAMS(BOOST_PP_ITERATION(), boost::declval<T, >() BOOST_PP_INTERCEPT)
- )
- ) type;
-};
-
-#endif // BOOST_NO_SFINAE_EXPR
-
-} // namespace detail
-
-#else // defined(BOOST_RESULT_OF_USE_DECLTYPE) || defined(BOOST_RESULT_OF_USE_TR1_WITH_DECLTYPE_FALLBACK)
-
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551))
-template<typename F BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(),typename T)>
-struct result_of<F(BOOST_RESULT_OF_ARGS)>
- : tr1_result_of<F(BOOST_RESULT_OF_ARGS)> { };
-#endif
-
-#endif // defined(BOOST_RESULT_OF_USE_DECLTYPE)
-
-#undef BOOST_RESULT_OF_ARGS
-
-#if BOOST_PP_ITERATION() >= 1
-
-namespace detail {
-
-template<typename R, typename FArgs BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(),typename T)>
-struct tr1_result_of_impl<R (*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),T)), FArgs, false>
-{
- typedef R type;
-};
-
-template<typename R, typename FArgs BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(),typename T)>
-struct tr1_result_of_impl<R (&)(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),T)), FArgs, false>
-{
- typedef R type;
-};
-
-#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551))
-template<typename R, typename FArgs BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(),typename T)>
-struct tr1_result_of_impl<R (T0::*)
- (BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_PP_ITERATION(),T)),
- FArgs, false>
-{
- typedef R type;
-};
-
-template<typename R, typename FArgs BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(),typename T)>
-struct tr1_result_of_impl<R (T0::*)
- (BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_PP_ITERATION(),T))
- const,
- FArgs, false>
-{
- typedef R type;
-};
-
-template<typename R, typename FArgs BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(),typename T)>
-struct tr1_result_of_impl<R (T0::*)
- (BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_PP_ITERATION(),T))
- volatile,
- FArgs, false>
-{
- typedef R type;
-};
-
-template<typename R, typename FArgs BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(),typename T)>
-struct tr1_result_of_impl<R (T0::*)
- (BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_PP_ITERATION(),T))
- const volatile,
- FArgs, false>
-{
- typedef R type;
-};
-#endif
-
-}
-#endif
diff --git a/boost/utility/enable_if.hpp b/boost/utility/enable_if.hpp
deleted file mode 100644
index d292c6a..0000000
--- a/boost/utility/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_UTILITY_ENABLE_IF_HPP
-#define BOOST_UTILITY_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 <bool B, class T = void>
- struct enable_if_c {
- typedef T type;
- };
-
- template <class T>
- struct enable_if_c<false, T> {};
-
- template <class Cond, class T = void>
- struct enable_if : public enable_if_c<Cond::value, T> {};
-
- template <bool B, class T>
- struct lazy_enable_if_c {
- typedef typename T::type type;
- };
-
- template <class T>
- struct lazy_enable_if_c<false, T> {};
-
- template <class Cond, class T>
- struct lazy_enable_if : public lazy_enable_if_c<Cond::value, T> {};
-
-
- template <bool B, class T = void>
- struct disable_if_c {
- typedef T type;
- };
-
- template <class T>
- struct disable_if_c<true, T> {};
-
- template <class Cond, class T = void>
- struct disable_if : public disable_if_c<Cond::value, T> {};
-
- template <bool B, class T>
- struct lazy_disable_if_c {
- typedef typename T::type type;
- };
-
- template <class T>
- struct lazy_disable_if_c<true, T> {};
-
- template <class Cond, class T>
- struct lazy_disable_if : public lazy_disable_if_c<Cond::value, T> {};
-
-} // namespace boost
-
-#else
-
-namespace boost {
-
- namespace detail { typedef void enable_if_default_T; }
-
- template <typename T>
- struct enable_if_does_not_work_on_this_compiler;
-
- template <bool B, class T = detail::enable_if_default_T>
- struct enable_if_c : enable_if_does_not_work_on_this_compiler<T>
- { };
-
- template <bool B, class T = detail::enable_if_default_T>
- struct disable_if_c : enable_if_does_not_work_on_this_compiler<T>
- { };
-
- template <bool B, class T = detail::enable_if_default_T>
- struct lazy_enable_if_c : enable_if_does_not_work_on_this_compiler<T>
- { };
-
- template <bool B, class T = detail::enable_if_default_T>
- struct lazy_disable_if_c : enable_if_does_not_work_on_this_compiler<T>
- { };
-
- template <class Cond, class T = detail::enable_if_default_T>
- struct enable_if : enable_if_does_not_work_on_this_compiler<T>
- { };
-
- template <class Cond, class T = detail::enable_if_default_T>
- struct disable_if : enable_if_does_not_work_on_this_compiler<T>
- { };
-
- template <class Cond, class T = detail::enable_if_default_T>
- struct lazy_enable_if : enable_if_does_not_work_on_this_compiler<T>
- { };
-
- template <class Cond, class T = detail::enable_if_default_T>
- struct lazy_disable_if : enable_if_does_not_work_on_this_compiler<T>
- { };
-
-} // namespace boost
-
-#endif // BOOST_NO_SFINAE
-
-#endif
diff --git a/boost/utility/in_place_factory.hpp b/boost/utility/in_place_factory.hpp
deleted file mode 100644
index f84b003..0000000
--- a/boost/utility/in_place_factory.hpp
+++ /dev/null
@@ -1,88 +0,0 @@
-// Copyright (C) 2003, Fernando Luis Cacciola Carballal.
-// Copyright (C) 2007, Tobias Schwinger.
-//
-// Use, modification, and distribution is subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/optional for documentation.
-//
-// You are welcome to contact the author at:
-// fernando_cacciola at hotmail.com
-//
-#ifndef BOOST_UTILITY_INPLACE_FACTORY_04APR2007_HPP
-#ifndef BOOST_PP_IS_ITERATING
-
-#include <boost/utility/detail/in_place_factory_prefix.hpp>
-
-namespace boost {
-
-class in_place_factory_base {} ;
-
-#define BOOST_PP_ITERATION_LIMITS (0, BOOST_MAX_INPLACE_FACTORY_ARITY)
-#define BOOST_PP_FILENAME_1 <boost/utility/in_place_factory.hpp>
-#include BOOST_PP_ITERATE()
-
-} // namespace boost
-
-#include <boost/utility/detail/in_place_factory_suffix.hpp>
-
-#define BOOST_UTILITY_INPLACE_FACTORY_04APR2007_HPP
-#else
-#define N BOOST_PP_ITERATION()
-
-#if N
-template< BOOST_PP_ENUM_PARAMS(N, class A) >
-#endif
-class BOOST_PP_CAT(in_place_factory,N)
- :
- public in_place_factory_base
-{
-public:
-
- explicit BOOST_PP_CAT(in_place_factory,N)
- ( BOOST_PP_ENUM_BINARY_PARAMS(N,A,const& a) )
-#if N > 0
- : BOOST_PP_ENUM(N, BOOST_DEFINE_INPLACE_FACTORY_CLASS_MEMBER_INIT, _)
-#endif
- {}
-
- template<class T>
- void* apply(void* address
- BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(T)) const
- {
- return new(address) T( BOOST_PP_ENUM_PARAMS(N, m_a) );
- }
-
- template<class T>
- void* apply(void* address, std::size_t n
- BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(T)) const
- {
- for(char* next = address = this->BOOST_NESTED_TEMPLATE apply<T>(address);
- !! --n;)
- this->BOOST_NESTED_TEMPLATE apply<T>(next = next+sizeof(T));
- return address;
- }
-
- BOOST_PP_REPEAT(N, BOOST_DEFINE_INPLACE_FACTORY_CLASS_MEMBER_DECL, _)
-};
-
-#if N > 0
-template< BOOST_PP_ENUM_PARAMS(N, class A) >
-inline BOOST_PP_CAT(in_place_factory,N)< BOOST_PP_ENUM_PARAMS(N, A) >
-in_place( BOOST_PP_ENUM_BINARY_PARAMS(N, A, const& a) )
-{
- return BOOST_PP_CAT(in_place_factory,N)< BOOST_PP_ENUM_PARAMS(N, A) >
- ( BOOST_PP_ENUM_PARAMS(N, a) );
-}
-#else
-inline in_place_factory0 in_place()
-{
- return in_place_factory0();
-}
-#endif
-
-#undef N
-#endif
-#endif
-
diff --git a/boost/utility/result_of.hpp b/boost/utility/result_of.hpp
deleted file mode 100644
index a530c3a..0000000
--- a/boost/utility/result_of.hpp
+++ /dev/null
@@ -1,207 +0,0 @@
-// Boost result_of library
-
-// Copyright Douglas Gregor 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)
-
-// For more information, see http://www.boost.org/libs/utility
-#ifndef BOOST_RESULT_OF_HPP
-#define BOOST_RESULT_OF_HPP
-
-#include <boost/config.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/iteration/iterate.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_trailing_params.hpp>
-#include <boost/preprocessor/repetition/enum_binary_params.hpp>
-#include <boost/preprocessor/repetition/enum_shifted_params.hpp>
-#include <boost/preprocessor/facilities/intercept.hpp>
-#include <boost/detail/workaround.hpp>
-#include <boost/mpl/has_xxx.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/or.hpp>
-#include <boost/type_traits/is_class.hpp>
-#include <boost/type_traits/is_pointer.hpp>
-#include <boost/type_traits/is_member_function_pointer.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/utility/declval.hpp>
-#include <boost/utility/enable_if.hpp>
-
-#ifndef BOOST_RESULT_OF_NUM_ARGS
-# define BOOST_RESULT_OF_NUM_ARGS 16
-#endif
-
-// Use the decltype-based version of result_of by default if the compiler
-// supports N3276 <http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2011/n3276.pdf>.
-// The user can force the choice by defining BOOST_RESULT_OF_USE_DECLTYPE,
-// BOOST_RESULT_OF_USE_TR1, or BOOST_RESULT_OF_USE_TR1_WITH_DECLTYPE_FALLBACK but not more than one!
-#if (defined(BOOST_RESULT_OF_USE_DECLTYPE) && defined(BOOST_RESULT_OF_USE_TR1)) || \
- (defined(BOOST_RESULT_OF_USE_DECLTYPE) && defined(BOOST_RESULT_OF_USE_TR1_WITH_DECLTYPE_FALLBACK)) || \
- (defined(BOOST_RESULT_OF_USE_TR1) && defined(BOOST_RESULT_OF_USE_TR1_WITH_DECLTYPE_FALLBACK))
-# error More than one of BOOST_RESULT_OF_USE_DECLTYPE, BOOST_RESULT_OF_USE_TR1 and \
- BOOST_RESULT_OF_USE_TR1_WITH_DECLTYPE_FALLBACK cannot be defined at the same time.
-#endif
-
-#if defined(BOOST_RESULT_OF_USE_TR1_WITH_DECLTYPE_FALLBACK) && defined(BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE)
-# error Cannot fallback to decltype if BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE is not defined.
-#endif
-
-#ifndef BOOST_RESULT_OF_USE_TR1
-# ifndef BOOST_RESULT_OF_USE_DECLTYPE
-# ifndef BOOST_RESULT_OF_USE_TR1_WITH_DECLTYPE_FALLBACK
-# ifndef BOOST_NO_CXX11_DECLTYPE_N3276 // this implies !defined(BOOST_NO_CXX11_DECLTYPE)
-# define BOOST_RESULT_OF_USE_DECLTYPE
-# else
-# define BOOST_RESULT_OF_USE_TR1
-# endif
-# endif
-# endif
-#endif
-
-namespace boost {
-
-template<typename F> struct result_of;
-template<typename F> struct tr1_result_of; // a TR1-style implementation of result_of
-
-#if !defined(BOOST_NO_SFINAE) && !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
-namespace detail {
-
-BOOST_MPL_HAS_XXX_TRAIT_DEF(result_type)
-
-BOOST_MPL_HAS_XXX_TEMPLATE_DEF(result)
-
-template<typename F, typename FArgs, bool HasResultType> struct tr1_result_of_impl;
-
-template<typename F> struct cpp0x_result_of;
-
-#ifdef BOOST_NO_SFINAE_EXPR
-
-// There doesn't seem to be any other way to turn this off such that the presence of
-// the user-defined operator,() below doesn't cause spurious warning all over the place,
-// so unconditionally turn it off.
-#if BOOST_MSVC
-# pragma warning(disable: 4913) // user defined binary operator ',' exists but no overload could convert all operands, default built-in binary operator ',' used
-#endif
-
-struct result_of_private_type {};
-
-struct result_of_weird_type {
- friend result_of_private_type operator,(result_of_private_type, result_of_weird_type);
-};
-
-typedef char result_of_yes_type; // sizeof(result_of_yes_type) == 1
-typedef char (&result_of_no_type)[2]; // sizeof(result_of_no_type) == 2
-
-template<typename T>
-result_of_no_type result_of_is_private_type(T const &);
-result_of_yes_type result_of_is_private_type(result_of_private_type);
-
-template<typename C>
-struct result_of_callable_class : C {
- result_of_callable_class();
- typedef result_of_private_type const &(*pfn_t)(...);
- operator pfn_t() const volatile;
-};
-
-template<typename C>
-struct result_of_wrap_callable_class {
- typedef result_of_callable_class<C> type;
-};
-
-template<typename C>
-struct result_of_wrap_callable_class<C const> {
- typedef result_of_callable_class<C> const type;
-};
-
-template<typename C>
-struct result_of_wrap_callable_class<C volatile> {
- typedef result_of_callable_class<C> volatile type;
-};
-
-template<typename C>
-struct result_of_wrap_callable_class<C const volatile> {
- typedef result_of_callable_class<C> const volatile type;
-};
-
-template<typename C>
-struct result_of_wrap_callable_class<C &> {
- typedef typename result_of_wrap_callable_class<C>::type &type;
-};
-
-template<typename F, bool TestCallability = true> struct cpp0x_result_of_impl;
-
-#else // BOOST_NO_SFINAE_EXPR
-
-template<typename T>
-struct result_of_always_void
-{
- typedef void type;
-};
-
-template<typename F, typename Enable = void> struct cpp0x_result_of_impl {};
-
-#endif // BOOST_NO_SFINAE_EXPR
-
-template<typename F>
-struct result_of_void_impl
-{
- typedef void type;
-};
-
-template<typename R>
-struct result_of_void_impl<R (*)(void)>
-{
- typedef R type;
-};
-
-template<typename R>
-struct result_of_void_impl<R (&)(void)>
-{
- typedef R type;
-};
-
-// Determine the return type of a function pointer or pointer to member.
-template<typename F, typename FArgs>
-struct result_of_pointer
- : tr1_result_of_impl<typename remove_cv<F>::type, FArgs, false> { };
-
-template<typename F, typename FArgs>
-struct tr1_result_of_impl<F, FArgs, true>
-{
- typedef typename F::result_type type;
-};
-
-template<typename FArgs>
-struct is_function_with_no_args : mpl::false_ {};
-
-template<typename F>
-struct is_function_with_no_args<F(void)> : mpl::true_ {};
-
-template<typename F, typename FArgs>
-struct result_of_nested_result : F::template result<FArgs>
-{};
-
-template<typename F, typename FArgs>
-struct tr1_result_of_impl<F, FArgs, false>
- : mpl::if_<is_function_with_no_args<FArgs>,
- result_of_void_impl<F>,
- result_of_nested_result<F, FArgs> >::type
-{};
-
-} // end namespace detail
-
-#define BOOST_PP_ITERATION_PARAMS_1 (3,(0,BOOST_RESULT_OF_NUM_ARGS,<boost/utility/detail/result_of_iterate.hpp>))
-#include BOOST_PP_ITERATE()
-
-#else
-# define BOOST_NO_RESULT_OF 1
-#endif
-
-}
-
-#endif // BOOST_RESULT_OF_HPP
diff --git a/boost/utility/swap.hpp b/boost/utility/swap.hpp
deleted file mode 100644
index 6845e79..0000000
--- a/boost/utility/swap.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-// Copyright (C) 2007, 2008 Steven Watanabe, Joseph Gauterin, Niels Dekker
-//
-// Distributed under the 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_UTILITY_SWAP_HPP
-#define BOOST_UTILITY_SWAP_HPP
-
-// Note: the implementation of this utility contains various workarounds:
-// - swap_impl is put outside the boost namespace, to avoid infinite
-// recursion (causing stack overflow) when swapping objects of a primitive
-// type.
-// - swap_impl has a using-directive, rather than a using-declaration,
-// because some compilers (including MSVC 7.1, Borland 5.9.3, and
-// Intel 8.1) don't do argument-dependent lookup when it has a
-// using-declaration instead.
-// - boost::swap has two template arguments, instead of one, to
-// avoid ambiguity when swapping objects of a Boost type that does
-// not have its own boost::swap overload.
-
-#include <algorithm> //for std::swap
-#include <cstddef> //for std::size_t
-
-namespace boost_swap_impl
-{
- template<class T>
- void swap_impl(T& left, T& right)
- {
- using namespace std;//use std::swap if argument dependent lookup fails
- swap(left,right);
- }
-
- template<class T, std::size_t N>
- void swap_impl(T (& left)[N], T (& right)[N])
- {
- for (std::size_t i = 0; i < N; ++i)
- {
- ::boost_swap_impl::swap_impl(left[i], right[i]);
- }
- }
-}
-
-namespace boost
-{
- template<class T1, class T2>
- void swap(T1& left, T2& right)
- {
- ::boost_swap_impl::swap_impl(left, right);
- }
-}
-
-#endif
diff --git a/boost/version.hpp b/boost/version.hpp
deleted file mode 100644
index 0df7b27..0000000
--- a/boost/version.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-// Boost version.hpp configuration header file ------------------------------//
-
-// (C) Copyright John maddock 1999. Distributed under the Boost
-// Software License, Version 1.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/config for documentation
-
-#ifndef BOOST_VERSION_HPP
-#define BOOST_VERSION_HPP
-
-//
-// Caution, this is the only boost header that is guarenteed
-// to change with every boost release, including this header
-// will cause a recompile every time a new boost version is
-// released.
-//
-// BOOST_VERSION % 100 is the patch level
-// BOOST_VERSION / 100 % 1000 is the minor version
-// BOOST_VERSION / 100000 is the major version
-
-#define BOOST_VERSION 105500
-
-//
-// BOOST_LIB_VERSION must be defined to be the same as BOOST_VERSION
-// but as a *string* in the form "x_y[_z]" where x is the major version
-// number, y is the minor version number, and z is the patch level if not 0.
-// This is used by <config/auto_link.hpp> to select which library version to link to.
-
-#define BOOST_LIB_VERSION "1_55"
-
-#endif
diff --git a/sam/.DS_Store b/sam/.DS_Store
deleted file mode 100644
index ee99731..0000000
Binary files a/sam/.DS_Store and /dev/null differ
diff --git a/sam/.gitignore b/sam/.gitignore
deleted file mode 100644
index bb605d4..0000000
--- a/sam/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-*.o
-.*.swp
-*.a
-*.dSYM
diff --git a/sam/AUTHORS b/sam/AUTHORS
deleted file mode 100644
index 95afabb..0000000
--- a/sam/AUTHORS
+++ /dev/null
@@ -1,20 +0,0 @@
-Heng Li from the Sanger Institute wrote most of the initial source codes
-of SAMtools and various converters.
-
-Bob Handsaker from the Broad Institute is a major contributor to the
-SAM/BAM specification. He designed and implemented the BGZF format, the
-underlying indexable compression format for the BAM format. BGZF does
-not support arithmetic between file offsets.
-
-Jue Ruan for the Beijing Genome Institute designed and implemented the
-RAZF format, an alternative indexable compression format. RAZF supports
-arithmetic between file offsets, at the cost of increased index file
-size and the full compatibility with gzip. RAZF is optional and only
-used in `faidx' for indexing RAZF compressed fasta files.
-
-Colin Hercus updated novo2sam.pl to support gapped alignment by
-novoalign.
-
-Petr Danecek contributed the header parsing library sam_header.c and
-sam2vcf.pl script and added knet support to the RAZF library.
-
diff --git a/sam/COPYING b/sam/COPYING
deleted file mode 100644
index 82fa2f4..0000000
--- a/sam/COPYING
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License
-
-Copyright (c) 2008-2009 Genome Research Ltd.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
\ No newline at end of file
diff --git a/sam/ChangeLog.old b/sam/ChangeLog.old
deleted file mode 100644
index 19aefae..0000000
--- a/sam/ChangeLog.old
+++ /dev/null
@@ -1,3875 +0,0 @@
-commit db2ad3e19068cbafde72ecde75d0638bbb3598ba
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Feb 16 14:45:17 2012 -0500
-
- removed downsample.c
-
-commit 6c55c576903992c6fef148fe3b606fbc8bd10655
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Feb 16 14:45:06 2012 -0500
-
- print to output
-
-commit db1044a34e6049c87eaa63c39ed6e56f03e7d4c1
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Feb 16 14:39:34 2012 -0500
-
- removed sample
-
- Downsampling already exists in "view". View also keeps pairing while "sample" does not.
-
-commit ffdeed3e5d4a530bfdf6f9ba97fff0ba7add6cba
-Merge: 2daad7b accf026
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Feb 16 14:22:15 2012 -0500
-
- Merge branch 'master' of github.com:lh3/samtools
-
-commit accf0260fd1117e10047344345d40b31a9ec31bb
-Merge: 9134e0d c554160
-Author: Heng Li <lh3 at me.com>
-Date: Thu Feb 16 11:21:14 2012 -0800
-
- Merge pull request #8 from nh13/master
-
- Patches
-
-commit c554160df16ec7748cfdda4c7b54c641be7b809f
-Author: Nils Homer <nils.homer at lifetech.com>
-Date: Thu Feb 16 14:06:52 2012 -0500
-
- * more README.md work
-
-commit 2a81ffe349208d917666808fbc9f3041e0cb57de
-Author: Nils Homer <nils.homer at lifetech.com>
-Date: Thu Feb 16 14:06:10 2012 -0500
-
- * more README work
-
-commit fb3125f732715f62cded8685a23a002a96ce009b
-Author: Nils Homer <nils.homer at lifetech.com>
-Date: Thu Feb 16 14:05:19 2012 -0500
-
- * more README work
-
-commit 444d41002c37e1c3d0f9208b4a88126c47276386
-Author: Nils Homer <nils.homer at lifetech.com>
-Date: Thu Feb 16 14:02:13 2012 -0500
-
- * updating README
-
-commit dec53cb1043fe7efadfde75fa2fd39b76de22e54
-Author: Nils Homer <nils.homer at lifetech.com>
-Date: Thu Feb 16 13:55:01 2012 -0500
-
- updating the README for markdown syntax
-
-commit 798da18c346dca8ec6005582a0ddb1d5420b04ca
-Author: Nils Homer <nils.homer at lifetech.com>
-Date: Thu Feb 16 13:48:35 2012 -0500
-
- adding a README with the current differences between this repository and
- the official one
-
-commit 4d22d86c0f28636662f2144a88cd168e104c4275
-Author: Nils Homer <nils.homer at lifetech.com>
-Date: Thu Feb 16 13:35:03 2012 -0500
-
- adding "samtools sample" to the main
-
-commit 893c25a37c21005dc42f45d45e9ad78ddc5f29bb
-Author: Nils Homer <nils.homer at lifetech.com>
-Date: Thu Feb 16 13:33:51 2012 -0500
-
- * removing some compile flags to work with OS X
-
-commit 7ac22f72fdc32edd5c24af6baebfa7db5faf8e7b
-Author: Jonathan Manning <jonathan.manning at lifetech.com>
-Date: Thu Feb 16 10:47:14 2012 -0500
-
- Check write filehandle after opening for write. tamw/tamr is a union type, so change is only semantic.
-
- Signed-off-by: Nils Homer <nils.homer at lifetech.com>
-
-commit fef53330416631690f60fdff42b6e43d764170dc
-Author: Jonathan Manning <jonathan.manning at lifetech.com>
-Date: Thu Feb 16 10:44:59 2012 -0500
-
- Catch and report invalid BAM header, instead of segfaulting later on.
-
- Signed-off-by: Nils Homer <nils.homer at lifetech.com>
-
-commit 5cc013fe4930bf9b6e7963aab1cd4a3c94f695bc
-Author: Jonathan Manning <jonathan.manning at lifetech.com>
-Date: Thu Feb 16 10:44:16 2012 -0500
-
- Add downsample to examples.
-
- Signed-off-by: Nils Homer <nils.homer at lifetech.com>
-
-commit b3fa9e7071532905a81dc7aa48eadc24b8c8846b
-Author: Jonathan Manning <jonathan.manning at lifetech.com>
-Date: Thu Feb 16 10:43:48 2012 -0500
-
- Adjust for leading hard clip on colorspace reads.
-
- Signed-off-by: Nils Homer <nils.homer at lifetech.com>
-
-commit 1a9296c1389469d1c1db5b8069f0e11ffcc8abb2
-Author: Jonathan Manning <jonathan.manning at lifetech.com>
-Date: Thu Feb 16 10:42:52 2012 -0500
-
- Add samtools sample command, contributed by Davide Cittaro <davide.cittaro at ifom-ieo-campus.it>.
-
- Signed-off-by: Nils Homer <nils.homer at lifetech.com>
-
-commit 2a804f3379748aeba944f1dec306dd726ff3235e
-Author: Jonathan Manning <jonathan.manning at lifetech.com>
-Date: Thu Feb 16 10:42:07 2012 -0500
-
- Add samtools qa command, contributed by Roman Valls Guimera <roman.valls.guimera at scilifelab.se>.
-
- Signed-off-by: Nils Homer <nils.homer at lifetech.com>
-
-commit 0f3207fe8fd93e44d40fcf57204079c8c06d24a6
-Author: Jonathan Manning <jonathan.manning at lifetech.com>
-Date: Thu Feb 16 10:39:08 2012 -0500
-
- Makefile cleanup - allow CC, CFLAGS, LDFLAGS to be passed on make command line. Use LDFLAGS in samtools compile.
-
- Signed-off-by: Nils Homer <nils.homer at lifetech.com>
-
-commit 6e7df604025f6a86881bf7f4a16f30e15d31538a
-Author: Jonathan Manning <jonathan.manning at lifetech.com>
-Date: Thu Feb 16 10:31:15 2012 -0500
-
- Allow max_mem for sort to be specified with units.
-
- Signed-off-by: Nils Homer <nils.homer at lifetech.com>
-
-commit f12ebcaf6e60d34180a27d70e09b743cef140b98
-Author: Jonathan Manning <jonathan.manning at lifetech.com>
-Date: Thu Feb 16 10:29:11 2012 -0500
-
- Allow user defined [lowercase] tags in header elements.
-
- Signed-off-by: Nils Homer <nils.homer at lifetech.com>
-
-commit 50b931fa3312dc109537a4260698ddecd0f06a05
-Author: Jonathan Manning <jonathan.manning at lifetech.com>
-Date: Thu Feb 16 10:27:11 2012 -0500
-
- Check lowerbound in text entry box to avoid segfault in tview. Remove redundant call to bam_aux_get.
-
- Signed-off-by: Nils Homer <nils.homer at lifetech.com>
-
-commit 5e729da5190949a813d20d329eab7ddb661816bd
-Author: Nils Homer <nils.homer at lifetech.com>
-Date: Thu Feb 16 10:31:48 2012 -0500
-
- * fixing overflow/underflow in integer parsing
-
-commit fa50a4330b9abedaf07c26e13d31f05e57f1d319
-Author: Nils Homer <nils.homer at lifetech.com>
-Date: Thu Feb 16 10:30:40 2012 -0500
-
- * updating help message for samtools depth
-
-commit 79e52c9624b6dd3bdfdf439f4b4bc6f774c230a4
-Author: Nils Homer <nils.homer at lifetech.com>
-Date: Thu Feb 16 10:29:32 2012 -0500
-
- * adding support for outputting a circos histogram file in "samtools depth". Use
- the "-c/-B" options.
-
-commit 2daad7b52daa86561c0fb65fe366691fad9f5ed3
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Feb 16 09:31:57 2012 -0500
-
- bugfix: wrong SP; missing DV in the VCF hdr
-
-commit 9134e0d5047c281ef3bd53da91771d4814a5131c
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Feb 8 11:19:12 2012 -0500
-
- missing support of DV
-
-commit 34ebf12078c1d1015a0b8b9a9221243a60b22893
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Feb 8 11:08:56 2012 -0500
-
- new BCF DV format: number of variant reads
-
-commit 9589d3312fa2d076f48bdd68e2a5edd419c8070c
-Author: Heng Li <lh3 at live.co.uk>
-Date: Tue Jan 10 10:30:27 2012 -0500
-
- scale depth to quality (hidden option)
-
-commit 704473e14668333ecaca5fb7b238af405c43e3b1
-Author: Heng Li <lh3 at live.co.uk>
-Date: Tue Jan 10 10:18:17 2012 -0500
-
- really nothing
-
-commit 01b307fd287962372bbf07461c88b54f41636817
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Dec 7 13:07:42 2011 -0500
-
- added an example containing 'B'
-
-commit c678791f0451ceb9205c1ab5c52c84641863c99a
-Author: Heng Li <lh3 at live.co.uk>
-Date: Sat Dec 3 12:10:30 2011 -0500
-
- 'B' now moves backward w.r.t. the query
-
-commit 152119bc06a073933ca830e8e1407538e44626cc
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Dec 2 10:50:12 2011 -0500
-
- better consensus; a little more robust
-
-commit 454da4754ac503edda5b1329b67757d797e46e07
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Dec 2 00:20:22 2011 -0500
-
- in pileup call remove_B()
-
-commit ff2bcac1cc078ba1879f18c89cfae314439d7086
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Dec 2 00:17:32 2011 -0500
-
- working on a few toy examples
-
-commit 745ca7260158d6df7897b52598033ffb055a9e4f
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Dec 1 22:55:39 2011 -0500
-
- bam_remove_B(); not tested
-
-commit 07e4cdc7300abfcc82e03105b4689f95cab551cd
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Nov 10 12:58:55 2011 -0500
-
- baseQ threshold on plain pipleup; removed -E
-
-commit 322ebf2082dfa91df44b3a996d26c85357e5d5a2
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Oct 19 09:28:04 2011 -0400
-
- fixed two gcc warnings
-
-commit a632457b4c4adc50d833b56b5a5231feafaf8193
-Author: Heng Li <lh3 at live.co.uk>
-Date: Tue Oct 4 10:13:23 2011 -0400
-
- change size_t to uint32_t in bam_header_t
-
- This may cause issues on 64-bit big-endian machines. Reported and fixed by Paolo Emilio Mazzon.
-
-commit af31bf5a78aea03baf6eb90fe50076549d499f6e
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Sep 26 20:17:57 2011 -0400
-
- rename pad2unpad to depad
-
-commit 77b198b73dfad1048e5d1c5a64aa75ee7b90f596
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Sep 23 01:22:40 2011 -0400
-
- convert padded BAM to unpadded BAM
-
-commit adb9e2342b7b7501d9527d3c23afab10469ae2c6
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Sep 7 11:40:50 2011 -0400
-
- generate template cigar with "fixmate"
-
-commit 46e5ab445a0fe880216cbc0daf1225725b569d7a
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Sep 2 12:50:18 2011 -0400
-
- update kseq.h to the latest version
-
-commit 68e9e4a73eb91405bb3e56bf0cdaf12d1b487abb
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Sep 2 12:44:45 2011 -0400
-
- Release samtools-0.1.18
-
-commit aa06bdadb2d109a79f927f478102f96a1f5fd258
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Sep 2 12:14:17 2011 -0400
-
- updated the revision number
-
-commit 267e1e1b6e54c0ab24f94cd9aee9cbd2d1923f9f
-Merge: 19ff1d3 aebab30
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Sep 2 12:13:08 2011 -0400
-
- Merge https://github.com/lh3/samtools into reduce
-
- Conflicts:
- bam_md.c
-
- Fixed a few typos in the merge
-
-commit aebab302399c24eaa6c5ab79d13d6bd5e2e9ea9a
-Merge: c2c63d0 da62663
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Sep 2 09:03:49 2011 -0700
-
- Merge pull request #4 from peterjc/x_equals2
-
- Implement basic support for =/X CIGAR operations
-
-commit 19ff1d3d7f47d7e61b121292aefe5a74bb8a18d2
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Aug 25 16:38:12 2011 -0400
-
- reduce BAM size (experimental)
-
-commit da626630fd98fd4e07ceb4d58c5c9a42d312a85d
-Author: peterjc <p.j.a.cock at googlemail.com>
-Date: Mon Aug 22 06:58:08 2011 +0100
-
- Support =/X CIGAR operations (treated like M)
-
-commit 461d8003529db77a4d5ecbd108312e868b051a3d
-Author: peterjc <p.j.a.cock at googlemail.com>
-Date: Mon Aug 22 05:52:56 2011 +0100
-
- Define CIGAR equals and X operationss (7 and 8)
-
-commit c2c63d067113baab41f3bc35fb28f4f00578accb
-Merge: 7ab3ef3 9a0ed9a
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Aug 18 17:21:54 2011 -0700
-
- Merge pull request #3 from peterjc/x_equals
-
- Accept SAM files using = in CIGAR (treats X and = as M)
-
-commit 9a0ed9a6b85c7981465f459300208dbd93e3c6f5
-Author: peterjc <p.j.a.cock at googlemail.com>
-Date: Thu Aug 18 19:28:52 2011 +0100
-
- Accept SAM files using = in CIGAR (treats X and = as M)
-
-commit 7ab3ef388c1eb34d7912fd70cc5656c955240263
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Aug 8 10:22:22 2011 -0400
-
- bugfix: indexing takes huge memory
-
- This happens when an unmapped mate has coordinate 1. Thank Joel Martin for the fix.
-
-commit a3f6738593e944354a8f75306687d8b3acf08bf1
-Merge: a8bdca9 bc67ea2
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Aug 8 09:52:26 2011 -0400
-
- Merge branch 'master' of github.com:lh3/samtools
-
-commit bc67ea225da653f36a70b38382d6111dd494f659
-Author: Petr Danecek <pd3 at sanger.ac.uk>
-Date: Thu Jul 28 20:03:16 2011 +0100
-
- Variant Distance Bias
-
-commit deb578f0c49d0b7d8c3bc6be220b4d67e2e7dfdf
-Author: Petr Danecek <pd3 at sanger.ac.uk>
-Date: Tue Jul 26 09:57:37 2011 +0100
-
- If there is only one RG tag present in the header and reads are not annotated, don't refuse to work but use the tag instead.
-
-commit a8bdca9cf482a637b89ee4f98469a93e0ab5e69b
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Jul 25 10:10:55 2011 -0400
-
- bugfix: LRT2=nan
-
-commit 0afe33137d046a3e849eeb4a54590f27cbad4228
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Jul 22 21:55:38 2011 -0400
-
- fixed a bug/typo
-
-commit 62d5849658c10222d40308c6b53ab4f99a448494
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Jul 15 16:04:19 2011 -0400
-
- allow to set see in subsampling
-
-commit 5f46243824cc9435b167973e1d51e13128794ea1
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Jul 15 15:54:47 2011 -0400
-
- support subsampling
-
-commit 5e55b6f34fc86cba7cf98d52ccaed405c3ffabbc
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Jul 15 15:53:38 2011 -0400
-
- support indels
-
-commit f31c162926d6f43e8b60171789a258d02e1f9be5
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Jul 7 17:02:33 2011 -0400
-
- do not count indel with "view -Y"
-
-commit e412dae587883b4c17e5fbf4b7c33f38bfa8458a
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Jul 7 00:35:25 2011 -0400
-
- for WIN32 compatibility
-
-commit 70a52501bcfa63824749893a5ab8ed3c38e34958
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Jul 7 00:32:46 2011 -0400
-
- for WIN32 compatibility
-
-commit 00438f14ed5984f08e8f7645a9b95644a812f969
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Jul 6 23:41:45 2011 -0400
-
- fixed an uninitialized variable
-
-commit 7609c4a01059c326544b3d0142dfe9c4229d68c6
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Jul 6 23:39:31 2011 -0400
-
- fixed an uninitialized variable
-
-commit cec7189a412f80ccb068a73bd28528915c16b0bf
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Jul 6 22:53:19 2011 -0400
-
- Release samtools-0.1.17
-
-commit 93c06a249de3bb666029bf07b66de5e8e5e314fa
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Jul 6 09:46:09 2011 -0400
-
- bugfix: incorrect idxstats for the last seq
-
- Again, this bug is caused by 3rd-party code for the sorting order checking.
-
-commit 84f6ca62db6e27b8c4c711e7b5f3ca704bf27b4f
-Author: Heng Li <lh3 at live.co.uk>
-Date: Tue Jul 5 23:30:23 2011 -0400
-
- output mapping quality in the old pileup format
-
-commit 362e05fd670886acaede69b864903d730b9db3ca
-Author: Heng Li <lh3 at live.co.uk>
-Date: Tue Jul 5 21:59:22 2011 -0400
-
- added a brief description of the VCF format
-
-commit e690a696468205e0cc4560016361c997660dd496
-Author: Heng Li <lh3 at live.co.uk>
-Date: Tue Jul 5 16:23:10 2011 -0400
-
- improved samtools manual page
-
-commit 362b4a1408ef3c32311d638aa8d85ce39c1c7b2d
-Author: Heng Li <lh3 at live.co.uk>
-Date: Tue Jul 5 15:58:29 2011 -0400
-
- merge bcftools.1 to samtools.1
-
-commit 643e0e61ba7266efbc9e5bfcb8e41f369ba2ce0a
-Author: Heng Li <lh3 at live.co.uk>
-Date: Tue Jul 5 13:39:02 2011 -0400
-
- mpileup: when region set, set reference properly
-
-commit 613e4d67624a94f62563935fbd5cc294df69605a
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Jul 4 23:29:02 2011 -0400
-
- compute the min PL diff
-
-commit 5b7d5d3f52b97ca42c8500eede808dab88a46a53
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Jul 4 22:57:48 2011 -0400
-
- rename trio.c to mut.c
-
-commit 84fe96ad64b0365ead93a4115d1684b9bebb98fc
-Author: Heng Li <lh3 at live.co.uk>
-Date: Sun Jul 3 15:38:51 2011 -0400
-
- added pair caller interface; not tested
-
-commit 2f2867b87b84c35319cc416d6173819d5c8a4e8c
-Author: Heng Li <lh3 at live.co.uk>
-Date: Sun Jul 3 15:24:23 2011 -0400
-
- inital implementation of a pair caller
-
-commit e97653cf2ad653c95886933c42a2b5492ccab5ff
-Author: Heng Li <lh3 at live.co.uk>
-Date: Sun Jul 3 00:06:28 2011 -0400
-
- convert bam to single-end fastq
-
-commit e8013e11f7a8db0a8d18c60d130169cca39bf2bd
-Author: Heng Li <lh3 at live.co.uk>
-Date: Sat Jul 2 14:39:18 2011 -0400
-
- improve BED parsing
-
-commit 1025714325fdc636aeee47a76db8dafbbbfde64b
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Jul 1 14:19:54 2011 -0400
-
- update the manual page
-
-commit 8022d0039dff47b1c11b2421357d510c1f28ae15
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Jul 1 14:17:03 2011 -0400
-
- output the best constrained genotypes in trio
-
-commit 18c87295e12f5bebafdcae00d52000fb94c8a566
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Jul 1 11:18:14 2011 -0400
-
- added documentations for view -T
-
-commit daf7a8d96bd495296bf7c7d99cddb808a3ced7d5
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Jun 30 22:45:20 2011 -0400
-
- fixed a bug in writing SP
-
-commit e5c32bf9b28c6e3e861db88de56b5dbe11058b61
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Jun 30 22:35:25 2011 -0400
-
- optionally output read positions in mpileup
-
-commit 1008051155ec994c1901e18f3eb03ea32a62e5d7
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Jun 30 22:17:25 2011 -0400
-
- make faidx works with <2GB lines
-
-commit 2daebb63762425dd3074ddf71582ad189001e394
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Jun 30 17:28:58 2011 -0400
-
- fixed an issue in the trio caller and the indel caller
-
-commit 9fdd52cf0716fb342a94946433d564b28b230835
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Jun 30 13:34:01 2011 -0400
-
- Added trio caller; NOT tested yet
-
-commit ea22a8ed83625e9c82382b56acc42a2d9cfd17e5
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Jun 30 11:42:29 2011 -0400
-
- convert PL to 10-likelihood GL
-
-commit 10d7065267b0d12c2bfcb6c70204fb6944cd395d
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Jun 30 10:49:05 2011 -0400
-
- fix a compatibility issue with the new bcftools
-
-commit d340f01f609c61b719d38a6a55629a3fc899e1cd
-Author: Heng Li <lh3 at live.co.uk>
-Date: Sun Jun 26 23:41:20 2011 -0400
-
- allow to ignore RG
-
-commit d6321faf98ebfe899b9409fb23c90a4aa8c6b542
-Author: Heng Li <lh3 at live.co.uk>
-Date: Sun Jun 5 23:05:21 2011 -0400
-
- fixed a bug in SO checking due to a recent change
-
-commit bc995abf666d0c9ab4258f6c1b3518a45a89209f
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Jun 3 14:45:36 2011 -0400
-
- update the version number
-
-commit 9e7cd83a08383858d008e0ccb2238a2b93831d6c
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Jun 3 14:43:12 2011 -0400
-
- smarter way to parse a region string
-
-commit e58a90a0fde54053dac65352b34c13c3fea815fc
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Jun 1 14:36:22 2011 -0400
-
- output LRT2 instead of LRT1
-
-commit 08f78c9af3e5661f04f80bef424232de721dba03
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Jun 1 14:02:28 2011 -0400
-
- genotype test, but assuming 1-degree
-
-commit 587b852340d7e60f6f7cf474a92ef77aeab46018
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Jun 1 12:55:19 2011 -0400
-
- perform 2-degree test by default
-
-commit 3d38e403c5c830478b7eb157a484776997440501
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Jun 1 12:44:34 2011 -0400
-
- fixed a typo; but the result is still not good
-
-commit 06291624f7dcc57445676f3be25d0bc355dd7110
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Jun 1 12:24:18 2011 -0400
-
- fixed a typo
-
-commit 63b98aa33636b0d82a435bf49153c8c1502e7d42
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Jun 1 12:23:37 2011 -0400
-
- added HWE+F<0 filter
-
-commit 37d926e8999999b593d0637ab7dc379dbd3d6006
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed May 4 10:11:59 2011 -0400
-
- improved sorting order checking in index
-
- Patches from Jonathan Manning
-
-commit 1c2dc6762c5f7cd946046b53346513f2f9761dbf
-Author: Heng Li <lh3 at live.co.uk>
-Date: Tue May 3 23:09:05 2011 -0400
-
- added r^2 estimate; added Brent's method
-
-commit c2d3bcd8f98e31668b5f1321222fbc6fd6336e75
-Author: Heng Li <lh3 at live.co.uk>
-Date: Sun May 1 23:45:23 2011 -0400
-
- combine several utilites into vcfutils.lua
-
-commit be2e7362d7593ea4d03fb33cdb6af2aa096ca6c4
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Apr 27 21:09:22 2011 -0400
-
- minor warning
-
-commit 683ef0443860813d743cf84fa86dda9bfaf5445a
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Apr 27 10:10:38 2011 -0400
-
- added versioning
-
-commit ed72f25ec85671f7646dbc92fa7b5b1dda427f7d
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Apr 27 10:04:02 2011 -0400
-
- Output ML allele count
-
-commit 2a9e36d2d6c405b2411ca47458f028ada8fe1000
-Author: Heng Li <lh3 at live.co.uk>
-Date: Tue Apr 26 16:14:20 2011 -0400
-
- use ar -s
-
-commit 7a4f54e6dbcd7c94acbb3f1050a93f94b8a07949
-Author: Heng Li <lh3 at live.co.uk>
-Date: Sat Apr 23 01:22:31 2011 -0400
-
- added another type of LRT
-
-commit b9c5e84762a4aacce3a3771b51ea80967c79a2e5
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Apr 22 16:00:31 2011 -0400
-
- added version
-
-commit 8fad6677c5952efd67391581d64e67e02e7f6e68
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Apr 22 00:30:19 2011 -0400
-
- remove the pileup command
-
-commit 3a962fb6ebf779de70f9e6effb2d8701a9aa3dd9
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Apr 21 23:10:45 2011 -0400
-
- Release 0.1.16 (r963:234)
-
-commit b4d683cffbd98c43f05aff8610b37d63dd7e54aa
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Apr 21 12:44:44 2011 -0400
-
- fixed a bug when coordinate-less reads are on the reverse strand
-
-commit c5ec45a128f409debc6a56a798024f53004037dc
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Apr 20 11:36:52 2011 -0400
-
- added option '-f' to merge to avoid overwritting
-
-commit 68d431531370d24907c01a27f166f2341d7c4d35
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Apr 20 10:26:58 2011 -0400
-
- do not print a warning
-
-commit 32922607e51ad2260c337eb022b9e4aedacb049f
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Apr 20 10:21:06 2011 -0400
-
- Added ldpair to compute LD between requested pairs
-
-commit b8d6fa71b91678fa02338257e0707d1e5ca098dd
-Author: Heng Li <lh3 at live.co.uk>
-Date: Sun Apr 17 21:51:43 2011 -0400
-
- On a toy sample, type "B" seems to be accepted
-
-commit 0e7ee9a6bb4029184202aa6e6738105ba0c0510b
-Author: Heng Li <lh3 at live.co.uk>
-Date: Sun Apr 17 21:21:20 2011 -0400
-
- added type "B"; not tested yet
-
-commit a513dfad0ac0062b03871eb6ecf26cb8d18dc895
-Author: Heng Li <lh3 at live.co.uk>
-Date: Sun Apr 17 19:25:54 2011 -0400
-
- fixed a bug in bedidx.c: input BED not sorted
-
-commit de1e192bb0a8a762a54a6eee81d882fab01c3d32
-Author: Heng Li <lh3 at live.co.uk>
-Date: Sun Apr 17 18:51:08 2011 -0400
-
- by default, always perform posterior chi^2
-
-commit df6e0d1099895fc6cd7a19dc89fba95ed6654d35
-Author: Heng Li <lh3 at live.co.uk>
-Date: Sat Apr 16 12:33:28 2011 -0400
-
- added debugging
-
-commit 8ce52e024dc2ef361dbd5399c232163055057e70
-Author: Heng Li <lh3 at live.co.uk>
-Date: Sat Apr 16 00:59:05 2011 -0400
-
- avoid a segfault given wrong input
-
-commit e66b6684fc9a397f91ec29fdeecae9f8eb986a55
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Apr 15 19:55:39 2011 -0400
-
- do not segfault when there is no PL
-
-commit 9ce3c584ec0cebfa45576f2ef538df4dad2b7e55
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Apr 15 11:59:55 2011 -0400
-
- remove another unused part
-
-commit f53a051d68bf312ac8d5865210fae7a9808c0fb9
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Apr 15 10:41:25 2011 -0400
-
- print G3 if HWE is small
-
-commit 4b2c08bb86ca4ed4959e4cb77a28f7d6fc19f5c9
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Apr 15 10:04:34 2011 -0400
-
- fixed a bug
-
- actually not fix, but hide it
-
-commit 088e13c32453fb533b7bb1c65a573f9b90a23625
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Apr 15 09:48:47 2011 -0400
-
- added LRT based permutation; not used though
-
-commit 1e3c2001afcb80b5eaa4c3f88df9da7b01b62524
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Apr 15 09:28:55 2011 -0400
-
- Perform posterior contrast for small LRT
-
- Posterior contrast is much slower than LRT. Nonetheless, posterior P-value is
- more robust to sequencing artifacts. Thus we may combine the two to achieve a
- balance between speed and low FPR.
-
-commit 6f1b066270902198a7175ff6c1b05ebc8d1919be
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Apr 15 01:36:06 2011 -0400
-
- Added Brent's method
-
-commit 3d061e5db25b67b25f6ff87afe4162e121354232
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Apr 14 23:30:10 2011 -0400
-
- fixed a typo in printing
-
-commit 7fd14ceb5990bb350b8e97346ef3537d80058def
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Apr 14 23:14:23 2011 -0400
-
- fixed a stupid bug
-
-commit f5b2c3459ec098b3cafd9619b9077132516baf58
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Apr 14 22:42:35 2011 -0400
-
- separate EM and posterior
-
- Now, constrast is not performed unless -C is in use. EM can be invoked
- independently with -e without computing the posterior.
-
-commit 9eefcac963697fae554789b11ae3cb2c23f224d0
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Apr 14 22:00:19 2011 -0400
-
- further code cleanup; prepare to add EM interface
-
-commit c2cce52355262743711e4742b0c8542bfcab1cdd
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Apr 14 21:44:03 2011 -0400
-
- drop EM from prob1
-
-commit 24016f04bd3bdffb7eeb50cb25854f5007feb70f
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Apr 14 21:08:33 2011 -0400
-
- drop posterior LRT; prepare for clean up
-
-commit 3670d8bd88c3eb22873f0a80e2a5913f64ca8c9a
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Apr 14 20:57:43 2011 -0400
-
- better initial values for LD
-
-commit d48a8873c060b18b57799cfe3a0e5496ba069457
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Apr 14 20:36:25 2011 -0400
-
- finished EM
-
-commit b101f2db476188a950c23f5c1b6185fdb7f8f40b
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Apr 13 01:19:04 2011 -0400
-
- genotype frequency estimate
-
-commit d79bdcbf6242ecfb8accba9ac9a22fbcbd543cf2
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Apr 13 00:37:22 2011 -0400
-
- prepare for code clean up
-
-commit e0ce416abfc094f0c090957080b1404fd0edf752
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Apr 13 00:34:15 2011 -0400
-
- rename ld.c to em.c
-
-commit 45ede3ad181f35c1be24bed5d75841e472357ab7
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Apr 13 00:22:10 2011 -0400
-
- implemeted EM likelihood ratio test
-
- The idea is learned from a brief chat with Rasmus Nielsen.
-
-commit 0454a346b60e42b75a2f742272089810279c7131
-Author: Heng Li <lh3 at live.co.uk>
-Date: Tue Apr 12 15:45:52 2011 -0400
-
- added likelihood-ratio test (idea from Nick)
-
-commit f6287c8646c690440a1554c8958e7268f4134dc2
-Author: Heng Li <lh3 at live.co.uk>
-Date: Sun Apr 10 18:24:37 2011 -0400
-
- Release samtools-0.1.15 (r949:203)
-
-commit de6023f38f4d652438557cf7a0ac6eec324e7416
-Author: Heng Li <lh3 at live.co.uk>
-Date: Sun Apr 10 15:54:58 2011 -0400
-
- improved help information
-
-commit d3b337f2b7eda1e6f8f5575a19d1b5ed55cae279
-Author: Heng Li <lh3 at live.co.uk>
-Date: Sat Apr 9 16:28:01 2011 -0400
-
- fixed a minor issue
-
-commit 82f6e4f49247e75fbd8ec08c285b8d3047b3d235
-Author: Heng Li <lh3 at live.co.uk>
-Date: Sat Apr 9 15:49:04 2011 -0400
-
- separate QC-pass and QC-fail reads
-
-commit 8362b4a255081ee7ca0a4ca2eabc8c76758b6863
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Apr 8 17:45:19 2011 -0400
-
- added verbose level
-
-commit f7bf419c290462be7d289249a4a6d28f825b4c93
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Apr 8 16:08:14 2011 -0400
-
- fixed a bug
-
-commit 890cbb1ac93b3004fb6cf42ff47195077dcfc8ad
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Apr 8 16:00:37 2011 -0400
-
- drop unrelated @RG when "-R" is in use
-
-commit a62dc929c950fb51311b705f5b5bfba8e3f704d7
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Apr 8 16:00:14 2011 -0400
-
- skip header validation
-
-commit 39da810e2c56c8f0eff1ab726600b41f26d3d8e9
-Author: Heng Li <lh3 at live.co.uk>
-Date: Tue Apr 5 23:52:22 2011 -0400
-
- change error message
-
-commit c0c50a34df250ef8a7a29b172058cd229be582b5
-Author: Heng Li <lh3 at live.co.uk>
-Date: Tue Apr 5 23:50:46 2011 -0400
-
- fixed a bug caused by recent modifications
-
-commit 25226e8c468404cb5e1b5272efcea57e4193c762
-Author: Heng Li <lh3 at live.co.uk>
-Date: Tue Apr 5 13:31:19 2011 -0400
-
- reduce the indel filtering window
-
-commit 5e18d7014437734f9dac9ab45a95e43ec2526101
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Apr 4 13:56:20 2011 -0400
-
- only output hwe if it is small enough
-
-commit 614941fb7dd276de662e7820eb8c7bae871a18cc
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Apr 4 13:34:02 2011 -0400
-
- added HWE back
-
-commit 7abe8825aa0bacccdeb38125934ae94d18f0ad4d
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Apr 4 12:46:24 2011 -0400
-
- EM estimate of genotype frequency
-
-commit 2bfeff9c645d177416664f1cb811e85cac3ff9e3
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Apr 4 11:29:12 2011 -0400
-
- minor
-
-commit 401e40647e7e3abbac6e4ec3d8bb68eb6f2d401b
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Apr 4 11:24:04 2011 -0400
-
- Added genotype freq estimate and association test
-
-commit 6cc226df6e3b480f1bd6e763ce8ef47f785bbb74
-Author: Heng Li <lh3 at live.co.uk>
-Date: Sun Apr 3 20:57:23 2011 -0400
-
- minor changes
-
-commit 7e47a39630e812f09b80369f14606245976f687e
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Apr 1 15:21:59 2011 -0400
-
- print the grayscale
-
-commit 2f675d9c0dde3c166c99e335fa17c7873a5ae8d5
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Apr 1 08:55:16 2011 -0400
-
- change to comment
-
-commit 0592bb514994544ed84f51e509b233cf8821e0cf
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Apr 1 08:54:35 2011 -0400
-
- added base quality filtering
-
-commit fc1b47e04a7b94f6362c45856cbeb89d9d0b5ca5
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Mar 31 23:31:14 2011 -0400
-
- fixed a few typos in comments
-
-commit 60be79bc8f0d24656e5e8a329af7e9b5b91d4c8b
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Mar 31 23:13:23 2011 -0400
-
- comments
-
-commit 2432864acc25ebe5cee4217dbb0120439077a7f8
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Mar 31 22:42:46 2011 -0400
-
- added bam2depth.c, a demo program
-
-commit 39625f7c6bea9ccbfd9af0feb22348d52079f012
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Mar 31 16:37:22 2011 -0400
-
- added bgzf_check_bgzf() (used by tabix)
-
-commit 6de6bd3fb67fd22753a5f07d4cc25bf94e1b5a8c
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Mar 31 16:37:08 2011 -0400
-
- fixed a bug in bedidx.c
-
-commit 3b9e257d25b2e81eed1625bc5d2882ed486ef20e
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Mar 30 13:27:15 2011 -0400
-
- added bed support to bcftools
-
-commit 47bcce3d14ec4d205283b61e5e653803996c42e0
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Mar 30 12:56:40 2011 -0400
-
- Added BED support to "samtools view"
-
-commit a812386017faedfc86c0e6562adbb2138329cfeb
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Mar 30 12:47:04 2011 -0400
-
- support BED file
-
-commit 3052dddc929f1825e6e7f7f6f6724d9465d6cf9a
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Mar 28 15:51:55 2011 -0400
-
- relax RG matching; proper mismatching message
-
-commit f86d60c8fe25785523f01fae1486d2a6df4ee6ef
-Author: Heng Li <lh3 at live.co.uk>
-Date: Sat Mar 26 10:38:23 2011 -0400
-
- Avoid reporting association when something unexpected, which I do not understand, happens.
-
-commit dd41e6b26fd9fe30218748b9a0a1f49bdb1862b9
-Author: Heng Li <lh3 at live.co.uk>
-Date: Sat Mar 26 10:38:01 2011 -0400
-
- Added -1 to merge
-
-commit 4a0364b0d7f87f1c88d71ec5857a1f1d40710681
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Mar 23 16:56:55 2011 -0400
-
- plot pairwise r^2
-
-commit 452629a711582e612bec22b3b082e234bd37039b
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Mar 23 14:31:01 2011 -0400
-
- pairwise LD; case-control AF2
-
-commit 52862951adcaecde26ba8f0d9c1897944640a674
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Mar 21 23:03:14 2011 -0400
-
- Release samtools-0.1.14 (r933:170)
-
-commit 59a5a8ba8e2940f0e38238f9339f02c91a8a0ce4
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Mar 21 13:52:55 2011 -0400
-
- optionally skip loci with too low sample coverage
-
-commit 6434264b5c69514d4fafe62cbd30b3bbaddc1d41
-Author: Heng Li <lh3 at live.co.uk>
-Date: Sat Mar 19 14:38:25 2011 -0400
-
- mpileup support Illumina1.3+ quality; skip non-variant sites when "view -v" is in use
-
-commit 5f59e01987e1d5eca7d6359cae64a9734b18beea
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Mar 18 17:19:18 2011 -0400
-
- update version to r933:167
-
-commit 4d2c3c950910aa3d2c87760c3532e458fe01c0fa
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Mar 18 16:25:01 2011 -0400
-
- added "-1" to the command-line help
-
-commit 55313a015a7bd6369cf5a66fed7fab2333201dc9
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Mar 18 16:22:12 2011 -0400
-
- added the "cat" command (by Chris Saunders)
-
-commit b670272cadf3efa4dc456ac4c76104f73477d60d
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Mar 18 15:59:46 2011 -0400
-
- support varying the compression level
-
-commit c5dd3c9ca5f75f880e52c8cd2beae983bcb8d3b1
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Mar 16 14:33:45 2011 -0400
-
- update the manual pages
-
-commit 12fb4b596dc51bccd154fc4bd0593442f7937a46
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Mar 16 12:49:26 2011 -0400
-
- update changelog
-
-commit e7fe4fd66e02d60a1ca7952ad1938809e77729a9
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Mar 16 12:10:05 2011 -0400
-
- do not call indels when the depth is very high
-
-commit 7455eeaa32b949bb3856f75810890aabf7cacb18
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Mar 16 11:56:56 2011 -0400
-
- code clean up
-
-commit 5f16679e54ced8e67a75d949f9175c50480b914e
-Author: Heng Li <lh3 at live.co.uk>
-Date: Tue Mar 15 14:45:24 2011 -0400
-
- when -s is specified, change the sample order
-
-commit 7ba95adee09d3b06a7eaf797d25efef837e592f5
-Author: Heng Li <lh3 at live.co.uk>
-Date: Tue Mar 15 14:11:42 2011 -0400
-
- compute the rank in permutation
-
-commit d219783cea7643fc7e10e1bd3a98e9b3165b4506
-Author: Heng Li <lh3 at live.co.uk>
-Date: Sun Mar 13 21:35:13 2011 -0400
-
- I have found a SERIOUS BUG!!!
-
-commit 8e20d04ecdac1a7788eef71c4bb91b8479cf7150
-Author: Heng Li <lh3 at live.co.uk>
-Date: Sun Mar 13 17:04:04 2011 -0400
-
- optionally shuffle samples in a BCF (debugging)
-
-commit fc7b261f181f2a411427bc9ee5d586c883ca9cdc
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Mar 11 09:34:20 2011 -0500
-
- fixed a bug
-
-commit b3bbcc3d40994ae85705ab6fef9866ec8c142201
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Mar 10 20:25:59 2011 -0500
-
- use mode instead of mean
-
-commit f1161262d137098a19143b5cb0de810e5db3243e
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Mar 10 20:09:16 2011 -0500
-
- start from the mean instead of the mode
-
-commit 2ba56f5e99e90674855c4ffc8bf583340b932e1e
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Mar 10 17:13:34 2011 -0500
-
- fixed an error in Chi^2 test
-
-commit b4ce7ae400290bc43dd287240479667f99b3b11e
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Mar 10 00:23:39 2011 -0500
-
- minor
-
-commit 8487fa5d3a73a43443964e731ea2a4c873c9d4e5
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Mar 9 21:33:19 2011 -0500
-
- added -F to accept BCFs generated by old samtools
-
-commit fd51d2093f7fd775a7eaaeea57fa34716ab59ac2
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Mar 9 17:39:09 2011 -0500
-
- update version
-
-commit b6da54335df943015a998a934075331b467abb5b
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Mar 9 17:37:14 2011 -0500
-
- compute pseudo-chi2 probability
-
-commit 9f73cefdb8935421d872b989dd98fbc8e1295029
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Mar 9 15:54:04 2011 -0500
-
- remove a comment which is wrong
-
-commit b10b1e47ece522e97ab8ef23417bcb6454f8b9db
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Mar 9 15:51:12 2011 -0500
-
- clean up
-
-commit 353bfae2c6ff59205bd9223db04084cf7f507f01
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Mar 9 15:45:29 2011 -0500
-
- for backup
-
-commit 53915d1c6410c2537d18bfa8eb8c657a2233c35e
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Mar 9 15:27:56 2011 -0500
-
- having debugging code
-
-commit 0d0dbf66995b1511390d593981eae7b5d36fe17b
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Mar 9 14:58:23 2011 -0500
-
- temporary backup
-
-commit 5b74a174a8b637dee43b7f30250df6fb96580e12
-Author: Heng Li <lh3 at live.co.uk>
-Date: Tue Mar 8 15:46:11 2011 -0500
-
- the output makes sense, but there may be a typo...
-
-commit d81ec654b6c0c1eef6b0625d96f14b3155cee7c6
-Author: Heng Li <lh3 at live.co.uk>
-Date: Tue Mar 8 15:19:09 2011 -0500
-
- added contrast2(); fixed a bug in haploid mode
-
-commit 0cfd896fad5f7737cca49efa94a11892dafcd812
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Mar 7 21:40:17 2011 -0500
-
- fixed a bug in haploid genotyping
-
-commit ccd52155ef61273f2b42ad9c7b31ff1915f81b24
-Author: Heng Li <lh3 at live.co.uk>
-Date: Sat Mar 5 18:10:35 2011 -0500
-
- fixed a few bugs; still not fully working
-
-commit edc3af753f96f831968ae32f2e0f915b74f31e6e
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Mar 4 17:31:33 2011 -0500
-
- drop HWE calculation
-
-commit 92dac194debb66ca0718c21c871822dda2dd5bc1
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Mar 4 17:28:35 2011 -0500
-
- implemented hap/dipoind mode; probably BUGGY!
-
-commit 7f26804bc27937e36fdc967e5c76514653ea40f5
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Mar 4 16:01:27 2011 -0500
-
- read ploidy
-
-commit e7b7213475b5e61a69aab77ffb02b4983c8e7678
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Mar 4 14:12:14 2011 -0500
-
- added math notes
-
-commit 46023e2f21321da83fc8e83e9229757a4e821acb
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Mar 4 13:34:10 2011 -0500
-
- update BCF spec
-
-commit 13190c49eeb006ad7013b7f1e9fc1b3beca3ae78
-Author: Heng Li <lh3 at live.co.uk>
-Date: Tue Mar 1 14:45:19 2011 -0500
-
- Release samtools-0.1.13 (r926:134)
-
-commit be8fabbb6001d9fd5263a70a3e21ed6dfe5a9837
-Author: Heng Li <lh3 at live.co.uk>
-Date: Tue Mar 1 14:07:15 2011 -0500
-
- prepare to finalize 0.1.13
-
-commit 1e8c753660978bed7e9289fe50becd596d9314bb
-Author: Heng Li <lh3 at live.co.uk>
-Date: Tue Mar 1 09:40:17 2011 -0500
-
- allow to change whether to drop ambiguous reads
-
-commit 412210bfdb46606023f2e4b9086f2787f0cf1c62
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Feb 28 22:01:29 2011 -0500
-
- revert to the old behavior of phase
-
-commit 46035589518cf84738de8666b866e2619457c1fb
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Feb 28 16:46:23 2011 -0500
-
- change version number
-
-commit 7f40c33e37fc16fcb0a375ce46ae1d09cafb6d50
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Feb 28 16:37:42 2011 -0500
-
- bugfix in indel calling: interger overflow
-
-commit 75849470efbe30042e5ddd516f9bcbe3b9bf6062
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Feb 28 15:35:47 2011 -0500
-
- fixed a typo
-
-commit 9e6fb569885f906fabaab7fc2f02eae82f4bd602
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Feb 28 15:34:09 2011 -0500
-
- minor changes to heuristic rules
-
-commit 30a799a91f5e2c10b761aa5437f902c6649fceb3
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Feb 28 15:20:26 2011 -0500
-
- fixed a bug in the latest change
-
-commit e21ba9df950ea37f5c1b35c2af9ba9a4e0bba02a
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Feb 28 12:47:06 2011 -0500
-
- put version in bam.h
-
-commit 918b14780c1dceb39c7010638ecd61c626e17166
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Feb 28 12:00:38 2011 -0500
-
- frag_t::phased==0 reads are dumped to chimera.bam
-
-commit 657293c7bdba3ac69f53cd1ffa2874ed8756475e
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Feb 28 11:05:29 2011 -0500
-
- change default -q to 37 (previously 40)
-
-commit 33d8d3bea76e466798ea322d68d34deb8d2dff06
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Feb 28 10:39:57 2011 -0500
-
- fixed a minor bug in BAM reading
-
-commit daa25d426d42465d76c7317c95772bbb36bb3f47
-Author: Heng Li <lh3 at live.co.uk>
-Date: Sat Feb 26 21:07:24 2011 -0500
-
- suppress gzopen64() warning
-
-commit 9cec4256eb9e7848d4711adb67b540659c141e32
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Feb 25 22:14:52 2011 -0500
-
- fixed a long existing bug in vcf2fq
-
-commit 304487c83067a733add71cbc3886fa8c49f7ef2a
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Feb 25 16:37:40 2011 -0500
-
- change version number
-
-commit 10ba6bf4f16692760f696f7b17f3719065786f77
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Feb 25 16:34:08 2011 -0500
-
- Change the order of PL; change SP to int32_t
-
-commit c5cc2a8036a9c3579fbfde651efec4f6763b0228
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Feb 25 14:52:03 2011 -0500
-
- claim X defined in the header
-
-commit 4ee8cb29f6092fd14a89f0cc5d3575112a204f39
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Feb 25 14:40:24 2011 -0500
-
- minor changes
-
-commit 00065e9336a2831dc53bee7da2f4719845be1a2a
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Feb 25 11:39:06 2011 -0500
-
- fixed an error in the BCF spec
-
-commit 1e2a73afcb72a02aa448718cb017c0438de89f90
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Feb 25 11:36:40 2011 -0500
-
- update BCF spec
-
-commit dbf8eedaa38a405cb2fba5b3952b85776f51d035
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Feb 25 11:28:43 2011 -0500
-
- update BCF spec
-
-commit eed1d91af9fad3c9d965333a55e623757f9c4e9d
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Feb 25 09:51:39 2011 -0500
-
- fixed a flaw in targetcut
-
-commit 59bc980bb832b92a8b0cc244cf106e6150e4db6f
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Feb 25 00:54:35 2011 -0500
-
- update manual page
-
-commit fcc4738c4abdca79e3de159e21208df1b98ac76c
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Feb 25 00:45:39 2011 -0500
-
- update version format
-
-commit 5748639ae542b7f6b853562edc2bb3faf43030e4
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Feb 25 00:45:12 2011 -0500
-
- update version number
-
-commit 06b44cc366cf27ce8976ee6a05810a0b3c48b56d
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Feb 25 00:44:21 2011 -0500
-
- update version number
-
-commit ab7f4529d12739ff66fd4c09af9d992ab59c53ef
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Feb 25 00:42:55 2011 -0500
-
- various help message
-
-commit a092e1f6f963272f8bb23616986ddaf604fd0f82
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Feb 24 23:43:13 2011 -0500
-
- disable unfinished functionality
-
-commit f00a78db72b14ee4c6689fc13f20ed31aeaecd40
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Feb 24 10:04:56 2011 -0500
-
- added "const" to bcf_p1_cal()
-
-commit 91049c4a8db3bf50dcc9d07506f22fa4ca5b5a96
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Feb 23 11:53:47 2011 -0500
-
- randomly allocate unphased reads
-
-commit f4405354a8d4cb3441141fa734573031059d7f57
-Author: Heng Li <lh3 at live.co.uk>
-Date: Tue Feb 22 15:36:07 2011 -0500
-
- fixed a typo
-
-commit 3075e4dc5c7c9d954426aabda6a73fa788357100
-Author: Heng Li <lh3 at live.co.uk>
-Date: Tue Feb 22 15:33:40 2011 -0500
-
- make output more informative
-
-commit 628cf3235e2815a40acf089fb1d3357be6437787
-Author: Heng Li <lh3 at live.co.uk>
-Date: Tue Feb 22 14:50:06 2011 -0500
-
- change the scoring rule; change default k to 13
-
-commit f22fd99831e4b5c74f898719216f359dbe987bbf
-Author: Heng Li <lh3 at live.co.uk>
-Date: Tue Feb 22 14:45:15 2011 -0500
-
- update scoring in masking
-
-commit 2f23547b81984555032aa0eefd064b8e07986fdc
-Author: Heng Li <lh3 at live.co.uk>
-Date: Tue Feb 22 14:37:17 2011 -0500
-
- remove dropreg()
-
-commit 4d8b6b1f1f331ca9041983c66e34a857c3b8f1bb
-Author: Heng Li <lh3 at live.co.uk>
-Date: Tue Feb 22 13:10:16 2011 -0500
-
- accept files from stdin
-
-commit 9b50c5038e6fc0185e29ca5b50fe0806a9a939b9
-Author: Heng Li <lh3 at live.co.uk>
-Date: Tue Feb 22 11:16:57 2011 -0500
-
- fixed a bug in consensus generation
-
-commit 1332ab32fb788fdc81b2ba8653b905d106238fad
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Feb 21 22:53:23 2011 -0500
-
- print dropped fragments
-
-commit a288761b4ca1584e51076a71cbc4d72fe923dda1
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Feb 21 22:37:04 2011 -0500
-
- bugfix: singletons are not phased
-
-commit 683365f534c0223dea7d72532015ac16a45ba22b
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Feb 21 17:27:10 2011 -0500
-
- output singleton blocks
-
-commit 841a4609084d81f1bc81e0b00dd806002461e7d9
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Feb 21 15:58:55 2011 -0500
-
- fixed a bug; not working with -l right now
-
-commit fdd57ea31732b5516dc212d72174b60206952636
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Feb 21 15:17:00 2011 -0500
-
- skip mapQ==0 reads
-
-commit 4eb6ba75c23c1c9be5f76814fa1b93a2e304b2af
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Feb 21 14:03:03 2011 -0500
-
- print the "targetcut" command
-
-commit 0123d9559ba58b026c0dfd15bc26019a193cd21a
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Feb 21 11:22:13 2011 -0500
-
- allow to set the maximum depth
-
-commit 0f92eb248a4d06645b2c3d736a0faea8a7a9f731
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Feb 21 09:56:41 2011 -0500
-
- use a proper error model to call hets
-
-commit 587a01504af5aea6288740d121dccf48fb8a75f4
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Feb 21 09:16:38 2011 -0500
-
- phase is UNFINISHED; strip RG when merging
-
-commit 723bf3cd79e4f4a558373d4c707fa6b3db0fb357
-Author: Heng Li <lh3 at live.co.uk>
-Date: Sat Feb 19 23:38:11 2011 -0500
-
- use a proper model to compute consensus
-
-commit 891a6b02d4a9af2ed98fbaac4915bf1f0da4f6c8
-Author: Heng Li <lh3 at live.co.uk>
-Date: Sat Feb 19 22:14:19 2011 -0500
-
- added comment
-
-commit 8b55e0a581ecc9e4ba754d1f3c8784f3038b6e48
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Feb 18 17:23:39 2011 -0500
-
- change the output format
-
-commit 75c36e8c563eddd0a362ba3b38cf0aea21aafb1f
-Author: Heng Li <lh3 at live.co.uk>
-Date: Tue Feb 15 20:31:00 2011 -0500
-
- fixed a bug in writing BAM
-
-commit bb0ce52f066cfebaa35a125d57b353bb717a5165
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Feb 14 23:39:09 2011 -0500
-
- skip uncovered; unknown alleles taken as X
-
-commit ba67f4d119c7d06907db3015d337d9a01a3fc9fe
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Feb 14 23:21:19 2011 -0500
-
- fixed a bug
-
-commit e4448d49e6129a5e1ee9c7f04f43612f12d6aad6
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Feb 14 22:43:09 2011 -0500
-
- prepare to read hets from a list; unfinished
-
-commit 129ea29c1f12177c0a7c3e21676f6210370fc59b
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Feb 14 16:32:22 2011 -0500
-
- updated khash.h to 0.2.5
-
-commit 15b44ed93bd949dffcf79ac8dbea6d9b7dfcb58c
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Feb 14 16:15:04 2011 -0500
-
- use the latest version of khash
-
-commit 486c05f06f44d981dfb2069bcb43e4b35fd8389c
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Feb 14 15:04:40 2011 -0500
-
- change the default -k to 11
-
-commit 07cf9d1e443d73cf053de38dd01671e3781f6e29
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Feb 14 14:50:51 2011 -0500
-
- sort fragments by vpos instead of by beg
-
-commit d0d3e7faabf5cbb7e5ff7b294f7e220da807c4c0
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Feb 14 14:45:41 2011 -0500
-
- shuffling the two haplotypes for better randomness
-
-commit 3be28eaf5f6033229aedf12ddb11a0084ba01cd8
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Feb 14 14:09:17 2011 -0500
-
- write chimeras to a separate BAM
-
-commit 80ccbc26f43918fe42be123cc1da9d3d7ce30816
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Feb 14 13:54:13 2011 -0500
-
- no mem leak/violation on small files; correctness is not checked
-
-commit 5c923867432fa14c26a19e3782e7f48d4080f6ac
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Feb 14 13:50:25 2011 -0500
-
- bam separation; at least not immediate segfault
-
-commit cea2643ec30a59735bf89b2f562b563bf7263e79
-Author: Heng Li <lh3 at live.co.uk>
-Date: Sun Feb 13 23:24:11 2011 -0500
-
- on the way to implement BAM separation; unfinished
-
-commit 964269cd15036a470ca89e43d0952201a0825671
-Author: Heng Li <lh3 at live.co.uk>
-Date: Sun Feb 13 18:07:56 2011 -0500
-
- keep singletons in the hash table
-
-commit 2d4aa649bd670d5e038a1acaefd33c5fe24ae0e8
-Author: Heng Li <lh3 at live.co.uk>
-Date: Sun Feb 13 17:42:24 2011 -0500
-
- Revert "prepare to add bam separation"
-
- This reverts commit ed6957e5211c2c4cf684dcb8bbb661052c74df6f.
-
-commit ed6957e5211c2c4cf684dcb8bbb661052c74df6f
-Author: Heng Li <lh3 at live.co.uk>
-Date: Sun Feb 13 00:24:28 2011 -0500
-
- prepare to add bam separation
-
-commit d211e652d93791d2e112d334added243ffe5fc3e
-Author: Heng Li <lh3 at live.co.uk>
-Date: Sat Feb 12 18:50:20 2011 -0500
-
- accelerate kstrtok
-
-commit 2d6af49d331ff5afe7b9e9b102e79d7d4512fdbe
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Feb 11 21:08:21 2011 -0500
-
- split unlinked blocks
-
-commit 68e4cd1b560b0a6fd4c77e5e51eadde9fda26ea4
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Feb 11 10:47:58 2011 -0500
-
- remove heading and tailing ambiguous positions
-
-commit d2b685141426a902ae76660c1fbe8020da150cf8
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Feb 11 10:02:21 2011 -0500
-
- code clean up for further features
-
-commit c6980e062d55928b59f287c03e599dd5a37ed509
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Feb 11 08:00:08 2011 -0500
-
- change /64 to >>6; the latter is faster
-
-commit 91635b9c2687f24d72ee6a8aad2050a79bb8400f
-Merge: 41d4df2 9a7e155
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Feb 11 01:22:55 2011 -0500
-
- Merge branch 'master' into devel
-
-commit 9a7e155cc591c1b6c9f7f9cb939364a6becb65b2
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Feb 11 01:21:07 2011 -0500
-
- output an unrecognized field as '.'; autofix GL/PL
-
-commit 41d4df2e9545e9abe97151cfe5d6c763f3d00db1
-Merge: c00c41c aacce0c
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Feb 10 23:00:14 2011 -0500
-
- Merge branch 'master' into devel
-
-commit aacce0ce7276f451e4fddf81832f9e5f7f65198b
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Feb 10 22:57:53 2011 -0500
-
- finished VCF->BCF conversion
-
-commit 0e875df643e41d848b709e2fa877de8ae53cdd4c
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Feb 10 21:57:28 2011 -0500
-
- fixed a bug in reading VCF files
-
-commit c00c41c2a5da69cccea64adb542a0b365e56b4fc
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Feb 10 16:28:37 2011 -0500
-
- suppres one-allele blocks
-
-commit 2e2354b673722e2f00d72970a043f80a66270da1
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Feb 10 16:06:56 2011 -0500
-
- fixed the bug in filtering
-
-commit d971e1fe24de4ecaf94055efffc5f641e2bdb563
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Feb 10 12:24:23 2011 -0500
-
- prepare to add filtering; buggy right now
-
-commit a0a5a3fbf504c3b02f7b9212e72315c1047cc249
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Feb 10 11:55:02 2011 -0500
-
- make masking optional
-
-commit 28db71ccd95054a5f8a47c2332794f8968f6a822
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Feb 10 11:40:47 2011 -0500
-
- routine to mask poorly called regions
-
-commit a3f6c439262bc10a4067860440f4d4dde9e0c515
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Feb 9 17:18:33 2011 -0500
-
- code clean up: remove globals
-
-commit 0b711978492f6ad39d459d78723c299468906818
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Feb 9 16:52:54 2011 -0500
-
- output more information
-
-commit f69d217ae5b691bf42ad07a97f29a7cc6456046f
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Feb 9 16:11:54 2011 -0500
-
- fixed another bug in flipping
-
-commit d47882d549337fbcc251597508a2c7faf1bb92e2
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Feb 9 16:01:35 2011 -0500
-
- fixed a stupid bug in flipping
-
-commit e33f89de499496537f5fbde396a66557f0353f1b
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Feb 9 15:54:42 2011 -0500
-
- fix chimeras; a little weird...
-
-commit 03d3c1d0b945245108ce0942d4772536a32212c7
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Feb 9 13:27:35 2011 -0500
-
- no effective change; prepare to fix chimera
-
-commit 6bc0a4676dd2252085a6e67bb06daa5ae05a554f
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Feb 9 11:52:58 2011 -0500
-
- better count output
-
-commit dcac515439d25f71125d6de8111da417776ab9ce
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Feb 9 10:31:07 2011 -0500
-
- prepare for another way of filtering
-
-commit ca7e4f1899b86d2e077994c789e8f69d699b3cd9
-Author: Heng Li <lh3 at live.co.uk>
-Date: Tue Feb 8 16:10:08 2011 -0500
-
- fixed the bug; I can do better.
-
-commit 0733f77b98af121bdcb198cea6151d159831bb9c
-Author: Heng Li <lh3 at live.co.uk>
-Date: Tue Feb 8 15:55:38 2011 -0500
-
- fixed two bugs; still not working...
-
-commit 80f18cba9ba73c9592380fc1ecd53c351d294782
-Author: Heng Li <lh3 at live.co.uk>
-Date: Tue Feb 8 15:42:58 2011 -0500
-
- filter false SNPs; NOT working right now
-
-commit 69a66e2f96d5b102cd712ff1527a3802fa84c590
-Author: Heng Li <lh3 at live.co.uk>
-Date: Tue Feb 8 14:39:09 2011 -0500
-
- write sequence in the SAM format for debugging
-
-commit b6f1c9d160822af2b713be206f37bd6dde00546a
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Feb 7 11:51:21 2011 -0500
-
- fixed two bugs
-
-commit 400aa5c06100af9c47cd5e4ce8b95b7deb84f54b
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Feb 7 11:22:38 2011 -0500
-
- Optionally apply BAQ
-
-commit 4c82e0e19682e424f5cdb8381364114c307b329e
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Feb 7 01:23:31 2011 -0500
-
- improved output; the result makes sense at a glance
-
-commit dc7853a581ab24bcc496e96b123ccf637e32ed1d
-Author: Heng Li <lh3 at live.co.uk>
-Date: Sun Feb 6 14:12:43 2011 -0500
-
- process per linked block instead of per chr
-
-commit e867d9c6c2e61d9e748e78163e5481dca5697a36
-Author: Heng Li <lh3 at live.co.uk>
-Date: Sun Feb 6 00:45:46 2011 -0500
-
- DP seems to work on toy examples
-
-commit 445ad72fc43d4354d56f5f759790e8ae0be73d02
-Author: Heng Li <lh3 at live.co.uk>
-Date: Sat Feb 5 01:24:42 2011 -0500
-
- implemented backtrack; not tested
-
-commit ba38e180b9cd545956583b22e97e09b4bb12073e
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Feb 4 23:55:23 2011 -0500
-
- More "correct" DP; backtrack not implemented
-
-commit d69761fd9351273ccd37ea431b10509add91e7cf
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Feb 4 17:22:31 2011 -0500
-
- scratch of dynamic programming; unfinished...
-
-commit 769ffcb44e26e59300791658801d321559b33858
-Author: Heng Li <lh3 at live.co.uk>
-Date: Fri Feb 4 16:29:55 2011 -0500
-
- UNFINISHED commit.
-
-commit 9adab9591317c3467f3d8cdf2d19ec1f65d1b5b7
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Feb 3 16:20:59 2011 -0500
-
- another way of counting; can be even faster
-
-commit bbafbdc01ed1ceaab44927def1ad47c4c78aeb9c
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Feb 3 14:48:20 2011 -0500
-
- for backup
-
-commit eba7446389cad62a19133bced1386a4334dcab79
-Merge: a44a98e f01a593
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Feb 2 14:06:07 2011 -0500
-
- Merge branch 'master' into devel
-
-commit f01a5930445b5fda7e6b5b813ed63c652160ada2
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Feb 2 11:31:54 2011 -0500
-
- Better truncation warning when EOF is absent
-
-commit dd3ee5ed26c8bbef4a62fa5b2bfb0a75833f2c31
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Feb 2 10:38:28 2011 -0500
-
- fixed a typo in BCF/VCF headers
-
-commit b9d1137c55f401387113d1ad8a387489afe741db
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Feb 2 09:13:44 2011 -0500
-
- fixed an out-of-boundary bug (fixed by Roel Kluin)
-
-commit a44a98e16559b9672e8a3492c8f8c640074b7ee2
-Merge: ef68a14 d0443d5
-Author: Heng Li <lh3 at live.co.uk>
-Date: Tue Feb 1 21:54:48 2011 -0500
-
- Merge branch 'master' into devel
-
-commit d0443d5c2f648e0f69bd4c56eaac7868e501c18b
-Author: Heng Li <lh3 at live.co.uk>
-Date: Tue Feb 1 17:31:52 2011 -0500
-
- improved sorting order checking
-
-commit ef68a14fab91399b2ecd38345936c3d6e7391cf3
-Merge: 1e597b3 1a39a2e
-Author: Heng Li <lh3 at live.co.uk>
-Date: Tue Feb 1 15:12:37 2011 -0500
-
- Merge branch 'master' into devel
-
-commit 1a39a2eb08a270e20a34a0983e8bed6ffb3e2008
-Author: Heng Li <lh3 at live.co.uk>
-Date: Tue Feb 1 15:12:14 2011 -0500
-
- more precise error message
-
-commit e028e7a47c02232e06a9dd3009262c00dede1060
-Author: Heng Li <lh3 at live.co.uk>
-Date: Tue Feb 1 14:48:01 2011 -0500
-
- improved sorting order validation in index
-
-commit 1e597b3356744e2b791b12c9187f91c8054511d5
-Author: Heng Li <lh3 at live.co.uk>
-Date: Tue Feb 1 14:44:27 2011 -0500
-
- testing only; not working
-
-commit 5753ace1e54228822d8ee95f69943f586e42f6e8
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Jan 31 17:37:08 2011 -0500
-
- reduce the effect of seq errors at the cost of SN
-
-commit 6f239ce5e0abd47babee33174476d48b723260d8
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Jan 31 17:29:34 2011 -0500
-
- added testing code
-
-commit 3db42fe22d27d61ab5735cd2308f73d93def8ebe
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Jan 31 14:33:21 2011 -0500
-
- routine for phasing fosmid resequencing (incomplete)
-
-commit ed88f2797323229ae8f38fbcd107b231007956a8
-Author: Heng Li <lh3 at live.co.uk>
-Date: Mon Jan 31 10:12:53 2011 -0500
-
- SAM output
-
-commit abc6acae28dc4794f6422255f077cf370d34e414
-Merge: f1985a9 b133dbf
-Author: Heng Li <lh3 at live.co.uk>
-Date: Sat Jan 29 22:56:10 2011 -0500
-
- Merge branch 'master' into devel
-
-commit b133dbf82de4e8cea5eb56e5bbf0c4b3e9368fd5
-Author: Heng Li <lh3 at live.co.uk>
-Date: Sat Jan 29 22:37:11 2011 -0500
-
- fixed a bug in tview on big-endian by Nathan Weeks
-
-commit 9d3fdaef29f91e21dbfcb9ff0165b9573e7c1042
-Author: Heng Li <lh3 at live.co.uk>
-Date: Sat Jan 29 22:24:00 2011 -0500
-
- update INSTALL
-
-commit 9d074a38bde53961f96157b6fb3683b6dded38d7
-Author: Heng Li <lh3 at live.co.uk>
-Date: Sat Jan 29 21:56:25 2011 -0500
-
- avoid a segfault when network connect fails
-
-commit f1985a93f7455b3ea1b0ef9b959d50b896ccd620
-Author: Heng Li <lh3 at live.co.uk>
-Date: Sat Jan 29 21:53:18 2011 -0500
-
- fixed a bug about bit ordering
-
-commit d09797db6fef648a6823cbe718d67664660c6ebe
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Jan 27 16:53:19 2011 -0500
-
- point out there are 4 or fewer free parameters
-
-commit 5fd1717650ed68ab6c55d094d1648c16a054891a
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Jan 27 16:09:18 2011 -0500
-
- updated .gitignore
-
-commit fccb19fbe8f9de91f59d85bb49a248683dc6266c
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Jan 27 16:08:14 2011 -0500
-
- fixed a bug; better scoring
-
-commit b4dcb844bde3d09eedcd9f6832186ece60ae5afd
-Merge: ffc3e89 6f502de
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Jan 27 14:50:30 2011 -0500
-
- Merge branch 'master' into devel
-
-commit 6f502dec46b18dae4bb5b2319715d028b5e193d0
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Jan 27 14:47:31 2011 -0500
-
- skip unmapped and ref-skip reads in indel calling
-
-commit 3639f37dd8257b24560c35effcc3b6c16c3c1bcb
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Jan 27 14:19:15 2011 -0500
-
- fixed an out-of-boundary bug in rare cases
-
-commit ffc3e89678ab9052b84f403da1e43044b045e73f
-Author: Heng Li <lh3 at live.co.uk>
-Date: Thu Jan 27 14:00:17 2011 -0500
-
- targetcut can be compiled, though probably buggy
-
-commit f452b3ac51306865ddde31a8d715b155d4d3e6e6
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Jan 26 18:58:43 2011 -0500
-
- this is for a very special application...
-
-commit ca1451c6406c7ee757cb31349ea0b8de70db0656
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Jan 26 18:48:09 2011 -0500
-
- fixed compiling errors
-
-commit 085b87a7642865f17239fb6a436e626e25417838
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Jan 26 18:45:09 2011 -0500
-
- This script was put in a wrong place...
-
-commit 090d360828622520de60385af4928ce1aebe0e48
-Author: Heng Li <lh3 at live.co.uk>
-Date: Wed Jan 26 18:33:58 2011 -0500
-
- Imported from samtools-r902
-------------------------------------------------------------------------
-r108 | lh3lh3 | 2009-01-20 11:56:45 +0000 (Tue, 20 Jan 2009) | 2 lines
-Changed paths:
- M /branches/dev/samtools/examples/Makefile
-
-made it a little more convenient
-
-------------------------------------------------------------------------
-r107 | lh3lh3 | 2009-01-20 11:53:30 +0000 (Tue, 20 Jan 2009) | 2 lines
-Changed paths:
- A /branches/dev/samtools/examples/Makefile
-
-added a Makefile
-
-------------------------------------------------------------------------
-r106 | lh3lh3 | 2009-01-20 11:25:05 +0000 (Tue, 20 Jan 2009) | 2 lines
-Changed paths:
- M /branches/dev/samtools/misc/maq2sam.c
-
-support RG tag
-
-------------------------------------------------------------------------
-r105 | lh3lh3 | 2009-01-18 17:37:20 +0000 (Sun, 18 Jan 2009) | 2 lines
-Changed paths:
- M /branches/dev/samtools/ChangeLog
-
-update changelog
-
-------------------------------------------------------------------------
-r104 | lh3lh3 | 2009-01-18 17:31:21 +0000 (Sun, 18 Jan 2009) | 3 lines
-Changed paths:
- M /branches/dev/samtools/bam.h
- M /branches/dev/samtools/bam_lpileup.c
- M /branches/dev/samtools/bamtk.c
-
- * samtools-0.1.1-18
- * fixed a bug in bam_lpileup.c: segment start and end are not correctly recognized
-
-------------------------------------------------------------------------
-r103 | lh3lh3 | 2009-01-18 16:34:03 +0000 (Sun, 18 Jan 2009) | 5 lines
-Changed paths:
- M /branches/dev/samtools/bam_import.c
- M /branches/dev/samtools/bam_index.c
- M /branches/dev/samtools/bamtk.c
-
- * samtools-0.1.1-17
- * fixed a bug when there are reads without coordinates
- * also recognize type 'c' as 'A'
- * found a bug in bam_lpileup.c; NOT fixed yet
-
-------------------------------------------------------------------------
-r102 | lh3lh3 | 2009-01-17 19:46:49 +0000 (Sat, 17 Jan 2009) | 2 lines
-Changed paths:
- A /branches/dev/samtools/INSTALL
-
-Instruction for compilation
-
-------------------------------------------------------------------------
-r101 | lh3lh3 | 2009-01-17 19:31:36 +0000 (Sat, 17 Jan 2009) | 3 lines
-Changed paths:
- M /branches/dev/samtools/Makefile
- A /branches/dev/samtools/Makefile.lite
- M /branches/dev/samtools/bam.h
- M /branches/dev/samtools/faidx.c
- M /branches/dev/samtools/misc/Makefile
- M /branches/dev/samtools/razf.c
-
- * replaced HAVE_RAZF with _NO_RAZF
- * added Makefile.lite for people who have trouble with razf.c
-
-------------------------------------------------------------------------
-r100 | lh3lh3 | 2009-01-16 10:03:37 +0000 (Fri, 16 Jan 2009) | 3 lines
-Changed paths:
- M /branches/dev/samtools/bam_mate.c
- M /branches/dev/samtools/bamtk.c
- M /branches/dev/samtools/misc/wgsim.c
-
- * samtools-0.1.1-15
- * fixed another bug in fixmate: unmapped pair has non-zero isize
-
-------------------------------------------------------------------------
-r99 | lh3lh3 | 2009-01-16 09:13:36 +0000 (Fri, 16 Jan 2009) | 4 lines
-Changed paths:
- M /branches/dev/samtools/ChangeLog
- M /branches/dev/samtools/bam_mate.c
- M /branches/dev/samtools/bamtk.c
-
- * samtools-0.1.1-14
- * fixed a bug in fixmate: isize not equal to zero if two ends mapped to
- different chr
-
-------------------------------------------------------------------------
-r98 | lh3lh3 | 2009-01-15 16:47:41 +0000 (Thu, 15 Jan 2009) | 3 lines
-Changed paths:
- M /branches/dev/samtools/bam_maqcns.c
- M /branches/dev/samtools/bamtk.c
-
- * samtools-0.1.1-13
- * fixed the prior for hom indels (Richard pointed this out)
-
-------------------------------------------------------------------------
-r97 | lh3lh3 | 2009-01-15 16:38:47 +0000 (Thu, 15 Jan 2009) | 4 lines
-Changed paths:
- M /branches/dev/samtools/COPYING
- M /branches/dev/samtools/bam_sort.c
- M /branches/dev/samtools/bamtk.c
- M /branches/dev/samtools/source.dot
-
- * samtools-0.1.1-12
- * fixed a bug in sort
- * update source file graph and copyright information
-
-------------------------------------------------------------------------
-r96 | lh3lh3 | 2009-01-14 21:46:14 +0000 (Wed, 14 Jan 2009) | 2 lines
-Changed paths:
- M /branches/dev/samtools/glf.c
-
-fixed a typo
-
-------------------------------------------------------------------------
-r95 | lh3lh3 | 2009-01-14 21:44:53 +0000 (Wed, 14 Jan 2009) | 2 lines
-Changed paths:
- M /branches/dev/samtools/glf.c
-
-added a main function for glf.c
-
-------------------------------------------------------------------------
-r94 | lh3lh3 | 2009-01-14 17:14:59 +0000 (Wed, 14 Jan 2009) | 4 lines
-Changed paths:
- M /branches/dev/samtools/Makefile
- M /branches/dev/samtools/bam_plcmd.c
- M /branches/dev/samtools/bamtk.c
- M /branches/dev/samtools/bgzf.h
- A /branches/dev/samtools/glf.c
- M /branches/dev/samtools/glf.h
-
- * samtools-0.1.1-11
- * generate binary GLFv2
- * added glfview command to dump GLFv2 binary file
-
-------------------------------------------------------------------------
-r93 | lh3lh3 | 2009-01-14 15:07:44 +0000 (Wed, 14 Jan 2009) | 4 lines
-Changed paths:
- M /branches/dev/samtools/bam_rmdup.c
- M /branches/dev/samtools/bamtk.c
- M /branches/dev/samtools/glf.h
-
- * samtools-0.1.1-10
- * fixed several bugs in rmdup
- * prepare to generate GLF2
-
-------------------------------------------------------------------------
-r92 | lh3lh3 | 2009-01-14 13:27:44 +0000 (Wed, 14 Jan 2009) | 3 lines
-Changed paths:
- M /branches/dev/samtools/Makefile
- M /branches/dev/samtools/bam.h
- M /branches/dev/samtools/bam_import.c
- A /branches/dev/samtools/bam_rmdup.c
- M /branches/dev/samtools/bamtk.c
-
- * samtools-0.1.1-9
- * implemented rmdup; NOT tested yet
-
-------------------------------------------------------------------------
-r91 | lh3lh3 | 2009-01-13 20:15:43 +0000 (Tue, 13 Jan 2009) | 2 lines
-Changed paths:
- M /branches/dev/samtools/examples/00README.txt
-
-update README for typos
-
-------------------------------------------------------------------------
-r90 | lh3lh3 | 2009-01-13 19:57:50 +0000 (Tue, 13 Jan 2009) | 2 lines
-Changed paths:
- M /branches/dev/samtools/examples/ex1.sam.gz
-
-update example
-
-------------------------------------------------------------------------
-r89 | lh3lh3 | 2009-01-13 17:21:38 +0000 (Tue, 13 Jan 2009) | 3 lines
-Changed paths:
- M /branches/dev/samtools/Makefile
- M /branches/dev/samtools/bam.c
- A /branches/dev/samtools/bam_mate.c
- M /branches/dev/samtools/bamtk.c
-
- * samtools-0.1.1-8
- * added fixmate command
-
-------------------------------------------------------------------------
-r88 | lh3lh3 | 2009-01-13 10:48:23 +0000 (Tue, 13 Jan 2009) | 3 lines
-Changed paths:
- M /branches/dev/samtools/bam_plcmd.c
- M /branches/dev/samtools/bamtk.c
-
- * samtools-0.1.1-7
- * change the reported indel position to the previous way
-
-------------------------------------------------------------------------
-r87 | lh3lh3 | 2009-01-12 22:12:12 +0000 (Mon, 12 Jan 2009) | 4 lines
-Changed paths:
- M /branches/dev/samtools/bam_plcmd.c
- M /branches/dev/samtools/bamtk.c
-
- * samtools-0.1.1-6
- * addd glt output
- * allow to change indel calling parameters at the command line
-
-------------------------------------------------------------------------
-r86 | lh3lh3 | 2009-01-12 21:16:48 +0000 (Mon, 12 Jan 2009) | 4 lines
-Changed paths:
- M /branches/dev/samtools/bam.h
- M /branches/dev/samtools/bam_pileup.c
- M /branches/dev/samtools/bam_plcmd.c
- M /branches/dev/samtools/bamtk.c
-
- * samtools-0.1.1-5
- * added two more flags
- * allowed to select reads shown in pileup with a mask
-
-------------------------------------------------------------------------
-r85 | lh3lh3 | 2009-01-12 20:47:51 +0000 (Mon, 12 Jan 2009) | 4 lines
-Changed paths:
- M /branches/dev/samtools/bam_index.c
- M /branches/dev/samtools/bam_plcmd.c
- M /branches/dev/samtools/bamtk.c
-
- * samtools-0.1.1-4
- * fixed a bug in indexing (linear index)
- * prepare to add glt output from pileup
-
-------------------------------------------------------------------------
-r84 | lh3lh3 | 2009-01-12 09:22:35 +0000 (Mon, 12 Jan 2009) | 3 lines
-Changed paths:
- M /branches/dev/samtools/bam_plcmd.c
- M /branches/dev/samtools/bamtk.c
-
- * samtools-0.1.1-3
- * fixed a bug in outputing the coordinate of an indel
-
-------------------------------------------------------------------------
-r83 | lh3lh3 | 2009-01-11 15:18:01 +0000 (Sun, 11 Jan 2009) | 3 lines
-Changed paths:
- M /branches/dev/samtools/bam_plcmd.c
- M /branches/dev/samtools/bamtk.c
-
- * samtools-0.1.1-2
- * pileup: allows to output indel sites only
-
-------------------------------------------------------------------------
-r82 | lh3lh3 | 2009-01-10 23:34:31 +0000 (Sat, 10 Jan 2009) | 3 lines
-Changed paths:
- M /branches/dev/samtools/bam_maqcns.c
- M /branches/dev/samtools/bam_maqcns.h
- M /branches/dev/samtools/bam_plcmd.c
- M /branches/dev/samtools/bamtk.c
-
- * samtools-0.1.1-1
- * implemented a Bayesian indel caller
-
-------------------------------------------------------------------------
-r81 | lh3lh3 | 2009-01-09 09:54:28 +0000 (Fri, 09 Jan 2009) | 2 lines
-Changed paths:
- M /branches/dev/samtools/examples/00README.txt
- D /branches/dev/samtools/examples/ex1.fa.fai
-
-Let users generate ex1.fa.fai.
-
-------------------------------------------------------------------------
-r80 | lh3lh3 | 2009-01-08 16:10:08 +0000 (Thu, 08 Jan 2009) | 2 lines
-Changed paths:
- M /branches/dev/samtools/misc/bowtie2sam.pl
-
-make the bowtie converter works for "-k 2"
-
-------------------------------------------------------------------------
-r78 | lh3lh3 | 2009-01-03 17:25:24 +0000 (Sat, 03 Jan 2009) | 2 lines
-Changed paths:
- M /branches/dev/samtools/misc/export2sam.pl
-
-fixed a bug for "QC" reads
-
-------------------------------------------------------------------------
-r77 | lh3lh3 | 2009-01-01 18:32:06 +0000 (Thu, 01 Jan 2009) | 3 lines
-Changed paths:
- A /branches/dev/samtools/misc/bowtie2sam.pl
- M /branches/dev/samtools/misc/soap2sam.pl
-
- * soap2sam.pl: added NM tag
- * bowtie2sam.pl: converter for bowtie
-
-------------------------------------------------------------------------
-r76 | lh3lh3 | 2008-12-31 23:24:24 +0000 (Wed, 31 Dec 2008) | 2 lines
-Changed paths:
- A /branches/dev/samtools/misc/soap2sam.pl
-
-soap2sam.pl: convert soap output to SAM
-
-------------------------------------------------------------------------
-r75 | lh3lh3 | 2008-12-31 17:54:32 +0000 (Wed, 31 Dec 2008) | 3 lines
-Changed paths:
- M /branches/dev/samtools/misc/wgsim_eval.pl
-
- * wgsim_eval.pl-0.1.1
- * fixed a bug for a contig name like "NT_012345"
-
-------------------------------------------------------------------------
-r74 | lh3lh3 | 2008-12-31 16:38:21 +0000 (Wed, 31 Dec 2008) | 2 lines
-Changed paths:
- A /branches/dev/samtools/misc/wgsim_eval.pl
-
- * evaluate alignment for reads generated by wgsim
-
-------------------------------------------------------------------------
-r73 | lh3lh3 | 2008-12-31 15:11:22 +0000 (Wed, 31 Dec 2008) | 2 lines
-Changed paths:
- M /branches/dev/samtools/misc/Makefile
- M /branches/dev/samtools/misc/wgsim.c
-
-fixed compiling warnings for wgsim
-
-------------------------------------------------------------------------
-r72 | lh3lh3 | 2008-12-31 13:40:51 +0000 (Wed, 31 Dec 2008) | 2 lines
-Changed paths:
- M /branches/dev/samtools/bam_tview.c
-
-remove an unused variable (a compiler warning only)
-
-------------------------------------------------------------------------
-r71 | lh3lh3 | 2008-12-31 13:37:16 +0000 (Wed, 31 Dec 2008) | 2 lines
-Changed paths:
- M /branches/dev/samtools/misc/Makefile
- A /branches/dev/samtools/misc/wgsim.c
-
-wgsim: Paired-end reads simulator
-
-------------------------------------------------------------------------
-r70 | bhandsaker | 2008-12-29 20:27:16 +0000 (Mon, 29 Dec 2008) | 2 lines
-Changed paths:
- M /branches/dev/samtools/bam_maqcns.c
- M /branches/dev/samtools/bam_tview.c
-
-Move definition of bam_nt16_nt4_table so we can build without curses.
-
-------------------------------------------------------------------------
-r62 | lh3lh3 | 2008-12-22 15:55:13 +0000 (Mon, 22 Dec 2008) | 2 lines
-Changed paths:
- A /branches/dev/samtools/NEWS
- M /branches/dev/samtools/bamtk.c
- M /branches/dev/samtools/samtools.1
-
-Release samtools-0.1.1
-
-------------------------------------------------------------------------
-r61 | lh3lh3 | 2008-12-22 15:46:08 +0000 (Mon, 22 Dec 2008) | 10 lines
-Changed paths:
- M /branches/dev/samtools/bam_aux.c
- M /branches/dev/samtools/bam_index.c
- M /branches/dev/samtools/bam_plcmd.c
- M /branches/dev/samtools/bam_tview.c
- M /branches/dev/samtools/bamtk.c
- M /branches/dev/samtools/razf.c
- M /branches/dev/samtools/samtools.1
-
- * samtools-0.1.0-66
- * fixed a bug in razf.c: reset z_eof when razf_seek() is called
- * fixed a memory leak in parsing a region
- * changed pileup a little bit when -s is in use: output ^ and $
- * when a bam is not indexed, output more meaningful error message
- * fixed a bug in indexing for small alignment
- * fixed a bug in the viewer when we come to the end of a reference file
- * updated documentation
- * prepare to release 0.1.1
-
-------------------------------------------------------------------------
-r60 | lh3lh3 | 2008-12-22 15:10:16 +0000 (Mon, 22 Dec 2008) | 2 lines
-Changed paths:
- A /branches/dev/samtools/examples
- A /branches/dev/samtools/examples/00README.txt
- A /branches/dev/samtools/examples/ex1.fa
- A /branches/dev/samtools/examples/ex1.fa.fai
- A /branches/dev/samtools/examples/ex1.sam.gz
-
-example
-
-------------------------------------------------------------------------
-r59 | lh3lh3 | 2008-12-22 09:38:15 +0000 (Mon, 22 Dec 2008) | 2 lines
-Changed paths:
- M /branches/dev/samtools/ChangeLog
-
-update ChangeLog
-
-------------------------------------------------------------------------
-r58 | lh3lh3 | 2008-12-20 23:06:00 +0000 (Sat, 20 Dec 2008) | 3 lines
-Changed paths:
- M /branches/dev/samtools/misc/export2sam.pl
-
- * added comments
- * fixed several bugs
-
-------------------------------------------------------------------------
-r57 | lh3lh3 | 2008-12-20 15:44:20 +0000 (Sat, 20 Dec 2008) | 2 lines
-Changed paths:
- A /branches/dev/samtools/misc/export2sam.pl
-
-convert Export format to SAM; not thoroughly tested
-
-------------------------------------------------------------------------
-r56 | lh3lh3 | 2008-12-19 22:13:28 +0000 (Fri, 19 Dec 2008) | 6 lines
-Changed paths:
- M /branches/dev/samtools/bam_import.c
- M /branches/dev/samtools/bam_plcmd.c
- M /branches/dev/samtools/bam_tview.c
- M /branches/dev/samtools/bamtk.c
- A /branches/dev/samtools/source.dot
-
- * samtools-0.1.0-65
- * pileup: generate maq-like simple output
- * pileup: allow to output pileup at required sites
- * source.dot: source file relationship graph
- * tview: fixed a minor bug
-
-------------------------------------------------------------------------
-r55 | lh3lh3 | 2008-12-19 20:10:26 +0000 (Fri, 19 Dec 2008) | 2 lines
-Changed paths:
- D /branches/dev/samtools/misc/all2sam.pl
-
-remove all2sam.pl
-
-------------------------------------------------------------------------
-r54 | lh3lh3 | 2008-12-16 22:34:25 +0000 (Tue, 16 Dec 2008) | 2 lines
-Changed paths:
- A /branches/dev/samtools/COPYING
- M /branches/dev/samtools/bam.h
- M /branches/dev/samtools/faidx.h
- M /branches/dev/samtools/khash.h
- M /branches/dev/samtools/kseq.h
- M /branches/dev/samtools/ksort.h
- M /branches/dev/samtools/samtools.1
-
-Added copyright information and a bit more documentation. No code change.
-
-------------------------------------------------------------------------
-r53 | lh3lh3 | 2008-12-16 13:40:18 +0000 (Tue, 16 Dec 2008) | 3 lines
-Changed paths:
- M /branches/dev/samtools/bam.c
- M /branches/dev/samtools/bam.h
- M /branches/dev/samtools/bam_index.c
- M /branches/dev/samtools/bam_maqcns.c
- M /branches/dev/samtools/bamtk.c
-
- * samtools-0.1.0-64
- * improved efficiency of the indel caller for spliced alignments
-
-------------------------------------------------------------------------
-r52 | lh3lh3 | 2008-12-16 10:28:20 +0000 (Tue, 16 Dec 2008) | 3 lines
-Changed paths:
- M /branches/dev/samtools/bam.c
- M /branches/dev/samtools/bam.h
- M /branches/dev/samtools/bam_aux.c
- M /branches/dev/samtools/bam_index.c
- M /branches/dev/samtools/bamtk.c
-
- * samtools-0.1.0-63
- * a bit code cleanup: reduce the dependency between source files
-
-------------------------------------------------------------------------
-r51 | lh3lh3 | 2008-12-15 14:29:32 +0000 (Mon, 15 Dec 2008) | 3 lines
-Changed paths:
- M /branches/dev/samtools/bam_maqcns.c
- M /branches/dev/samtools/bam_plcmd.c
- M /branches/dev/samtools/bamtk.c
-
- * samtools-0.1.0-62
- * fixed a memory leak
-
-------------------------------------------------------------------------
-r50 | lh3lh3 | 2008-12-15 14:00:13 +0000 (Mon, 15 Dec 2008) | 2 lines
-Changed paths:
- M /branches/dev/samtools/ChangeLog
- M /branches/dev/samtools/bam.h
- M /branches/dev/samtools/samtools.1
-
-update documentation, ChangeLog and a comment
-
-------------------------------------------------------------------------
-r49 | lh3lh3 | 2008-12-15 13:36:43 +0000 (Mon, 15 Dec 2008) | 6 lines
-Changed paths:
- M /branches/dev/samtools/Makefile
- M /branches/dev/samtools/bam.h
- M /branches/dev/samtools/bam_maqcns.c
- M /branches/dev/samtools/bam_maqcns.h
- M /branches/dev/samtools/bam_pileup.c
- A /branches/dev/samtools/bam_plcmd.c
- M /branches/dev/samtools/bamtk.c
- M /branches/dev/samtools/samtools.1
-
- * samtools-0.1.0-61
- * moved pileup command to a separate source file
- * added indel caller
- * added bam_cal_segend(). (NOT WORKING for spliced alignment!!!)
- * updated documentation
-
-------------------------------------------------------------------------
-r48 | lh3lh3 | 2008-12-12 13:55:36 +0000 (Fri, 12 Dec 2008) | 3 lines
-Changed paths:
- M /branches/dev/samtools/bam_maqcns.c
- M /branches/dev/samtools/bamtk.c
-
- * samtools-0.1.0-60
- * fixed another bug in maqcns when there is a nearby deletion
-
-------------------------------------------------------------------------
-r47 | lh3lh3 | 2008-12-12 13:42:16 +0000 (Fri, 12 Dec 2008) | 5 lines
-Changed paths:
- M /branches/dev/samtools/bam_maqcns.c
- M /branches/dev/samtools/bam_pileup.c
- M /branches/dev/samtools/bamtk.c
-
- * samtools-0.1.0-59
- * pileup: outputing consensus is now optional
- * fixed a bug in glfgen. This bug also exists in maq's glfgen. However,
- I am not quite sure why the previous version may have problem.
-
-------------------------------------------------------------------------
-r46 | lh3lh3 | 2008-12-12 11:44:56 +0000 (Fri, 12 Dec 2008) | 6 lines
-Changed paths:
- M /branches/dev/samtools/bam_pileup.c
- M /branches/dev/samtools/bamtk.c
-
- * samtools-0.1.0-58
- * add maq consensus to pileup. However, I will move this part to a new
- command as strictly speaking, consensus callin is not part of pileup,
- and imposing it would make it harder to generate for other language
- bindings.
-
-------------------------------------------------------------------------
-r45 | bhandsaker | 2008-12-11 20:43:56 +0000 (Thu, 11 Dec 2008) | 2 lines
-Changed paths:
- M /branches/dev/samtools/bgzf.c
-
-Fix bug in tell() after reads that consume to the exact end of a block.
-
-------------------------------------------------------------------------
-r44 | lh3lh3 | 2008-12-11 09:36:53 +0000 (Thu, 11 Dec 2008) | 2 lines
-Changed paths:
- M /branches/dev/samtools/samtools.1
-
-update manual
-
-------------------------------------------------------------------------
-r43 | lh3lh3 | 2008-12-11 09:25:36 +0000 (Thu, 11 Dec 2008) | 4 lines
-Changed paths:
- M /branches/dev/samtools/bam_import.c
- M /branches/dev/samtools/bamtk.c
-
- * samtools-0.1.0-57
- * fixed a bug in parser when there is auxiliary fields
- * made the parser a bit more robust
-
-------------------------------------------------------------------------
-r42 | lh3lh3 | 2008-12-10 14:57:29 +0000 (Wed, 10 Dec 2008) | 5 lines
-Changed paths:
- M /branches/dev/samtools/bam_index.c
- M /branches/dev/samtools/bamtk.c
- M /branches/dev/samtools/bgzf.c
-
- * samtools-0.1.0-56
- * fixed a bug in bgzf (only reading is affected)
- * fixed a typo in bam_index.c
- * in bam_index.c, check potential bugs in the underlying I/O library
-
-------------------------------------------------------------------------
-r41 | lh3lh3 | 2008-12-10 12:53:08 +0000 (Wed, 10 Dec 2008) | 2 lines
-Changed paths:
- M /branches/dev/samtools/samtools.1
-
-update manual
-
-------------------------------------------------------------------------
-r40 | lh3lh3 | 2008-12-10 11:52:10 +0000 (Wed, 10 Dec 2008) | 5 lines
-Changed paths:
- M /branches/dev/samtools/bam.h
- M /branches/dev/samtools/bam_pileup.c
- M /branches/dev/samtools/bamtk.c
-
- * samtools-0.1.0-55
- * tried to make pileup work with clipping (previously not), though NOT tested
- * removed -v from pileup
- * made pileup take the reference sequence
-
-------------------------------------------------------------------------
-r39 | lh3lh3 | 2008-12-09 11:59:28 +0000 (Tue, 09 Dec 2008) | 4 lines
-Changed paths:
- M /branches/dev/samtools/bam_import.c
- M /branches/dev/samtools/bamtk.c
- M /branches/dev/samtools/samtools.1
-
- * samtools-0.1.0-54
- * in parser, recognize "=", rather than ",", as a match
- * in parser, correctl parse "=" at the MRNM field.
-
-------------------------------------------------------------------------
-r38 | lh3lh3 | 2008-12-09 11:39:07 +0000 (Tue, 09 Dec 2008) | 2 lines
-Changed paths:
- M /branches/dev/samtools/misc/maq2sam.c
-
-fixed a bug in handling maq flag 64 and 192
-
-------------------------------------------------------------------------
-r37 | lh3lh3 | 2008-12-09 09:53:46 +0000 (Tue, 09 Dec 2008) | 2 lines
-Changed paths:
- M /branches/dev/samtools/misc/md5fa.c
-
-also calculate unordered md5sum check
-
-------------------------------------------------------------------------
-r36 | lh3lh3 | 2008-12-09 09:46:21 +0000 (Tue, 09 Dec 2008) | 2 lines
-Changed paths:
- M /branches/dev/samtools/misc/md5fa.c
-
-fixed a minor bug when there are space in the sequence
-
-------------------------------------------------------------------------
-r35 | lh3lh3 | 2008-12-09 09:40:45 +0000 (Tue, 09 Dec 2008) | 2 lines
-Changed paths:
- M /branches/dev/samtools/misc/md5fa.c
-
-fixed a potential memory leak
-
-------------------------------------------------------------------------
-r34 | lh3lh3 | 2008-12-08 14:52:17 +0000 (Mon, 08 Dec 2008) | 2 lines
-Changed paths:
- M /branches/dev/samtools/bam_import.c
- M /branches/dev/samtools/bam_index.c
- M /branches/dev/samtools/bamtk.c
-
- * fixed a bug in import: bin is wrongly calculated
-
-------------------------------------------------------------------------
-r33 | lh3lh3 | 2008-12-08 14:08:01 +0000 (Mon, 08 Dec 2008) | 2 lines
-Changed paths:
- M /branches/dev/samtools/misc/all2sam.pl
-
-nothing, really
-
-------------------------------------------------------------------------
-r32 | lh3lh3 | 2008-12-08 12:56:02 +0000 (Mon, 08 Dec 2008) | 3 lines
-Changed paths:
- M /branches/dev/samtools/Makefile
- M /branches/dev/samtools/kseq.h
- M /branches/dev/samtools/misc/Makefile
- A /branches/dev/samtools/misc/md5.c
- A /branches/dev/samtools/misc/md5.h
- A /branches/dev/samtools/misc/md5fa.c
-
- * fixed two warnings in kseq.h
- * added md5sum utilities
-
-------------------------------------------------------------------------
-r31 | lh3lh3 | 2008-12-08 11:35:29 +0000 (Mon, 08 Dec 2008) | 5 lines
-Changed paths:
- M /branches/dev/samtools/Makefile
- M /branches/dev/samtools/bam_import.c
- M /branches/dev/samtools/bamtk.c
- A /branches/dev/samtools/kseq.h
- D /branches/dev/samtools/kstream.h
-
- * samtools-0.1.0-52
- * replace kstream with kseq. kseq is a superset of kstream. I need the
- extra functions in kseq.h.
- * also compile stand-alone faidx
-
-------------------------------------------------------------------------
-r30 | lh3lh3 | 2008-12-08 11:17:04 +0000 (Mon, 08 Dec 2008) | 3 lines
-Changed paths:
- M /branches/dev/samtools/bam.h
- M /branches/dev/samtools/bam_sort.c
- M /branches/dev/samtools/bamtk.c
-
- * samtools-0.1.0-51
- * sorting by read names is available
-
-------------------------------------------------------------------------
-r29 | lh3lh3 | 2008-12-08 10:29:02 +0000 (Mon, 08 Dec 2008) | 3 lines
-Changed paths:
- M /branches/dev/samtools/bam.c
- M /branches/dev/samtools/bam.h
- M /branches/dev/samtools/bam_import.c
- M /branches/dev/samtools/bam_maqcns.c
- M /branches/dev/samtools/bam_pileup.c
- M /branches/dev/samtools/bam_sort.c
- M /branches/dev/samtools/bam_tview.c
- M /branches/dev/samtools/bamtk.c
- M /branches/dev/samtools/misc/maq2sam.c
-
- * samtools-0.1.0-50
- * format change to meet the latest specification
-
-------------------------------------------------------------------------
-r28 | lh3lh3 | 2008-12-04 16:09:21 +0000 (Thu, 04 Dec 2008) | 3 lines
-Changed paths:
- M /branches/dev/samtools/bam_maqcns.c
- M /branches/dev/samtools/misc/maq2sam.c
-
- * minor change in maqcns: special care when n==0
- * change maq2sam to meet the latest specification
-
-------------------------------------------------------------------------
-r27 | lh3lh3 | 2008-12-04 15:55:44 +0000 (Thu, 04 Dec 2008) | 2 lines
-Changed paths:
- M /branches/dev/samtools/razf.c
- M /branches/dev/samtools/razf.h
-
-considerable code clean up in razf
-
-------------------------------------------------------------------------
-r26 | lh3lh3 | 2008-12-04 15:08:18 +0000 (Thu, 04 Dec 2008) | 2 lines
-Changed paths:
- M /branches/dev/samtools/ChangeLog
- M /branches/dev/samtools/Makefile
- M /branches/dev/samtools/faidx.c
-
-make RAZF optional in faidx.c
-
-------------------------------------------------------------------------
-r25 | lh3lh3 | 2008-12-01 15:27:22 +0000 (Mon, 01 Dec 2008) | 3 lines
-Changed paths:
- M /branches/dev/samtools/Makefile
- M /branches/dev/samtools/bam.h
- M /branches/dev/samtools/bam_aux.c
- M /branches/dev/samtools/bamtk.c
- M /branches/dev/samtools/samtools.1
-
- * samtools-0.1.0-49
- * added routines for retrieving aux data, NOT TESTED YET!
-
-------------------------------------------------------------------------
-r24 | lh3lh3 | 2008-12-01 14:29:43 +0000 (Mon, 01 Dec 2008) | 5 lines
-Changed paths:
- M /branches/dev/samtools/bam.c
- M /branches/dev/samtools/bam_import.c
- M /branches/dev/samtools/bam_maqcns.c
- M /branches/dev/samtools/bamtk.c
- M /branches/dev/samtools/bgzf.c
- M /branches/dev/samtools/samtools.1
-
- * samtools-0.1.0-48
- * bgzf: fixed a potential integer overflow on 32-it machines
- * maqcns: set the minimum combined quality as 0
- * supporting hex strings
-
-------------------------------------------------------------------------
-r23 | lh3lh3 | 2008-11-27 17:14:37 +0000 (Thu, 27 Nov 2008) | 3 lines
-Changed paths:
- M /branches/dev/samtools/bam_maqcns.c
- M /branches/dev/samtools/bamtk.c
-
- * samtools-0.1.0-47
- * fixed the bug in maqcns
-
-------------------------------------------------------------------------
-r22 | lh3lh3 | 2008-11-27 17:08:11 +0000 (Thu, 27 Nov 2008) | 3 lines
-Changed paths:
- M /branches/dev/samtools/Makefile
- M /branches/dev/samtools/bam.h
- A /branches/dev/samtools/bam_maqcns.c
- A /branches/dev/samtools/bam_maqcns.h
- M /branches/dev/samtools/bam_tview.c
- M /branches/dev/samtools/bamtk.c
- A /branches/dev/samtools/glf.h
-
- * samtools-0.1.0-46
- * add MAQ consensus caller, currently BUGGY!
-
-------------------------------------------------------------------------
-r21 | lh3lh3 | 2008-11-27 13:51:28 +0000 (Thu, 27 Nov 2008) | 4 lines
-Changed paths:
- M /branches/dev/samtools/bam_pileup.c
- M /branches/dev/samtools/bam_tview.c
- M /branches/dev/samtools/bamtk.c
-
- * samtools-0.1.0-45
- * tview: display padded alignment (but not P operation)
- * better coordinates and reference sequence
-
-------------------------------------------------------------------------
-r19 | lh3lh3 | 2008-11-27 09:26:05 +0000 (Thu, 27 Nov 2008) | 2 lines
-Changed paths:
- A /branches/dev/samtools/ChangeLog
-
-new ChangeLog
-
-------------------------------------------------------------------------
-r18 | lh3lh3 | 2008-11-27 09:24:45 +0000 (Thu, 27 Nov 2008) | 3 lines
-Changed paths:
- D /branches/dev/samtools/ChangeLog
- A /branches/dev/samtools/ChangeLog.old (from /branches/dev/samtools/ChangeLog:6)
-
-Rename ChangeLog to ChangeLog.old. This old ChangeLog is generated from
-the log of my personal SVN repository.
-
-------------------------------------------------------------------------
-r17 | lh3lh3 | 2008-11-27 09:22:55 +0000 (Thu, 27 Nov 2008) | 6 lines
-Changed paths:
- M /branches/dev/samtools/Makefile
- M /branches/dev/samtools/bamtk.c
- M /branches/dev/samtools/bgzf.c
-
- * samtools-0.1.0-44
- * declare fseeko and ftello as some Linux may not do this by default and
- missing these declarations will make bgzf buggy
- * get rid of some harmless warings
- * use BGZF by default, now
-
-------------------------------------------------------------------------
-r16 | lh3lh3 | 2008-11-26 21:19:11 +0000 (Wed, 26 Nov 2008) | 4 lines
-Changed paths:
- M /branches/dev/samtools/bam_index.c
- M /branches/dev/samtools/bamtk.c
- M /branches/dev/samtools/razf.c
-
- * samtools-0.1.0-43
- * fixed a bug in razf_read()
- * give more warnings when the file is truncated (or due to bugs in I/O library)
-
-------------------------------------------------------------------------
-r15 | lh3lh3 | 2008-11-26 20:41:39 +0000 (Wed, 26 Nov 2008) | 2 lines
-Changed paths:
- M /branches/dev/samtools/bgzf.c
-
-fixed a bug in bgzf.c at the end of the file
-
-------------------------------------------------------------------------
-r14 | lh3lh3 | 2008-11-26 17:05:18 +0000 (Wed, 26 Nov 2008) | 4 lines
-Changed paths:
- M /branches/dev/samtools/bamtk.c
-
- * samtools-0.1.0-42
- * a lot happened to RAZF, although samtools itself is untouched. Better
- also update the version number anyway to avoid confusion
-
-------------------------------------------------------------------------
-r13 | lh3lh3 | 2008-11-26 17:03:48 +0000 (Wed, 26 Nov 2008) | 2 lines
-Changed paths:
- M /branches/dev/samtools/razf.c
-
-a change from Jue, but I think it should not matter
-
-------------------------------------------------------------------------
-r12 | lh3lh3 | 2008-11-26 16:48:14 +0000 (Wed, 26 Nov 2008) | 3 lines
-Changed paths:
- M /branches/dev/samtools/razf.c
-
-fixed a potential bug in razf. However, it seems still buggy, just
-rarely happens, very rarely.
-
-------------------------------------------------------------------------
-r11 | lh3lh3 | 2008-11-26 14:02:56 +0000 (Wed, 26 Nov 2008) | 2 lines
-Changed paths:
- M /branches/dev/samtools/razf.c
-
-fixed a bug in razf, with the help of Jue
-
-------------------------------------------------------------------------
-r10 | lh3lh3 | 2008-11-26 11:55:32 +0000 (Wed, 26 Nov 2008) | 2 lines
-Changed paths:
- M /branches/dev/samtools/bam_index.c
-
-remove a comment
-
-------------------------------------------------------------------------
-r9 | lh3lh3 | 2008-11-26 11:37:05 +0000 (Wed, 26 Nov 2008) | 2 lines
-Changed paths:
- M /branches/dev/samtools/Makefile
- M /branches/dev/samtools/bam.h
- M /branches/dev/samtools/razf.c
- M /branches/dev/samtools/razf.h
-
- * Jue has updated razf to realize Bob's scheme
-
-------------------------------------------------------------------------
-r7 | lh3lh3 | 2008-11-25 20:37:37 +0000 (Tue, 25 Nov 2008) | 2 lines
-Changed paths:
- A /branches/dev/samtools/samtools.1
-
-the manual page
-
-------------------------------------------------------------------------
-r6 | lh3lh3 | 2008-11-25 20:37:16 +0000 (Tue, 25 Nov 2008) | 3 lines
-Changed paths:
- A /branches/dev/samtools/ChangeLog
- A /branches/dev/samtools/Makefile
- A /branches/dev/samtools/bam.c
- A /branches/dev/samtools/bam.h
- A /branches/dev/samtools/bam_aux.c
- A /branches/dev/samtools/bam_endian.h
- A /branches/dev/samtools/bam_import.c
- A /branches/dev/samtools/bam_index.c
- A /branches/dev/samtools/bam_lpileup.c
- A /branches/dev/samtools/bam_pileup.c
- A /branches/dev/samtools/bam_sort.c
- A /branches/dev/samtools/bam_tview.c
- A /branches/dev/samtools/bamtk.c
- A /branches/dev/samtools/bgzf.c
- A /branches/dev/samtools/bgzf.h
- A /branches/dev/samtools/bgzip.c
- A /branches/dev/samtools/faidx.c
- A /branches/dev/samtools/faidx.h
- A /branches/dev/samtools/khash.h
- A /branches/dev/samtools/ksort.h
- A /branches/dev/samtools/kstream.h
- A /branches/dev/samtools/misc
- A /branches/dev/samtools/misc/Makefile
- A /branches/dev/samtools/misc/all2sam.pl
- A /branches/dev/samtools/misc/maq2sam.c
- A /branches/dev/samtools/razf.c
- A /branches/dev/samtools/razf.h
- A /branches/dev/samtools/razip.c
- A /branches/dev/samtools/zutil.h
-
-The initial version of samtools, replicated from my local SVN repository.
-The current version is: 0.1.0-42. All future development will happen here.
-
-------------------------------------------------------------------------
-r5 | lh3lh3 | 2008-11-25 20:30:49 +0000 (Tue, 25 Nov 2008) | 2 lines
-Changed paths:
- A /branches/dev/samtools
-
-samtools (C version)
-
-------------------------------------------------------------------------
-------------------------------------------------------------------------
-r703 | lh3 | 2008-11-25 20:20:02 +0000 (Tue, 25 Nov 2008) | 2 lines
-Changed paths:
- M /branches/prog/bam/samtools.1
-
-rename bamtk to samtools
-
-------------------------------------------------------------------------
-r702 | lh3 | 2008-11-25 20:15:09 +0000 (Tue, 25 Nov 2008) | 2 lines
-Changed paths:
- D /branches/prog/bam/bamtk.1
- A /branches/prog/bam/samtools.1 (from /branches/prog/bam/bamtk.1:679)
-
-rename bamtk.1 to samtools.1
-
-------------------------------------------------------------------------
-r701 | lh3 | 2008-11-25 13:29:10 +0000 (Tue, 25 Nov 2008) | 3 lines
-Changed paths:
- M /branches/prog/bam/Makefile
- M /branches/prog/bam/bam.c
- M /branches/prog/bam/bam.h
- M /branches/prog/bam/bam_import.c
- M /branches/prog/bam/bam_index.c
- M /branches/prog/bam/bam_pileup.c
- M /branches/prog/bam/bamtk.c
- M /branches/prog/bam/misc/Makefile
-
- * samtools-0.1.0-41
- * small (but a bit dangerous) changes to meet the latest specification
-
-------------------------------------------------------------------------
-r700 | lh3 | 2008-11-25 13:15:11 +0000 (Tue, 25 Nov 2008) | 2 lines
-Changed paths:
- A /branches/prog/bam/misc/all2sam.pl (from /branches/prog/bam/misc/all2tam.pl:649)
- D /branches/prog/bam/misc/all2tam.pl
- A /branches/prog/bam/misc/maq2sam.c (from /branches/prog/bam/misc/maq2tam.c:699)
- D /branches/prog/bam/misc/maq2tam.c
-
-rename tam to sam
-
-------------------------------------------------------------------------
-r699 | lh3 | 2008-11-25 13:14:49 +0000 (Tue, 25 Nov 2008) | 2 lines
-Changed paths:
- M /branches/prog/bam/misc/maq2tam.c
-
-change for the new specification
-
-------------------------------------------------------------------------
-r698 | lh3 | 2008-11-24 13:15:20 +0000 (Mon, 24 Nov 2008) | 3 lines
-Changed paths:
- M /branches/prog/bam/bam.h
- M /branches/prog/bam/razf.c
- M /branches/prog/bam/razf.h
-
- * add a fake BGZF mode to razf. It is fake in that it loads razf index into
- memory but gives BGZF like virtual offset
-
-------------------------------------------------------------------------
-r697 | lh3 | 2008-11-24 09:53:44 +0000 (Mon, 24 Nov 2008) | 2 lines
-Changed paths:
- A /branches/prog/bam/ChangeLog
-
-change log
-
-------------------------------------------------------------------------
-r696 | lh3 | 2008-11-24 09:53:23 +0000 (Mon, 24 Nov 2008) | 2 lines
-Changed paths:
- M /branches/prog/bam/bgzf.c
-
-updated bgzf, on behalf of Bob
-
-------------------------------------------------------------------------
-r695 | lh3 | 2008-11-23 11:40:31 +0000 (Sun, 23 Nov 2008) | 2 lines
-Changed paths:
- M /branches/prog/bam/bam_index.c
- M /branches/prog/bam/razf.c
-
-fixed a bug in razf
-
-------------------------------------------------------------------------
-r694 | lh3 | 2008-11-22 16:23:52 +0000 (Sat, 22 Nov 2008) | 4 lines
-Changed paths:
- M /branches/prog/bam/bam_index.c
- M /branches/prog/bam/bam_lpileup.c
- M /branches/prog/bam/bam_tview.c
- M /branches/prog/bam/bamtk.c
-
- * bam-0.1.0-40
- * fixed two small memory leaks
- * fixed a memory problem when seek outside the length of the sequence
-
-------------------------------------------------------------------------
-r693 | lh3 | 2008-11-22 16:10:04 +0000 (Sat, 22 Nov 2008) | 3 lines
-Changed paths:
- M /branches/prog/bam/bam_index.c
- M /branches/prog/bam/bamtk.c
-
- * bam-0.1.0-39
- * fixed an uninitialized warning. This does not matter in fact
-
-------------------------------------------------------------------------
-r692 | lh3 | 2008-11-22 15:44:05 +0000 (Sat, 22 Nov 2008) | 2 lines
-Changed paths:
- M /branches/prog/bam/razf.c
- M /branches/prog/bam/razf.h
-
-Jue's new razf
-
-------------------------------------------------------------------------
-r691 | lh3 | 2008-11-21 21:30:39 +0000 (Fri, 21 Nov 2008) | 4 lines
-Changed paths:
- M /branches/prog/bam/Makefile
- M /branches/prog/bam/bam.h
- M /branches/prog/bam/bam_index.c
- M /branches/prog/bam/bamtk.c
- M /branches/prog/bam/bgzip.c
-
- * bam-0.1.0-38
- * get rid of some warings in bgzip.c
- * potentially improve performance in indexing for BGZF
-
-------------------------------------------------------------------------
-r690 | lh3 | 2008-11-21 21:15:51 +0000 (Fri, 21 Nov 2008) | 2 lines
-Changed paths:
- M /branches/prog/bam/bgzf.c
-
-I think I have fixed the bug in bgzf
-
-------------------------------------------------------------------------
-r689 | lh3 | 2008-11-21 20:48:56 +0000 (Fri, 21 Nov 2008) | 2 lines
-Changed paths:
- M /branches/prog/bam/bgzf.c
-
-bug fix by Bob
-
-------------------------------------------------------------------------
-r688 | lh3 | 2008-11-21 20:37:27 +0000 (Fri, 21 Nov 2008) | 2 lines
-Changed paths:
- M /branches/prog/bam/bam.h
- M /branches/prog/bam/bam_index.c
-
-fixed a bug due to the name change in _IOLIB
-
-------------------------------------------------------------------------
-r687 | lh3 | 2008-11-21 14:42:56 +0000 (Fri, 21 Nov 2008) | 2 lines
-Changed paths:
- M /branches/prog/bam/bgzf.c
-
-fix small things
-
-------------------------------------------------------------------------
-r686 | lh3 | 2008-11-21 14:37:59 +0000 (Fri, 21 Nov 2008) | 2 lines
-Changed paths:
- A /branches/prog/bam/bgzf.c
- A /branches/prog/bam/bgzf.h
- A /branches/prog/bam/bgzip.c
-
-Bob's BGZF format, although currently buggy
-
-------------------------------------------------------------------------
-r685 | lh3 | 2008-11-21 09:48:20 +0000 (Fri, 21 Nov 2008) | 3 lines
-Changed paths:
- M /branches/prog/bam/bam_index.c
- M /branches/prog/bam/bam_tview.c
- M /branches/prog/bam/bamtk.c
-
- * bam-0.1.0-37
- * improve interface a little bit
-
-------------------------------------------------------------------------
-r684 | lh3 | 2008-11-21 09:30:18 +0000 (Fri, 21 Nov 2008) | 3 lines
-Changed paths:
- M /branches/prog/bam/bam_tview.c
- M /branches/prog/bam/bamtk.c
-
- * bam-0.1.0-36
- * improve the interface of tview, a little bit
-
-------------------------------------------------------------------------
-r683 | lh3 | 2008-11-20 22:33:54 +0000 (Thu, 20 Nov 2008) | 2 lines
-Changed paths:
- M /branches/prog/bam/bam_tview.c
-
-a little better viewer
-
-------------------------------------------------------------------------
-r682 | lh3 | 2008-11-20 22:27:01 +0000 (Thu, 20 Nov 2008) | 3 lines
-Changed paths:
- M /branches/prog/bam/bam.h
- M /branches/prog/bam/bam_tview.c
- M /branches/prog/bam/bamtk.c
-
- * bamtk-0.1.0-35
- * better viewer
-
-------------------------------------------------------------------------
-r681 | lh3 | 2008-11-20 20:51:16 +0000 (Thu, 20 Nov 2008) | 3 lines
-Changed paths:
- M /branches/prog/bam/Makefile
- M /branches/prog/bam/bam_tview.c
- M /branches/prog/bam/bamtk.c
-
- * bamtk-0.1.0-34
- * tview is now a component of bamtk
-
-------------------------------------------------------------------------
-r680 | lh3 | 2008-11-20 19:17:30 +0000 (Thu, 20 Nov 2008) | 2 lines
-Changed paths:
- A /branches/prog/bam/bam_tview.c
-
-text alignment viewer
-
-------------------------------------------------------------------------
-r679 | lh3 | 2008-11-20 19:17:15 +0000 (Thu, 20 Nov 2008) | 5 lines
-Changed paths:
- M /branches/prog/bam/Makefile
- M /branches/prog/bam/bam.h
- M /branches/prog/bam/bam_index.c
- M /branches/prog/bam/bam_lpileup.c
- M /branches/prog/bam/bam_pileup.c
- M /branches/prog/bam/bamtk.1
- M /branches/prog/bam/bamtk.c
- M /branches/prog/bam/faidx.c
-
- * bamtk-0.1.0-33
- * added routines to reset pileup bufferes
- * fixed a bug in faidx
- * add text alignment viewer
-
-------------------------------------------------------------------------
-r678 | lh3 | 2008-11-20 11:05:02 +0000 (Thu, 20 Nov 2008) | 2 lines
-Changed paths:
- M /branches/prog/bam/Makefile
- A /branches/prog/bam/bam_lpileup.c (from /branches/prog/bam/bam_tview.c:668)
- D /branches/prog/bam/bam_tview.c
-
-rename tview as lpileup
-
-------------------------------------------------------------------------
-r677 | lh3 | 2008-11-20 10:08:52 +0000 (Thu, 20 Nov 2008) | 2 lines
-Changed paths:
- M /branches/prog/bam/razf.c
-
-fixed a bug in razf
-
-------------------------------------------------------------------------
-r676 | lh3 | 2008-11-19 22:52:20 +0000 (Wed, 19 Nov 2008) | 2 lines
-Changed paths:
- M /branches/prog/bam/bam.h
- M /branches/prog/bam/bam_index.c
- M /branches/prog/bam/faidx.h
-
-add documentations
-
-------------------------------------------------------------------------
-r674 | lh3 | 2008-11-19 21:39:17 +0000 (Wed, 19 Nov 2008) | 2 lines
-Changed paths:
- M /branches/prog/bam/bam.h
- M /branches/prog/bam/bamtk.1
- M /branches/prog/bam/faidx.h
-
-update documentation
-
-------------------------------------------------------------------------
-r673 | lh3 | 2008-11-19 21:19:03 +0000 (Wed, 19 Nov 2008) | 2 lines
-Changed paths:
- A /branches/prog/bam/bamtk.1
-
-add manual page
-
-------------------------------------------------------------------------
-r672 | lh3 | 2008-11-19 16:40:49 +0000 (Wed, 19 Nov 2008) | 3 lines
-Changed paths:
- M /branches/prog/bam/bamtk.c
- M /branches/prog/bam/faidx.c
-
- * bamtk-0.1.0-32
- * make faidx more error resistant
-
-------------------------------------------------------------------------
-r671 | lh3 | 2008-11-19 16:09:55 +0000 (Wed, 19 Nov 2008) | 2 lines
-Changed paths:
- M /branches/prog/bam/faidx.h
-
-add index
-
-------------------------------------------------------------------------
-r670 | lh3 | 2008-11-19 16:02:39 +0000 (Wed, 19 Nov 2008) | 3 lines
-Changed paths:
- M /branches/prog/bam/bam_pileup.c
- M /branches/prog/bam/bamtk.c
- M /branches/prog/bam/faidx.c
-
- * bamtk-0.1.0-31
- * show reference sequence in pileup -v (not in the default pileup)
-
-------------------------------------------------------------------------
-r669 | lh3 | 2008-11-19 14:51:17 +0000 (Wed, 19 Nov 2008) | 3 lines
-Changed paths:
- M /branches/prog/bam/Makefile
- M /branches/prog/bam/bamtk.c
- M /branches/prog/bam/faidx.c
-
- * bamtk-0.1.0-30
- * put faidx in bamtk and remove faidx_main.c
-
-------------------------------------------------------------------------
-r668 | lh3 | 2008-11-19 14:15:05 +0000 (Wed, 19 Nov 2008) | 4 lines
-Changed paths:
- M /branches/prog/bam/Makefile
- M /branches/prog/bam/bam_index.c
- M /branches/prog/bam/bam_tview.c
- M /branches/prog/bam/bamtk.c
- A /branches/prog/bam/faidx.c
- A /branches/prog/bam/faidx.h
- M /branches/prog/bam/razf.c
-
- * bamtk-0.1.0-29
- * fixed a bug in tview.c
- * prepare to add faidx
-
-------------------------------------------------------------------------
-r667 | lh3 | 2008-11-19 10:20:45 +0000 (Wed, 19 Nov 2008) | 2 lines
-Changed paths:
- M /branches/prog/bam/bam.h
- M /branches/prog/bam/razf.c
- M /branches/prog/bam/razf.h
-
-gzip-compatible razf
-
-------------------------------------------------------------------------
-r664 | lh3 | 2008-11-18 12:50:23 +0000 (Tue, 18 Nov 2008) | 5 lines
-Changed paths:
- M /branches/prog/bam/bam.h
- M /branches/prog/bam/bam_index.c
- M /branches/prog/bam/bamtk.c
-
- * bamtk-0.1.0-28
- * fetch: fixed a bug at an array boundary
- * fetch: fixed a bug when the whole chromosome is retrieved
- * add linear index
-
-------------------------------------------------------------------------
-r663 | lh3 | 2008-11-17 21:29:22 +0000 (Mon, 17 Nov 2008) | 3 lines
-Changed paths:
- M /branches/prog/bam/Makefile
- M /branches/prog/bam/bam.c
- M /branches/prog/bam/bam.h
- M /branches/prog/bam/bam_import.c
- M /branches/prog/bam/bam_pileup.c
- M /branches/prog/bam/bam_tview.c
- M /branches/prog/bam/bamtk.c
-
- * bamtk-0.1.0-27
- * put l_qseq into core and move l_aux to bam1_t
-
-------------------------------------------------------------------------
-r662 | lh3 | 2008-11-17 20:55:16 +0000 (Mon, 17 Nov 2008) | 3 lines
-Changed paths:
- M /branches/prog/bam/bam.c
- M /branches/prog/bam/bam.h
- M /branches/prog/bam/bam_import.c
- M /branches/prog/bam/bam_index.c
- M /branches/prog/bam/bam_pileup.c
- M /branches/prog/bam/bamtk.c
-
- * bamtk-0.1.0-26
- * save seq and qual separately
-
-------------------------------------------------------------------------
-r661 | lh3 | 2008-11-17 13:09:37 +0000 (Mon, 17 Nov 2008) | 2 lines
-Changed paths:
- M /branches/prog/bam/bam.h
-
-little
-
-------------------------------------------------------------------------
-r660 | lh3 | 2008-11-17 13:06:14 +0000 (Mon, 17 Nov 2008) | 2 lines
-Changed paths:
- M /branches/prog/bam/bam.h
-
-more documentations
-
-------------------------------------------------------------------------
-r659 | lh3 | 2008-11-17 12:55:08 +0000 (Mon, 17 Nov 2008) | 3 lines
-Changed paths:
- M /branches/prog/bam/bam_pileup.c
- M /branches/prog/bam/bamtk.c
-
- * bamtk-0.1.0-25
- * make tview work for TAM
-
-------------------------------------------------------------------------
-r658 | lh3 | 2008-11-17 12:50:21 +0000 (Mon, 17 Nov 2008) | 3 lines
-Changed paths:
- M /branches/prog/bam/Makefile
- M /branches/prog/bam/bam.h
- M /branches/prog/bam/bam_pileup.c
- M /branches/prog/bam/bam_tview.c
- M /branches/prog/bam/bamtk.c
-
- * bamtk-0.1.0-24
- * make tview as an independent module
-
-------------------------------------------------------------------------
-r657 | lh3 | 2008-11-17 11:26:06 +0000 (Mon, 17 Nov 2008) | 2 lines
-Changed paths:
- M /branches/prog/bam/Makefile
- M /branches/prog/bam/bam.h
- M /branches/prog/bam/bam_pileup.c
-
-change little
-
-------------------------------------------------------------------------
-r656 | lh3 | 2008-11-16 21:33:19 +0000 (Sun, 16 Nov 2008) | 3 lines
-Changed paths:
- M /branches/prog/bam/bam_pileup.c
- M /branches/prog/bam/bamtk.c
-
- * bamtk-0.1.0-23
- * also add tview for TAM
-
-------------------------------------------------------------------------
-r655 | lh3 | 2008-11-16 21:29:46 +0000 (Sun, 16 Nov 2008) | 3 lines
-Changed paths:
- M /branches/prog/bam/Makefile
- M /branches/prog/bam/bam_tview.c
- M /branches/prog/bam/bamtk.c
-
- * bamtk-0.1.0-22
- * make tview more efficient for deep depth
-
-------------------------------------------------------------------------
-r654 | lh3 | 2008-11-16 20:52:19 +0000 (Sun, 16 Nov 2008) | 4 lines
-Changed paths:
- M /branches/prog/bam/Makefile
- M /branches/prog/bam/bam_import.c
- M /branches/prog/bam/bam_pileup.c
- A /branches/prog/bam/bam_tview.c
- M /branches/prog/bam/bamtk.c
-
- * bamtk-0.1.0-21
- * fixed bug in the TAM parser: lowercase not recognized
- * unfinished function to leveled pileup (tview)
-
-------------------------------------------------------------------------
-r653 | lh3 | 2008-11-15 12:58:36 +0000 (Sat, 15 Nov 2008) | 3 lines
-Changed paths:
- M /branches/prog/bam/bam.h
- M /branches/prog/bam/bam_pileup.c
- M /branches/prog/bam/bamtk.c
-
- * bamtk-0.1.0-20
- * pileup now display deleted bases as '*'
-
-------------------------------------------------------------------------
-r652 | lh3 | 2008-11-15 09:58:39 +0000 (Sat, 15 Nov 2008) | 4 lines
-Changed paths:
- M /branches/prog/bam/bam_index.c
- M /branches/prog/bam/bamtk.c
-
- * bamtk-0.1.0-19
- * fixed a bug in fetch()
- * reduce memory in indexing
-
-------------------------------------------------------------------------
-r651 | lh3 | 2008-11-14 21:56:05 +0000 (Fri, 14 Nov 2008) | 5 lines
-Changed paths:
- M /branches/prog/bam/Makefile
- M /branches/prog/bam/bam.h
- M /branches/prog/bam/bam_index.c
- M /branches/prog/bam/bamtk.c
-
- * bamtk-0.1.0-18
- * important changes are made to index: the index size is increased, but
- now we have no limit on file sizes and the new method potentially
- works with BGZF, Bob's new compression format.
-
-------------------------------------------------------------------------
-r650 | lh3 | 2008-11-14 16:03:22 +0000 (Fri, 14 Nov 2008) | 4 lines
-Changed paths:
- M /branches/prog/bam/bam.h
- M /branches/prog/bam/bam_index.c
- M /branches/prog/bam/bamtk.c
-
- * bamtk-0.1.0-17
- * more comments in bam.h
- * fixed a bug in bam_index.c
-
-------------------------------------------------------------------------
-r649 | lh3 | 2008-11-13 16:04:18 +0000 (Thu, 13 Nov 2008) | 4 lines
-Changed paths:
- M /branches/prog/bam/bam.c
- M /branches/prog/bam/bam.h
- M /branches/prog/bam/bam_import.c
- M /branches/prog/bam/bam_index.c
- M /branches/prog/bam/bam_pileup.c
- M /branches/prog/bam/bam_sort.c
- M /branches/prog/bam/bamtk.c
-
- * bamtk-0.1.0-16
- * use macros to retrieve pointers from bam1_t and thus reduce the size
- of bam1_t struct.
-
-------------------------------------------------------------------------
-r648 | lh3 | 2008-11-13 13:21:39 +0000 (Thu, 13 Nov 2008) | 3 lines
-Changed paths:
- M /branches/prog/bam/bam_sort.c
- M /branches/prog/bam/bamtk.c
-
- * bamtk-0.1.0-15
- * make more things work over pipe
-
-------------------------------------------------------------------------
-r647 | lh3 | 2008-11-13 12:49:28 +0000 (Thu, 13 Nov 2008) | 2 lines
-Changed paths:
- M /branches/prog/bam/misc/maq2tam.c
-
-fixed a bug in maq2tam
-
-------------------------------------------------------------------------
-r646 | lh3 | 2008-11-13 11:46:59 +0000 (Thu, 13 Nov 2008) | 3 lines
-Changed paths:
- M /branches/prog/bam/Makefile
- M /branches/prog/bam/misc/Makefile
- M /branches/prog/bam/misc/maq2tam.c
-
- * bug fix in maq2tam.c
- * improve Makefile
-
-------------------------------------------------------------------------
-r645 | lh3 | 2008-11-13 11:39:46 +0000 (Thu, 13 Nov 2008) | 3 lines
-Changed paths:
- A /branches/prog/bam/misc/Makefile
- M /branches/prog/bam/misc/maq2tam.c
-
- * corrected maq2tam
- * add Makefile
-
-------------------------------------------------------------------------
-r644 | lh3 | 2008-11-13 11:25:45 +0000 (Thu, 13 Nov 2008) | 2 lines
-Changed paths:
- M /branches/prog/bam/razf.c
-
-fixed the bug in buffered write (on behalf of Jue)
-
-------------------------------------------------------------------------
-r643 | lh3 | 2008-11-13 10:53:42 +0000 (Thu, 13 Nov 2008) | 2 lines
-Changed paths:
- D /branches/prog/bam/all2tam.pl
- A /branches/prog/bam/misc/all2tam.pl (from /branches/prog/bam/all2tam.pl:642)
-
-move to misc
-
-------------------------------------------------------------------------
-r642 | lh3 | 2008-11-13 10:53:23 +0000 (Thu, 13 Nov 2008) | 2 lines
-Changed paths:
- M /branches/prog/bam/all2tam.pl
-
-change tag
-
-------------------------------------------------------------------------
-r641 | lh3 | 2008-11-13 10:53:12 +0000 (Thu, 13 Nov 2008) | 2 lines
-Changed paths:
- D /branches/prog/bam/utils
-
-has been renamed
-
-------------------------------------------------------------------------
-r640 | lh3 | 2008-11-13 10:52:50 +0000 (Thu, 13 Nov 2008) | 2 lines
-Changed paths:
- A /branches/prog/bam/misc (from /branches/prog/bam/utils:639)
-
-rename
-
-------------------------------------------------------------------------
-r639 | lh3 | 2008-11-13 10:52:35 +0000 (Thu, 13 Nov 2008) | 2 lines
-Changed paths:
- A /branches/prog/bam/utils
- A /branches/prog/bam/utils/maq2tam.c
-
-utilities (converters and so on)
-
-------------------------------------------------------------------------
-r638 | lh3 | 2008-11-12 22:24:22 +0000 (Wed, 12 Nov 2008) | 4 lines
-Changed paths:
- M /branches/prog/bam/bam.c
- M /branches/prog/bam/bam.h
- M /branches/prog/bam/bam_import.c
- M /branches/prog/bam/bamtk.c
-
- * bamtk-0.1.0-14
- * copy the text header to BAM
- * add BAM1 header flag
-
-------------------------------------------------------------------------
-r637 | lh3 | 2008-11-12 14:56:08 +0000 (Wed, 12 Nov 2008) | 4 lines
-Changed paths:
- M /branches/prog/bam/bam.h
- M /branches/prog/bam/bam_index.c
- M /branches/prog/bam/bamtk.c
- M /branches/prog/bam/razf.c
-
- * bamtk-0.1.0-13
- * fixed a bug in razf
- * improved and fixed potential bugs in index
-
-------------------------------------------------------------------------
-r636 | lh3 | 2008-11-12 11:57:13 +0000 (Wed, 12 Nov 2008) | 2 lines
-Changed paths:
- M /branches/prog/bam/bam.h
- M /branches/prog/bam/bam_index.c
- M /branches/prog/bam/bam_pileup.c
- M /branches/prog/bam/bamtk.c
-
-update documentation in the HeaderDOC format
-
-------------------------------------------------------------------------
-r635 | lh3 | 2008-11-12 10:08:38 +0000 (Wed, 12 Nov 2008) | 4 lines
-Changed paths:
- M /branches/prog/bam/bam.c
- M /branches/prog/bam/bam.h
- M /branches/prog/bam/bam_import.c
- M /branches/prog/bam/bam_index.c
- M /branches/prog/bam/bam_pileup.c
- M /branches/prog/bam/bamtk.c
-
- * bamtk-0.1.0-12
- * more documentations
- * rename baf1_core_t as bam1_core_t
-
-------------------------------------------------------------------------
-r634 | lh3 | 2008-11-11 23:00:35 +0000 (Tue, 11 Nov 2008) | 2 lines
-Changed paths:
- M /branches/prog/bam/bam.h
- M /branches/prog/bam/bam_pileup.c
-
-documentation
-
-------------------------------------------------------------------------
-r633 | lh3 | 2008-11-11 21:23:49 +0000 (Tue, 11 Nov 2008) | 4 lines
-Changed paths:
- M /branches/prog/bam/bam_index.c
- M /branches/prog/bam/bam_pileup.c
- M /branches/prog/bam/bamtk.c
-
- * bamtk-0.1.0-11
- * give up regional pileup. We can now use pipe to mimic that.
- * for index file, change suffix .idx to .bmi
-
-------------------------------------------------------------------------
-r632 | lh3 | 2008-11-11 21:00:11 +0000 (Tue, 11 Nov 2008) | 3 lines
-Changed paths:
- M /branches/prog/bam/bam.h
- M /branches/prog/bam/bam_import.c
- M /branches/prog/bam/bam_pileup.c
- M /branches/prog/bam/bamtk.c
- M /branches/prog/bam/razf.c
-
- * bamtk-0.1.0-10
- * make pileup work on TAM
-
-------------------------------------------------------------------------
-r631 | lh3 | 2008-11-11 09:20:29 +0000 (Tue, 11 Nov 2008) | 4 lines
-Changed paths:
- M /branches/prog/bam/bam_pileup.c
- M /branches/prog/bam/bamtk.c
- M /branches/prog/bam/razf.c
- M /branches/prog/bam/razf.h
- M /branches/prog/bam/razip.c
-
- * bamtk-0.1.0-9
- * razf now supports streaming
- * prepare to improve pileup (have not yet)
-
-------------------------------------------------------------------------
-r630 | lh3 | 2008-11-10 18:34:40 +0000 (Mon, 10 Nov 2008) | 3 lines
-Changed paths:
- M /branches/prog/bam/bam.h
- M /branches/prog/bam/bam_import.c
- M /branches/prog/bam/bam_pileup.c
- M /branches/prog/bam/bamtk.c
-
- * bamtk-0.1.0-8
- * improve the interface of TAM parser
-
-------------------------------------------------------------------------
-r629 | lh3 | 2008-11-10 13:06:13 +0000 (Mon, 10 Nov 2008) | 3 lines
-Changed paths:
- M /branches/prog/bam/bam_pileup.c
- M /branches/prog/bam/bamtk.c
-
- * bamtk-0.1.0-7
- * almost nothing
-
-------------------------------------------------------------------------
-r628 | lh3 | 2008-11-10 12:56:36 +0000 (Mon, 10 Nov 2008) | 3 lines
-Changed paths:
- M /branches/prog/bam/bam.c
- M /branches/prog/bam/bam.h
- M /branches/prog/bam/bam_pileup.c
- M /branches/prog/bam/bamtk.c
-
- * bamtk-0.1.0-6
- * fixed a bug in bam_pileup.c
-
-------------------------------------------------------------------------
-r627 | lh3 | 2008-11-10 11:32:46 +0000 (Mon, 10 Nov 2008) | 4 lines
-Changed paths:
- M /branches/prog/bam/bam.h
- M /branches/prog/bam/bam_pileup.c
- M /branches/prog/bam/bamtk.c
- M /branches/prog/bam/razf.c
-
- * bamtk-0.1.0-5
- * fixed a bug in razf.c, caused by my modifications
- * improve the interface of pileup. Now it will be slower but more flexible
-
-------------------------------------------------------------------------
-r626 | lh3 | 2008-11-09 20:51:04 +0000 (Sun, 09 Nov 2008) | 3 lines
-Changed paths:
- M /branches/prog/bam/bam.h
- M /branches/prog/bam/bamtk.c
-
- * bamtk-0.1.0-4
- * view: dumping binary output
-
-------------------------------------------------------------------------
-r625 | lh3 | 2008-11-09 20:31:54 +0000 (Sun, 09 Nov 2008) | 3 lines
-Changed paths:
- M /branches/prog/bam/bam.c
- M /branches/prog/bam/bam.h
- M /branches/prog/bam/bam_import.c
- M /branches/prog/bam/bam_index.c
- M /branches/prog/bam/bam_pileup.c
- M /branches/prog/bam/bam_sort.c
- M /branches/prog/bam/bamtk.c
-
- * bamtk-0.1.0-3
- * rename functions
-
-------------------------------------------------------------------------
-r624 | lh3 | 2008-11-09 15:07:32 +0000 (Sun, 09 Nov 2008) | 2 lines
-Changed paths:
- M /branches/prog/bam/bam.h
-
-add comments
-
-------------------------------------------------------------------------
-r623 | lh3 | 2008-11-08 22:32:49 +0000 (Sat, 08 Nov 2008) | 4 lines
-Changed paths:
- M /branches/prog/bam/bam_index.c
- M /branches/prog/bam/bamtk.c
-
- * bamtk-0.1.0-2
- * improve indexing for a mixture of long and short reads, although currently
- I do not know whether it really works...
-
-------------------------------------------------------------------------
-r622 | lh3 | 2008-11-08 22:13:58 +0000 (Sat, 08 Nov 2008) | 3 lines
-Changed paths:
- M /branches/prog/bam/bam_index.c
- M /branches/prog/bam/bamtk.c
-
- * bamtk-0.1.0-1
- * prepare for improving indexing algorithm
-
-------------------------------------------------------------------------
-r621 | lh3 | 2008-11-08 20:28:09 +0000 (Sat, 08 Nov 2008) | 4 lines
-Changed paths:
- A /branches/prog/bam/all2tam.pl
- M /branches/prog/bam/bam.c
- M /branches/prog/bam/bam.h
- M /branches/prog/bam/bam_import.c
- M /branches/prog/bam/bamtk.c
- D /branches/prog/bam/tam_utils.pl
-
- * bamtk-0.1.0
- * smarter integers
- * rename tam_utils.pl to all2tam.pl
-
-------------------------------------------------------------------------
-r620 | lh3 | 2008-11-08 17:17:22 +0000 (Sat, 08 Nov 2008) | 2 lines
-Changed paths:
- A /branches/prog/bam
- A /branches/prog/bam/Makefile
- A /branches/prog/bam/bam.c
- A /branches/prog/bam/bam.h
- A /branches/prog/bam/bam_endian.h
- A /branches/prog/bam/bam_import.c
- A /branches/prog/bam/bam_index.c
- A /branches/prog/bam/bam_pileup.c
- A /branches/prog/bam/bam_sort.c
- A /branches/prog/bam/bamtk.c
- A /branches/prog/bam/khash.h
- A /branches/prog/bam/ksort.h
- A /branches/prog/bam/kstream.h
- A /branches/prog/bam/razf.c
- A /branches/prog/bam/razf.h
- A /branches/prog/bam/razip.c
- A /branches/prog/bam/tam_utils.pl
- A /branches/prog/bam/zutil.h
-
-The Binary Alignment/Mapping format.
-
-------------------------------------------------------------------------
diff --git a/sam/INSTALL b/sam/INSTALL
deleted file mode 100644
index 37d84a9..0000000
--- a/sam/INSTALL
+++ /dev/null
@@ -1,30 +0,0 @@
-System Requirements
-===================
-
-SAMtools depends on the zlib library <http://www.zlib.net>. Version 1.2.3+ is
-preferred and with 1.2.3+ you can compile razip and use it to compress a FASTA
-file. SAMtools' faidx is able to index a razip-compressed FASTA file to save
-diskspace. Older zlib also works with SAMtools, but razip cannot be compiled.
-
-The text-based viewer (tview) requires the GNU ncurses library
-<http://www.gnu.org/software/ncurses/>, which comes with Mac OS X and most of
-the modern Linux/Unix distributions. If you do not have this library installed,
-you can still compile the rest of SAMtools by manually changing:
-`-D_CURSES_LIB=1' to `-D_CURSES_LIB=0' at the line starting with `DFLAGS=', and
-comment out the line starting with `LIBCURSES='.
-
-
-Compilation
-===========
-
-Type `make' to compile samtools. If you have zlib >= 1.2.2.1, you can compile
-razip with `make razip'.
-
-
-Installation
-============
-
-Copy `samtools', `bcftools/bcftools' and other executables/scripts in `misc' to
-a location you want (e.g. a directory in your $PATH). You may also copy
-`samtools.1' and `bcftools/bcftools.1' to a directory in your $MANPATH such
-that the `man' command may find the manual.
diff --git a/sam/Makefile b/sam/Makefile
deleted file mode 100644
index 73c8df4..0000000
--- a/sam/Makefile
+++ /dev/null
@@ -1,105 +0,0 @@
-CC= gcc
-CFLAGS_EXTRA=
-#CFLAGS_EXTRA= -L/usr/include/ncurses
-CFLAGS= -g -Wall -O2 $(CFLAGS_EXTRA)
-#LDFLAGS= -Wl,-rpath,\$$ORIGIN/../lib
-DFLAGS_EXTRA=
-#DFLAGS_EXTRA= -Dexpl=exp -Dlogl=log
-DFLAGS= -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 $(DFLAGS_EXTRA)
-KNETFILE_O= knetfile.o
-LOBJS= bgzf.o kstring.o bam_aux.o bam.o bam_import.o sam.o bam_index.o \
- bam_pileup.o bam_lpileup.o bam_md.o razf.o faidx.o bedidx.o \
- $(KNETFILE_O) bam_sort.o sam_header.o bam_reheader.o kprobaln.o bam_cat.o
-AOBJS= bam_tview.o bam_plcmd.o sam_view.o \
- bam_rmdup.o bam_rmdupse.o bam_mate.o bam_stat.o bam_color.o \
- bamtk.o kaln.o bam2bcf.o bam2bcf_indel.o errmod.o sample.o \
- cut_target.o phase.o bam2depth.o padding.o bedcov.o bamshuf.o \
- bam_tview_curses.o bam_tview_html.o
-PROG= samtools
-INCLUDES= -I.
-SUBDIRS= . bcftools misc
-LIBPATH=
-LIBCURSES= -lcurses # -lXCurses
-
-.SUFFIXES:.c .o
-.PHONY: all lib
-
-.c.o:
- $(CC) -c $(CFLAGS) $(DFLAGS) $(INCLUDES) $< -o $@
-
-all-recur lib-recur clean-recur cleanlocal-recur install-recur:
- @target=`echo $@ | sed s/-recur//`; \
- wdir=`pwd`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- cd $$subdir; \
- $(MAKE) CC="$(CC)" DFLAGS="$(DFLAGS)" CFLAGS="$(CFLAGS)" \
- INCLUDES="$(INCLUDES)" LIBPATH="$(LIBPATH)" $$target || exit 1; \
- cd $$wdir; \
- done;
-
-all:$(PROG)
-
-.PHONY:all lib clean cleanlocal
-.PHONY:all-recur lib-recur clean-recur cleanlocal-recur install-recur
-
-lib:libbam.a
-
-libbam.a:$(LOBJS)
- $(AR) -csru $@ $(LOBJS)
-
-samtools:lib-recur $(AOBJS)
- $(CC) $(CFLAGS) -o $@ $(AOBJS) $(LDFLAGS) libbam.a -Lbcftools -lbcf $(LIBPATH) $(LIBCURSES) -lm -lz -lpthread
-
-razip:razip.o razf.o $(KNETFILE_O)
- $(CC) $(CFLAGS) -o $@ $^ -lz
-
-bgzip:bgzip.o bgzf.o $(KNETFILE_O)
- $(CC) $(CFLAGS) -o $@ $^ -lz -lpthread
-
-bgzf.o:bgzf.c bgzf.h
- $(CC) -c $(CFLAGS) $(DFLAGS) -DBGZF_CACHE $(INCLUDES) bgzf.c -o $@
-
-razip.o:razf.h
-bam.o:bam.h razf.h bam_endian.h kstring.h sam_header.h
-sam.o:sam.h bam.h
-bam_import.o:bam.h kseq.h khash.h razf.h
-bam_pileup.o:bam.h razf.h ksort.h
-bam_plcmd.o:bam.h faidx.h bcftools/bcf.h bam2bcf.h
-bam_index.o:bam.h khash.h ksort.h razf.h bam_endian.h
-bam_lpileup.o:bam.h ksort.h
-bam_tview.o:bam.h faidx.h bam_tview.h
-bam_tview_curses.o:bam.h faidx.h bam_tview.h
-bam_tview_html.o:bam.h faidx.h bam_tview.h
-bam_sort.o:bam.h ksort.h razf.h
-bam_md.o:bam.h faidx.h
-sam_header.o:sam_header.h khash.h
-bcf.o:bcftools/bcf.h
-bam2bcf.o:bam2bcf.h errmod.h bcftools/bcf.h
-bam2bcf_indel.o:bam2bcf.h
-errmod.o:errmod.h
-phase.o:bam.h khash.h ksort.h
-bamtk.o:bam.h
-
-faidx.o:faidx.h razf.h khash.h
-faidx_main.o:faidx.h razf.h
-
-
-libbam.1.dylib-local:$(LOBJS)
- libtool -dynamic $(LOBJS) -o libbam.1.dylib -lc -lz
-
-libbam.so.1-local:$(LOBJS)
- $(CC) -shared -Wl,-soname,libbam.so -o libbam.so.1 $(LOBJS) -lc -lz
-
-dylib:
- @$(MAKE) cleanlocal; \
- case `uname` in \
- Linux) $(MAKE) CFLAGS="$(CFLAGS) -fPIC" libbam.so.1-local;; \
- Darwin) $(MAKE) CFLAGS="$(CFLAGS) -fPIC" libbam.1.dylib-local;; \
- *) echo 'Unknown OS';; \
- esac
-
-
-cleanlocal:
- rm -fr gmon.out *.o a.out *.exe *.dSYM razip bgzip $(PROG) *~ *.a *.so.* *.so *.dylib
-
-clean:cleanlocal-recur
diff --git a/sam/Makefile.mingw b/sam/Makefile.mingw
deleted file mode 100644
index 7a57ffc..0000000
--- a/sam/Makefile.mingw
+++ /dev/null
@@ -1,63 +0,0 @@
-CC= gcc.exe
-AR= ar.exe
-CFLAGS= -g -Wall -O2
-DFLAGS= -D_USE_KNETFILE -D_CURSES_LIB=2
-KNETFILE_O= knetfile.o
-LOBJS= bgzf.o kstring.o bam_aux.o bam.o bam_import.o sam.o bam_index.o \
- bam_pileup.o bam_lpileup.o bam_md.o razf.o faidx.o \
- $(KNETFILE_O) bam_sort.o sam_header.o bam_reheader.o kprobaln.o bedidx.o
-AOBJS= bam_tview.o bam_plcmd.o sam_view.o \
- bam_rmdup.o bam_rmdupse.o bam_mate.o bam_stat.o bam_color.o \
- bamtk.o kaln.o bam2bcf.o bam2bcf_indel.o errmod.o sample.o \
- cut_target.o phase.o bam_cat.o bam2depth.o
-BCFOBJS= bcftools/bcf.o bcftools/fet.o bcftools/bcf2qcall.o bcftools/bcfutils.o \
- bcftools/call1.o bcftools/index.o bcftools/kfunc.o bcftools/em.o \
- bcftools/kmin.o bcftools/prob1.o bcftools/vcf.o bcftools/mut.o
-PROG= samtools.exe bcftools.exe
-INCLUDES= -I. -Iwin32
-SUBDIRS= .
-LIBPATH=
-
-.SUFFIXES:.c .o
-
-.c.o:
- $(CC) -c $(CFLAGS) $(DFLAGS) $(INCLUDES) $< -o $@
-
-all:$(PROG)
-
-.PHONY:all lib clean cleanlocal
-.PHONY:all-recur lib-recur clean-recur cleanlocal-recur install-recur
-
-lib:libbam.a
-
-libbam.a:$(LOBJS)
- $(AR) -cru $@ $(LOBJS)
-
-samtools.exe:$(AOBJS) libbam.a $(BCFOBJS)
- $(CC) $(CFLAGS) -o $@ $(AOBJS) $(BCFOBJS) $(LIBPATH) -lm -L. -lbam -Lwin32 -lz -lcurses -lws2_32
-
-bcftools.exe:$(BCFOBJS) bcftools/main.o kstring.o bgzf.o knetfile.o bedidx.o
- $(CC) $(CFLAGS) -o $@ $(BCFOBJS) bcftools/main.o kstring.o bgzf.o knetfile.o bedidx.o -lm -Lwin32 -lz -lws2_32
-
-razip.o:razf.h
-bam.o:bam.h razf.h bam_endian.h kstring.h sam_header.h
-sam.o:sam.h bam.h
-bam_import.o:bam.h kseq.h khash.h razf.h
-bam_pileup.o:bam.h razf.h ksort.h
-bam_plcmd.o:bam.h faidx.h bcftools/bcf.h bam2bcf.h
-bam_index.o:bam.h khash.h ksort.h razf.h bam_endian.h
-bam_lpileup.o:bam.h ksort.h
-bam_tview.o:bam.h faidx.h
-bam_sort.o:bam.h ksort.h razf.h
-bam_md.o:bam.h faidx.h
-sam_header.o:sam_header.h khash.h
-bcf.o:bcftools/bcf.h
-bam2bcf.o:bam2bcf.h errmod.h bcftools/bcf.h
-bam2bcf_indel.o:bam2bcf.h
-errmod.o:errmod.h
-
-faidx.o:faidx.h razf.h khash.h
-faidx_main.o:faidx.h razf.h
-
-clean:
- rm -fr gmon.out *.o a.out *.exe *.dSYM razip bgzip $(PROG) *~ *.a *.so.* *.so *.dylib
diff --git a/sam/NEWS b/sam/NEWS
deleted file mode 100644
index 121485e..0000000
--- a/sam/NEWS
+++ /dev/null
@@ -1,836 +0,0 @@
-Beta Release 0.1.19 (15 March, 2013)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Notable changes in samtools and bcftools:
-
- * The latest source code and development moved to github,
- http://github.com/samtools/samtools
-
- * Many important bugfixes and contributions by many people. Thanks to all!
-
- * Performance improvements (multi-threading)
-
- * Important changes in calling, see
- - samtools mpileup -p
- - bcftools view -m
-
- * New annotations useful for filtering (RPB, HWE, QBD, MDV)
-
- * New tools, bamcheck and plot-bamcheck
-
- * New features in samtools tview
-
- * And much more..
-
-For a detailed list of commits, please see
-http://github.com/samtools/samtools/commits/master
-
-(0.1.19: 15 March 2013, commit 96b5f2294ac0054230e88913c4983d548069ea4e)
-
-
-Beta Release 0.1.18 (2 September, 2011)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Notable changes in samtools:
-
- * Support the new =/X CIGAR operators (by Peter Cock).
-
- * Allow to subsample BAM while keeping the pairing intact (view -s).
-
- * Implemented variant distance bias as a new filter (by Petr Danecek).
-
- * Bugfix: huge memory usage during indexing
-
- * Bugfix: use of uninitialized variable in mpileup (rare)
-
- * Bugfix: wrong BAQ probability (rare)
-
-Notable changes in bcftools:
-
- * Support indel in the contrast caller.
-
- * Bugfix: LRT2=nan in rare cases
-
-(0.1.18: 2 September 2011, r982:295)
-
-
-
-Beta Release 0.1.17 (6 July, 2011)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-With the maturity of `mpileup' and the lack of update in the `pileup' command,
-the `pileup' command is now formally dropped. Most of the pileup functionality,
-such as outputting mapping quality and read positions, have been added
-`mpileup'.
-
-Since this release, `bcftools view' is able to perform contrast SNP calling
-(option -T) for discovering de novo and/or somatic mutations between a pair of
-samples or in a family trio. Potential mutations are scored by a log likelihood
-ratio, which is very simple in math, but should be comparable to more
-sophisticated methods. Note that getting the score is only the very first step.
-A lot more need to be done to reduce systematical errors due to mapping and
-reference errors and structural variations.
-
-Other notable changes in samtools:
-
- * Improved sorting order checking during indexing.
-
- * Improved region parsing. Colons in reference sequence names are parsed
- properly.
-
- * Fixed an issue where mpileup does not apply BAQ for the first few reads when
- a region is specified.
-
- * Fixed an issue where `faidx' does not work with FASTA files with long lines.
-
- * Bugfix: wrong SP genotype information in the BCF output.
-
-Other notable changes in bcftools:
-
- * Output the ML esitmate of the allele count.
-
- * Added the HWE plus F<0 filter to varFilter. For multiple samples, it
- effectively filters false heterozygous calls around centromeres.
-
- * For association mapping, perform both 1-degree and 2-degree test. The
- 2-degree test is conservative but more robust to HWE violation.
-
-(0.1.17: 6 July 2011, r973:277)
-
-
-
-Beta Release 0.1.16 (21 April, 2011)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Notable changes in samtools:
-
- * Support the new SAM/BAM type `B' in the latest SAM spec v1.4.
-
- * When the output file of `samtools merge' exists, do not overwrite it unless
- a new command-line option `-f' is applied.
-
- * Bugfix: BED support is not working when the input BED is not sorted.
-
- * Bugfix: some reads without coordinates but given on the reverse strand are
- lost in merging.
-
-Notable changes in bcftools:
-
- * Code cleanup: separated max-likelihood inference and Bayesian inference.
-
- * Test Hardy-Weinberg equilibrium with a likelihood-ratio test.
-
- * Provided another association test P-value by likelihood-ratio test.
-
- * Use Brent's method to estimate the site allele frequency when EM converges
- slowly. The resulting ML estimate of allele frequnecy is more accurate.
-
- * Added the `ldpair' command, which computes r^2 between SNP pairs given in
- an input file.
-
-Also, the `pileup' command, which has been deprecated by `mpileup' since
-version 0.1.10, will be dropped in the next release. The old `pileup' command
-is substandard and causing a lot of confusion.
-
-(0.1.16: 21 April 2011, r963:234)
-
-
-
-Beta Release 0.1.15 (10 April, 2011)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Noteable changes:
-
- * Allow to perform variant calling or to extract information in multiple
- regions specified by a BED file (`samtools mpileup -l', `samtools view -L'
- and `bcftools view -l').
-
- * Added the `depth' command to samtools to compute the per-base depth with a
- simpler interface. File `bam2depth.c', which implements this command, is the
- recommended example on how to use the mpileup APIs.
-
- * Estimate genotype frequencies with ML; perform chi^2 based Hardy-Weinberg
- test using this estimate.
-
- * For `samtools view', when `-R' is specified, drop read groups in the header
- that are not contained in the specified file.
-
- * For `samtools flagstat', separate QC-pass and QC-fail reads.
-
- * Improved the command line help of `samtools mpileup' and `bcftools view'.
-
- * Use a global variable to control the verbose level of samtools stderr
- output. Nonetheless, it has not been full utilized.
-
- * Fixed an issue in association test which may report false associations,
- possibly due to floating point underflow.
-
-(0.1.15: 10 April 2011, r949:203)
-
-
-
-Beta release 0.1.14 (21 March, 2011)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-This release implements a method for testing associations for case-control
-data. The method does not call genotypes but instead sums over all genotype
-configurations to compute a chi^2 based test statistics. It can be potentially
-applied to comparing a pair of samples (e.g. a tumor-normal pair), but this
-has not been evaluated on real data.
-
-Another new feature is to make X chromosome variant calls when female and male
-samples are both present. The user needs to provide a file indicating the
-ploidy of each sample (see also manual bcftools/bcftools.1).
-
-Other notable changes:
-
- * Added `bcftools view -F' to parse BCF files generated by samtools r921 or
- older which encodes PL in a different way.
-
- * Changed the behavior of `bcftools view -s'. Now when a list of samples is
- provided, the samples in the output will be reordered to match the ordering
- in the sample list. This change is mainly designed for association test.
-
- * Sped up `bcftools view -v' for target sequencing given thousands of samples.
- Also added a new option `view -d' to skip loci where only a few samples are
- covered by reads.
-
- * Dropped HWE test. This feature has never been implemented properly. An EM
- should be much better. To be implemented in future.
-
- * Added the `cat' command to samtools. This command concatenate BAMs with
- identical sequence dictionaries in an efficient way. Modified from bam_cat.c
- written by Chris Saunders.
-
- * Added `samtools view -1' to write BAMs at a low compression level but twice
- faster to create. The `sort' command generates temporary files at a low
- compression level as well.
-
- * Added `samtools mpileup -6' to accept "BAM" with Illumina 1.3+ quality
- strings (strictly speaking, such a file is not BAM).
-
- * Added `samtools mpileup -L' to skip INDEL calling in regions with
- excessively high coverage. Such regions dramatically slow down mpileup.
-
- * Updated `misc/export2sam.pl', provided by Chris Saunders from Illumina Inc.
-
-(0.1.14: 21 March 2011, r933:170)
-
-
-
-Beta release 0.1.13 (1 March, 2011)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The most important though largely invisible modification is the change of the
-order of genotypes in the PL VCF/BCF tag. This is to conform the upcoming VCF
-spec v4.1. The change means that 0.1.13 is not backward compatible with VCF/BCF
-generated by samtools older than r921 inclusive. VCF/BCF generated by the new
-samtools will contain a line `##fileformat=VCFv4.1' as well as the samtools
-version number.
-
-Single Individual Haplotyping (SIH) is added as an experimental feature. It
-originally aims to produce haploid consensus from fosmid pool sequencing, but
-also works with short-read data. For short reads, phased blocks are usually too
-short to be useful in many applications, but they can help to rule out part of
-SNPs close to INDELs or between copies of CNVs.
-
-
-Other notable changes in samtools:
-
- * Construct per-sample consensus to reduce the effect of nearby SNPs in INDEL
- calling. This reduces the power but improves specificity.
-
- * Improved sorting order checking in indexing. Now indexing is the preferred way
- to check if a BAM is sorted.
-
- * Added a switch `-E' to mpileup and calmd. This option uses an alternative way
- to apply BAQ, which increases sensistivity, especially to MNPs, at the cost of
- a little loss in specificity.
-
- * Added `mpileup -A' to allow to use reads in anomalous pairs in SNP calling.
-
- * Added `mpileup -m' to allow fine control of the collection of INDEL candidates.
-
- * Added `mpileup -S' to compute per-sample strand bias P-value.
-
- * Added `mpileup -G' to exclude read groups in variant calling.
-
- * Fixed segfault in indel calling related to unmapped and refskip reads.
-
- * Fixed an integer overflow in INDEL calling. This bug produces wrong INDEL
- genotypes for longer short INDELs, typically over 10bp.
-
- * Fixed a bug in tview on big-endian machines.
-
- * Fixed a very rare memory issue in bam_md.c
-
- * Fixed an out-of-boundary bug in mpileup when the read base is `N'.
-
- * Fixed a compiling error when the knetfile library is not used. Fixed a
- library compiling error due to the lack of bam_nt16_nt4_table[] table.
- Suppress a compiling warning related to the latest zlib.
-
-
-Other notable changes in bcftools:
-
- * Updated the BCF spec.
-
- * Added the `FQ' VCF INFO field, which gives the phred-scaled probability
- of all samples being the same (identical to the reference or all homozygous
- variants). Option `view -f' has been dropped.
-
- * Implementated of "vcfutils.pl vcf2fq" to generate a consensus sequence
- similar to "samtools.pl pileup2fq".
-
- * Make sure the GT FORMAT field is always the first FORMAT to conform the VCF
- spec. Drop bcf-fix.pl.
-
- * Output bcftools specific INFO and FORMAT in the VCF header.
-
- * Added `view -s' to call variants from a subset of samples.
-
- * Properly convert VCF to BCF with a user provided sequence dictionary. Nonetheless,
- custom fields are still unparsed and will be stored as a missing value.
-
- * Fixed a minor bug in Fisher's exact test; the results are rarely changed.
-
-
-(0.1.13: 1 March 2011, r926:134)
-
-
-
-Beta release 0.1.12a (2 December, 2010)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-This is another bug fix release:
-
- * Fixed a memory violation in mpileup, which causes segfault. Release
- 0.1.9 and above are affected.
-
- * Fixed a memory violation in the indel caller, which does not causes
- segfault, but may potentially affect deletion calls in an unexpected
- way. Release 0.1.10 and above are affected.
-
- * Fixed a bug in computing r-square in bcftools. Few are using this
- functionality and it only has minor effect.
-
- * Fixed a memory leak in bam_fetch().
-
- * Fixed a bug in writing meta information to the BAM index for the last
- sequence. This bug is invisible to most users, but it is a bug anyway.
-
- * Fixed a bug in bcftools which causes false "DP4=0,0,0,0" annotations.
-
-(0.1.12: 2 December 2010, r862)
-
-
-
-Beta release 0.1.11 (21 November, 2010)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-This is mainly a bug fix release:
-
- * Fixed a bug in random retrieval (since 0.1.8). It occurs when reads
- are retrieved from a small region containing no reads.
-
- * Fixed a bug in pileup (since 0.1.9). The bug causes an assertion
- failure when the first CIGAR operation is a deletion.
-
- * Improved fault tolerence in remote access.
-
-One minor feature has been implemented in bcftools:
-
- * Added a reference-free variant calling mode. In this mode, a site is
- regarded as a variat iff the sample(s) contains two or more alleles;
- the meaning of the QUAL field in the VCF output is changed
- accordingly. Effectively, the reference allele is irrelevant to the
- result in the new mode, although the reference sequence has to be
- used in realignment when SAMtools computes genotype likelihoods.
-
-In addition, since 0.1.10, the `pileup' command has been deprecated by
-`mpileup' which is more powerful and more accurate. The `pileup' command
-will not be removed in the next few releases, but new features will not
-be added.
-
-(0.1.11: 21 November 2010, r851)
-
-
-
-Beta Release 0.1.10 (16 November, 2010)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-This release is featured as the first major improvement to the indel
-caller. The method is similar to the old one implemented in the pileup
-command, but the details are handled more carefully both in theory and
-in practice. As a result, the new indel caller usually gives more
-accurate indel calls, though at the cost of sensitivity. The caller is
-implemented in the mpileup command and is invoked by default. It works
-with multiple samples.
-
-Other notable changes:
-
- * With the -r option, the calmd command writes the difference between
- the original base quality and the BAQ capped base quality at the BQ
- tag but does not modify the base quality. Please use -Ar to overwrite
- the original base quality (the 0.1.9 behavior).
-
- * Allow to set a maximum per-sample read depth to reduce memory. In
- 0.1.9, most of memory is wasted for the ultra high read depth in some
- regions (e.g. the chr1 centromere).
-
- * Optionally write per-sample read depth and per-sample strand bias
- P-value.
-
- * Compute equal-tail (Bayesian) credible interval of site allele
- frequency at the CI95 VCF annotation.
-
- * Merged the vcfutils.pl varFilter and filter4vcf for better SNP/indel
- filtering.
-
-(0.1.10: 16 November 2010, r829)
-
-
-
-Beta Release 0.1.9 (27 October, 2010)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-This release is featured as the first major improvement to the samtools'
-SNP caller. It comes with a revised MAQ error model, the support of
-multi-sample SNP calling and the computation of base alignment quality
-(BAQ).
-
-The revised MAQ error model is based on the original model. It solves an
-issue of miscalling SNPs in repetitive regions. Althought such SNPs can
-usually be filtered at a later step, they mess up unfiltered calls. This
-is a theoretical flaw in the original model. The revised MAQ model
-deprecates the orginal MAQ model and the simplified SOAPsnp model.
-
-Multi-sample SNP calling is separated in two steps. The first is done by
-samtools mpileup and the second by a new program, bcftools, which is
-included in the samtools source code tree. Multi-sample SNP calling also
-works for single sample and has the advantage of enabling more powerful
-filtration. It is likely to deprecate pileup in future once a proper
-indel calling method is implemented.
-
-BAQ is the Phred-scaled probability of a read base being wrongly
-aligned. Capping base quality by BAQ has been shown to be very effective
-in suppressing false SNPs caused by misalignments around indels or in
-low-complexity regions with acceptable compromise on computation
-time. This strategy is highly recommended and can be used with other SNP
-callers as well.
-
-In addition to the three major improvements, other notable changes are:
-
- * Changes to the pileup format. A reference skip (the N CIGAR operator)
- is shown as '<' or '>' depending on the strand. Tview is also changed
- accordingly.
-
- * Accelerated pileup. The plain pileup is about 50% faster.
-
- * Regional merge. The merge command now accepts a new option to merge
- files in a specified region.
-
- * Fixed a bug in bgzip and razip which causes source files to be
- deleted even if option -c is applied.
-
- * In APIs, propogate errors to downstream callers and make samtools
- return non-zero values once errors occur.
-
-(0.1.9: 27 October 2010, r783)
-
-
-
-Beta Release 0.1.8 (11 July, 2010)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Notable functional changes:
-
- * Added the `reheader' command which replaces a BAM header with a new
- header. This command is much faster than replacing header by
- BAM->SAM->BAM conversions.
-
- * Added the `mpileup' command which computes the pileup of multiple
- alignments.
-
- * The `index' command now stores the number of mapped and unmapped
- reads in the index file. This information can be retrieved quickly by
- the new `idxstats' command.
-
- * By default, pileup used the SOAPsnp model for SNP calling. This
- avoids the floating overflow in the MAQ model which leads to spurious
- calls in repetitive regions, although these calls will be immediately
- filtered by varFilter.
-
- * The `tview' command now correctly handles CIGARs like 7I10M and
- 10M1P1I10M which cause assertion failure in earlier versions.
-
- * Tview accepts a region like `=10,000' where `=' stands for the
- current sequence name. This saves typing for long sequence names.
-
- * Added the `-d' option to `pileup' which avoids slow indel calling
- in ultradeep regions by subsampling reads locally.
-
- * Added the `-R' option to `view' which retrieves alignments in read
- groups listed in the specified file.
-
-Performance improvements:
-
- * The BAM->SAM conversion is up to twice faster, depending on the
- characteristic of the input.
-
- * Parsing SAM headers with a lot of reference sequences is now much
- faster.
-
- * The number of lseek() calls per query is reduced when the query
- region contains no read alignments.
-
-Bug fixes:
-
- * Fixed an issue in the indel caller that leads to miscall of indels.
- Note that this solution may not work well when the sequencing indel
- error rate is higher than the rate of SNPs.
-
- * Fixed another issue in the indel caller which may lead to incorrect
- genotype.
-
- * Fixed a bug in `sort' when option `-o' is applied.
-
- * Fixed a bug in `view -r'.
-
-APIs and other changes:
-
- * Added iterator interfaces to random access and pileup. The callback
- interfaces directly call the iterator interfaces.
-
- * The BGZF blocks holding the BAM header are indepedent of alignment
- BGZF blocks. Alignment records shorter than 64kB is guaranteed to be
- fully contained in one BGZF block. This change is fully compatible
- with the old version of samtools/picard.
-
-Changes in other utilities:
-
- * Updated export2sam.pl by Chris Saunders.
-
- * Improved the sam2vcf.pl script.
-
- * Added a Python version of varfilter.py by Aylwyn Scally.
-
-(0.1.8: 11 July 2010, r613)
-
-
-
-Beta Release 0.1.7 (10 November, 2009)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Notable changes:
-
- * Improved the indel caller in complex scenariors, in particular for
- long reads. The indel caller is now able to make reasonable indel
- calls from Craig Venter capillary reads.
-
- * Rewrote single-end duplicate removal with improved
- performance. Paired-end reads are not touched.
-
- * Duplicate removal is now library aware. Samtools remove potential
- PCR/optical dupliates inside a library rather than across libraries.
-
- * SAM header is now fully parsed, although this functionality is not
- used in merging and so on.
-
- * In samtools merge, optionally take the input file name as RG-ID and
- attach the RG tag to each alignment.
-
- * Added FTP support in the RAZF library. RAZF-compressed reference
- sequence can be retrieved remotely.
-
- * Improved network support for Win32.
-
- * Samtools sort and merge are now stable.
-
-Changes in other utilities:
-
- * Implemented sam2vcf.pl that converts the pileup format to the VCF
- format.
-
- * This release of samtools is known to work with the latest
- Bio-Samtools Perl module.
-
-(0.1.7: 10 November 2009, r510)
-
-
-
-Beta Release 0.1.6 (2 September, 2009)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Notable changes:
-
- * In tview, do not show a blank screen when no reads mapped to the
- corresponding region.
-
- * Implemented native HTTP support in the BGZF library. Samtools is now
- able to directly open a BAM file on HTTP. HTTP proxy is also
- supported via the "http_proxy" environmental variable.
-
- * Samtools is now compitable with the MinGW (win32) compiler and the
- PDCurses library.
-
- * The calmd (or fillmd) command now calculates the NM tag and replaces
- MD tags if they are wrong.
-
- * The view command now recognizes and optionally prints FLAG in HEXs or
- strings to make a SAM file more friendly to human eyes. This is a
- samtools-C extension, not implemented in Picard for the time
- being. Please type `samtools view -?' for more information.
-
- * BAM files now have an end-of-file (EOF) marker to facilitate
- truncation detection. A warning will be given if an on-disk BAM file
- does not have this marker. The warning will be seen on BAM files
- generated by an older version of samtools. It does NO harm.
-
- * New key bindings in tview: `r' to show read names and `s' to show
- reference skip (N operation) as deletions.
-
- * Fixed a bug in `samtools merge -n'.
-
- * Samtools merge now optionally copies the header of a user specified
- SAM file to the resultant BAM output.
-
- * Samtools pileup/tview works with a CIGAR with the first or the last
- operation is an indel.
-
- * Fixed a bug in bam_aux_get().
-
-
-Changes in other utilies:
-
- * Fixed wrong FLAG in maq2sam.
-
-
-(0.1.6: 2 September 2009, r453)
-
-
-
-Beta Release 0.1.5 (7 July, 2009)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Notable changes:
-
- * Support opening a BAM alignment on FTP. Users can now use "tview" to
- view alignments at the NCBI ftp site. Please read manual for more
- information.
-
- * In library, propagate errors rather than exit or complain assertion
- failure.
-
- * Simplified the building system and fixed compiling errors caused by
- zlib<1.2.2.1.
-
- * Fixed an issue about lost header information when a SAM is imported
- with "view -t".
-
- * Implemented "samtool.pl varFilter" which filters both SNPs and short
- indels. This command replaces "indelFilter".
-
- * Implemented "samtools.pl pileup2fq" to generate FASTQ consensus from
- pileup output.
-
- * In pileup, cap mapping quality at 60. This helps filtering when
- different aligners are in use.
-
- * In pileup, allow to output variant sites only.
-
- * Made pileup generate correct calls in repetitive region. At the same
- time, I am considering to implement a simplified model in SOAPsnp,
- although this has not happened yet.
-
- * In view, added '-u' option to output BAM without compression. This
- option is preferred when the output is piped to other commands.
-
- * In view, added '-l' and '-r' to get the alignments for one library or
- read group. The "@RG" header lines are now partially parsed.
-
- * Do not include command line utilities to libbam.a.
-
- * Fixed memory leaks in pileup and bam_view1().
-
- * Made faidx more tolerant to empty lines right before or after FASTA >
- lines.
-
-
-Changes in other utilities:
-
- * Updated novo2sam.pl by Colin Hercus, the key developer of novoalign.
-
-
-This release involves several modifications to the key code base which
-may potentially introduce new bugs even though we have tried to minimize
-this by testing on several examples. Please let us know if you catch
-bugs.
-
-(0.1.5: 7 July 2009, r373)
-
-
-
-Beta Release 0.1.4 (21 May, 2009)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Notable changes:
-
- * Added the 'rmdupse' command: removing duplicates for SE reads.
-
- * Fixed a critical bug in the indel caller: clipped alignments are not
- processed correctly.
-
- * Fixed a bug in the tview: gapped alignment may be incorrectly
- displayed.
-
- * Unified the interface to BAM and SAM I/O. This is done by
- implementing a wrapper on top of the old APIs and therefore old APIs
- are still valid. The new I/O APIs also recognize the @SQ header
- lines.
-
- * Generate the MD tag.
-
- * Generate "=" bases. However, the indel caller will not work when "="
- bases are present.
-
- * Enhanced support of color-read display (by Nils Homer).
-
- * Implemented the GNU building system. However, currently the building
- system does not generate libbam.a. We will improve this later. For
- the time being, `make -f Makefile.generic' is preferred.
-
- * Fixed a minor bug in pileup: the first read in a chromosome may be
- skipped.
-
- * Fixed bugs in bam_aux.c. These bugs do not affect other components as
- they were not used previously.
-
- * Output the 'SM' tag from maq2sam.
-
-(0.1.4: 21 May 2009, r297)
-
-
-
-Beta Release 0.1.3 (15 April, 2009)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Notable changes in SAMtools:
-
- * SAMtools is more consistent with the specification: a) '*' in the
- QUAL field is allowed; b) the field separator is TAB only and SPACE
- is treated as a character in a field; c) empty header is allowed.
-
- * Implemented GLFv3 support in pileup.
-
- * Fixed a severe bug in fixmate: strand information is wrongly
- overwritten.
-
- * Fixed a bug in alignment retrieval: alignments bridging n*16384bp are
- not correctly retrieved sometimes.
-
- * Fixed a bug in rmdup: segfault if unmapped reads are present.
-
- * Move indel_filter.pl to samtools.pl and improved the filtering by
- checking the actual number of alignments containing indels. The indel
- pileup line is also changed a little to make this filtration easier.
-
- * Fixed a minor bug in indexing: the bin number of an unmapped read is
- wrongly calculated.
-
- * Added `flagstat' command to show statistics on the FLAG field.
-
- * Improved indel caller by setting the maximum window size in local
- realignment.
-
-Changes in other utilities:
-
- * Fixed a bug in maq2sam: a tag name is obsolete.
-
- * Improvement to wgsim: a) added support for SOLiD read simulation; b)
- show the number of substitutions/indels/errors in read name; c)
- considerable code clean up.
-
- * Various converters: improved functionality in general.
-
- * Updated the example SAM due to the previous bug in fixmate.
-
-(0.1.3: 15 April 2009, r227)
-
-
-
-Beta Release 0.1.2 (28 January, 2008)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Notable changes in SAMtools:
-
- * Implemented a Bayesian indel caller. The new caller generate scores
- and genotype and is potentially more accurate than Maq's indel
- caller. The pileup format is also changed accordingly.
-
- * Implemented rmdup command: remove potential PCR duplicates. Note that
- this command ONLY works for FR orientation and requires ISIZE is
- correctly set.
-
- * Added fixmate command: fill in mate coordinates, ISIZE and mate
- related flags from a name-sorted alignment.
-
- * Fixed a bug in indexing: reads bridging 16x kbp were not retrieved.
-
- * Allow to select reads shown in the pileup output with a mask.
-
- * Generate GLFv2 from pileup.
-
- * Added two more flags for flagging PCR/optical duplicates and for QC
- failure.
-
- * Fixed a bug in sort command: name sorting for large alignment did not
- work.
-
- * Allow to completely disable RAZF (using Makefile.lite) as some people
- have problem to compile it.
-
- * Fixed a bug in import command when there are reads without
- coordinates.
-
- * Fixed a bug in tview: clipping broke the alignment viewer.
-
- * Fixed a compiling error when _NO_CURSES is applied.
-
- * Fixed a bug in merge command.
-
-Changes in other utilities:
-
- * Added wgsim, a paired-end reads simulator. Wgsim was adapted from
- maq's reads simulator. Colin Hercus further improved it to allow
- longer indels.
-
- * Added wgsim_eval.pl, a script that evaluates the accuracy of
- alignment on reads generated by wgsim.
-
- * Added soap2sam.pl, a SOAP2->SAM converter. This converter does not
- work properly when multiple hits are output.
-
- * Added bowtie2sam.pl, a Bowtie->SAM converter. Only the top hit will
- be retained when multiple hits are present.
-
- * Fixed a bug in export2sam.pl for QC reads.
-
- * Support RG tag at MAQ->SAM converter.
-
- * Added novo2sam.pl, a NovoAlign->SAM converter. Multiple hits and
- indel are not properly handled, though.
-
- * Added zoom2sam.pl, a ZOOM->SAM converter. It only works with the
- default Illumina output.
-
-(0.1.2: 28 January 2008; r116)
-
-
-
-Beta Release 0.1.1 (22 December, 2008)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The is the first public release of samtools. For more information,
-please check the manual page `samtools.1' and the samtools website
-http://samtools.sourceforge.net
diff --git a/sam/bam.c b/sam/bam.c
deleted file mode 100644
index b00d6a6..0000000
--- a/sam/bam.c
+++ /dev/null
@@ -1,474 +0,0 @@
-#include <stdio.h>
-#include <ctype.h>
-#include <errno.h>
-#include <assert.h>
-#include "bam.h"
-#include "bam_endian.h"
-#include "kstring.h"
-#include "sam_header.h"
-
-int bam_is_be = 0, bam_verbose = 2, bam_no_B = 0;
-char *bam_flag2char_table = "pPuUrR12sfd\0\0\0\0\0";
-
-/**************************
- * CIGAR related routines *
- **************************/
-
-uint32_t bam_calend(const bam1_core_t *c, const uint32_t *cigar)
-{
- int k, end = c->pos;
- for (k = 0; k < c->n_cigar; ++k) {
- int op = bam_cigar_op(cigar[k]);
- int len = bam_cigar_oplen(cigar[k]);
- if (op == BAM_CBACK) { // move backward
- int l, u, v;
- if (k == c->n_cigar - 1) break; // skip trailing 'B'
- for (l = k - 1, u = v = 0; l >= 0; --l) {
- int op1 = bam_cigar_op(cigar[l]);
- int len1 = bam_cigar_oplen(cigar[l]);
- if (bam_cigar_type(op1)&1) { // consume query
- if (u + len1 >= len) { // stop
- if (bam_cigar_type(op1)&2) v += len - u;
- break;
- } else u += len1;
- }
- if (bam_cigar_type(op1)&2) v += len1;
- }
- end = l < 0? c->pos : end - v;
- } else if (bam_cigar_type(op)&2) end += bam_cigar_oplen(cigar[k]);
- }
- return end;
-}
-
-int32_t bam_cigar2qlen(const bam1_core_t *c, const uint32_t *cigar)
-{
- uint32_t k;
- int32_t l = 0;
- for (k = 0; k < c->n_cigar; ++k)
- if (bam_cigar_type(bam_cigar_op(cigar[k]))&1)
- l += bam_cigar_oplen(cigar[k]);
- return l;
-}
-
-/********************
- * BAM I/O routines *
- ********************/
-
-bam_header_t *bam_header_init()
-{
- bam_is_be = bam_is_big_endian();
- return (bam_header_t*)calloc(1, sizeof(bam_header_t));
-}
-
-void bam_header_destroy(bam_header_t *header)
-{
- int32_t i;
- extern void bam_destroy_header_hash(bam_header_t *header);
- if (header == 0) return;
- if (header->target_name) {
- for (i = 0; i < header->n_targets; ++i)
- free(header->target_name[i]);
- free(header->target_name);
- free(header->target_len);
- }
- free(header->text);
- if (header->dict) sam_header_free(header->dict);
- if (header->rg2lib) sam_tbl_destroy(header->rg2lib);
- bam_destroy_header_hash(header);
- free(header);
-}
-
-bam_header_t *bam_header_read(bamFile fp)
-{
- bam_header_t *header;
- char buf[4];
- int magic_len;
- int32_t i = 1, name_len;
- // check EOF
- i = bgzf_check_EOF(fp);
- if (i < 0) {
- // If the file is a pipe, checking the EOF marker will *always* fail
- // with ESPIPE. Suppress the error message in this case.
- if (errno != ESPIPE) perror("[bam_header_read] bgzf_check_EOF");
- }
- else if (i == 0) fprintf(stderr, "[bam_header_read] EOF marker is absent. The input is probably truncated.\n");
- // read "BAM1"
- magic_len = bam_read(fp, buf, 4);
- if (magic_len != 4 || strncmp(buf, "BAM\001", 4) != 0) {
- fprintf(stderr, "[bam_header_read] invalid BAM binary header (this is not a BAM file).\n");
- return 0;
- }
- header = bam_header_init();
- // read plain text and the number of reference sequences
- bam_read(fp, &header->l_text, 4);
- if (bam_is_be) bam_swap_endian_4p(&header->l_text);
- header->text = (char*)calloc(header->l_text + 1, 1);
- bam_read(fp, header->text, header->l_text);
- bam_read(fp, &header->n_targets, 4);
- if (bam_is_be) bam_swap_endian_4p(&header->n_targets);
- // read reference sequence names and lengths
- header->target_name = (char**)calloc(header->n_targets, sizeof(char*));
- header->target_len = (uint32_t*)calloc(header->n_targets, 4);
- for (i = 0; i != header->n_targets; ++i) {
- bam_read(fp, &name_len, 4);
- if (bam_is_be) bam_swap_endian_4p(&name_len);
- header->target_name[i] = (char*)calloc(name_len, 1);
- bam_read(fp, header->target_name[i], name_len);
- bam_read(fp, &header->target_len[i], 4);
- if (bam_is_be) bam_swap_endian_4p(&header->target_len[i]);
- }
- return header;
-}
-
-int bam_header_write(bamFile fp, const bam_header_t *header)
-{
- char buf[4];
- int32_t i, name_len, x;
- // write "BAM1"
- strncpy(buf, "BAM\001", 4);
- bam_write(fp, buf, 4);
- // write plain text and the number of reference sequences
- if (bam_is_be) {
- x = bam_swap_endian_4(header->l_text);
- bam_write(fp, &x, 4);
- if (header->l_text) bam_write(fp, header->text, header->l_text);
- x = bam_swap_endian_4(header->n_targets);
- bam_write(fp, &x, 4);
- } else {
- bam_write(fp, &header->l_text, 4);
- if (header->l_text) bam_write(fp, header->text, header->l_text);
- bam_write(fp, &header->n_targets, 4);
- }
- // write sequence names and lengths
- for (i = 0; i != header->n_targets; ++i) {
- char *p = header->target_name[i];
- name_len = strlen(p) + 1;
- if (bam_is_be) {
- x = bam_swap_endian_4(name_len);
- bam_write(fp, &x, 4);
- } else bam_write(fp, &name_len, 4);
- bam_write(fp, p, name_len);
- if (bam_is_be) {
- x = bam_swap_endian_4(header->target_len[i]);
- bam_write(fp, &x, 4);
- } else bam_write(fp, &header->target_len[i], 4);
- }
- bgzf_flush(fp);
- return 0;
-}
-
-static void swap_endian_data(const bam1_core_t *c, int data_len, uint8_t *data)
-{
- uint8_t *s;
- uint32_t i, *cigar = (uint32_t*)(data + c->l_qname);
- s = data + c->n_cigar*4 + c->l_qname + c->l_qseq + (c->l_qseq + 1)/2;
- for (i = 0; i < c->n_cigar; ++i) bam_swap_endian_4p(&cigar[i]);
- while (s < data + data_len) {
- uint8_t type;
- s += 2; // skip key
- type = toupper(*s); ++s; // skip type
- if (type == 'C' || type == 'A') ++s;
- else if (type == 'S') { bam_swap_endian_2p(s); s += 2; }
- else if (type == 'I' || type == 'F') { bam_swap_endian_4p(s); s += 4; }
- else if (type == 'D') { bam_swap_endian_8p(s); s += 8; }
- else if (type == 'Z' || type == 'H') { while (*s) ++s; ++s; }
- else if (type == 'B') {
- int32_t n, Bsize = bam_aux_type2size(*s);
- memcpy(&n, s + 1, 4);
- if (1 == Bsize) {
- } else if (2 == Bsize) {
- for (i = 0; i < n; i += 2)
- bam_swap_endian_2p(s + 5 + i);
- } else if (4 == Bsize) {
- for (i = 0; i < n; i += 4)
- bam_swap_endian_4p(s + 5 + i);
- }
- bam_swap_endian_4p(s+1);
- }
- }
-}
-
-int bam_read1(bamFile fp, bam1_t *b)
-{
- bam1_core_t *c = &b->core;
- int32_t block_len, ret, i;
- uint32_t x[8];
-
- assert(BAM_CORE_SIZE == 32);
- if ((ret = bam_read(fp, &block_len, 4)) != 4) {
- if (ret == 0) return -1; // normal end-of-file
- else return -2; // truncated
- }
- if (bam_read(fp, x, BAM_CORE_SIZE) != BAM_CORE_SIZE) return -3;
- if (bam_is_be) {
- bam_swap_endian_4p(&block_len);
- for (i = 0; i < 8; ++i) bam_swap_endian_4p(x + i);
- }
- c->tid = x[0]; c->pos = x[1];
- c->bin = x[2]>>16; c->qual = x[2]>>8&0xff; c->l_qname = x[2]&0xff;
- c->flag = x[3]>>16; c->n_cigar = x[3]&0xffff;
- c->l_qseq = x[4];
- c->mtid = x[5]; c->mpos = x[6]; c->isize = x[7];
- b->data_len = block_len - BAM_CORE_SIZE;
- if (b->m_data < b->data_len) {
- b->m_data = b->data_len;
- kroundup32(b->m_data);
- b->data = (uint8_t*)realloc(b->data, b->m_data);
- }
- if (bam_read(fp, b->data, b->data_len) != b->data_len) return -4;
- b->l_aux = b->data_len - c->n_cigar * 4 - c->l_qname - c->l_qseq - (c->l_qseq+1)/2;
- if (bam_is_be) swap_endian_data(c, b->data_len, b->data);
- if (bam_no_B) bam_remove_B(b);
- return 4 + block_len;
-}
-
-inline int bam_write1_core(bamFile fp, const bam1_core_t *c, int data_len, uint8_t *data)
-{
- uint32_t x[8], block_len = data_len + BAM_CORE_SIZE, y;
- int i;
- assert(BAM_CORE_SIZE == 32);
- x[0] = c->tid;
- x[1] = c->pos;
- x[2] = (uint32_t)c->bin<<16 | c->qual<<8 | c->l_qname;
- x[3] = (uint32_t)c->flag<<16 | c->n_cigar;
- x[4] = c->l_qseq;
- x[5] = c->mtid;
- x[6] = c->mpos;
- x[7] = c->isize;
- bgzf_flush_try(fp, 4 + block_len);
- if (bam_is_be) {
- for (i = 0; i < 8; ++i) bam_swap_endian_4p(x + i);
- y = block_len;
- bam_write(fp, bam_swap_endian_4p(&y), 4);
- swap_endian_data(c, data_len, data);
- } else bam_write(fp, &block_len, 4);
- bam_write(fp, x, BAM_CORE_SIZE);
- bam_write(fp, data, data_len);
- if (bam_is_be) swap_endian_data(c, data_len, data);
- return 4 + block_len;
-}
-
-int bam_write1(bamFile fp, const bam1_t *b)
-{
- return bam_write1_core(fp, &b->core, b->data_len, b->data);
-}
-
-char *bam_format1_core(const bam_header_t *header, const bam1_t *b, int of)
-{
- uint8_t *s = bam1_seq(b), *t = bam1_qual(b);
- int i;
- const bam1_core_t *c = &b->core;
- kstring_t str;
- str.l = str.m = 0; str.s = 0;
-
- kputsn(bam1_qname(b), c->l_qname-1, &str); kputc('\t', &str);
- if (of == BAM_OFDEC) { kputw(c->flag, &str); kputc('\t', &str); }
- else if (of == BAM_OFHEX) ksprintf(&str, "0x%x\t", c->flag);
- else { // BAM_OFSTR
- for (i = 0; i < 16; ++i)
- if ((c->flag & 1<<i) && bam_flag2char_table[i])
- kputc(bam_flag2char_table[i], &str);
- kputc('\t', &str);
- }
- if (c->tid < 0) kputsn("*\t", 2, &str);
- else {
- if (header) kputs(header->target_name[c->tid] , &str);
- else kputw(c->tid, &str);
- kputc('\t', &str);
- }
- kputw(c->pos + 1, &str); kputc('\t', &str); kputw(c->qual, &str); kputc('\t', &str);
- if (c->n_cigar == 0) kputc('*', &str);
- else {
- uint32_t *cigar = bam1_cigar(b);
- for (i = 0; i < c->n_cigar; ++i) {
- kputw(bam1_cigar(b)[i]>>BAM_CIGAR_SHIFT, &str);
- kputc(bam_cigar_opchr(cigar[i]), &str);
- }
- }
- kputc('\t', &str);
- if (c->mtid < 0) kputsn("*\t", 2, &str);
- else if (c->mtid == c->tid) kputsn("=\t", 2, &str);
- else {
- if (header) kputs(header->target_name[c->mtid], &str);
- else kputw(c->mtid, &str);
- kputc('\t', &str);
- }
- kputw(c->mpos + 1, &str); kputc('\t', &str); kputw(c->isize, &str); kputc('\t', &str);
- if (c->l_qseq) {
- for (i = 0; i < c->l_qseq; ++i) kputc(bam_nt16_rev_table[bam1_seqi(s, i)], &str);
- kputc('\t', &str);
- if (t[0] == 0xff) kputc('*', &str);
- else for (i = 0; i < c->l_qseq; ++i) kputc(t[i] + 33, &str);
- } else kputsn("*\t*", 3, &str);
- s = bam1_aux(b);
- while (s < b->data + b->data_len) {
- uint8_t type, key[2];
- key[0] = s[0]; key[1] = s[1];
- s += 2; type = *s; ++s;
- kputc('\t', &str); kputsn((char*)key, 2, &str); kputc(':', &str);
- if (type == 'A') { kputsn("A:", 2, &str); kputc(*s, &str); ++s; }
- else if (type == 'C') { kputsn("i:", 2, &str); kputw(*s, &str); ++s; }
- else if (type == 'c') { kputsn("i:", 2, &str); kputw(*(int8_t*)s, &str); ++s; }
- else if (type == 'S') { kputsn("i:", 2, &str); kputw(*(uint16_t*)s, &str); s += 2; }
- else if (type == 's') { kputsn("i:", 2, &str); kputw(*(int16_t*)s, &str); s += 2; }
- else if (type == 'I') { kputsn("i:", 2, &str); kputuw(*(uint32_t*)s, &str); s += 4; }
- else if (type == 'i') { kputsn("i:", 2, &str); kputw(*(int32_t*)s, &str); s += 4; }
- else if (type == 'f') { ksprintf(&str, "f:%g", *(float*)s); s += 4; }
- else if (type == 'd') { ksprintf(&str, "d:%lg", *(double*)s); s += 8; }
- else if (type == 'Z' || type == 'H') { kputc(type, &str); kputc(':', &str); while (*s) kputc(*s++, &str); ++s; }
- else if (type == 'B') {
- uint8_t sub_type = *(s++);
- int32_t n;
- memcpy(&n, s, 4);
- s += 4; // no point to the start of the array
- kputc(type, &str); kputc(':', &str); kputc(sub_type, &str); // write the typing
- for (i = 0; i < n; ++i) {
- kputc(',', &str);
- if ('c' == sub_type || 'c' == sub_type) { kputw(*(int8_t*)s, &str); ++s; }
- else if ('C' == sub_type) { kputw(*(uint8_t*)s, &str); ++s; }
- else if ('s' == sub_type) { kputw(*(int16_t*)s, &str); s += 2; }
- else if ('S' == sub_type) { kputw(*(uint16_t*)s, &str); s += 2; }
- else if ('i' == sub_type) { kputw(*(int32_t*)s, &str); s += 4; }
- else if ('I' == sub_type) { kputuw(*(uint32_t*)s, &str); s += 4; }
- else if ('f' == sub_type) { ksprintf(&str, "%g", *(float*)s); s += 4; }
- }
- }
- }
- return str.s;
-}
-
-char *bam_format1(const bam_header_t *header, const bam1_t *b)
-{
- return bam_format1_core(header, b, BAM_OFDEC);
-}
-
-void bam_view1(const bam_header_t *header, const bam1_t *b)
-{
- char *s = bam_format1(header, b);
- puts(s);
- free(s);
-}
-
-int bam_validate1(const bam_header_t *header, const bam1_t *b)
-{
- char *s;
-
- if (b->core.tid < -1 || b->core.mtid < -1) return 0;
- if (header && (b->core.tid >= header->n_targets || b->core.mtid >= header->n_targets)) return 0;
-
- if (b->data_len < b->core.l_qname) return 0;
- s = memchr(bam1_qname(b), '\0', b->core.l_qname);
- if (s != &bam1_qname(b)[b->core.l_qname-1]) return 0;
-
- // FIXME: Other fields could also be checked, especially the auxiliary data
-
- return 1;
-}
-
-// FIXME: we should also check the LB tag associated with each alignment
-const char *bam_get_library(bam_header_t *h, const bam1_t *b)
-{
- const uint8_t *rg;
- if (h->dict == 0) h->dict = sam_header_parse2(h->text);
- if (h->rg2lib == 0) h->rg2lib = sam_header2tbl(h->dict, "RG", "ID", "LB");
- rg = bam_aux_get(b, "RG");
- return (rg == 0)? 0 : sam_tbl_get(h->rg2lib, (const char*)(rg + 1));
-}
-
-/************
- * Remove B *
- ************/
-
-int bam_remove_B(bam1_t *b)
-{
- int i, j, end_j, k, l, no_qual;
- uint32_t *cigar, *new_cigar;
- uint8_t *seq, *qual, *p;
- // test if removal is necessary
- if (b->core.flag & BAM_FUNMAP) return 0; // unmapped; do nothing
- cigar = bam1_cigar(b);
- for (k = 0; k < b->core.n_cigar; ++k)
- if (bam_cigar_op(cigar[k]) == BAM_CBACK) break;
- if (k == b->core.n_cigar) return 0; // no 'B'
- if (bam_cigar_op(cigar[0]) == BAM_CBACK) goto rmB_err; // cannot be removed
- // allocate memory for the new CIGAR
- if (b->data_len + (b->core.n_cigar + 1) * 4 > b->m_data) { // not enough memory
- b->m_data = b->data_len + b->core.n_cigar * 4;
- kroundup32(b->m_data);
- b->data = (uint8_t*)realloc(b->data, b->m_data);
- cigar = bam1_cigar(b); // after realloc, cigar may be changed
- }
- new_cigar = (uint32_t*)(b->data + (b->m_data - b->core.n_cigar * 4)); // from the end of b->data
- // the core loop
- seq = bam1_seq(b); qual = bam1_qual(b);
- no_qual = (qual[0] == 0xff); // test whether base quality is available
- i = j = 0; end_j = -1;
- for (k = l = 0; k < b->core.n_cigar; ++k) {
- int op = bam_cigar_op(cigar[k]);
- int len = bam_cigar_oplen(cigar[k]);
- if (op == BAM_CBACK) { // the backward operation
- int t, u;
- if (k == b->core.n_cigar - 1) break; // ignore 'B' at the end of CIGAR
- if (len > j) goto rmB_err; // an excessively long backward
- for (t = l - 1, u = 0; t >= 0; --t) { // look back
- int op1 = bam_cigar_op(new_cigar[t]);
- int len1 = bam_cigar_oplen(new_cigar[t]);
- if (bam_cigar_type(op1)&1) { // consume the query
- if (u + len1 >= len) { // stop
- new_cigar[t] -= (len - u) << BAM_CIGAR_SHIFT;
- break;
- } else u += len1;
- }
- }
- if (bam_cigar_oplen(new_cigar[t]) == 0) --t; // squeeze out the zero-length operation
- l = t + 1;
- end_j = j; j -= len;
- } else { // other CIGAR operations
- new_cigar[l++] = cigar[k];
- if (bam_cigar_type(op)&1) { // consume the query
- if (i != j) { // no need to copy if i == j
- int u, c, c0;
- for (u = 0; u < len; ++u) { // construct the consensus
- c = bam1_seqi(seq, i+u);
- if (j + u < end_j) { // in an overlap
- c0 = bam1_seqi(seq, j+u);
- if (c != c0) { // a mismatch; choose the better base
- if (qual[j+u] < qual[i+u]) { // the base in the 2nd segment is better
- bam1_seq_seti(seq, j+u, c);
- qual[j+u] = qual[i+u] - qual[j+u];
- } else qual[j+u] -= qual[i+u]; // the 1st is better; reduce base quality
- } else qual[j+u] = qual[j+u] > qual[i+u]? qual[j+u] : qual[i+u];
- } else { // not in an overlap; copy over
- bam1_seq_seti(seq, j+u, c);
- qual[j+u] = qual[i+u];
- }
- }
- }
- i += len, j += len;
- }
- }
- }
- if (no_qual) qual[0] = 0xff; // in very rare cases, this may be modified
- // merge adjacent operations if possible
- for (k = 1; k < l; ++k)
- if (bam_cigar_op(new_cigar[k]) == bam_cigar_op(new_cigar[k-1]))
- new_cigar[k] += new_cigar[k-1] >> BAM_CIGAR_SHIFT << BAM_CIGAR_SHIFT, new_cigar[k-1] &= 0xf;
- // kill zero length operations
- for (k = i = 0; k < l; ++k)
- if (new_cigar[k] >> BAM_CIGAR_SHIFT)
- new_cigar[i++] = new_cigar[k];
- l = i;
- // update b
- memcpy(cigar, new_cigar, l * 4); // set CIGAR
- p = b->data + b->core.l_qname + l * 4;
- memmove(p, seq, (j+1)>>1); p += (j+1)>>1; // set SEQ
- memmove(p, qual, j); p += j; // set QUAL
- memmove(p, bam1_aux(b), b->l_aux); p += b->l_aux; // set optional fields
- b->core.n_cigar = l, b->core.l_qseq = j; // update CIGAR length and query length
- b->data_len = p - b->data; // update record length
- return 0;
-
-rmB_err:
- b->core.flag |= BAM_FUNMAP;
- return -1;
-}
diff --git a/sam/bam.h b/sam/bam.h
deleted file mode 100644
index 80e8703..0000000
--- a/sam/bam.h
+++ /dev/null
@@ -1,793 +0,0 @@
-/* The MIT License
-
- Copyright (c) 2008-2010 Genome Research Ltd (GRL).
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- "Software"), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- SOFTWARE.
-*/
-
-/* Contact: Heng Li <lh3 at sanger.ac.uk> */
-
-#ifndef BAM_BAM_H
-#define BAM_BAM_H
-
-/*!
- @header
-
- BAM library provides I/O and various operations on manipulating files
- in the BAM (Binary Alignment/Mapping) or SAM (Sequence Alignment/Map)
- format. It now supports importing from or exporting to SAM, sorting,
- merging, generating pileup, and quickly retrieval of reads overlapped
- with a specified region.
-
- @copyright Genome Research Ltd.
- */
-
-#define BAM_VERSION "0.1.19-44428cd"
-
-#include <stdint.h>
-#include <stdlib.h>
-#include <string.h>
-#include <stdio.h>
-
-#ifndef BAM_LITE
-#define BAM_VIRTUAL_OFFSET16
-#include "bgzf.h"
-/*! @abstract BAM file handler */
-typedef BGZF *bamFile;
-#define bam_open(fn, mode) bgzf_open(fn, mode)
-#define bam_dopen(fd, mode) bgzf_fdopen(fd, mode)
-#define bam_close(fp) bgzf_close(fp)
-#define bam_read(fp, buf, size) bgzf_read(fp, buf, size)
-#define bam_write(fp, buf, size) bgzf_write(fp, buf, size)
-#define bam_tell(fp) bgzf_tell(fp)
-#define bam_seek(fp, pos, dir) bgzf_seek(fp, pos, dir)
-#else
-#define BAM_TRUE_OFFSET
-#include <zlib.h>
-typedef gzFile bamFile;
-#define bam_open(fn, mode) gzopen(fn, mode)
-#define bam_dopen(fd, mode) gzdopen(fd, mode)
-#define bam_close(fp) gzclose(fp)
-#define bam_read(fp, buf, size) gzread(fp, buf, size)
-/* no bam_write/bam_tell/bam_seek() here */
-#endif
-
-/*! @typedef
- @abstract Structure for the alignment header.
- @field n_targets number of reference sequences
- @field target_name names of the reference sequences
- @field target_len lengths of the referene sequences
- @field dict header dictionary
- @field hash hash table for fast name lookup
- @field rg2lib hash table for @RG-ID -> LB lookup
- @field l_text length of the plain text in the header
- @field text plain text
-
- @discussion Field hash points to null by default. It is a private
- member.
- */
-typedef struct {
- int32_t n_targets;
- char **target_name;
- uint32_t *target_len;
- void *dict, *hash, *rg2lib;
- uint32_t l_text, n_text;
- char *text;
-} bam_header_t;
-
-/*! @abstract the read is paired in sequencing, no matter whether it is mapped in a pair */
-#define BAM_FPAIRED 1
-/*! @abstract the read is mapped in a proper pair */
-#define BAM_FPROPER_PAIR 2
-/*! @abstract the read itself is unmapped; conflictive with BAM_FPROPER_PAIR */
-#define BAM_FUNMAP 4
-/*! @abstract the mate is unmapped */
-#define BAM_FMUNMAP 8
-/*! @abstract the read is mapped to the reverse strand */
-#define BAM_FREVERSE 16
-/*! @abstract the mate is mapped to the reverse strand */
-#define BAM_FMREVERSE 32
-/*! @abstract this is read1 */
-#define BAM_FREAD1 64
-/*! @abstract this is read2 */
-#define BAM_FREAD2 128
-/*! @abstract not primary alignment */
-#define BAM_FSECONDARY 256
-/*! @abstract QC failure */
-#define BAM_FQCFAIL 512
-/*! @abstract optical or PCR duplicate */
-#define BAM_FDUP 1024
-
-#define BAM_OFDEC 0
-#define BAM_OFHEX 1
-#define BAM_OFSTR 2
-
-/*! @abstract defautl mask for pileup */
-#define BAM_DEF_MASK (BAM_FUNMAP | BAM_FSECONDARY | BAM_FQCFAIL | BAM_FDUP)
-
-#define BAM_CORE_SIZE sizeof(bam1_core_t)
-
-/**
- * Describing how CIGAR operation/length is packed in a 32-bit integer.
- */
-#define BAM_CIGAR_SHIFT 4
-#define BAM_CIGAR_MASK ((1 << BAM_CIGAR_SHIFT) - 1)
-
-/*
- CIGAR operations.
- */
-/*! @abstract CIGAR: M = match or mismatch*/
-#define BAM_CMATCH 0
-/*! @abstract CIGAR: I = insertion to the reference */
-#define BAM_CINS 1
-/*! @abstract CIGAR: D = deletion from the reference */
-#define BAM_CDEL 2
-/*! @abstract CIGAR: N = skip on the reference (e.g. spliced alignment) */
-#define BAM_CREF_SKIP 3
-/*! @abstract CIGAR: S = clip on the read with clipped sequence
- present in qseq */
-#define BAM_CSOFT_CLIP 4
-/*! @abstract CIGAR: H = clip on the read with clipped sequence trimmed off */
-#define BAM_CHARD_CLIP 5
-/*! @abstract CIGAR: P = padding */
-#define BAM_CPAD 6
-/*! @abstract CIGAR: equals = match */
-#define BAM_CEQUAL 7
-/*! @abstract CIGAR: X = mismatch */
-#define BAM_CDIFF 8
-#define BAM_CBACK 9
-
-#define BAM_CIGAR_STR "MIDNSHP=XB"
-#define BAM_CIGAR_TYPE 0x3C1A7
-
-#define bam_cigar_op(c) ((c)&BAM_CIGAR_MASK)
-#define bam_cigar_oplen(c) ((c)>>BAM_CIGAR_SHIFT)
-#define bam_cigar_opchr(c) (BAM_CIGAR_STR[bam_cigar_op(c)])
-#define bam_cigar_gen(l, o) ((l)<<BAM_CIGAR_SHIFT|(o))
-#define bam_cigar_type(o) (BAM_CIGAR_TYPE>>((o)<<1)&3) // bit 1: consume query; bit 2: consume reference
-
-/*! @typedef
- @abstract Structure for core alignment information.
- @field tid chromosome ID, defined by bam_header_t
- @field pos 0-based leftmost coordinate
- @field bin bin calculated by bam_reg2bin()
- @field qual mapping quality
- @field l_qname length of the query name
- @field flag bitwise flag
- @field n_cigar number of CIGAR operations
- @field l_qseq length of the query sequence (read)
- */
-typedef struct {
- int32_t tid;
- int32_t pos;
- uint32_t bin:16, qual:8, l_qname:8;
- uint32_t flag:16, n_cigar:16;
- int32_t l_qseq;
- int32_t mtid;
- int32_t mpos;
- int32_t isize;
-} bam1_core_t;
-
-/*! @typedef
- @abstract Structure for one alignment.
- @field core core information about the alignment
- @field l_aux length of auxiliary data
- @field data_len current length of bam1_t::data
- @field m_data maximum length of bam1_t::data
- @field data all variable-length data, concatenated; structure: qname-cigar-seq-qual-aux
-
- @discussion Notes:
-
- 1. qname is zero tailing and core.l_qname includes the tailing '\0'.
- 2. l_qseq is calculated from the total length of an alignment block
- on reading or from CIGAR.
- 3. cigar data is encoded 4 bytes per CIGAR operation.
- 4. seq is nybble-encoded according to bam_nt16_table.
- */
-typedef struct {
- bam1_core_t core;
- int l_aux, data_len, m_data;
- uint8_t *data;
-} bam1_t;
-
-typedef struct __bam_iter_t *bam_iter_t;
-
-#define bam1_strand(b) (((b)->core.flag&BAM_FREVERSE) != 0)
-#define bam1_mstrand(b) (((b)->core.flag&BAM_FMREVERSE) != 0)
-
-/*! @function
- @abstract Get the CIGAR array
- @param b pointer to an alignment
- @return pointer to the CIGAR array
-
- @discussion In the CIGAR array, each element is a 32-bit integer. The
- lower 4 bits gives a CIGAR operation and the higher 28 bits keep the
- length of a CIGAR.
- */
-#define bam1_cigar(b) ((uint32_t*)((b)->data + (b)->core.l_qname))
-
-/*! @function
- @abstract Get the name of the query
- @param b pointer to an alignment
- @return pointer to the name string, null terminated
- */
-#define bam1_qname(b) ((char*)((b)->data))
-
-/*! @function
- @abstract Get query sequence
- @param b pointer to an alignment
- @return pointer to sequence
-
- @discussion Each base is encoded in 4 bits: 1 for A, 2 for C, 4 for G,
- 8 for T and 15 for N. Two bases are packed in one byte with the base
- at the higher 4 bits having smaller coordinate on the read. It is
- recommended to use bam1_seqi() macro to get the base.
- */
-#define bam1_seq(b) ((b)->data + (b)->core.n_cigar*4 + (b)->core.l_qname)
-
-/*! @function
- @abstract Get query quality
- @param b pointer to an alignment
- @return pointer to quality string
- */
-#define bam1_qual(b) ((b)->data + (b)->core.n_cigar*4 + (b)->core.l_qname + (((b)->core.l_qseq + 1)>>1))
-
-/*! @function
- @abstract Get a base on read
- @param s Query sequence returned by bam1_seq()
- @param i The i-th position, 0-based
- @return 4-bit integer representing the base.
- */
-//#define bam1_seqi(s, i) ((s)[(i)/2] >> 4*(1-(i)%2) & 0xf)
-#define bam1_seqi(s, i) ((s)[(i)>>1] >> ((~(i)&1)<<2) & 0xf)
-
-#define bam1_seq_seti(s, i, c) ( (s)[(i)>>1] = ((s)[(i)>>1] & 0xf<<(((i)&1)<<2)) | (c)<<((~(i)&1)<<2) )
-
-/*! @function
- @abstract Get query sequence and quality
- @param b pointer to an alignment
- @return pointer to the concatenated auxiliary data
- */
-#define bam1_aux(b) ((b)->data + (b)->core.n_cigar*4 + (b)->core.l_qname + (b)->core.l_qseq + ((b)->core.l_qseq + 1)/2)
-
-#ifndef kroundup32
-/*! @function
- @abstract Round an integer to the next closest power-2 integer.
- @param x integer to be rounded (in place)
- @discussion x will be modified.
- */
-#define kroundup32(x) (--(x), (x)|=(x)>>1, (x)|=(x)>>2, (x)|=(x)>>4, (x)|=(x)>>8, (x)|=(x)>>16, ++(x))
-#endif
-
-/*!
- @abstract Whether the machine is big-endian; modified only in
- bam_header_init().
- */
-extern int bam_is_be;
-
-/*!
- @abstract Verbose level between 0 and 3; 0 is supposed to disable all
- debugging information, though this may not have been implemented.
- */
-extern int bam_verbose;
-
-extern int bam_no_B;
-
-/*! @abstract Table for converting a nucleotide character to the 4-bit encoding. */
-extern unsigned char bam_nt16_table[256];
-
-/*! @abstract Table for converting a 4-bit encoded nucleotide to a letter. */
-extern char *bam_nt16_rev_table;
-
-extern char bam_nt16_nt4_table[];
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
- /*********************
- * Low-level SAM I/O *
- *********************/
-
- /*! @abstract TAM file handler */
- typedef struct __tamFile_t *tamFile;
-
- /*!
- @abstract Open a SAM file for reading, either uncompressed or compressed by gzip/zlib.
- @param fn SAM file name
- @return SAM file handler
- */
- tamFile sam_open(const char *fn);
-
- /*!
- @abstract Close a SAM file handler
- @param fp SAM file handler
- */
- void sam_close(tamFile fp);
-
- /*!
- @abstract Read one alignment from a SAM file handler
- @param fp SAM file handler
- @param header header information (ordered names of chromosomes)
- @param b read alignment; all members in b will be updated
- @return 0 if successful; otherwise negative
- */
- int sam_read1(tamFile fp, bam_header_t *header, bam1_t *b);
-
- /*!
- @abstract Read header information from a TAB-delimited list file.
- @param fn_list file name for the list
- @return a pointer to the header structure
-
- @discussion Each line in this file consists of chromosome name and
- the length of chromosome.
- */
- bam_header_t *sam_header_read2(const char *fn_list);
-
- /*!
- @abstract Read header from a SAM file (if present)
- @param fp SAM file handler
- @return pointer to header struct; 0 if no @SQ lines available
- */
- bam_header_t *sam_header_read(tamFile fp);
-
- /*!
- @abstract Parse @SQ lines a update a header struct
- @param h pointer to the header struct to be updated
- @return number of target sequences
-
- @discussion bam_header_t::{n_targets,target_len,target_name} will
- be destroyed in the first place.
- */
- int sam_header_parse(bam_header_t *h);
- int32_t bam_get_tid(const bam_header_t *header, const char *seq_name);
-
- /*!
- @abstract Parse @RG lines a update a header struct
- @param h pointer to the header struct to be updated
- @return number of @RG lines
-
- @discussion bam_header_t::rg2lib will be destroyed in the first
- place.
- */
- int sam_header_parse_rg(bam_header_t *h);
-
-#define sam_write1(header, b) bam_view1(header, b)
-
-
- /********************************
- * APIs for string dictionaries *
- ********************************/
-
- int bam_strmap_put(void *strmap, const char *rg, const char *lib);
- const char *bam_strmap_get(const void *strmap, const char *rg);
- void *bam_strmap_dup(const void*);
- void *bam_strmap_init();
- void bam_strmap_destroy(void *strmap);
-
-
- /*********************
- * Low-level BAM I/O *
- *********************/
-
- /*!
- @abstract Initialize a header structure.
- @return the pointer to the header structure
-
- @discussion This function also modifies the global variable
- bam_is_be.
- */
- bam_header_t *bam_header_init();
-
- /*!
- @abstract Destroy a header structure.
- @param header pointer to the header
- */
- void bam_header_destroy(bam_header_t *header);
-
- /*!
- @abstract Read a header structure from BAM.
- @param fp BAM file handler, opened by bam_open()
- @return pointer to the header structure
-
- @discussion The file position indicator must be placed at the
- beginning of the file. Upon success, the position indicator will
- be set at the start of the first alignment.
- */
- bam_header_t *bam_header_read(bamFile fp);
-
- /*!
- @abstract Write a header structure to BAM.
- @param fp BAM file handler
- @param header pointer to the header structure
- @return always 0 currently
- */
- int bam_header_write(bamFile fp, const bam_header_t *header);
-
- /*!
- @abstract Read an alignment from BAM.
- @param fp BAM file handler
- @param b read alignment; all members are updated.
- @return number of bytes read from the file
-
- @discussion The file position indicator must be
- placed right before an alignment. Upon success, this function
- will set the position indicator to the start of the next
- alignment. This function is not affected by the machine
- endianness.
- */
- int bam_read1(bamFile fp, bam1_t *b);
-
- int bam_remove_B(bam1_t *b);
-
- /*!
- @abstract Write an alignment to BAM.
- @param fp BAM file handler
- @param c pointer to the bam1_core_t structure
- @param data_len total length of variable size data related to
- the alignment
- @param data pointer to the concatenated data
- @return number of bytes written to the file
-
- @discussion This function is not affected by the machine
- endianness.
- */
- int bam_write1_core(bamFile fp, const bam1_core_t *c, int data_len, uint8_t *data);
-
- /*!
- @abstract Write an alignment to BAM.
- @param fp BAM file handler
- @param b alignment to write
- @return number of bytes written to the file
-
- @abstract It is equivalent to:
- bam_write1_core(fp, &b->core, b->data_len, b->data)
- */
- int bam_write1(bamFile fp, const bam1_t *b);
-
- /*! @function
- @abstract Initiate a pointer to bam1_t struct
- */
-#define bam_init1() ((bam1_t*)calloc(1, sizeof(bam1_t)))
-
- /*! @function
- @abstract Free the memory allocated for an alignment.
- @param b pointer to an alignment
- */
-#define bam_destroy1(b) do { \
- if (b) { free((b)->data); free(b); } \
- } while (0)
-
- /*!
- @abstract Format a BAM record in the SAM format
- @param header pointer to the header structure
- @param b alignment to print
- @return a pointer to the SAM string
- */
- char *bam_format1(const bam_header_t *header, const bam1_t *b);
-
- char *bam_format1_core(const bam_header_t *header, const bam1_t *b, int of);
-
- /*!
- @abstract Check whether a BAM record is plausibly valid
- @param header associated header structure, or NULL if unavailable
- @param b alignment to validate
- @return 0 if the alignment is invalid; non-zero otherwise
-
- @discussion Simple consistency check of some of the fields of the
- alignment record. If the header is provided, several additional checks
- are made. Not all fields are checked, so a non-zero result is not a
- guarantee that the record is valid. However it is usually good enough
- to detect when bam_seek() has been called with a virtual file offset
- that is not the offset of an alignment record.
- */
- int bam_validate1(const bam_header_t *header, const bam1_t *b);
-
- const char *bam_get_library(bam_header_t *header, const bam1_t *b);
-
-
- /***************
- * pileup APIs *
- ***************/
-
- /*! @typedef
- @abstract Structure for one alignment covering the pileup position.
- @field b pointer to the alignment
- @field qpos position of the read base at the pileup site, 0-based
- @field indel indel length; 0 for no indel, positive for ins and negative for del
- @field is_del 1 iff the base on the padded read is a deletion
- @field level the level of the read in the "viewer" mode
-
- @discussion See also bam_plbuf_push() and bam_lplbuf_push(). The
- difference between the two functions is that the former does not
- set bam_pileup1_t::level, while the later does. Level helps the
- implementation of alignment viewers, but calculating this has some
- overhead.
- */
- typedef struct {
- bam1_t *b;
- int32_t qpos;
- int indel, level;
- uint32_t is_del:1, is_head:1, is_tail:1, is_refskip:1, aux:28;
- } bam_pileup1_t;
-
- typedef int (*bam_plp_auto_f)(void *data, bam1_t *b);
-
- struct __bam_plp_t;
- typedef struct __bam_plp_t *bam_plp_t;
-
- bam_plp_t bam_plp_init(bam_plp_auto_f func, void *data);
- int bam_plp_push(bam_plp_t iter, const bam1_t *b);
- const bam_pileup1_t *bam_plp_next(bam_plp_t iter, int *_tid, int *_pos, int *_n_plp);
- const bam_pileup1_t *bam_plp_auto(bam_plp_t iter, int *_tid, int *_pos, int *_n_plp);
- void bam_plp_set_mask(bam_plp_t iter, int mask);
- void bam_plp_set_maxcnt(bam_plp_t iter, int maxcnt);
- void bam_plp_reset(bam_plp_t iter);
- void bam_plp_destroy(bam_plp_t iter);
-
- struct __bam_mplp_t;
- typedef struct __bam_mplp_t *bam_mplp_t;
-
- bam_mplp_t bam_mplp_init(int n, bam_plp_auto_f func, void **data);
- void bam_mplp_destroy(bam_mplp_t iter);
- void bam_mplp_set_maxcnt(bam_mplp_t iter, int maxcnt);
- int bam_mplp_auto(bam_mplp_t iter, int *_tid, int *_pos, int *n_plp, const bam_pileup1_t **plp);
-
- /*! @typedef
- @abstract Type of function to be called by bam_plbuf_push().
- @param tid chromosome ID as is defined in the header
- @param pos start coordinate of the alignment, 0-based
- @param n number of elements in pl array
- @param pl array of alignments
- @param data user provided data
- @discussion See also bam_plbuf_push(), bam_plbuf_init() and bam_pileup1_t.
- */
- typedef int (*bam_pileup_f)(uint32_t tid, uint32_t pos, int n, const bam_pileup1_t *pl, void *data);
-
- typedef struct {
- bam_plp_t iter;
- bam_pileup_f func;
- void *data;
- } bam_plbuf_t;
-
- void bam_plbuf_set_mask(bam_plbuf_t *buf, int mask);
- void bam_plbuf_reset(bam_plbuf_t *buf);
- bam_plbuf_t *bam_plbuf_init(bam_pileup_f func, void *data);
- void bam_plbuf_destroy(bam_plbuf_t *buf);
- int bam_plbuf_push(const bam1_t *b, bam_plbuf_t *buf);
-
- int bam_pileup_file(bamFile fp, int mask, bam_pileup_f func, void *func_data);
-
- struct __bam_lplbuf_t;
- typedef struct __bam_lplbuf_t bam_lplbuf_t;
-
- void bam_lplbuf_reset(bam_lplbuf_t *buf);
-
- /*! @abstract bam_plbuf_init() equivalent with level calculated. */
- bam_lplbuf_t *bam_lplbuf_init(bam_pileup_f func, void *data);
-
- /*! @abstract bam_plbuf_destroy() equivalent with level calculated. */
- void bam_lplbuf_destroy(bam_lplbuf_t *tv);
-
- /*! @abstract bam_plbuf_push() equivalent with level calculated. */
- int bam_lplbuf_push(const bam1_t *b, bam_lplbuf_t *buf);
-
-
- /*********************
- * BAM indexing APIs *
- *********************/
-
- struct __bam_index_t;
- typedef struct __bam_index_t bam_index_t;
-
- /*!
- @abstract Build index for a BAM file.
- @discussion Index file "fn.bai" will be created.
- @param fn name of the BAM file
- @return always 0 currently
- */
- int bam_index_build(const char *fn);
-
- /*!
- @abstract Load index from file "fn.bai".
- @param fn name of the BAM file (NOT the index file)
- @return pointer to the index structure
- */
- bam_index_t *bam_index_load(const char *fn);
-
- /*!
- @abstract Destroy an index structure.
- @param idx pointer to the index structure
- */
- void bam_index_destroy(bam_index_t *idx);
-
- /*! @typedef
- @abstract Type of function to be called by bam_fetch().
- @param b the alignment
- @param data user provided data
- */
- typedef int (*bam_fetch_f)(const bam1_t *b, void *data);
-
- /*!
- @abstract Retrieve the alignments that are overlapped with the
- specified region.
-
- @discussion A user defined function will be called for each
- retrieved alignment ordered by its start position.
-
- @param fp BAM file handler
- @param idx pointer to the alignment index
- @param tid chromosome ID as is defined in the header
- @param beg start coordinate, 0-based
- @param end end coordinate, 0-based
- @param data user provided data (will be transferred to func)
- @param func user defined function
- */
- int bam_fetch(bamFile fp, const bam_index_t *idx, int tid, int beg, int end, void *data, bam_fetch_f func);
-
- bam_iter_t bam_iter_query(const bam_index_t *idx, int tid, int beg, int end);
- int bam_iter_read(bamFile fp, bam_iter_t iter, bam1_t *b);
- void bam_iter_destroy(bam_iter_t iter);
-
- /*!
- @abstract Parse a region in the format: "chr2:100,000-200,000".
- @discussion bam_header_t::hash will be initialized if empty.
- @param header pointer to the header structure
- @param str string to be parsed
- @param ref_id the returned chromosome ID
- @param begin the returned start coordinate
- @param end the returned end coordinate
- @return 0 on success; -1 on failure
- */
- int bam_parse_region(bam_header_t *header, const char *str, int *ref_id, int *begin, int *end);
-
-
- /**************************
- * APIs for optional tags *
- **************************/
-
- /*!
- @abstract Retrieve data of a tag
- @param b pointer to an alignment struct
- @param tag two-character tag to be retrieved
-
- @return pointer to the type and data. The first character is the
- type that can be 'iIsScCdfAZH'.
-
- @discussion Use bam_aux2?() series to convert the returned data to
- the corresponding type.
- */
- uint8_t *bam_aux_get(const bam1_t *b, const char tag[2]);
-
- int32_t bam_aux2i(const uint8_t *s);
- float bam_aux2f(const uint8_t *s);
- double bam_aux2d(const uint8_t *s);
- char bam_aux2A(const uint8_t *s);
- char *bam_aux2Z(const uint8_t *s);
-
- int bam_aux_del(bam1_t *b, uint8_t *s);
- void bam_aux_append(bam1_t *b, const char tag[2], char type, int len, uint8_t *data);
- uint8_t *bam_aux_get_core(bam1_t *b, const char tag[2]); // an alias of bam_aux_get()
-
-
- /*****************
- * Miscellaneous *
- *****************/
-
- /*!
- @abstract Calculate the rightmost coordinate of an alignment on the
- reference genome.
-
- @param c pointer to the bam1_core_t structure
- @param cigar the corresponding CIGAR array (from bam1_t::cigar)
- @return the rightmost coordinate, 0-based
- */
- uint32_t bam_calend(const bam1_core_t *c, const uint32_t *cigar);
-
- /*!
- @abstract Calculate the length of the query sequence from CIGAR.
- @param c pointer to the bam1_core_t structure
- @param cigar the corresponding CIGAR array (from bam1_t::cigar)
- @return length of the query sequence
- */
- int32_t bam_cigar2qlen(const bam1_core_t *c, const uint32_t *cigar);
-
-#ifdef __cplusplus
-}
-#endif
-
-/*!
- @abstract Calculate the minimum bin that contains a region [beg,end).
- @param beg start of the region, 0-based
- @param end end of the region, 0-based
- @return bin
- */
-static inline int bam_reg2bin(uint32_t beg, uint32_t end)
-{
- --end;
- if (beg>>14 == end>>14) return 4681 + (beg>>14);
- if (beg>>17 == end>>17) return 585 + (beg>>17);
- if (beg>>20 == end>>20) return 73 + (beg>>20);
- if (beg>>23 == end>>23) return 9 + (beg>>23);
- if (beg>>26 == end>>26) return 1 + (beg>>26);
- return 0;
-}
-
-/*!
- @abstract Copy an alignment
- @param bdst destination alignment struct
- @param bsrc source alignment struct
- @return pointer to the destination alignment struct
- */
-static inline bam1_t *bam_copy1(bam1_t *bdst, const bam1_t *bsrc)
-{
- uint8_t *data = bdst->data;
- int m_data = bdst->m_data; // backup data and m_data
- if (m_data < bsrc->data_len) { // double the capacity
- m_data = bsrc->data_len; kroundup32(m_data);
- data = (uint8_t*)realloc(data, m_data);
- }
- memcpy(data, bsrc->data, bsrc->data_len); // copy var-len data
- *bdst = *bsrc; // copy the rest
- // restore the backup
- bdst->m_data = m_data;
- bdst->data = data;
- return bdst;
-}
-
-/*!
- @abstract Duplicate an alignment
- @param src source alignment struct
- @return pointer to the destination alignment struct
- */
-static inline bam1_t *bam_dup1(const bam1_t *src)
-{
- bam1_t *b;
- b = bam_init1();
- *b = *src;
- b->m_data = b->data_len;
- b->data = (uint8_t*)calloc(b->data_len, 1);
- memcpy(b->data, src->data, b->data_len);
- return b;
-}
-
-static inline int bam_aux_type2size(int x)
-{
- if (x == 'C' || x == 'c' || x == 'A') return 1;
- else if (x == 'S' || x == 's') return 2;
- else if (x == 'I' || x == 'i' || x == 'f' || x == 'F') return 4;
- else return 0;
-}
-
-/*********************************
- *** Compatibility with htslib ***
- *********************************/
-
-typedef bam_header_t bam_hdr_t;
-
-#define bam_get_qname(b) bam1_qname(b)
-#define bam_get_cigar(b) bam1_cigar(b)
-
-#define bam_hdr_read(fp) bam_header_read(fp)
-#define bam_hdr_write(fp, h) bam_header_write(fp, h)
-#define bam_hdr_destroy(fp) bam_header_destroy(fp)
-
-#endif
diff --git a/sam/bam2bcf.c b/sam/bam2bcf.c
deleted file mode 100644
index 340b10b..0000000
--- a/sam/bam2bcf.c
+++ /dev/null
@@ -1,467 +0,0 @@
-#include <math.h>
-#include <stdint.h>
-#include <assert.h>
-#include "bam.h"
-#include "kstring.h"
-#include "bam2bcf.h"
-#include "errmod.h"
-#include "bcftools/bcf.h"
-
-extern void ks_introsort_uint32_t(size_t n, uint32_t a[]);
-
-#define CALL_ETA 0.03f
-#define CALL_MAX 256
-#define CALL_DEFTHETA 0.83f
-#define DEF_MAPQ 20
-
-#define CAP_DIST 25
-
-bcf_callaux_t *bcf_call_init(double theta, int min_baseQ)
-{
- bcf_callaux_t *bca;
- if (theta <= 0.) theta = CALL_DEFTHETA;
- bca = calloc(1, sizeof(bcf_callaux_t));
- bca->capQ = 60;
- bca->openQ = 40; bca->extQ = 20; bca->tandemQ = 100;
- bca->min_baseQ = min_baseQ;
- bca->e = errmod_init(1. - theta);
- bca->min_frac = 0.002;
- bca->min_support = 1;
- bca->per_sample_flt = 0;
- bca->npos = 100;
- bca->ref_pos = calloc(bca->npos, sizeof(int));
- bca->alt_pos = calloc(bca->npos, sizeof(int));
- return bca;
-}
-
-
-static int get_position(const bam_pileup1_t *p, int *len)
-{
- int icig, n_tot_bases = 0, iread = 0, edist = p->qpos + 1;
- for (icig=0; icig<p->b->core.n_cigar; icig++)
- {
- // Conversion from uint32_t to MIDNSHP
- // 0123456
- // MIDNSHP
- int cig = bam1_cigar(p->b)[icig] & BAM_CIGAR_MASK;
- int ncig = bam1_cigar(p->b)[icig] >> BAM_CIGAR_SHIFT;
- if ( cig==0 )
- {
- n_tot_bases += ncig;
- iread += ncig;
- }
- else if ( cig==1 )
- {
- n_tot_bases += ncig;
- iread += ncig;
- }
- else if ( cig==4 )
- {
- iread += ncig;
- if ( iread<=p->qpos ) edist -= ncig;
- }
- }
- *len = n_tot_bases;
- return edist;
-}
-
-void bcf_call_destroy(bcf_callaux_t *bca)
-{
- if (bca == 0) return;
- errmod_destroy(bca->e);
- if (bca->npos) { free(bca->ref_pos); free(bca->alt_pos); bca->npos = 0; }
- free(bca->bases); free(bca->inscns); free(bca);
-}
-/* ref_base is the 4-bit representation of the reference base. It is
- * negative if we are looking at an indel. */
-int bcf_call_glfgen(int _n, const bam_pileup1_t *pl, int ref_base, bcf_callaux_t *bca, bcf_callret1_t *r)
-{
- int i, n, ref4, is_indel, ori_depth = 0;
- memset(r, 0, sizeof(bcf_callret1_t));
- if (ref_base >= 0) {
- ref4 = bam_nt16_nt4_table[ref_base];
- is_indel = 0;
- } else ref4 = 4, is_indel = 1;
- if (_n == 0) return -1;
- // enlarge the bases array if necessary
- if (bca->max_bases < _n) {
- bca->max_bases = _n;
- kroundup32(bca->max_bases);
- bca->bases = (uint16_t*)realloc(bca->bases, 2 * bca->max_bases);
- }
- // fill the bases array
- for (i = n = r->n_supp = 0; i < _n; ++i) {
- const bam_pileup1_t *p = pl + i;
- int q, b, mapQ, baseQ, is_diff, min_dist, seqQ;
- // set base
- if (p->is_del || p->is_refskip || (p->b->core.flag&BAM_FUNMAP)) continue;
- ++ori_depth;
- baseQ = q = is_indel? p->aux&0xff : (int)bam1_qual(p->b)[p->qpos]; // base/indel quality
- seqQ = is_indel? (p->aux>>8&0xff) : 99;
- if (q < bca->min_baseQ) continue;
- if (q > seqQ) q = seqQ;
- mapQ = p->b->core.qual < 255? p->b->core.qual : DEF_MAPQ; // special case for mapQ==255
- mapQ = mapQ < bca->capQ? mapQ : bca->capQ;
- if (q > mapQ) q = mapQ;
- if (q > 63) q = 63;
- if (q < 4) q = 4;
- if (!is_indel) {
- b = bam1_seqi(bam1_seq(p->b), p->qpos); // base
- b = bam_nt16_nt4_table[b? b : ref_base]; // b is the 2-bit base
- is_diff = (ref4 < 4 && b == ref4)? 0 : 1;
- } else {
- b = p->aux>>16&0x3f;
- is_diff = (b != 0);
- }
- if (is_diff) ++r->n_supp;
- bca->bases[n++] = q<<5 | (int)bam1_strand(p->b)<<4 | b;
- // collect annotations
- if (b < 4) r->qsum[b] += q;
- ++r->anno[0<<2|is_diff<<1|bam1_strand(p->b)];
- min_dist = p->b->core.l_qseq - 1 - p->qpos;
- if (min_dist > p->qpos) min_dist = p->qpos;
- if (min_dist > CAP_DIST) min_dist = CAP_DIST;
- r->anno[1<<2|is_diff<<1|0] += baseQ;
- r->anno[1<<2|is_diff<<1|1] += baseQ * baseQ;
- r->anno[2<<2|is_diff<<1|0] += mapQ;
- r->anno[2<<2|is_diff<<1|1] += mapQ * mapQ;
- r->anno[3<<2|is_diff<<1|0] += min_dist;
- r->anno[3<<2|is_diff<<1|1] += min_dist * min_dist;
-
- // collect read positions for ReadPosBias
- int len, pos = get_position(p, &len);
- int epos = (double)pos/(len+1) * bca->npos;
- if ( bam1_seqi(bam1_seq(p->b),p->qpos) == ref_base )
- bca->ref_pos[epos]++;
- else
- bca->alt_pos[epos]++;
- }
- r->depth = n; r->ori_depth = ori_depth;
- // glfgen
- errmod_cal(bca->e, n, 5, bca->bases, r->p);
- return r->depth;
-}
-
-double mann_whitney_1947(int n, int m, int U)
-{
- if (U<0) return 0;
- if (n==0||m==0) return U==0 ? 1 : 0;
- return (double)n/(n+m)*mann_whitney_1947(n-1,m,U-m) + (double)m/(n+m)*mann_whitney_1947(n,m-1,U);
-}
-
-void calc_ReadPosBias(bcf_callaux_t *bca, bcf_call_t *call)
-{
- int i, nref = 0, nalt = 0;
- unsigned long int U = 0;
- for (i=0; i<bca->npos; i++)
- {
- nref += bca->ref_pos[i];
- nalt += bca->alt_pos[i];
- U += nref*bca->alt_pos[i];
- bca->ref_pos[i] = 0;
- bca->alt_pos[i] = 0;
- }
-#if 0
-//todo
- double var = 0, avg = (double)(nref+nalt)/bca->npos;
- for (i=0; i<bca->npos; i++)
- {
- double ediff = bca->ref_pos[i] + bca->alt_pos[i] - avg;
- var += ediff*ediff;
- bca->ref_pos[i] = 0;
- bca->alt_pos[i] = 0;
- }
- call->read_pos.avg = avg;
- call->read_pos.var = sqrt(var/bca->npos);
- call->read_pos.dp = nref+nalt;
-#endif
- if ( !nref || !nalt )
- {
- call->read_pos_bias = -1;
- return;
- }
-
- if ( nref>=8 || nalt>=8 )
- {
- // normal approximation
- double mean = ((double)nref*nalt+1.0)/2.0;
- double var2 = (double)nref*nalt*(nref+nalt+1.0)/12.0;
- double z = (U-mean)/sqrt(var2);
- call->read_pos_bias = z;
- //fprintf(stderr,"nref=%d nalt=%d U=%ld mean=%e var=%e zval=%e\n", nref,nalt,U,mean,sqrt(var2),call->read_pos_bias);
- }
- else
- {
- double p = mann_whitney_1947(nalt,nref,U);
- // biased form claimed by GATK to behave better empirically
- // double var2 = (1.0+1.0/(nref+nalt+1.0))*(double)nref*nalt*(nref+nalt+1.0)/12.0;
- double var2 = (double)nref*nalt*(nref+nalt+1.0)/12.0;
- double z;
- if ( p >= 1./sqrt(var2*2*M_PI) ) z = 0; // equal to mean
- else
- {
- if ( U >= nref*nalt/2. ) z = sqrt(-2*log(sqrt(var2*2*M_PI)*p));
- else z = -sqrt(-2*log(sqrt(var2*2*M_PI)*p));
- }
- call->read_pos_bias = z;
- //fprintf(stderr,"nref=%d nalt=%d U=%ld p=%e var2=%e zval=%e\n", nref,nalt,U, p,var2,call->read_pos_bias);
- }
-}
-
-float mean_diff_to_prob(float mdiff, int dp, int readlen)
-{
- if ( dp==2 )
- {
- if ( mdiff==0 )
- return (2.0*readlen + 4.0*(readlen-1.0))/((float)readlen*readlen);
- else
- return 8.0*(readlen - 4.0*mdiff)/((float)readlen*readlen);
- }
-
- // This is crude empirical approximation and is not very accurate for
- // shorter read lengths (<100bp). There certainly is a room for
- // improvement.
- const float mv[24][2] = { {0,0}, {0,0}, {0,0},
- { 9.108, 4.934}, { 9.999, 3.991}, {10.273, 3.485}, {10.579, 3.160},
- {10.828, 2.889}, {11.014, 2.703}, {11.028, 2.546}, {11.244, 2.391},
- {11.231, 2.320}, {11.323, 2.138}, {11.403, 2.123}, {11.394, 1.994},
- {11.451, 1.928}, {11.445, 1.862}, {11.516, 1.815}, {11.560, 1.761},
- {11.544, 1.728}, {11.605, 1.674}, {11.592, 1.652}, {11.674, 1.613},
- {11.641, 1.570} };
-
- float m, v;
- if ( dp>=24 )
- {
- m = readlen/8.;
- if (dp>100) dp = 100;
- v = 1.476/(0.182*pow(dp,0.514));
- v = v*(readlen/100.);
- }
- else
- {
- m = mv[dp][0];
- v = mv[dp][1];
- m = m*readlen/100.;
- v = v*readlen/100.;
- v *= 1.2; // allow more variability
- }
- return 1.0/(v*sqrt(2*M_PI)) * exp(-0.5*((mdiff-m)/v)*((mdiff-m)/v));
-}
-
-void calc_vdb(bcf_callaux_t *bca, bcf_call_t *call)
-{
- int i, dp = 0;
- float mean_pos = 0, mean_diff = 0;
- for (i=0; i<bca->npos; i++)
- {
- if ( !bca->alt_pos[i] ) continue;
- dp += bca->alt_pos[i];
- int j = i<bca->npos/2 ? i : bca->npos - i;
- mean_pos += bca->alt_pos[i]*j;
- }
- if ( dp<2 )
- {
- call->vdb = -1;
- return;
- }
- mean_pos /= dp;
- for (i=0; i<bca->npos; i++)
- {
- if ( !bca->alt_pos[i] ) continue;
- int j = i<bca->npos/2 ? i : bca->npos - i;
- mean_diff += bca->alt_pos[i] * fabs(j - mean_pos);
- }
- mean_diff /= dp;
- call->vdb = mean_diff_to_prob(mean_diff, dp, bca->npos);
-}
-
-/**
- * bcf_call_combine() - sets the PL array and VDB, RPB annotations, finds the top two alleles
- * @n: number of samples
- * @calls: each sample's calls
- * @bca: auxiliary data structure for holding temporary values
- * @ref_base: the reference base
- * @call: filled with the annotations
- */
-int bcf_call_combine(int n, const bcf_callret1_t *calls, bcf_callaux_t *bca, int ref_base /*4-bit*/, bcf_call_t *call)
-{
- int ref4, i, j, qsum[4];
- int64_t tmp;
- if (ref_base >= 0) {
- call->ori_ref = ref4 = bam_nt16_nt4_table[ref_base];
- if (ref4 > 4) ref4 = 4;
- } else call->ori_ref = -1, ref4 = 0;
- // calculate qsum
- memset(qsum, 0, 4 * sizeof(int));
- for (i = 0; i < n; ++i)
- for (j = 0; j < 4; ++j)
- qsum[j] += calls[i].qsum[j];
- int qsum_tot=0;
- for (j=0; j<4; j++) { qsum_tot += qsum[j]; call->qsum[j] = 0; }
- for (j = 0; j < 4; ++j) qsum[j] = qsum[j] << 2 | j;
- // find the top 2 alleles
- for (i = 1; i < 4; ++i) // insertion sort
- for (j = i; j > 0 && qsum[j] < qsum[j-1]; --j)
- tmp = qsum[j], qsum[j] = qsum[j-1], qsum[j-1] = tmp;
- // set the reference allele and alternative allele(s)
- for (i = 0; i < 5; ++i) call->a[i] = -1;
- call->unseen = -1;
- call->a[0] = ref4;
- for (i = 3, j = 1; i >= 0; --i) {
- if ((qsum[i]&3) != ref4) {
- if (qsum[i]>>2 != 0)
- {
- if ( j<4 ) call->qsum[j] = (float)(qsum[i]>>2)/qsum_tot; // ref N can make j>=4
- call->a[j++] = qsum[i]&3;
- }
- else break;
- }
- else
- call->qsum[0] = (float)(qsum[i]>>2)/qsum_tot;
- }
- if (ref_base >= 0) { // for SNPs, find the "unseen" base
- if (((ref4 < 4 && j < 4) || (ref4 == 4 && j < 5)) && i >= 0)
- call->unseen = j, call->a[j++] = qsum[i]&3;
- call->n_alleles = j;
- } else {
- call->n_alleles = j;
- if (call->n_alleles == 1) return -1; // no reliable supporting read. stop doing anything
- }
- // set the PL array
- if (call->n < n) {
- call->n = n;
- call->PL = realloc(call->PL, 15 * n);
- }
- {
- int x, g[15], z;
- double sum_min = 0.;
- x = call->n_alleles * (call->n_alleles + 1) / 2;
- // get the possible genotypes
- for (i = z = 0; i < call->n_alleles; ++i)
- for (j = 0; j <= i; ++j)
- g[z++] = call->a[j] * 5 + call->a[i];
- for (i = 0; i < n; ++i) {
- uint8_t *PL = call->PL + x * i;
- const bcf_callret1_t *r = calls + i;
- float min = 1e37;
- for (j = 0; j < x; ++j)
- if (min > r->p[g[j]]) min = r->p[g[j]];
- sum_min += min;
- for (j = 0; j < x; ++j) {
- int y;
- y = (int)(r->p[g[j]] - min + .499);
- if (y > 255) y = 255;
- PL[j] = y;
- }
- }
-// if (ref_base < 0) fprintf(stderr, "%d,%d,%f,%d\n", call->n_alleles, x, sum_min, call->unseen);
- call->shift = (int)(sum_min + .499);
- }
- // combine annotations
- memset(call->anno, 0, 16 * sizeof(int));
- for (i = call->depth = call->ori_depth = 0, tmp = 0; i < n; ++i) {
- call->depth += calls[i].depth;
- call->ori_depth += calls[i].ori_depth;
- for (j = 0; j < 16; ++j) call->anno[j] += calls[i].anno[j];
- }
-
- calc_vdb(bca, call);
- calc_ReadPosBias(bca, call);
-
- return 0;
-}
-
-int bcf_call2bcf(int tid, int pos, bcf_call_t *bc, bcf1_t *b, bcf_callret1_t *bcr, int fmt_flag,
- const bcf_callaux_t *bca, const char *ref)
-{
- extern double kt_fisher_exact(int n11, int n12, int n21, int n22, double *_left, double *_right, double *two);
- kstring_t s;
- int i, j;
- b->n_smpl = bc->n;
- b->tid = tid; b->pos = pos; b->qual = 0;
- s.s = b->str; s.m = b->m_str; s.l = 0;
- kputc('\0', &s);
- if (bc->ori_ref < 0) { // an indel
- // write REF
- kputc(ref[pos], &s);
- for (j = 0; j < bca->indelreg; ++j) kputc(ref[pos+1+j], &s);
- kputc('\0', &s);
- // write ALT
- kputc(ref[pos], &s);
- for (i = 1; i < 4; ++i) {
- if (bc->a[i] < 0) break;
- if (i > 1) {
- kputc(',', &s); kputc(ref[pos], &s);
- }
- if (bca->indel_types[bc->a[i]] < 0) { // deletion
- for (j = -bca->indel_types[bc->a[i]]; j < bca->indelreg; ++j)
- kputc(ref[pos+1+j], &s);
- } else { // insertion; cannot be a reference unless a bug
- char *inscns = &bca->inscns[bc->a[i] * bca->maxins];
- for (j = 0; j < bca->indel_types[bc->a[i]]; ++j)
- kputc("ACGTN"[(int)inscns[j]], &s);
- for (j = 0; j < bca->indelreg; ++j) kputc(ref[pos+1+j], &s);
- }
- }
- kputc('\0', &s);
- } else { // a SNP
- kputc("ACGTN"[bc->ori_ref], &s); kputc('\0', &s);
- for (i = 1; i < 5; ++i) {
- if (bc->a[i] < 0) break;
- if (i > 1) kputc(',', &s);
- kputc(bc->unseen == i? 'X' : "ACGT"[bc->a[i]], &s);
- }
- kputc('\0', &s);
- }
- kputc('\0', &s);
- // INFO
- if (bc->ori_ref < 0) ksprintf(&s,"INDEL;IS=%d,%f;", bca->max_support, bca->max_frac);
- kputs("DP=", &s); kputw(bc->ori_depth, &s); kputs(";I16=", &s);
- for (i = 0; i < 16; ++i) {
- if (i) kputc(',', &s);
- kputw(bc->anno[i], &s);
- }
- //ksprintf(&s,";RPS=%d,%f,%f", bc->read_pos.dp,bc->read_pos.avg,bc->read_pos.var);
- ksprintf(&s,";QS=%f,%f,%f,%f", bc->qsum[0],bc->qsum[1],bc->qsum[2],bc->qsum[3]);
- if (bc->vdb != -1)
- ksprintf(&s, ";VDB=%e", bc->vdb);
- if (bc->read_pos_bias != -1 )
- ksprintf(&s, ";RPB=%e", bc->read_pos_bias);
- kputc('\0', &s);
- // FMT
- kputs("PL", &s);
- if (bcr && fmt_flag) {
- if (fmt_flag & B2B_FMT_DP) kputs(":DP", &s);
- if (fmt_flag & B2B_FMT_DV) kputs(":DV", &s);
- if (fmt_flag & B2B_FMT_SP) kputs(":SP", &s);
- }
- kputc('\0', &s);
- b->m_str = s.m; b->str = s.s; b->l_str = s.l;
- bcf_sync(b);
- memcpy(b->gi[0].data, bc->PL, b->gi[0].len * bc->n);
- if (bcr && fmt_flag) {
- uint16_t *dp = (fmt_flag & B2B_FMT_DP)? b->gi[1].data : 0;
- uint16_t *dv = (fmt_flag & B2B_FMT_DV)? b->gi[1 + ((fmt_flag & B2B_FMT_DP) != 0)].data : 0;
- int32_t *sp = (fmt_flag & B2B_FMT_SP)? b->gi[1 + ((fmt_flag & B2B_FMT_DP) != 0) + ((fmt_flag & B2B_FMT_DV) != 0)].data : 0;
- for (i = 0; i < bc->n; ++i) {
- bcf_callret1_t *p = bcr + i;
- if (dp) dp[i] = p->depth < 0xffff? p->depth : 0xffff;
- if (dv) dv[i] = p->n_supp < 0xffff? p->n_supp : 0xffff;
- if (sp) {
- if (p->anno[0] + p->anno[1] < 2 || p->anno[2] + p->anno[3] < 2
- || p->anno[0] + p->anno[2] < 2 || p->anno[1] + p->anno[3] < 2)
- {
- sp[i] = 0;
- } else {
- double left, right, two;
- int x;
- kt_fisher_exact(p->anno[0], p->anno[1], p->anno[2], p->anno[3], &left, &right, &two);
- x = (int)(-4.343 * log(two) + .499);
- if (x > 255) x = 255;
- sp[i] = x;
- }
- }
- }
- }
- return 0;
-}
diff --git a/sam/bam2bcf.h b/sam/bam2bcf.h
deleted file mode 100644
index b2b1825..0000000
--- a/sam/bam2bcf.h
+++ /dev/null
@@ -1,67 +0,0 @@
-#ifndef BAM2BCF_H
-#define BAM2BCF_H
-
-#include <stdint.h>
-#include "errmod.h"
-#include "bcftools/bcf.h"
-
-#define B2B_INDEL_NULL 10000
-
-#define B2B_FMT_DP 0x1
-#define B2B_FMT_SP 0x2
-#define B2B_FMT_DV 0x4
-
-typedef struct __bcf_callaux_t {
- int capQ, min_baseQ;
- int openQ, extQ, tandemQ; // for indels
- int min_support, max_support; // for collecting indel candidates
- double min_frac, max_frac; // for collecting indel candidates
- int per_sample_flt; // indel filtering strategy
- int *ref_pos, *alt_pos, npos; // for ReadPosBias
- // for internal uses
- int max_bases;
- int indel_types[4];
- int maxins, indelreg;
- int read_len;
- char *inscns;
- uint16_t *bases;
- errmod_t *e;
- void *rghash;
-} bcf_callaux_t;
-
-typedef struct {
- int depth, n_supp, ori_depth, qsum[4];
- unsigned int anno[16];
- float p[25];
-} bcf_callret1_t;
-
-typedef struct {
- int a[5]; // alleles: ref, alt, alt2, alt3
- float qsum[4];
- int n, n_alleles, shift, ori_ref, unseen;
- int n_supp; // number of supporting non-reference reads
- unsigned int anno[16], depth, ori_depth;
- uint8_t *PL;
- float vdb; // variant distance bias
- float read_pos_bias;
- struct { float avg, var; int dp; } read_pos;
-} bcf_call_t;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
- bcf_callaux_t *bcf_call_init(double theta, int min_baseQ);
- void bcf_call_destroy(bcf_callaux_t *bca);
- int bcf_call_glfgen(int _n, const bam_pileup1_t *pl, int ref_base, bcf_callaux_t *bca, bcf_callret1_t *r);
- int bcf_call_combine(int n, const bcf_callret1_t *calls, bcf_callaux_t *bca, int ref_base /*4-bit*/, bcf_call_t *call);
- int bcf_call2bcf(int tid, int pos, bcf_call_t *bc, bcf1_t *b, bcf_callret1_t *bcr, int fmt_flag,
- const bcf_callaux_t *bca, const char *ref);
- int bcf_call_gap_prep(int n, int *n_plp, bam_pileup1_t **plp, int pos, bcf_callaux_t *bca, const char *ref,
- const void *rghash);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/sam/bam2bcf_indel.c b/sam/bam2bcf_indel.c
deleted file mode 100644
index 30b3f46..0000000
--- a/sam/bam2bcf_indel.c
+++ /dev/null
@@ -1,498 +0,0 @@
-#include <assert.h>
-#include <ctype.h>
-#include <string.h>
-#include "bam.h"
-#include "bam2bcf.h"
-#include "kaln.h"
-#include "kprobaln.h"
-#include "khash.h"
-KHASH_SET_INIT_STR(rg)
-
-#include "ksort.h"
-KSORT_INIT_GENERIC(uint32_t)
-
-#define MINUS_CONST 0x10000000
-#define INDEL_WINDOW_SIZE 50
-
-void *bcf_call_add_rg(void *_hash, const char *hdtext, const char *list)
-{
- const char *s, *p, *q, *r, *t;
- khash_t(rg) *hash;
- if (list == 0 || hdtext == 0) return _hash;
- if (_hash == 0) _hash = kh_init(rg);
- hash = (khash_t(rg)*)_hash;
- if ((s = strstr(hdtext, "@RG\t")) == 0) return hash;
- do {
- t = strstr(s + 4, "@RG\t"); // the next @RG
- if ((p = strstr(s, "\tID:")) != 0) p += 4;
- if ((q = strstr(s, "\tPL:")) != 0) q += 4;
- if (p && q && (t == 0 || (p < t && q < t))) { // ID and PL are both present
- int lp, lq;
- char *x;
- for (r = p; *r && *r != '\t' && *r != '\n'; ++r); lp = r - p;
- for (r = q; *r && *r != '\t' && *r != '\n'; ++r); lq = r - q;
- x = calloc((lp > lq? lp : lq) + 1, 1);
- for (r = q; *r && *r != '\t' && *r != '\n'; ++r) x[r-q] = *r;
- if (strstr(list, x)) { // insert ID to the hash table
- khint_t k;
- int ret;
- for (r = p; *r && *r != '\t' && *r != '\n'; ++r) x[r-p] = *r;
- x[r-p] = 0;
- k = kh_get(rg, hash, x);
- if (k == kh_end(hash)) k = kh_put(rg, hash, x, &ret);
- else free(x);
- } else free(x);
- }
- s = t;
- } while (s);
- return hash;
-}
-
-void bcf_call_del_rghash(void *_hash)
-{
- khint_t k;
- khash_t(rg) *hash = (khash_t(rg)*)_hash;
- if (hash == 0) return;
- for (k = kh_begin(hash); k < kh_end(hash); ++k)
- if (kh_exist(hash, k))
- free((char*)kh_key(hash, k));
- kh_destroy(rg, hash);
-}
-
-static int tpos2qpos(const bam1_core_t *c, const uint32_t *cigar, int32_t tpos, int is_left, int32_t *_tpos)
-{
- int k, x = c->pos, y = 0, last_y = 0;
- *_tpos = c->pos;
- for (k = 0; k < c->n_cigar; ++k) {
- int op = cigar[k] & BAM_CIGAR_MASK;
- int l = cigar[k] >> BAM_CIGAR_SHIFT;
- if (op == BAM_CMATCH || op == BAM_CEQUAL || op == BAM_CDIFF) {
- if (c->pos > tpos) return y;
- if (x + l > tpos) {
- *_tpos = tpos;
- return y + (tpos - x);
- }
- x += l; y += l;
- last_y = y;
- } else if (op == BAM_CINS || op == BAM_CSOFT_CLIP) y += l;
- else if (op == BAM_CDEL || op == BAM_CREF_SKIP) {
- if (x + l > tpos) {
- *_tpos = is_left? x : x + l;
- return y;
- }
- x += l;
- }
- }
- *_tpos = x;
- return last_y;
-}
-// FIXME: check if the inserted sequence is consistent with the homopolymer run
-// l is the relative gap length and l_run is the length of the homopolymer on the reference
-static inline int est_seqQ(const bcf_callaux_t *bca, int l, int l_run)
-{
- int q, qh;
- q = bca->openQ + bca->extQ * (abs(l) - 1);
- qh = l_run >= 3? (int)(bca->tandemQ * (double)abs(l) / l_run + .499) : 1000;
- return q < qh? q : qh;
-}
-
-static inline int est_indelreg(int pos, const char *ref, int l, char *ins4)
-{
- int i, j, max = 0, max_i = pos, score = 0;
- l = abs(l);
- for (i = pos + 1, j = 0; ref[i]; ++i, ++j) {
- if (ins4) score += (toupper(ref[i]) != "ACGTN"[(int)ins4[j%l]])? -10 : 1;
- else score += (toupper(ref[i]) != toupper(ref[pos+1+j%l]))? -10 : 1;
- if (score < 0) break;
- if (max < score) max = score, max_i = i;
- }
- return max_i - pos;
-}
-
-/*
- * @n: number of samples
- */
-int bcf_call_gap_prep(int n, int *n_plp, bam_pileup1_t **plp, int pos, bcf_callaux_t *bca, const char *ref,
- const void *rghash)
-{
- int i, s, j, k, t, n_types, *types, max_rd_len, left, right, max_ins, *score1, *score2, max_ref2;
- int N, K, l_run, ref_type, n_alt;
- char *inscns = 0, *ref2, *query, **ref_sample;
- khash_t(rg) *hash = (khash_t(rg)*)rghash;
- if (ref == 0 || bca == 0) return -1;
- // mark filtered reads
- if (rghash) {
- N = 0;
- for (s = N = 0; s < n; ++s) {
- for (i = 0; i < n_plp[s]; ++i) {
- bam_pileup1_t *p = plp[s] + i;
- const uint8_t *rg = bam_aux_get(p->b, "RG");
- p->aux = 1; // filtered by default
- if (rg) {
- khint_t k = kh_get(rg, hash, (const char*)(rg + 1));
- if (k != kh_end(hash)) p->aux = 0, ++N; // not filtered
- }
- }
- }
- if (N == 0) return -1; // no reads left
- }
- // determine if there is a gap
- for (s = N = 0; s < n; ++s) {
- for (i = 0; i < n_plp[s]; ++i)
- if (plp[s][i].indel != 0) break;
- if (i < n_plp[s]) break;
- }
- if (s == n) return -1; // there is no indel at this position.
- for (s = N = 0; s < n; ++s) N += n_plp[s]; // N is the total number of reads
- { // find out how many types of indels are present
- bca->max_support = bca->max_frac = 0;
- int m, n_alt = 0, n_tot = 0, indel_support_ok = 0;
- uint32_t *aux;
- aux = calloc(N + 1, 4);
- m = max_rd_len = 0;
- aux[m++] = MINUS_CONST; // zero indel is always a type
- for (s = 0; s < n; ++s) {
- int na = 0, nt = 0;
- for (i = 0; i < n_plp[s]; ++i) {
- const bam_pileup1_t *p = plp[s] + i;
- if (rghash == 0 || p->aux == 0) {
- ++nt;
- if (p->indel != 0) {
- ++na;
- aux[m++] = MINUS_CONST + p->indel;
- }
- }
- j = bam_cigar2qlen(&p->b->core, bam1_cigar(p->b));
- if (j > max_rd_len) max_rd_len = j;
- }
- float frac = (float)na/nt;
- if ( !indel_support_ok && na >= bca->min_support && frac >= bca->min_frac )
- indel_support_ok = 1;
- if ( na > bca->max_support && frac > 0 ) bca->max_support = na, bca->max_frac = frac;
- n_alt += na;
- n_tot += nt;
- }
- // To prevent long stretches of N's to be mistaken for indels (sometimes thousands of bases),
- // check the number of N's in the sequence and skip places where half or more reference bases are Ns.
- int nN=0; for (i=pos; i-pos<max_rd_len && ref[i]; i++) if ( ref[i]=='N' ) nN++;
- if ( nN*2>i ) { free(aux); return -1; }
-
- ks_introsort(uint32_t, m, aux);
- // squeeze out identical types
- for (i = 1, n_types = 1; i < m; ++i)
- if (aux[i] != aux[i-1]) ++n_types;
- // Taking totals makes it hard to call rare indels
- if ( !bca->per_sample_flt )
- indel_support_ok = ( (float)n_alt / n_tot < bca->min_frac || n_alt < bca->min_support ) ? 0 : 1;
- if ( n_types == 1 || !indel_support_ok ) { // then skip
- free(aux); return -1;
- }
- if (n_types >= 64) {
- free(aux);
- if (bam_verbose >= 2)
- fprintf(stderr, "[%s] excessive INDEL alleles at position %d. Skip the position.\n", __func__, pos + 1);
- return -1;
- }
- types = (int*)calloc(n_types, sizeof(int));
- t = 0;
- types[t++] = aux[0] - MINUS_CONST;
- for (i = 1; i < m; ++i)
- if (aux[i] != aux[i-1])
- types[t++] = aux[i] - MINUS_CONST;
- free(aux);
- for (t = 0; t < n_types; ++t)
- if (types[t] == 0) break;
- ref_type = t; // the index of the reference type (0)
- }
- { // calculate left and right boundary
- left = pos > INDEL_WINDOW_SIZE? pos - INDEL_WINDOW_SIZE : 0;
- right = pos + INDEL_WINDOW_SIZE;
- if (types[0] < 0) right -= types[0];
- // in case the alignments stand out the reference
- for (i = pos; i < right; ++i)
- if (ref[i] == 0) break;
- right = i;
- }
- /* The following block fixes a long-existing flaw in the INDEL
- * calling model: the interference of nearby SNPs. However, it also
- * reduces the power because sometimes, substitutions caused by
- * indels are not distinguishable from true mutations. Multiple
- * sequence realignment helps to increase the power.
- *
- * Masks mismatches present in at least 70% of the reads with 'N'.
- */
- { // construct per-sample consensus
- int L = right - left + 1, max_i, max2_i;
- uint32_t *cns, max, max2;
- char *ref0, *r;
- ref_sample = calloc(n, sizeof(void*));
- cns = calloc(L, 4);
- ref0 = calloc(L, 1);
- for (i = 0; i < right - left; ++i)
- ref0[i] = bam_nt16_table[(int)ref[i+left]];
- for (s = 0; s < n; ++s) {
- r = ref_sample[s] = calloc(L, 1);
- memset(cns, 0, sizeof(int) * L);
- // collect ref and non-ref counts
- for (i = 0; i < n_plp[s]; ++i) {
- bam_pileup1_t *p = plp[s] + i;
- bam1_t *b = p->b;
- uint32_t *cigar = bam1_cigar(b);
- uint8_t *seq = bam1_seq(b);
- int x = b->core.pos, y = 0;
- for (k = 0; k < b->core.n_cigar; ++k) {
- int op = cigar[k]&0xf;
- int j, l = cigar[k]>>4;
- if (op == BAM_CMATCH || op == BAM_CEQUAL || op == BAM_CDIFF) {
- for (j = 0; j < l; ++j)
- if (x + j >= left && x + j < right)
- cns[x+j-left] += (bam1_seqi(seq, y+j) == ref0[x+j-left])? 1 : 0x10000;
- x += l; y += l;
- } else if (op == BAM_CDEL || op == BAM_CREF_SKIP) x += l;
- else if (op == BAM_CINS || op == BAM_CSOFT_CLIP) y += l;
- }
- }
- // determine the consensus
- for (i = 0; i < right - left; ++i) r[i] = ref0[i];
- max = max2 = 0; max_i = max2_i = -1;
- for (i = 0; i < right - left; ++i) {
- if (cns[i]>>16 >= max>>16) max2 = max, max2_i = max_i, max = cns[i], max_i = i;
- else if (cns[i]>>16 >= max2>>16) max2 = cns[i], max2_i = i;
- }
- if ((double)(max&0xffff) / ((max&0xffff) + (max>>16)) >= 0.7) max_i = -1;
- if ((double)(max2&0xffff) / ((max2&0xffff) + (max2>>16)) >= 0.7) max2_i = -1;
- if (max_i >= 0) r[max_i] = 15;
- if (max2_i >= 0) r[max2_i] = 15;
- //for (i = 0; i < right - left; ++i) fputc("=ACMGRSVTWYHKDBN"[(int)r[i]], stderr); fputc('\n', stderr);
- }
- free(ref0); free(cns);
- }
- { // the length of the homopolymer run around the current position
- int c = bam_nt16_table[(int)ref[pos + 1]];
- if (c == 15) l_run = 1;
- else {
- for (i = pos + 2; ref[i]; ++i)
- if (bam_nt16_table[(int)ref[i]] != c) break;
- l_run = i;
- for (i = pos; i >= 0; --i)
- if (bam_nt16_table[(int)ref[i]] != c) break;
- l_run -= i + 1;
- }
- }
- // construct the consensus sequence
- max_ins = types[n_types - 1]; // max_ins is at least 0
- if (max_ins > 0) {
- int *inscns_aux = calloc(5 * n_types * max_ins, sizeof(int));
- // count the number of occurrences of each base at each position for each type of insertion
- for (t = 0; t < n_types; ++t) {
- if (types[t] > 0) {
- for (s = 0; s < n; ++s) {
- for (i = 0; i < n_plp[s]; ++i) {
- bam_pileup1_t *p = plp[s] + i;
- if (p->indel == types[t]) {
- uint8_t *seq = bam1_seq(p->b);
- for (k = 1; k <= p->indel; ++k) {
- int c = bam_nt16_nt4_table[bam1_seqi(seq, p->qpos + k)];
- assert(c<5);
- ++inscns_aux[(t*max_ins+(k-1))*5 + c];
- }
- }
- }
- }
- }
- }
- // use the majority rule to construct the consensus
- inscns = calloc(n_types * max_ins, 1);
- for (t = 0; t < n_types; ++t) {
- for (j = 0; j < types[t]; ++j) {
- int max = 0, max_k = -1, *ia = &inscns_aux[(t*max_ins+j)*5];
- for (k = 0; k < 5; ++k)
- if (ia[k] > max)
- max = ia[k], max_k = k;
- inscns[t*max_ins + j] = max? max_k : 4;
- if ( max_k==4 ) { types[t] = 0; break; } // discard insertions which contain N's
- }
- }
- free(inscns_aux);
- }
- // compute the likelihood given each type of indel for each read
- max_ref2 = right - left + 2 + 2 * (max_ins > -types[0]? max_ins : -types[0]);
- ref2 = calloc(max_ref2, 1);
- query = calloc(right - left + max_rd_len + max_ins + 2, 1);
- score1 = calloc(N * n_types, sizeof(int));
- score2 = calloc(N * n_types, sizeof(int));
- bca->indelreg = 0;
- for (t = 0; t < n_types; ++t) {
- int l, ir;
- kpa_par_t apf1 = { 1e-4, 1e-2, 10 }, apf2 = { 1e-6, 1e-3, 10 };
- apf1.bw = apf2.bw = abs(types[t]) + 3;
- // compute indelreg
- if (types[t] == 0) ir = 0;
- else if (types[t] > 0) ir = est_indelreg(pos, ref, types[t], &inscns[t*max_ins]);
- else ir = est_indelreg(pos, ref, -types[t], 0);
- if (ir > bca->indelreg) bca->indelreg = ir;
-// fprintf(stderr, "%d, %d, %d\n", pos, types[t], ir);
- // realignment
- for (s = K = 0; s < n; ++s) {
- // write ref2
- for (k = 0, j = left; j <= pos; ++j)
- ref2[k++] = bam_nt16_nt4_table[(int)ref_sample[s][j-left]];
- if (types[t] <= 0) j += -types[t];
- else for (l = 0; l < types[t]; ++l)
- ref2[k++] = inscns[t*max_ins + l];
- for (; j < right && ref[j]; ++j)
- ref2[k++] = bam_nt16_nt4_table[(int)ref_sample[s][j-left]];
- for (; k < max_ref2; ++k) ref2[k] = 4;
- if (j < right) right = j;
- // align each read to ref2
- for (i = 0; i < n_plp[s]; ++i, ++K) {
- bam_pileup1_t *p = plp[s] + i;
- int qbeg, qend, tbeg, tend, sc, kk;
- uint8_t *seq = bam1_seq(p->b);
- uint32_t *cigar = bam1_cigar(p->b);
- if (p->b->core.flag&4) continue; // unmapped reads
- // FIXME: the following loop should be better moved outside; nonetheless, realignment should be much slower anyway.
- for (kk = 0; kk < p->b->core.n_cigar; ++kk)
- if ((cigar[kk]&BAM_CIGAR_MASK) == BAM_CREF_SKIP) break;
- if (kk < p->b->core.n_cigar) continue;
- // FIXME: the following skips soft clips, but using them may be more sensitive.
- // determine the start and end of sequences for alignment
- qbeg = tpos2qpos(&p->b->core, bam1_cigar(p->b), left, 0, &tbeg);
- qend = tpos2qpos(&p->b->core, bam1_cigar(p->b), right, 1, &tend);
- if (types[t] < 0) {
- int l = -types[t];
- tbeg = tbeg - l > left? tbeg - l : left;
- }
- // write the query sequence
- for (l = qbeg; l < qend; ++l)
- query[l - qbeg] = bam_nt16_nt4_table[bam1_seqi(seq, l)];
- { // do realignment; this is the bottleneck
- const uint8_t *qual = bam1_qual(p->b), *bq;
- uint8_t *qq;
- qq = calloc(qend - qbeg, 1);
- bq = (uint8_t*)bam_aux_get(p->b, "ZQ");
- if (bq) ++bq; // skip type
- for (l = qbeg; l < qend; ++l) {
- qq[l - qbeg] = bq? qual[l] + (bq[l] - 64) : qual[l];
- if (qq[l - qbeg] > 30) qq[l - qbeg] = 30;
- if (qq[l - qbeg] < 7) qq[l - qbeg] = 7;
- }
- sc = kpa_glocal((uint8_t*)ref2 + tbeg - left, tend - tbeg + abs(types[t]),
- (uint8_t*)query, qend - qbeg, qq, &apf1, 0, 0);
- l = (int)(100. * sc / (qend - qbeg) + .499); // used for adjusting indelQ below
- if (l > 255) l = 255;
- score1[K*n_types + t] = score2[K*n_types + t] = sc<<8 | l;
- if (sc > 5) {
- sc = kpa_glocal((uint8_t*)ref2 + tbeg - left, tend - tbeg + abs(types[t]),
- (uint8_t*)query, qend - qbeg, qq, &apf2, 0, 0);
- l = (int)(100. * sc / (qend - qbeg) + .499);
- if (l > 255) l = 255;
- score2[K*n_types + t] = sc<<8 | l;
- }
- free(qq);
- }
-/*
- for (l = 0; l < tend - tbeg + abs(types[t]); ++l)
- fputc("ACGTN"[(int)ref2[tbeg-left+l]], stderr);
- fputc('\n', stderr);
- for (l = 0; l < qend - qbeg; ++l) fputc("ACGTN"[(int)query[l]], stderr);
- fputc('\n', stderr);
- fprintf(stderr, "pos=%d type=%d read=%d:%d name=%s qbeg=%d tbeg=%d score=%d\n", pos, types[t], s, i, bam1_qname(p->b), qbeg, tbeg, sc);
-*/
- }
- }
- }
- free(ref2); free(query);
- { // compute indelQ
- int *sc, tmp, *sumq;
- sc = alloca(n_types * sizeof(int));
- sumq = alloca(n_types * sizeof(int));
- memset(sumq, 0, sizeof(int) * n_types);
- for (s = K = 0; s < n; ++s) {
- for (i = 0; i < n_plp[s]; ++i, ++K) {
- bam_pileup1_t *p = plp[s] + i;
- int *sct = &score1[K*n_types], indelQ1, indelQ2, seqQ, indelQ;
- for (t = 0; t < n_types; ++t) sc[t] = sct[t]<<6 | t;
- for (t = 1; t < n_types; ++t) // insertion sort
- for (j = t; j > 0 && sc[j] < sc[j-1]; --j)
- tmp = sc[j], sc[j] = sc[j-1], sc[j-1] = tmp;
- /* errmod_cal() assumes that if the call is wrong, the
- * likelihoods of other events are equal. This is about
- * right for substitutions, but is not desired for
- * indels. To reuse errmod_cal(), I have to make
- * compromise for multi-allelic indels.
- */
- if ((sc[0]&0x3f) == ref_type) {
- indelQ1 = (sc[1]>>14) - (sc[0]>>14);
- seqQ = est_seqQ(bca, types[sc[1]&0x3f], l_run);
- } else {
- for (t = 0; t < n_types; ++t) // look for the reference type
- if ((sc[t]&0x3f) == ref_type) break;
- indelQ1 = (sc[t]>>14) - (sc[0]>>14);
- seqQ = est_seqQ(bca, types[sc[0]&0x3f], l_run);
- }
- tmp = sc[0]>>6 & 0xff;
- indelQ1 = tmp > 111? 0 : (int)((1. - tmp/111.) * indelQ1 + .499); // reduce indelQ
- sct = &score2[K*n_types];
- for (t = 0; t < n_types; ++t) sc[t] = sct[t]<<6 | t;
- for (t = 1; t < n_types; ++t) // insertion sort
- for (j = t; j > 0 && sc[j] < sc[j-1]; --j)
- tmp = sc[j], sc[j] = sc[j-1], sc[j-1] = tmp;
- if ((sc[0]&0x3f) == ref_type) {
- indelQ2 = (sc[1]>>14) - (sc[0]>>14);
- } else {
- for (t = 0; t < n_types; ++t) // look for the reference type
- if ((sc[t]&0x3f) == ref_type) break;
- indelQ2 = (sc[t]>>14) - (sc[0]>>14);
- }
- tmp = sc[0]>>6 & 0xff;
- indelQ2 = tmp > 111? 0 : (int)((1. - tmp/111.) * indelQ2 + .499);
- // pick the smaller between indelQ1 and indelQ2
- indelQ = indelQ1 < indelQ2? indelQ1 : indelQ2;
- if (indelQ > 255) indelQ = 255;
- if (seqQ > 255) seqQ = 255;
- p->aux = (sc[0]&0x3f)<<16 | seqQ<<8 | indelQ; // use 22 bits in total
- sumq[sc[0]&0x3f] += indelQ < seqQ? indelQ : seqQ;
-// fprintf(stderr, "pos=%d read=%d:%d name=%s call=%d indelQ=%d seqQ=%d\n", pos, s, i, bam1_qname(p->b), types[sc[0]&0x3f], indelQ, seqQ);
- }
- }
- // determine bca->indel_types[] and bca->inscns
- bca->maxins = max_ins;
- bca->inscns = realloc(bca->inscns, bca->maxins * 4);
- for (t = 0; t < n_types; ++t)
- sumq[t] = sumq[t]<<6 | t;
- for (t = 1; t < n_types; ++t) // insertion sort
- for (j = t; j > 0 && sumq[j] > sumq[j-1]; --j)
- tmp = sumq[j], sumq[j] = sumq[j-1], sumq[j-1] = tmp;
- for (t = 0; t < n_types; ++t) // look for the reference type
- if ((sumq[t]&0x3f) == ref_type) break;
- if (t) { // then move the reference type to the first
- tmp = sumq[t];
- for (; t > 0; --t) sumq[t] = sumq[t-1];
- sumq[0] = tmp;
- }
- for (t = 0; t < 4; ++t) bca->indel_types[t] = B2B_INDEL_NULL;
- for (t = 0; t < 4 && t < n_types; ++t) {
- bca->indel_types[t] = types[sumq[t]&0x3f];
- memcpy(&bca->inscns[t * bca->maxins], &inscns[(sumq[t]&0x3f) * max_ins], bca->maxins);
- }
- // update p->aux
- for (s = n_alt = 0; s < n; ++s) {
- for (i = 0; i < n_plp[s]; ++i) {
- bam_pileup1_t *p = plp[s] + i;
- int x = types[p->aux>>16&0x3f];
- for (j = 0; j < 4; ++j)
- if (x == bca->indel_types[j]) break;
- p->aux = j<<16 | (j == 4? 0 : (p->aux&0xffff));
- if ((p->aux>>16&0x3f) > 0) ++n_alt;
-// fprintf(stderr, "X pos=%d read=%d:%d name=%s call=%d type=%d q=%d seqQ=%d\n", pos, s, i, bam1_qname(p->b), p->aux>>16&63, bca->indel_types[p->aux>>16&63], p->aux&0xff, p->aux>>8&0xff);
- }
- }
- }
- free(score1); free(score2);
- // free
- for (i = 0; i < n; ++i) free(ref_sample[i]);
- free(ref_sample);
- free(types); free(inscns);
- return n_alt > 0? 0 : -1;
-}
diff --git a/sam/bam2depth.c b/sam/bam2depth.c
deleted file mode 100644
index 02311ef..0000000
--- a/sam/bam2depth.c
+++ /dev/null
@@ -1,143 +0,0 @@
-/* This program demonstrates how to generate pileup from multiple BAMs
- * simutaneously, to achieve random access and to use the BED interface.
- * To compile this program separately, you may:
- *
- * gcc -g -O2 -Wall -o bam2depth -D_MAIN_BAM2DEPTH bam2depth.c -L. -lbam -lz
- */
-#include <stdlib.h>
-#include <string.h>
-#include <stdio.h>
-#include <unistd.h>
-#include "bam.h"
-
-typedef struct { // auxiliary data structure
- bamFile fp; // the file handler
- bam_iter_t iter; // NULL if a region not specified
- int min_mapQ, min_len; // mapQ filter; length filter
-} aux_t;
-
-void *bed_read(const char *fn); // read a BED or position list file
-void bed_destroy(void *_h); // destroy the BED data structure
-int bed_overlap(const void *_h, const char *chr, int beg, int end); // test if chr:beg-end overlaps
-
-// This function reads a BAM alignment from one BAM file.
-static int read_bam(void *data, bam1_t *b) // read level filters better go here to avoid pileup
-{
- aux_t *aux = (aux_t*)data; // data in fact is a pointer to an auxiliary structure
- int ret = aux->iter? bam_iter_read(aux->fp, aux->iter, b) : bam_read1(aux->fp, b);
- if (!(b->core.flag&BAM_FUNMAP)) {
- if ((int)b->core.qual < aux->min_mapQ) b->core.flag |= BAM_FUNMAP;
- else if (aux->min_len && bam_cigar2qlen(&b->core, bam1_cigar(b)) < aux->min_len) b->core.flag |= BAM_FUNMAP;
- }
- return ret;
-}
-
-int read_file_list(const char *file_list,int *n,char **argv[]);
-
-#ifdef _MAIN_BAM2DEPTH
-int main(int argc, char *argv[])
-#else
-int main_depth(int argc, char *argv[])
-#endif
-{
- int i, n, tid, beg, end, pos, *n_plp, baseQ = 0, mapQ = 0, min_len = 0, nfiles;
- const bam_pileup1_t **plp;
- char *reg = 0; // specified region
- void *bed = 0; // BED data structure
- char *file_list = NULL, **fn = NULL;
- bam_header_t *h = 0; // BAM header of the 1st input
- aux_t **data;
- bam_mplp_t mplp;
-
- // parse the command line
- while ((n = getopt(argc, argv, "r:b:q:Q:l:f:")) >= 0) {
- switch (n) {
- case 'l': min_len = atoi(optarg); break; // minimum query length
- case 'r': reg = strdup(optarg); break; // parsing a region requires a BAM header
- case 'b': bed = bed_read(optarg); break; // BED or position list file can be parsed now
- case 'q': baseQ = atoi(optarg); break; // base quality threshold
- case 'Q': mapQ = atoi(optarg); break; // mapping quality threshold
- case 'f': file_list = optarg; break;
- }
- }
- if (optind == argc && !file_list) {
- fprintf(stderr, "\n");
- fprintf(stderr, "Usage: samtools depth [options] in1.bam [in2.bam [...]]\n");
- fprintf(stderr, "Options:\n");
- fprintf(stderr, " -b <bed> list of positions or regions\n");
- fprintf(stderr, " -f <list> list of input BAM filenames, one per line [null]\n");
- fprintf(stderr, " -l <int> minQLen\n");
- fprintf(stderr, " -q <int> base quality threshold\n");
- fprintf(stderr, " -Q <int> mapping quality threshold\n");
- fprintf(stderr, " -r <chr:from-to> region\n");
- fprintf(stderr, "\n");
- return 1;
- }
-
- // initialize the auxiliary data structures
- if (file_list)
- {
- if ( read_file_list(file_list,&nfiles,&fn) ) return 1;
- n = nfiles;
- argv = fn;
- optind = 0;
- }
- else
- n = argc - optind; // the number of BAMs on the command line
- data = calloc(n, sizeof(void*)); // data[i] for the i-th input
- beg = 0; end = 1<<30; tid = -1; // set the default region
- for (i = 0; i < n; ++i) {
- bam_header_t *htmp;
- data[i] = calloc(1, sizeof(aux_t));
- data[i]->fp = bam_open(argv[optind+i], "r"); // open BAM
- data[i]->min_mapQ = mapQ; // set the mapQ filter
- data[i]->min_len = min_len; // set the qlen filter
- htmp = bam_header_read(data[i]->fp); // read the BAM header
- if (i == 0) {
- h = htmp; // keep the header of the 1st BAM
- if (reg) bam_parse_region(h, reg, &tid, &beg, &end); // also parse the region
- } else bam_header_destroy(htmp); // if not the 1st BAM, trash the header
- if (tid >= 0) { // if a region is specified and parsed successfully
- bam_index_t *idx = bam_index_load(argv[optind+i]); // load the index
- data[i]->iter = bam_iter_query(idx, tid, beg, end); // set the iterator
- bam_index_destroy(idx); // the index is not needed any more; phase out of the memory
- }
- }
-
- // the core multi-pileup loop
- mplp = bam_mplp_init(n, read_bam, (void**)data); // initialization
- n_plp = calloc(n, sizeof(int)); // n_plp[i] is the number of covering reads from the i-th BAM
- plp = calloc(n, sizeof(void*)); // plp[i] points to the array of covering reads (internal in mplp)
- while (bam_mplp_auto(mplp, &tid, &pos, n_plp, plp) > 0) { // come to the next covered position
- if (pos < beg || pos >= end) continue; // out of range; skip
- if (bed && bed_overlap(bed, h->target_name[tid], pos, pos + 1) == 0) continue; // not in BED; skip
- fputs(h->target_name[tid], stdout); printf("\t%d", pos+1); // a customized printf() would be faster
- for (i = 0; i < n; ++i) { // base level filters have to go here
- int j, m = 0;
- for (j = 0; j < n_plp[i]; ++j) {
- const bam_pileup1_t *p = plp[i] + j; // DON'T modfity plp[][] unless you really know
- if (p->is_del || p->is_refskip) ++m; // having dels or refskips at tid:pos
- else if (bam1_qual(p->b)[p->qpos] < baseQ) ++m; // low base quality
- }
- printf("\t%d", n_plp[i] - m); // this the depth to output
- }
- putchar('\n');
- }
- free(n_plp); free(plp);
- bam_mplp_destroy(mplp);
-
- bam_header_destroy(h);
- for (i = 0; i < n; ++i) {
- bam_close(data[i]->fp);
- if (data[i]->iter) bam_iter_destroy(data[i]->iter);
- free(data[i]);
- }
- free(data); free(reg);
- if (bed) bed_destroy(bed);
- if ( file_list )
- {
- for (i=0; i<n; i++) free(fn[i]);
- free(fn);
- }
- return 0;
-}
diff --git a/sam/bam_aux.c b/sam/bam_aux.c
deleted file mode 100644
index 4bbf975..0000000
--- a/sam/bam_aux.c
+++ /dev/null
@@ -1,217 +0,0 @@
-#include <ctype.h>
-#include "bam.h"
-#include "khash.h"
-typedef char *str_p;
-KHASH_MAP_INIT_STR(s, int)
-KHASH_MAP_INIT_STR(r2l, str_p)
-
-void bam_aux_append(bam1_t *b, const char tag[2], char type, int len, uint8_t *data)
-{
- int ori_len = b->data_len;
- b->data_len += 3 + len;
- b->l_aux += 3 + len;
- if (b->m_data < b->data_len) {
- b->m_data = b->data_len;
- kroundup32(b->m_data);
- b->data = (uint8_t*)realloc(b->data, b->m_data);
- }
- b->data[ori_len] = tag[0]; b->data[ori_len + 1] = tag[1];
- b->data[ori_len + 2] = type;
- memcpy(b->data + ori_len + 3, data, len);
-}
-
-uint8_t *bam_aux_get_core(bam1_t *b, const char tag[2])
-{
- return bam_aux_get(b, tag);
-}
-
-#define __skip_tag(s) do { \
- int type = toupper(*(s)); \
- ++(s); \
- if (type == 'Z' || type == 'H') { while (*(s)) ++(s); ++(s); } \
- else if (type == 'B') (s) += 5 + bam_aux_type2size(*(s)) * (*(int32_t*)((s)+1)); \
- else (s) += bam_aux_type2size(type); \
- } while(0)
-
-uint8_t *bam_aux_get(const bam1_t *b, const char tag[2])
-{
- uint8_t *s;
- int y = tag[0]<<8 | tag[1];
- s = bam1_aux(b);
- while (s < b->data + b->data_len) {
- int x = (int)s[0]<<8 | s[1];
- s += 2;
- if (x == y) return s;
- __skip_tag(s);
- }
- return 0;
-}
-// s MUST BE returned by bam_aux_get()
-int bam_aux_del(bam1_t *b, uint8_t *s)
-{
- uint8_t *p, *aux;
- aux = bam1_aux(b);
- p = s - 2;
- __skip_tag(s);
- memmove(p, s, b->l_aux - (s - aux));
- b->data_len -= s - p;
- b->l_aux -= s - p;
- return 0;
-}
-
-int bam_aux_drop_other(bam1_t *b, uint8_t *s)
-{
- if (s) {
- uint8_t *p, *aux;
- aux = bam1_aux(b);
- p = s - 2;
- __skip_tag(s);
- memmove(aux, p, s - p);
- b->data_len -= b->l_aux - (s - p);
- b->l_aux = s - p;
- } else {
- b->data_len -= b->l_aux;
- b->l_aux = 0;
- }
- return 0;
-}
-
-void bam_init_header_hash(bam_header_t *header)
-{
- if (header->hash == 0) {
- int ret, i;
- khiter_t iter;
- khash_t(s) *h;
- header->hash = h = kh_init(s);
- for (i = 0; i < header->n_targets; ++i) {
- iter = kh_put(s, h, header->target_name[i], &ret);
- kh_value(h, iter) = i;
- }
- }
-}
-
-void bam_destroy_header_hash(bam_header_t *header)
-{
- if (header->hash)
- kh_destroy(s, (khash_t(s)*)header->hash);
-}
-
-int32_t bam_get_tid(const bam_header_t *header, const char *seq_name)
-{
- khint_t k;
- khash_t(s) *h = (khash_t(s)*)header->hash;
- k = kh_get(s, h, seq_name);
- return k == kh_end(h)? -1 : kh_value(h, k);
-}
-
-int bam_parse_region(bam_header_t *header, const char *str, int *ref_id, int *beg, int *end)
-{
- char *s;
- int i, l, k, name_end;
- khiter_t iter;
- khash_t(s) *h;
-
- bam_init_header_hash(header);
- h = (khash_t(s)*)header->hash;
-
- *ref_id = *beg = *end = -1;
- name_end = l = strlen(str);
- s = (char*)malloc(l+1);
- // remove space
- for (i = k = 0; i < l; ++i)
- if (!isspace(str[i])) s[k++] = str[i];
- s[k] = 0; l = k;
- // determine the sequence name
- for (i = l - 1; i >= 0; --i) if (s[i] == ':') break; // look for colon from the end
- if (i >= 0) name_end = i;
- if (name_end < l) { // check if this is really the end
- int n_hyphen = 0;
- for (i = name_end + 1; i < l; ++i) {
- if (s[i] == '-') ++n_hyphen;
- else if (!isdigit(s[i]) && s[i] != ',') break;
- }
- if (i < l || n_hyphen > 1) name_end = l; // malformated region string; then take str as the name
- s[name_end] = 0;
- iter = kh_get(s, h, s);
- if (iter == kh_end(h)) { // cannot find the sequence name
- iter = kh_get(s, h, str); // try str as the name
- if (iter == kh_end(h)) {
- if (bam_verbose >= 2) fprintf(stderr, "[%s] fail to determine the sequence name.\n", __func__);
- free(s); return -1;
- } else s[name_end] = ':', name_end = l;
- }
- } else iter = kh_get(s, h, str);
- if (iter == kh_end(h)) {
- free(s);
- return -1;
- }
- *ref_id = kh_val(h, iter);
- // parse the interval
- if (name_end < l) {
- for (i = k = name_end + 1; i < l; ++i)
- if (s[i] != ',') s[k++] = s[i];
- s[k] = 0;
- *beg = atoi(s + name_end + 1);
- for (i = name_end + 1; i != k; ++i) if (s[i] == '-') break;
- *end = i < k? atoi(s + i + 1) : 1<<29;
- if (*beg > 0) --*beg;
- } else *beg = 0, *end = 1<<29;
- free(s);
- return *beg <= *end? 0 : -1;
-}
-
-int32_t bam_aux2i(const uint8_t *s)
-{
- int type;
- if (s == 0) return 0;
- type = *s++;
- if (type == 'c') return (int32_t)*(int8_t*)s;
- else if (type == 'C') return (int32_t)*(uint8_t*)s;
- else if (type == 's') return (int32_t)*(int16_t*)s;
- else if (type == 'S') return (int32_t)*(uint16_t*)s;
- else if (type == 'i' || type == 'I') return *(int32_t*)s;
- else return 0;
-}
-
-float bam_aux2f(const uint8_t *s)
-{
- int type;
- type = *s++;
- if (s == 0) return 0.0;
- if (type == 'f') return *(float*)s;
- else return 0.0;
-}
-
-double bam_aux2d(const uint8_t *s)
-{
- int type;
- type = *s++;
- if (s == 0) return 0.0;
- if (type == 'd') return *(double*)s;
- else return 0.0;
-}
-
-char bam_aux2A(const uint8_t *s)
-{
- int type;
- type = *s++;
- if (s == 0) return 0;
- if (type == 'A') return *(char*)s;
- else return 0;
-}
-
-char *bam_aux2Z(const uint8_t *s)
-{
- int type;
- type = *s++;
- if (s == 0) return 0;
- if (type == 'Z' || type == 'H') return (char*)s;
- else return 0;
-}
-
-#ifdef _WIN32
-double drand48()
-{
- return (double)rand() / RAND_MAX;
-}
-#endif
diff --git a/sam/bam_cat.c b/sam/bam_cat.c
deleted file mode 100644
index a7502b9..0000000
--- a/sam/bam_cat.c
+++ /dev/null
@@ -1,185 +0,0 @@
-/*
-
-bam_cat -- efficiently concatenates bam files
-
-bam_cat can be used to concatenate BAM files. Under special
-circumstances, it can be used as an alternative to 'samtools merge' to
-concatenate multiple sorted files into a single sorted file. For this
-to work each file must be sorted, and the sorted files must be given
-as command line arguments in order such that the final read in file i
-is less than or equal to the first read in file i+1.
-
-This code is derived from the bam_reheader function in samtools 0.1.8
-and modified to perform concatenation by Chris Saunders on behalf of
-Illumina.
-
-
-########## License:
-
-The MIT License
-
-Original SAMtools work copyright (c) 2008-2009 Genome Research Ltd.
-Modified SAMtools work copyright (c) 2010 Illumina, Inc.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-
-*/
-
-
-/*
-makefile:
-"""
-CC=gcc
-CFLAGS+=-g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE -I$(SAMTOOLS_DIR)
-LDFLAGS+=-L$(SAMTOOLS_DIR)
-LDLIBS+=-lbam -lz
-
-all:bam_cat
-"""
-*/
-
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-
-#include "knetfile.h"
-#include "bgzf.h"
-#include "bam.h"
-
-#define BUF_SIZE 0x10000
-
-#define GZIPID1 31
-#define GZIPID2 139
-
-#define BGZF_EMPTY_BLOCK_SIZE 28
-
-
-int bam_cat(int nfn, char * const *fn, const bam_header_t *h, const char* outbam)
-{
- BGZF *fp;
- FILE* fp_file;
- uint8_t *buf;
- uint8_t ebuf[BGZF_EMPTY_BLOCK_SIZE];
- const int es=BGZF_EMPTY_BLOCK_SIZE;
- int i;
-
- fp = strcmp(outbam, "-")? bgzf_open(outbam, "w") : bgzf_fdopen(fileno(stdout), "w");
- if (fp == 0) {
- fprintf(stderr, "[%s] ERROR: fail to open output file '%s'.\n", __func__, outbam);
- return 1;
- }
- if (h) bam_header_write(fp, h);
-
- buf = (uint8_t*) malloc(BUF_SIZE);
- for(i = 0; i < nfn; ++i){
- BGZF *in;
- bam_header_t *old;
- int len,j;
-
- in = strcmp(fn[i], "-")? bam_open(fn[i], "r") : bam_dopen(fileno(stdin), "r");
- if (in == 0) {
- fprintf(stderr, "[%s] ERROR: fail to open file '%s'.\n", __func__, fn[i]);
- return -1;
- }
- if (in->is_write) return -1;
-
- old = bam_header_read(in);
- if (h == 0 && i == 0) bam_header_write(fp, old);
-
- if (in->block_offset < in->block_length) {
- bgzf_write(fp, in->uncompressed_block + in->block_offset, in->block_length - in->block_offset);
- bgzf_flush(fp);
- }
-
- j=0;
-#ifdef _USE_KNETFILE
- fp_file = fp->fp;
- while ((len = knet_read(in->fp, buf, BUF_SIZE)) > 0) {
-#else
- fp_file = fp->fp;
- while (!feof(in->file) && (len = fread(buf, 1, BUF_SIZE, in->file)) > 0) {
-#endif
- if(len<es){
- int diff=es-len;
- if(j==0) {
- fprintf(stderr, "[%s] ERROR: truncated file?: '%s'.\n", __func__, fn[i]);
- return -1;
- }
- fwrite(ebuf, 1, len, fp_file);
- memcpy(ebuf,ebuf+len,diff);
- memcpy(ebuf+diff,buf,len);
- } else {
- if(j!=0) fwrite(ebuf, 1, es, fp_file);
- len-= es;
- memcpy(ebuf,buf+len,es);
- fwrite(buf, 1, len, fp_file);
- }
- j=1;
- }
-
- /* check final gzip block */
- {
- const uint8_t gzip1=ebuf[0];
- const uint8_t gzip2=ebuf[1];
- const uint32_t isize=*((uint32_t*)(ebuf+es-4));
- if(((gzip1!=GZIPID1) || (gzip2!=GZIPID2)) || (isize!=0)) {
- fprintf(stderr, "[%s] WARNING: Unexpected block structure in file '%s'.", __func__, fn[i]);
- fprintf(stderr, " Possible output corruption.\n");
- fwrite(ebuf, 1, es, fp_file);
- }
- }
- bam_header_destroy(old);
- bgzf_close(in);
- }
- free(buf);
- bgzf_close(fp);
- return 0;
-}
-
-
-
-int main_cat(int argc, char *argv[])
-{
- bam_header_t *h = 0;
- char *outfn = 0;
- int c, ret;
- while ((c = getopt(argc, argv, "h:o:")) >= 0) {
- switch (c) {
- case 'h': {
- tamFile fph = sam_open(optarg);
- if (fph == 0) {
- fprintf(stderr, "[%s] ERROR: fail to read the header from '%s'.\n", __func__, argv[1]);
- return 1;
- }
- h = sam_header_read(fph);
- sam_close(fph);
- break;
- }
- case 'o': outfn = strdup(optarg); break;
- }
- }
- if (argc - optind < 2) {
- fprintf(stderr, "Usage: samtools cat [-h header.sam] [-o out.bam] <in1.bam> <in2.bam> [...]\n");
- return 1;
- }
- ret = bam_cat(argc - optind, argv + optind, h, outfn? outfn : "-");
- free(outfn);
- return ret;
-}
diff --git a/sam/bam_color.c b/sam/bam_color.c
deleted file mode 100644
index 8b86e2f..0000000
--- a/sam/bam_color.c
+++ /dev/null
@@ -1,145 +0,0 @@
-#include <ctype.h>
-#include "bam.h"
-
-/*!
- @abstract Get the color encoding the previous and current base
- @param b pointer to an alignment
- @param i The i-th position, 0-based
- @return color
-
- @discussion Returns 0 no color information is found.
- */
-char bam_aux_getCSi(bam1_t *b, int i)
-{
- uint8_t *c = bam_aux_get(b, "CS");
- char *cs = NULL;
-
- // return the base if the tag was not found
- if(0 == c) return 0;
-
- cs = bam_aux2Z(c);
- // adjust for strandedness and leading adaptor
- if(bam1_strand(b)) {
- i = strlen(cs) - 1 - i;
- // adjust for leading hard clip
- uint32_t cigar = bam1_cigar(b)[0];
- if((cigar & BAM_CIGAR_MASK) == BAM_CHARD_CLIP) {
- i -= cigar >> BAM_CIGAR_SHIFT;
- }
- } else { i++; }
- return cs[i];
-}
-
-/*!
- @abstract Get the color quality of the color encoding the previous and current base
- @param b pointer to an alignment
- @param i The i-th position, 0-based
- @return color quality
-
- @discussion Returns 0 no color information is found.
- */
-char bam_aux_getCQi(bam1_t *b, int i)
-{
- uint8_t *c = bam_aux_get(b, "CQ");
- char *cq = NULL;
-
- // return the base if the tag was not found
- if(0 == c) return 0;
-
- cq = bam_aux2Z(c);
- // adjust for strandedness
- if(bam1_strand(b)) {
- i = strlen(cq) - 1 - i;
- // adjust for leading hard clip
- uint32_t cigar = bam1_cigar(b)[0];
- if((cigar & BAM_CIGAR_MASK) == BAM_CHARD_CLIP) {
- i -= (cigar >> BAM_CIGAR_SHIFT);
- }
- }
- return cq[i];
-}
-
-char bam_aux_nt2int(char a)
-{
- switch(toupper(a)) {
- case 'A':
- return 0;
- break;
- case 'C':
- return 1;
- break;
- case 'G':
- return 2;
- break;
- case 'T':
- return 3;
- break;
- default:
- return 4;
- break;
- }
-}
-
-char bam_aux_ntnt2cs(char a, char b)
-{
- a = bam_aux_nt2int(a);
- b = bam_aux_nt2int(b);
- if(4 == a || 4 == b) return '4';
- return "0123"[(int)(a ^ b)];
-}
-
-/*!
- @abstract Get the color error profile at the give position
- @param b pointer to an alignment
- @return the original color if the color was an error, '-' (dash) otherwise
-
- @discussion Returns 0 no color information is found.
- */
-char bam_aux_getCEi(bam1_t *b, int i)
-{
- int cs_i;
- uint8_t *c = bam_aux_get(b, "CS");
- char *cs = NULL;
- char prev_b, cur_b;
- char cur_color, cor_color;
-
- // return the base if the tag was not found
- if(0 == c) return 0;
-
- cs = bam_aux2Z(c);
-
- // adjust for strandedness and leading adaptor
- if(bam1_strand(b)) { //reverse strand
- cs_i = strlen(cs) - 1 - i;
- // adjust for leading hard clip
- uint32_t cigar = bam1_cigar(b)[0];
- if((cigar & BAM_CIGAR_MASK) == BAM_CHARD_CLIP) {
- cs_i -= cigar >> BAM_CIGAR_SHIFT;
- }
- // get current color
- cur_color = cs[cs_i];
- // get previous base. Note: must rc adaptor
- prev_b = (cs_i == 1) ? "TGCAN"[(int)bam_aux_nt2int(cs[0])] : bam_nt16_rev_table[bam1_seqi(bam1_seq(b), i+1)];
- // get current base
- cur_b = bam_nt16_rev_table[bam1_seqi(bam1_seq(b), i)];
- }
- else {
- cs_i=i+1;
- // get current color
- cur_color = cs[cs_i];
- // get previous base
- prev_b = (0 == i) ? cs[0] : bam_nt16_rev_table[bam1_seqi(bam1_seq(b), i-1)];
- // get current base
- cur_b = bam_nt16_rev_table[bam1_seqi(bam1_seq(b), i)];
- }
-
- // corrected color
- cor_color = bam_aux_ntnt2cs(prev_b, cur_b);
-
- if(cur_color == cor_color) {
- return '-';
- }
- else {
- return cur_color;
- }
-}
diff --git a/sam/bam_endian.h b/sam/bam_endian.h
deleted file mode 100644
index 0fc74a8..0000000
--- a/sam/bam_endian.h
+++ /dev/null
@@ -1,42 +0,0 @@
-#ifndef BAM_ENDIAN_H
-#define BAM_ENDIAN_H
-
-#include <stdint.h>
-
-static inline int bam_is_big_endian()
-{
- long one= 1;
- return !(*((char *)(&one)));
-}
-static inline uint16_t bam_swap_endian_2(uint16_t v)
-{
- return (uint16_t)(((v & 0x00FF00FFU) << 8) | ((v & 0xFF00FF00U) >> 8));
-}
-static inline void *bam_swap_endian_2p(void *x)
-{
- *(uint16_t*)x = bam_swap_endian_2(*(uint16_t*)x);
- return x;
-}
-static inline uint32_t bam_swap_endian_4(uint32_t v)
-{
- v = ((v & 0x0000FFFFU) << 16) | (v >> 16);
- return ((v & 0x00FF00FFU) << 8) | ((v & 0xFF00FF00U) >> 8);
-}
-static inline void *bam_swap_endian_4p(void *x)
-{
- *(uint32_t*)x = bam_swap_endian_4(*(uint32_t*)x);
- return x;
-}
-static inline uint64_t bam_swap_endian_8(uint64_t v)
-{
- v = ((v & 0x00000000FFFFFFFFLLU) << 32) | (v >> 32);
- v = ((v & 0x0000FFFF0000FFFFLLU) << 16) | ((v & 0xFFFF0000FFFF0000LLU) >> 16);
- return ((v & 0x00FF00FF00FF00FFLLU) << 8) | ((v & 0xFF00FF00FF00FF00LLU) >> 8);
-}
-static inline void *bam_swap_endian_8p(void *x)
-{
- *(uint64_t*)x = bam_swap_endian_8(*(uint64_t*)x);
- return x;
-}
-
-#endif
diff --git a/sam/bam_import.c b/sam/bam_import.c
deleted file mode 100644
index da2bf94..0000000
--- a/sam/bam_import.c
+++ /dev/null
@@ -1,489 +0,0 @@
-#include <zlib.h>
-#include <stdio.h>
-#include <ctype.h>
-#include <string.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <assert.h>
-#ifdef _WIN32
-#include <fcntl.h>
-#endif
-#include "kstring.h"
-#include "bam.h"
-#include "sam_header.h"
-#include "kseq.h"
-#include "khash.h"
-
-KSTREAM_INIT(gzFile, gzread, 16384)
-KHASH_MAP_INIT_STR(ref, uint64_t)
-
-void bam_init_header_hash(bam_header_t *header);
-void bam_destroy_header_hash(bam_header_t *header);
-int32_t bam_get_tid(const bam_header_t *header, const char *seq_name);
-
-unsigned char bam_nt16_table[256] = {
- 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15,
- 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15,
- 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15,
- 1, 2, 4, 8, 15,15,15,15, 15,15,15,15, 15, 0 /*=*/,15,15,
- 15, 1,14, 2, 13,15,15, 4, 11,15,15,12, 15, 3,15,15,
- 15,15, 5, 6, 8,15, 7, 9, 15,10,15,15, 15,15,15,15,
- 15, 1,14, 2, 13,15,15, 4, 11,15,15,12, 15, 3,15,15,
- 15,15, 5, 6, 8,15, 7, 9, 15,10,15,15, 15,15,15,15,
- 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15,
- 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15,
- 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15,
- 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15,
- 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15,
- 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15,
- 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15,
- 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15
-};
-
-unsigned short bam_char2flag_table[256] = {
- 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
- 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
- 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
- 0,BAM_FREAD1,BAM_FREAD2,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
- 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
- BAM_FPROPER_PAIR,0,BAM_FMREVERSE,0, 0,BAM_FMUNMAP,0,0, 0,0,0,0, 0,0,0,0,
- 0,0,0,0, BAM_FDUP,0,BAM_FQCFAIL,0, 0,0,0,0, 0,0,0,0,
- BAM_FPAIRED,0,BAM_FREVERSE,BAM_FSECONDARY, 0,BAM_FUNMAP,0,0, 0,0,0,0, 0,0,0,0,
- 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
- 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
- 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
- 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
- 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
- 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
- 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
- 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0
-};
-
-char *bam_nt16_rev_table = "=ACMGRSVTWYHKDBN";
-
-struct __tamFile_t {
- gzFile fp;
- kstream_t *ks;
- kstring_t *str;
- uint64_t n_lines;
- int is_first;
-};
-
-char **__bam_get_lines(const char *fn, int *_n) // for bam_plcmd.c only
-{
- char **list = 0, *s;
- int n = 0, dret, m = 0;
- gzFile fp = (strcmp(fn, "-") == 0)? gzdopen(fileno(stdin), "r") : gzopen(fn, "r");
- kstream_t *ks;
- kstring_t *str;
- str = (kstring_t*)calloc(1, sizeof(kstring_t));
- ks = ks_init(fp);
- while (ks_getuntil(ks, '\n', str, &dret) > 0) {
- if (n == m) {
- m = m? m << 1 : 16;
- list = (char**)realloc(list, m * sizeof(char*));
- }
- if (str->s[str->l-1] == '\r')
- str->s[--str->l] = '\0';
- s = list[n++] = (char*)calloc(str->l + 1, 1);
- strcpy(s, str->s);
- }
- ks_destroy(ks);
- gzclose(fp);
- free(str->s); free(str);
- *_n = n;
- return list;
-}
-
-static bam_header_t *hash2header(const kh_ref_t *hash)
-{
- bam_header_t *header;
- khiter_t k;
- header = bam_header_init();
- header->n_targets = kh_size(hash);
- header->target_name = (char**)calloc(kh_size(hash), sizeof(char*));
- header->target_len = (uint32_t*)calloc(kh_size(hash), 4);
- for (k = kh_begin(hash); k != kh_end(hash); ++k) {
- if (kh_exist(hash, k)) {
- int i = (int)kh_value(hash, k);
- header->target_name[i] = (char*)kh_key(hash, k);
- header->target_len[i] = kh_value(hash, k)>>32;
- }
- }
- bam_init_header_hash(header);
- return header;
-}
-bam_header_t *sam_header_read2(const char *fn)
-{
- bam_header_t *header;
- int c, dret, ret, error = 0;
- gzFile fp;
- kstream_t *ks;
- kstring_t *str;
- kh_ref_t *hash;
- khiter_t k;
- if (fn == 0) return 0;
- fp = (strcmp(fn, "-") == 0)? gzdopen(fileno(stdin), "r") : gzopen(fn, "r");
- if (fp == 0) return 0;
- hash = kh_init(ref);
- ks = ks_init(fp);
- str = (kstring_t*)calloc(1, sizeof(kstring_t));
- while (ks_getuntil(ks, 0, str, &dret) > 0) {
- char *s = strdup(str->s);
- int len, i;
- i = kh_size(hash);
- ks_getuntil(ks, 0, str, &dret);
- len = atoi(str->s);
- k = kh_put(ref, hash, s, &ret);
- if (ret == 0) {
- fprintf(stderr, "[sam_header_read2] duplicated sequence name: %s\n", s);
- error = 1;
- }
- kh_value(hash, k) = (uint64_t)len<<32 | i;
- if (dret != '\n')
- while ((c = ks_getc(ks)) != '\n' && c != -1);
- }
- ks_destroy(ks);
- gzclose(fp);
- free(str->s); free(str);
- fprintf(stderr, "[sam_header_read2] %d sequences loaded.\n", kh_size(hash));
- if (error) return 0;
- header = hash2header(hash);
- kh_destroy(ref, hash);
- return header;
-}
-static inline uint8_t *alloc_data(bam1_t *b, int size)
-{
- if (b->m_data < size) {
- b->m_data = size;
- kroundup32(b->m_data);
- b->data = (uint8_t*)realloc(b->data, b->m_data);
- }
- return b->data;
-}
-static inline void parse_error(int64_t n_lines, const char * __restrict msg)
-{
- fprintf(stderr, "Parse error at line %lld: %s\n", (long long)n_lines, msg);
- abort();
-}
-static inline void append_text(bam_header_t *header, kstring_t *str)
-{
- size_t x = header->l_text, y = header->l_text + str->l + 2; // 2 = 1 byte dret + 1 byte null
- kroundup32(x); kroundup32(y);
- if (x < y)
- {
- header->n_text = y;
- header->text = (char*)realloc(header->text, y);
- if ( !header->text )
- {
- fprintf(stderr,"realloc failed to alloc %ld bytes\n", y);
- abort();
- }
- }
- // Sanity check
- if ( header->l_text+str->l+1 >= header->n_text )
- {
- fprintf(stderr,"append_text FIXME: %ld>=%ld, x=%ld,y=%ld\n", header->l_text+str->l+1,(long)header->n_text,x,y);
- abort();
- }
- strncpy(header->text + header->l_text, str->s, str->l+1); // we cannot use strcpy() here.
- header->l_text += str->l + 1;
- header->text[header->l_text] = 0;
-}
-
-int sam_header_parse(bam_header_t *h)
-{
- char **tmp;
- int i;
- free(h->target_len); free(h->target_name);
- h->n_targets = 0; h->target_len = 0; h->target_name = 0;
- if (h->l_text < 3) return 0;
- if (h->dict == 0) h->dict = sam_header_parse2(h->text);
- tmp = sam_header2list(h->dict, "SQ", "SN", &h->n_targets);
- if (h->n_targets == 0) return 0;
- h->target_name = calloc(h->n_targets, sizeof(void*));
- for (i = 0; i < h->n_targets; ++i)
- h->target_name[i] = strdup(tmp[i]);
- free(tmp);
- tmp = sam_header2list(h->dict, "SQ", "LN", &h->n_targets);
- h->target_len = calloc(h->n_targets, 4);
- for (i = 0; i < h->n_targets; ++i)
- h->target_len[i] = atoi(tmp[i]);
- free(tmp);
- return h->n_targets;
-}
-
-bam_header_t *sam_header_read(tamFile fp)
-{
- int ret, dret;
- bam_header_t *header = bam_header_init();
- kstring_t *str = fp->str;
- while ((ret = ks_getuntil(fp->ks, KS_SEP_TAB, str, &dret)) >= 0 && str->s[0] == '@') { // skip header
- str->s[str->l] = dret; // note that str->s is NOT null terminated!!
- append_text(header, str);
- if (dret != '\n') {
- ret = ks_getuntil(fp->ks, '\n', str, &dret);
- str->s[str->l] = '\n'; // NOT null terminated!!
- append_text(header, str);
- }
- ++fp->n_lines;
- }
- sam_header_parse(header);
- bam_init_header_hash(header);
- fp->is_first = 1;
- return header;
-}
-
-int sam_read1(tamFile fp, bam_header_t *header, bam1_t *b)
-{
- int ret, doff, doff0, dret, z = 0;
- bam1_core_t *c = &b->core;
- kstring_t *str = fp->str;
- kstream_t *ks = fp->ks;
-
- if (fp->is_first) {
- fp->is_first = 0;
- ret = str->l;
- } else {
- do { // special consideration for empty lines
- ret = ks_getuntil(fp->ks, KS_SEP_TAB, str, &dret);
- if (ret >= 0) z += str->l + 1;
- } while (ret == 0);
- }
- if (ret < 0) return -1;
- ++fp->n_lines;
- doff = 0;
-
- { // name
- c->l_qname = strlen(str->s) + 1;
- memcpy(alloc_data(b, doff + c->l_qname) + doff, str->s, c->l_qname);
- doff += c->l_qname;
- }
- { // flag
- long flag;
- char *s;
- ret = ks_getuntil(ks, KS_SEP_TAB, str, &dret); z += str->l + 1;
- flag = strtol((char*)str->s, &s, 0);
- if (*s) { // not the end of the string
- flag = 0;
- for (s = str->s; *s; ++s)
- flag |= bam_char2flag_table[(int)*s];
- }
- c->flag = flag;
- }
- { // tid, pos, qual
- ret = ks_getuntil(ks, KS_SEP_TAB, str, &dret); z += str->l + 1; c->tid = bam_get_tid(header, str->s);
- if (c->tid < 0 && strcmp(str->s, "*")) {
- if (header->n_targets == 0) {
- fprintf(stderr, "[sam_read1] missing header? Abort!\n");
- exit(1);
- } else fprintf(stderr, "[sam_read1] reference '%s' is recognized as '*'.\n", str->s);
- }
- ret = ks_getuntil(ks, KS_SEP_TAB, str, &dret); z += str->l + 1; c->pos = isdigit(str->s[0])? atoi(str->s) - 1 : -1;
- ret = ks_getuntil(ks, KS_SEP_TAB, str, &dret); z += str->l + 1; c->qual = isdigit(str->s[0])? atoi(str->s) : 0;
- if (ret < 0) return -2;
- }
- { // cigar
- char *s, *t;
- int i, op;
- long x;
- c->n_cigar = 0;
- if (ks_getuntil(ks, KS_SEP_TAB, str, &dret) < 0) return -3;
- z += str->l + 1;
- if (str->s[0] != '*') {
- uint32_t *cigar;
- for (s = str->s; *s; ++s) {
- if ((isalpha(*s)) || (*s=='=')) ++c->n_cigar;
- else if (!isdigit(*s)) parse_error(fp->n_lines, "invalid CIGAR character");
- }
- b->data = alloc_data(b, doff + c->n_cigar * 4);
- cigar = bam1_cigar(b);
- for (i = 0, s = str->s; i != c->n_cigar; ++i) {
- x = strtol(s, &t, 10);
- op = toupper(*t);
- if (op == 'M') op = BAM_CMATCH;
- else if (op == 'I') op = BAM_CINS;
- else if (op == 'D') op = BAM_CDEL;
- else if (op == 'N') op = BAM_CREF_SKIP;
- else if (op == 'S') op = BAM_CSOFT_CLIP;
- else if (op == 'H') op = BAM_CHARD_CLIP;
- else if (op == 'P') op = BAM_CPAD;
- else if (op == '=') op = BAM_CEQUAL;
- else if (op == 'X') op = BAM_CDIFF;
- else if (op == 'B') op = BAM_CBACK;
- else parse_error(fp->n_lines, "invalid CIGAR operation");
- s = t + 1;
- cigar[i] = bam_cigar_gen(x, op);
- }
- if (*s) parse_error(fp->n_lines, "unmatched CIGAR operation");
- c->bin = bam_reg2bin(c->pos, bam_calend(c, cigar));
- doff += c->n_cigar * 4;
- } else {
- if (!(c->flag&BAM_FUNMAP)) {
- fprintf(stderr, "Parse warning at line %lld: mapped sequence without CIGAR\n", (long long)fp->n_lines);
- c->flag |= BAM_FUNMAP;
- }
- c->bin = bam_reg2bin(c->pos, c->pos + 1);
- }
- }
- { // mtid, mpos, isize
- ret = ks_getuntil(ks, KS_SEP_TAB, str, &dret); z += str->l + 1;
- c->mtid = strcmp(str->s, "=")? bam_get_tid(header, str->s) : c->tid;
- ret = ks_getuntil(ks, KS_SEP_TAB, str, &dret); z += str->l + 1;
- c->mpos = isdigit(str->s[0])? atoi(str->s) - 1 : -1;
- ret = ks_getuntil(ks, KS_SEP_TAB, str, &dret); z += str->l + 1;
- c->isize = (str->s[0] == '-' || isdigit(str->s[0]))? atoi(str->s) : 0;
- if (ret < 0) return -4;
- }
- { // seq and qual
- int i;
- uint8_t *p = 0;
- if (ks_getuntil(ks, KS_SEP_TAB, str, &dret) < 0) return -5; // seq
- z += str->l + 1;
- if (strcmp(str->s, "*")) {
- c->l_qseq = strlen(str->s);
- if (c->n_cigar && c->l_qseq != (int32_t)bam_cigar2qlen(c, bam1_cigar(b))) {
- fprintf(stderr, "Line %ld, sequence length %i vs %i from CIGAR\n",
- (long)fp->n_lines, c->l_qseq, (int32_t)bam_cigar2qlen(c, bam1_cigar(b)));
- parse_error(fp->n_lines, "CIGAR and sequence length are inconsistent");
- }
- p = (uint8_t*)alloc_data(b, doff + c->l_qseq + (c->l_qseq+1)/2) + doff;
- memset(p, 0, (c->l_qseq+1)/2);
- for (i = 0; i < c->l_qseq; ++i)
- p[i/2] |= bam_nt16_table[(int)str->s[i]] << 4*(1-i%2);
- } else c->l_qseq = 0;
- if (ks_getuntil(ks, KS_SEP_TAB, str, &dret) < 0) return -6; // qual
- z += str->l + 1;
- if (strcmp(str->s, "*") && c->l_qseq != strlen(str->s))
- parse_error(fp->n_lines, "sequence and quality are inconsistent");
- p += (c->l_qseq+1)/2;
- if (strcmp(str->s, "*") == 0) for (i = 0; i < c->l_qseq; ++i) p[i] = 0xff;
- else for (i = 0; i < c->l_qseq; ++i) p[i] = str->s[i] - 33;
- doff += c->l_qseq + (c->l_qseq+1)/2;
- }
- doff0 = doff;
- if (dret != '\n' && dret != '\r') { // aux
- while (ks_getuntil(ks, KS_SEP_TAB, str, &dret) >= 0) {
- uint8_t *s, type, key[2];
- z += str->l + 1;
- if (str->l < 6 || str->s[2] != ':' || str->s[4] != ':')
- parse_error(fp->n_lines, "missing colon in auxiliary data");
- key[0] = str->s[0]; key[1] = str->s[1];
- type = str->s[3];
- s = alloc_data(b, doff + 3) + doff;
- s[0] = key[0]; s[1] = key[1]; s += 2; doff += 2;
- if (type == 'A' || type == 'a' || type == 'c' || type == 'C') { // c and C for backward compatibility
- s = alloc_data(b, doff + 2) + doff;
- *s++ = 'A'; *s = str->s[5];
- doff += 2;
- } else if (type == 'I' || type == 'i') {
- long long x;
- s = alloc_data(b, doff + 5) + doff;
- x = (long long)atoll(str->s + 5);
- if (x < 0) {
- if (x >= -127) {
- *s++ = 'c'; *(int8_t*)s = (int8_t)x;
- s += 1; doff += 2;
- } else if (x >= -32767) {
- *s++ = 's'; *(int16_t*)s = (int16_t)x;
- s += 2; doff += 3;
- } else {
- *s++ = 'i'; *(int32_t*)s = (int32_t)x;
- s += 4; doff += 5;
- if (x < -2147483648ll)
- fprintf(stderr, "Parse warning at line %lld: integer %lld is out of range.",
- (long long)fp->n_lines, x);
- }
- } else {
- if (x <= 255) {
- *s++ = 'C'; *s++ = (uint8_t)x;
- doff += 2;
- } else if (x <= 65535) {
- *s++ = 'S'; *(uint16_t*)s = (uint16_t)x;
- s += 2; doff += 3;
- } else {
- *s++ = 'I'; *(uint32_t*)s = (uint32_t)x;
- s += 4; doff += 5;
- if (x > 4294967295ll)
- fprintf(stderr, "Parse warning at line %lld: integer %lld is out of range.",
- (long long)fp->n_lines, x);
- }
- }
- } else if (type == 'f') {
- s = alloc_data(b, doff + 5) + doff;
- *s++ = 'f';
- *(float*)s = (float)atof(str->s + 5);
- s += 4; doff += 5;
- } else if (type == 'd') {
- s = alloc_data(b, doff + 9) + doff;
- *s++ = 'd';
- *(float*)s = (float)atof(str->s + 9);
- s += 8; doff += 9;
- } else if (type == 'Z' || type == 'H') {
- int size = 1 + (str->l - 5) + 1;
- if (type == 'H') { // check whether the hex string is valid
- int i;
- if ((str->l - 5) % 2 == 1) parse_error(fp->n_lines, "length of the hex string not even");
- for (i = 0; i < str->l - 5; ++i) {
- int c = toupper(str->s[5 + i]);
- if (!((c >= '0' && c <= '9') || (c >= 'A' && c <= 'F')))
- parse_error(fp->n_lines, "invalid hex character");
- }
- }
- s = alloc_data(b, doff + size) + doff;
- *s++ = type;
- memcpy(s, str->s + 5, str->l - 5);
- s[str->l - 5] = 0;
- doff += size;
- } else if (type == 'B') {
- int32_t n = 0, Bsize, k = 0, size;
- char *p;
- if (str->l < 8) parse_error(fp->n_lines, "too few values in aux type B");
- Bsize = bam_aux_type2size(str->s[5]); // the size of each element
- for (p = (char*)str->s + 6; *p; ++p) // count the number of elements in the array
- if (*p == ',') ++n;
- p = str->s + 7; // now p points to the first number in the array
- size = 6 + Bsize * n; // total number of bytes allocated to this tag
- s = alloc_data(b, doff + 6 * Bsize * n) + doff; // allocate memory
- *s++ = 'B'; *s++ = str->s[5];
- memcpy(s, &n, 4); s += 4; // write the number of elements
- if (str->s[5] == 'c') while (p < str->s + str->l) ((int8_t*)s)[k++] = (int8_t)strtol(p, &p, 0), ++p;
- else if (str->s[5] == 'C') while (p < str->s + str->l) ((uint8_t*)s)[k++] = (uint8_t)strtol(p, &p, 0), ++p;
- else if (str->s[5] == 's') while (p < str->s + str->l) ((int16_t*)s)[k++] = (int16_t)strtol(p, &p, 0), ++p; // FIXME: avoid unaligned memory
- else if (str->s[5] == 'S') while (p < str->s + str->l) ((uint16_t*)s)[k++] = (uint16_t)strtol(p, &p, 0), ++p;
- else if (str->s[5] == 'i') while (p < str->s + str->l) ((int32_t*)s)[k++] = (int32_t)strtol(p, &p, 0), ++p;
- else if (str->s[5] == 'I') while (p < str->s + str->l) ((uint32_t*)s)[k++] = (uint32_t)strtol(p, &p, 0), ++p;
- else if (str->s[5] == 'f') while (p < str->s + str->l) ((float*)s)[k++] = (float)strtod(p, &p), ++p;
- else parse_error(fp->n_lines, "unrecognized array type");
- s += Bsize * n; doff += size;
- } else parse_error(fp->n_lines, "unrecognized type");
- if (dret == '\n' || dret == '\r') break;
- }
- }
- b->l_aux = doff - doff0;
- b->data_len = doff;
- if (bam_no_B) bam_remove_B(b);
- return z;
-}
-
-tamFile sam_open(const char *fn)
-{
- tamFile fp;
- gzFile gzfp = (strcmp(fn, "-") == 0)? gzdopen(fileno(stdin), "rb") : gzopen(fn, "rb");
- if (gzfp == 0) return 0;
- fp = (tamFile)calloc(1, sizeof(struct __tamFile_t));
- fp->str = (kstring_t*)calloc(1, sizeof(kstring_t));
- fp->fp = gzfp;
- fp->ks = ks_init(fp->fp);
- return fp;
-}
-
-void sam_close(tamFile fp)
-{
- if (fp) {
- ks_destroy(fp->ks);
- gzclose(fp->fp);
- free(fp->str->s); free(fp->str);
- free(fp);
- }
-}
diff --git a/sam/bam_index.c b/sam/bam_index.c
deleted file mode 100644
index f916e04..0000000
--- a/sam/bam_index.c
+++ /dev/null
@@ -1,726 +0,0 @@
-#include <ctype.h>
-#include <assert.h>
-#include "bam.h"
-#include "khash.h"
-#include "ksort.h"
-#include "bam_endian.h"
-#ifdef _USE_KNETFILE
-#include "knetfile.h"
-#endif
-
-/*!
- @header
-
- Alignment indexing. Before indexing, BAM must be sorted based on the
- leftmost coordinate of alignments. In indexing, BAM uses two indices:
- a UCSC binning index and a simple linear index. The binning index is
- efficient for alignments spanning long distance, while the auxiliary
- linear index helps to reduce unnecessary seek calls especially for
- short alignments.
-
- The UCSC binning scheme was suggested by Richard Durbin and Lincoln
- Stein and is explained by Kent et al. (2002). In this scheme, each bin
- represents a contiguous genomic region which can be fully contained in
- another bin; each alignment is associated with a bin which represents
- the smallest region containing the entire alignment. The binning
- scheme is essentially another representation of R-tree. A distinct bin
- uniquely corresponds to a distinct internal node in a R-tree. Bin A is
- a child of Bin B if region A is contained in B.
-
- In BAM, each bin may span 2^29, 2^26, 2^23, 2^20, 2^17 or 2^14 bp. Bin
- 0 spans a 512Mbp region, bins 1-8 span 64Mbp, 9-72 8Mbp, 73-584 1Mbp,
- 585-4680 128Kbp and bins 4681-37449 span 16Kbp regions. If we want to
- find the alignments overlapped with a region [rbeg,rend), we need to
- calculate the list of bins that may be overlapped the region and test
- the alignments in the bins to confirm the overlaps. If the specified
- region is short, typically only a few alignments in six bins need to
- be retrieved. The overlapping alignments can be quickly fetched.
-
- */
-
-#define BAM_MIN_CHUNK_GAP 32768
-// 1<<14 is the size of minimum bin.
-#define BAM_LIDX_SHIFT 14
-
-#define BAM_MAX_BIN 37450 // =(8^6-1)/7+1
-
-typedef struct {
- uint64_t u, v;
-} pair64_t;
-
-#define pair64_lt(a,b) ((a).u < (b).u)
-KSORT_INIT(off, pair64_t, pair64_lt)
-
-typedef struct {
- uint32_t m, n;
- pair64_t *list;
-} bam_binlist_t;
-
-typedef struct {
- int32_t n, m;
- uint64_t *offset;
-} bam_lidx_t;
-
-KHASH_MAP_INIT_INT(i, bam_binlist_t)
-
-struct __bam_index_t {
- int32_t n;
- uint64_t n_no_coor; // unmapped reads without coordinate
- khash_t(i) **index;
- bam_lidx_t *index2;
-};
-
-// requirement: len <= LEN_MASK
-static inline void insert_offset(khash_t(i) *h, int bin, uint64_t beg, uint64_t end)
-{
- khint_t k;
- bam_binlist_t *l;
- int ret;
- k = kh_put(i, h, bin, &ret);
- l = &kh_value(h, k);
- if (ret) { // not present
- l->m = 1; l->n = 0;
- l->list = (pair64_t*)calloc(l->m, 16);
- }
- if (l->n == l->m) {
- l->m <<= 1;
- l->list = (pair64_t*)realloc(l->list, l->m * 16);
- }
- l->list[l->n].u = beg; l->list[l->n++].v = end;
-}
-
-static inline void insert_offset2(bam_lidx_t *index2, bam1_t *b, uint64_t offset)
-{
- int i, beg, end;
- beg = b->core.pos >> BAM_LIDX_SHIFT;
- end = (bam_calend(&b->core, bam1_cigar(b)) - 1) >> BAM_LIDX_SHIFT;
- if (index2->m < end + 1) {
- int old_m = index2->m;
- index2->m = end + 1;
- kroundup32(index2->m);
- index2->offset = (uint64_t*)realloc(index2->offset, index2->m * 8);
- memset(index2->offset + old_m, 0, 8 * (index2->m - old_m));
- }
- if (beg == end) {
- if (index2->offset[beg] == 0) index2->offset[beg] = offset;
- } else {
- for (i = beg; i <= end; ++i)
- if (index2->offset[i] == 0) index2->offset[i] = offset;
- }
- index2->n = end + 1;
-}
-
-static void merge_chunks(bam_index_t *idx)
-{
-#if defined(BAM_TRUE_OFFSET) || defined(BAM_VIRTUAL_OFFSET16)
- khash_t(i) *index;
- int i, l, m;
- khint_t k;
- for (i = 0; i < idx->n; ++i) {
- index = idx->index[i];
- for (k = kh_begin(index); k != kh_end(index); ++k) {
- bam_binlist_t *p;
- if (!kh_exist(index, k) || kh_key(index, k) == BAM_MAX_BIN) continue;
- p = &kh_value(index, k);
- m = 0;
- for (l = 1; l < p->n; ++l) {
-#ifdef BAM_TRUE_OFFSET
- if (p->list[m].v + BAM_MIN_CHUNK_GAP > p->list[l].u) p->list[m].v = p->list[l].v;
-#else
- if (p->list[m].v>>16 == p->list[l].u>>16) p->list[m].v = p->list[l].v;
-#endif
- else p->list[++m] = p->list[l];
- } // ~for(l)
- p->n = m + 1;
- } // ~for(k)
- } // ~for(i)
-#endif // defined(BAM_TRUE_OFFSET) || defined(BAM_BGZF)
-}
-
-static void fill_missing(bam_index_t *idx)
-{
- int i, j;
- for (i = 0; i < idx->n; ++i) {
- bam_lidx_t *idx2 = &idx->index2[i];
- for (j = 1; j < idx2->n; ++j)
- if (idx2->offset[j] == 0)
- idx2->offset[j] = idx2->offset[j-1];
- }
-}
-
-bam_index_t *bam_index_core(bamFile fp)
-{
- bam1_t *b;
- bam_header_t *h;
- int i, ret;
- bam_index_t *idx;
- uint32_t last_bin, save_bin;
- int32_t last_coor, last_tid, save_tid;
- bam1_core_t *c;
- uint64_t save_off, last_off, n_mapped, n_unmapped, off_beg, off_end, n_no_coor;
-
- h = bam_header_read(fp);
- if(h == 0) {
- fprintf(stderr, "[bam_index_core] Invalid BAM header.");
- return NULL;
- }
-
- idx = (bam_index_t*)calloc(1, sizeof(bam_index_t));
- b = (bam1_t*)calloc(1, sizeof(bam1_t));
- c = &b->core;
-
- idx->n = h->n_targets;
- bam_header_destroy(h);
- idx->index = (khash_t(i)**)calloc(idx->n, sizeof(void*));
- for (i = 0; i < idx->n; ++i) idx->index[i] = kh_init(i);
- idx->index2 = (bam_lidx_t*)calloc(idx->n, sizeof(bam_lidx_t));
-
- save_bin = save_tid = last_tid = last_bin = 0xffffffffu;
- save_off = last_off = bam_tell(fp); last_coor = 0xffffffffu;
- n_mapped = n_unmapped = n_no_coor = off_end = 0;
- off_beg = off_end = bam_tell(fp);
- while ((ret = bam_read1(fp, b)) >= 0) {
- if (c->tid < 0) ++n_no_coor;
- if (last_tid < c->tid || (last_tid >= 0 && c->tid < 0)) { // change of chromosomes
- last_tid = c->tid;
- last_bin = 0xffffffffu;
- } else if ((uint32_t)last_tid > (uint32_t)c->tid) {
- fprintf(stderr, "[bam_index_core] the alignment is not sorted (%s): %d-th chr > %d-th chr\n",
- bam1_qname(b), last_tid+1, c->tid+1);
- return NULL;
- } else if ((int32_t)c->tid >= 0 && last_coor > c->pos) {
- fprintf(stderr, "[bam_index_core] the alignment is not sorted (%s): %u > %u in %d-th chr\n",
- bam1_qname(b), last_coor, c->pos, c->tid+1);
- return NULL;
- }
- if (c->tid >= 0 && !(c->flag & BAM_FUNMAP)) insert_offset2(&idx->index2[b->core.tid], b, last_off);
- if (c->bin != last_bin) { // then possibly write the binning index
- if (save_bin != 0xffffffffu) // save_bin==0xffffffffu only happens to the first record
- insert_offset(idx->index[save_tid], save_bin, save_off, last_off);
- if (last_bin == 0xffffffffu && save_tid != 0xffffffffu) { // write the meta element
- off_end = last_off;
- insert_offset(idx->index[save_tid], BAM_MAX_BIN, off_beg, off_end);
- insert_offset(idx->index[save_tid], BAM_MAX_BIN, n_mapped, n_unmapped);
- n_mapped = n_unmapped = 0;
- off_beg = off_end;
- }
- save_off = last_off;
- save_bin = last_bin = c->bin;
- save_tid = c->tid;
- if (save_tid < 0) break;
- }
- if (bam_tell(fp) <= last_off) {
- fprintf(stderr, "[bam_index_core] bug in BGZF/RAZF: %llx < %llx\n",
- (unsigned long long)bam_tell(fp), (unsigned long long)last_off);
- return NULL;
- }
- if (c->flag & BAM_FUNMAP) ++n_unmapped;
- else ++n_mapped;
- last_off = bam_tell(fp);
- last_coor = b->core.pos;
- }
- if (save_tid >= 0) {
- insert_offset(idx->index[save_tid], save_bin, save_off, bam_tell(fp));
- insert_offset(idx->index[save_tid], BAM_MAX_BIN, off_beg, bam_tell(fp));
- insert_offset(idx->index[save_tid], BAM_MAX_BIN, n_mapped, n_unmapped);
- }
- merge_chunks(idx);
- fill_missing(idx);
- if (ret >= 0) {
- while ((ret = bam_read1(fp, b)) >= 0) {
- ++n_no_coor;
- if (c->tid >= 0 && n_no_coor) {
- fprintf(stderr, "[bam_index_core] the alignment is not sorted: reads without coordinates prior to reads with coordinates.\n");
- return NULL;
- }
- }
- }
- if (ret < -1) fprintf(stderr, "[bam_index_core] truncated file? Continue anyway. (%d)\n", ret);
- free(b->data); free(b);
- idx->n_no_coor = n_no_coor;
- return idx;
-}
-
-void bam_index_destroy(bam_index_t *idx)
-{
- khint_t k;
- int i;
- if (idx == 0) return;
- for (i = 0; i < idx->n; ++i) {
- khash_t(i) *index = idx->index[i];
- bam_lidx_t *index2 = idx->index2 + i;
- for (k = kh_begin(index); k != kh_end(index); ++k) {
- if (kh_exist(index, k))
- free(kh_value(index, k).list);
- }
- kh_destroy(i, index);
- free(index2->offset);
- }
- free(idx->index); free(idx->index2);
- free(idx);
-}
-
-void bam_index_save(const bam_index_t *idx, FILE *fp)
-{
- int32_t i, size;
- khint_t k;
- fwrite("BAI\1", 1, 4, fp);
- if (bam_is_be) {
- uint32_t x = idx->n;
- fwrite(bam_swap_endian_4p(&x), 4, 1, fp);
- } else fwrite(&idx->n, 4, 1, fp);
- for (i = 0; i < idx->n; ++i) {
- khash_t(i) *index = idx->index[i];
- bam_lidx_t *index2 = idx->index2 + i;
- // write binning index
- size = kh_size(index);
- if (bam_is_be) { // big endian
- uint32_t x = size;
- fwrite(bam_swap_endian_4p(&x), 4, 1, fp);
- } else fwrite(&size, 4, 1, fp);
- for (k = kh_begin(index); k != kh_end(index); ++k) {
- if (kh_exist(index, k)) {
- bam_binlist_t *p = &kh_value(index, k);
- if (bam_is_be) { // big endian
- uint32_t x;
- x = kh_key(index, k); fwrite(bam_swap_endian_4p(&x), 4, 1, fp);
- x = p->n; fwrite(bam_swap_endian_4p(&x), 4, 1, fp);
- for (x = 0; (int)x < p->n; ++x) {
- bam_swap_endian_8p(&p->list[x].u);
- bam_swap_endian_8p(&p->list[x].v);
- }
- fwrite(p->list, 16, p->n, fp);
- for (x = 0; (int)x < p->n; ++x) {
- bam_swap_endian_8p(&p->list[x].u);
- bam_swap_endian_8p(&p->list[x].v);
- }
- } else {
- fwrite(&kh_key(index, k), 4, 1, fp);
- fwrite(&p->n, 4, 1, fp);
- fwrite(p->list, 16, p->n, fp);
- }
- }
- }
- // write linear index (index2)
- if (bam_is_be) {
- int x = index2->n;
- fwrite(bam_swap_endian_4p(&x), 4, 1, fp);
- } else fwrite(&index2->n, 4, 1, fp);
- if (bam_is_be) { // big endian
- int x;
- for (x = 0; (int)x < index2->n; ++x)
- bam_swap_endian_8p(&index2->offset[x]);
- fwrite(index2->offset, 8, index2->n, fp);
- for (x = 0; (int)x < index2->n; ++x)
- bam_swap_endian_8p(&index2->offset[x]);
- } else fwrite(index2->offset, 8, index2->n, fp);
- }
- { // write the number of reads coor-less records.
- uint64_t x = idx->n_no_coor;
- if (bam_is_be) bam_swap_endian_8p(&x);
- fwrite(&x, 8, 1, fp);
- }
- fflush(fp);
-}
-
-static bam_index_t *bam_index_load_core(FILE *fp)
-{
- int i;
- char magic[4];
- bam_index_t *idx;
- if (fp == 0) {
- fprintf(stderr, "[bam_index_load_core] fail to load index.\n");
- return 0;
- }
- fread(magic, 1, 4, fp);
- if (strncmp(magic, "BAI\1", 4)) {
- fprintf(stderr, "[bam_index_load] wrong magic number.\n");
- fclose(fp);
- return 0;
- }
- idx = (bam_index_t*)calloc(1, sizeof(bam_index_t));
- fread(&idx->n, 4, 1, fp);
- if (bam_is_be) bam_swap_endian_4p(&idx->n);
- idx->index = (khash_t(i)**)calloc(idx->n, sizeof(void*));
- idx->index2 = (bam_lidx_t*)calloc(idx->n, sizeof(bam_lidx_t));
- for (i = 0; i < idx->n; ++i) {
- khash_t(i) *index;
- bam_lidx_t *index2 = idx->index2 + i;
- uint32_t key, size;
- khint_t k;
- int j, ret;
- bam_binlist_t *p;
- index = idx->index[i] = kh_init(i);
- // load binning index
- fread(&size, 4, 1, fp);
- if (bam_is_be) bam_swap_endian_4p(&size);
- for (j = 0; j < (int)size; ++j) {
- fread(&key, 4, 1, fp);
- if (bam_is_be) bam_swap_endian_4p(&key);
- k = kh_put(i, index, key, &ret);
- p = &kh_value(index, k);
- fread(&p->n, 4, 1, fp);
- if (bam_is_be) bam_swap_endian_4p(&p->n);
- p->m = p->n;
- p->list = (pair64_t*)malloc(p->m * 16);
- fread(p->list, 16, p->n, fp);
- if (bam_is_be) {
- int x;
- for (x = 0; x < p->n; ++x) {
- bam_swap_endian_8p(&p->list[x].u);
- bam_swap_endian_8p(&p->list[x].v);
- }
- }
- }
- // load linear index
- fread(&index2->n, 4, 1, fp);
- if (bam_is_be) bam_swap_endian_4p(&index2->n);
- index2->m = index2->n;
- index2->offset = (uint64_t*)calloc(index2->m, 8);
- fread(index2->offset, index2->n, 8, fp);
- if (bam_is_be)
- for (j = 0; j < index2->n; ++j) bam_swap_endian_8p(&index2->offset[j]);
- }
- if (fread(&idx->n_no_coor, 8, 1, fp) == 0) idx->n_no_coor = 0;
- if (bam_is_be) bam_swap_endian_8p(&idx->n_no_coor);
- return idx;
-}
-
-bam_index_t *bam_index_load_local(const char *_fn)
-{
- FILE *fp;
- char *fnidx, *fn;
-
- if (strstr(_fn, "ftp://") == _fn || strstr(_fn, "http://") == _fn) {
- const char *p;
- int l = strlen(_fn);
- for (p = _fn + l - 1; p >= _fn; --p)
- if (*p == '/') break;
- fn = strdup(p + 1);
- } else fn = strdup(_fn);
- fnidx = (char*)calloc(strlen(fn) + 5, 1);
- strcpy(fnidx, fn); strcat(fnidx, ".bai");
- fp = fopen(fnidx, "rb");
- if (fp == 0) { // try "{base}.bai"
- char *s = strstr(fn, "bam");
- if (s == fn + strlen(fn) - 3) {
- strcpy(fnidx, fn);
- fnidx[strlen(fn)-1] = 'i';
- fp = fopen(fnidx, "rb");
- }
- }
- free(fnidx); free(fn);
- if (fp) {
- bam_index_t *idx = bam_index_load_core(fp);
- fclose(fp);
- return idx;
- } else return 0;
-}
-
-#ifdef _USE_KNETFILE
-static void download_from_remote(const char *url)
-{
- const int buf_size = 1 * 1024 * 1024;
- char *fn;
- FILE *fp;
- uint8_t *buf;
- knetFile *fp_remote;
- int l;
- if (strstr(url, "ftp://") != url && strstr(url, "http://") != url) return;
- l = strlen(url);
- for (fn = (char*)url + l - 1; fn >= url; --fn)
- if (*fn == '/') break;
- ++fn; // fn now points to the file name
- fp_remote = knet_open(url, "r");
- if (fp_remote == 0) {
- fprintf(stderr, "[download_from_remote] fail to open remote file.\n");
- return;
- }
- if ((fp = fopen(fn, "wb")) == 0) {
- fprintf(stderr, "[download_from_remote] fail to create file in the working directory.\n");
- knet_close(fp_remote);
- return;
- }
- buf = (uint8_t*)calloc(buf_size, 1);
- while ((l = knet_read(fp_remote, buf, buf_size)) != 0)
- fwrite(buf, 1, l, fp);
- free(buf);
- fclose(fp);
- knet_close(fp_remote);
-}
-#else
-static void download_from_remote(const char *url)
-{
- return;
-}
-#endif
-
-bam_index_t *bam_index_load(const char *fn)
-{
- bam_index_t *idx;
- idx = bam_index_load_local(fn);
- if (idx == 0 && (strstr(fn, "ftp://") == fn || strstr(fn, "http://") == fn)) {
- char *fnidx = calloc(strlen(fn) + 5, 1);
- strcat(strcpy(fnidx, fn), ".bai");
- fprintf(stderr, "[bam_index_load] attempting to download the remote index file.\n");
- download_from_remote(fnidx);
- free(fnidx);
- idx = bam_index_load_local(fn);
- }
- if (idx == 0) fprintf(stderr, "[bam_index_load] fail to load BAM index.\n");
- return idx;
-}
-
-int bam_index_build2(const char *fn, const char *_fnidx)
-{
- char *fnidx;
- FILE *fpidx;
- bamFile fp;
- bam_index_t *idx;
- if ((fp = bam_open(fn, "r")) == 0) {
- fprintf(stderr, "[bam_index_build2] fail to open the BAM file.\n");
- return -1;
- }
- idx = bam_index_core(fp);
- bam_close(fp);
- if(idx == 0) {
- fprintf(stderr, "[bam_index_build2] fail to index the BAM file.\n");
- return -1;
- }
- if (_fnidx == 0) {
- fnidx = (char*)calloc(strlen(fn) + 5, 1);
- strcpy(fnidx, fn); strcat(fnidx, ".bai");
- } else fnidx = strdup(_fnidx);
- fpidx = fopen(fnidx, "wb");
- if (fpidx == 0) {
- fprintf(stderr, "[bam_index_build2] fail to create the index file.\n");
- free(fnidx);
- bam_index_destroy(idx);
- return -1;
- }
- bam_index_save(idx, fpidx);
- bam_index_destroy(idx);
- fclose(fpidx);
- free(fnidx);
- return 0;
-}
-
-int bam_index_build(const char *fn)
-{
- return bam_index_build2(fn, 0);
-}
-
-int bam_index(int argc, char *argv[])
-{
- if (argc < 2) {
- fprintf(stderr, "Usage: samtools index <in.bam> [out.index]\n");
- return 1;
- }
- if (argc >= 3) bam_index_build2(argv[1], argv[2]);
- else bam_index_build(argv[1]);
- return 0;
-}
-
-int bam_idxstats(int argc, char *argv[])
-{
- bam_index_t *idx;
- bam_header_t *header;
- bamFile fp;
- int i;
- if (argc < 2) {
- fprintf(stderr, "Usage: samtools idxstats <in.bam>\n");
- return 1;
- }
- fp = bam_open(argv[1], "r");
- if (fp == 0) { fprintf(stderr, "[%s] fail to open BAM.\n", __func__); return 1; }
- header = bam_header_read(fp);
- bam_close(fp);
- idx = bam_index_load(argv[1]);
- if (idx == 0) { fprintf(stderr, "[%s] fail to load the index.\n", __func__); return 1; }
- for (i = 0; i < idx->n; ++i) {
- khint_t k;
- khash_t(i) *h = idx->index[i];
- printf("%s\t%d", header->target_name[i], header->target_len[i]);
- k = kh_get(i, h, BAM_MAX_BIN);
- if (k != kh_end(h))
- printf("\t%llu\t%llu", (long long)kh_val(h, k).list[1].u, (long long)kh_val(h, k).list[1].v);
- else printf("\t0\t0");
- putchar('\n');
- }
- printf("*\t0\t0\t%llu\n", (long long)idx->n_no_coor);
- bam_header_destroy(header);
- bam_index_destroy(idx);
- return 0;
-}
-
-static inline int reg2bins(uint32_t beg, uint32_t end, uint16_t list[BAM_MAX_BIN])
-{
- int i = 0, k;
- if (beg >= end) return 0;
- if (end >= 1u<<29) end = 1u<<29;
- --end;
- list[i++] = 0;
- for (k = 1 + (beg>>26); k <= 1 + (end>>26); ++k) list[i++] = k;
- for (k = 9 + (beg>>23); k <= 9 + (end>>23); ++k) list[i++] = k;
- for (k = 73 + (beg>>20); k <= 73 + (end>>20); ++k) list[i++] = k;
- for (k = 585 + (beg>>17); k <= 585 + (end>>17); ++k) list[i++] = k;
- for (k = 4681 + (beg>>14); k <= 4681 + (end>>14); ++k) list[i++] = k;
- return i;
-}
-
-static inline int is_overlap(uint32_t beg, uint32_t end, const bam1_t *b)
-{
- uint32_t rbeg = b->core.pos;
- uint32_t rend = b->core.n_cigar? bam_calend(&b->core, bam1_cigar(b)) : b->core.pos + 1;
- return (rend > beg && rbeg < end);
-}
-
-struct __bam_iter_t {
- int from_first; // read from the first record; no random access
- int tid, beg, end, n_off, i, finished;
- uint64_t curr_off;
- pair64_t *off;
-};
-
-// bam_fetch helper function retrieves
-bam_iter_t bam_iter_query(const bam_index_t *idx, int tid, int beg, int end)
-{
- uint16_t *bins;
- int i, n_bins, n_off;
- pair64_t *off;
- khint_t k;
- khash_t(i) *index;
- uint64_t min_off;
- bam_iter_t iter = 0;
-
- if (beg < 0) beg = 0;
- if (end < beg) return 0;
- // initialize iter
- iter = calloc(1, sizeof(struct __bam_iter_t));
- iter->tid = tid, iter->beg = beg, iter->end = end; iter->i = -1;
- //
- bins = (uint16_t*)calloc(BAM_MAX_BIN, 2);
- n_bins = reg2bins(beg, end, bins);
- index = idx->index[tid];
- if (idx->index2[tid].n > 0) {
- min_off = (beg>>BAM_LIDX_SHIFT >= idx->index2[tid].n)? idx->index2[tid].offset[idx->index2[tid].n-1]
- : idx->index2[tid].offset[beg>>BAM_LIDX_SHIFT];
- if (min_off == 0) { // improvement for index files built by tabix prior to 0.1.4
- int n = beg>>BAM_LIDX_SHIFT;
- if (n > idx->index2[tid].n) n = idx->index2[tid].n;
- for (i = n - 1; i >= 0; --i)
- if (idx->index2[tid].offset[i] != 0) break;
- if (i >= 0) min_off = idx->index2[tid].offset[i];
- }
- } else min_off = 0; // tabix 0.1.2 may produce such index files
- for (i = n_off = 0; i < n_bins; ++i) {
- if ((k = kh_get(i, index, bins[i])) != kh_end(index))
- n_off += kh_value(index, k).n;
- }
- if (n_off == 0) {
- free(bins); return iter;
- }
- off = (pair64_t*)calloc(n_off, 16);
- for (i = n_off = 0; i < n_bins; ++i) {
- if ((k = kh_get(i, index, bins[i])) != kh_end(index)) {
- int j;
- bam_binlist_t *p = &kh_value(index, k);
- for (j = 0; j < p->n; ++j)
- if (p->list[j].v > min_off) off[n_off++] = p->list[j];
- }
- }
- free(bins);
- if (n_off == 0) {
- free(off); return iter;
- }
- {
- bam1_t *b = (bam1_t*)calloc(1, sizeof(bam1_t));
- int l;
- ks_introsort(off, n_off, off);
- // resolve completely contained adjacent blocks
- for (i = 1, l = 0; i < n_off; ++i)
- if (off[l].v < off[i].v)
- off[++l] = off[i];
- n_off = l + 1;
- // resolve overlaps between adjacent blocks; this may happen due to the merge in indexing
- for (i = 1; i < n_off; ++i)
- if (off[i-1].v >= off[i].u) off[i-1].v = off[i].u;
- { // merge adjacent blocks
-#if defined(BAM_TRUE_OFFSET) || defined(BAM_VIRTUAL_OFFSET16)
- for (i = 1, l = 0; i < n_off; ++i) {
-#ifdef BAM_TRUE_OFFSET
- if (off[l].v + BAM_MIN_CHUNK_GAP > off[i].u) off[l].v = off[i].v;
-#else
- if (off[l].v>>16 == off[i].u>>16) off[l].v = off[i].v;
-#endif
- else off[++l] = off[i];
- }
- n_off = l + 1;
-#endif
- }
- bam_destroy1(b);
- }
- iter->n_off = n_off; iter->off = off;
- return iter;
-}
-
-pair64_t *get_chunk_coordinates(const bam_index_t *idx, int tid, int beg, int end, int *cnt_off)
-{ // for pysam compatibility
- bam_iter_t iter;
- pair64_t *off;
- iter = bam_iter_query(idx, tid, beg, end);
- off = iter->off; *cnt_off = iter->n_off;
- free(iter);
- return off;
-}
-
-void bam_iter_destroy(bam_iter_t iter)
-{
- if (iter) { free(iter->off); free(iter); }
-}
-
-int bam_iter_read(bamFile fp, bam_iter_t iter, bam1_t *b)
-{
- int ret;
- if (iter && iter->finished) return -1;
- if (iter == 0 || iter->from_first) {
- ret = bam_read1(fp, b);
- if (ret < 0 && iter) iter->finished = 1;
- return ret;
- }
- if (iter->off == 0) return -1;
- for (;;) {
- if (iter->curr_off == 0 || iter->curr_off >= iter->off[iter->i].v) { // then jump to the next chunk
- if (iter->i == iter->n_off - 1) { ret = -1; break; } // no more chunks
- if (iter->i >= 0) assert(iter->curr_off == iter->off[iter->i].v); // otherwise bug
- if (iter->i < 0 || iter->off[iter->i].v != iter->off[iter->i+1].u) { // not adjacent chunks; then seek
- bam_seek(fp, iter->off[iter->i+1].u, SEEK_SET);
- iter->curr_off = bam_tell(fp);
- }
- ++iter->i;
- }
- if ((ret = bam_read1(fp, b)) >= 0) {
- iter->curr_off = bam_tell(fp);
- if (b->core.tid != iter->tid || b->core.pos >= iter->end) { // no need to proceed
- ret = bam_validate1(NULL, b)? -1 : -5; // determine whether end of region or error
- break;
- }
- else if (is_overlap(iter->beg, iter->end, b)) return ret;
- } else break; // end of file or error
- }
- iter->finished = 1;
- return ret;
-}
-
-int bam_fetch(bamFile fp, const bam_index_t *idx, int tid, int beg, int end, void *data, bam_fetch_f func)
-{
- int ret;
- bam_iter_t iter;
- bam1_t *b;
- b = bam_init1();
- iter = bam_iter_query(idx, tid, beg, end);
- while ((ret = bam_iter_read(fp, iter, b)) >= 0) func(b, data);
- bam_iter_destroy(iter);
- bam_destroy1(b);
- return (ret == -1)? 0 : ret;
-}
diff --git a/sam/bam_lpileup.c b/sam/bam_lpileup.c
deleted file mode 100644
index d4dd63b..0000000
--- a/sam/bam_lpileup.c
+++ /dev/null
@@ -1,198 +0,0 @@
-#include <stdlib.h>
-#include <stdio.h>
-#include <assert.h>
-#include "bam.h"
-#include "ksort.h"
-
-#define TV_GAP 2
-
-typedef struct __freenode_t {
- uint32_t level:28, cnt:4;
- struct __freenode_t *next;
-} freenode_t, *freenode_p;
-
-#define freenode_lt(a,b) ((a)->cnt < (b)->cnt || ((a)->cnt == (b)->cnt && (a)->level < (b)->level))
-KSORT_INIT(node, freenode_p, freenode_lt)
-
-/* Memory pool, similar to the one in bam_pileup.c */
-typedef struct {
- int cnt, n, max;
- freenode_t **buf;
-} mempool_t;
-
-static mempool_t *mp_init()
-{
- return (mempool_t*)calloc(1, sizeof(mempool_t));
-}
-static void mp_destroy(mempool_t *mp)
-{
- int k;
- for (k = 0; k < mp->n; ++k) free(mp->buf[k]);
- free(mp->buf); free(mp);
-}
-static inline freenode_t *mp_alloc(mempool_t *mp)
-{
- ++mp->cnt;
- if (mp->n == 0) return (freenode_t*)calloc(1, sizeof(freenode_t));
- else return mp->buf[--mp->n];
-}
-static inline void mp_free(mempool_t *mp, freenode_t *p)
-{
- --mp->cnt; p->next = 0; p->cnt = TV_GAP;
- if (mp->n == mp->max) {
- mp->max = mp->max? mp->max<<1 : 256;
- mp->buf = (freenode_t**)realloc(mp->buf, sizeof(freenode_t*) * mp->max);
- }
- mp->buf[mp->n++] = p;
-}
-
-/* core part */
-struct __bam_lplbuf_t {
- int max, n_cur, n_pre;
- int max_level, *cur_level, *pre_level;
- mempool_t *mp;
- freenode_t **aux, *head, *tail;
- int n_nodes, m_aux;
- bam_pileup_f func;
- void *user_data;
- bam_plbuf_t *plbuf;
-};
-
-void bam_lplbuf_reset(bam_lplbuf_t *buf)
-{
- freenode_t *p, *q;
- bam_plbuf_reset(buf->plbuf);
- for (p = buf->head; p->next;) {
- q = p->next;
- mp_free(buf->mp, p);
- p = q;
- }
- buf->head = buf->tail;
- buf->max_level = 0;
- buf->n_cur = buf->n_pre = 0;
- buf->n_nodes = 0;
-}
-
-static int tview_func(uint32_t tid, uint32_t pos, int n, const bam_pileup1_t *pl, void *data)
-{
- bam_lplbuf_t *tv = (bam_lplbuf_t*)data;
- freenode_t *p;
- int i, l, max_level;
- // allocate memory if necessary
- if (tv->max < n) { // enlarge
- tv->max = n;
- kroundup32(tv->max);
- tv->cur_level = (int*)realloc(tv->cur_level, sizeof(int) * tv->max);
- tv->pre_level = (int*)realloc(tv->pre_level, sizeof(int) * tv->max);
- }
- tv->n_cur = n;
- // update cnt
- for (p = tv->head; p->next; p = p->next)
- if (p->cnt > 0) --p->cnt;
- // calculate cur_level[]
- max_level = 0;
- for (i = l = 0; i < n; ++i) {
- const bam_pileup1_t *p = pl + i;
- if (p->is_head) {
- if (tv->head->next && tv->head->cnt == 0) { // then take a free slot
- freenode_t *p = tv->head->next;
- tv->cur_level[i] = tv->head->level;
- mp_free(tv->mp, tv->head);
- tv->head = p;
- --tv->n_nodes;
- } else tv->cur_level[i] = ++tv->max_level;
- } else {
- tv->cur_level[i] = tv->pre_level[l++];
- if (p->is_tail) { // then return a free slot
- tv->tail->level = tv->cur_level[i];
- tv->tail->next = mp_alloc(tv->mp);
- tv->tail = tv->tail->next;
- ++tv->n_nodes;
- }
- }
- if (tv->cur_level[i] > max_level) max_level = tv->cur_level[i];
- ((bam_pileup1_t*)p)->level = tv->cur_level[i];
- }
- assert(l == tv->n_pre);
- tv->func(tid, pos, n, pl, tv->user_data);
- // sort the linked list
- if (tv->n_nodes) {
- freenode_t *q;
- if (tv->n_nodes + 1 > tv->m_aux) { // enlarge
- tv->m_aux = tv->n_nodes + 1;
- kroundup32(tv->m_aux);
- tv->aux = (freenode_t**)realloc(tv->aux, sizeof(void*) * tv->m_aux);
- }
- for (p = tv->head, i = l = 0; p->next;) {
- if (p->level > max_level) { // then discard this entry
- q = p->next;
- mp_free(tv->mp, p);
- p = q;
- } else {
- tv->aux[i++] = p;
- p = p->next;
- }
- }
- tv->aux[i] = tv->tail; // add a proper tail for the loop below
- tv->n_nodes = i;
- if (tv->n_nodes) {
- ks_introsort(node, tv->n_nodes, tv->aux);
- for (i = 0; i < tv->n_nodes; ++i) tv->aux[i]->next = tv->aux[i+1];
- tv->head = tv->aux[0];
- } else tv->head = tv->tail;
- }
- // clean up
- tv->max_level = max_level;
- memcpy(tv->pre_level, tv->cur_level, tv->n_cur * 4);
- // squeeze out terminated levels
- for (i = l = 0; i < n; ++i) {
- const bam_pileup1_t *p = pl + i;
- if (!p->is_tail)
- tv->pre_level[l++] = tv->pre_level[i];
- }
- tv->n_pre = l;
-/*
- fprintf(stderr, "%d\t", pos+1);
- for (i = 0; i < n; ++i) {
- const bam_pileup1_t *p = pl + i;
- if (p->is_head) fprintf(stderr, "^");
- if (p->is_tail) fprintf(stderr, "$");
- fprintf(stderr, "%d,", p->level);
- }
- fprintf(stderr, "\n");
-*/
- return 0;
-}
-
-bam_lplbuf_t *bam_lplbuf_init(bam_pileup_f func, void *data)
-{
- bam_lplbuf_t *tv;
- tv = (bam_lplbuf_t*)calloc(1, sizeof(bam_lplbuf_t));
- tv->mp = mp_init();
- tv->head = tv->tail = mp_alloc(tv->mp);
- tv->func = func;
- tv->user_data = data;
- tv->plbuf = bam_plbuf_init(tview_func, tv);
- return (bam_lplbuf_t*)tv;
-}
-
-void bam_lplbuf_destroy(bam_lplbuf_t *tv)
-{
- freenode_t *p, *q;
- free(tv->cur_level); free(tv->pre_level);
- bam_plbuf_destroy(tv->plbuf);
- free(tv->aux);
- for (p = tv->head; p->next;) {
- q = p->next;
- mp_free(tv->mp, p); p = q;
- }
- mp_free(tv->mp, p);
- assert(tv->mp->cnt == 0);
- mp_destroy(tv->mp);
- free(tv);
-}
-
-int bam_lplbuf_push(const bam1_t *b, bam_lplbuf_t *tv)
-{
- return bam_plbuf_push(b, tv->plbuf);
-}
diff --git a/sam/bam_mate.c b/sam/bam_mate.c
deleted file mode 100644
index b947c9d..0000000
--- a/sam/bam_mate.c
+++ /dev/null
@@ -1,128 +0,0 @@
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include "kstring.h"
-#include "bam.h"
-
-void bam_template_cigar(bam1_t *b1, bam1_t *b2, kstring_t *str)
-{
- bam1_t *swap;
- int i, end;
- uint32_t *cigar;
- str->l = 0;
- if (b1->core.tid != b2->core.tid || b1->core.tid < 0) return; // coordinateless or not on the same chr; skip
- if (b1->core.pos > b2->core.pos) swap = b1, b1 = b2, b2 = swap; // make sure b1 has a smaller coordinate
- kputc((b1->core.flag & BAM_FREAD1)? '1' : '2', str); // segment index
- kputc((b1->core.flag & BAM_FREVERSE)? 'R' : 'F', str); // strand
- for (i = 0, cigar = bam1_cigar(b1); i < b1->core.n_cigar; ++i) {
- kputw(bam_cigar_oplen(cigar[i]), str);
- kputc(bam_cigar_opchr(cigar[i]), str);
- }
- end = bam_calend(&b1->core, cigar);
- kputw(b2->core.pos - end, str);
- kputc('T', str);
- kputc((b2->core.flag & BAM_FREAD1)? '1' : '2', str); // segment index
- kputc((b2->core.flag & BAM_FREVERSE)? 'R' : 'F', str); // strand
- for (i = 0, cigar = bam1_cigar(b2); i < b2->core.n_cigar; ++i) {
- kputw(bam_cigar_oplen(cigar[i]), str);
- kputc(bam_cigar_opchr(cigar[i]), str);
- }
- bam_aux_append(b1, "CT", 'Z', str->l+1, (uint8_t*)str->s);
-}
-
-// currently, this function ONLY works if each read has one hit
-void bam_mating_core(bamFile in, bamFile out, int remove_reads)
-{
- bam_header_t *header;
- bam1_t *b[2];
- int curr, has_prev, pre_end = 0, cur_end;
- kstring_t str;
-
- str.l = str.m = 0; str.s = 0;
- header = bam_header_read(in);
- bam_header_write(out, header);
-
- b[0] = bam_init1();
- b[1] = bam_init1();
- curr = 0; has_prev = 0;
- while (bam_read1(in, b[curr]) >= 0) {
- bam1_t *cur = b[curr], *pre = b[1-curr];
- if (cur->core.tid < 0)
- {
- if ( !remove_reads ) bam_write1(out, cur);
- continue;
- }
- cur_end = bam_calend(&cur->core, bam1_cigar(cur));
- if (cur_end > (int)header->target_len[cur->core.tid]) cur->core.flag |= BAM_FUNMAP;
- if (cur->core.flag & BAM_FSECONDARY)
- {
- if ( !remove_reads ) bam_write1(out, cur);
- continue; // skip secondary alignments
- }
- if (has_prev) {
- if (strcmp(bam1_qname(cur), bam1_qname(pre)) == 0) { // identical pair name
- cur->core.mtid = pre->core.tid; cur->core.mpos = pre->core.pos;
- pre->core.mtid = cur->core.tid; pre->core.mpos = cur->core.pos;
- if (pre->core.tid == cur->core.tid && !(cur->core.flag&(BAM_FUNMAP|BAM_FMUNMAP))
- && !(pre->core.flag&(BAM_FUNMAP|BAM_FMUNMAP))) // set TLEN/ISIZE
- {
- uint32_t cur5, pre5;
- cur5 = (cur->core.flag&BAM_FREVERSE)? cur_end : cur->core.pos;
- pre5 = (pre->core.flag&BAM_FREVERSE)? pre_end : pre->core.pos;
- cur->core.isize = pre5 - cur5; pre->core.isize = cur5 - pre5;
- } else cur->core.isize = pre->core.isize = 0;
- if (pre->core.flag&BAM_FREVERSE) cur->core.flag |= BAM_FMREVERSE;
- else cur->core.flag &= ~BAM_FMREVERSE;
- if (cur->core.flag&BAM_FREVERSE) pre->core.flag |= BAM_FMREVERSE;
- else pre->core.flag &= ~BAM_FMREVERSE;
- if (cur->core.flag & BAM_FUNMAP) { pre->core.flag |= BAM_FMUNMAP; pre->core.flag &= ~BAM_FPROPER_PAIR; }
- if (pre->core.flag & BAM_FUNMAP) { cur->core.flag |= BAM_FMUNMAP; cur->core.flag &= ~BAM_FPROPER_PAIR; }
- bam_template_cigar(pre, cur, &str);
- bam_write1(out, pre);
- bam_write1(out, cur);
- has_prev = 0;
- } else { // unpaired or singleton
- pre->core.mtid = -1; pre->core.mpos = -1; pre->core.isize = 0;
- if (pre->core.flag & BAM_FPAIRED) {
- pre->core.flag |= BAM_FMUNMAP;
- pre->core.flag &= ~BAM_FMREVERSE & ~BAM_FPROPER_PAIR;
- }
- bam_write1(out, pre);
- }
- } else has_prev = 1;
- curr = 1 - curr;
- pre_end = cur_end;
- }
- if (has_prev) bam_write1(out, b[1-curr]);
- bam_header_destroy(header);
- bam_destroy1(b[0]);
- bam_destroy1(b[1]);
- free(str.s);
-}
-
-void usage()
-{
- fprintf(stderr,"Usage: samtools fixmate <in.nameSrt.bam> <out.nameSrt.bam>\n");
- fprintf(stderr,"Options:\n");
- fprintf(stderr," -r remove unmapped reads and secondary alignments\n");
- exit(1);
-}
-
-int bam_mating(int argc, char *argv[])
-{
- bamFile in, out;
- int c, remove_reads=0;
- while ((c = getopt(argc, argv, "r")) >= 0) {
- switch (c) {
- case 'r': remove_reads=1; break;
- }
- }
- if (optind+1 >= argc) usage();
- in = (strcmp(argv[optind], "-") == 0)? bam_dopen(fileno(stdin), "r") : bam_open(argv[optind], "r");
- out = (strcmp(argv[optind+1], "-") == 0)? bam_dopen(fileno(stdout), "w") : bam_open(argv[optind+1], "w");
- bam_mating_core(in, out, remove_reads);
- bam_close(in); bam_close(out);
- return 0;
-}
-
-
diff --git a/sam/bam_md.c b/sam/bam_md.c
deleted file mode 100644
index ce40a12..0000000
--- a/sam/bam_md.c
+++ /dev/null
@@ -1,389 +0,0 @@
-#include <unistd.h>
-#include <assert.h>
-#include <string.h>
-#include <ctype.h>
-#include <math.h>
-#include "faidx.h"
-#include "sam.h"
-#include "kstring.h"
-#include "kaln.h"
-#include "kprobaln.h"
-
-#define USE_EQUAL 1
-#define DROP_TAG 2
-#define BIN_QUAL 4
-#define UPDATE_NM 8
-#define UPDATE_MD 16
-#define HASH_QNM 32
-
-char bam_nt16_nt4_table[] = { 4, 0, 1, 4, 2, 4, 4, 4, 3, 4, 4, 4, 4, 4, 4, 4 };
-
-int bam_aux_drop_other(bam1_t *b, uint8_t *s);
-
-void bam_fillmd1_core(bam1_t *b, char *ref, int flag, int max_nm)
-{
- uint8_t *seq = bam1_seq(b);
- uint32_t *cigar = bam1_cigar(b);
- bam1_core_t *c = &b->core;
- int i, x, y, u = 0;
- kstring_t *str;
- int32_t old_nm_i = -1, nm = 0;
-
- str = (kstring_t*)calloc(1, sizeof(kstring_t));
- for (i = y = 0, x = c->pos; i < c->n_cigar; ++i) {
- int j, l = cigar[i]>>4, op = cigar[i]&0xf;
- if (op == BAM_CMATCH || op == BAM_CEQUAL || op == BAM_CDIFF) {
- for (j = 0; j < l; ++j) {
- int z = y + j;
- int c1 = bam1_seqi(seq, z), c2 = bam_nt16_table[(int)ref[x+j]];
- if (ref[x+j] == 0) break; // out of boundary
- if ((c1 == c2 && c1 != 15 && c2 != 15) || c1 == 0) { // a match
- if (flag&USE_EQUAL) seq[z/2] &= (z&1)? 0xf0 : 0x0f;
- ++u;
- } else {
- kputw(u, str); kputc(ref[x+j], str);
- u = 0; ++nm;
- }
- }
- if (j < l) break;
- x += l; y += l;
- } else if (op == BAM_CDEL) {
- kputw(u, str); kputc('^', str);
- for (j = 0; j < l; ++j) {
- if (ref[x+j] == 0) break;
- kputc(ref[x+j], str);
- }
- u = 0;
- if (j < l) break;
- x += l; nm += l;
- } else if (op == BAM_CINS || op == BAM_CSOFT_CLIP) {
- y += l;
- if (op == BAM_CINS) nm += l;
- } else if (op == BAM_CREF_SKIP) {
- x += l;
- }
- }
- kputw(u, str);
- // apply max_nm
- if (max_nm > 0 && nm >= max_nm) {
- for (i = y = 0, x = c->pos; i < c->n_cigar; ++i) {
- int j, l = cigar[i]>>4, op = cigar[i]&0xf;
- if (op == BAM_CMATCH || op == BAM_CEQUAL || op == BAM_CDIFF) {
- for (j = 0; j < l; ++j) {
- int z = y + j;
- int c1 = bam1_seqi(seq, z), c2 = bam_nt16_table[(int)ref[x+j]];
- if (ref[x+j] == 0) break; // out of boundary
- if ((c1 == c2 && c1 != 15 && c2 != 15) || c1 == 0) { // a match
- seq[z/2] |= (z&1)? 0x0f : 0xf0;
- bam1_qual(b)[z] = 0;
- }
- }
- if (j < l) break;
- x += l; y += l;
- } else if (op == BAM_CDEL || op == BAM_CREF_SKIP) x += l;
- else if (op == BAM_CINS || op == BAM_CSOFT_CLIP) y += l;
- }
- }
- // update NM
- if (flag & UPDATE_NM) {
- uint8_t *old_nm = bam_aux_get(b, "NM");
- if (c->flag & BAM_FUNMAP) return;
- if (old_nm) old_nm_i = bam_aux2i(old_nm);
- if (!old_nm) bam_aux_append(b, "NM", 'i', 4, (uint8_t*)&nm);
- else if (nm != old_nm_i) {
- fprintf(stderr, "[bam_fillmd1] different NM for read '%s': %d -> %d\n", bam1_qname(b), old_nm_i, nm);
- bam_aux_del(b, old_nm);
- bam_aux_append(b, "NM", 'i', 4, (uint8_t*)&nm);
- }
- }
- // update MD
- if (flag & UPDATE_MD) {
- uint8_t *old_md = bam_aux_get(b, "MD");
- if (c->flag & BAM_FUNMAP) return;
- if (!old_md) bam_aux_append(b, "MD", 'Z', str->l + 1, (uint8_t*)str->s);
- else {
- int is_diff = 0;
- if (strlen((char*)old_md+1) == str->l) {
- for (i = 0; i < str->l; ++i)
- if (toupper(old_md[i+1]) != toupper(str->s[i]))
- break;
- if (i < str->l) is_diff = 1;
- } else is_diff = 1;
- if (is_diff) {
- fprintf(stderr, "[bam_fillmd1] different MD for read '%s': '%s' -> '%s'\n", bam1_qname(b), old_md+1, str->s);
- bam_aux_del(b, old_md);
- bam_aux_append(b, "MD", 'Z', str->l + 1, (uint8_t*)str->s);
- }
- }
- }
- // drop all tags but RG
- if (flag&DROP_TAG) {
- uint8_t *q = bam_aux_get(b, "RG");
- bam_aux_drop_other(b, q);
- }
- // reduce the resolution of base quality
- if (flag&BIN_QUAL) {
- uint8_t *qual = bam1_qual(b);
- for (i = 0; i < b->core.l_qseq; ++i)
- if (qual[i] >= 3) qual[i] = qual[i]/10*10 + 7;
- }
- free(str->s); free(str);
-}
-
-void bam_fillmd1(bam1_t *b, char *ref, int flag)
-{
- bam_fillmd1_core(b, ref, flag, 0);
-}
-
-int bam_cap_mapQ(bam1_t *b, char *ref, int thres)
-{
- uint8_t *seq = bam1_seq(b), *qual = bam1_qual(b);
- uint32_t *cigar = bam1_cigar(b);
- bam1_core_t *c = &b->core;
- int i, x, y, mm, q, len, clip_l, clip_q;
- double t;
- if (thres < 0) thres = 40; // set the default
- mm = q = len = clip_l = clip_q = 0;
- for (i = y = 0, x = c->pos; i < c->n_cigar; ++i) {
- int j, l = cigar[i]>>4, op = cigar[i]&0xf;
- if (op == BAM_CMATCH || op == BAM_CEQUAL || op == BAM_CDIFF) {
- for (j = 0; j < l; ++j) {
- int z = y + j;
- int c1 = bam1_seqi(seq, z), c2 = bam_nt16_table[(int)ref[x+j]];
- if (ref[x+j] == 0) break; // out of boundary
- if (c2 != 15 && c1 != 15 && qual[z] >= 13) { // not ambiguous
- ++len;
- if (c1 && c1 != c2 && qual[z] >= 13) { // mismatch
- ++mm;
- q += qual[z] > 33? 33 : qual[z];
- }
- }
- }
- if (j < l) break;
- x += l; y += l; len += l;
- } else if (op == BAM_CDEL) {
- for (j = 0; j < l; ++j)
- if (ref[x+j] == 0) break;
- if (j < l) break;
- x += l;
- } else if (op == BAM_CSOFT_CLIP) {
- for (j = 0; j < l; ++j) clip_q += qual[y+j];
- clip_l += l;
- y += l;
- } else if (op == BAM_CHARD_CLIP) {
- clip_q += 13 * l;
- clip_l += l;
- } else if (op == BAM_CINS) y += l;
- else if (op == BAM_CREF_SKIP) x += l;
- }
- for (i = 0, t = 1; i < mm; ++i)
- t *= (double)len / (i+1);
- t = q - 4.343 * log(t) + clip_q / 5.;
- if (t > thres) return -1;
- if (t < 0) t = 0;
- t = sqrt((thres - t) / thres) * thres;
-// fprintf(stderr, "%s %lf %d\n", bam1_qname(b), t, q);
- return (int)(t + .499);
-}
-
-int bam_prob_realn_core(bam1_t *b, const char *ref, int flag)
-{
- int k, i, bw, x, y, yb, ye, xb, xe, apply_baq = flag&1, extend_baq = flag>>1&1, redo_baq = flag&4;
- uint32_t *cigar = bam1_cigar(b);
- bam1_core_t *c = &b->core;
- kpa_par_t conf = kpa_par_def;
- uint8_t *bq = 0, *zq = 0, *qual = bam1_qual(b);
- if ((c->flag & BAM_FUNMAP) || b->core.l_qseq == 0) return -1; // do nothing
- // test if BQ or ZQ is present
- if ((bq = bam_aux_get(b, "BQ")) != 0) ++bq;
- if ((zq = bam_aux_get(b, "ZQ")) != 0 && *zq == 'Z') ++zq;
- if (bq && redo_baq)
- {
- bam_aux_del(b, bq-1);
- bq = 0;
- }
- if (bq && zq) { // remove the ZQ tag
- bam_aux_del(b, zq-1);
- zq = 0;
- }
- if (bq || zq) {
- if ((apply_baq && zq) || (!apply_baq && bq)) return -3; // in both cases, do nothing
- if (bq && apply_baq) { // then convert BQ to ZQ
- for (i = 0; i < c->l_qseq; ++i)
- qual[i] = qual[i] + 64 < bq[i]? 0 : qual[i] - ((int)bq[i] - 64);
- *(bq - 3) = 'Z';
- } else if (zq && !apply_baq) { // then convert ZQ to BQ
- for (i = 0; i < c->l_qseq; ++i)
- qual[i] += (int)zq[i] - 64;
- *(zq - 3) = 'B';
- }
- return 0;
- }
- // find the start and end of the alignment
- x = c->pos, y = 0, yb = ye = xb = xe = -1;
- for (k = 0; k < c->n_cigar; ++k) {
- int op, l;
- op = cigar[k]&0xf; l = cigar[k]>>4;
- if (op == BAM_CMATCH || op == BAM_CEQUAL || op == BAM_CDIFF) {
- if (yb < 0) yb = y;
- if (xb < 0) xb = x;
- ye = y + l; xe = x + l;
- x += l; y += l;
- } else if (op == BAM_CSOFT_CLIP || op == BAM_CINS) y += l;
- else if (op == BAM_CDEL) x += l;
- else if (op == BAM_CREF_SKIP) return -1; // do nothing if there is a reference skip
- }
- // set bandwidth and the start and the end
- bw = 7;
- if (abs((xe - xb) - (ye - yb)) > bw)
- bw = abs((xe - xb) - (ye - yb)) + 3;
- conf.bw = bw;
- xb -= yb + bw/2; if (xb < 0) xb = 0;
- xe += c->l_qseq - ye + bw/2;
- if (xe - xb - c->l_qseq > bw)
- xb += (xe - xb - c->l_qseq - bw) / 2, xe -= (xe - xb - c->l_qseq - bw) / 2;
- { // glocal
- uint8_t *s, *r, *q, *seq = bam1_seq(b), *bq;
- int *state;
- bq = calloc(c->l_qseq + 1, 1);
- memcpy(bq, qual, c->l_qseq);
- s = calloc(c->l_qseq, 1);
- for (i = 0; i < c->l_qseq; ++i) s[i] = bam_nt16_nt4_table[bam1_seqi(seq, i)];
- r = calloc(xe - xb, 1);
- for (i = xb; i < xe; ++i) {
- if (ref[i] == 0) { xe = i; break; }
- r[i-xb] = bam_nt16_nt4_table[bam_nt16_table[(int)ref[i]]];
- }
- state = calloc(c->l_qseq, sizeof(int));
- q = calloc(c->l_qseq, 1);
- kpa_glocal(r, xe-xb, s, c->l_qseq, qual, &conf, state, q);
- if (!extend_baq) { // in this block, bq[] is capped by base quality qual[]
- for (k = 0, x = c->pos, y = 0; k < c->n_cigar; ++k) {
- int op = cigar[k]&0xf, l = cigar[k]>>4;
- if (op == BAM_CMATCH || op == BAM_CEQUAL || op == BAM_CDIFF) {
- for (i = y; i < y + l; ++i) {
- if ((state[i]&3) != 0 || state[i]>>2 != x - xb + (i - y)) bq[i] = 0;
- else bq[i] = bq[i] < q[i]? bq[i] : q[i];
- }
- x += l; y += l;
- } else if (op == BAM_CSOFT_CLIP || op == BAM_CINS) y += l;
- else if (op == BAM_CDEL) x += l;
- }
- for (i = 0; i < c->l_qseq; ++i) bq[i] = qual[i] - bq[i] + 64; // finalize BQ
- } else { // in this block, bq[] is BAQ that can be larger than qual[] (different from the above!)
- uint8_t *left, *rght;
- left = calloc(c->l_qseq, 1); rght = calloc(c->l_qseq, 1);
- for (k = 0, x = c->pos, y = 0; k < c->n_cigar; ++k) {
- int op = cigar[k]&0xf, l = cigar[k]>>4;
- if (op == BAM_CMATCH || op == BAM_CEQUAL || op == BAM_CDIFF) {
- for (i = y; i < y + l; ++i)
- bq[i] = ((state[i]&3) != 0 || state[i]>>2 != x - xb + (i - y))? 0 : q[i];
- for (left[y] = bq[y], i = y + 1; i < y + l; ++i)
- left[i] = bq[i] > left[i-1]? bq[i] : left[i-1];
- for (rght[y+l-1] = bq[y+l-1], i = y + l - 2; i >= y; --i)
- rght[i] = bq[i] > rght[i+1]? bq[i] : rght[i+1];
- for (i = y; i < y + l; ++i)
- bq[i] = left[i] < rght[i]? left[i] : rght[i];
- x += l; y += l;
- } else if (op == BAM_CSOFT_CLIP || op == BAM_CINS) y += l;
- else if (op == BAM_CDEL) x += l;
- }
- for (i = 0; i < c->l_qseq; ++i) bq[i] = 64 + (qual[i] <= bq[i]? 0 : qual[i] - bq[i]); // finalize BQ
- free(left); free(rght);
- }
- if (apply_baq) {
- for (i = 0; i < c->l_qseq; ++i) qual[i] -= bq[i] - 64; // modify qual
- bam_aux_append(b, "ZQ", 'Z', c->l_qseq + 1, bq);
- } else bam_aux_append(b, "BQ", 'Z', c->l_qseq + 1, bq);
- free(bq); free(s); free(r); free(q); free(state);
- }
- return 0;
-}
-
-int bam_prob_realn(bam1_t *b, const char *ref)
-{
- return bam_prob_realn_core(b, ref, 1);
-}
-
-int bam_fillmd(int argc, char *argv[])
-{
- int c, flt_flag, tid = -2, ret, len, is_bam_out, is_sam_in, is_uncompressed, max_nm, is_realn, capQ, baq_flag;
- samfile_t *fp, *fpout = 0;
- faidx_t *fai;
- char *ref = 0, mode_w[8], mode_r[8];
- bam1_t *b;
-
- flt_flag = UPDATE_NM | UPDATE_MD;
- is_bam_out = is_sam_in = is_uncompressed = is_realn = max_nm = capQ = baq_flag = 0;
- mode_w[0] = mode_r[0] = 0;
- strcpy(mode_r, "r"); strcpy(mode_w, "w");
- while ((c = getopt(argc, argv, "EqreuNhbSC:n:Ad")) >= 0) {
- switch (c) {
- case 'r': is_realn = 1; break;
- case 'e': flt_flag |= USE_EQUAL; break;
- case 'd': flt_flag |= DROP_TAG; break;
- case 'q': flt_flag |= BIN_QUAL; break;
- case 'h': flt_flag |= HASH_QNM; break;
- case 'N': flt_flag &= ~(UPDATE_MD|UPDATE_NM); break;
- case 'b': is_bam_out = 1; break;
- case 'u': is_uncompressed = is_bam_out = 1; break;
- case 'S': is_sam_in = 1; break;
- case 'n': max_nm = atoi(optarg); break;
- case 'C': capQ = atoi(optarg); break;
- case 'A': baq_flag |= 1; break;
- case 'E': baq_flag |= 2; break;
- default: fprintf(stderr, "[bam_fillmd] unrecognized option '-%c'\n", c); return 1;
- }
- }
- if (!is_sam_in) strcat(mode_r, "b");
- if (is_bam_out) strcat(mode_w, "b");
- else strcat(mode_w, "h");
- if (is_uncompressed) strcat(mode_w, "u");
- if (optind + 1 >= argc) {
- fprintf(stderr, "\n");
- fprintf(stderr, "Usage: samtools fillmd [-eubrS] <aln.bam> <ref.fasta>\n\n");
- fprintf(stderr, "Options: -e change identical bases to '='\n");
- fprintf(stderr, " -u uncompressed BAM output (for piping)\n");
- fprintf(stderr, " -b compressed BAM output\n");
- fprintf(stderr, " -S the input is SAM with header\n");
- fprintf(stderr, " -A modify the quality string\n");
- fprintf(stderr, " -r compute the BQ tag (without -A) or cap baseQ by BAQ (with -A)\n");
- fprintf(stderr, " -E extended BAQ for better sensitivity but lower specificity\n\n");
- return 1;
- }
- fp = samopen(argv[optind], mode_r, 0);
- if (fp == 0) return 1;
- if (is_sam_in && (fp->header == 0 || fp->header->n_targets == 0)) {
- fprintf(stderr, "[bam_fillmd] input SAM does not have header. Abort!\n");
- return 1;
- }
- fpout = samopen("-", mode_w, fp->header);
- fai = fai_load(argv[optind+1]);
-
- b = bam_init1();
- while ((ret = samread(fp, b)) >= 0) {
- if (b->core.tid >= 0) {
- if (tid != b->core.tid) {
- free(ref);
- ref = fai_fetch(fai, fp->header->target_name[b->core.tid], &len);
- tid = b->core.tid;
- if (ref == 0)
- fprintf(stderr, "[bam_fillmd] fail to find sequence '%s' in the reference.\n",
- fp->header->target_name[tid]);
- }
- if (is_realn) bam_prob_realn_core(b, ref, baq_flag);
- if (capQ > 10) {
- int q = bam_cap_mapQ(b, ref, capQ);
- if (b->core.qual > q) b->core.qual = q;
- }
- if (ref) bam_fillmd1_core(b, ref, flt_flag, max_nm);
- }
- samwrite(fpout, b);
- }
- bam_destroy1(b);
-
- free(ref);
- fai_destroy(fai);
- samclose(fp); samclose(fpout);
- return 0;
-}
diff --git a/sam/bam_pileup.c b/sam/bam_pileup.c
deleted file mode 100644
index 57434e0..0000000
--- a/sam/bam_pileup.c
+++ /dev/null
@@ -1,437 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <ctype.h>
-#include <assert.h>
-#include "sam.h"
-
-typedef struct {
- int k, x, y, end;
-} cstate_t;
-
-static cstate_t g_cstate_null = { -1, 0, 0, 0 };
-
-typedef struct __linkbuf_t {
- bam1_t b;
- uint32_t beg, end;
- cstate_t s;
- struct __linkbuf_t *next;
-} lbnode_t;
-
-/* --- BEGIN: Memory pool */
-
-typedef struct {
- int cnt, n, max;
- lbnode_t **buf;
-} mempool_t;
-
-static mempool_t *mp_init()
-{
- mempool_t *mp;
- mp = (mempool_t*)calloc(1, sizeof(mempool_t));
- return mp;
-}
-static void mp_destroy(mempool_t *mp)
-{
- int k;
- for (k = 0; k < mp->n; ++k) {
- free(mp->buf[k]->b.data);
- free(mp->buf[k]);
- }
- free(mp->buf);
- free(mp);
-}
-static inline lbnode_t *mp_alloc(mempool_t *mp)
-{
- ++mp->cnt;
- if (mp->n == 0) return (lbnode_t*)calloc(1, sizeof(lbnode_t));
- else return mp->buf[--mp->n];
-}
-static inline void mp_free(mempool_t *mp, lbnode_t *p)
-{
- --mp->cnt; p->next = 0; // clear lbnode_t::next here
- if (mp->n == mp->max) {
- mp->max = mp->max? mp->max<<1 : 256;
- mp->buf = (lbnode_t**)realloc(mp->buf, sizeof(lbnode_t*) * mp->max);
- }
- mp->buf[mp->n++] = p;
-}
-
-/* --- END: Memory pool */
-
-/* --- BEGIN: Auxiliary functions */
-
-/* s->k: the index of the CIGAR operator that has just been processed.
- s->x: the reference coordinate of the start of s->k
- s->y: the query coordiante of the start of s->k
- */
-static inline int resolve_cigar2(bam_pileup1_t *p, uint32_t pos, cstate_t *s)
-{
-#define _cop(c) ((c)&BAM_CIGAR_MASK)
-#define _cln(c) ((c)>>BAM_CIGAR_SHIFT)
-
- bam1_t *b = p->b;
- bam1_core_t *c = &b->core;
- uint32_t *cigar = bam1_cigar(b);
- int k, is_head = 0;
- // determine the current CIGAR operation
-// fprintf(stderr, "%s\tpos=%d\tend=%d\t(%d,%d,%d)\n", bam1_qname(b), pos, s->end, s->k, s->x, s->y);
- if (s->k == -1) { // never processed
- is_head = 1;
- if (c->n_cigar == 1) { // just one operation, save a loop
- if (_cop(cigar[0]) == BAM_CMATCH || _cop(cigar[0]) == BAM_CEQUAL || _cop(cigar[0]) == BAM_CDIFF) s->k = 0, s->x = c->pos, s->y = 0;
- } else { // find the first match or deletion
- for (k = 0, s->x = c->pos, s->y = 0; k < c->n_cigar; ++k) {
- int op = _cop(cigar[k]);
- int l = _cln(cigar[k]);
- if (op == BAM_CMATCH || op == BAM_CDEL || op == BAM_CEQUAL || op == BAM_CDIFF) break;
- else if (op == BAM_CREF_SKIP) s->x += l;
- else if (op == BAM_CINS || op == BAM_CSOFT_CLIP) s->y += l;
- }
- assert(k < c->n_cigar);
- s->k = k;
- }
- } else { // the read has been processed before
- int op, l = _cln(cigar[s->k]);
- if (pos - s->x >= l) { // jump to the next operation
- assert(s->k < c->n_cigar); // otherwise a bug: this function should not be called in this case
- op = _cop(cigar[s->k+1]);
- if (op == BAM_CMATCH || op == BAM_CDEL || op == BAM_CREF_SKIP || op == BAM_CEQUAL || op == BAM_CDIFF) { // jump to the next without a loop
- if (_cop(cigar[s->k]) == BAM_CMATCH|| _cop(cigar[s->k]) == BAM_CEQUAL || _cop(cigar[s->k]) == BAM_CDIFF) s->y += l;
- s->x += l;
- ++s->k;
- } else { // find the next M/D/N/=/X
- if (_cop(cigar[s->k]) == BAM_CMATCH|| _cop(cigar[s->k]) == BAM_CEQUAL || _cop(cigar[s->k]) == BAM_CDIFF) s->y += l;
- s->x += l;
- for (k = s->k + 1; k < c->n_cigar; ++k) {
- op = _cop(cigar[k]), l = _cln(cigar[k]);
- if (op == BAM_CMATCH || op == BAM_CDEL || op == BAM_CREF_SKIP || op == BAM_CEQUAL || op == BAM_CDIFF) break;
- else if (op == BAM_CINS || op == BAM_CSOFT_CLIP) s->y += l;
- }
- s->k = k;
- }
- assert(s->k < c->n_cigar); // otherwise a bug
- } // else, do nothing
- }
- { // collect pileup information
- int op, l;
- op = _cop(cigar[s->k]); l = _cln(cigar[s->k]);
- p->is_del = p->indel = p->is_refskip = 0;
- if (s->x + l - 1 == pos && s->k + 1 < c->n_cigar) { // peek the next operation
- int op2 = _cop(cigar[s->k+1]);
- int l2 = _cln(cigar[s->k+1]);
- if (op2 == BAM_CDEL) p->indel = -(int)l2;
- else if (op2 == BAM_CINS) p->indel = l2;
- else if (op2 == BAM_CPAD && s->k + 2 < c->n_cigar) { // no working for adjacent padding
- int l3 = 0;
- for (k = s->k + 2; k < c->n_cigar; ++k) {
- op2 = _cop(cigar[k]); l2 = _cln(cigar[k]);
- if (op2 == BAM_CINS) l3 += l2;
- else if (op2 == BAM_CDEL || op2 == BAM_CMATCH || op2 == BAM_CREF_SKIP || op2 == BAM_CEQUAL || op2 == BAM_CDIFF) break;
- }
- if (l3 > 0) p->indel = l3;
- }
- }
- if (op == BAM_CMATCH || op == BAM_CEQUAL || op == BAM_CDIFF) {
- p->qpos = s->y + (pos - s->x);
- } else if (op == BAM_CDEL || op == BAM_CREF_SKIP) {
- p->is_del = 1; p->qpos = s->y; // FIXME: distinguish D and N!!!!!
- p->is_refskip = (op == BAM_CREF_SKIP);
- } // cannot be other operations; otherwise a bug
- p->is_head = (pos == c->pos); p->is_tail = (pos == s->end);
- }
- return 1;
-}
-
-/* --- END: Auxiliary functions */
-
-/*******************
- * pileup iterator *
- *******************/
-
-struct __bam_plp_t {
- mempool_t *mp;
- lbnode_t *head, *tail, *dummy;
- int32_t tid, pos, max_tid, max_pos;
- int is_eof, flag_mask, max_plp, error, maxcnt;
- bam_pileup1_t *plp;
- // for the "auto" interface only
- bam1_t *b;
- bam_plp_auto_f func;
- void *data;
-};
-
-bam_plp_t bam_plp_init(bam_plp_auto_f func, void *data)
-{
- bam_plp_t iter;
- iter = calloc(1, sizeof(struct __bam_plp_t));
- iter->mp = mp_init();
- iter->head = iter->tail = mp_alloc(iter->mp);
- iter->dummy = mp_alloc(iter->mp);
- iter->max_tid = iter->max_pos = -1;
- iter->flag_mask = BAM_DEF_MASK;
- iter->maxcnt = 8000;
- if (func) {
- iter->func = func;
- iter->data = data;
- iter->b = bam_init1();
- }
- return iter;
-}
-
-void bam_plp_destroy(bam_plp_t iter)
-{
- mp_free(iter->mp, iter->dummy);
- mp_free(iter->mp, iter->head);
- if (iter->mp->cnt != 0)
- fprintf(stderr, "[bam_plp_destroy] memory leak: %d. Continue anyway.\n", iter->mp->cnt);
- mp_destroy(iter->mp);
- if (iter->b) bam_destroy1(iter->b);
- free(iter->plp);
- free(iter);
-}
-
-const bam_pileup1_t *bam_plp_next(bam_plp_t iter, int *_tid, int *_pos, int *_n_plp)
-{
- if (iter->error) { *_n_plp = -1; return 0; }
- *_n_plp = 0;
- if (iter->is_eof && iter->head->next == 0) return 0;
- while (iter->is_eof || iter->max_tid > iter->tid || (iter->max_tid == iter->tid && iter->max_pos > iter->pos)) {
- int n_plp = 0;
- lbnode_t *p, *q;
- // write iter->plp at iter->pos
- iter->dummy->next = iter->head;
- for (p = iter->head, q = iter->dummy; p->next; q = p, p = p->next) {
- if (p->b.core.tid < iter->tid || (p->b.core.tid == iter->tid && p->end <= iter->pos)) { // then remove
- q->next = p->next; mp_free(iter->mp, p); p = q;
- } else if (p->b.core.tid == iter->tid && p->beg <= iter->pos) { // here: p->end > pos; then add to pileup
- if (n_plp == iter->max_plp) { // then double the capacity
- iter->max_plp = iter->max_plp? iter->max_plp<<1 : 256;
- iter->plp = (bam_pileup1_t*)realloc(iter->plp, sizeof(bam_pileup1_t) * iter->max_plp);
- }
- iter->plp[n_plp].b = &p->b;
- if (resolve_cigar2(iter->plp + n_plp, iter->pos, &p->s)) ++n_plp; // actually always true...
- }
- }
- iter->head = iter->dummy->next; // dummy->next may be changed
- *_n_plp = n_plp; *_tid = iter->tid; *_pos = iter->pos;
- // update iter->tid and iter->pos
- if (iter->head->next) {
- if (iter->tid > iter->head->b.core.tid) {
- fprintf(stderr, "[%s] unsorted input. Pileup aborts.\n", __func__);
- iter->error = 1;
- *_n_plp = -1;
- return 0;
- }
- }
- if (iter->tid < iter->head->b.core.tid) { // come to a new reference sequence
- iter->tid = iter->head->b.core.tid; iter->pos = iter->head->beg; // jump to the next reference
- } else if (iter->pos < iter->head->beg) { // here: tid == head->b.core.tid
- iter->pos = iter->head->beg; // jump to the next position
- } else ++iter->pos; // scan contiguously
- // return
- if (n_plp) return iter->plp;
- if (iter->is_eof && iter->head->next == 0) break;
- }
- return 0;
-}
-
-int bam_plp_push(bam_plp_t iter, const bam1_t *b)
-{
- if (iter->error) return -1;
- if (b) {
- if (b->core.tid < 0) return 0;
- if (b->core.flag & iter->flag_mask) return 0;
- if (iter->tid == b->core.tid && iter->pos == b->core.pos && iter->mp->cnt > iter->maxcnt) return 0;
- bam_copy1(&iter->tail->b, b);
- iter->tail->beg = b->core.pos; iter->tail->end = bam_calend(&b->core, bam1_cigar(b));
- iter->tail->s = g_cstate_null; iter->tail->s.end = iter->tail->end - 1; // initialize cstate_t
- if (b->core.tid < iter->max_tid) {
- fprintf(stderr, "[bam_pileup_core] the input is not sorted (chromosomes out of order)\n");
- iter->error = 1;
- return -1;
- }
- if ((b->core.tid == iter->max_tid) && (iter->tail->beg < iter->max_pos)) {
- fprintf(stderr, "[bam_pileup_core] the input is not sorted (reads out of order)\n");
- iter->error = 1;
- return -1;
- }
- iter->max_tid = b->core.tid; iter->max_pos = iter->tail->beg;
- if (iter->tail->end > iter->pos || iter->tail->b.core.tid > iter->tid) {
- iter->tail->next = mp_alloc(iter->mp);
- iter->tail = iter->tail->next;
- }
- } else iter->is_eof = 1;
- return 0;
-}
-
-const bam_pileup1_t *bam_plp_auto(bam_plp_t iter, int *_tid, int *_pos, int *_n_plp)
-{
- const bam_pileup1_t *plp;
- if (iter->func == 0 || iter->error) { *_n_plp = -1; return 0; }
- if ((plp = bam_plp_next(iter, _tid, _pos, _n_plp)) != 0) return plp;
- else { // no pileup line can be obtained; read alignments
- *_n_plp = 0;
- if (iter->is_eof) return 0;
- while (iter->func(iter->data, iter->b) >= 0) {
- if (bam_plp_push(iter, iter->b) < 0) {
- *_n_plp = -1;
- return 0;
- }
- if ((plp = bam_plp_next(iter, _tid, _pos, _n_plp)) != 0) return plp;
- // otherwise no pileup line can be returned; read the next alignment.
- }
- bam_plp_push(iter, 0);
- if ((plp = bam_plp_next(iter, _tid, _pos, _n_plp)) != 0) return plp;
- return 0;
- }
-}
-
-void bam_plp_reset(bam_plp_t iter)
-{
- lbnode_t *p, *q;
- iter->max_tid = iter->max_pos = -1;
- iter->tid = iter->pos = 0;
- iter->is_eof = 0;
- for (p = iter->head; p->next;) {
- q = p->next;
- mp_free(iter->mp, p);
- p = q;
- }
- iter->head = iter->tail;
-}
-
-void bam_plp_set_mask(bam_plp_t iter, int mask)
-{
- iter->flag_mask = mask < 0? BAM_DEF_MASK : (BAM_FUNMAP | mask);
-}
-
-void bam_plp_set_maxcnt(bam_plp_t iter, int maxcnt)
-{
- iter->maxcnt = maxcnt;
-}
-
-/*****************
- * callback APIs *
- *****************/
-
-int bam_pileup_file(bamFile fp, int mask, bam_pileup_f func, void *func_data)
-{
- bam_plbuf_t *buf;
- int ret;
- bam1_t *b;
- b = bam_init1();
- buf = bam_plbuf_init(func, func_data);
- bam_plbuf_set_mask(buf, mask);
- while ((ret = bam_read1(fp, b)) >= 0)
- bam_plbuf_push(b, buf);
- bam_plbuf_push(0, buf);
- bam_plbuf_destroy(buf);
- bam_destroy1(b);
- return 0;
-}
-
-void bam_plbuf_set_mask(bam_plbuf_t *buf, int mask)
-{
- bam_plp_set_mask(buf->iter, mask);
-}
-
-void bam_plbuf_reset(bam_plbuf_t *buf)
-{
- bam_plp_reset(buf->iter);
-}
-
-bam_plbuf_t *bam_plbuf_init(bam_pileup_f func, void *data)
-{
- bam_plbuf_t *buf;
- buf = calloc(1, sizeof(bam_plbuf_t));
- buf->iter = bam_plp_init(0, 0);
- buf->func = func;
- buf->data = data;
- return buf;
-}
-
-void bam_plbuf_destroy(bam_plbuf_t *buf)
-{
- bam_plp_destroy(buf->iter);
- free(buf);
-}
-
-int bam_plbuf_push(const bam1_t *b, bam_plbuf_t *buf)
-{
- int ret, n_plp, tid, pos;
- const bam_pileup1_t *plp;
- ret = bam_plp_push(buf->iter, b);
- if (ret < 0) return ret;
- while ((plp = bam_plp_next(buf->iter, &tid, &pos, &n_plp)) != 0)
- buf->func(tid, pos, n_plp, plp, buf->data);
- return 0;
-}
-
-/***********
- * mpileup *
- ***********/
-
-struct __bam_mplp_t {
- int n;
- uint64_t min, *pos;
- bam_plp_t *iter;
- int *n_plp;
- const bam_pileup1_t **plp;
-};
-
-bam_mplp_t bam_mplp_init(int n, bam_plp_auto_f func, void **data)
-{
- int i;
- bam_mplp_t iter;
- iter = calloc(1, sizeof(struct __bam_mplp_t));
- iter->pos = calloc(n, 8);
- iter->n_plp = calloc(n, sizeof(int));
- iter->plp = calloc(n, sizeof(void*));
- iter->iter = calloc(n, sizeof(void*));
- iter->n = n;
- iter->min = (uint64_t)-1;
- for (i = 0; i < n; ++i) {
- iter->iter[i] = bam_plp_init(func, data[i]);
- iter->pos[i] = iter->min;
- }
- return iter;
-}
-
-void bam_mplp_set_maxcnt(bam_mplp_t iter, int maxcnt)
-{
- int i;
- for (i = 0; i < iter->n; ++i)
- iter->iter[i]->maxcnt = maxcnt;
-}
-
-void bam_mplp_destroy(bam_mplp_t iter)
-{
- int i;
- for (i = 0; i < iter->n; ++i) bam_plp_destroy(iter->iter[i]);
- free(iter->iter); free(iter->pos); free(iter->n_plp); free(iter->plp);
- free(iter);
-}
-
-int bam_mplp_auto(bam_mplp_t iter, int *_tid, int *_pos, int *n_plp, const bam_pileup1_t **plp)
-{
- int i, ret = 0;
- uint64_t new_min = (uint64_t)-1;
- for (i = 0; i < iter->n; ++i) {
- if (iter->pos[i] == iter->min) {
- int tid, pos;
- iter->plp[i] = bam_plp_auto(iter->iter[i], &tid, &pos, &iter->n_plp[i]);
- iter->pos[i] = (uint64_t)tid<<32 | pos;
- }
- if (iter->plp[i] && iter->pos[i] < new_min) new_min = iter->pos[i];
- }
- iter->min = new_min;
- if (new_min == (uint64_t)-1) return 0;
- *_tid = new_min>>32; *_pos = (uint32_t)new_min;
- for (i = 0; i < iter->n; ++i) {
- if (iter->pos[i] == iter->min) { // FIXME: valgrind reports "uninitialised value(s) at this line"
- n_plp[i] = iter->n_plp[i], plp[i] = iter->plp[i];
- ++ret;
- } else n_plp[i] = 0, plp[i] = 0;
- }
- return ret;
-}
diff --git a/sam/bam_plcmd.c b/sam/bam_plcmd.c
deleted file mode 100644
index 54a4597..0000000
--- a/sam/bam_plcmd.c
+++ /dev/null
@@ -1,606 +0,0 @@
-#include <math.h>
-#include <stdio.h>
-#include <unistd.h>
-#include <ctype.h>
-#include <string.h>
-#include <errno.h>
-#include <sys/stat.h>
-#include <getopt.h>
-#include "sam.h"
-#include "faidx.h"
-#include "kstring.h"
-#include "sam_header.h"
-
-static inline int printw(int c, FILE *fp)
-{
- char buf[16];
- int l, x;
- if (c == 0) return fputc('0', fp);
- for (l = 0, x = c < 0? -c : c; x > 0; x /= 10) buf[l++] = x%10 + '0';
- if (c < 0) buf[l++] = '-';
- buf[l] = 0;
- for (x = 0; x < l/2; ++x) {
- int y = buf[x]; buf[x] = buf[l-1-x]; buf[l-1-x] = y;
- }
- fputs(buf, fp);
- return 0;
-}
-
-static inline void pileup_seq(const bam_pileup1_t *p, int pos, int ref_len, const char *ref)
-{
- int j;
- if (p->is_head) {
- putchar('^');
- putchar(p->b->core.qual > 93? 126 : p->b->core.qual + 33);
- }
- if (!p->is_del) {
- int c = bam_nt16_rev_table[bam1_seqi(bam1_seq(p->b), p->qpos)];
- if (ref) {
- int rb = pos < ref_len? ref[pos] : 'N';
- if (c == '=' || bam_nt16_table[c] == bam_nt16_table[rb]) c = bam1_strand(p->b)? ',' : '.';
- else c = bam1_strand(p->b)? tolower(c) : toupper(c);
- } else {
- if (c == '=') c = bam1_strand(p->b)? ',' : '.';
- else c = bam1_strand(p->b)? tolower(c) : toupper(c);
- }
- putchar(c);
- } else putchar(p->is_refskip? (bam1_strand(p->b)? '<' : '>') : '*');
- if (p->indel > 0) {
- putchar('+'); printw(p->indel, stdout);
- for (j = 1; j <= p->indel; ++j) {
- int c = bam_nt16_rev_table[bam1_seqi(bam1_seq(p->b), p->qpos + j)];
- putchar(bam1_strand(p->b)? tolower(c) : toupper(c));
- }
- } else if (p->indel < 0) {
- printw(p->indel, stdout);
- for (j = 1; j <= -p->indel; ++j) {
- int c = (ref && (int)pos+j < ref_len)? ref[pos+j] : 'N';
- putchar(bam1_strand(p->b)? tolower(c) : toupper(c));
- }
- }
- if (p->is_tail) putchar('$');
-}
-
-#include <assert.h>
-#include "bam2bcf.h"
-#include "sample.h"
-
-#define MPLP_GLF 0x10
-#define MPLP_NO_COMP 0x20
-#define MPLP_NO_ORPHAN 0x40
-#define MPLP_REALN 0x80
-#define MPLP_NO_INDEL 0x400
-#define MPLP_REDO_BAQ 0x800
-#define MPLP_ILLUMINA13 0x1000
-#define MPLP_IGNORE_RG 0x2000
-#define MPLP_PRINT_POS 0x4000
-#define MPLP_PRINT_MAPQ 0x8000
-#define MPLP_PER_SAMPLE 0x10000
-
-void *bed_read(const char *fn);
-void bed_destroy(void *_h);
-int bed_overlap(const void *_h, const char *chr, int beg, int end);
-
-typedef struct {
- int max_mq, min_mq, flag, min_baseQ, capQ_thres, max_depth, max_indel_depth, fmt_flag;
- int rflag_require, rflag_filter;
- int openQ, extQ, tandemQ, min_support; // for indels
- double min_frac; // for indels
- char *reg, *pl_list, *fai_fname;
- faidx_t *fai;
- void *bed, *rghash;
-} mplp_conf_t;
-
-typedef struct {
- bamFile fp;
- bam_iter_t iter;
- bam_header_t *h;
- int ref_id;
- char *ref;
- const mplp_conf_t *conf;
-} mplp_aux_t;
-
-typedef struct {
- int n;
- int *n_plp, *m_plp;
- bam_pileup1_t **plp;
-} mplp_pileup_t;
-
-static int mplp_func(void *data, bam1_t *b)
-{
- extern int bam_realn(bam1_t *b, const char *ref);
- extern int bam_prob_realn_core(bam1_t *b, const char *ref, int);
- extern int bam_cap_mapQ(bam1_t *b, char *ref, int thres);
- mplp_aux_t *ma = (mplp_aux_t*)data;
- int ret, skip = 0;
- do {
- int has_ref;
- ret = ma->iter? bam_iter_read(ma->fp, ma->iter, b) : bam_read1(ma->fp, b);
- if (ret < 0) break;
- if (b->core.tid < 0 || (b->core.flag&BAM_FUNMAP)) { // exclude unmapped reads
- skip = 1;
- continue;
- }
- if (ma->conf->rflag_require && !(ma->conf->rflag_require&b->core.flag)) { skip = 1; continue; }
- if (ma->conf->rflag_filter && ma->conf->rflag_filter&b->core.flag) { skip = 1; continue; }
- if (ma->conf->bed) { // test overlap
- skip = !bed_overlap(ma->conf->bed, ma->h->target_name[b->core.tid], b->core.pos, bam_calend(&b->core, bam1_cigar(b)));
- if (skip) continue;
- }
- if (ma->conf->rghash) { // exclude read groups
- uint8_t *rg = bam_aux_get(b, "RG");
- skip = (rg && bcf_str2id(ma->conf->rghash, (const char*)(rg+1)) >= 0);
- if (skip) continue;
- }
- if (ma->conf->flag & MPLP_ILLUMINA13) {
- int i;
- uint8_t *qual = bam1_qual(b);
- for (i = 0; i < b->core.l_qseq; ++i)
- qual[i] = qual[i] > 31? qual[i] - 31 : 0;
- }
- has_ref = (ma->ref && ma->ref_id == b->core.tid)? 1 : 0;
- skip = 0;
- if (has_ref && (ma->conf->flag&MPLP_REALN)) bam_prob_realn_core(b, ma->ref, (ma->conf->flag & MPLP_REDO_BAQ)? 7 : 3);
- if (has_ref && ma->conf->capQ_thres > 10) {
- int q = bam_cap_mapQ(b, ma->ref, ma->conf->capQ_thres);
- if (q < 0) skip = 1;
- else if (b->core.qual > q) b->core.qual = q;
- }
- else if (b->core.qual < ma->conf->min_mq) skip = 1;
- else if ((ma->conf->flag&MPLP_NO_ORPHAN) && (b->core.flag&1) && !(b->core.flag&2)) skip = 1;
- } while (skip);
- return ret;
-}
-
-static void group_smpl(mplp_pileup_t *m, bam_sample_t *sm, kstring_t *buf,
- int n, char *const*fn, int *n_plp, const bam_pileup1_t **plp, int ignore_rg)
-{
- int i, j;
- memset(m->n_plp, 0, m->n * sizeof(int));
- for (i = 0; i < n; ++i) {
- for (j = 0; j < n_plp[i]; ++j) {
- const bam_pileup1_t *p = plp[i] + j;
- uint8_t *q;
- int id = -1;
- q = ignore_rg? 0 : bam_aux_get(p->b, "RG");
- if (q) id = bam_smpl_rg2smid(sm, fn[i], (char*)q+1, buf);
- if (id < 0) id = bam_smpl_rg2smid(sm, fn[i], 0, buf);
- if (id < 0 || id >= m->n) {
- assert(q); // otherwise a bug
- fprintf(stderr, "[%s] Read group %s used in file %s but absent from the header or an alignment missing read group.\n", __func__, (char*)q+1, fn[i]);
- exit(1);
- }
- if (m->n_plp[id] == m->m_plp[id]) {
- m->m_plp[id] = m->m_plp[id]? m->m_plp[id]<<1 : 8;
- m->plp[id] = realloc(m->plp[id], sizeof(bam_pileup1_t) * m->m_plp[id]);
- }
- m->plp[id][m->n_plp[id]++] = *p;
- }
- }
-}
-
-static int mpileup(mplp_conf_t *conf, int n, char **fn)
-{
- extern void *bcf_call_add_rg(void *rghash, const char *hdtext, const char *list);
- extern void bcf_call_del_rghash(void *rghash);
- mplp_aux_t **data;
- int i, tid, pos, *n_plp, tid0 = -1, beg0 = 0, end0 = 1u<<29, ref_len, ref_tid = -1, max_depth, max_indel_depth;
- const bam_pileup1_t **plp;
- bam_mplp_t iter;
- bam_header_t *h = 0;
- char *ref;
- void *rghash = 0;
-
- bcf_callaux_t *bca = 0;
- bcf_callret1_t *bcr = 0;
- bcf_call_t bc;
- bcf_t *bp = 0;
- bcf_hdr_t *bh = 0;
-
- bam_sample_t *sm = 0;
- kstring_t buf;
- mplp_pileup_t gplp;
-
- memset(&gplp, 0, sizeof(mplp_pileup_t));
- memset(&buf, 0, sizeof(kstring_t));
- memset(&bc, 0, sizeof(bcf_call_t));
- data = calloc(n, sizeof(void*));
- plp = calloc(n, sizeof(void*));
- n_plp = calloc(n, sizeof(int*));
- sm = bam_smpl_init();
-
- // read the header and initialize data
- for (i = 0; i < n; ++i) {
- bam_header_t *h_tmp;
- data[i] = calloc(1, sizeof(mplp_aux_t));
- data[i]->fp = strcmp(fn[i], "-") == 0? bam_dopen(fileno(stdin), "r") : bam_open(fn[i], "r");
- if ( !data[i]->fp )
- {
- fprintf(stderr, "[%s] failed to open %s: %s\n", __func__, fn[i], strerror(errno));
- exit(1);
- }
- data[i]->conf = conf;
- h_tmp = bam_header_read(data[i]->fp);
- if ( !h_tmp ) {
- fprintf(stderr,"[%s] fail to read the header of %s\n", __func__, fn[i]);
- exit(1);
- }
- data[i]->h = i? h : h_tmp; // for i==0, "h" has not been set yet
- bam_smpl_add(sm, fn[i], (conf->flag&MPLP_IGNORE_RG)? 0 : h_tmp->text);
- rghash = bcf_call_add_rg(rghash, h_tmp->text, conf->pl_list);
- if (conf->reg) {
- int beg, end;
- bam_index_t *idx;
- idx = bam_index_load(fn[i]);
- if (idx == 0) {
- fprintf(stderr, "[%s] fail to load index for %s\n", __func__, fn[i]);
- exit(1);
- }
- if (bam_parse_region(h_tmp, conf->reg, &tid, &beg, &end) < 0) {
- fprintf(stderr, "[%s] malformatted region or wrong seqname for %s\n", __func__, fn[i]);
- exit(1);
- }
- if (i == 0) tid0 = tid, beg0 = beg, end0 = end;
- data[i]->iter = bam_iter_query(idx, tid, beg, end);
- bam_index_destroy(idx);
- }
- if (i == 0) h = h_tmp;
- else {
- // FIXME: to check consistency
- bam_header_destroy(h_tmp);
- }
- }
- gplp.n = sm->n;
- gplp.n_plp = calloc(sm->n, sizeof(int));
- gplp.m_plp = calloc(sm->n, sizeof(int));
- gplp.plp = calloc(sm->n, sizeof(void*));
-
- fprintf(stderr, "[%s] %d samples in %d input files\n", __func__, sm->n, n);
- // write the VCF header
- if (conf->flag & MPLP_GLF) {
- kstring_t s;
- bh = calloc(1, sizeof(bcf_hdr_t));
- s.l = s.m = 0; s.s = 0;
- bp = bcf_open("-", (conf->flag&MPLP_NO_COMP)? "wu" : "w");
- for (i = 0; i < h->n_targets; ++i) {
- kputs(h->target_name[i], &s);
- kputc('\0', &s);
- }
- bh->l_nm = s.l;
- bh->name = malloc(s.l);
- memcpy(bh->name, s.s, s.l);
- s.l = 0;
- for (i = 0; i < sm->n; ++i) {
- kputs(sm->smpl[i], &s); kputc('\0', &s);
- }
- bh->l_smpl = s.l;
- bh->sname = malloc(s.l);
- memcpy(bh->sname, s.s, s.l);
- s.l = 0;
- ksprintf(&s, "##samtoolsVersion=%s\n", BAM_VERSION);
- if (conf->fai_fname) ksprintf(&s, "##reference=file://%s\n", conf->fai_fname);
- h->dict = sam_header_parse2(h->text);
- int nseq;
- const char *tags[] = {"SN","LN","UR","M5",NULL};
- char **tbl = sam_header2tbl_n(h->dict, "SQ", tags, &nseq);
- for (i=0; i<nseq; i++)
- {
- ksprintf(&s, "##contig=<ID=%s", tbl[4*i]);
- if ( tbl[4*i+1] ) ksprintf(&s, ",length=%s", tbl[4*i+1]);
- if ( tbl[4*i+2] ) ksprintf(&s, ",URL=%s", tbl[4*i+2]);
- if ( tbl[4*i+3] ) ksprintf(&s, ",md5=%s", tbl[4*i+3]);
- kputs(">\n", &s);
- }
- if (tbl) free(tbl);
- bh->txt = s.s;
- bh->l_txt = 1 + s.l;
- bcf_hdr_sync(bh);
- bcf_hdr_write(bp, bh);
- bca = bcf_call_init(-1., conf->min_baseQ);
- bcr = calloc(sm->n, sizeof(bcf_callret1_t));
- bca->rghash = rghash;
- bca->openQ = conf->openQ, bca->extQ = conf->extQ, bca->tandemQ = conf->tandemQ;
- bca->min_frac = conf->min_frac;
- bca->min_support = conf->min_support;
- bca->per_sample_flt = conf->flag & MPLP_PER_SAMPLE;
- }
- if (tid0 >= 0 && conf->fai) { // region is set
- ref = faidx_fetch_seq(conf->fai, h->target_name[tid0], 0, 0x7fffffff, &ref_len);
- ref_tid = tid0;
- for (i = 0; i < n; ++i) data[i]->ref = ref, data[i]->ref_id = tid0;
- } else ref_tid = -1, ref = 0;
- iter = bam_mplp_init(n, mplp_func, (void**)data);
- max_depth = conf->max_depth;
- if (max_depth * sm->n > 1<<20)
- fprintf(stderr, "(%s) Max depth is above 1M. Potential memory hog!\n", __func__);
- if (max_depth * sm->n < 8000) {
- max_depth = 8000 / sm->n;
- fprintf(stderr, "<%s> Set max per-file depth to %d\n", __func__, max_depth);
- }
- max_indel_depth = conf->max_indel_depth * sm->n;
- bam_mplp_set_maxcnt(iter, max_depth);
- while (bam_mplp_auto(iter, &tid, &pos, n_plp, plp) > 0) {
- if (conf->reg && (pos < beg0 || pos >= end0)) continue; // out of the region requested
- if (conf->bed && tid >= 0 && !bed_overlap(conf->bed, h->target_name[tid], pos, pos+1)) continue;
- if (tid != ref_tid) {
- free(ref); ref = 0;
- if (conf->fai) ref = faidx_fetch_seq(conf->fai, h->target_name[tid], 0, 0x7fffffff, &ref_len);
- for (i = 0; i < n; ++i) data[i]->ref = ref, data[i]->ref_id = tid;
- ref_tid = tid;
- }
- if (conf->flag & MPLP_GLF) {
- int total_depth, _ref0, ref16;
- bcf1_t *b = calloc(1, sizeof(bcf1_t));
- for (i = total_depth = 0; i < n; ++i) total_depth += n_plp[i];
- group_smpl(&gplp, sm, &buf, n, fn, n_plp, plp, conf->flag & MPLP_IGNORE_RG);
- _ref0 = (ref && pos < ref_len)? ref[pos] : 'N';
- ref16 = bam_nt16_table[_ref0];
- for (i = 0; i < gplp.n; ++i)
- bcf_call_glfgen(gplp.n_plp[i], gplp.plp[i], ref16, bca, bcr + i);
- bcf_call_combine(gplp.n, bcr, bca, ref16, &bc);
- bcf_call2bcf(tid, pos, &bc, b, bcr, conf->fmt_flag, 0, 0);
- bcf_write(bp, bh, b);
- bcf_destroy(b);
- // call indels
- if (!(conf->flag&MPLP_NO_INDEL) && total_depth < max_indel_depth && bcf_call_gap_prep(gplp.n, gplp.n_plp, gplp.plp, pos, bca, ref, rghash) >= 0) {
- for (i = 0; i < gplp.n; ++i)
- bcf_call_glfgen(gplp.n_plp[i], gplp.plp[i], -1, bca, bcr + i);
- if (bcf_call_combine(gplp.n, bcr, bca, -1, &bc) >= 0) {
- b = calloc(1, sizeof(bcf1_t));
- bcf_call2bcf(tid, pos, &bc, b, bcr, conf->fmt_flag, bca, ref);
- bcf_write(bp, bh, b);
- bcf_destroy(b);
- }
- }
- } else {
- printf("%s\t%d\t%c", h->target_name[tid], pos + 1, (ref && pos < ref_len)? ref[pos] : 'N');
- for (i = 0; i < n; ++i) {
- int j, cnt;
- for (j = cnt = 0; j < n_plp[i]; ++j) {
- const bam_pileup1_t *p = plp[i] + j;
- if (bam1_qual(p->b)[p->qpos] >= conf->min_baseQ) ++cnt;
- }
- printf("\t%d\t", cnt);
- if (n_plp[i] == 0) {
- printf("*\t*"); // FIXME: printf() is very slow...
- if (conf->flag & MPLP_PRINT_POS) printf("\t*");
- } else {
- for (j = 0; j < n_plp[i]; ++j) {
- const bam_pileup1_t *p = plp[i] + j;
- if (bam1_qual(p->b)[p->qpos] >= conf->min_baseQ)
- pileup_seq(plp[i] + j, pos, ref_len, ref);
- }
- putchar('\t');
- for (j = 0; j < n_plp[i]; ++j) {
- const bam_pileup1_t *p = plp[i] + j;
- int c = bam1_qual(p->b)[p->qpos];
- if (c >= conf->min_baseQ) {
- c = c + 33 < 126? c + 33 : 126;
- putchar(c);
- }
- }
- if (conf->flag & MPLP_PRINT_MAPQ) {
- putchar('\t');
- for (j = 0; j < n_plp[i]; ++j) {
- int c = plp[i][j].b->core.qual + 33;
- if (c > 126) c = 126;
- putchar(c);
- }
- }
- if (conf->flag & MPLP_PRINT_POS) {
- putchar('\t');
- for (j = 0; j < n_plp[i]; ++j) {
- if (j > 0) putchar(',');
- printf("%d", plp[i][j].qpos + 1); // FIXME: printf() is very slow...
- }
- }
- }
- }
- putchar('\n');
- }
- }
-
- bcf_close(bp);
- bam_smpl_destroy(sm); free(buf.s);
- for (i = 0; i < gplp.n; ++i) free(gplp.plp[i]);
- free(gplp.plp); free(gplp.n_plp); free(gplp.m_plp);
- bcf_call_del_rghash(rghash);
- bcf_hdr_destroy(bh); bcf_call_destroy(bca); free(bc.PL); free(bcr);
- bam_mplp_destroy(iter);
- bam_header_destroy(h);
- for (i = 0; i < n; ++i) {
- bam_close(data[i]->fp);
- if (data[i]->iter) bam_iter_destroy(data[i]->iter);
- free(data[i]);
- }
- free(data); free(plp); free(ref); free(n_plp);
- return 0;
-}
-
-#define MAX_PATH_LEN 1024
-int read_file_list(const char *file_list,int *n,char **argv[])
-{
- char buf[MAX_PATH_LEN];
- int len, nfiles = 0;
- char **files = NULL;
- struct stat sb;
-
- *n = 0;
- *argv = NULL;
-
- FILE *fh = fopen(file_list,"r");
- if ( !fh )
- {
- fprintf(stderr,"%s: %s\n", file_list,strerror(errno));
- return 1;
- }
-
- files = calloc(nfiles,sizeof(char*));
- nfiles = 0;
- while ( fgets(buf,MAX_PATH_LEN,fh) )
- {
- // allow empty lines and trailing spaces
- len = strlen(buf);
- while ( len>0 && isspace(buf[len-1]) ) len--;
- if ( !len ) continue;
-
- // check sanity of the file list
- buf[len] = 0;
- if (stat(buf, &sb) != 0)
- {
- // no such file, check if it is safe to print its name
- int i, safe_to_print = 1;
- for (i=0; i<len; i++)
- if (!isprint(buf[i])) { safe_to_print = 0; break; }
- if ( safe_to_print )
- fprintf(stderr,"The file list \"%s\" appears broken, could not locate: %s\n", file_list,buf);
- else
- fprintf(stderr,"Does the file \"%s\" really contain a list of files and do all exist?\n", file_list);
- return 1;
- }
-
- nfiles++;
- files = realloc(files,nfiles*sizeof(char*));
- files[nfiles-1] = strdup(buf);
- }
- fclose(fh);
- if ( !nfiles )
- {
- fprintf(stderr,"No files read from %s\n", file_list);
- return 1;
- }
- *argv = files;
- *n = nfiles;
- return 0;
-}
-#undef MAX_PATH_LEN
-
-int bam_mpileup(int argc, char *argv[])
-{
- int c;
- const char *file_list = NULL;
- char **fn = NULL;
- int nfiles = 0, use_orphan = 0;
- mplp_conf_t mplp;
- memset(&mplp, 0, sizeof(mplp_conf_t));
- mplp.max_mq = 60;
- mplp.min_baseQ = 13;
- mplp.capQ_thres = 0;
- mplp.max_depth = 250; mplp.max_indel_depth = 250;
- mplp.openQ = 40; mplp.extQ = 20; mplp.tandemQ = 100;
- mplp.min_frac = 0.002; mplp.min_support = 1;
- mplp.flag = MPLP_NO_ORPHAN | MPLP_REALN;
- static struct option lopts[] =
- {
- {"rf",1,0,1}, // require flag
- {"ff",1,0,2}, // filter flag
- {0,0,0,0}
- };
- while ((c = getopt_long(argc, argv, "Agf:r:l:M:q:Q:uaRC:BDSd:L:b:P:po:e:h:Im:F:EG:6OsV1:2:",lopts,NULL)) >= 0) {
- switch (c) {
- case 1 : mplp.rflag_require = strtol(optarg,0,0); break;
- case 2 : mplp.rflag_filter = strtol(optarg,0,0); break;
- case 'f':
- mplp.fai = fai_load(optarg);
- if (mplp.fai == 0) return 1;
- mplp.fai_fname = optarg;
- break;
- case 'd': mplp.max_depth = atoi(optarg); break;
- case 'r': mplp.reg = strdup(optarg); break;
- case 'l': mplp.bed = bed_read(optarg); break;
- case 'P': mplp.pl_list = strdup(optarg); break;
- case 'p': mplp.flag |= MPLP_PER_SAMPLE; break;
- case 'g': mplp.flag |= MPLP_GLF; break;
- case 'u': mplp.flag |= MPLP_NO_COMP | MPLP_GLF; break;
- case 'a': mplp.flag |= MPLP_NO_ORPHAN | MPLP_REALN; break;
- case 'B': mplp.flag &= ~MPLP_REALN; break;
- case 'D': mplp.fmt_flag |= B2B_FMT_DP; break;
- case 'S': mplp.fmt_flag |= B2B_FMT_SP; break;
- case 'V': mplp.fmt_flag |= B2B_FMT_DV; break;
- case 'I': mplp.flag |= MPLP_NO_INDEL; break;
- case 'E': mplp.flag |= MPLP_REDO_BAQ; break;
- case '6': mplp.flag |= MPLP_ILLUMINA13; break;
- case 'R': mplp.flag |= MPLP_IGNORE_RG; break;
- case 's': mplp.flag |= MPLP_PRINT_MAPQ; break;
- case 'O': mplp.flag |= MPLP_PRINT_POS; break;
- case 'C': mplp.capQ_thres = atoi(optarg); break;
- case 'M': mplp.max_mq = atoi(optarg); break;
- case 'q': mplp.min_mq = atoi(optarg); break;
- case 'Q': mplp.min_baseQ = atoi(optarg); break;
- case 'b': file_list = optarg; break;
- case 'o': mplp.openQ = atoi(optarg); break;
- case 'e': mplp.extQ = atoi(optarg); break;
- case 'h': mplp.tandemQ = atoi(optarg); break;
- case 'A': use_orphan = 1; break;
- case 'F': mplp.min_frac = atof(optarg); break;
- case 'm': mplp.min_support = atoi(optarg); break;
- case 'L': mplp.max_indel_depth = atoi(optarg); break;
- case 'G': {
- FILE *fp_rg;
- char buf[1024];
- mplp.rghash = bcf_str2id_init();
- if ((fp_rg = fopen(optarg, "r")) == 0)
- fprintf(stderr, "(%s) Fail to open file %s. Continue anyway.\n", __func__, optarg);
- while (!feof(fp_rg) && fscanf(fp_rg, "%s", buf) > 0) // this is not a good style, but forgive me...
- bcf_str2id_add(mplp.rghash, strdup(buf));
- fclose(fp_rg);
- }
- break;
- }
- }
- if (use_orphan) mplp.flag &= ~MPLP_NO_ORPHAN;
- if (argc == 1) {
- fprintf(stderr, "\n");
- fprintf(stderr, "Usage: samtools mpileup [options] in1.bam [in2.bam [...]]\n\n");
- fprintf(stderr, "Input options:\n\n");
- fprintf(stderr, " -6 assume the quality is in the Illumina-1.3+ encoding\n");
- fprintf(stderr, " -A count anomalous read pairs\n");
- fprintf(stderr, " -B disable BAQ computation\n");
- fprintf(stderr, " -b FILE list of input BAM filenames, one per line [null]\n");
- fprintf(stderr, " -C INT parameter for adjusting mapQ; 0 to disable [0]\n");
- fprintf(stderr, " -d INT max per-BAM depth to avoid excessive memory usage [%d]\n", mplp.max_depth);
- fprintf(stderr, " -E recalculate extended BAQ on the fly thus ignoring existing BQs\n");
- fprintf(stderr, " -f FILE faidx indexed reference sequence file [null]\n");
- fprintf(stderr, " -G FILE exclude read groups listed in FILE [null]\n");
- fprintf(stderr, " -l FILE list of positions (chr pos) or regions (BED) [null]\n");
- fprintf(stderr, " -M INT cap mapping quality at INT [%d]\n", mplp.max_mq);
- fprintf(stderr, " -r STR region in which pileup is generated [null]\n");
- fprintf(stderr, " -R ignore RG tags\n");
- fprintf(stderr, " -q INT skip alignments with mapQ smaller than INT [%d]\n", mplp.min_mq);
- fprintf(stderr, " -Q INT skip bases with baseQ/BAQ smaller than INT [%d]\n", mplp.min_baseQ);
- fprintf(stderr, " --rf INT required flags: skip reads with mask bits unset []\n");
- fprintf(stderr, " --ff INT filter flags: skip reads with mask bits set []\n");
- fprintf(stderr, "\nOutput options:\n\n");
- fprintf(stderr, " -D output per-sample DP in BCF (require -g/-u)\n");
- fprintf(stderr, " -g generate BCF output (genotype likelihoods)\n");
- fprintf(stderr, " -O output base positions on reads (disabled by -g/-u)\n");
- fprintf(stderr, " -s output mapping quality (disabled by -g/-u)\n");
- fprintf(stderr, " -S output per-sample strand bias P-value in BCF (require -g/-u)\n");
- fprintf(stderr, " -u generate uncompress BCF output\n");
- fprintf(stderr, "\nSNP/INDEL genotype likelihoods options (effective with `-g' or `-u'):\n\n");
- fprintf(stderr, " -e INT Phred-scaled gap extension seq error probability [%d]\n", mplp.extQ);
- fprintf(stderr, " -F FLOAT minimum fraction of gapped reads for candidates [%g]\n", mplp.min_frac);
- fprintf(stderr, " -h INT coefficient for homopolymer errors [%d]\n", mplp.tandemQ);
- fprintf(stderr, " -I do not perform indel calling\n");
- fprintf(stderr, " -L INT max per-sample depth for INDEL calling [%d]\n", mplp.max_indel_depth);
- fprintf(stderr, " -m INT minimum gapped reads for indel candidates [%d]\n", mplp.min_support);
- fprintf(stderr, " -o INT Phred-scaled gap open sequencing error probability [%d]\n", mplp.openQ);
- fprintf(stderr, " -p apply -m and -F per-sample to increase sensitivity\n");
- fprintf(stderr, " -P STR comma separated list of platforms for indels [all]\n");
- fprintf(stderr, "\n");
- fprintf(stderr, "Notes: Assuming diploid individuals.\n\n");
- return 1;
- }
- bam_no_B = 1;
- if (file_list) {
- if ( read_file_list(file_list,&nfiles,&fn) ) return 1;
- mpileup(&mplp,nfiles,fn);
- for (c=0; c<nfiles; c++) free(fn[c]);
- free(fn);
- } else mpileup(&mplp, argc - optind, argv + optind);
- if (mplp.rghash) bcf_str2id_thorough_destroy(mplp.rghash);
- free(mplp.reg); free(mplp.pl_list);
- if (mplp.fai) fai_destroy(mplp.fai);
- if (mplp.bed) bed_destroy(mplp.bed);
- return 0;
-}
diff --git a/sam/bam_reheader.c b/sam/bam_reheader.c
deleted file mode 100644
index 6619428..0000000
--- a/sam/bam_reheader.c
+++ /dev/null
@@ -1,62 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include "knetfile.h"
-#include "bgzf.h"
-#include "bam.h"
-
-#define BUF_SIZE 0x10000
-
-int bam_reheader(BGZF *in, const bam_header_t *h, int fd)
-{
- BGZF *fp;
- bam_header_t *old;
- int len;
- uint8_t *buf;
- if (in->is_write) return -1;
- buf = malloc(BUF_SIZE);
- old = bam_header_read(in);
- fp = bgzf_fdopen(fd, "w");
- bam_header_write(fp, h);
- if (in->block_offset < in->block_length) {
- bgzf_write(fp, in->uncompressed_block + in->block_offset, in->block_length - in->block_offset);
- bgzf_flush(fp);
- }
-#ifdef _USE_KNETFILE
- while ((len = knet_read(in->fp, buf, BUF_SIZE)) > 0)
- fwrite(buf, 1, len, fp->fp);
-#else
- while (!feof(in->file) && (len = fread(buf, 1, BUF_SIZE, in->file)) > 0)
- fwrite(buf, 1, len, fp->file);
-#endif
- free(buf);
- fp->block_offset = in->block_offset = 0;
- bgzf_close(fp);
- return 0;
-}
-
-int main_reheader(int argc, char *argv[])
-{
- bam_header_t *h;
- BGZF *in;
- if (argc != 3) {
- fprintf(stderr, "Usage: samtools reheader <in.header.sam> <in.bam>\n");
- return 1;
- }
- { // read the header
- tamFile fph = sam_open(argv[1]);
- if (fph == 0) {
- fprintf(stderr, "[%s] fail to read the header from %s.\n", __func__, argv[1]);
- return 1;
- }
- h = sam_header_read(fph);
- sam_close(fph);
- }
- in = strcmp(argv[2], "-")? bam_open(argv[2], "r") : bam_dopen(fileno(stdin), "r");
- if (in == 0) {
- fprintf(stderr, "[%s] fail to open file %s.\n", __func__, argv[2]);
- return 1;
- }
- bam_reheader(in, h, fileno(stdout));
- bgzf_close(in);
- return 0;
-}
diff --git a/sam/bam_rmdup.c b/sam/bam_rmdup.c
deleted file mode 100644
index f0d2b5d..0000000
--- a/sam/bam_rmdup.c
+++ /dev/null
@@ -1,206 +0,0 @@
-#include <stdlib.h>
-#include <string.h>
-#include <stdio.h>
-#include <zlib.h>
-#include <unistd.h>
-#include "sam.h"
-
-typedef bam1_t *bam1_p;
-
-#include "khash.h"
-KHASH_SET_INIT_STR(name)
-KHASH_MAP_INIT_INT64(pos, bam1_p)
-
-#define BUFFER_SIZE 0x40000
-
-typedef struct {
- uint64_t n_checked, n_removed;
- khash_t(pos) *best_hash;
-} lib_aux_t;
-KHASH_MAP_INIT_STR(lib, lib_aux_t)
-
-typedef struct {
- int n, max;
- bam1_t **a;
-} tmp_stack_t;
-
-static inline void stack_insert(tmp_stack_t *stack, bam1_t *b)
-{
- if (stack->n == stack->max) {
- stack->max = stack->max? stack->max<<1 : 0x10000;
- stack->a = (bam1_t**)realloc(stack->a, sizeof(bam1_t*) * stack->max);
- }
- stack->a[stack->n++] = b;
-}
-
-static inline void dump_best(tmp_stack_t *stack, samfile_t *out)
-{
- int i;
- for (i = 0; i != stack->n; ++i) {
- samwrite(out, stack->a[i]);
- bam_destroy1(stack->a[i]);
- }
- stack->n = 0;
-}
-
-static void clear_del_set(khash_t(name) *del_set)
-{
- khint_t k;
- for (k = kh_begin(del_set); k < kh_end(del_set); ++k)
- if (kh_exist(del_set, k))
- free((char*)kh_key(del_set, k));
- kh_clear(name, del_set);
-}
-
-static lib_aux_t *get_aux(khash_t(lib) *aux, const char *lib)
-{
- khint_t k = kh_get(lib, aux, lib);
- if (k == kh_end(aux)) {
- int ret;
- char *p = strdup(lib);
- lib_aux_t *q;
- k = kh_put(lib, aux, p, &ret);
- q = &kh_val(aux, k);
- q->n_checked = q->n_removed = 0;
- q->best_hash = kh_init(pos);
- return q;
- } else return &kh_val(aux, k);
-}
-
-static void clear_best(khash_t(lib) *aux, int max)
-{
- khint_t k;
- for (k = kh_begin(aux); k != kh_end(aux); ++k) {
- if (kh_exist(aux, k)) {
- lib_aux_t *q = &kh_val(aux, k);
- if (kh_size(q->best_hash) >= max)
- kh_clear(pos, q->best_hash);
- }
- }
-}
-
-static inline int sum_qual(const bam1_t *b)
-{
- int i, q;
- uint8_t *qual = bam1_qual(b);
- for (i = q = 0; i < b->core.l_qseq; ++i) q += qual[i];
- return q;
-}
-
-void bam_rmdup_core(samfile_t *in, samfile_t *out)
-{
- bam1_t *b;
- int last_tid = -1, last_pos = -1;
- tmp_stack_t stack;
- khint_t k;
- khash_t(lib) *aux;
- khash_t(name) *del_set;
-
- aux = kh_init(lib);
- del_set = kh_init(name);
- b = bam_init1();
- memset(&stack, 0, sizeof(tmp_stack_t));
-
- kh_resize(name, del_set, 4 * BUFFER_SIZE);
- while (samread(in, b) >= 0) {
- bam1_core_t *c = &b->core;
- if (c->tid != last_tid || last_pos != c->pos) {
- dump_best(&stack, out); // write the result
- clear_best(aux, BUFFER_SIZE);
- if (c->tid != last_tid) {
- clear_best(aux, 0);
- if (kh_size(del_set)) { // check
- fprintf(stderr, "[bam_rmdup_core] %llu unmatched pairs\n", (long long)kh_size(del_set));
- clear_del_set(del_set);
- }
- if ((int)c->tid == -1) { // append unmapped reads
- samwrite(out, b);
- while (samread(in, b) >= 0) samwrite(out, b);
- break;
- }
- last_tid = c->tid;
- fprintf(stderr, "[bam_rmdup_core] processing reference %s...\n", in->header->target_name[c->tid]);
- }
- }
- if (!(c->flag&BAM_FPAIRED) || (c->flag&(BAM_FUNMAP|BAM_FMUNMAP)) || (c->mtid >= 0 && c->tid != c->mtid)) {
- samwrite(out, b);
- } else if (c->isize > 0) { // paired, head
- uint64_t key = (uint64_t)c->pos<<32 | c->isize;
- const char *lib;
- lib_aux_t *q;
- int ret;
- lib = bam_get_library(in->header, b);
- q = lib? get_aux(aux, lib) : get_aux(aux, "\t");
- ++q->n_checked;
- k = kh_put(pos, q->best_hash, key, &ret);
- if (ret == 0) { // found in best_hash
- bam1_t *p = kh_val(q->best_hash, k);
- ++q->n_removed;
- if (sum_qual(p) < sum_qual(b)) { // the current alignment is better; this can be accelerated in principle
- kh_put(name, del_set, strdup(bam1_qname(p)), &ret); // p will be removed
- bam_copy1(p, b); // replaced as b
- } else kh_put(name, del_set, strdup(bam1_qname(b)), &ret); // b will be removed
- if (ret == 0)
- fprintf(stderr, "[bam_rmdup_core] inconsistent BAM file for pair '%s'. Continue anyway.\n", bam1_qname(b));
- } else { // not found in best_hash
- kh_val(q->best_hash, k) = bam_dup1(b);
- stack_insert(&stack, kh_val(q->best_hash, k));
- }
- } else { // paired, tail
- k = kh_get(name, del_set, bam1_qname(b));
- if (k != kh_end(del_set)) {
- free((char*)kh_key(del_set, k));
- kh_del(name, del_set, k);
- } else samwrite(out, b);
- }
- last_pos = c->pos;
- }
-
- for (k = kh_begin(aux); k != kh_end(aux); ++k) {
- if (kh_exist(aux, k)) {
- lib_aux_t *q = &kh_val(aux, k);
- dump_best(&stack, out);
- fprintf(stderr, "[bam_rmdup_core] %lld / %lld = %.4lf in library '%s'\n", (long long)q->n_removed,
- (long long)q->n_checked, (double)q->n_removed/q->n_checked, kh_key(aux, k));
- kh_destroy(pos, q->best_hash);
- free((char*)kh_key(aux, k));
- }
- }
- kh_destroy(lib, aux);
-
- clear_del_set(del_set);
- kh_destroy(name, del_set);
- free(stack.a);
- bam_destroy1(b);
-}
-
-void bam_rmdupse_core(samfile_t *in, samfile_t *out, int force_se);
-
-int bam_rmdup(int argc, char *argv[])
-{
- int c, is_se = 0, force_se = 0;
- samfile_t *in, *out;
- while ((c = getopt(argc, argv, "sS")) >= 0) {
- switch (c) {
- case 's': is_se = 1; break;
- case 'S': force_se = is_se = 1; break;
- }
- }
- if (optind + 2 > argc) {
- fprintf(stderr, "\n");
- fprintf(stderr, "Usage: samtools rmdup [-sS] <input.srt.bam> <output.bam>\n\n");
- fprintf(stderr, "Option: -s rmdup for SE reads\n");
- fprintf(stderr, " -S treat PE reads as SE in rmdup (force -s)\n\n");
- return 1;
- }
- in = samopen(argv[optind], "rb", 0);
- out = samopen(argv[optind+1], "wb", in->header);
- if (in == 0 || out == 0) {
- fprintf(stderr, "[bam_rmdup] fail to read/write input files\n");
- return 1;
- }
- if (is_se) bam_rmdupse_core(in, out, force_se);
- else bam_rmdup_core(in, out);
- samclose(in); samclose(out);
- return 0;
-}
diff --git a/sam/bam_rmdupse.c b/sam/bam_rmdupse.c
deleted file mode 100644
index e7dbdc7..0000000
--- a/sam/bam_rmdupse.c
+++ /dev/null
@@ -1,159 +0,0 @@
-#include <math.h>
-#include "sam.h"
-#include "khash.h"
-#include "klist.h"
-
-#define QUEUE_CLEAR_SIZE 0x100000
-#define MAX_POS 0x7fffffff
-
-typedef struct {
- int endpos;
- uint32_t score:31, discarded:1;
- bam1_t *b;
-} elem_t, *elem_p;
-#define __free_elem(p) bam_destroy1((p)->data.b)
-KLIST_INIT(q, elem_t, __free_elem)
-typedef klist_t(q) queue_t;
-
-KHASH_MAP_INIT_INT(best, elem_p)
-typedef khash_t(best) besthash_t;
-
-typedef struct {
- uint64_t n_checked, n_removed;
- besthash_t *left, *rght;
-} lib_aux_t;
-KHASH_MAP_INIT_STR(lib, lib_aux_t)
-
-static lib_aux_t *get_aux(khash_t(lib) *aux, const char *lib)
-{
- khint_t k = kh_get(lib, aux, lib);
- if (k == kh_end(aux)) {
- int ret;
- char *p = strdup(lib);
- lib_aux_t *q;
- k = kh_put(lib, aux, p, &ret);
- q = &kh_val(aux, k);
- q->left = kh_init(best);
- q->rght = kh_init(best);
- q->n_checked = q->n_removed = 0;
- return q;
- } else return &kh_val(aux, k);
-}
-
-static inline int sum_qual(const bam1_t *b)
-{
- int i, q;
- uint8_t *qual = bam1_qual(b);
- for (i = q = 0; i < b->core.l_qseq; ++i) q += qual[i];
- return q;
-}
-
-static inline elem_t *push_queue(queue_t *queue, const bam1_t *b, int endpos, int score)
-{
- elem_t *p = kl_pushp(q, queue);
- p->discarded = 0;
- p->endpos = endpos; p->score = score;
- if (p->b == 0) p->b = bam_init1();
- bam_copy1(p->b, b);
- return p;
-}
-
-static void clear_besthash(besthash_t *h, int32_t pos)
-{
- khint_t k;
- for (k = kh_begin(h); k != kh_end(h); ++k)
- if (kh_exist(h, k) && kh_val(h, k)->endpos <= pos)
- kh_del(best, h, k);
-}
-
-static void dump_alignment(samfile_t *out, queue_t *queue, int32_t pos, khash_t(lib) *h)
-{
- if (queue->size > QUEUE_CLEAR_SIZE || pos == MAX_POS) {
- khint_t k;
- while (1) {
- elem_t *q;
- if (queue->head == queue->tail) break;
- q = &kl_val(queue->head);
- if (q->discarded) {
- q->b->data_len = 0;
- kl_shift(q, queue, 0);
- continue;
- }
- if ((q->b->core.flag&BAM_FREVERSE) && q->endpos > pos) break;
- samwrite(out, q->b);
- q->b->data_len = 0;
- kl_shift(q, queue, 0);
- }
- for (k = kh_begin(h); k != kh_end(h); ++k) {
- if (kh_exist(h, k)) {
- clear_besthash(kh_val(h, k).left, pos);
- clear_besthash(kh_val(h, k).rght, pos);
- }
- }
- }
-}
-
-void bam_rmdupse_core(samfile_t *in, samfile_t *out, int force_se)
-{
- bam1_t *b;
- queue_t *queue;
- khint_t k;
- int last_tid = -2;
- khash_t(lib) *aux;
-
- aux = kh_init(lib);
- b = bam_init1();
- queue = kl_init(q);
- while (samread(in, b) >= 0) {
- bam1_core_t *c = &b->core;
- int endpos = bam_calend(c, bam1_cigar(b));
- int score = sum_qual(b);
-
- if (last_tid != c->tid) {
- if (last_tid >= 0) dump_alignment(out, queue, MAX_POS, aux);
- last_tid = c->tid;
- } else dump_alignment(out, queue, c->pos, aux);
- if ((c->flag&BAM_FUNMAP) || ((c->flag&BAM_FPAIRED) && !force_se)) {
- push_queue(queue, b, endpos, score);
- } else {
- const char *lib;
- lib_aux_t *q;
- besthash_t *h;
- uint32_t key;
- int ret;
- lib = bam_get_library(in->header, b);
- q = lib? get_aux(aux, lib) : get_aux(aux, "\t");
- ++q->n_checked;
- h = (c->flag&BAM_FREVERSE)? q->rght : q->left;
- key = (c->flag&BAM_FREVERSE)? endpos : c->pos;
- k = kh_put(best, h, key, &ret);
- if (ret == 0) { // in the hash table
- elem_t *p = kh_val(h, k);
- ++q->n_removed;
- if (p->score < score) {
- if (c->flag&BAM_FREVERSE) { // mark "discarded" and push the queue
- p->discarded = 1;
- kh_val(h, k) = push_queue(queue, b, endpos, score);
- } else { // replace
- p->score = score; p->endpos = endpos;
- bam_copy1(p->b, b);
- }
- } // otherwise, discard the alignment
- } else kh_val(h, k) = push_queue(queue, b, endpos, score);
- }
- }
- dump_alignment(out, queue, MAX_POS, aux);
-
- for (k = kh_begin(aux); k != kh_end(aux); ++k) {
- if (kh_exist(aux, k)) {
- lib_aux_t *q = &kh_val(aux, k);
- fprintf(stderr, "[bam_rmdupse_core] %lld / %lld = %.4lf in library '%s'\n", (long long)q->n_removed,
- (long long)q->n_checked, (double)q->n_removed/q->n_checked, kh_key(aux, k));
- kh_destroy(best, q->left); kh_destroy(best, q->rght);
- free((char*)kh_key(aux, k));
- }
- }
- kh_destroy(lib, aux);
- bam_destroy1(b);
- kl_destroy(q, queue);
-}
diff --git a/sam/bam_sort.c b/sam/bam_sort.c
deleted file mode 100644
index c46bce3..0000000
--- a/sam/bam_sort.c
+++ /dev/null
@@ -1,571 +0,0 @@
-#include <stdlib.h>
-#include <ctype.h>
-#include <assert.h>
-#include <errno.h>
-#include <stdio.h>
-#include <string.h>
-#include <unistd.h>
-#include "bam.h"
-#include "ksort.h"
-
-static int g_is_by_qname = 0;
-
-static int strnum_cmp(const char *_a, const char *_b)
-{
- const unsigned char *a = (const unsigned char*)_a, *b = (const unsigned char*)_b;
- const unsigned char *pa = a, *pb = b;
- while (*pa && *pb) {
- if (isdigit(*pa) && isdigit(*pb)) {
- while (*pa == '0') ++pa;
- while (*pb == '0') ++pb;
- while (isdigit(*pa) && isdigit(*pb) && *pa == *pb) ++pa, ++pb;
- if (isdigit(*pa) && isdigit(*pb)) {
- int i = 0;
- while (isdigit(pa[i]) && isdigit(pb[i])) ++i;
- return isdigit(pa[i])? 1 : isdigit(pb[i])? -1 : (int)*pa - (int)*pb;
- } else if (isdigit(*pa)) return 1;
- else if (isdigit(*pb)) return -1;
- else if (pa - a != pb - b) return pa - a < pb - b? 1 : -1;
- } else {
- if (*pa != *pb) return (int)*pa - (int)*pb;
- ++pa; ++pb;
- }
- }
- return *pa? 1 : *pb? -1 : 0;
-}
-
-#define HEAP_EMPTY 0xffffffffffffffffull
-
-typedef struct {
- int i;
- uint64_t pos, idx;
- bam1_t *b;
-} heap1_t;
-
-#define __pos_cmp(a, b) ((a).pos > (b).pos || ((a).pos == (b).pos && ((a).i > (b).i || ((a).i == (b).i && (a).idx > (b).idx))))
-
-static inline int heap_lt(const heap1_t a, const heap1_t b)
-{
- if (g_is_by_qname) {
- int t;
- if (a.b == 0 || b.b == 0) return a.b == 0? 1 : 0;
- t = strnum_cmp(bam1_qname(a.b), bam1_qname(b.b));
- return (t > 0 || (t == 0 && (a.b->core.flag&0xc0) > (b.b->core.flag&0xc0)));
- } else return __pos_cmp(a, b);
-}
-
-KSORT_INIT(heap, heap1_t, heap_lt)
-
-static void swap_header_targets(bam_header_t *h1, bam_header_t *h2)
-{
- bam_header_t t;
- t.n_targets = h1->n_targets, h1->n_targets = h2->n_targets, h2->n_targets = t.n_targets;
- t.target_name = h1->target_name, h1->target_name = h2->target_name, h2->target_name = t.target_name;
- t.target_len = h1->target_len, h1->target_len = h2->target_len, h2->target_len = t.target_len;
-}
-
-static void swap_header_text(bam_header_t *h1, bam_header_t *h2)
-{
- int tempi;
- char *temps;
- tempi = h1->l_text, h1->l_text = h2->l_text, h2->l_text = tempi;
- temps = h1->text, h1->text = h2->text, h2->text = temps;
-}
-
-#define MERGE_RG 1
-#define MERGE_UNCOMP 2
-#define MERGE_LEVEL1 4
-#define MERGE_FORCE 8
-
-/*!
- @abstract Merge multiple sorted BAM.
- @param is_by_qname whether to sort by query name
- @param out output BAM file name
- @param headers name of SAM file from which to copy '@' header lines,
- or NULL to copy them from the first file to be merged
- @param n number of files to be merged
- @param fn names of files to be merged
-
- @discussion Padding information may NOT correctly maintained. This
- function is NOT thread safe.
- */
-int bam_merge_core2(int by_qname, const char *out, const char *headers, int n, char * const *fn, int flag, const char *reg, int n_threads, int level)
-{
- bamFile fpout, *fp;
- heap1_t *heap;
- bam_header_t *hout = 0;
- bam_header_t *hheaders = NULL;
- int i, j, *RG_len = 0;
- uint64_t idx = 0;
- char **RG = 0, mode[8];
- bam_iter_t *iter = 0;
-
- if (headers) {
- tamFile fpheaders = sam_open(headers);
- if (fpheaders == 0) {
- const char *message = strerror(errno);
- fprintf(stderr, "[bam_merge_core] cannot open '%s': %s\n", headers, message);
- return -1;
- }
- hheaders = sam_header_read(fpheaders);
- sam_close(fpheaders);
- }
-
- g_is_by_qname = by_qname;
- fp = (bamFile*)calloc(n, sizeof(bamFile));
- heap = (heap1_t*)calloc(n, sizeof(heap1_t));
- iter = (bam_iter_t*)calloc(n, sizeof(bam_iter_t));
- // prepare RG tag
- if (flag & MERGE_RG) {
- RG = (char**)calloc(n, sizeof(void*));
- RG_len = (int*)calloc(n, sizeof(int));
- for (i = 0; i != n; ++i) {
- int l = strlen(fn[i]);
- const char *s = fn[i];
- if (l > 4 && strcmp(s + l - 4, ".bam") == 0) l -= 4;
- for (j = l - 1; j >= 0; --j) if (s[j] == '/') break;
- ++j; l -= j;
- RG[i] = calloc(l + 1, 1);
- RG_len[i] = l;
- strncpy(RG[i], s + j, l);
- }
- }
- // read the first
- for (i = 0; i != n; ++i) {
- bam_header_t *hin;
- fp[i] = bam_open(fn[i], "r");
- if (fp[i] == 0) {
- int j;
- fprintf(stderr, "[bam_merge_core] fail to open file %s\n", fn[i]);
- for (j = 0; j < i; ++j) bam_close(fp[j]);
- free(fp); free(heap);
- // FIXME: possible memory leak
- return -1;
- }
- hin = bam_header_read(fp[i]);
- if (i == 0) { // the first BAM
- hout = hin;
- } else { // validate multiple baf
- int min_n_targets = hout->n_targets;
- if (hin->n_targets < min_n_targets) min_n_targets = hin->n_targets;
-
- for (j = 0; j < min_n_targets; ++j)
- if (strcmp(hout->target_name[j], hin->target_name[j]) != 0) {
- fprintf(stderr, "[bam_merge_core] different target sequence name: '%s' != '%s' in file '%s'\n",
- hout->target_name[j], hin->target_name[j], fn[i]);
- return -1;
- }
-
- // If this input file has additional target reference sequences,
- // add them to the headers to be output
- if (hin->n_targets > hout->n_targets) {
- swap_header_targets(hout, hin);
- // FIXME Possibly we should also create @SQ text headers
- // for the newly added reference sequences
- }
-
- bam_header_destroy(hin);
- }
- }
-
- if (hheaders) {
- // If the text headers to be swapped in include any @SQ headers,
- // check that they are consistent with the existing binary list
- // of reference information.
- if (hheaders->n_targets > 0) {
- if (hout->n_targets != hheaders->n_targets) {
- fprintf(stderr, "[bam_merge_core] number of @SQ headers in '%s' differs from number of target sequences\n", headers);
- if (!reg) return -1;
- }
- for (j = 0; j < hout->n_targets; ++j)
- if (strcmp(hout->target_name[j], hheaders->target_name[j]) != 0) {
- fprintf(stderr, "[bam_merge_core] @SQ header '%s' in '%s' differs from target sequence\n", hheaders->target_name[j], headers);
- if (!reg) return -1;
- }
- }
-
- swap_header_text(hout, hheaders);
- bam_header_destroy(hheaders);
- }
-
- if (reg) {
- int tid, beg, end;
- if (bam_parse_region(hout, reg, &tid, &beg, &end) < 0) {
- fprintf(stderr, "[%s] Malformated region string or undefined reference name\n", __func__);
- return -1;
- }
- for (i = 0; i < n; ++i) {
- bam_index_t *idx;
- idx = bam_index_load(fn[i]);
- iter[i] = bam_iter_query(idx, tid, beg, end);
- bam_index_destroy(idx);
- }
- }
-
- for (i = 0; i < n; ++i) {
- heap1_t *h = heap + i;
- h->i = i;
- h->b = (bam1_t*)calloc(1, sizeof(bam1_t));
- if (bam_iter_read(fp[i], iter[i], h->b) >= 0) {
- h->pos = ((uint64_t)h->b->core.tid<<32) | (uint32_t)((int32_t)h->b->core.pos+1)<<1 | bam1_strand(h->b);
- h->idx = idx++;
- }
- else h->pos = HEAP_EMPTY;
- }
- if (flag & MERGE_UNCOMP) level = 0;
- else if (flag & MERGE_LEVEL1) level = 1;
- strcpy(mode, "w");
- if (level >= 0) sprintf(mode + 1, "%d", level < 9? level : 9);
- if ((fpout = strcmp(out, "-")? bam_open(out, "w") : bam_dopen(fileno(stdout), "w")) == 0) {
- fprintf(stderr, "[%s] fail to create the output file.\n", __func__);
- return -1;
- }
- bam_header_write(fpout, hout);
- bam_header_destroy(hout);
- if (!(flag & MERGE_UNCOMP)) bgzf_mt(fpout, n_threads, 256);
-
- ks_heapmake(heap, n, heap);
- while (heap->pos != HEAP_EMPTY) {
- bam1_t *b = heap->b;
- if (flag & MERGE_RG) {
- uint8_t *rg = bam_aux_get(b, "RG");
- if (rg) bam_aux_del(b, rg);
- bam_aux_append(b, "RG", 'Z', RG_len[heap->i] + 1, (uint8_t*)RG[heap->i]);
- }
- bam_write1_core(fpout, &b->core, b->data_len, b->data);
- if ((j = bam_iter_read(fp[heap->i], iter[heap->i], b)) >= 0) {
- heap->pos = ((uint64_t)b->core.tid<<32) | (uint32_t)((int)b->core.pos+1)<<1 | bam1_strand(b);
- heap->idx = idx++;
- } else if (j == -1) {
- heap->pos = HEAP_EMPTY;
- free(heap->b->data); free(heap->b);
- heap->b = 0;
- } else fprintf(stderr, "[bam_merge_core] '%s' is truncated. Continue anyway.\n", fn[heap->i]);
- ks_heapadjust(heap, 0, n, heap);
- }
-
- if (flag & MERGE_RG) {
- for (i = 0; i != n; ++i) free(RG[i]);
- free(RG); free(RG_len);
- }
- for (i = 0; i != n; ++i) {
- bam_iter_destroy(iter[i]);
- bam_close(fp[i]);
- }
- bam_close(fpout);
- free(fp); free(heap); free(iter);
- return 0;
-}
-
-int bam_merge_core(int by_qname, const char *out, const char *headers, int n, char * const *fn, int flag, const char *reg)
-{
- return bam_merge_core2(by_qname, out, headers, n, fn, flag, reg, 0, -1);
-}
-
-int bam_merge(int argc, char *argv[])
-{
- int c, is_by_qname = 0, flag = 0, ret = 0, n_threads = 0, level = -1;
- char *fn_headers = NULL, *reg = 0;
-
- while ((c = getopt(argc, argv, "h:nru1R:f@:l:")) >= 0) {
- switch (c) {
- case 'r': flag |= MERGE_RG; break;
- case 'f': flag |= MERGE_FORCE; break;
- case 'h': fn_headers = strdup(optarg); break;
- case 'n': is_by_qname = 1; break;
- case '1': flag |= MERGE_LEVEL1; break;
- case 'u': flag |= MERGE_UNCOMP; break;
- case 'R': reg = strdup(optarg); break;
- case 'l': level = atoi(optarg); break;
- case '@': n_threads = atoi(optarg); break;
- }
- }
- if (optind + 2 >= argc) {
- fprintf(stderr, "\n");
- fprintf(stderr, "Usage: samtools merge [-nr] [-h inh.sam] <out.bam> <in1.bam> <in2.bam> [...]\n\n");
- fprintf(stderr, "Options: -n sort by read names\n");
- fprintf(stderr, " -r attach RG tag (inferred from file names)\n");
- fprintf(stderr, " -u uncompressed BAM output\n");
- fprintf(stderr, " -f overwrite the output BAM if exist\n");
- fprintf(stderr, " -1 compress level 1\n");
- fprintf(stderr, " -l INT compression level, from 0 to 9 [-1]\n");
- fprintf(stderr, " -@ INT number of BAM compression threads [0]\n");
- fprintf(stderr, " -R STR merge file in the specified region STR [all]\n");
- fprintf(stderr, " -h FILE copy the header in FILE to <out.bam> [in1.bam]\n\n");
- fprintf(stderr, "Note: Samtools' merge does not reconstruct the @RG dictionary in the header. Users\n");
- fprintf(stderr, " must provide the correct header with -h, or uses Picard which properly maintains\n");
- fprintf(stderr, " the header dictionary in merging.\n\n");
- return 1;
- }
- if (!(flag & MERGE_FORCE) && strcmp(argv[optind], "-")) {
- FILE *fp = fopen(argv[optind], "rb");
- if (fp != NULL) {
- fclose(fp);
- fprintf(stderr, "[%s] File '%s' exists. Please apply '-f' to overwrite. Abort.\n", __func__, argv[optind]);
- return 1;
- }
- }
- if (bam_merge_core2(is_by_qname, argv[optind], fn_headers, argc - optind - 1, argv + optind + 1, flag, reg, n_threads, level) < 0) ret = 1;
- free(reg);
- free(fn_headers);
- return ret;
-}
-
-/***************
- * BAM sorting *
- ***************/
-
-#include <pthread.h>
-
-typedef bam1_t *bam1_p;
-
-static int change_SO(bam_header_t *h, const char *so)
-{
- char *p, *q, *beg = 0, *end = 0, *newtext;
- if (h->l_text > 3) {
- if (strncmp(h->text, "@HD", 3) == 0) {
- if ((p = strchr(h->text, '\n')) == 0) return -1;
- *p = '\0';
- if ((q = strstr(h->text, "\tSO:")) != 0) {
- *p = '\n'; // change back
- if (strncmp(q + 4, so, p - q - 4) != 0) {
- beg = q;
- for (q += 4; *q != '\n' && *q != '\t'; ++q);
- end = q;
- } else return 0; // no need to change
- } else beg = end = p, *p = '\n';
- }
- }
- if (beg == 0) { // no @HD
- h->l_text += strlen(so) + 15;
- newtext = malloc(h->l_text + 1);
- sprintf(newtext, "@HD\tVN:1.3\tSO:%s\n", so);
- strcat(newtext, h->text);
- } else { // has @HD but different or no SO
- h->l_text = (beg - h->text) + (4 + strlen(so)) + (h->text + h->l_text - end);
- newtext = malloc(h->l_text + 1);
- strncpy(newtext, h->text, beg - h->text);
- sprintf(newtext + (beg - h->text), "\tSO:%s", so);
- strcat(newtext, end);
- }
- free(h->text);
- h->text = newtext;
- return 0;
-}
-
-static inline int bam1_lt(const bam1_p a, const bam1_p b)
-{
- if (g_is_by_qname) {
- int t = strnum_cmp(bam1_qname(a), bam1_qname(b));
- return (t < 0 || (t == 0 && (a->core.flag&0xc0) < (b->core.flag&0xc0)));
- } else return (((uint64_t)a->core.tid<<32|(a->core.pos+1)<<1|bam1_strand(a)) < ((uint64_t)b->core.tid<<32|(b->core.pos+1)<<1|bam1_strand(b)));
-}
-KSORT_INIT(sort, bam1_p, bam1_lt)
-
-typedef struct {
- size_t buf_len;
- const char *prefix;
- bam1_p *buf;
- const bam_header_t *h;
- int index;
-} worker_t;
-
-static void write_buffer(const char *fn, const char *mode, size_t l, bam1_p *buf, const bam_header_t *h, int n_threads)
-{
- size_t i;
- bamFile fp;
- fp = strcmp(fn, "-")? bam_open(fn, mode) : bam_dopen(fileno(stdout), mode);
- if (fp == 0) return;
- bam_header_write(fp, h);
- if (n_threads > 1) bgzf_mt(fp, n_threads, 256);
- for (i = 0; i < l; ++i)
- bam_write1_core(fp, &buf[i]->core, buf[i]->data_len, buf[i]->data);
- bam_close(fp);
-}
-
-static void *worker(void *data)
-{
- worker_t *w = (worker_t*)data;
- char *name;
- ks_mergesort(sort, w->buf_len, w->buf, 0);
- name = (char*)calloc(strlen(w->prefix) + 20, 1);
- sprintf(name, "%s.%.4d.bam", w->prefix, w->index);
- write_buffer(name, "w1", w->buf_len, w->buf, w->h, 0);
- free(name);
- return 0;
-}
-
-static int sort_blocks(int n_files, size_t k, bam1_p *buf, const char *prefix, const bam_header_t *h, int n_threads)
-{
- int i;
- size_t rest;
- bam1_p *b;
- pthread_t *tid;
- pthread_attr_t attr;
- worker_t *w;
-
- if (n_threads < 1) n_threads = 1;
- if (k < n_threads * 64) n_threads = 1; // use a single thread if we only sort a small batch of records
- pthread_attr_init(&attr);
- pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE);
- w = calloc(n_threads, sizeof(worker_t));
- tid = calloc(n_threads, sizeof(pthread_t));
- b = buf; rest = k;
- for (i = 0; i < n_threads; ++i) {
- w[i].buf_len = rest / (n_threads - i);
- w[i].buf = b;
- w[i].prefix = prefix;
- w[i].h = h;
- w[i].index = n_files + i;
- b += w[i].buf_len; rest -= w[i].buf_len;
- pthread_create(&tid[i], &attr, worker, &w[i]);
- }
- for (i = 0; i < n_threads; ++i) pthread_join(tid[i], 0);
- free(tid); free(w);
- return n_files + n_threads;
-}
-
-/*!
- @abstract Sort an unsorted BAM file based on the chromosome order
- and the leftmost position of an alignment
-
- @param is_by_qname whether to sort by query name
- @param fn name of the file to be sorted
- @param prefix prefix of the output and the temporary files; upon
- sucessess, prefix.bam will be written.
- @param max_mem approxiate maximum memory (very inaccurate)
- @param full_path the given output path is the full path and not just the prefix
-
- @discussion It may create multiple temporary subalignment files
- and then merge them by calling bam_merge_core(). This function is
- NOT thread safe.
- */
-void bam_sort_core_ext(int is_by_qname, const char *fn, const char *prefix, size_t _max_mem, int is_stdout, int n_threads, int level, int full_path)
-{
- int ret, i, n_files = 0;
- size_t mem, max_k, k, max_mem;
- bam_header_t *header;
- bamFile fp;
- bam1_t *b, **buf;
- char *fnout = 0;
- char const *suffix = ".bam";
- if (full_path) suffix += 4;
-
- if (n_threads < 2) n_threads = 1;
- g_is_by_qname = is_by_qname;
- max_k = k = 0; mem = 0;
- max_mem = _max_mem * n_threads;
- buf = 0;
- fp = strcmp(fn, "-")? bam_open(fn, "r") : bam_dopen(fileno(stdin), "r");
- if (fp == 0) {
- fprintf(stderr, "[bam_sort_core] fail to open file %s\n", fn);
- return;
- }
- header = bam_header_read(fp);
- if (is_by_qname) change_SO(header, "queryname");
- else change_SO(header, "coordinate");
- // write sub files
- for (;;) {
- if (k == max_k) {
- size_t old_max = max_k;
- max_k = max_k? max_k<<1 : 0x10000;
- buf = realloc(buf, max_k * sizeof(void*));
- memset(buf + old_max, 0, sizeof(void*) * (max_k - old_max));
- }
- if (buf[k] == 0) buf[k] = (bam1_t*)calloc(1, sizeof(bam1_t));
- b = buf[k];
- if ((ret = bam_read1(fp, b)) < 0) break;
- if (b->data_len < b->m_data>>2) { // shrink
- b->m_data = b->data_len;
- kroundup32(b->m_data);
- b->data = realloc(b->data, b->m_data);
- }
- mem += sizeof(bam1_t) + b->m_data + sizeof(void*) + sizeof(void*); // two sizeof(void*) for the data allocated to pointer arrays
- ++k;
- if (mem >= max_mem) {
- n_files = sort_blocks(n_files, k, buf, prefix, header, n_threads);
- mem = k = 0;
- }
- }
- if (ret != -1)
- fprintf(stderr, "[bam_sort_core] truncated file. Continue anyway.\n");
- // output file name
- fnout = calloc(strlen(prefix) + 20, 1);
- if (is_stdout) sprintf(fnout, "-");
- else sprintf(fnout, "%s%s", prefix, suffix);
- // write the final output
- if (n_files == 0) { // a single block
- char mode[8];
- strcpy(mode, "w");
- if (level >= 0) sprintf(mode + 1, "%d", level < 9? level : 9);
- ks_mergesort(sort, k, buf, 0);
- write_buffer(fnout, mode, k, buf, header, n_threads);
- } else { // then merge
- char **fns;
- n_files = sort_blocks(n_files, k, buf, prefix, header, n_threads);
- fprintf(stderr, "[bam_sort_core] merging from %d files...\n", n_files);
- fns = (char**)calloc(n_files, sizeof(char*));
- for (i = 0; i < n_files; ++i) {
- fns[i] = (char*)calloc(strlen(prefix) + 20, 1);
- sprintf(fns[i], "%s.%.4d%s", prefix, i, suffix);
- }
- bam_merge_core2(is_by_qname, fnout, 0, n_files, fns, 0, 0, n_threads, level);
- for (i = 0; i < n_files; ++i) {
- unlink(fns[i]);
- free(fns[i]);
- }
- free(fns);
- }
- free(fnout);
- // free
- for (k = 0; k < max_k; ++k) {
- if (!buf[k]) continue;
- free(buf[k]->data);
- free(buf[k]);
- }
- free(buf);
- bam_header_destroy(header);
- bam_close(fp);
-}
-
-void bam_sort_core(int is_by_qname, const char *fn, const char *prefix, size_t max_mem)
-{
- bam_sort_core_ext(is_by_qname, fn, prefix, max_mem, 0, 0, -1, 0);
-}
-
-int bam_sort(int argc, char *argv[])
-{
- size_t max_mem = 768<<20; // 512MB
- int c, is_by_qname = 0, is_stdout = 0, n_threads = 0, level = -1, full_path = 0;
- while ((c = getopt(argc, argv, "fnom:@:l:")) >= 0) {
- switch (c) {
- case 'f': full_path = 1; break;
- case 'o': is_stdout = 1; break;
- case 'n': is_by_qname = 1; break;
- case 'm': {
- char *q;
- max_mem = strtol(optarg, &q, 0);
- if (*q == 'k' || *q == 'K') max_mem <<= 10;
- else if (*q == 'm' || *q == 'M') max_mem <<= 20;
- else if (*q == 'g' || *q == 'G') max_mem <<= 30;
- break;
- }
- case '@': n_threads = atoi(optarg); break;
- case 'l': level = atoi(optarg); break;
- }
- }
- if (optind + 2 > argc) {
- fprintf(stderr, "\n");
- fprintf(stderr, "Usage: samtools sort [options] <in.bam> <out.prefix>\n\n");
- fprintf(stderr, "Options: -n sort by read name\n");
- fprintf(stderr, " -f use <out.prefix> as full file name instead of prefix\n");
- fprintf(stderr, " -o final output to stdout\n");
- fprintf(stderr, " -l INT compression level, from 0 to 9 [-1]\n");
- fprintf(stderr, " -@ INT number of sorting and compression threads [1]\n");
- fprintf(stderr, " -m INT max memory per thread; suffix K/M/G recognized [768M]\n");
- fprintf(stderr, "\n");
- return 1;
- }
- bam_sort_core_ext(is_by_qname, argv[optind], argv[optind+1], max_mem, is_stdout, n_threads, level, full_path);
- return 0;
-}
diff --git a/sam/bam_stat.c b/sam/bam_stat.c
deleted file mode 100644
index f2de0f1..0000000
--- a/sam/bam_stat.c
+++ /dev/null
@@ -1,77 +0,0 @@
-#include <unistd.h>
-#include <assert.h>
-#include "bam.h"
-
-typedef struct {
- long long n_reads[2], n_mapped[2], n_pair_all[2], n_pair_map[2], n_pair_good[2];
- long long n_sgltn[2], n_read1[2], n_read2[2];
- long long n_dup[2];
- long long n_diffchr[2], n_diffhigh[2];
-} bam_flagstat_t;
-
-#define flagstat_loop(s, c) do { \
- int w = ((c)->flag & BAM_FQCFAIL)? 1 : 0; \
- ++(s)->n_reads[w]; \
- if ((c)->flag & BAM_FPAIRED) { \
- ++(s)->n_pair_all[w]; \
- if ((c)->flag & BAM_FPROPER_PAIR) ++(s)->n_pair_good[w]; \
- if ((c)->flag & BAM_FREAD1) ++(s)->n_read1[w]; \
- if ((c)->flag & BAM_FREAD2) ++(s)->n_read2[w]; \
- if (((c)->flag & BAM_FMUNMAP) && !((c)->flag & BAM_FUNMAP)) ++(s)->n_sgltn[w]; \
- if (!((c)->flag & BAM_FUNMAP) && !((c)->flag & BAM_FMUNMAP)) { \
- ++(s)->n_pair_map[w]; \
- if ((c)->mtid != (c)->tid) { \
- ++(s)->n_diffchr[w]; \
- if ((c)->qual >= 5) ++(s)->n_diffhigh[w]; \
- } \
- } \
- } \
- if (!((c)->flag & BAM_FUNMAP)) ++(s)->n_mapped[w]; \
- if ((c)->flag & BAM_FDUP) ++(s)->n_dup[w]; \
- } while (0)
-
-bam_flagstat_t *bam_flagstat_core(bamFile fp)
-{
- bam_flagstat_t *s;
- bam1_t *b;
- bam1_core_t *c;
- int ret;
- s = (bam_flagstat_t*)calloc(1, sizeof(bam_flagstat_t));
- b = bam_init1();
- c = &b->core;
- while ((ret = bam_read1(fp, b)) >= 0)
- flagstat_loop(s, c);
- bam_destroy1(b);
- if (ret != -1)
- fprintf(stderr, "[bam_flagstat_core] Truncated file? Continue anyway.\n");
- return s;
-}
-int bam_flagstat(int argc, char *argv[])
-{
- bamFile fp;
- bam_header_t *header;
- bam_flagstat_t *s;
- if (argc == optind) {
- fprintf(stderr, "Usage: samtools flagstat <in.bam>\n");
- return 1;
- }
- fp = strcmp(argv[optind], "-")? bam_open(argv[optind], "r") : bam_dopen(fileno(stdin), "r");
- assert(fp);
- header = bam_header_read(fp);
- s = bam_flagstat_core(fp);
- printf("%lld + %lld in total (QC-passed reads + QC-failed reads)\n", s->n_reads[0], s->n_reads[1]);
- printf("%lld + %lld duplicates\n", s->n_dup[0], s->n_dup[1]);
- printf("%lld + %lld mapped (%.2f%%:%.2f%%)\n", s->n_mapped[0], s->n_mapped[1], (float)s->n_mapped[0] / s->n_reads[0] * 100.0, (float)s->n_mapped[1] / s->n_reads[1] * 100.0);
- printf("%lld + %lld paired in sequencing\n", s->n_pair_all[0], s->n_pair_all[1]);
- printf("%lld + %lld read1\n", s->n_read1[0], s->n_read1[1]);
- printf("%lld + %lld read2\n", s->n_read2[0], s->n_read2[1]);
- printf("%lld + %lld properly paired (%.2f%%:%.2f%%)\n", s->n_pair_good[0], s->n_pair_good[1], (float)s->n_pair_good[0] / s->n_pair_all[0] * 100.0, (float)s->n_pair_good[1] / s->n_pair_all[1] * 100.0);
- printf("%lld + %lld with itself and mate mapped\n", s->n_pair_map[0], s->n_pair_map[1]);
- printf("%lld + %lld singletons (%.2f%%:%.2f%%)\n", s->n_sgltn[0], s->n_sgltn[1], (float)s->n_sgltn[0] / s->n_pair_all[0] * 100.0, (float)s->n_sgltn[1] / s->n_pair_all[1] * 100.0);
- printf("%lld + %lld with mate mapped to a different chr\n", s->n_diffchr[0], s->n_diffchr[1]);
- printf("%lld + %lld with mate mapped to a different chr (mapQ>=5)\n", s->n_diffhigh[0], s->n_diffhigh[1]);
- free(s);
- bam_header_destroy(header);
- bam_close(fp);
- return 0;
-}
diff --git a/sam/bam_tview.c b/sam/bam_tview.c
deleted file mode 100644
index 06d5e33..0000000
--- a/sam/bam_tview.c
+++ /dev/null
@@ -1,368 +0,0 @@
-#include <assert.h>
-#include "bam_tview.h"
-
-int base_tv_init(tview_t* tv,const char *fn, const char *fn_fa, const char *samples)
- {
- assert(tv!=NULL);
- assert(fn!=NULL);
- tv->mrow = 24; tv->mcol = 80;
- tv->color_for = TV_COLOR_MAPQ;
- tv->is_dot = 1;
-
- tv->fp = bam_open(fn, "r");
- if(tv->fp==0)
- {
- fprintf(stderr,"bam_open %s. %s\n", fn,fn_fa);
- exit(EXIT_FAILURE);
- }
- bgzf_set_cache_size(tv->fp, 8 * 1024 *1024);
- assert(tv->fp);
-
- tv->header = bam_header_read(tv->fp);
- if(tv->header==0)
- {
- fprintf(stderr,"Cannot read '%s'.\n", fn);
- exit(EXIT_FAILURE);
- }
- tv->idx = bam_index_load(fn);
- if (tv->idx == 0)
- {
- fprintf(stderr,"Cannot read index for '%s'.\n", fn);
- exit(EXIT_FAILURE);
- }
- tv->lplbuf = bam_lplbuf_init(tv_pl_func, tv);
- if (fn_fa) tv->fai = fai_load(fn_fa);
- tv->bca = bcf_call_init(0.83, 13);
- tv->ins = 1;
-
- if ( samples )
- {
- if ( !tv->header->dict ) tv->header->dict = sam_header_parse2(tv->header->text);
- void *iter = tv->header->dict;
- const char *key, *val;
- int n = 0;
- tv->rg_hash = kh_init(kh_rg);
- while ( (iter = sam_header2key_val(iter, "RG","ID","SM", &key, &val)) )
- {
- if ( !strcmp(samples,key) || (val && !strcmp(samples,val)) )
- {
- khiter_t k = kh_get(kh_rg, tv->rg_hash, key);
- if ( k != kh_end(tv->rg_hash) ) continue;
- int ret;
- k = kh_put(kh_rg, tv->rg_hash, key, &ret);
- kh_value(tv->rg_hash, k) = val;
- n++;
- }
- }
- if ( !n )
- {
- fprintf(stderr,"The sample or read group \"%s\" not present.\n", samples);
- exit(EXIT_FAILURE);
- }
- }
-
- return 0;
- }
-
-
-void base_tv_destroy(tview_t* tv)
- {
- bam_lplbuf_destroy(tv->lplbuf);
- bcf_call_destroy(tv->bca);
- bam_index_destroy(tv->idx);
- if (tv->fai) fai_destroy(tv->fai);
- free(tv->ref);
- bam_header_destroy(tv->header);
- bam_close(tv->fp);
- }
-
-
-int tv_pl_func(uint32_t tid, uint32_t pos, int n, const bam_pileup1_t *pl, void *data)
-{
- extern unsigned char bam_nt16_table[256];
- tview_t *tv = (tview_t*)data;
- int i, j, c, rb, attr, max_ins = 0;
- uint32_t call = 0;
- if (pos < tv->left_pos || tv->ccol > tv->mcol) return 0; // out of screen
- // print referece
- rb = (tv->ref && pos - tv->left_pos < tv->l_ref)? tv->ref[pos - tv->left_pos] : 'N';
- for (i = tv->last_pos + 1; i < pos; ++i) {
- if (i%10 == 0 && tv->mcol - tv->ccol >= 10) tv->my_mvprintw(tv,0, tv->ccol, "%-d", i+1);
- c = tv->ref? tv->ref[i - tv->left_pos] : 'N';
- tv->my_mvaddch(tv,1, tv->ccol++, c);
- }
- if (pos%10 == 0 && tv->mcol - tv->ccol >= 10) tv->my_mvprintw(tv,0, tv->ccol, "%-d", pos+1);
- { // call consensus
- bcf_callret1_t bcr;
- int qsum[4], a1, a2, tmp;
- double p[3], prior = 30;
- bcf_call_glfgen(n, pl, bam_nt16_table[rb], tv->bca, &bcr);
- for (i = 0; i < 4; ++i) qsum[i] = bcr.qsum[i]<<2 | i;
- for (i = 1; i < 4; ++i) // insertion sort
- for (j = i; j > 0 && qsum[j] > qsum[j-1]; --j)
- tmp = qsum[j], qsum[j] = qsum[j-1], qsum[j-1] = tmp;
- a1 = qsum[0]&3; a2 = qsum[1]&3;
- p[0] = bcr.p[a1*5+a1]; p[1] = bcr.p[a1*5+a2] + prior; p[2] = bcr.p[a2*5+a2];
- if ("ACGT"[a1] != toupper(rb)) p[0] += prior + 3;
- if ("ACGT"[a2] != toupper(rb)) p[2] += prior + 3;
- if (p[0] < p[1] && p[0] < p[2]) call = (1<<a1)<<16 | (int)((p[1]<p[2]?p[1]:p[2]) - p[0] + .499);
- else if (p[2] < p[1] && p[2] < p[0]) call = (1<<a2)<<16 | (int)((p[0]<p[1]?p[0]:p[1]) - p[2] + .499);
- else call = (1<<a1|1<<a2)<<16 | (int)((p[0]<p[2]?p[0]:p[2]) - p[1] + .499);
- }
- attr = tv->my_underline(tv);
- c = ",ACMGRSVTWYHKDBN"[call>>16&0xf];
- i = (call&0xffff)/10+1;
- if (i > 4) i = 4;
- attr |= tv->my_colorpair(tv,i);
- if (c == toupper(rb)) c = '.';
- tv->my_attron(tv,attr);
- tv->my_mvaddch(tv,2, tv->ccol, c);
- tv->my_attroff(tv,attr);
- if(tv->ins) {
- // calculate maximum insert
- for (i = 0; i < n; ++i) {
- const bam_pileup1_t *p = pl + i;
- if (p->indel > 0 && max_ins < p->indel) max_ins = p->indel;
- }
- }
- // core loop
- for (j = 0; j <= max_ins; ++j) {
- for (i = 0; i < n; ++i) {
- const bam_pileup1_t *p = pl + i;
- int row = TV_MIN_ALNROW + p->level - tv->row_shift;
- if (j == 0) {
- if (!p->is_del) {
- if (tv->base_for == TV_BASE_COLOR_SPACE &&
- (c = bam_aux_getCSi(p->b, p->qpos))) {
- // assume that if we found one color, we will be able to get the color error
- if (tv->is_dot && '-' == bam_aux_getCEi(p->b, p->qpos)) c = bam1_strand(p->b)? ',' : '.';
- } else {
- if (tv->show_name) {
- char *name = bam1_qname(p->b);
- c = (p->qpos + 1 >= p->b->core.l_qname)? ' ' : name[p->qpos];
- } else {
- c = bam_nt16_rev_table[bam1_seqi(bam1_seq(p->b), p->qpos)];
- if (tv->is_dot && toupper(c) == toupper(rb)) c = bam1_strand(p->b)? ',' : '.';
- }
- }
- } else c = p->is_refskip? (bam1_strand(p->b)? '<' : '>') : '*';
- } else { // padding
- if (j > p->indel) c = '*';
- else { // insertion
- if (tv->base_for == TV_BASE_NUCL) {
- if (tv->show_name) {
- char *name = bam1_qname(p->b);
- c = (p->qpos + j + 1 >= p->b->core.l_qname)? ' ' : name[p->qpos + j];
- } else {
- c = bam_nt16_rev_table[bam1_seqi(bam1_seq(p->b), p->qpos + j)];
- if (j == 0 && tv->is_dot && toupper(c) == toupper(rb)) c = bam1_strand(p->b)? ',' : '.';
- }
- } else {
- c = bam_aux_getCSi(p->b, p->qpos + j);
- if (tv->is_dot && '-' == bam_aux_getCEi(p->b, p->qpos + j)) c = bam1_strand(p->b)? ',' : '.';
- }
- }
- }
- if (row > TV_MIN_ALNROW && row < tv->mrow) {
- int x;
- attr = 0;
- if (((p->b->core.flag&BAM_FPAIRED) && !(p->b->core.flag&BAM_FPROPER_PAIR))
- || (p->b->core.flag & BAM_FSECONDARY)) attr |= tv->my_underline(tv);
- if (tv->color_for == TV_COLOR_BASEQ) {
- x = bam1_qual(p->b)[p->qpos]/10 + 1;
- if (x > 4) x = 4;
- attr |= tv->my_colorpair(tv,x);
- } else if (tv->color_for == TV_COLOR_MAPQ) {
- x = p->b->core.qual/10 + 1;
- if (x > 4) x = 4;
- attr |= tv->my_colorpair(tv,x);
- } else if (tv->color_for == TV_COLOR_NUCL) {
- x = bam_nt16_nt4_table[bam1_seqi(bam1_seq(p->b), p->qpos)] + 5;
- attr |= tv->my_colorpair(tv,x);
- } else if(tv->color_for == TV_COLOR_COL) {
- x = 0;
- switch(bam_aux_getCSi(p->b, p->qpos)) {
- case '0': x = 0; break;
- case '1': x = 1; break;
- case '2': x = 2; break;
- case '3': x = 3; break;
- case '4': x = 4; break;
- default: x = bam_nt16_nt4_table[bam1_seqi(bam1_seq(p->b), p->qpos)]; break;
- }
- x+=5;
- attr |= tv->my_colorpair(tv,x);
- } else if(tv->color_for == TV_COLOR_COLQ) {
- x = bam_aux_getCQi(p->b, p->qpos);
- if(0 == x) x = bam1_qual(p->b)[p->qpos];
- x = x/10 + 1;
- if (x > 4) x = 4;
- attr |= tv->my_colorpair(tv,x);
- }
- tv->my_attron(tv,attr);
- tv->my_mvaddch(tv,row, tv->ccol, bam1_strand(p->b)? tolower(c) : toupper(c));
- tv->my_attroff(tv,attr);
- }
- }
- c = j? '*' : rb;
- if (c == '*') {
- attr = tv->my_colorpair(tv,8);
- tv->my_attron(tv,attr);
- tv->my_mvaddch(tv,1, tv->ccol++, c);
- tv->my_attroff(tv,attr);
- } else tv->my_mvaddch(tv,1, tv->ccol++, c);
- }
- tv->last_pos = pos;
- return 0;
-}
-
-
-
-
-int tv_fetch_func(const bam1_t *b, void *data)
-{
- tview_t *tv = (tview_t*)data;
- if ( tv->rg_hash )
- {
- const uint8_t *rg = bam_aux_get(b, "RG");
- if ( !rg ) return 0;
- khiter_t k = kh_get(kh_rg, tv->rg_hash, (const char*)(rg + 1));
- if ( k == kh_end(tv->rg_hash) ) return 0;
- }
- if (tv->no_skip) {
- uint32_t *cigar = bam1_cigar(b); // this is cheating...
- int i;
- for (i = 0; i <b->core.n_cigar; ++i) {
- if ((cigar[i]&0xf) == BAM_CREF_SKIP)
- cigar[i] = cigar[i]>>4<<4 | BAM_CDEL;
- }
- }
- bam_lplbuf_push(b, tv->lplbuf);
- return 0;
-}
-
-int base_draw_aln(tview_t *tv, int tid, int pos)
- {
- assert(tv!=NULL);
- // reset
- tv->my_clear(tv);
- tv->curr_tid = tid; tv->left_pos = pos;
- tv->last_pos = tv->left_pos - 1;
- tv->ccol = 0;
- // print ref and consensus
- if (tv->fai) {
- char *str;
- if (tv->ref) free(tv->ref);
- assert(tv->curr_tid>=0);
-
- str = (char*)calloc(strlen(tv->header->target_name[tv->curr_tid]) + 30, 1);
- assert(str!=NULL);
- sprintf(str, "%s:%d-%d", tv->header->target_name[tv->curr_tid], tv->left_pos + 1, tv->left_pos + tv->mcol);
- tv->ref = fai_fetch(tv->fai, str, &tv->l_ref);
- free(str);
- }
- // draw aln
- bam_lplbuf_reset(tv->lplbuf);
- bam_fetch(tv->fp, tv->idx, tv->curr_tid, tv->left_pos, tv->left_pos + tv->mcol, tv, tv_fetch_func);
- bam_lplbuf_push(0, tv->lplbuf);
-
- while (tv->ccol < tv->mcol) {
- int pos = tv->last_pos + 1;
- if (pos%10 == 0 && tv->mcol - tv->ccol >= 10) tv->my_mvprintw(tv,0, tv->ccol, "%-d", pos+1);
- tv->my_mvaddch(tv,1, tv->ccol++, (tv->ref && pos < tv->l_ref)? tv->ref[pos - tv->left_pos] : 'N');
- ++tv->last_pos;
- }
- return 0;
-}
-
-
-
-
-static void error(const char *format, ...)
-{
- if ( !format )
- {
- fprintf(stderr, "\n");
- fprintf(stderr, "Usage: bamtk tview [options] <aln.bam> [ref.fasta]\n");
- fprintf(stderr, "Options:\n");
- fprintf(stderr, " -d display output as (H)tml or (C)urses or (T)ext \n");
- fprintf(stderr, " -p chr:pos go directly to this position\n");
- fprintf(stderr, " -s STR display only reads from this sample or group\n");
- fprintf(stderr, "\n\n");
- }
- else
- {
- va_list ap;
- va_start(ap, format);
- vfprintf(stderr, format, ap);
- va_end(ap);
- }
- exit(-1);
-}
-
-enum dipsay_mode {display_ncurses,display_html,display_text};
-extern tview_t* curses_tv_init(const char *fn, const char *fn_fa, const char *samples);
-extern tview_t* html_tv_init(const char *fn, const char *fn_fa, const char *samples);
-extern tview_t* text_tv_init(const char *fn, const char *fn_fa, const char *samples);
-
-int bam_tview_main(int argc, char *argv[])
- {
- int view_mode=display_ncurses;
- tview_t* tv=NULL;
- char *samples=NULL, *position=NULL;
- int c;
- while ((c = getopt(argc, argv, "s:p:d:")) >= 0) {
- switch (c) {
- case 's': samples=optarg; break;
- case 'p': position=optarg; break;
- case 'd':
- {
- switch(optarg[0])
- {
- case 'H': case 'h': view_mode=display_html;break;
- case 'T': case 't': view_mode=display_text;break;
- case 'C': case 'c': view_mode=display_ncurses;break;
- default: view_mode=display_ncurses;break;
- }
- break;
- }
- default: error(NULL);
- }
- }
- if (argc==optind) error(NULL);
-
- switch(view_mode)
- {
- case display_ncurses:
- {
- tv = curses_tv_init(argv[optind], (optind+1>=argc)? 0 : argv[optind+1], samples);
- break;
- }
- case display_text:
- {
- tv = text_tv_init(argv[optind], (optind+1>=argc)? 0 : argv[optind+1], samples);
- break;
- }
- case display_html:
- {
- tv = html_tv_init(argv[optind], (optind+1>=argc)? 0 : argv[optind+1], samples);
- break;
- }
- }
- if(tv==NULL)
- {
- error("cannot create view");
- return EXIT_FAILURE;
- }
-
- if ( position )
- {
- int _tid = -1, _beg, _end;
- bam_parse_region(tv->header, position, &_tid, &_beg, &_end);
- if (_tid >= 0) { tv->curr_tid = _tid; tv->left_pos = _beg; }
- }
- tv->my_drawaln(tv, tv->curr_tid, tv->left_pos);
- tv->my_loop(tv);
- tv->my_destroy(tv);
-
- return EXIT_SUCCESS;
- }
diff --git a/sam/bam_tview.h b/sam/bam_tview.h
deleted file mode 100644
index 80f0464..0000000
--- a/sam/bam_tview.h
+++ /dev/null
@@ -1,75 +0,0 @@
-#ifndef BAM_TVIEW_H
-#define BAM_TVIEW_H
-
-#include <ctype.h>
-#include <assert.h>
-#include <string.h>
-#include <math.h>
-#include <unistd.h>
-#include <stdarg.h>
-#include "bam.h"
-#include "faidx.h"
-#include "bam2bcf.h"
-#include "sam_header.h"
-#include "khash.h"
-
-KHASH_MAP_INIT_STR(kh_rg, const char *)
-
-typedef struct AbstractTview {
- int mrow, mcol;
-
- bam_index_t *idx;
- bam_lplbuf_t *lplbuf;
- bam_header_t *header;
- bamFile fp;
- int curr_tid, left_pos;
- faidx_t *fai;
- bcf_callaux_t *bca;
-
- int ccol, last_pos, row_shift, base_for, color_for, is_dot, l_ref, ins, no_skip, show_name;
- char *ref;
- khash_t(kh_rg) *rg_hash;
- /* callbacks */
- void (*my_destroy)(struct AbstractTview* );
- void (*my_mvprintw)(struct AbstractTview* ,int,int,const char*,...);
- void (*my_mvaddch)(struct AbstractTview*,int,int,int);
- void (*my_attron)(struct AbstractTview*,int);
- void (*my_attroff)(struct AbstractTview*,int);
- void (*my_clear)(struct AbstractTview*);
- int (*my_colorpair)(struct AbstractTview*,int);
- int (*my_drawaln)(struct AbstractTview*,int,int);
- int (*my_loop)(struct AbstractTview*);
- int (*my_underline)(struct AbstractTview*);
-} tview_t;
-
-
-char bam_aux_getCEi(bam1_t *b, int i);
-char bam_aux_getCSi(bam1_t *b, int i);
-char bam_aux_getCQi(bam1_t *b, int i);
-
-#define TV_MIN_ALNROW 2
-#define TV_MAX_GOTO 40
-#define TV_LOW_MAPQ 10
-
-#define TV_COLOR_MAPQ 0
-#define TV_COLOR_BASEQ 1
-#define TV_COLOR_NUCL 2
-#define TV_COLOR_COL 3
-#define TV_COLOR_COLQ 4
-
-#define TV_BASE_NUCL 0
-#define TV_BASE_COLOR_SPACE 1
-
-int tv_pl_func(uint32_t tid, uint32_t pos, int n, const bam_pileup1_t *pl, void *data);
-int base_tv_init(tview_t*,const char *fn, const char *fn_fa, const char *samples);
-void base_tv_destroy(tview_t*);
-int base_draw_aln(tview_t *tv, int tid, int pos);
-
-typedef struct Tixel
- {
- int ch;
- int attributes;
- }tixel_t;
-
-#endif
-
diff --git a/sam/bam_tview_curses.c b/sam/bam_tview_curses.c
deleted file mode 100644
index 4fdd1fb..0000000
--- a/sam/bam_tview_curses.c
+++ /dev/null
@@ -1,297 +0,0 @@
-#undef _HAVE_CURSES
-
-#if _CURSES_LIB == 0
-#elif _CURSES_LIB == 1
-#include <curses.h>
-#ifndef NCURSES_VERSION
-#warning "_CURSES_LIB=1 but NCURSES_VERSION not defined; tview is NOT compiled"
-#else
-#define _HAVE_CURSES
-#endif
-#elif _CURSES_LIB == 2
-#include <xcurses.h>
-#define _HAVE_CURSES
-#else
-#warning "_CURSES_LIB is not 0, 1 or 2; tview is NOT compiled"
-#endif
-
-
-#include "bam_tview.h"
-
-#ifdef _HAVE_CURSES
-
-
-
-typedef struct CursesTview {
- tview_t view;
- WINDOW *wgoto, *whelp;
- } curses_tview_t;
-
-
-
-
-#define FROM_TV(ptr) ((curses_tview_t*)ptr)
-
-static void curses_destroy(tview_t* base)
- {
- curses_tview_t* tv=(curses_tview_t*)base;
-
-
- delwin(tv->wgoto); delwin(tv->whelp);
- endwin();
-
- base_tv_destroy(base);
-
- free(tv);
- }
-
-/*
- void (*my_mvprintw)(struct AbstractTview* ,int,int,const char*,...);
- void (*my_)(struct AbstractTview*,int,int,int);
- void (*my_attron)(struct AbstractTview*,int);
- void (*my_attroff)(struct AbstractTview*,int);
- void (*my_clear)(struct AbstractTview*);
- int (*my_colorpair)(struct AbstractTview*,int);
-*/
-
-static void curses_mvprintw(struct AbstractTview* tv,int y ,int x,const char* fmt,...)
- {
- unsigned int size=tv->mcol+2;
- char* str=malloc(size);
- if(str==0) exit(EXIT_FAILURE);
- va_list argptr;
- va_start(argptr, fmt);
- vsnprintf(str,size, fmt, argptr);
- va_end(argptr);
- mvprintw(y,x,str);
- free(str);
- }
-
-static void curses_mvaddch(struct AbstractTview* tv,int y,int x,int ch)
- {
- mvaddch(y,x,ch);
- }
-
-static void curses_attron(struct AbstractTview* tv,int flag)
- {
- attron(flag);
- }
-static void curses_attroff(struct AbstractTview* tv,int flag)
- {
- attroff(flag);
- }
-static void curses_clear(struct AbstractTview* tv)
- {
- clear();
- }
-
-static int curses_colorpair(struct AbstractTview* tv,int flag)
- {
- return COLOR_PAIR(flag);
- }
-
-static int curses_drawaln(struct AbstractTview* tv, int tid, int pos)
- {
- return base_draw_aln(tv, tid, pos);
- }
-
-
-
-static void tv_win_goto(curses_tview_t *tv, int *tid, int *pos)
- {
- char str[256], *p;
- int i, l = 0;
- tview_t *base=(tview_t*)tv;
- wborder(tv->wgoto, '|', '|', '-', '-', '+', '+', '+', '+');
- mvwprintw(tv->wgoto, 1, 2, "Goto: ");
- for (;;) {
- int c = wgetch(tv->wgoto);
- wrefresh(tv->wgoto);
- if (c == KEY_BACKSPACE || c == '\010' || c == '\177') {
- if(l > 0) --l;
- } else if (c == KEY_ENTER || c == '\012' || c == '\015') {
- int _tid = -1, _beg, _end;
- if (str[0] == '=') {
- _beg = strtol(str+1, &p, 10) - 1;
- if (_beg > 0) {
- *pos = _beg;
- return;
- }
- } else {
- bam_parse_region(base->header, str, &_tid, &_beg, &_end);
- if (_tid >= 0) {
- *tid = _tid; *pos = _beg;
- return;
- }
- }
- } else if (isgraph(c)) {
- if (l < TV_MAX_GOTO) str[l++] = c;
- } else if (c == '\027') l = 0;
- else if (c == '\033') return;
- str[l] = '\0';
- for (i = 0; i < TV_MAX_GOTO; ++i) mvwaddch(tv->wgoto, 1, 8 + i, ' ');
- mvwprintw(tv->wgoto, 1, 8, "%s", str);
- }
-}
-
-
-
-
-static void tv_win_help(curses_tview_t *tv) {
- int r = 1;
- tview_t* base=(tview_t*)base;
- WINDOW *win = tv->whelp;
- wborder(win, '|', '|', '-', '-', '+', '+', '+', '+');
- mvwprintw(win, r++, 2, " -=- Help -=- ");
- r++;
- mvwprintw(win, r++, 2, "? This window");
- mvwprintw(win, r++, 2, "Arrows Small scroll movement");
- mvwprintw(win, r++, 2, "h,j,k,l Small scroll movement");
- mvwprintw(win, r++, 2, "H,J,K,L Large scroll movement");
- mvwprintw(win, r++, 2, "ctrl-H Scroll 1k left");
- mvwprintw(win, r++, 2, "ctrl-L Scroll 1k right");
- mvwprintw(win, r++, 2, "space Scroll one screen");
- mvwprintw(win, r++, 2, "backspace Scroll back one screen");
- mvwprintw(win, r++, 2, "g Go to specific location");
- mvwprintw(win, r++, 2, "m Color for mapping qual");
- mvwprintw(win, r++, 2, "n Color for nucleotide");
- mvwprintw(win, r++, 2, "b Color for base quality");
- mvwprintw(win, r++, 2, "c Color for cs color");
- mvwprintw(win, r++, 2, "z Color for cs qual");
- mvwprintw(win, r++, 2, ". Toggle on/off dot view");
- mvwprintw(win, r++, 2, "s Toggle on/off ref skip");
- mvwprintw(win, r++, 2, "r Toggle on/off rd name");
- mvwprintw(win, r++, 2, "N Turn on nt view");
- mvwprintw(win, r++, 2, "C Turn on cs view");
- mvwprintw(win, r++, 2, "i Toggle on/off ins");
- mvwprintw(win, r++, 2, "q Exit");
- r++;
- mvwprintw(win, r++, 2, "Underline: Secondary or orphan");
- mvwprintw(win, r++, 2, "Blue: 0-9 Green: 10-19");
- mvwprintw(win, r++, 2, "Yellow: 20-29 White: >=30");
- wrefresh(win);
- wgetch(win);
-}
-
-static int curses_underline(tview_t* tv)
- {
- return A_UNDERLINE;
- }
-
-static int curses_loop(tview_t* tv)
- {
- int tid, pos;
- curses_tview_t *CTV=(curses_tview_t *)tv;
- tid = tv->curr_tid; pos = tv->left_pos;
- while (1) {
- int c = getch();
- switch (c) {
- case '?': tv_win_help(CTV); break;
- case '\033':
- case 'q': goto end_loop;
- case '/':
- case 'g': tv_win_goto(CTV, &tid, &pos); break;
- case 'm': tv->color_for = TV_COLOR_MAPQ; break;
- case 'b': tv->color_for = TV_COLOR_BASEQ; break;
- case 'n': tv->color_for = TV_COLOR_NUCL; break;
- case 'c': tv->color_for = TV_COLOR_COL; break;
- case 'z': tv->color_for = TV_COLOR_COLQ; break;
- case 's': tv->no_skip = !tv->no_skip; break;
- case 'r': tv->show_name = !tv->show_name; break;
- case KEY_LEFT:
- case 'h': --pos; break;
- case KEY_RIGHT:
- case 'l': ++pos; break;
- case KEY_SLEFT:
- case 'H': pos -= 20; break;
- case KEY_SRIGHT:
- case 'L': pos += 20; break;
- case '.': tv->is_dot = !tv->is_dot; break;
- case 'N': tv->base_for = TV_BASE_NUCL; break;
- case 'C': tv->base_for = TV_BASE_COLOR_SPACE; break;
- case 'i': tv->ins = !tv->ins; break;
- case '\010': pos -= 1000; break;
- case '\014': pos += 1000; break;
- case ' ': pos += tv->mcol; break;
- case KEY_UP:
- case 'j': --tv->row_shift; break;
- case KEY_DOWN:
- case 'k': ++tv->row_shift; break;
- case KEY_BACKSPACE:
- case '\177': pos -= tv->mcol; break;
- case KEY_RESIZE: getmaxyx(stdscr, tv->mrow, tv->mcol); break;
- default: continue;
- }
- if (pos < 0) pos = 0;
- if (tv->row_shift < 0) tv->row_shift = 0;
- tv->my_drawaln(tv, tid, pos);
- }
-end_loop:
- return 0;
-}
-
-
-
-
-tview_t* curses_tv_init(const char *fn, const char *fn_fa, const char *samples)
- {
- curses_tview_t *tv = (curses_tview_t*)calloc(1, sizeof(curses_tview_t));
- tview_t* base=(tview_t*)tv;
- if(tv==0)
- {
- fprintf(stderr,"Calloc failed\n");
- return 0;
- }
-
- base_tv_init(base,fn,fn_fa,samples);
- /* initialize callbacks */
-#define SET_CALLBACK(fun) base->my_##fun=curses_##fun;
- SET_CALLBACK(destroy);
- SET_CALLBACK(mvprintw);
- SET_CALLBACK(mvaddch);
- SET_CALLBACK(attron);
- SET_CALLBACK(attroff);
- SET_CALLBACK(clear);
- SET_CALLBACK(colorpair);
- SET_CALLBACK(drawaln);
- SET_CALLBACK(loop);
- SET_CALLBACK(underline);
-#undef SET_CALLBACK
-
- initscr();
- keypad(stdscr, TRUE);
- clear();
- noecho();
- cbreak();
-
- getmaxyx(stdscr, base->mrow, base->mcol);
- tv->wgoto = newwin(3, TV_MAX_GOTO + 10, 10, 5);
- tv->whelp = newwin(29, 40, 5, 5);
-
- start_color();
- init_pair(1, COLOR_BLUE, COLOR_BLACK);
- init_pair(2, COLOR_GREEN, COLOR_BLACK);
- init_pair(3, COLOR_YELLOW, COLOR_BLACK);
- init_pair(4, COLOR_WHITE, COLOR_BLACK);
- init_pair(5, COLOR_GREEN, COLOR_BLACK);
- init_pair(6, COLOR_CYAN, COLOR_BLACK);
- init_pair(7, COLOR_YELLOW, COLOR_BLACK);
- init_pair(8, COLOR_RED, COLOR_BLACK);
- init_pair(9, COLOR_BLUE, COLOR_BLACK);
- return base;
- }
-
-
-#else // #ifdef _HAVE_CURSES
-#include <stdio.h>
-#warning "No curses library is available; tview with curses is disabled."
-
-extern tview_t* text_tv_init(const char *fn, const char *fn_fa, const char *samples);
-
-tview_t* curses_tv_init(const char *fn, const char *fn_fa, const char *samples)
- {
- return text_tv_init(fn,fn_fa,samples);
- }
-#endif // #ifdef _HAVE_CURSES
-
-
diff --git a/sam/bam_tview_html.c b/sam/bam_tview_html.c
deleted file mode 100644
index f52b4c3..0000000
--- a/sam/bam_tview_html.c
+++ /dev/null
@@ -1,349 +0,0 @@
-#include <unistd.h>
-#include "bam_tview.h"
-
-#define UNDERLINE_FLAG 10
-
-typedef struct HtmlTview {
- tview_t view;
- int row_count;
- tixel_t** screen;
- FILE* out;
- int attributes;/* color... */
- } html_tview_t;
-
-#define FROM_TV(ptr) ((html_tview_t*)ptr)
-
-static void html_destroy(tview_t* base)
- {
- int i;
- html_tview_t* tv=(html_tview_t*)base;
- if(tv->screen!=NULL)
- {
- for(i=0;i< tv->row_count;++i) free(tv->screen[i]);
- free(tv->screen);
- }
- base_tv_destroy(base);
- free(tv);
- }
-
-/*
- void (*my_mvprintw)(struct AbstractTview* ,int,int,const char*,...);
- void (*my_)(struct AbstractTview*,int,int,int);
- void (*my_attron)(struct AbstractTview*,int);
- void (*my_attroff)(struct AbstractTview*,int);
- void (*my_clear)(struct AbstractTview*);
- int (*my_colorpair)(struct AbstractTview*,int);
-*/
-
-static void html_mvprintw(struct AbstractTview* tv,int y ,int x,const char* fmt,...)
- {
- int i,nchars=0;
- unsigned int size=tv->mcol+2;
- char* str=malloc(size);
- if(str==0) exit(EXIT_FAILURE);
- va_list argptr;
- va_start(argptr, fmt);
- nchars=vsnprintf(str,size, fmt, argptr);
- va_end(argptr);
-
- for(i=0;i< nchars;++i)
- {
- tv->my_mvaddch(tv,y,x+i,str[i]);
- }
- free(str);
- }
-
-static void html_mvaddch(struct AbstractTview* tv,int y,int x,int ch)
- {
- tixel_t* row=NULL;
- html_tview_t* ptr=FROM_TV(tv);
- if( x >= tv->mcol ) return; //out of screen
- while(ptr->row_count<=y)
- {
- int x;
- row=(tixel_t*)calloc(tv->mcol,sizeof(tixel_t));
- if(row==0) exit(EXIT_FAILURE);
- for(x=0;x<tv->mcol;++x) {row[x].ch=' ';row[x].attributes=0;}
- ptr->screen=(tixel_t**)realloc(ptr->screen,sizeof(tixel_t*)*(ptr->row_count+1));
- ptr->screen[ptr->row_count++]=row;
- }
- row=ptr->screen[y];
- row[x].ch=ch;
- row[x].attributes=ptr->attributes;
- }
-
-static void html_attron(struct AbstractTview* tv,int flag)
- {
- html_tview_t* ptr=FROM_TV(tv);
- ptr->attributes |= flag;
-
-
- }
-
-static void html_attroff(struct AbstractTview* tv,int flag)
- {
- html_tview_t* ptr=FROM_TV(tv);
- ptr->attributes &= ~(flag);
- }
-
-static void html_clear(struct AbstractTview* tv)
- {
- html_tview_t* ptr=FROM_TV(tv);
- if(ptr->screen!=NULL)
- {
- int i;
- for(i=0;i< ptr->row_count;++i) free(ptr->screen[i]);
- free(ptr->screen);
- ptr->screen=NULL;
- }
- ptr->row_count=0;
- ptr->attributes=0;
- }
-
-static int html_colorpair(struct AbstractTview* tv,int flag)
- {
- return (1 << (flag));
- }
-
-static int html_drawaln(struct AbstractTview* tv, int tid, int pos)
- {
- int y,x;
- html_tview_t* ptr=FROM_TV(tv);
- html_clear(tv);
- base_draw_aln(tv, tid, pos);
- fputs("<html><head>",ptr->out);
- fprintf(ptr->out,"<title>%s:%d</title>",
- tv->header->target_name[tid],
- pos+1
- );
- //style
-
- fputs("<style type='text/css'>\n",ptr->out);
- fputs(".tviewbody { margin:5px; background-color:white;text-align:center;}\n",ptr->out);
- fputs(".tviewtitle {text-align:center;}\n",ptr->out);
- fputs(".tviewpre { margin:5px; background-color:white;}\n",ptr->out);
- #define CSS(id,col) fprintf(ptr->out,".tviewc%d {color:%s;}\n.tviewcu%d {color:%s;text-decoration:underline;}\n",id,col,id,col);
- CSS(0, "black");
- CSS(1, "blue");
- CSS(2, "green");
- CSS(3, "yellow");
- CSS(4, "black");
- CSS(5, "green");
- CSS(6, "cyan");
- CSS(7, "yellow");
- CSS(8, "red");
- CSS(9, "blue");
- #undef CSS
- fputs("</style>",ptr->out);
-
- fputs("</head><body>",ptr->out);
-
- fprintf(ptr->out,"<div class='tviewbody'><div class='tviewtitle'>%s:%d</div>",
- tv->header->target_name[tid],
- pos+1
- );
-
- fputs("<pre class='tviewpre'>",ptr->out);
- for(y=0;y< ptr->row_count;++y)
- {
-
- for(x=0;x< tv->mcol;++x)
- {
-
-
- if(x== 0 || ptr->screen[y][x].attributes != ptr->screen[y][x-1].attributes)
- {
- int css=0;
- fprintf(ptr->out,"<span");
- while(css<32)
- {
- //if(y>1) fprintf(stderr,"css=%d pow2=%d vs %d\n",css,(1 << (css)),ptr->screen[y][x].attributes);
- if(( (ptr->screen[y][x].attributes) & (1 << (css)))!=0)
- {
-
- fprintf(ptr->out," class='tviewc%s%d'",
- (( (ptr->screen[y][x].attributes) & (1 << (UNDERLINE_FLAG)) )!=0?"u":""),
- css);
- break;
- }
- ++css;
- }
-
-
- fputs(">",ptr->out);
- }
-
- int ch=ptr->screen[y][x].ch;
- switch(ch)
- {
- case '<': fputs("<",ptr->out);break;
- case '>': fputs(">",ptr->out);break;
- case '&': fputs("&",ptr->out);break;
- default: fputc(ch,ptr->out); break;
- }
-
-
- if(x+1 == tv->mcol || ptr->screen[y][x].attributes!=ptr->screen[y][x+1].attributes)
- {
- fputs("</span>",ptr->out);
- }
- }
- if(y+1 < ptr->row_count) fputs("<br/>",ptr->out);
- }
- fputs("</pre></div></body></html>",ptr->out);
- return 0;
- }
-
-
-#define ANSI_COLOR_RED "\x1b[31m"
-#define ANSI_COLOR_GREEN "\x1b[32m"
-#define ANSI_COLOR_YELLOW "\x1b[33m"
-#define ANSI_COLOR_BLUE "\x1b[34m"
-#define ANSI_COLOR_MAGENTA "\x1b[35m"
-#define ANSI_COLOR_CYAN "\x1b[36m"
-#define ANSI_COLOR_BLACK "\x1b[0m"
-#define ANSI_COLOR_RESET ANSI_COLOR_BLACK
-
-#define ANSI_UNDERLINE_SET "\033[4m"
-#define ANSI_UNDERLINE_UNSET "\033[0m"
-
-static int text_drawaln(struct AbstractTview* tv, int tid, int pos)
- {
- int y,x;
- html_tview_t* ptr=FROM_TV(tv);
- html_clear(tv);
- base_draw_aln(tv, tid, pos);
- int is_term= isatty(fileno(ptr->out));
-
- for(y=0;y< ptr->row_count;++y)
- {
- for(x=0;x< tv->mcol;++x)
- {
- if(is_term)
- {
- int css=0;
- while(css<32)
- {
- if(( (ptr->screen[y][x].attributes) & (1 << (css)))!=0)
- {
- break;
- }
- ++css;
- }
- switch(css)
- {
- //CSS(0, "black");
- case 1: fputs(ANSI_COLOR_BLUE,ptr->out); break;
- case 2: fputs(ANSI_COLOR_GREEN,ptr->out); break;
- case 3: fputs(ANSI_COLOR_YELLOW,ptr->out); break;
- //CSS(4, "black");
- case 5: fputs(ANSI_COLOR_GREEN,ptr->out); break;
- case 6: fputs(ANSI_COLOR_CYAN,ptr->out); break;
- case 7: fputs(ANSI_COLOR_YELLOW,ptr->out); break;
- case 8: fputs(ANSI_COLOR_RED,ptr->out); break;
- case 9: fputs(ANSI_COLOR_BLUE,ptr->out); break;
- default:break;
- }
- if(( (ptr->screen[y][x].attributes) & (1 << (UNDERLINE_FLAG)))!=0)
- {
- fputs(ANSI_UNDERLINE_SET,ptr->out);
- }
-
- }
-
-
- int ch=ptr->screen[y][x].ch;
-
- fputc(ch,ptr->out);
- if(is_term)
- {
- fputs(ANSI_COLOR_RESET,ptr->out);
- if(( (ptr->screen[y][x].attributes) & (1 << (UNDERLINE_FLAG)))!=0)
- {
- fputs(ANSI_UNDERLINE_UNSET,ptr->out);
- }
- }
- }
- fputc('\n',ptr->out);
- }
- return 0;
- }
-
-
-static int html_loop(tview_t* tv)
- {
- //tv->my_drawaln(tv, tv->curr_tid, tv->left_pos);
- return 0;
- }
-
-static int html_underline(tview_t* tv)
- {
- return (1 << UNDERLINE_FLAG);
- }
-
-/*
-static void init_pair(html_tview_t *tv,int id_ge_1, const char* pen, const char* paper)
- {
-
- }
-*/
-
-tview_t* html_tv_init(const char *fn, const char *fn_fa, const char *samples)
- {
- char* colstr=getenv("COLUMNS");
- html_tview_t *tv = (html_tview_t*)calloc(1, sizeof(html_tview_t));
- tview_t* base=(tview_t*)tv;
- if(tv==0)
- {
- fprintf(stderr,"Calloc failed\n");
- return 0;
- }
- tv->row_count=0;
- tv->screen=NULL;
- tv->out=stdout;
- tv->attributes=0;
- base_tv_init(base,fn,fn_fa,samples);
- /* initialize callbacks */
-#define SET_CALLBACK(fun) base->my_##fun=html_##fun;
- SET_CALLBACK(destroy);
- SET_CALLBACK(mvprintw);
- SET_CALLBACK(mvaddch);
- SET_CALLBACK(attron);
- SET_CALLBACK(attroff);
- SET_CALLBACK(clear);
- SET_CALLBACK(colorpair);
- SET_CALLBACK(drawaln);
- SET_CALLBACK(loop);
- SET_CALLBACK(underline);
-#undef SET_CALLBACK
-
-
- if(colstr!=0)
- {
- base->mcol=atoi(colstr);
- if(base->mcol<10) base->mcol=80;
- }
- base->mrow=99999;
-
-/*
- init_pair(tv,1, "blue", "white");
- init_pair(tv,2, "green", "white");
- init_pair(tv,3, "yellow", "white");
- init_pair(tv,4, "white", "white");
- init_pair(tv,5, "green", "white");
- init_pair(tv,6, "cyan", "white");
- init_pair(tv,7, "yellow", "white");
- init_pair(tv,8, "red", "white");
- init_pair(tv,9, "blue", "white");
- */
- return base;
- }
-
-
-tview_t* text_tv_init(const char *fn, const char *fn_fa, const char *samples)
- {
- tview_t* tv=html_tv_init(fn,fn_fa,samples);
- tv->my_drawaln=text_drawaln;
- return tv;
- }
-
diff --git a/sam/bamshuf.c b/sam/bamshuf.c
deleted file mode 100644
index 33a5238..0000000
--- a/sam/bamshuf.c
+++ /dev/null
@@ -1,141 +0,0 @@
-#include <unistd.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
-#include "sam.h"
-#include "ksort.h"
-
-#define DEF_CLEVEL 1
-
-static inline unsigned hash_Wang(unsigned key)
-{
- key += ~(key << 15);
- key ^= (key >> 10);
- key += (key << 3);
- key ^= (key >> 6);
- key += ~(key << 11);
- key ^= (key >> 16);
- return key;
-}
-
-static inline unsigned hash_X31_Wang(const char *s)
-{
- unsigned h = *s;
- if (h) {
- for (++s ; *s; ++s) h = (h << 5) - h + *s;
- return hash_Wang(h);
- } else return 0;
-}
-
-typedef struct {
- unsigned key;
- bam1_t *b;
-} elem_t;
-
-static inline int elem_lt(elem_t x, elem_t y)
-{
- if (x.key < y.key) return 1;
- if (x.key == y.key) {
- int t;
- t = strcmp(bam_get_qname(x.b), bam_get_qname(y.b));
- if (t < 0) return 1;
- return (t == 0 && ((x.b->core.flag>>6&3) < (y.b->core.flag>>6&3)));
- } else return 0;
-}
-
-KSORT_INIT(bamshuf, elem_t, elem_lt)
-
-static void bamshuf(const char *fn, int n_files, const char *pre, int clevel, int is_stdout)
-{
- BGZF *fp, *fpw, **fpt;
- char **fnt, modew[8];
- bam1_t *b;
- int i, l;
- bam_hdr_t *h;
- int64_t *cnt;
-
- // split
- fp = strcmp(fn, "-")? bgzf_open(fn, "r") : bgzf_dopen(fileno(stdin), "r");
- assert(fp);
- h = bam_hdr_read(fp);
- fnt = (char**)calloc(n_files, sizeof(void*));
- fpt = (BGZF**)calloc(n_files, sizeof(void*));
- cnt = (int64_t*)calloc(n_files, 8);
- l = strlen(pre);
- for (i = 0; i < n_files; ++i) {
- fnt[i] = (char*)calloc(l + 10, 1);
- sprintf(fnt[i], "%s.%.4d.bam", pre, i);
- fpt[i] = bgzf_open(fnt[i], "w1");
- bam_hdr_write(fpt[i], h);
- }
- b = bam_init1();
- while (bam_read1(fp, b) >= 0) {
- uint32_t x;
- x = hash_X31_Wang(bam_get_qname(b)) % n_files;
- bam_write1(fpt[x], b);
- ++cnt[x];
- }
- bam_destroy1(b);
- for (i = 0; i < n_files; ++i) bgzf_close(fpt[i]);
- free(fpt);
- bgzf_close(fp);
- // merge
- sprintf(modew, "w%d", (clevel >= 0 && clevel <= 9)? clevel : DEF_CLEVEL);
- if (!is_stdout) { // output to a file
- char *fnw = (char*)calloc(l + 5, 1);
- sprintf(fnw, "%s.bam", pre);
- fpw = bgzf_open(fnw, modew);
- free(fnw);
- } else fpw = bgzf_dopen(fileno(stdout), modew); // output to stdout
- bam_hdr_write(fpw, h);
- bam_hdr_destroy(h);
- for (i = 0; i < n_files; ++i) {
- int64_t j, c = cnt[i];
- elem_t *a;
- fp = bgzf_open(fnt[i], "r");
- bam_hdr_destroy(bam_hdr_read(fp));
- a = (elem_t*)calloc(c, sizeof(elem_t));
- for (j = 0; j < c; ++j) {
- a[j].b = bam_init1();
- assert(bam_read1(fp, a[j].b) >= 0);
- a[j].key = hash_X31_Wang(bam_get_qname(a[j].b));
- }
- bgzf_close(fp);
- unlink(fnt[i]);
- free(fnt[i]);
- ks_introsort(bamshuf, c, a);
- for (j = 0; j < c; ++j) {
- bam_write1(fpw, a[j].b);
- bam_destroy1(a[j].b);
- }
- free(a);
- }
- bgzf_close(fpw);
- free(fnt); free(cnt);
-}
-
-int main_bamshuf(int argc, char *argv[])
-{
- int c, n_files = 64, clevel = DEF_CLEVEL, is_stdout = 0, is_un = 0;
- while ((c = getopt(argc, argv, "n:l:uO")) >= 0) {
- switch (c) {
- case 'n': n_files = atoi(optarg); break;
- case 'l': clevel = atoi(optarg); break;
- case 'u': is_un = 1; break;
- case 'O': is_stdout = 1; break;
- }
- }
- if (is_un) clevel = 0;
- if (optind + 2 > argc) {
- fprintf(stderr, "\nUsage: bamshuf [-Ou] [-n nFiles] [-c cLevel] <in.bam> <out.prefix>\n\n");
- fprintf(stderr, "Options: -O output to stdout\n");
- fprintf(stderr, " -u uncompressed BAM output\n");
- fprintf(stderr, " -l INT compression level [%d]\n", DEF_CLEVEL);
- fprintf(stderr, " -n INT number of temporary files [%d]\n", n_files);
- fprintf(stderr, "\n");
- return 1;
- }
- bamshuf(argv[optind], n_files, argv[optind+1], clevel, is_stdout);
- return 0;
-}
diff --git a/sam/bamtk.c b/sam/bamtk.c
deleted file mode 100644
index 9df7c11..0000000
--- a/sam/bamtk.c
+++ /dev/null
@@ -1,119 +0,0 @@
-#include <stdio.h>
-#include <unistd.h>
-#include <assert.h>
-#include <fcntl.h>
-#include "bam.h"
-
-#ifdef _USE_KNETFILE
-#include "knetfile.h"
-#endif
-
-int bam_taf2baf(int argc, char *argv[]);
-int bam_mpileup(int argc, char *argv[]);
-int bam_merge(int argc, char *argv[]);
-int bam_index(int argc, char *argv[]);
-int bam_sort(int argc, char *argv[]);
-int bam_tview_main(int argc, char *argv[]);
-int bam_mating(int argc, char *argv[]);
-int bam_rmdup(int argc, char *argv[]);
-int bam_flagstat(int argc, char *argv[]);
-int bam_fillmd(int argc, char *argv[]);
-int bam_idxstats(int argc, char *argv[]);
-int main_samview(int argc, char *argv[]);
-int main_import(int argc, char *argv[]);
-int main_reheader(int argc, char *argv[]);
-int main_cut_target(int argc, char *argv[]);
-int main_phase(int argc, char *argv[]);
-int main_cat(int argc, char *argv[]);
-int main_depth(int argc, char *argv[]);
-int main_bam2fq(int argc, char *argv[]);
-int main_pad2unpad(int argc, char *argv[]);
-int main_bedcov(int argc, char *argv[]);
-int main_bamshuf(int argc, char *argv[]);
-
-int faidx_main(int argc, char *argv[]);
-
-static int usage()
-{
- fprintf(stderr, "\n");
- fprintf(stderr, "Program: samtools (Tools for alignments in the SAM format)\n");
- fprintf(stderr, "Version: %s\n\n", BAM_VERSION);
- fprintf(stderr, "Usage: samtools <command> [options]\n\n");
- fprintf(stderr, "Command: view SAM<->BAM conversion\n");
- fprintf(stderr, " sort sort alignment file\n");
- fprintf(stderr, " mpileup multi-way pileup\n");
- fprintf(stderr, " depth compute the depth\n");
- fprintf(stderr, " faidx index/extract FASTA\n");
-#if _CURSES_LIB != 0
- fprintf(stderr, " tview text alignment viewer\n");
-#endif
- fprintf(stderr, " index index alignment\n");
- fprintf(stderr, " idxstats BAM index stats (r595 or later)\n");
- fprintf(stderr, " fixmate fix mate information\n");
- fprintf(stderr, " flagstat simple stats\n");
- fprintf(stderr, " calmd recalculate MD/NM tags and '=' bases\n");
- fprintf(stderr, " merge merge sorted alignments\n");
- fprintf(stderr, " rmdup remove PCR duplicates\n");
- fprintf(stderr, " reheader replace BAM header\n");
- fprintf(stderr, " cat concatenate BAMs\n");
- fprintf(stderr, " bedcov read depth per BED region\n");
- fprintf(stderr, " targetcut cut fosmid regions (for fosmid pool only)\n");
- fprintf(stderr, " phase phase heterozygotes\n");
- fprintf(stderr, " bamshuf shuffle and group alignments by name\n");
-// fprintf(stderr, " depad convert padded BAM to unpadded BAM\n"); // not stable
- fprintf(stderr, "\n");
-#ifdef _WIN32
- fprintf(stderr, "\
-Note: The Windows version of SAMtools is mainly designed for read-only\n\
- operations, such as viewing the alignments and generating the pileup.\n\
- Binary files generated by the Windows version may be buggy.\n\n");
-#endif
- return 1;
-}
-
-int main(int argc, char *argv[])
-{
-#ifdef _WIN32
- setmode(fileno(stdout), O_BINARY);
- setmode(fileno(stdin), O_BINARY);
-#ifdef _USE_KNETFILE
- knet_win32_init();
-#endif
-#endif
- if (argc < 2) return usage();
- if (strcmp(argv[1], "view") == 0) return main_samview(argc-1, argv+1);
- else if (strcmp(argv[1], "import") == 0) return main_import(argc-1, argv+1);
- else if (strcmp(argv[1], "mpileup") == 0) return bam_mpileup(argc-1, argv+1);
- else if (strcmp(argv[1], "merge") == 0) return bam_merge(argc-1, argv+1);
- else if (strcmp(argv[1], "sort") == 0) return bam_sort(argc-1, argv+1);
- else if (strcmp(argv[1], "index") == 0) return bam_index(argc-1, argv+1);
- else if (strcmp(argv[1], "idxstats") == 0) return bam_idxstats(argc-1, argv+1);
- else if (strcmp(argv[1], "faidx") == 0) return faidx_main(argc-1, argv+1);
- else if (strcmp(argv[1], "fixmate") == 0) return bam_mating(argc-1, argv+1);
- else if (strcmp(argv[1], "rmdup") == 0) return bam_rmdup(argc-1, argv+1);
- else if (strcmp(argv[1], "flagstat") == 0) return bam_flagstat(argc-1, argv+1);
- else if (strcmp(argv[1], "calmd") == 0) return bam_fillmd(argc-1, argv+1);
- else if (strcmp(argv[1], "fillmd") == 0) return bam_fillmd(argc-1, argv+1);
- else if (strcmp(argv[1], "reheader") == 0) return main_reheader(argc-1, argv+1);
- else if (strcmp(argv[1], "cat") == 0) return main_cat(argc-1, argv+1);
- else if (strcmp(argv[1], "targetcut") == 0) return main_cut_target(argc-1, argv+1);
- else if (strcmp(argv[1], "phase") == 0) return main_phase(argc-1, argv+1);
- else if (strcmp(argv[1], "depth") == 0) return main_depth(argc-1, argv+1);
- else if (strcmp(argv[1], "bam2fq") == 0) return main_bam2fq(argc-1, argv+1);
- else if (strcmp(argv[1], "pad2unpad") == 0) return main_pad2unpad(argc-1, argv+1);
- else if (strcmp(argv[1], "depad") == 0) return main_pad2unpad(argc-1, argv+1);
- else if (strcmp(argv[1], "bedcov") == 0) return main_bedcov(argc-1, argv+1);
- else if (strcmp(argv[1], "bamshuf") == 0) return main_bamshuf(argc-1, argv+1);
- else if (strcmp(argv[1], "pileup") == 0) {
- fprintf(stderr, "[main] The `pileup' command has been removed. Please use `mpileup' instead.\n");
- return 1;
- }
-#if _CURSES_LIB != 0
- else if (strcmp(argv[1], "tview") == 0) return bam_tview_main(argc-1, argv+1);
-#endif
- else {
- fprintf(stderr, "[main] unrecognized command '%s'\n", argv[1]);
- return 1;
- }
- return 0;
-}
diff --git a/sam/bcftools/._Makefile b/sam/bcftools/._Makefile
deleted file mode 100644
index 94286bb..0000000
Binary files a/sam/bcftools/._Makefile and /dev/null differ
diff --git a/sam/bcftools/._README b/sam/bcftools/._README
deleted file mode 100644
index 94286bb..0000000
Binary files a/sam/bcftools/._README and /dev/null differ
diff --git a/sam/bcftools/._bcf.c b/sam/bcftools/._bcf.c
deleted file mode 100644
index 94286bb..0000000
Binary files a/sam/bcftools/._bcf.c and /dev/null differ
diff --git a/sam/bcftools/._bcf.h b/sam/bcftools/._bcf.h
deleted file mode 100644
index 94286bb..0000000
Binary files a/sam/bcftools/._bcf.h and /dev/null differ
diff --git a/sam/bcftools/._bcf.tex b/sam/bcftools/._bcf.tex
deleted file mode 100644
index 94286bb..0000000
Binary files a/sam/bcftools/._bcf.tex and /dev/null differ
diff --git a/sam/bcftools/._bcf2qcall.c b/sam/bcftools/._bcf2qcall.c
deleted file mode 100644
index 94286bb..0000000
Binary files a/sam/bcftools/._bcf2qcall.c and /dev/null differ
diff --git a/sam/bcftools/._bcfutils.c b/sam/bcftools/._bcfutils.c
deleted file mode 100644
index 94286bb..0000000
Binary files a/sam/bcftools/._bcfutils.c and /dev/null differ
diff --git a/sam/bcftools/._call1.c b/sam/bcftools/._call1.c
deleted file mode 100644
index 94286bb..0000000
Binary files a/sam/bcftools/._call1.c and /dev/null differ
diff --git a/sam/bcftools/._em.c b/sam/bcftools/._em.c
deleted file mode 100644
index 94286bb..0000000
Binary files a/sam/bcftools/._em.c and /dev/null differ
diff --git a/sam/bcftools/._fet.c b/sam/bcftools/._fet.c
deleted file mode 100644
index 94286bb..0000000
Binary files a/sam/bcftools/._fet.c and /dev/null differ
diff --git a/sam/bcftools/._index.c b/sam/bcftools/._index.c
deleted file mode 100644
index 94286bb..0000000
Binary files a/sam/bcftools/._index.c and /dev/null differ
diff --git a/sam/bcftools/._kfunc.c b/sam/bcftools/._kfunc.c
deleted file mode 100644
index 94286bb..0000000
Binary files a/sam/bcftools/._kfunc.c and /dev/null differ
diff --git a/sam/bcftools/._kmin.c b/sam/bcftools/._kmin.c
deleted file mode 100644
index 94286bb..0000000
Binary files a/sam/bcftools/._kmin.c and /dev/null differ
diff --git a/sam/bcftools/._kmin.h b/sam/bcftools/._kmin.h
deleted file mode 100644
index 94286bb..0000000
Binary files a/sam/bcftools/._kmin.h and /dev/null differ
diff --git a/sam/bcftools/._main.c b/sam/bcftools/._main.c
deleted file mode 100644
index 94286bb..0000000
Binary files a/sam/bcftools/._main.c and /dev/null differ
diff --git a/sam/bcftools/._mut.c b/sam/bcftools/._mut.c
deleted file mode 100644
index 94286bb..0000000
Binary files a/sam/bcftools/._mut.c and /dev/null differ
diff --git a/sam/bcftools/._prob1.c b/sam/bcftools/._prob1.c
deleted file mode 100644
index 94286bb..0000000
Binary files a/sam/bcftools/._prob1.c and /dev/null differ
diff --git a/sam/bcftools/._prob1.h b/sam/bcftools/._prob1.h
deleted file mode 100644
index 94286bb..0000000
Binary files a/sam/bcftools/._prob1.h and /dev/null differ
diff --git a/sam/bcftools/._vcf.c b/sam/bcftools/._vcf.c
deleted file mode 100644
index 94286bb..0000000
Binary files a/sam/bcftools/._vcf.c and /dev/null differ
diff --git a/sam/bcftools/._vcfutils.pl b/sam/bcftools/._vcfutils.pl
deleted file mode 100755
index 94286bb..0000000
Binary files a/sam/bcftools/._vcfutils.pl and /dev/null differ
diff --git a/sam/bcftools/Makefile b/sam/bcftools/Makefile
deleted file mode 100644
index be831de..0000000
--- a/sam/bcftools/Makefile
+++ /dev/null
@@ -1,51 +0,0 @@
-CC= gcc
-CFLAGS= -g -Wall -O2 #-m64 #-arch ppc
-DFLAGS= -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE
-LOBJS= bcf.o vcf.o bcfutils.o prob1.o em.o kfunc.o kmin.o index.o fet.o mut.o bcf2qcall.o
-OMISC= ..
-AOBJS= call1.o main.o $(OMISC)/kstring.o $(OMISC)/bgzf.o $(OMISC)/knetfile.o $(OMISC)/bedidx.o
-PROG= bcftools
-INCLUDES=
-SUBDIRS= .
-
-.SUFFIXES:.c .o
-
-.c.o:
- $(CC) -c $(CFLAGS) $(DFLAGS) -I.. $(INCLUDES) $< -o $@
-
-all-recur lib-recur clean-recur cleanlocal-recur install-recur:
- @target=`echo $@ | sed s/-recur//`; \
- wdir=`pwd`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- cd $$subdir; \
- $(MAKE) CC="$(CC)" DFLAGS="$(DFLAGS)" CFLAGS="$(CFLAGS)" \
- INCLUDES="$(INCLUDES)" LIBPATH="$(LIBPATH)" $$target || exit 1; \
- cd $$wdir; \
- done;
-
-all:$(PROG)
-
-lib:libbcf.a
-
-libbcf.a:$(LOBJS)
- $(AR) -csru $@ $(LOBJS)
-
-bcftools:lib $(AOBJS)
- $(CC) $(CFLAGS) -o $@ $(AOBJS) -L. $(LIBPATH) -lbcf -lm -lz -lpthread
-
-bcf.o:bcf.h
-vcf.o:bcf.h
-index.o:bcf.h
-bcfutils.o:bcf.h
-prob1.o:prob1.h bcf.h
-call1.o:prob1.h bcf.h
-bcf2qcall.o:bcf.h
-main.o:bcf.h
-
-bcf.pdf:bcf.tex
- pdflatex bcf
-
-cleanlocal:
- rm -fr gmon.out *.o a.out *.dSYM $(PROG) *~ *.a bcf.aux bcf.log bcf.pdf *.class libbcf.*.dylib libbcf.so*
-
-clean:cleanlocal-recur
diff --git a/sam/bcftools/README b/sam/bcftools/README
deleted file mode 100644
index 1d7159d..0000000
--- a/sam/bcftools/README
+++ /dev/null
@@ -1,36 +0,0 @@
-The view command of bcftools calls variants, tests Hardy-Weinberg
-equilibrium (HWE), tests allele balances and estimates allele frequency.
-
-This command calls a site as a potential variant if P(ref|D,F) is below
-0.9 (controlled by the -p option), where D is data and F is the prior
-allele frequency spectrum (AFS).
-
-The view command performs two types of allele balance tests, both based
-on Fisher's exact test for 2x2 contingency tables with the row variable
-being reference allele or not. In the first table, the column variable
-is strand. Two-tail P-value is taken. We test if variant bases tend to
-come from one strand. In the second table, the column variable is
-whether a base appears in the first or the last 11bp of the read.
-One-tail P-value is taken. We test if variant bases tend to occur
-towards the end of reads, which is usually an indication of
-misalignment.
-
-Site allele frequency is estimated in two ways. In the first way, the
-frequency is esimated as \argmax_f P(D|f) under the assumption of
-HWE. Prior AFS is not used. In the second way, the frequency is
-estimated as the posterior expectation of allele counts \sum_k
-kP(k|D,F), dividied by the total number of haplotypes. HWE is not
-assumed, but the estimate depends on the prior AFS. The two estimates
-largely agree when the signal is strong, but may differ greatly on weak
-sites as in this case, the prior plays an important role.
-
-To test HWE, we calculate the posterior distribution of genotypes
-(ref-hom, het and alt-hom). Chi-square test is performed. It is worth
-noting that the model used here is prior dependent and assumes HWE,
-which is different from both models for allele frequency estimate. The
-new model actually yields a third estimate of site allele frequency.
-
-The estimate allele frequency spectrum is printed to stderr per 64k
-sites. The estimate is in fact only the first round of a EM
-procedure. The second model (not the model for HWE testing) is used to
-estimate the AFS.
\ No newline at end of file
diff --git a/sam/bcftools/bcf.c b/sam/bcftools/bcf.c
deleted file mode 100644
index 24728db..0000000
--- a/sam/bcftools/bcf.c
+++ /dev/null
@@ -1,396 +0,0 @@
-#include <string.h>
-#include <ctype.h>
-#include <stdio.h>
-#include "kstring.h"
-#include "bcf.h"
-
-bcf_t *bcf_open(const char *fn, const char *mode)
-{
- bcf_t *b;
- b = calloc(1, sizeof(bcf_t));
- if (strchr(mode, 'w')) {
- b->fp = strcmp(fn, "-")? bgzf_open(fn, mode) : bgzf_fdopen(fileno(stdout), mode);
- } else {
- b->fp = strcmp(fn, "-")? bgzf_open(fn, mode) : bgzf_fdopen(fileno(stdin), mode);
- }
- return b;
-}
-
-int bcf_close(bcf_t *b)
-{
- int ret;
- if (b == 0) return 0;
- ret = bgzf_close(b->fp);
- free(b);
- return ret;
-}
-
-int bcf_hdr_write(bcf_t *b, const bcf_hdr_t *h)
-{
- if (b == 0 || h == 0) return -1;
- bgzf_write(b->fp, "BCF\4", 4);
- bgzf_write(b->fp, &h->l_nm, 4);
- bgzf_write(b->fp, h->name, h->l_nm);
- bgzf_write(b->fp, &h->l_smpl, 4);
- bgzf_write(b->fp, h->sname, h->l_smpl);
- bgzf_write(b->fp, &h->l_txt, 4);
- bgzf_write(b->fp, h->txt, h->l_txt);
- bgzf_flush(b->fp);
- return 16 + h->l_nm + h->l_smpl + h->l_txt;
-}
-
-bcf_hdr_t *bcf_hdr_read(bcf_t *b)
-{
- uint8_t magic[4];
- bcf_hdr_t *h;
- if (b == 0) return 0;
- h = calloc(1, sizeof(bcf_hdr_t));
- bgzf_read(b->fp, magic, 4);
- bgzf_read(b->fp, &h->l_nm, 4);
- h->name = malloc(h->l_nm);
- bgzf_read(b->fp, h->name, h->l_nm);
- bgzf_read(b->fp, &h->l_smpl, 4);
- h->sname = malloc(h->l_smpl);
- bgzf_read(b->fp, h->sname, h->l_smpl);
- bgzf_read(b->fp, &h->l_txt, 4);
- h->txt = malloc(h->l_txt);
- bgzf_read(b->fp, h->txt, h->l_txt);
- bcf_hdr_sync(h);
- return h;
-}
-
-void bcf_hdr_destroy(bcf_hdr_t *h)
-{
- if (h == 0) return;
- free(h->name); free(h->sname); free(h->txt); free(h->ns); free(h->sns);
- free(h);
-}
-
-static inline char **cnt_null(int l, char *str, int *_n)
-{
- int n = 0;
- char *p, **list;
- *_n = 0;
- if (l == 0 || str == 0) return 0;
- for (p = str; p != str + l; ++p)
- if (*p == 0) ++n;
- *_n = n;
- list = calloc(n, sizeof(void*));
- list[0] = str;
- for (p = str, n = 1; p < str + l - 1; ++p)
- if (*p == 0) list[n++] = p + 1;
- return list;
-}
-
-int bcf_hdr_sync(bcf_hdr_t *b)
-{
- if (b == 0) return -1;
- if (b->ns) free(b->ns);
- if (b->sns) free(b->sns);
- if (b->l_nm) b->ns = cnt_null(b->l_nm, b->name, &b->n_ref);
- else b->ns = 0, b->n_ref = 0;
- b->sns = cnt_null(b->l_smpl, b->sname, &b->n_smpl);
- return 0;
-}
-
-int bcf_sync(bcf1_t *b)
-{
- char *p, *tmp[5];
- int i, n, n_smpl = b->n_smpl;
- ks_tokaux_t aux;
- // set ref, alt, flt, info, fmt
- b->ref = b->alt = b->flt = b->info = b->fmt = 0;
- for (p = b->str, n = 0; p < b->str + b->l_str; ++p) {
- if (*p == 0 && p+1 != b->str + b->l_str) {
- if (n == 5) {
- ++n;
- break;
- } else tmp[n++] = p + 1;
- }
- }
- if (n != 5) {
- fprintf(stderr, "[%s] incorrect number of fields (%d != 5) at %d:%d\n", __func__, n, b->tid, b->pos);
- return -1;
- }
- b->ref = tmp[0]; b->alt = tmp[1]; b->flt = tmp[2]; b->info = tmp[3]; b->fmt = tmp[4];
- // set n_alleles
- if (*b->alt == 0) b->n_alleles = 1;
- else {
- for (p = b->alt, n = 1; *p; ++p)
- if (*p == ',') ++n;
- b->n_alleles = n + 1;
- }
- // set n_gi and gi[i].fmt
- for (p = b->fmt, n = 1; *p; ++p)
- if (*p == ':') ++n;
- if (n > b->m_gi) {
- int old_m = b->m_gi;
- b->m_gi = n;
- kroundup32(b->m_gi);
- b->gi = realloc(b->gi, b->m_gi * sizeof(bcf_ginfo_t));
- memset(b->gi + old_m, 0, (b->m_gi - old_m) * sizeof(bcf_ginfo_t));
- }
- b->n_gi = n;
- for (p = kstrtok(b->fmt, ":", &aux), n = 0; p; p = kstrtok(0, 0, &aux))
- b->gi[n++].fmt = bcf_str2int(p, aux.p - p);
- // set gi[i].len
- for (i = 0; i < b->n_gi; ++i) {
- if (b->gi[i].fmt == bcf_str2int("PL", 2)) {
- b->gi[i].len = b->n_alleles * (b->n_alleles + 1) / 2;
- } else if (b->gi[i].fmt == bcf_str2int("DP", 2) || b->gi[i].fmt == bcf_str2int("HQ", 2) || b->gi[i].fmt == bcf_str2int("DV", 2)) {
- b->gi[i].len = 2;
- } else if (b->gi[i].fmt == bcf_str2int("GQ", 2) || b->gi[i].fmt == bcf_str2int("GT", 2)) {
- b->gi[i].len = 1;
- } else if (b->gi[i].fmt == bcf_str2int("SP", 2)) {
- b->gi[i].len = 4;
- } else if (b->gi[i].fmt == bcf_str2int("GL", 2)) {
- b->gi[i].len = b->n_alleles * (b->n_alleles + 1) / 2 * 4;
- }
- b->gi[i].data = realloc(b->gi[i].data, n_smpl * b->gi[i].len);
- }
- return 0;
-}
-
-int bcf_write(bcf_t *bp, const bcf_hdr_t *h, const bcf1_t *b)
-{
- int i, l = 0;
- if (b == 0) return -1;
- bgzf_write(bp->fp, &b->tid, 4);
- bgzf_write(bp->fp, &b->pos, 4);
- bgzf_write(bp->fp, &b->qual, 4);
- bgzf_write(bp->fp, &b->l_str, 4);
- bgzf_write(bp->fp, b->str, b->l_str);
- l = 12 + b->l_str;
- for (i = 0; i < b->n_gi; ++i) {
- bgzf_write(bp->fp, b->gi[i].data, b->gi[i].len * h->n_smpl);
- l += b->gi[i].len * h->n_smpl;
- }
- return l;
-}
-
-int bcf_read(bcf_t *bp, const bcf_hdr_t *h, bcf1_t *b)
-{
- int i, l = 0;
- if (b == 0) return -1;
- if (bgzf_read(bp->fp, &b->tid, 4) == 0) return -1;
- b->n_smpl = h->n_smpl;
- bgzf_read(bp->fp, &b->pos, 4);
- bgzf_read(bp->fp, &b->qual, 4);
- bgzf_read(bp->fp, &b->l_str, 4);
- if (b->l_str > b->m_str) {
- b->m_str = b->l_str;
- kroundup32(b->m_str);
- b->str = realloc(b->str, b->m_str);
- }
- bgzf_read(bp->fp, b->str, b->l_str);
- l = 12 + b->l_str;
- if (bcf_sync(b) < 0) return -2;
- for (i = 0; i < b->n_gi; ++i) {
- bgzf_read(bp->fp, b->gi[i].data, b->gi[i].len * h->n_smpl);
- l += b->gi[i].len * h->n_smpl;
- }
- return l;
-}
-
-int bcf_destroy(bcf1_t *b)
-{
- int i;
- if (b == 0) return -1;
- free(b->str);
- for (i = 0; i < b->m_gi; ++i)
- free(b->gi[i].data);
- free(b->gi);
- free(b);
- return 0;
-}
-
-static inline void fmt_str(const char *p, kstring_t *s)
-{
- if (*p == 0) kputc('.', s);
- else kputs(p, s);
-}
-
-void bcf_fmt_core(const bcf_hdr_t *h, bcf1_t *b, kstring_t *s)
-{
- int i, j, x;
- s->l = 0;
- if (h->n_ref) kputs(h->ns[b->tid], s);
- else kputw(b->tid, s);
- kputc('\t', s);
- kputw(b->pos + 1, s); kputc('\t', s);
- fmt_str(b->str, s); kputc('\t', s);
- fmt_str(b->ref, s); kputc('\t', s);
- fmt_str(b->alt, s); kputc('\t', s);
- ksprintf(s, "%.3g", b->qual); kputc('\t', s);
- fmt_str(b->flt, s); kputc('\t', s);
- fmt_str(b->info, s);
- if (b->fmt[0]) {
- kputc('\t', s);
- fmt_str(b->fmt, s);
- }
- x = b->n_alleles * (b->n_alleles + 1) / 2;
- if (b->n_gi == 0) return;
- int iPL = -1;
- if ( b->n_alleles > 2 ) {
- for (i=0; i<b->n_gi; i++) {
- if ( b->gi[i].fmt == bcf_str2int("PL", 2) ) {
- iPL = i;
- break;
- }
- }
- }
- for (j = 0; j < h->n_smpl; ++j) {
- int ploidy = b->ploidy ? b->ploidy[j] : 2;
- kputc('\t', s);
- for (i = 0; i < b->n_gi; ++i) {
- if (i) kputc(':', s);
- if (b->gi[i].fmt == bcf_str2int("PL", 2)) {
- uint8_t *d = (uint8_t*)b->gi[i].data + j * x;
- int k;
- if ( ploidy==1 )
- for (k=0; k<b->n_alleles; k++)
- {
- if (k>0) kputc(',', s);
- kputw(d[(k+1)*(k+2)/2-1], s);
- }
- else
- for (k = 0; k < x; ++k) {
- if (k > 0) kputc(',', s);
- kputw(d[k], s);
- }
- } else if (b->gi[i].fmt == bcf_str2int("DP", 2) || b->gi[i].fmt == bcf_str2int("DV", 2)) {
- kputw(((uint16_t*)b->gi[i].data)[j], s);
- } else if (b->gi[i].fmt == bcf_str2int("GQ", 2)) {
- kputw(((uint8_t*)b->gi[i].data)[j], s);
- } else if (b->gi[i].fmt == bcf_str2int("SP", 2)) {
- kputw(((int32_t*)b->gi[i].data)[j], s);
- } else if (b->gi[i].fmt == bcf_str2int("GT", 2)) {
- int y = ((uint8_t*)b->gi[i].data)[j];
- if ( ploidy==1 )
- {
- if ( y>>7&1 )
- kputc('.', s);
- else
- kputc('0' + (y>>3&7), s);
- }
- else
- {
- if ( y>>7&1 )
- kputsn("./.", 3, s);
- else {
- kputc('0' + (y>>3&7), s);
- kputc("/|"[y>>6&1], s);
- kputc('0' + (y&7), s);
- }
- }
- } else if (b->gi[i].fmt == bcf_str2int("GL", 2)) {
- float *d = (float*)b->gi[i].data + j * x;
- int k;
- //printf("- %lx\n", d);
- for (k = 0; k < x; ++k) {
- if (k > 0) kputc(',', s);
- ksprintf(s, "%.2f", d[k]);
- }
- } else kputc('.', s); // custom fields
- }
- }
-}
-
-char *bcf_fmt(const bcf_hdr_t *h, bcf1_t *b)
-{
- kstring_t s;
- s.l = s.m = 0; s.s = 0;
- bcf_fmt_core(h, b, &s);
- return s.s;
-}
-
-int bcf_append_info(bcf1_t *b, const char *info, int l)
-{
- int shift = b->fmt - b->str;
- int l_fmt = b->l_str - shift;
- char *ori = b->str;
- if (b->l_str + l > b->m_str) { // enlarge if necessary
- b->m_str = b->l_str + l;
- kroundup32(b->m_str);
- b->str = realloc(b->str, b->m_str);
- }
- memmove(b->str + shift + l, b->str + shift, l_fmt); // move the FORMAT field
- memcpy(b->str + shift - 1, info, l); // append to the INFO field
- b->str[shift + l - 1] = '\0';
- b->fmt = b->str + shift + l;
- b->l_str += l;
- if (ori != b->str) bcf_sync(b); // synchronize when realloc changes the pointer
- return 0;
-}
-
-int remove_tag(char *str, const char *tag, char delim)
-{
- char *tmp = str, *p;
- int len_diff = 0, ori_len = strlen(str);
- while ( *tmp && (p = strstr(tmp,tag)) )
- {
- if ( p>str )
- {
- if ( *(p-1)!=delim ) { tmp=p+1; continue; } // shared substring
- p--;
- }
- char *q=p+1;
- while ( *q && *q!=delim ) q++;
- if ( p==str && *q ) q++; // the tag is first, don't move the delim char
- len_diff += q-p;
- if ( ! *q ) { *p = 0; break; } // the tag was last, no delim follows
- else
- memmove(p,q,ori_len-(int)(p-str)-(int)(q-p)); // *q==delim
- }
- if ( len_diff==ori_len )
- str[0]='.', str[1]=0, len_diff--;
-
- return len_diff;
-}
-
-
-void rm_info(kstring_t *s, const char *key)
-{
- char *p = s->s;
- int n = 0;
- while ( n<4 )
- {
- if ( !*p ) n++;
- p++;
- }
- char *q = p+1;
- while ( *q && q-s->s<s->l ) q++;
-
- int nrm = remove_tag(p, key, ';');
- if ( nrm )
- memmove(q-nrm, q, s->s+s->l-q+1);
- s->l -= nrm;
-}
-
-int bcf_cpy(bcf1_t *r, const bcf1_t *b)
-{
- char *t1 = r->str;
- bcf_ginfo_t *t2 = r->gi;
- int i, t3 = r->m_str, t4 = r->m_gi;
- *r = *b;
- r->str = t1; r->gi = t2; r->m_str = t3; r->m_gi = t4;
- if (r->m_str < b->m_str) {
- r->m_str = b->m_str;
- r->str = realloc(r->str, r->m_str);
- }
- memcpy(r->str, b->str, r->m_str);
- bcf_sync(r); // calling bcf_sync() is simple but inefficient
- for (i = 0; i < r->n_gi; ++i)
- memcpy(r->gi[i].data, b->gi[i].data, r->n_smpl * r->gi[i].len);
- return 0;
-}
-
-int bcf_is_indel(const bcf1_t *b)
-{
- char *p;
- if (strlen(b->ref) > 1) return 1;
- for (p = b->alt; *p; ++p)
- if (*p != ',' && p[1] != ',' && p[1] != '\0')
- return 1;
- return 0;
-}
diff --git a/sam/bcftools/bcf.h b/sam/bcftools/bcf.h
deleted file mode 100644
index f722525..0000000
--- a/sam/bcftools/bcf.h
+++ /dev/null
@@ -1,197 +0,0 @@
-/* The MIT License
-
- Copyright (c) 2010 Broad Institute
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- "Software"), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- SOFTWARE.
-*/
-
-/* Contact: Heng Li <lh3 at live.co.uk> */
-
-#ifndef BCF_H
-#define BCF_H
-
-#define BCF_VERSION "0.1.19-44428cd"
-
-#include <stdint.h>
-#include <zlib.h>
-
-#ifndef BCF_LITE
-#include "bgzf.h"
-typedef BGZF *bcfFile;
-#else
-typedef gzFile bcfFile;
-#define bgzf_open(fn, mode) gzopen(fn, mode)
-#define bgzf_fdopen(fd, mode) gzdopen(fd, mode)
-#define bgzf_close(fp) gzclose(fp)
-#define bgzf_read(fp, buf, len) gzread(fp, buf, len)
-#define bgzf_write(fp, buf, len)
-#define bgzf_flush(fp)
-#endif
-
-/*
- A member in the structs below is said to "primary" if its content
- cannot be inferred from other members in any of structs below; a
- member is said to be "derived" if its content can be derived from
- other members. For example, bcf1_t::str is primary as this comes from
- the input data, while bcf1_t::info is derived as it can always be
- correctly set if we know bcf1_t::str. Derived members are for quick
- access to the content and must be synchronized with the primary data.
- */
-
-typedef struct {
- uint32_t fmt; // format of the block, set by bcf_str2int().
- int len; // length of data for each individual
- void *data; // concatenated data
- // derived info: fmt, len (<-bcf1_t::fmt)
-} bcf_ginfo_t;
-
-typedef struct {
- int32_t tid, pos; // refID and 0-based position
- int32_t l_str, m_str; // length and the allocated size of ->str
- float qual; // SNP quality
- char *str; // concatenated string of variable length strings in VCF (from col.2 to col.7)
- char *ref, *alt, *flt, *info, *fmt; // they all point to ->str; no memory allocation
- int n_gi, m_gi; // number and the allocated size of geno fields
- bcf_ginfo_t *gi; // array of geno fields
- int n_alleles, n_smpl; // number of alleles and samples
- // derived info: ref, alt, flt, info, fmt (<-str), n_gi (<-fmt), n_alleles (<-alt), n_smpl (<-bcf_hdr_t::n_smpl)
- uint8_t *ploidy; // ploidy of all samples; if NULL, ploidy of 2 is assumed.
-} bcf1_t;
-
-typedef struct {
- int32_t n_ref, n_smpl; // number of reference sequences and samples
- int32_t l_nm; // length of concatenated sequence names; 0 padded
- int32_t l_smpl; // length of concatenated sample names; 0 padded
- int32_t l_txt; // length of header text (lines started with ##)
- char *name, *sname, *txt; // concatenated sequence names, sample names and header text
- char **ns, **sns; // array of sequence and sample names; point to name and sname, respectively
- // derived info: n_ref (<-name), n_smpl (<-sname), ns (<-name), sns (<-sname)
-} bcf_hdr_t;
-
-typedef struct {
- int is_vcf; // if the file in operation is a VCF
- void *v; // auxillary data structure for VCF
- bcfFile fp; // file handler for BCF
-} bcf_t;
-
-struct __bcf_idx_t;
-typedef struct __bcf_idx_t bcf_idx_t;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
- // open a BCF file; for BCF file only
- bcf_t *bcf_open(const char *fn, const char *mode);
- // close file
- int bcf_close(bcf_t *b);
- // read one record from BCF; return -1 on end-of-file, and <-1 for errors
- int bcf_read(bcf_t *bp, const bcf_hdr_t *h, bcf1_t *b);
- // call this function if b->str is changed
- int bcf_sync(bcf1_t *b);
- // write a BCF record
- int bcf_write(bcf_t *bp, const bcf_hdr_t *h, const bcf1_t *b);
- // read the BCF header; BCF only
- bcf_hdr_t *bcf_hdr_read(bcf_t *b);
- // write the BCF header
- int bcf_hdr_write(bcf_t *b, const bcf_hdr_t *h);
- // set bcf_hdr_t::ns and bcf_hdr_t::sns
- int bcf_hdr_sync(bcf_hdr_t *b);
- // destroy the header
- void bcf_hdr_destroy(bcf_hdr_t *h);
- // destroy a record
- int bcf_destroy(bcf1_t *b);
- // BCF->VCF conversion
- char *bcf_fmt(const bcf_hdr_t *h, bcf1_t *b);
- // append more info
- int bcf_append_info(bcf1_t *b, const char *info, int l);
- // remove tag
- int remove_tag(char *string, const char *tag, char delim);
- // remove info tag, string is the kstring holder of bcf1_t.str
- void rm_info(kstring_t *string, const char *key);
- // copy
- int bcf_cpy(bcf1_t *r, const bcf1_t *b);
-
- // open a VCF or BCF file if "b" is set in "mode"
- bcf_t *vcf_open(const char *fn, const char *mode);
- // close a VCF/BCF file
- int vcf_close(bcf_t *bp);
- // read the VCF/BCF header
- bcf_hdr_t *vcf_hdr_read(bcf_t *bp);
- // read the sequence dictionary from a separate file; required for VCF->BCF conversion
- int vcf_dictread(bcf_t *bp, bcf_hdr_t *h, const char *fn);
- // read a VCF/BCF record; return -1 on end-of-file and <-1 for errors
- int vcf_read(bcf_t *bp, bcf_hdr_t *h, bcf1_t *b);
- // write the VCF header
- int vcf_hdr_write(bcf_t *bp, const bcf_hdr_t *h);
- // write a VCF record
- int vcf_write(bcf_t *bp, bcf_hdr_t *h, bcf1_t *b);
-
- // keep the first n alleles and discard the rest
- int bcf_shrink_alt(bcf1_t *b, int n);
- // keep the masked alleles and discard the rest
- void bcf_fit_alt(bcf1_t *b, int mask);
- // convert GL to PL
- int bcf_gl2pl(bcf1_t *b);
- // if the site is an indel
- int bcf_is_indel(const bcf1_t *b);
- bcf_hdr_t *bcf_hdr_subsam(const bcf_hdr_t *h0, int n, char *const* samples, int *list);
- int bcf_subsam(int n_smpl, int *list, bcf1_t *b);
- // move GT to the first FORMAT field
- int bcf_fix_gt(bcf1_t *b);
- // update PL generated by old samtools
- int bcf_fix_pl(bcf1_t *b);
- // convert PL to GLF-like 10-likelihood GL
- int bcf_gl10(const bcf1_t *b, uint8_t *gl);
- // convert up to 4 INDEL alleles to GLF-like 10-likelihood GL
- int bcf_gl10_indel(const bcf1_t *b, uint8_t *gl);
-
- // string hash table
- void *bcf_build_refhash(bcf_hdr_t *h);
- void bcf_str2id_destroy(void *_hash);
- void bcf_str2id_thorough_destroy(void *_hash);
- int bcf_str2id_add(void *_hash, const char *str);
- int bcf_str2id(void *_hash, const char *str);
- void *bcf_str2id_init();
-
- // indexing related functions
- int bcf_idx_build(const char *fn);
- uint64_t bcf_idx_query(const bcf_idx_t *idx, int tid, int beg);
- int bcf_parse_region(void *str2id, const char *str, int *tid, int *begin, int *end);
- bcf_idx_t *bcf_idx_load(const char *fn);
- void bcf_idx_destroy(bcf_idx_t *idx);
-
-#ifdef __cplusplus
-}
-#endif
-
-static inline uint32_t bcf_str2int(const char *str, int l)
-{
- int i;
- uint32_t x = 0;
- for (i = 0; i < l && i < 4; ++i) {
- if (str[i] == 0) return x;
- x = x<<8 | str[i];
- }
- return x;
-}
-
-#endif
diff --git a/sam/bcftools/bcf.tex b/sam/bcftools/bcf.tex
deleted file mode 100644
index 442fc2a..0000000
--- a/sam/bcftools/bcf.tex
+++ /dev/null
@@ -1,77 +0,0 @@
-\documentclass[10pt,pdftex]{article}
-\usepackage{color}
-\definecolor{gray}{rgb}{0.7,0.7,0.7}
-
-\setlength{\topmargin}{0.0cm}
-\setlength{\textheight}{21.5cm}
-\setlength{\oddsidemargin}{0cm}
-\setlength{\textwidth}{16.5cm}
-\setlength{\columnsep}{0.6cm}
-
-\begin{document}
-
-\begin{center}
-\begin{tabular}{|l|l|l|l|l|}
-\hline
-\multicolumn{2}{|c|}{\bf Field} & \multicolumn{1}{c|}{\bf Descrption} & \multicolumn{1}{c|}{\bf Type} & \multicolumn{1}{c|}{\bf Value} \\\hline\hline
-\multicolumn{2}{|l|}{\sf magic} & Magic string & {\tt char[4]} & {\tt BCF\char92 4} \\\hline
-\multicolumn{2}{|l|}{\sf l\_seqnm} & Length of concatenated sequence names & {\tt int32\_t} & \\\hline
-\multicolumn{2}{|l|}{\sf seqnm} & Concatenated names, {\tt NULL} padded & {\tt char[{\sf l\_seqnm}]} & \\\hline
-\multicolumn{2}{|l|}{\sf l\_smpl} & Length of concatenated sample names & {\tt int32\_t} & \\\hline
-\multicolumn{2}{|l|}{\sf smpl} & Concatenated sample names & {\tt char[{\sf l\_smpl}]} & \\\hline
-\multicolumn{2}{|l|}{\sf l\_meta} & Length of the meta text (double-hash lines)& {\tt int32\_t} & \\\hline
-\multicolumn{2}{|l|}{\sf meta} & Meta text, {\tt NULL} terminated & {\tt char[{\sf l\_meta}]} & \\\hline
-\multicolumn{5}{|c|}{\it \color{gray}{List of records until the end of the file}}\\\cline{2-5}
-& {\sf seq\_id} & Reference sequence ID & {\tt int32\_t} & \\\cline{2-5}
-& {\sf pos} & Position & {\tt int32\_t} & \\\cline{2-5}
-& {\sf qual} & Variant quality & {\tt float} & \\\cline{2-5}
-& {\sf l\_str} & Length of {\sf str} & {\tt int32\_t} & \\\cline{2-5}
-& {\sf str} & {\tt ID+REF+ALT+FILTER+INFO+FORMAT}, {\tt NULL} padded & {\tt char[{\sf l\_str}]} &\\\cline{2-5}
-& \multicolumn{4}{c|}{Blocks of data; \#blocks and formats defined by {\tt FORMAT} (table below)}\\
-\hline
-\end{tabular}
-\end{center}
-
-\begin{center}
-\begin{tabular}{clp{9cm}}
-\hline
-\multicolumn{1}{l}{\bf Field} & \multicolumn{1}{l}{\bf Type} & \multicolumn{1}{l}{\bf Description} \\\hline
-{\tt DP} & {\tt uint16\_t[n]} & Read depth \\
-{\tt GL} & {\tt float[n*G]} & Log10 likelihood of data; $G=\frac{A(A+1)}{2}$, $A=\#\{alleles\}$\\
-{\tt GT} & {\tt uint8\_t[n]} & {\tt missing\char60\char60 7 | phased\char60\char60 6 | allele1\char60\char60 3 | allele2} \\
-{\tt \_GT} & {\tt uint8\_t+uint8\_t[n*P]} & {Generic GT; the first int equals the max ploidy $P$. If the highest bit is set,
- the allele is not present (e.g. due to different ploidy between samples).} \\
-{\tt GQ} & {\tt uint8\_t[n]} & {Genotype quality}\\
-{\tt HQ} & {\tt uint8\_t[n*2]} & {Haplotype quality}\\
-{\tt \_HQ} & {\tt uint8\_t+uint8\_t[n*P]} & {Generic HQ}\\
-{\tt IBD} & {\tt uint32\_t[n*2]} & {IBD}\\
-{\tt \_IBD} & {\tt uint8\_t+uint32\_t[n*P]} & {Generic IBD}\\
-{\tt PL} & {\tt uint8\_t[n*G]} & {Phred-scaled likelihood of data}\\
-{\tt PS} & {\tt uint32\_t[n]} & {Phase set}\\
-%{\tt SP} & {\tt uint8\_t[n]} & {Strand bias P-value (bcftools only)}\\
-\emph{Integer} & {\tt int32\_t[n*X]} & {Fix-sized custom Integer; $X$ defined in the header}\\
-\emph{Numeric} & {\tt double[n*X]} & {Fix-sized custom Numeric}\\
-\emph{String} & {\tt uint32\_t+char*} & {\tt NULL} padded concat. strings (int equals to the length) \\
-\hline
-\end{tabular}
-\end{center}
-
-\begin{itemize}
-\item A BCF file is in the {\tt BGZF} format.
-\item All multi-byte numbers are little-endian.
-\item In a string, a missing value `.' is an empty C string ``{\tt
- \char92 0}'' (not ``{\tt .\char92 0}'')
-\item For {\tt GL} and {\tt PL}, likelihoods of genotypes appear in the
- order of alleles in {\tt REF} and then {\tt ALT}. For example, if {\tt
- REF=C}, {\tt ALT=T,A}, likelihoods appear in the order of {\tt
- CC,CT,TT,CA,TA,AA} (NB: the ordering is different from the one in the original
- BCF proposal).
-\item Predefined {\tt FORMAT} fields can be missing from VCF headers, but custom {\tt FORMAT} fields
- are required to be explicitly defined in the headers.
-\item A {\tt FORMAT} field with its name starting with `{\tt \_}' is specific to BCF only.
- It gives an alternative binary representation of the corresponding VCF field, in case
- the default representation is unable to keep the genotype information,
- for example, when the ploidy is not 2 or there are more than 8 alleles.
-\end{itemize}
-
-\end{document}
diff --git a/sam/bcftools/bcf2qcall.c b/sam/bcftools/bcf2qcall.c
deleted file mode 100644
index a86bac2..0000000
--- a/sam/bcftools/bcf2qcall.c
+++ /dev/null
@@ -1,91 +0,0 @@
-#include <errno.h>
-#include <math.h>
-#include <string.h>
-#include <stdlib.h>
-#include "bcf.h"
-
-static int8_t nt4_table[256] = {
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 /*'-'*/, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 0, 4, 1, 4, 4, 4, 2, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 3, 4, 4, 4, -1, 4, 4, 4, 4, 4, 4, 4,
- 4, 0, 4, 1, 4, 4, 4, 2, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 3, 4, 4, 4, -1, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4
-};
-
-static int read_I16(bcf1_t *b, int anno[16])
-{
- char *p;
- int i;
- if ((p = strstr(b->info, "I16=")) == 0) return -1;
- p += 4;
- for (i = 0; i < 16; ++i) {
- anno[i] = strtol(p, &p, 10);
- if (anno[i] == 0 && (errno == EINVAL || errno == ERANGE)) return -2;
- ++p;
- }
- return 0;
-}
-
-int bcf_2qcall(bcf_hdr_t *h, bcf1_t *b)
-{
- int a[4], k, g[10], l, map[4], k1, j, i, i0, anno[16], dp, mq, d_rest;
- char *s;
- if (b->ref[1] != 0 || b->n_alleles > 4) return -1; // ref is not a single base
- for (i = 0; i < b->n_gi; ++i)
- if (b->gi[i].fmt == bcf_str2int("PL", 2)) break;
- if (i == b->n_gi) return -1; // no PL
- if (read_I16(b, anno) != 0) return -1; // no I16; FIXME: can be improved
- d_rest = dp = anno[0] + anno[1] + anno[2] + anno[3];
- if (dp == 0) return -1; // depth is zero
- mq = (int)(sqrt((double)(anno[9] + anno[11]) / dp) + .499);
- i0 = i;
- a[0] = nt4_table[(int)b->ref[0]];
- if (a[0] > 3) return -1; // ref is not A/C/G/T
- a[1] = a[2] = a[3] = -2; // -1 has a special meaning
- if (b->alt[0] == 0) return -1; // no alternate allele
- map[0] = map[1] = map[2] = map[3] = -2;
- map[a[0]] = 0;
- for (k = 0, s = b->alt, k1 = -1; k < 3 && *s; ++k, s += 2) {
- if (s[1] != ',' && s[1] != 0) return -1; // ALT is not single base
- a[k+1] = nt4_table[(int)*s];
- if (a[k+1] >= 0) map[a[k+1]] = k+1;
- else k1 = k+1;
- if (s[1] == 0) break;
- }
- for (k = 0; k < 4; ++k)
- if (map[k] < 0) map[k] = k1;
- for (i = 0; i < h->n_smpl; ++i) {
- int d;
- uint8_t *p = b->gi[i0].data + i * b->gi[i0].len;
- for (j = 0; j < b->gi[i0].len; ++j)
- if (p[j]) break;
- d = (int)((double)d_rest / (h->n_smpl - i) + .499);
- if (d == 0) d = 1;
- if (j == b->gi[i0].len) d = 0;
- d_rest -= d;
- for (k = j = 0; k < 4; ++k) {
- for (l = k; l < 4; ++l) {
- int t, x = map[k], y = map[l];
- if (x > y) t = x, x = y, y = t; // swap
- g[j++] = p[y * (y+1) / 2 + x];
- }
- }
- printf("%s\t%d\t%c", h->ns[b->tid], b->pos+1, *b->ref);
- printf("\t%d\t%d\t0", d, mq);
- for (j = 0; j < 10; ++j)
- printf("\t%d", g[j]);
- printf("\t%s\n", h->sns[i]);
- }
- return 0;
-}
diff --git a/sam/bcftools/bcfutils.c b/sam/bcftools/bcfutils.c
deleted file mode 100644
index 7638085..0000000
--- a/sam/bcftools/bcfutils.c
+++ /dev/null
@@ -1,504 +0,0 @@
-#include <string.h>
-#include <math.h>
-#include <assert.h>
-#include "bcf.h"
-#include "kstring.h"
-#include "khash.h"
-KHASH_MAP_INIT_STR(str2id, int)
-
-#ifdef _WIN32
-#define srand48(x) srand(x)
-#define drand48() ((double)rand() / RAND_MAX)
-#endif
-
-// FIXME: valgrind report a memory leak in this function. Probably it does not get deallocated...
-void *bcf_build_refhash(bcf_hdr_t *h)
-{
- khash_t(str2id) *hash;
- int i, ret;
- hash = kh_init(str2id);
- for (i = 0; i < h->n_ref; ++i) {
- khint_t k;
- k = kh_put(str2id, hash, h->ns[i], &ret); // FIXME: check ret
- kh_val(hash, k) = i;
- }
- return hash;
-}
-
-void *bcf_str2id_init()
-{
- return kh_init(str2id);
-}
-
-void bcf_str2id_destroy(void *_hash)
-{
- khash_t(str2id) *hash = (khash_t(str2id)*)_hash;
- if (hash) kh_destroy(str2id, hash); // Note that strings are not freed.
-}
-
-void bcf_str2id_thorough_destroy(void *_hash)
-{
- khash_t(str2id) *hash = (khash_t(str2id)*)_hash;
- khint_t k;
- if (hash == 0) return;
- for (k = 0; k < kh_end(hash); ++k)
- if (kh_exist(hash, k)) free((char*)kh_key(hash, k));
- kh_destroy(str2id, hash);
-}
-
-int bcf_str2id(void *_hash, const char *str)
-{
- khash_t(str2id) *hash = (khash_t(str2id)*)_hash;
- khint_t k;
- if (!hash) return -1;
- k = kh_get(str2id, hash, str);
- return k == kh_end(hash)? -1 : kh_val(hash, k);
-}
-
-int bcf_str2id_add(void *_hash, const char *str)
-{
- khint_t k;
- int ret;
- khash_t(str2id) *hash = (khash_t(str2id)*)_hash;
- if (!hash) return -1;
- k = kh_put(str2id, hash, str, &ret);
- if (ret == 0) return kh_val(hash, k);
- kh_val(hash, k) = kh_size(hash) - 1;
- return kh_val(hash, k);
-}
-
-void bcf_fit_alt(bcf1_t *b, int mask)
-{
- mask |= 1; // REF must be always present
-
- int i,j,nals=0;
- for (i=0; i<sizeof(int); i++)
- if ( mask&1<<i) nals++;
- if ( b->n_alleles <= nals ) return;
-
- // update ALT, in principle any of the alleles can be removed
- char *p;
- if ( nals>1 )
- {
- char *dst, *src;
- int n=0, nalts=nals-1;
- for (src=dst=p=b->alt, i=1; *p; p++)
- {
- if ( *p!=',' ) continue;
-
- if ( mask&1<<i )
- {
- n++;
- if ( src!=dst )
- {
- memmove(dst,src,p-src);
- dst += p-src;
- }
- else dst = p;
- if ( n<nalts ) { *dst=','; dst++; }
- }
- i++;
-
- if ( n>=nalts ) { *dst=0; break; }
- src = p+1;
- }
- if ( n<nalts )
- {
- memmove(dst,src,p-src);
- dst += p-src;
- *dst = 0;
- }
- p = dst;
- }
- else p = b->alt, *p = '\0';
- p++;
- memmove(p, b->flt, b->str + b->l_str - b->flt);
- b->l_str -= b->flt - p;
-
- // update PL and GT
- int ipl=-1, igt=-1;
- for (i = 0; i < b->n_gi; ++i)
- {
- bcf_ginfo_t *g = b->gi + i;
- if (g->fmt == bcf_str2int("PL", 2)) ipl = i;
- if (g->fmt == bcf_str2int("GT", 2)) igt = i;
- }
-
- // .. create mapping between old and new indexes
- int npl = nals * (nals+1) / 2;
- int *map = malloc(sizeof(int)*(npl>b->n_alleles ? npl : b->n_alleles));
- int kori=0,knew=0;
- for (i=0; i<b->n_alleles; i++)
- {
- for (j=0; j<=i; j++)
- {
- int skip=0;
- if ( i && !(mask&1<<i) ) skip=1;
- if ( j && !(mask&1<<j) ) skip=1;
- if ( !skip ) { map[knew++] = kori; }
- kori++;
- }
- }
- // .. apply to all samples
- int n_smpl = b->n_smpl;
- for (i = 0; i < b->n_gi; ++i)
- {
- bcf_ginfo_t *g = b->gi + i;
- if (g->fmt == bcf_str2int("PL", 2))
- {
- g->len = npl;
- uint8_t *d = (uint8_t*)g->data;
- int ismpl, npl_ori = b->n_alleles * (b->n_alleles + 1) / 2;
- for (knew=ismpl=0; ismpl<n_smpl; ismpl++)
- {
- uint8_t *dl = d + ismpl * npl_ori;
- for (j=0; j<npl; j++) d[knew++] = dl[map[j]];
- }
- } // FIXME: to add GL
- }
- // update GTs
- map[0] = 0;
- for (i=1, knew=0; i<b->n_alleles; i++)
- map[i] = mask&1<<i ? ++knew : -1;
- for (i=0; i<n_smpl; i++)
- {
- uint8_t gt = ((uint8_t*)b->gi[igt].data)[i];
- int a1 = (gt>>3)&7;
- int a2 = gt&7;
- assert( map[a1]>=0 && map[a2]>=0 );
- ((uint8_t*)b->gi[igt].data)[i] = ((1<<7|1<<6)>) | map[a1]<<3 | map[a2];
- }
- free(map);
- b->n_alleles = nals;
- bcf_sync(b);
-}
-
-int bcf_shrink_alt(bcf1_t *b, int n)
-{
- char *p;
- int i, j, k, n_smpl = b->n_smpl;
- if (b->n_alleles <= n) return -1;
- // update ALT
- if (n > 1) {
- for (p = b->alt, k = 1; *p; ++p)
- if (*p == ',' && ++k == n) break;
- *p = '\0';
- } else p = b->alt, *p = '\0';
- ++p;
- memmove(p, b->flt, b->str + b->l_str - b->flt);
- b->l_str -= b->flt - p;
- // update PL
- for (i = 0; i < b->n_gi; ++i) {
- bcf_ginfo_t *g = b->gi + i;
- if (g->fmt == bcf_str2int("PL", 2)) {
- int l, x = b->n_alleles * (b->n_alleles + 1) / 2;
- uint8_t *d = (uint8_t*)g->data;
- g->len = n * (n + 1) / 2;
- for (l = k = 0; l < n_smpl; ++l) {
- uint8_t *dl = d + l * x;
- for (j = 0; j < g->len; ++j) d[k++] = dl[j];
- }
- } // FIXME: to add GL
- }
- b->n_alleles = n;
- bcf_sync(b);
- return 0;
-}
-
-int bcf_gl2pl(bcf1_t *b)
-{
- char *p;
- int i, n_smpl = b->n_smpl;
- bcf_ginfo_t *g;
- float *d0;
- uint8_t *d1;
- if (strstr(b->fmt, "PL")) return -1;
- if ((p = strstr(b->fmt, "GL")) == 0) return -1;
- *p = 'P';
- for (i = 0; i < b->n_gi; ++i)
- if (b->gi[i].fmt == bcf_str2int("GL", 2))
- break;
- g = b->gi + i;
- g->fmt = bcf_str2int("PL", 2);
- g->len /= 4; // 4 == sizeof(float)
- d0 = (float*)g->data; d1 = (uint8_t*)g->data;
- for (i = 0; i < n_smpl * g->len; ++i) {
- int x = (int)(-10. * d0[i] + .499);
- if (x > 255) x = 255;
- if (x < 0) x = 0;
- d1[i] = x;
- }
- return 0;
-}
-/* FIXME: this function will fail given AB:GTX:GT. BCFtools never
- * produces such FMT, but others may do. */
-int bcf_fix_gt(bcf1_t *b)
-{
- char *s;
- int i;
- uint32_t tmp;
- bcf_ginfo_t gt;
- // check the presence of the GT FMT
- if ((s = strstr(b->fmt, ":GT")) == 0) return 0; // no GT or GT is already the first
- assert(s[3] == '\0' || s[3] == ':'); // :GTX in fact
- tmp = bcf_str2int("GT", 2);
- for (i = 0; i < b->n_gi; ++i)
- if (b->gi[i].fmt == tmp) break;
- if (i == b->n_gi) return 0; // no GT in b->gi; probably a bug...
- gt = b->gi[i];
- // move GT to the first
- for (; i > 0; --i) b->gi[i] = b->gi[i-1];
- b->gi[0] = gt;
- if ( s[3]==0 )
- memmove(b->fmt + 3, b->fmt, s - b->fmt); // :GT
- else
- memmove(b->fmt + 3, b->fmt, s - b->fmt + 1); // :GT:
- b->fmt[0] = 'G'; b->fmt[1] = 'T'; b->fmt[2] = ':';
- return 0;
-}
-
-int bcf_fix_pl(bcf1_t *b)
-{
- int i;
- uint32_t tmp;
- uint8_t *PL, *swap;
- bcf_ginfo_t *gi;
- // pinpoint PL
- tmp = bcf_str2int("PL", 2);
- for (i = 0; i < b->n_gi; ++i)
- if (b->gi[i].fmt == tmp) break;
- if (i == b->n_gi) return 0;
- // prepare
- gi = b->gi + i;
- PL = (uint8_t*)gi->data;
- swap = alloca(gi->len);
- // loop through individuals
- for (i = 0; i < b->n_smpl; ++i) {
- int k, l, x;
- uint8_t *PLi = PL + i * gi->len;
- memcpy(swap, PLi, gi->len);
- for (k = x = 0; k < b->n_alleles; ++k)
- for (l = k; l < b->n_alleles; ++l)
- PLi[l*(l+1)/2 + k] = swap[x++];
- }
- return 0;
-}
-
-int bcf_smpl_covered(const bcf1_t *b)
-{
- int i, j, n = 0;
- uint32_t tmp;
- bcf_ginfo_t *gi;
- // pinpoint PL
- tmp = bcf_str2int("PL", 2);
- for (i = 0; i < b->n_gi; ++i)
- if (b->gi[i].fmt == tmp) break;
- if (i == b->n_gi) return 0;
- // count how many samples having PL!=[0..0]
- gi = b->gi + i;
- for (i = 0; i < b->n_smpl; ++i) {
- uint8_t *PLi = ((uint8_t*)gi->data) + i * gi->len;
- for (j = 0; j < gi->len; ++j)
- if (PLi[j]) break;
- if (j < gi->len) ++n;
- }
- return n;
-}
-
-static void *locate_field(const bcf1_t *b, const char *fmt, int l)
-{
- int i;
- uint32_t tmp;
- tmp = bcf_str2int(fmt, l);
- for (i = 0; i < b->n_gi; ++i)
- if (b->gi[i].fmt == tmp) break;
- return i == b->n_gi? 0 : b->gi[i].data;
-}
-
-int bcf_anno_max(bcf1_t *b)
-{
- int k, max_gq, max_sp, n_het;
- kstring_t str;
- uint8_t *gt, *gq;
- int32_t *sp;
- max_gq = max_sp = n_het = 0;
- gt = locate_field(b, "GT", 2);
- if (gt == 0) return -1;
- gq = locate_field(b, "GQ", 2);
- sp = locate_field(b, "SP", 2);
- if (sp)
- for (k = 0; k < b->n_smpl; ++k)
- if (gt[k]&0x3f)
- max_sp = max_sp > (int)sp[k]? max_sp : sp[k];
- if (gq)
- for (k = 0; k < b->n_smpl; ++k)
- if (gt[k]&0x3f)
- max_gq = max_gq > (int)gq[k]? max_gq : gq[k];
- for (k = 0; k < b->n_smpl; ++k) {
- int a1, a2;
- a1 = gt[k]&7; a2 = gt[k]>>3&7;
- if ((!a1 && a2) || (!a2 && a1)) { // a het
- if (gq == 0) ++n_het;
- else if (gq[k] >= 20) ++n_het;
- }
- }
- if (n_het) max_sp -= (int)(4.343 * log(n_het) + .499);
- if (max_sp < 0) max_sp = 0;
- memset(&str, 0, sizeof(kstring_t));
- if (*b->info) kputc(';', &str);
- ksprintf(&str, "MXSP=%d;MXGQ=%d", max_sp, max_gq);
- bcf_append_info(b, str.s, str.l);
- free(str.s);
- return 0;
-}
-
-// FIXME: only data are shuffled; the header is NOT
-int bcf_shuffle(bcf1_t *b, int seed)
-{
- int i, j, *a;
- if (seed > 0) srand48(seed);
- a = malloc(b->n_smpl * sizeof(int));
- for (i = 0; i < b->n_smpl; ++i) a[i] = i;
- for (i = b->n_smpl; i > 1; --i) {
- int tmp;
- j = (int)(drand48() * i);
- tmp = a[j]; a[j] = a[i-1]; a[i-1] = tmp;
- }
- for (j = 0; j < b->n_gi; ++j) {
- bcf_ginfo_t *gi = b->gi + j;
- uint8_t *swap, *data = (uint8_t*)gi->data;
- swap = malloc(gi->len * b->n_smpl);
- for (i = 0; i < b->n_smpl; ++i)
- memcpy(swap + gi->len * a[i], data + gi->len * i, gi->len);
- free(gi->data);
- gi->data = swap;
- }
- free(a);
- return 0;
-}
-
-bcf_hdr_t *bcf_hdr_subsam(const bcf_hdr_t *h0, int n, char *const* samples, int *list)
-{
- int i, ret, j;
- khint_t k;
- bcf_hdr_t *h;
- khash_t(str2id) *hash;
- kstring_t s;
- s.l = s.m = 0; s.s = 0;
- hash = kh_init(str2id);
- for (i = 0; i < h0->n_smpl; ++i) {
- k = kh_put(str2id, hash, h0->sns[i], &ret);
- kh_val(hash, k) = i;
- }
- for (i = j = 0; i < n; ++i) {
- k = kh_get(str2id, hash, samples[i]);
- if (k != kh_end(hash)) {
- list[j++] = kh_val(hash, k);
- kputs(samples[i], &s); kputc('\0', &s);
- }
- }
- if (j < n)
- {
- fprintf(stderr, "<%s> %d samples in the list but not in BCF.", __func__, n - j);
- exit(1);
- }
- kh_destroy(str2id, hash);
- h = calloc(1, sizeof(bcf_hdr_t));
- *h = *h0;
- h->ns = 0; h->sns = 0;
- h->name = malloc(h->l_nm); memcpy(h->name, h0->name, h->l_nm);
- h->txt = calloc(1, h->l_txt + 1); memcpy(h->txt, h0->txt, h->l_txt);
- h->l_smpl = s.l; h->sname = s.s;
- bcf_hdr_sync(h);
- return h;
-}
-
-int bcf_subsam(int n_smpl, int *list, bcf1_t *b)
-{
- int i, j;
- for (j = 0; j < b->n_gi; ++j) {
- bcf_ginfo_t *gi = b->gi + j;
- uint8_t *swap;
- swap = malloc(gi->len * b->n_smpl);
- for (i = 0; i < n_smpl; ++i)
- memcpy(swap + i * gi->len, (uint8_t*)gi->data + list[i] * gi->len, gi->len);
- free(gi->data);
- gi->data = swap;
- }
- b->n_smpl = n_smpl;
- return 0;
-}
-
-static int8_t nt4_table[128] = {
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 /*'-'*/, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 0, 4, 1, 4, 4, 4, 2, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 3, 4, 4, 4, -1, 4, 4, 4, 4, 4, 4, 4,
- 4, 0, 4, 1, 4, 4, 4, 2, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 3, 4, 4, 4, -1, 4, 4, 4, 4, 4, 4, 4
-};
-
-int bcf_gl10(const bcf1_t *b, uint8_t *gl)
-{
- int a[4], k, l, map[4], k1, j, i;
- const bcf_ginfo_t *PL;
- char *s;
- if (b->ref[1] != 0 || b->n_alleles > 4) return -1; // ref is not a single base or >4 alleles
- for (i = 0; i < b->n_gi; ++i)
- if (b->gi[i].fmt == bcf_str2int("PL", 2)) break;
- if (i == b->n_gi) return -1; // no PL
- PL = b->gi + i;
- a[0] = nt4_table[(int)b->ref[0]];
- if (a[0] > 3 || a[0] < 0) return -1; // ref is not A/C/G/T
- a[1] = a[2] = a[3] = -2; // -1 has a special meaning
- if (b->alt[0] == 0) return -1; // no alternate allele
- map[0] = map[1] = map[2] = map[3] = -2;
- map[a[0]] = 0;
- for (k = 0, s = b->alt, k1 = -1; k < 3 && *s; ++k, s += 2) {
- if (s[1] != ',' && s[1] != 0) return -1; // ALT is not single base
- a[k+1] = nt4_table[(int)*s];
- if (a[k+1] >= 0) map[a[k+1]] = k+1;
- else k1 = k + 1;
- if (s[1] == 0) break; // the end of the ALT string
- }
- for (k = 0; k < 4; ++k)
- if (map[k] < 0) map[k] = k1;
- for (i = 0; i < b->n_smpl; ++i) {
- const uint8_t *p = PL->data + i * PL->len; // the PL for the i-th individual
- uint8_t *g = gl + 10 * i;
- for (k = j = 0; k < 4; ++k) {
- for (l = k; l < 4; ++l) {
- int t, x = map[k], y = map[l];
- if (x > y) t = x, x = y, y = t; // make sure x is the smaller
- g[j++] = p[y * (y+1) / 2 + x];
- }
- }
- }
- return 0;
-}
-
-int bcf_gl10_indel(const bcf1_t *b, uint8_t *gl)
-{
- int k, l, j, i;
- const bcf_ginfo_t *PL;
- if (b->alt[0] == 0) return -1; // no alternate allele
- for (i = 0; i < b->n_gi; ++i)
- if (b->gi[i].fmt == bcf_str2int("PL", 2)) break;
- if (i == b->n_gi) return -1; // no PL
- PL = b->gi + i;
- for (i = 0; i < b->n_smpl; ++i) {
- const uint8_t *p = PL->data + i * PL->len; // the PL for the i-th individual
- uint8_t *g = gl + 10 * i;
- for (k = j = 0; k < 4; ++k) {
- for (l = k; l < 4; ++l) {
- int t, x = k, y = l;
- if (x > y) t = x, x = y, y = t; // make sure x is the smaller
- x = y * (y+1) / 2 + x;
- g[j++] = x < PL->len? p[x] : 255;
- }
- }
- }
- return 0;
-}
diff --git a/sam/bcftools/call1.c b/sam/bcftools/call1.c
deleted file mode 100644
index e6373d3..0000000
--- a/sam/bcftools/call1.c
+++ /dev/null
@@ -1,633 +0,0 @@
-#include <unistd.h>
-#include <stdlib.h>
-#include <math.h>
-#include <zlib.h>
-#include <errno.h>
-#include "bcf.h"
-#include "prob1.h"
-#include "kstring.h"
-#include "time.h"
-
-#ifdef _WIN32
-#define srand48(x) srand(x)
-#define lrand48() rand()
-#endif
-
-#include "kseq.h"
-KSTREAM_INIT(gzFile, gzread, 16384)
-
-#define VC_NO_GENO 2
-#define VC_BCFOUT 4
-#define VC_CALL 8
-#define VC_VARONLY 16
-#define VC_VCFIN 32
-#define VC_UNCOMP 64
-#define VC_KEEPALT 256
-#define VC_ACGT_ONLY 512
-#define VC_QCALL 1024
-#define VC_CALL_GT 2048
-#define VC_ADJLD 4096
-#define VC_NO_INDEL 8192
-#define VC_ANNO_MAX 16384
-#define VC_FIX_PL 32768
-#define VC_EM 0x10000
-#define VC_PAIRCALL 0x20000
-#define VC_QCNT 0x40000
-#define VC_INDEL_ONLY 0x80000
-
-typedef struct {
- int flag, prior_type, n1, n_sub, *sublist, n_perm;
- uint32_t *trio_aux;
- char *prior_file, **subsam, *fn_dict;
- uint8_t *ploidy;
- double theta, pref, indel_frac, min_perm_p, min_smpl_frac, min_lrt, min_ma_lrt;
- void *bed;
-} viewconf_t;
-
-void *bed_read(const char *fn);
-void bed_destroy(void *_h);
-int bed_overlap(const void *_h, const char *chr, int beg, int end);
-
-static double ttest(int n1, int n2, int a[4])
-{
- extern double kf_betai(double a, double b, double x);
- double t, v, u1, u2;
- if (n1 == 0 || n2 == 0 || n1 + n2 < 3) return 1.0;
- u1 = (double)a[0] / n1; u2 = (double)a[2] / n2;
- if (u1 <= u2) return 1.;
- t = (u1 - u2) / sqrt(((a[1] - n1 * u1 * u1) + (a[3] - n2 * u2 * u2)) / (n1 + n2 - 2) * (1./n1 + 1./n2));
- v = n1 + n2 - 2;
-// printf("%d,%d,%d,%d,%lf,%lf,%lf\n", a[0], a[1], a[2], a[3], t, u1, u2);
- return t < 0.? 1. : .5 * kf_betai(.5*v, .5, v/(v+t*t));
-}
-
-static int test16_core(int anno[16], anno16_t *a)
-{
- extern double kt_fisher_exact(int n11, int n12, int n21, int n22, double *_left, double *_right, double *two);
- double left, right;
- int i;
- a->p[0] = a->p[1] = a->p[2] = a->p[3] = 1.;
- memcpy(a->d, anno, 4 * sizeof(int));
- a->depth = anno[0] + anno[1] + anno[2] + anno[3];
- a->is_tested = (anno[0] + anno[1] > 0 && anno[2] + anno[3] > 0);
- if (a->depth == 0) return -1;
- a->mq = (int)(sqrt((anno[9] + anno[11]) / a->depth) + .499);
- kt_fisher_exact(anno[0], anno[1], anno[2], anno[3], &left, &right, &a->p[0]);
- for (i = 1; i < 4; ++i)
- a->p[i] = ttest(anno[0] + anno[1], anno[2] + anno[3], anno+4*i);
- return 0;
-}
-
-int test16(bcf1_t *b, anno16_t *a)
-{
- char *p;
- int i, anno[16];
- a->p[0] = a->p[1] = a->p[2] = a->p[3] = 1.;
- a->d[0] = a->d[1] = a->d[2] = a->d[3] = 0.;
- a->mq = a->depth = a->is_tested = 0;
- if ((p = strstr(b->info, "I16=")) == 0) return -1;
- p += 4;
- for (i = 0; i < 16; ++i) {
- errno = 0; anno[i] = strtol(p, &p, 10);
- if (anno[i] == 0 && (errno == EINVAL || errno == ERANGE)) return -2;
- ++p;
- }
- return test16_core(anno, a);
-}
-
-static int update_bcf1(bcf1_t *b, const bcf_p1aux_t *pa, const bcf_p1rst_t *pr, double pref, int flag, double em[10], int cons_llr, int64_t cons_gt)
-{
- kstring_t s;
- int has_I16, is_var;
- double fq, r;
- anno16_t a;
-
- has_I16 = test16(b, &a) >= 0? 1 : 0;
- //rm_info(b, "I16="); // FIXME: probably this function has a bug. If I move it below, I16 will not be removed!
-
- memset(&s, 0, sizeof(kstring_t));
- kputc('\0', &s); kputs(b->ref, &s); kputc('\0', &s);
- kputs(b->alt, &s); kputc('\0', &s); kputc('\0', &s);
- kputs(b->info, &s);
- if (b->info[0]) kputc(';', &s);
- { // print EM
- if (em[0] >= 0) ksprintf(&s, "AF1=%.4g", 1 - em[0]);
- if (em[4] >= 0 && em[4] <= 0.05) ksprintf(&s, ";G3=%.4g,%.4g,%.4g;HWE=%.3g", em[3], em[2], em[1], em[4]);
- if (em[5] >= 0 && em[6] >= 0) ksprintf(&s, ";AF2=%.4g,%.4g", 1 - em[5], 1 - em[6]);
- if (em[7] >= 0) ksprintf(&s, ";LRT=%.3g", em[7]);
- if (em[8] >= 0) ksprintf(&s, ";LRT2=%.3g", em[8]);
- }
- if (cons_llr > 0) {
- ksprintf(&s, ";CLR=%d", cons_llr);
- if (cons_gt > 0)
- ksprintf(&s, ";UGT=%c%c%c;CGT=%c%c%c", cons_gt&0xff, cons_gt>>8&0xff, cons_gt>>16&0xff,
- cons_gt>>32&0xff, cons_gt>>40&0xff, cons_gt>>48&0xff);
- }
- if (pr == 0) { // if pr is unset, return
- kputc('\0', &s); kputs(b->fmt, &s); kputc('\0', &s);
- free(b->str);
- b->m_str = s.m; b->l_str = s.l; b->str = s.s;
- bcf_sync(b);
- return 1;
- }
-
- is_var = (pr->p_ref < pref);
- r = is_var? pr->p_ref : pr->p_var;
-
-// ksprintf(&s, ";CI95=%.4g,%.4g", pr->cil, pr->cih); // FIXME: when EM is not used, ";" should be omitted!
- ksprintf(&s, ";AC1=%d", pr->ac);
- if (has_I16) ksprintf(&s, ";DP4=%d,%d,%d,%d;MQ=%d", a.d[0], a.d[1], a.d[2], a.d[3], a.mq);
- fq = pr->p_ref_folded < 0.5? -4.343 * log(pr->p_ref_folded) : 4.343 * log(pr->p_var_folded);
- if (fq < -999) fq = -999;
- if (fq > 999) fq = 999;
- ksprintf(&s, ";FQ=%.3g", fq);
- if (pr->cmp[0] >= 0.) { // two sample groups
- int i, q[3];
- for (i = 1; i < 3; ++i) {
- double x = pr->cmp[i] + pr->cmp[0]/2.;
- q[i] = x == 0? 255 : (int)(-4.343 * log(x) + .499);
- if (q[i] > 255) q[i] = 255;
- }
- if (pr->perm_rank >= 0) ksprintf(&s, ";PR=%d", pr->perm_rank);
- // ksprintf(&s, ";LRT3=%.3g", pr->lrt);
- ksprintf(&s, ";PCHI2=%.3g;PC2=%d,%d", q[1], q[2], pr->p_chi2);
- }
- if (has_I16 && a.is_tested) ksprintf(&s, ";PV4=%.2g,%.2g,%.2g,%.2g", a.p[0], a.p[1], a.p[2], a.p[3]);
- kputc('\0', &s);
- rm_info(&s, "QS=");
- rm_info(&s, "I16=");
- kputs(b->fmt, &s); kputc('\0', &s);
- free(b->str);
- b->m_str = s.m; b->l_str = s.l; b->str = s.s;
- b->qual = r < 1e-100? 999 : -4.343 * log(r);
- if (b->qual > 999) b->qual = 999;
- bcf_sync(b);
- if (!is_var) bcf_shrink_alt(b, 1);
- else if (!(flag&VC_KEEPALT))
- bcf_shrink_alt(b, pr->rank0 < 2? 2 : pr->rank0+1);
- if (is_var && (flag&VC_CALL_GT)) { // call individual genotype
- int i, x, old_n_gi = b->n_gi;
- s.m = b->m_str; s.l = b->l_str - 1; s.s = b->str;
- kputs(":GT:GQ", &s); kputc('\0', &s);
- b->m_str = s.m; b->l_str = s.l; b->str = s.s;
- bcf_sync(b);
- for (i = 0; i < b->n_smpl; ++i) {
- x = bcf_p1_call_gt(pa, pr->f_exp, i);
- ((uint8_t*)b->gi[old_n_gi].data)[i] = (x&3) == 0? 1<<3|1 : (x&3) == 1? 1 : 0;
- ((uint8_t*)b->gi[old_n_gi+1].data)[i] = x>>2;
- }
- }
- return is_var;
-}
-
-static char **read_samples(const char *fn, int *_n)
-{
- gzFile fp;
- kstream_t *ks;
- kstring_t s;
- int dret, n = 0, max = 0;
- char **sam = 0;
- *_n = 0;
- s.l = s.m = 0; s.s = 0;
- fp = gzopen(fn, "r");
- if (fp == 0)
- {
- // interpret as sample names, not as a file name
- const char *t = fn, *p = t;
- while (*t)
- {
- t++;
- if ( *t==',' || !*t )
- {
- sam = realloc(sam, sizeof(void*)*(n+1));
- sam[n] = (char*) malloc(sizeof(char)*(t-p+2));
- memcpy(sam[n], p, t-p);
- sam[n][t-p] = 0;
- sam[n][t-p+1] = 2; // assume diploid
- p = t+1;
- n++;
- }
- }
- *_n = n;
- return sam; // fail to open file
- }
- ks = ks_init(fp);
- while (ks_getuntil(ks, 0, &s, &dret) >= 0) {
- int l;
- if (max == n) {
- max = max? max<<1 : 4;
- sam = realloc(sam, sizeof(void*)*max);
- }
- l = s.l;
- sam[n] = malloc(s.l + 2);
- strcpy(sam[n], s.s);
- sam[n][l+1] = 2; // by default, diploid
- if (dret != '\n') {
- if (ks_getuntil(ks, 0, &s, &dret) >= 0) { // read ploidy, 1 or 2
- int x = (int)s.s[0] - '0';
- if (x == 1 || x == 2) sam[n][l+1] = x;
- else fprintf(stderr, "(%s) ploidy can only be 1 or 2; assume diploid\n", __func__);
- }
- if (dret != '\n') ks_getuntil(ks, '\n', &s, &dret);
- }
- ++n;
- }
- ks_destroy(ks);
- gzclose(fp);
- free(s.s);
- *_n = n;
- return sam;
-}
-
-static void write_header(bcf_hdr_t *h)
-{
- kstring_t str;
- str.l = h->l_txt? h->l_txt - 1 : 0;
- str.m = str.l + 1; str.s = h->txt;
- if (!strstr(str.s, "##INFO=<ID=DP,"))
- kputs("##INFO=<ID=DP,Number=1,Type=Integer,Description=\"Raw read depth\">\n", &str);
- if (!strstr(str.s, "##INFO=<ID=DP4,"))
- kputs("##INFO=<ID=DP4,Number=4,Type=Integer,Description=\"# high-quality ref-forward bases, ref-reverse, alt-forward and alt-reverse bases\">\n", &str);
- if (!strstr(str.s, "##INFO=<ID=MQ,"))
- kputs("##INFO=<ID=MQ,Number=1,Type=Integer,Description=\"Root-mean-square mapping quality of covering reads\">\n", &str);
- if (!strstr(str.s, "##INFO=<ID=FQ,"))
- kputs("##INFO=<ID=FQ,Number=1,Type=Float,Description=\"Phred probability of all samples being the same\">\n", &str);
- if (!strstr(str.s, "##INFO=<ID=AF1,"))
- kputs("##INFO=<ID=AF1,Number=1,Type=Float,Description=\"Max-likelihood estimate of the first ALT allele frequency (assuming HWE)\">\n", &str);
- if (!strstr(str.s, "##INFO=<ID=AC1,"))
- kputs("##INFO=<ID=AC1,Number=1,Type=Float,Description=\"Max-likelihood estimate of the first ALT allele count (no HWE assumption)\">\n", &str);
- if (!strstr(str.s, "##INFO=<ID=AN,"))
- kputs("##INFO=<ID=AN,Number=1,Type=Integer,Description=\"Total number of alleles in called genotypes\">\n", &str);
- if (!strstr(str.s, "##INFO=<ID=IS,"))
- kputs("##INFO=<ID=IS,Number=2,Type=Float,Description=\"Maximum number of reads supporting an indel and fraction of indel reads\">\n", &str);
- if (!strstr(str.s, "##INFO=<ID=AC,"))
- kputs("##INFO=<ID=AC,Number=A,Type=Integer,Description=\"Allele count in genotypes for each ALT allele, in the same order as listed\">\n", &str);
- if (!strstr(str.s, "##INFO=<ID=G3,"))
- kputs("##INFO=<ID=G3,Number=3,Type=Float,Description=\"ML estimate of genotype frequencies\">\n", &str);
- if (!strstr(str.s, "##INFO=<ID=HWE,"))
- kputs("##INFO=<ID=HWE,Number=1,Type=Float,Description=\"Chi^2 based HWE test P-value based on G3\">\n", &str);
- if (!strstr(str.s, "##INFO=<ID=CLR,"))
- kputs("##INFO=<ID=CLR,Number=1,Type=Integer,Description=\"Log ratio of genotype likelihoods with and without the constraint\">\n", &str);
- if (!strstr(str.s, "##INFO=<ID=UGT,"))
- kputs("##INFO=<ID=UGT,Number=1,Type=String,Description=\"The most probable unconstrained genotype configuration in the trio\">\n", &str);
- if (!strstr(str.s, "##INFO=<ID=CGT,"))
- kputs("##INFO=<ID=CGT,Number=1,Type=String,Description=\"The most probable constrained genotype configuration in the trio\">\n", &str);
-// if (!strstr(str.s, "##INFO=<ID=CI95,"))
-// kputs("##INFO=<ID=CI95,Number=2,Type=Float,Description=\"Equal-tail Bayesian credible interval of the site allele frequency at the 95% level\">\n", &str);
- if (!strstr(str.s, "##INFO=<ID=PV4,"))
- kputs("##INFO=<ID=PV4,Number=4,Type=Float,Description=\"P-values for strand bias, baseQ bias, mapQ bias and tail distance bias\">\n", &str);
- if (!strstr(str.s, "##INFO=<ID=INDEL,"))
- kputs("##INFO=<ID=INDEL,Number=0,Type=Flag,Description=\"Indicates that the variant is an INDEL.\">\n", &str);
- if (!strstr(str.s, "##INFO=<ID=PC2,"))
- kputs("##INFO=<ID=PC2,Number=2,Type=Integer,Description=\"Phred probability of the nonRef allele frequency in group1 samples being larger (,smaller) than in group2.\">\n", &str);
- if (!strstr(str.s, "##INFO=<ID=PCHI2,"))
- kputs("##INFO=<ID=PCHI2,Number=1,Type=Float,Description=\"Posterior weighted chi^2 P-value for testing the association between group1 and group2 samples.\">\n", &str);
- if (!strstr(str.s, "##INFO=<ID=QCHI2,"))
- kputs("##INFO=<ID=QCHI2,Number=1,Type=Integer,Description=\"Phred scaled PCHI2.\">\n", &str);
- if (!strstr(str.s, "##INFO=<ID=RP,"))
- kputs("##INFO=<ID=PR,Number=1,Type=Integer,Description=\"# permutations yielding a smaller PCHI2.\">\n", &str);
- if (!strstr(str.s, "##INFO=<ID=QBD,"))
- kputs("##INFO=<ID=QBD,Number=1,Type=Float,Description=\"Quality by Depth: QUAL/#reads\">\n", &str);
- //if (!strstr(str.s, "##INFO=<ID=RPS,"))
- // kputs("##INFO=<ID=RPS,Number=3,Type=Float,Description=\"Read Position Stats: depth, average, stddev\">\n", &str);
- if (!strstr(str.s, "##INFO=<ID=RPB,"))
- kputs("##INFO=<ID=RPB,Number=1,Type=Float,Description=\"Read Position Bias\">\n", &str);
- if (!strstr(str.s, "##INFO=<ID=MDV,"))
- kputs("##INFO=<ID=MDV,Number=1,Type=Integer,Description=\"Maximum number of high-quality nonRef reads in samples\">\n", &str);
- if (!strstr(str.s, "##INFO=<ID=VDB,"))
- kputs("##INFO=<ID=VDB,Number=1,Type=Float,Description=\"Variant Distance Bias (v2) for filtering splice-site artefacts in RNA-seq data. Note: this version may be broken.\">\n", &str);
- if (!strstr(str.s, "##FORMAT=<ID=GT,"))
- kputs("##FORMAT=<ID=GT,Number=1,Type=String,Description=\"Genotype\">\n", &str);
- if (!strstr(str.s, "##FORMAT=<ID=GQ,"))
- kputs("##FORMAT=<ID=GQ,Number=1,Type=Integer,Description=\"Genotype Quality\">\n", &str);
- if (!strstr(str.s, "##FORMAT=<ID=GL,"))
- kputs("##FORMAT=<ID=GL,Number=3,Type=Float,Description=\"Likelihoods for RR,RA,AA genotypes (R=ref,A=alt)\">\n", &str);
- if (!strstr(str.s, "##FORMAT=<ID=DP,"))
- kputs("##FORMAT=<ID=DP,Number=1,Type=Integer,Description=\"# high-quality bases\">\n", &str);
- if (!strstr(str.s, "##FORMAT=<ID=DV,"))
- kputs("##FORMAT=<ID=DV,Number=1,Type=Integer,Description=\"# high-quality non-reference bases\">\n", &str);
- if (!strstr(str.s, "##FORMAT=<ID=SP,"))
- kputs("##FORMAT=<ID=SP,Number=1,Type=Integer,Description=\"Phred-scaled strand bias P-value\">\n", &str);
- if (!strstr(str.s, "##FORMAT=<ID=PL,"))
- kputs("##FORMAT=<ID=PL,Number=G,Type=Integer,Description=\"List of Phred-scaled genotype likelihoods\">\n", &str);
- h->l_txt = str.l + 1; h->txt = str.s;
-}
-
-double bcf_pair_freq(const bcf1_t *b0, const bcf1_t *b1, double f[4]);
-
-int bcfview(int argc, char *argv[])
-{
- extern int bcf_2qcall(bcf_hdr_t *h, bcf1_t *b);
- extern void bcf_p1_indel_prior(bcf_p1aux_t *ma, double x);
- extern int bcf_fix_gt(bcf1_t *b);
- extern int bcf_anno_max(bcf1_t *b);
- extern int bcf_shuffle(bcf1_t *b, int seed);
- extern uint32_t *bcf_trio_prep(int is_x, int is_son);
- extern int bcf_trio_call(uint32_t *prep, const bcf1_t *b, int *llr, int64_t *gt);
- extern int bcf_pair_call(const bcf1_t *b);
- extern int bcf_min_diff(const bcf1_t *b);
- extern int bcf_p1_get_M(bcf_p1aux_t *b);
-
- extern gzFile bcf_p1_fp_lk;
-
- bcf_t *bp, *bout = 0;
- bcf1_t *b, *blast;
- int c, *seeds = 0;
- uint64_t n_processed = 0, qcnt[256];
- viewconf_t vc;
- bcf_p1aux_t *p1 = 0;
- bcf_hdr_t *hin, *hout;
- int tid, begin, end;
- char moder[4], modew[4];
-
- tid = begin = end = -1;
- memset(&vc, 0, sizeof(viewconf_t));
- vc.prior_type = vc.n1 = -1; vc.theta = 1e-3; vc.pref = 0.5; vc.indel_frac = -1.; vc.n_perm = 0; vc.min_perm_p = 0.01; vc.min_smpl_frac = 0; vc.min_lrt = 1; vc.min_ma_lrt = -1;
- memset(qcnt, 0, 8 * 256);
- while ((c = getopt(argc, argv, "FN1:l:cC:eHAGvbSuP:t:p:QgLi:IMs:D:U:X:d:T:Ywm:K:")) >= 0) {
- switch (c) {
- case '1': vc.n1 = atoi(optarg); break;
- case 'l': vc.bed = bed_read(optarg); if (!vc.bed) { fprintf(stderr,"Could not read \"%s\"\n", optarg); return 1; } break;
- case 'D': vc.fn_dict = strdup(optarg); break;
- case 'F': vc.flag |= VC_FIX_PL; break;
- case 'N': vc.flag |= VC_ACGT_ONLY; break;
- case 'G': vc.flag |= VC_NO_GENO; break;
- case 'A': vc.flag |= VC_KEEPALT; break;
- case 'b': vc.flag |= VC_BCFOUT; break;
- case 'S': vc.flag |= VC_VCFIN; break;
- case 'c': vc.flag |= VC_CALL; break;
- case 'e': vc.flag |= VC_EM; break;
- case 'v': vc.flag |= VC_VARONLY | VC_CALL; break;
- case 'u': vc.flag |= VC_UNCOMP | VC_BCFOUT; break;
- case 'g': vc.flag |= VC_CALL_GT | VC_CALL; break;
- case 'I': vc.flag |= VC_NO_INDEL; break;
- case 'w': vc.flag |= VC_INDEL_ONLY; break;
- case 'M': vc.flag |= VC_ANNO_MAX; break;
- case 'Y': vc.flag |= VC_QCNT; break;
- case 'm': vc.min_ma_lrt = atof(optarg); break;
- case 't': vc.theta = atof(optarg); break;
- case 'p': vc.pref = atof(optarg); break;
- case 'i': vc.indel_frac = atof(optarg); break;
- case 'Q': vc.flag |= VC_QCALL; break;
- case 'L': vc.flag |= VC_ADJLD; break;
- case 'U': vc.n_perm = atoi(optarg); break;
- case 'C': vc.min_lrt = atof(optarg); break;
- case 'X': vc.min_perm_p = atof(optarg); break;
- case 'd': vc.min_smpl_frac = atof(optarg); break;
- case 'K': bcf_p1_fp_lk = gzopen(optarg, "w"); break;
- case 's': vc.subsam = read_samples(optarg, &vc.n_sub);
- vc.ploidy = calloc(vc.n_sub + 1, 1);
- for (tid = 0; tid < vc.n_sub; ++tid) vc.ploidy[tid] = vc.subsam[tid][strlen(vc.subsam[tid]) + 1];
- tid = -1;
- break;
- case 'T':
- if (strcmp(optarg, "trioauto") == 0) vc.trio_aux = bcf_trio_prep(0, 0);
- else if (strcmp(optarg, "trioxd") == 0) vc.trio_aux = bcf_trio_prep(1, 0);
- else if (strcmp(optarg, "trioxs") == 0) vc.trio_aux = bcf_trio_prep(1, 1);
- else if (strcmp(optarg, "pair") == 0) vc.flag |= VC_PAIRCALL;
- else {
- fprintf(stderr, "[%s] Option '-T' can only take value trioauto, trioxd or trioxs.\n", __func__);
- return 1;
- }
- break;
- case 'P':
- if (strcmp(optarg, "full") == 0) vc.prior_type = MC_PTYPE_FULL;
- else if (strcmp(optarg, "cond2") == 0) vc.prior_type = MC_PTYPE_COND2;
- else if (strcmp(optarg, "flat") == 0) vc.prior_type = MC_PTYPE_FLAT;
- else vc.prior_file = strdup(optarg);
- break;
- }
- }
- if (argc == optind) {
- fprintf(stderr, "\n");
- fprintf(stderr, "Usage: bcftools view [options] <in.bcf> [reg]\n\n");
- fprintf(stderr, "Input/output options:\n\n");
- fprintf(stderr, " -A keep all possible alternate alleles at variant sites\n");
- fprintf(stderr, " -b output BCF instead of VCF\n");
- fprintf(stderr, " -D FILE sequence dictionary for VCF->BCF conversion [null]\n");
- fprintf(stderr, " -F PL generated by r921 or before (which generate old ordering)\n");
- fprintf(stderr, " -G suppress all individual genotype information\n");
- fprintf(stderr, " -l FILE list of sites (chr pos) or regions (BED) to output [all sites]\n");
- fprintf(stderr, " -L calculate LD for adjacent sites\n");
- fprintf(stderr, " -N skip sites where REF is not A/C/G/T\n");
- fprintf(stderr, " -Q output the QCALL likelihood format\n");
- fprintf(stderr, " -s FILE list of samples to use [all samples]\n");
- fprintf(stderr, " -S input is VCF\n");
- fprintf(stderr, " -u uncompressed BCF output (force -b)\n");
- fprintf(stderr, "\nConsensus/variant calling options:\n\n");
- fprintf(stderr, " -c SNP calling (force -e)\n");
- fprintf(stderr, " -d FLOAT skip loci where less than FLOAT fraction of samples covered [0]\n");
- fprintf(stderr, " -e likelihood based analyses\n");
- fprintf(stderr, " -g call genotypes at variant sites (force -c)\n");
- fprintf(stderr, " -i FLOAT indel-to-substitution ratio [%.4g]\n", vc.indel_frac);
- fprintf(stderr, " -I skip indels\n");
- fprintf(stderr, " -m FLOAT alternative model for multiallelic and rare-variant calling, include if P(chi^2)>=FLOAT\n");
- fprintf(stderr, " -p FLOAT variant if P(ref|D)<FLOAT [%.3g]\n", vc.pref);
- fprintf(stderr, " -P STR type of prior: full, cond2, flat [full]\n");
- fprintf(stderr, " -t FLOAT scaled substitution mutation rate [%.4g]\n", vc.theta);
- fprintf(stderr, " -T STR constrained calling; STR can be: pair, trioauto, trioxd and trioxs (see manual) [null]\n");
- fprintf(stderr, " -v output potential variant sites only (force -c)\n");
- fprintf(stderr, "\nContrast calling and association test options:\n\n");
- fprintf(stderr, " -1 INT number of group-1 samples [0]\n");
- fprintf(stderr, " -C FLOAT posterior constrast for LRT<FLOAT and P(ref|D)<0.5 [%g]\n", vc.min_lrt);
- fprintf(stderr, " -U INT number of permutations for association testing (effective with -1) [0]\n");
- fprintf(stderr, " -X FLOAT only perform permutations for P(chi^2)<FLOAT [%g]\n", vc.min_perm_p);
- fprintf(stderr, "\n");
- return 1;
- }
-
- if (vc.flag & VC_CALL) vc.flag |= VC_EM;
- if ((vc.flag & VC_VCFIN) && (vc.flag & VC_BCFOUT) && vc.fn_dict == 0) {
- fprintf(stderr, "[%s] For VCF->BCF conversion please specify the sequence dictionary with -D\n", __func__);
- return 1;
- }
- if (vc.n1 <= 0) vc.n_perm = 0; // TODO: give a warning here!
- if (vc.n_perm > 0) {
- seeds = malloc(vc.n_perm * sizeof(int));
- srand48(time(0));
- for (c = 0; c < vc.n_perm; ++c) seeds[c] = lrand48();
- }
- b = calloc(1, sizeof(bcf1_t));
- blast = calloc(1, sizeof(bcf1_t));
- strcpy(moder, "r");
- if (!(vc.flag & VC_VCFIN)) strcat(moder, "b");
- strcpy(modew, "w");
- if (vc.flag & VC_BCFOUT) strcat(modew, "b");
- if (vc.flag & VC_UNCOMP) strcat(modew, "u");
- bp = vcf_open(argv[optind], moder);
- hin = hout = vcf_hdr_read(bp);
- if (vc.fn_dict && (vc.flag & VC_VCFIN))
- vcf_dictread(bp, hin, vc.fn_dict);
- bout = vcf_open("-", modew);
- if (!(vc.flag & VC_QCALL)) {
- if (vc.n_sub) {
- vc.sublist = calloc(vc.n_sub, sizeof(int));
- hout = bcf_hdr_subsam(hin, vc.n_sub, vc.subsam, vc.sublist);
- }
- write_header(hout); // always print the header
- vcf_hdr_write(bout, hout);
- }
- if (vc.flag & VC_CALL) {
- p1 = bcf_p1_init(hout->n_smpl, vc.ploidy);
- if (vc.prior_file) {
- if (bcf_p1_read_prior(p1, vc.prior_file) < 0) {
- fprintf(stderr, "[%s] fail to read the prior AFS.\n", __func__);
- return 1;
- }
- } else bcf_p1_init_prior(p1, vc.prior_type, vc.theta);
- if (vc.n1 > 0 && vc.min_lrt > 0.) { // set n1
- bcf_p1_set_n1(p1, vc.n1);
- bcf_p1_init_subprior(p1, vc.prior_type, vc.theta);
- }
- if (vc.indel_frac > 0.) bcf_p1_indel_prior(p1, vc.indel_frac); // otherwise use the default indel_frac
- }
- if (optind + 1 < argc && !(vc.flag&VC_VCFIN)) {
- void *str2id = bcf_build_refhash(hout);
- if (bcf_parse_region(str2id, argv[optind+1], &tid, &begin, &end) >= 0) {
- bcf_idx_t *idx;
- idx = bcf_idx_load(argv[optind]);
- if (idx) {
- uint64_t off;
- off = bcf_idx_query(idx, tid, begin);
- if (off == 0) {
- fprintf(stderr, "[%s] no records in the query region.\n", __func__);
- return 1; // FIXME: a lot of memory leaks...
- }
- bgzf_seek(bp->fp, off, SEEK_SET);
- bcf_idx_destroy(idx);
- }
- }
- }
- if (bcf_p1_fp_lk && p1) {
- int32_t M = bcf_p1_get_M(p1);
- gzwrite(bcf_p1_fp_lk, &M, 4);
- }
- while (vcf_read(bp, hin, b) > 0) {
- int is_indel, cons_llr = -1;
- int64_t cons_gt = -1;
- double em[10];
- if ((vc.flag & VC_VARONLY) && strcmp(b->alt, "X") == 0) continue;
- if ((vc.flag & VC_VARONLY) && vc.min_smpl_frac > 0.) {
- extern int bcf_smpl_covered(const bcf1_t *b);
- int n = bcf_smpl_covered(b);
- if ((double)n / b->n_smpl < vc.min_smpl_frac) continue;
- }
- if (vc.n_sub) bcf_subsam(vc.n_sub, vc.sublist, b);
- if (vc.flag & VC_FIX_PL) bcf_fix_pl(b);
- is_indel = bcf_is_indel(b);
- if ((vc.flag & VC_NO_INDEL) && is_indel) continue;
- if ((vc.flag & VC_INDEL_ONLY) && !is_indel) continue;
- if ((vc.flag & VC_ACGT_ONLY) && !is_indel) {
- int x;
- if (b->ref[0] == 0 || b->ref[1] != 0) continue;
- x = toupper(b->ref[0]);
- if (x != 'A' && x != 'C' && x != 'G' && x != 'T') continue;
- }
- if (vc.bed && !bed_overlap(vc.bed, hin->ns[b->tid], b->pos, b->pos + strlen(b->ref))) continue;
- if (tid >= 0) {
- int l = strlen(b->ref);
- l = b->pos + (l > 0? l : 1);
- if (b->tid != tid || b->pos >= end) break;
- if (!(l > begin && end > b->pos)) continue;
- }
- ++n_processed;
- if ((vc.flag & VC_QCNT) && !is_indel) { // summarize the difference
- int x = bcf_min_diff(b);
- if (x > 255) x = 255;
- if (x >= 0) ++qcnt[x];
- }
- if (vc.flag & VC_QCALL) { // output QCALL format; STOP here
- bcf_2qcall(hout, b);
- continue;
- }
- if (vc.trio_aux) // do trio calling
- bcf_trio_call(vc.trio_aux, b, &cons_llr, &cons_gt);
- else if (vc.flag & VC_PAIRCALL)
- cons_llr = bcf_pair_call(b);
- if (vc.flag & (VC_CALL|VC_ADJLD|VC_EM)) bcf_gl2pl(b);
- if (vc.flag & VC_EM) bcf_em1(b, vc.n1, 0x1ff, em);
- else {
- int i;
- for (i = 0; i < 9; ++i) em[i] = -1.;
- }
- if ( !(vc.flag&VC_KEEPALT) && (vc.flag&VC_CALL) && vc.min_ma_lrt>=0 )
- {
- bcf_p1_set_ploidy(b, p1); // could be improved: do this per site to allow pseudo-autosomal regions
- int gts = call_multiallelic_gt(b, p1, vc.min_ma_lrt, vc.flag&VC_VARONLY);
- if ( gts<=1 && vc.flag & VC_VARONLY ) continue;
- }
- else if (vc.flag & VC_CALL) { // call variants
- bcf_p1rst_t pr;
- int calret;
- gzwrite(bcf_p1_fp_lk, &b->tid, 4);
- gzwrite(bcf_p1_fp_lk, &b->pos, 4);
- gzwrite(bcf_p1_fp_lk, &em[0], sizeof(double));
- calret = bcf_p1_cal(b, (em[7] >= 0 && em[7] < vc.min_lrt), p1, &pr);
- if (n_processed % 100000 == 0) {
- fprintf(stderr, "[%s] %ld sites processed.\n", __func__, (long)n_processed);
- bcf_p1_dump_afs(p1);
- }
- if (pr.p_ref >= vc.pref && (vc.flag & VC_VARONLY)) continue;
- if (vc.n_perm && vc.n1 > 0 && pr.p_chi2 < vc.min_perm_p) { // permutation test
- bcf_p1rst_t r;
- int i, n = 0;
- for (i = 0; i < vc.n_perm; ++i) {
-#ifdef BCF_PERM_LRT // LRT based permutation is much faster but less robust to artifacts
- double x[10];
- bcf_shuffle(b, seeds[i]);
- bcf_em1(b, vc.n1, 1<<7, x);
- if (x[7] < em[7]) ++n;
-#else
- bcf_shuffle(b, seeds[i]);
- bcf_p1_cal(b, 1, p1, &r);
- if (pr.p_chi2 >= r.p_chi2) ++n;
-#endif
- }
- pr.perm_rank = n;
- }
- if (calret >= 0) update_bcf1(b, p1, &pr, vc.pref, vc.flag, em, cons_llr, cons_gt);
- } else if (vc.flag & VC_EM) update_bcf1(b, 0, 0, 0, vc.flag, em, cons_llr, cons_gt);
- if (vc.flag & VC_ADJLD) { // compute LD
- double f[4], r2;
- if ((r2 = bcf_pair_freq(blast, b, f)) >= 0) {
- kstring_t s;
- s.m = s.l = 0; s.s = 0;
- if (*b->info) kputc(';', &s);
- ksprintf(&s, "NEIR=%.3f;NEIF4=%.3f,%.3f,%.3f,%.3f", r2, f[0], f[1], f[2], f[3]);
- bcf_append_info(b, s.s, s.l);
- free(s.s);
- }
- bcf_cpy(blast, b);
- }
- if (vc.flag & VC_ANNO_MAX) bcf_anno_max(b);
- if (vc.flag & VC_NO_GENO) { // do not output GENO fields
- b->n_gi = 0;
- b->fmt[0] = '\0';
- b->l_str = b->fmt - b->str + 1;
- } else bcf_fix_gt(b);
- vcf_write(bout, hout, b);
- }
-
- if (bcf_p1_fp_lk) gzclose(bcf_p1_fp_lk);
- if (vc.prior_file) free(vc.prior_file);
- if (vc.flag & VC_CALL) bcf_p1_dump_afs(p1);
- if (hin != hout) bcf_hdr_destroy(hout);
- bcf_hdr_destroy(hin);
- bcf_destroy(b); bcf_destroy(blast);
- vcf_close(bp); vcf_close(bout);
- if (vc.fn_dict) free(vc.fn_dict);
- if (vc.ploidy) free(vc.ploidy);
- if (vc.trio_aux) free(vc.trio_aux);
- if (vc.n_sub) {
- int i;
- for (i = 0; i < vc.n_sub; ++i) free(vc.subsam[i]);
- free(vc.subsam); free(vc.sublist);
- }
- if (vc.bed) bed_destroy(vc.bed);
- if (vc.flag & VC_QCNT)
- for (c = 0; c < 256; ++c)
- fprintf(stderr, "QT\t%d\t%lld\n", c, (long long)qcnt[c]);
- if (seeds) free(seeds);
- if (p1) bcf_p1_destroy(p1);
- return 0;
-}
diff --git a/sam/bcftools/em.c b/sam/bcftools/em.c
deleted file mode 100644
index b7dfe1a..0000000
--- a/sam/bcftools/em.c
+++ /dev/null
@@ -1,310 +0,0 @@
-#include <stdlib.h>
-#include <string.h>
-#include <math.h>
-#include "bcf.h"
-#include "kmin.h"
-
-static double g_q2p[256];
-
-#define ITER_MAX 50
-#define ITER_TRY 10
-#define EPS 1e-5
-
-extern double kf_gammaq(double, double);
-
-/*
- Generic routines
- */
-// get the 3 genotype likelihoods
-static double *get_pdg3(const bcf1_t *b)
-{
- double *pdg;
- const uint8_t *PL = 0;
- int i, PL_len = 0;
- // initialize g_q2p if necessary
- if (g_q2p[0] == 0.)
- for (i = 0; i < 256; ++i)
- g_q2p[i] = pow(10., -i / 10.);
- // set PL and PL_len
- for (i = 0; i < b->n_gi; ++i) {
- if (b->gi[i].fmt == bcf_str2int("PL", 2)) {
- PL = (const uint8_t*)b->gi[i].data;
- PL_len = b->gi[i].len;
- break;
- }
- }
- if (i == b->n_gi) return 0; // no PL
- // fill pdg
- pdg = malloc(3 * b->n_smpl * sizeof(double));
- for (i = 0; i < b->n_smpl; ++i) {
- const uint8_t *pi = PL + i * PL_len;
- double *p = pdg + i * 3;
- p[0] = g_q2p[pi[2]]; p[1] = g_q2p[pi[1]]; p[2] = g_q2p[pi[0]];
- }
- return pdg;
-}
-
-// estimate site allele frequency in a very naive and inaccurate way
-static double est_freq(int n, const double *pdg)
-{
- int i, gcnt[3], tmp1;
- // get a rough estimate of the genotype frequency
- gcnt[0] = gcnt[1] = gcnt[2] = 0;
- for (i = 0; i < n; ++i) {
- const double *p = pdg + i * 3;
- if (p[0] != 1. || p[1] != 1. || p[2] != 1.) {
- int which = p[0] > p[1]? 0 : 1;
- which = p[which] > p[2]? which : 2;
- ++gcnt[which];
- }
- }
- tmp1 = gcnt[0] + gcnt[1] + gcnt[2];
- return (tmp1 == 0)? -1.0 : (.5 * gcnt[1] + gcnt[2]) / tmp1;
-}
-
-/*
- Single-locus EM
- */
-
-typedef struct {
- int beg, end;
- const double *pdg;
-} minaux1_t;
-
-static double prob1(double f, void *data)
-{
- minaux1_t *a = (minaux1_t*)data;
- double p = 1., l = 0., f3[3];
- int i;
-// printf("brent %lg\n", f);
- if (f < 0 || f > 1) return 1e300;
- f3[0] = (1.-f)*(1.-f); f3[1] = 2.*f*(1.-f); f3[2] = f*f;
- for (i = a->beg; i < a->end; ++i) {
- const double *pdg = a->pdg + i * 3;
- p *= pdg[0] * f3[0] + pdg[1] * f3[1] + pdg[2] * f3[2];
- if (p < 1e-200) l -= log(p), p = 1.;
- }
- return l - log(p);
-}
-
-// one EM iteration for allele frequency estimate
-static double freq_iter(double *f, const double *_pdg, int beg, int end)
-{
- double f0 = *f, f3[3], err;
- int i;
-// printf("em %lg\n", *f);
- f3[0] = (1.-f0)*(1.-f0); f3[1] = 2.*f0*(1.-f0); f3[2] = f0*f0;
- for (i = beg, f0 = 0.; i < end; ++i) {
- const double *pdg = _pdg + i * 3;
- f0 += (pdg[1] * f3[1] + 2. * pdg[2] * f3[2])
- / (pdg[0] * f3[0] + pdg[1] * f3[1] + pdg[2] * f3[2]);
- }
- f0 /= (end - beg) * 2;
- err = fabs(f0 - *f);
- *f = f0;
- return err;
-}
-
-/* The following function combines EM and Brent's method. When the signal from
- * the data is strong, EM is faster but sometimes, EM may converge very slowly.
- * When this happens, we switch to Brent's method. The idea is learned from
- * Rasmus Nielsen.
- */
-static double freqml(double f0, int beg, int end, const double *pdg)
-{
- int i;
- double f;
- for (i = 0, f = f0; i < ITER_TRY; ++i)
- if (freq_iter(&f, pdg, beg, end) < EPS) break;
- if (i == ITER_TRY) { // haven't converged yet; try Brent's method
- minaux1_t a;
- a.beg = beg; a.end = end; a.pdg = pdg;
- kmin_brent(prob1, f0 == f? .5*f0 : f0, f, (void*)&a, EPS, &f);
- }
- return f;
-}
-
-// one EM iteration for genotype frequency estimate
-static double g3_iter(double g[3], const double *_pdg, int beg, int end)
-{
- double err, gg[3];
- int i;
- gg[0] = gg[1] = gg[2] = 0.;
-// printf("%lg,%lg,%lg\n", g[0], g[1], g[2]);
- for (i = beg; i < end; ++i) {
- double sum, tmp[3];
- const double *pdg = _pdg + i * 3;
- tmp[0] = pdg[0] * g[0]; tmp[1] = pdg[1] * g[1]; tmp[2] = pdg[2] * g[2];
- sum = (tmp[0] + tmp[1] + tmp[2]) * (end - beg);
- gg[0] += tmp[0] / sum; gg[1] += tmp[1] / sum; gg[2] += tmp[2] / sum;
- }
- err = fabs(gg[0] - g[0]) > fabs(gg[1] - g[1])? fabs(gg[0] - g[0]) : fabs(gg[1] - g[1]);
- err = err > fabs(gg[2] - g[2])? err : fabs(gg[2] - g[2]);
- g[0] = gg[0]; g[1] = gg[1]; g[2] = gg[2];
- return err;
-}
-
-// perform likelihood ratio test
-static double lk_ratio_test(int n, int n1, const double *pdg, double f3[3][3])
-{
- double r;
- int i;
- for (i = 0, r = 1.; i < n1; ++i) {
- const double *p = pdg + i * 3;
- r *= (p[0] * f3[1][0] + p[1] * f3[1][1] + p[2] * f3[1][2])
- / (p[0] * f3[0][0] + p[1] * f3[0][1] + p[2] * f3[0][2]);
- }
- for (; i < n; ++i) {
- const double *p = pdg + i * 3;
- r *= (p[0] * f3[2][0] + p[1] * f3[2][1] + p[2] * f3[2][2])
- / (p[0] * f3[0][0] + p[1] * f3[0][1] + p[2] * f3[0][2]);
- }
- return r;
-}
-
-// x[0]: ref frequency
-// x[1..3]: alt-alt, alt-ref, ref-ref frequenc
-// x[4]: HWE P-value
-// x[5..6]: group1 freq, group2 freq
-// x[7]: 1-degree P-value
-// x[8]: 2-degree P-value
-int bcf_em1(const bcf1_t *b, int n1, int flag, double x[10])
-{
- double *pdg;
- int i, n, n2;
- if (b->n_alleles < 2) return -1; // one allele only
- // initialization
- if (n1 < 0 || n1 > b->n_smpl) n1 = 0;
- if (flag & 1<<7) flag |= 7<<5; // compute group freq if LRT is required
- if (flag & 0xf<<1) flag |= 0xf<<1;
- n = b->n_smpl; n2 = n - n1;
- pdg = get_pdg3(b);
- if (pdg == 0) return -1;
- for (i = 0; i < 10; ++i) x[i] = -1.; // set to negative
- {
- if ((x[0] = est_freq(n, pdg)) < 0.) {
- free(pdg);
- return -1; // no data
- }
- x[0] = freqml(x[0], 0, n, pdg);
- }
- if (flag & (0xf<<1|3<<8)) { // estimate the genotype frequency and test HWE
- double *g = x + 1, f3[3], r;
- f3[0] = g[0] = (1 - x[0]) * (1 - x[0]);
- f3[1] = g[1] = 2 * x[0] * (1 - x[0]);
- f3[2] = g[2] = x[0] * x[0];
- for (i = 0; i < ITER_MAX; ++i)
- if (g3_iter(g, pdg, 0, n) < EPS) break;
- // Hardy-Weinberg equilibrium (HWE)
- for (i = 0, r = 1.; i < n; ++i) {
- double *p = pdg + i * 3;
- r *= (p[0] * g[0] + p[1] * g[1] + p[2] * g[2]) / (p[0] * f3[0] + p[1] * f3[1] + p[2] * f3[2]);
- }
- x[4] = kf_gammaq(.5, log(r));
- }
- if ((flag & 7<<5) && n1 > 0 && n1 < n) { // group frequency
- x[5] = freqml(x[0], 0, n1, pdg);
- x[6] = freqml(x[0], n1, n, pdg);
- }
- if ((flag & 1<<7) && n1 > 0 && n1 < n) { // 1-degree P-value
- double f[3], f3[3][3], tmp;
- f[0] = x[0]; f[1] = x[5]; f[2] = x[6];
- for (i = 0; i < 3; ++i)
- f3[i][0] = (1-f[i])*(1-f[i]), f3[i][1] = 2*f[i]*(1-f[i]), f3[i][2] = f[i]*f[i];
- tmp = log(lk_ratio_test(n, n1, pdg, f3));
- if (tmp < 0) tmp = 0;
- x[7] = kf_gammaq(.5, tmp);
- }
- if ((flag & 3<<8) && n1 > 0 && n1 < n) { // 2-degree P-value
- double g[3][3], tmp;
- for (i = 0; i < 3; ++i) memcpy(g[i], x + 1, 3 * sizeof(double));
- for (i = 0; i < ITER_MAX; ++i)
- if (g3_iter(g[1], pdg, 0, n1) < EPS) break;
- for (i = 0; i < ITER_MAX; ++i)
- if (g3_iter(g[2], pdg, n1, n) < EPS) break;
- tmp = log(lk_ratio_test(n, n1, pdg, g));
- if (tmp < 0) tmp = 0;
- x[8] = kf_gammaq(1., tmp);
- }
- // free
- free(pdg);
- return 0;
-}
-
-/*
- Two-locus EM (LD)
- */
-
-#define _G1(h, k) ((h>>1&1) + (k>>1&1))
-#define _G2(h, k) ((h&1) + (k&1))
-
-// 0: the previous site; 1: the current site
-static int pair_freq_iter(int n, double *pdg[2], double f[4])
-{
- double ff[4];
- int i, k, h;
-// printf("%lf,%lf,%lf,%lf\n", f[0], f[1], f[2], f[3]);
- memset(ff, 0, 4 * sizeof(double));
- for (i = 0; i < n; ++i) {
- double *p[2], sum, tmp;
- p[0] = pdg[0] + i * 3; p[1] = pdg[1] + i * 3;
- for (k = 0, sum = 0.; k < 4; ++k)
- for (h = 0; h < 4; ++h)
- sum += f[k] * f[h] * p[0][_G1(k,h)] * p[1][_G2(k,h)];
- for (k = 0; k < 4; ++k) {
- tmp = f[0] * (p[0][_G1(0,k)] * p[1][_G2(0,k)] + p[0][_G1(k,0)] * p[1][_G2(k,0)])
- + f[1] * (p[0][_G1(1,k)] * p[1][_G2(1,k)] + p[0][_G1(k,1)] * p[1][_G2(k,1)])
- + f[2] * (p[0][_G1(2,k)] * p[1][_G2(2,k)] + p[0][_G1(k,2)] * p[1][_G2(k,2)])
- + f[3] * (p[0][_G1(3,k)] * p[1][_G2(3,k)] + p[0][_G1(k,3)] * p[1][_G2(k,3)]);
- ff[k] += f[k] * tmp / sum;
- }
- }
- for (k = 0; k < 4; ++k) f[k] = ff[k] / (2 * n);
- return 0;
-}
-
-double bcf_pair_freq(const bcf1_t *b0, const bcf1_t *b1, double f[4])
-{
- const bcf1_t *b[2];
- int i, j, n_smpl;
- double *pdg[2], flast[4], r, f0[2];
- // initialize others
- if (b0->n_smpl != b1->n_smpl) return -1; // different number of samples
- n_smpl = b0->n_smpl;
- b[0] = b0; b[1] = b1;
- f[0] = f[1] = f[2] = f[3] = -1.;
- if (b[0]->n_alleles < 2 || b[1]->n_alleles < 2) return -1; // one allele only
- pdg[0] = get_pdg3(b0); pdg[1] = get_pdg3(b1);
- if (pdg[0] == 0 || pdg[1] == 0) {
- free(pdg[0]); free(pdg[1]);
- return -1;
- }
- // set the initial value
- f0[0] = est_freq(n_smpl, pdg[0]);
- f0[1] = est_freq(n_smpl, pdg[1]);
- f[0] = (1 - f0[0]) * (1 - f0[1]); f[3] = f0[0] * f0[1];
- f[1] = (1 - f0[0]) * f0[1]; f[2] = f0[0] * (1 - f0[1]);
- // iteration
- for (j = 0; j < ITER_MAX; ++j) {
- double eps = 0;
- memcpy(flast, f, 4 * sizeof(double));
- pair_freq_iter(n_smpl, pdg, f);
- for (i = 0; i < 4; ++i) {
- double x = fabs(f[i] - flast[i]);
- if (x > eps) eps = x;
- }
- if (eps < EPS) break;
- }
- // free
- free(pdg[0]); free(pdg[1]);
- { // calculate r^2
- double p[2], q[2], D;
- p[0] = f[0] + f[1]; q[0] = 1 - p[0];
- p[1] = f[0] + f[2]; q[1] = 1 - p[1];
- D = f[0] * f[3] - f[1] * f[2];
- r = sqrt(D * D / (p[0] * p[1] * q[0] * q[1]));
-// printf("R(%lf,%lf,%lf,%lf)=%lf\n", f[0], f[1], f[2], f[3], r);
- if (isnan(r)) r = -1.;
- }
- return r;
-}
diff --git a/sam/bcftools/fet.c b/sam/bcftools/fet.c
deleted file mode 100644
index 5812517..0000000
--- a/sam/bcftools/fet.c
+++ /dev/null
@@ -1,112 +0,0 @@
-#include <math.h>
-#include <stdlib.h>
-
-/* This program is implemented with ideas from this web page:
- *
- * http://www.langsrud.com/fisher.htm
- */
-
-// log\binom{n}{k}
-static double lbinom(int n, int k)
-{
- if (k == 0 || n == k) return 0;
- return lgamma(n+1) - lgamma(k+1) - lgamma(n-k+1);
-}
-
-// n11 n12 | n1_
-// n21 n22 | n2_
-//-----------+----
-// n_1 n_2 | n
-
-// hypergeometric distribution
-static double hypergeo(int n11, int n1_, int n_1, int n)
-{
- return exp(lbinom(n1_, n11) + lbinom(n-n1_, n_1-n11) - lbinom(n, n_1));
-}
-
-typedef struct {
- int n11, n1_, n_1, n;
- double p;
-} hgacc_t;
-
-// incremental version of hypergenometric distribution
-static double hypergeo_acc(int n11, int n1_, int n_1, int n, hgacc_t *aux)
-{
- if (n1_ || n_1 || n) {
- aux->n11 = n11; aux->n1_ = n1_; aux->n_1 = n_1; aux->n = n;
- } else { // then only n11 changed; the rest fixed
- if (n11%11 && n11 + aux->n - aux->n1_ - aux->n_1) {
- if (n11 == aux->n11 + 1) { // incremental
- aux->p *= (double)(aux->n1_ - aux->n11) / n11
- * (aux->n_1 - aux->n11) / (n11 + aux->n - aux->n1_ - aux->n_1);
- aux->n11 = n11;
- return aux->p;
- }
- if (n11 == aux->n11 - 1) { // incremental
- aux->p *= (double)aux->n11 / (aux->n1_ - n11)
- * (aux->n11 + aux->n - aux->n1_ - aux->n_1) / (aux->n_1 - n11);
- aux->n11 = n11;
- return aux->p;
- }
- }
- aux->n11 = n11;
- }
- aux->p = hypergeo(aux->n11, aux->n1_, aux->n_1, aux->n);
- return aux->p;
-}
-
-double kt_fisher_exact(int n11, int n12, int n21, int n22, double *_left, double *_right, double *two)
-{
- int i, j, max, min;
- double p, q, left, right;
- hgacc_t aux;
- int n1_, n_1, n;
-
- n1_ = n11 + n12; n_1 = n11 + n21; n = n11 + n12 + n21 + n22; // calculate n1_, n_1 and n
- max = (n_1 < n1_) ? n_1 : n1_; // max n11, for right tail
- min = n1_ + n_1 - n;
- if (min < 0) min = 0; // min n11, for left tail
- *two = *_left = *_right = 1.;
- if (min == max) return 1.; // no need to do test
- q = hypergeo_acc(n11, n1_, n_1, n, &aux); // the probability of the current table
- // left tail
- p = hypergeo_acc(min, 0, 0, 0, &aux);
- for (left = 0., i = min + 1; p < 0.99999999 * q; ++i) // loop until underflow
- left += p, p = hypergeo_acc(i, 0, 0, 0, &aux);
- --i;
- if (p < 1.00000001 * q) left += p;
- else --i;
- // right tail
- p = hypergeo_acc(max, 0, 0, 0, &aux);
- for (right = 0., j = max - 1; p < 0.99999999 * q; --j) // loop until underflow
- right += p, p = hypergeo_acc(j, 0, 0, 0, &aux);
- ++j;
- if (p < 1.00000001 * q) right += p;
- else ++j;
- // two-tail
- *two = left + right;
- if (*two > 1.) *two = 1.;
- // adjust left and right
- if (abs(i - n11) < abs(j - n11)) right = 1. - left + q;
- else left = 1.0 - right + q;
- *_left = left; *_right = right;
- return q;
-}
-
-#ifdef FET_MAIN
-#include <stdio.h>
-
-int main(int argc, char *argv[])
-{
- char id[1024];
- int n11, n12, n21, n22;
- double left, right, twotail, prob;
-
- while (scanf("%s%d%d%d%d", id, &n11, &n12, &n21, &n22) == 5) {
- prob = kt_fisher_exact(n11, n12, n21, n22, &left, &right, &twotail);
- printf("%s\t%d\t%d\t%d\t%d\t%.6g\t%.6g\t%.6g\t%.6g\n", id, n11, n12, n21, n22,
- prob, left, right, twotail);
- }
- return 0;
-}
-#endif
diff --git a/sam/bcftools/index.c b/sam/bcftools/index.c
deleted file mode 100644
index a7db24f..0000000
--- a/sam/bcftools/index.c
+++ /dev/null
@@ -1,336 +0,0 @@
-#include <assert.h>
-#include <ctype.h>
-#include <sys/stat.h>
-#include "bam_endian.h"
-#include "kstring.h"
-#include "bcf.h"
-#ifdef _USE_KNETFILE
-#include "knetfile.h"
-#endif
-
-#define TAD_LIDX_SHIFT 13
-
-typedef struct {
- int32_t n, m;
- uint64_t *offset;
-} bcf_lidx_t;
-
-struct __bcf_idx_t {
- int32_t n;
- bcf_lidx_t *index2;
-};
-
-/************
- * indexing *
- ************/
-
-static inline void insert_offset2(bcf_lidx_t *index2, int _beg, int _end, uint64_t offset)
-{
- int i, beg, end;
- beg = _beg >> TAD_LIDX_SHIFT;
- end = (_end - 1) >> TAD_LIDX_SHIFT;
- if (index2->m < end + 1) {
- int old_m = index2->m;
- index2->m = end + 1;
- kroundup32(index2->m);
- index2->offset = (uint64_t*)realloc(index2->offset, index2->m * 8);
- memset(index2->offset + old_m, 0, 8 * (index2->m - old_m));
- }
- if (beg == end) {
- if (index2->offset[beg] == 0) index2->offset[beg] = offset;
- } else {
- for (i = beg; i <= end; ++i)
- if (index2->offset[i] == 0) index2->offset[i] = offset;
- }
- if (index2->n < end + 1) index2->n = end + 1;
-}
-
-bcf_idx_t *bcf_idx_core(bcf_t *bp, bcf_hdr_t *h)
-{
- bcf_idx_t *idx;
- int32_t last_coor, last_tid;
- uint64_t last_off;
- kstring_t *str;
- BGZF *fp = bp->fp;
- bcf1_t *b;
- int ret;
-
- b = calloc(1, sizeof(bcf1_t));
- str = calloc(1, sizeof(kstring_t));
- idx = (bcf_idx_t*)calloc(1, sizeof(bcf_idx_t));
- idx->n = h->n_ref;
- idx->index2 = calloc(h->n_ref, sizeof(bcf_lidx_t));
-
- last_tid = 0xffffffffu;
- last_off = bgzf_tell(fp); last_coor = 0xffffffffu;
- while ((ret = bcf_read(bp, h, b)) > 0) {
- int end, tmp;
- if (last_tid != b->tid) { // change of chromosomes
- last_tid = b->tid;
- } else if (last_coor > b->pos) {
- fprintf(stderr, "[bcf_idx_core] the input is out of order\n");
- free(str->s); free(str); free(idx); bcf_destroy(b);
- return 0;
- }
- tmp = strlen(b->ref);
- end = b->pos + (tmp > 0? tmp : 1);
- insert_offset2(&idx->index2[b->tid], b->pos, end, last_off);
- last_off = bgzf_tell(fp);
- last_coor = b->pos;
- }
- free(str->s); free(str); bcf_destroy(b);
- return idx;
-}
-
-void bcf_idx_destroy(bcf_idx_t *idx)
-{
- int i;
- if (idx == 0) return;
- for (i = 0; i < idx->n; ++i) free(idx->index2[i].offset);
- free(idx->index2);
- free(idx);
-}
-
-/******************
- * index file I/O *
- ******************/
-
-void bcf_idx_save(const bcf_idx_t *idx, BGZF *fp)
-{
- int32_t i, ti_is_be;
- ti_is_be = bam_is_big_endian();
- bgzf_write(fp, "BCI\4", 4);
- if (ti_is_be) {
- uint32_t x = idx->n;
- bgzf_write(fp, bam_swap_endian_4p(&x), 4);
- } else bgzf_write(fp, &idx->n, 4);
- for (i = 0; i < idx->n; ++i) {
- bcf_lidx_t *index2 = idx->index2 + i;
- // write linear index (index2)
- if (ti_is_be) {
- int x = index2->n;
- bgzf_write(fp, bam_swap_endian_4p(&x), 4);
- } else bgzf_write(fp, &index2->n, 4);
- if (ti_is_be) { // big endian
- int x;
- for (x = 0; (int)x < index2->n; ++x)
- bam_swap_endian_8p(&index2->offset[x]);
- bgzf_write(fp, index2->offset, 8 * index2->n);
- for (x = 0; (int)x < index2->n; ++x)
- bam_swap_endian_8p(&index2->offset[x]);
- } else bgzf_write(fp, index2->offset, 8 * index2->n);
- }
-}
-
-static bcf_idx_t *bcf_idx_load_core(BGZF *fp)
-{
- int i, ti_is_be;
- char magic[4];
- bcf_idx_t *idx;
- ti_is_be = bam_is_big_endian();
- if (fp == 0) {
- fprintf(stderr, "[%s] fail to load index.\n", __func__);
- return 0;
- }
- bgzf_read(fp, magic, 4);
- if (strncmp(magic, "BCI\4", 4)) {
- fprintf(stderr, "[%s] wrong magic number.\n", __func__);
- return 0;
- }
- idx = (bcf_idx_t*)calloc(1, sizeof(bcf_idx_t));
- bgzf_read(fp, &idx->n, 4);
- if (ti_is_be) bam_swap_endian_4p(&idx->n);
- idx->index2 = (bcf_lidx_t*)calloc(idx->n, sizeof(bcf_lidx_t));
- for (i = 0; i < idx->n; ++i) {
- bcf_lidx_t *index2 = idx->index2 + i;
- int j;
- bgzf_read(fp, &index2->n, 4);
- if (ti_is_be) bam_swap_endian_4p(&index2->n);
- index2->m = index2->n;
- index2->offset = (uint64_t*)calloc(index2->m, 8);
- bgzf_read(fp, index2->offset, index2->n * 8);
- if (ti_is_be)
- for (j = 0; j < index2->n; ++j) bam_swap_endian_8p(&index2->offset[j]);
- }
- return idx;
-}
-
-bcf_idx_t *bcf_idx_load_local(const char *fnidx)
-{
- BGZF *fp;
- fp = bgzf_open(fnidx, "r");
- if (fp) {
- bcf_idx_t *idx = bcf_idx_load_core(fp);
- bgzf_close(fp);
- return idx;
- } else return 0;
-}
-
-#ifdef _USE_KNETFILE
-static void download_from_remote(const char *url)
-{
- const int buf_size = 1 * 1024 * 1024;
- char *fn;
- FILE *fp;
- uint8_t *buf;
- knetFile *fp_remote;
- int l;
- if (strstr(url, "ftp://") != url && strstr(url, "http://") != url) return;
- l = strlen(url);
- for (fn = (char*)url + l - 1; fn >= url; --fn)
- if (*fn == '/') break;
- ++fn; // fn now points to the file name
- fp_remote = knet_open(url, "r");
- if (fp_remote == 0) {
- fprintf(stderr, "[download_from_remote] fail to open remote file.\n");
- return;
- }
- if ((fp = fopen(fn, "w")) == 0) {
- fprintf(stderr, "[download_from_remote] fail to create file in the working directory.\n");
- knet_close(fp_remote);
- return;
- }
- buf = (uint8_t*)calloc(buf_size, 1);
- while ((l = knet_read(fp_remote, buf, buf_size)) != 0)
- fwrite(buf, 1, l, fp);
- free(buf);
- fclose(fp);
- knet_close(fp_remote);
-}
-#else
-static void download_from_remote(const char *url)
-{
- return;
-}
-#endif
-
-static char *get_local_version(const char *fn)
-{
- struct stat sbuf;
- char *fnidx = (char*)calloc(strlen(fn) + 5, 1);
- strcat(strcpy(fnidx, fn), ".bci");
- if ((strstr(fnidx, "ftp://") == fnidx || strstr(fnidx, "http://") == fnidx)) {
- char *p, *url;
- int l = strlen(fnidx);
- for (p = fnidx + l - 1; p >= fnidx; --p)
- if (*p == '/') break;
- url = fnidx; fnidx = strdup(p + 1);
- if (stat(fnidx, &sbuf) == 0) {
- free(url);
- return fnidx;
- }
- fprintf(stderr, "[%s] downloading the index file...\n", __func__);
- download_from_remote(url);
- free(url);
- }
- if (stat(fnidx, &sbuf) == 0) return fnidx;
- free(fnidx); return 0;
-}
-
-bcf_idx_t *bcf_idx_load(const char *fn)
-{
- bcf_idx_t *idx;
- char *fname = get_local_version(fn);
- if (fname == 0) return 0;
- idx = bcf_idx_load_local(fname);
- free(fname);
- return idx;
-}
-
-int bcf_idx_build2(const char *fn, const char *_fnidx)
-{
- char *fnidx;
- BGZF *fpidx;
- bcf_t *bp;
- bcf_idx_t *idx;
- bcf_hdr_t *h;
- if ((bp = bcf_open(fn, "r")) == 0) {
- fprintf(stderr, "[bcf_idx_build2] fail to open the BAM file.\n");
- return -1;
- }
- h = bcf_hdr_read(bp);
- idx = bcf_idx_core(bp, h);
- bcf_close(bp);
- if (_fnidx == 0) {
- fnidx = (char*)calloc(strlen(fn) + 5, 1);
- strcpy(fnidx, fn); strcat(fnidx, ".bci");
- } else fnidx = strdup(_fnidx);
- fpidx = bgzf_open(fnidx, "w");
- if (fpidx == 0) {
- fprintf(stderr, "[bcf_idx_build2] fail to create the index file.\n");
- free(fnidx);
- bcf_idx_destroy(idx);
- return -1;
- }
- bcf_idx_save(idx, fpidx);
- bcf_idx_destroy(idx);
- bgzf_close(fpidx);
- free(fnidx);
- return 0;
-}
-
-int bcf_idx_build(const char *fn)
-{
- return bcf_idx_build2(fn, 0);
-}
-
-/********************************************
- * parse a region in the format chr:beg-end *
- ********************************************/
-
-int bcf_parse_region(void *str2id, const char *str, int *tid, int *begin, int *end)
-{
- char *s, *p;
- int i, l, k;
- l = strlen(str);
- p = s = (char*)malloc(l+1);
- /* squeeze out "," */
- for (i = k = 0; i != l; ++i)
- if (str[i] != ',' && !isspace(str[i])) s[k++] = str[i];
- s[k] = 0;
- for (i = 0; i != k; ++i) if (s[i] == ':') break;
- s[i] = 0;
- if ((*tid = bcf_str2id(str2id, s)) < 0) {
- free(s);
- return -1;
- }
- if (i == k) { /* dump the whole sequence */
- *begin = 0; *end = 1<<29; free(s);
- return 0;
- }
- for (p = s + i + 1; i != k; ++i) if (s[i] == '-') break;
- *begin = atoi(p);
- if (i < k) {
- p = s + i + 1;
- *end = atoi(p);
- } else *end = 1<<29;
- if (*begin > 0) --*begin;
- free(s);
- if (*begin > *end) return -1;
- return 0;
-}
-
-/*******************************
- * retrieve a specified region *
- *******************************/
-
-uint64_t bcf_idx_query(const bcf_idx_t *idx, int tid, int beg)
-{
- uint64_t min_off, *offset;
- int i;
- if (beg < 0) beg = 0;
- offset = idx->index2[tid].offset;
- for (i = beg>>TAD_LIDX_SHIFT; i < idx->index2[tid].n && offset[i] == 0; ++i);
- min_off = (i == idx->index2[tid].n)? offset[idx->index2[tid].n-1] : offset[i];
- return min_off;
-}
-
-int bcf_main_index(int argc, char *argv[])
-{
- if (argc == 1) {
- fprintf(stderr, "Usage: bcftools index <in.bcf>\n");
- return 1;
- }
- bcf_idx_build(argv[1]);
- return 0;
-}
diff --git a/sam/bcftools/kfunc.c b/sam/bcftools/kfunc.c
deleted file mode 100644
index a637b6c..0000000
--- a/sam/bcftools/kfunc.c
+++ /dev/null
@@ -1,162 +0,0 @@
-#include <math.h>
-
-
-/* Log gamma function
- * \log{\Gamma(z)}
- * AS245, 2nd algorithm, http://lib.stat.cmu.edu/apstat/245
- */
-double kf_lgamma(double z)
-{
- double x = 0;
- x += 0.1659470187408462e-06 / (z+7);
- x += 0.9934937113930748e-05 / (z+6);
- x -= 0.1385710331296526 / (z+5);
- x += 12.50734324009056 / (z+4);
- x -= 176.6150291498386 / (z+3);
- x += 771.3234287757674 / (z+2);
- x -= 1259.139216722289 / (z+1);
- x += 676.5203681218835 / z;
- x += 0.9999999999995183;
- return log(x) - 5.58106146679532777 - z + (z-0.5) * log(z+6.5);
-}
-
-/* complementary error function
- * \frac{2}{\sqrt{\pi}} \int_x^{\infty} e^{-t^2} dt
- * AS66, 2nd algorithm, http://lib.stat.cmu.edu/apstat/66
- */
-double kf_erfc(double x)
-{
- const double p0 = 220.2068679123761;
- const double p1 = 221.2135961699311;
- const double p2 = 112.0792914978709;
- const double p3 = 33.912866078383;
- const double p4 = 6.37396220353165;
- const double p5 = .7003830644436881;
- const double p6 = .03526249659989109;
- const double q0 = 440.4137358247522;
- const double q1 = 793.8265125199484;
- const double q2 = 637.3336333788311;
- const double q3 = 296.5642487796737;
- const double q4 = 86.78073220294608;
- const double q5 = 16.06417757920695;
- const double q6 = 1.755667163182642;
- const double q7 = .08838834764831844;
- double expntl, z, p;
- z = fabs(x) * M_SQRT2;
- if (z > 37.) return x > 0.? 0. : 2.;
- expntl = exp(z * z * - .5);
- if (z < 10. / M_SQRT2) // for small z
- p = expntl * ((((((p6 * z + p5) * z + p4) * z + p3) * z + p2) * z + p1) * z + p0)
- / (((((((q7 * z + q6) * z + q5) * z + q4) * z + q3) * z + q2) * z + q1) * z + q0);
- else p = expntl / 2.506628274631001 / (z + 1. / (z + 2. / (z + 3. / (z + 4. / (z + .65)))));
- return x > 0.? 2. * p : 2. * (1. - p);
-}
-
-/* The following computes regularized incomplete gamma functions.
- * Formulas are taken from Wiki, with additional input from Numerical
- * Recipes in C (for modified Lentz's algorithm) and AS245
- * (http://lib.stat.cmu.edu/apstat/245).
- *
- * A good online calculator is available at:
- *
- * http://www.danielsoper.com/statcalc/calc23.aspx
- *
- * It calculates upper incomplete gamma function, which equals
- * kf_gammaq(s,z)*tgamma(s).
- */
-
-#define KF_GAMMA_EPS 1e-14
-#define KF_TINY 1e-290
-
-// regularized lower incomplete gamma function, by series expansion
-static double _kf_gammap(double s, double z)
-{
- double sum, x;
- int k;
- for (k = 1, sum = x = 1.; k < 100; ++k) {
- sum += (x *= z / (s + k));
- if (x / sum < KF_GAMMA_EPS) break;
- }
- return exp(s * log(z) - z - kf_lgamma(s + 1.) + log(sum));
-}
-// regularized upper incomplete gamma function, by continued fraction
-static double _kf_gammaq(double s, double z)
-{
- int j;
- double C, D, f;
- f = 1. + z - s; C = f; D = 0.;
- // Modified Lentz's algorithm for computing continued fraction
- // See Numerical Recipes in C, 2nd edition, section 5.2
- for (j = 1; j < 100; ++j) {
- double a = j * (s - j), b = (j<<1) + 1 + z - s, d;
- D = b + a * D;
- if (D < KF_TINY) D = KF_TINY;
- C = b + a / C;
- if (C < KF_TINY) C = KF_TINY;
- D = 1. / D;
- d = C * D;
- f *= d;
- if (fabs(d - 1.) < KF_GAMMA_EPS) break;
- }
- return exp(s * log(z) - z - kf_lgamma(s) - log(f));
-}
-
-double kf_gammap(double s, double z)
-{
- return z <= 1. || z < s? _kf_gammap(s, z) : 1. - _kf_gammaq(s, z);
-}
-
-double kf_gammaq(double s, double z)
-{
- return z <= 1. || z < s? 1. - _kf_gammap(s, z) : _kf_gammaq(s, z);
-}
-
-/* Regularized incomplete beta function. The method is taken from
- * Numerical Recipe in C, 2nd edition, section 6.4. The following web
- * page calculates the incomplete beta function, which equals
- * kf_betai(a,b,x) * gamma(a) * gamma(b) / gamma(a+b):
- *
- * http://www.danielsoper.com/statcalc/calc36.aspx
- */
-static double kf_betai_aux(double a, double b, double x)
-{
- double C, D, f;
- int j;
- if (x == 0.) return 0.;
- if (x == 1.) return 1.;
- f = 1.; C = f; D = 0.;
- // Modified Lentz's algorithm for computing continued fraction
- for (j = 1; j < 200; ++j) {
- double aa, d;
- int m = j>>1;
- aa = (j&1)? -(a + m) * (a + b + m) * x / ((a + 2*m) * (a + 2*m + 1))
- : m * (b - m) * x / ((a + 2*m - 1) * (a + 2*m));
- D = 1. + aa * D;
- if (D < KF_TINY) D = KF_TINY;
- C = 1. + aa / C;
- if (C < KF_TINY) C = KF_TINY;
- D = 1. / D;
- d = C * D;
- f *= d;
- if (fabs(d - 1.) < KF_GAMMA_EPS) break;
- }
- return exp(kf_lgamma(a+b) - kf_lgamma(a) - kf_lgamma(b) + a * log(x) + b * log(1.-x)) / a / f;
-}
-double kf_betai(double a, double b, double x)
-{
- return x < (a + 1.) / (a + b + 2.)? kf_betai_aux(a, b, x) : 1. - kf_betai_aux(b, a, 1. - x);
-}
-
-#ifdef KF_MAIN
-#include <stdio.h>
-int main(int argc, char *argv[])
-{
- double x = 5.5, y = 3;
- double a, b;
- printf("erfc(%lg): %lg, %lg\n", x, erfc(x), kf_erfc(x));
- printf("upper-gamma(%lg,%lg): %lg\n", x, y, kf_gammaq(y, x)*tgamma(y));
- a = 2; b = 2; x = 0.5;
- printf("incomplete-beta(%lg,%lg,%lg): %lg\n", a, b, x, kf_betai(a, b, x) / exp(kf_lgamma(a+b) - kf_lgamma(a) - kf_lgamma(b)));
- return 0;
-}
-#endif
diff --git a/sam/bcftools/kmin.c b/sam/bcftools/kmin.c
deleted file mode 100644
index 5b8193b..0000000
--- a/sam/bcftools/kmin.c
+++ /dev/null
@@ -1,209 +0,0 @@
-/* The MIT License
-
- Copyright (c) 2008, 2010 by Attractive Chaos <attractor at live.co.uk>
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- "Software"), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- SOFTWARE.
-*/
-
-/* Hooke-Jeeves algorithm for nonlinear minimization
-
- Based on the pseudocodes by Bell and Pike (CACM 9(9):684-685), and
- the revision by Tomlin and Smith (CACM 12(11):637-638). Both of the
- papers are comments on Kaupe's Algorithm 178 "Direct Search" (ACM
- 6(6):313-314). The original algorithm was designed by Hooke and
- Jeeves (ACM 8:212-229). This program is further revised according to
- Johnson's implementation at Netlib (opt/hooke.c).
-
- Hooke-Jeeves algorithm is very simple and it works quite well on a
- few examples. However, it might fail to converge due to its heuristic
- nature. A possible improvement, as is suggested by Johnson, may be to
- choose a small r at the beginning to quickly approach to the minimum
- and a large r at later step to hit the minimum.
- */
-
-#include <stdlib.h>
-#include <string.h>
-#include <math.h>
-#include "kmin.h"
-
-static double __kmin_hj_aux(kmin_f func, int n, double *x1, void *data, double fx1, double *dx, int *n_calls)
-{
- int k, j = *n_calls;
- double ftmp;
- for (k = 0; k != n; ++k) {
- x1[k] += dx[k];
- ftmp = func(n, x1, data); ++j;
- if (ftmp < fx1) fx1 = ftmp;
- else { /* search the opposite direction */
- dx[k] = 0.0 - dx[k];
- x1[k] += dx[k] + dx[k];
- ftmp = func(n, x1, data); ++j;
- if (ftmp < fx1) fx1 = ftmp;
- else x1[k] -= dx[k]; /* back to the original x[k] */
- }
- }
- *n_calls = j;
- return fx1; /* here: fx1=f(n,x1) */
-}
-
-double kmin_hj(kmin_f func, int n, double *x, void *data, double r, double eps, int max_calls)
-{
- double fx, fx1, *x1, *dx, radius;
- int k, n_calls = 0;
- x1 = (double*)calloc(n, sizeof(double));
- dx = (double*)calloc(n, sizeof(double));
- for (k = 0; k != n; ++k) { /* initial directions, based on MGJ */
- dx[k] = fabs(x[k]) * r;
- if (dx[k] == 0) dx[k] = r;
- }
- radius = r;
- fx1 = fx = func(n, x, data); ++n_calls;
- for (;;) {
- memcpy(x1, x, n * sizeof(double)); /* x1 = x */
- fx1 = __kmin_hj_aux(func, n, x1, data, fx, dx, &n_calls);
- while (fx1 < fx) {
- for (k = 0; k != n; ++k) {
- double t = x[k];
- dx[k] = x1[k] > x[k]? fabs(dx[k]) : 0.0 - fabs(dx[k]);
- x[k] = x1[k];
- x1[k] = x1[k] + x1[k] - t;
- }
- fx = fx1;
- if (n_calls >= max_calls) break;
- fx1 = func(n, x1, data); ++n_calls;
- fx1 = __kmin_hj_aux(func, n, x1, data, fx1, dx, &n_calls);
- if (fx1 >= fx) break;
- for (k = 0; k != n; ++k)
- if (fabs(x1[k] - x[k]) > .5 * fabs(dx[k])) break;
- if (k == n) break;
- }
- if (radius >= eps) {
- if (n_calls >= max_calls) break;
- radius *= r;
- for (k = 0; k != n; ++k) dx[k] *= r;
- } else break; /* converge */
- }
- free(x1); free(dx);
- return fx1;
-}
-
-// I copied this function somewhere several years ago with some of my modifications, but I forgot the source.
-double kmin_brent(kmin1_f func, double a, double b, void *data, double tol, double *xmin)
-{
- double bound, u, r, q, fu, tmp, fa, fb, fc, c;
- const double gold1 = 1.6180339887;
- const double gold2 = 0.3819660113;
- const double tiny = 1e-20;
- const int max_iter = 100;
-
- double e, d, w, v, mid, tol1, tol2, p, eold, fv, fw;
- int iter;
-
- fa = func(a, data); fb = func(b, data);
- if (fb > fa) { // swap, such that f(a) > f(b)
- tmp = a; a = b; b = tmp;
- tmp = fa; fa = fb; fb = tmp;
- }
- c = b + gold1 * (b - a), fc = func(c, data); // golden section extrapolation
- while (fb > fc) {
- bound = b + 100.0 * (c - b); // the farthest point where we want to go
- r = (b - a) * (fb - fc);
- q = (b - c) * (fb - fa);
- if (fabs(q - r) < tiny) { // avoid 0 denominator
- tmp = q > r? tiny : 0.0 - tiny;
- } else tmp = q - r;
- u = b - ((b - c) * q - (b - a) * r) / (2.0 * tmp); // u is the parabolic extrapolation point
- if ((b > u && u > c) || (b < u && u < c)) { // u lies between b and c
- fu = func(u, data);
- if (fu < fc) { // (b,u,c) bracket the minimum
- a = b; b = u; fa = fb; fb = fu;
- break;
- } else if (fu > fb) { // (a,b,u) bracket the minimum
- c = u; fc = fu;
- break;
- }
- u = c + gold1 * (c - b); fu = func(u, data); // golden section extrapolation
- } else if ((c > u && u > bound) || (c < u && u < bound)) { // u lies between c and bound
- fu = func(u, data);
- if (fu < fc) { // fb > fc > fu
- b = c; c = u; u = c + gold1 * (c - b);
- fb = fc; fc = fu; fu = func(u, data);
- } else { // (b,c,u) bracket the minimum
- a = b; b = c; c = u;
- fa = fb; fb = fc; fc = fu;
- break;
- }
- } else if ((u > bound && bound > c) || (u < bound && bound < c)) { // u goes beyond the bound
- u = bound; fu = func(u, data);
- } else { // u goes the other way around, use golden section extrapolation
- u = c + gold1 * (c - b); fu = func(u, data);
- }
- a = b; b = c; c = u;
- fa = fb; fb = fc; fc = fu;
- }
- if (a > c) u = a, a = c, c = u; // swap
-
- // now, a<b<c, fa>fb and fb<fc, move on to Brent's algorithm
- e = d = 0.0;
- w = v = b; fv = fw = fb;
- for (iter = 0; iter != max_iter; ++iter) {
- mid = 0.5 * (a + c);
- tol2 = 2.0 * (tol1 = tol * fabs(b) + tiny);
- if (fabs(b - mid) <= (tol2 - 0.5 * (c - a))) {
- *xmin = b; return fb; // found
- }
- if (fabs(e) > tol1) {
- // related to parabolic interpolation
- r = (b - w) * (fb - fv);
- q = (b - v) * (fb - fw);
- p = (b - v) * q - (b - w) * r;
- q = 2.0 * (q - r);
- if (q > 0.0) p = 0.0 - p;
- else q = 0.0 - q;
- eold = e; e = d;
- if (fabs(p) >= fabs(0.5 * q * eold) || p <= q * (a - b) || p >= q * (c - b)) {
- d = gold2 * (e = (b >= mid ? a - b : c - b));
- } else {
- d = p / q; u = b + d; // actual parabolic interpolation happens here
- if (u - a < tol2 || c - u < tol2)
- d = (mid > b)? tol1 : 0.0 - tol1;
- }
- } else d = gold2 * (e = (b >= mid ? a - b : c - b)); // golden section interpolation
- u = fabs(d) >= tol1 ? b + d : b + (d > 0.0? tol1 : -tol1);
- fu = func(u, data);
- if (fu <= fb) { // u is the minimum point so far
- if (u >= b) a = b;
- else c = b;
- v = w; w = b; b = u; fv = fw; fw = fb; fb = fu;
- } else { // adjust (a,c) and (u,v,w)
- if (u < b) a = u;
- else c = u;
- if (fu <= fw || w == b) {
- v = w; w = u;
- fv = fw; fw = fu;
- } else if (fu <= fv || v == b || v == w) {
- v = u; fv = fu;
- }
- }
- }
- *xmin = b;
- return fb;
-}
diff --git a/sam/bcftools/kmin.h b/sam/bcftools/kmin.h
deleted file mode 100644
index 6feba45..0000000
--- a/sam/bcftools/kmin.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- Copyright (c) 2008, 2010 by Attractive Chaos <attractor at live.co.uk>
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- "Software"), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- SOFTWARE.
-*/
-
-#ifndef KMIN_H
-#define KMIN_H
-
-#define KMIN_RADIUS 0.5
-#define KMIN_EPS 1e-7
-#define KMIN_MAXCALL 50000
-
-typedef double (*kmin_f)(int, double*, void*);
-typedef double (*kmin1_f)(double, void*);
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
- double kmin_hj(kmin_f func, int n, double *x, void *data, double r, double eps, int max_calls);
- double kmin_brent(kmin1_f func, double a, double b, void *data, double tol, double *xmin);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/sam/bcftools/main.c b/sam/bcftools/main.c
deleted file mode 100644
index eda6217..0000000
--- a/sam/bcftools/main.c
+++ /dev/null
@@ -1,191 +0,0 @@
-#include <string.h>
-#include <stdlib.h>
-#include <sys/stat.h>
-#include <unistd.h>
-#include "knetfile.h"
-#include "bcf.h"
-
-#include "kseq.h"
-KSTREAM_INIT(gzFile, gzread, 0x10000)
-
-int bcfview(int argc, char *argv[]);
-int bcf_main_index(int argc, char *argv[]);
-
-#define BUF_SIZE 0x10000
-
-int bcf_cat(int n, char * const *fn)
-{
- int i;
- bcf_t *out;
- uint8_t *buf;
- buf = malloc(BUF_SIZE);
- out = bcf_open("-", "w");
- for (i = 0; i < n; ++i) {
- bcf_t *in;
- bcf_hdr_t *h;
- off_t end;
- struct stat s;
- in = bcf_open(fn[i], "r");
- h = bcf_hdr_read(in);
- if (i == 0) bcf_hdr_write(out, h);
- bcf_hdr_destroy(h);
-#ifdef _USE_KNETFILE
- fstat(knet_fileno((knetFile*)in->fp->fp), &s);
- end = s.st_size - 28;
- while (knet_tell((knetFile*)in->fp->fp) < end) {
- int size = knet_tell((knetFile*)in->fp->fp) + BUF_SIZE < end? BUF_SIZE : end - knet_tell((knetFile*)in->fp->fp);
- knet_read(in->fp->fp, buf, size);
- fwrite(buf, 1, size, out->fp->fp);
- }
-#else
- abort(); // FIXME: not implemented
-#endif
- bcf_close(in);
- }
- bcf_close(out);
- free(buf);
- return 0;
-}
-
-extern double bcf_pair_freq(const bcf1_t *b0, const bcf1_t *b1, double f[4]);
-
-int bcf_main_ldpair(int argc, char *argv[])
-{
- bcf_t *fp;
- bcf_hdr_t *h;
- bcf1_t *b0, *b1;
- bcf_idx_t *idx;
- kstring_t str;
- void *str2id;
- gzFile fplist;
- kstream_t *ks;
- int dret, lineno = 0;
- if (argc < 3) {
- fprintf(stderr, "Usage: bcftools ldpair <in.bcf> <in.list>\n");
- return 1;
- }
- fplist = gzopen(argv[2], "rb");
- ks = ks_init(fplist);
- memset(&str, 0, sizeof(kstring_t));
- fp = bcf_open(argv[1], "rb");
- h = bcf_hdr_read(fp);
- str2id = bcf_build_refhash(h);
- idx = bcf_idx_load(argv[1]);
- if (idx == 0) {
- fprintf(stderr, "[%s] No bcf index is found. Abort!\n", __func__);
- return 1;
- }
- b0 = calloc(1, sizeof(bcf1_t));
- b1 = calloc(1, sizeof(bcf1_t));
- while (ks_getuntil(ks, '\n', &str, &dret) >= 0) {
- char *p, *q;
- int k;
- int tid0 = -1, tid1 = -1, pos0 = -1, pos1 = -1;
- ++lineno;
- for (p = q = str.s, k = 0; *p; ++p) {
- if (*p == ' ' || *p == '\t') {
- *p = '\0';
- if (k == 0) tid0 = bcf_str2id(str2id, q);
- else if (k == 1) pos0 = atoi(q) - 1;
- else if (k == 2) tid1 = strcmp(q, "=")? bcf_str2id(str2id, q) : tid0;
- else if (k == 3) pos1 = atoi(q) - 1;
- q = p + 1;
- ++k;
- }
- }
- if (k == 3) pos1 = atoi(q) - 1;
- if (tid0 >= 0 && tid1 >= 0 && pos0 >= 0 && pos1 >= 0) {
- uint64_t off;
- double r, f[4];
- off = bcf_idx_query(idx, tid0, pos0);
- bgzf_seek(fp->fp, off, SEEK_SET);
- while (bcf_read(fp, h, b0) >= 0 && b0->pos != pos0);
- off = bcf_idx_query(idx, tid1, pos1);
- bgzf_seek(fp->fp, off, SEEK_SET);
- while (bcf_read(fp, h, b1) >= 0 && b1->pos != pos1);
- r = bcf_pair_freq(b0, b1, f);
- r *= r;
- printf("%s\t%d\t%s\t%d\t%.4g\t%.4g\t%.4g\t%.4g\t%.4g\n", h->ns[tid0], pos0+1, h->ns[tid1], pos1+1,
- r, f[0], f[1], f[2], f[3]);
- } //else fprintf(stderr, "[%s] Parse error at line %d.\n", __func__, lineno);
- }
- bcf_destroy(b0); bcf_destroy(b1);
- bcf_idx_destroy(idx);
- bcf_str2id_destroy(str2id);
- bcf_hdr_destroy(h);
- bcf_close(fp);
- free(str.s);
- ks_destroy(ks);
- gzclose(fplist);
- return 0;
-}
-
-int bcf_main_ld(int argc, char *argv[])
-{
- bcf_t *fp;
- bcf_hdr_t *h;
- bcf1_t **b, *b0;
- int i, j, m, n;
- double f[4];
- if (argc == 1) {
- fprintf(stderr, "Usage: bcftools ld <in.bcf>\n");
- return 1;
- }
- fp = bcf_open(argv[1], "rb");
- h = bcf_hdr_read(fp);
- // read the entire BCF
- m = n = 0; b = 0;
- b0 = calloc(1, sizeof(bcf1_t));
- while (bcf_read(fp, h, b0) >= 0) {
- if (m == n) {
- m = m? m<<1 : 16;
- b = realloc(b, sizeof(void*) * m);
- }
- b[n] = calloc(1, sizeof(bcf1_t));
- bcf_cpy(b[n++], b0);
- }
- bcf_destroy(b0);
- // compute pair-wise r^2
- printf("%d\n", n); // the number of loci
- for (i = 0; i < n; ++i) {
- printf("%s:%d", h->ns[b[i]->tid], b[i]->pos + 1);
- for (j = 0; j < i; ++j) {
- double r = bcf_pair_freq(b[i], b[j], f);
- printf("\t%.3f", r*r);
- }
- printf("\t1.000\n");
- }
- // free
- for (i = 0; i < n; ++i) bcf_destroy(b[i]);
- free(b);
- bcf_hdr_destroy(h);
- bcf_close(fp);
- return 0;
-}
-
-int main(int argc, char *argv[])
-{
- if (argc == 1) {
- fprintf(stderr, "\n");
- fprintf(stderr, "Program: bcftools (Tools for data in the VCF/BCF formats)\n");
- fprintf(stderr, "Version: %s\n\n", BCF_VERSION);
- fprintf(stderr, "Usage: bcftools <command> <arguments>\n\n");
- fprintf(stderr, "Command: view print, extract, convert and call SNPs from BCF\n");
- fprintf(stderr, " index index BCF\n");
- fprintf(stderr, " cat concatenate BCFs\n");
- fprintf(stderr, " ld compute all-pair r^2\n");
- fprintf(stderr, " ldpair compute r^2 between requested pairs\n");
- fprintf(stderr, "\n");
- return 1;
- }
- if (strcmp(argv[1], "view") == 0) return bcfview(argc-1, argv+1);
- else if (strcmp(argv[1], "index") == 0) return bcf_main_index(argc-1, argv+1);
- else if (strcmp(argv[1], "ld") == 0) return bcf_main_ld(argc-1, argv+1);
- else if (strcmp(argv[1], "ldpair") == 0) return bcf_main_ldpair(argc-1, argv+1);
- else if (strcmp(argv[1], "cat") == 0) return bcf_cat(argc-2, argv+2); // cat is different ...
- else {
- fprintf(stderr, "[main] Unrecognized command.\n");
- return 1;
- }
- return 0;
-}
diff --git a/sam/bcftools/mut.c b/sam/bcftools/mut.c
deleted file mode 100644
index 15ef265..0000000
--- a/sam/bcftools/mut.c
+++ /dev/null
@@ -1,127 +0,0 @@
-#include <stdlib.h>
-#include <stdint.h>
-#include "bcf.h"
-
-#define MAX_GENO 359
-
-int8_t seq_bitcnt[] = { 4, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4 };
-char *seq_nt16rev = "XACMGRSVTWYHKDBN";
-
-uint32_t *bcf_trio_prep(int is_x, int is_son)
-{
- int i, j, k, n, map[10];
- uint32_t *ret;
- ret = calloc(MAX_GENO, 4);
- for (i = 0, k = 0; i < 4; ++i)
- for (j = i; j < 4; ++j)
- map[k++] = 1<<i|1<<j;
- for (i = 0, n = 1; i < 10; ++i) { // father
- if (is_x && seq_bitcnt[map[i]] != 1) continue;
- if (is_x && is_son) {
- for (j = 0; j < 10; ++j) // mother
- for (k = 0; k < 10; ++k) // child
- if (seq_bitcnt[map[k]] == 1 && (map[j]&map[k]))
- ret[n++] = j<<16 | i<<8 | k;
- } else {
- for (j = 0; j < 10; ++j) // mother
- for (k = 0; k < 10; ++k) // child
- if ((map[i]&map[k]) && (map[j]&map[k]) && ((map[i]|map[j])&map[k]) == map[k])
- ret[n++] = j<<16 | i<<8 | k;
- }
- }
- ret[0] = n - 1;
- return ret;
-}
-
-
-int bcf_trio_call(const uint32_t *prep, const bcf1_t *b, int *llr, int64_t *gt)
-{
- int i, j, k;
- const bcf_ginfo_t *PL;
- uint8_t *gl10;
- int map[10];
- if (b->n_smpl != 3) return -1; // not a trio
- for (i = 0; i < b->n_gi; ++i)
- if (b->gi[i].fmt == bcf_str2int("PL", 2)) break;
- if (i == b->n_gi) return -1; // no PL
- gl10 = alloca(10 * b->n_smpl);
- if (bcf_gl10(b, gl10) < 0) {
- if (bcf_gl10_indel(b, gl10) < 0) return -1;
- }
- PL = b->gi + i;
- for (i = 0, k = 0; i < 4; ++i)
- for (j = i; j < 4; ++j)
- map[k++] = seq_nt16rev[1<<i|1<<j];
- for (j = 0; j < 3; ++j) // check if ref hom is the most probable in all members
- if (((uint8_t*)PL->data)[j * PL->len] != 0) break;
- if (j < 3) { // we need to go through the complex procedure
- uint8_t *g[3];
- int minc = 1<<30, minc_j = -1, minf = 0, gtf = 0, gtc = 0;
- g[0] = gl10;
- g[1] = gl10 + 10;
- g[2] = gl10 + 20;
- for (j = 1; j <= (int)prep[0]; ++j) { // compute LK with constraint
- int sum = g[0][prep[j]&0xff] + g[1][prep[j]>>8&0xff] + g[2][prep[j]>>16&0xff];
- if (sum < minc) minc = sum, minc_j = j;
- }
- gtc |= map[prep[minc_j]&0xff]; gtc |= map[prep[minc_j]>>8&0xff]<<8; gtc |= map[prep[minc_j]>>16]<<16;
- for (j = 0; j < 3; ++j) { // compute LK without constraint
- int min = 1<<30, min_k = -1;
- for (k = 0; k < 10; ++k)
- if (g[j][k] < min) min = g[j][k], min_k = k;
- gtf |= map[min_k]<<(j*8);
- minf += min;
- }
- *llr = minc - minf; *gt = (int64_t)gtc<<32 | gtf;
- } else *llr = 0, *gt = -1;
- return 0;
-}
-
-int bcf_pair_call(const bcf1_t *b)
-{
- int i, j, k;
- const bcf_ginfo_t *PL;
- if (b->n_smpl != 2) return -1; // not a pair
- for (i = 0; i < b->n_gi; ++i)
- if (b->gi[i].fmt == bcf_str2int("PL", 2)) break;
- if (i == b->n_gi) return -1; // no PL
- PL = b->gi + i;
- for (j = 0; j < 2; ++j) // check if ref hom is the most probable in all members
- if (((uint8_t*)PL->data)[j * PL->len] != 0) break;
- if (j < 2) { // we need to go through the complex procedure
- uint8_t *g[2];
- int minc = 1<<30, minf = 0;
- g[0] = PL->data;
- g[1] = (uint8_t*)PL->data + PL->len;
- for (j = 0; j < PL->len; ++j) // compute LK with constraint
- minc = minc < g[0][j] + g[1][j]? minc : g[0][j] + g[1][j];
- for (j = 0; j < 2; ++j) { // compute LK without constraint
- int min = 1<<30;
- for (k = 0; k < PL->len; ++k)
- min = min < g[j][k]? min : g[j][k];
- minf += min;
- }
- return minc - minf;
- } else return 0;
-}
-
-int bcf_min_diff(const bcf1_t *b)
-{
- int i, min = 1<<30;
- const bcf_ginfo_t *PL;
- for (i = 0; i < b->n_gi; ++i)
- if (b->gi[i].fmt == bcf_str2int("PL", 2)) break;
- if (i == b->n_gi) return -1; // no PL
- PL = b->gi + i;
- for (i = 0; i < b->n_smpl; ++i) {
- int m1, m2, j;
- const uint8_t *p = (uint8_t*)PL->data;
- m1 = m2 = 1<<30;
- for (j = 0; j < PL->len; ++j) {
- if ((int)p[j] < m1) m2 = m1, m1 = p[j];
- else if ((int)p[j] < m2) m2 = p[j];
- }
- min = min < m2 - m1? min : m2 - m1;
- }
- return min;
-}
diff --git a/sam/bcftools/prob1.c b/sam/bcftools/prob1.c
deleted file mode 100644
index 3539ee3..0000000
--- a/sam/bcftools/prob1.c
+++ /dev/null
@@ -1,988 +0,0 @@
-#include <math.h>
-#include <stdlib.h>
-#include <string.h>
-#include <stdio.h>
-#include <errno.h>
-#include <assert.h>
-#include <limits.h>
-#include <zlib.h>
-#include "prob1.h"
-#include "kstring.h"
-
-#include "kseq.h"
-KSTREAM_INIT(gzFile, gzread, 16384)
-
-#define MC_MAX_EM_ITER 16
-#define MC_EM_EPS 1e-5
-#define MC_DEF_INDEL 0.15
-
-gzFile bcf_p1_fp_lk;
-
-unsigned char seq_nt4_table[256] = {
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 /*'-'*/, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 0, 4, 1, 4, 4, 4, 2, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 0, 4, 1, 4, 4, 4, 2, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4
-};
-
-struct __bcf_p1aux_t {
- int n, M, n1, is_indel;
- uint8_t *ploidy; // haploid or diploid ONLY
- double *q2p, *pdg; // pdg -> P(D|g)
- double *phi, *phi_indel;
- double *z, *zswap; // aux for afs
- double *z1, *z2, *phi1, *phi2; // only calculated when n1 is set
- double **hg; // hypergeometric distribution
- double *lf; // log factorial
- double t, t1, t2;
- double *afs, *afs1; // afs: accumulative AFS; afs1: site posterior distribution
- const uint8_t *PL; // point to PL
- int PL_len;
-};
-
-void bcf_p1_indel_prior(bcf_p1aux_t *ma, double x)
-{
- int i;
- for (i = 0; i < ma->M; ++i)
- ma->phi_indel[i] = ma->phi[i] * x;
- ma->phi_indel[ma->M] = 1. - ma->phi[ma->M] * x;
-}
-
-static void init_prior(int type, double theta, int M, double *phi)
-{
- int i;
- if (type == MC_PTYPE_COND2) {
- for (i = 0; i <= M; ++i)
- phi[i] = 2. * (i + 1) / (M + 1) / (M + 2);
- } else if (type == MC_PTYPE_FLAT) {
- for (i = 0; i <= M; ++i)
- phi[i] = 1. / (M + 1);
- } else {
- double sum;
- for (i = 0, sum = 0.; i < M; ++i)
- sum += (phi[i] = theta / (M - i));
- phi[M] = 1. - sum;
- }
-}
-
-void bcf_p1_init_prior(bcf_p1aux_t *ma, int type, double theta)
-{
- init_prior(type, theta, ma->M, ma->phi);
- bcf_p1_indel_prior(ma, MC_DEF_INDEL);
-}
-
-void bcf_p1_init_subprior(bcf_p1aux_t *ma, int type, double theta)
-{
- if (ma->n1 <= 0 || ma->n1 >= ma->M) return;
- init_prior(type, theta, 2*ma->n1, ma->phi1);
- init_prior(type, theta, 2*(ma->n - ma->n1), ma->phi2);
-}
-
-int bcf_p1_read_prior(bcf_p1aux_t *ma, const char *fn)
-{
- gzFile fp;
- kstring_t s;
- kstream_t *ks;
- long double sum;
- int dret, k;
- memset(&s, 0, sizeof(kstring_t));
- fp = strcmp(fn, "-")? gzopen(fn, "r") : gzdopen(fileno(stdin), "r");
- ks = ks_init(fp);
- memset(ma->phi, 0, sizeof(double) * (ma->M + 1));
- while (ks_getuntil(ks, '\n', &s, &dret) >= 0) {
- if (strstr(s.s, "[afs] ") == s.s) {
- char *p = s.s + 6;
- for (k = 0; k <= ma->M; ++k) {
- int x;
- double y;
- x = strtol(p, &p, 10);
- if (x != k && (errno == EINVAL || errno == ERANGE)) return -1;
- ++p;
- y = strtod(p, &p);
- if (y == 0. && (errno == EINVAL || errno == ERANGE)) return -1;
- ma->phi[ma->M - k] += y;
- }
- }
- }
- ks_destroy(ks);
- gzclose(fp);
- free(s.s);
- for (sum = 0., k = 0; k <= ma->M; ++k) sum += ma->phi[k];
- fprintf(stderr, "[prior]");
- for (k = 0; k <= ma->M; ++k) ma->phi[k] /= sum;
- for (k = 0; k <= ma->M; ++k) fprintf(stderr, " %d:%.3lg", k, ma->phi[ma->M - k]);
- fputc('\n', stderr);
- for (sum = 0., k = 1; k < ma->M; ++k) sum += ma->phi[ma->M - k] * (2.* k * (ma->M - k) / ma->M / (ma->M - 1));
- fprintf(stderr, "[%s] heterozygosity=%lf, ", __func__, (double)sum);
- for (sum = 0., k = 1; k <= ma->M; ++k) sum += k * ma->phi[ma->M - k] / ma->M;
- fprintf(stderr, "theta=%lf\n", (double)sum);
- bcf_p1_indel_prior(ma, MC_DEF_INDEL);
- return 0;
-}
-
-bcf_p1aux_t *bcf_p1_init(int n, uint8_t *ploidy)
-{
- bcf_p1aux_t *ma;
- int i;
- ma = calloc(1, sizeof(bcf_p1aux_t));
- ma->n1 = -1;
- ma->n = n; ma->M = 2 * n;
- if (ploidy) {
- ma->ploidy = malloc(n);
- memcpy(ma->ploidy, ploidy, n);
- for (i = 0, ma->M = 0; i < n; ++i) ma->M += ploidy[i];
- if (ma->M == 2 * n) {
- free(ma->ploidy);
- ma->ploidy = 0;
- }
- }
- ma->q2p = calloc(256, sizeof(double));
- ma->pdg = calloc(3 * ma->n, sizeof(double));
- ma->phi = calloc(ma->M + 1, sizeof(double));
- ma->phi_indel = calloc(ma->M + 1, sizeof(double));
- ma->phi1 = calloc(ma->M + 1, sizeof(double));
- ma->phi2 = calloc(ma->M + 1, sizeof(double));
- ma->z = calloc(ma->M + 1, sizeof(double));
- ma->zswap = calloc(ma->M + 1, sizeof(double));
- ma->z1 = calloc(ma->M + 1, sizeof(double)); // actually we do not need this large
- ma->z2 = calloc(ma->M + 1, sizeof(double));
- ma->afs = calloc(ma->M + 1, sizeof(double));
- ma->afs1 = calloc(ma->M + 1, sizeof(double));
- ma->lf = calloc(ma->M + 1, sizeof(double));
- for (i = 0; i < 256; ++i)
- ma->q2p[i] = pow(10., -i / 10.);
- for (i = 0; i <= ma->M; ++i) ma->lf[i] = lgamma(i + 1);
- bcf_p1_init_prior(ma, MC_PTYPE_FULL, 1e-3); // the simplest prior
- return ma;
-}
-
-int bcf_p1_get_M(bcf_p1aux_t *b) { return b->M; }
-
-int bcf_p1_set_n1(bcf_p1aux_t *b, int n1)
-{
- if (n1 == 0 || n1 >= b->n) return -1;
- if (b->M != b->n * 2) {
- fprintf(stderr, "[%s] unable to set `n1' when there are haploid samples.\n", __func__);
- return -1;
- }
- b->n1 = n1;
- return 0;
-}
-
-void bcf_p1_set_ploidy(bcf1_t *b, bcf_p1aux_t *ma)
-{
- // bcf_p1aux_t fields are not visible outside of prob1.c, hence this wrapper.
- // Ideally, this should set ploidy per site to allow pseudo-autosomal regions
- b->ploidy = ma->ploidy;
-}
-
-void bcf_p1_destroy(bcf_p1aux_t *ma)
-{
- if (ma) {
- int k;
- free(ma->lf);
- if (ma->hg && ma->n1 > 0) {
- for (k = 0; k <= 2*ma->n1; ++k) free(ma->hg[k]);
- free(ma->hg);
- }
- free(ma->ploidy); free(ma->q2p); free(ma->pdg);
- free(ma->phi); free(ma->phi_indel); free(ma->phi1); free(ma->phi2);
- free(ma->z); free(ma->zswap); free(ma->z1); free(ma->z2);
- free(ma->afs); free(ma->afs1);
- free(ma);
- }
-}
-
-extern double kf_gammap(double s, double z);
-int test16(bcf1_t *b, anno16_t *a);
-
-// Wigginton 2005, PMID: 15789306
-// written by Jan Wigginton
-double calc_hwe(int obs_hom1, int obs_hom2, int obs_hets)
-{
- if (obs_hom1 + obs_hom2 + obs_hets == 0 ) return 1;
-
- assert(obs_hom1 >= 0 && obs_hom2 >= 0 && obs_hets >= 0);
-
- int obs_homc = obs_hom1 < obs_hom2 ? obs_hom2 : obs_hom1;
- int obs_homr = obs_hom1 < obs_hom2 ? obs_hom1 : obs_hom2;
-
- int rare_copies = 2 * obs_homr + obs_hets;
- int genotypes = obs_hets + obs_homc + obs_homr;
-
- double *het_probs = (double*) calloc(rare_copies+1, sizeof(double));
-
- /* start at midpoint */
- int mid = rare_copies * (2 * genotypes - rare_copies) / (2 * genotypes);
-
- /* check to ensure that midpoint and rare alleles have same parity */
- if ((rare_copies & 1) ^ (mid & 1)) mid++;
-
- int curr_hets = mid;
- int curr_homr = (rare_copies - mid) / 2;
- int curr_homc = genotypes - curr_hets - curr_homr;
-
- het_probs[mid] = 1.0;
- double sum = het_probs[mid];
- for (curr_hets = mid; curr_hets > 1; curr_hets -= 2)
- {
- het_probs[curr_hets - 2] = het_probs[curr_hets] * curr_hets * (curr_hets - 1.0) / (4.0 * (curr_homr + 1.0) * (curr_homc + 1.0));
- sum += het_probs[curr_hets - 2];
-
- /* 2 fewer heterozygotes for next iteration -> add one rare, one common homozygote */
- curr_homr++;
- curr_homc++;
- }
-
- curr_hets = mid;
- curr_homr = (rare_copies - mid) / 2;
- curr_homc = genotypes - curr_hets - curr_homr;
- for (curr_hets = mid; curr_hets <= rare_copies - 2; curr_hets += 2)
- {
- het_probs[curr_hets + 2] = het_probs[curr_hets] * 4.0 * curr_homr * curr_homc /((curr_hets + 2.0) * (curr_hets + 1.0));
- sum += het_probs[curr_hets + 2];
-
- /* add 2 heterozygotes for next iteration -> subtract one rare, one common homozygote */
- curr_homr--;
- curr_homc--;
- }
- int i;
- for (i = 0; i <= rare_copies; i++) het_probs[i] /= sum;
-
- /* p-value calculation for p_hwe */
- double p_hwe = 0.0;
- for (i = 0; i <= rare_copies; i++)
- {
- if (het_probs[i] > het_probs[obs_hets])
- continue;
- p_hwe += het_probs[i];
- }
-
- p_hwe = p_hwe > 1.0 ? 1.0 : p_hwe;
- free(het_probs);
- return p_hwe;
-
-}
-
-
-static void _bcf1_set_ref(bcf1_t *b, int idp)
-{
- kstring_t s;
- int old_n_gi = b->n_gi;
- s.m = b->m_str; s.l = b->l_str - 1; s.s = b->str;
- kputs(":GT", &s); kputc('\0', &s);
- b->m_str = s.m; b->l_str = s.l; b->str = s.s;
- bcf_sync(b);
-
- // Call GTs
- int isample, an = 0;
- for (isample = 0; isample < b->n_smpl; isample++)
- {
- if ( idp>=0 && ((uint16_t*)b->gi[idp].data)[isample]==0 )
- ((uint8_t*)b->gi[old_n_gi].data)[isample] = 1<<7;
- else
- {
- ((uint8_t*)b->gi[old_n_gi].data)[isample] = 0;
- an += b->ploidy ? b->ploidy[isample] : 2;
- }
- }
- bcf_fit_alt(b,1);
- b->qual = 999;
-
- // Prepare BCF for output: ref, alt, filter, info, format
- memset(&s, 0, sizeof(kstring_t)); kputc('\0', &s);
- kputs(b->ref, &s); kputc('\0', &s);
- kputs(b->alt, &s); kputc('\0', &s); kputc('\0', &s);
- {
- ksprintf(&s, "AN=%d;", an);
- kputs(b->info, &s);
- anno16_t a;
- int has_I16 = test16(b, &a) >= 0? 1 : 0;
- if (has_I16 )
- {
- if ( a.is_tested) ksprintf(&s, ";PV4=%.2g,%.2g,%.2g,%.2g", a.p[0], a.p[1], a.p[2], a.p[3]);
- ksprintf(&s, ";DP4=%d,%d,%d,%d;MQ=%d", a.d[0], a.d[1], a.d[2], a.d[3], a.mq);
- }
- kputc('\0', &s);
- rm_info(&s, "I16=");
- rm_info(&s, "QS=");
- }
- kputs(b->fmt, &s); kputc('\0', &s);
- free(b->str);
- b->m_str = s.m; b->l_str = s.l; b->str = s.s;
- bcf_sync(b);
-}
-
-int call_multiallelic_gt(bcf1_t *b, bcf_p1aux_t *ma, double threshold, int var_only)
-{
- int nals = 1;
- char *p;
- for (p=b->alt; *p; p++)
- {
- if ( *p=='X' || p[0]=='.' ) break;
- if ( p[0]==',' ) nals++;
- }
- if ( b->alt[0] && !*p ) nals++;
-
- if ( nals>4 )
- {
- if ( *b->ref=='N' ) return 0;
- fprintf(stderr,"Not ready for this, more than 4 alleles at %d: %s, %s\n", b->pos+1, b->ref,b->alt);
- exit(1);
- }
-
- // find PL, DV and DP FORMAT indexes
- uint8_t *pl = NULL;
- int i, npl = 0, idp = -1, idv = -1;
- for (i = 0; i < b->n_gi; ++i)
- {
- if (b->gi[i].fmt == bcf_str2int("PL", 2))
- {
- pl = (uint8_t*)b->gi[i].data;
- npl = b->gi[i].len;
- }
- else if (b->gi[i].fmt == bcf_str2int("DP", 2)) idp=i;
- else if (b->gi[i].fmt == bcf_str2int("DV", 2)) idv=i;
- }
- if ( nals==1 )
- {
- if ( !var_only ) _bcf1_set_ref(b, idp);
- return 1;
- }
- if ( !pl ) return -1;
-
- assert(ma->q2p[0] == 1);
-
- // Init P(D|G)
- int npdg = nals*(nals+1)/2;
- double *pdg,*_pdg;
- _pdg = pdg = malloc(sizeof(double)*ma->n*npdg);
- for (i=0; i<ma->n; i++)
- {
- int j;
- double sum = 0;
- for (j=0; j<npdg; j++)
- {
- //_pdg[j] = pow(10,-0.1*pl[j]);
- _pdg[j] = ma->q2p[pl[j]];
- sum += _pdg[j];
- }
- if ( sum )
- for (j=0; j<npdg; j++) _pdg[j] /= sum;
- _pdg += npdg;
- pl += npl;
- }
-
- if ((p = strstr(b->info, "QS=")) == 0) { fprintf(stderr,"INFO/QS is required with -m, exiting\n"); exit(1); }
- double qsum[4];
- if ( sscanf(p+3,"%lf,%lf,%lf,%lf",&qsum[0],&qsum[1],&qsum[2],&qsum[3])!=4 ) { fprintf(stderr,"Could not parse %s\n",p); exit(1); }
-
-
- // Calculate the most likely combination of alleles, remembering the most and second most likely set
- int ia,ib,ic, max_als=0, max_als2=0;
- double ref_lk = 0, max_lk = INT_MIN, max_lk2 = INT_MIN, lk_sum = INT_MIN, lk_sums[3];
- for (ia=0; ia<nals; ia++)
- {
- double lk_tot = 0;
- int iaa = (ia+1)*(ia+2)/2-1;
- int isample;
- for (isample=0; isample<ma->n; isample++)
- {
- double *p = pdg + isample*npdg;
- // assert( log(p[iaa]) <= 0 );
- lk_tot += log(p[iaa]);
- }
- if ( ia==0 ) ref_lk = lk_tot;
- if ( max_lk<lk_tot ) { max_lk2 = max_lk; max_als2 = max_als; max_lk = lk_tot; max_als = 1<<ia; }
- else if ( max_lk2<lk_tot ) { max_lk2 = lk_tot; max_als2 = 1<<ia; }
- lk_sum = lk_tot>lk_sum ? lk_tot + log(1+exp(lk_sum-lk_tot)) : lk_sum + log(1+exp(lk_tot-lk_sum));
- }
- lk_sums[0] = lk_sum;
- if ( nals>1 )
- {
- for (ia=0; ia<nals; ia++)
- {
- if ( qsum[ia]==0 ) continue;
- int iaa = (ia+1)*(ia+2)/2-1;
- for (ib=0; ib<ia; ib++)
- {
- if ( qsum[ib]==0 ) continue;
- double lk_tot = 0;
- double fa = qsum[ia]/(qsum[ia]+qsum[ib]);
- double fb = qsum[ib]/(qsum[ia]+qsum[ib]);
- double fab = 2*fa*fb; fa *= fa; fb *= fb;
- int isample, ibb = (ib+1)*(ib+2)/2-1, iab = iaa - ia + ib;
- for (isample=0; isample<ma->n; isample++)
- {
- double *p = pdg + isample*npdg;
- //assert( log(fa*p[iaa] + fb*p[ibb] + fab*p[iab]) <= 0 );
- if ( b->ploidy && b->ploidy[isample]==1 )
- lk_tot += log(fa*p[iaa] + fb*p[ibb]);
- else
- lk_tot += log(fa*p[iaa] + fb*p[ibb] + fab*p[iab]);
- }
- if ( max_lk<lk_tot ) { max_lk2 = max_lk; max_als2 = max_als; max_lk = lk_tot; max_als = 1<<ia|1<<ib; }
- else if ( max_lk2<lk_tot ) { max_lk2 = lk_tot; max_als2 = 1<<ia|1<<ib; }
- lk_sum = lk_tot>lk_sum ? lk_tot + log(1+exp(lk_sum-lk_tot)) : lk_sum + log(1+exp(lk_tot-lk_sum));
- }
- }
- lk_sums[1] = lk_sum;
- }
- if ( nals>2 )
- {
- for (ia=0; ia<nals; ia++)
- {
- if ( qsum[ia]==0 ) continue;
- int iaa = (ia+1)*(ia+2)/2-1;
- for (ib=0; ib<ia; ib++)
- {
- if ( qsum[ib]==0 ) continue;
- int ibb = (ib+1)*(ib+2)/2-1;
- int iab = iaa - ia + ib;
- for (ic=0; ic<ib; ic++)
- {
- if ( qsum[ic]==0 ) continue;
- double lk_tot = 0;
- double fa = qsum[ia]/(qsum[ia]+qsum[ib]+qsum[ic]);
- double fb = qsum[ib]/(qsum[ia]+qsum[ib]+qsum[ic]);
- double fc = qsum[ic]/(qsum[ia]+qsum[ib]+qsum[ic]);
- double fab = 2*fa*fb, fac = 2*fa*fc, fbc = 2*fb*fc; fa *= fa; fb *= fb; fc *= fc;
- int isample, icc = (ic+1)*(ic+2)/2-1;
- int iac = iaa - ia + ic, ibc = ibb - ib + ic;
- for (isample=0; isample<ma->n; isample++)
- {
- double *p = pdg + isample*npdg;
- //assert( log(fa*p[iaa] + fb*p[ibb] + fc*p[icc] + fab*p[iab] + fac*p[iac] + fbc*p[ibc]) <= 0 );
- if ( b->ploidy && b->ploidy[isample]==1 )
- lk_tot += log(fa*p[iaa] + fb*p[ibb] + fc*p[icc]);
- else
- lk_tot += log(fa*p[iaa] + fb*p[ibb] + fc*p[icc] + fab*p[iab] + fac*p[iac] + fbc*p[ibc]);
- }
- if ( max_lk<lk_tot ) { max_lk2 = max_lk; max_als2 = max_als; max_lk = lk_tot; max_als = 1<<ia|1<<ib|1<<ic; }
- else if ( max_lk2<lk_tot ) { max_lk2 = lk_tot; max_als2 = 1<<ia|1<<ib|1<<ic; }
- lk_sum = lk_tot>lk_sum ? lk_tot + log(1+exp(lk_sum-lk_tot)) : lk_sum + log(1+exp(lk_tot-lk_sum));
- }
- }
- }
- lk_sums[2] = lk_sum;
- }
-
- // Should we add another allele, does it increase the likelihood significantly?
- int n1=0, n2=0;
- for (i=0; i<nals; i++) if ( max_als&1<<i) n1++;
- for (i=0; i<nals; i++) if ( max_als2&1<<i) n2++;
- if ( n2<n1 && kf_gammap(1,2.0*(max_lk-max_lk2))<threshold )
- {
- // the threshold not exceeded, use the second most likely set with fewer alleles
- max_lk = max_lk2;
- max_als = max_als2;
- n1 = n2;
- }
- lk_sum = lk_sums[n1-1];
-
- // Get the BCF record ready for GT and GQ
- kstring_t s;
- int old_n_gi = b->n_gi;
- s.m = b->m_str; s.l = b->l_str - 1; s.s = b->str;
- kputs(":GT:GQ", &s); kputc('\0', &s);
- b->m_str = s.m; b->l_str = s.l; b->str = s.s;
- bcf_sync(b);
-
- // Call GTs
- int isample, gts=0, ac[4] = {0,0,0,0};
- int nRR = 0, nAA = 0, nRA = 0, max_dv = 0;
- for (isample = 0; isample < b->n_smpl; isample++)
- {
- int ploidy = b->ploidy ? b->ploidy[isample] : 2;
- double *p = pdg + isample*npdg;
- int ia, als = 0;
- double lk = 0, lk_s = 0;
- for (ia=0; ia<nals; ia++)
- {
- if ( !(max_als&1<<ia) ) continue;
- int iaa = (ia+1)*(ia+2)/2-1;
- double _lk = p[iaa]*qsum[ia]*qsum[ia];
- if ( _lk > lk ) { lk = _lk; als = ia<<3 | ia; }
- lk_s += _lk;
- }
- if ( ploidy==2 )
- {
- for (ia=0; ia<nals; ia++)
- {
- if ( !(max_als&1<<ia) ) continue;
- int iaa = (ia+1)*(ia+2)/2-1;
- for (ib=0; ib<ia; ib++)
- {
- if ( !(max_als&1<<ib) ) continue;
- int iab = iaa - ia + ib;
- double _lk = 2*qsum[ia]*qsum[ib]*p[iab];
- if ( _lk > lk ) { lk = _lk; als = ib<<3 | ia; }
- lk_s += _lk;
- }
- }
- }
- lk = -log(1-lk/lk_s)/0.2302585;
- int dp = 0;
- if ( idp>=0 && (dp=((uint16_t*)b->gi[idp].data)[isample])==0 )
- {
- // no coverage
- ((uint8_t*)b->gi[old_n_gi].data)[isample] = 1<<7;
- ((uint8_t*)b->gi[old_n_gi+1].data)[isample] = 0;
- continue;
- }
- if ( lk>99 ) lk = 99;
- ((uint8_t*)b->gi[old_n_gi].data)[isample] = als;
- ((uint8_t*)b->gi[old_n_gi+1].data)[isample] = (int)lk;
-
- // For MDV annotation
- int dv;
- if ( als && idv>=0 && (dv=((uint16_t*)b->gi[idv].data)[isample]) )
- {
- if ( max_dv < dv ) max_dv = dv;
- }
-
- // For HWE annotation; multiple ALT alleles treated as one
- if ( !als ) nRR++;
- else if ( !(als>>3&7) || !(als&7) ) nRA++;
- else nAA++;
-
- gts |= 1<<(als>>3&7) | 1<<(als&7);
- ac[ als>>3&7 ]++;
- ac[ als&7 ]++;
- }
- free(pdg);
- bcf_fit_alt(b,max_als);
-
- // The VCF spec is ambiguous about QUAL: is it the probability of anything else
- // (that is QUAL(non-ref) = P(ref)+P(any non-ref other than ALT)) or is it
- // QUAL(non-ref)=P(ref) and QUAL(ref)=1-P(ref)? Assuming the latter.
- b->qual = gts>1 ? -4.343*(ref_lk - lk_sum) : -4.343*log(1-exp(ref_lk - lk_sum));
- if ( b->qual>999 ) b->qual = 999;
-
- // Prepare BCF for output: ref, alt, filter, info, format
- memset(&s, 0, sizeof(kstring_t)); kputc('\0', &s);
- kputs(b->ref, &s); kputc('\0', &s);
- kputs(b->alt, &s); kputc('\0', &s); kputc('\0', &s);
- {
- int an=0, nalts=0;
- for (i=0; i<nals; i++)
- {
- an += ac[i];
- if ( i>0 && ac[i] ) nalts++;
- }
- ksprintf(&s, "AN=%d;", an);
- if ( nalts )
- {
- kputs("AC=", &s);
- for (i=1; i<nals; i++)
- {
- if ( !(gts&1<<i) ) continue;
- nalts--;
- ksprintf(&s,"%d", ac[i]);
- if ( nalts>0 ) kputc(',', &s);
- }
- kputc(';', &s);
- }
- kputs(b->info, &s);
- anno16_t a;
- int has_I16 = test16(b, &a) >= 0? 1 : 0;
- if (has_I16 )
- {
- if ( a.is_tested) ksprintf(&s, ";PV4=%.2g,%.2g,%.2g,%.2g", a.p[0], a.p[1], a.p[2], a.p[3]);
- ksprintf(&s, ";DP4=%d,%d,%d,%d;MQ=%d", a.d[0], a.d[1], a.d[2], a.d[3], a.mq);
- ksprintf(&s, ";QBD=%e", b->qual/(a.d[0] + a.d[1] + a.d[2] + a.d[3]));
- if ( max_dv ) ksprintf(&s, ";MDV=%d", max_dv);
- }
- if ( nAA+nRA )
- {
- double hwe = calc_hwe(nAA, nRR, nRA);
- ksprintf(&s, ";HWE=%e", hwe);
- }
- kputc('\0', &s);
- rm_info(&s, "I16=");
- rm_info(&s, "QS=");
- }
- kputs(b->fmt, &s); kputc('\0', &s);
- free(b->str);
- b->m_str = s.m; b->l_str = s.l; b->str = s.s;
- bcf_sync(b);
-
- return gts;
-}
-
-static int cal_pdg(const bcf1_t *b, bcf_p1aux_t *ma)
-{
- int i, j;
- long *p, tmp;
- p = alloca(b->n_alleles * sizeof(long));
- memset(p, 0, sizeof(long) * b->n_alleles);
- for (j = 0; j < ma->n; ++j) {
- const uint8_t *pi = ma->PL + j * ma->PL_len;
- double *pdg = ma->pdg + j * 3;
- pdg[0] = ma->q2p[pi[2]]; pdg[1] = ma->q2p[pi[1]]; pdg[2] = ma->q2p[pi[0]];
- for (i = 0; i < b->n_alleles; ++i)
- p[i] += (int)pi[(i+1)*(i+2)/2-1];
- }
- for (i = 0; i < b->n_alleles; ++i) p[i] = p[i]<<4 | i;
- for (i = 1; i < b->n_alleles; ++i) // insertion sort
- for (j = i; j > 0 && p[j] < p[j-1]; --j)
- tmp = p[j], p[j] = p[j-1], p[j-1] = tmp;
- for (i = b->n_alleles - 1; i >= 0; --i)
- if ((p[i]&0xf) == 0) break;
- return i;
-}
-
-
-int bcf_p1_call_gt(const bcf_p1aux_t *ma, double f0, int k)
-{
- double sum, g[3];
- double max, f3[3], *pdg = ma->pdg + k * 3;
- int q, i, max_i, ploidy;
- ploidy = ma->ploidy? ma->ploidy[k] : 2;
- if (ploidy == 2) {
- f3[0] = (1.-f0)*(1.-f0); f3[1] = 2.*f0*(1.-f0); f3[2] = f0*f0;
- } else {
- f3[0] = 1. - f0; f3[1] = 0; f3[2] = f0;
- }
- for (i = 0, sum = 0.; i < 3; ++i)
- sum += (g[i] = pdg[i] * f3[i]);
- for (i = 0, max = -1., max_i = 0; i < 3; ++i) {
- g[i] /= sum;
- if (g[i] > max) max = g[i], max_i = i;
- }
- max = 1. - max;
- if (max < 1e-308) max = 1e-308;
- q = (int)(-4.343 * log(max) + .499);
- if (q > 99) q = 99;
- return q<<2|max_i;
-}
-
-#define TINY 1e-20
-
-static void mc_cal_y_core(bcf_p1aux_t *ma, int beg)
-{
- double *z[2], *tmp, *pdg;
- int _j, last_min, last_max;
- assert(beg == 0 || ma->M == ma->n*2);
- z[0] = ma->z;
- z[1] = ma->zswap;
- pdg = ma->pdg;
- memset(z[0], 0, sizeof(double) * (ma->M + 1));
- memset(z[1], 0, sizeof(double) * (ma->M + 1));
- z[0][0] = 1.;
- last_min = last_max = 0;
- ma->t = 0.;
- if (ma->M == ma->n * 2) {
- int M = 0;
- for (_j = beg; _j < ma->n; ++_j) {
- int k, j = _j - beg, _min = last_min, _max = last_max, M0;
- double p[3], sum;
- M0 = M; M += 2;
- pdg = ma->pdg + _j * 3;
- p[0] = pdg[0]; p[1] = 2. * pdg[1]; p[2] = pdg[2];
- for (; _min < _max && z[0][_min] < TINY; ++_min) z[0][_min] = z[1][_min] = 0.;
- for (; _max > _min && z[0][_max] < TINY; --_max) z[0][_max] = z[1][_max] = 0.;
- _max += 2;
- if (_min == 0) k = 0, z[1][k] = (M0-k+1) * (M0-k+2) * p[0] * z[0][k];
- if (_min <= 1) k = 1, z[1][k] = (M0-k+1) * (M0-k+2) * p[0] * z[0][k] + k*(M0-k+2) * p[1] * z[0][k-1];
- for (k = _min < 2? 2 : _min; k <= _max; ++k)
- z[1][k] = (M0-k+1)*(M0-k+2) * p[0] * z[0][k] + k*(M0-k+2) * p[1] * z[0][k-1] + k*(k-1)* p[2] * z[0][k-2];
- for (k = _min, sum = 0.; k <= _max; ++k) sum += z[1][k];
- ma->t += log(sum / (M * (M - 1.)));
- for (k = _min; k <= _max; ++k) z[1][k] /= sum;
- if (_min >= 1) z[1][_min-1] = 0.;
- if (_min >= 2) z[1][_min-2] = 0.;
- if (j < ma->n - 1) z[1][_max+1] = z[1][_max+2] = 0.;
- if (_j == ma->n1 - 1) { // set pop1; ma->n1==-1 when unset
- ma->t1 = ma->t;
- memcpy(ma->z1, z[1], sizeof(double) * (ma->n1 * 2 + 1));
- }
- tmp = z[0]; z[0] = z[1]; z[1] = tmp;
- last_min = _min; last_max = _max;
- }
- //for (_j = 0; _j < last_min; ++_j) z[0][_j] = 0.; // TODO: are these necessary?
- //for (_j = last_max + 1; _j < ma->M; ++_j) z[0][_j] = 0.;
- } else { // this block is very similar to the block above; these two might be merged in future
- int j, M = 0;
- for (j = 0; j < ma->n; ++j) {
- int k, M0, _min = last_min, _max = last_max;
- double p[3], sum;
- pdg = ma->pdg + j * 3;
- for (; _min < _max && z[0][_min] < TINY; ++_min) z[0][_min] = z[1][_min] = 0.;
- for (; _max > _min && z[0][_max] < TINY; --_max) z[0][_max] = z[1][_max] = 0.;
- M0 = M;
- M += ma->ploidy[j];
- if (ma->ploidy[j] == 1) {
- p[0] = pdg[0]; p[1] = pdg[2];
- _max++;
- if (_min == 0) k = 0, z[1][k] = (M0+1-k) * p[0] * z[0][k];
- for (k = _min < 1? 1 : _min; k <= _max; ++k)
- z[1][k] = (M0+1-k) * p[0] * z[0][k] + k * p[1] * z[0][k-1];
- for (k = _min, sum = 0.; k <= _max; ++k) sum += z[1][k];
- ma->t += log(sum / M);
- for (k = _min; k <= _max; ++k) z[1][k] /= sum;
- if (_min >= 1) z[1][_min-1] = 0.;
- if (j < ma->n - 1) z[1][_max+1] = 0.;
- } else if (ma->ploidy[j] == 2) {
- p[0] = pdg[0]; p[1] = 2 * pdg[1]; p[2] = pdg[2];
- _max += 2;
- if (_min == 0) k = 0, z[1][k] = (M0-k+1) * (M0-k+2) * p[0] * z[0][k];
- if (_min <= 1) k = 1, z[1][k] = (M0-k+1) * (M0-k+2) * p[0] * z[0][k] + k*(M0-k+2) * p[1] * z[0][k-1];
- for (k = _min < 2? 2 : _min; k <= _max; ++k)
- z[1][k] = (M0-k+1)*(M0-k+2) * p[0] * z[0][k] + k*(M0-k+2) * p[1] * z[0][k-1] + k*(k-1)* p[2] * z[0][k-2];
- for (k = _min, sum = 0.; k <= _max; ++k) sum += z[1][k];
- ma->t += log(sum / (M * (M - 1.)));
- for (k = _min; k <= _max; ++k) z[1][k] /= sum;
- if (_min >= 1) z[1][_min-1] = 0.;
- if (_min >= 2) z[1][_min-2] = 0.;
- if (j < ma->n - 1) z[1][_max+1] = z[1][_max+2] = 0.;
- }
- tmp = z[0]; z[0] = z[1]; z[1] = tmp;
- last_min = _min; last_max = _max;
- }
- }
- if (z[0] != ma->z) memcpy(ma->z, z[0], sizeof(double) * (ma->M + 1));
- if (bcf_p1_fp_lk)
- gzwrite(bcf_p1_fp_lk, ma->z, sizeof(double) * (ma->M + 1));
-}
-
-static void mc_cal_y(bcf_p1aux_t *ma)
-{
- if (ma->n1 > 0 && ma->n1 < ma->n && ma->M == ma->n * 2) { // NB: ma->n1 is ineffective when there are haploid samples
- int k;
- long double x;
- memset(ma->z1, 0, sizeof(double) * (2 * ma->n1 + 1));
- memset(ma->z2, 0, sizeof(double) * (2 * (ma->n - ma->n1) + 1));
- ma->t1 = ma->t2 = 0.;
- mc_cal_y_core(ma, ma->n1);
- ma->t2 = ma->t;
- memcpy(ma->z2, ma->z, sizeof(double) * (2 * (ma->n - ma->n1) + 1));
- mc_cal_y_core(ma, 0);
- // rescale z
- x = expl(ma->t - (ma->t1 + ma->t2));
- for (k = 0; k <= ma->M; ++k) ma->z[k] *= x;
- } else mc_cal_y_core(ma, 0);
-}
-
-#define CONTRAST_TINY 1e-30
-
-extern double kf_gammaq(double s, double z); // incomplete gamma function for chi^2 test
-
-static inline double chi2_test(int a, int b, int c, int d)
-{
- double x, z;
- x = (double)(a+b) * (c+d) * (b+d) * (a+c);
- if (x == 0.) return 1;
- z = a * d - b * c;
- return kf_gammaq(.5, .5 * z * z * (a+b+c+d) / x);
-}
-
-// chi2=(a+b+c+d)(ad-bc)^2/[(a+b)(c+d)(a+c)(b+d)]
-static inline double contrast2_aux(const bcf_p1aux_t *p1, double sum, int k1, int k2, double x[3])
-{
- double p = p1->phi[k1+k2] * p1->z1[k1] * p1->z2[k2] / sum * p1->hg[k1][k2];
- int n1 = p1->n1, n2 = p1->n - p1->n1;
- if (p < CONTRAST_TINY) return -1;
- if (.5*k1/n1 < .5*k2/n2) x[1] += p;
- else if (.5*k1/n1 > .5*k2/n2) x[2] += p;
- else x[0] += p;
- return p * chi2_test(k1, k2, (n1<<1) - k1, (n2<<1) - k2);
-}
-
-static double contrast2(bcf_p1aux_t *p1, double ret[3])
-{
- int k, k1, k2, k10, k20, n1, n2;
- double sum;
- // get n1 and n2
- n1 = p1->n1; n2 = p1->n - p1->n1;
- if (n1 <= 0 || n2 <= 0) return 0.;
- if (p1->hg == 0) { // initialize the hypergeometric distribution
- /* NB: the hg matrix may take a lot of memory when there are many samples. There is a way
- to avoid precomputing this matrix, but it is slower and quite intricate. The following
- computation in this block can be accelerated with a similar strategy, but perhaps this
- is not a serious concern for now. */
- double tmp = lgamma(2*(n1+n2)+1) - (lgamma(2*n1+1) + lgamma(2*n2+1));
- p1->hg = calloc(2*n1+1, sizeof(void*));
- for (k1 = 0; k1 <= 2*n1; ++k1) {
- p1->hg[k1] = calloc(2*n2+1, sizeof(double));
- for (k2 = 0; k2 <= 2*n2; ++k2)
- p1->hg[k1][k2] = exp(lgamma(k1+k2+1) + lgamma(p1->M-k1-k2+1) - (lgamma(k1+1) + lgamma(k2+1) + lgamma(2*n1-k1+1) + lgamma(2*n2-k2+1) + tmp));
- }
- }
- { // compute
- long double suml = 0;
- for (k = 0; k <= p1->M; ++k) suml += p1->phi[k] * p1->z[k];
- sum = suml;
- }
- { // get the max k1 and k2
- double max;
- int max_k;
- for (k = 0, max = 0, max_k = -1; k <= 2*n1; ++k) {
- double x = p1->phi1[k] * p1->z1[k];
- if (x > max) max = x, max_k = k;
- }
- k10 = max_k;
- for (k = 0, max = 0, max_k = -1; k <= 2*n2; ++k) {
- double x = p1->phi2[k] * p1->z2[k];
- if (x > max) max = x, max_k = k;
- }
- k20 = max_k;
- }
- { // We can do the following with one nested loop, but that is an O(N^2) thing. The following code block is much faster for large N.
- double x[3], y;
- long double z = 0., L[2];
- x[0] = x[1] = x[2] = 0; L[0] = L[1] = 0;
- for (k1 = k10; k1 >= 0; --k1) {
- for (k2 = k20; k2 >= 0; --k2) {
- if ((y = contrast2_aux(p1, sum, k1, k2, x)) < 0) break;
- else z += y;
- }
- for (k2 = k20 + 1; k2 <= 2*n2; ++k2) {
- if ((y = contrast2_aux(p1, sum, k1, k2, x)) < 0) break;
- else z += y;
- }
- }
- ret[0] = x[0]; ret[1] = x[1]; ret[2] = x[2];
- x[0] = x[1] = x[2] = 0;
- for (k1 = k10 + 1; k1 <= 2*n1; ++k1) {
- for (k2 = k20; k2 >= 0; --k2) {
- if ((y = contrast2_aux(p1, sum, k1, k2, x)) < 0) break;
- else z += y;
- }
- for (k2 = k20 + 1; k2 <= 2*n2; ++k2) {
- if ((y = contrast2_aux(p1, sum, k1, k2, x)) < 0) break;
- else z += y;
- }
- }
- ret[0] += x[0]; ret[1] += x[1]; ret[2] += x[2];
- if (ret[0] + ret[1] + ret[2] < 0.95) { // in case of bad things happened
- ret[0] = ret[1] = ret[2] = 0; L[0] = L[1] = 0;
- for (k1 = 0, z = 0.; k1 <= 2*n1; ++k1)
- for (k2 = 0; k2 <= 2*n2; ++k2)
- if ((y = contrast2_aux(p1, sum, k1, k2, ret)) >= 0) z += y;
- if (ret[0] + ret[1] + ret[2] < 0.95) // It seems that this may be caused by floating point errors. I do not really understand why...
- z = 1.0, ret[0] = ret[1] = ret[2] = 1./3;
- }
- return (double)z;
- }
-}
-
-static double mc_cal_afs(bcf_p1aux_t *ma, double *p_ref_folded, double *p_var_folded)
-{
- int k;
- long double sum = 0., sum2;
- double *phi = ma->is_indel? ma->phi_indel : ma->phi;
- memset(ma->afs1, 0, sizeof(double) * (ma->M + 1));
- mc_cal_y(ma);
- // compute AFS
- for (k = 0, sum = 0.; k <= ma->M; ++k)
- sum += (long double)phi[k] * ma->z[k];
- for (k = 0; k <= ma->M; ++k) {
- ma->afs1[k] = phi[k] * ma->z[k] / sum;
- if (isnan(ma->afs1[k]) || isinf(ma->afs1[k])) return -1.;
- }
- // compute folded variant probability
- for (k = 0, sum = 0.; k <= ma->M; ++k)
- sum += (long double)(phi[k] + phi[ma->M - k]) / 2. * ma->z[k];
- for (k = 1, sum2 = 0.; k < ma->M; ++k)
- sum2 += (long double)(phi[k] + phi[ma->M - k]) / 2. * ma->z[k];
- *p_var_folded = sum2 / sum;
- *p_ref_folded = (phi[k] + phi[ma->M - k]) / 2. * (ma->z[ma->M] + ma->z[0]) / sum;
- // the expected frequency
- for (k = 0, sum = 0.; k <= ma->M; ++k) {
- ma->afs[k] += ma->afs1[k];
- sum += k * ma->afs1[k];
- }
- return sum / ma->M;
-}
-
-int bcf_p1_cal(const bcf1_t *b, int do_contrast, bcf_p1aux_t *ma, bcf_p1rst_t *rst)
-{
- int i, k;
- long double sum = 0.;
- ma->is_indel = bcf_is_indel(b);
- rst->perm_rank = -1;
- // set PL and PL_len
- for (i = 0; i < b->n_gi; ++i) {
- if (b->gi[i].fmt == bcf_str2int("PL", 2)) {
- ma->PL = (uint8_t*)b->gi[i].data;
- ma->PL_len = b->gi[i].len;
- break;
- }
- }
- if (i == b->n_gi) return -1; // no PL
- if (b->n_alleles < 2) return -1; // FIXME: find a better solution
- //
- rst->rank0 = cal_pdg(b, ma);
- rst->f_exp = mc_cal_afs(ma, &rst->p_ref_folded, &rst->p_var_folded);
- rst->p_ref = ma->afs1[ma->M];
- for (k = 0, sum = 0.; k < ma->M; ++k)
- sum += ma->afs1[k];
- rst->p_var = (double)sum;
- { // compute the allele count
- double max = -1;
- rst->ac = -1;
- for (k = 0; k <= ma->M; ++k)
- if (max < ma->z[k]) max = ma->z[k], rst->ac = k;
- rst->ac = ma->M - rst->ac;
- }
- // calculate f_flat and f_em
- for (k = 0, sum = 0.; k <= ma->M; ++k)
- sum += (long double)ma->z[k];
- rst->f_flat = 0.;
- for (k = 0; k <= ma->M; ++k) {
- double p = ma->z[k] / sum;
- rst->f_flat += k * p;
- }
- rst->f_flat /= ma->M;
- { // estimate equal-tail credible interval (95% level)
- int l, h;
- double p;
- for (i = 0, p = 0.; i <= ma->M; ++i)
- if (p + ma->afs1[i] > 0.025) break;
- else p += ma->afs1[i];
- l = i;
- for (i = ma->M, p = 0.; i >= 0; --i)
- if (p + ma->afs1[i] > 0.025) break;
- else p += ma->afs1[i];
- h = i;
- rst->cil = (double)(ma->M - h) / ma->M; rst->cih = (double)(ma->M - l) / ma->M;
- }
- if (ma->n1 > 0) { // compute LRT
- double max0, max1, max2;
- for (k = 0, max0 = -1; k <= ma->M; ++k)
- if (max0 < ma->z[k]) max0 = ma->z[k];
- for (k = 0, max1 = -1; k <= ma->n1 * 2; ++k)
- if (max1 < ma->z1[k]) max1 = ma->z1[k];
- for (k = 0, max2 = -1; k <= ma->M - ma->n1 * 2; ++k)
- if (max2 < ma->z2[k]) max2 = ma->z2[k];
- rst->lrt = log(max1 * max2 / max0);
- rst->lrt = rst->lrt < 0? 1 : kf_gammaq(.5, rst->lrt);
- } else rst->lrt = -1.0;
- rst->cmp[0] = rst->cmp[1] = rst->cmp[2] = rst->p_chi2 = -1.0;
- if (do_contrast && rst->p_var > 0.5) // skip contrast2() if the locus is a strong non-variant
- rst->p_chi2 = contrast2(ma, rst->cmp);
- return 0;
-}
-
-void bcf_p1_dump_afs(bcf_p1aux_t *ma)
-{
- int k;
- fprintf(stderr, "[afs]");
- for (k = 0; k <= ma->M; ++k)
- fprintf(stderr, " %d:%.3lf", k, ma->afs[ma->M - k]);
- fprintf(stderr, "\n");
- memset(ma->afs, 0, sizeof(double) * (ma->M + 1));
-}
diff --git a/sam/bcftools/prob1.h b/sam/bcftools/prob1.h
deleted file mode 100644
index 6f93155..0000000
--- a/sam/bcftools/prob1.h
+++ /dev/null
@@ -1,49 +0,0 @@
-#ifndef BCF_PROB1_H
-#define BCF_PROB1_H
-
-#include "bcf.h"
-
-struct __bcf_p1aux_t;
-typedef struct __bcf_p1aux_t bcf_p1aux_t;
-
-typedef struct {
- int rank0, perm_rank; // NB: perm_rank is always set to -1 by bcf_p1_cal()
- int ac; // ML alternative allele count
- double f_exp, f_flat, p_ref_folded, p_ref, p_var_folded, p_var;
- double cil, cih;
- double cmp[3], p_chi2, lrt; // used by contrast2()
-} bcf_p1rst_t;
-
-typedef struct {
- double p[4];
- int mq, depth, is_tested, d[4];
-} anno16_t;
-
-#define MC_PTYPE_FULL 1
-#define MC_PTYPE_COND2 2
-#define MC_PTYPE_FLAT 3
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
- bcf_p1aux_t *bcf_p1_init(int n, uint8_t *ploidy);
- void bcf_p1_init_prior(bcf_p1aux_t *ma, int type, double theta);
- void bcf_p1_init_subprior(bcf_p1aux_t *ma, int type, double theta);
- void bcf_p1_destroy(bcf_p1aux_t *ma);
- void bcf_p1_set_ploidy(bcf1_t *b, bcf_p1aux_t *ma);
- int bcf_p1_cal(const bcf1_t *b, int do_contrast, bcf_p1aux_t *ma, bcf_p1rst_t *rst);
- int call_multiallelic_gt(bcf1_t *b, bcf_p1aux_t *ma, double threshold, int var_only);
- int bcf_p1_call_gt(const bcf_p1aux_t *ma, double f0, int k);
- void bcf_p1_dump_afs(bcf_p1aux_t *ma);
- int bcf_p1_read_prior(bcf_p1aux_t *ma, const char *fn);
- int bcf_p1_set_n1(bcf_p1aux_t *b, int n1);
- void bcf_p1_set_folded(bcf_p1aux_t *p1a); // only effective when set_n1() is not called
-
- int bcf_em1(const bcf1_t *b, int n1, int flag, double x[10]);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/sam/bcftools/vcf.c b/sam/bcftools/vcf.c
deleted file mode 100644
index e8526a3..0000000
--- a/sam/bcftools/vcf.c
+++ /dev/null
@@ -1,249 +0,0 @@
-#include <zlib.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include "bcf.h"
-#include "kstring.h"
-#include "kseq.h"
-KSTREAM_INIT(gzFile, gzread, 4096)
-
-typedef struct {
- gzFile fp;
- FILE *fpout;
- kstream_t *ks;
- void *refhash;
- kstring_t line;
- int max_ref;
-} vcf_t;
-
-bcf_hdr_t *vcf_hdr_read(bcf_t *bp)
-{
- kstring_t meta, smpl;
- int dret;
- vcf_t *v;
- bcf_hdr_t *h;
- if (!bp->is_vcf) return bcf_hdr_read(bp);
- h = calloc(1, sizeof(bcf_hdr_t));
- v = (vcf_t*)bp->v;
- v->line.l = 0;
- memset(&meta, 0, sizeof(kstring_t));
- memset(&smpl, 0, sizeof(kstring_t));
- while (ks_getuntil(v->ks, '\n', &v->line, &dret) >= 0) {
- if (v->line.l < 2) continue;
- if (v->line.s[0] != '#') {
- free(meta.s);
- free(smpl.s);
- free(h);
- return 0; // no sample line
- }
- if (v->line.s[0] == '#' && v->line.s[1] == '#') {
- kputsn(v->line.s, v->line.l, &meta); kputc('\n', &meta);
- } else if (v->line.s[0] == '#') {
- int k;
- ks_tokaux_t aux;
- char *p;
- for (p = kstrtok(v->line.s, "\t\n", &aux), k = 0; p; p = kstrtok(0, 0, &aux), ++k) {
- if (k >= 9) {
- kputsn(p, aux.p - p, &smpl);
- kputc('\0', &smpl);
- }
- }
- break;
- }
- }
- kputc('\0', &meta);
- h->name = 0;
- h->sname = smpl.s; h->l_smpl = smpl.l;
- h->txt = meta.s; h->l_txt = meta.l;
- bcf_hdr_sync(h);
- return h;
-}
-
-bcf_t *vcf_open(const char *fn, const char *mode)
-{
- bcf_t *bp;
- vcf_t *v;
- if (strchr(mode, 'b')) return bcf_open(fn, mode);
- bp = calloc(1, sizeof(bcf_t));
- v = calloc(1, sizeof(vcf_t));
- bp->is_vcf = 1;
- bp->v = v;
- v->refhash = bcf_str2id_init();
- if (strchr(mode, 'r')) {
- v->fp = strcmp(fn, "-")? gzopen(fn, "r") : gzdopen(fileno(stdin), "r");
- v->ks = ks_init(v->fp);
- } else if (strchr(mode, 'w'))
- v->fpout = strcmp(fn, "-")? fopen(fn, "w") : stdout;
- return bp;
-}
-
-int vcf_dictread(bcf_t *bp, bcf_hdr_t *h, const char *fn)
-{
- vcf_t *v;
- gzFile fp;
- kstream_t *ks;
- kstring_t s, rn;
- int dret;
- if (bp == 0) return -1;
- if (!bp->is_vcf) return 0;
- s.l = s.m = 0; s.s = 0;
- rn.m = rn.l = h->l_nm; rn.s = h->name;
- v = (vcf_t*)bp->v;
- fp = gzopen(fn, "r");
- ks = ks_init(fp);
- while (ks_getuntil(ks, 0, &s, &dret) >= 0) {
- bcf_str2id_add(v->refhash, strdup(s.s));
- kputs(s.s, &rn); kputc('\0', &rn);
- if (dret != '\n') ks_getuntil(ks, '\n', &s, &dret);
- }
- ks_destroy(ks);
- gzclose(fp);
- h->l_nm = rn.l; h->name = rn.s;
- bcf_hdr_sync(h);
- free(s.s);
- return 0;
-}
-
-int vcf_close(bcf_t *bp)
-{
- vcf_t *v;
- if (bp == 0) return -1;
- if (!bp->is_vcf) return bcf_close(bp);
- v = (vcf_t*)bp->v;
- if (v->fp) {
- ks_destroy(v->ks);
- gzclose(v->fp);
- }
- if (v->fpout) fclose(v->fpout);
- free(v->line.s);
- bcf_str2id_thorough_destroy(v->refhash);
- free(v);
- free(bp);
- return 0;
-}
-
-int vcf_hdr_write(bcf_t *bp, const bcf_hdr_t *h)
-{
- vcf_t *v = (vcf_t*)bp->v;
- int i, has_ver = 0;
- if (!bp->is_vcf) return bcf_hdr_write(bp, h);
- if (h->l_txt > 0) {
- if (strstr(h->txt, "##fileformat=")) has_ver = 1;
- if (has_ver == 0) fprintf(v->fpout, "##fileformat=VCFv4.1\n");
- fwrite(h->txt, 1, h->l_txt - 1, v->fpout);
- }
- if (h->l_txt == 0) fprintf(v->fpout, "##fileformat=VCFv4.1\n");
- fprintf(v->fpout, "#CHROM\tPOS\tID\tREF\tALT\tQUAL\tFILTER\tINFO\tFORMAT");
- for (i = 0; i < h->n_smpl; ++i)
- fprintf(v->fpout, "\t%s", h->sns[i]);
- fputc('\n', v->fpout);
- return 0;
-}
-
-int vcf_write(bcf_t *bp, bcf_hdr_t *h, bcf1_t *b)
-{
- vcf_t *v = (vcf_t*)bp->v;
- extern void bcf_fmt_core(const bcf_hdr_t *h, bcf1_t *b, kstring_t *s);
- if (!bp->is_vcf) return bcf_write(bp, h, b);
- bcf_fmt_core(h, b, &v->line);
- fwrite(v->line.s, 1, v->line.l, v->fpout);
- fputc('\n', v->fpout);
- return v->line.l + 1;
-}
-
-int vcf_read(bcf_t *bp, bcf_hdr_t *h, bcf1_t *b)
-{
- int dret, k, i, sync = 0;
- vcf_t *v = (vcf_t*)bp->v;
- char *p, *q;
- kstring_t str, rn;
- ks_tokaux_t aux, a2;
- if (!bp->is_vcf) return bcf_read(bp, h, b);
- v->line.l = 0;
- str.l = 0; str.m = b->m_str; str.s = b->str;
- rn.l = rn.m = h->l_nm; rn.s = h->name;
- if (ks_getuntil(v->ks, '\n', &v->line, &dret) < 0) return -1;
- b->n_smpl = h->n_smpl;
- for (p = kstrtok(v->line.s, "\t", &aux), k = 0; p; p = kstrtok(0, 0, &aux), ++k) {
- *(char*)aux.p = 0;
- if (k == 0) { // ref
- int tid = bcf_str2id(v->refhash, p);
- if (tid < 0) {
- tid = bcf_str2id_add(v->refhash, strdup(p));
- kputs(p, &rn); kputc('\0', &rn);
- sync = 1;
- }
- b->tid = tid;
- } else if (k == 1) { // pos
- b->pos = atoi(p) - 1;
- } else if (k == 5) { // qual
- b->qual = (p[0] >= '0' && p[0] <= '9')? atof(p) : 0;
- } else if (k <= 8) { // variable length strings
- kputs(p, &str); kputc('\0', &str);
- b->l_str = str.l; b->m_str = str.m; b->str = str.s;
- if (k == 8) bcf_sync(b);
- } else { // k > 9
- if (strncmp(p, "./.", 3) == 0) {
- for (i = 0; i < b->n_gi; ++i) {
- if (b->gi[i].fmt == bcf_str2int("GT", 2)) {
- ((uint8_t*)b->gi[i].data)[k-9] = 1<<7;
- } else if (b->gi[i].fmt == bcf_str2int("GQ", 2)) {
- ((uint8_t*)b->gi[i].data)[k-9] = 0;
- } else if (b->gi[i].fmt == bcf_str2int("SP", 2)) {
- ((int32_t*)b->gi[i].data)[k-9] = 0;
- } else if (b->gi[i].fmt == bcf_str2int("DP", 2) || b->gi[i].fmt == bcf_str2int("DV", 2)) {
- ((uint16_t*)b->gi[i].data)[k-9] = 0;
- } else if (b->gi[i].fmt == bcf_str2int("PL", 2)) {
- int y = b->n_alleles * (b->n_alleles + 1) / 2;
- memset((uint8_t*)b->gi[i].data + (k - 9) * y, 0, y);
- } else if (b->gi[i].fmt == bcf_str2int("GL", 2)) {
- int y = b->n_alleles * (b->n_alleles + 1) / 2;
- memset((float*)b->gi[i].data + (k - 9) * y, 0, y * 4);
- }
- }
- goto endblock;
- }
- for (q = kstrtok(p, ":", &a2), i = 0; q && i < b->n_gi; q = kstrtok(0, 0, &a2), ++i) {
- if (b->gi[i].fmt == bcf_str2int("GT", 2)) {
- ((uint8_t*)b->gi[i].data)[k-9] = (q[0] - '0')<<3 | (q[2] - '0') | (q[1] == '/'? 0 : 1) << 6;
- } else if (b->gi[i].fmt == bcf_str2int("GQ", 2)) {
- double _x = strtod(q, &q);
- int x = (int)(_x + .499);
- if (x > 255) x = 255;
- ((uint8_t*)b->gi[i].data)[k-9] = x;
- } else if (b->gi[i].fmt == bcf_str2int("SP", 2)) {
- int x = strtol(q, &q, 10);
- if (x > 0xffff) x = 0xffff;
- ((uint32_t*)b->gi[i].data)[k-9] = x;
- } else if (b->gi[i].fmt == bcf_str2int("DP", 2) || b->gi[i].fmt == bcf_str2int("DV", 2)) {
- int x = strtol(q, &q, 10);
- if (x > 0xffff) x = 0xffff;
- ((uint16_t*)b->gi[i].data)[k-9] = x;
- } else if (b->gi[i].fmt == bcf_str2int("PL", 2)) {
- int x, y, j;
- uint8_t *data = (uint8_t*)b->gi[i].data;
- y = b->n_alleles * (b->n_alleles + 1) / 2;
- for (j = 0; j < y; ++j) {
- x = strtol(q, &q, 10);
- if (x > 255) x = 255;
- data[(k-9) * y + j] = x;
- ++q;
- }
- } else if (b->gi[i].fmt == bcf_str2int("GL", 2)) {
- int j, y;
- float x, *data = (float*)b->gi[i].data;
- y = b->n_alleles * (b->n_alleles + 1) / 2;
- for (j = 0; j < y; ++j) {
- x = strtod(q, &q);
- data[(k-9) * y + j] = x > 0? -x/10. : x;
- ++q;
- }
- }
- }
- endblock: i = i;
- }
- }
- h->l_nm = rn.l; h->name = rn.s;
- if (sync) bcf_hdr_sync(h);
- return v->line.l + 1;
-}
diff --git a/sam/bcftools/vcfutils.pl b/sam/bcftools/vcfutils.pl
deleted file mode 100755
index 2b7ba0b..0000000
--- a/sam/bcftools/vcfutils.pl
+++ /dev/null
@@ -1,567 +0,0 @@
-#!/usr/bin/perl -w
-
-# Author: lh3
-
-use strict;
-use warnings;
-use Getopt::Std;
-
-&main;
-exit;
-
-sub main {
- &usage if (@ARGV < 1);
- my $command = shift(@ARGV);
- my %func = (subsam=>\&subsam, listsam=>\&listsam, fillac=>\&fillac, qstats=>\&qstats, varFilter=>\&varFilter,
- hapmap2vcf=>\&hapmap2vcf, ucscsnp2vcf=>\&ucscsnp2vcf, filter4vcf=>\&varFilter, ldstats=>\&ldstats,
- gapstats=>\&gapstats, splitchr=>\&splitchr, vcf2fq=>\&vcf2fq);
- die("Unknown command \"$command\".\n") if (!defined($func{$command}));
- &{$func{$command}};
-}
-
-sub splitchr {
- my %opts = (l=>5000000);
- getopts('l:', \%opts);
- my $l = $opts{l};
- die(qq/Usage: vcfutils.pl splitchr [-l $opts{l}] <in.fa.fai>\n/) if (@ARGV == 0 && -t STDIN);
- while (<>) {
- my @t = split;
- my $last = 0;
- for (my $i = 0; $i < $t[1];) {
- my $e = ($t[1] - $i) / $l < 1.1? $t[1] : $i + $l;
- print "$t[0]:".($i+1)."-$e\n";
- $i = $e;
- }
- }
-}
-
-sub subsam {
- die(qq/Usage: vcfutils.pl subsam <in.vcf> [samples]\n/) if (@ARGV == 0);
- my ($fh, %h);
- my $fn = shift(@ARGV);
- my @col;
- open($fh, ($fn =~ /\.gz$/)? "gzip -dc $fn |" : $fn) || die;
- $h{$_} = 1 for (@ARGV);
- while (<$fh>) {
- if (/^##/) {
- print;
- } elsif (/^#/) {
- my @t = split;
- my @s = @t[0..8]; # all fixed fields + FORMAT
- for (9 .. $#t) {
- if ($h{$t[$_]}) {
- push(@s, $t[$_]);
- push(@col, $_);
- }
- }
- pop(@s) if (@s == 9); # no sample selected; remove the FORMAT field
- print join("\t", @s), "\n";
- } else {
- my @t = split;
- if (@col == 0) {
- print join("\t", @t[0..7]), "\n";
- } else {
- print join("\t", @t[0..8], map {$t[$_]} @col), "\n";
- }
- }
- }
- close($fh);
-}
-
-sub listsam {
- die(qq/Usage: vcfutils.pl listsam <in.vcf>\n/) if (@ARGV == 0 && -t STDIN);
- while (<>) {
- if (/^#/ && !/^##/) {
- my @t = split;
- print join("\n", @t[9..$#t]), "\n";
- exit;
- }
- }
-}
-
-sub fillac {
- die(qq/Usage: vcfutils.pl fillac <in.vcf>\n\nNote: The GT field MUST BE present and always appear as the first field.\n/) if (@ARGV == 0 && -t STDIN);
- while (<>) {
- if (/^#/) {
- print;
- } else {
- my @t = split;
- my @c = (0, 0);
- my $n = 0;
- my $s = -1;
- @_ = split(":", $t[8]);
- for (0 .. $#_) {
- if ($_[$_] eq 'GT') { $s = $_; last; }
- }
- if ($s < 0) {
- print join("\t", @t), "\n";
- next;
- }
- for (9 .. $#t) {
- if ($t[$_] =~ /^0,0,0/) {
- } elsif ($t[$_] =~ /^([^\s:]+:){$s}(\d+).(\d+)/) {
- ++$c[$2]; ++$c[$3];
- $n += 2;
- }
- }
- my $AC = "AC=" . join("\t", @c[1..$#c]) . ";AN=$n";
- my $info = $t[7];
- $info =~ s/(;?)AC=(\d+)//;
- $info =~ s/(;?)AN=(\d+)//;
- if ($info eq '.') {
- $info = $AC;
- } else {
- $info .= ";$AC";
- }
- $t[7] = $info;
- print join("\t", @t), "\n";
- }
- }
-}
-
-sub ldstats {
- my %opts = (t=>0.9);
- getopts('t:', \%opts);
- die("Usage: vcfutils.pl ldstats [-t $opts{t}] <in.vcf>\n") if (@ARGV == 0 && -t STDIN);
- my $cutoff = $opts{t};
- my ($last, $lastchr) = (0x7fffffff, '');
- my ($x, $y, $n) = (0, 0, 0);
- while (<>) {
- if (/^([^#\s]+)\s(\d+)/) {
- my ($chr, $pos) = ($1, $2);
- if (/NEIR=([\d\.]+)/) {
- ++$n;
- ++$y, $x += $pos - $last if ($lastchr eq $chr && $pos > $last && $1 > $cutoff);
- }
- $last = $pos; $lastchr = $chr;
- }
- }
- print "Number of SNP intervals in strong LD (r > $opts{t}): $y\n";
- print "Fraction: ", $y/$n, "\n";
- print "Length: $x\n";
-}
-
-sub qstats {
- my %opts = (r=>'', s=>0.02, v=>undef);
- getopts('r:s:v', \%opts);
- die("Usage: vcfutils.pl qstats [-r ref.vcf] <in.vcf>\n
-Note: This command discards indels. Output: QUAL #non-indel #SNPs #transitions #joint ts/tv #joint/#ref #joint/#non-indel \n") if (@ARGV == 0 && -t STDIN);
- my %ts = (AG=>1, GA=>1, CT=>1, TC=>1);
- my %h = ();
- my $is_vcf = defined($opts{v})? 1 : 0;
- if ($opts{r}) { # read the reference positions
- my $fh;
- open($fh, $opts{r}) || die;
- while (<$fh>) {
- next if (/^#/);
- if ($is_vcf) {
- my @t = split;
- $h{$t[0],$t[1]} = $t[4];
- } else {
- $h{$1,$2} = 1 if (/^(\S+)\s+(\d+)/);
- }
- }
- close($fh);
- }
- my $hsize = scalar(keys %h);
- my @a;
- while (<>) {
- next if (/^#/);
- my @t = split;
- next if (length($t[3]) != 1 || uc($t[3]) eq 'N');
- $t[3] = uc($t[3]); $t[4] = uc($t[4]);
- my @s = split(',', $t[4]);
- $t[5] = 3 if ($t[5] eq '.' || $t[5] < 0);
- next if (length($s[0]) != 1);
- my $hit;
- if ($is_vcf) {
- $hit = 0;
- my $aa = $h{$t[0],$t[1]};
- if (defined($aa)) {
- my @aaa = split(",", $aa);
- for (@aaa) {
- $hit = 1 if ($_ eq $s[0]);
- }
- }
- } else {
- $hit = defined($h{$t[0],$t[1]})? 1 : 0;
- }
- push(@a, [$t[5], ($t[4] eq '.' || $t[4] eq $t[3])? 0 : 1, $ts{$t[3].$s[0]}? 1 : 0, $hit]);
- }
- push(@a, [-1, 0, 0, 0]); # end marker
- die("[qstats] No SNP data!\n") if (@a == 0);
- @a = sort {$b->[0]<=>$a->[0]} @a;
- my $next = $opts{s};
- my $last = $a[0];
- my @c = (0, 0, 0, 0);
- my @lc;
- $lc[1] = $lc[2] = 0;
- for my $p (@a) {
- if ($p->[0] == -1 || ($p->[0] != $last && $c[0]/@a > $next)) {
- my @x;
- $x[0] = sprintf("%.4f", $c[1]-$c[2]? $c[2] / ($c[1] - $c[2]) : 100);
- $x[1] = sprintf("%.4f", $hsize? $c[3] / $hsize : 0);
- $x[2] = sprintf("%.4f", $c[3] / $c[1]);
- my $a = $c[1] - $lc[1];
- my $b = $c[2] - $lc[2];
- $x[3] = sprintf("%.4f", $a-$b? $b / ($a-$b) : 100);
- print join("\t", $last, @c, @x), "\n";
- $next = $c[0]/@a + $opts{s};
- $lc[1] = $c[1]; $lc[2] = $c[2];
- }
- ++$c[0]; $c[1] += $p->[1]; $c[2] += $p->[2]; $c[3] += $p->[3];
- $last = $p->[0];
- }
-}
-
-sub varFilter {
- my %opts = (d=>2, D=>10000000, a=>2, W=>10, Q=>10, w=>3, p=>undef, 1=>1e-4, 2=>1e-100, 3=>0, 4=>1e-4, G=>0, S=>1000, e=>1e-4);
- getopts('pd:D:W:Q:w:a:1:2:3:4:G:S:e:', \%opts);
- die(qq/
-Usage: vcfutils.pl varFilter [options] <in.vcf>
-
-Options: -Q INT minimum RMS mapping quality for SNPs [$opts{Q}]
- -d INT minimum read depth [$opts{d}]
- -D INT maximum read depth [$opts{D}]
- -a INT minimum number of alternate bases [$opts{a}]
- -w INT SNP within INT bp around a gap to be filtered [$opts{w}]
- -W INT window size for filtering adjacent gaps [$opts{W}]
- -1 FLOAT min P-value for strand bias (given PV4) [$opts{1}]
- -2 FLOAT min P-value for baseQ bias [$opts{2}]
- -3 FLOAT min P-value for mapQ bias [$opts{3}]
- -4 FLOAT min P-value for end distance bias [$opts{4}]
- -e FLOAT min P-value for HWE (plus F<0) [$opts{e}]
- -p print filtered variants
-
-Note: Some of the filters rely on annotations generated by SAMtools\/BCFtools.
-\n/) if (@ARGV == 0 && -t STDIN);
-
- # calculate the window size
- my ($ol, $ow) = ($opts{W}, $opts{w});
- my $max_dist = $ol > $ow? $ol : $ow;
- # the core loop
- my @staging; # (indel_filtering_score, flt_tag, indel_span; chr, pos, ...)
- while (<>) {
- my @t = split;
- if (/^#/) {
- print; next;
- }
- next if ($t[4] eq '.'); # skip non-var sites
- next if ($t[3] eq 'N'); # skip sites with unknown ref ('N')
- # check if the site is a SNP
- my $type = 1; # SNP
- if (length($t[3]) > 1) {
- $type = 2; # MNP
- my @s = split(',', $t[4]);
- for (@s) {
- $type = 3 if (length != length($t[3]));
- }
- } else {
- my @s = split(',', $t[4]);
- for (@s) {
- $type = 3 if (length > 1);
- }
- }
- # clear the out-of-range elements
- while (@staging) {
- # Still on the same chromosome and the first element's window still affects this position?
- last if ($staging[0][3] eq $t[0] && $staging[0][4] + $staging[0][2] + $max_dist >= $t[1]);
- varFilter_aux(shift(@staging), $opts{p}); # calling a function is a bit slower, not much
- }
- my $flt = 0;
- # parse annotations
- my ($dp, $mq, $dp_alt) = (-1, -1, -1);
- if ($t[7] =~ /DP4=(\d+),(\d+),(\d+),(\d+)/i) {
- $dp = $1 + $2 + $3 + $4;
- $dp_alt = $3 + $4;
- }
- if ($t[7] =~ /DP=(\d+)/i) {
- $dp = $1;
- }
- $mq = $1 if ($t[7] =~ /MQ=(\d+)/i);
- # the depth and mapQ filter
- if ($dp >= 0) {
- if ($dp < $opts{d}) {
- $flt = 2;
- } elsif ($dp > $opts{D}) {
- $flt = 3;
- }
- }
- $flt = 4 if ($dp_alt >= 0 && $dp_alt < $opts{a});
- $flt = 1 if ($flt == 0 && $mq >= 0 && $mq < $opts{Q});
- $flt = 7 if ($flt == 0 && /PV4=([^,]+),([^,]+),([^,]+),([^,;\t]+)/
- && ($1<$opts{1} || $2<$opts{2} || $3<$opts{3} || $4<$opts{4}));
- $flt = 8 if ($flt == 0 && ((/MXGQ=(\d+)/ && $1 < $opts{G}) || (/MXSP=(\d+)/ && $1 >= $opts{S})));
- # HWE filter
- if ($t[7] =~ /G3=([^;,]+),([^;,]+),([^;,]+).*HWE=([^;,]+)/ && $4 < $opts{e}) {
- my $p = 2*$1 + $2;
- my $f = ($p > 0 && $p < 1)? 1 - $2 / ($p * (1-$p)) : 0;
- $flt = 9 if ($f < 0);
- }
-
- my $score = $t[5] * 100 + $dp_alt;
- my $rlen = length($t[3]) - 1; # $indel_score<0 for SNPs
- if ($flt == 0) {
- if ($type == 3) { # an indel
- # filtering SNPs and MNPs
- for my $x (@staging) {
- next if (($x->[0]&3) == 3 || $x->[1] || $x->[4] + $x->[2] + $ow < $t[1]);
- $x->[1] = 5;
- }
- # check the staging list for indel filtering
- for my $x (@staging) {
- next if (($x->[0]&3) != 3 || $x->[1] || $x->[4] + $x->[2] + $ol < $t[1]);
- if ($x->[0]>>2 < $score) {
- $x->[1] = 6;
- } else {
- $flt = 6; last;
- }
- }
- } else { # SNP or MNP
- for my $x (@staging) {
- next if (($x->[0]&3) != 3 || $x->[4] + $x->[2] + $ow < $t[1]);
- if ($x->[4] + length($x->[7]) - 1 == $t[1] && substr($x->[7], -1, 1) eq substr($t[4], 0, 1)
- && length($x->[7]) - length($x->[6]) == 1) {
- $x->[1] = 5;
- } else { $flt = 5; }
- last;
- }
- # check MNP
- for my $x (@staging) {
- next if (($x->[0]&3) == 3 || $x->[4] + $x->[2] < $t[1]);
- if ($x->[0]>>2 < $score) {
- $x->[1] = 8;
- } else {
- $flt = 8; last;
- }
- }
- }
- }
- push(@staging, [$score<<2|$type, $flt, $rlen, @t]);
- }
- # output the last few elements in the staging list
- while (@staging) {
- varFilter_aux(shift @staging, $opts{p});
- }
-}
-
-sub varFilter_aux {
- my ($first, $is_print) = @_;
- if ($first->[1] == 0) {
- print join("\t", @$first[3 .. @$first-1]), "\n";
- } elsif ($is_print) {
- print STDERR join("\t", substr("UQdDaGgPMS", $first->[1], 1), @$first[3 .. @$first-1]), "\n";
- }
-}
-
-sub gapstats {
- my (@c0, @c1);
- $c0[$_] = $c1[$_] = 0 for (0 .. 10000);
- while (<>) {
- next if (/^#/);
- my @t = split;
- next if (length($t[3]) == 1 && $t[4] =~ /^[A-Za-z](,[A-Za-z])*$/); # not an indel
- my @s = split(',', $t[4]);
- for my $x (@s) {
- my $l = length($x) - length($t[3]) + 5000;
- if ($x =~ /^-/) {
- $l = -(length($x) - 1) + 5000;
- } elsif ($x =~ /^\+/) {
- $l = length($x) - 1 + 5000;
- }
- $c0[$l] += 1 / @s;
- }
- }
- for (my $i = 0; $i < 10000; ++$i) {
- next if ($c0[$i] == 0);
- $c1[0] += $c0[$i];
- $c1[1] += $c0[$i] if (($i-5000)%3 == 0);
- printf("C\t%d\t%.2f\n", ($i-5000), $c0[$i]);
- }
- printf("3\t%d\t%d\t%.3f\n", $c1[0], $c1[1], $c1[1]/$c1[0]);
-}
-
-sub ucscsnp2vcf {
- die("Usage: vcfutils.pl <in.ucsc.snp>\n") if (@ARGV == 0 && -t STDIN);
- print "##fileformat=VCFv4.0\n";
- print join("\t", "#CHROM\tPOS\tID\tREF\tALT\tQUAL\tFILTER\tINFO"), "\n";
- while (<>) {
- my @t = split("\t");
- my $indel = ($t[9] =~ /^[ACGT](\/[ACGT])+$/)? 0 : 1;
- my $pos = $t[2] + 1;
- my @alt;
- push(@alt, $t[7]);
- if ($t[6] eq '-') {
- $t[9] = reverse($t[9]);
- $t[9] =~ tr/ACGTRYMKWSNacgtrymkwsn/TGCAYRKMWSNtgcayrkmwsn/;
- }
- my @a = split("/", $t[9]);
- for (@a) {
- push(@alt, $_) if ($_ ne $alt[0]);
- }
- if ($indel) {
- --$pos;
- for (0 .. $#alt) {
- $alt[$_] =~ tr/-//d;
- $alt[$_] = "N$alt[$_]";
- }
- }
- my $ref = shift(@alt);
- my $af = $t[13] > 0? ";AF=$t[13]" : '';
- my $valid = ($t[12] eq 'unknown')? '' : ";valid=$t[12]";
- my $info = "molType=$t[10];class=$t[11]$valid$af";
- print join("\t", $t[1], $pos, $t[4], $ref, join(",", @alt), 0, '.', $info), "\n";
- }
-}
-
-sub hapmap2vcf {
- die("Usage: vcfutils.pl <in.ucsc.snp> <in.hapmap>\n") if (@ARGV == 0);
- my $fn = shift(@ARGV);
- # parse UCSC SNP
- warn("Parsing UCSC SNPs...\n");
- my ($fh, %map);
- open($fh, ($fn =~ /\.gz$/)? "gzip -dc $fn |" : $fn) || die;
- while (<$fh>) {
- my @t = split;
- next if ($t[3] - $t[2] != 1); # not SNP
- @{$map{$t[4]}} = @t[1,3,7];
- }
- close($fh);
- # write VCF
- warn("Writing VCF...\n");
- print "##fileformat=VCFv4.0\n";
- while (<>) {
- my @t = split;
- if ($t[0] eq 'rs#') { # the first line
- print join("\t", "#CHROM\tPOS\tID\tREF\tALT\tQUAL\tFILTER\tINFO\tFORMAT", @t[11..$#t]), "\n";
- } else {
- next unless ($map{$t[0]});
- next if (length($t[1]) != 3); # skip non-SNPs
- my $a = \@{$map{$t[0]}};
- my $ref = $a->[2];
- my @u = split('/', $t[1]);
- if ($u[1] eq $ref) {
- $u[1] = $u[0]; $u[0] = $ref;
- } elsif ($u[0] ne $ref) { next; }
- my $alt = $u[1];
- my %w;
- $w{$u[0]} = 0; $w{$u[1]} = 1;
- my @s = (@$a[0,1], $t[0], $ref, $alt, 0, '.', '.', 'GT');
- my $is_tri = 0;
- for (@t[11..$#t]) {
- if ($_ eq 'NN') {
- push(@s, './.');
- } else {
- my @a = ($w{substr($_,0,1)}, $w{substr($_,1,1)});
- if (!defined($a[0]) || !defined($a[1])) {
- $is_tri = 1;
- last;
- }
- push(@s, "$a[0]/$a[1]");
- }
- }
- next if ($is_tri);
- print join("\t", @s), "\n";
- }
- }
-}
-
-sub vcf2fq {
- my %opts = (d=>3, D=>100000, Q=>10, l=>5);
- getopts('d:D:Q:l:', \%opts);
- die(qq/
-Usage: vcfutils.pl vcf2fq [options] <all-site.vcf>
-
-Options: -d INT minimum depth [$opts{d}]
- -D INT maximum depth [$opts{D}]
- -Q INT min RMS mapQ [$opts{Q}]
- -l INT INDEL filtering window [$opts{l}]
-\n/) if (@ARGV == 0 && -t STDIN);
-
- my ($last_chr, $seq, $qual, $last_pos, @gaps);
- my $_Q = $opts{Q};
- my $_d = $opts{d};
- my $_D = $opts{D};
-
- my %het = (AC=>'M', AG=>'R', AT=>'W', CA=>'M', CG=>'S', CT=>'Y',
- GA=>'R', GC=>'S', GT=>'K', TA=>'W', TC=>'Y', TG=>'K');
-
- $last_chr = '';
- while (<>) {
- next if (/^#/);
- my @t = split;
- if ($last_chr ne $t[0]) {
- &v2q_post_process($last_chr, \$seq, \$qual, \@gaps, $opts{l}) if ($last_chr);
- ($last_chr, $last_pos) = ($t[0], 0);
- $seq = $qual = '';
- @gaps = ();
- }
- die("[vcf2fq] unsorted input\n") if ($t[1] - $last_pos < 0);
- if ($t[1] - $last_pos > 1) {
- $seq .= 'n' x ($t[1] - $last_pos - 1);
- $qual .= '!' x ($t[1] - $last_pos - 1);
- }
- if (length($t[3]) == 1 && $t[7] !~ /INDEL/ && $t[4] =~ /^([A-Za-z.])(,[A-Za-z])*$/) { # a SNP or reference
- my ($ref, $alt) = ($t[3], $1);
- my ($b, $q);
- $q = $1 if ($t[7] =~ /FQ=(-?[\d\.]+)/);
- if ($q < 0) {
- $_ = ($t[7] =~ /AF1=([\d\.]+)/)? $1 : 0;
- $b = ($_ < .5 || $alt eq '.')? $ref : $alt;
- $q = -$q;
- } else {
- $b = $het{"$ref$alt"};
- $b ||= 'N';
- }
- $b = lc($b);
- $b = uc($b) if (($t[7] =~ /MQ=(\d+)/ && $1 >= $_Q) && ($t[7] =~ /DP=(\d+)/ && $1 >= $_d && $1 <= $_D));
- $q = int($q + 33 + .499);
- $q = chr($q <= 126? $q : 126);
- $seq .= $b;
- $qual .= $q;
- } elsif ($t[4] ne '.') { # an INDEL
- push(@gaps, [$t[1], length($t[3])]);
- }
- $last_pos = $t[1];
- }
- &v2q_post_process($last_chr, \$seq, \$qual, \@gaps, $opts{l});
-}
-
-sub v2q_post_process {
- my ($chr, $seq, $qual, $gaps, $l) = @_;
- for my $g (@$gaps) {
- my $beg = $g->[0] > $l? $g->[0] - $l : 0;
- my $end = $g->[0] + $g->[1] + $l;
- $end = length($$seq) if ($end > length($$seq));
- substr($$seq, $beg, $end - $beg) = lc(substr($$seq, $beg, $end - $beg));
- }
- print "\@$chr\n"; &v2q_print_str($seq);
- print "+\n"; &v2q_print_str($qual);
-}
-
-sub v2q_print_str {
- my ($s) = @_;
- my $l = length($$s);
- for (my $i = 0; $i < $l; $i += 60) {
- print substr($$s, $i, 60), "\n";
- }
-}
-
-sub usage {
- die(qq/
-Usage: vcfutils.pl <command> [<arguments>]\n
-Command: subsam get a subset of samples
- listsam list the samples
- fillac fill the allele count field
- qstats SNP stats stratified by QUAL
-
- hapmap2vcf convert the hapmap format to VCF
- ucscsnp2vcf convert UCSC SNP SQL dump to VCF
-
- varFilter filtering short variants (*)
- vcf2fq VCF->fastq (**)
-
-Notes: Commands with description endting with (*) may need bcftools
- specific annotations.
-\n/);
-}
diff --git a/sam/bedcov.c b/sam/bedcov.c
deleted file mode 100644
index 3e4b952..0000000
--- a/sam/bedcov.c
+++ /dev/null
@@ -1,127 +0,0 @@
-#include <zlib.h>
-#include <stdio.h>
-#include <ctype.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include "kstring.h"
-#include "bgzf.h"
-#include "bam.h"
-
-#include "kseq.h"
-KSTREAM_INIT(gzFile, gzread, 16384)
-
-typedef struct {
- bamFile fp;
- bam_iter_t iter;
- int min_mapQ;
-} aux_t;
-
-static int read_bam(void *data, bam1_t *b)
-{
- aux_t *aux = (aux_t*)data;
- int ret = bam_iter_read(aux->fp, aux->iter, b);
- if ((int)b->core.qual < aux->min_mapQ) b->core.flag |= BAM_FUNMAP;
- return ret;
-}
-
-int main_bedcov(int argc, char *argv[])
-{
- extern void bam_init_header_hash(bam_header_t*);
- gzFile fp;
- kstring_t str;
- kstream_t *ks;
- bam_index_t **idx;
- bam_header_t *h = 0;
- aux_t **aux;
- int *n_plp, dret, i, n, c, min_mapQ = 0;
- int64_t *cnt;
- const bam_pileup1_t **plp;
-
- while ((c = getopt(argc, argv, "Q:")) >= 0) {
- switch (c) {
- case 'Q': min_mapQ = atoi(optarg); break;
- }
- }
- if (optind + 2 > argc) {
- fprintf(stderr, "Usage: samtools bedcov <in.bed> <in1.bam> [...]\n");
- return 1;
- }
- memset(&str, 0, sizeof(kstring_t));
- n = argc - optind - 1;
- aux = calloc(n, sizeof(void*));
- idx = calloc(n, sizeof(void*));
- for (i = 0; i < n; ++i) {
- aux[i] = calloc(1, sizeof(aux_t));
- aux[i]->min_mapQ = min_mapQ;
- aux[i]->fp = bam_open(argv[i+optind+1], "r");
- idx[i] = bam_index_load(argv[i+optind+1]);
- if (aux[i]->fp == 0 || idx[i] == 0) {
- fprintf(stderr, "ERROR: fail to open index BAM file '%s'\n", argv[i+optind+1]);
- return 2;
- }
- bgzf_set_cache_size(aux[i]->fp, 20);
- if (i == 0) h = bam_header_read(aux[0]->fp);
- }
- bam_init_header_hash(h);
- cnt = calloc(n, 8);
-
- fp = gzopen(argv[optind], "rb");
- ks = ks_init(fp);
- n_plp = calloc(n, sizeof(int));
- plp = calloc(n, sizeof(void*));
- while (ks_getuntil(ks, KS_SEP_LINE, &str, &dret) >= 0) {
- char *p, *q;
- int tid, beg, end, pos;
- bam_mplp_t mplp;
-
- for (p = q = str.s; *p && *p != '\t'; ++p);
- if (*p != '\t') goto bed_error;
- *p = 0; tid = bam_get_tid(h, q); *p = '\t';
- if (tid < 0) goto bed_error;
- for (q = p = p + 1; isdigit(*p); ++p);
- if (*p != '\t') goto bed_error;
- *p = 0; beg = atoi(q); *p = '\t';
- for (q = p = p + 1; isdigit(*p); ++p);
- if (*p == '\t' || *p == 0) {
- int c = *p;
- *p = 0; end = atoi(q); *p = c;
- } else goto bed_error;
-
- for (i = 0; i < n; ++i) {
- if (aux[i]->iter) bam_iter_destroy(aux[i]->iter);
- aux[i]->iter = bam_iter_query(idx[i], tid, beg, end);
- }
- mplp = bam_mplp_init(n, read_bam, (void**)aux);
- bam_mplp_set_maxcnt(mplp, 64000);
- memset(cnt, 0, 8 * n);
- while (bam_mplp_auto(mplp, &tid, &pos, n_plp, plp) > 0)
- if (pos >= beg && pos < end)
- for (i = 0; i < n; ++i) cnt[i] += n_plp[i];
- for (i = 0; i < n; ++i) {
- kputc('\t', &str);
- kputl(cnt[i], &str);
- }
- puts(str.s);
- bam_mplp_destroy(mplp);
- continue;
-
-bed_error:
- fprintf(stderr, "Errors in BED line '%s'\n", str.s);
- }
- free(n_plp); free(plp);
- ks_destroy(ks);
- gzclose(fp);
-
- free(cnt);
- for (i = 0; i < n; ++i) {
- if (aux[i]->iter) bam_iter_destroy(aux[i]->iter);
- bam_index_destroy(idx[i]);
- bam_close(aux[i]->fp);
- free(aux[i]);
- }
- bam_header_destroy(h);
- free(aux); free(idx);
- free(str.s);
- return 0;
-}
diff --git a/sam/bedidx.c b/sam/bedidx.c
deleted file mode 100644
index ec75a10..0000000
--- a/sam/bedidx.c
+++ /dev/null
@@ -1,162 +0,0 @@
-#include <stdlib.h>
-#include <stdint.h>
-#include <string.h>
-#include <stdio.h>
-#include <zlib.h>
-
-#ifdef _WIN32
-#define drand48() ((double)rand() / RAND_MAX)
-#endif
-
-#include "ksort.h"
-KSORT_INIT_GENERIC(uint64_t)
-
-#include "kseq.h"
-KSTREAM_INIT(gzFile, gzread, 8192)
-
-typedef struct {
- int n, m;
- uint64_t *a;
- int *idx;
-} bed_reglist_t;
-
-#include "khash.h"
-KHASH_MAP_INIT_STR(reg, bed_reglist_t)
-
-#define LIDX_SHIFT 13
-
-typedef kh_reg_t reghash_t;
-
-int *bed_index_core(int n, uint64_t *a, int *n_idx)
-{
- int i, j, m, *idx;
- m = *n_idx = 0; idx = 0;
- for (i = 0; i < n; ++i) {
- int beg, end;
- beg = a[i]>>32 >> LIDX_SHIFT; end = ((uint32_t)a[i]) >> LIDX_SHIFT;
- if (m < end + 1) {
- int oldm = m;
- m = end + 1;
- kroundup32(m);
- idx = realloc(idx, m * sizeof(int));
- for (j = oldm; j < m; ++j) idx[j] = -1;
- }
- if (beg == end) {
- if (idx[beg] < 0) idx[beg] = i;
- } else {
- for (j = beg; j <= end; ++j)
- if (idx[j] < 0) idx[j] = i;
- }
- *n_idx = end + 1;
- }
- return idx;
-}
-
-void bed_index(void *_h)
-{
- reghash_t *h = (reghash_t*)_h;
- khint_t k;
- for (k = 0; k < kh_end(h); ++k) {
- if (kh_exist(h, k)) {
- bed_reglist_t *p = &kh_val(h, k);
- if (p->idx) free(p->idx);
- ks_introsort(uint64_t, p->n, p->a);
- p->idx = bed_index_core(p->n, p->a, &p->m);
- }
- }
-}
-
-int bed_overlap_core(const bed_reglist_t *p, int beg, int end)
-{
- int i, min_off;
- if (p->n == 0) return 0;
- min_off = (beg>>LIDX_SHIFT >= p->n)? p->idx[p->n-1] : p->idx[beg>>LIDX_SHIFT];
- if (min_off < 0) { // TODO: this block can be improved, but speed should not matter too much here
- int n = beg>>LIDX_SHIFT;
- if (n > p->n) n = p->n;
- for (i = n - 1; i >= 0; --i)
- if (p->idx[i] >= 0) break;
- min_off = i >= 0? p->idx[i] : 0;
- }
- for (i = min_off; i < p->n; ++i) {
- if ((int)(p->a[i]>>32) >= end) break; // out of range; no need to proceed
- if ((int32_t)p->a[i] > beg && (int32_t)(p->a[i]>>32) < end)
- return 1; // find the overlap; return
- }
- return 0;
-}
-
-int bed_overlap(const void *_h, const char *chr, int beg, int end)
-{
- const reghash_t *h = (const reghash_t*)_h;
- khint_t k;
- if (!h) return 0;
- k = kh_get(reg, h, chr);
- if (k == kh_end(h)) return 0;
- return bed_overlap_core(&kh_val(h, k), beg, end);
-}
-
-void *bed_read(const char *fn)
-{
- reghash_t *h = kh_init(reg);
- gzFile fp;
- kstream_t *ks;
- int dret;
- kstring_t *str;
- // read the list
- fp = strcmp(fn, "-")? gzopen(fn, "r") : gzdopen(fileno(stdin), "r");
- if (fp == 0) return 0;
- str = calloc(1, sizeof(kstring_t));
- ks = ks_init(fp);
- while (ks_getuntil(ks, 0, str, &dret) >= 0) { // read the chr name
- int beg = -1, end = -1;
- bed_reglist_t *p;
- khint_t k = kh_get(reg, h, str->s);
- if (k == kh_end(h)) { // absent from the hash table
- int ret;
- char *s = strdup(str->s);
- k = kh_put(reg, h, s, &ret);
- memset(&kh_val(h, k), 0, sizeof(bed_reglist_t));
- }
- p = &kh_val(h, k);
- if (dret != '\n') { // if the lines has other characters
- if (ks_getuntil(ks, 0, str, &dret) > 0 && isdigit(str->s[0])) {
- beg = atoi(str->s); // begin
- if (dret != '\n') {
- if (ks_getuntil(ks, 0, str, &dret) > 0 && isdigit(str->s[0])) {
- end = atoi(str->s); // end
- if (end < beg) end = -1;
- }
- }
- }
- }
- if (dret != '\n') while ((dret = ks_getc(ks)) > 0 && dret != '\n'); // skip the rest of the line
- if (end < 0 && beg > 0) end = beg, beg = beg - 1; // if there is only one column
- if (beg >= 0 && end > beg) {
- if (p->n == p->m) {
- p->m = p->m? p->m<<1 : 4;
- p->a = realloc(p->a, p->m * 8);
- }
- p->a[p->n++] = (uint64_t)beg<<32 | end;
- }
- }
- ks_destroy(ks);
- gzclose(fp);
- free(str->s); free(str);
- bed_index(h);
- return h;
-}
-
-void bed_destroy(void *_h)
-{
- reghash_t *h = (reghash_t*)_h;
- khint_t k;
- for (k = 0; k < kh_end(h); ++k) {
- if (kh_exist(h, k)) {
- free(kh_val(h, k).a);
- free(kh_val(h, k).idx);
- free((char*)kh_key(h, k));
- }
- }
- kh_destroy(reg, h);
-}
diff --git a/sam/bgzf.c b/sam/bgzf.c
deleted file mode 100644
index 880d5af..0000000
--- a/sam/bgzf.c
+++ /dev/null
@@ -1,694 +0,0 @@
-/* The MIT License
-
- Copyright (c) 2008 Broad Institute / Massachusetts Institute of Technology
- 2011 Attractive Chaos <attractor at live.co.uk>
-
- Permission is hereby granted, free of charge, to any person obtaining a copy
- of this software and associated documentation files (the "Software"), to deal
- in the Software without restriction, including without limitation the rights
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- copies of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be included in
- all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- THE SOFTWARE.
-*/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <assert.h>
-#include <pthread.h>
-#include <sys/types.h>
-#include "bgzf.h"
-
-#ifdef _USE_KNETFILE
-#include "knetfile.h"
-typedef knetFile *_bgzf_file_t;
-#define _bgzf_open(fn, mode) knet_open(fn, mode)
-#define _bgzf_dopen(fp, mode) knet_dopen(fp, mode)
-#define _bgzf_close(fp) knet_close(fp)
-#define _bgzf_fileno(fp) ((fp)->fd)
-#define _bgzf_tell(fp) knet_tell(fp)
-#define _bgzf_seek(fp, offset, whence) knet_seek(fp, offset, whence)
-#define _bgzf_read(fp, buf, len) knet_read(fp, buf, len)
-#define _bgzf_write(fp, buf, len) knet_write(fp, buf, len)
-#else // ~defined(_USE_KNETFILE)
-#if defined(_WIN32) || defined(_MSC_VER)
-#define ftello(fp) ftell(fp)
-#define fseeko(fp, offset, whence) fseek(fp, offset, whence)
-#else // ~defined(_WIN32)
-extern off_t ftello(FILE *stream);
-extern int fseeko(FILE *stream, off_t offset, int whence);
-#endif // ~defined(_WIN32)
-typedef FILE *_bgzf_file_t;
-#define _bgzf_open(fn, mode) fopen(fn, mode)
-#define _bgzf_dopen(fp, mode) fdopen(fp, mode)
-#define _bgzf_close(fp) fclose(fp)
-#define _bgzf_fileno(fp) fileno(fp)
-#define _bgzf_tell(fp) ftello(fp)
-#define _bgzf_seek(fp, offset, whence) fseeko(fp, offset, whence)
-#define _bgzf_read(fp, buf, len) fread(buf, 1, len, fp)
-#define _bgzf_write(fp, buf, len) fwrite(buf, 1, len, fp)
-#endif // ~define(_USE_KNETFILE)
-
-#define BLOCK_HEADER_LENGTH 18
-#define BLOCK_FOOTER_LENGTH 8
-
-
-/* BGZF/GZIP header (speciallized from RFC 1952; little endian):
- +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
- | 31|139| 8| 4| 0| 0|255| 6| 66| 67| 2|BLK_LEN|
- +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
-*/
-static const uint8_t g_magic[19] = "\037\213\010\4\0\0\0\0\0\377\6\0\102\103\2\0\0\0";
-
-#ifdef BGZF_CACHE
-typedef struct {
- int size;
- uint8_t *block;
- int64_t end_offset;
-} cache_t;
-#include "khash.h"
-KHASH_MAP_INIT_INT64(cache, cache_t)
-#endif
-
-static inline void packInt16(uint8_t *buffer, uint16_t value)
-{
- buffer[0] = value;
- buffer[1] = value >> 8;
-}
-
-static inline int unpackInt16(const uint8_t *buffer)
-{
- return buffer[0] | buffer[1] << 8;
-}
-
-static inline void packInt32(uint8_t *buffer, uint32_t value)
-{
- buffer[0] = value;
- buffer[1] = value >> 8;
- buffer[2] = value >> 16;
- buffer[3] = value >> 24;
-}
-
-static BGZF *bgzf_read_init()
-{
- BGZF *fp;
- fp = calloc(1, sizeof(BGZF));
- fp->is_write = 0;
- fp->uncompressed_block = malloc(BGZF_MAX_BLOCK_SIZE);
- fp->compressed_block = malloc(BGZF_MAX_BLOCK_SIZE);
-#ifdef BGZF_CACHE
- fp->cache = kh_init(cache);
-#endif
- return fp;
-}
-
-static BGZF *bgzf_write_init(int compress_level) // compress_level==-1 for the default level
-{
- BGZF *fp;
- fp = calloc(1, sizeof(BGZF));
- fp->is_write = 1;
- fp->uncompressed_block = malloc(BGZF_MAX_BLOCK_SIZE);
- fp->compressed_block = malloc(BGZF_MAX_BLOCK_SIZE);
- fp->compress_level = compress_level < 0? Z_DEFAULT_COMPRESSION : compress_level; // Z_DEFAULT_COMPRESSION==-1
- if (fp->compress_level > 9) fp->compress_level = Z_DEFAULT_COMPRESSION;
- return fp;
-}
-// get the compress level from the mode string
-static int mode2level(const char *__restrict mode)
-{
- int i, compress_level = -1;
- for (i = 0; mode[i]; ++i)
- if (mode[i] >= '0' && mode[i] <= '9') break;
- if (mode[i]) compress_level = (int)mode[i] - '0';
- if (strchr(mode, 'u')) compress_level = 0;
- return compress_level;
-}
-
-BGZF *bgzf_open(const char *path, const char *mode)
-{
- BGZF *fp = 0;
- assert(compressBound(BGZF_BLOCK_SIZE) < BGZF_MAX_BLOCK_SIZE);
- if (strchr(mode, 'r') || strchr(mode, 'R')) {
- _bgzf_file_t fpr;
- if ((fpr = _bgzf_open(path, "r")) == 0) return 0;
- fp = bgzf_read_init();
- fp->fp = fpr;
- } else if (strchr(mode, 'w') || strchr(mode, 'W')) {
- FILE *fpw;
- if ((fpw = fopen(path, "w")) == 0) return 0;
- fp = bgzf_write_init(mode2level(mode));
- fp->fp = fpw;
- }
- return fp;
-}
-
-BGZF *bgzf_dopen(int fd, const char *mode)
-{
- BGZF *fp = 0;
- assert(compressBound(BGZF_BLOCK_SIZE) < BGZF_MAX_BLOCK_SIZE);
- if (strchr(mode, 'r') || strchr(mode, 'R')) {
- _bgzf_file_t fpr;
- if ((fpr = _bgzf_dopen(fd, "r")) == 0) return 0;
- fp = bgzf_read_init();
- fp->fp = fpr;
- } else if (strchr(mode, 'w') || strchr(mode, 'W')) {
- FILE *fpw;
- if ((fpw = fdopen(fd, "w")) == 0) return 0;
- fp = bgzf_write_init(mode2level(mode));
- fp->fp = fpw;
- }
- return fp;
-}
-
-static int bgzf_compress(void *_dst, int *dlen, void *src, int slen, int level)
-{
- uint32_t crc;
- z_stream zs;
- uint8_t *dst = (uint8_t*)_dst;
-
- // compress the body
- zs.zalloc = NULL; zs.zfree = NULL;
- zs.next_in = src;
- zs.avail_in = slen;
- zs.next_out = dst + BLOCK_HEADER_LENGTH;
- zs.avail_out = *dlen - BLOCK_HEADER_LENGTH - BLOCK_FOOTER_LENGTH;
- if (deflateInit2(&zs, level, Z_DEFLATED, -15, 8, Z_DEFAULT_STRATEGY) != Z_OK) return -1; // -15 to disable zlib header/footer
- if (deflate(&zs, Z_FINISH) != Z_STREAM_END) return -1;
- if (deflateEnd(&zs) != Z_OK) return -1;
- *dlen = zs.total_out + BLOCK_HEADER_LENGTH + BLOCK_FOOTER_LENGTH;
- // write the header
- memcpy(dst, g_magic, BLOCK_HEADER_LENGTH); // the last two bytes are a place holder for the length of the block
- packInt16(&dst[16], *dlen - 1); // write the compressed length; -1 to fit 2 bytes
- // write the footer
- crc = crc32(crc32(0L, NULL, 0L), src, slen);
- packInt32((uint8_t*)&dst[*dlen - 8], crc);
- packInt32((uint8_t*)&dst[*dlen - 4], slen);
- return 0;
-}
-
-// Deflate the block in fp->uncompressed_block into fp->compressed_block. Also adds an extra field that stores the compressed block length.
-static int deflate_block(BGZF *fp, int block_length)
-{
- int comp_size = BGZF_MAX_BLOCK_SIZE;
- if (bgzf_compress(fp->compressed_block, &comp_size, fp->uncompressed_block, block_length, fp->compress_level) != 0) {
- fp->errcode |= BGZF_ERR_ZLIB;
- return -1;
- }
- fp->block_offset = 0;
- return comp_size;
-}
-
-// Inflate the block in fp->compressed_block into fp->uncompressed_block
-static int inflate_block(BGZF* fp, int block_length)
-{
- z_stream zs;
- zs.zalloc = NULL;
- zs.zfree = NULL;
- zs.next_in = fp->compressed_block + 18;
- zs.avail_in = block_length - 16;
- zs.next_out = fp->uncompressed_block;
- zs.avail_out = BGZF_MAX_BLOCK_SIZE;
-
- if (inflateInit2(&zs, -15) != Z_OK) {
- fp->errcode |= BGZF_ERR_ZLIB;
- return -1;
- }
- if (inflate(&zs, Z_FINISH) != Z_STREAM_END) {
- inflateEnd(&zs);
- fp->errcode |= BGZF_ERR_ZLIB;
- return -1;
- }
- if (inflateEnd(&zs) != Z_OK) {
- fp->errcode |= BGZF_ERR_ZLIB;
- return -1;
- }
- return zs.total_out;
-}
-
-static int check_header(const uint8_t *header)
-{
- return (header[0] == 31 && header[1] == 139 && header[2] == 8 && (header[3] & 4) != 0
- && unpackInt16((uint8_t*)&header[10]) == 6
- && header[12] == 'B' && header[13] == 'C'
- && unpackInt16((uint8_t*)&header[14]) == 2);
-}
-
-#ifdef BGZF_CACHE
-static void free_cache(BGZF *fp)
-{
- khint_t k;
- khash_t(cache) *h = (khash_t(cache)*)fp->cache;
- if (fp->is_write) return;
- for (k = kh_begin(h); k < kh_end(h); ++k)
- if (kh_exist(h, k)) free(kh_val(h, k).block);
- kh_destroy(cache, h);
-}
-
-static int load_block_from_cache(BGZF *fp, int64_t block_address)
-{
- khint_t k;
- cache_t *p;
- khash_t(cache) *h = (khash_t(cache)*)fp->cache;
- k = kh_get(cache, h, block_address);
- if (k == kh_end(h)) return 0;
- p = &kh_val(h, k);
- if (fp->block_length != 0) fp->block_offset = 0;
- fp->block_address = block_address;
- fp->block_length = p->size;
- memcpy(fp->uncompressed_block, p->block, BGZF_MAX_BLOCK_SIZE);
- _bgzf_seek((_bgzf_file_t)fp->fp, p->end_offset, SEEK_SET);
- return p->size;
-}
-
-static void cache_block(BGZF *fp, int size)
-{
- int ret;
- khint_t k;
- cache_t *p;
- khash_t(cache) *h = (khash_t(cache)*)fp->cache;
- if (BGZF_MAX_BLOCK_SIZE >= fp->cache_size) return;
- if ((kh_size(h) + 1) * BGZF_MAX_BLOCK_SIZE > fp->cache_size) {
- /* A better way would be to remove the oldest block in the
- * cache, but here we remove a random one for simplicity. This
- * should not have a big impact on performance. */
- for (k = kh_begin(h); k < kh_end(h); ++k)
- if (kh_exist(h, k)) break;
- if (k < kh_end(h)) {
- free(kh_val(h, k).block);
- kh_del(cache, h, k);
- }
- }
- k = kh_put(cache, h, fp->block_address, &ret);
- if (ret == 0) return; // if this happens, a bug!
- p = &kh_val(h, k);
- p->size = fp->block_length;
- p->end_offset = fp->block_address + size;
- p->block = malloc(BGZF_MAX_BLOCK_SIZE);
- memcpy(kh_val(h, k).block, fp->uncompressed_block, BGZF_MAX_BLOCK_SIZE);
-}
-#else
-static void free_cache(BGZF *fp) {}
-static int load_block_from_cache(BGZF *fp, int64_t block_address) {return 0;}
-static void cache_block(BGZF *fp, int size) {}
-#endif
-
-int bgzf_read_block(BGZF *fp)
-{
- uint8_t header[BLOCK_HEADER_LENGTH], *compressed_block;
- int count, size = 0, block_length, remaining;
- int64_t block_address;
- block_address = _bgzf_tell((_bgzf_file_t)fp->fp);
- if (fp->cache_size && load_block_from_cache(fp, block_address)) return 0;
- count = _bgzf_read(fp->fp, header, sizeof(header));
- if (count == 0) { // no data read
- fp->block_length = 0;
- return 0;
- }
- if (count != sizeof(header) || !check_header(header)) {
- fp->errcode |= BGZF_ERR_HEADER;
- return -1;
- }
- size = count;
- block_length = unpackInt16((uint8_t*)&header[16]) + 1; // +1 because when writing this number, we used "-1"
- compressed_block = (uint8_t*)fp->compressed_block;
- memcpy(compressed_block, header, BLOCK_HEADER_LENGTH);
- remaining = block_length - BLOCK_HEADER_LENGTH;
- count = _bgzf_read(fp->fp, &compressed_block[BLOCK_HEADER_LENGTH], remaining);
- if (count != remaining) {
- fp->errcode |= BGZF_ERR_IO;
- return -1;
- }
- size += count;
- if ((count = inflate_block(fp, block_length)) < 0) return -1;
- if (fp->block_length != 0) fp->block_offset = 0; // Do not reset offset if this read follows a seek.
- fp->block_address = block_address;
- fp->block_length = count;
- cache_block(fp, size);
- return 0;
-}
-
-ssize_t bgzf_read(BGZF *fp, void *data, ssize_t length)
-{
- ssize_t bytes_read = 0;
- uint8_t *output = data;
- if (length <= 0) return 0;
- assert(fp->is_write == 0);
- while (bytes_read < length) {
- int copy_length, available = fp->block_length - fp->block_offset;
- uint8_t *buffer;
- if (available <= 0) {
- if (bgzf_read_block(fp) != 0) return -1;
- available = fp->block_length - fp->block_offset;
- if (available <= 0) break;
- }
- copy_length = length - bytes_read < available? length - bytes_read : available;
- buffer = fp->uncompressed_block;
- memcpy(output, buffer + fp->block_offset, copy_length);
- fp->block_offset += copy_length;
- output += copy_length;
- bytes_read += copy_length;
- }
- if (fp->block_offset == fp->block_length) {
- fp->block_address = _bgzf_tell((_bgzf_file_t)fp->fp);
- fp->block_offset = fp->block_length = 0;
- }
- return bytes_read;
-}
-
-/***** BEGIN: multi-threading *****/
-
-typedef struct {
- BGZF *fp;
- struct mtaux_t *mt;
- void *buf;
- int i, errcode, toproc;
-} worker_t;
-
-typedef struct mtaux_t {
- int n_threads, n_blks, curr, done;
- volatile int proc_cnt;
- void **blk;
- int *len;
- worker_t *w;
- pthread_t *tid;
- pthread_mutex_t lock;
- pthread_cond_t cv;
-} mtaux_t;
-
-static int worker_aux(worker_t *w)
-{
- int i, tmp, stop = 0;
- // wait for condition: to process or all done
- pthread_mutex_lock(&w->mt->lock);
- while (!w->toproc && !w->mt->done)
- pthread_cond_wait(&w->mt->cv, &w->mt->lock);
- if (w->mt->done) stop = 1;
- w->toproc = 0;
- pthread_mutex_unlock(&w->mt->lock);
- if (stop) return 1; // to quit the thread
- w->errcode = 0;
- for (i = w->i; i < w->mt->curr; i += w->mt->n_threads) {
- int clen = BGZF_MAX_BLOCK_SIZE;
- if (bgzf_compress(w->buf, &clen, w->mt->blk[i], w->mt->len[i], w->fp->compress_level) != 0)
- w->errcode |= BGZF_ERR_ZLIB;
- memcpy(w->mt->blk[i], w->buf, clen);
- w->mt->len[i] = clen;
- }
- tmp = __sync_fetch_and_add(&w->mt->proc_cnt, 1);
- return 0;
-}
-
-static void *mt_worker(void *data)
-{
- while (worker_aux(data) == 0);
- return 0;
-}
-
-int bgzf_mt(BGZF *fp, int n_threads, int n_sub_blks)
-{
- int i;
- mtaux_t *mt;
- pthread_attr_t attr;
- if (!fp->is_write || fp->mt || n_threads <= 1) return -1;
- mt = calloc(1, sizeof(mtaux_t));
- mt->n_threads = n_threads;
- mt->n_blks = n_threads * n_sub_blks;
- mt->len = calloc(mt->n_blks, sizeof(int));
- mt->blk = calloc(mt->n_blks, sizeof(void*));
- for (i = 0; i < mt->n_blks; ++i)
- mt->blk[i] = malloc(BGZF_MAX_BLOCK_SIZE);
- mt->tid = calloc(mt->n_threads, sizeof(pthread_t)); // tid[0] is not used, as the worker 0 is launched by the master
- mt->w = calloc(mt->n_threads, sizeof(worker_t));
- for (i = 0; i < mt->n_threads; ++i) {
- mt->w[i].i = i;
- mt->w[i].mt = mt;
- mt->w[i].fp = fp;
- mt->w[i].buf = malloc(BGZF_MAX_BLOCK_SIZE);
- }
- pthread_attr_init(&attr);
- pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE);
- pthread_mutex_init(&mt->lock, 0);
- pthread_cond_init(&mt->cv, 0);
- for (i = 1; i < mt->n_threads; ++i) // worker 0 is effectively launched by the master thread
- pthread_create(&mt->tid[i], &attr, mt_worker, &mt->w[i]);
- fp->mt = mt;
- return 0;
-}
-
-static void mt_destroy(mtaux_t *mt)
-{
- int i;
- // signal all workers to quit
- pthread_mutex_lock(&mt->lock);
- mt->done = 1; mt->proc_cnt = 0;
- pthread_cond_broadcast(&mt->cv);
- pthread_mutex_unlock(&mt->lock);
- for (i = 1; i < mt->n_threads; ++i) pthread_join(mt->tid[i], 0); // worker 0 is effectively launched by the master thread
- // free other data allocated on heap
- for (i = 0; i < mt->n_blks; ++i) free(mt->blk[i]);
- for (i = 0; i < mt->n_threads; ++i) free(mt->w[i].buf);
- free(mt->blk); free(mt->len); free(mt->w); free(mt->tid);
- pthread_cond_destroy(&mt->cv);
- pthread_mutex_destroy(&mt->lock);
- free(mt);
-}
-
-static void mt_queue(BGZF *fp)
-{
- mtaux_t *mt = (mtaux_t*)fp->mt;
- assert(mt->curr < mt->n_blks); // guaranteed by the caller
- memcpy(mt->blk[mt->curr], fp->uncompressed_block, fp->block_offset);
- mt->len[mt->curr] = fp->block_offset;
- fp->block_offset = 0;
- ++mt->curr;
-}
-
-static int mt_flush(BGZF *fp)
-{
- int i;
- mtaux_t *mt = (mtaux_t*)fp->mt;
- if (fp->block_offset) mt_queue(fp); // guaranteed that assertion does not fail
- // signal all the workers to compress
- pthread_mutex_lock(&mt->lock);
- for (i = 0; i < mt->n_threads; ++i) mt->w[i].toproc = 1;
- mt->proc_cnt = 0;
- pthread_cond_broadcast(&mt->cv);
- pthread_mutex_unlock(&mt->lock);
- // worker 0 is doing things here
- worker_aux(&mt->w[0]);
- // wait for all the threads to complete
- while (mt->proc_cnt < mt->n_threads);
- // dump data to disk
- for (i = 0; i < mt->n_threads; ++i) fp->errcode |= mt->w[i].errcode;
- for (i = 0; i < mt->curr; ++i)
- if (fwrite(mt->blk[i], 1, mt->len[i], fp->fp) != mt->len[i])
- fp->errcode |= BGZF_ERR_IO;
- mt->curr = 0;
- return 0;
-}
-
-static int mt_lazy_flush(BGZF *fp)
-{
- mtaux_t *mt = (mtaux_t*)fp->mt;
- if (fp->block_offset) mt_queue(fp);
- if (mt->curr == mt->n_blks)
- return mt_flush(fp);
- return -1;
-}
-
-static ssize_t mt_write(BGZF *fp, const void *data, ssize_t length)
-{
- const uint8_t *input = data;
- ssize_t rest = length;
- while (rest) {
- int copy_length = BGZF_BLOCK_SIZE - fp->block_offset < rest? BGZF_BLOCK_SIZE - fp->block_offset : rest;
- memcpy(fp->uncompressed_block + fp->block_offset, input, copy_length);
- fp->block_offset += copy_length; input += copy_length; rest -= copy_length;
- if (fp->block_offset == BGZF_BLOCK_SIZE) mt_lazy_flush(fp);
- }
- return length - rest;
-}
-
-/***** END: multi-threading *****/
-
-int bgzf_flush(BGZF *fp)
-{
- if (!fp->is_write) return 0;
- if (fp->mt) return mt_flush(fp);
- while (fp->block_offset > 0) {
- int block_length;
- block_length = deflate_block(fp, fp->block_offset);
- if (block_length < 0) return -1;
- if (fwrite(fp->compressed_block, 1, block_length, fp->fp) != block_length) {
- fp->errcode |= BGZF_ERR_IO; // possibly truncated file
- return -1;
- }
- fp->block_address += block_length;
- }
- return 0;
-}
-
-int bgzf_flush_try(BGZF *fp, ssize_t size)
-{
- if (fp->block_offset + size > BGZF_BLOCK_SIZE) {
- if (fp->mt) return mt_lazy_flush(fp);
- else return bgzf_flush(fp);
- }
- return -1;
-}
-
-ssize_t bgzf_write(BGZF *fp, const void *data, ssize_t length)
-{
- const uint8_t *input = data;
- int block_length = BGZF_BLOCK_SIZE, bytes_written = 0;
- assert(fp->is_write);
- if (fp->mt) return mt_write(fp, data, length);
- while (bytes_written < length) {
- uint8_t* buffer = fp->uncompressed_block;
- int copy_length = block_length - fp->block_offset < length - bytes_written? block_length - fp->block_offset : length - bytes_written;
- memcpy(buffer + fp->block_offset, input, copy_length);
- fp->block_offset += copy_length;
- input += copy_length;
- bytes_written += copy_length;
- if (fp->block_offset == block_length && bgzf_flush(fp)) break;
- }
- return bytes_written;
-}
-
-int bgzf_close(BGZF* fp)
-{
- int ret, count, block_length;
- if (fp == 0) return -1;
- if (fp->is_write) {
- if (bgzf_flush(fp) != 0) return -1;
- fp->compress_level = -1;
- block_length = deflate_block(fp, 0); // write an empty block
- count = fwrite(fp->compressed_block, 1, block_length, fp->fp);
- if (fflush(fp->fp) != 0) {
- fp->errcode |= BGZF_ERR_IO;
- return -1;
- }
- if (fp->mt) mt_destroy(fp->mt);
- }
- ret = fp->is_write? fclose(fp->fp) : _bgzf_close(fp->fp);
- if (ret != 0) return -1;
- free(fp->uncompressed_block);
- free(fp->compressed_block);
- free_cache(fp);
- free(fp);
- return 0;
-}
-
-void bgzf_set_cache_size(BGZF *fp, int cache_size)
-{
- if (fp) fp->cache_size = cache_size;
-}
-
-int bgzf_check_EOF(BGZF *fp)
-{
- static uint8_t magic[28] = "\037\213\010\4\0\0\0\0\0\377\6\0\102\103\2\0\033\0\3\0\0\0\0\0\0\0\0\0";
- uint8_t buf[28];
- off_t offset;
- offset = _bgzf_tell((_bgzf_file_t)fp->fp);
- if (_bgzf_seek(fp->fp, -28, SEEK_END) < 0) return 0;
- _bgzf_read(fp->fp, buf, 28);
- _bgzf_seek(fp->fp, offset, SEEK_SET);
- return (memcmp(magic, buf, 28) == 0)? 1 : 0;
-}
-
-int64_t bgzf_seek(BGZF* fp, int64_t pos, int where)
-{
- int block_offset;
- int64_t block_address;
-
- if (fp->is_write || where != SEEK_SET) {
- fp->errcode |= BGZF_ERR_MISUSE;
- return -1;
- }
- block_offset = pos & 0xFFFF;
- block_address = pos >> 16;
- if (_bgzf_seek(fp->fp, block_address, SEEK_SET) < 0) {
- fp->errcode |= BGZF_ERR_IO;
- return -1;
- }
- fp->block_length = 0; // indicates current block has not been loaded
- fp->block_address = block_address;
- fp->block_offset = block_offset;
- return 0;
-}
-
-int bgzf_is_bgzf(const char *fn)
-{
- uint8_t buf[16];
- int n;
- _bgzf_file_t fp;
- if ((fp = _bgzf_open(fn, "r")) == 0) return 0;
- n = _bgzf_read(fp, buf, 16);
- _bgzf_close(fp);
- if (n != 16) return 0;
- return memcmp(g_magic, buf, 16) == 0? 1 : 0;
-}
-
-int bgzf_getc(BGZF *fp)
-{
- int c;
- if (fp->block_offset >= fp->block_length) {
- if (bgzf_read_block(fp) != 0) return -2; /* error */
- if (fp->block_length == 0) return -1; /* end-of-file */
- }
- c = ((unsigned char*)fp->uncompressed_block)[fp->block_offset++];
- if (fp->block_offset == fp->block_length) {
- fp->block_address = _bgzf_tell((_bgzf_file_t)fp->fp);
- fp->block_offset = 0;
- fp->block_length = 0;
- }
- return c;
-}
-
-#ifndef kroundup32
-#define kroundup32(x) (--(x), (x)|=(x)>>1, (x)|=(x)>>2, (x)|=(x)>>4, (x)|=(x)>>8, (x)|=(x)>>16, ++(x))
-#endif
-
-int bgzf_getline(BGZF *fp, int delim, kstring_t *str)
-{
- int l, state = 0;
- unsigned char *buf = (unsigned char*)fp->uncompressed_block;
- str->l = 0;
- do {
- if (fp->block_offset >= fp->block_length) {
- if (bgzf_read_block(fp) != 0) { state = -2; break; }
- if (fp->block_length == 0) { state = -1; break; }
- }
- for (l = fp->block_offset; l < fp->block_length && buf[l] != delim; ++l);
- if (l < fp->block_length) state = 1;
- l -= fp->block_offset;
- if (str->l + l + 1 >= str->m) {
- str->m = str->l + l + 2;
- kroundup32(str->m);
- str->s = (char*)realloc(str->s, str->m);
- }
- memcpy(str->s + str->l, buf + fp->block_offset, l);
- str->l += l;
- fp->block_offset += l + 1;
- if (fp->block_offset >= fp->block_length) {
- fp->block_address = _bgzf_tell((_bgzf_file_t)fp->fp);
- fp->block_offset = 0;
- fp->block_length = 0;
- }
- } while (state == 0);
- if (str->l == 0 && state < 0) return state;
- str->s[str->l] = 0;
- return str->l;
-}
diff --git a/sam/bgzf.h b/sam/bgzf.h
deleted file mode 100644
index cb67681..0000000
--- a/sam/bgzf.h
+++ /dev/null
@@ -1,207 +0,0 @@
-/* The MIT License
-
- Copyright (c) 2008 Broad Institute / Massachusetts Institute of Technology
- 2011, 2012 Attractive Chaos <attractor at live.co.uk>
-
- Permission is hereby granted, free of charge, to any person obtaining a copy
- of this software and associated documentation files (the "Software"), to deal
- in the Software without restriction, including without limitation the rights
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- copies of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be included in
- all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- THE SOFTWARE.
-*/
-
-/* The BGZF library was originally written by Bob Handsaker from the Broad
- * Institute. It was later improved by the SAMtools developers. */
-
-#ifndef __BGZF_H
-#define __BGZF_H
-
-#include <stdint.h>
-#include <stdio.h>
-#include <zlib.h>
-#include <sys/types.h>
-
-#define BGZF_BLOCK_SIZE 0xff00 // make sure compressBound(BGZF_BLOCK_SIZE) < BGZF_MAX_BLOCK_SIZE
-#define BGZF_MAX_BLOCK_SIZE 0x10000
-
-#define BGZF_ERR_ZLIB 1
-#define BGZF_ERR_HEADER 2
-#define BGZF_ERR_IO 4
-#define BGZF_ERR_MISUSE 8
-
-typedef struct {
- int errcode:16, is_write:2, compress_level:14;
- int cache_size;
- int block_length, block_offset;
- int64_t block_address;
- void *uncompressed_block, *compressed_block;
- void *cache; // a pointer to a hash table
- void *fp; // actual file handler; FILE* on writing; FILE* or knetFile* on reading
- void *mt; // only used for multi-threading
-} BGZF;
-
-#ifndef KSTRING_T
-#define KSTRING_T kstring_t
-typedef struct __kstring_t {
- size_t l, m;
- char *s;
-} kstring_t;
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
- /******************
- * Basic routines *
- ******************/
-
- /**
- * Open an existing file descriptor for reading or writing.
- *
- * @param fd file descriptor
- * @param mode mode matching /[rwu0-9]+/: 'r' for reading, 'w' for writing and a digit specifies
- * the zlib compression level; if both 'r' and 'w' are present, 'w' is ignored.
- * @return BGZF file handler; 0 on error
- */
- BGZF* bgzf_dopen(int fd, const char *mode);
-
- #define bgzf_fdopen(fd, mode) bgzf_dopen((fd), (mode)) // for backward compatibility
-
- /**
- * Open the specified file for reading or writing.
- */
- BGZF* bgzf_open(const char* path, const char *mode);
-
- /**
- * Close the BGZF and free all associated resources.
- *
- * @param fp BGZF file handler
- * @return 0 on success and -1 on error
- */
- int bgzf_close(BGZF *fp);
-
- /**
- * Read up to _length_ bytes from the file storing into _data_.
- *
- * @param fp BGZF file handler
- * @param data data array to read into
- * @param length size of data to read
- * @return number of bytes actually read; 0 on end-of-file and -1 on error
- */
- ssize_t bgzf_read(BGZF *fp, void *data, ssize_t length);
-
- /**
- * Write _length_ bytes from _data_ to the file.
- *
- * @param fp BGZF file handler
- * @param data data array to write
- * @param length size of data to write
- * @return number of bytes actually written; -1 on error
- */
- ssize_t bgzf_write(BGZF *fp, const void *data, ssize_t length);
-
- /**
- * Write the data in the buffer to the file.
- */
- int bgzf_flush(BGZF *fp);
-
- /**
- * Return a virtual file pointer to the current location in the file.
- * No interpetation of the value should be made, other than a subsequent
- * call to bgzf_seek can be used to position the file at the same point.
- * Return value is non-negative on success.
- */
- #define bgzf_tell(fp) ((fp->block_address << 16) | (fp->block_offset & 0xFFFF))
-
- /**
- * Set the file to read from the location specified by _pos_.
- *
- * @param fp BGZF file handler
- * @param pos virtual file offset returned by bgzf_tell()
- * @param whence must be SEEK_SET
- * @return 0 on success and -1 on error
- */
- int64_t bgzf_seek(BGZF *fp, int64_t pos, int whence);
-
- /**
- * Check if the BGZF end-of-file (EOF) marker is present
- *
- * @param fp BGZF file handler opened for reading
- * @return 1 if EOF is present; 0 if not or on I/O error
- */
- int bgzf_check_EOF(BGZF *fp);
-
- /**
- * Check if a file is in the BGZF format
- *
- * @param fn file name
- * @return 1 if _fn_ is BGZF; 0 if not or on I/O error
- */
- int bgzf_is_bgzf(const char *fn);
-
- /*********************
- * Advanced routines *
- *********************/
-
- /**
- * Set the cache size. Only effective when compiled with -DBGZF_CACHE.
- *
- * @param fp BGZF file handler
- * @param size size of cache in bytes; 0 to disable caching (default)
- */
- void bgzf_set_cache_size(BGZF *fp, int size);
-
- /**
- * Flush the file if the remaining buffer size is smaller than _size_
- */
- int bgzf_flush_try(BGZF *fp, ssize_t size);
-
- /**
- * Read one byte from a BGZF file. It is faster than bgzf_read()
- * @param fp BGZF file handler
- * @return byte read; -1 on end-of-file or error
- */
- int bgzf_getc(BGZF *fp);
-
- /**
- * Read one line from a BGZF file. It is faster than bgzf_getc()
- *
- * @param fp BGZF file handler
- * @param delim delimitor
- * @param str string to write to; must be initialized
- * @return length of the string; 0 on end-of-file; negative on error
- */
- int bgzf_getline(BGZF *fp, int delim, kstring_t *str);
-
- /**
- * Read the next BGZF block.
- */
- int bgzf_read_block(BGZF *fp);
-
- /**
- * Enable multi-threading (only effective on writing)
- *
- * @param fp BGZF file handler; must be opened for writing
- * @param n_threads #threads used for writing
- * @param n_sub_blks #blocks processed by each thread; a value 64-256 is recommended
- */
- int bgzf_mt(BGZF *fp, int n_threads, int n_sub_blks);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/sam/bgzip.c b/sam/bgzip.c
deleted file mode 100644
index ebcafa2..0000000
--- a/sam/bgzip.c
+++ /dev/null
@@ -1,206 +0,0 @@
-/* The MIT License
-
- Copyright (c) 2008 Broad Institute / Massachusetts Institute of Technology
-
- Permission is hereby granted, free of charge, to any person obtaining a copy
- of this software and associated documentation files (the "Software"), to deal
- in the Software without restriction, including without limitation the rights
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- copies of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be included in
- all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- THE SOFTWARE.
-*/
-
-#include <stdlib.h>
-#include <string.h>
-#include <stdio.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <errno.h>
-#include <sys/select.h>
-#include <sys/stat.h>
-#include "bgzf.h"
-
-static const int WINDOW_SIZE = 64 * 1024;
-
-static int bgzip_main_usage()
-{
- fprintf(stderr, "\n");
- fprintf(stderr, "Usage: bgzip [options] [file] ...\n\n");
- fprintf(stderr, "Options: -c write on standard output, keep original files unchanged\n");
- fprintf(stderr, " -d decompress\n");
- fprintf(stderr, " -f overwrite files without asking\n");
- fprintf(stderr, " -b INT decompress at virtual file pointer INT\n");
- fprintf(stderr, " -s INT decompress INT bytes in the uncompressed file\n");
- fprintf(stderr, " -h give this help\n");
- fprintf(stderr, "\n");
- return 1;
-}
-
-static int write_open(const char *fn, int is_forced)
-{
- int fd = -1;
- char c;
- if (!is_forced) {
- if ((fd = open(fn, O_WRONLY | O_CREAT | O_TRUNC | O_EXCL, 0666)) < 0 && errno == EEXIST) {
- fprintf(stderr, "[bgzip] %s already exists; do you wish to overwrite (y or n)? ", fn);
- scanf("%c", &c);
- if (c != 'Y' && c != 'y') {
- fprintf(stderr, "[bgzip] not overwritten\n");
- exit(1);
- }
- }
- }
- if (fd < 0) {
- if ((fd = open(fn, O_WRONLY | O_CREAT | O_TRUNC, 0666)) < 0) {
- fprintf(stderr, "[bgzip] %s: Fail to write\n", fn);
- exit(1);
- }
- }
- return fd;
-}
-
-static void fail(BGZF* fp)
-{
- fprintf(stderr, "Error: %s\n", fp->error);
- exit(1);
-}
-
-int main(int argc, char **argv)
-{
- int c, compress, pstdout, is_forced;
- BGZF *fp;
- void *buffer;
- long start, end, size;
-
- compress = 1; pstdout = 0; start = 0; size = -1; end = -1; is_forced = 0;
- while((c = getopt(argc, argv, "cdhfb:s:")) >= 0){
- switch(c){
- case 'h': return bgzip_main_usage();
- case 'd': compress = 0; break;
- case 'c': pstdout = 1; break;
- case 'b': start = atol(optarg); break;
- case 's': size = atol(optarg); break;
- case 'f': is_forced = 1; break;
- }
- }
- if (size >= 0) end = start + size;
- if (end >= 0 && end < start) {
- fprintf(stderr, "[bgzip] Illegal region: [%ld, %ld]\n", start, end);
- return 1;
- }
- if (compress == 1) {
- struct stat sbuf;
- int f_src = fileno(stdin);
- int f_dst = fileno(stdout);
-
- if ( argc>optind )
- {
- if ( stat(argv[optind],&sbuf)<0 )
- {
- fprintf(stderr, "[bgzip] %s: %s\n", strerror(errno), argv[optind]);
- return 1;
- }
-
- if ((f_src = open(argv[optind], O_RDONLY)) < 0) {
- fprintf(stderr, "[bgzip] %s: %s\n", strerror(errno), argv[optind]);
- return 1;
- }
-
- if (pstdout)
- f_dst = fileno(stdout);
- else
- {
- char *name = malloc(strlen(argv[optind]) + 5);
- strcpy(name, argv[optind]);
- strcat(name, ".gz");
- f_dst = write_open(name, is_forced);
- if (f_dst < 0) return 1;
- free(name);
- }
- }
- else if (!pstdout && isatty(fileno((FILE *)stdout)) )
- return bgzip_main_usage();
-
- fp = bgzf_fdopen(f_dst, "w");
- buffer = malloc(WINDOW_SIZE);
- while ((c = read(f_src, buffer, WINDOW_SIZE)) > 0)
- if (bgzf_write(fp, buffer, c) < 0) fail(fp);
- // f_dst will be closed here
- if (bgzf_close(fp) < 0) fail(fp);
- if (argc > optind && !pstdout) unlink(argv[optind]);
- free(buffer);
- close(f_src);
- return 0;
- } else {
- struct stat sbuf;
- int f_dst;
-
- if ( argc>optind )
- {
- if ( stat(argv[optind],&sbuf)<0 )
- {
- fprintf(stderr, "[bgzip] %s: %s\n", strerror(errno), argv[optind]);
- return 1;
- }
- char *name;
- int len = strlen(argv[optind]);
- if ( strcmp(argv[optind]+len-3,".gz") )
- {
- fprintf(stderr, "[bgzip] %s: unknown suffix -- ignored\n", argv[optind]);
- return 1;
- }
- fp = bgzf_open(argv[optind], "r");
- if (fp == NULL) {
- fprintf(stderr, "[bgzip] Could not open file: %s\n", argv[optind]);
- return 1;
- }
-
- if (pstdout) {
- f_dst = fileno(stdout);
- }
- else {
- name = strdup(argv[optind]);
- name[strlen(name) - 3] = '\0';
- f_dst = write_open(name, is_forced);
- free(name);
- }
- }
- else if (!pstdout && isatty(fileno((FILE *)stdin)) )
- return bgzip_main_usage();
- else
- {
- f_dst = fileno(stdout);
- fp = bgzf_fdopen(fileno(stdin), "r");
- if (fp == NULL) {
- fprintf(stderr, "[bgzip] Could not read from stdin: %s\n", strerror(errno));
- return 1;
- }
- }
- buffer = malloc(WINDOW_SIZE);
- if (bgzf_seek(fp, start, SEEK_SET) < 0) fail(fp);
- while (1) {
- if (end < 0) c = bgzf_read(fp, buffer, WINDOW_SIZE);
- else c = bgzf_read(fp, buffer, (end - start > WINDOW_SIZE)? WINDOW_SIZE:(end - start));
- if (c == 0) break;
- if (c < 0) fail(fp);
- start += c;
- write(f_dst, buffer, c);
- if (end >= 0 && start >= end) break;
- }
- free(buffer);
- if (bgzf_close(fp) < 0) fail(fp);
- if (!pstdout) unlink(argv[optind]);
- return 0;
- }
-}
diff --git a/sam/cut_target.c b/sam/cut_target.c
deleted file mode 100644
index 26f434f..0000000
--- a/sam/cut_target.c
+++ /dev/null
@@ -1,193 +0,0 @@
-#include <unistd.h>
-#include <stdlib.h>
-#include <string.h>
-#include "bam.h"
-#include "errmod.h"
-#include "faidx.h"
-
-#define ERR_DEP 0.83f
-
-typedef struct {
- int e[2][3], p[2][2];
-} score_param_t;
-
-/* Note that although the two matrics have 10 parameters in total, only 4
- * (probably 3) are free. Changing the scoring matrices in a sort of symmetric
- * way will not change the result. */
-static score_param_t g_param = { {{0,0,0},{-4,1,6}}, {{0,-14000}, {0,0}} };
-
-typedef struct {
- int min_baseQ, tid, max_bases;
- uint16_t *bases;
- bamFile fp;
- bam_header_t *h;
- char *ref;
- faidx_t *fai;
- errmod_t *em;
-} ct_t;
-
-static uint16_t gencns(ct_t *g, int n, const bam_pileup1_t *plp)
-{
- int i, j, ret, tmp, k, sum[4], qual;
- float q[16];
- if (n > g->max_bases) { // enlarge g->bases
- g->max_bases = n;
- kroundup32(g->max_bases);
- g->bases = realloc(g->bases, g->max_bases * 2);
- }
- for (i = k = 0; i < n; ++i) {
- const bam_pileup1_t *p = plp + i;
- uint8_t *seq;
- int q, baseQ, b;
- if (p->is_refskip || p->is_del) continue;
- baseQ = bam1_qual(p->b)[p->qpos];
- if (baseQ < g->min_baseQ) continue;
- seq = bam1_seq(p->b);
- b = bam_nt16_nt4_table[bam1_seqi(seq, p->qpos)];
- if (b > 3) continue;
- q = baseQ < p->b->core.qual? baseQ : p->b->core.qual;
- if (q < 4) q = 4;
- if (q > 63) q = 63;
- g->bases[k++] = q<<5 | bam1_strand(p->b)<<4 | b;
- }
- if (k == 0) return 0;
- errmod_cal(g->em, k, 4, g->bases, q);
- for (i = 0; i < 4; ++i) sum[i] = (int)(q[i<<2|i] + .499) << 2 | i;
- for (i = 1; i < 4; ++i) // insertion sort
- for (j = i; j > 0 && sum[j] < sum[j-1]; --j)
- tmp = sum[j], sum[j] = sum[j-1], sum[j-1] = tmp;
- qual = (sum[1]>>2) - (sum[0]>>2);
- k = k < 256? k : 255;
- ret = (qual < 63? qual : 63) << 2 | (sum[0]&3);
- return ret<<8|k;
-}
-
-static void process_cns(bam_header_t *h, int tid, int l, uint16_t *cns)
-{
- int i, f[2][2], *prev, *curr, *swap_tmp, s;
- uint8_t *b; // backtrack array
- b = calloc(l, 1);
- f[0][0] = f[0][1] = 0;
- prev = f[0]; curr = f[1];
- // fill the backtrack matrix
- for (i = 0; i < l; ++i) {
- int c = (cns[i] == 0)? 0 : (cns[i]>>8 == 0)? 1 : 2;
- int tmp0, tmp1;
- // compute f[0]
- tmp0 = prev[0] + g_param.e[0][c] + g_param.p[0][0]; // (s[i+1],s[i])=(0,0)
- tmp1 = prev[1] + g_param.e[0][c] + g_param.p[1][0]; // (0,1)
- if (tmp0 > tmp1) curr[0] = tmp0, b[i] = 0;
- else curr[0] = tmp1, b[i] = 1;
- // compute f[1]
- tmp0 = prev[0] + g_param.e[1][c] + g_param.p[0][1]; // (s[i+1],s[i])=(1,0)
- tmp1 = prev[1] + g_param.e[1][c] + g_param.p[1][1]; // (1,1)
- if (tmp0 > tmp1) curr[1] = tmp0, b[i] |= 0<<1;
- else curr[1] = tmp1, b[i] |= 1<<1;
- // swap
- swap_tmp = prev; prev = curr; curr = swap_tmp;
- }
- // backtrack
- s = prev[0] > prev[1]? 0 : 1;
- for (i = l - 1; i > 0; --i) {
- b[i] |= s<<2;
- s = b[i]>>s&1;
- }
- // print
- for (i = 0, s = -1; i <= l; ++i) {
- if (i == l || ((b[i]>>2&3) == 0 && s >= 0)) {
- if (s >= 0) {
- int j;
- printf("%s:%d-%d\t0\t%s\t%d\t60\t%dM\t*\t0\t0\t", h->target_name[tid], s+1, i, h->target_name[tid], s+1, i-s);
- for (j = s; j < i; ++j) {
- int c = cns[j]>>8;
- if (c == 0) putchar('N');
- else putchar("ACGT"[c&3]);
- }
- putchar('\t');
- for (j = s; j < i; ++j)
- putchar(33 + (cns[j]>>8>>2));
- putchar('\n');
- }
- //if (s >= 0) printf("%s\t%d\t%d\t%d\n", h->target_name[tid], s, i, i - s);
- s = -1;
- } else if ((b[i]>>2&3) && s < 0) s = i;
- }
- free(b);
-}
-
-static int read_aln(void *data, bam1_t *b)
-{
- extern int bam_prob_realn_core(bam1_t *b, const char *ref, int flag);
- ct_t *g = (ct_t*)data;
- int ret, len;
- ret = bam_read1(g->fp, b);
- if (ret >= 0 && g->fai && b->core.tid >= 0 && (b->core.flag&4) == 0) {
- if (b->core.tid != g->tid) { // then load the sequence
- free(g->ref);
- g->ref = fai_fetch(g->fai, g->h->target_name[b->core.tid], &len);
- g->tid = b->core.tid;
- }
- bam_prob_realn_core(b, g->ref, 1<<1|1);
- }
- return ret;
-}
-
-int main_cut_target(int argc, char *argv[])
-{
- int c, tid, pos, n, lasttid = -1, lastpos = -1, l, max_l;
- const bam_pileup1_t *p;
- bam_plp_t plp;
- uint16_t *cns;
- ct_t g;
-
- memset(&g, 0, sizeof(ct_t));
- g.min_baseQ = 13; g.tid = -1;
- while ((c = getopt(argc, argv, "f:Q:i:o:0:1:2:")) >= 0) {
- switch (c) {
- case 'Q': g.min_baseQ = atoi(optarg); break; // quality cutoff
- case 'i': g_param.p[0][1] = -atoi(optarg); break; // 0->1 transition (in) PENALTY
- case '0': g_param.e[1][0] = atoi(optarg); break; // emission SCORE
- case '1': g_param.e[1][1] = atoi(optarg); break;
- case '2': g_param.e[1][2] = atoi(optarg); break;
- case 'f': g.fai = fai_load(optarg);
- if (g.fai == 0) fprintf(stderr, "[%s] fail to load the fasta index.\n", __func__);
- break;
- }
- }
- if (argc == optind) {
- fprintf(stderr, "Usage: samtools targetcut [-Q minQ] [-i inPen] [-0 em0] [-1 em1] [-2 em2] [-f ref] <in.bam>\n");
- return 1;
- }
- l = max_l = 0; cns = 0;
- g.fp = strcmp(argv[optind], "-")? bam_open(argv[optind], "r") : bam_dopen(fileno(stdin), "r");
- g.h = bam_header_read(g.fp);
- g.em = errmod_init(1 - ERR_DEP);
- plp = bam_plp_init(read_aln, &g);
- while ((p = bam_plp_auto(plp, &tid, &pos, &n)) != 0) {
- if (tid < 0) break;
- if (tid != lasttid) { // change of chromosome
- if (cns) process_cns(g.h, lasttid, l, cns);
- if (max_l < g.h->target_len[tid]) {
- max_l = g.h->target_len[tid];
- kroundup32(max_l);
- cns = realloc(cns, max_l * 2);
- }
- l = g.h->target_len[tid];
- memset(cns, 0, max_l * 2);
- lasttid = tid;
- }
- cns[pos] = gencns(&g, n, p);
- lastpos = pos;
- }
- process_cns(g.h, lasttid, l, cns);
- free(cns);
- bam_header_destroy(g.h);
- bam_plp_destroy(plp);
- bam_close(g.fp);
- if (g.fai) {
- fai_destroy(g.fai); free(g.ref);
- }
- errmod_destroy(g.em);
- free(g.bases);
- return 0;
-}
diff --git a/sam/errmod.c b/sam/errmod.c
deleted file mode 100644
index fba9a8d..0000000
--- a/sam/errmod.c
+++ /dev/null
@@ -1,130 +0,0 @@
-#include <math.h>
-#include "errmod.h"
-#include "ksort.h"
-KSORT_INIT_GENERIC(uint16_t)
-
-typedef struct __errmod_coef_t {
- double *fk, *beta, *lhet;
-} errmod_coef_t;
-
-typedef struct {
- double fsum[16], bsum[16];
- uint32_t c[16];
-} call_aux_t;
-
-static errmod_coef_t *cal_coef(double depcorr, double eta)
-{
- int k, n, q;
- long double sum, sum1;
- double *lC;
- errmod_coef_t *ec;
-
- ec = calloc(1, sizeof(errmod_coef_t));
- // initialize ->fk
- ec->fk = (double*)calloc(256, sizeof(double));
- ec->fk[0] = 1.0;
- for (n = 1; n != 256; ++n)
- ec->fk[n] = pow(1. - depcorr, n) * (1.0 - eta) + eta;
- // initialize ->coef
- ec->beta = (double*)calloc(256 * 256 * 64, sizeof(double));
- lC = (double*)calloc(256 * 256, sizeof(double));
- for (n = 1; n != 256; ++n) {
- double lgn = lgamma(n+1);
- for (k = 1; k <= n; ++k)
- lC[n<<8|k] = lgn - lgamma(k+1) - lgamma(n-k+1);
- }
- for (q = 1; q != 64; ++q) {
- double e = pow(10.0, -q/10.0);
- double le = log(e);
- double le1 = log(1.0 - e);
- for (n = 1; n <= 255; ++n) {
- double *beta = ec->beta + (q<<16|n<<8);
- sum1 = sum = 0.0;
- for (k = n; k >= 0; --k, sum1 = sum) {
- sum = sum1 + expl(lC[n<<8|k] + k*le + (n-k)*le1);
- beta[k] = -10. / M_LN10 * logl(sum1 / sum);
- }
- }
- }
- // initialize ->lhet
- ec->lhet = (double*)calloc(256 * 256, sizeof(double));
- for (n = 0; n < 256; ++n)
- for (k = 0; k < 256; ++k)
- ec->lhet[n<<8|k] = lC[n<<8|k] - M_LN2 * n;
- free(lC);
- return ec;
-}
-
-errmod_t *errmod_init(float depcorr)
-{
- errmod_t *em;
- em = (errmod_t*)calloc(1, sizeof(errmod_t));
- em->depcorr = depcorr;
- em->coef = cal_coef(depcorr, 0.03);
- return em;
-}
-
-void errmod_destroy(errmod_t *em)
-{
- if (em == 0) return;
- free(em->coef->lhet); free(em->coef->fk); free(em->coef->beta);
- free(em->coef); free(em);
-}
-// qual:6, strand:1, base:4
-int errmod_cal(const errmod_t *em, int n, int m, uint16_t *bases, float *q)
-{
- call_aux_t aux;
- int i, j, k, w[32];
-
- if (m > m) return -1;
- memset(q, 0, m * m * sizeof(float));
- if (n == 0) return 0;
- // calculate aux.esum and aux.fsum
- if (n > 255) { // then sample 255 bases
- ks_shuffle(uint16_t, n, bases);
- n = 255;
- }
- ks_introsort(uint16_t, n, bases);
- memset(w, 0, 32 * sizeof(int));
- memset(&aux, 0, sizeof(call_aux_t));
- for (j = n - 1; j >= 0; --j) { // calculate esum and fsum
- uint16_t b = bases[j];
- int q = b>>5 < 4? 4 : b>>5;
- if (q > 63) q = 63;
- k = b&0x1f;
- aux.fsum[k&0xf] += em->coef->fk[w[k]];
- aux.bsum[k&0xf] += em->coef->fk[w[k]] * em->coef->beta[q<<16|n<<8|aux.c[k&0xf]];
- ++aux.c[k&0xf];
- ++w[k];
- }
- // generate likelihood
- for (j = 0; j != m; ++j) {
- float tmp1, tmp3;
- int tmp2, bar_e;
- // homozygous
- for (k = 0, tmp1 = tmp3 = 0.0, tmp2 = 0; k != m; ++k) {
- if (k == j) continue;
- tmp1 += aux.bsum[k]; tmp2 += aux.c[k]; tmp3 += aux.fsum[k];
- }
- if (tmp2) {
- bar_e = (int)(tmp1 / tmp3 + 0.499);
- if (bar_e > 63) bar_e = 63;
- q[j*m+j] = tmp1;
- }
- // heterozygous
- for (k = j + 1; k < m; ++k) {
- int cjk = aux.c[j] + aux.c[k];
- for (i = 0, tmp2 = 0, tmp1 = tmp3 = 0.0; i < m; ++i) {
- if (i == j || i == k) continue;
- tmp1 += aux.bsum[i]; tmp2 += aux.c[i]; tmp3 += aux.fsum[i];
- }
- if (tmp2) {
- bar_e = (int)(tmp1 / tmp3 + 0.499);
- if (bar_e > 63) bar_e = 63;
- q[j*m+k] = q[k*m+j] = -4.343 * em->coef->lhet[cjk<<8|aux.c[k]] + tmp1;
- } else q[j*m+k] = q[k*m+j] = -4.343 * em->coef->lhet[cjk<<8|aux.c[k]]; // all the bases are either j or k
- }
- for (k = 0; k != m; ++k) if (q[j*m+k] < 0.0) q[j*m+k] = 0.0;
- }
- return 0;
-}
diff --git a/sam/errmod.h b/sam/errmod.h
deleted file mode 100644
index 32c07b6..0000000
--- a/sam/errmod.h
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef ERRMOD_H
-#define ERRMOD_H
-
-#include <stdint.h>
-
-struct __errmod_coef_t;
-
-typedef struct {
- double depcorr;
- struct __errmod_coef_t *coef;
-} errmod_t;
-
-errmod_t *errmod_init(float depcorr);
-void errmod_destroy(errmod_t *em);
-
-/*
- n: number of bases
- m: maximum base
- bases[i]: qual:6, strand:1, base:4
- q[i*m+j]: phred-scaled likelihood of (i,j)
- */
-int errmod_cal(const errmod_t *em, int n, int m, uint16_t *bases, float *q);
-
-#endif
diff --git a/sam/examples/._00README.txt b/sam/examples/._00README.txt
deleted file mode 100644
index 94286bb..0000000
Binary files a/sam/examples/._00README.txt and /dev/null differ
diff --git a/sam/examples/._Makefile b/sam/examples/._Makefile
deleted file mode 100644
index 94286bb..0000000
Binary files a/sam/examples/._Makefile and /dev/null differ
diff --git a/sam/examples/._bam2bed.c b/sam/examples/._bam2bed.c
deleted file mode 100644
index 94286bb..0000000
Binary files a/sam/examples/._bam2bed.c and /dev/null differ
diff --git a/sam/examples/._calDepth.c b/sam/examples/._calDepth.c
deleted file mode 100644
index 94286bb..0000000
Binary files a/sam/examples/._calDepth.c and /dev/null differ
diff --git a/sam/examples/._chk_indel.c b/sam/examples/._chk_indel.c
deleted file mode 100644
index 94286bb..0000000
Binary files a/sam/examples/._chk_indel.c and /dev/null differ
diff --git a/sam/examples/._ex1.fa b/sam/examples/._ex1.fa
deleted file mode 100644
index 94286bb..0000000
Binary files a/sam/examples/._ex1.fa and /dev/null differ
diff --git a/sam/examples/._ex1.sam.gz b/sam/examples/._ex1.sam.gz
deleted file mode 100644
index 94286bb..0000000
Binary files a/sam/examples/._ex1.sam.gz and /dev/null differ
diff --git a/sam/examples/._toy.fa b/sam/examples/._toy.fa
deleted file mode 100644
index 94286bb..0000000
Binary files a/sam/examples/._toy.fa and /dev/null differ
diff --git a/sam/examples/._toy.sam b/sam/examples/._toy.sam
deleted file mode 100644
index 94286bb..0000000
Binary files a/sam/examples/._toy.sam and /dev/null differ
diff --git a/sam/examples/00README.txt b/sam/examples/00README.txt
deleted file mode 100644
index dbb276f..0000000
--- a/sam/examples/00README.txt
+++ /dev/null
@@ -1,23 +0,0 @@
-File ex1.fa contains two sequences cut from the human genome
-build36. They were exatracted with command:
-
- samtools faidx human_b36.fa 2:2043966-2045540 20:67967-69550
-
-Sequence names were changed manually for simplicity. File ex1.sam.gz
-contains MAQ alignments exatracted with:
-
- (samtools view NA18507_maq.bam 2:2044001-2045500;
- samtools view NA18507_maq.bam 20:68001-69500)
-
-and processed with `samtools fixmate' to make it self-consistent as a
-standalone alignment.
-
-To try samtools, you may run the following commands:
-
- samtools faidx ex1.fa # index the reference FASTA
- samtools import ex1.fa.fai ex1.sam.gz ex1.bam # SAM->BAM
- samtools index ex1.bam # index BAM
- samtools tview ex1.bam ex1.fa # view alignment
- samtools pileup -cf ex1.fa ex1.bam # pileup and consensus
- samtools pileup -cf ex1.fa -t ex1.fa.fai ex1.sam.gz
-
diff --git a/sam/examples/Makefile b/sam/examples/Makefile
deleted file mode 100644
index 309399f..0000000
--- a/sam/examples/Makefile
+++ /dev/null
@@ -1,50 +0,0 @@
-all:../libbam.a ../samtools ../bcftools/bcftools \
- ex1.glf ex1.pileup.gz ex1.bam.bai ex1f-rmduppe.bam ex1f-rmdupse.bam ex1.glfview.gz ex1.bcf calDepth
- @echo; echo \# You can now launch the viewer with: \'samtools tview ex1.bam ex1.fa\'; echo;
-
-ex1.fa.fai:ex1.fa
- ../samtools faidx ex1.fa
-ex1.bam:ex1.sam.gz ex1.fa.fai
- ../samtools import ex1.fa.fai ex1.sam.gz ex1.bam
-ex1.bam.bai:ex1.bam
- ../samtools index ex1.bam
-ex1.pileup.gz:ex1.bam ex1.fa
- ../samtools pileup -cf ex1.fa ex1.bam | gzip > ex1.pileup.gz
-ex1.glf:ex1.bam ex1.fa
- ../samtools pileup -gf ex1.fa ex1.bam > ex1.glf
-ex1.glfview.gz:ex1.glf
- ../samtools glfview ex1.glf | gzip > ex1.glfview.gz
-ex1a.bam:ex1.bam
- ../samtools view -h ex1.bam | awk 'BEGIN{FS=OFS="\t"}{if(/^@/)print;else{$$1=$$1"a";print}}' | ../samtools view -bS - > $@
-ex1b.bam:ex1.bam
- ../samtools view -h ex1.bam | awk 'BEGIN{FS=OFS="\t"}{if(/^@/)print;else{$$1=$$1"b";print}}' | ../samtools view -bS - > $@
-ex1f.rg:
- (echo "@RG ID:ex1 LB:ex1 SM:ex1"; echo "@RG ID:ex1a LB:ex1 SM:ex1"; echo "@RG ID:ex1b LB:ex1b SM:ex1b") > $@
-ex1f.bam:ex1.bam ex1a.bam ex1b.bam ex1f.rg
- ../samtools merge -rh ex1f.rg $@ ex1.bam ex1a.bam ex1b.bam
-ex1f-rmduppe.bam:ex1f.bam
- ../samtools rmdup ex1f.bam $@
-ex1f-rmdupse.bam:ex1f.bam
- ../samtools rmdup -S ex1f.bam $@
-
-ex1.bcf:ex1.bam ex1.fa.fai
- ../samtools mpileup -gf ex1.fa ex1.bam > $@
-
-../bcftools/bcftools:
- (cd ../bcftools; make bcftools)
-
-../samtools:
- (cd ..; make samtools)
-
-../libbam.a:
- (cd ..; make libbam.a)
-
-calDepth:../libbam.a calDepth.c
- gcc -g -Wall -O2 -I.. calDepth.c -o $@ -L.. -lbam -lm -lz
-
-clean:
- rm -fr *.bam *.bai *.glf* *.fai *.pileup* *~ calDepth *.dSYM ex1*.rg ex1.bcf
-
-# ../samtools pileup ex1.bam|perl -ape '$_=$F[4];s/(\d+)(??{".{$1}"})|\^.//g;@_=(tr/A-Z//,tr/a-z//);$_=join("\t", at F[0,1], at _)."\n"'
-
-# ../samtools pileup -cf ex1.fa ex1.bam|perl -ape '$_=$F[8];s/\^.//g;s/(\d+)(??{".{$1}"})|\^.//g;@_=(tr/A-Za-z//,tr/,.//);$_=join("\t", at F[0,1], at _)."\n"'
diff --git a/sam/examples/bam2bed.c b/sam/examples/bam2bed.c
deleted file mode 100644
index bb937d1..0000000
--- a/sam/examples/bam2bed.c
+++ /dev/null
@@ -1,51 +0,0 @@
-#include <stdio.h>
-#include "sam.h"
-static int fetch_func(const bam1_t *b, void *data)
-{
- samfile_t *fp = (samfile_t*)data;
- uint32_t *cigar = bam1_cigar(b);
- const bam1_core_t *c = &b->core;
- int i, l;
- if (b->core.tid < 0) return 0;
- for (i = l = 0; i < c->n_cigar; ++i) {
- int op = cigar[i]&0xf;
- if (op == BAM_CMATCH || op == BAM_CDEL || op == BAM_CREF_SKIP)
- l += cigar[i]>>4;
- }
- printf("%s\t%d\t%d\t%s\t%d\t%c\n", fp->header->target_name[c->tid],
- c->pos, c->pos + l, bam1_qname(b), c->qual, (c->flag&BAM_FREVERSE)? '-' : '+');
- return 0;
-}
-int main(int argc, char *argv[])
-{
- samfile_t *fp;
- if (argc == 1) {
- fprintf(stderr, "Usage: bam2bed <in.bam> [region]\n");
- return 1;
- }
- if ((fp = samopen(argv[1], "rb", 0)) == 0) {
- fprintf(stderr, "bam2bed: Fail to open BAM file %s\n", argv[1]);
- return 1;
- }
- if (argc == 2) { /* if a region is not specified */
- bam1_t *b = bam_init1();
- while (samread(fp, b) >= 0) fetch_func(b, fp);
- bam_destroy1(b);
- } else {
- int ref, beg, end;
- bam_index_t *idx;
- if ((idx = bam_index_load(argv[1])) == 0) {
- fprintf(stderr, "bam2bed: BAM indexing file is not available.\n");
- return 1;
- }
- bam_parse_region(fp->header, argv[2], &ref, &beg, &end);
- if (ref < 0) {
- fprintf(stderr, "bam2bed: Invalid region %s\n", argv[2]);
- return 1;
- }
- bam_fetch(fp->x.bam, idx, ref, beg, end, fp, fetch_func);
- bam_index_destroy(idx);
- }
- samclose(fp);
- return 0;
-}
diff --git a/sam/examples/calDepth.c b/sam/examples/calDepth.c
deleted file mode 100644
index 7a3239c..0000000
--- a/sam/examples/calDepth.c
+++ /dev/null
@@ -1,62 +0,0 @@
-#include <stdio.h>
-#include "sam.h"
-
-typedef struct {
- int beg, end;
- samfile_t *in;
-} tmpstruct_t;
-
-// callback for bam_fetch()
-static int fetch_func(const bam1_t *b, void *data)
-{
- bam_plbuf_t *buf = (bam_plbuf_t*)data;
- bam_plbuf_push(b, buf);
- return 0;
-}
-// callback for bam_plbuf_init()
-static int pileup_func(uint32_t tid, uint32_t pos, int n, const bam_pileup1_t *pl, void *data)
-{
- tmpstruct_t *tmp = (tmpstruct_t*)data;
- if ((int)pos >= tmp->beg && (int)pos < tmp->end)
- printf("%s\t%d\t%d\n", tmp->in->header->target_name[tid], pos + 1, n);
- return 0;
-}
-
-int main(int argc, char *argv[])
-{
- tmpstruct_t tmp;
- if (argc == 1) {
- fprintf(stderr, "Usage: calDepth <in.bam> [region]\n");
- return 1;
- }
- tmp.beg = 0; tmp.end = 0x7fffffff;
- tmp.in = samopen(argv[1], "rb", 0);
- if (tmp.in == 0) {
- fprintf(stderr, "Fail to open BAM file %s\n", argv[1]);
- return 1;
- }
- if (argc == 2) { // if a region is not specified
- sampileup(tmp.in, -1, pileup_func, &tmp);
- } else {
- int ref;
- bam_index_t *idx;
- bam_plbuf_t *buf;
- idx = bam_index_load(argv[1]); // load BAM index
- if (idx == 0) {
- fprintf(stderr, "BAM indexing file is not available.\n");
- return 1;
- }
- bam_parse_region(tmp.in->header, argv[2], &ref, &tmp.beg, &tmp.end); // parse the region
- if (ref < 0) {
- fprintf(stderr, "Invalid region %s\n", argv[2]);
- return 1;
- }
- buf = bam_plbuf_init(pileup_func, &tmp); // initialize pileup
- bam_fetch(tmp.in->x.bam, idx, ref, tmp.beg, tmp.end, buf, fetch_func);
- bam_plbuf_push(0, buf); // finalize pileup
- bam_index_destroy(idx);
- bam_plbuf_destroy(buf);
- }
- samclose(tmp.in);
- return 0;
-}
diff --git a/sam/examples/chk_indel.c b/sam/examples/chk_indel.c
deleted file mode 100644
index aaa77e0..0000000
--- a/sam/examples/chk_indel.c
+++ /dev/null
@@ -1,83 +0,0 @@
-/* To compile, copy this file to the samtools source code directory and compile with:
- gcc -g -O2 -Wall chk_indel_rg.c -o chk_indel_rg -Wall -I. -L. -lbam -lz
-*/
-
-#include <string.h>
-#include "bam.h"
-
-typedef struct {
- long cnt[4]; // short:ins, short:del, long:ins, long:del
-} rgcnt_t;
-
-#include "khash.h"
-KHASH_MAP_INIT_STR(rgcnt, rgcnt_t)
-
-#define MAX_LEN 127
-#define Q_THRES 10
-#define L_THRES 6 // short: <=L_THRES; otherwise long
-
-int main(int argc, char *argv[])
-{
- bamFile fp;
- bam1_t *b;
- int i, x;
- khash_t(rgcnt) *h;
- khint_t k;
-
- if (argc == 1) {
- fprintf(stderr, "Usage: chk_indel_rg <in.bam>\n\n");
- fprintf(stderr, "Output: filename, RG, #ins-in-short-homopolymer, #del-in-short, #ins-in-long, #del-in-long\n");
- return 1;
- }
-
- h = kh_init(rgcnt);
- fp = bam_open(argv[1], "r");
- bam_header_destroy(bam_header_read(fp)); // we do not need the header
- b = bam_init1();
-
- while (bam_read1(fp, b) >= 0) {
- if (b->core.n_cigar >= 3 && b->core.qual >= Q_THRES) {
- const uint8_t *seq;
- const uint32_t *cigar = bam1_cigar(b);
- char *rg;
- for (i = 0; i < b->core.n_cigar; ++i) // check if there are 1bp indels
- if (bam_cigar_oplen(cigar[i]) == 1 && (bam_cigar_op(cigar[i]) == BAM_CDEL || bam_cigar_op(cigar[i]) == BAM_CINS))
- break;
- if (i == b->core.n_cigar) continue; // no 1bp ins or del
- if ((rg = (char*)bam_aux_get(b, "RG")) == 0) continue; // no RG tag
- seq = bam1_seq(b);
- for (i = x = 0; i < b->core.n_cigar; ++i) {
- int op = bam_cigar_op(cigar[i]);
- if (bam_cigar_oplen(cigar[i]) == 1 && (op == BAM_CDEL || op == BAM_CINS)) {
- int c, j, hrun, which;
- c = bam1_seqi(seq, x);
- for (j = x + 1, hrun = 0; j < b->core.l_qseq; ++j, ++hrun) // calculate the hompolymer run length
- if (bam1_seqi(seq, j) != c) break;
- k = kh_get(rgcnt, h, rg + 1);
- if (k == kh_end(h)) { // absent
- char *key = strdup(rg + 1);
- k = kh_put(rgcnt, h, key, &c);
- memset(&kh_val(h, k), 0, sizeof(rgcnt_t));
- }
- which = (hrun <= L_THRES? 0 : 1)<<1 | (op == BAM_CINS? 0 : 1);
- ++kh_val(h, k).cnt[which];
- }
- if (bam_cigar_type(op)&1) ++x;
- }
- }
- }
-
- for (k = 0; k != kh_end(h); ++k) {
- if (!kh_exist(h, k)) continue;
- printf("%s\t%s", argv[1], kh_key(h, k));
- for (i = 0; i < 4; ++i)
- printf("\t%ld", kh_val(h, k).cnt[i]);
- putchar('\n');
- free((char*)kh_key(h, k));
- }
-
- bam_destroy1(b);
- bam_close(fp);
- kh_destroy(rgcnt, h);
- return 0;
-}
diff --git a/sam/examples/ex1.fa b/sam/examples/ex1.fa
deleted file mode 100644
index ef611b4..0000000
--- a/sam/examples/ex1.fa
+++ /dev/null
@@ -1,56 +0,0 @@
->seq1
-CACTAGTGGCTCATTGTAAATGTGTGGTTTAACTCGTCCATGGCCCAGCATTAGGGAGCT
-GTGGACCCTGCAGCCTGGCTGTGGGGGCCGCAGTGGCTGAGGGGTGCAGAGCCGAGTCAC
-GGGGTTGCCAGCACAGGGGCTTAACCTCTGGTGACTGCCAGAGCTGCTGGCAAGCTAGAG
-TCCCATTTGGAGCCCCTCTAAGCCGTTCTATTTGTAATGAAAACTATATTTATGCTATTC
-AGTTCTAAATATAGAAATTGAAACAGCTGTGTTTAGTGCCTTTGTTCAACCCCCTTGCAA
-CAACCTTGAGAACCCCAGGGAATTTGTCAATGTCAGGGAAGGAGCATTTTGTCAGTTACC
-AAATGTGTTTATTACCAGAGGGATGGAGGGAAGAGGGACGCTGAAGAACTTTGATGCCCT
-CTTCTTCCAAAGATGAAACGCGTAACTGCGCTCTCATTCACTCCAGCTCCCTGTCACCCA
-ATGGACCTGTGATATCTGGATTCTGGGAAATTCTTCATCCTGGACCCTGAGAGATTCTGC
-AGCCCAGCTCCAGATTGCTTGTGGTCTGACAGGCTGCAACTGTGAGCCATCACAATGAAC
-AACAGGAAGAAAAGGTCTTTCAAAAGGTGATGTGTGTTCTCATCAACCTCATACACACAC
-ATGGTTTAGGGGTATAATACCTCTACATGGCTGATTATGAAAACAATGTTCCCCAGATAC
-CATCCCTGTCTTACTTCCAGCTCCCCAGAGGGAAAGCTTTCAACGCTTCTAGCCATTTCT
-TTTGGCATTTGCCTTCAGACCCTACACGAATGCGTCTCTACCACAGGGGGCTGCGCGGTT
-TCCCATCATGAAGCACTGAACTTCCACGTCTCATCTAGGGGAACAGGGAGGTGCACTAAT
-GCGCTCCACGCCCAAGCCCTTCTCACAGTTTCTGCCCCCAGCATGGTTGTACTGGGCAAT
-ACATGAGATTATTAGGAAATGCTTTACTGTCATAACTATGAAGAGACTATTGCCAGATGA
-ACCACACATTAATACTATGTTTCTTATCTGCACATTACTACCCTGCAATTAATATAATTG
-TGTCCATGTACACACGCTGTCCTATGTACTTATCATGACTCTATCCCAAATTCCCAATTA
-CGTCCTATCTTCTTCTTAGGGAAGAACAGCTTAGGTATCAATTTGGTGTTCTGTGTAAAG
-TCTCAGGGAGCCGTCCGTGTCCTCCCATCTGGCCTCGTCCACACTGGTTCTCTTGAAAGC
-TTGGGCTGTAATGATGCCCCTTGGCCATCACCCAGTCCCTGCCCCATCTCTTGTAATCTC
-TCTCCTTTTTGCTGCATCCCTGTCTTCCTCTGTCTTGATTTACTTGTTGTTGGTTTTCTG
-TTTCTTTGTTTGATTTGGTGGAAGACATAATCCCACGCTTCCTATGGAAAGGTTGTTGGG
-AGATTTTTAATGATTCCTCAATGTTAAAATGTCTATTTTTGTCTTGACACCCAACTAATA
-TTTGTCTGAGCAAAACAGTCTAGATGAGAGAGAACTTCCCTGGAGGTCTGATGGCGTTTC
-TCCCTCGTCTTCTTA
->seq2
-TTCAAATGAACTTCTGTAATTGAAAAATTCATTTAAGAAATTACAAAATATAGTTGAAAG
-CTCTAACAATAGACTAAACCAAGCAGAAGAAAGAGGTTCAGAACTTGAAGACAAGTCTCT
-TATGAATTAACCCAGTCAGACAAAAATAAAGAAAAAAATTTTAAAAATGAACAGAGCTTT
-CAAGAAGTATGAGATTATGTAAAGTAACTGAACCTATGAGTCACAGGTATTCCTGAGGAA
-AAAGAAAAAGTGAGAAGTTTGGAAAAACTATTTGAGGAAGTAATTGGGGAAAACCTCTTT
-AGTCTTGCTAGAGATTTAGACATCTAAATGAAAGAGGCTCAAAGAATGCCAGGAAGATAC
-ATTGCAAGACAGACTTCATCAAGATATGTAGTCATCAGACTATCTAAAGTCAACATGAAG
-GAAAAAAATTCTAAAATCAGCAAGAGAAAAGCATACAGTCATCTATAAAGGAAATCCCAT
-CAGAATAACAATGGGCTTCTCAGCAGAAACCTTACAAGCCAGAAGAGATTGGATCTAATT
-TTTGGACTTCTTAAAGAAAAAAAAACCTGTCAAACACGAATGTTATGCCCTGCTAAACTA
-AGCATCATAAATGAAGGGGAAATAAAGTCAAGTCTTTCCTGACAAGCAAATGCTAAGATA
-ATTCATCATCACTAAACCAGTCCTATAAGAAATGCTCAAAAGAATTGTAAAAGTCAAAAT
-TAAAGTTCAATACTCACCATCATAAATACACACAAAAGTACAAAACTCACAGGTTTTATA
-AAACAATTGAGACTACAGAGCAACTAGGTAAAAAATTAACATTACAACAGGAACAAAACC
-TCATATATCAATATTAACTTTGAATAAAAAGGGATTAAATTCCCCCACTTAAGAGATATA
-GATTGGCAGAACAGATTTAAAAACATGAACTAACTATATGCTGTTTACAAGAAACTCATT
-AATAAAGACATGAGTTCAGGTAAAGGGGTGGAAAAAGATGTTCTACGCAAACAGAAACCA
-AATGAGAGAAGGAGTAGCTATACTTATATCAGATAAAGCACACTTTAAATCAACAACAGT
-AAAATAAAACAAAGGAGGTCATCATACAATGATAAAAAGATCAATTCAGCAAGAAGATAT
-AACCATCCTACTAAATACATATGCACCTAACACAAGACTACCCAGATTCATAAAACAAAT
-ACTACTAGACCTAAGAGGGATGAGAAATTACCTAATTGGTACAATGTACAATATTCTGAT
-GATGGTTACACTAAAAGCCCATACTTTACTGCTACTCAATATATCCATGTAACAAATCTG
-CGCTTGTACTTCTAAATCTATAAAAAAATTAAAATTTAACAAAAGTAAATAAAACACATA
-GCTAAAACTAAAAAAGCAAAAACAAAAACTATGCTAAGTATTGGTAAAGATGTGGGGAAA
-AAAGTAAACTCTCAAATATTGCTAGTGGGAGTATAAATTGTTTTCCACTTTGGAAAACAA
-TTTGGTAATTTCGTTTTTTTTTTTTTCTTTTCTCTTTTTTTTTTTTTTTTTTTTGCATGC
-CAGAAAAAAATATTTACAGTAACT
diff --git a/sam/examples/ex1.sam.gz b/sam/examples/ex1.sam.gz
deleted file mode 100644
index 44c07ee..0000000
Binary files a/sam/examples/ex1.sam.gz and /dev/null differ
diff --git a/sam/examples/toy.fa b/sam/examples/toy.fa
deleted file mode 100644
index afe990a..0000000
--- a/sam/examples/toy.fa
+++ /dev/null
@@ -1,4 +0,0 @@
->ref
-AGCATGTTAGATAAGATAGCTGTGCTAGTAGGCAGTCAGCGCCAT
->ref2
-aggttttataaaacaattaagtctacagagcaactacgcg
diff --git a/sam/examples/toy.sam b/sam/examples/toy.sam
deleted file mode 100644
index 33449b1..0000000
--- a/sam/examples/toy.sam
+++ /dev/null
@@ -1,14 +0,0 @@
- at SQ SN:ref LN:45
- at SQ SN:ref2 LN:40
-r001 163 ref 7 30 8M4I4M1D3M = 37 39 TTAGATAAAGAGGATACTG * XX:B:S,12561,2,20,112
-r002 0 ref 9 30 1S2I6M1P1I1P1I4M2I * 0 0 AAAAGATAAGGGATAAA *
-r003 0 ref 9 30 5H6M * 0 0 AGCTAA *
-r004 0 ref 16 30 6M14N1I5M * 0 0 ATAGCTCTCAGC *
-r003 16 ref 29 30 6H5M * 0 0 TAGGC *
-r001 83 ref 37 30 9M = 7 -39 CAGCGCCAT *
-x1 0 ref2 1 30 20M * 0 0 aggttttataaaacaaataa ????????????????????
-x2 0 ref2 2 30 21M * 0 0 ggttttataaaacaaataatt ?????????????????????
-x3 0 ref2 6 30 9M4I13M * 0 0 ttataaaacAAATaattaagtctaca ??????????????????????????
-x4 0 ref2 10 30 25M * 0 0 CaaaTaattaagtctacagagcaac ?????????????????????????
-x5 0 ref2 12 30 24M * 0 0 aaTaattaagtctacagagcaact ????????????????????????
-x6 0 ref2 14 30 23M * 0 0 Taattaagtctacagagcaacta ???????????????????????
diff --git a/sam/faidx.c b/sam/faidx.c
deleted file mode 100644
index 51c82ac..0000000
--- a/sam/faidx.c
+++ /dev/null
@@ -1,437 +0,0 @@
-#include <ctype.h>
-#include <string.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <stdint.h>
-#include "faidx.h"
-#include "khash.h"
-
-typedef struct {
- int32_t line_len, line_blen;
- int64_t len;
- uint64_t offset;
-} faidx1_t;
-KHASH_MAP_INIT_STR(s, faidx1_t)
-
-#ifndef _NO_RAZF
-#include "razf.h"
-#else
-#ifdef _WIN32
-#define ftello(fp) ftell(fp)
-#define fseeko(fp, offset, whence) fseek(fp, offset, whence)
-#else
-extern off_t ftello(FILE *stream);
-extern int fseeko(FILE *stream, off_t offset, int whence);
-#endif
-#define RAZF FILE
-#define razf_read(fp, buf, size) fread(buf, 1, size, fp)
-#define razf_open(fn, mode) fopen(fn, mode)
-#define razf_close(fp) fclose(fp)
-#define razf_seek(fp, offset, whence) fseeko(fp, offset, whence)
-#define razf_tell(fp) ftello(fp)
-#endif
-#ifdef _USE_KNETFILE
-#include "knetfile.h"
-#endif
-
-struct __faidx_t {
- RAZF *rz;
- int n, m;
- char **name;
- khash_t(s) *hash;
-};
-
-#ifndef kroundup32
-#define kroundup32(x) (--(x), (x)|=(x)>>1, (x)|=(x)>>2, (x)|=(x)>>4, (x)|=(x)>>8, (x)|=(x)>>16, ++(x))
-#endif
-
-static inline void fai_insert_index(faidx_t *idx, const char *name, int len, int line_len, int line_blen, uint64_t offset)
-{
- khint_t k;
- int ret;
- faidx1_t t;
- if (idx->n == idx->m) {
- idx->m = idx->m? idx->m<<1 : 16;
- idx->name = (char**)realloc(idx->name, sizeof(void*) * idx->m);
- }
- idx->name[idx->n] = strdup(name);
- k = kh_put(s, idx->hash, idx->name[idx->n], &ret);
- t.len = len; t.line_len = line_len; t.line_blen = line_blen; t.offset = offset;
- kh_value(idx->hash, k) = t;
- ++idx->n;
-}
-
-faidx_t *fai_build_core(RAZF *rz)
-{
- char c, *name;
- int l_name, m_name, ret;
- int line_len, line_blen, state;
- int l1, l2;
- faidx_t *idx;
- uint64_t offset;
- int64_t len;
-
- idx = (faidx_t*)calloc(1, sizeof(faidx_t));
- idx->hash = kh_init(s);
- name = 0; l_name = m_name = 0;
- len = line_len = line_blen = -1; state = 0; l1 = l2 = -1; offset = 0;
- while (razf_read(rz, &c, 1)) {
- if (c == '\n') { // an empty line
- if (state == 1) {
- offset = razf_tell(rz);
- continue;
- } else if ((state == 0 && len < 0) || state == 2) continue;
- }
- if (c == '>') { // fasta header
- if (len >= 0)
- fai_insert_index(idx, name, len, line_len, line_blen, offset);
- l_name = 0;
- while ((ret = razf_read(rz, &c, 1)) != 0 && !isspace(c)) {
- if (m_name < l_name + 2) {
- m_name = l_name + 2;
- kroundup32(m_name);
- name = (char*)realloc(name, m_name);
- }
- name[l_name++] = c;
- }
- name[l_name] = '\0';
- if (ret == 0) {
- fprintf(stderr, "[fai_build_core] the last entry has no sequence\n");
- free(name); fai_destroy(idx);
- return 0;
- }
- if (c != '\n') while (razf_read(rz, &c, 1) && c != '\n');
- state = 1; len = 0;
- offset = razf_tell(rz);
- } else {
- if (state == 3) {
- fprintf(stderr, "[fai_build_core] inlined empty line is not allowed in sequence '%s'.\n", name);
- free(name); fai_destroy(idx);
- return 0;
- }
- if (state == 2) state = 3;
- l1 = l2 = 0;
- do {
- ++l1;
- if (isgraph(c)) ++l2;
- } while ((ret = razf_read(rz, &c, 1)) && c != '\n');
- if (state == 3 && l2) {
- fprintf(stderr, "[fai_build_core] different line length in sequence '%s'.\n", name);
- free(name); fai_destroy(idx);
- return 0;
- }
- ++l1; len += l2;
- if (state == 1) line_len = l1, line_blen = l2, state = 0;
- else if (state == 0) {
- if (l1 != line_len || l2 != line_blen) state = 2;
- }
- }
- }
- fai_insert_index(idx, name, len, line_len, line_blen, offset);
- free(name);
- return idx;
-}
-
-void fai_save(const faidx_t *fai, FILE *fp)
-{
- khint_t k;
- int i;
- for (i = 0; i < fai->n; ++i) {
- faidx1_t x;
- k = kh_get(s, fai->hash, fai->name[i]);
- x = kh_value(fai->hash, k);
-#ifdef _WIN32
- fprintf(fp, "%s\t%d\t%ld\t%d\t%d\n", fai->name[i], (int)x.len, (long)x.offset, (int)x.line_blen, (int)x.line_len);
-#else
- fprintf(fp, "%s\t%d\t%lld\t%d\t%d\n", fai->name[i], (int)x.len, (long long)x.offset, (int)x.line_blen, (int)x.line_len);
-#endif
- }
-}
-
-faidx_t *fai_read(FILE *fp)
-{
- faidx_t *fai;
- char *buf, *p;
- int len, line_len, line_blen;
-#ifdef _WIN32
- long offset;
-#else
- long long offset;
-#endif
- fai = (faidx_t*)calloc(1, sizeof(faidx_t));
- fai->hash = kh_init(s);
- buf = (char*)calloc(0x10000, 1);
- while (!feof(fp) && fgets(buf, 0x10000, fp)) {
- for (p = buf; *p && isgraph(*p); ++p);
- *p = 0; ++p;
-#ifdef _WIN32
- sscanf(p, "%d%ld%d%d", &len, &offset, &line_blen, &line_len);
-#else
- sscanf(p, "%d%lld%d%d", &len, &offset, &line_blen, &line_len);
-#endif
- fai_insert_index(fai, buf, len, line_len, line_blen, offset);
- }
- free(buf);
- return fai;
-}
-
-void fai_destroy(faidx_t *fai)
-{
- int i;
- for (i = 0; i < fai->n; ++i) free(fai->name[i]);
- free(fai->name);
- kh_destroy(s, fai->hash);
- if (fai->rz) razf_close(fai->rz);
- free(fai);
-}
-
-int fai_build(const char *fn)
-{
- char *str;
- RAZF *rz;
- FILE *fp;
- faidx_t *fai;
- str = (char*)calloc(strlen(fn) + 5, 1);
- sprintf(str, "%s.fai", fn);
- rz = razf_open(fn, "r");
- if (rz == 0) {
- fprintf(stderr, "[fai_build] fail to open the FASTA file %s\n",fn);
- free(str);
- return -1;
- }
- fai = fai_build_core(rz);
- razf_close(rz);
- fp = fopen(str, "wb");
- if (fp == 0) {
- fprintf(stderr, "[fai_build] fail to write FASTA index %s\n",str);
- fai_destroy(fai); free(str);
- return -1;
- }
- fai_save(fai, fp);
- fclose(fp);
- free(str);
- fai_destroy(fai);
- return 0;
-}
-
-#ifdef _USE_KNETFILE
-FILE *download_and_open(const char *fn)
-{
- const int buf_size = 1 * 1024 * 1024;
- uint8_t *buf;
- FILE *fp;
- knetFile *fp_remote;
- const char *url = fn;
- const char *p;
- int l = strlen(fn);
- for (p = fn + l - 1; p >= fn; --p)
- if (*p == '/') break;
- fn = p + 1;
-
- // First try to open a local copy
- fp = fopen(fn, "r");
- if (fp)
- return fp;
-
- // If failed, download from remote and open
- fp_remote = knet_open(url, "rb");
- if (fp_remote == 0) {
- fprintf(stderr, "[download_from_remote] fail to open remote file %s\n",url);
- return NULL;
- }
- if ((fp = fopen(fn, "wb")) == 0) {
- fprintf(stderr, "[download_from_remote] fail to create file in the working directory %s\n",fn);
- knet_close(fp_remote);
- return NULL;
- }
- buf = (uint8_t*)calloc(buf_size, 1);
- while ((l = knet_read(fp_remote, buf, buf_size)) != 0)
- fwrite(buf, 1, l, fp);
- free(buf);
- fclose(fp);
- knet_close(fp_remote);
-
- return fopen(fn, "r");
-}
-#endif
-
-faidx_t *fai_load(const char *fn)
-{
- char *str;
- FILE *fp;
- faidx_t *fai;
- str = (char*)calloc(strlen(fn) + 5, 1);
- sprintf(str, "%s.fai", fn);
-
-#ifdef _USE_KNETFILE
- if (strstr(fn, "ftp://") == fn || strstr(fn, "http://") == fn)
- {
- fp = download_and_open(str);
- if ( !fp )
- {
- fprintf(stderr, "[fai_load] failed to open remote FASTA index %s\n", str);
- free(str);
- return 0;
- }
- }
- else
-#endif
- fp = fopen(str, "rb");
- if (fp == 0) {
- fprintf(stderr, "[fai_load] build FASTA index.\n");
- fai_build(fn);
- fp = fopen(str, "rb");
- if (fp == 0) {
- fprintf(stderr, "[fai_load] fail to open FASTA index.\n");
- free(str);
- return 0;
- }
- }
-
- fai = fai_read(fp);
- fclose(fp);
-
- fai->rz = razf_open(fn, "rb");
- free(str);
- if (fai->rz == 0) {
- fprintf(stderr, "[fai_load] fail to open FASTA file.\n");
- return 0;
- }
- return fai;
-}
-
-char *fai_fetch(const faidx_t *fai, const char *str, int *len)
-{
- char *s, c;
- int i, l, k, name_end;
- khiter_t iter;
- faidx1_t val;
- khash_t(s) *h;
- int beg, end;
-
- beg = end = -1;
- h = fai->hash;
- name_end = l = strlen(str);
- s = (char*)malloc(l+1);
- // remove space
- for (i = k = 0; i < l; ++i)
- if (!isspace(str[i])) s[k++] = str[i];
- s[k] = 0; l = k;
- // determine the sequence name
- for (i = l - 1; i >= 0; --i) if (s[i] == ':') break; // look for colon from the end
- if (i >= 0) name_end = i;
- if (name_end < l) { // check if this is really the end
- int n_hyphen = 0;
- for (i = name_end + 1; i < l; ++i) {
- if (s[i] == '-') ++n_hyphen;
- else if (!isdigit(s[i]) && s[i] != ',') break;
- }
- if (i < l || n_hyphen > 1) name_end = l; // malformated region string; then take str as the name
- s[name_end] = 0;
- iter = kh_get(s, h, s);
- if (iter == kh_end(h)) { // cannot find the sequence name
- iter = kh_get(s, h, str); // try str as the name
- if (iter == kh_end(h)) {
- *len = 0;
- free(s); return 0;
- } else s[name_end] = ':', name_end = l;
- }
- } else iter = kh_get(s, h, str);
- if(iter == kh_end(h)) {
- fprintf(stderr, "[fai_fetch] Warning - Reference %s not found in FASTA file, returning empty sequence\n", str);
- free(s);
- return 0;
- };
- val = kh_value(h, iter);
- // parse the interval
- if (name_end < l) {
- for (i = k = name_end + 1; i < l; ++i)
- if (s[i] != ',') s[k++] = s[i];
- s[k] = 0;
- beg = atoi(s + name_end + 1);
- for (i = name_end + 1; i != k; ++i) if (s[i] == '-') break;
- end = i < k? atoi(s + i + 1) : val.len;
- if (beg > 0) --beg;
- } else beg = 0, end = val.len;
- if (beg >= val.len) beg = val.len;
- if (end >= val.len) end = val.len;
- if (beg > end) beg = end;
- free(s);
-
- // now retrieve the sequence
- l = 0;
- s = (char*)malloc(end - beg + 2);
- razf_seek(fai->rz, val.offset + beg / val.line_blen * val.line_len + beg % val.line_blen, SEEK_SET);
- while (razf_read(fai->rz, &c, 1) == 1 && l < end - beg && !fai->rz->z_err)
- if (isgraph(c)) s[l++] = c;
- s[l] = '\0';
- *len = l;
- return s;
-}
-
-int faidx_main(int argc, char *argv[])
-{
- if (argc == 1) {
- fprintf(stderr, "Usage: faidx <in.fasta> [<reg> [...]]\n");
- return 1;
- } else {
- if (argc == 2) fai_build(argv[1]);
- else {
- int i, j, k, l;
- char *s;
- faidx_t *fai;
- fai = fai_load(argv[1]);
- if (fai == 0) return 1;
- for (i = 2; i != argc; ++i) {
- printf(">%s\n", argv[i]);
- s = fai_fetch(fai, argv[i], &l);
- for (j = 0; j < l; j += 60) {
- for (k = 0; k < 60 && k < l - j; ++k)
- putchar(s[j + k]);
- putchar('\n');
- }
- free(s);
- }
- fai_destroy(fai);
- }
- }
- return 0;
-}
-
-int faidx_fetch_nseq(const faidx_t *fai)
-{
- return fai->n;
-}
-
-char *faidx_fetch_seq(const faidx_t *fai, char *c_name, int p_beg_i, int p_end_i, int *len)
-{
- int l;
- char c;
- khiter_t iter;
- faidx1_t val;
- char *seq=NULL;
-
- // Adjust position
- iter = kh_get(s, fai->hash, c_name);
- if(iter == kh_end(fai->hash)) return 0;
- val = kh_value(fai->hash, iter);
- if(p_end_i < p_beg_i) p_beg_i = p_end_i;
- if(p_beg_i < 0) p_beg_i = 0;
- else if(val.len <= p_beg_i) p_beg_i = val.len - 1;
- if(p_end_i < 0) p_end_i = 0;
- else if(val.len <= p_end_i) p_end_i = val.len - 1;
-
- // Now retrieve the sequence
- l = 0;
- seq = (char*)malloc(p_end_i - p_beg_i + 2);
- razf_seek(fai->rz, val.offset + p_beg_i / val.line_blen * val.line_len + p_beg_i % val.line_blen, SEEK_SET);
- while (razf_read(fai->rz, &c, 1) == 1 && l < p_end_i - p_beg_i + 1)
- if (isgraph(c)) seq[l++] = c;
- seq[l] = '\0';
- *len = l;
- return seq;
-}
-
-#ifdef FAIDX_MAIN
-int main(int argc, char *argv[]) { return faidx_main(argc, argv); }
-#endif
diff --git a/sam/faidx.h b/sam/faidx.h
deleted file mode 100644
index 1fb1b1f..0000000
--- a/sam/faidx.h
+++ /dev/null
@@ -1,103 +0,0 @@
-/* The MIT License
-
- Copyright (c) 2008 Genome Research Ltd (GRL).
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- "Software"), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- SOFTWARE.
-*/
-
-/* Contact: Heng Li <lh3 at sanger.ac.uk> */
-
-#ifndef FAIDX_H
-#define FAIDX_H
-
-/*!
- @header
-
- Index FASTA files and extract subsequence.
-
- @copyright The Wellcome Trust Sanger Institute.
- */
-
-struct __faidx_t;
-typedef struct __faidx_t faidx_t;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
- /*!
- @abstract Build index for a FASTA or razip compressed FASTA file.
- @param fn FASTA file name
- @return 0 on success; or -1 on failure
- @discussion File "fn.fai" will be generated.
- */
- int fai_build(const char *fn);
-
- /*!
- @abstract Distroy a faidx_t struct.
- @param fai Pointer to the struct to be destroyed
- */
- void fai_destroy(faidx_t *fai);
-
- /*!
- @abstract Load index from "fn.fai".
- @param fn File name of the FASTA file
- */
- faidx_t *fai_load(const char *fn);
-
- /*!
- @abstract Fetch the sequence in a region.
- @param fai Pointer to the faidx_t struct
- @param reg Region in the format "chr2:20,000-30,000"
- @param len Length of the region
- @return Pointer to the sequence; null on failure
-
- @discussion The returned sequence is allocated by malloc family
- and should be destroyed by end users by calling free() on it.
- */
- char *fai_fetch(const faidx_t *fai, const char *reg, int *len);
-
- /*!
- @abstract Fetch the number of sequences.
- @param fai Pointer to the faidx_t struct
- @return The number of sequences
- */
- int faidx_fetch_nseq(const faidx_t *fai);
-
- /*!
- @abstract Fetch the sequence in a region.
- @param fai Pointer to the faidx_t struct
- @param c_name Region name
- @param p_beg_i Beginning position number (zero-based)
- @param p_end_i End position number (zero-based)
- @param len Length of the region
- @return Pointer to the sequence; null on failure
-
- @discussion The returned sequence is allocated by malloc family
- and should be destroyed by end users by calling free() on it.
- */
- char *faidx_fetch_seq(const faidx_t *fai, char *c_name, int p_beg_i, int p_end_i, int *len);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/sam/kaln.c b/sam/kaln.c
deleted file mode 100644
index 9c0bbaa..0000000
--- a/sam/kaln.c
+++ /dev/null
@@ -1,486 +0,0 @@
-/* The MIT License
-
- Copyright (c) 2003-2006, 2008, 2009, by Heng Li <lh3lh3 at gmail.com>
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- "Software"), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- SOFTWARE.
-*/
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <stdint.h>
-#include <math.h>
-#include "kaln.h"
-
-#define FROM_M 0
-#define FROM_I 1
-#define FROM_D 2
-
-typedef struct {
- int i, j;
- unsigned char ctype;
-} path_t;
-
-int aln_sm_blosum62[] = {
-/* A R N D C Q E G H I L K M F P S T W Y V * X */
- 4,-1,-2,-2, 0,-1,-1, 0,-2,-1,-1,-1,-1,-2,-1, 1, 0,-3,-2, 0,-4, 0,
- -1, 5, 0,-2,-3, 1, 0,-2, 0,-3,-2, 2,-1,-3,-2,-1,-1,-3,-2,-3,-4,-1,
- -2, 0, 6, 1,-3, 0, 0, 0, 1,-3,-3, 0,-2,-3,-2, 1, 0,-4,-2,-3,-4,-1,
- -2,-2, 1, 6,-3, 0, 2,-1,-1,-3,-4,-1,-3,-3,-1, 0,-1,-4,-3,-3,-4,-1,
- 0,-3,-3,-3, 9,-3,-4,-3,-3,-1,-1,-3,-1,-2,-3,-1,-1,-2,-2,-1,-4,-2,
- -1, 1, 0, 0,-3, 5, 2,-2, 0,-3,-2, 1, 0,-3,-1, 0,-1,-2,-1,-2,-4,-1,
- -1, 0, 0, 2,-4, 2, 5,-2, 0,-3,-3, 1,-2,-3,-1, 0,-1,-3,-2,-2,-4,-1,
- 0,-2, 0,-1,-3,-2,-2, 6,-2,-4,-4,-2,-3,-3,-2, 0,-2,-2,-3,-3,-4,-1,
- -2, 0, 1,-1,-3, 0, 0,-2, 8,-3,-3,-1,-2,-1,-2,-1,-2,-2, 2,-3,-4,-1,
- -1,-3,-3,-3,-1,-3,-3,-4,-3, 4, 2,-3, 1, 0,-3,-2,-1,-3,-1, 3,-4,-1,
- -1,-2,-3,-4,-1,-2,-3,-4,-3, 2, 4,-2, 2, 0,-3,-2,-1,-2,-1, 1,-4,-1,
- -1, 2, 0,-1,-3, 1, 1,-2,-1,-3,-2, 5,-1,-3,-1, 0,-1,-3,-2,-2,-4,-1,
- -1,-1,-2,-3,-1, 0,-2,-3,-2, 1, 2,-1, 5, 0,-2,-1,-1,-1,-1, 1,-4,-1,
- -2,-3,-3,-3,-2,-3,-3,-3,-1, 0, 0,-3, 0, 6,-4,-2,-2, 1, 3,-1,-4,-1,
- -1,-2,-2,-1,-3,-1,-1,-2,-2,-3,-3,-1,-2,-4, 7,-1,-1,-4,-3,-2,-4,-2,
- 1,-1, 1, 0,-1, 0, 0, 0,-1,-2,-2, 0,-1,-2,-1, 4, 1,-3,-2,-2,-4, 0,
- 0,-1, 0,-1,-1,-1,-1,-2,-2,-1,-1,-1,-1,-2,-1, 1, 5,-2,-2, 0,-4, 0,
- -3,-3,-4,-4,-2,-2,-3,-2,-2,-3,-2,-3,-1, 1,-4,-3,-2,11, 2,-3,-4,-2,
- -2,-2,-2,-3,-2,-1,-2,-3, 2,-1,-1,-2,-1, 3,-3,-2,-2, 2, 7,-1,-4,-1,
- 0,-3,-3,-3,-1,-2,-2,-3,-3, 3, 1,-2, 1,-1,-2,-2, 0,-3,-1, 4,-4,-1,
- -4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4, 1,-4,
- 0,-1,-1,-1,-2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-2, 0, 0,-2,-1,-1,-4,-1
-};
-
-int aln_sm_blast[] = {
- 1, -3, -3, -3, -2,
- -3, 1, -3, -3, -2,
- -3, -3, 1, -3, -2,
- -3, -3, -3, 1, -2,
- -2, -2, -2, -2, -2
-};
-
-int aln_sm_qual[] = {
- 0, -23, -23, -23, 0,
- -23, 0, -23, -23, 0,
- -23, -23, 0, -23, 0,
- -23, -23, -23, 0, 0,
- 0, 0, 0, 0, 0
-};
-
-ka_param_t ka_param_blast = { 5, 2, 5, 2, aln_sm_blast, 5, 50 };
-ka_param_t ka_param_aa2aa = { 10, 2, 10, 2, aln_sm_blosum62, 22, 50 };
-
-ka_param2_t ka_param2_qual = { 37, 11, 37, 11, 37, 11, 0, 0, aln_sm_qual, 5, 50 };
-
-static uint32_t *ka_path2cigar32(const path_t *path, int path_len, int *n_cigar)
-{
- int i, n;
- uint32_t *cigar;
- unsigned char last_type;
-
- if (path_len == 0 || path == 0) {
- *n_cigar = 0;
- return 0;
- }
-
- last_type = path->ctype;
- for (i = n = 1; i < path_len; ++i) {
- if (last_type != path[i].ctype) ++n;
- last_type = path[i].ctype;
- }
- *n_cigar = n;
- cigar = (uint32_t*)calloc(*n_cigar, 4);
-
- cigar[0] = 1u << 4 | path[path_len-1].ctype;
- last_type = path[path_len-1].ctype;
- for (i = path_len - 2, n = 0; i >= 0; --i) {
- if (path[i].ctype == last_type) cigar[n] += 1u << 4;
- else {
- cigar[++n] = 1u << 4 | path[i].ctype;
- last_type = path[i].ctype;
- }
- }
-
- return cigar;
-}
-
-/***************************/
-/* START OF common_align.c */
-/***************************/
-
-#define SET_INF(s) (s).M = (s).I = (s).D = MINOR_INF;
-
-#define set_M(MM, cur, p, sc) \
-{ \
- if ((p)->M >= (p)->I) { \
- if ((p)->M >= (p)->D) { \
- (MM) = (p)->M + (sc); (cur)->Mt = FROM_M; \
- } else { \
- (MM) = (p)->D + (sc); (cur)->Mt = FROM_D; \
- } \
- } else { \
- if ((p)->I > (p)->D) { \
- (MM) = (p)->I + (sc); (cur)->Mt = FROM_I; \
- } else { \
- (MM) = (p)->D + (sc); (cur)->Mt = FROM_D; \
- } \
- } \
-}
-#define set_I(II, cur, p) \
-{ \
- if ((p)->M - gap_open > (p)->I) { \
- (cur)->It = FROM_M; \
- (II) = (p)->M - gap_open - gap_ext; \
- } else { \
- (cur)->It = FROM_I; \
- (II) = (p)->I - gap_ext; \
- } \
-}
-#define set_end_I(II, cur, p) \
-{ \
- if (gap_end_ext >= 0) { \
- if ((p)->M - gap_end_open > (p)->I) { \
- (cur)->It = FROM_M; \
- (II) = (p)->M - gap_end_open - gap_end_ext; \
- } else { \
- (cur)->It = FROM_I; \
- (II) = (p)->I - gap_end_ext; \
- } \
- } else set_I(II, cur, p); \
-}
-#define set_D(DD, cur, p) \
-{ \
- if ((p)->M - gap_open > (p)->D) { \
- (cur)->Dt = FROM_M; \
- (DD) = (p)->M - gap_open - gap_ext; \
- } else { \
- (cur)->Dt = FROM_D; \
- (DD) = (p)->D - gap_ext; \
- } \
-}
-#define set_end_D(DD, cur, p) \
-{ \
- if (gap_end_ext >= 0) { \
- if ((p)->M - gap_end_open > (p)->D) { \
- (cur)->Dt = FROM_M; \
- (DD) = (p)->M - gap_end_open - gap_end_ext; \
- } else { \
- (cur)->Dt = FROM_D; \
- (DD) = (p)->D - gap_end_ext; \
- } \
- } else set_D(DD, cur, p); \
-}
-
-typedef struct {
- uint8_t Mt:3, It:2, Dt:3;
-} dpcell_t;
-
-typedef struct {
- int M, I, D;
-} dpscore_t;
-
-/***************************
- * banded global alignment *
- ***************************/
-uint32_t *ka_global_core(uint8_t *seq1, int len1, uint8_t *seq2, int len2, const ka_param_t *ap, int *_score, int *n_cigar)
-{
- int i, j;
- dpcell_t **dpcell, *q;
- dpscore_t *curr, *last, *s;
- int b1, b2, tmp_end;
- int *mat, end, max = 0;
- uint8_t type, ctype;
- uint32_t *cigar = 0;
-
- int gap_open, gap_ext, gap_end_open, gap_end_ext, b;
- int *score_matrix, N_MATRIX_ROW;
-
- /* initialize some align-related parameters. just for compatibility */
- gap_open = ap->gap_open;
- gap_ext = ap->gap_ext;
- gap_end_open = ap->gap_end_open;
- gap_end_ext = ap->gap_end_ext;
- b = ap->band_width;
- score_matrix = ap->matrix;
- N_MATRIX_ROW = ap->row;
-
- if (n_cigar) *n_cigar = 0;
- if (len1 == 0 || len2 == 0) return 0;
-
- /* calculate b1 and b2 */
- if (len1 > len2) {
- b1 = len1 - len2 + b;
- b2 = b;
- } else {
- b1 = b;
- b2 = len2 - len1 + b;
- }
- if (b1 > len1) b1 = len1;
- if (b2 > len2) b2 = len2;
- --seq1; --seq2;
-
- /* allocate memory */
- end = (b1 + b2 <= len1)? (b1 + b2 + 1) : (len1 + 1);
- dpcell = (dpcell_t**)malloc(sizeof(dpcell_t*) * (len2 + 1));
- for (j = 0; j <= len2; ++j)
- dpcell[j] = (dpcell_t*)malloc(sizeof(dpcell_t) * end);
- for (j = b2 + 1; j <= len2; ++j)
- dpcell[j] -= j - b2;
- curr = (dpscore_t*)malloc(sizeof(dpscore_t) * (len1 + 1));
- last = (dpscore_t*)malloc(sizeof(dpscore_t) * (len1 + 1));
-
- /* set first row */
- SET_INF(*curr); curr->M = 0;
- for (i = 1, s = curr + 1; i < b1; ++i, ++s) {
- SET_INF(*s);
- set_end_D(s->D, dpcell[0] + i, s - 1);
- }
- s = curr; curr = last; last = s;
-
- /* core dynamic programming, part 1 */
- tmp_end = (b2 < len2)? b2 : len2 - 1;
- for (j = 1; j <= tmp_end; ++j) {
- q = dpcell[j]; s = curr; SET_INF(*s);
- set_end_I(s->I, q, last);
- end = (j + b1 <= len1 + 1)? (j + b1 - 1) : len1;
- mat = score_matrix + seq2[j] * N_MATRIX_ROW;
- ++s; ++q;
- for (i = 1; i != end; ++i, ++s, ++q) {
- set_M(s->M, q, last + i - 1, mat[seq1[i]]); /* this will change s->M ! */
- set_I(s->I, q, last + i);
- set_D(s->D, q, s - 1);
- }
- set_M(s->M, q, last + i - 1, mat[seq1[i]]);
- set_D(s->D, q, s - 1);
- if (j + b1 - 1 > len1) { /* bug fixed, 040227 */
- set_end_I(s->I, q, last + i);
- } else s->I = MINOR_INF;
- s = curr; curr = last; last = s;
- }
- /* last row for part 1, use set_end_D() instead of set_D() */
- if (j == len2 && b2 != len2 - 1) {
- q = dpcell[j]; s = curr; SET_INF(*s);
- set_end_I(s->I, q, last);
- end = (j + b1 <= len1 + 1)? (j + b1 - 1) : len1;
- mat = score_matrix + seq2[j] * N_MATRIX_ROW;
- ++s; ++q;
- for (i = 1; i != end; ++i, ++s, ++q) {
- set_M(s->M, q, last + i - 1, mat[seq1[i]]); /* this will change s->M ! */
- set_I(s->I, q, last + i);
- set_end_D(s->D, q, s - 1);
- }
- set_M(s->M, q, last + i - 1, mat[seq1[i]]);
- set_end_D(s->D, q, s - 1);
- if (j + b1 - 1 > len1) { /* bug fixed, 040227 */
- set_end_I(s->I, q, last + i);
- } else s->I = MINOR_INF;
- s = curr; curr = last; last = s;
- ++j;
- }
-
- /* core dynamic programming, part 2 */
- for (; j <= len2 - b2 + 1; ++j) {
- SET_INF(curr[j - b2]);
- mat = score_matrix + seq2[j] * N_MATRIX_ROW;
- end = j + b1 - 1;
- for (i = j - b2 + 1, q = dpcell[j] + i, s = curr + i; i != end; ++i, ++s, ++q) {
- set_M(s->M, q, last + i - 1, mat[seq1[i]]);
- set_I(s->I, q, last + i);
- set_D(s->D, q, s - 1);
- }
- set_M(s->M, q, last + i - 1, mat[seq1[i]]);
- set_D(s->D, q, s - 1);
- s->I = MINOR_INF;
- s = curr; curr = last; last = s;
- }
-
- /* core dynamic programming, part 3 */
- for (; j < len2; ++j) {
- SET_INF(curr[j - b2]);
- mat = score_matrix + seq2[j] * N_MATRIX_ROW;
- for (i = j - b2 + 1, q = dpcell[j] + i, s = curr + i; i < len1; ++i, ++s, ++q) {
- set_M(s->M, q, last + i - 1, mat[seq1[i]]);
- set_I(s->I, q, last + i);
- set_D(s->D, q, s - 1);
- }
- set_M(s->M, q, last + len1 - 1, mat[seq1[i]]);
- set_end_I(s->I, q, last + i);
- set_D(s->D, q, s - 1);
- s = curr; curr = last; last = s;
- }
- /* last row */
- if (j == len2) {
- SET_INF(curr[j - b2]);
- mat = score_matrix + seq2[j] * N_MATRIX_ROW;
- for (i = j - b2 + 1, q = dpcell[j] + i, s = curr + i; i < len1; ++i, ++s, ++q) {
- set_M(s->M, q, last + i - 1, mat[seq1[i]]);
- set_I(s->I, q, last + i);
- set_end_D(s->D, q, s - 1);
- }
- set_M(s->M, q, last + len1 - 1, mat[seq1[i]]);
- set_end_I(s->I, q, last + i);
- set_end_D(s->D, q, s - 1);
- s = curr; curr = last; last = s;
- }
-
- *_score = last[len1].M;
- if (n_cigar) { /* backtrace */
- path_t *p, *path = (path_t*)malloc(sizeof(path_t) * (len1 + len2 + 2));
- i = len1; j = len2;
- q = dpcell[j] + i;
- s = last + len1;
- max = s->M; type = q->Mt; ctype = FROM_M;
- if (s->I > max) { max = s->I; type = q->It; ctype = FROM_I; }
- if (s->D > max) { max = s->D; type = q->Dt; ctype = FROM_D; }
-
- p = path;
- p->ctype = ctype; p->i = i; p->j = j; /* bug fixed 040408 */
- ++p;
- do {
- switch (ctype) {
- case FROM_M: --i; --j; break;
- case FROM_I: --j; break;
- case FROM_D: --i; break;
- }
- q = dpcell[j] + i;
- ctype = type;
- switch (type) {
- case FROM_M: type = q->Mt; break;
- case FROM_I: type = q->It; break;
- case FROM_D: type = q->Dt; break;
- }
- p->ctype = ctype; p->i = i; p->j = j;
- ++p;
- } while (i || j);
- cigar = ka_path2cigar32(path, p - path - 1, n_cigar);
- free(path);
- }
-
- /* free memory */
- for (j = b2 + 1; j <= len2; ++j)
- dpcell[j] += j - b2;
- for (j = 0; j <= len2; ++j)
- free(dpcell[j]);
- free(dpcell);
- free(curr); free(last);
-
- return cigar;
-}
-
-typedef struct {
- int M, I, D;
-} score_aux_t;
-
-#define MINUS_INF -0x40000000
-
-// matrix: len2 rows and len1 columns
-int ka_global_score(const uint8_t *_seq1, int len1, const uint8_t *_seq2, int len2, const ka_param2_t *ap)
-{
-
-#define __score_aux(_p, _q0, _sc, _io, _ie, _do, _de) { \
- int t1, t2; \
- score_aux_t *_q; \
- _q = _q0; \
- _p->M = _q->M >= _q->I? _q->M : _q->I; \
- _p->M = _p->M >= _q->D? _p->M : _q->D; \
- _p->M += (_sc); \
- ++_q; t1 = _q->M - _io - _ie; t2 = _q->I - _ie; _p->I = t1 >= t2? t1 : t2; \
- _q = _p-1; t1 = _q->M - _do - _de; t2 = _q->D - _de; _p->D = t1 >= t2? t1 : t2; \
- }
-
- int i, j, bw, scmat_size = ap->row, *scmat = ap->matrix, ret;
- const uint8_t *seq1, *seq2;
- score_aux_t *curr, *last, *swap;
- bw = abs(len1 - len2) + ap->band_width;
- i = len1 > len2? len1 : len2;
- if (bw > i + 1) bw = i + 1;
- seq1 = _seq1 - 1; seq2 = _seq2 - 1;
- curr = calloc(len1 + 2, sizeof(score_aux_t));
- last = calloc(len1 + 2, sizeof(score_aux_t));
- { // the zero-th row
- int x, end = len1;
- score_aux_t *p;
- j = 0;
- x = j + bw; end = len1 < x? len1 : x; // band end
- p = curr;
- p->M = 0; p->I = p->D = MINUS_INF;
- for (i = 1, p = &curr[1]; i <= end; ++i, ++p)
- p->M = p->I = MINUS_INF, p->D = -(ap->edo + ap->ede * i);
- p->M = p->I = p->D = MINUS_INF;
- swap = curr; curr = last; last = swap;
- }
- for (j = 1; j < len2; ++j) {
- int x, beg = 0, end = len1, *scrow, col_end;
- score_aux_t *p;
- x = j - bw; beg = 0 > x? 0 : x; // band start
- x = j + bw; end = len1 < x? len1 : x; // band end
- if (beg == 0) { // from zero-th column
- p = curr;
- p->M = p->D = MINUS_INF; p->I = -(ap->eio + ap->eie * j);
- ++beg; // then beg = 1
- }
- scrow = scmat + seq2[j] * scmat_size;
- if (end == len1) col_end = 1, --end;
- else col_end = 0;
- for (i = beg, p = &curr[beg]; i <= end; ++i, ++p)
- __score_aux(p, &last[i-1], scrow[(int)seq1[i]], ap->iio, ap->iie, ap->ido, ap->ide);
- if (col_end) {
- __score_aux(p, &last[i-1], scrow[(int)seq1[i]], ap->eio, ap->eie, ap->ido, ap->ide);
- ++p;
- }
- p->M = p->I = p->D = MINUS_INF;
-// for (i = 0; i <= len1; ++i) printf("(%d,%d,%d) ", curr[i].M, curr[i].I, curr[i].D); putchar('\n');
- swap = curr; curr = last; last = swap;
- }
- { // the last row
- int x, beg = 0, *scrow;
- score_aux_t *p;
- j = len2;
- x = j - bw; beg = 0 > x? 0 : x; // band start
- if (beg == 0) { // from zero-th column
- p = curr;
- p->M = p->D = MINUS_INF; p->I = -(ap->eio + ap->eie * j);
- ++beg; // then beg = 1
- }
- scrow = scmat + seq2[j] * scmat_size;
- for (i = beg, p = &curr[beg]; i < len1; ++i, ++p)
- __score_aux(p, &last[i-1], scrow[(int)seq1[i]], ap->iio, ap->iie, ap->edo, ap->ede);
- __score_aux(p, &last[i-1], scrow[(int)seq1[i]], ap->eio, ap->eie, ap->edo, ap->ede);
-// for (i = 0; i <= len1; ++i) printf("(%d,%d,%d) ", curr[i].M, curr[i].I, curr[i].D); putchar('\n');
- }
- ret = curr[len1].M >= curr[len1].I? curr[len1].M : curr[len1].I;
- ret = ret >= curr[len1].D? ret : curr[len1].D;
- free(curr); free(last);
- return ret;
-}
-
-#ifdef _MAIN
-int main(int argc, char *argv[])
-{
-// int len1 = 35, len2 = 35;
-// uint8_t *seq1 = (uint8_t*)"\0\0\3\3\2\0\0\0\1\0\2\1\2\1\3\2\3\3\3\0\2\3\2\1\1\3\3\3\2\3\3\1\0\0\1";
-// uint8_t *seq2 = (uint8_t*)"\0\0\3\3\2\0\0\0\1\0\2\1\2\1\3\2\3\3\3\0\2\3\2\1\1\3\3\3\2\3\3\1\0\1\0";
- int len1 = 4, len2 = 4;
- uint8_t *seq1 = (uint8_t*)"\1\0\0\1";
- uint8_t *seq2 = (uint8_t*)"\1\0\1\0";
- int sc;
-// ka_global_core(seq1, 2, seq2, 1, &ka_param_qual, &sc, 0);
- sc = ka_global_score(seq1, len1, seq2, len2, &ka_param2_qual);
- printf("%d\n", sc);
- return 0;
-}
-#endif
diff --git a/sam/kaln.h b/sam/kaln.h
deleted file mode 100644
index 1ece132..0000000
--- a/sam/kaln.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/* The MIT License
-
- Copyright (c) 2003-2006, 2008, 2009 by Heng Li <lh3 at live.co.uk>
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- "Software"), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- SOFTWARE.
-*/
-
-#ifndef LH3_KALN_H_
-#define LH3_KALN_H_
-
-#include <stdint.h>
-
-#define MINOR_INF -1073741823
-
-typedef struct {
- int gap_open;
- int gap_ext;
- int gap_end_open;
- int gap_end_ext;
-
- int *matrix;
- int row;
- int band_width;
-} ka_param_t;
-
-typedef struct {
- int iio, iie, ido, ide;
- int eio, eie, edo, ede;
- int *matrix;
- int row;
- int band_width;
-} ka_param2_t;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
- uint32_t *ka_global_core(uint8_t *seq1, int len1, uint8_t *seq2, int len2, const ka_param_t *ap,
- int *_score, int *n_cigar);
- int ka_global_score(const uint8_t *_seq1, int len1, const uint8_t *_seq2, int len2, const ka_param2_t *ap);
-#ifdef __cplusplus
-}
-#endif
-
-extern ka_param_t ka_param_blast; /* = { 5, 2, 5, 2, aln_sm_blast, 5, 50 }; */
-extern ka_param_t ka_param_qual; // only use this for global alignment!!!
-extern ka_param2_t ka_param2_qual; // only use this for global alignment!!!
-
-#endif
diff --git a/sam/khash.h b/sam/khash.h
deleted file mode 100644
index a7e8056..0000000
--- a/sam/khash.h
+++ /dev/null
@@ -1,528 +0,0 @@
-/* The MIT License
-
- Copyright (c) 2008, 2009, 2011 by Attractive Chaos <attractor at live.co.uk>
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- "Software"), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- SOFTWARE.
-*/
-
-/*
- An example:
-
-#include "khash.h"
-KHASH_MAP_INIT_INT(32, char)
-int main() {
- int ret, is_missing;
- khiter_t k;
- khash_t(32) *h = kh_init(32);
- k = kh_put(32, h, 5, &ret);
- if (!ret) kh_del(32, h, k);
- kh_value(h, k) = 10;
- k = kh_get(32, h, 10);
- is_missing = (k == kh_end(h));
- k = kh_get(32, h, 5);
- kh_del(32, h, k);
- for (k = kh_begin(h); k != kh_end(h); ++k)
- if (kh_exist(h, k)) kh_value(h, k) = 1;
- kh_destroy(32, h);
- return 0;
-}
-*/
-
-/*
- 2011-02-14 (0.2.5):
-
- * Allow to declare global functions.
-
- 2009-09-26 (0.2.4):
-
- * Improve portability
-
- 2008-09-19 (0.2.3):
-
- * Corrected the example
- * Improved interfaces
-
- 2008-09-11 (0.2.2):
-
- * Improved speed a little in kh_put()
-
- 2008-09-10 (0.2.1):
-
- * Added kh_clear()
- * Fixed a compiling error
-
- 2008-09-02 (0.2.0):
-
- * Changed to token concatenation which increases flexibility.
-
- 2008-08-31 (0.1.2):
-
- * Fixed a bug in kh_get(), which has not been tested previously.
-
- 2008-08-31 (0.1.1):
-
- * Added destructor
-*/
-
-
-#ifndef __AC_KHASH_H
-#define __AC_KHASH_H
-
-/*!
- @header
-
- Generic hash table library.
-
- @copyright Heng Li
- */
-
-#define AC_VERSION_KHASH_H "0.2.5"
-
-#include <stdlib.h>
-#include <string.h>
-#include <limits.h>
-
-/* compipler specific configuration */
-
-#if UINT_MAX == 0xffffffffu
-typedef unsigned int khint32_t;
-#elif ULONG_MAX == 0xffffffffu
-typedef unsigned long khint32_t;
-#endif
-
-#if ULONG_MAX == ULLONG_MAX
-typedef unsigned long khint64_t;
-#else
-typedef unsigned long long khint64_t;
-#endif
-
-#ifdef _MSC_VER
-#define inline __inline
-#endif
-
-typedef khint32_t khint_t;
-typedef khint_t khiter_t;
-
-#define __ac_HASH_PRIME_SIZE 32
-static const khint32_t __ac_prime_list[__ac_HASH_PRIME_SIZE] =
-{
- 0ul, 3ul, 11ul, 23ul, 53ul,
- 97ul, 193ul, 389ul, 769ul, 1543ul,
- 3079ul, 6151ul, 12289ul, 24593ul, 49157ul,
- 98317ul, 196613ul, 393241ul, 786433ul, 1572869ul,
- 3145739ul, 6291469ul, 12582917ul, 25165843ul, 50331653ul,
- 100663319ul, 201326611ul, 402653189ul, 805306457ul, 1610612741ul,
- 3221225473ul, 4294967291ul
-};
-
-#define __ac_isempty(flag, i) ((flag[i>>4]>>((i&0xfU)<<1))&2)
-#define __ac_isdel(flag, i) ((flag[i>>4]>>((i&0xfU)<<1))&1)
-#define __ac_iseither(flag, i) ((flag[i>>4]>>((i&0xfU)<<1))&3)
-#define __ac_set_isdel_false(flag, i) (flag[i>>4]&=~(1ul<<((i&0xfU)<<1)))
-#define __ac_set_isempty_false(flag, i) (flag[i>>4]&=~(2ul<<((i&0xfU)<<1)))
-#define __ac_set_isboth_false(flag, i) (flag[i>>4]&=~(3ul<<((i&0xfU)<<1)))
-#define __ac_set_isdel_true(flag, i) (flag[i>>4]|=1ul<<((i&0xfU)<<1))
-
-static const double __ac_HASH_UPPER = 0.77;
-
-#define KHASH_DECLARE(name, khkey_t, khval_t) \
- typedef struct { \
- khint_t n_buckets, size, n_occupied, upper_bound; \
- khint32_t *flags; \
- khkey_t *keys; \
- khval_t *vals; \
- } kh_##name##_t; \
- extern kh_##name##_t *kh_init_##name(); \
- extern void kh_destroy_##name(kh_##name##_t *h); \
- extern void kh_clear_##name(kh_##name##_t *h); \
- extern khint_t kh_get_##name(const kh_##name##_t *h, khkey_t key); \
- extern void kh_resize_##name(kh_##name##_t *h, khint_t new_n_buckets); \
- extern khint_t kh_put_##name(kh_##name##_t *h, khkey_t key, int *ret); \
- extern void kh_del_##name(kh_##name##_t *h, khint_t x);
-
-#define KHASH_INIT2(name, SCOPE, khkey_t, khval_t, kh_is_map, __hash_func, __hash_equal) \
- typedef struct { \
- khint_t n_buckets, size, n_occupied, upper_bound; \
- khint32_t *flags; \
- khkey_t *keys; \
- khval_t *vals; \
- } kh_##name##_t; \
- SCOPE kh_##name##_t *kh_init_##name() { \
- return (kh_##name##_t*)calloc(1, sizeof(kh_##name##_t)); \
- } \
- SCOPE void kh_destroy_##name(kh_##name##_t *h) \
- { \
- if (h) { \
- free(h->keys); free(h->flags); \
- free(h->vals); \
- free(h); \
- } \
- } \
- SCOPE void kh_clear_##name(kh_##name##_t *h) \
- { \
- if (h && h->flags) { \
- memset(h->flags, 0xaa, ((h->n_buckets>>4) + 1) * sizeof(khint32_t)); \
- h->size = h->n_occupied = 0; \
- } \
- } \
- SCOPE khint_t kh_get_##name(const kh_##name##_t *h, khkey_t key) \
- { \
- if (h->n_buckets) { \
- khint_t inc, k, i, last; \
- k = __hash_func(key); i = k % h->n_buckets; \
- inc = 1 + k % (h->n_buckets - 1); last = i; \
- while (!__ac_isempty(h->flags, i) && (__ac_isdel(h->flags, i) || !__hash_equal(h->keys[i], key))) { \
- if (i + inc >= h->n_buckets) i = i + inc - h->n_buckets; \
- else i += inc; \
- if (i == last) return h->n_buckets; \
- } \
- return __ac_iseither(h->flags, i)? h->n_buckets : i; \
- } else return 0; \
- } \
- SCOPE void kh_resize_##name(kh_##name##_t *h, khint_t new_n_buckets) \
- { \
- khint32_t *new_flags = 0; \
- khint_t j = 1; \
- { \
- khint_t t = __ac_HASH_PRIME_SIZE - 1; \
- while (__ac_prime_list[t] > new_n_buckets) --t; \
- new_n_buckets = __ac_prime_list[t+1]; \
- if (h->size >= (khint_t)(new_n_buckets * __ac_HASH_UPPER + 0.5)) j = 0; \
- else { \
- new_flags = (khint32_t*)malloc(((new_n_buckets>>4) + 1) * sizeof(khint32_t)); \
- memset(new_flags, 0xaa, ((new_n_buckets>>4) + 1) * sizeof(khint32_t)); \
- if (h->n_buckets < new_n_buckets) { \
- h->keys = (khkey_t*)realloc(h->keys, new_n_buckets * sizeof(khkey_t)); \
- if (kh_is_map) \
- h->vals = (khval_t*)realloc(h->vals, new_n_buckets * sizeof(khval_t)); \
- } \
- } \
- } \
- if (j) { \
- for (j = 0; j != h->n_buckets; ++j) { \
- if (__ac_iseither(h->flags, j) == 0) { \
- khkey_t key = h->keys[j]; \
- khval_t val; \
- if (kh_is_map) val = h->vals[j]; \
- __ac_set_isdel_true(h->flags, j); \
- while (1) { \
- khint_t inc, k, i; \
- k = __hash_func(key); \
- i = k % new_n_buckets; \
- inc = 1 + k % (new_n_buckets - 1); \
- while (!__ac_isempty(new_flags, i)) { \
- if (i + inc >= new_n_buckets) i = i + inc - new_n_buckets; \
- else i += inc; \
- } \
- __ac_set_isempty_false(new_flags, i); \
- if (i < h->n_buckets && __ac_iseither(h->flags, i) == 0) { \
- { khkey_t tmp = h->keys[i]; h->keys[i] = key; key = tmp; } \
- if (kh_is_map) { khval_t tmp = h->vals[i]; h->vals[i] = val; val = tmp; } \
- __ac_set_isdel_true(h->flags, i); \
- } else { \
- h->keys[i] = key; \
- if (kh_is_map) h->vals[i] = val; \
- break; \
- } \
- } \
- } \
- } \
- if (h->n_buckets > new_n_buckets) { \
- h->keys = (khkey_t*)realloc(h->keys, new_n_buckets * sizeof(khkey_t)); \
- if (kh_is_map) \
- h->vals = (khval_t*)realloc(h->vals, new_n_buckets * sizeof(khval_t)); \
- } \
- free(h->flags); \
- h->flags = new_flags; \
- h->n_buckets = new_n_buckets; \
- h->n_occupied = h->size; \
- h->upper_bound = (khint_t)(h->n_buckets * __ac_HASH_UPPER + 0.5); \
- } \
- } \
- SCOPE khint_t kh_put_##name(kh_##name##_t *h, khkey_t key, int *ret) \
- { \
- khint_t x; \
- if (h->n_occupied >= h->upper_bound) { \
- if (h->n_buckets > (h->size<<1)) kh_resize_##name(h, h->n_buckets - 1); \
- else kh_resize_##name(h, h->n_buckets + 1); \
- } \
- { \
- khint_t inc, k, i, site, last; \
- x = site = h->n_buckets; k = __hash_func(key); i = k % h->n_buckets; \
- if (__ac_isempty(h->flags, i)) x = i; \
- else { \
- inc = 1 + k % (h->n_buckets - 1); last = i; \
- while (!__ac_isempty(h->flags, i) && (__ac_isdel(h->flags, i) || !__hash_equal(h->keys[i], key))) { \
- if (__ac_isdel(h->flags, i)) site = i; \
- if (i + inc >= h->n_buckets) i = i + inc - h->n_buckets; \
- else i += inc; \
- if (i == last) { x = site; break; } \
- } \
- if (x == h->n_buckets) { \
- if (__ac_isempty(h->flags, i) && site != h->n_buckets) x = site; \
- else x = i; \
- } \
- } \
- } \
- if (__ac_isempty(h->flags, x)) { \
- h->keys[x] = key; \
- __ac_set_isboth_false(h->flags, x); \
- ++h->size; ++h->n_occupied; \
- *ret = 1; \
- } else if (__ac_isdel(h->flags, x)) { \
- h->keys[x] = key; \
- __ac_set_isboth_false(h->flags, x); \
- ++h->size; \
- *ret = 2; \
- } else *ret = 0; \
- return x; \
- } \
- SCOPE void kh_del_##name(kh_##name##_t *h, khint_t x) \
- { \
- if (x != h->n_buckets && !__ac_iseither(h->flags, x)) { \
- __ac_set_isdel_true(h->flags, x); \
- --h->size; \
- } \
- }
-
-#define KHASH_INIT(name, khkey_t, khval_t, kh_is_map, __hash_func, __hash_equal) \
- KHASH_INIT2(name, static inline, khkey_t, khval_t, kh_is_map, __hash_func, __hash_equal)
-
-/* --- BEGIN OF HASH FUNCTIONS --- */
-
-/*! @function
- @abstract Integer hash function
- @param key The integer [khint32_t]
- @return The hash value [khint_t]
- */
-#define kh_int_hash_func(key) (khint32_t)(key)
-/*! @function
- @abstract Integer comparison function
- */
-#define kh_int_hash_equal(a, b) ((a) == (b))
-/*! @function
- @abstract 64-bit integer hash function
- @param key The integer [khint64_t]
- @return The hash value [khint_t]
- */
-#define kh_int64_hash_func(key) (khint32_t)((key)>>33^(key)^(key)<<11)
-/*! @function
- @abstract 64-bit integer comparison function
- */
-#define kh_int64_hash_equal(a, b) ((a) == (b))
-/*! @function
- @abstract const char* hash function
- @param s Pointer to a null terminated string
- @return The hash value
- */
-static inline khint_t __ac_X31_hash_string(const char *s)
-{
- khint_t h = *s;
- if (h) for (++s ; *s; ++s) h = (h << 5) - h + *s;
- return h;
-}
-/*! @function
- @abstract Another interface to const char* hash function
- @param key Pointer to a null terminated string [const char*]
- @return The hash value [khint_t]
- */
-#define kh_str_hash_func(key) __ac_X31_hash_string(key)
-/*! @function
- @abstract Const char* comparison function
- */
-#define kh_str_hash_equal(a, b) (strcmp(a, b) == 0)
-
-/* --- END OF HASH FUNCTIONS --- */
-
-/* Other necessary macros... */
-
-/*!
- @abstract Type of the hash table.
- @param name Name of the hash table [symbol]
- */
-#define khash_t(name) kh_##name##_t
-
-/*! @function
- @abstract Initiate a hash table.
- @param name Name of the hash table [symbol]
- @return Pointer to the hash table [khash_t(name)*]
- */
-#define kh_init(name) kh_init_##name()
-
-/*! @function
- @abstract Destroy a hash table.
- @param name Name of the hash table [symbol]
- @param h Pointer to the hash table [khash_t(name)*]
- */
-#define kh_destroy(name, h) kh_destroy_##name(h)
-
-/*! @function
- @abstract Reset a hash table without deallocating memory.
- @param name Name of the hash table [symbol]
- @param h Pointer to the hash table [khash_t(name)*]
- */
-#define kh_clear(name, h) kh_clear_##name(h)
-
-/*! @function
- @abstract Resize a hash table.
- @param name Name of the hash table [symbol]
- @param h Pointer to the hash table [khash_t(name)*]
- @param s New size [khint_t]
- */
-#define kh_resize(name, h, s) kh_resize_##name(h, s)
-
-/*! @function
- @abstract Insert a key to the hash table.
- @param name Name of the hash table [symbol]
- @param h Pointer to the hash table [khash_t(name)*]
- @param k Key [type of keys]
- @param r Extra return code: 0 if the key is present in the hash table;
- 1 if the bucket is empty (never used); 2 if the element in
- the bucket has been deleted [int*]
- @return Iterator to the inserted element [khint_t]
- */
-#define kh_put(name, h, k, r) kh_put_##name(h, k, r)
-
-/*! @function
- @abstract Retrieve a key from the hash table.
- @param name Name of the hash table [symbol]
- @param h Pointer to the hash table [khash_t(name)*]
- @param k Key [type of keys]
- @return Iterator to the found element, or kh_end(h) is the element is absent [khint_t]
- */
-#define kh_get(name, h, k) kh_get_##name(h, k)
-
-/*! @function
- @abstract Remove a key from the hash table.
- @param name Name of the hash table [symbol]
- @param h Pointer to the hash table [khash_t(name)*]
- @param k Iterator to the element to be deleted [khint_t]
- */
-#define kh_del(name, h, k) kh_del_##name(h, k)
-
-
-/*! @function
- @abstract Test whether a bucket contains data.
- @param h Pointer to the hash table [khash_t(name)*]
- @param x Iterator to the bucket [khint_t]
- @return 1 if containing data; 0 otherwise [int]
- */
-#define kh_exist(h, x) (!__ac_iseither((h)->flags, (x)))
-
-/*! @function
- @abstract Get key given an iterator
- @param h Pointer to the hash table [khash_t(name)*]
- @param x Iterator to the bucket [khint_t]
- @return Key [type of keys]
- */
-#define kh_key(h, x) ((h)->keys[x])
-
-/*! @function
- @abstract Get value given an iterator
- @param h Pointer to the hash table [khash_t(name)*]
- @param x Iterator to the bucket [khint_t]
- @return Value [type of values]
- @discussion For hash sets, calling this results in segfault.
- */
-#define kh_val(h, x) ((h)->vals[x])
-
-/*! @function
- @abstract Alias of kh_val()
- */
-#define kh_value(h, x) ((h)->vals[x])
-
-/*! @function
- @abstract Get the start iterator
- @param h Pointer to the hash table [khash_t(name)*]
- @return The start iterator [khint_t]
- */
-#define kh_begin(h) (khint_t)(0)
-
-/*! @function
- @abstract Get the end iterator
- @param h Pointer to the hash table [khash_t(name)*]
- @return The end iterator [khint_t]
- */
-#define kh_end(h) ((h)->n_buckets)
-
-/*! @function
- @abstract Get the number of elements in the hash table
- @param h Pointer to the hash table [khash_t(name)*]
- @return Number of elements in the hash table [khint_t]
- */
-#define kh_size(h) ((h)->size)
-
-/*! @function
- @abstract Get the number of buckets in the hash table
- @param h Pointer to the hash table [khash_t(name)*]
- @return Number of buckets in the hash table [khint_t]
- */
-#define kh_n_buckets(h) ((h)->n_buckets)
-
-/* More conenient interfaces */
-
-/*! @function
- @abstract Instantiate a hash set containing integer keys
- @param name Name of the hash table [symbol]
- */
-#define KHASH_SET_INIT_INT(name) \
- KHASH_INIT(name, khint32_t, char, 0, kh_int_hash_func, kh_int_hash_equal)
-
-/*! @function
- @abstract Instantiate a hash map containing integer keys
- @param name Name of the hash table [symbol]
- @param khval_t Type of values [type]
- */
-#define KHASH_MAP_INIT_INT(name, khval_t) \
- KHASH_INIT(name, khint32_t, khval_t, 1, kh_int_hash_func, kh_int_hash_equal)
-
-/*! @function
- @abstract Instantiate a hash map containing 64-bit integer keys
- @param name Name of the hash table [symbol]
- */
-#define KHASH_SET_INIT_INT64(name) \
- KHASH_INIT(name, khint64_t, char, 0, kh_int64_hash_func, kh_int64_hash_equal)
-
-/*! @function
- @abstract Instantiate a hash map containing 64-bit integer keys
- @param name Name of the hash table [symbol]
- @param khval_t Type of values [type]
- */
-#define KHASH_MAP_INIT_INT64(name, khval_t) \
- KHASH_INIT(name, khint64_t, khval_t, 1, kh_int64_hash_func, kh_int64_hash_equal)
-
-typedef const char *kh_cstr_t;
-/*! @function
- @abstract Instantiate a hash map containing const char* keys
- @param name Name of the hash table [symbol]
- */
-#define KHASH_SET_INIT_STR(name) \
- KHASH_INIT(name, kh_cstr_t, char, 0, kh_str_hash_func, kh_str_hash_equal)
-
-/*! @function
- @abstract Instantiate a hash map containing const char* keys
- @param name Name of the hash table [symbol]
- @param khval_t Type of values [type]
- */
-#define KHASH_MAP_INIT_STR(name, khval_t) \
- KHASH_INIT(name, kh_cstr_t, khval_t, 1, kh_str_hash_func, kh_str_hash_equal)
-
-#endif /* __AC_KHASH_H */
diff --git a/sam/klist.h b/sam/klist.h
deleted file mode 100644
index 2f17016..0000000
--- a/sam/klist.h
+++ /dev/null
@@ -1,96 +0,0 @@
-#ifndef _LH3_KLIST_H
-#define _LH3_KLIST_H
-
-#include <stdlib.h>
-
-#define KMEMPOOL_INIT(name, kmptype_t, kmpfree_f) \
- typedef struct { \
- size_t cnt, n, max; \
- kmptype_t **buf; \
- } kmp_##name##_t; \
- static inline kmp_##name##_t *kmp_init_##name() { \
- return calloc(1, sizeof(kmp_##name##_t)); \
- } \
- static inline void kmp_destroy_##name(kmp_##name##_t *mp) { \
- size_t k; \
- for (k = 0; k < mp->n; ++k) { \
- kmpfree_f(mp->buf[k]); free(mp->buf[k]); \
- } \
- free(mp->buf); free(mp); \
- } \
- static inline kmptype_t *kmp_alloc_##name(kmp_##name##_t *mp) { \
- ++mp->cnt; \
- if (mp->n == 0) return calloc(1, sizeof(kmptype_t)); \
- return mp->buf[--mp->n]; \
- } \
- static inline void kmp_free_##name(kmp_##name##_t *mp, kmptype_t *p) { \
- --mp->cnt; \
- if (mp->n == mp->max) { \
- mp->max = mp->max? mp->max<<1 : 16; \
- mp->buf = realloc(mp->buf, sizeof(void*) * mp->max); \
- } \
- mp->buf[mp->n++] = p; \
- }
-
-#define kmempool_t(name) kmp_##name##_t
-#define kmp_init(name) kmp_init_##name()
-#define kmp_destroy(name, mp) kmp_destroy_##name(mp)
-#define kmp_alloc(name, mp) kmp_alloc_##name(mp)
-#define kmp_free(name, mp, p) kmp_free_##name(mp, p)
-
-#define KLIST_INIT(name, kltype_t, kmpfree_t) \
- struct __kl1_##name { \
- kltype_t data; \
- struct __kl1_##name *next; \
- }; \
- typedef struct __kl1_##name kl1_##name; \
- KMEMPOOL_INIT(name, kl1_##name, kmpfree_t) \
- typedef struct { \
- kl1_##name *head, *tail; \
- kmp_##name##_t *mp; \
- size_t size; \
- } kl_##name##_t; \
- static inline kl_##name##_t *kl_init_##name() { \
- kl_##name##_t *kl = calloc(1, sizeof(kl_##name##_t)); \
- kl->mp = kmp_init(name); \
- kl->head = kl->tail = kmp_alloc(name, kl->mp); \
- kl->head->next = 0; \
- return kl; \
- } \
- static inline void kl_destroy_##name(kl_##name##_t *kl) { \
- kl1_##name *p; \
- for (p = kl->head; p != kl->tail; p = p->next) \
- kmp_free(name, kl->mp, p); \
- kmp_free(name, kl->mp, p); \
- kmp_destroy(name, kl->mp); \
- free(kl); \
- } \
- static inline kltype_t *kl_pushp_##name(kl_##name##_t *kl) { \
- kl1_##name *q, *p = kmp_alloc(name, kl->mp); \
- q = kl->tail; p->next = 0; kl->tail->next = p; kl->tail = p; \
- ++kl->size; \
- return &q->data; \
- } \
- static inline int kl_shift_##name(kl_##name##_t *kl, kltype_t *d) { \
- kl1_##name *p; \
- if (kl->head->next == 0) return -1; \
- --kl->size; \
- p = kl->head; kl->head = kl->head->next; \
- if (d) *d = p->data; \
- kmp_free(name, kl->mp, p); \
- return 0; \
- }
-
-#define kliter_t(name) kl1_##name
-#define klist_t(name) kl_##name##_t
-#define kl_val(iter) ((iter)->data)
-#define kl_next(iter) ((iter)->next)
-#define kl_begin(kl) ((kl)->head)
-#define kl_end(kl) ((kl)->tail)
-
-#define kl_init(name) kl_init_##name()
-#define kl_destroy(name, kl) kl_destroy_##name(kl)
-#define kl_pushp(name, kl) kl_pushp_##name(kl)
-#define kl_shift(name, kl, d) kl_shift_##name(kl, d)
-
-#endif
diff --git a/sam/knetfile.c b/sam/knetfile.c
deleted file mode 100644
index af09146..0000000
--- a/sam/knetfile.c
+++ /dev/null
@@ -1,632 +0,0 @@
-/* The MIT License
-
- Copyright (c) 2008 by Genome Research Ltd (GRL).
- 2010 by Attractive Chaos <attractor at live.co.uk>
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- "Software"), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- SOFTWARE.
-*/
-
-/* Probably I will not do socket programming in the next few years and
- therefore I decide to heavily annotate this file, for Linux and
- Windows as well. -ac */
-
-#include <time.h>
-#include <stdio.h>
-#include <ctype.h>
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-#include <unistd.h>
-#include <sys/types.h>
-
-#ifndef _WIN32
-#include <netdb.h>
-#include <arpa/inet.h>
-#include <sys/socket.h>
-#endif
-
-#include "knetfile.h"
-
-/* In winsock.h, the type of a socket is SOCKET, which is: "typedef
- * u_int SOCKET". An invalid SOCKET is: "(SOCKET)(~0)", or signed
- * integer -1. In knetfile.c, I use "int" for socket type
- * throughout. This should be improved to avoid confusion.
- *
- * In Linux/Mac, recv() and read() do almost the same thing. You can see
- * in the header file that netread() is simply an alias of read(). In
- * Windows, however, they are different and using recv() is mandatory.
- */
-
-/* This function tests if the file handler is ready for reading (or
- * writing if is_read==0). */
-static int socket_wait(int fd, int is_read)
-{
- fd_set fds, *fdr = 0, *fdw = 0;
- struct timeval tv;
- int ret;
- tv.tv_sec = 5; tv.tv_usec = 0; // 5 seconds time out
- FD_ZERO(&fds);
- FD_SET(fd, &fds);
- if (is_read) fdr = &fds;
- else fdw = &fds;
- ret = select(fd+1, fdr, fdw, 0, &tv);
-#ifndef _WIN32
- if (ret == -1) perror("select");
-#else
- if (ret == 0)
- fprintf(stderr, "select time-out\n");
- else if (ret == SOCKET_ERROR)
- fprintf(stderr, "select: %d\n", WSAGetLastError());
-#endif
- return ret;
-}
-
-#ifndef _WIN32
-/* This function does not work with Windows due to the lack of
- * getaddrinfo() in winsock. It is addapted from an example in "Beej's
- * Guide to Network Programming" (http://beej.us/guide/bgnet/). */
-static int socket_connect(const char *host, const char *port)
-{
-#define __err_connect(func) do { perror(func); freeaddrinfo(res); return -1; } while (0)
-
- int on = 1, fd;
- struct linger lng = { 0, 0 };
- struct addrinfo hints, *res = 0;
- memset(&hints, 0, sizeof(struct addrinfo));
- hints.ai_family = AF_UNSPEC;
- hints.ai_socktype = SOCK_STREAM;
- /* In Unix/Mac, getaddrinfo() is the most convenient way to get
- * server information. */
- if (getaddrinfo(host, port, &hints, &res) != 0) __err_connect("getaddrinfo");
- if ((fd = socket(res->ai_family, res->ai_socktype, res->ai_protocol)) == -1) __err_connect("socket");
- /* The following two setsockopt() are used by ftplib
- * (http://nbpfaus.net/~pfau/ftplib/). I am not sure if they
- * necessary. */
- if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on)) == -1) __err_connect("setsockopt");
- if (setsockopt(fd, SOL_SOCKET, SO_LINGER, &lng, sizeof(lng)) == -1) __err_connect("setsockopt");
- if (connect(fd, res->ai_addr, res->ai_addrlen) != 0) __err_connect("connect");
- freeaddrinfo(res);
- return fd;
-}
-#else
-/* MinGW's printf has problem with "%lld" */
-char *int64tostr(char *buf, int64_t x)
-{
- int cnt;
- int i = 0;
- do {
- buf[i++] = '0' + x % 10;
- x /= 10;
- } while (x);
- buf[i] = 0;
- for (cnt = i, i = 0; i < cnt/2; ++i) {
- int c = buf[i]; buf[i] = buf[cnt-i-1]; buf[cnt-i-1] = c;
- }
- return buf;
-}
-
-int64_t strtoint64(const char *buf)
-{
- int64_t x;
- for (x = 0; *buf != '\0'; ++buf)
- x = x * 10 + ((int64_t) *buf - 48);
- return x;
-}
-/* In windows, the first thing is to establish the TCP connection. */
-int knet_win32_init()
-{
- WSADATA wsaData;
- return WSAStartup(MAKEWORD(2, 2), &wsaData);
-}
-void knet_win32_destroy()
-{
- WSACleanup();
-}
-/* A slightly modfied version of the following function also works on
- * Mac (and presummably Linux). However, this function is not stable on
- * my Mac. It sometimes works fine but sometimes does not. Therefore for
- * non-Windows OS, I do not use this one. */
-static SOCKET socket_connect(const char *host, const char *port)
-{
-#define __err_connect(func) \
- do { \
- fprintf(stderr, "%s: %d\n", func, WSAGetLastError()); \
- return -1; \
- } while (0)
-
- int on = 1;
- SOCKET fd;
- struct linger lng = { 0, 0 };
- struct sockaddr_in server;
- struct hostent *hp = 0;
- // open socket
- if ((fd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) == INVALID_SOCKET) __err_connect("socket");
- if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (char*)&on, sizeof(on)) == -1) __err_connect("setsockopt");
- if (setsockopt(fd, SOL_SOCKET, SO_LINGER, (char*)&lng, sizeof(lng)) == -1) __err_connect("setsockopt");
- // get host info
- if (isalpha(host[0])) hp = gethostbyname(host);
- else {
- struct in_addr addr;
- addr.s_addr = inet_addr(host);
- hp = gethostbyaddr((char*)&addr, 4, AF_INET);
- }
- if (hp == 0) __err_connect("gethost");
- // connect
- server.sin_addr.s_addr = *((unsigned long*)hp->h_addr);
- server.sin_family= AF_INET;
- server.sin_port = htons(atoi(port));
- if (connect(fd, (struct sockaddr*)&server, sizeof(server)) != 0) __err_connect("connect");
- // freehostent(hp); // strangely in MSDN, hp is NOT freed (memory leak?!)
- return fd;
-}
-#endif
-
-static off_t my_netread(int fd, void *buf, off_t len)
-{
- off_t rest = len, curr, l = 0;
- /* recv() and read() may not read the required length of data with
- * one call. They have to be called repeatedly. */
- while (rest) {
- if (socket_wait(fd, 1) <= 0) break; // socket is not ready for reading
- curr = netread(fd, buf + l, rest);
- /* According to the glibc manual, section 13.2, a zero returned
- * value indicates end-of-file (EOF), which should mean that
- * read() will not return zero if EOF has not been met but data
- * are not immediately available. */
- if (curr == 0) break;
- l += curr; rest -= curr;
- }
- return l;
-}
-
-/*************************
- * FTP specific routines *
- *************************/
-
-static int kftp_get_response(knetFile *ftp)
-{
-#ifndef _WIN32
- unsigned char c;
-#else
- char c;
-#endif
- int n = 0;
- char *p;
- if (socket_wait(ftp->ctrl_fd, 1) <= 0) return 0;
- while (netread(ftp->ctrl_fd, &c, 1)) { // FIXME: this is *VERY BAD* for unbuffered I/O
- //fputc(c, stderr);
- if (n >= ftp->max_response) {
- ftp->max_response = ftp->max_response? ftp->max_response<<1 : 256;
- ftp->response = realloc(ftp->response, ftp->max_response);
- }
- ftp->response[n++] = c;
- if (c == '\n') {
- if (n >= 4 && isdigit(ftp->response[0]) && isdigit(ftp->response[1]) && isdigit(ftp->response[2])
- && ftp->response[3] != '-') break;
- n = 0;
- continue;
- }
- }
- if (n < 2) return -1;
- ftp->response[n-2] = 0;
- return strtol(ftp->response, &p, 0);
-}
-
-static int kftp_send_cmd(knetFile *ftp, const char *cmd, int is_get)
-{
- if (socket_wait(ftp->ctrl_fd, 0) <= 0) return -1; // socket is not ready for writing
- netwrite(ftp->ctrl_fd, cmd, strlen(cmd));
- return is_get? kftp_get_response(ftp) : 0;
-}
-
-static int kftp_pasv_prep(knetFile *ftp)
-{
- char *p;
- int v[6];
- kftp_send_cmd(ftp, "PASV\r\n", 1);
- for (p = ftp->response; *p && *p != '('; ++p);
- if (*p != '(') return -1;
- ++p;
- sscanf(p, "%d,%d,%d,%d,%d,%d", &v[0], &v[1], &v[2], &v[3], &v[4], &v[5]);
- memcpy(ftp->pasv_ip, v, 4 * sizeof(int));
- ftp->pasv_port = (v[4]<<8&0xff00) + v[5];
- return 0;
-}
-
-
-static int kftp_pasv_connect(knetFile *ftp)
-{
- char host[80], port[10];
- if (ftp->pasv_port == 0) {
- fprintf(stderr, "[kftp_pasv_connect] kftp_pasv_prep() is not called before hand.\n");
- return -1;
- }
- sprintf(host, "%d.%d.%d.%d", ftp->pasv_ip[0], ftp->pasv_ip[1], ftp->pasv_ip[2], ftp->pasv_ip[3]);
- sprintf(port, "%d", ftp->pasv_port);
- ftp->fd = socket_connect(host, port);
- if (ftp->fd == -1) return -1;
- return 0;
-}
-
-int kftp_connect(knetFile *ftp)
-{
- ftp->ctrl_fd = socket_connect(ftp->host, ftp->port);
- if (ftp->ctrl_fd == -1) return -1;
- kftp_get_response(ftp);
- kftp_send_cmd(ftp, "USER anonymous\r\n", 1);
- kftp_send_cmd(ftp, "PASS kftp@\r\n", 1);
- kftp_send_cmd(ftp, "TYPE I\r\n", 1);
- return 0;
-}
-
-int kftp_reconnect(knetFile *ftp)
-{
- if (ftp->ctrl_fd != -1) {
- netclose(ftp->ctrl_fd);
- ftp->ctrl_fd = -1;
- }
- netclose(ftp->fd);
- ftp->fd = -1;
- return kftp_connect(ftp);
-}
-
-// initialize ->type, ->host, ->retr and ->size
-knetFile *kftp_parse_url(const char *fn, const char *mode)
-{
- knetFile *fp;
- char *p;
- int l;
- if (strstr(fn, "ftp://") != fn) return 0;
- for (p = (char*)fn + 6; *p && *p != '/'; ++p);
- if (*p != '/') return 0;
- l = p - fn - 6;
- fp = calloc(1, sizeof(knetFile));
- fp->type = KNF_TYPE_FTP;
- fp->fd = -1;
- /* the Linux/Mac version of socket_connect() also recognizes a port
- * like "ftp", but the Windows version does not. */
- fp->port = strdup("21");
- fp->host = calloc(l + 1, 1);
- if (strchr(mode, 'c')) fp->no_reconnect = 1;
- strncpy(fp->host, fn + 6, l);
- fp->retr = calloc(strlen(p) + 8, 1);
- sprintf(fp->retr, "RETR %s\r\n", p);
- fp->size_cmd = calloc(strlen(p) + 8, 1);
- sprintf(fp->size_cmd, "SIZE %s\r\n", p);
- fp->seek_offset = 0;
- return fp;
-}
-// place ->fd at offset off
-int kftp_connect_file(knetFile *fp)
-{
- int ret;
- long long file_size;
- if (fp->fd != -1) {
- netclose(fp->fd);
- if (fp->no_reconnect) kftp_get_response(fp);
- }
- kftp_pasv_prep(fp);
- kftp_send_cmd(fp, fp->size_cmd, 1);
-#ifndef _WIN32
- if ( sscanf(fp->response,"%*d %lld", &file_size) != 1 )
- {
- fprintf(stderr,"[kftp_connect_file] %s\n", fp->response);
- return -1;
- }
-#else
- const char *p = fp->response;
- while (*p != ' ') ++p;
- while (*p < '0' || *p > '9') ++p;
- file_size = strtoint64(p);
-#endif
- fp->file_size = file_size;
- if (fp->offset>=0) {
- char tmp[32];
-#ifndef _WIN32
- sprintf(tmp, "REST %lld\r\n", (long long)fp->offset);
-#else
- strcpy(tmp, "REST ");
- int64tostr(tmp + 5, fp->offset);
- strcat(tmp, "\r\n");
-#endif
- kftp_send_cmd(fp, tmp, 1);
- }
- kftp_send_cmd(fp, fp->retr, 0);
- kftp_pasv_connect(fp);
- ret = kftp_get_response(fp);
- if (ret != 150) {
- fprintf(stderr, "[kftp_connect_file] %s\n", fp->response);
- netclose(fp->fd);
- fp->fd = -1;
- return -1;
- }
- fp->is_ready = 1;
- return 0;
-}
-
-
-/**************************
- * HTTP specific routines *
- **************************/
-
-knetFile *khttp_parse_url(const char *fn, const char *mode)
-{
- knetFile *fp;
- char *p, *proxy, *q;
- int l;
- if (strstr(fn, "http://") != fn) return 0;
- // set ->http_host
- for (p = (char*)fn + 7; *p && *p != '/'; ++p);
- l = p - fn - 7;
- fp = calloc(1, sizeof(knetFile));
- fp->http_host = calloc(l + 1, 1);
- strncpy(fp->http_host, fn + 7, l);
- fp->http_host[l] = 0;
- for (q = fp->http_host; *q && *q != ':'; ++q);
- if (*q == ':') *q++ = 0;
- // get http_proxy
- proxy = getenv("http_proxy");
- // set ->host, ->port and ->path
- if (proxy == 0) {
- fp->host = strdup(fp->http_host); // when there is no proxy, server name is identical to http_host name.
- fp->port = strdup(*q? q : "80");
- fp->path = strdup(*p? p : "/");
- } else {
- fp->host = (strstr(proxy, "http://") == proxy)? strdup(proxy + 7) : strdup(proxy);
- for (q = fp->host; *q && *q != ':'; ++q);
- if (*q == ':') *q++ = 0;
- fp->port = strdup(*q? q : "80");
- fp->path = strdup(fn);
- }
- fp->type = KNF_TYPE_HTTP;
- fp->ctrl_fd = fp->fd = -1;
- fp->seek_offset = 0;
- return fp;
-}
-
-int khttp_connect_file(knetFile *fp)
-{
- int ret, l = 0;
- char *buf, *p;
- if (fp->fd != -1) netclose(fp->fd);
- fp->fd = socket_connect(fp->host, fp->port);
- buf = calloc(0x10000, 1); // FIXME: I am lazy... But in principle, 64KB should be large enough.
- l += sprintf(buf + l, "GET %s HTTP/1.0\r\nHost: %s\r\n", fp->path, fp->http_host);
- l += sprintf(buf + l, "Range: bytes=%lld-\r\n", (long long)fp->offset);
- l += sprintf(buf + l, "\r\n");
- netwrite(fp->fd, buf, l);
- l = 0;
- while (netread(fp->fd, buf + l, 1)) { // read HTTP header; FIXME: bad efficiency
- if (buf[l] == '\n' && l >= 3)
- if (strncmp(buf + l - 3, "\r\n\r\n", 4) == 0) break;
- ++l;
- }
- buf[l] = 0;
- if (l < 14) { // prematured header
- netclose(fp->fd);
- fp->fd = -1;
- return -1;
- }
- ret = strtol(buf + 8, &p, 0); // HTTP return code
- if (ret == 200 && fp->offset>0) { // 200 (complete result); then skip beginning of the file
- off_t rest = fp->offset;
- while (rest) {
- off_t l = rest < 0x10000? rest : 0x10000;
- rest -= my_netread(fp->fd, buf, l);
- }
- } else if (ret != 206 && ret != 200) {
- free(buf);
- fprintf(stderr, "[khttp_connect_file] fail to open file (HTTP code: %d).\n", ret);
- netclose(fp->fd);
- fp->fd = -1;
- return -1;
- }
- free(buf);
- fp->is_ready = 1;
- return 0;
-}
-
-/********************
- * Generic routines *
- ********************/
-
-knetFile *knet_open(const char *fn, const char *mode)
-{
- knetFile *fp = 0;
- if (mode[0] != 'r') {
- fprintf(stderr, "[kftp_open] only mode \"r\" is supported.\n");
- return 0;
- }
- if (strstr(fn, "ftp://") == fn) {
- fp = kftp_parse_url(fn, mode);
- if (fp == 0) return 0;
- if (kftp_connect(fp) == -1) {
- knet_close(fp);
- return 0;
- }
- kftp_connect_file(fp);
- } else if (strstr(fn, "http://") == fn) {
- fp = khttp_parse_url(fn, mode);
- if (fp == 0) return 0;
- khttp_connect_file(fp);
- } else { // local file
-#ifdef _WIN32
- /* In windows, O_BINARY is necessary. In Linux/Mac, O_BINARY may
- * be undefined on some systems, although it is defined on my
- * Mac and the Linux I have tested on. */
- int fd = open(fn, O_RDONLY | O_BINARY);
-#else
- int fd = open(fn, O_RDONLY);
-#endif
- if (fd == -1) {
- perror("open");
- return 0;
- }
- fp = (knetFile*)calloc(1, sizeof(knetFile));
- fp->type = KNF_TYPE_LOCAL;
- fp->fd = fd;
- fp->ctrl_fd = -1;
- }
- if (fp && fp->fd == -1) {
- knet_close(fp);
- return 0;
- }
- return fp;
-}
-
-knetFile *knet_dopen(int fd, const char *mode)
-{
- knetFile *fp = (knetFile*)calloc(1, sizeof(knetFile));
- fp->type = KNF_TYPE_LOCAL;
- fp->fd = fd;
- return fp;
-}
-
-off_t knet_read(knetFile *fp, void *buf, off_t len)
-{
- off_t l = 0;
- if (fp->fd == -1) return 0;
- if (fp->type == KNF_TYPE_FTP) {
- if (fp->is_ready == 0) {
- if (!fp->no_reconnect) kftp_reconnect(fp);
- kftp_connect_file(fp);
- }
- } else if (fp->type == KNF_TYPE_HTTP) {
- if (fp->is_ready == 0)
- khttp_connect_file(fp);
- }
- if (fp->type == KNF_TYPE_LOCAL) { // on Windows, the following block is necessary; not on UNIX
- off_t rest = len, curr;
- while (rest) {
- do {
- curr = read(fp->fd, buf + l, rest);
- } while (curr < 0 && EINTR == errno);
- if (curr < 0) return -1;
- if (curr == 0) break;
- l += curr; rest -= curr;
- }
- } else l = my_netread(fp->fd, buf, len);
- fp->offset += l;
- return l;
-}
-
-off_t knet_seek(knetFile *fp, int64_t off, int whence)
-{
- if (whence == SEEK_SET && off == fp->offset) return 0;
- if (fp->type == KNF_TYPE_LOCAL) {
- /* Be aware that lseek() returns the offset after seeking,
- * while fseek() returns zero on success. */
- off_t offset = lseek(fp->fd, off, whence);
- if (offset == -1) {
- // Be silent, it is OK for knet_seek to fail when the file is streamed
- // fprintf(stderr,"[knet_seek] %s\n", strerror(errno));
- return -1;
- }
- fp->offset = offset;
- return 0;
- }
- else if (fp->type == KNF_TYPE_FTP)
- {
- if (whence==SEEK_CUR)
- fp->offset += off;
- else if (whence==SEEK_SET)
- fp->offset = off;
- else if ( whence==SEEK_END)
- fp->offset = fp->file_size+off;
- fp->is_ready = 0;
- return 0;
- }
- else if (fp->type == KNF_TYPE_HTTP)
- {
- if (whence == SEEK_END) { // FIXME: can we allow SEEK_END in future?
- fprintf(stderr, "[knet_seek] SEEK_END is not supported for HTTP. Offset is unchanged.\n");
- errno = ESPIPE;
- return -1;
- }
- if (whence==SEEK_CUR)
- fp->offset += off;
- else if (whence==SEEK_SET)
- fp->offset = off;
- fp->is_ready = 0;
- return 0;
- }
- errno = EINVAL;
- fprintf(stderr,"[knet_seek] %s\n", strerror(errno));
- return -1;
-}
-
-int knet_close(knetFile *fp)
-{
- if (fp == 0) return 0;
- if (fp->ctrl_fd != -1) netclose(fp->ctrl_fd); // FTP specific
- if (fp->fd != -1) {
- /* On Linux/Mac, netclose() is an alias of close(), but on
- * Windows, it is an alias of closesocket(). */
- if (fp->type == KNF_TYPE_LOCAL) close(fp->fd);
- else netclose(fp->fd);
- }
- free(fp->host); free(fp->port);
- free(fp->response); free(fp->retr); // FTP specific
- free(fp->path); free(fp->http_host); // HTTP specific
- free(fp);
- return 0;
-}
-
-#ifdef KNETFILE_MAIN
-int main(void)
-{
- char *buf;
- knetFile *fp;
- int type = 4, l;
-#ifdef _WIN32
- knet_win32_init();
-#endif
- buf = calloc(0x100000, 1);
- if (type == 0) {
- fp = knet_open("knetfile.c", "r");
- knet_seek(fp, 1000, SEEK_SET);
- } else if (type == 1) { // NCBI FTP, large file
- fp = knet_open("ftp://ftp.ncbi.nih.gov/1000genomes/ftp/data/NA12878/alignment/NA12878.chrom6.SLX.SRP000032.2009_06.bam", "r");
- knet_seek(fp, 2500000000ll, SEEK_SET);
- l = knet_read(fp, buf, 255);
- } else if (type == 2) {
- fp = knet_open("ftp://ftp.sanger.ac.uk/pub4/treefam/tmp/index.shtml", "r");
- knet_seek(fp, 1000, SEEK_SET);
- } else if (type == 3) {
- fp = knet_open("http://www.sanger.ac.uk/Users/lh3/index.shtml", "r");
- knet_seek(fp, 1000, SEEK_SET);
- } else if (type == 4) {
- fp = knet_open("http://www.sanger.ac.uk/Users/lh3/ex1.bam", "r");
- knet_read(fp, buf, 10000);
- knet_seek(fp, 20000, SEEK_SET);
- knet_seek(fp, 10000, SEEK_SET);
- l = knet_read(fp, buf+10000, 10000000) + 10000;
- }
- if (type != 4 && type != 1) {
- knet_read(fp, buf, 255);
- buf[255] = 0;
- printf("%s\n", buf);
- } else write(fileno(stdout), buf, l);
- knet_close(fp);
- free(buf);
- return 0;
-}
-#endif
diff --git a/sam/knetfile.h b/sam/knetfile.h
deleted file mode 100644
index 0a0e66f..0000000
--- a/sam/knetfile.h
+++ /dev/null
@@ -1,75 +0,0 @@
-#ifndef KNETFILE_H
-#define KNETFILE_H
-
-#include <stdint.h>
-#include <fcntl.h>
-
-#ifndef _WIN32
-#define netread(fd, ptr, len) read(fd, ptr, len)
-#define netwrite(fd, ptr, len) write(fd, ptr, len)
-#define netclose(fd) close(fd)
-#else
-#include <winsock2.h>
-#define netread(fd, ptr, len) recv(fd, ptr, len, 0)
-#define netwrite(fd, ptr, len) send(fd, ptr, len, 0)
-#define netclose(fd) closesocket(fd)
-#endif
-
-// FIXME: currently I/O is unbuffered
-
-#define KNF_TYPE_LOCAL 1
-#define KNF_TYPE_FTP 2
-#define KNF_TYPE_HTTP 3
-
-typedef struct knetFile_s {
- int type, fd;
- int64_t offset;
- char *host, *port;
-
- // the following are for FTP only
- int ctrl_fd, pasv_ip[4], pasv_port, max_response, no_reconnect, is_ready;
- char *response, *retr, *size_cmd;
- int64_t seek_offset; // for lazy seek
- int64_t file_size;
-
- // the following are for HTTP only
- char *path, *http_host;
-} knetFile;
-
-#define knet_tell(fp) ((fp)->offset)
-#define knet_fileno(fp) ((fp)->fd)
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifdef _WIN32
- int knet_win32_init();
- void knet_win32_destroy();
-#endif
-
- knetFile *knet_open(const char *fn, const char *mode);
-
- /*
- This only works with local files.
- */
- knetFile *knet_dopen(int fd, const char *mode);
-
- /*
- If ->is_ready==0, this routine updates ->fd; otherwise, it simply
- reads from ->fd.
- */
- off_t knet_read(knetFile *fp, void *buf, off_t len);
-
- /*
- This routine only sets ->offset and ->is_ready=0. It does not
- communicate with the FTP server.
- */
- off_t knet_seek(knetFile *fp, int64_t off, int whence);
- int knet_close(knetFile *fp);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/sam/kprobaln.c b/sam/kprobaln.c
deleted file mode 100644
index 04e526a..0000000
--- a/sam/kprobaln.c
+++ /dev/null
@@ -1,280 +0,0 @@
-/* The MIT License
-
- Copyright (c) 2003-2006, 2008-2010, by Heng Li <lh3lh3 at live.co.uk>
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- "Software"), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- SOFTWARE.
-*/
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <stdint.h>
-#include <math.h>
-#include "kprobaln.h"
-
-/*****************************************
- * Probabilistic banded glocal alignment *
- *****************************************/
-
-#define EI .25
-#define EM .33333333333
-
-static float g_qual2prob[256];
-
-#define set_u(u, b, i, k) { int x=(i)-(b); x=x>0?x:0; (u)=((k)-x+1)*3; }
-
-kpa_par_t kpa_par_def = { 0.001, 0.1, 10 };
-kpa_par_t kpa_par_alt = { 0.0001, 0.01, 10 };
-
-/*
- The topology of the profile HMM:
-
- /\ /\ /\ /\
- I[1] I[k-1] I[k] I[L]
- ^ \ \ ^ \ ^ \ \ ^
- | \ \ | \ | \ \ |
- M[0] M[1] -> ... -> M[k-1] -> M[k] -> ... -> M[L] M[L+1]
- \ \/ \/ \/ /
- \ /\ /\ /\ /
- -> D[k-1] -> D[k] ->
-
- M[0] points to every {M,I}[k] and every {M,I}[k] points M[L+1].
-
- On input, _ref is the reference sequence and _query is the query
- sequence. Both are sequences of 0/1/2/3/4 where 4 stands for an
- ambiguous residue. iqual is the base quality. c sets the gap open
- probability, gap extension probability and band width.
-
- On output, state and q are arrays of length l_query. The higher 30
- bits give the reference position the query base is matched to and the
- lower two bits can be 0 (an alignment match) or 1 (an
- insertion). q[i] gives the phred scaled posterior probability of
- state[i] being wrong.
- */
-int kpa_glocal(const uint8_t *_ref, int l_ref, const uint8_t *_query, int l_query, const uint8_t *iqual,
- const kpa_par_t *c, int *state, uint8_t *q)
-{
- double **f, **b = 0, *s, m[9], sI, sM, bI, bM, pb;
- float *qual, *_qual;
- const uint8_t *ref, *query;
- int bw, bw2, i, k, is_diff = 0, is_backward = 1, Pr;
-
- if ( l_ref<=0 || l_query<=0 ) return 0; // FIXME: this may not be an ideal fix, just prevents sefgault
-
- /*** initialization ***/
- is_backward = state && q? 1 : 0;
- ref = _ref - 1; query = _query - 1; // change to 1-based coordinate
- bw = l_ref > l_query? l_ref : l_query;
- if (bw > c->bw) bw = c->bw;
- if (bw < abs(l_ref - l_query)) bw = abs(l_ref - l_query);
- bw2 = bw * 2 + 1;
- // allocate the forward and backward matrices f[][] and b[][] and the scaling array s[]
- f = calloc(l_query+1, sizeof(void*));
- if (is_backward) b = calloc(l_query+1, sizeof(void*));
- for (i = 0; i <= l_query; ++i) { // FIXME: this will lead in segfault for l_query==0
- f[i] = calloc(bw2 * 3 + 6, sizeof(double)); // FIXME: this is over-allocated for very short seqs
- if (is_backward) b[i] = calloc(bw2 * 3 + 6, sizeof(double));
- }
- s = calloc(l_query+2, sizeof(double)); // s[] is the scaling factor to avoid underflow
- // initialize qual
- _qual = calloc(l_query, sizeof(float));
- if (g_qual2prob[0] == 0)
- for (i = 0; i < 256; ++i)
- g_qual2prob[i] = pow(10, -i/10.);
- for (i = 0; i < l_query; ++i) _qual[i] = g_qual2prob[iqual? iqual[i] : 30];
- qual = _qual - 1;
- // initialize transition probability
- sM = sI = 1. / (2 * l_query + 2); // the value here seems not to affect results; FIXME: need proof
- m[0*3+0] = (1 - c->d - c->d) * (1 - sM); m[0*3+1] = m[0*3+2] = c->d * (1 - sM);
- m[1*3+0] = (1 - c->e) * (1 - sI); m[1*3+1] = c->e * (1 - sI); m[1*3+2] = 0.;
- m[2*3+0] = 1 - c->e; m[2*3+1] = 0.; m[2*3+2] = c->e;
- bM = (1 - c->d) / l_ref; bI = c->d / l_ref; // (bM+bI)*l_ref==1
- /*** forward ***/
- // f[0]
- set_u(k, bw, 0, 0);
- f[0][k] = s[0] = 1.;
- { // f[1]
- double *fi = f[1], sum;
- int beg = 1, end = l_ref < bw + 1? l_ref : bw + 1, _beg, _end;
- for (k = beg, sum = 0.; k <= end; ++k) {
- int u;
- double e = (ref[k] > 3 || query[1] > 3)? 1. : ref[k] == query[1]? 1. - qual[1] : qual[1] * EM;
- set_u(u, bw, 1, k);
- fi[u+0] = e * bM; fi[u+1] = EI * bI;
- sum += fi[u] + fi[u+1];
- }
- // rescale
- s[1] = sum;
- set_u(_beg, bw, 1, beg); set_u(_end, bw, 1, end); _end += 2;
- for (k = _beg; k <= _end; ++k) fi[k] /= sum;
- }
- // f[2..l_query]
- for (i = 2; i <= l_query; ++i) {
- double *fi = f[i], *fi1 = f[i-1], sum, qli = qual[i];
- int beg = 1, end = l_ref, x, _beg, _end;
- uint8_t qyi = query[i];
- x = i - bw; beg = beg > x? beg : x; // band start
- x = i + bw; end = end < x? end : x; // band end
- for (k = beg, sum = 0.; k <= end; ++k) {
- int u, v11, v01, v10;
- double e;
- e = (ref[k] > 3 || qyi > 3)? 1. : ref[k] == qyi? 1. - qli : qli * EM;
- set_u(u, bw, i, k); set_u(v11, bw, i-1, k-1); set_u(v10, bw, i-1, k); set_u(v01, bw, i, k-1);
- fi[u+0] = e * (m[0] * fi1[v11+0] + m[3] * fi1[v11+1] + m[6] * fi1[v11+2]);
- fi[u+1] = EI * (m[1] * fi1[v10+0] + m[4] * fi1[v10+1]);
- fi[u+2] = m[2] * fi[v01+0] + m[8] * fi[v01+2];
- sum += fi[u] + fi[u+1] + fi[u+2];
-// fprintf(stderr, "F (%d,%d;%d): %lg,%lg,%lg\n", i, k, u, fi[u], fi[u+1], fi[u+2]); // DEBUG
- }
- // rescale
- s[i] = sum;
- set_u(_beg, bw, i, beg); set_u(_end, bw, i, end); _end += 2;
- for (k = _beg, sum = 1./sum; k <= _end; ++k) fi[k] *= sum;
- }
- { // f[l_query+1]
- double sum;
- for (k = 1, sum = 0.; k <= l_ref; ++k) {
- int u;
- set_u(u, bw, l_query, k);
- if (u < 3 || u >= bw2*3+3) continue;
- sum += f[l_query][u+0] * sM + f[l_query][u+1] * sI;
- }
- s[l_query+1] = sum; // the last scaling factor
- }
- { // compute likelihood
- double p = 1., Pr1 = 0.;
- for (i = 0; i <= l_query + 1; ++i) {
- p *= s[i];
- if (p < 1e-100) Pr1 += -4.343 * log(p), p = 1.;
- }
- Pr1 += -4.343 * log(p * l_ref * l_query);
- Pr = (int)(Pr1 + .499);
- if (!is_backward) { // skip backward and MAP
- for (i = 0; i <= l_query; ++i) free(f[i]);
- free(f); free(s); free(_qual);
- return Pr;
- }
- }
- /*** backward ***/
- // b[l_query] (b[l_query+1][0]=1 and thus \tilde{b}[][]=1/s[l_query+1]; this is where s[l_query+1] comes from)
- for (k = 1; k <= l_ref; ++k) {
- int u;
- double *bi = b[l_query];
- set_u(u, bw, l_query, k);
- if (u < 3 || u >= bw2*3+3) continue;
- bi[u+0] = sM / s[l_query] / s[l_query+1]; bi[u+1] = sI / s[l_query] / s[l_query+1];
- }
- // b[l_query-1..1]
- for (i = l_query - 1; i >= 1; --i) {
- int beg = 1, end = l_ref, x, _beg, _end;
- double *bi = b[i], *bi1 = b[i+1], y = (i > 1), qli1 = qual[i+1];
- uint8_t qyi1 = query[i+1];
- x = i - bw; beg = beg > x? beg : x;
- x = i + bw; end = end < x? end : x;
- for (k = end; k >= beg; --k) {
- int u, v11, v01, v10;
- double e;
- set_u(u, bw, i, k); set_u(v11, bw, i+1, k+1); set_u(v10, bw, i+1, k); set_u(v01, bw, i, k+1);
- e = (k >= l_ref? 0 : (ref[k+1] > 3 || qyi1 > 3)? 1. : ref[k+1] == qyi1? 1. - qli1 : qli1 * EM) * bi1[v11];
- bi[u+0] = e * m[0] + EI * m[1] * bi1[v10+1] + m[2] * bi[v01+2]; // bi1[v11] has been foled into e.
- bi[u+1] = e * m[3] + EI * m[4] * bi1[v10+1];
- bi[u+2] = (e * m[6] + m[8] * bi[v01+2]) * y;
-// fprintf(stderr, "B (%d,%d;%d): %lg,%lg,%lg\n", i, k, u, bi[u], bi[u+1], bi[u+2]); // DEBUG
- }
- // rescale
- set_u(_beg, bw, i, beg); set_u(_end, bw, i, end); _end += 2;
- for (k = _beg, y = 1./s[i]; k <= _end; ++k) bi[k] *= y;
- }
- { // b[0]
- int beg = 1, end = l_ref < bw + 1? l_ref : bw + 1;
- double sum = 0.;
- for (k = end; k >= beg; --k) {
- int u;
- double e = (ref[k] > 3 || query[1] > 3)? 1. : ref[k] == query[1]? 1. - qual[1] : qual[1] * EM;
- set_u(u, bw, 1, k);
- if (u < 3 || u >= bw2*3+3) continue;
- sum += e * b[1][u+0] * bM + EI * b[1][u+1] * bI;
- }
- set_u(k, bw, 0, 0);
- pb = b[0][k] = sum / s[0]; // if everything works as is expected, pb == 1.0
- }
- is_diff = fabs(pb - 1.) > 1e-7? 1 : 0;
- /*** MAP ***/
- for (i = 1; i <= l_query; ++i) {
- double sum = 0., *fi = f[i], *bi = b[i], max = 0.;
- int beg = 1, end = l_ref, x, max_k = -1;
- x = i - bw; beg = beg > x? beg : x;
- x = i + bw; end = end < x? end : x;
- for (k = beg; k <= end; ++k) {
- int u;
- double z;
- set_u(u, bw, i, k);
- z = fi[u+0] * bi[u+0]; if (z > max) max = z, max_k = (k-1)<<2 | 0; sum += z;
- z = fi[u+1] * bi[u+1]; if (z > max) max = z, max_k = (k-1)<<2 | 1; sum += z;
- }
- max /= sum; sum *= s[i]; // if everything works as is expected, sum == 1.0
- if (state) state[i-1] = max_k;
- if (q) k = (int)(-4.343 * log(1. - max) + .499), q[i-1] = k > 100? 99 : k;
-#ifdef _MAIN
- fprintf(stderr, "(%.10lg,%.10lg) (%d,%d:%c,%c:%d) %lg\n", pb, sum, i-1, max_k>>2,
- "ACGT"[query[i]], "ACGT"[ref[(max_k>>2)+1]], max_k&3, max); // DEBUG
-#endif
- }
- /*** free ***/
- for (i = 0; i <= l_query; ++i) {
- free(f[i]); free(b[i]);
- }
- free(f); free(b); free(s); free(_qual);
- return Pr;
-}
-
-#ifdef _MAIN
-#include <unistd.h>
-int main(int argc, char *argv[])
-{
- uint8_t conv[256], *iqual, *ref, *query;
- int c, l_ref, l_query, i, q = 30, b = 10, P;
- while ((c = getopt(argc, argv, "b:q:")) >= 0) {
- switch (c) {
- case 'b': b = atoi(optarg); break;
- case 'q': q = atoi(optarg); break;
- }
- }
- if (optind + 2 > argc) {
- fprintf(stderr, "Usage: %s [-q %d] [-b %d] <ref> <query>\n", argv[0], q, b); // example: acttc attc
- return 1;
- }
- memset(conv, 4, 256);
- conv['a'] = conv['A'] = 0; conv['c'] = conv['C'] = 1;
- conv['g'] = conv['G'] = 2; conv['t'] = conv['T'] = 3;
- ref = (uint8_t*)argv[optind]; query = (uint8_t*)argv[optind+1];
- l_ref = strlen((char*)ref); l_query = strlen((char*)query);
- for (i = 0; i < l_ref; ++i) ref[i] = conv[ref[i]];
- for (i = 0; i < l_query; ++i) query[i] = conv[query[i]];
- iqual = malloc(l_query);
- memset(iqual, q, l_query);
- kpa_par_def.bw = b;
- P = kpa_glocal(ref, l_ref, query, l_query, iqual, &kpa_par_alt, 0, 0);
- fprintf(stderr, "%d\n", P);
- free(iqual);
- return 0;
-}
-#endif
diff --git a/sam/kprobaln.h b/sam/kprobaln.h
deleted file mode 100644
index 0357dcc..0000000
--- a/sam/kprobaln.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/* The MIT License
-
- Copyright (c) 2003-2006, 2008, 2009 by Heng Li <lh3 at live.co.uk>
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- "Software"), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- SOFTWARE.
-*/
-
-#ifndef LH3_KPROBALN_H_
-#define LH3_KPROBALN_H_
-
-#include <stdint.h>
-
-typedef struct {
- float d, e;
- int bw;
-} kpa_par_t;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
- int kpa_glocal(const uint8_t *_ref, int l_ref, const uint8_t *_query, int l_query, const uint8_t *iqual,
- const kpa_par_t *c, int *state, uint8_t *q);
-
-#ifdef __cplusplus
-}
-#endif
-
-extern kpa_par_t kpa_par_def, kpa_par_alt;
-
-#endif
diff --git a/sam/kseq.h b/sam/kseq.h
deleted file mode 100644
index a5cec7c..0000000
--- a/sam/kseq.h
+++ /dev/null
@@ -1,235 +0,0 @@
-/* The MIT License
-
- Copyright (c) 2008, 2009, 2011 Attractive Chaos <attractor at live.co.uk>
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- "Software"), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- SOFTWARE.
-*/
-
-/* Last Modified: 05MAR2012 */
-
-#ifndef AC_KSEQ_H
-#define AC_KSEQ_H
-
-#include <ctype.h>
-#include <string.h>
-#include <stdlib.h>
-
-#define KS_SEP_SPACE 0 // isspace(): \t, \n, \v, \f, \r
-#define KS_SEP_TAB 1 // isspace() && !' '
-#define KS_SEP_LINE 2 // line separator: "\n" (Unix) or "\r\n" (Windows)
-#define KS_SEP_MAX 2
-
-#define __KS_TYPE(type_t) \
- typedef struct __kstream_t { \
- unsigned char *buf; \
- int begin, end, is_eof; \
- type_t f; \
- } kstream_t;
-
-#define ks_eof(ks) ((ks)->is_eof && (ks)->begin >= (ks)->end)
-#define ks_rewind(ks) ((ks)->is_eof = (ks)->begin = (ks)->end = 0)
-
-#define __KS_BASIC(type_t, __bufsize) \
- static inline kstream_t *ks_init(type_t f) \
- { \
- kstream_t *ks = (kstream_t*)calloc(1, sizeof(kstream_t)); \
- ks->f = f; \
- ks->buf = (unsigned char*)malloc(__bufsize); \
- return ks; \
- } \
- static inline void ks_destroy(kstream_t *ks) \
- { \
- if (ks) { \
- free(ks->buf); \
- free(ks); \
- } \
- }
-
-#define __KS_GETC(__read, __bufsize) \
- static inline int ks_getc(kstream_t *ks) \
- { \
- if (ks->is_eof && ks->begin >= ks->end) return -1; \
- if (ks->begin >= ks->end) { \
- ks->begin = 0; \
- ks->end = __read(ks->f, ks->buf, __bufsize); \
- if (ks->end < __bufsize) ks->is_eof = 1; \
- if (ks->end == 0) return -1; \
- } \
- return (int)ks->buf[ks->begin++]; \
- }
-
-#ifndef KSTRING_T
-#define KSTRING_T kstring_t
-typedef struct __kstring_t {
- size_t l, m;
- char *s;
-} kstring_t;
-#endif
-
-#ifndef kroundup32
-#define kroundup32(x) (--(x), (x)|=(x)>>1, (x)|=(x)>>2, (x)|=(x)>>4, (x)|=(x)>>8, (x)|=(x)>>16, ++(x))
-#endif
-
-#define __KS_GETUNTIL(__read, __bufsize) \
- static int ks_getuntil2(kstream_t *ks, int delimiter, kstring_t *str, int *dret, int append) \
- { \
- if (dret) *dret = 0; \
- str->l = append? str->l : 0; \
- if (ks->begin >= ks->end && ks->is_eof) return -1; \
- for (;;) { \
- int i; \
- if (ks->begin >= ks->end) { \
- if (!ks->is_eof) { \
- ks->begin = 0; \
- ks->end = __read(ks->f, ks->buf, __bufsize); \
- if (ks->end < __bufsize) ks->is_eof = 1; \
- if (ks->end == 0) break; \
- } else break; \
- } \
- if (delimiter == KS_SEP_LINE) { \
- for (i = ks->begin; i < ks->end; ++i) \
- if (ks->buf[i] == '\n') break; \
- } else if (delimiter > KS_SEP_MAX) { \
- for (i = ks->begin; i < ks->end; ++i) \
- if (ks->buf[i] == delimiter) break; \
- } else if (delimiter == KS_SEP_SPACE) { \
- for (i = ks->begin; i < ks->end; ++i) \
- if (isspace(ks->buf[i])) break; \
- } else if (delimiter == KS_SEP_TAB) { \
- for (i = ks->begin; i < ks->end; ++i) \
- if (isspace(ks->buf[i]) && ks->buf[i] != ' ') break; \
- } else i = 0; /* never come to here! */ \
- if (str->m - str->l < (size_t)(i - ks->begin + 1)) { \
- str->m = str->l + (i - ks->begin) + 1; \
- kroundup32(str->m); \
- str->s = (char*)realloc(str->s, str->m); \
- } \
- memcpy(str->s + str->l, ks->buf + ks->begin, i - ks->begin); \
- str->l = str->l + (i - ks->begin); \
- ks->begin = i + 1; \
- if (i < ks->end) { \
- if (dret) *dret = ks->buf[i]; \
- break; \
- } \
- } \
- if (str->s == 0) { \
- str->m = 1; \
- str->s = (char*)calloc(1, 1); \
- } else if (delimiter == KS_SEP_LINE && str->l > 1 && str->s[str->l-1] == '\r') --str->l; \
- str->s[str->l] = '\0'; \
- return str->l; \
- } \
- static inline int ks_getuntil(kstream_t *ks, int delimiter, kstring_t *str, int *dret) \
- { return ks_getuntil2(ks, delimiter, str, dret, 0); }
-
-#define KSTREAM_INIT(type_t, __read, __bufsize) \
- __KS_TYPE(type_t) \
- __KS_BASIC(type_t, __bufsize) \
- __KS_GETC(__read, __bufsize) \
- __KS_GETUNTIL(__read, __bufsize)
-
-#define kseq_rewind(ks) ((ks)->last_char = (ks)->f->is_eof = (ks)->f->begin = (ks)->f->end = 0)
-
-#define __KSEQ_BASIC(SCOPE, type_t) \
- SCOPE kseq_t *kseq_init(type_t fd) \
- { \
- kseq_t *s = (kseq_t*)calloc(1, sizeof(kseq_t)); \
- s->f = ks_init(fd); \
- return s; \
- } \
- SCOPE void kseq_destroy(kseq_t *ks) \
- { \
- if (!ks) return; \
- free(ks->name.s); free(ks->comment.s); free(ks->seq.s); free(ks->qual.s); \
- ks_destroy(ks->f); \
- free(ks); \
- }
-
-/* Return value:
- >=0 length of the sequence (normal)
- -1 end-of-file
- -2 truncated quality string
- */
-#define __KSEQ_READ(SCOPE) \
- SCOPE int kseq_read(kseq_t *seq) \
- { \
- int c; \
- kstream_t *ks = seq->f; \
- if (seq->last_char == 0) { /* then jump to the next header line */ \
- while ((c = ks_getc(ks)) != -1 && c != '>' && c != '@'); \
- if (c == -1) return -1; /* end of file */ \
- seq->last_char = c; \
- } /* else: the first header char has been read in the previous call */ \
- seq->comment.l = seq->seq.l = seq->qual.l = 0; /* reset all members */ \
- if (ks_getuntil(ks, 0, &seq->name, &c) < 0) return -1; /* normal exit: EOF */ \
- if (c != '\n') ks_getuntil(ks, KS_SEP_LINE, &seq->comment, 0); /* read FASTA/Q comment */ \
- if (seq->seq.s == 0) { /* we can do this in the loop below, but that is slower */ \
- seq->seq.m = 256; \
- seq->seq.s = (char*)malloc(seq->seq.m); \
- } \
- while ((c = ks_getc(ks)) != -1 && c != '>' && c != '+' && c != '@') { \
- if (c == '\n') continue; /* skip empty lines */ \
- seq->seq.s[seq->seq.l++] = c; /* this is safe: we always have enough space for 1 char */ \
- ks_getuntil2(ks, KS_SEP_LINE, &seq->seq, 0, 1); /* read the rest of the line */ \
- } \
- if (c == '>' || c == '@') seq->last_char = c; /* the first header char has been read */ \
- if (seq->seq.l + 1 >= seq->seq.m) { /* seq->seq.s[seq->seq.l] below may be out of boundary */ \
- seq->seq.m = seq->seq.l + 2; \
- kroundup32(seq->seq.m); /* rounded to the next closest 2^k */ \
- seq->seq.s = (char*)realloc(seq->seq.s, seq->seq.m); \
- } \
- seq->seq.s[seq->seq.l] = 0; /* null terminated string */ \
- if (c != '+') return seq->seq.l; /* FASTA */ \
- if (seq->qual.m < seq->seq.m) { /* allocate memory for qual in case insufficient */ \
- seq->qual.m = seq->seq.m; \
- seq->qual.s = (char*)realloc(seq->qual.s, seq->qual.m); \
- } \
- while ((c = ks_getc(ks)) != -1 && c != '\n'); /* skip the rest of '+' line */ \
- if (c == -1) return -2; /* error: no quality string */ \
- while (ks_getuntil2(ks, KS_SEP_LINE, &seq->qual, 0, 1) >= 0 && seq->qual.l < seq->seq.l); \
- seq->last_char = 0; /* we have not come to the next header line */ \
- if (seq->seq.l != seq->qual.l) return -2; /* error: qual string is of a different length */ \
- return seq->seq.l; \
- }
-
-#define __KSEQ_TYPE(type_t) \
- typedef struct { \
- kstring_t name, comment, seq, qual; \
- int last_char; \
- kstream_t *f; \
- } kseq_t;
-
-#define KSEQ_INIT2(SCOPE, type_t, __read) \
- KSTREAM_INIT(type_t, __read, 16384) \
- __KSEQ_TYPE(type_t) \
- __KSEQ_BASIC(SCOPE, type_t) \
- __KSEQ_READ(SCOPE)
-
-#define KSEQ_INIT(type_t, __read) KSEQ_INIT2(static, type_t, __read)
-
-#define KSEQ_DECLARE(type_t) \
- __KS_TYPE(type_t) \
- __KSEQ_TYPE(type_t) \
- extern kseq_t *kseq_init(type_t fd); \
- void kseq_destroy(kseq_t *ks); \
- int kseq_read(kseq_t *seq);
-
-#endif
diff --git a/sam/ksort.h b/sam/ksort.h
deleted file mode 100644
index aa0bb93..0000000
--- a/sam/ksort.h
+++ /dev/null
@@ -1,285 +0,0 @@
-/* The MIT License
-
- Copyright (c) 2008 Genome Research Ltd (GRL).
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- "Software"), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- SOFTWARE.
-*/
-
-/* Contact: Heng Li <lh3 at sanger.ac.uk> */
-
-/*
- 2012-12-11 (0.1.4):
-
- * Defined __ks_insertsort_##name as static to compile with C99.
-
- 2008-11-16 (0.1.4):
-
- * Fixed a bug in introsort() that happens in rare cases.
-
- 2008-11-05 (0.1.3):
-
- * Fixed a bug in introsort() for complex comparisons.
-
- * Fixed a bug in mergesort(). The previous version is not stable.
-
- 2008-09-15 (0.1.2):
-
- * Accelerated introsort. On my Mac (not on another Linux machine),
- my implementation is as fast as std::sort on random input.
-
- * Added combsort and in introsort, switch to combsort if the
- recursion is too deep.
-
- 2008-09-13 (0.1.1):
-
- * Added k-small algorithm
-
- 2008-09-05 (0.1.0):
-
- * Initial version
-
-*/
-
-#ifndef AC_KSORT_H
-#define AC_KSORT_H
-
-#include <stdlib.h>
-#include <string.h>
-
-typedef struct {
- void *left, *right;
- int depth;
-} ks_isort_stack_t;
-
-#define KSORT_SWAP(type_t, a, b) { register type_t t=(a); (a)=(b); (b)=t; }
-
-#define KSORT_INIT(name, type_t, __sort_lt) \
- void ks_mergesort_##name(size_t n, type_t array[], type_t temp[]) \
- { \
- type_t *a2[2], *a, *b; \
- int curr, shift; \
- \
- a2[0] = array; \
- a2[1] = temp? temp : (type_t*)malloc(sizeof(type_t) * n); \
- for (curr = 0, shift = 0; (1ul<<shift) < n; ++shift) { \
- a = a2[curr]; b = a2[1-curr]; \
- if (shift == 0) { \
- type_t *p = b, *i, *eb = a + n; \
- for (i = a; i < eb; i += 2) { \
- if (i == eb - 1) *p++ = *i; \
- else { \
- if (__sort_lt(*(i+1), *i)) { \
- *p++ = *(i+1); *p++ = *i; \
- } else { \
- *p++ = *i; *p++ = *(i+1); \
- } \
- } \
- } \
- } else { \
- size_t i, step = 1ul<<shift; \
- for (i = 0; i < n; i += step<<1) { \
- type_t *p, *j, *k, *ea, *eb; \
- if (n < i + step) { \
- ea = a + n; eb = a; \
- } else { \
- ea = a + i + step; \
- eb = a + (n < i + (step<<1)? n : i + (step<<1)); \
- } \
- j = a + i; k = a + i + step; p = b + i; \
- while (j < ea && k < eb) { \
- if (__sort_lt(*k, *j)) *p++ = *k++; \
- else *p++ = *j++; \
- } \
- while (j < ea) *p++ = *j++; \
- while (k < eb) *p++ = *k++; \
- } \
- } \
- curr = 1 - curr; \
- } \
- if (curr == 1) { \
- type_t *p = a2[0], *i = a2[1], *eb = array + n; \
- for (; p < eb; ++i) *p++ = *i; \
- } \
- if (temp == 0) free(a2[1]); \
- } \
- void ks_heapadjust_##name(size_t i, size_t n, type_t l[]) \
- { \
- size_t k = i; \
- type_t tmp = l[i]; \
- while ((k = (k << 1) + 1) < n) { \
- if (k != n - 1 && __sort_lt(l[k], l[k+1])) ++k; \
- if (__sort_lt(l[k], tmp)) break; \
- l[i] = l[k]; i = k; \
- } \
- l[i] = tmp; \
- } \
- void ks_heapmake_##name(size_t lsize, type_t l[]) \
- { \
- size_t i; \
- for (i = (lsize >> 1) - 1; i != (size_t)(-1); --i) \
- ks_heapadjust_##name(i, lsize, l); \
- } \
- void ks_heapsort_##name(size_t lsize, type_t l[]) \
- { \
- size_t i; \
- for (i = lsize - 1; i > 0; --i) { \
- type_t tmp; \
- tmp = *l; *l = l[i]; l[i] = tmp; ks_heapadjust_##name(0, i, l); \
- } \
- } \
- static inline void __ks_insertsort_##name(type_t *s, type_t *t) \
- { \
- type_t *i, *j, swap_tmp; \
- for (i = s + 1; i < t; ++i) \
- for (j = i; j > s && __sort_lt(*j, *(j-1)); --j) { \
- swap_tmp = *j; *j = *(j-1); *(j-1) = swap_tmp; \
- } \
- } \
- void ks_combsort_##name(size_t n, type_t a[]) \
- { \
- const double shrink_factor = 1.2473309501039786540366528676643; \
- int do_swap; \
- size_t gap = n; \
- type_t tmp, *i, *j; \
- do { \
- if (gap > 2) { \
- gap = (size_t)(gap / shrink_factor); \
- if (gap == 9 || gap == 10) gap = 11; \
- } \
- do_swap = 0; \
- for (i = a; i < a + n - gap; ++i) { \
- j = i + gap; \
- if (__sort_lt(*j, *i)) { \
- tmp = *i; *i = *j; *j = tmp; \
- do_swap = 1; \
- } \
- } \
- } while (do_swap || gap > 2); \
- if (gap != 1) __ks_insertsort_##name(a, a + n); \
- } \
- void ks_introsort_##name(size_t n, type_t a[]) \
- { \
- int d; \
- ks_isort_stack_t *top, *stack; \
- type_t rp, swap_tmp; \
- type_t *s, *t, *i, *j, *k; \
- \
- if (n < 1) return; \
- else if (n == 2) { \
- if (__sort_lt(a[1], a[0])) { swap_tmp = a[0]; a[0] = a[1]; a[1] = swap_tmp; } \
- return; \
- } \
- for (d = 2; 1ul<<d < n; ++d); \
- stack = (ks_isort_stack_t*)malloc(sizeof(ks_isort_stack_t) * ((sizeof(size_t)*d)+2)); \
- top = stack; s = a; t = a + (n-1); d <<= 1; \
- while (1) { \
- if (s < t) { \
- if (--d == 0) { \
- ks_combsort_##name(t - s + 1, s); \
- t = s; \
- continue; \
- } \
- i = s; j = t; k = i + ((j-i)>>1) + 1; \
- if (__sort_lt(*k, *i)) { \
- if (__sort_lt(*k, *j)) k = j; \
- } else k = __sort_lt(*j, *i)? i : j; \
- rp = *k; \
- if (k != t) { swap_tmp = *k; *k = *t; *t = swap_tmp; } \
- for (;;) { \
- do ++i; while (__sort_lt(*i, rp)); \
- do --j; while (i <= j && __sort_lt(rp, *j)); \
- if (j <= i) break; \
- swap_tmp = *i; *i = *j; *j = swap_tmp; \
- } \
- swap_tmp = *i; *i = *t; *t = swap_tmp; \
- if (i-s > t-i) { \
- if (i-s > 16) { top->left = s; top->right = i-1; top->depth = d; ++top; } \
- s = t-i > 16? i+1 : t; \
- } else { \
- if (t-i > 16) { top->left = i+1; top->right = t; top->depth = d; ++top; } \
- t = i-s > 16? i-1 : s; \
- } \
- } else { \
- if (top == stack) { \
- free(stack); \
- __ks_insertsort_##name(a, a+n); \
- return; \
- } else { --top; s = (type_t*)top->left; t = (type_t*)top->right; d = top->depth; } \
- } \
- } \
- } \
- /* This function is adapted from: http://ndevilla.free.fr/median/ */ \
- /* 0 <= kk < n */ \
- type_t ks_ksmall_##name(size_t n, type_t arr[], size_t kk) \
- { \
- type_t *low, *high, *k, *ll, *hh, *mid; \
- low = arr; high = arr + n - 1; k = arr + kk; \
- for (;;) { \
- if (high <= low) return *k; \
- if (high == low + 1) { \
- if (__sort_lt(*high, *low)) KSORT_SWAP(type_t, *low, *high); \
- return *k; \
- } \
- mid = low + (high - low) / 2; \
- if (__sort_lt(*high, *mid)) KSORT_SWAP(type_t, *mid, *high); \
- if (__sort_lt(*high, *low)) KSORT_SWAP(type_t, *low, *high); \
- if (__sort_lt(*low, *mid)) KSORT_SWAP(type_t, *mid, *low); \
- KSORT_SWAP(type_t, *mid, *(low+1)); \
- ll = low + 1; hh = high; \
- for (;;) { \
- do ++ll; while (__sort_lt(*ll, *low)); \
- do --hh; while (__sort_lt(*low, *hh)); \
- if (hh < ll) break; \
- KSORT_SWAP(type_t, *ll, *hh); \
- } \
- KSORT_SWAP(type_t, *low, *hh); \
- if (hh <= k) low = ll; \
- if (hh >= k) high = hh - 1; \
- } \
- } \
- void ks_shuffle_##name(size_t n, type_t a[]) \
- { \
- int i, j; \
- for (i = n; i > 1; --i) { \
- type_t tmp; \
- j = (int)(drand48() * i); \
- tmp = a[j]; a[j] = a[i-1]; a[i-1] = tmp; \
- } \
- }
-
-#define ks_mergesort(name, n, a, t) ks_mergesort_##name(n, a, t)
-#define ks_introsort(name, n, a) ks_introsort_##name(n, a)
-#define ks_combsort(name, n, a) ks_combsort_##name(n, a)
-#define ks_heapsort(name, n, a) ks_heapsort_##name(n, a)
-#define ks_heapmake(name, n, a) ks_heapmake_##name(n, a)
-#define ks_heapadjust(name, i, n, a) ks_heapadjust_##name(i, n, a)
-#define ks_ksmall(name, n, a, k) ks_ksmall_##name(n, a, k)
-#define ks_shuffle(name, n, a) ks_shuffle_##name(n, a)
-
-#define ks_lt_generic(a, b) ((a) < (b))
-#define ks_lt_str(a, b) (strcmp((a), (b)) < 0)
-
-typedef const char *ksstr_t;
-
-#define KSORT_INIT_GENERIC(type_t) KSORT_INIT(type_t, type_t, ks_lt_generic)
-#define KSORT_INIT_STR KSORT_INIT(str, ksstr_t, ks_lt_str)
-
-#endif
diff --git a/sam/kstring.c b/sam/kstring.c
deleted file mode 100644
index b8ff45c..0000000
--- a/sam/kstring.c
+++ /dev/null
@@ -1,212 +0,0 @@
-#include <stdarg.h>
-#include <stdio.h>
-#include <ctype.h>
-#include <string.h>
-#include <stdint.h>
-#include "kstring.h"
-
-int ksprintf(kstring_t *s, const char *fmt, ...)
-{
- va_list ap;
- int l;
- va_start(ap, fmt);
- l = vsnprintf(s->s + s->l, s->m - s->l, fmt, ap); // This line does not work with glibc 2.0. See `man snprintf'.
- va_end(ap);
- if (l + 1 > s->m - s->l) {
- s->m = s->l + l + 2;
- kroundup32(s->m);
- s->s = (char*)realloc(s->s, s->m);
- va_start(ap, fmt);
- l = vsnprintf(s->s + s->l, s->m - s->l, fmt, ap);
- }
- va_end(ap);
- s->l += l;
- return l;
-}
-
-char *kstrtok(const char *str, const char *sep, ks_tokaux_t *aux)
-{
- const char *p, *start;
- if (sep) { // set up the table
- if (str == 0 && (aux->tab[0]&1)) return 0; // no need to set up if we have finished
- aux->finished = 0;
- if (sep[1]) {
- aux->sep = -1;
- aux->tab[0] = aux->tab[1] = aux->tab[2] = aux->tab[3] = 0;
- for (p = sep; *p; ++p) aux->tab[*p>>6] |= 1ull<<(*p&0x3f);
- } else aux->sep = sep[0];
- }
- if (aux->finished) return 0;
- else if (str) aux->p = str - 1, aux->finished = 0;
- if (aux->sep < 0) {
- for (p = start = aux->p + 1; *p; ++p)
- if (aux->tab[*p>>6]>>(*p&0x3f)&1) break;
- } else {
- for (p = start = aux->p + 1; *p; ++p)
- if (*p == aux->sep) break;
- }
- aux->p = p; // end of token
- if (*p == 0) aux->finished = 1; // no more tokens
- return (char*)start;
-}
-
-// s MUST BE a null terminated string; l = strlen(s)
-int ksplit_core(char *s, int delimiter, int *_max, int **_offsets)
-{
- int i, n, max, last_char, last_start, *offsets, l;
- n = 0; max = *_max; offsets = *_offsets;
- l = strlen(s);
-
-#define __ksplit_aux do { \
- if (_offsets) { \
- s[i] = 0; \
- if (n == max) { \
- max = max? max<<1 : 2; \
- offsets = (int*)realloc(offsets, sizeof(int) * max); \
- } \
- offsets[n++] = last_start; \
- } else ++n; \
- } while (0)
-
- for (i = 0, last_char = last_start = 0; i <= l; ++i) {
- if (delimiter == 0) {
- if (isspace(s[i]) || s[i] == 0) {
- if (isgraph(last_char)) __ksplit_aux; // the end of a field
- } else {
- if (isspace(last_char) || last_char == 0) last_start = i;
- }
- } else {
- if (s[i] == delimiter || s[i] == 0) {
- if (last_char != 0 && last_char != delimiter) __ksplit_aux; // the end of a field
- } else {
- if (last_char == delimiter || last_char == 0) last_start = i;
- }
- }
- last_char = s[i];
- }
- *_max = max; *_offsets = offsets;
- return n;
-}
-
-/**********************
- * Boyer-Moore search *
- **********************/
-
-typedef unsigned char ubyte_t;
-
-// reference: http://www-igm.univ-mlv.fr/~lecroq/string/node14.html
-static int *ksBM_prep(const ubyte_t *pat, int m)
-{
- int i, *suff, *prep, *bmGs, *bmBc;
- prep = (int*)calloc(m + 256, sizeof(int));
- bmGs = prep; bmBc = prep + m;
- { // preBmBc()
- for (i = 0; i < 256; ++i) bmBc[i] = m;
- for (i = 0; i < m - 1; ++i) bmBc[pat[i]] = m - i - 1;
- }
- suff = (int*)calloc(m, sizeof(int));
- { // suffixes()
- int f = 0, g;
- suff[m - 1] = m;
- g = m - 1;
- for (i = m - 2; i >= 0; --i) {
- if (i > g && suff[i + m - 1 - f] < i - g)
- suff[i] = suff[i + m - 1 - f];
- else {
- if (i < g) g = i;
- f = i;
- while (g >= 0 && pat[g] == pat[g + m - 1 - f]) --g;
- suff[i] = f - g;
- }
- }
- }
- { // preBmGs()
- int j = 0;
- for (i = 0; i < m; ++i) bmGs[i] = m;
- for (i = m - 1; i >= 0; --i)
- if (suff[i] == i + 1)
- for (; j < m - 1 - i; ++j)
- if (bmGs[j] == m)
- bmGs[j] = m - 1 - i;
- for (i = 0; i <= m - 2; ++i)
- bmGs[m - 1 - suff[i]] = m - 1 - i;
- }
- free(suff);
- return prep;
-}
-
-void *kmemmem(const void *_str, int n, const void *_pat, int m, int **_prep)
-{
- int i, j, *prep = 0, *bmGs, *bmBc;
- const ubyte_t *str, *pat;
- str = (const ubyte_t*)_str; pat = (const ubyte_t*)_pat;
- prep = (_prep == 0 || *_prep == 0)? ksBM_prep(pat, m) : *_prep;
- if (_prep && *_prep == 0) *_prep = prep;
- bmGs = prep; bmBc = prep + m;
- j = 0;
- while (j <= n - m) {
- for (i = m - 1; i >= 0 && pat[i] == str[i+j]; --i);
- if (i >= 0) {
- int max = bmBc[str[i+j]] - m + 1 + i;
- if (max < bmGs[i]) max = bmGs[i];
- j += max;
- } else return (void*)(str + j);
- }
- if (_prep == 0) free(prep);
- return 0;
-}
-
-char *kstrstr(const char *str, const char *pat, int **_prep)
-{
- return (char*)kmemmem(str, strlen(str), pat, strlen(pat), _prep);
-}
-
-char *kstrnstr(const char *str, const char *pat, int n, int **_prep)
-{
- return (char*)kmemmem(str, n, pat, strlen(pat), _prep);
-}
-
-/***********************
- * The main() function *
- ***********************/
-
-#ifdef KSTRING_MAIN
-#include <stdio.h>
-int main()
-{
- kstring_t *s;
- int *fields, n, i;
- ks_tokaux_t aux;
- char *p;
- s = (kstring_t*)calloc(1, sizeof(kstring_t));
- // test ksprintf()
- ksprintf(s, " abcdefg: %d ", 100);
- printf("'%s'\n", s->s);
- // test ksplit()
- fields = ksplit(s, 0, &n);
- for (i = 0; i < n; ++i)
- printf("field[%d] = '%s'\n", i, s->s + fields[i]);
- // test kstrtok()
- s->l = 0;
- for (p = kstrtok("ab:cde:fg/hij::k", ":/", &aux); p; p = kstrtok(0, 0, &aux)) {
- kputsn(p, aux.p - p, s);
- kputc('\n', s);
- }
- printf("%s", s->s);
- // free
- free(s->s); free(s); free(fields);
-
- {
- static char *str = "abcdefgcdgcagtcakcdcd";
- static char *pat = "cd";
- char *ret, *s = str;
- int *prep = 0;
- while ((ret = kstrstr(s, pat, &prep)) != 0) {
- printf("match: %s\n", ret);
- s = ret + prep[0];
- }
- free(prep);
- }
- return 0;
-}
-#endif
diff --git a/sam/kstring.h b/sam/kstring.h
deleted file mode 100644
index abd8236..0000000
--- a/sam/kstring.h
+++ /dev/null
@@ -1,169 +0,0 @@
-/* The MIT License
-
- Copyright (c) by Attractive Chaos <attractor at live.co.uk>
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- "Software"), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- SOFTWARE.
-*/
-
-#ifndef KSTRING_H
-#define KSTRING_H
-
-#include <stdlib.h>
-#include <string.h>
-#include <stdint.h>
-
-#ifndef kroundup32
-#define kroundup32(x) (--(x), (x)|=(x)>>1, (x)|=(x)>>2, (x)|=(x)>>4, (x)|=(x)>>8, (x)|=(x)>>16, ++(x))
-#endif
-
-#ifndef KSTRING_T
-#define KSTRING_T kstring_t
-typedef struct __kstring_t {
- size_t l, m;
- char *s;
-} kstring_t;
-#endif
-
-typedef struct {
- uint64_t tab[4];
- int sep, finished;
- const char *p; // end of the current token
-} ks_tokaux_t;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
- int ksprintf(kstring_t *s, const char *fmt, ...);
- int ksplit_core(char *s, int delimiter, int *_max, int **_offsets);
- char *kstrstr(const char *str, const char *pat, int **_prep);
- char *kstrnstr(const char *str, const char *pat, int n, int **_prep);
- void *kmemmem(const void *_str, int n, const void *_pat, int m, int **_prep);
-
- /* kstrtok() is similar to strtok_r() except that str is not
- * modified and both str and sep can be NULL. For efficiency, it is
- * actually recommended to set both to NULL in the subsequent calls
- * if sep is not changed. */
- char *kstrtok(const char *str, const char *sep, ks_tokaux_t *aux);
-
-#ifdef __cplusplus
-}
-#endif
-
-static inline void ks_resize(kstring_t *s, size_t size)
-{
- if (s->m < size) {
- s->m = size;
- kroundup32(s->m);
- s->s = (char*)realloc(s->s, s->m);
- }
-}
-
-static inline int kputsn(const char *p, int l, kstring_t *s)
-{
- if (s->l + l + 1 >= s->m) {
- s->m = s->l + l + 2;
- kroundup32(s->m);
- s->s = (char*)realloc(s->s, s->m);
- }
- memcpy(s->s + s->l, p, l);
- s->l += l;
- s->s[s->l] = 0;
- return l;
-}
-
-static inline int kputs(const char *p, kstring_t *s)
-{
- return kputsn(p, strlen(p), s);
-}
-
-static inline int kputc(int c, kstring_t *s)
-{
- if (s->l + 1 >= s->m) {
- s->m = s->l + 2;
- kroundup32(s->m);
- s->s = (char*)realloc(s->s, s->m);
- }
- s->s[s->l++] = c;
- s->s[s->l] = 0;
- return c;
-}
-
-static inline int kputw(int c, kstring_t *s)
-{
- char buf[16];
- int l, x;
- if (c == 0) return kputc('0', s);
- if(c < 0) for (l = 0, x = c; x < 0; x /= 10) buf[l++] = '0' - (x%10);
- else for (l = 0, x = c; x > 0; x /= 10) buf[l++] = x%10 + '0';
- if (c < 0) buf[l++] = '-';
- if (s->l + l + 1 >= s->m) {
- s->m = s->l + l + 2;
- kroundup32(s->m);
- s->s = (char*)realloc(s->s, s->m);
- }
- for (x = l - 1; x >= 0; --x) s->s[s->l++] = buf[x];
- s->s[s->l] = 0;
- return 0;
-}
-
-static inline int kputuw(unsigned c, kstring_t *s)
-{
- char buf[16];
- int l, i;
- unsigned x;
- if (c == 0) return kputc('0', s);
- for (l = 0, x = c; x > 0; x /= 10) buf[l++] = x%10 + '0';
- if (s->l + l + 1 >= s->m) {
- s->m = s->l + l + 2;
- kroundup32(s->m);
- s->s = (char*)realloc(s->s, s->m);
- }
- for (i = l - 1; i >= 0; --i) s->s[s->l++] = buf[i];
- s->s[s->l] = 0;
- return 0;
-}
-
-static inline int kputl(long c, kstring_t *s)
-{
- char buf[32];
- long l, x;
- if (c == 0) return kputc('0', s);
- for (l = 0, x = c < 0? -c : c; x > 0; x /= 10) buf[l++] = x%10 + '0';
- if (c < 0) buf[l++] = '-';
- if (s->l + l + 1 >= s->m) {
- s->m = s->l + l + 2;
- kroundup32(s->m);
- s->s = (char*)realloc(s->s, s->m);
- }
- for (x = l - 1; x >= 0; --x) s->s[s->l++] = buf[x];
- s->s[s->l] = 0;
- return 0;
-}
-
-static inline int *ksplit(kstring_t *s, int delimiter, int *n)
-{
- int max = 0, *offsets = 0;
- *n = ksplit_core(s->s, delimiter, &max, &offsets);
- return offsets;
-}
-
-#endif
diff --git a/sam/misc/._HmmGlocal.java b/sam/misc/._HmmGlocal.java
deleted file mode 100644
index 94286bb..0000000
Binary files a/sam/misc/._HmmGlocal.java and /dev/null differ
diff --git a/sam/misc/._Makefile b/sam/misc/._Makefile
deleted file mode 100644
index 94286bb..0000000
Binary files a/sam/misc/._Makefile and /dev/null differ
diff --git a/sam/misc/._ace2sam.c b/sam/misc/._ace2sam.c
deleted file mode 100644
index 94286bb..0000000
Binary files a/sam/misc/._ace2sam.c and /dev/null differ
diff --git a/sam/misc/._bamcheck.c b/sam/misc/._bamcheck.c
deleted file mode 100644
index 94286bb..0000000
Binary files a/sam/misc/._bamcheck.c and /dev/null differ
diff --git a/sam/misc/._blast2sam.pl b/sam/misc/._blast2sam.pl
deleted file mode 100755
index 94286bb..0000000
Binary files a/sam/misc/._blast2sam.pl and /dev/null differ
diff --git a/sam/misc/._bowtie2sam.pl b/sam/misc/._bowtie2sam.pl
deleted file mode 100755
index 94286bb..0000000
Binary files a/sam/misc/._bowtie2sam.pl and /dev/null differ
diff --git a/sam/misc/._export2sam.pl b/sam/misc/._export2sam.pl
deleted file mode 100755
index 94286bb..0000000
Binary files a/sam/misc/._export2sam.pl and /dev/null differ
diff --git a/sam/misc/._interpolate_sam.pl b/sam/misc/._interpolate_sam.pl
deleted file mode 100755
index 94286bb..0000000
Binary files a/sam/misc/._interpolate_sam.pl and /dev/null differ
diff --git a/sam/misc/._maq2sam.c b/sam/misc/._maq2sam.c
deleted file mode 100644
index 94286bb..0000000
Binary files a/sam/misc/._maq2sam.c and /dev/null differ
diff --git a/sam/misc/._md5.c b/sam/misc/._md5.c
deleted file mode 100644
index 94286bb..0000000
Binary files a/sam/misc/._md5.c and /dev/null differ
diff --git a/sam/misc/._md5.h b/sam/misc/._md5.h
deleted file mode 100644
index 94286bb..0000000
Binary files a/sam/misc/._md5.h and /dev/null differ
diff --git a/sam/misc/._md5fa.c b/sam/misc/._md5fa.c
deleted file mode 100644
index 94286bb..0000000
Binary files a/sam/misc/._md5fa.c and /dev/null differ
diff --git a/sam/misc/._novo2sam.pl b/sam/misc/._novo2sam.pl
deleted file mode 100755
index 94286bb..0000000
Binary files a/sam/misc/._novo2sam.pl and /dev/null differ
diff --git a/sam/misc/._plot-bamcheck b/sam/misc/._plot-bamcheck
deleted file mode 100755
index 94286bb..0000000
Binary files a/sam/misc/._plot-bamcheck and /dev/null differ
diff --git a/sam/misc/._psl2sam.pl b/sam/misc/._psl2sam.pl
deleted file mode 100755
index 94286bb..0000000
Binary files a/sam/misc/._psl2sam.pl and /dev/null differ
diff --git a/sam/misc/._r2plot.lua b/sam/misc/._r2plot.lua
deleted file mode 100755
index 94286bb..0000000
Binary files a/sam/misc/._r2plot.lua and /dev/null differ
diff --git a/sam/misc/._sam2vcf.pl b/sam/misc/._sam2vcf.pl
deleted file mode 100755
index 94286bb..0000000
Binary files a/sam/misc/._sam2vcf.pl and /dev/null differ
diff --git a/sam/misc/._samtools.pl b/sam/misc/._samtools.pl
deleted file mode 100755
index 94286bb..0000000
Binary files a/sam/misc/._samtools.pl and /dev/null differ
diff --git a/sam/misc/._soap2sam.pl b/sam/misc/._soap2sam.pl
deleted file mode 100755
index 94286bb..0000000
Binary files a/sam/misc/._soap2sam.pl and /dev/null differ
diff --git a/sam/misc/._varfilter.py b/sam/misc/._varfilter.py
deleted file mode 100755
index 94286bb..0000000
Binary files a/sam/misc/._varfilter.py and /dev/null differ
diff --git a/sam/misc/._vcfutils.lua b/sam/misc/._vcfutils.lua
deleted file mode 100755
index 94286bb..0000000
Binary files a/sam/misc/._vcfutils.lua and /dev/null differ
diff --git a/sam/misc/._wgsim.c b/sam/misc/._wgsim.c
deleted file mode 100644
index 94286bb..0000000
Binary files a/sam/misc/._wgsim.c and /dev/null differ
diff --git a/sam/misc/._wgsim_eval.pl b/sam/misc/._wgsim_eval.pl
deleted file mode 100755
index 94286bb..0000000
Binary files a/sam/misc/._wgsim_eval.pl and /dev/null differ
diff --git a/sam/misc/._zoom2sam.pl b/sam/misc/._zoom2sam.pl
deleted file mode 100755
index 94286bb..0000000
Binary files a/sam/misc/._zoom2sam.pl and /dev/null differ
diff --git a/sam/misc/HmmGlocal.java b/sam/misc/HmmGlocal.java
deleted file mode 100644
index 9e93b13..0000000
--- a/sam/misc/HmmGlocal.java
+++ /dev/null
@@ -1,178 +0,0 @@
-import java.io.*;
-import java.lang.*;
-
-public class HmmGlocal
-{
- private double[] qual2prob;
- private double cd, ce; // gap open probility [1e-3], gap extension probability [0.1]
- private int cb; // band width [7]
-
- public HmmGlocal(final double d, final double e, final int b) {
- cd = d; ce = e; cb = b;
- qual2prob = new double[256];
- for (int i = 0; i < 256; ++i)
- qual2prob[i] = Math.pow(10, -i/10.);
- }
- private static int set_u(final int b, final int i, final int k) {
- int x = i - b;
- x = x > 0? x : 0;
- return (k + 1 - x) * 3;
- }
- public int hmm_glocal(final byte[] _ref, final byte[] _query, final byte[] _iqual, int[] state, byte[] q) {
- int i, k;
- /*** initialization ***/
- // change coordinates
- int l_ref = _ref.length;
- byte[] ref = new byte[l_ref+1];
- for (i = 0; i < l_ref; ++i) ref[i+1] = _ref[i]; // FIXME: this is silly...
- int l_query = _query.length;
- byte[] query = new byte[l_query+1];
- double[] qual = new double[l_query+1];
- for (i = 0; i < l_query; ++i) {
- query[i+1] = _query[i];
- qual[i+1] = qual2prob[_iqual[i]];
- }
- // set band width
- int bw2, bw = l_ref > l_query? l_ref : l_query;
- if (bw > cb) bw = cb;
- if (bw < Math.abs(l_ref - l_query)) bw = Math.abs(l_ref - l_query);
- bw2 = bw * 2 + 1;
- // allocate the forward and backward matrices f[][] and b[][] and the scaling array s[]
- double[][] f = new double[l_query+1][bw2*3 + 6];
- double[][] b = new double[l_query+1][bw2*3 + 6];
- double[] s = new double[l_query+2];
- // initialize transition probabilities
- double sM, sI, bM, bI;
- sM = sI = 1. / (2 * l_query + 2);
- bM = (1 - cd) / l_query; bI = cd / l_query; // (bM+bI)*l_query==1
- double[] m = new double[9];
- m[0*3+0] = (1 - cd - cd) * (1 - sM); m[0*3+1] = m[0*3+2] = cd * (1 - sM);
- m[1*3+0] = (1 - ce) * (1 - sI); m[1*3+1] = ce * (1 - sI); m[1*3+2] = 0.;
- m[2*3+0] = 1 - ce; m[2*3+1] = 0.; m[2*3+2] = ce;
- /*** forward ***/
- // f[0]
- f[0][set_u(bw, 0, 0)] = s[0] = 1.;
- { // f[1]
- double[] fi = f[1];
- double sum;
- int beg = 1, end = l_ref < bw + 1? l_ref : bw + 1, _beg, _end;
- for (k = beg, sum = 0.; k <= end; ++k) {
- int u;
- double e = (ref[k] > 3 || query[1] > 3)? 1. : ref[k] == query[1]? 1. - qual[1] : qual[1] / 3.;
- u = set_u(bw, 1, k);
- fi[u+0] = e * bM; fi[u+1] = .25 * bI;
- sum += fi[u] + fi[u+1];
- }
- // rescale
- s[1] = sum;
- _beg = set_u(bw, 1, beg); _end = set_u(bw, 1, end); _end += 2;
- for (k = _beg; k <= _end; ++k) fi[k] /= sum;
- }
- // f[2..l_query]
- for (i = 2; i <= l_query; ++i) {
- double[] fi = f[i], fi1 = f[i-1];
- double sum, qli = qual[i];
- int beg = 1, end = l_ref, x, _beg, _end;
- byte qyi = query[i];
- x = i - bw; beg = beg > x? beg : x; // band start
- x = i + bw; end = end < x? end : x; // band end
- for (k = beg, sum = 0.; k <= end; ++k) {
- int u, v11, v01, v10;
- double e;
- e = (ref[k] > 3 || qyi > 3)? 1. : ref[k] == qyi? 1. - qli : qli / 3.;
- u = set_u(bw, i, k); v11 = set_u(bw, i-1, k-1); v10 = set_u(bw, i-1, k); v01 = set_u(bw, i, k-1);
- fi[u+0] = e * (m[0] * fi1[v11+0] + m[3] * fi1[v11+1] + m[6] * fi1[v11+2]);
- fi[u+1] = .25 * (m[1] * fi1[v10+0] + m[4] * fi1[v10+1]);
- fi[u+2] = m[2] * fi[v01+0] + m[8] * fi[v01+2];
- sum += fi[u] + fi[u+1] + fi[u+2];
- //System.out.println("("+i+","+k+";"+u+"): "+fi[u]+","+fi[u+1]+","+fi[u+2]);
- }
- // rescale
- s[i] = sum;
- _beg = set_u(bw, i, beg); _end = set_u(bw, i, end); _end += 2;
- for (k = _beg, sum = 1./sum; k <= _end; ++k) fi[k] *= sum;
- }
- { // f[l_query+1]
- double sum;
- for (k = 1, sum = 0.; k <= l_ref; ++k) {
- int u = set_u(bw, l_query, k);
- if (u < 3 || u >= bw2*3+3) continue;
- sum += f[l_query][u+0] * sM + f[l_query][u+1] * sI;
- }
- s[l_query+1] = sum; // the last scaling factor
- }
- /*** backward ***/
- // b[l_query] (b[l_query+1][0]=1 and thus \tilde{b}[][]=1/s[l_query+1]; this is where s[l_query+1] comes from)
- for (k = 1; k <= l_ref; ++k) {
- int u = set_u(bw, l_query, k);
- double[] bi = b[l_query];
- if (u < 3 || u >= bw2*3+3) continue;
- bi[u+0] = sM / s[l_query] / s[l_query+1]; bi[u+1] = sI / s[l_query] / s[l_query+1];
- }
- // b[l_query-1..1]
- for (i = l_query - 1; i >= 1; --i) {
- int beg = 1, end = l_ref, x, _beg, _end;
- double[] bi = b[i], bi1 = b[i+1];
- double y = (i > 1)? 1. : 0., qli1 = qual[i+1];
- byte qyi1 = query[i+1];
- x = i - bw; beg = beg > x? beg : x;
- x = i + bw; end = end < x? end : x;
- for (k = end; k >= beg; --k) {
- int u, v11, v01, v10;
- double e;
- u = set_u(bw, i, k); v11 = set_u(bw, i+1, k+1); v10 = set_u(bw, i+1, k); v01 = set_u(bw, i, k+1);
- e = (k >= l_ref? 0 : (ref[k+1] > 3 || qyi1 > 3)? 1. : ref[k+1] == qyi1? 1. - qli1 : qli1 / 3.) * bi1[v11];
- bi[u+0] = e * m[0] + .25 * m[1] * bi1[v10+1] + m[2] * bi[v01+2]; // bi1[v11] has been foled into e.
- bi[u+1] = e * m[3] + .25 * m[4] * bi1[v10+1];
- bi[u+2] = (e * m[6] + m[8] * bi[v01+2]) * y;
- }
- // rescale
- _beg = set_u(bw, i, beg); _end = set_u(bw, i, end); _end += 2;
- for (k = _beg, y = 1./s[i]; k <= _end; ++k) bi[k] *= y;
- }
- double pb;
- { // b[0]
- int beg = 1, end = l_ref < bw + 1? l_ref : bw + 1;
- double sum = 0.;
- for (k = end; k >= beg; --k) {
- int u = set_u(bw, 1, k);
- double e = (ref[k] > 3 || query[1] > 3)? 1. : ref[k] == query[1]? 1. - qual[1] : qual[1] / 3.;
- if (u < 3 || u >= bw2*3+3) continue;
- sum += e * b[1][u+0] * bM + .25 * b[1][u+1] * bI;
- }
- pb = b[0][set_u(bw, 0, 0)] = sum / s[0]; // if everything works as is expected, pb == 1.0
- }
- int is_diff = Math.abs(pb - 1.) > 1e-7? 1 : 0;
- /*** MAP ***/
- for (i = 1; i <= l_query; ++i) {
- double sum = 0., max = 0.;
- double[] fi = f[i], bi = b[i];
- int beg = 1, end = l_ref, x, max_k = -1;
- x = i - bw; beg = beg > x? beg : x;
- x = i + bw; end = end < x? end : x;
- for (k = beg; k <= end; ++k) {
- int u = set_u(bw, i, k);
- double z;
- sum += (z = fi[u+0] * bi[u+0]); if (z > max) { max = z; max_k = (k-1)<<2 | 0; }
- sum += (z = fi[u+1] * bi[u+1]); if (z > max) { max = z; max_k = (k-1)<<2 | 1; }
- }
- max /= sum; sum *= s[i]; // if everything works as is expected, sum == 1.0
- if (state != null) state[i-1] = max_k;
- if (q != null) {
- k = (int)(-4.343 * Math.log(1. - max) + .499);
- q[i-1] = (byte)(k > 100? 99 : k);
- }
- //System.out.println("("+pb+","+sum+")"+" ("+(i-1)+","+(max_k>>2)+","+(max_k&3)+","+max+")");
- }
- return 0;
- }
-
- public static void main(String[] args) {
- byte[] ref = {'\0', '\1', '\3', '\3', '\1'};
- byte[] query = {'\0', '\3', '\3', '\1'};
- byte[] qual = new byte[4];
- qual[0] = qual[1] = qual[2] = qual[3] = (byte)20;
- HmmGlocal hg = new HmmGlocal(1e-3, 0.1, 7);
- hg.hmm_glocal(ref, query, qual, null, null);
- }
-}
\ No newline at end of file
diff --git a/sam/misc/Makefile b/sam/misc/Makefile
deleted file mode 100644
index d36e7ac..0000000
--- a/sam/misc/Makefile
+++ /dev/null
@@ -1,69 +0,0 @@
-CC= gcc
-CXX= g++
-CFLAGS= -g -Wall -O2 #-m64 #-arch ppc
-CXXFLAGS= $(CFLAGS)
-DFLAGS= -D_FILE_OFFSET_BITS=64
-OBJS=
-PROG= md5sum-lite md5fa maq2sam-short maq2sam-long ace2sam wgsim bamcheck
-INCLUDES= -I..
-SUBDIRS= .
-
-.SUFFIXES:.c .o
-
-.c.o:
- $(CC) -c $(CFLAGS) $(DFLAGS) $(INCLUDES) $< -o $@
-
-all:$(PROG)
-
-lib-recur all-recur clean-recur cleanlocal-recur install-recur:
- @target=`echo $@ | sed s/-recur//`; \
- wdir=`pwd`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- cd $$subdir; \
- $(MAKE) CC="$(CC)" DFLAGS="$(DFLAGS)" CFLAGS="$(CFLAGS)" \
- INCLUDES="$(INCLUDES)" $$target || exit 1; \
- cd $$wdir; \
- done;
-
-lib:
-
-bamcheck:bamcheck.o
- $(CC) $(CFLAGS) -o $@ bamcheck.o -L.. -lm -lbam -lpthread -lz
-
-bamcheck.o:bamcheck.c ../faidx.h ../khash.h ../sam.h ../razf.h
- $(CC) $(CFLAGS) -c -I.. -o $@ bamcheck.c
-
-ace2sam:ace2sam.o
- $(CC) $(CFLAGS) -o $@ ace2sam.o -lz
-
-wgsim:wgsim.o
- $(CC) $(CFLAGS) -o $@ wgsim.o -lm -lz
-
-md5fa:md5.o md5fa.o md5.h ../kseq.h
- $(CC) $(CFLAGS) -o $@ md5.o md5fa.o -lz
-
-md5sum-lite:md5sum-lite.o
- $(CC) $(CFLAGS) -o $@ md5sum-lite.o
-
-md5sum-lite.o:md5.c md5.h
- $(CC) -c $(CFLAGS) -DMD5SUM_MAIN -o $@ md5.c
-
-maq2sam-short:maq2sam.c
- $(CC) $(CFLAGS) -o $@ maq2sam.c -lz
-
-maq2sam-long:maq2sam.c
- $(CC) $(CFLAGS) -DMAQ_LONGREADS -o $@ maq2sam.c -lz
-
-md5fa.o:md5.h md5fa.c
- $(CC) $(CFLAGS) -c -I.. -o $@ md5fa.c
-
-wgsim.o:wgsim.c ../kseq.h
- $(CC) $(CFLAGS) -c -I.. -o $@ wgsim.c
-
-ace2sam.o:ace2sam.c ../kstring.h ../kseq.h
- $(CC) $(CFLAGS) -c -I.. -o $@ ace2sam.c
-
-cleanlocal:
- rm -fr gmon.out *.o a.out *.exe *.dSYM $(PROG) *~ *.a
-
-clean:cleanlocal-recur
diff --git a/sam/misc/ace2sam.c b/sam/misc/ace2sam.c
deleted file mode 100644
index 325133d..0000000
--- a/sam/misc/ace2sam.c
+++ /dev/null
@@ -1,249 +0,0 @@
-/* The MIT License
-
- Copyright (c) 2011 Heng Li <lh3 at live.co.uk>
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- "Software"), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- SOFTWARE.
-*/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <zlib.h>
-#include "kstring.h"
-#include "kseq.h"
-KSTREAM_INIT(gzFile, gzread, 16384)
-
-#define N_TMPSTR 5
-#define LINE_LEN 60
-
-// append a CIGAR operation plus length
-#define write_cigar(_c, _n, _m, _v) do { \
- if (_n == _m) { \
- _m = _m? _m<<1 : 4; \
- _c = realloc(_c, _m * sizeof(unsigned)); \
- } \
- _c[_n++] = (_v); \
- } while (0)
-
-// a fatal error
-static void fatal(const char *msg)
-{
- fprintf(stderr, "E %s\n", msg);
- exit(1);
-}
-// remove pads
-static void remove_pads(const kstring_t *src, kstring_t *dst)
-{
- int i, j;
- dst->l = 0;
- kputsn(src->s, src->l, dst);
- for (i = j = 0; i < dst->l; ++i)
- if (dst->s[i] != '*') dst->s[j++] = dst->s[i];
- dst->s[j] = 0;
- dst->l = j;
-}
-
-int main(int argc, char *argv[])
-{
- gzFile fp;
- kstream_t *ks;
- kstring_t s, t[N_TMPSTR];
- int dret, i, k, af_n, af_max, af_i, c, is_padded = 0, write_cns = 0, *p2u = 0;
- long m_cigar = 0, n_cigar = 0;
- unsigned *af, *cigar = 0;
-
- while ((c = getopt(argc, argv, "pc")) >= 0) {
- switch (c) {
- case 'p': is_padded = 1; break;
- case 'c': write_cns = 1; break;
- }
- }
- if (argc == optind) {
- fprintf(stderr, "\nUsage: ace2sam [-pc] <in.ace>\n\n");
- fprintf(stderr, "Options: -p output padded SAM\n");
- fprintf(stderr, " -c write the contig sequence in SAM\n\n");
- fprintf(stderr, "Notes: 1. Fields must appear in the following order: (CO->[BQ]->(AF)->(RD->QA))\n");
- fprintf(stderr, " 2. The order of reads in AF and in RD must be identical\n");
- fprintf(stderr, " 3. Except in BQ, words and numbers must be separated by a single SPACE or TAB\n");
- fprintf(stderr, " 4. This program writes the headerless SAM to stdout and header to stderr\n\n");
- return 1;
- }
-
- s.l = s.m = 0; s.s = 0;
- af_n = af_max = af_i = 0; af = 0;
- for (i = 0; i < N_TMPSTR; ++i) t[i].l = t[i].m = 0, t[i].s = 0;
- fp = strcmp(argv[1], "-")? gzopen(argv[optind], "r") : gzdopen(fileno(stdin), "r");
- ks = ks_init(fp);
- while (ks_getuntil(ks, 0, &s, &dret) >= 0) {
- if (strcmp(s.s, "CO") == 0) { // contig sequence
- kstring_t *cns;
- t[0].l = t[1].l = t[2].l = t[3].l = t[4].l = 0; // 0: name; 1: padded ctg; 2: unpadded ctg/padded read; 3: unpadded read; 4: SAM line
- af_n = af_i = 0; // reset the af array
- ks_getuntil(ks, 0, &s, &dret); kputs(s.s, &t[0]); // contig name
- ks_getuntil(ks, '\n', &s, &dret); // read the whole line
- while (ks_getuntil(ks, '\n', &s, &dret) >= 0 && s.l > 0) kputsn(s.s, s.l, &t[1]); // read the padded consensus sequence
- remove_pads(&t[1], &t[2]); // construct the unpadded sequence
- // compute the array for mapping padded positions to unpadded positions
- p2u = realloc(p2u, t[1].m * sizeof(int));
- for (i = k = 0; i < t[1].l; ++i) {
- p2u[i] = k;
- if (t[1].s[i] != '*') ++k;
- }
- // write out the SAM header and contig sequences
- fprintf(stderr, "H @SQ\tSN:%s\tLN:%ld\n", t[0].s, t[is_padded?1:2].l); // The SAM header line
- cns = &t[is_padded?1:2];
- fprintf(stderr, "S >%s\n", t[0].s);
- for (i = 0; i < cns->l; i += LINE_LEN) {
- fputs("S ", stderr);
- for (k = 0; k < LINE_LEN && i + k < cns->l; ++k)
- fputc(cns->s[i + k], stderr);
- fputc('\n', stderr);
- }
-
-#define __padded2cigar(sp) do { \
- int i, l_M = 0, l_D = 0; \
- for (i = 0; i < sp.l; ++i) { \
- if (sp.s[i] == '*') { \
- if (l_M) write_cigar(cigar, n_cigar, m_cigar, l_M<<4); \
- ++l_D; l_M = 0; \
- } else { \
- if (l_D) write_cigar(cigar, n_cigar, m_cigar, l_D<<4 | 2); \
- ++l_M; l_D = 0; \
- } \
- } \
- if (l_M) write_cigar(cigar, n_cigar, m_cigar, l_M<<4); \
- else write_cigar(cigar, n_cigar, m_cigar, l_D<<4 | 2); \
- } while (0)
-
- if (write_cns) { // write the consensus SAM line (dummy read)
- n_cigar = 0;
- if (is_padded) __padded2cigar(t[1]);
- else write_cigar(cigar, n_cigar, m_cigar, t[2].l<<4);
- kputsn(t[0].s, t[0].l, &t[4]); kputs("\t516\t", &t[4]); kputsn(t[0].s, t[0].l, &t[4]); kputs("\t1\t60\t", &t[4]);
- for (i = 0; i < n_cigar; ++i) {
- kputw(cigar[i]>>4, &t[4]); kputc("MIDNSHP=X"[cigar[i]&0xf], &t[4]);
- }
- kputs("\t*\t0\t0\t", &t[4]); kputsn(t[2].s, t[2].l, &t[4]); kputs("\t*", &t[4]);
- }
- } else if (strcmp(s.s, "BQ") == 0) { // contig quality
- if (t[0].l == 0) fatal("come to 'BQ' before reading 'CO'");
- if (dret != '\n') ks_getuntil(ks, '\n', &s, &dret); // read the entire "BQ" line
- if (write_cns) t[4].s[--t[4].l] = 0; // remove the trailing "*"
- for (i = 0; i < t[2].l; ++i) { // read the consensus quality
- int q;
- if (ks_getuntil(ks, 0, &s, &dret) < 0) fprintf(stderr, "E truncated contig quality\n");
- if (s.l) {
- q = atoi(s.s) + 33;
- if (q > 126) q = 126;
- if (write_cns) kputc(q, &t[4]);
- } else --i;
- }
- if (dret != '\n') ks_getuntil(ks, '\n', &s, &dret);
- ks_getuntil(ks, '\n', &s, &dret); // skip the empty line
- if (write_cns) puts(t[4].s); t[4].l = 0;
- } else if (strcmp(s.s, "AF") == 0) { // padded read position
- int reversed, neg, pos;
- if (t[0].l == 0) fatal("come to 'AF' before reading 'CO'");
- if (write_cns) {
- if (t[4].l) puts(t[4].s);
- t[4].l = 0;
- }
- ks_getuntil(ks, 0, &s, &dret); // read name
- ks_getuntil(ks, 0, &s, &dret); reversed = s.s[0] == 'C'? 1 : 0; // strand
- ks_getuntil(ks, 0, &s, &dret); pos = atoi(s.s); neg = pos < 0? 1 : 0; pos = pos < 0? -pos : pos; // position
- if (af_n == af_max) { // double the af array
- af_max = af_max? af_max<<1 : 4;
- af = realloc(af, af_max * sizeof(unsigned));
- }
- af[af_n++] = pos << 2 | neg << 1 | reversed; // keep the placement information
- } else if (strcmp(s.s, "RD") == 0) { // read sequence
- if (af_i >= af_n) fatal("more 'RD' records than 'AF'");
- t[2].l = t[3].l = t[4].l = 0;
- ks_getuntil(ks, 0, &t[4], &dret); // QNAME
- if (dret != '\n') ks_getuntil(ks, '\n', &s, &dret); // read the entire RD line
- while (ks_getuntil(ks, '\n', &s, &dret) >= 0 && s.l > 0) kputs(s.s, &t[2]); // read the read sequence
- } else if (strcmp(s.s, "QA") == 0) { // clipping
- if (af_i >= af_n) fatal("more 'QA' records than 'AF'");
- int beg, end, pos, op;
- ks_getuntil(ks, 0, &s, &dret); ks_getuntil(ks, 0, &s, &dret); // skip quality clipping
- ks_getuntil(ks, 0, &s, &dret); beg = atoi(s.s) - 1; // align clipping start
- ks_getuntil(ks, 0, &s, &dret); end = atoi(s.s); // clipping end
- if (dret != '\n') ks_getuntil(ks, '\n', &s, &dret);
- // compute 1-based POS
- pos = af[af_i]>>2; // retrieve the position information
- if (af[af_i]>>1&1) pos = -pos;
- pos += beg; // now pos is the true padded position
- // generate CIGAR
- remove_pads(&t[2], &t[3]); // backup the unpadded read sequence
- n_cigar = 0;
- if (beg) write_cigar(cigar, n_cigar, m_cigar, beg<<4|4);
- if (is_padded) {
- __padded2cigar(t[2]);
- if (beg && n_cigar > 1) cigar[1] -= beg<<4; // fix the left-hand CIGAR
- if (end < t[2].l && n_cigar) cigar[n_cigar-1] -= (t[2].l - end)<<4; // fix the right-hand CIGAR
- } else {
- // generate flattened CIGAR string
- for (i = beg, k = pos - 1; i < end; ++i, ++k)
- t[2].s[i] = t[2].s[i] != '*'? (t[1].s[k] != '*'? 0 : 1) : (t[1].s[k] != '*'? 2 : 6);
- // generate the proper CIGAR
- for (i = beg + 1, k = 1, op = t[2].s[beg]; i < end; ++i) {
- if (op != t[2].s[i]) {
- write_cigar(cigar, n_cigar, m_cigar, k<<4|op);
- op = t[2].s[i]; k = 1;
- } else ++k;
- }
- write_cigar(cigar, n_cigar, m_cigar, k<<4|op);
- // remove unnecessary "P" and possibly merge adjacent operations
- for (i = 2; i < n_cigar; ++i) {
- if ((cigar[i]&0xf) != 1 && (cigar[i-1]&0xf) == 6 && (cigar[i-2]&0xf) != 1) {
- cigar[i-1] = 0;
- if ((cigar[i]&0xf) == (cigar[i-2]&0xf)) // merge operations
- cigar[i] += cigar[i-2], cigar[i-2] = 0;
- }
- }
- for (i = k = 0; i < n_cigar; ++i) // squeeze out dumb operations
- if (cigar[i]) cigar[k++] = cigar[i];
- n_cigar = k;
- }
- if (end < t[2].l) write_cigar(cigar, n_cigar, m_cigar, (t[2].l - end)<<4|4);
- // write the SAM line for the read
- kputc('\t', &t[4]); // QNAME has already been written
- kputw((af[af_i]&1)? 16 : 0, &t[4]); kputc('\t', &t[4]); // FLAG
- kputsn(t[0].s, t[0].l, &t[4]); kputc('\t', &t[4]); // RNAME
- kputw(is_padded? pos : p2u[pos-1]+1, &t[4]); // POS
- kputs("\t60\t", &t[4]); // MAPQ
- for (i = 0; i < n_cigar; ++i) { // CIGAR
- kputw(cigar[i]>>4, &t[4]); kputc("MIDNSHP=X"[cigar[i]&0xf], &t[4]);
- }
- kputs("\t*\t0\t0\t", &t[4]); // empty MRNM, MPOS and TLEN
- kputsn(t[3].s, t[3].l, &t[4]); // unpadded SEQ
- kputs("\t*", &t[4]); // QUAL
- puts(t[4].s); // print to stdout
- ++af_i;
- } else if (dret != '\n') ks_getuntil(ks, '\n', &s, &dret);
- }
- ks_destroy(ks);
- gzclose(fp);
- free(af); free(s.s); free(cigar); free(p2u);
- for (i = 0; i < N_TMPSTR; ++i) free(t[i].s);
- return 0;
-}
diff --git a/sam/misc/bamcheck.c b/sam/misc/bamcheck.c
deleted file mode 100644
index 352db21..0000000
--- a/sam/misc/bamcheck.c
+++ /dev/null
@@ -1,1521 +0,0 @@
-/*
- Author: petr.danecek at sanger
- gcc -Wall -Winline -g -O2 -I ~/git/samtools bamcheck.c -o bamcheck -lm -lz -L ~/git/samtools -lbam -lpthread
-
- Assumptions, approximations and other issues:
- - GC-depth graph does not split reads, the starting position determines which bin is incremented.
- There are small overlaps between bins (max readlen-1). However, the bins are big (20k).
- - coverage distribution ignores softclips and deletions
- - some stats require sorted BAMs
- - GC content graph can have an untidy, step-like pattern when BAM contains multiple read lengths.
- - 'bases mapped' (stats->nbases_mapped) is calculated from read lengths given by BAM (core.l_qseq)
- - With the -t option, the whole reads are used. Except for the number of mapped bases (cigar)
- counts, no splicing is done, no indels or soft clips are considered, even small overlap is
- good enough to include the read in the stats.
-
-*/
-
-#define BAMCHECK_VERSION "2012-09-04"
-
-#define _ISOC99_SOURCE
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <math.h>
-#include <ctype.h>
-#include <getopt.h>
-#include <errno.h>
-#include <assert.h>
-#include "faidx.h"
-#include "khash.h"
-#include "sam.h"
-#include "sam_header.h"
-#include "razf.h"
-
-#define BWA_MIN_RDLEN 35
-#define IS_PAIRED(bam) ((bam)->core.flag&BAM_FPAIRED && !((bam)->core.flag&BAM_FUNMAP) && !((bam)->core.flag&BAM_FMUNMAP))
-#define IS_UNMAPPED(bam) ((bam)->core.flag&BAM_FUNMAP)
-#define IS_REVERSE(bam) ((bam)->core.flag&BAM_FREVERSE)
-#define IS_MATE_REVERSE(bam) ((bam)->core.flag&BAM_FMREVERSE)
-#define IS_READ1(bam) ((bam)->core.flag&BAM_FREAD1)
-#define IS_READ2(bam) ((bam)->core.flag&BAM_FREAD2)
-#define IS_DUP(bam) ((bam)->core.flag&BAM_FDUP)
-
-typedef struct
-{
- int32_t line_len, line_blen;
- int64_t len;
- uint64_t offset;
-}
-faidx1_t;
-KHASH_MAP_INIT_STR(kh_faidx, faidx1_t)
-KHASH_MAP_INIT_STR(kh_bam_tid, int)
-KHASH_MAP_INIT_STR(kh_rg, const char *)
-struct __faidx_t {
- RAZF *rz;
- int n, m;
- char **name;
- khash_t(kh_faidx) *hash;
-};
-
-typedef struct
-{
- float gc;
- uint32_t depth;
-}
-gc_depth_t;
-
-// For coverage distribution, a simple pileup
-typedef struct
-{
- int64_t pos;
- int size, start;
- int *buffer;
-}
-round_buffer_t;
-
-typedef struct { uint32_t from, to; } pos_t;
-typedef struct
-{
- int npos,mpos,cpos;
- pos_t *pos;
-}
-regions_t;
-
-typedef struct
-{
- // Parameters
- int trim_qual; // bwa trim quality
-
- // Dimensions of the quality histogram holder (quals_1st,quals_2nd), GC content holder (gc_1st,gc_2nd),
- // insert size histogram holder
- int nquals; // The number of quality bins
- int nbases; // The maximum sequence length the allocated array can hold
- int nisize; // The maximum insert size that the allocated array can hold
- int ngc; // The size of gc_1st and gc_2nd
- int nindels; // The maximum indel length for indel distribution
-
- // Arrays for the histogram data
- uint64_t *quals_1st, *quals_2nd;
- uint64_t *gc_1st, *gc_2nd;
- uint64_t *isize_inward, *isize_outward, *isize_other;
- uint64_t *acgt_cycles;
- uint64_t *read_lengths;
- uint64_t *insertions, *deletions;
- uint64_t *ins_cycles_1st, *ins_cycles_2nd, *del_cycles_1st, *del_cycles_2nd;
-
- // The extremes encountered
- int max_len; // Maximum read length
- int max_qual; // Maximum quality
- float isize_main_bulk; // There are always some unrealistically big insert sizes, report only the main part
- int is_sorted;
-
- // Summary numbers
- uint64_t total_len;
- uint64_t total_len_dup;
- uint64_t nreads_1st;
- uint64_t nreads_2nd;
- uint64_t nreads_filtered;
- uint64_t nreads_dup;
- uint64_t nreads_unmapped;
- uint64_t nreads_unpaired;
- uint64_t nreads_paired;
- uint64_t nreads_anomalous;
- uint64_t nreads_mq0;
- uint64_t nbases_mapped;
- uint64_t nbases_mapped_cigar;
- uint64_t nbases_trimmed; // bwa trimmed bases
- uint64_t nmismatches;
- uint64_t nreads_QCfailed, nreads_secondary;
-
- // GC-depth related data
- uint32_t ngcd, igcd; // The maximum number of GC depth bins and index of the current bin
- gc_depth_t *gcd; // The GC-depth bins holder
- int gcd_bin_size; // The size of GC-depth bin
- uint32_t gcd_ref_size; // The approximate size of the genome
- int32_t tid, gcd_pos; // Position of the current bin
- int32_t pos; // Position of the last read
-
- // Coverage distribution related data
- int ncov; // The number of coverage bins
- uint64_t *cov; // The coverage frequencies
- int cov_min,cov_max,cov_step; // Minimum, maximum coverage and size of the coverage bins
- round_buffer_t cov_rbuf; // Pileup round buffer
-
- // Mismatches by read cycle
- uint8_t *rseq_buf; // A buffer for reference sequence to check the mismatches against
- int mrseq_buf; // The size of the buffer
- int32_t rseq_pos; // The coordinate of the first base in the buffer
- int32_t nrseq_buf; // The used part of the buffer
- uint64_t *mpc_buf; // Mismatches per cycle
-
- // Filters
- int filter_readlen;
-
- // Target regions
- int nregions, reg_from,reg_to;
- regions_t *regions;
-
- // Auxiliary data
- int flag_require, flag_filter;
- double sum_qual; // For calculating average quality value
- samfile_t *sam;
- khash_t(kh_rg) *rg_hash; // Read groups to include, the array is null-terminated
- faidx_t *fai; // Reference sequence for GC-depth graph
- int argc; // Command line arguments to be printed on the output
- char **argv;
-}
-stats_t;
-
-void error(const char *format, ...);
-void bam_init_header_hash(bam_header_t *header);
-int is_in_regions(bam1_t *bam_line, stats_t *stats);
-
-
-// Coverage distribution methods
-inline int coverage_idx(int min, int max, int n, int step, int depth)
-{
- if ( depth < min )
- return 0;
-
- if ( depth > max )
- return n-1;
-
- return 1 + (depth - min) / step;
-}
-
-inline int round_buffer_lidx2ridx(int offset, int size, int64_t refpos, int64_t pos)
-{
- return (offset + (pos-refpos) % size) % size;
-}
-
-void round_buffer_flush(stats_t *stats, int64_t pos)
-{
- int ibuf,idp;
-
- if ( pos==stats->cov_rbuf.pos )
- return;
-
- int64_t new_pos = pos;
- if ( pos==-1 || pos - stats->cov_rbuf.pos >= stats->cov_rbuf.size )
- {
- // Flush the whole buffer, but in sequential order,
- pos = stats->cov_rbuf.pos + stats->cov_rbuf.size - 1;
- }
-
- if ( pos < stats->cov_rbuf.pos )
- error("Expected coordinates in ascending order, got %ld after %ld\n", pos,stats->cov_rbuf.pos);
-
- int ifrom = stats->cov_rbuf.start;
- int ito = round_buffer_lidx2ridx(stats->cov_rbuf.start,stats->cov_rbuf.size,stats->cov_rbuf.pos,pos-1);
- if ( ifrom>ito )
- {
- for (ibuf=ifrom; ibuf<stats->cov_rbuf.size; ibuf++)
- {
- if ( !stats->cov_rbuf.buffer[ibuf] )
- continue;
- idp = coverage_idx(stats->cov_min,stats->cov_max,stats->ncov,stats->cov_step,stats->cov_rbuf.buffer[ibuf]);
- stats->cov[idp]++;
- stats->cov_rbuf.buffer[ibuf] = 0;
- }
- ifrom = 0;
- }
- for (ibuf=ifrom; ibuf<=ito; ibuf++)
- {
- if ( !stats->cov_rbuf.buffer[ibuf] )
- continue;
- idp = coverage_idx(stats->cov_min,stats->cov_max,stats->ncov,stats->cov_step,stats->cov_rbuf.buffer[ibuf]);
- stats->cov[idp]++;
- stats->cov_rbuf.buffer[ibuf] = 0;
- }
- stats->cov_rbuf.start = (new_pos==-1) ? 0 : round_buffer_lidx2ridx(stats->cov_rbuf.start,stats->cov_rbuf.size,stats->cov_rbuf.pos,pos);
- stats->cov_rbuf.pos = new_pos;
-}
-
-void round_buffer_insert_read(round_buffer_t *rbuf, int64_t from, int64_t to)
-{
- if ( to-from >= rbuf->size )
- error("The read length too big (%d), please increase the buffer length (currently %d)\n", to-from+1,rbuf->size);
- if ( from < rbuf->pos )
- error("The reads are not sorted (%ld comes after %ld).\n", from,rbuf->pos);
-
- int ifrom,ito,ibuf;
- ifrom = round_buffer_lidx2ridx(rbuf->start,rbuf->size,rbuf->pos,from);
- ito = round_buffer_lidx2ridx(rbuf->start,rbuf->size,rbuf->pos,to);
- if ( ifrom>ito )
- {
- for (ibuf=ifrom; ibuf<rbuf->size; ibuf++)
- rbuf->buffer[ibuf]++;
- ifrom = 0;
- }
- for (ibuf=ifrom; ibuf<=ito; ibuf++)
- rbuf->buffer[ibuf]++;
-}
-
-// Calculate the number of bases in the read trimmed by BWA
-int bwa_trim_read(int trim_qual, uint8_t *quals, int len, int reverse)
-{
- if ( len<BWA_MIN_RDLEN ) return 0;
-
- // Although the name implies that the read cannot be trimmed to more than BWA_MIN_RDLEN,
- // the calculation can in fact trim it to (BWA_MIN_RDLEN-1). (bwa_trim_read in bwa/bwaseqio.c).
- int max_trimmed = len - BWA_MIN_RDLEN + 1;
- int l, sum=0, max_sum=0, max_l=0;
-
- for (l=0; l<max_trimmed; l++)
- {
- sum += trim_qual - quals[ reverse ? l : len-1-l ];
- if ( sum<0 ) break;
- if ( sum>max_sum )
- {
- max_sum = sum;
- // This is the correct way, but bwa clips from some reason one base less
- // max_l = l+1;
- max_l = l;
- }
- }
- return max_l;
-}
-
-
-void count_indels(stats_t *stats,bam1_t *bam_line)
-{
- int is_fwd = IS_REVERSE(bam_line) ? 0 : 1;
- int is_1st = IS_READ1(bam_line) ? 1 : 0;
- int icig;
- int icycle = 0;
- int read_len = bam_line->core.l_qseq;
- for (icig=0; icig<bam_line->core.n_cigar; icig++)
- {
- // Conversion from uint32_t to MIDNSHP
- // 0123456
- // MIDNSHP
- int cig = bam1_cigar(bam_line)[icig] & BAM_CIGAR_MASK;
- int ncig = bam1_cigar(bam_line)[icig] >> BAM_CIGAR_SHIFT;
-
- if ( cig==1 )
- {
- int idx = is_fwd ? icycle : read_len-icycle-ncig;
- if ( idx<0 )
- error("FIXME: read_len=%d vs icycle=%d\n", read_len,icycle);
- if ( idx >= stats->nbases || idx<0 ) error("FIXME: %d vs %d, %s:%d %s\n", idx,stats->nbases, stats->sam->header->target_name[bam_line->core.tid],bam_line->core.pos+1,bam1_qname(bam_line));
- if ( is_1st )
- stats->ins_cycles_1st[idx]++;
- else
- stats->ins_cycles_2nd[idx]++;
- icycle += ncig;
- if ( ncig<=stats->nindels )
- stats->insertions[ncig-1]++;
- continue;
- }
- if ( cig==2 )
- {
- int idx = is_fwd ? icycle-1 : read_len-icycle-1;
- if ( idx<0 ) continue; // discard meaningless deletions
- if ( idx >= stats->nbases ) error("FIXME: %d vs %d\n", idx,stats->nbases);
- if ( is_1st )
- stats->del_cycles_1st[idx]++;
- else
- stats->del_cycles_2nd[idx]++;
- if ( ncig<=stats->nindels )
- stats->deletions[ncig-1]++;
- continue;
- }
- if ( cig!=3 && cig!=5 )
- icycle += ncig;
- }
-}
-
-void count_mismatches_per_cycle(stats_t *stats,bam1_t *bam_line)
-{
- int is_fwd = IS_REVERSE(bam_line) ? 0 : 1;
- int icig,iread=0,icycle=0;
- int iref = bam_line->core.pos - stats->rseq_pos;
- int read_len = bam_line->core.l_qseq;
- uint8_t *read = bam1_seq(bam_line);
- uint8_t *quals = bam1_qual(bam_line);
- uint64_t *mpc_buf = stats->mpc_buf;
- for (icig=0; icig<bam_line->core.n_cigar; icig++)
- {
- // Conversion from uint32_t to MIDNSHP
- // 0123456
- // MIDNSHP
- int cig = bam1_cigar(bam_line)[icig] & BAM_CIGAR_MASK;
- int ncig = bam1_cigar(bam_line)[icig] >> BAM_CIGAR_SHIFT;
- if ( cig==1 )
- {
- iread += ncig;
- icycle += ncig;
- continue;
- }
- if ( cig==2 )
- {
- iref += ncig;
- continue;
- }
- if ( cig==4 )
- {
- icycle += ncig;
- // Soft-clips are present in the sequence, but the position of the read marks a start of non-clipped sequence
- // iref += ncig;
- iread += ncig;
- continue;
- }
- if ( cig==5 )
- {
- icycle += ncig;
- continue;
- }
- // Ignore H and N CIGARs. The letter are inserted e.g. by TopHat and often require very large
- // chunk of refseq in memory. Not very frequent and not noticable in the stats.
- if ( cig==3 || cig==5 ) continue;
- if ( cig!=0 )
- error("TODO: cigar %d, %s:%d %s\n", cig,stats->sam->header->target_name[bam_line->core.tid],bam_line->core.pos+1,bam1_qname(bam_line));
-
- if ( ncig+iref > stats->nrseq_buf )
- error("FIXME: %d+%d > %d, %s, %s:%d\n",ncig,iref,stats->nrseq_buf, bam1_qname(bam_line),stats->sam->header->target_name[bam_line->core.tid],bam_line->core.pos+1);
-
- int im;
- for (im=0; im<ncig; im++)
- {
- uint8_t cread = bam1_seqi(read,iread);
- uint8_t cref = stats->rseq_buf[iref];
-
- // ---------------15
- // =ACMGRSVTWYHKDBN
- if ( cread==15 )
- {
- int idx = is_fwd ? icycle : read_len-icycle-1;
- if ( idx>stats->max_len )
- error("mpc: %d>%d\n",idx,stats->max_len);
- idx = idx*stats->nquals;
- if ( idx>=stats->nquals*stats->nbases )
- error("FIXME: mpc_buf overflow\n");
- mpc_buf[idx]++;
- }
- else if ( cref && cread && cref!=cread )
- {
- uint8_t qual = quals[iread] + 1;
- if ( qual>=stats->nquals )
- error("TODO: quality too high %d>=%d (%s %d %s)\n", qual,stats->nquals, stats->sam->header->target_name[bam_line->core.tid],bam_line->core.pos+1,bam1_qname(bam_line));
-
- int idx = is_fwd ? icycle : read_len-icycle-1;
- if ( idx>stats->max_len )
- error("mpc: %d>%d\n",idx,stats->max_len);
-
- idx = idx*stats->nquals + qual;
- if ( idx>=stats->nquals*stats->nbases )
- error("FIXME: mpc_buf overflow\n");
- mpc_buf[idx]++;
- }
-
- iref++;
- iread++;
- icycle++;
- }
- }
-}
-
-void read_ref_seq(stats_t *stats,int32_t tid,int32_t pos)
-{
- khash_t(kh_faidx) *h;
- khiter_t iter;
- faidx1_t val;
- char *chr, c;
- faidx_t *fai = stats->fai;
-
- h = fai->hash;
- chr = stats->sam->header->target_name[tid];
-
- // ID of the sequence name
- iter = kh_get(kh_faidx, h, chr);
- if (iter == kh_end(h))
- error("No such reference sequence [%s]?\n", chr);
- val = kh_value(h, iter);
-
- // Check the boundaries
- if (pos >= val.len)
- error("Was the bam file mapped with the reference sequence supplied?"
- " A read mapped beyond the end of the chromosome (%s:%d, chromosome length %d).\n", chr,pos,val.len);
- int size = stats->mrseq_buf;
- // The buffer extends beyond the chromosome end. Later the rest will be filled with N's.
- if (size+pos > val.len) size = val.len-pos;
-
- // Position the razf reader
- razf_seek(fai->rz, val.offset + pos / val.line_blen * val.line_len + pos % val.line_blen, SEEK_SET);
-
- uint8_t *ptr = stats->rseq_buf;
- int nread = 0;
- while ( nread<size && razf_read(fai->rz,&c,1) && !fai->rz->z_err )
- {
- if ( !isgraph(c) )
- continue;
-
- // Conversion between uint8_t coding and ACGT
- // -12-4---8-------
- // =ACMGRSVTWYHKDBN
- if ( c=='A' || c=='a' )
- *ptr = 1;
- else if ( c=='C' || c=='c' )
- *ptr = 2;
- else if ( c=='G' || c=='g' )
- *ptr = 4;
- else if ( c=='T' || c=='t' )
- *ptr = 8;
- else
- *ptr = 0;
- ptr++;
- nread++;
- }
- if ( nread < stats->mrseq_buf )
- {
- memset(ptr,0, stats->mrseq_buf - nread);
- nread = stats->mrseq_buf;
- }
- stats->nrseq_buf = nread;
- stats->rseq_pos = pos;
- stats->tid = tid;
-}
-
-float fai_gc_content(stats_t *stats, int pos, int len)
-{
- uint32_t gc,count,c;
- int i = pos - stats->rseq_pos, ito = i + len;
- assert( i>=0 && ito<=stats->nrseq_buf );
-
- // Count GC content
- gc = count = 0;
- for (; i<ito; i++)
- {
- c = stats->rseq_buf[i];
- if ( c==2 || c==4 )
- {
- gc++;
- count++;
- }
- else if ( c==1 || c==8 )
- count++;
- }
- return count ? (float)gc/count : 0;
-}
-
-void realloc_rseq_buffer(stats_t *stats)
-{
- int n = stats->nbases*10;
- if ( stats->gcd_bin_size > n ) n = stats->gcd_bin_size;
- if ( stats->mrseq_buf<n )
- {
- stats->rseq_buf = realloc(stats->rseq_buf,sizeof(uint8_t)*n);
- stats->mrseq_buf = n;
- }
-}
-
-void realloc_gcd_buffer(stats_t *stats, int seq_len)
-{
- if ( seq_len >= stats->gcd_bin_size )
- error("The --GC-depth bin size (%d) is set too low for the read length %d\n", stats->gcd_bin_size, seq_len);
-
- int n = 1 + stats->gcd_ref_size / (stats->gcd_bin_size - seq_len);
- if ( n <= stats->igcd )
- error("The --GC-depth bin size is too small or reference genome too big; please decrease the bin size or increase the reference length\n");
-
- if ( n > stats->ngcd )
- {
- stats->gcd = realloc(stats->gcd, n*sizeof(gc_depth_t));
- if ( !stats->gcd )
- error("Could not realloc GCD buffer, too many chromosomes or the genome too long?? [%u %u]\n", stats->ngcd,n);
- memset(&(stats->gcd[stats->ngcd]),0,(n-stats->ngcd)*sizeof(gc_depth_t));
- stats->ngcd = n;
- }
-
- realloc_rseq_buffer(stats);
-}
-
-void realloc_buffers(stats_t *stats, int seq_len)
-{
- int n = 2*(1 + seq_len - stats->nbases) + stats->nbases;
-
- stats->quals_1st = realloc(stats->quals_1st, n*stats->nquals*sizeof(uint64_t));
- if ( !stats->quals_1st )
- error("Could not realloc buffers, the sequence too long: %d (%ld)\n", seq_len,n*stats->nquals*sizeof(uint64_t));
- memset(stats->quals_1st + stats->nbases*stats->nquals, 0, (n-stats->nbases)*stats->nquals*sizeof(uint64_t));
-
- stats->quals_2nd = realloc(stats->quals_2nd, n*stats->nquals*sizeof(uint64_t));
- if ( !stats->quals_2nd )
- error("Could not realloc buffers, the sequence too long: %d (2x%ld)\n", seq_len,n*stats->nquals*sizeof(uint64_t));
- memset(stats->quals_2nd + stats->nbases*stats->nquals, 0, (n-stats->nbases)*stats->nquals*sizeof(uint64_t));
-
- if ( stats->mpc_buf )
- {
- stats->mpc_buf = realloc(stats->mpc_buf, n*stats->nquals*sizeof(uint64_t));
- if ( !stats->mpc_buf )
- error("Could not realloc buffers, the sequence too long: %d (%ld)\n", seq_len,n*stats->nquals*sizeof(uint64_t));
- memset(stats->mpc_buf + stats->nbases*stats->nquals, 0, (n-stats->nbases)*stats->nquals*sizeof(uint64_t));
- }
-
- stats->acgt_cycles = realloc(stats->acgt_cycles, n*4*sizeof(uint64_t));
- if ( !stats->acgt_cycles )
- error("Could not realloc buffers, the sequence too long: %d (%ld)\n", seq_len,n*4*sizeof(uint64_t));
- memset(stats->acgt_cycles + stats->nbases*4, 0, (n-stats->nbases)*4*sizeof(uint64_t));
-
- stats->read_lengths = realloc(stats->read_lengths, n*sizeof(uint64_t));
- if ( !stats->read_lengths )
- error("Could not realloc buffers, the sequence too long: %d (%ld)\n", seq_len,n*sizeof(uint64_t));
- memset(stats->read_lengths + stats->nbases, 0, (n-stats->nbases)*sizeof(uint64_t));
-
- stats->insertions = realloc(stats->insertions, n*sizeof(uint64_t));
- if ( !stats->insertions )
- error("Could not realloc buffers, the sequence too long: %d (%ld)\n", seq_len,n*sizeof(uint64_t));
- memset(stats->insertions + stats->nbases, 0, (n-stats->nbases)*sizeof(uint64_t));
-
- stats->deletions = realloc(stats->deletions, n*sizeof(uint64_t));
- if ( !stats->deletions )
- error("Could not realloc buffers, the sequence too long: %d (%ld)\n", seq_len,n*sizeof(uint64_t));
- memset(stats->deletions + stats->nbases, 0, (n-stats->nbases)*sizeof(uint64_t));
-
- stats->ins_cycles_1st = realloc(stats->ins_cycles_1st, (n+1)*sizeof(uint64_t));
- if ( !stats->ins_cycles_1st )
- error("Could not realloc buffers, the sequence too long: %d (%ld)\n", seq_len,(n+1)*sizeof(uint64_t));
- memset(stats->ins_cycles_1st + stats->nbases + 1, 0, (n-stats->nbases)*sizeof(uint64_t));
-
- stats->ins_cycles_2nd = realloc(stats->ins_cycles_2nd, (n+1)*sizeof(uint64_t));
- if ( !stats->ins_cycles_2nd )
- error("Could not realloc buffers, the sequence too long: %d (%ld)\n", seq_len,(n+1)*sizeof(uint64_t));
- memset(stats->ins_cycles_2nd + stats->nbases + 1, 0, (n-stats->nbases)*sizeof(uint64_t));
-
- stats->del_cycles_1st = realloc(stats->del_cycles_1st, (n+1)*sizeof(uint64_t));
- if ( !stats->del_cycles_1st )
- error("Could not realloc buffers, the sequence too long: %d (%ld)\n", seq_len,(n+1)*sizeof(uint64_t));
- memset(stats->del_cycles_1st + stats->nbases + 1, 0, (n-stats->nbases)*sizeof(uint64_t));
-
- stats->del_cycles_2nd = realloc(stats->del_cycles_2nd, (n+1)*sizeof(uint64_t));
- if ( !stats->del_cycles_2nd )
- error("Could not realloc buffers, the sequence too long: %d (%ld)\n", seq_len,(n+1)*sizeof(uint64_t));
- memset(stats->del_cycles_2nd + stats->nbases + 1, 0, (n-stats->nbases)*sizeof(uint64_t));
-
- stats->nbases = n;
-
- // Realloc the coverage distribution buffer
- int *rbuffer = calloc(sizeof(int),seq_len*5);
- n = stats->cov_rbuf.size-stats->cov_rbuf.start;
- memcpy(rbuffer,stats->cov_rbuf.buffer+stats->cov_rbuf.start,n);
- if ( stats->cov_rbuf.start>1 )
- memcpy(rbuffer+n,stats->cov_rbuf.buffer,stats->cov_rbuf.start);
- stats->cov_rbuf.start = 0;
- free(stats->cov_rbuf.buffer);
- stats->cov_rbuf.buffer = rbuffer;
- stats->cov_rbuf.size = seq_len*5;
-
- realloc_rseq_buffer(stats);
-}
-
-void collect_stats(bam1_t *bam_line, stats_t *stats)
-{
- if ( stats->rg_hash )
- {
- const uint8_t *rg = bam_aux_get(bam_line, "RG");
- if ( !rg ) return;
- khiter_t k = kh_get(kh_rg, stats->rg_hash, (const char*)(rg + 1));
- if ( k == kh_end(stats->rg_hash) ) return;
- }
- if ( stats->flag_require && (bam_line->core.flag & stats->flag_require)!=stats->flag_require )
- {
- stats->nreads_filtered++;
- return;
- }
- if ( stats->flag_filter && (bam_line->core.flag & stats->flag_filter) )
- {
- stats->nreads_filtered++;
- return;
- }
- if ( !is_in_regions(bam_line,stats) )
- return;
- if ( stats->filter_readlen!=-1 && bam_line->core.l_qseq!=stats->filter_readlen )
- return;
-
- if ( bam_line->core.flag & BAM_FQCFAIL ) stats->nreads_QCfailed++;
- if ( bam_line->core.flag & BAM_FSECONDARY ) stats->nreads_secondary++;
-
- int seq_len = bam_line->core.l_qseq;
- if ( !seq_len ) return;
-
- if ( seq_len >= stats->nbases )
- realloc_buffers(stats,seq_len);
- if ( stats->max_len<seq_len )
- stats->max_len = seq_len;
-
- stats->read_lengths[seq_len]++;
-
- // Count GC and ACGT per cycle
- uint8_t base, *seq = bam1_seq(bam_line);
- int gc_count = 0;
- int i;
- int reverse = IS_REVERSE(bam_line);
- for (i=0; i<seq_len; i++)
- {
- // Conversion from uint8_t coding to ACGT
- // -12-4---8-------
- // =ACMGRSVTWYHKDBN
- // 01 2 3
- base = bam1_seqi(seq,i);
- base /= 2;
- if ( base==1 || base==2 ) gc_count++;
- else if ( base>2 ) base=3;
- if ( 4*(reverse ? seq_len-i-1 : i) + base >= stats->nbases*4 )
- error("FIXME: acgt_cycles\n");
- stats->acgt_cycles[ 4*(reverse ? seq_len-i-1 : i) + base ]++;
- }
- int gc_idx_min = gc_count*(stats->ngc-1)/seq_len;
- int gc_idx_max = (gc_count+1)*(stats->ngc-1)/seq_len;
- if ( gc_idx_max >= stats->ngc ) gc_idx_max = stats->ngc - 1;
-
- // Determine which array (1st or 2nd read) will these stats go to,
- // trim low quality bases from end the same way BWA does,
- // fill GC histogram
- uint64_t *quals;
- uint8_t *bam_quals = bam1_qual(bam_line);
- if ( bam_line->core.flag&BAM_FREAD2 )
- {
- quals = stats->quals_2nd;
- stats->nreads_2nd++;
- for (i=gc_idx_min; i<gc_idx_max; i++)
- stats->gc_2nd[i]++;
- }
- else
- {
- quals = stats->quals_1st;
- stats->nreads_1st++;
- for (i=gc_idx_min; i<gc_idx_max; i++)
- stats->gc_1st[i]++;
- }
- if ( stats->trim_qual>0 )
- stats->nbases_trimmed += bwa_trim_read(stats->trim_qual, bam_quals, seq_len, reverse);
-
- // Quality histogram and average quality
- for (i=0; i<seq_len; i++)
- {
- uint8_t qual = bam_quals[ reverse ? seq_len-i-1 : i];
- if ( qual>=stats->nquals )
- error("TODO: quality too high %d>=%d (%s %d %s)\n", qual,stats->nquals,stats->sam->header->target_name[bam_line->core.tid],bam_line->core.pos+1,bam1_qname(bam_line));
- if ( qual>stats->max_qual )
- stats->max_qual = qual;
-
- quals[ i*stats->nquals+qual ]++;
- stats->sum_qual += qual;
- }
-
- // Look at the flags and increment appropriate counters (mapped, paired, etc)
- if ( IS_UNMAPPED(bam_line) )
- stats->nreads_unmapped++;
- else
- {
- if ( !bam_line->core.qual )
- stats->nreads_mq0++;
-
- count_indels(stats,bam_line);
-
- if ( !IS_PAIRED(bam_line) )
- stats->nreads_unpaired++;
- else
- {
- stats->nreads_paired++;
-
- if ( bam_line->core.tid!=bam_line->core.mtid )
- stats->nreads_anomalous++;
-
- // The insert size is tricky, because for long inserts the libraries are
- // prepared differently and the pairs point in other direction. BWA does
- // not set the paired flag for them. Similar thing is true also for 454
- // reads. Mates mapped to different chromosomes have isize==0.
- int32_t isize = bam_line->core.isize;
- if ( isize<0 ) isize = -isize;
- if ( isize >= stats->nisize )
- isize = stats->nisize-1;
- if ( isize>0 || bam_line->core.tid==bam_line->core.mtid )
- {
- int pos_fst = bam_line->core.mpos - bam_line->core.pos;
- int is_fst = IS_READ1(bam_line) ? 1 : -1;
- int is_fwd = IS_REVERSE(bam_line) ? -1 : 1;
- int is_mfwd = IS_MATE_REVERSE(bam_line) ? -1 : 1;
-
- if ( is_fwd*is_mfwd>0 )
- stats->isize_other[isize]++;
- else if ( is_fst*pos_fst>0 )
- {
- if ( is_fst*is_fwd>0 )
- stats->isize_inward[isize]++;
- else
- stats->isize_outward[isize]++;
- }
- else if ( is_fst*pos_fst<0 )
- {
- if ( is_fst*is_fwd>0 )
- stats->isize_outward[isize]++;
- else
- stats->isize_inward[isize]++;
- }
- }
- }
-
- // Number of mismatches
- uint8_t *nm = bam_aux_get(bam_line,"NM");
- if (nm)
- stats->nmismatches += bam_aux2i(nm);
-
- // Number of mapped bases from cigar
- // Conversion from uint32_t to MIDNSHP
- // 012-4--
- // MIDNSHP
- if ( bam_line->core.n_cigar == 0)
- error("FIXME: mapped read with no cigar?\n");
- int readlen=seq_len;
- if ( stats->regions )
- {
- // Count only on-target bases
- int iref = bam_line->core.pos + 1;
- for (i=0; i<bam_line->core.n_cigar; i++)
- {
- int cig = bam1_cigar(bam_line)[i]&BAM_CIGAR_MASK;
- int ncig = bam1_cigar(bam_line)[i]>>BAM_CIGAR_SHIFT;
- if ( cig==2 ) readlen += ncig;
- else if ( cig==0 )
- {
- if ( iref < stats->reg_from ) ncig -= stats->reg_from-iref;
- else if ( iref+ncig-1 > stats->reg_to ) ncig -= iref+ncig-1 - stats->reg_to;
- if ( ncig<0 ) ncig = 0;
- stats->nbases_mapped_cigar += ncig;
- iref += bam1_cigar(bam_line)[i]>>BAM_CIGAR_SHIFT;
- }
- else if ( cig==1 )
- {
- iref += ncig;
- if ( iref>=stats->reg_from && iref<=stats->reg_to )
- stats->nbases_mapped_cigar += ncig;
- }
- }
- }
- else
- {
- // Count the whole read
- for (i=0; i<bam_line->core.n_cigar; i++)
- {
- if ( (bam1_cigar(bam_line)[i]&BAM_CIGAR_MASK)==0 || (bam1_cigar(bam_line)[i]&BAM_CIGAR_MASK)==1 )
- stats->nbases_mapped_cigar += bam1_cigar(bam_line)[i]>>BAM_CIGAR_SHIFT;
- if ( (bam1_cigar(bam_line)[i]&BAM_CIGAR_MASK)==2 )
- readlen += bam1_cigar(bam_line)[i]>>BAM_CIGAR_SHIFT;
- }
- }
- stats->nbases_mapped += seq_len;
-
- if ( stats->tid==bam_line->core.tid && bam_line->core.pos<stats->pos )
- stats->is_sorted = 0;
- stats->pos = bam_line->core.pos;
-
- if ( stats->is_sorted )
- {
- if ( stats->tid==-1 || stats->tid!=bam_line->core.tid )
- round_buffer_flush(stats,-1);
-
- // Mismatches per cycle and GC-depth graph. For simplicity, reads overlapping GCD bins
- // are not splitted which results in up to seq_len-1 overlaps. The default bin size is
- // 20kbp, so the effect is negligible.
- if ( stats->fai )
- {
- int inc_ref = 0, inc_gcd = 0;
- // First pass or new chromosome
- if ( stats->rseq_pos==-1 || stats->tid != bam_line->core.tid ) { inc_ref=1; inc_gcd=1; }
- // Read goes beyond the end of the rseq buffer
- else if ( stats->rseq_pos+stats->nrseq_buf < bam_line->core.pos+readlen ) { inc_ref=1; inc_gcd=1; }
- // Read overlaps the next gcd bin
- else if ( stats->gcd_pos+stats->gcd_bin_size < bam_line->core.pos+readlen )
- {
- inc_gcd = 1;
- if ( stats->rseq_pos+stats->nrseq_buf < bam_line->core.pos+stats->gcd_bin_size ) inc_ref = 1;
- }
- if ( inc_gcd )
- {
- stats->igcd++;
- if ( stats->igcd >= stats->ngcd )
- realloc_gcd_buffer(stats, readlen);
- if ( inc_ref )
- read_ref_seq(stats,bam_line->core.tid,bam_line->core.pos);
- stats->gcd_pos = bam_line->core.pos;
- stats->gcd[ stats->igcd ].gc = fai_gc_content(stats, stats->gcd_pos, stats->gcd_bin_size);
- }
-
- count_mismatches_per_cycle(stats,bam_line);
- }
- // No reference and first pass, new chromosome or sequence going beyond the end of the gcd bin
- else if ( stats->gcd_pos==-1 || stats->tid != bam_line->core.tid || bam_line->core.pos - stats->gcd_pos > stats->gcd_bin_size )
- {
- // First pass or a new chromosome
- stats->tid = bam_line->core.tid;
- stats->gcd_pos = bam_line->core.pos;
- stats->igcd++;
- if ( stats->igcd >= stats->ngcd )
- realloc_gcd_buffer(stats, readlen);
- }
- stats->gcd[ stats->igcd ].depth++;
- // When no reference sequence is given, approximate the GC from the read (much shorter window, but otherwise OK)
- if ( !stats->fai )
- stats->gcd[ stats->igcd ].gc += (float) gc_count / seq_len;
-
- // Coverage distribution graph
- round_buffer_flush(stats,bam_line->core.pos);
- round_buffer_insert_read(&(stats->cov_rbuf),bam_line->core.pos,bam_line->core.pos+seq_len-1);
- }
- }
-
- stats->total_len += seq_len;
- if ( IS_DUP(bam_line) )
- {
- stats->total_len_dup += seq_len;
- stats->nreads_dup++;
- }
-}
-
-// Sort by GC and depth
-#define GCD_t(x) ((gc_depth_t *)x)
-static int gcd_cmp(const void *a, const void *b)
-{
- if ( GCD_t(a)->gc < GCD_t(b)->gc ) return -1;
- if ( GCD_t(a)->gc > GCD_t(b)->gc ) return 1;
- if ( GCD_t(a)->depth < GCD_t(b)->depth ) return -1;
- if ( GCD_t(a)->depth > GCD_t(b)->depth ) return 1;
- return 0;
-}
-#undef GCD_t
-
-float gcd_percentile(gc_depth_t *gcd, int N, int p)
-{
- float n,d;
- int k;
-
- n = p*(N+1)/100;
- k = n;
- if ( k<=0 )
- return gcd[0].depth;
- if ( k>=N )
- return gcd[N-1].depth;
-
- d = n - k;
- return gcd[k-1].depth + d*(gcd[k].depth - gcd[k-1].depth);
-}
-
-void output_stats(stats_t *stats)
-{
- // Calculate average insert size and standard deviation (from the main bulk data only)
- int isize, ibulk=0;
- uint64_t nisize=0, nisize_inward=0, nisize_outward=0, nisize_other=0;
- for (isize=0; isize<stats->nisize; isize++)
- {
- // Each pair was counted twice
- stats->isize_inward[isize] *= 0.5;
- stats->isize_outward[isize] *= 0.5;
- stats->isize_other[isize] *= 0.5;
-
- nisize_inward += stats->isize_inward[isize];
- nisize_outward += stats->isize_outward[isize];
- nisize_other += stats->isize_other[isize];
- nisize += stats->isize_inward[isize] + stats->isize_outward[isize] + stats->isize_other[isize];
- }
-
- double bulk=0, avg_isize=0, sd_isize=0;
- for (isize=0; isize<stats->nisize; isize++)
- {
- bulk += stats->isize_inward[isize] + stats->isize_outward[isize] + stats->isize_other[isize];
- avg_isize += isize * (stats->isize_inward[isize] + stats->isize_outward[isize] + stats->isize_other[isize]);
-
- if ( bulk/nisize > stats->isize_main_bulk )
- {
- ibulk = isize+1;
- nisize = bulk;
- break;
- }
- }
- avg_isize /= nisize ? nisize : 1;
- for (isize=1; isize<ibulk; isize++)
- sd_isize += (stats->isize_inward[isize] + stats->isize_outward[isize] + stats->isize_other[isize]) * (isize-avg_isize)*(isize-avg_isize) / nisize;
- sd_isize = sqrt(sd_isize);
-
-
- printf("# This file was produced by bamcheck (%s)\n",BAMCHECK_VERSION);
- printf("# The command line was: %s",stats->argv[0]);
- int i;
- for (i=1; i<stats->argc; i++)
- printf(" %s",stats->argv[i]);
- printf("\n");
- printf("# Summary Numbers. Use `grep ^SN | cut -f 2-` to extract this part.\n");
- printf("SN\traw total sequences:\t%ld\n", (long)(stats->nreads_filtered+stats->nreads_1st+stats->nreads_2nd));
- printf("SN\tfiltered sequences:\t%ld\n", (long)stats->nreads_filtered);
- printf("SN\tsequences:\t%ld\n", (long)(stats->nreads_1st+stats->nreads_2nd));
- printf("SN\tis paired:\t%d\n", stats->nreads_1st&&stats->nreads_2nd ? 1 : 0);
- printf("SN\tis sorted:\t%d\n", stats->is_sorted ? 1 : 0);
- printf("SN\t1st fragments:\t%ld\n", (long)stats->nreads_1st);
- printf("SN\tlast fragments:\t%ld\n", (long)stats->nreads_2nd);
- printf("SN\treads mapped:\t%ld\n", (long)(stats->nreads_paired+stats->nreads_unpaired));
- printf("SN\treads unmapped:\t%ld\n", (long)stats->nreads_unmapped);
- printf("SN\treads unpaired:\t%ld\n", (long)stats->nreads_unpaired);
- printf("SN\treads paired:\t%ld\n", (long)stats->nreads_paired);
- printf("SN\treads duplicated:\t%ld\n", (long)stats->nreads_dup);
- printf("SN\treads MQ0:\t%ld\n", (long)stats->nreads_mq0);
- printf("SN\treads QC failed:\t%ld\n", (long)stats->nreads_QCfailed);
- printf("SN\tnon-primary alignments:\t%ld\n", (long)stats->nreads_secondary);
- printf("SN\ttotal length:\t%ld\n", (long)stats->total_len);
- printf("SN\tbases mapped:\t%ld\n", (long)stats->nbases_mapped);
- printf("SN\tbases mapped (cigar):\t%ld\n", (long)stats->nbases_mapped_cigar);
- printf("SN\tbases trimmed:\t%ld\n", (long)stats->nbases_trimmed);
- printf("SN\tbases duplicated:\t%ld\n", (long)stats->total_len_dup);
- printf("SN\tmismatches:\t%ld\n", (long)stats->nmismatches);
- printf("SN\terror rate:\t%e\n", (float)stats->nmismatches/stats->nbases_mapped_cigar);
- float avg_read_length = (stats->nreads_1st+stats->nreads_2nd)?stats->total_len/(stats->nreads_1st+stats->nreads_2nd):0;
- printf("SN\taverage length:\t%.0f\n", avg_read_length);
- printf("SN\tmaximum length:\t%d\n", stats->max_len);
- printf("SN\taverage quality:\t%.1f\n", stats->total_len?stats->sum_qual/stats->total_len:0);
- printf("SN\tinsert size average:\t%.1f\n", avg_isize);
- printf("SN\tinsert size standard deviation:\t%.1f\n", sd_isize);
- printf("SN\tinward oriented pairs:\t%ld\n", (long)nisize_inward);
- printf("SN\toutward oriented pairs:\t%ld\n", (long)nisize_outward);
- printf("SN\tpairs with other orientation:\t%ld\n", (long)nisize_other);
- printf("SN\tpairs on different chromosomes:\t%ld\n", (long)stats->nreads_anomalous/2);
-
- int ibase,iqual;
- if ( stats->max_len<stats->nbases ) stats->max_len++;
- if ( stats->max_qual+1<stats->nquals ) stats->max_qual++;
- printf("# First Fragment Qualitites. Use `grep ^FFQ | cut -f 2-` to extract this part.\n");
- printf("# Columns correspond to qualities and rows to cycles. First column is the cycle number.\n");
- for (ibase=0; ibase<stats->max_len; ibase++)
- {
- printf("FFQ\t%d",ibase+1);
- for (iqual=0; iqual<=stats->max_qual; iqual++)
- {
- printf("\t%ld", (long)stats->quals_1st[ibase*stats->nquals+iqual]);
- }
- printf("\n");
- }
- printf("# Last Fragment Qualitites. Use `grep ^LFQ | cut -f 2-` to extract this part.\n");
- printf("# Columns correspond to qualities and rows to cycles. First column is the cycle number.\n");
- for (ibase=0; ibase<stats->max_len; ibase++)
- {
- printf("LFQ\t%d",ibase+1);
- for (iqual=0; iqual<=stats->max_qual; iqual++)
- {
- printf("\t%ld", (long)stats->quals_2nd[ibase*stats->nquals+iqual]);
- }
- printf("\n");
- }
- if ( stats->mpc_buf )
- {
- printf("# Mismatches per cycle and quality. Use `grep ^MPC | cut -f 2-` to extract this part.\n");
- printf("# Columns correspond to qualities, rows to cycles. First column is the cycle number, second\n");
- printf("# is the number of N's and the rest is the number of mismatches\n");
- for (ibase=0; ibase<stats->max_len; ibase++)
- {
- printf("MPC\t%d",ibase+1);
- for (iqual=0; iqual<=stats->max_qual; iqual++)
- {
- printf("\t%ld", (long)stats->mpc_buf[ibase*stats->nquals+iqual]);
- }
- printf("\n");
- }
- }
- printf("# GC Content of first fragments. Use `grep ^GCF | cut -f 2-` to extract this part.\n");
- int ibase_prev = 0;
- for (ibase=0; ibase<stats->ngc; ibase++)
- {
- if ( stats->gc_1st[ibase]==stats->gc_1st[ibase_prev] ) continue;
- printf("GCF\t%.2f\t%ld\n", (ibase+ibase_prev)*0.5*100./(stats->ngc-1), (long)stats->gc_1st[ibase_prev]);
- ibase_prev = ibase;
- }
- printf("# GC Content of last fragments. Use `grep ^GCL | cut -f 2-` to extract this part.\n");
- ibase_prev = 0;
- for (ibase=0; ibase<stats->ngc; ibase++)
- {
- if ( stats->gc_2nd[ibase]==stats->gc_2nd[ibase_prev] ) continue;
- printf("GCL\t%.2f\t%ld\n", (ibase+ibase_prev)*0.5*100./(stats->ngc-1), (long)stats->gc_2nd[ibase_prev]);
- ibase_prev = ibase;
- }
- printf("# ACGT content per cycle. Use `grep ^GCC | cut -f 2-` to extract this part. The columns are: cycle, and A,C,G,T counts [%%]\n");
- for (ibase=0; ibase<stats->max_len; ibase++)
- {
- uint64_t *ptr = &(stats->acgt_cycles[ibase*4]);
- uint64_t sum = ptr[0]+ptr[1]+ptr[2]+ptr[3];
- if ( ! sum ) continue;
- printf("GCC\t%d\t%.2f\t%.2f\t%.2f\t%.2f\n", ibase,100.*ptr[0]/sum,100.*ptr[1]/sum,100.*ptr[2]/sum,100.*ptr[3]/sum);
- }
- printf("# Insert sizes. Use `grep ^IS | cut -f 2-` to extract this part. The columns are: pairs total, inward oriented pairs, outward oriented pairs, other pairs\n");
- for (isize=0; isize<ibulk; isize++)
- printf("IS\t%d\t%ld\t%ld\t%ld\t%ld\n", isize, (long)(stats->isize_inward[isize]+stats->isize_outward[isize]+stats->isize_other[isize]),
- (long)stats->isize_inward[isize], (long)stats->isize_outward[isize], (long)stats->isize_other[isize]);
-
- printf("# Read lengths. Use `grep ^RL | cut -f 2-` to extract this part. The columns are: read length, count\n");
- int ilen;
- for (ilen=0; ilen<stats->max_len; ilen++)
- {
- if ( stats->read_lengths[ilen]>0 )
- printf("RL\t%d\t%ld\n", ilen, (long)stats->read_lengths[ilen]);
- }
-
- printf("# Indel distribution. Use `grep ^ID | cut -f 2-` to extract this part. The columns are: length, number of insertions, number of deletions\n");
- for (ilen=0; ilen<stats->nindels; ilen++)
- {
- if ( stats->insertions[ilen]>0 || stats->deletions[ilen]>0 )
- printf("ID\t%d\t%ld\t%ld\n", ilen+1, (long)stats->insertions[ilen], (long)stats->deletions[ilen]);
- }
-
- printf("# Indels per cycle. Use `grep ^IC | cut -f 2-` to extract this part. The columns are: cycle, number of insertions (fwd), .. (rev) , number of deletions (fwd), .. (rev)\n");
- for (ilen=0; ilen<=stats->nbases; ilen++)
- {
- // For deletions we print the index of the cycle before the deleted base (1-based) and for insertions
- // the index of the cycle of the first inserted base (also 1-based)
- if ( stats->ins_cycles_1st[ilen]>0 || stats->ins_cycles_2nd[ilen]>0 || stats->del_cycles_1st[ilen]>0 || stats->del_cycles_2nd[ilen]>0 )
- printf("IC\t%d\t%ld\t%ld\t%ld\t%ld\n", ilen+1, (long)stats->ins_cycles_1st[ilen], (long)stats->ins_cycles_2nd[ilen], (long)stats->del_cycles_1st[ilen], (long)stats->del_cycles_2nd[ilen]);
- }
-
- printf("# Coverage distribution. Use `grep ^COV | cut -f 2-` to extract this part.\n");
- if ( stats->cov[0] )
- printf("COV\t[<%d]\t%d\t%ld\n",stats->cov_min,stats->cov_min-1, (long)stats->cov[0]);
- int icov;
- for (icov=1; icov<stats->ncov-1; icov++)
- if ( stats->cov[icov] )
- printf("COV\t[%d-%d]\t%d\t%ld\n",stats->cov_min + (icov-1)*stats->cov_step, stats->cov_min + icov*stats->cov_step-1,stats->cov_min + icov*stats->cov_step-1, (long)stats->cov[icov]);
- if ( stats->cov[stats->ncov-1] )
- printf("COV\t[%d<]\t%d\t%ld\n",stats->cov_min + (stats->ncov-2)*stats->cov_step-1,stats->cov_min + (stats->ncov-2)*stats->cov_step-1, (long)stats->cov[stats->ncov-1]);
-
- // Calculate average GC content, then sort by GC and depth
- printf("# GC-depth. Use `grep ^GCD | cut -f 2-` to extract this part. The columns are: GC%%, unique sequence percentiles, 10th, 25th, 50th, 75th and 90th depth percentile\n");
- uint32_t igcd;
- for (igcd=0; igcd<stats->igcd; igcd++)
- {
- if ( stats->fai )
- stats->gcd[igcd].gc = round(100. * stats->gcd[igcd].gc);
- else
- if ( stats->gcd[igcd].depth )
- stats->gcd[igcd].gc = round(100. * stats->gcd[igcd].gc / stats->gcd[igcd].depth);
- }
- qsort(stats->gcd, stats->igcd+1, sizeof(gc_depth_t), gcd_cmp);
- igcd = 0;
- while ( igcd < stats->igcd )
- {
- // Calculate percentiles (10,25,50,75,90th) for the current GC content and print
- uint32_t nbins=0, itmp=igcd;
- float gc = stats->gcd[igcd].gc;
- while ( itmp<stats->igcd && fabs(stats->gcd[itmp].gc-gc)<0.1 )
- {
- nbins++;
- itmp++;
- }
- printf("GCD\t%.1f\t%.3f\t%.3f\t%.3f\t%.3f\t%.3f\t%.3f\n", gc, (igcd+nbins+1)*100./(stats->igcd+1),
- gcd_percentile(&(stats->gcd[igcd]),nbins,10) *avg_read_length/stats->gcd_bin_size,
- gcd_percentile(&(stats->gcd[igcd]),nbins,25) *avg_read_length/stats->gcd_bin_size,
- gcd_percentile(&(stats->gcd[igcd]),nbins,50) *avg_read_length/stats->gcd_bin_size,
- gcd_percentile(&(stats->gcd[igcd]),nbins,75) *avg_read_length/stats->gcd_bin_size,
- gcd_percentile(&(stats->gcd[igcd]),nbins,90) *avg_read_length/stats->gcd_bin_size
- );
- igcd += nbins;
- }
-}
-
-size_t mygetline(char **line, size_t *n, FILE *fp)
-{
- if (line == NULL || n == NULL || fp == NULL)
- {
- errno = EINVAL;
- return -1;
- }
- if (*n==0 || !*line)
- {
- *line = NULL;
- *n = 0;
- }
-
- size_t nread=0;
- int c;
- while ((c=getc(fp))!= EOF && c!='\n')
- {
- if ( ++nread>=*n )
- {
- *n += 255;
- *line = realloc(*line, sizeof(char)*(*n));
- }
- (*line)[nread-1] = c;
- }
- if ( nread>=*n )
- {
- *n += 255;
- *line = realloc(*line, sizeof(char)*(*n));
- }
- (*line)[nread] = 0;
- return nread>0 ? nread : -1;
-
-}
-
-void init_regions(stats_t *stats, char *file)
-{
- khiter_t iter;
- khash_t(kh_bam_tid) *header_hash;
-
- bam_init_header_hash(stats->sam->header);
- header_hash = (khash_t(kh_bam_tid)*)stats->sam->header->hash;
-
- FILE *fp = fopen(file,"r");
- if ( !fp ) error("%s: %s\n",file,strerror(errno));
-
- char *line = NULL;
- size_t len = 0;
- ssize_t nread;
- int warned = 0;
- int prev_tid=-1, prev_pos=-1;
- while ((nread = mygetline(&line, &len, fp)) != -1)
- {
- if ( line[0] == '#' ) continue;
-
- int i = 0;
- while ( i<nread && !isspace(line[i]) ) i++;
- if ( i>=nread ) error("Could not parse the file: %s [%s]\n", file,line);
- line[i] = 0;
-
- iter = kh_get(kh_bam_tid, header_hash, line);
- int tid = kh_val(header_hash, iter);
- if ( iter == kh_end(header_hash) )
- {
- if ( !warned )
- fprintf(stderr,"Warning: Some sequences not present in the BAM, e.g. \"%s\". This message is printed only once.\n", line);
- warned = 1;
- continue;
- }
-
- if ( tid >= stats->nregions )
- {
- stats->regions = realloc(stats->regions,sizeof(regions_t)*(stats->nregions+100));
- int j;
- for (j=stats->nregions; j<stats->nregions+100; j++)
- {
- stats->regions[j].npos = stats->regions[j].mpos = stats->regions[j].cpos = 0;
- stats->regions[j].pos = NULL;
- }
- stats->nregions += 100;
- }
- int npos = stats->regions[tid].npos;
- if ( npos >= stats->regions[tid].mpos )
- {
- stats->regions[tid].mpos += 1000;
- stats->regions[tid].pos = realloc(stats->regions[tid].pos,sizeof(pos_t)*stats->regions[tid].mpos);
- }
-
- if ( (sscanf(line+i+1,"%d %d",&stats->regions[tid].pos[npos].from,&stats->regions[tid].pos[npos].to))!=2 ) error("Could not parse the region [%s]\n");
- if ( prev_tid==-1 || prev_tid!=tid )
- {
- prev_tid = tid;
- prev_pos = stats->regions[tid].pos[npos].from;
- }
- if ( prev_pos>stats->regions[tid].pos[npos].from )
- error("The positions are not in chromosomal order (%s:%d comes after %d)\n", line,stats->regions[tid].pos[npos].from,prev_pos);
- stats->regions[tid].npos++;
- }
- if (line) free(line);
- if ( !stats->regions ) error("Unable to map the -t sequences to the BAM sequences.\n");
- fclose(fp);
-}
-
-void destroy_regions(stats_t *stats)
-{
- int i;
- for (i=0; i<stats->nregions; i++)
- {
- if ( !stats->regions[i].mpos ) continue;
- free(stats->regions[i].pos);
- }
- if ( stats->regions ) free(stats->regions);
-}
-
-static int fetch_read(const bam1_t *bam_line, void *data)
-{
- collect_stats((bam1_t*)bam_line,(stats_t*)data);
- return 1;
-}
-
-void reset_regions(stats_t *stats)
-{
- int i;
- for (i=0; i<stats->nregions; i++)
- stats->regions[i].cpos = 0;
-}
-
-int is_in_regions(bam1_t *bam_line, stats_t *stats)
-{
- if ( !stats->regions ) return 1;
-
- if ( bam_line->core.tid >= stats->nregions || bam_line->core.tid<0 ) return 0;
- if ( !stats->is_sorted ) error("The BAM must be sorted in order for -t to work.\n");
-
- regions_t *reg = &stats->regions[bam_line->core.tid];
- if ( reg->cpos==reg->npos ) return 0; // done for this chr
-
- // Find a matching interval or skip this read. No splicing of reads is done, no indels or soft clips considered,
- // even small overlap is enough to include the read in the stats.
- int i = reg->cpos;
- while ( i<reg->npos && reg->pos[i].to<=bam_line->core.pos ) i++;
- if ( i>=reg->npos ) { reg->cpos = reg->npos; return 0; }
- if ( bam_line->core.pos + bam_line->core.l_qseq + 1 < reg->pos[i].from ) return 0;
- reg->cpos = i;
- stats->reg_from = reg->pos[i].from;
- stats->reg_to = reg->pos[i].to;
-
- return 1;
-}
-
-void init_group_id(stats_t *stats, char *id)
-{
- if ( !stats->sam->header->dict )
- stats->sam->header->dict = sam_header_parse2(stats->sam->header->text);
- void *iter = stats->sam->header->dict;
- const char *key, *val;
- int n = 0;
- stats->rg_hash = kh_init(kh_rg);
- while ( (iter = sam_header2key_val(iter, "RG","ID","SM", &key, &val)) )
- {
- if ( !strcmp(id,key) || (val && !strcmp(id,val)) )
- {
- khiter_t k = kh_get(kh_rg, stats->rg_hash, key);
- if ( k != kh_end(stats->rg_hash) )
- fprintf(stderr, "[init_group_id] The group ID not unique: \"%s\"\n", key);
- int ret;
- k = kh_put(kh_rg, stats->rg_hash, key, &ret);
- kh_value(stats->rg_hash, k) = val;
- n++;
- }
- }
- if ( !n )
- error("The sample or read group \"%s\" not present.\n", id);
-}
-
-
-void error(const char *format, ...)
-{
- if ( !format )
- {
- printf("Version: %s\n", BAMCHECK_VERSION);
- printf("About: The program collects statistics from BAM files. The output can be visualized using plot-bamcheck.\n");
- printf("Usage: bamcheck [OPTIONS] file.bam\n");
- printf(" bamcheck [OPTIONS] file.bam chr:from-to\n");
- printf("Options:\n");
- printf(" -c, --coverage <int>,<int>,<int> Coverage distribution min,max,step [1,1000,1]\n");
- printf(" -d, --remove-dups Exlude from statistics reads marked as duplicates\n");
- printf(" -f, --required-flag <int> Required flag, 0 for unset [0]\n");
- printf(" -F, --filtering-flag <int> Filtering flag, 0 for unset [0]\n");
- printf(" --GC-depth <float,float> Bin size for GC-depth graph and the maximum reference length [2e4,4.2e9]\n");
- printf(" -h, --help This help message\n");
- printf(" -i, --insert-size <int> Maximum insert size [8000]\n");
- printf(" -I, --id <string> Include only listed read group or sample name\n");
- printf(" -l, --read-length <int> Include in the statistics only reads with the given read length []\n");
- printf(" -m, --most-inserts <float> Report only the main part of inserts [0.99]\n");
- printf(" -q, --trim-quality <int> The BWA trimming parameter [0]\n");
- printf(" -r, --ref-seq <file> Reference sequence (required for GC-depth calculation).\n");
- printf(" -t, --target-regions <file> Do stats in these regions only. Tab-delimited file chr,from,to, 1-based, inclusive.\n");
- printf(" -s, --sam Input is SAM\n");
- printf("\n");
- }
- else
- {
- va_list ap;
- va_start(ap, format);
- vfprintf(stderr, format, ap);
- va_end(ap);
- }
- exit(-1);
-}
-
-int main(int argc, char *argv[])
-{
- char *targets = NULL;
- char *bam_fname = NULL;
- char *group_id = NULL;
- samfile_t *sam = NULL;
- char in_mode[5];
-
- stats_t *stats = calloc(1,sizeof(stats_t));
- stats->ngc = 200;
- stats->nquals = 256;
- stats->nbases = 300;
- stats->nisize = 8000;
- stats->max_len = 30;
- stats->max_qual = 40;
- stats->isize_main_bulk = 0.99; // There are always outliers at the far end
- stats->gcd_bin_size = 20e3;
- stats->gcd_ref_size = 4.2e9;
- stats->rseq_pos = -1;
- stats->tid = stats->gcd_pos = -1;
- stats->igcd = 0;
- stats->is_sorted = 1;
- stats->cov_min = 1;
- stats->cov_max = 1000;
- stats->cov_step = 1;
- stats->argc = argc;
- stats->argv = argv;
- stats->filter_readlen = -1;
- stats->nindels = stats->nbases;
-
- strcpy(in_mode, "rb");
-
- static struct option loptions[] =
- {
- {"help",0,0,'h'},
- {"remove-dups",0,0,'d'},
- {"sam",0,0,'s'},
- {"ref-seq",1,0,'r'},
- {"coverage",1,0,'c'},
- {"read-length",1,0,'l'},
- {"insert-size",1,0,'i'},
- {"most-inserts",1,0,'m'},
- {"trim-quality",1,0,'q'},
- {"target-regions",0,0,'t'},
- {"required-flag",1,0,'f'},
- {"filtering-flag",0,0,'F'},
- {"id",1,0,'I'},
- {"GC-depth",1,0,1},
- {0,0,0,0}
- };
- int opt;
- while ( (opt=getopt_long(argc,argv,"?hdsr:c:l:i:t:m:q:f:F:I:1:",loptions,NULL))>0 )
- {
- switch (opt)
- {
- case 'f': stats->flag_require=strtol(optarg,0,0); break;
- case 'F': stats->flag_filter=strtol(optarg,0,0); break;
- case 'd': stats->flag_filter|=BAM_FDUP; break;
- case 's': strcpy(in_mode, "r"); break;
- case 'r': stats->fai = fai_load(optarg);
- if (stats->fai==0)
- error("Could not load faidx: %s\n", optarg);
- break;
- case 1 : {
- float flen,fbin;
- if ( sscanf(optarg,"%f,%f",&fbin,&flen)!= 2 )
- error("Unable to parse --GC-depth %s\n", optarg);
- stats->gcd_bin_size = fbin;
- stats->gcd_ref_size = flen;
- }
- break;
- case 'c': if ( sscanf(optarg,"%d,%d,%d",&stats->cov_min,&stats->cov_max,&stats->cov_step)!= 3 )
- error("Unable to parse -c %s\n", optarg);
- break;
- case 'l': stats->filter_readlen = atoi(optarg); break;
- case 'i': stats->nisize = atoi(optarg); break;
- case 'm': stats->isize_main_bulk = atof(optarg); break;
- case 'q': stats->trim_qual = atoi(optarg); break;
- case 't': targets = optarg; break;
- case 'I': group_id = optarg; break;
- case '?':
- case 'h': error(NULL);
- default: error("Unknown argument: %s\n", optarg);
- }
- }
- if ( optind<argc )
- bam_fname = argv[optind++];
-
- if ( !bam_fname )
- {
- if ( isatty(fileno((FILE *)stdin)) )
- error(NULL);
- bam_fname = "-";
- }
-
- // Init structures
- // .. coverage bins and round buffer
- if ( stats->cov_step > stats->cov_max - stats->cov_min + 1 )
- {
- stats->cov_step = stats->cov_max - stats->cov_min;
- if ( stats->cov_step <= 0 )
- stats->cov_step = 1;
- }
- stats->ncov = 3 + (stats->cov_max-stats->cov_min) / stats->cov_step;
- stats->cov_max = stats->cov_min + ((stats->cov_max-stats->cov_min)/stats->cov_step +1)*stats->cov_step - 1;
- stats->cov = calloc(sizeof(uint64_t),stats->ncov);
- stats->cov_rbuf.size = stats->nbases*5;
- stats->cov_rbuf.buffer = calloc(sizeof(int32_t),stats->cov_rbuf.size);
- // .. bam
- if ((sam = samopen(bam_fname, in_mode, NULL)) == 0)
- error("Failed to open: %s\n", bam_fname);
- stats->sam = sam;
- if ( group_id ) init_group_id(stats, group_id);
- bam1_t *bam_line = bam_init1();
- // .. arrays
- stats->quals_1st = calloc(stats->nquals*stats->nbases,sizeof(uint64_t));
- stats->quals_2nd = calloc(stats->nquals*stats->nbases,sizeof(uint64_t));
- stats->gc_1st = calloc(stats->ngc,sizeof(uint64_t));
- stats->gc_2nd = calloc(stats->ngc,sizeof(uint64_t));
- stats->isize_inward = calloc(stats->nisize,sizeof(uint64_t));
- stats->isize_outward = calloc(stats->nisize,sizeof(uint64_t));
- stats->isize_other = calloc(stats->nisize,sizeof(uint64_t));
- stats->gcd = calloc(stats->ngcd,sizeof(gc_depth_t));
- stats->mpc_buf = stats->fai ? calloc(stats->nquals*stats->nbases,sizeof(uint64_t)) : NULL;
- stats->acgt_cycles = calloc(4*stats->nbases,sizeof(uint64_t));
- stats->read_lengths = calloc(stats->nbases,sizeof(uint64_t));
- stats->insertions = calloc(stats->nbases,sizeof(uint64_t));
- stats->deletions = calloc(stats->nbases,sizeof(uint64_t));
- stats->ins_cycles_1st = calloc(stats->nbases+1,sizeof(uint64_t));
- stats->ins_cycles_2nd = calloc(stats->nbases+1,sizeof(uint64_t));
- stats->del_cycles_1st = calloc(stats->nbases+1,sizeof(uint64_t));
- stats->del_cycles_2nd = calloc(stats->nbases+1,sizeof(uint64_t));
- realloc_rseq_buffer(stats);
- if ( targets )
- init_regions(stats, targets);
-
- // Collect statistics
- if ( optind<argc )
- {
- // Collect stats in selected regions only
- bam_index_t *bam_idx = bam_index_load(bam_fname);
- if (bam_idx == 0)
- error("Random alignment retrieval only works for indexed BAM files.\n");
-
- int i;
- for (i=optind; i<argc; i++)
- {
- int tid, beg, end;
- bam_parse_region(stats->sam->header, argv[i], &tid, &beg, &end);
- if ( tid < 0 ) continue;
- reset_regions(stats);
- bam_fetch(stats->sam->x.bam, bam_idx, tid, beg, end, stats, fetch_read);
- }
- bam_index_destroy(bam_idx);
- }
- else
- {
- // Stream through the entire BAM ignoring off-target regions if -t is given
- while (samread(sam,bam_line) >= 0)
- collect_stats(bam_line,stats);
- }
- round_buffer_flush(stats,-1);
-
- output_stats(stats);
-
- bam_destroy1(bam_line);
- samclose(stats->sam);
- if (stats->fai) fai_destroy(stats->fai);
- free(stats->cov_rbuf.buffer); free(stats->cov);
- free(stats->quals_1st); free(stats->quals_2nd);
- free(stats->gc_1st); free(stats->gc_2nd);
- free(stats->isize_inward); free(stats->isize_outward); free(stats->isize_other);
- free(stats->gcd);
- free(stats->rseq_buf);
- free(stats->mpc_buf);
- free(stats->acgt_cycles);
- free(stats->read_lengths);
- free(stats->insertions);
- free(stats->deletions);
- free(stats->ins_cycles_1st);
- free(stats->ins_cycles_2nd);
- free(stats->del_cycles_1st);
- free(stats->del_cycles_2nd);
- destroy_regions(stats);
- free(stats);
- if ( stats->rg_hash ) kh_destroy(kh_rg, stats->rg_hash);
-
- return 0;
-}
-
-
-
diff --git a/sam/misc/blast2sam.pl b/sam/misc/blast2sam.pl
deleted file mode 100755
index 084f018..0000000
--- a/sam/misc/blast2sam.pl
+++ /dev/null
@@ -1,92 +0,0 @@
-#!/usr/bin/perl -w
-
-use strict;
-use warnings;
-use Getopt::Std;
-
-&blast2sam;
-
-sub blast2sam {
- my %opts = ();
- getopts('s', \%opts);
- die("Usage: blast2sam.pl <in.blastn>\n") if (-t STDIN && @ARGV == 0);
- my ($qlen, $slen, $q, $s, $qbeg, $qend, @sam, @cigar, @cmaux, $show_seq);
- $show_seq = defined($opts{s});
- @sam = (); @sam[0,4,6..8,10] = ('', 255, '*', 0, 0, '*');
- while (<>) {
- if (@cigar && (/^Query=/ || /Score =.*bits.*Expect/)) { # print
- &blast_print_sam(\@sam, \@cigar, \@cmaux, $qlen - $qend);
- @cigar = ();
- }
- if (/^Query= (\S+)/) {
- $sam[0] = $1;
- } elsif (/\((\S+)\s+letters\)/) {
- $qlen = $1; $qlen =~ s/,//g;
- } elsif (/^>(\S+)/) {
- $sam[2] = $1;
- } elsif (/Length = (\d+)/) {
- $slen = $1;
- } elsif (/Score =\s+(\S+) bits.+Expect(\(\d+\))? = (\S+)/) { # the start of an alignment block
- my ($as, $ev) = (int($1 + .499), $3);
- $ev = "1$ev" if ($ev =~ /^e/);
- @sam[1,3,9,11,12] = (0, 0, '', "AS:i:$as", "EV:Z:$ev");
- @cigar = (); $qbeg = 0;
- @cmaux = (0, 0, 0, '');
- } elsif (/Strand = (\S+) \/ (\S+)/) {
- $sam[1] |= 0x10 if ($2 eq 'Minus');
- } elsif (/Query\:\s(\d+)\s*(\S+)\s(\d+)/) {
- $q = $2;
- unless ($qbeg) {
- $qbeg = $1;
- push(@cigar, ($1-1) . "H") if ($1 > 1);
- }
- $qend = $3;
- if ($show_seq) {
- my $x = $q;
- $x =~ s/-//g; $sam[9] .= $x;
- }
- } elsif (/Sbjct\:\s(\d+)\s*(\S+)\s(\d+)/) {
- $s = $2;
- if ($sam[1] & 0x10) {
- $sam[3] = $3;
- } else {
- $sam[3] = $1 unless ($sam[3]);
- }
- &aln2cm(\@cigar, \$q, \$s, \@cmaux);
- }
- }
- &blast_print_sam(\@sam, \@cigar, \@cmaux, $qlen - $qend);
-}
-
-sub blast_print_sam {
- my ($sam, $cigar, $cmaux, $qrest) = @_;
- push(@$cigar, $cmaux->[1] . substr("MDI", $cmaux->[0], 1));
- push(@$cigar, $qrest . 'H') if ($qrest);
- if ($sam->[1] & 0x10) {
- @$cigar = reverse(@$cigar);
- $sam->[9] = reverse($sam->[9]);
- $sam->[9] =~ tr/atgcrymkswATGCRYMKSW/tacgyrkmswTACGYRKMSW/;
- }
- $sam->[9] = '*' if (!$sam->[9]);
- $sam->[5] = join('', @$cigar);
- print join("\t", @$sam), "\n";
-}
-
-sub aln2cm {
- my ($cigar, $q, $s, $cmaux) = @_;
- my $l = length($$q);
- for (my $i = 0; $i < $l; ++$i) {
- my $op;
- # set $op
- if (substr($$q, $i, 1) eq '-') { $op = 2; }
- elsif (substr($$s, $i, 1) eq '-') { $op = 1; }
- else { $op = 0; }
- # for CIGAR
- if ($cmaux->[0] == $op) {
- ++$cmaux->[1];
- } else {
- push(@$cigar, $cmaux->[1] . substr("MDI", $cmaux->[0], 1));
- $cmaux->[0] = $op; $cmaux->[1] = 1;
- }
- }
-}
diff --git a/sam/misc/bowtie2sam.pl b/sam/misc/bowtie2sam.pl
deleted file mode 100755
index 5dff88d..0000000
--- a/sam/misc/bowtie2sam.pl
+++ /dev/null
@@ -1,92 +0,0 @@
-#!/usr/bin/perl -w
-
-# Contact: lh3
-# Version: 0.1.1
-
-use strict;
-use warnings;
-use Getopt::Std;
-
-&bowtie2sam;
-exit;
-
-sub bowtie2sam {
- my %opts = ();
- die("Usage: bowtie2sam.pl <aln.bowtie>\n") if (@ARGV == 0 && -t STDIN);
- # core loop
- my (@s, $last, @staging, $k, $best_s, $subbest_s, $best_k);
- $last = '';
- while (<>) {
- my ($name, $nm) = &bowtie2sam_aux($_, \@s); # read_name, number of mismatches
- if ($name eq $last) {
- # I do not know whether the multiple hits are ordered on the
- # number of mismatches. I assume they are not and so I have to
- # keep all these multiple hits in memory.
- @{$staging[$k]} = @s;
- if ($best_s > $nm) {
- $subbest_s = $best_s;
- $best_s = $nm;
- $best_k = $k;
- } elsif ($subbest_s > $nm) {
- $subbest_s = $nm;
- }
- ++$k;
- } else {
- if ($last) {
- if ($best_s == $subbest_s) {
- $staging[$best_k][4] = 0;
- } elsif ($subbest_s - $best_s == 1) {
- $staging[$best_k][4] = 15 if ($staging[$best_k][4] > 15);
- }
- print join("\t", @{$staging[$best_k]}), "\n";
- }
- $k = 1; $best_s = $nm; $subbest_s = 1000; $best_k = 0;
- @{$staging[0]} = @s;
- $last = $name;
- }
- }
- print join("\t", @{$staging[$best_k]}), "\n" if ($best_k >= 0);
-}
-
-sub bowtie2sam_aux {
- my ($line, $s) = @_;
- chomp($line);
- my @t = split("\t", $line);
- my $ret;
- @$s = ();
- # read name
- $s->[0] = $ret = $t[0];
- $s->[0] =~ s/\/[12]$//g;
- # initial flag (will be updated later)
- $s->[1] = 0;
- # read & quality
- $s->[9] = $t[4]; $s->[10] = $t[5];
- # cigar
- $s->[5] = length($s->[9]) . "M";
- # coor
- $s->[2] = $t[2]; $s->[3] = $t[3] + 1;
- $s->[1] |= 0x10 if ($t[1] eq '-');
- # mapQ
- $s->[4] = $t[6] == 0? 25 : 0;
- # mate coordinate
- $s->[6] = '*'; $s->[7] = $s->[8] = 0;
- # aux
- my $nm = @t - 7;
- push(@$s, "NM:i:" . (@t-7));
- push(@$s, "X$nm:i:" . ($t[6]+1));
- my $md = '';
- if ($t[7]) {
- $_ = $t[7];
- my $a = 0;
- while (/(\d+):[ACGTN]>([ACGTN])/gi) {
- my ($y, $z) = ($1, $2);
- $md .= (int($y)-$a) . $z;
- $a += $y - $a + 1;
- }
- $md .= length($s->[9]) - $a;
- } else {
- $md = length($s->[9]);
- }
- push(@$s, "MD:Z:$md");
- return ($ret, $nm);
-}
diff --git a/sam/misc/export2sam.pl b/sam/misc/export2sam.pl
deleted file mode 100755
index ec6dacf..0000000
--- a/sam/misc/export2sam.pl
+++ /dev/null
@@ -1,545 +0,0 @@
-#!/usr/bin/env perl
-#
-#
-# export2sam.pl converts GERALD export files to SAM format.
-#
-#
-#
-########## License:
-#
-# The MIT License
-#
-# Original SAMtools work copyright (c) 2008-2009 Genome Research Ltd.
-# Modified SAMtools work copyright (c) 2010 Illumina, Inc.
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to deal
-# in the Software without restriction, including without limitation the rights
-# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-# copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-# THE SOFTWARE.
-#
-#
-#
-#
-########## ChangeLog:
-#
-# Version: 2.3.1 (18MAR2011)
-#
-# - Restore file '-' as stdin input.
-#
-# Version: 2.3.0 (24JAN2011)
-#
-# - Add support for export reserved chromosome name "CONTROL",
-# which is translated to optional field "XC:Z:CONTROL".
-# - Check for ".gz" file extension on export files and open
-# these as gzip pipes when the extension is found.
-#
-# Version: 2.2.0 (16NOV2010)
-#
-# - Remove any leading zeros in export fields: RUNNO,LANE,TILE,X,Y
-# - For export records with reserved chromosome name identifiers
-# "QC" and "RM", add the optional field "XC:Z:QC" or "XC:Z:RM"
-# to the SAM record, so that these cases can be distinguished
-# from other unmatched reads.
-#
-# Version: 2.1.0 (21SEP2010)
-#
-# - Additional export record error checking.
-# - Convert export records with chromomsome value of "RM" to unmapped
-# SAM records.
-#
-# Version: 2.0.0 (15FEB2010)
-#
-# Script updated by Illumina in conjunction with CASAVA 1.7.0
-# release.
-#
-# Major changes are as follows:
-# - The CIGAR string has been updated to include all gaps from
-# ELANDv2 alignments.
-# - The ELAND single read alignment score is always stored in the
-# optional "SM" field and the ELAND paired read alignment score
-# is stored in the optional "AS" field when it exists.
-# - The MAPQ value is set to the higher of the two alignment scores,
-# but no greater than 254, i.e. min(254,max(SM,AS))
-# - The SAM "proper pair" bit (0x0002) is now set for read pairs
-# meeting ELAND's expected orientation and insert size criteria.
-# - The default quality score translation is set for export files
-# which contain Phread+64 quality values. An option,
-# "--qlogodds", has been added to translate quality values from
-# the Solexa+64 format used in export files prior to Pipeline
-# 1.3
-# - The export match descriptor is now reverse-complemented when
-# necessary such that it always corresponds to the forward
-# strand of the reference, to be consistent with other
-# information in the SAM record. It is now written to the
-# optional 'XD' field (rather than 'MD') to acknowledge its
-# minor differences from the samtools match descriptor (see
-# additional detail below).
-# - An option, "--nofilter", has been added to include reads which
-# have failed primary analysis quality filtration. Such reads
-# will have the corresponding SAM flag bit (0x0200) set.
-# - Labels in the export 'contig' field are preserved by setting
-# RNAME to "$export_chromosome/$export_contig" when the contig
-# label exists.
-#
-#
-# Contact: lh3
-# Version: 0.1.2 (03JAN2009)
-#
-#
-#
-########## Known Conversion Limitations:
-#
-# - Export records for reads that map to a position < 1 (allowed
-# in export format), are converted to unmapped reads in the SAM
-# record.
-# - Export records contain the reserved chromosome names: "NM",
-# "QC","RM" and "CONTROL". "NM" indicates that the aligner could
-# not map the read to the reference sequence set. "QC" means that
-# the aligner did not attempt to map the read due to some
-# technical limitation. "RM" means that the read mapped to a set
-# of 'contaminant' sequences specified in GERALD's RNA-seq
-# workflow. "CONTROL" means that the read is a control. All of
-# these alignment types are collapsed to the single unmapped
-# alignment state in the SAM record, but the optional SAM "XC"
-# field is used to record the original reserved chromosome name of
-# the read for all but the "NM" case.
-# - The export match descriptor is slightly different than the
-# samtools match descriptor. For this reason it is stored in the
-# optional SAM field 'XD' (and not 'MD'). Note that the export
-# match descriptor differs from the samtools version in two
-# respects: (1) indels are explicitly closed with the '$'
-# character and (2) insertions must be enumerated in the match
-# descriptor. For example a 35-base read with a two-base insertion
-# is described as: 20^2$14
-#
-#
-#
-
-my $version = "2.3.1";
-
-use strict;
-use warnings;
-
-use Getopt::Long;
-use File::Spec;
-use List::Util qw(min max);
-
-
-use constant {
- EXPORT_MACHINE => 0,
- EXPORT_RUNNO => 1,
- EXPORT_LANE => 2,
- EXPORT_TILE => 3,
- EXPORT_X => 4,
- EXPORT_Y => 5,
- EXPORT_INDEX => 6,
- EXPORT_READNO => 7,
- EXPORT_READ => 8,
- EXPORT_QUAL => 9,
- EXPORT_CHROM => 10,
- EXPORT_CONTIG => 11,
- EXPORT_POS => 12,
- EXPORT_STRAND => 13,
- EXPORT_MD => 14,
- EXPORT_SEMAP => 15,
- EXPORT_PEMAP => 16,
- EXPORT_PASSFILT => 21,
- EXPORT_SIZE => 22,
-};
-
-
-use constant {
- SAM_QNAME => 0,
- SAM_FLAG => 1,
- SAM_RNAME => 2,
- SAM_POS => 3,
- SAM_MAPQ => 4,
- SAM_CIGAR => 5,
- SAM_MRNM => 6,
- SAM_MPOS => 7,
- SAM_ISIZE => 8,
- SAM_SEQ => 9,
- SAM_QUAL => 10,
-};
-
-
-# function prototypes for Richard's code
-sub match_desc_to_cigar($);
-sub match_desc_frag_length($);
-sub reverse_compl_match_descriptor($);
-sub write_header($;$;$);
-
-
-&export2sam;
-exit;
-
-
-
-
-sub export2sam {
-
- my $cmdline = $0 . " " . join(" ", at ARGV);
- my $arg_count = scalar @ARGV;
- my $progname = (File::Spec->splitpath($0))[2];
-
- my $is_logodds_qvals = 0; # if true, assume files contain logodds (i.e. "solexa") quality values
- my $is_nofilter = 0;
- my $read1file;
- my $read2file;
- my $print_version = 0;
- my $help = 0;
-
- my $result = GetOptions( "qlogodds" => \$is_logodds_qvals,
- "nofilter" => \$is_nofilter,
- "read1=s" => \$read1file,
- "read2=s" => \$read2file,
- "version" => \$print_version,
- "help" => \$help );
-
- my $usage = <<END;
-
-$progname converts GERALD export files to SAM format.
-
-Usage: $progname --read1=FILENAME [ options ] | --version | --help
-
- --read1=FILENAME read1 export file or '-' for stdin (mandatory)
- (file may be gzipped with ".gz" extension)
- --read2=FILENAME read2 export file or '-' for stdin
- (file may be gzipped with ".gz" extension)
- --nofilter include reads that failed the basecaller
- purity filter
- --qlogodds assume export file(s) use logodds quality values
- as reported by OLB (Pipeline) prior to v1.3
- (default: phred quality values)
-
-END
-
- my $version_msg = <<END;
-
-$progname version: $version
-
-END
-
- if((not $result) or $help or ($arg_count==0)) {
- die($usage);
- }
-
- if(@ARGV) {
- print STDERR "\nERROR: Unrecognized arguments: " . join(" ", at ARGV) . "\n\n";
- die($usage);
- }
-
- if($print_version) {
- die($version_msg);
- }
-
- if(not defined($read1file)) {
- print STDERR "\nERROR: read1 export file must be specified\n\n";
- die($usage);
- }
-
- unless((-f $read1file) or ($read1file eq '-')) {
- die("\nERROR: Can't find read1 export file: '$read1file'\n\n");
- }
-
- if (defined $read2file) {
- unless((-f $read2file) or ($read2file eq '-')) {
- die("\nERROR: Can't find read2 export file: '$read2file'\n\n");
- }
- if($read1file eq $read2file) {
- die("\nERROR: read1 and read2 export filenames are the same: '$read1file'\n\n");
- }
- }
-
- my ($fh1, $fh2, $is_paired);
-
- my $read1cmd="$read1file";
- $read1cmd = "gzip -dc $read1file |" if($read1file =~ /\.gz$/);
- open($fh1, $read1cmd)
- or die("\nERROR: Can't open read1 process: '$read1cmd'\n\n");
- $is_paired = defined $read2file;
- if ($is_paired) {
- my $read2cmd="$read2file";
- $read2cmd = "gzip -dc $read2file |" if($read2file =~ /\.gz$/);
- open($fh2, $read2cmd)
- or die("\nERROR: Can't open read2 process: '$read2cmd'\n\n");
- }
- # quality value conversion table
- my @conv_table;
- if($is_logodds_qvals){ # convert from solexa+64 quality values (pipeline pre-v1.3):
- for (-64..64) {
- $conv_table[$_+64] = int(33 + 10*log(1+10**($_/10.0))/log(10)+.499);
- }
- } else { # convert from phred+64 quality values (pipeline v1.3+):
- for (-64..-1) {
- $conv_table[$_+64] = undef;
- }
- for (0..64) {
- $conv_table[$_+64] = int(33 + $_);
- }
- }
- # write the header
- print write_header( $progname, $version, $cmdline );
- # core loop
- my $export_line_count = 0;
- while (<$fh1>) {
- $export_line_count++;
- my (@s1, @s2);
- &export2sam_aux($_, $export_line_count, \@s1, \@conv_table, $is_paired, 1, $is_nofilter);
- if ($is_paired) {
- my $read2line = <$fh2>;
- if(not $read2line){
- die("\nERROR: read1 and read2 export files do not contain the same number of reads.\n Extra reads observed in read1 file at line no: $export_line_count.\n\n");
- }
- &export2sam_aux($read2line, $export_line_count, \@s2, \@conv_table, $is_paired, 2, $is_nofilter);
-
- if (@s1 && @s2) { # then set mate coordinate
- if($s1[SAM_QNAME] ne $s2[SAM_QNAME]){
- die("\nERROR: Non-paired reads in export files on line: $export_line_count.\n Read1: $_ Read2: $read2line\n");
- }
-
- my $isize = 0;
- if ($s1[SAM_RNAME] ne '*' && $s1[SAM_RNAME] eq $s2[SAM_RNAME]) { # then calculate $isize
- my $x1 = ($s1[SAM_FLAG] & 0x10)? $s1[SAM_POS] + length($s1[SAM_SEQ]) : $s1[SAM_POS];
- my $x2 = ($s2[SAM_FLAG] & 0x10)? $s2[SAM_POS] + length($s2[SAM_SEQ]) : $s2[SAM_POS];
- $isize = $x2 - $x1;
- }
-
- foreach ([\@s1,\@s2,$isize],[\@s2,\@s1,-$isize]){
- my ($sa,$sb,$is) = @{$_};
- if ($sb->[SAM_RNAME] ne '*') {
- $sa->[SAM_MRNM] = ($sb->[SAM_RNAME] eq $sa->[SAM_RNAME]) ? "=" : $sb->[SAM_RNAME];
- $sa->[SAM_MPOS] = $sb->[SAM_POS];
- $sa->[SAM_ISIZE] = $is;
- $sa->[SAM_FLAG] |= 0x20 if ($sb->[SAM_FLAG] & 0x10);
- } else {
- $sa->[SAM_FLAG] |= 0x8;
- }
- }
- }
- }
- print join("\t", @s1), "\n" if (@s1);
- print join("\t", @s2), "\n" if (@s2 && $is_paired);
- }
- close($fh1);
- if($is_paired) {
- while(my $read2line = <$fh2>){
- $export_line_count++;
- die("\nERROR: read1 and read2 export files do not contain the same number of reads.\n Extra reads observed in read2 file at line no: $export_line_count.\n\n");
- }
- close($fh2);
- }
-}
-
-sub export2sam_aux {
- my ($line, $line_no, $s, $ct, $is_paired, $read_no, $is_nofilter) = @_;
- chomp($line);
- my @t = split("\t", $line);
- if(scalar(@t) < EXPORT_SIZE) {
- my $msg="\nERROR: Unexpected number of fields in export record on line $line_no of read$read_no export file. Found " . scalar(@t) . " fields but expected " . EXPORT_SIZE . ".\n";
- $msg.="\t...erroneous export record:\n" . $line . "\n\n";
- die($msg);
- }
- @$s = ();
- my $isPassFilt = ($t[EXPORT_PASSFILT] eq 'Y');
- return if(not ($isPassFilt or $is_nofilter));
- # read name
- my $samQnamePrefix = $t[EXPORT_MACHINE] . (($t[EXPORT_RUNNO] ne "") ? "_" . int($t[EXPORT_RUNNO]) : "");
- $s->[SAM_QNAME] = join(':', $samQnamePrefix, int($t[EXPORT_LANE]), int($t[EXPORT_TILE]),
- int($t[EXPORT_X]), int($t[EXPORT_Y]));
- # initial flag (will be updated later)
- $s->[SAM_FLAG] = 0;
- if($is_paired) {
- if($t[EXPORT_READNO] != $read_no){
- die("\nERROR: read$read_no export file contains record with read number: " .$t[EXPORT_READNO] . " on line: $line_no\n\n");
- }
- $s->[SAM_FLAG] |= 1 | 1<<(5 + $read_no);
- }
- $s->[SAM_FLAG] |= 0x200 if (not $isPassFilt);
-
- # read & quality
- my $is_export_rev = ($t[EXPORT_STRAND] eq 'R');
- if ($is_export_rev) { # then reverse the sequence and quality
- $s->[SAM_SEQ] = reverse($t[EXPORT_READ]);
- $s->[SAM_SEQ] =~ tr/ACGTacgt/TGCAtgca/;
- $s->[SAM_QUAL] = reverse($t[EXPORT_QUAL]);
- } else {
- $s->[SAM_SEQ] = $t[EXPORT_READ];
- $s->[SAM_QUAL] = $t[EXPORT_QUAL];
- }
- my @convqual = ();
- foreach (unpack('C*', $s->[SAM_QUAL])){
- my $val=$ct->[$_];
- if(not defined $val){
- my $msg="\nERROR: can't interpret export quality value: " . $_ . " in read$read_no export file, line: $line_no\n";
- if( $_ < 64 ) { $msg .= " Use --qlogodds flag to translate logodds (solexa) quality values.\n"; }
- die($msg . "\n");
- }
- push @convqual,$val;
- }
-
- $s->[SAM_QUAL] = pack('C*', at convqual); # change coding
-
-
- # coor
- my $has_coor = 0;
- $s->[SAM_RNAME] = "*";
- if (($t[EXPORT_CHROM] eq 'NM') or
- ($t[EXPORT_CHROM] eq 'QC') or
- ($t[EXPORT_CHROM] eq 'RM') or
- ($t[EXPORT_CHROM] eq 'CONTROL')) {
- $s->[SAM_FLAG] |= 0x4; # unmapped
- push(@$s,"XC:Z:".$t[EXPORT_CHROM]) if($t[EXPORT_CHROM] ne 'NM');
- } elsif ($t[EXPORT_CHROM] =~ /(\d+):(\d+):(\d+)/) {
- $s->[SAM_FLAG] |= 0x4; # TODO: should I set BAM_FUNMAP in this case?
- push(@$s, "H0:i:$1", "H1:i:$2", "H2:i:$3")
- } elsif ($t[EXPORT_POS] < 1) {
- $s->[SAM_FLAG] |= 0x4; # unmapped
- } else {
- $s->[SAM_RNAME] = $t[EXPORT_CHROM];
- $s->[SAM_RNAME] .= "/" . $t[EXPORT_CONTIG] if($t[EXPORT_CONTIG] ne '');
- $has_coor = 1;
- }
- $s->[SAM_POS] = $has_coor? $t[EXPORT_POS] : 0;
-
-# print STDERR "t[14] = " . $t[14] . "\n";
- my $matchDesc = '';
- $s->[SAM_CIGAR] = "*";
- if($has_coor){
- $matchDesc = ($is_export_rev) ? reverse_compl_match_descriptor($t[EXPORT_MD]) : $t[EXPORT_MD];
-
- if($matchDesc =~ /\^/){
- # construct CIGAR string using Richard's function
- $s->[SAM_CIGAR] = match_desc_to_cigar($matchDesc); # indel processing
- } else {
- $s->[SAM_CIGAR] = length($s->[SAM_SEQ]) . "M";
- }
- }
-
-# print STDERR "cigar_string = $cigar_string\n";
-
- $s->[SAM_FLAG] |= 0x10 if ($has_coor && $is_export_rev);
- if($has_coor){
- my $semap = ($t[EXPORT_SEMAP] ne '') ? $t[EXPORT_SEMAP] : 0;
- my $pemap = 0;
- if($is_paired) {
- $pemap = ($t[EXPORT_PEMAP] ne '') ? $t[EXPORT_PEMAP] : 0;
-
- # set `proper pair' bit if non-blank, non-zero PE alignment score:
- $s->[SAM_FLAG] |= 0x02 if ($pemap > 0);
- }
- $s->[SAM_MAPQ] = min(254,max($semap,$pemap));
- } else {
- $s->[SAM_MAPQ] = 0;
- }
- # mate coordinate
- $s->[SAM_MRNM] = '*';
- $s->[SAM_MPOS] = 0;
- $s->[SAM_ISIZE] = 0;
- # aux
- push(@$s, "BC:Z:$t[EXPORT_INDEX]") if ($t[EXPORT_INDEX]);
- if($has_coor){
- # The export match descriptor differs slightly from the samtools match descriptor.
- # In order for the converted SAM files to be as compliant as possible,
- # we put the export match descriptor in optional field 'XD' rather than 'MD':
- push(@$s, "XD:Z:$matchDesc");
- push(@$s, "SM:i:$t[EXPORT_SEMAP]") if ($t[EXPORT_SEMAP] ne '');
- push(@$s, "AS:i:$t[EXPORT_PEMAP]") if ($is_paired and ($t[EXPORT_PEMAP] ne ''));
- }
-}
-
-
-
-#
-# the following code is taken from Richard Shaw's sorted2sam.pl file
-#
-sub reverse_compl_match_descriptor($)
-{
-# print "\nREVERSING THE MATCH DESCRIPTOR!\n";
- my ($match_desc) = @_;
- my $rev_compl_match_desc = reverse($match_desc);
- $rev_compl_match_desc =~ tr/ACGT\^\$/TGCA\$\^/;
-
- # Unreverse the digits of numbers.
- $rev_compl_match_desc = join('',
- map {($_ =~ /\d+/)
- ? join('', reverse(split('', $_)))
- : $_} split(/(\d+)/,
- $rev_compl_match_desc));
-
- return $rev_compl_match_desc;
-}
-
-
-
-sub match_desc_to_cigar($)
-{
- my ($match_desc) = @_;
-
- my @match_desc_parts = split(/(\^.*?\$)/, $match_desc);
- my $cigar_str = '';
- my $cigar_del_ch = 'D';
- my $cigar_ins_ch = 'I';
- my $cigar_match_ch = 'M';
-
- foreach my $match_desc_part (@match_desc_parts) {
- next if (!$match_desc_part);
-
- if ($match_desc_part =~ /^\^([ACGTN]+)\$$/) {
- # Deletion
- $cigar_str .= (length($1) . $cigar_del_ch);
- } elsif ($match_desc_part =~ /^\^(\d+)\$$/) {
- # Insertion
- $cigar_str .= ($1 . $cigar_ins_ch);
- } else {
- $cigar_str .= (match_desc_frag_length($match_desc_part)
- . $cigar_match_ch);
- }
- }
-
- return $cigar_str;
-}
-
-
-#------------------------------------------------------------------------------
-
-sub match_desc_frag_length($)
- {
- my ($match_desc_str) = @_;
- my $len = 0;
-
- my @match_desc_fields = split(/([ACGTN]+)/, $match_desc_str);
-
- foreach my $match_desc_field (@match_desc_fields) {
- next if ($match_desc_field eq '');
-
- $len += (($match_desc_field =~ /(\d+)/)
- ? $1 : length($match_desc_field));
- }
-
- return $len;
-}
-
-
-# argument holds the command line
-sub write_header($;$;$)
-{
- my ($progname,$version,$cl) = @_;
- my $complete_header = "";
- $complete_header .= "\@PG\tID:$progname\tVN:$version\tCL:$cl\n";
-
- return $complete_header;
-}
diff --git a/sam/misc/interpolate_sam.pl b/sam/misc/interpolate_sam.pl
deleted file mode 100755
index 6cd6831..0000000
--- a/sam/misc/interpolate_sam.pl
+++ /dev/null
@@ -1,125 +0,0 @@
-#!/usr/bin/perl
-use strict;
-
-###Builds interpolated pileup from SAM file
-##@description counts bases between paired ends and piles up single end reads.
-##@output, uses a #header for the RNAME and then the number of reads per base
-##@author sm8 at sanger.ac.uk, Stephen B. Montgomery
-
-##@caveats
-##Requires RNAME to have format as per example
-## chromosome:NCBI36:18:1:76117153:1
-## supercontig::NT_113883:1:137703:1
-## clone::AC138827.3:1:149397:1
-##Expects simple CIGAR characters, M, I and D
-##Expects SAM file to be sorted.
-##Expects 0x0010 to mark second read in PE file (as has been the observed case from MAQ output) (important for line 77)
-
-##Verify and read in SAM file
-my $sam_file = $ARGV[0];
-if(!defined($sam_file)) { die("No sam file defined on arg 1"); }
-unless(-f $sam_file) { die("Sam file does not exist: $sam_file"); }
-open(SAM, $sam_file) || die("Cannot open sam file");
-
-##Globals
-my $current_location = ""; ##Current RNAME being processed
-my $current_size = 0; ##Size of sequence region being processed
-my $current_position = 1; ##Current base being processed
-my $open = 0; ##Number of open reads (PE reads that have not been closed)
-my %close = (); ##Hash of closing positions, when the current_position gets to this position it subtracts the
- ##contained value from those open and deletes the indexed position from the hash
-
-while (my $line = <SAM>) {
- my @tokens = split /\t/, $line;
-
- if ($current_location ne $tokens[2]) { ##Start a new sequence region
- for (my $i = $current_position; $i <= $current_size; $i++) { ##Close the previous sequence region
- if (defined($close{$i})) {
- $open = $open - $close{$i};
- delete $close{$i};
- }
- print $open . "\n";
- }
- if ($current_location ne "") {
- print "\n";
- }
-
- ##Initiate a new sequence region
- my @location_tokens = split /:/, $tokens[2];
- $current_position = 1;
- $current_location = $tokens[2];
- $current_size = $location_tokens[4];
- $open = 0;
- %close = ();
- print "#" . $tokens[2] . "\n";
-
- ##Print pileup to just before the first read (will be 0)
- for (my $current_position = 1; $current_position < $tokens[3]; $current_position++) {
- print $open . "\n";
- }
- $current_position = $tokens[3];
-
- } else { ##Sequence region already open
- if ($tokens[3] > $current_position) { ##If the new read's position is greater than the current position
- ##cycle through to catch up to the current position
- for (my $i = $current_position; $i < $tokens[3]; $i++) {
- if (defined($close{$i})) {
- $open = $open - $close{$i};
- delete $close{$i};
- }
- print $open . "\n";
- }
- $current_position = $tokens[3];
- }
- }
- $open++; ##Increment the number of open reads
-
- if (($tokens[1] & 0x0080 || $tokens[1] & 0x0040) && $tokens[1] & 0x0010 && $tokens[1] & 0x0002) { ##if second read of mate pair, add close condition
- $open--;
- my $parsed_cig = &parseCigar($tokens[5]);
- my $seq_region_end = $tokens[3] + $parsed_cig->{'M'} + $parsed_cig->{'D'} - 1;
- if (!defined($close{$seq_region_end + 1})) { $close{$seq_region_end + 1} = 0; }
- $close{$seq_region_end + 1} = $close{$seq_region_end + 1} + 1;
- } elsif (!($tokens[1] & 0x0001) || !($tokens[1] & 0x0002)) { ##if unpaired, add close condition
- my $parsed_cig = &parseCigar($tokens[5]);
- my $seq_region_end = $tokens[3] + $parsed_cig->{'M'} + $parsed_cig->{'D'} - 1;
- if (!defined($close{$seq_region_end + 1})) { $close{$seq_region_end + 1} = 0; }
- $close{$seq_region_end + 1} = $close{$seq_region_end + 1} + 1;
- } else {
- #do nothing
- }
-}
-for (my $i = $current_position; $i <= $current_size; $i++) { ##Finish up the last sequence region
- if (defined($close{$i})) {
- $open = $open - $close{$i};
- delete $close{$i};
- }
- print $open . "\n";
-}
-print "\n";
-close(SAM);
-exit(0);
-
-##reads and tokenizes simple cigarline
-sub parseCigar() {
- my $cigar_line = shift;
- $cigar_line =~ s/([0-9]*[A-Z]{1})/$1\t/g;
- my @cigar_tokens = split /\t/, $cigar_line;
- my %parsed = ('M' => 0,
- 'I' => 0,
- 'D' => 0);
- my @events = ();
- for(my $i = 0; $i < scalar(@cigar_tokens); $i++) {
- if ($cigar_tokens[$i] =~ /([0-9]+)([A-Z]{1})/g) {
- if (!defined($parsed{$2})) { $parsed{$2} = 0; }
- my $nt = $2;
- if ($nt ne "M" && $nt ne "D" && $nt ne "I") { $nt = "M"; }
- $parsed{$nt} += $1;
- my %event_el = ("t" => $nt,
- "n" => $1);
- push @events, \%event_el;
- }
- }
- $parsed{'events'} = \@events;
- return \%parsed;
-}
diff --git a/sam/misc/maq2sam.c b/sam/misc/maq2sam.c
deleted file mode 100644
index 2bfbe2a..0000000
--- a/sam/misc/maq2sam.c
+++ /dev/null
@@ -1,173 +0,0 @@
-#include <string.h>
-#include <zlib.h>
-#include <stdio.h>
-#include <inttypes.h>
-#include <stdlib.h>
-#include <assert.h>
-
-#define PACKAGE_VERSION "r439"
-
-//#define MAQ_LONGREADS
-
-#ifdef MAQ_LONGREADS
-# define MAX_READLEN 128
-#else
-# define MAX_READLEN 64
-#endif
-
-#define MAX_NAMELEN 36
-#define MAQMAP_FORMAT_OLD 0
-#define MAQMAP_FORMAT_NEW -1
-
-#define PAIRFLAG_FF 0x01
-#define PAIRFLAG_FR 0x02
-#define PAIRFLAG_RF 0x04
-#define PAIRFLAG_RR 0x08
-#define PAIRFLAG_PAIRED 0x10
-#define PAIRFLAG_DIFFCHR 0x20
-#define PAIRFLAG_NOMATCH 0x40
-#define PAIRFLAG_SW 0x80
-
-typedef struct
-{
- uint8_t seq[MAX_READLEN]; /* the last base is the single-end mapping quality. */
- uint8_t size, map_qual, info1, info2, c[2], flag, alt_qual;
- uint32_t seqid, pos;
- int dist;
- char name[MAX_NAMELEN];
-} maqmap1_t;
-
-typedef struct
-{
- int format, n_ref;
- char **ref_name;
- uint64_t n_mapped_reads;
- maqmap1_t *mapped_reads;
-} maqmap_t;
-
-maqmap_t *maq_new_maqmap()
-{
- maqmap_t *mm = (maqmap_t*)calloc(1, sizeof(maqmap_t));
- mm->format = MAQMAP_FORMAT_NEW;
- return mm;
-}
-void maq_delete_maqmap(maqmap_t *mm)
-{
- int i;
- if (mm == 0) return;
- for (i = 0; i < mm->n_ref; ++i)
- free(mm->ref_name[i]);
- free(mm->ref_name);
- free(mm->mapped_reads);
- free(mm);
-}
-maqmap_t *maqmap_read_header(gzFile fp)
-{
- maqmap_t *mm;
- int k, len;
- mm = maq_new_maqmap();
- gzread(fp, &mm->format, sizeof(int));
- if (mm->format != MAQMAP_FORMAT_NEW) {
- if (mm->format > 0) {
- fprintf(stderr, "** Obsolete map format is detected. Please use 'mapass2maq' command to convert the format.\n");
- exit(3);
- }
- assert(mm->format == MAQMAP_FORMAT_NEW);
- }
- gzread(fp, &mm->n_ref, sizeof(int));
- mm->ref_name = (char**)calloc(mm->n_ref, sizeof(char*));
- for (k = 0; k != mm->n_ref; ++k) {
- gzread(fp, &len, sizeof(int));
- mm->ref_name[k] = (char*)malloc(len * sizeof(char));
- gzread(fp, mm->ref_name[k], len);
- }
- /* read number of mapped reads */
- gzread(fp, &mm->n_mapped_reads, sizeof(uint64_t));
- return mm;
-}
-
-void maq2tam_core(gzFile fp, const char *rg)
-{
- maqmap_t *mm;
- maqmap1_t mm1, *m1;
- int ret;
- m1 = &mm1;
- mm = maqmap_read_header(fp);
- while ((ret = gzread(fp, m1, sizeof(maqmap1_t))) == sizeof(maqmap1_t)) {
- int j, flag = 0, se_mapq = m1->seq[MAX_READLEN-1];
- if (m1->flag) flag |= 1;
- if ((m1->flag&PAIRFLAG_PAIRED) || ((m1->flag&PAIRFLAG_SW) && m1->flag != 192)) flag |= 2;
- if (m1->flag == 192) flag |= 4;
- if (m1->flag == 64) flag |= 8;
- if (m1->pos&1) flag |= 0x10;
- if ((flag&1) && m1->dist != 0) {
- int c;
- if (m1->dist > 0) {
- if (m1->flag&(PAIRFLAG_FF|PAIRFLAG_RF)) c = 0;
- else if (m1->flag&(PAIRFLAG_FR|PAIRFLAG_RR)) c = 1;
- else c = m1->pos&1;
- } else {
- if (m1->flag&(PAIRFLAG_FF|PAIRFLAG_FR)) c = 0;
- else if (m1->flag&(PAIRFLAG_RF|PAIRFLAG_RR)) c = 1;
- else c = m1->pos&1;
- }
- if (c) flag |= 0x20;
- }
- if (m1->flag) {
- int l = strlen(m1->name);
- if (m1->name[l-2] == '/') {
- flag |= (m1->name[l-1] == '1')? 0x40 : 0x80;
- m1->name[l-2] = '\0';
- }
- }
- printf("%s\t%d\t", m1->name, flag);
- printf("%s\t%d\t", mm->ref_name[m1->seqid], (m1->pos>>1)+1);
- if (m1->flag == 130) {
- int c = (int8_t)m1->seq[MAX_READLEN-1];
- printf("%d\t", m1->alt_qual);
- if (c == 0) printf("%dM\t", m1->size);
- else {
- if (c > 0) printf("%dM%dI%dM\t", m1->map_qual, c, m1->size - m1->map_qual - c);
- else printf("%dM%dD%dM\t", m1->map_qual, -c, m1->size - m1->map_qual);
- }
- se_mapq = 0; // zero SE mapQ for reads aligned by SW
- } else {
- if (flag&4) printf("0\t*\t");
- else printf("%d\t%dM\t", m1->map_qual, m1->size);
- }
- printf("*\t0\t%d\t", m1->dist);
- for (j = 0; j != m1->size; ++j) {
- if (m1->seq[j] == 0) putchar('N');
- else putchar("ACGT"[m1->seq[j]>>6&3]);
- }
- putchar('\t');
- for (j = 0; j != m1->size; ++j)
- putchar((m1->seq[j]&0x3f) + 33);
- putchar('\t');
- if (rg) printf("RG:Z:%s\t", rg);
- if (flag&4) { // unmapped
- printf("MF:i:%d\n", m1->flag);
- } else {
- printf("MF:i:%d\t", m1->flag);
- if (m1->flag) printf("AM:i:%d\tSM:i:%d\t", m1->alt_qual, se_mapq);
- printf("NM:i:%d\tUQ:i:%d\tH0:i:%d\tH1:i:%d\n", m1->info1&0xf, m1->info2, m1->c[0], m1->c[1]);
- }
- }
- if (ret > 0)
- fprintf(stderr, "Truncated! Continue anyway.\n");
- maq_delete_maqmap(mm);
-}
-
-int main(int argc, char *argv[])
-{
- gzFile fp;
- if (argc == 1) {
- fprintf(stderr, "Version: %s\n", PACKAGE_VERSION);
- fprintf(stderr, "Usage: maq2sam <in.map> [<readGroup>]\n");
- return 1;
- }
- fp = strcmp(argv[1], "-")? gzopen(argv[1], "r") : gzdopen(fileno(stdin), "r");
- maq2tam_core(fp, argc > 2? argv[2] : 0);
- gzclose(fp);
- return 0;
-}
diff --git a/sam/misc/md5.c b/sam/misc/md5.c
deleted file mode 100644
index 55ae181..0000000
--- a/sam/misc/md5.c
+++ /dev/null
@@ -1,296 +0,0 @@
-/*
- * This code implements the MD5 message-digest algorithm.
- * The algorithm is due to Ron Rivest. This code was
- * written by Colin Plumb in 1993, no copyright is claimed.
- * This code is in the public domain; do with it what you wish.
- *
- * Equivalent code is available from RSA Data Security, Inc.
- * This code has been tested against that, and is equivalent,
- * except that you don't need to include two pages of legalese
- * with every copy.
- *
- * To compute the message digest of a chunk of bytes, declare an
- * MD5Context structure, pass it to MD5Init, call MD5Update as
- * needed on buffers full of bytes, and then call MD5Final, which
- * will fill a supplied 16-byte array with the digest.
- */
-
-/* Brutally hacked by John Walker back from ANSI C to K&R (no
- prototypes) to maintain the tradition that Netfone will compile
- with Sun's original "cc". */
-
-#include <string.h>
-#include "md5.h"
-
-#ifndef HIGHFIRST
-#define byteReverse(buf, len) /* Nothing */
-#else
-/*
- * Note: this code is harmless on little-endian machines.
- */
-void byteReverse(buf, longs)
- unsigned char *buf; unsigned longs;
-{
- uint32_t t;
- do {
- t = (uint32_t) ((unsigned) buf[3] << 8 | buf[2]) << 16 |
- ((unsigned) buf[1] << 8 | buf[0]);
- *(uint32_t *) buf = t;
- buf += 4;
- } while (--longs);
-}
-#endif
-
-void MD5Transform(uint32_t buf[4], uint32_t in[16]);
-
-
-/*
- * Start MD5 accumulation. Set bit count to 0 and buffer to mysterious
- * initialization constants.
- */
-void MD5Init(ctx)
- struct MD5Context *ctx;
-{
- ctx->buf[0] = 0x67452301;
- ctx->buf[1] = 0xefcdab89;
- ctx->buf[2] = 0x98badcfe;
- ctx->buf[3] = 0x10325476;
-
- ctx->bits[0] = 0;
- ctx->bits[1] = 0;
-}
-
-/*
- * Update context to reflect the concatenation of another buffer full
- * of bytes.
- */
-void MD5Update(ctx, buf, len)
- struct MD5Context *ctx; unsigned char *buf; unsigned len;
-{
- uint32_t t;
-
- /* Update bitcount */
-
- t = ctx->bits[0];
- if ((ctx->bits[0] = t + ((uint32_t) len << 3)) < t)
- ctx->bits[1]++; /* Carry from low to high */
- ctx->bits[1] += len >> 29;
-
- t = (t >> 3) & 0x3f; /* Bytes already in shsInfo->data */
-
- /* Handle any leading odd-sized chunks */
-
- if (t) {
- unsigned char *p = (unsigned char *) ctx->in + t;
-
- t = 64 - t;
- if (len < t) {
- memcpy(p, buf, len);
- return;
- }
- memcpy(p, buf, t);
- byteReverse(ctx->in, 16);
- MD5Transform(ctx->buf, (uint32_t *) ctx->in);
- buf += t;
- len -= t;
- }
- /* Process data in 64-byte chunks */
-
- while (len >= 64) {
- memcpy(ctx->in, buf, 64);
- byteReverse(ctx->in, 16);
- MD5Transform(ctx->buf, (uint32_t *) ctx->in);
- buf += 64;
- len -= 64;
- }
-
- /* Handle any remaining bytes of data. */
-
- memcpy(ctx->in, buf, len);
-}
-
-/*
- * Final wrapup - pad to 64-byte boundary with the bit pattern
- * 1 0* (64-bit count of bits processed, MSB-first)
- */
-void MD5Final(digest, ctx)
- unsigned char digest[16]; struct MD5Context *ctx;
-{
- unsigned count;
- unsigned char *p;
-
- /* Compute number of bytes mod 64 */
- count = (ctx->bits[0] >> 3) & 0x3F;
-
- /* Set the first char of padding to 0x80. This is safe since there is
- always at least one byte free */
- p = ctx->in + count;
- *p++ = 0x80;
-
- /* Bytes of padding needed to make 64 bytes */
- count = 64 - 1 - count;
-
- /* Pad out to 56 mod 64 */
- if (count < 8) {
- /* Two lots of padding: Pad the first block to 64 bytes */
- memset(p, 0, count);
- byteReverse(ctx->in, 16);
- MD5Transform(ctx->buf, (uint32_t *) ctx->in);
-
- /* Now fill the next block with 56 bytes */
- memset(ctx->in, 0, 56);
- } else {
- /* Pad block to 56 bytes */
- memset(p, 0, count - 8);
- }
- byteReverse(ctx->in, 14);
-
- /* Append length in bits and transform */
- ((uint32_t *) ctx->in)[14] = ctx->bits[0];
- ((uint32_t *) ctx->in)[15] = ctx->bits[1];
-
- MD5Transform(ctx->buf, (uint32_t *) ctx->in);
- byteReverse((unsigned char *) ctx->buf, 4);
- memcpy(digest, ctx->buf, 16);
- memset(ctx, 0, sizeof(ctx)); /* In case it's sensitive */
-}
-
-
-/* The four core functions - F1 is optimized somewhat */
-
-/* #define F1(x, y, z) (x & y | ~x & z) */
-#define F1(x, y, z) (z ^ (x & (y ^ z)))
-#define F2(x, y, z) F1(z, x, y)
-#define F3(x, y, z) (x ^ y ^ z)
-#define F4(x, y, z) (y ^ (x | ~z))
-
-/* This is the central step in the MD5 algorithm. */
-#define MD5STEP(f, w, x, y, z, data, s) \
- ( w += f(x, y, z) + data, w = w<<s | w>>(32-s), w += x )
-
-/*
- * The core of the MD5 algorithm, this alters an existing MD5 hash to
- * reflect the addition of 16 longwords of new data. MD5Update blocks
- * the data and converts bytes into longwords for this routine.
- */
-void MD5Transform(buf, in)
- uint32_t buf[4]; uint32_t in[16];
-{
- register uint32_t a, b, c, d;
-
- a = buf[0];
- b = buf[1];
- c = buf[2];
- d = buf[3];
-
- MD5STEP(F1, a, b, c, d, in[0] + 0xd76aa478, 7);
- MD5STEP(F1, d, a, b, c, in[1] + 0xe8c7b756, 12);
- MD5STEP(F1, c, d, a, b, in[2] + 0x242070db, 17);
- MD5STEP(F1, b, c, d, a, in[3] + 0xc1bdceee, 22);
- MD5STEP(F1, a, b, c, d, in[4] + 0xf57c0faf, 7);
- MD5STEP(F1, d, a, b, c, in[5] + 0x4787c62a, 12);
- MD5STEP(F1, c, d, a, b, in[6] + 0xa8304613, 17);
- MD5STEP(F1, b, c, d, a, in[7] + 0xfd469501, 22);
- MD5STEP(F1, a, b, c, d, in[8] + 0x698098d8, 7);
- MD5STEP(F1, d, a, b, c, in[9] + 0x8b44f7af, 12);
- MD5STEP(F1, c, d, a, b, in[10] + 0xffff5bb1, 17);
- MD5STEP(F1, b, c, d, a, in[11] + 0x895cd7be, 22);
- MD5STEP(F1, a, b, c, d, in[12] + 0x6b901122, 7);
- MD5STEP(F1, d, a, b, c, in[13] + 0xfd987193, 12);
- MD5STEP(F1, c, d, a, b, in[14] + 0xa679438e, 17);
- MD5STEP(F1, b, c, d, a, in[15] + 0x49b40821, 22);
-
- MD5STEP(F2, a, b, c, d, in[1] + 0xf61e2562, 5);
- MD5STEP(F2, d, a, b, c, in[6] + 0xc040b340, 9);
- MD5STEP(F2, c, d, a, b, in[11] + 0x265e5a51, 14);
- MD5STEP(F2, b, c, d, a, in[0] + 0xe9b6c7aa, 20);
- MD5STEP(F2, a, b, c, d, in[5] + 0xd62f105d, 5);
- MD5STEP(F2, d, a, b, c, in[10] + 0x02441453, 9);
- MD5STEP(F2, c, d, a, b, in[15] + 0xd8a1e681, 14);
- MD5STEP(F2, b, c, d, a, in[4] + 0xe7d3fbc8, 20);
- MD5STEP(F2, a, b, c, d, in[9] + 0x21e1cde6, 5);
- MD5STEP(F2, d, a, b, c, in[14] + 0xc33707d6, 9);
- MD5STEP(F2, c, d, a, b, in[3] + 0xf4d50d87, 14);
- MD5STEP(F2, b, c, d, a, in[8] + 0x455a14ed, 20);
- MD5STEP(F2, a, b, c, d, in[13] + 0xa9e3e905, 5);
- MD5STEP(F2, d, a, b, c, in[2] + 0xfcefa3f8, 9);
- MD5STEP(F2, c, d, a, b, in[7] + 0x676f02d9, 14);
- MD5STEP(F2, b, c, d, a, in[12] + 0x8d2a4c8a, 20);
-
- MD5STEP(F3, a, b, c, d, in[5] + 0xfffa3942, 4);
- MD5STEP(F3, d, a, b, c, in[8] + 0x8771f681, 11);
- MD5STEP(F3, c, d, a, b, in[11] + 0x6d9d6122, 16);
- MD5STEP(F3, b, c, d, a, in[14] + 0xfde5380c, 23);
- MD5STEP(F3, a, b, c, d, in[1] + 0xa4beea44, 4);
- MD5STEP(F3, d, a, b, c, in[4] + 0x4bdecfa9, 11);
- MD5STEP(F3, c, d, a, b, in[7] + 0xf6bb4b60, 16);
- MD5STEP(F3, b, c, d, a, in[10] + 0xbebfbc70, 23);
- MD5STEP(F3, a, b, c, d, in[13] + 0x289b7ec6, 4);
- MD5STEP(F3, d, a, b, c, in[0] + 0xeaa127fa, 11);
- MD5STEP(F3, c, d, a, b, in[3] + 0xd4ef3085, 16);
- MD5STEP(F3, b, c, d, a, in[6] + 0x04881d05, 23);
- MD5STEP(F3, a, b, c, d, in[9] + 0xd9d4d039, 4);
- MD5STEP(F3, d, a, b, c, in[12] + 0xe6db99e5, 11);
- MD5STEP(F3, c, d, a, b, in[15] + 0x1fa27cf8, 16);
- MD5STEP(F3, b, c, d, a, in[2] + 0xc4ac5665, 23);
-
- MD5STEP(F4, a, b, c, d, in[0] + 0xf4292244, 6);
- MD5STEP(F4, d, a, b, c, in[7] + 0x432aff97, 10);
- MD5STEP(F4, c, d, a, b, in[14] + 0xab9423a7, 15);
- MD5STEP(F4, b, c, d, a, in[5] + 0xfc93a039, 21);
- MD5STEP(F4, a, b, c, d, in[12] + 0x655b59c3, 6);
- MD5STEP(F4, d, a, b, c, in[3] + 0x8f0ccc92, 10);
- MD5STEP(F4, c, d, a, b, in[10] + 0xffeff47d, 15);
- MD5STEP(F4, b, c, d, a, in[1] + 0x85845dd1, 21);
- MD5STEP(F4, a, b, c, d, in[8] + 0x6fa87e4f, 6);
- MD5STEP(F4, d, a, b, c, in[15] + 0xfe2ce6e0, 10);
- MD5STEP(F4, c, d, a, b, in[6] + 0xa3014314, 15);
- MD5STEP(F4, b, c, d, a, in[13] + 0x4e0811a1, 21);
- MD5STEP(F4, a, b, c, d, in[4] + 0xf7537e82, 6);
- MD5STEP(F4, d, a, b, c, in[11] + 0xbd3af235, 10);
- MD5STEP(F4, c, d, a, b, in[2] + 0x2ad7d2bb, 15);
- MD5STEP(F4, b, c, d, a, in[9] + 0xeb86d391, 21);
-
- buf[0] += a;
- buf[1] += b;
- buf[2] += c;
- buf[3] += d;
-}
-
-/* lh3: the following code is added by me */
-
-#ifdef MD5SUM_MAIN
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#define HEX_STR "0123456789abcdef"
-
-static void md5_one(const char *fn)
-{
- unsigned char buf[4096], digest[16];
- MD5_CTX md5;
- int l;
- FILE *fp;
-
- fp = strcmp(fn, "-")? fopen(fn, "r") : stdin;
- if (fp == 0) {
- fprintf(stderr, "md5sum: %s: No such file or directory\n", fn);
- exit(1);
- }
- MD5Init(&md5);
- while ((l = fread(buf, 1, 4096, fp)) > 0)
- MD5Update(&md5, buf, l);
- MD5Final(digest, &md5);
- if (fp != stdin) fclose(fp);
- for (l = 0; l < 16; ++l)
- printf("%c%c", HEX_STR[digest[l]>>4&0xf], HEX_STR[digest[l]&0xf]);
- printf(" %s\n", fn);
-}
-int main(int argc, char *argv[])
-{
- int i;
- if (argc == 1) md5_one("-");
- else for (i = 1; i < argc; ++i) md5_one(argv[i]);
- return 0;
-}
-#endif
diff --git a/sam/misc/md5.h b/sam/misc/md5.h
deleted file mode 100644
index 44121e4..0000000
--- a/sam/misc/md5.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- This file is adapted from a program in this page:
-
- http://www.fourmilab.ch/md5/
-
- The original source code does not work on 64-bit machines due to the
- wrong typedef "uint32". I also added prototypes.
-
- -lh3
- */
-
-#ifndef MD5_H
-#define MD5_H
-
-/* The following tests optimise behaviour on little-endian
- machines, where there is no need to reverse the byte order
- of 32 bit words in the MD5 computation. By default,
- HIGHFIRST is defined, which indicates we're running on a
- big-endian (most significant byte first) machine, on which
- the byteReverse function in md5.c must be invoked. However,
- byteReverse is coded in such a way that it is an identity
- function when run on a little-endian machine, so calling it
- on such a platform causes no harm apart from wasting time.
- If the platform is known to be little-endian, we speed
- things up by undefining HIGHFIRST, which defines
- byteReverse as a null macro. Doing things in this manner
- insures we work on new platforms regardless of their byte
- order. */
-
-#define HIGHFIRST
-
-#if __LITTLE_ENDIAN__ != 0
-#undef HIGHFIRST
-#endif
-
-#include <stdint.h>
-
-struct MD5Context {
- uint32_t buf[4];
- uint32_t bits[2];
- unsigned char in[64];
-};
-
-void MD5Init(struct MD5Context *ctx);
-void MD5Update(struct MD5Context *ctx, unsigned char *buf, unsigned len);
-void MD5Final(unsigned char digest[16], struct MD5Context *ctx);
-
-/*
- * This is needed to make RSAREF happy on some MS-DOS compilers.
- */
-typedef struct MD5Context MD5_CTX;
-
-/* Define CHECK_HARDWARE_PROPERTIES to have main,c verify
- byte order and uint32_t settings. */
-#define CHECK_HARDWARE_PROPERTIES
-
-#endif /* !MD5_H */
diff --git a/sam/misc/md5fa.c b/sam/misc/md5fa.c
deleted file mode 100644
index 7a165bf..0000000
--- a/sam/misc/md5fa.c
+++ /dev/null
@@ -1,58 +0,0 @@
-#include <stdio.h>
-#include <zlib.h>
-#include "md5.h"
-#include "kseq.h"
-
-#define HEX_STR "0123456789abcdef"
-
-KSEQ_INIT(gzFile, gzread)
-
-static void md5_one(const char *fn)
-{
- MD5_CTX md5_one, md5_all;
- int l, i, k;
- gzFile fp;
- kseq_t *seq;
- unsigned char unordered[16], digest[16];
-
- for (l = 0; l < 16; ++l) unordered[l] = 0;
- fp = strcmp(fn, "-")? gzopen(fn, "r") : gzdopen(fileno(stdin), "r");
- if (fp == 0) {
- fprintf(stderr, "md5fa: %s: No such file or directory\n", fn);
- exit(1);
- }
-
- MD5Init(&md5_all);
- seq = kseq_init(fp);
- while ((l = kseq_read(seq)) >= 0) {
- for (i = k = 0; i < seq->seq.l; ++i) {
- if (islower(seq->seq.s[i])) seq->seq.s[k++] = toupper(seq->seq.s[i]);
- else if (isupper(seq->seq.s[i])) seq->seq.s[k++] = seq->seq.s[i];
- }
- MD5Init(&md5_one);
- MD5Update(&md5_one, (unsigned char*)seq->seq.s, k);
- MD5Final(digest, &md5_one);
- for (l = 0; l < 16; ++l) {
- printf("%c%c", HEX_STR[digest[l]>>4&0xf], HEX_STR[digest[l]&0xf]);
- unordered[l] ^= digest[l];
- }
- printf(" %s %s\n", fn, seq->name.s);
- MD5Update(&md5_all, (unsigned char*)seq->seq.s, k);
- }
- MD5Final(digest, &md5_all);
- kseq_destroy(seq);
- for (l = 0; l < 16; ++l)
- printf("%c%c", HEX_STR[digest[l]>>4&0xf], HEX_STR[digest[l]&0xf]);
- printf(" %s >ordered\n", fn);
- for (l = 0; l < 16; ++l)
- printf("%c%c", HEX_STR[unordered[l]>>4&0xf], HEX_STR[unordered[l]&0xf]);
- printf(" %s >unordered\n", fn);
-}
-
-int main(int argc, char *argv[])
-{
- int i;
- if (argc == 1) md5_one("-");
- else for (i = 1; i < argc; ++i) md5_one(argv[i]);
- return 0;
-}
diff --git a/sam/misc/novo2sam.pl b/sam/misc/novo2sam.pl
deleted file mode 100755
index 8b53c9e..0000000
--- a/sam/misc/novo2sam.pl
+++ /dev/null
@@ -1,281 +0,0 @@
-#!/usr/bin/perl -w
-
-# Contact: lh3
-# Version: 0.1.3
-
-#Modified by Zayed Albertyn(zayed.albertyn at gmail.com) & Colin Hercus(colin at novocraft.com)
-
-#use strict;
-#use warnings;
-use Data::Dumper;
-use Getopt::Std;
-
-&novo2sam;
-exit;
-
-sub mating {
- my ($s1, $s2) = @_;
- my $isize = 0;
- if ($s1->[2] ne '*' && $s1->[2] eq $s2->[2]) { # then calculate $isize
- my $x1 = ($s1->[1] & 0x10)? $s1->[3] + length($s1->[9]) : $s1->[3];
- my $x2 = ($s2->[1] & 0x10)? $s2->[3] + length($s2->[9]) : $s2->[3];
- $isize = $x2 - $x1;
- }
- # update mate coordinate
- if ($s2->[2] ne '*') {
- @$s1[6..8] = (($s2->[2] eq $s1->[2])? "=" : $s2->[2], $s2->[3], $isize);
- $s1->[1] |= 0x20 if ($s2->[1] & 0x10);
- } else {
- $s1->[1] |= 0x8;
- }
- if ($s1->[2] ne '*') {
- @$s2[6..8] = (($s1->[2] eq $s2->[2])? "=" : $s1->[2], $s1->[3], -$isize);
- $s2->[1] |= 0x20 if ($s1->[1] & 0x10);
- } else {
- $s2->[1] |= 0x8;
- }
-}
-
-sub novo2sam {
- my %opts = ();
- getopts("p", \%opts);
- die("Usage: novo2sam.pl [-p] <aln.novo>\n") if (@ARGV == 0);
- my $is_paired = defined($opts{p});
- # core loop
- my @s1 = ();
- my @s2 = ();
- my ($s_last, $s_curr) = (\@s1, \@s2);
- while (<>) {
- next if (/^#/);
- next if (/(QC|NM)\s*$/ || /(R\s+\d+)\s*$/);
- &novo2sam_aux($_, $s_curr, $is_paired);
- if (@$s_last != 0 && $s_last->[0] eq $s_curr->[0]) {
- &mating($s_last, $s_curr);
- print join("\t", @$s_last), "\n";
- print join("\t", @$s_curr), "\n";
- @$s_last = (); @$s_curr = ();
- } else {
- print join("\t", @$s_last), "\n" if (@$s_last != 0);
- my $s = $s_last; $s_last = $s_curr; $s_curr = $s;
- }
- }
- print join("\t", @$s_last), "\n" if (@$s_last != 0);
-}
-
-sub novo2sam_aux {
- my ($line, $s, $is_paired) = @_;
-
- chomp($line);
- my @t = split(/\s+/, $line);
- my @variations = @t[13 .. $#t];
- @$s = ();
- return if ($t[4] ne 'U');
- my $len = length($t[2]);
- # read name
- $s->[0] = substr($t[0], 1);
- $s->[0] =~ s/\/[12]$//g;
- # initial flag (will be updated later)
- $s->[1] = 0;
- $s->[1] |= 1 | 1<<($t[1] eq 'L'? 6 : 7);
- $s->[1] |= 2 if ($t[10] eq '.');
- # read & quality
- if ($t[9] eq 'R') {
- $s->[9] = reverse($t[2]);
- $s->[10] = reverse($t[3]);
- $s->[9] =~ tr/ACGTRYMKWSNacgtrymkwsn/TGCAYRKMWSNtgcayrkmwsn/;
- } else {
- $s->[9] = $t[2]; $s->[10] = $t[3];
- }
- # cigar
- my $cigarstring ="";
- if (scalar @variations ==0 ) {
- $s->[5] = $len . "M"; # IMPORTANT: this cigar is not correct for gapped alignment
- } else {
- #convert to correct CIGAR
- my $tmpstr = join" ", at variations ;
- if ( $tmpstr=~ /\+|\-/ ) {
- $cigarstring = cigar_method($line,\@variations,$len);
- $s->[5]=$cigarstring;
- } else {
- $s->[5]=$len. "M";
- }
-}
-
-# coor
- $s->[2] = substr($t[7], 1); $s->[3] = $t[8];
- $s->[1] |= 0x10 if ($t[9] eq 'R');
- # mapQ
- $s->[4] = $t[5] > $t[6]? $t[5] : $t[6];
- # mate coordinate
- $s->[6] = '*'; $s->[7] = $s->[8] = 0;
- # aux
- push(@$s, "NM:i:".(@t-13));
- my $md = '';
- $md = mdtag($md,$line,\@variations,$len);
- push(@$s, "MD:Z:$md");
-
-}
-
-sub mdtag {
- my $oldmd = shift;
- my $line = shift;
- my $ref =shift;
- my $rdlen = shift;
- my @variations = @$ref;
- my $string="";
- my $mdtag="";
- my $t=1;
- my $q=1;
- my $deleteflag=0;
- my $len =0;
- foreach $string (@variations) {
- my ($indeltype,$insert) = indeltype($string);
- if ($indeltype eq "+") {
- $len = length ($insert);
- $q+=$len;
- next;
- }
- my $pos = $1 if $string =~ /^(\d+)/;
- $len = $pos - $t;
- if ($len !=0 || ($deleteflag eq 1 && $indeltype eq ">")) {
- $mdtag.=$len;
- }
- $t+=$len;
- $q+=$len;
- if ($indeltype eq ">") {
- $mdtag.=$insert;
- $deleteflag=0;
- $t+=1;
- $q+=1;
- }
- if ($indeltype eq "-") {
- my $deletedbase = $2 if $string =~ /(\d+)\-([A-Za-z]+)/;
- if ($deleteflag == 0 ) {
- $mdtag.="^";
- }
- $mdtag.=$deletedbase;
- $deleteflag=1;
- $t+=1;
- }
- }
- $len = $rdlen - $q + 1;
- if ($len > 0) {
- $mdtag.="$len";
- }
-# print "In:$line\n";
-# print "MD: OLD => NEW\nMD: $oldmd => $mdtag\n\n";
-
- return $mdtag;
-}
-
-sub indeltype {
- my $string = shift;
- my $insert="";
- my $indeltype;
- if ($string =~ /([A-Za-z]+)\>/) {
- $indeltype=">";
- $insert=$1;
- } elsif ($string =~ /\-/) {
- $indeltype="-";
- } elsif ($string =~ /\+([A-Za-z]+)/) {
- $indeltype="+";
- $insert=$1;
- }
- return ($indeltype,$insert);
-
-}
-
-
-sub cigar_method {
- my $line = shift;
- my $ref =shift;
- my $rdlen = shift;
- my @variations = @$ref;
- my $string="";
- my $type="";
- my $t =1;
- my $q=1;
- my $indeltype="";
- my $cigar= "";
- my $insert = "";
- my $len=0;
- my @cig=();
- foreach $string (@variations) {
- next if $string =~ />/;
- my $pos = $1 if $string =~ /^(\d+)/;
-
- if ($string =~ /\+([A-Za-z]+)/) {
- $indeltype="+";
- $insert = $1;
- }elsif ($string =~ /\-([A-Za-z]+)/) {
- $indeltype="-";
- $insert = $1;
- }
-#print "$pos $indeltype $insert $t $q\n";
- $len = $pos - $t;
- if ( $len > 0) {
- $cigar.=$len."M";
- push(@cig,$len."M");
- }
- $t+=$len;
- $q+=$len;
-
- if ($indeltype eq "-") {
- $cigar.="D";
- push(@cig,"D");
- $t++;
- }
- if ($indeltype eq "+") {
- $len = length ($insert);
- if ($len == 1) {
- $cigar.="I";
- push(@cig,"I");
- }
- if ($len > 1) {
- $cigar.=$len."I";
- push(@cig,$len."I")
- }
- $q+=$len;
- }
- $insert="";
- }
- $len= $rdlen - $q + 1;
- if ($len > 0) {
- $cigar.=$len."M";
- push(@cig,$len."M");
- }
-
- $cigar = newcigar($cigar,'D');
- $cigar = newcigar($cigar,'I');
-
- #print "$line\n";
- #print "c CIGAR:\t$cigar\n\n";
- return $cigar;
-
-}
-
-
-
-sub newcigar {
- my $cigar = shift;
- my $char = shift;
- my $new = "";
- my $copy = $cigar;
-#print "$cigar\n";
- $copy =~ s/^($char+)/$1;/g;
-#print "$copy\n";
- $copy =~ s/([^0-9$char])($char+)/$1;$2;/g;
-#print "$copy\n";
- my @parts = split(/;/,$copy);
- my $el="";
- foreach $el (@parts) {
-#print "$el\n";
- if ($el =~ /^$char+$/) {
- $new.=length($el).$char;
- }else {
- $new.=$el;
- }
-
- }
- return $new;
-}
diff --git a/sam/misc/plot-bamcheck b/sam/misc/plot-bamcheck
deleted file mode 100755
index 1792c6f..0000000
--- a/sam/misc/plot-bamcheck
+++ /dev/null
@@ -1,882 +0,0 @@
-#!/usr/bin/env perl
-#
-# Author: petr.danecek at sanger
-#
-
-use strict;
-use warnings;
-use Carp;
-
-my $opts = parse_params();
-parse_bamcheck($opts);
-plot_qualities($opts);
-plot_acgt_cycles($opts);
-plot_gc($opts);
-plot_gc_depth($opts);
-plot_isize($opts);
-plot_coverage($opts);
-plot_mismatches_per_cycle($opts);
-plot_indel_dist($opts);
-plot_indel_cycles($opts);
-
-exit;
-
-#--------------------------------
-
-sub error
-{
- my (@msg) = @_;
- if ( scalar @msg ) { confess @msg; }
- die
- "Usage: plot-bamcheck [OPTIONS] file.bam.bc\n",
- " plot-bamcheck -p outdir/ file.bam.bc\n",
- "Options:\n",
- " -k, --keep-files Do not remove temporary files.\n",
- " -p, --prefix <path> The output files prefix, add a slash to create new directory.\n",
- " -r, --ref-stats <file.fa.gc> Optional reference stats file with expected GC content (created with -s).\n",
- " -s, --do-ref-stats <file.fa> Calculate reference sequence GC for later use with -r\n",
- " -t, --targets <file.tab> Restrict -s to the listed regions (tab-delimited chr,from,to. 1-based, inclusive)\n",
- " -h, -?, --help This help message.\n",
- "\n";
-}
-
-
-sub parse_params
-{
- $0 =~ s{^.+/}{};
- my $opts = { args=>join(' ',$0, at ARGV) };
- while (defined(my $arg=shift(@ARGV)))
- {
- if ( $arg eq '-k' || $arg eq '--keep-files' ) { $$opts{keep_files}=1; next; }
- if ( $arg eq '-r' || $arg eq '--ref-stats' ) { $$opts{ref_stats}=shift(@ARGV); next; }
- if ( $arg eq '-s' || $arg eq '--do-ref-stats' ) { $$opts{do_ref_stats}=shift(@ARGV); next; }
- if ( $arg eq '-t' || $arg eq '--targets' ) { $$opts{targets}=shift(@ARGV); next; }
- if ( $arg eq '-p' || $arg eq '--prefix' ) { $$opts{prefix}=shift(@ARGV); next; }
- if ( $arg eq '-?' || $arg eq '-h' || $arg eq '--help' ) { error(); }
- if ( -e $arg ) { $$opts{bamcheck}=$arg; next; }
- error("Unknown parameter or non-existent file \"$arg\". Run -h for help.\n");
- }
- if ( exists($$opts{do_ref_stats }) ) { do_ref_stats($opts); exit; }
- if ( !exists($$opts{bamcheck}) ) { error("No bamcheck file?\n") }
- if ( !exists($$opts{prefix}) ) { error("Expected -p parameter.\n") }
- if ( $$opts{prefix}=~m{/$} ) { `mkdir -p $$opts{prefix}`; }
- elsif ( !($$opts{prefix}=~/-$/) ) { $$opts{prefix} .= '-'; }
- return $opts;
-}
-
-
-# Creates GC stats for either the whole reference or only on target regions for exome QC
-sub do_ref_stats
-{
- my ($opts) = @_;
-
-
- my %targets = ();
- if ( exists($$opts{targets}) )
- {
- my ($prev_chr,$prev_pos);
- open(my $fh,'<',$$opts{targets}) or error("$$opts{targets}: $!");
- while (my $line=<$fh>)
- {
- if ( $line=~/^#/ ) { next; }
- my ($chr,$from,$to) = split(/\s+/,$line);
- chomp($to);
- push @{$targets{$chr}}, $from,$to;
- if ( !defined $prev_chr or $chr ne $prev_chr ) { $prev_chr=$chr; $prev_pos=$from }
- if ( $prev_pos > $from ) { error("The file must be sorted: $$opts{targets}\n"); }
- $prev_pos = $from;
- }
- close($fh);
- }
-
- my $_len = 60; # for now do only standard fasta's with 60 bases per line
- my %gc_counts = ();
- my ($skip_chr,$pos,$ireg,$regions);
- open(my $fh,'<',$$opts{do_ref_stats}) or error("$$opts{do_ref_stats}: $!");
- while (my $line=<$fh>)
- {
- if ( $line=~/^>/ )
- {
- if ( !scalar %targets ) { next; }
-
- if ( !($line=~/>(\S+)/) ) { error("FIXME: could not determine chromosome name: $line"); }
- if ( !exists($targets{$1}) ) { $skip_chr=$1; next; }
- undef $skip_chr;
- $pos = 0;
- $ireg = 0;
- $regions = $targets{$1};
- }
- if ( defined $skip_chr ) { next; }
-
- # Only $_len sized lines are considered and no chopping for target regions.
- chomp($line);
- my $len = length($line);
- if ( $len ne $_len ) { next; }
-
- if ( scalar %targets )
- {
- while ( $ireg<@$regions && $$regions[$ireg+1]<=$pos ) { $ireg += 2; }
- $pos += $len;
- if ( $ireg==@$regions ) { next; }
- if ( $pos < $$regions[$ireg] ) { next; }
- }
-
- my $gc_count = 0;
- for (my $i=0; $i<$len; $i++)
- {
- my $base = substr($line,$i,1);
- if ( $base eq 'g' || $base eq 'G' || $base eq 'c' || $base eq 'C' ) { $gc_count++; }
- }
- $gc_counts{$gc_count}++;
- }
-
- print "# Generated by $$opts{args}\n";
- print "# The columns are: GC content bin, normalized frequency\n";
- my $max;
- for my $count (values %gc_counts)
- {
- if ( !defined $max or $count>$max ) { $max=$count; }
- }
- for my $gc (sort {$a<=>$b} keys %gc_counts)
- {
- if ( $gc==0 ) { next; }
- printf "%f\t%f\n", $gc*100./$_len, $gc_counts{$gc}/$max;
- }
-}
-
-sub plot
-{
- my ($cmdfile) = @_;
- my $cmd = "gnuplot $cmdfile";
- system($cmd);
- if ( $? ) { error("The command exited with non-zero status $?:\n\t$cmd\n\n"); }
-}
-
-
-sub parse_bamcheck
-{
- my ($opts) = @_;
- open(my $fh,'<',$$opts{bamcheck}) or error("$$opts{bamcheck}: $!");
- my $line = <$fh>;
- if ( !($line=~/^# This file was produced by bamcheck (\S+)/) ) { error("Sanity check failed: was this file generated by bamcheck?"); }
- $$opts{dat}{version} = $1;
- while ($line=<$fh>)
- {
- if ( $line=~/^#/ ) { next; }
- my @items = split(/\t/,$line);
- chomp($items[-1]);
- if ( $items[0] eq 'SN' )
- {
- $$opts{dat}{$items[1]} = splice(@items,2);
- next;
- }
- push @{$$opts{dat}{$items[0]}}, [splice(@items,1)];
- }
- close($fh);
-
- # Check sanity
- if ( !exists($$opts{dat}{'sequences:'}) or !$$opts{dat}{'sequences:'} )
- {
- error("Sanity check failed: no sequences found by bamcheck??\n");
- }
-}
-
-sub older_than
-{
- my ($opts,$version) = @_;
- my ($year,$month,$day) = split(/-/,$version);
- $version = $$opts{dat}{version};
- if ( !($version=~/\((\d+)-(\d+)-(\d+)\)$/) ) { return 1; }
- if ( $1<$year ) { return 1; }
- elsif ( $1>$year ) { return 0; }
- if ( $2<$month ) { return 1; }
- elsif ( $2>$month ) { return 0; }
- if ( $3<$day ) { return 1; }
- return 0;
-}
-
-sub get_defaults
-{
- my ($opts,$img_fname,%args) = @_;
-
- if ( !($img_fname=~/\.png$/i) ) { error("FIXME: currently only PNG supported. (Easy to extend.)\n"); }
-
- # Determine the gnuplot script file name
- my $gp_file = $img_fname;
- $gp_file =~ s{\.[^.]+$}{.gp};
- if ( !($gp_file=~/.gp$/) ) { $gp_file .= '.gp'; }
-
- # Determine the default title:
- # 5446_6/5446_6.bam.bc.gp -> 5446_6
- # test.aaa.png -> test.aaa
- if ( !($$opts{bamcheck}=~m{([^/]+?)(?:\.bam)?(?:\.bc)?$}i) ) { error("FIXME: Could not determine the title from [$img_fname]\n"); }
- my $title = $1;
-
- my $dir = $gp_file;
- $dir =~ s{/[^/]+$}{};
- if ( $dir && $dir ne $gp_file ) { `mkdir -p $dir`; }
-
- my $wh = exists($args{wh}) ? $args{wh} : '600,400';
-
- open(my $fh,'>',$gp_file) or error("$gp_file: $!");
- return {
- title => $title,
- gp => $gp_file,
- img => $img_fname,
- fh => $fh,
- terminal => qq[set terminal png size $wh truecolor],
- grid => 'set grid xtics ytics y2tics back lc rgb "#cccccc"',
- };
-}
-
-sub percentile
-{
- my ($p, at vals) = @_;
- my $N = 0;
- for my $val (@vals) { $N += $val; }
- my $n = $p*($N+1)/100.;
- my $k = int($n);
- my $d = $n-$k;
- if ( $k<=0 ) { return 0; }
- if ( $k>=$N ) { return scalar @vals-1; }
- my $cnt;
- for (my $i=0; $i<@vals; $i++)
- {
- $cnt += $vals[$i];
- if ( $cnt>=$k ) { return $i; }
- }
- error("FIXME: this should not happen [percentile]\n");
-}
-
-sub plot_qualities
-{
- my ($opts) = @_;
-
- if ( !exists($$opts{dat}{FFQ}) or !@{$$opts{dat}{FFQ}} ) { return; }
-
- my $yrange = @{$$opts{dat}{FFQ}[0]} > 50 ? @{$$opts{dat}{FFQ}[0]} : 50;
- my $is_paired = $$opts{dat}{'is paired:'};
-
- # Average quality per cycle, forward and reverse reads in one plot
- my $args = get_defaults($opts,"$$opts{prefix}quals.png");
- my $fh = $$args{fh};
- print $fh qq[
- $$args{terminal}
- set output "$$args{img}"
- $$args{grid}
- set ylabel "Average Quality"
- set xlabel "Cycle"
- set yrange [0:$yrange]
- set title "$$args{title}"
- plot '-' using 1:2 with lines title 'Forward reads' ] . ($is_paired ? q[, '-' using 1:2 with lines title 'Reverse reads'] : '') . q[
- ];
- my (@fp75, at fp50, at fmean);
- my (@lp75, at lp50, at lmean);
- my ($fmax,$fmax_qual,$fmax_cycle);
- my ($lmax,$lmax_qual,$lmax_cycle);
- for my $cycle (@{$$opts{dat}{FFQ}})
- {
- my $sum=0; my $n=0;
- for (my $iqual=1; $iqual<@$cycle; $iqual++)
- {
- $sum += $$cycle[$iqual]*$iqual;
- $n += $$cycle[$iqual];
- if ( !defined $fmax or $fmax<$$cycle[$iqual] ) { $fmax=$$cycle[$iqual]; $fmax_qual=$iqual; $fmax_cycle=$$cycle[0]; }
- }
- my $p25 = percentile(25,(@$cycle)[1..$#$cycle]);
- my $p50 = percentile(50,(@$cycle)[1..$#$cycle]);
- my $p75 = percentile(75,(@$cycle)[1..$#$cycle]);
- if ( !$n ) { next; }
- push @fp75, "$$cycle[0]\t$p25\t$p75\n";
- push @fp50, "$$cycle[0]\t$p50\n";
- push @fmean, sprintf "%d\t%.2f\n", $$cycle[0],$sum/$n;
- printf $fh $fmean[-1];
- }
- print $fh "end\n";
- if ( $is_paired )
- {
- for my $cycle (@{$$opts{dat}{LFQ}})
- {
- my $sum=0; my $n=0;
- for (my $iqual=1; $iqual<@$cycle; $iqual++)
- {
- $sum += $$cycle[$iqual]*$iqual;
- $n += $$cycle[$iqual];
- if ( !defined $lmax or $lmax<$$cycle[$iqual] ) { $lmax=$$cycle[$iqual]; $lmax_qual=$iqual; $lmax_cycle=$$cycle[0]; }
- }
- my $p25 = percentile(25,(@$cycle)[1..$#$cycle]);
- my $p50 = percentile(50,(@$cycle)[1..$#$cycle]);
- my $p75 = percentile(75,(@$cycle)[1..$#$cycle]);
- if ( !$n ) { next; }
- push @lp75, "$$cycle[0]\t$p25\t$p75\n";
- push @lp50, "$$cycle[0]\t$p50\n";
- push @lmean, sprintf "%d\t%.2f\n", $$cycle[0],$sum/$n;
- printf $fh $lmean[-1];
- }
- print $fh "end\n";
- }
- close($fh);
- plot($$args{gp});
-
-
-
- # Average, mean and quality percentiles per cycle, forward and reverse reads in separate plots
- $args = get_defaults($opts,"$$opts{prefix}quals2.png",wh=>'700,500');
- $fh = $$args{fh};
- print $fh qq[
- $$args{terminal}
- set output "$$args{img}"
- $$args{grid}
- set multiplot
- set rmargin 0
- set lmargin 0
- set tmargin 0
- set bmargin 0
- set origin 0.1,0.1
- set size 0.4,0.8
- set yrange [0:$yrange]
- set ylabel "Quality"
- set xlabel "Cycle (fwd reads)"
- plot '-' using 1:2:3 with filledcurve lt 1 lc rgb "#cccccc" t '25-75th percentile' , '-' using 1:2 with lines lc rgb "#000000" t 'Median', '-' using 1:2 with lines lt 1 t 'Mean'
- ];
- print $fh join('', at fp75),"end\n";
- print $fh join('', at fp50),"end\n";
- print $fh join('', at fmean),"end\n";
- if ( $is_paired )
- {
- print $fh qq[
- set origin 0.55,0.1
- set size 0.4,0.8
- unset ytics
- set y2tics mirror
- set yrange [0:$yrange]
- unset ylabel
- set xlabel "Cycle (rev reads)"
- set label "$$args{title}" at screen 0.5,0.95 center
- plot '-' using 1:2:3 with filledcurve lt 1 lc rgb "#cccccc" t '25-75th percentile' , '-' using 1:2 with lines lc rgb "#000000" t 'Median', '-' using 1:2 with lines lt 2 t 'Mean'
- ];
- print $fh join('', at lp75),"end\n";
- print $fh join('', at lp50),"end\n";
- print $fh join('', at lmean),"end\n";
- }
- close($fh);
- plot($$args{gp});
-
-
-
- # Quality distribution per cycle, the distribution is for each cycle plotted as a separate curve
- $args = get_defaults($opts,"$$opts{prefix}quals3.png",wh=>'600,600');
- $fh = $$args{fh};
- my $nquals = @{$$opts{dat}{FFQ}[0]}-1;
- my $ncycles = @{$$opts{dat}{FFQ}};
- print $fh qq[
- $$args{terminal}
- set output "$$args{img}"
- $$args{grid}
- set multiplot
- set rmargin 0
- set lmargin 0
- set tmargin 0
- set bmargin 0
- set origin 0.15,0.52
- set size 0.8,0.4
- set title "$$args{title}"
- set ylabel "Frequency (fwd reads)"
- set label "Cycle $fmax_cycle" at $fmax_qual+1,$fmax
- unset xlabel
- set xrange [0:$nquals]
- set format x ""
- ];
- my @plots;
- for (my $i=0; $i<$ncycles; $i++) { push @plots, q['-' using 1:2 with lines t ''] }
- print $fh "plot ", join(",", @plots), "\n";
- for my $cycle (@{$$opts{dat}{FFQ}})
- {
- for (my $iqual=1; $iqual<$nquals; $iqual++) { print $fh "$iqual\t$$cycle[$iqual]\n"; }
- print $fh "end\n";
- }
- if ( $is_paired )
- {
- print $fh qq[
- set origin 0.15,0.1
- set size 0.8,0.4
- unset title
- unset format
- set xtics
- set xlabel "Quality"
- unset label
- set label "Cycle $lmax_cycle" at $lmax_qual+1,$lmax
- set ylabel "Frequency (rev reads)"
- ];
- print $fh "plot ", join(",", @plots), "\n";
- for my $cycle (@{$$opts{dat}{LFQ}})
- {
- for (my $iqual=1; $iqual<$nquals; $iqual++)
- {
- print $fh "$iqual\t$$cycle[$iqual]\n";
- }
- print $fh "end\n";
- }
- }
- close($fh);
- plot($$args{gp});
-
-
- # Heatmap qualitites
- $args = get_defaults($opts,"$$opts{prefix}quals-hm.png", wh=>'600,500');
- $fh = $$args{fh};
- my $max = defined $lmax && $lmax > $fmax ? $lmax : $fmax;
- my @ytics;
- for my $cycle (@{$$opts{dat}{FFQ}}) { if ( $$cycle[0]%10==0 ) { push @ytics,qq["$$cycle[0]" $$cycle[0]]; } }
- my $ytics = join(',', @ytics);
- print $fh qq[
- $$args{terminal}
- set output "$$args{img}"
- unset key
- unset colorbox
- set palette defined (0 0 0 0, 1 0 0 1, 3 0 1 0, 4 1 0 0, 6 1 1 1)
- set cbrange [0:$max]
- set yrange [0:$ncycles]
- set xrange [0:$nquals]
- set view map
- set multiplot
- set rmargin 0
- set lmargin 0
- set tmargin 0
- set bmargin 0
- set origin 0,0.46
- set size 0.95,0.6
- set obj 1 rectangle behind from first 0,0 to first $nquals,$ncycles
- set obj 1 fillstyle solid 1.0 fillcolor rgbcolor "black"
- set ylabel "Cycle (fwd reads)" offset character -1,0
- unset ytics
- set ytics ($ytics)
- unset xtics
- set title "$$args{title}"
- splot '-' matrix with image
- ];
- for my $cycle (@{$$opts{dat}{FFQ}})
- {
- for (my $iqual=1; $iqual<@$cycle; $iqual++) { print $fh "\t$$cycle[$iqual]"; }
- print $fh "\n";
- }
- print $fh "end\nend\n";
- @ytics = ();
- for my $cycle (@{$$opts{dat}{LFQ}}) { if ( $$cycle[0]%10==0 ) { push @ytics,qq["$$cycle[0]" $$cycle[0]]; } }
- $ytics = join(',', @ytics);
- print $fh qq[
- set origin 0,0.03
- set size 0.95,0.6
- set ylabel "Cycle (rev reads)" offset character -1,0
- set xlabel "Base Quality"
- unset title
- unset ytics
- set ytics ($ytics)
- set xrange [0:$nquals]
- set xtics
- set colorbox vertical user origin first ($nquals+1),0 size screen 0.025,0.812
- set cblabel "Number of bases"
- splot '-' matrix with image
- ];
- for my $cycle (@{$$opts{dat}{LFQ}})
- {
- for (my $iqual=1; $iqual<@$cycle; $iqual++) { print $fh "\t$$cycle[$iqual]"; }
- print $fh "\n";
- }
- print $fh "end\nend\n";
- close($fh);
- plot($$args{gp});
-}
-
-
-sub plot_acgt_cycles
-{
- my ($opts) = @_;
-
- if ( !exists($$opts{dat}{GCC}) or !@{$$opts{dat}{GCC}} ) { return; }
-
- my $args = get_defaults($opts,"$$opts{prefix}acgt-cycles.png");
- my $fh = $$args{fh};
- print $fh qq[
- $$args{terminal}
- set output "$$args{img}"
- $$args{grid}
- set style line 1 linecolor rgb "green"
- set style line 2 linecolor rgb "red"
- set style line 3 linecolor rgb "black"
- set style line 4 linecolor rgb "blue"
- set style increment user
- set ylabel "Base content [%]"
- set xlabel "Read Cycle"
- set yrange [0:100]
- set title "$$args{title}"
- plot '-' w l ti 'A', '-' w l ti 'C', '-' w l ti 'G', '-' w l ti 'T'
- ];
- for my $base (1..4)
- {
- for my $cycle (@{$$opts{dat}{GCC}})
- {
- print $fh $$cycle[0]+1,"\t",$$cycle[$base],"\n";
- }
- print $fh "end\n";
- }
- close($fh);
- plot($$args{gp});
-}
-
-
-sub plot_gc
-{
- my ($opts) = @_;
-
- my $is_paired = $$opts{dat}{'is paired:'};
- my $args = get_defaults($opts,"$$opts{prefix}gc-content.png");
- my $fh = $$args{fh};
- my ($gcl_max,$gcf_max,$lmax,$fmax);
- for my $gc (@{$$opts{dat}{GCF}}) { if ( !defined $gcf_max or $gcf_max<$$gc[1] ) { $gcf_max=$$gc[1]; $fmax=$$gc[0]; } }
- for my $gc (@{$$opts{dat}{GCL}}) { if ( !defined $gcl_max or $gcl_max<$$gc[1] ) { $gcl_max=$$gc[1]; $lmax=$$gc[0]; } }
- my $gcmax = $is_paired && $gcl_max > $gcf_max ? $lmax : $fmax;
- print $fh qq[
- $$args{terminal}
- set output "$$args{img}"
- $$args{grid}
- set title "$$args{title}"
- set ylabel "Normalized Frequency"
- set xlabel "GC Content [%]"
- set yrange [0:1.1]
- set label sprintf("%.1f",$gcmax) at $gcmax,1 front offset 1,0
- plot ]
- . (exists($$opts{ref_stats}) ? q['-' smooth csplines with lines lt 0 title 'Reference', ] : '')
- . q['-' smooth csplines with lines lc 1 title 'First fragments' ]
- . ($is_paired ? q[, '-' smooth csplines with lines lc 2 title 'Last fragments'] : '')
- . q[
- ];
- if ( exists($$opts{ref_stats}) )
- {
- open(my $ref,'<',$$opts{ref_stats}) or error("$$opts{ref_stats}: $!");
- while (my $line=<$ref>) { print $fh $line }
- close($ref);
- print $fh "end\n";
- }
- for my $cycle (@{$$opts{dat}{GCF}}) { printf $fh "%d\t%f\n", $$cycle[0],$$cycle[1]/$gcf_max; }
- print $fh "end\n";
- if ( $is_paired )
- {
- for my $cycle (@{$$opts{dat}{GCL}}) { printf $fh "%d\t%f\n", $$cycle[0],$$cycle[1]/$gcl_max; }
- print $fh "end\n";
- }
- close($fh);
- plot($$args{gp});
-}
-
-
-sub plot_gc_depth
-{
- my ($opts) = @_;
-
- if ( !exists($$opts{dat}{GCD}) or !@{$$opts{dat}{GCD}} ) { return; }
-
- # Find unique sequence percentiles for 30,40, and 50% GC content, just to draw x2tics.
- my @tics = ( {gc=>30},{gc=>40},{gc=>50} );
- for my $gc (@{$$opts{dat}{GCD}})
- {
- for my $tic (@tics)
- {
- my $diff = abs($$gc[0]-$$tic{gc});
- if ( !exists($$tic{pr}) or $diff<$$tic{diff} ) { $$tic{pr}=$$gc[1]; $$tic{diff}=$diff; }
- }
- }
-
- my @x2tics;
- for my $tic (@tics) { push @x2tics, qq["$$tic{gc}" $$tic{pr}]; }
- my $x2tics = join(',', at x2tics);
-
- my $args = get_defaults($opts,"$$opts{prefix}gc-depth.png", wh=>'600,500');
- my $fh = $$args{fh};
- print $fh qq[
- $$args{terminal}
- set output "$$args{img}"
- $$args{grid}
- set ylabel "Mapped depth"
- set xlabel "Percentile of mapped sequence ordered by GC content"
- set x2label "GC Content [%]"
- set title "$$args{title}"
- set x2tics ($x2tics)
- set xtics nomirror
- set xrange [0.1:99.9]
-
- plot '-' using 1:2:3 with filledcurve lt 1 lc rgb "#dedede" t '10-90th percentile' , \\
- '-' using 1:2:3 with filledcurve lt 1 lc rgb "#bbdeff" t '25-75th percentile' , \\
- '-' using 1:2 with lines lc rgb "#0084ff" t 'Median'
- ];
- for my $gc (@{$$opts{dat}{GCD}}) { print $fh "$$gc[1]\t$$gc[2]\t$$gc[6]\n"; } print $fh "end\n";
- for my $gc (@{$$opts{dat}{GCD}}) { print $fh "$$gc[1]\t$$gc[3]\t$$gc[5]\n"; } print $fh "end\n";
- for my $gc (@{$$opts{dat}{GCD}}) { print $fh "$$gc[1]\t$$gc[4]\n"; } print $fh "end\n";
- close($fh);
- plot($$args{gp});
-}
-
-
-sub plot_isize
-{
- my ($opts) = @_;
-
- if ( !$$opts{dat}{'is paired:'} or !exists($$opts{dat}{IS}) or !@{$$opts{dat}{IS}} ) { return; }
-
- my ($isize_max,$isize_cnt);
- for my $isize (@{$$opts{dat}{IS}})
- {
- if ( !defined $isize_max or $isize_cnt<$$isize[1] ) { $isize_cnt=$$isize[1]; $isize_max=$$isize[0]; }
- }
-
- my $args = get_defaults($opts,"$$opts{prefix}insert-size.png");
- my $fh = $$args{fh};
- print $fh qq[
- $$args{terminal}
- set output "$$args{img}"
- $$args{grid}
- set rmargin 5
- set label sprintf("%d",$isize_max) at $isize_max+10,$isize_cnt
- set ylabel "Number of pairs"
- set xlabel "Insert Size"
- set title "$$args{title}"
- plot \\
- '-' with lines lc rgb 'black' title 'All pairs', \\
- '-' with lines title 'Inward', \\
- '-' with lines title 'Outward', \\
- '-' with lines title 'Other'
- ];
- for my $isize (@{$$opts{dat}{IS}}) { print $fh "$$isize[0]\t$$isize[1]\n"; } print $fh "end\n";
- for my $isize (@{$$opts{dat}{IS}}) { print $fh "$$isize[0]\t$$isize[2]\n"; } print $fh "end\n";
- for my $isize (@{$$opts{dat}{IS}}) { print $fh "$$isize[0]\t$$isize[3]\n"; } print $fh "end\n";
- for my $isize (@{$$opts{dat}{IS}}) { print $fh "$$isize[0]\t$$isize[4]\n"; } print $fh "end\n";
- close($fh);
- plot($$args{gp});
-}
-
-
-sub plot_coverage
-{
- my ($opts) = @_;
-
- if ( !exists($$opts{dat}{COV}) or !@{$$opts{dat}{COV}} ) { return; }
-
- my @vals;
- for my $cov (@{$$opts{dat}{COV}}) { push @vals,$$cov[2]; }
- my $i = percentile(99.8, at vals);
- my $p99 = $$opts{dat}{COV}[$i][1];
-
- my $args = get_defaults($opts,"$$opts{prefix}coverage.png");
- my $fh = $$args{fh};
- print $fh qq[
- $$args{terminal}
- set output "$$args{img}"
- $$args{grid}
- set ylabel "Number of mapped bases"
- set xlabel "Coverage"
- set style fill solid border -1
- set title "$$args{title}"
- set xrange [:$p99]
- plot '-' with lines notitle
- ];
- for my $cov (@{$$opts{dat}{COV}})
- {
- if ( $$cov[2]==0 ) { next; }
- print $fh "$$cov[1]\t$$cov[2]\n";
- }
- print $fh "end\n";
- close($fh);
- plot($$args{gp});
-}
-
-
-sub plot_mismatches_per_cycle
-{
- my ($opts) = @_;
-
- if ( !exists($$opts{dat}{MPC}) or !@{$$opts{dat}{MPC}} ) { return; }
- if ( older_than($opts,'2012-02-06') ) { plot_mismatches_per_cycle_old($opts); }
-
- my $nquals = @{$$opts{dat}{MPC}[0]} - 2;
- my $ncycles = @{$$opts{dat}{MPC}};
- my ($style,$with);
- if ( $ncycles>100 ) { $style = ''; $with = 'w l'; }
- else { $style = 'set style data histogram; set style histogram rowstacked'; $with = ''; }
-
- my $args = get_defaults($opts,"$$opts{prefix}mism-per-cycle.png");
- my $fh = $$args{fh};
- print $fh qq[
- $$args{terminal}
- set output "$$args{img}"
- $$args{grid}
- set style line 1 linecolor rgb "#e40000"
- set style line 2 linecolor rgb "#ff9f00"
- set style line 3 linecolor rgb "#eeee00"
- set style line 4 linecolor rgb "#4ebd68"
- set style line 5 linecolor rgb "#0061ff"
- set style increment user
- set key left top
- $style
- set ylabel "Number of mismatches"
- set xlabel "Read Cycle"
- set style fill solid border -1
- set title "$$args{title}"
- set xrange [-1:$ncycles]
- plot '-' $with ti 'Base Quality>30', \\
- '-' $with ti '30>=Q>20', \\
- '-' $with ti '20>=Q>10', \\
- '-' $with ti '10>=Q', \\
- '-' $with ti "N's"
- ];
- for my $cycle (@{$$opts{dat}{MPC}})
- {
- my $sum; for my $idx (31..$#$cycle) { $sum += $$cycle[$idx]; }
- print $fh "$sum\n";
- }
- print $fh "end\n";
- for my $cycle (@{$$opts{dat}{MPC}})
- {
- my $sum; for my $idx (22..31) { $sum += $$cycle[$idx]; }
- print $fh "$sum\n";
- }
- print $fh "end\n";
- for my $cycle (@{$$opts{dat}{MPC}})
- {
- my $sum; for my $idx (12..21) { $sum += $$cycle[$idx]; }
- print $fh "$sum\n";
- }
- print $fh "end\n";
- for my $cycle (@{$$opts{dat}{MPC}})
- {
- my $sum; for my $idx (2..11) { $sum += $$cycle[$idx]; }
- print $fh "$sum\n";
- }
- print $fh "end\n";
- for my $cycle (@{$$opts{dat}{MPC}}) { print $fh "$$cycle[1]\n"; }
- print $fh "end\n";
- close($fh);
- plot($$args{gp});
-}
-
-sub plot_indel_dist
-{
- my ($opts) = @_;
-
- if ( !exists($$opts{dat}{ID}) or !@{$$opts{dat}{ID}} ) { return; }
-
- my $args = get_defaults($opts,"$$opts{prefix}indel-dist.png");
- my $fh = $$args{fh};
- print $fh qq[
- $$args{terminal}
- set output "$$args{img}"
- $$args{grid}
- set style line 1 linetype 1 linecolor rgb "red"
- set style line 2 linetype 2 linecolor rgb "black"
- set style line 3 linetype 3 linecolor rgb "green"
- set style increment user
- set ylabel "Indel count [log]"
- set xlabel "Indel length"
- set y2label "Insertions/Deletions ratio"
- set log y
- set y2tics nomirror
- set ytics nomirror
- set title "$$args{title}"
- plot '-' w l ti 'Insertions', '-' w l ti 'Deletions', '-' axes x1y2 w l ti "Ins/Dels ratio"
- ];
- for my $len (@{$$opts{dat}{ID}}) { print $fh "$$len[0]\t$$len[1]\n"; } print $fh "end\n";
- for my $len (@{$$opts{dat}{ID}}) { print $fh "$$len[0]\t$$len[2]\n"; } print $fh "end\n";
- for my $len (@{$$opts{dat}{ID}}) { printf $fh "%d\t%f\n", $$len[0],$$len[2]?$$len[1]/$$len[2]:0; } print $fh "end\n";
- close($fh);
- plot($$args{gp});
-}
-
-sub plot_indel_cycles
-{
- my ($opts) = @_;
-
- if ( !exists($$opts{dat}{IC}) or !@{$$opts{dat}{IC}} ) { return; }
-
- my $args = get_defaults($opts,"$$opts{prefix}indel-cycles.png");
- my $fh = $$args{fh};
- print $fh qq[
- $$args{terminal}
- set output "$$args{img}"
- $$args{grid}
- set style line 1 linetype 1 linecolor rgb "red"
- set style line 2 linetype 2 linecolor rgb "black"
- set style line 3 linetype 3 linecolor rgb "green"
- set style line 4 linetype 4 linecolor rgb "blue"
- set style increment user
- set ylabel "Indel count"
- set xlabel "Read Cycle"
- set title "$$args{title}"
- plot '-' w l ti 'Insertions (fwd)', '' w l ti 'Insertions (rev)', '' w l ti 'Deletions (fwd)', '' w l ti 'Deletions (rev)'
- ];
- for my $len (@{$$opts{dat}{IC}}) { print $fh "$$len[0]\t$$len[1]\n"; } print $fh "end\n";
- for my $len (@{$$opts{dat}{IC}}) { print $fh "$$len[0]\t$$len[2]\n"; } print $fh "end\n";
- for my $len (@{$$opts{dat}{IC}}) { print $fh "$$len[0]\t$$len[3]\n"; } print $fh "end\n";
- for my $len (@{$$opts{dat}{IC}}) { print $fh "$$len[0]\t$$len[4]\n"; } print $fh "end\n";
- close($fh);
- plot($$args{gp});
-}
-
-
-
-
-
-
-
-sub has_values
-{
- my ($opts, at tags) = @_;
- for my $tag (@tags)
- {
- my (@lines) = `cat $$opts{bamcheck} | grep ^$tag | wc -l`;
- chomp($lines[0]);
- if ( $lines[0]<2 ) { return 0; }
- }
- return 1;
-}
-
-sub plot_mismatches_per_cycle_old
-{
- my ($opts) = @_;
-
- my $args = get_defaults($opts,"$$opts{prefix}mism-per-cycle.png");
- my ($nquals) = `grep ^MPC $$opts{bamcheck} | awk '\$2==1' | sed 's,\\t,\\n,g' | wc -l`;
- my ($ncycles) = `grep ^MPC $$opts{bamcheck} | wc -l`;
- chomp($nquals);
- chomp($ncycles);
- $nquals--;
- $ncycles--;
- my @gr0_15 = (2..17);
- my @gr16_30 = (18..32);
- my @gr31_n = (33..$nquals);
- my $gr0_15 = '$'. join('+$', at gr0_15);
- my $gr16_30 = '$'. join('+$', at gr16_30);
- my $gr31_n = '$'. join('+$', at gr31_n);
-
- open(my $fh,'>',$$args{gp}) or error("$$args{gp}: $!");
- print $fh q[
- set terminal png size 600,400 truecolor font "DejaVuSansMono,9"
- set output "] . $$args{img} . q["
-
- set key left top
- set style data histogram
- set style histogram rowstacked
-
- set grid back lc rgb "#aaaaaa"
- set ylabel "Number of mismatches"
- set xlabel "Read Cycle"
- set style fill solid border -1
- set title "] . $$args{title} . qq["
- set xrange [-1:$ncycles]
-
- plot '< grep ^MPC $$opts{bamcheck} | cut -f 2-' using ($gr31_n) ti 'Base Quality>30', '' using ($gr16_30) ti '30>=Q>15', '' using ($gr0_15) ti '15>=Q'
- ];
- close($fh);
-
- plot($$args{gp});
-}
-
-
diff --git a/sam/misc/psl2sam.pl b/sam/misc/psl2sam.pl
deleted file mode 100755
index a96a6de..0000000
--- a/sam/misc/psl2sam.pl
+++ /dev/null
@@ -1,65 +0,0 @@
-#!/usr/bin/perl -w
-
-# Author: lh3
-
-# This script calculates a score using the BLAST scoring
-# system. However, I am not sure how to count gap opens and gap
-# extensions. It seems to me that column 5-8 are not what I am
-# after. This script counts gaps from the last three columns. It does
-# not generate reference skip (N) in the CIGAR as it is not easy to
-# directly tell which gaps correspond to introns.
-
-use strict;
-use warnings;
-use Getopt::Std;
-
-my %opts = (a=>1, b=>3, q=>5, r=>2);
-getopts('a:b:q:r:', \%opts);
-die("Usage: psl2sam.pl [-a $opts{a}] [-b $opts{b}] [-q $opts{q}] [-r $opts{r}] <in.psl>\n") if (@ARGV == 0 && -t STDIN);
-
-my @stack;
-my $last = '';
-my ($a, $b, $q, $r) = ($opts{a}, $opts{b}, $opts{q}, $opts{r});
-while (<>) {
- next unless (/^\d/);
- my @t = split;
- my @s;
- my $cigar = '';
- if ($t[8] eq '-') {
- my $tmp = $t[11];
- $t[11] = $t[10] - $t[12];
- $t[12] = $t[10] - $tmp;
- }
- @s[0..4] = ($t[9], (($t[8] eq '+')? 0 : 16), $t[13], $t[15]+1, 0);
- @s[6..10] = ('*', 0, 0, '*', '*');
- $cigar .= $t[11].'H' if ($t[11]); # 5'-end clipping
- my @x = split(',', $t[18]);
- my @y = split(',', $t[19]);
- my @z = split(',', $t[20]);
- my ($y0, $z0) = ($y[0], $z[0]);
- my ($gap_open, $gap_ext) = (0, 0, 0);
- for (1 .. $t[17]-1) {
- my $ly = $y[$_] - $y[$_-1] - $x[$_-1];
- my $lz = $z[$_] - $z[$_-1] - $x[$_-1];
- if ($ly < $lz) { # del: the reference gap is longer
- ++$gap_open;
- $gap_ext += $lz - $ly;
- $cigar .= ($y[$_] - $y0) . 'M';
- $cigar .= ($lz - $ly) . 'D';
- ($y0, $z0) = ($y[$_], $z[$_]);
- } elsif ($lz < $ly) { # ins: the query gap is longer
- ++$gap_open;
- $gap_ext += $ly - $lz;
- $cigar .= ($z[$_] - $z0) . 'M';
- $cigar .= ($ly - $lz) . 'I';
- ($y0, $z0) = ($y[$_], $z[$_]);
- }
- }
- $cigar .= ($t[12] - $y0) . 'M';
- $cigar .= ($t[10] - $t[12]).'H' if ($t[10] != $t[12]); # 3'-end clipping
- $s[5] = $cigar;
- my $score = $a * $t[0] - $b * $t[1] - $q * $gap_open - $r * $gap_ext;
- $score = 0 if ($score < 0);
- $s[11] = "AS:i:$score";
- print join("\t", @s), "\n";
-}
diff --git a/sam/misc/r2plot.lua b/sam/misc/r2plot.lua
deleted file mode 100755
index 0a1b9f1..0000000
--- a/sam/misc/r2plot.lua
+++ /dev/null
@@ -1,83 +0,0 @@
-#!/usr/bin/env luajit
-
-function string:split(sep, n)
- local a, start = {}, 1;
- sep = sep or "%s+";
- repeat
- local b, e = self:find(sep, start);
- if b == nil then
- table.insert(a, self:sub(start));
- break
- end
- a[#a+1] = self:sub(start, b - 1);
- start = e + 1;
- if n and #a == n then
- table.insert(a, self:sub(start));
- break
- end
- until start > #self;
- return a;
-end
-
-function io.xopen(fn, mode)
- mode = mode or 'r';
- if fn == nil then return io.stdin;
- elseif fn == '-' then return (mode == 'r' and io.stdin) or io.stdout;
- elseif fn:sub(-3) == '.gz' then return (mode == 'r' and io.popen('gzip -dc ' .. fn, 'r')) or io.popen('gzip > ' .. fn, 'w');
- elseif fn:sub(-4) == '.bz2' then return (mode == 'r' and io.popen('bzip2 -dc ' .. fn, 'r')) or io.popen('bgzip2 > ' .. fn, 'w');
- else return io.open(fn, mode) end
-end
-
-local eps = {};
-
-function eps.func(fp)
- fp = fp or io.stdout
- fp:write("/C { dup 255 and 255 div exch dup -8 bitshift 255 and 255 div 3 1 roll -16 bitshift 255 and 255 div 3 1 roll setrgbcolor } bind def\n")
- fp:write("/L { 4 2 roll moveto lineto } bind def\n")
- fp:write("/LX { dup 4 -1 roll exch moveto lineto } bind def\n")
- fp:write("/LY { dup 4 -1 roll moveto exch lineto } bind def\n")
- fp:write("/LS { 3 1 roll moveto show } bind def\n")
- fp:write("/RS { dup stringwidth pop 4 -1 roll exch sub 3 -1 roll moveto show } bind def\n")
- fp:write("/B { 4 copy 3 1 roll exch 6 2 roll 8 -2 roll moveto lineto lineto lineto closepath } bind def\n")
-end
-
-function eps.font(ft, size, fp)
- fp = fp or io.stdout
- fp:write(string.format('/FS %d def\n', size));
- fp:write('/FS4 FS 4 div def\n');
- fp:write('/' .. ft .. ' findfont FS scalefont setfont\n');
-end
-
-local scale = 8;
-
-if #arg == 0 then
- print("Usage: r2plot.lua <in.txt>");
- os.exit(1)
-end
-
-local fp = io.xopen(arg[1]);
-local n = tonumber(fp:read());
-
-print('%!PS-Adobe-3.0 EPSF-3.0');
-print('%%' .. string.format('BoundingBox: -%d -%d %.3f %.3f\n', 10*scale, scale, (n+1)*scale, (n+1)*scale));
-print(string.format('%.3f setlinewidth', scale));
-print(string.format('/plot { setgray moveto 0 %d rlineto } def', scale));
-print(string.format('/plothalf { setgray moveto 0 %.2f rlineto } def', scale/2));
-eps.func();
-eps.font('Helvetica', scale-1);
-
-local i = 1;
-for l in fp:lines() do
- local t = l:split('\t');
- print(string.format("%d %d FS4 add (%s) RS", (i-1)*scale-2, (i-1)*scale, t[1]));
- for j = 2, #t do
- if tonumber(t[j]) > 0.01 then
- print(string.format('%.2f %.2f %.2f plot stroke', (i-1+.5)*scale, (j-2)*scale, 1.-t[j]));
- end
- end
- i = i + 1;
-end
-for j = 1, 21 do
- print(string.format('%.2f %.2f %.2f plothalf stroke', -8*scale, (j-1) * scale/2, 1.-(j-1)/20));
-end
-print('showpage');
diff --git a/sam/misc/sam2vcf.pl b/sam/misc/sam2vcf.pl
deleted file mode 100755
index afaf91e..0000000
--- a/sam/misc/sam2vcf.pl
+++ /dev/null
@@ -1,270 +0,0 @@
-#!/usr/bin/perl -w
-#
-# VCF specs: http://www.1000genomes.org/wiki/doku.php?id=1000_genomes:analysis:vcf3.3
-#
-# Contact: pd3 at sanger
-# Version: 2010-04-23
-
-use strict;
-use warnings;
-use Carp;
-
-my $opts = parse_params();
-do_pileup_to_vcf($opts);
-
-exit;
-
-#---------------
-
-sub error
-{
- my (@msg) = @_;
- if ( scalar @msg ) { croak(@msg); }
- die
- "Usage: sam2vcf.pl [OPTIONS] < in.pileup > out.vcf\n",
- "Options:\n",
- " -h, -?, --help This help message.\n",
- " -i, --indels-only Ignore SNPs.\n",
- " -r, --refseq <file.fa> The reference sequence, required when indels are present.\n",
- " -R, --keep-ref Print reference alleles as well.\n",
- " -s, --snps-only Ignore indels.\n",
- " -t, --column-title <string> The column title.\n",
- "\n";
-}
-
-
-sub parse_params
-{
- my %opts = ();
-
- $opts{fh_in} = *STDIN;
- $opts{fh_out} = *STDOUT;
-
- while (my $arg=shift(@ARGV))
- {
- if ( $arg eq '-R' || $arg eq '--keep-ref' ) { $opts{keep_ref}=1; next; }
- if ( $arg eq '-r' || $arg eq '--refseq' ) { $opts{refseq}=shift(@ARGV); next; }
- if ( $arg eq '-t' || $arg eq '--column-title' ) { $opts{title}=shift(@ARGV); next; }
- if ( $arg eq '-s' || $arg eq '--snps-only' ) { $opts{snps_only}=1; next; }
- if ( $arg eq '-i' || $arg eq '--indels-only' ) { $opts{indels_only}=1; next; }
- if ( $arg eq '-?' || $arg eq '-h' || $arg eq '--help' ) { error(); }
-
- error("Unknown parameter \"$arg\". Run -h for help.\n");
- }
- return \%opts;
-}
-
-sub iupac_to_gtype
-{
- my ($ref,$base) = @_;
- my %iupac = (
- 'K' => ['G','T'],
- 'M' => ['A','C'],
- 'S' => ['C','G'],
- 'R' => ['A','G'],
- 'W' => ['A','T'],
- 'Y' => ['C','T'],
- );
- if ( !exists($iupac{$base}) )
- {
- if ( $base ne 'A' && $base ne 'C' && $base ne 'G' && $base ne 'T' ) { error("FIXME: what is this [$base]?\n"); }
- if ( $ref eq $base ) { return ('.','0/0'); }
- return ($base,'1/1');
- }
- my $gt = $iupac{$base};
- if ( $$gt[0] eq $ref ) { return ($$gt[1],'0/1'); }
- elsif ( $$gt[1] eq $ref ) { return ($$gt[0],'0/1'); }
- return ("$$gt[0],$$gt[1]",'1/2');
-}
-
-
-sub parse_indel
-{
- my ($cons) = @_;
- if ( $cons=~/^-/ )
- {
- my $len = length($');
- return "D$len";
- }
- elsif ( $cons=~/^\+/ ) { return "I$'"; }
- elsif ( $cons eq '*' ) { return undef; }
- error("FIXME: could not parse [$cons]\n");
-}
-
-
-# An example of the pileup format:
-# 1 3000011 C C 32 0 98 1 ^~, A
-# 1 3002155 * +T/+T 53 119 52 5 +T * 4 1 0
-# 1 3003094 * -TT/-TT 31 164 60 11 -TT * 5 6 0
-# 1 3073986 * */-AAAAAAAAAAAAAA 3 3 45 9 * -AAAAAAAAAAAAAA 7 2 0
-#
-sub do_pileup_to_vcf
-{
- my ($opts) = @_;
-
- my $fh_in = $$opts{fh_in};
- my $fh_out = $$opts{fh_out};
- my ($prev_chr,$prev_pos,$prev_ref);
- my $refseq;
- my $ignore_indels = $$opts{snps_only} ? 1 : 0;
- my $ignore_snps = $$opts{indels_only} ? 1 : 0;
- my $keep_ref = $$opts{keep_ref} ? 1 : 0;
- my $title = exists($$opts{title}) ? $$opts{title} : 'data';
-
- print $fh_out
- qq[##fileformat=VCFv3.3\n],
- qq[##INFO=DP,1,Integer,"Total Depth"\n],
- qq[##FORMAT=GT,1,String,"Genotype"\n],
- qq[##FORMAT=GQ,1,Integer,"Genotype Quality"\n],
- qq[##FORMAT=DP,1,Integer,"Read Depth"\n],
- qq[#CHROM\tPOS\tID\tREF\tALT\tQUAL\tFILTER\tINFO\tFORMAT\t$title\n]
- ;
-
- while (my $line=<$fh_in>)
- {
- chomp($line);
- my (@items) = split(/\t/,$line);
- if ( scalar @items<8 )
- {
- error("\nToo few columns, does not look like output of 'samtools pileup -c': $line\n");
- }
- my ($chr,$pos,$ref,$cons,$cons_qual,$snp_qual,$rms_qual,$depth,$a1,$a2) = @items;
- $ref = uc($ref);
- $cons = uc($cons);
-
- my ($alt,$gt);
- if ( $ref eq '*' )
- {
- # An indel is involved.
- if ( $ignore_indels )
- {
- $prev_ref = $ref;
- $prev_pos = $pos;
- $prev_chr = $chr;
- next;
- }
-
- if (!defined $prev_chr || $chr ne $prev_chr || $pos ne $prev_pos)
- {
- if ( !$$opts{refseq} ) { error("Cannot do indels without the reference.\n"); }
- if ( !$refseq ) { $refseq = Fasta->new(file=>$$opts{refseq}); }
- $ref = $refseq->get_base($chr,$pos);
- $ref = uc($ref);
- }
- else { $ref = $prev_ref; }
-
- # One of the alleles can be a reference and it can come in arbitrary order. In some
- # cases */* can be encountered. In such a case, look in the additional columns.
- my ($al1,$al2) = split(m{/},$cons);
- if ( $al1 eq $al2 && $al1 eq '*' ) { $al1=$a1; $al2=$a2; }
- my $alt1 = parse_indel($al1);
- my $alt2 = parse_indel($al2);
- if ( !$alt1 && !$alt2 ) { error("FIXME: could not parse indel:\n", $line); }
- if ( !$alt1 )
- {
- $alt=$alt2;
- $gt='0/1';
- }
- elsif ( !$alt2 )
- {
- $alt=$alt1;
- $gt='0/1';
- }
- elsif ( $alt1 eq $alt2 )
- {
- $alt="$alt1";
- $gt='1/1';
- }
- else
- {
- $alt="$alt1,$alt2";
- $gt='1/2';
- }
- }
- else
- {
- if ( $ignore_snps || (!$keep_ref && $ref eq $cons) )
- {
- $prev_ref = $ref;
- $prev_pos = $pos;
- $prev_chr = $chr;
- next;
- }
-
- # SNP
- ($alt,$gt) = iupac_to_gtype($ref,$cons);
- }
-
- print $fh_out "$chr\t$pos\t.\t$ref\t$alt\t$snp_qual\t0\tDP=$depth\tGT:GQ:DP\t$gt:$cons_qual:$depth\n";
-
- $prev_ref = $ref;
- $prev_pos = $pos;
- $prev_chr = $chr;
- }
-}
-
-
-#------------- Fasta --------------------
-#
-# Uses samtools to get a requested base from a fasta file. For efficiency, preloads
-# a chunk to memory. The size of the cached sequence can be controlled by the 'size'
-# parameter.
-#
-package Fasta;
-
-use strict;
-use warnings;
-use Carp;
-
-sub Fasta::new
-{
- my ($class, at args) = @_;
- my $self = {@args};
- bless $self, ref($class) || $class;
- if ( !$$self{file} ) { $self->throw(qq[Missing the parameter "file"\n]); }
- $$self{chr} = undef;
- $$self{from} = undef;
- $$self{to} = undef;
- if ( !$$self{size} ) { $$self{size}=10_000_000; }
- bless $self, ref($class) || $class;
- return $self;
-}
-
-sub read_chunk
-{
- my ($self,$chr,$pos) = @_;
- my $to = $pos + $$self{size};
- my $cmd = "samtools faidx $$self{file} $chr:$pos-$to";
- my @out = `$cmd`;
- if ( $? ) { $self->throw("$cmd: $!"); }
- my $line = shift(@out);
- if ( !($line=~/^>$chr:(\d+)-(\d+)/) ) { $self->throw("Could not parse: $line"); }
- $$self{chr} = $chr;
- $$self{from} = $1;
- $$self{to} = $2;
- my $chunk = '';
- while ($line=shift(@out))
- {
- chomp($line);
- $chunk .= $line;
- }
- $$self{chunk} = $chunk;
- return;
-}
-
-sub get_base
-{
- my ($self,$chr,$pos) = @_;
- if ( !$$self{chr} || $chr ne $$self{chr} || $pos<$$self{from} || $pos>$$self{to} )
- {
- $self->read_chunk($chr,$pos);
- }
- my $idx = $pos - $$self{from};
- return substr($$self{chunk},$idx,1);
-}
-
-sub throw
-{
- my ($self, at msg) = @_;
- croak(@msg);
-}
diff --git a/sam/misc/samtools.pl b/sam/misc/samtools.pl
deleted file mode 100755
index d03c1c7..0000000
--- a/sam/misc/samtools.pl
+++ /dev/null
@@ -1,528 +0,0 @@
-#!/usr/bin/perl -w
-
-# Author: lh3
-
-use strict;
-use warnings;
-use Getopt::Std;
-
-my $version = '0.3.3';
-&usage if (@ARGV < 1);
-
-my $command = shift(@ARGV);
-my %func = (showALEN=>\&showALEN, pileup2fq=>\&pileup2fq, varFilter=>\&varFilter, plp2vcf=>\&plp2vcf,
- unique=>\&unique, uniqcmp=>\&uniqcmp, sra2hdr=>\&sra2hdr, sam2fq=>\&sam2fq);
-
-die("Unknown command \"$command\".\n") if (!defined($func{$command}));
-&{$func{$command}};
-exit(0);
-
-#
-# showALEN
-#
-
-sub showALEN {
- die(qq/Usage: samtools.pl showALEN <in.sam>\n/) if (@ARGV == 0 && -t STDIN);
- while (<>) {
- my @t = split;
- next if (/^\@/ || @t < 11);
- my $l = 0;
- $_ = $t[5];
- s/(\d+)[MI]/$l+=$1/eg;
- print join("\t", @t[0..5]), "\t$l\t", join("\t", @t[6..$#t]), "\n";
- }
-}
-
-#
-# varFilter
-#
-
-#
-# Filtration code:
-#
-# d low depth
-# D high depth
-# W too many SNPs in a window (SNP only)
-# G close to a high-quality indel (SNP only)
-# Q low RMS mapping quality (SNP only)
-# g close to another indel with higher quality (indel only)
-# s low SNP quality (SNP only)
-# i low indel quality (indel only)
-
-sub varFilter {
- my %opts = (d=>3, D=>100, l=>30, Q=>25, q=>10, G=>25, s=>100, w=>10, W=>10, N=>2, p=>undef, S=>'', i=>'');
- getopts('pq:d:D:l:Q:w:W:N:G:S:i:', \%opts);
- die(qq/
-Usage: samtools.pl varFilter [options] <in.cns-pileup>
-
-Options: -Q INT minimum RMS mapping quality for SNPs [$opts{Q}]
- -q INT minimum RMS mapping quality for gaps [$opts{q}]
- -d INT minimum read depth [$opts{d}]
- -D INT maximum read depth [$opts{D}]
- -S INT minimum SNP quality [$opts{S}]
- -i INT minimum indel quality [$opts{i}]
-
- -G INT min indel score for nearby SNP filtering [$opts{G}]
- -w INT SNP within INT bp around a gap to be filtered [$opts{w}]
-
- -W INT window size for filtering dense SNPs [$opts{W}]
- -N INT max number of SNPs in a window [$opts{N}]
-
- -l INT window size for filtering adjacent gaps [$opts{l}]
-
- -p print filtered variants
-\n/) if (@ARGV == 0 && -t STDIN);
-
- # calculate the window size
- my ($ol, $ow, $oW) = ($opts{l}, $opts{w}, $opts{W});
- my $max_dist = $ol > $ow? $ol : $ow;
- $max_dist = $oW if ($max_dist < $oW);
- # the core loop
- my @staging; # (indel_filtering_score, flt_tag)
- while (<>) {
- my @t = split;
- next if (uc($t[2]) eq uc($t[3]) || $t[3] eq '*/*'); # skip non-var sites
- # clear the out-of-range elements
- while (@staging) {
- # Still on the same chromosome and the first element's window still affects this position?
- last if ($staging[0][3] eq $t[0] && $staging[0][4] + $staging[0][2] + $max_dist >= $t[1]);
- varFilter_aux(shift(@staging), $opts{p}); # calling a function is a bit slower, not much
- }
- my ($flt, $score) = (0, -1);
- # first a simple filter
- if ($t[7] < $opts{d}) {
- $flt = 2;
- } elsif ($t[7] > $opts{D}) {
- $flt = 3;
- }
- if ($t[2] eq '*') { # an indel
- if ($opts{i} && $opts{i}>$t[5]) { $flt = 8; }
- }
- elsif ($opts{S} && $opts{S}>$t[5]) { $flt = 7; } # SNP
-
- # site dependent filters
- my $len=0;
- if ($flt == 0) {
- if ($t[2] eq '*') { # an indel
- # If deletion, remember the length of the deletion
- my ($a,$b) = split(m{/},$t[3]);
- my $alen = length($a) - 1;
- my $blen = length($b) - 1;
- if ( $alen>$blen )
- {
- if ( substr($a,0,1) eq '-' ) { $len=$alen; }
- }
- elsif ( substr($b,0,1) eq '-' ) { $len=$blen; }
-
- $flt = 1 if ($t[6] < $opts{q});
- # filtering SNPs
- if ($t[5] >= $opts{G}) {
- for my $x (@staging) {
- # Is it a SNP and is it outside the SNP filter window?
- next if ($x->[0] >= 0 || $x->[4] + $x->[2] + $ow < $t[1]);
- $x->[1] = 5 if ($x->[1] == 0);
- }
- }
- # calculate the filtering score (different from indel quality)
- $score = $t[5];
- $score += $opts{s} * $t[10] if ($t[8] ne '*');
- $score += $opts{s} * $t[11] if ($t[9] ne '*');
- # check the staging list for indel filtering
- for my $x (@staging) {
- # Is it a SNP and is it outside the gap filter window
- next if ($x->[0] < 0 || $x->[4] + $x->[2] + $ol < $t[1]);
- if ($x->[0] < $score) {
- $x->[1] = 6;
- } else {
- $flt = 6; last;
- }
- }
- } else { # a SNP
- $flt = 1 if ($t[6] < $opts{Q});
- # check adjacent SNPs
- my $k = 1;
- for my $x (@staging) {
- ++$k if ($x->[0] < 0 && $x->[4] + $x->[2] + $oW >= $t[1] && ($x->[1] == 0 || $x->[1] == 4 || $x->[1] == 5));
- }
- # filtering is necessary
- if ($k > $opts{N}) {
- $flt = 4;
- for my $x (@staging) {
- $x->[1] = 4 if ($x->[0] < 0 && $x->[4] + $x->[2] + $oW >= $t[1] && $x->[1] == 0);
- }
- } else { # then check gap filter
- for my $x (@staging) {
- next if ($x->[0] < 0 || $x->[4] + $x->[2] + $ow < $t[1]);
- if ($x->[0] >= $opts{G}) {
- $flt = 5; last;
- }
- }
- }
- }
- }
- push(@staging, [$score, $flt, $len, @t]);
- }
- # output the last few elements in the staging list
- while (@staging) {
- varFilter_aux(shift @staging, $opts{p});
- }
-}
-
-sub varFilter_aux {
- my ($first, $is_print) = @_;
- if ($first->[1] == 0) {
- print join("\t", @$first[3 .. @$first-1]), "\n";
- } elsif ($is_print) {
- print STDERR join("\t", substr("UQdDWGgsiX", $first->[1], 1), @$first[3 .. @$first-1]), "\n";
- }
-}
-
-#
-# pileup2fq
-#
-
-sub pileup2fq {
- my %opts = (d=>3, D=>255, Q=>25, G=>25, l=>10);
- getopts('d:D:Q:G:l:', \%opts);
- die(qq/
-Usage: samtools.pl pileup2fq [options] <in.cns-pileup>
-
-Options: -d INT minimum depth [$opts{d}]
- -D INT maximum depth [$opts{D}]
- -Q INT min RMS mapQ [$opts{Q}]
- -G INT minimum indel score [$opts{G}]
- -l INT indel filter winsize [$opts{l}]\n
-/) if (@ARGV == 0 && -t STDIN);
-
- my ($last_chr, $seq, $qual, @gaps, $last_pos);
- my $_Q = $opts{Q};
- my $_d = $opts{d};
- my $_D = $opts{D};
-
- $last_chr = '';
- while (<>) {
- my @t = split;
- if ($last_chr ne $t[0]) {
- &p2q_post_process($last_chr, \$seq, \$qual, \@gaps, $opts{l}) if ($last_chr);
- $last_chr = $t[0];
- $last_pos = 0;
- $seq = ''; $qual = '';
- @gaps = ();
- }
- if ($t[1] - $last_pos != 1) {
- $seq .= 'n' x ($t[1] - $last_pos - 1);
- $qual .= '!' x ($t[1] - $last_pos - 1);
- }
- if ($t[2] eq '*') {
- push(@gaps, $t[1]) if ($t[5] >= $opts{G});
- } else {
- $seq .= ($t[6] >= $_Q && $t[7] >= $_d && $t[7] <= $_D)? uc($t[3]) : lc($t[3]);
- my $q = $t[4] + 33;
- $q = 126 if ($q > 126);
- $qual .= chr($q);
- }
- $last_pos = $t[1];
- }
- &p2q_post_process($last_chr, \$seq, \$qual, \@gaps, $opts{l});
-}
-
-sub p2q_post_process {
- my ($chr, $seq, $qual, $gaps, $l) = @_;
- &p2q_filter_gaps($seq, $gaps, $l);
- print "\@$chr\n"; &p2q_print_str($seq);
- print "+\n"; &p2q_print_str($qual);
-}
-
-sub p2q_filter_gaps {
- my ($seq, $gaps, $l) = @_;
- for my $g (@$gaps) {
- my $x = $g > $l? $g - $l : 0;
- substr($$seq, $x, $l + $l) = lc(substr($$seq, $x, $l + $l));
- }
-}
-
-sub p2q_print_str {
- my ($s) = @_;
- my $l = length($$s);
- for (my $i = 0; $i < $l; $i += 60) {
- print substr($$s, $i, 60), "\n";
- }
-}
-
-#
-# sam2fq
-#
-
-sub sam2fq {
- my %opts = (n=>20, p=>'');
- getopts('n:p:', \%opts);
- die("Usage: samtools.pl sam2fq [-n 20] [-p <prefix>] <inp.sam>\n") if (@ARGV == 0 && -t STDIN);
- if ($opts{p} && $opts{n} > 1) {
- my $pre = $opts{p};
- my @fh;
- for (0 .. $opts{n}-1) {
- open($fh[$_], sprintf("| gzip > $pre.%.3d.fq.gz", $_)) || die;
- }
- my $i = 0;
- while (<>) {
- next if (/^@/);
- chomp;
- my @t = split("\t");
- next if ($t[9] eq '*');
- my ($name, $seq, $qual);
- if ($t[1] & 16) { # reverse strand
- $seq = reverse($t[9]);
- $qual = reverse($t[10]);
- $seq =~ tr/ACGTacgt/TGCAtgca/;
- } else {
- ($seq, $qual) = @t[9,10];
- }
- $name = $t[0];
- $name .= "/1" if ($t[1] & 0x40);
- $name .= "/2" if ($t[1] & 0x80);
- print {$fh[$i]} "\@$name\n$seq\n";
- if ($qual ne '*') {
- print {$fh[$i]} "+\n$qual\n";
- }
- $i = 0 if (++$i == $opts{n});
- }
- close($fh[$_]) for (0 .. $opts{n}-1);
- } else {
- die("To be implemented.\n");
- }
-}
-
-#
-# sra2hdr
-#
-
-# This subroutine does not use an XML parser. It requires that the SRA
-# XML files are properly formated.
-sub sra2hdr {
- my %opts = ();
- getopts('', \%opts);
- die("Usage: samtools.pl sra2hdr <SRA.prefix>\n") if (@ARGV == 0);
- my $pre = $ARGV[0];
- my $fh;
- # read sample
- my $sample = 'UNKNOWN';
- open($fh, "$pre.sample.xml") || die;
- while (<$fh>) {
- $sample = $1 if (/<SAMPLE.*alias="([^"]+)"/i);
- }
- close($fh);
- # read experiment
- my (%exp2lib, $exp);
- open($fh, "$pre.experiment.xml") || die;
- while (<$fh>) {
- if (/<EXPERIMENT.*accession="([^\s"]+)"/i) {
- $exp = $1;
- } elsif (/<LIBRARY_NAME>\s*(\S+)\s*<\/LIBRARY_NAME>/i) {
- $exp2lib{$exp} = $1;
- }
- }
- close($fh);
- # read run
- my ($run, @fn);
- open($fh, "$pre.run.xml") || die;
- while (<$fh>) {
- if (/<RUN.*accession="([^\s"]+)"/i) {
- $run = $1; @fn = ();
- } elsif (/<EXPERIMENT_REF.*accession="([^\s"]+)"/i) {
- print "\@RG\tID:$run\tSM:$sample\tLB:$exp2lib{$1}\n";
- } elsif (/<FILE.*filename="([^\s"]+)"/i) {
- push(@fn, $1);
- } elsif (/<\/RUN>/i) {
- if (@fn == 1) {
- print STDERR "$fn[0]\t$run\n";
- } else {
- for (0 .. $#fn) {
- print STDERR "$fn[$_]\t$run", "_", $_+1, "\n";
- }
- }
- }
- }
- close($fh);
-}
-
-#
-# unique
-#
-
-sub unique {
- my %opts = (f=>250.0, q=>5, r=>2, a=>1, b=>3);
- getopts('Qf:q:r:a:b:m', \%opts);
- die("Usage: samtools.pl unique [-f $opts{f}] <in.sam>\n") if (@ARGV == 0 && -t STDIN);
- my $last = '';
- my $recal_Q = !defined($opts{Q});
- my $multi_only = defined($opts{m});
- my @a;
- while (<>) {
- my $score = -1;
- print $_ if (/^\@/);
- $score = $1 if (/AS:i:(\d+)/);
- my @t = split("\t");
- next if (@t < 11);
- if ($score < 0) { # AS tag is unavailable
- my $cigar = $t[5];
- my ($mm, $go, $ge) = (0, 0, 0);
- $cigar =~ s/(\d+)[ID]/++$go,$ge+=$1/eg;
- $cigar = $t[5];
- $cigar =~ s/(\d+)M/$mm+=$1/eg;
- $score = $mm * $opts{a} - $go * $opts{q} - $ge * $opts{r}; # no mismatches...
- }
- $score = 1 if ($score < 1);
- if ($t[0] ne $last) {
- &unique_aux(\@a, $opts{f}, $recal_Q, $multi_only) if (@a);
- $last = $t[0];
- }
- push(@a, [$score, \@t]);
- }
- &unique_aux(\@a, $opts{f}, $recal_Q, $multi_only) if (@a);
-}
-
-sub unique_aux {
- my ($a, $fac, $is_recal, $multi_only) = @_;
- my ($max, $max2, $max_i) = (0, 0, -1);
- for (my $i = 0; $i < @$a; ++$i) {
- if ($a->[$i][0] > $max) {
- $max2 = $max; $max = $a->[$i][0]; $max_i = $i;
- } elsif ($a->[$i][0] > $max2) {
- $max2 = $a->[$i][0];
- }
- }
- if ($is_recal) {
- if (!$multi_only || @$a > 1) {
- my $q = int($fac * ($max - $max2) / $max + .499);
- $q = 250 if ($q > 250);
- $a->[$max_i][1][4] = $q < 250? $q : 250;
- }
- }
- print join("\t", @{$a->[$max_i][1]});
- @$a = ();
-}
-
-#
-# uniqcmp: compare two SAM files
-#
-
-sub uniqcmp {
- my %opts = (q=>10, s=>100);
- getopts('pq:s:', \%opts);
- die("Usage: samtools.pl uniqcmp <in1.sam> <in2.sam>\n") if (@ARGV < 2);
- my ($fh, %a);
- warn("[uniqcmp] read the first file...\n");
- &uniqcmp_aux($ARGV[0], \%a, 0);
- warn("[uniqcmp] read the second file...\n");
- &uniqcmp_aux($ARGV[1], \%a, 1);
- warn("[uniqcmp] stats...\n");
- my @cnt;
- $cnt[$_] = 0 for (0..9);
- for my $x (keys %a) {
- my $p = $a{$x};
- my $z;
- if (defined($p->[0]) && defined($p->[1])) {
- $z = ($p->[0][0] == $p->[1][0] && $p->[0][1] eq $p->[1][1] && abs($p->[0][2] - $p->[1][2]) < $opts{s})? 0 : 1;
- if ($p->[0][3] >= $opts{q} && $p->[1][3] >= $opts{q}) {
- ++$cnt[$z*3+0];
- } elsif ($p->[0][3] >= $opts{q}) {
- ++$cnt[$z*3+1];
- } elsif ($p->[1][3] >= $opts{q}) {
- ++$cnt[$z*3+2];
- }
- print STDERR "$x\t$p->[0][1]:$p->[0][2]\t$p->[0][3]\t$p->[0][4]\t$p->[1][1]:$p->[1][2]\t$p->[1][3]\t$p->[1][4]\t",
- $p->[0][5]-$p->[1][5], "\n" if ($z && defined($opts{p}) && ($p->[0][3] >= $opts{q} || $p->[1][3] >= $opts{q}));
- } elsif (defined($p->[0])) {
- ++$cnt[$p->[0][3]>=$opts{q}? 6 : 7];
- print STDERR "$x\t$p->[0][1]:$p->[0][2]\t$p->[0][3]\t$p->[0][4]\t*\t0\t*\t",
- $p->[0][5], "\n" if (defined($opts{p}) && $p->[0][3] >= $opts{q});
- } else {
- print STDERR "$x\t*\t0\t*\t$p->[1][1]:$p->[1][2]\t$p->[1][3]\t$p->[1][4]\t",
- -$p->[1][5], "\n" if (defined($opts{p}) && $p->[1][3] >= $opts{q});
- ++$cnt[$p->[1][3]>=$opts{q}? 8 : 9];
- }
- }
- print "Consistent (high, high): $cnt[0]\n";
- print "Consistent (high, low ): $cnt[1]\n";
- print "Consistent (low , high): $cnt[2]\n";
- print "Inconsistent (high, high): $cnt[3]\n";
- print "Inconsistent (high, low ): $cnt[4]\n";
- print "Inconsistent (low , high): $cnt[5]\n";
- print "Second missing (high): $cnt[6]\n";
- print "Second missing (low ): $cnt[7]\n";
- print "First missing (high): $cnt[8]\n";
- print "First missing (low ): $cnt[9]\n";
-}
-
-sub uniqcmp_aux {
- my ($fn, $a, $which) = @_;
- my $fh;
- $fn = "samtools view $fn |" if ($fn =~ /\.bam/);
- open($fh, $fn) || die;
- while (<$fh>) {
- my @t = split;
- next if (@t < 11);
-# my $l = ($t[5] =~ /^(\d+)S/)? $1 : 0;
- my $l = 0;
- my ($x, $nm) = (0, 0);
- $nm = $1 if (/NM:i:(\d+)/);
- $_ = $t[5];
- s/(\d+)[MI]/$x+=$1/eg;
- @{$a->{$t[0]}[$which]} = (($t[1]&0x10)? 1 : 0, $t[2], $t[3]-$l, $t[4], "$x:$nm", $x - 4 * $nm);
- }
- close($fh);
-}
-
-sub plp2vcf {
- while (<>) {
- my @t = split;
- next if ($t[3] eq '*/*');
- if ($t[2] eq '*') { # indel
- my @s = split("/", $t[3]);
- my (@a, @b);
- my ($ref, $alt);
- for (@s) {
- next if ($_ eq '*');
- if (/^-/) {
- push(@a, 'N'.substr($_, 1));
- push(@b, 'N');
- } elsif (/^\+/) {
- push(@a, 'N');
- push(@b, 'N'.substr($_, 1));
- }
- }
- if ($a[0] && $a[1]) {
- if (length($a[0]) < length($a[1])) {
- $ref = $a[1];
- $alt = ($b[0] . ('N' x (length($a[1]) - length($a[0])))) . ",$b[1]";
- } elsif (length($a[0]) > length($a[1])) {
- $ref = $a[0];
- $alt = ($b[1] . ('N' x (length($a[0]) - length($a[1])))) . ",$b[0]";
- } else {
- $ref = $a[0];
- $alt = ($b[0] eq $b[1])? $b[0] : "$b[0],$b[1]";
- }
- } else {
- $ref = $a[0]; $alt = $b[0];
- }
- print join("\t", @t[0,1], '.', $ref, $alt, $t[5], '.', '.'), "\n";
- } else { # SNP
- }
- }
-}
-
-#
-# Usage
-#
-
-sub usage {
- die(qq/
-Program: samtools.pl (helper script for SAMtools)
-Version: $version
-Contact: Heng Li <lh3\@sanger.ac.uk>\n
-Usage: samtools.pl <command> [<arguments>]\n
-Command: varFilter filtering SNPs and short indels
- pileup2fq generate fastq from `pileup -c'
- showALEN print alignment length (ALEN) following CIGAR
-\n/);
-}
diff --git a/sam/misc/soap2sam.pl b/sam/misc/soap2sam.pl
deleted file mode 100755
index b37135e..0000000
--- a/sam/misc/soap2sam.pl
+++ /dev/null
@@ -1,109 +0,0 @@
-#!/usr/bin/perl -w
-
-# Contact: lh3
-# Version: 0.1.1
-
-use strict;
-use warnings;
-use Getopt::Std;
-
-&soap2sam;
-exit;
-
-sub mating {
- my ($s1, $s2) = @_;
- my $isize = 0;
- if ($s1->[2] ne '*' && $s1->[2] eq $s2->[2]) { # then calculate $isize
- my $x1 = ($s1->[1] & 0x10)? $s1->[3] + length($s1->[9]) : $s1->[3];
- my $x2 = ($s2->[1] & 0x10)? $s2->[3] + length($s2->[9]) : $s2->[3];
- $isize = $x2 - $x1;
- }
- # update mate coordinate
- if ($s2->[2] ne '*') {
- @$s1[6..8] = (($s2->[2] eq $s1->[2])? "=" : $s2->[2], $s2->[3], $isize);
- $s1->[1] |= 0x20 if ($s2->[1] & 0x10);
- } else {
- $s1->[1] |= 0x8;
- }
- if ($s1->[2] ne '*') {
- @$s2[6..8] = (($s1->[2] eq $s2->[2])? "=" : $s1->[2], $s1->[3], -$isize);
- $s2->[1] |= 0x20 if ($s1->[1] & 0x10);
- } else {
- $s2->[1] |= 0x8;
- }
-}
-
-sub soap2sam {
- my %opts = ();
- getopts("p", \%opts);
- die("Usage: soap2sam.pl [-p] <aln.soap>\n") if (@ARGV == 0 && -t STDIN);
- my $is_paired = defined($opts{p});
- # core loop
- my @s1 = ();
- my @s2 = ();
- my ($s_last, $s_curr) = (\@s1, \@s2);
- while (<>) {
- s/[\177-\377]|[\000-\010]|[\012-\040]//g;
- next if (&soap2sam_aux($_, $s_curr, $is_paired) < 0);
- if (@$s_last != 0 && $s_last->[0] eq $s_curr->[0]) {
- &mating($s_last, $s_curr);
- print join("\t", @$s_last), "\n";
- print join("\t", @$s_curr), "\n";
- @$s_last = (); @$s_curr = ();
- } else {
- print join("\t", @$s_last), "\n" if (@$s_last != 0);
- my $s = $s_last; $s_last = $s_curr; $s_curr = $s;
- }
- }
- print join("\t", @$s_last), "\n" if (@$s_last != 0);
-}
-
-sub soap2sam_aux {
- my ($line, $s, $is_paired) = @_;
- chomp($line);
- my @t = split(/\s+/, $line);
- return -1 if (@t < 9 || $line =~ /^\s/ || !$t[0]);
- @$s = ();
- # fix SOAP-2.1.x bugs
- @t = @t[0..2,4..$#t] unless ($t[3] =~ /^\d+$/);
- # read name
- $s->[0] = $t[0];
- $s->[0] =~ s/\/[12]$//g;
- # initial flag (will be updated later)
- $s->[1] = 0;
- $s->[1] |= 1 | 1<<($t[4] eq 'a'? 6 : 7);
- $s->[1] |= 2 if ($is_paired);
- # read & quality
- $s->[9] = $t[1];
- $s->[10] = (length($t[2]) > length($t[1]))? substr($t[2], 0, length($t[1])) : $t[2];
- # cigar
- $s->[5] = length($s->[9]) . "M";
- # coor
- $s->[2] = $t[7]; $s->[3] = $t[8];
- $s->[1] |= 0x10 if ($t[6] eq '-');
- # mapQ
- $s->[4] = $t[3] == 1? 30 : 0;
- # mate coordinate
- $s->[6] = '*'; $s->[7] = $s->[8] = 0;
- # aux
- push(@$s, "NM:i:$t[9]");
- my $md = '';
- if ($t[9]) {
- my @x;
- for (10 .. $#t) {
- push(@x, sprintf("%.3d,$1", $2)) if ($t[$_] =~ /^([ACGT])->(\d+)/i);
- }
- @x = sort(@x);
- my $a = 0;
- for (@x) {
- my ($y, $z) = split(",");
- $md .= (int($y)-$a) . $z;
- $a += $y - $a + 1;
- }
- $md .= length($t[1]) - $a;
- } else {
- $md = length($t[1]);
- }
- push(@$s, "MD:Z:$md");
- return 0;
-}
diff --git a/sam/misc/varfilter.py b/sam/misc/varfilter.py
deleted file mode 100755
index 03ce395..0000000
--- a/sam/misc/varfilter.py
+++ /dev/null
@@ -1,205 +0,0 @@
-#!/software/bin/python
-
-# Author: lh3, converted to python and modified to add -C option by Aylwyn Scally
-#
-# About:
-# varfilter.py is a port of Heng's samtools.pl varFilter script into
-# python, with an additional -C INT option. This option sets a minimum
-# consensus score, above which the script will output a pileup line
-# wherever it _could have_ called a variant, even if none is actually
-# called (i.e. hom-ref positions). This is important if you want to
-# subsequently merge the calls with those for another individual to get a
-# synoptic view of calls at each site. Without this option, and in all
-# other respects, it behaves like samtools.pl varFilter.
-#
-# Aylwyn Scally as6 at sanger.ac.uk
-
-
-# Filtration code:
-#
-# C low CNS quality (hom-ref only)
-# d low depth
-# D high depth
-# W too many SNPs in a window (SNP only)
-# G close to a high-quality indel (SNP only)
-# Q low RMS mapping quality (SNP only)
-# g close to another indel with higher quality (indel only)
-# s low SNP quality (SNP only)
-# i low indel quality (indel only)
-
-
-import sys
-import getopt
-
-def usage():
- print '''usage: varfilter.py [options] [cns-pileup]
-
-Options: -Q INT minimum RMS mapping quality for SNPs
- -q INT minimum RMS mapping quality for gaps
- -d INT minimum read depth
- -D INT maximum read depth
- -S INT minimum SNP quality
- -i INT minimum indel quality
- -C INT minimum consensus quality for hom-ref sites
-
- -G INT min indel score for nearby SNP filtering
- -w INT SNP within INT bp around a gap to be filtered
-
- -W INT window size for filtering dense SNPs
- -N INT max number of SNPs in a window
-
- -l INT window size for filtering adjacent gaps
-
- -p print filtered variants'''
-
-def varFilter_aux(first, is_print):
- try:
- if first[1] == 0:
- sys.stdout.write("\t".join(first[4:]) + "\n")
- elif is_print:
- sys.stderr.write("\t".join(["UQdDWGgsiCX"[first[1]]] + first[4:]) + "\n")
- except IOError:
- sys.exit()
-
-mindepth = 3
-maxdepth = 100
-gapgapwin = 30
-minsnpmapq = 25
-mingapmapq = 10
-minindelscore = 25
-scorefactor = 100
-snpgapwin = 10
-densesnpwin = 10
-densesnps = 2
-printfilt = False
-minsnpq = 0
-minindelq = 0
-mincnsq = 0
-
-try:
- options, args = getopt.gnu_getopt(sys.argv[1:], 'pq:d:D:l:Q:w:W:N:G:S:i:C:', [])
-except getopt.GetoptError:
- usage()
- sys.exit(2)
-for (oflag, oarg) in options:
- if oflag == '-d': mindepth = int(oarg)
- if oflag == '-D': maxdepth = int(oarg)
- if oflag == '-l': gapgapwin = int(oarg)
- if oflag == '-Q': minsnpmapq = int(oarg)
- if oflag == '-q': mingapmapq = int(oarg)
- if oflag == '-G': minindelscore = int(oarg)
- if oflag == '-s': scorefactor = int(oarg)
- if oflag == '-w': snpgapwin = int(oarg)
- if oflag == '-W': densesnpwin = int(oarg)
- if oflag == '-C': mincnsq = int(oarg)
- if oflag == '-N': densesnps = int(oarg)
- if oflag == '-p': printfilt = True
- if oflag == '-S': minsnpq = int(oarg)
- if oflag == '-i': minindelq = int(oarg)
-
-if len(args) < 1:
- inp = sys.stdin
-else:
- inp = open(args[0])
-
-# calculate the window size
-max_dist = max(gapgapwin, snpgapwin, densesnpwin)
-
-staging = []
-for t in (line.strip().split() for line in inp):
- (flt, score) = (0, -1)
- # non-var sites
- if t[3] == '*/*':
- continue
- is_snp = t[2].upper() != t[3].upper()
- if not (is_snp or mincnsq):
- continue
- # clear the out-of-range elements
- while staging:
- # Still on the same chromosome and the first element's window still affects this position?
- if staging[0][4] == t[0] and int(staging[0][5]) + staging[0][2] + max_dist >= int(t[1]):
- break
- varFilter_aux(staging.pop(0), printfilt)
-
- # first a simple filter
- if int(t[7]) < mindepth:
- flt = 2
- elif int(t[7]) > maxdepth:
- flt = 3
- if t[2] == '*': # an indel
- if minindelq and minindelq > int(t[5]):
- flt = 8
- elif is_snp:
- if minsnpq and minsnpq> int(t[5]):
- flt = 7
- else:
- if mincnsq and mincnsq > int(t[4]):
- flt = 9
-
- # site dependent filters
- dlen = 0
- if flt == 0:
- if t[2] == '*': # an indel
- # If deletion, remember the length of the deletion
- (a,b) = t[3].split('/')
- alen = len(a) - 1
- blen = len(b) - 1
- if alen>blen:
- if a[0] == '-': dlen=alen
- elif b[0] == '-': dlen=blen
-
- if int(t[6]) < mingapmapq:
- flt = 1
- # filtering SNPs
- if int(t[5]) >= minindelscore:
- for x in (y for y in staging if y[3]):
- # Is it a SNP and is it outside the SNP filter window?
- if x[0] >= 0 or int(x[5]) + x[2] + snpgapwin < int(t[1]):
- continue
- if x[1] == 0:
- x[1] = 5
-
- # calculate the filtering score (different from indel quality)
- score = int(t[5])
- if t[8] != '*':
- score += scorefactor * int(t[10])
- if t[9] != '*':
- score += scorefactor * int(t[11])
- # check the staging list for indel filtering
- for x in (y for y in staging if y[3]):
- # Is it a SNP and is it outside the gap filter window
- if x[0] < 0 or int(x[5]) + x[2] + gapgapwin < int(t[1]):
- continue
- if x[0] < score:
- x[1] = 6
- else:
- flt = 6
- break
- else: # a SNP or hom-ref
- if int(t[6]) < minsnpmapq:
- flt = 1
- # check adjacent SNPs
- k = 1
- for x in (y for y in staging if y[3]):
- if x[0] < 0 and int(x[5]) + x[2] + densesnpwin >= int(t[1]) and (x[1] == 0 or x[1] == 4 or x[1] == 5):
- k += 1
-
- # filtering is necessary
- if k > densesnps:
- flt = 4
- for x in (y for y in staging if y[3]):
- if x[0] < 0 and int(x[5]) + x[2] + densesnpwin >= int(t[1]) and x[1] == 0:
- x[1] = 4
- else: # then check gap filter
- for x in (y for y in staging if y[3]):
- if x[0] < 0 or int(x[5]) + x[2] + snpgapwin < int(t[1]):
- continue
- if x[0] >= minindelscore:
- flt = 5
- break
-
- staging.append([score, flt, dlen, is_snp] + t)
-
-# output the last few elements in the staging list
-while staging:
- varFilter_aux(staging.pop(0), printfilt)
diff --git a/sam/misc/vcfutils.lua b/sam/misc/vcfutils.lua
deleted file mode 100755
index 51d374e..0000000
--- a/sam/misc/vcfutils.lua
+++ /dev/null
@@ -1,694 +0,0 @@
-#!/usr/bin/env luajit
-
------------------------------------
--- BEGIN: routines from klib.lua --
------------------------------------
-
--- Description: getopt() translated from the BSD getopt(); compatible with the default Unix getopt()
---[[ Example:
- for o, a in os.getopt(arg, 'a:b') do
- print(o, a)
- end
-]]--
-function os.getopt(args, ostr)
- local arg, place = nil, 0;
- return function ()
- if place == 0 then -- update scanning pointer
- place = 1
- if #args == 0 or args[1]:sub(1, 1) ~= '-' then place = 0; return nil end
- if #args[1] >= 2 then
- place = place + 1
- if args[1]:sub(2, 2) == '-' then -- found "--"
- table.remove(args, 1);
- place = 0
- return nil;
- end
- end
- end
- local optopt = place <= #args[1] and args[1]:sub(place, place) or nil
- place = place + 1;
- local oli = optopt and ostr:find(optopt) or nil
- if optopt == ':' or oli == nil then -- unknown option
- if optopt == '-' then return nil end
- if place > #args[1] then
- table.remove(args, 1);
- place = 0;
- end
- return '?';
- end
- oli = oli + 1;
- if ostr:sub(oli, oli) ~= ':' then -- do not need argument
- arg = nil;
- if place > #args[1] then
- table.remove(args, 1);
- place = 0;
- end
- else -- need an argument
- if place <= #args[1] then -- no white space
- arg = args[1]:sub(place);
- else
- table.remove(args, 1);
- if #args == 0 then -- an option requiring argument is the last one
- place = 0;
- if ostr:sub(1, 1) == ':' then return ':' end
- return '?';
- else arg = args[1] end
- end
- table.remove(args, 1);
- place = 0;
- end
- return optopt, arg;
- end
-end
-
--- Description: string split
-function string:split(sep, n)
- local a, start = {}, 1;
- sep = sep or "%s+";
- repeat
- local b, e = self:find(sep, start);
- if b == nil then
- table.insert(a, self:sub(start));
- break
- end
- a[#a+1] = self:sub(start, b - 1);
- start = e + 1;
- if n and #a == n then
- table.insert(a, self:sub(start));
- break
- end
- until start > #self;
- return a;
-end
-
--- Description: smart file open
-function io.xopen(fn, mode)
- mode = mode or 'r';
- if fn == nil then return io.stdin;
- elseif fn == '-' then return (mode == 'r' and io.stdin) or io.stdout;
- elseif fn:sub(-3) == '.gz' then return (mode == 'r' and io.popen('gzip -dc ' .. fn, 'r')) or io.popen('gzip > ' .. fn, 'w');
- elseif fn:sub(-4) == '.bz2' then return (mode == 'r' and io.popen('bzip2 -dc ' .. fn, 'r')) or io.popen('bgzip2 > ' .. fn, 'w');
- else return io.open(fn, mode) end
-end
-
--- Description: log gamma function
--- Required by: math.lbinom()
--- Reference: AS245, 2nd algorithm, http://lib.stat.cmu.edu/apstat/245
-function math.lgamma(z)
- local x;
- x = 0.1659470187408462e-06 / (z+7);
- x = x + 0.9934937113930748e-05 / (z+6);
- x = x - 0.1385710331296526 / (z+5);
- x = x + 12.50734324009056 / (z+4);
- x = x - 176.6150291498386 / (z+3);
- x = x + 771.3234287757674 / (z+2);
- x = x - 1259.139216722289 / (z+1);
- x = x + 676.5203681218835 / z;
- x = x + 0.9999999999995183;
- return math.log(x) - 5.58106146679532777 - z + (z-0.5) * math.log(z+6.5);
-end
-
--- Description: regularized incomplete gamma function
--- Dependent on: math.lgamma()
---[[
- Formulas are taken from Wiki, with additional input from Numerical
- Recipes in C (for modified Lentz's algorithm) and AS245
- (http://lib.stat.cmu.edu/apstat/245).
-
- A good online calculator is available at:
-
- http://www.danielsoper.com/statcalc/calc23.aspx
-
- It calculates upper incomplete gamma function, which equals
- math.igamma(s,z,true)*math.exp(math.lgamma(s))
-]]--
-function math.igamma(s, z, complement)
-
- local function _kf_gammap(s, z)
- local sum, x = 1, 1;
- for k = 1, 100 do
- x = x * z / (s + k);
- sum = sum + x;
- if x / sum < 1e-14 then break end
- end
- return math.exp(s * math.log(z) - z - math.lgamma(s + 1.) + math.log(sum));
- end
-
- local function _kf_gammaq(s, z)
- local C, D, f, TINY;
- f = 1. + z - s; C = f; D = 0.; TINY = 1e-290;
- -- Modified Lentz's algorithm for computing continued fraction. See Numerical Recipes in C, 2nd edition, section 5.2
- for j = 1, 100 do
- local d;
- local a, b = j * (s - j), j*2 + 1 + z - s;
- D = b + a * D;
- if D < TINY then D = TINY end
- C = b + a / C;
- if C < TINY then C = TINY end
- D = 1. / D;
- d = C * D;
- f = f * d;
- if math.abs(d - 1) < 1e-14 then break end
- end
- return math.exp(s * math.log(z) - z - math.lgamma(s) - math.log(f));
- end
-
- if complement then
- return ((z <= 1 or z < s) and 1 - _kf_gammap(s, z)) or _kf_gammaq(s, z);
- else
- return ((z <= 1 or z < s) and _kf_gammap(s, z)) or (1 - _kf_gammaq(s, z));
- end
-end
-
-function math.brent(func, a, b, tol)
- local gold1, gold2, tiny, max_iter = 1.6180339887, 0.3819660113, 1e-20, 100
-
- local fa, fb = func(a, data), func(b, data)
- if fb > fa then -- swap, such that f(a) > f(b)
- a, b, fa, fb = b, a, fb, fa
- end
- local c = b + gold1 * (b - a)
- local fc = func(c) -- golden section extrapolation
- while fb > fc do
- local bound = b + 100.0 * (c - b) -- the farthest point where we want to go
- local r = (b - a) * (fb - fc)
- local q = (b - c) * (fb - fa)
- if math.abs(q - r) < tiny then -- avoid 0 denominator
- tmp = q > r and tiny or 0.0 - tiny
- else tmp = q - r end
- u = b - ((b - c) * q - (b - a) * r) / (2.0 * tmp) -- u is the parabolic extrapolation point
- if (b > u and u > c) or (b < u and u < c) then -- u lies between b and c
- fu = func(u)
- if fu < fc then -- (b,u,c) bracket the minimum
- a, b, fa, fb = b, u, fb, fu
- break
- elseif fu > fb then -- (a,b,u) bracket the minimum
- c, fc = u, fu
- break
- end
- u = c + gold1 * (c - b)
- fu = func(u) -- golden section extrapolation
- elseif (c > u and u > bound) or (c < u and u < bound) then -- u lies between c and bound
- fu = func(u)
- if fu < fc then -- fb > fc > fu
- b, c, u = c, u, c + gold1 * (c - b)
- fb, fc, fu = fc, fu, func(u)
- else -- (b,c,u) bracket the minimum
- a, b, c = b, c, u
- fa, fb, fc = fb, fc, fu
- break
- end
- elseif (u > bound and bound > c) or (u < bound and bound < c) then -- u goes beyond the bound
- u = bound
- fu = func(u)
- else -- u goes the other way around, use golden section extrapolation
- u = c + gold1 * (c - b)
- fu = func(u)
- end
- a, b, c = b, c, u
- fa, fb, fc = fb, fc, fu
- end
- if a > c then a, c = c, a end -- swap
-
- -- now, a<b<c, fa>fb and fb<fc, move on to Brent's algorithm
- local e, d = 0, 0
- local w, v, fw, fv
- w, v = b, b
- fw, fv = fb, fb
- for iter = 1, max_iter do
- local mid = 0.5 * (a + c)
- local tol1 = tol * math.abs(b) + tiny
- local tol2 = 2.0 * tol1
- if math.abs(b - mid) <= tol2 - 0.5 * (c - a) then return fb, b end -- found
- if math.abs(e) > tol1 then
- -- related to parabolic interpolation
- local r = (b - w) * (fb - fv)
- local q = (b - v) * (fb - fw)
- local p = (b - v) * q - (b - w) * r
- q = 2.0 * (q - r)
- if q > 0.0 then p = 0.0 - p
- else q = 0.0 - q end
- eold, e = e, d
- if math.abs(p) >= math.abs(0.5 * q * eold) or p <= q * (a - b) or p >= q * (c - b) then
- e = b >= mid and a - b or c - b
- d = gold2 * e
- else
- d, u = p / q, b + d -- actual parabolic interpolation happens here
- if u - a < tol2 or c - u < tol2 then
- d = mid > b and tol1 or 0.0 - tol1
- end
- end
- else -- golden section interpolation
- e = b >= min and a - b or c - b
- d = gold2 * e
- end
- u = fabs(d) >= tol1 and b + d or b + (d > 0.0 and tol1 or -tol1);
- fu = func(u)
- if fu <= fb then -- u is the minimum point so far
- if u >= b then a = b
- else c = b end
- v, w, b = w, b, u
- fv, fw, fb = fw, fb, fu
- else -- adjust (a,c) and (u,v,w)
- if u < b then a = u
- else c = u end
- if fu <= fw or w == b then
- v, w = w, u
- fv, fw = fw, fu
- elseif fu <= fv or v == b or v == w then
- v, fv = u, fu;
- end
- end
- end
- return fb, b
-end
-
-matrix = {}
-
--- Description: chi^2 test for contingency tables
--- Dependent on: math.igamma()
-function matrix.chi2(a)
- if #a == 2 and #a[1] == 2 then -- 2x2 table
- local x, z
- x = (a[1][1] + a[1][2]) * (a[2][1] + a[2][2]) * (a[1][1] + a[2][1]) * (a[1][2] + a[2][2])
- if x == 0 then return 0, 1, false end
- z = a[1][1] * a[2][2] - a[1][2] * a[2][1]
- z = (a[1][1] + a[1][2] + a[2][1] + a[2][2]) * z * z / x
- return z, math.igamma(.5, .5 * z, true), true
- else -- generic table
- local rs, cs, n, m, N, z = {}, {}, #a, #a[1], 0, 0
- for i = 1, n do rs[i] = 0 end
- for j = 1, m do cs[j] = 0 end
- for i = 1, n do -- compute column sum and row sum
- for j = 1, m do cs[j], rs[i] = cs[j] + a[i][j], rs[i] + a[i][j] end
- end
- for i = 1, n do N = N + rs[i] end
- for i = 1, n do -- compute the chi^2 statistics
- for j = 1, m do
- local E = rs[i] * cs[j] / N;
- z = z + (a[i][j] - E) * (a[i][j] - E) / E
- end
- end
- return z, math.igamma(.5 * (n-1) * (m-1), .5 * z, true), true;
- end
-end
-
----------------------------------
--- END: routines from klib.lua --
----------------------------------
-
-
---------------------------
--- BEGIN: misc routines --
---------------------------
-
--- precompute an array for PL->probability conversion
--- @param m maximum PL
-function algo_init_q2p(m)
- local q2p = {}
- for i = 0, m do
- q2p[i] = math.pow(10, -i / 10)
- end
- return q2p
-end
-
--- given the haplotype frequency, compute r^2
--- @param f 4 haplotype frequencies; f[] is 0-indexed.
--- @return r^2
-function algo_r2(f)
- local p = { f[0] + f[1], f[0] + f[2] }
- local D = f[0] * f[3] - f[1] * f[2]
- return (p[1] == 0 or p[2] == 0 or 1-p[1] == 0 or 1-p[2] == 0) and 0 or D * D / (p[1] * p[2] * (1 - p[1]) * (1 - p[2]))
-end
-
--- parse a VCF line to get PL
--- @param q2p is computed by algo_init_q2p()
-function text_parse_pl(t, q2p, parse_GT)
- parse_GT = parse_GT == nil and true or false
- local ht, gt, pl = {}, {}, {}
- local s, j0 = t[9]:split(':'), 0
- for j = 1, #s do
- if s[j] == 'PL' then j0 = j break end
- end
- local has_GT = (s[1] == 'GT' and parse_GT) and true or false
- for i = 10, #t do
- if j0 > 0 then
- local s = t[i]:split(':')
- local a, b = 1, s[j0]:find(',')
- pl[#pl+1] = q2p[tonumber(s[j0]:sub(a, b - 1))]
- a, b = b + 1, s[j0]:find(',', b + 1)
- pl[#pl+1] = q2p[tonumber(s[j0]:sub(a, b - 1))]
- a, b = b + 1, s[j0]:find(',', b + 1)
- pl[#pl+1] = q2p[tonumber(s[j0]:sub(a, (b and b - 1) or nil))]
- end
- if has_GT then
- if t[i]:sub(1, 1) ~= '.' then
- local g = tonumber(t[i]:sub(1, 1)) + tonumber(t[i]:sub(3, 3));
- gt[#gt+1] = 1e-6; gt[#gt+1] = 1e-6; gt[#gt+1] = 1e-6
- gt[#gt - 2 + g] = 1
- ht[#ht+1] = tonumber(t[i]:sub(1, 1)); ht[#ht+1] = tonumber(t[i]:sub(3, 3));
- else
- gt[#gt+1] = 1; gt[#gt+1] = 1; gt[#gt+1] = 1
- ht[#ht+1] = -1; ht[#ht+1] = -1;
- end
- end
--- print(t[i], pl[#pl-2], pl[#pl-1], pl[#pl], gt[#gt-2], gt[#gt-1], gt[#gt])
- end
- if #pl == 0 then pl = nil end
- local x = has_GT and { t[1], t[2], ht, gt, pl } or { t[1], t[2], nil, nil, pl }
- return x
-end
-
--- Infer haplotype frequency
--- @param pdg genotype likelihoods P(D|g) generated by text_parse_pl(). pdg[] is 1-indexed.
--- @param eps precision [1e-5]
--- @return 2-locus haplotype frequencies, 0-indexed array
-function algo_hapfreq2(pdg, eps)
- eps = eps or 1e-5
- local n, f = #pdg[1] / 3, {[0]=0.25, 0.25, 0.25, 0.25}
- for iter = 1, 100 do
- local F = {[0]=0, 0, 0, 0}
- for i = 0, n - 1 do
- local p1, p2 = {[0]=pdg[1][i*3+1], pdg[1][i*3+2], pdg[1][i*3+3]}, {[0]=pdg[2][i*3+1], pdg[2][i*3+2], pdg[2][i*3+3]}
- local u = { [0]=
- f[0] * (f[0] * p1[0] * p2[0] + f[1] * p1[0] * p2[1] + f[2] * p1[1] * p2[0] + f[3] * p1[1] * p2[1]),
- f[1] * (f[0] * p1[0] * p2[1] + f[1] * p1[0] * p2[2] + f[2] * p1[1] * p2[1] + f[3] * p1[1] * p2[2]),
- f[2] * (f[0] * p1[1] * p2[0] + f[1] * p1[1] * p2[1] + f[2] * p1[2] * p2[0] + f[3] * p1[2] * p2[1]),
- f[3] * (f[0] * p1[1] * p2[1] + f[1] * p1[1] * p2[2] + f[2] * p1[2] * p2[1] + f[3] * p1[2] * p2[2])
- }
- local s = u[0] + u[1] + u[2] + u[3]
- s = 1 / (s * n)
- F[0] = F[0] + u[0] * s
- F[1] = F[1] + u[1] * s
- F[2] = F[2] + u[2] * s
- F[3] = F[3] + u[3] * s
- end
- local e = 0
- for k = 0, 3 do
- e = math.abs(f[k] - F[k]) > e and math.abs(f[k] - F[k]) or e
- end
- for k = 0, 3 do f[k] = F[k] end
- if e < eps then break end
--- print(f[0], f[1], f[2], f[3])
- end
- return f
-end
-
-------------------------
--- END: misc routines --
-------------------------
-
-
----------------------
--- BEGIN: commands --
----------------------
-
--- CMD vcf2bgl: convert PL tagged VCF to Beagle input --
-function cmd_vcf2bgl()
- if #arg == 0 then
- print("\nUsage: vcf2bgl.lua <in.vcf>")
- print("\nNB: This command finds PL by matching /(\\d+),(\\d+),(\\d+)/.\n");
- os.exit(1)
- end
-
- local lookup = {}
- for i = 0, 10000 do lookup[i] = string.format("%.4f", math.pow(10, -i/10)) end
-
- local fp = io.xopen(arg[1])
- for l in fp:lines() do
- if l:sub(1, 2) == '##' then -- meta lines; do nothing
- elseif l:sub(1, 1) == '#' then -- sample lines
- local t, s = l:split('\t'), {}
- for i = 10, #t do s[#s+1] = t[i]; s[#s+1] = t[i]; s[#s+1] = t[i] end
- print('marker', 'alleleA', 'alleleB', table.concat(s, '\t'))
- else -- data line
- local t = l:split('\t');
- if t[5] ~= '.' and t[5]:find(",") == nil and #t[5] == 1 and #t[4] == 1 then -- biallic SNP
- local x, z = -1, {};
- if t[9]:find('PL') then
- for i = 10, #t do
- local AA, Aa, aa = t[i]:match('(%d+),(%d+),(%d+)')
- AA = tonumber(AA); Aa = tonumber(Aa); aa = tonumber(aa);
- if AA ~= nil then
- z[#z+1] = lookup[AA]; z[#z+1] = lookup[Aa]; z[#z+1] = lookup[aa];
- else z[#z+1] = 1; z[#z+1] = 1; z[#z+1] = 1; end
- end
- print(t[1]..':'..t[2], t[4], t[5], table.concat(z, '\t'))
- elseif t[9]:find('GL') then
- print('Error: not implemented')
- os.exit(1)
- end
- end
- end
- end
- fp:close()
-end
-
--- CMD bgl2vcf: convert Beagle output to VCF
-function cmd_bgl2vcf()
- if #arg < 2 then
- print('Usage: bgl2vcf.lua <in.phased> <in.gprobs>')
- os.exit(1)
- end
-
- local fpp = io.xopen(arg[1]);
- local fpg = io.xopen(arg[2]);
- for lg in fpg:lines() do
- local tp, tg, a = fpp:read():split('%s'), lg:split('%s', 4), {}
- if tp[1] == 'I' then
- for i = 3, #tp, 2 do a[#a+1] = tp[i] end
- print('#CHROM', 'POS', 'ID', 'REF', 'ALT', 'QUAL', 'FILTER', 'INFO', 'FORMAT', table.concat(a, '\t'))
- else
- local chr, pos = tg[1]:match('(%S+):(%d+)$')
- a = {chr, pos, '.', tg[2], tg[3], 30, '.', '.', 'GT'}
- for i = 3, #tp, 2 do
- a[#a+1] = ((tp[i] == tg[2] and 0) or 1) .. '|' .. ((tp[i+1] == tg[2] and 0) or 1)
- end
- print(table.concat(a, '\t'))
- end
- end
- fpg:close(); fpp:close();
-end
-
--- CMD freq: count alleles in each population
-function cmd_freq()
- -- parse the command line
- local site_only = true; -- print site allele frequency or not
- for c in os.getopt(arg, 's') do
- if c == 's' then site_only = false end
- end
- if #arg == 0 then
- print("\nUsage: vcfutils.lua freq [-s] <in.vcf> [samples.txt]\n")
- print("NB: 1) This command only considers biallelic variants.")
- print(" 2) Apply '-s' to get the allele frequency spectrum.")
- print(" 3) 'samples.txt' is TAB-delimited with each line consisting of sample and population.")
- print("")
- os.exit(1)
- end
-
- -- read the sample-population pairs
- local pop, sample = {}, {}
- if #arg > 1 then
- local fp = io.xopen(arg[2]);
- for l in fp:lines() do
- local s, p = l:match("^(%S+)%s+(%S+)"); -- sample, population pair
- sample[s] = p; -- FIXME: check duplications
- if pop[p] then table.insert(pop[p], s)
- else pop[p] = {s} end
- end
- fp:close();
- end
- pop['NA'] = {}
-
- -- parse VCF
- fp = (#arg >= 2 and io.xopen(arg[1])) or io.stdin;
- local col, cnt = {}, {};
- for k in pairs(pop) do
- col[k], cnt[k] = {}, {[0]=0};
- end
- for l in fp:lines() do
- if l:sub(1, 2) == '##' then -- meta lines; do nothing
- elseif l:sub(1, 1) == '#' then -- the sample line
- local t, del_NA = l:split('\t'), true;
- for i = 10, #t do
- local k = sample[t[i]]
- if k == nil then
- k, del_NA = 'NA', false
- table.insert(pop[k], t[i])
- end
- table.insert(col[k], i);
- table.insert(cnt[k], 0);
- table.insert(cnt[k], 0);
- end
- if del_NA then pop['NA'], col['NA'], cnt['NA'] = nil, nil, nil end
- else -- data lines
- local t = l:split('\t');
- if t[5] ~= '.' and t[5]:find(",") == nil then -- biallic
- if site_only == true then io.write(t[1], '\t', t[2], '\t', t[4], '\t', t[5]) end
- for k, v in pairs(col) do
- local ac, an = 0, 0;
- for i = 1, #v do
- local a1, a2 = t[v[i]]:match("^(%d).(%d)");
- if a1 ~= nil then ac, an = ac + a1 + a2, an + 2 end
- end
- if site_only == true then io.write('\t', k, ':', an, ':', ac) end
- if an == #cnt[k] then cnt[k][ac] = cnt[k][ac] + 1 end
- end
- if site_only == true then io.write('\n') end
- end
- end
- end
- fp:close();
-
- -- print
- if site_only == false then
- for k, v in pairs(cnt) do
- io.write(k .. "\t" .. #v);
- for i = 0, #v do io.write("\t" .. v[i]) end
- io.write('\n');
- end
- end
-end
-
-function cmd_vcf2chi2()
- if #arg < 3 then
- print("Usage: vcfutils.lua vcf2chi2 <in.vcf> <group1.list> <group2.list>");
- os.exit(1)
- end
-
- local g = {};
-
- -- read the list of groups
- local fp = io.xopen(arg[2]);
- for l in fp:lines() do local x = l:match("^(%S+)"); g[x] = 1 end -- FIXME: check duplicate
- fp:close()
- fp = io.xopen(arg[3]);
- for l in fp:lines() do local x = l:match("^(%S+)"); g[x] = 2 end
- fp:close()
-
- -- process VCF
- fp = io.xopen(arg[1])
- local h = {{}, {}}
- for l in fp:lines() do
- if l:sub(1, 2) == '##' then print(l) -- meta lines; do nothing
- elseif l:sub(1, 1) == '#' then -- sample lines
- local t = l:split('\t');
- for i = 10, #t do
- if g[t[i]] == 1 then table.insert(h[1], i)
- elseif g[t[i]] == 2 then table.insert(h[2], i) end
- end
- while #t > 8 do table.remove(t) end
- print(table.concat(t, "\t"))
- else -- data line
- local t = l:split('\t');
- if t[5] ~= '.' and t[5]:find(",") == nil then -- biallic
- local a = {{0, 0}, {0, 0}}
- for i = 1, 2 do
- for _, k in pairs(h[i]) do
- if t[k]:find("^0.0") then a[i][1] = a[i][1] + 2
- elseif t[k]:find("^1.1") then a[i][2] = a[i][2] + 2
- elseif t[k]:find("^0.1") or t[k]:find("^1.0") then
- a[i][1], a[i][2] = a[i][1] + 1, a[i][2] + 1
- end
- end
- end
- local chi2, p, succ = matrix.chi2(a);
- while #t > 8 do table.remove(t) end
- --print(a[1][1], a[1][2], a[2][1], a[2][2], chi2, p);
- if succ then print(table.concat(t, "\t") .. ";PCHI2=" .. string.format("%.3g", p)
- .. string.format(';AF1=%.4g;AF2=%.4g,%.4g', (a[1][2]+a[2][2]) / (a[1][1]+a[1][2]+a[2][1]+a[2][2]),
- a[1][2]/(a[1][1]+a[1][2]), a[2][2]/(a[2][1]+a[2][2])))
- else print(table.concat(t, "\t")) end
- end
- end
- end
- fp:close()
-end
-
--- CMD: compute r^2
-function cmd_r2()
- local w, is_ht, is_gt = 1, false, false
- for o, a in os.getopt(arg, 'w:hg') do
- if o == 'w' then w = tonumber(a)
- elseif o == 'h' then is_ht, is_gt = true, true
- elseif o == 'g' then is_gt = true
- end
- end
- if #arg == 0 then
- print("Usage: vcfutils.lua r2 [-hg] [-w 1] <in.vcf>")
- os.exit(1)
- end
- local stack, fp, q2p = {}, io.xopen(arg[1]), algo_init_q2p(1023)
- for l in fp:lines() do
- if l:sub(1, 1) ~= '#' then
- local t = l:split('\t')
- local x = text_parse_pl(t, q2p)
- if #t[5] == 1 and t[5] ~= '.' then -- biallelic
- local r2 = {}
- for k = 1, w do
- if is_gt == false then -- use PL
- if stack[k] then
- local pdg = { stack[k][5], x[5] }
- r2[#r2+1] = algo_r2(algo_hapfreq2(pdg))
- else r2[#r2+1] = 0 end
- elseif is_ht == false then -- use unphased GT
- if stack[k] then
- local pdg = { stack[k][4], x[4] }
- r2[#r2+1] = algo_r2(algo_hapfreq2(pdg))
- else r2[#r2+1] = 0 end
- else -- use phased GT
- if stack[k] then
- local f, ht = { [0]=0, 0, 0, 0 }, { stack[k][3], x[3] }
- for i = 1, #ht[1] do
- local j = ht[1][i] * 2 + ht[2][i]
- f[j] = f[j] + 1
- end
- local sum = f[0] + f[1] + f[2] + f[3]
- for k = 0, 3 do f[k] = f[k] / sum end
- r2[#r2+1] = algo_r2(f)
- else r2[#r2+1] = 0 end
- end
- end
- for k = 1, #r2 do
- r2[k] = string.format('%.3f', r2[k])
- end
- print(x[1], x[2], table.concat(r2, '\t'))
- if #stack == w then table.remove(stack, 1) end
- stack[#stack+1] = x
- end
- end
- end
- fp:close()
-end
-
--------------------
--- END: commands --
--------------------
-
-
--------------------
--- MAIN FUNCTION --
--------------------
-
-if #arg == 0 then
- print("\nUsage: vcfutils.lua <command> <arguments>\n")
- print("Command: freq count biallelic alleles in each population")
- print(" r2 compute r^2")
- print(" vcf2chi2 compute 1-degree chi-square between two groups of samples")
- print(" vcf2bgl convert PL annotated VCF to Beagle input")
- print(" bgl2vcf convert Beagle input to VCF")
- print("")
- os.exit(1)
-end
-
-local cmd = arg[1]
-table.remove(arg, 1)
-if cmd == 'vcf2bgl' then cmd_vcf2bgl()
-elseif cmd == 'bgl2vcf' then cmd_bgl2vcf()
-elseif cmd == 'freq' then cmd_freq()
-elseif cmd == 'r2' then cmd_r2()
-elseif cmd == 'vcf2chi2' then cmd_vcf2chi2()
-else
- print('ERROR: unknown command "' .. cmd .. '"')
- os.exit(1)
-end
diff --git a/sam/misc/wgsim.c b/sam/misc/wgsim.c
deleted file mode 100644
index b9c513c..0000000
--- a/sam/misc/wgsim.c
+++ /dev/null
@@ -1,419 +0,0 @@
-/* The MIT License
-
- Copyright (c) 2008 Genome Research Ltd (GRL).
- 2011 Heng Li <lh3 at live.co.uk>
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- "Software"), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- SOFTWARE.
-*/
-
-/* This program is separated from maq's read simulator with Colin
- * Hercus' modification to allow longer indels. */
-
-#include <stdlib.h>
-#include <math.h>
-#include <time.h>
-#include <assert.h>
-#include <stdio.h>
-#include <unistd.h>
-#include <stdint.h>
-#include <ctype.h>
-#include <string.h>
-#include <zlib.h>
-#include "kseq.h"
-KSEQ_INIT(gzFile, gzread)
-
-#define PACKAGE_VERSION "0.3.0"
-
-const uint8_t nst_nt4_table[256] = {
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5 /*'-'*/, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 0, 4, 1, 4, 4, 4, 2, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 0, 4, 1, 4, 4, 4, 2, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4
-};
-
-/* Simple normal random number generator, copied from genran.c */
-
-double ran_normal()
-{
- static int iset = 0;
- static double gset;
- double fac, rsq, v1, v2;
- if (iset == 0) {
- do {
- v1 = 2.0 * drand48() - 1.0;
- v2 = 2.0 * drand48() - 1.0;
- rsq = v1 * v1 + v2 * v2;
- } while (rsq >= 1.0 || rsq == 0.0);
- fac = sqrt(-2.0 * log(rsq) / rsq);
- gset = v1 * fac;
- iset = 1;
- return v2 * fac;
- } else {
- iset = 0;
- return gset;
- }
-}
-
-/* wgsim */
-
-enum muttype_t {NOCHANGE = 0, INSERT = 0x1000, SUBSTITUTE = 0xe000, DELETE = 0xf000};
-typedef unsigned short mut_t;
-static mut_t mutmsk = (mut_t)0xf000;
-
-typedef struct {
- int l, m; /* length and maximum buffer size */
- mut_t *s; /* sequence */
-} mutseq_t;
-
-static double ERR_RATE = 0.02;
-static double MUT_RATE = 0.001;
-static double INDEL_FRAC = 0.15;
-static double INDEL_EXTEND = 0.3;
-static double MAX_N_RATIO = 0.1;
-
-void wgsim_mut_diref(const kseq_t *ks, int is_hap, mutseq_t *hap1, mutseq_t *hap2)
-{
- int i, deleting = 0;
- mutseq_t *ret[2];
-
- ret[0] = hap1; ret[1] = hap2;
- ret[0]->l = ks->seq.l; ret[1]->l = ks->seq.l;
- ret[0]->m = ks->seq.m; ret[1]->m = ks->seq.m;
- ret[0]->s = (mut_t *)calloc(ks->seq.m, sizeof(mut_t));
- ret[1]->s = (mut_t *)calloc(ks->seq.m, sizeof(mut_t));
- for (i = 0; i != ks->seq.l; ++i) {
- int c;
- c = ret[0]->s[i] = ret[1]->s[i] = (mut_t)nst_nt4_table[(int)ks->seq.s[i]];
- if (deleting) {
- if (drand48() < INDEL_EXTEND) {
- if (deleting & 1) ret[0]->s[i] |= DELETE;
- if (deleting & 2) ret[1]->s[i] |= DELETE;
- continue;
- } else deleting = 0;
- }
- if (c < 4 && drand48() < MUT_RATE) { // mutation
- if (drand48() >= INDEL_FRAC) { // substitution
- double r = drand48();
- c = (c + (int)(r * 3.0 + 1)) & 3;
- if (is_hap || drand48() < 0.333333) { // hom
- ret[0]->s[i] = ret[1]->s[i] = SUBSTITUTE|c;
- } else { // het
- ret[drand48()<0.5?0:1]->s[i] = SUBSTITUTE|c;
- }
- } else { // indel
- if (drand48() < 0.5) { // deletion
- if (is_hap || drand48() < 0.333333) { // hom-del
- ret[0]->s[i] = ret[1]->s[i] = DELETE;
- deleting = 3;
- } else { // het-del
- deleting = drand48()<0.5?1:2;
- ret[deleting-1]->s[i] = DELETE;
- }
- } else { // insertion
- int num_ins = 0, ins = 0;
- do {
- num_ins++;
- ins = (ins << 2) | (int)(drand48() * 4.0);
- } while (num_ins < 4 && drand48() < INDEL_EXTEND);
-
- if (is_hap || drand48() < 0.333333) { // hom-ins
- ret[0]->s[i] = ret[1]->s[i] = (num_ins << 12) | (ins << 4) | c;
- } else { // het-ins
- ret[drand48()<0.5?0:1]->s[i] = (num_ins << 12) | (ins << 4) | c;
- }
- }
- }
- }
- }
-}
-void wgsim_print_mutref(const char *name, const kseq_t *ks, mutseq_t *hap1, mutseq_t *hap2)
-{
- int i;
- for (i = 0; i != ks->seq.l; ++i) {
- int c[3];
- c[0] = nst_nt4_table[(int)ks->seq.s[i]];
- c[1] = hap1->s[i]; c[2] = hap2->s[i];
- if (c[0] >= 4) continue;
- if ((c[1] & mutmsk) != NOCHANGE || (c[2] & mutmsk) != NOCHANGE) {
- printf("%s\t%d\t", name, i+1);
- if (c[1] == c[2]) { // hom
- if ((c[1]&mutmsk) == SUBSTITUTE) { // substitution
- printf("%c\t%c\t-\n", "ACGTN"[c[0]], "ACGTN"[c[1]&0xf]);
- } else if ((c[1]&mutmsk) == DELETE) { // del
- printf("%c\t-\t-\n", "ACGTN"[c[0]]);
- } else if (((c[1] & mutmsk) >> 12) <= 5) { // ins
- printf("-\t");
- int n = (c[1]&mutmsk) >> 12, ins = c[1] >> 4;
- while (n > 0) {
- putchar("ACGTN"[ins & 0x3]);
- ins >>= 2;
- n--;
- }
- printf("\t-\n");
- } else assert(0);
- } else { // het
- if ((c[1]&mutmsk) == SUBSTITUTE || (c[2]&mutmsk) == SUBSTITUTE) { // substitution
- printf("%c\t%c\t+\n", "ACGTN"[c[0]], "XACMGRSVTWYHKDBN"[1<<(c[1]&0x3)|1<<(c[2]&0x3)]);
- } else if ((c[1]&mutmsk) == DELETE) {
- printf("%c\t-\t+\n", "ACGTN"[c[0]]);
- } else if ((c[2]&mutmsk) == DELETE) {
- printf("%c\t-\t+\n", "ACGTN"[c[0]]);
- } else if (((c[1] & mutmsk) >> 12) <= 4) { // ins1
- printf("-\t");
- int n = (c[1]&mutmsk) >> 12, ins = c[1] >> 4;
- while (n > 0) {
- putchar("ACGTN"[ins & 0x3]);
- ins >>= 2;
- n--;
- }
- printf("\t+\n");
- } else if (((c[2] & mutmsk) >> 12) <= 5) { // ins2
- printf("-\t");
- int n = (c[2]&mutmsk) >> 12, ins = c[2] >> 4;
- while (n > 0) {
- putchar("ACGTN"[ins & 0x3]);
- ins >>= 2;
- n--;
- }
- printf("\t+\n");
- } else assert(0);
- }
- }
- }
-}
-
-void wgsim_core(FILE *fpout1, FILE *fpout2, const char *fn, int is_hap, uint64_t N, int dist, int std_dev, int size_l, int size_r)
-{
- kseq_t *ks;
- mutseq_t rseq[2];
- gzFile fp_fa;
- uint64_t tot_len, ii;
- int i, l, n_ref;
- char *qstr;
- int size[2], Q, max_size;
- uint8_t *tmp_seq[2];
- mut_t *target;
-
- l = size_l > size_r? size_l : size_r;
- qstr = (char*)calloc(l+1, 1);
- tmp_seq[0] = (uint8_t*)calloc(l+2, 1);
- tmp_seq[1] = (uint8_t*)calloc(l+2, 1);
- size[0] = size_l; size[1] = size_r;
- max_size = size_l > size_r? size_l : size_r;
-
- Q = (ERR_RATE == 0.0)? 'I' : (int)(-10.0 * log(ERR_RATE) / log(10.0) + 0.499) + 33;
-
- fp_fa = gzopen(fn, "r");
- ks = kseq_init(fp_fa);
- tot_len = n_ref = 0;
- fprintf(stderr, "[%s] calculating the total length of the reference sequence...\n", __func__);
- while ((l = kseq_read(ks)) >= 0) {
- tot_len += l;
- ++n_ref;
- }
- fprintf(stderr, "[%s] %d sequences, total length: %llu\n", __func__, n_ref, (long long)tot_len);
- kseq_destroy(ks);
- gzclose(fp_fa);
-
- fp_fa = gzopen(fn, "r");
- ks = kseq_init(fp_fa);
- while ((l = kseq_read(ks)) >= 0) {
- uint64_t n_pairs = (uint64_t)((long double)l / tot_len * N + 0.5);
- if (l < dist + 3 * std_dev) {
- fprintf(stderr, "[%s] skip sequence '%s' as it is shorter than %d!\n", __func__, ks->name.s, dist + 3 * std_dev);
- continue;
- }
-
- // generate mutations and print them out
- wgsim_mut_diref(ks, is_hap, rseq, rseq+1);
- wgsim_print_mutref(ks->name.s, ks, rseq, rseq+1);
-
- for (ii = 0; ii != n_pairs; ++ii) { // the core loop
- double ran;
- int d, pos, s[2], is_flip = 0;
- int n_sub[2], n_indel[2], n_err[2], ext_coor[2], j, k;
- FILE *fpo[2];
-
- do { // avoid boundary failure
- ran = ran_normal();
- ran = ran * std_dev + dist;
- d = (int)(ran + 0.5);
- d = d > max_size? d : max_size;
- pos = (int)((l - d + 1) * drand48());
- } while (pos < 0 || pos >= ks->seq.l || pos + d - 1 >= ks->seq.l);
-
- // flip or not
- if (drand48() < 0.5) {
- fpo[0] = fpout1; fpo[1] = fpout2;
- s[0] = size[0]; s[1] = size[1];
- } else {
- fpo[1] = fpout1; fpo[0] = fpout2;
- s[1] = size[0]; s[0] = size[1];
- is_flip = 1;
- }
-
- // generate the read sequences
- target = rseq[drand48()<0.5?0:1].s; // haplotype from which the reads are generated
- n_sub[0] = n_sub[1] = n_indel[0] = n_indel[1] = n_err[0] = n_err[1] = 0;
-
-#define __gen_read(x, start, iter) do { \
- for (i = (start), k = 0, ext_coor[x] = -10; i >= 0 && i < ks->seq.l && k < s[x]; iter) { \
- int c = target[i], mut_type = c & mutmsk; \
- if (ext_coor[x] < 0) { \
- if (mut_type != NOCHANGE && mut_type != SUBSTITUTE) continue; \
- ext_coor[x] = i; \
- } \
- if (mut_type == DELETE) ++n_indel[x]; \
- else if (mut_type == NOCHANGE || mut_type == SUBSTITUTE) { \
- tmp_seq[x][k++] = c & 0xf; \
- if (mut_type == SUBSTITUTE) ++n_sub[x]; \
- } else { \
- int n, ins; \
- ++n_indel[x]; \
- tmp_seq[x][k++] = c & 0xf; \
- for (n = mut_type>>12, ins = c>>4; n > 0 && k < s[x]; --n, ins >>= 2) \
- tmp_seq[x][k++] = ins & 0x3; \
- } \
- } \
- if (k != s[x]) ext_coor[x] = -10; \
- } while (0)
-
- __gen_read(0, pos, ++i);
- __gen_read(1, pos + d - 1, --i);
- for (k = 0; k < s[1]; ++k) tmp_seq[1][k] = tmp_seq[1][k] < 4? 3 - tmp_seq[1][k] : 4; // complement
- if (ext_coor[0] < 0 || ext_coor[1] < 0) { // fail to generate the read(s)
- --ii;
- continue;
- }
-
- // generate sequencing errors
- for (j = 0; j < 2; ++j) {
- int n_n = 0;
- for (i = 0; i < s[j]; ++i) {
- int c = tmp_seq[j][i];
- if (c >= 4) { // actually c should be never larger than 4 if everything is correct
- c = 4;
- ++n_n;
- } else if (drand48() < ERR_RATE) {
- // c = (c + (int)(drand48() * 3.0 + 1)) & 3; // random sequencing errors
- c = (c + 1) & 3; // recurrent sequencing errors
- ++n_err[j];
- }
- tmp_seq[j][i] = c;
- }
- if ((double)n_n / s[j] > MAX_N_RATIO) break;
- }
- if (j < 2) { // too many ambiguous bases on one of the reads
- --ii;
- continue;
- }
-
- // print
- for (j = 0; j < 2; ++j) {
- for (i = 0; i < s[j]; ++i) qstr[i] = Q;
- qstr[i] = 0;
- fprintf(fpo[j], "@%s_%u_%u_%d:%d:%d_%d:%d:%d_%llx/%d\n", ks->name.s, ext_coor[0]+1, ext_coor[1]+1,
- n_err[0], n_sub[0], n_indel[0], n_err[1], n_sub[1], n_indel[1],
- (long long)ii, j==0? is_flip+1 : 2-is_flip);
- for (i = 0; i < s[j]; ++i)
- fputc("ACGTN"[(int)tmp_seq[j][i]], fpo[j]);
- fprintf(fpo[j], "\n+\n%s\n", qstr);
- }
- }
- free(rseq[0].s); free(rseq[1].s);
- }
- kseq_destroy(ks);
- gzclose(fp_fa);
- free(qstr);
- free(tmp_seq[0]); free(tmp_seq[1]);
-}
-
-static int simu_usage()
-{
- fprintf(stderr, "\n");
- fprintf(stderr, "Program: wgsim (short read simulator)\n");
- fprintf(stderr, "Version: %s\n", PACKAGE_VERSION);
- fprintf(stderr, "Contact: Heng Li <lh3 at sanger.ac.uk>\n\n");
- fprintf(stderr, "Usage: wgsim [options] <in.ref.fa> <out.read1.fq> <out.read2.fq>\n\n");
- fprintf(stderr, "Options: -e FLOAT base error rate [%.3f]\n", ERR_RATE);
- fprintf(stderr, " -d INT outer distance between the two ends [500]\n");
- fprintf(stderr, " -s INT standard deviation [50]\n");
- fprintf(stderr, " -N INT number of read pairs [1000000]\n");
- fprintf(stderr, " -1 INT length of the first read [70]\n");
- fprintf(stderr, " -2 INT length of the second read [70]\n");
- fprintf(stderr, " -r FLOAT rate of mutations [%.4f]\n", MUT_RATE);
- fprintf(stderr, " -R FLOAT fraction of indels [%.2f]\n", INDEL_FRAC);
- fprintf(stderr, " -X FLOAT probability an indel is extended [%.2f]\n", INDEL_EXTEND);
- fprintf(stderr, " -S INT seed for random generator [-1]\n");
- fprintf(stderr, " -h haplotype mode\n");
- fprintf(stderr, "\n");
- return 1;
-}
-
-int main(int argc, char *argv[])
-{
- int64_t N;
- int dist, std_dev, c, size_l, size_r, is_hap = 0;
- FILE *fpout1, *fpout2;
- int seed = -1;
-
- N = 1000000; dist = 500; std_dev = 50;
- size_l = size_r = 70;
- while ((c = getopt(argc, argv, "e:d:s:N:1:2:r:R:hX:S:")) >= 0) {
- switch (c) {
- case 'd': dist = atoi(optarg); break;
- case 's': std_dev = atoi(optarg); break;
- case 'N': N = atoi(optarg); break;
- case '1': size_l = atoi(optarg); break;
- case '2': size_r = atoi(optarg); break;
- case 'e': ERR_RATE = atof(optarg); break;
- case 'r': MUT_RATE = atof(optarg); break;
- case 'R': INDEL_FRAC = atof(optarg); break;
- case 'X': INDEL_EXTEND = atof(optarg); break;
- case 'S': seed = atoi(optarg); break;
- case 'h': is_hap = 1; break;
- }
- }
- if (argc - optind < 3) return simu_usage();
- fpout1 = fopen(argv[optind+1], "w");
- fpout2 = fopen(argv[optind+2], "w");
- if (!fpout1 || !fpout2) {
- fprintf(stderr, "[wgsim] file open error\n");
- return 1;
- }
- srand48(seed > 0? seed : time(0));
- wgsim_core(fpout1, fpout2, argv[optind], is_hap, N, dist, std_dev, size_l, size_r);
-
- fclose(fpout1); fclose(fpout2);
- return 0;
-}
diff --git a/sam/misc/wgsim_eval.pl b/sam/misc/wgsim_eval.pl
deleted file mode 100755
index f919a06..0000000
--- a/sam/misc/wgsim_eval.pl
+++ /dev/null
@@ -1,91 +0,0 @@
-#!/usr/bin/perl -w
-
-# Contact: lh3
-# Version: 0.1.5
-
-use strict;
-use warnings;
-use Getopt::Std;
-
-&wgsim_eval;
-exit;
-
-sub wgsim_eval {
- my %opts = (g=>5);
- getopts('pcag:', \%opts);
- die("Usage: wgsim_eval.pl [-pca] [-g $opts{g}] <in.sam>\n") if (@ARGV == 0 && -t STDIN);
- my (@c0, @c1, %fnfp);
- my ($max_q, $flag) = (0, 0);
- my $gap = $opts{g};
- $flag |= 1 if (defined $opts{p});
- $flag |= 2 if (defined $opts{c});
- while (<>) {
- next if (/^\@/);
- my @t = split("\t");
- next if (@t < 11);
- my $line = $_;
- my ($q, $is_correct, $chr, $left, $rght) = (int($t[4]/10), 1, $t[2], $t[3], $t[3]);
- $max_q = $q if ($q > $max_q);
- # right coordinate
- $_ = $t[5]; s/(\d+)[MDN]/$rght+=$1,'x'/eg;
- --$rght;
- # correct for soft clipping
- my ($left0, $rght0) = ($left, $rght);
- $left -= $1 if (/^(\d+)[SH]/);
- $rght += $1 if (/(\d+)[SH]$/);
- $left0 -= $1 if (/(\d+)[SH]$/);
- $rght0 += $1 if (/^(\d+)[SH]/);
- # skip unmapped reads
- next if (($t[1]&0x4) || $chr eq '*');
- # parse read name and check
- if ($t[0] =~ /^(\S+)_(\d+)_(\d+)_/) {
- if ($1 ne $chr) { # different chr
- $is_correct = 0;
- } else {
- if ($flag & 2) {
- if (($t[1]&0x40) && !($t[1]&0x10)) { # F3, forward
- $is_correct = 0 if (abs($2 - $left) > $gap && abs($2 - $left0) > $gap);
- } elsif (($t[1]&0x40) && ($t[1]&0x10)) { # F3, reverse
- $is_correct = 0 if (abs($3 - $rght) > $gap && abs($3 - $rght0) > $gap);
- } elsif (($t[1]&0x80) && !($t[1]&0x10)) { # R3, forward
- $is_correct = 0 if (abs($3 - $left) > $gap && abs($3 - $left0) > $gap);
- } else { # R3, reverse
- $is_correct = 0 if (abs($2 - $rght) > $gap && abs($3 - $rght0) > $gap);
- }
- } else {
- if ($t[1] & 0x10) { # reverse
- $is_correct = 0 if (abs($3 - $rght) > $gap && abs($3 - $rght0) > $gap); # in case of indels that are close to the end of a reads
- } else {
- $is_correct = 0 if (abs($2 - $left) > $gap && abs($2 - $left0) > $gap);
- }
- }
- }
- } else {
- warn("[wgsim_eval] read '$t[0]' was not generated by wgsim?\n");
- next;
- }
- ++$c0[$q];
- ++$c1[$q] unless ($is_correct);
- @{$fnfp{$t[4]}} = (0, 0) unless (defined $fnfp{$t[4]});
- ++$fnfp{$t[4]}[0];
- ++$fnfp{$t[4]}[1] unless ($is_correct);
- print STDERR $line if (($flag&1) && !$is_correct && $q > 0);
- }
- # print
- my ($cc0, $cc1) = (0, 0);
- if (!defined($opts{a})) {
- for (my $i = $max_q; $i >= 0; --$i) {
- $c0[$i] = 0 unless (defined $c0[$i]);
- $c1[$i] = 0 unless (defined $c1[$i]);
- $cc0 += $c0[$i]; $cc1 += $c1[$i];
- printf("%.2dx %12d / %-12d %12d %.3e\n", $i, $c1[$i], $c0[$i], $cc0, $cc1/$cc0) if ($cc0);
- }
- } else {
- for (reverse(sort {$a<=>$b} (keys %fnfp))) {
- next if ($_ == 0);
- $cc0 += $fnfp{$_}[0];
- $cc1 += $fnfp{$_}[1];
- print join("\t", $_, $cc0, $cc1), "\n";
- }
- }
-}
diff --git a/sam/misc/zoom2sam.pl b/sam/misc/zoom2sam.pl
deleted file mode 100755
index 5306bfa..0000000
--- a/sam/misc/zoom2sam.pl
+++ /dev/null
@@ -1,97 +0,0 @@
-#!/usr/bin/perl -w
-
-# Contact: lh3
-# Version: 0.1.0
-
-use strict;
-use warnings;
-use Getopt::Std;
-
-&zoom2sam;
-exit;
-
-sub mating {
- my ($s1, $s2) = @_;
- my $isize = 0;
- if ($s1->[2] ne '*' && $s1->[2] eq $s2->[2]) { # then calculate $isize
- my $x1 = ($s1->[1] & 0x10)? $s1->[3] + length($s1->[9]) : $s1->[3];
- my $x2 = ($s2->[1] & 0x10)? $s2->[3] + length($s2->[9]) : $s2->[3];
- $isize = $x2 - $x1;
- }
- # update mate coordinate
- if ($s2->[2] ne '*') {
- @$s1[6..8] = (($s2->[2] eq $s1->[2])? "=" : $s2->[2], $s2->[3], $isize);
- $s1->[1] |= 0x20 if ($s2->[1] & 0x10);
- } else {
- $s1->[1] |= 0x8;
- }
- if ($s1->[2] ne '*') {
- @$s2[6..8] = (($s1->[2] eq $s2->[2])? "=" : $s1->[2], $s1->[3], -$isize);
- $s2->[1] |= 0x20 if ($s1->[1] & 0x10);
- } else {
- $s2->[1] |= 0x8;
- }
-}
-
-sub zoom2sam {
- my %opts = ();
- getopts("p", \%opts);
- die("Usage: zoom2sam.pl [-p] <readLen> <aln.zoom>
-Warnings: This script only supports the default Illumina outputs.\n") if (@ARGV < 2);
- my $is_paired = defined($opts{p});
- my $len = shift(@ARGV);
- # core loop
- my @s1 = ();
- my @s2 = ();
- my ($s_last, $s_curr) = (\@s1, \@s2);
- while (<>) {
- &zoom2sam_aux($_, $s_curr, $is_paired, $len);
- if (@$s_last != 0 && $s_last->[0] eq $s_curr->[0]) {
- &mating($s_last, $s_curr);
- print join("\t", @$s_last), "\n";
- print join("\t", @$s_curr), "\n";
- @$s_last = (); @$s_curr = ();
- } else {
- print join("\t", @$s_last), "\n" if (@$s_last != 0);
- my $s = $s_last; $s_last = $s_curr; $s_curr = $s;
- }
- }
- print join("\t", @$s_last), "\n" if (@$s_last != 0);
-}
-
-sub zoom2sam_aux {
- my ($line, $s, $is_paired, $len) = @_;
- chomp($line);
- my @t = split("\t", $line);
- @$s = ();
- # read name
- $s->[0] = $t[0];
- # initial flag (will be updated later)
- $s->[1] = 0;
- $s->[1] |= 1 | 1<<6 if ($s->[0] =~ /_F$/);
- $s->[1] |= 1 | 1<<7 if ($s->[0] =~ /_R$/);
- $s->[1] |= 2 if ($is_paired);
- # read & quality
- $s->[9] = "*"; $s->[10] = "*";
- # cigar
- $s->[5] = $len . "M";
- # coor
- my @s = split(/\s+/, $t[1]);
- $s->[2] = $s[0];
- $t[1] =~ /:(\d+)$/;
- $s->[3] = $1 + 1;
- if ($s->[0] =~ /_[FR]$/) {
- my $u = ($s->[0] =~ /_F$/)? 1 : 0;
- my $w = ($t[2] eq '+')? 1 : 0;
- $s->[1] |= 0x10 if ($u ^ $w);
- $s->[0] =~ s/_[FR]$//;
- } else {
- $s->[1] |= 0x10 if ($t[2] eq '-');
- }
- # mapQ
- $s->[4] = 30;
- # mate coordinate
- $s->[6] = '*'; $s->[7] = $s->[8] = 0;
- # aux
- push(@$s, "NM:i:$t[3]");
-}
diff --git a/sam/padding.c b/sam/padding.c
deleted file mode 100644
index a8da562..0000000
--- a/sam/padding.c
+++ /dev/null
@@ -1,479 +0,0 @@
-#include <string.h>
-#include <assert.h>
-#include <unistd.h>
-#include "kstring.h"
-#include "sam_header.h"
-#include "sam.h"
-#include "bam.h"
-#include "faidx.h"
-
-bam_header_t *bam_header_dup(const bam_header_t *h0); /*in sam.c*/
-
-static void replace_cigar(bam1_t *b, int n, uint32_t *cigar)
-{
- if (n != b->core.n_cigar) {
- int o = b->core.l_qname + b->core.n_cigar * 4;
- if (b->data_len + (n - b->core.n_cigar) * 4 > b->m_data) {
- b->m_data = b->data_len + (n - b->core.n_cigar) * 4;
- kroundup32(b->m_data);
- b->data = (uint8_t*)realloc(b->data, b->m_data);
- }
- memmove(b->data + b->core.l_qname + n * 4, b->data + o, b->data_len - o);
- memcpy(b->data + b->core.l_qname, cigar, n * 4);
- b->data_len += (n - b->core.n_cigar) * 4;
- b->core.n_cigar = n;
- } else memcpy(b->data + b->core.l_qname, cigar, n * 4);
-}
-
-#define write_cigar(_c, _n, _m, _v) do { \
- if (_n == _m) { \
- _m = _m? _m<<1 : 4; \
- _c = (uint32_t*)realloc(_c, _m * 4); \
- } \
- _c[_n++] = (_v); \
- } while (0)
-
-static void unpad_seq(bam1_t *b, kstring_t *s)
-{
- int k, j, i;
- int length;
- uint32_t *cigar = bam1_cigar(b);
- uint8_t *seq = bam1_seq(b);
- // b->core.l_qseq gives length of the SEQ entry (including soft clips, S)
- // We need the padded length after alignment from the CIGAR (excluding
- // soft clips S, but including pads from CIGAR D operations)
- length = 0;
- for (k = 0; k < b->core.n_cigar; ++k) {
- int op, ol;
- op= bam_cigar_op(cigar[k]);
- ol = bam_cigar_oplen(cigar[k]);
- if (op == BAM_CMATCH || op == BAM_CEQUAL || op == BAM_CDIFF || op == BAM_CDEL)
- length += ol;
- }
- ks_resize(s, length);
- for (k = 0, s->l = 0, j = 0; k < b->core.n_cigar; ++k) {
- int op, ol;
- op = bam_cigar_op(cigar[k]);
- ol = bam_cigar_oplen(cigar[k]);
- if (op == BAM_CMATCH || op == BAM_CEQUAL || op == BAM_CDIFF) {
- for (i = 0; i < ol; ++i, ++j) s->s[s->l++] = bam1_seqi(seq, j);
- } else if (op == BAM_CSOFT_CLIP) {
- j += ol;
- } else if (op == BAM_CHARD_CLIP) {
- /* do nothing */
- } else if (op == BAM_CDEL) {
- for (i = 0; i < ol; ++i) s->s[s->l++] = 0;
- } else {
- fprintf(stderr, "[depad] ERROR: Didn't expect CIGAR op %c in read %s\n", BAM_CIGAR_STR[op], bam1_qname(b));
- assert(-1);
- }
- }
- assert(length == s->l);
-}
-
-int load_unpadded_ref(faidx_t *fai, char *ref_name, int ref_len, kstring_t *seq)
-{
- char base;
- char *fai_ref = 0;
- int fai_ref_len = 0, k;
-
- fai_ref = fai_fetch(fai, ref_name, &fai_ref_len);
- if (fai_ref_len != ref_len) {
- fprintf(stderr, "[depad] ERROR: FASTA sequence %s length %i, expected %i\n", ref_name, fai_ref_len, ref_len);
- free(fai_ref);
- return -1;
- }
- ks_resize(seq, ref_len);
- seq->l = 0;
- for (k = 0; k < ref_len; ++k) {
- base = fai_ref[k];
- if (base == '-' || base == '*') {
- // Map gaps to null to match unpad_seq function
- seq->s[seq->l++] = 0;
- } else {
- int i = bam_nt16_table[(int)base];
- if (i == 0 || i==16) { // Equals maps to 0, anything unexpected to 16
- fprintf(stderr, "[depad] ERROR: Invalid character %c (ASCII %i) in FASTA sequence %s\n", base, (int)base, ref_name);
- free(fai_ref);
- return -1;
- }
- seq->s[seq->l++] = i;
- }
- }
- assert(ref_len == seq->l);
- free(fai_ref);
- return 0;
-}
-
-int get_unpadded_len(faidx_t *fai, char *ref_name, int padded_len)
-{
- char base;
- char *fai_ref = 0;
- int fai_ref_len = 0, k;
- int bases=0, gaps=0;
-
- fai_ref = fai_fetch(fai, ref_name, &fai_ref_len);
- if (fai_ref_len != padded_len) {
- fprintf(stderr, "[depad] ERROR: FASTA sequence '%s' length %i, expected %i\n", ref_name, fai_ref_len, padded_len);
- free(fai_ref);
- return -1;
- }
- for (k = 0; k < padded_len; ++k) {
- //fprintf(stderr, "[depad] checking base %i of %i or %i\n", k+1, ref_len, strlen(fai_ref));
- base = fai_ref[k];
- if (base == '-' || base == '*') {
- gaps += 1;
- } else {
- int i = bam_nt16_table[(int)base];
- if (i == 0 || i==16) { // Equals maps to 0, anything unexpected to 16
- fprintf(stderr, "[depad] ERROR: Invalid character %c (ASCII %i) in FASTA sequence '%s'\n", base, (int)base, ref_name);
- free(fai_ref);
- return -1;
- }
- bases += 1;
- }
- }
- free(fai_ref);
- assert (padded_len == bases + gaps);
- return bases;
-}
-
-inline int * update_posmap(int *posmap, kstring_t ref)
-{
- int i, k;
- posmap = realloc(posmap, ref.m * sizeof(int));
- for (i = k = 0; i < ref.l; ++i) {
- posmap[i] = k;
- if (ref.s[i]) ++k;
- }
- return posmap;
-}
-
-int bam_pad2unpad(samfile_t *in, samfile_t *out, faidx_t *fai)
-{
- bam_header_t *h = 0;
- bam1_t *b = 0;
- kstring_t r, q;
- int r_tid = -1;
- uint32_t *cigar2 = 0;
- int ret = 0, n2 = 0, m2 = 0, *posmap = 0;
-
- b = bam_init1();
- r.l = r.m = q.l = q.m = 0; r.s = q.s = 0;
- int read_ret;
- h = in->header;
- while ((read_ret = samread(in, b)) >= 0) { // read one alignment from `in'
- uint32_t *cigar = bam1_cigar(b);
- n2 = 0;
- if (b->core.pos == 0 && b->core.tid >= 0 && strcmp(bam1_qname(b), h->target_name[b->core.tid]) == 0) {
- // fprintf(stderr, "[depad] Found embedded reference '%s'\n", bam1_qname(b));
- r_tid = b->core.tid;
- unpad_seq(b, &r);
- if (h->target_len[r_tid] != r.l) {
- fprintf(stderr, "[depad] ERROR: (Padded) length of '%s' is %d in BAM header, but %ld in embedded reference\n", bam1_qname(b), h->target_len[r_tid], r.l);
- return -1;
- }
- if (fai) {
- // Check the embedded reference matches the FASTA file
- if (load_unpadded_ref(fai, h->target_name[b->core.tid], h->target_len[b->core.tid], &q)) {
- fprintf(stderr, "[depad] ERROR: Failed to load embedded reference '%s' from FASTA\n", h->target_name[b->core.tid]);
- return -1;
- }
- assert(r.l == q.l);
- int i;
- for (i = 0; i < r.l; ++i) {
- if (r.s[i] != q.s[i]) {
- // Show gaps as ASCII 45
- fprintf(stderr, "[depad] ERROR: Embedded sequence and reference FASTA don't match for %s base %i, '%c' vs '%c'\n",
- h->target_name[b->core.tid], i+1,
- r.s[i] ? bam_nt16_rev_table[(int)r.s[i]] : 45,
- q.s[i] ? bam_nt16_rev_table[(int)q.s[i]] : 45);
- return -1;
- }
- }
- }
- write_cigar(cigar2, n2, m2, bam_cigar_gen(b->core.l_qseq, BAM_CMATCH));
- replace_cigar(b, n2, cigar2);
- posmap = update_posmap(posmap, r);
- } else if (b->core.n_cigar > 0) {
- int i, k, op;
- if (b->core.tid < 0) {
- fprintf(stderr, "[depad] ERROR: Read '%s' has CIGAR but no RNAME\n", bam1_qname(b));
- return -1;
- } else if (b->core.tid == r_tid) {
- ; // good case, reference available
- //fprintf(stderr, "[depad] Have ref '%s' for read '%s'\n", h->target_name[b->core.tid], bam1_qname(b));
- } else if (fai) {
- if (load_unpadded_ref(fai, h->target_name[b->core.tid], h->target_len[b->core.tid], &r)) {
- fprintf(stderr, "[depad] ERROR: Failed to load '%s' from reference FASTA\n", h->target_name[b->core.tid]);
- return -1;
- }
- posmap = update_posmap(posmap, r);
- r_tid = b->core.tid;
- // fprintf(stderr, "[depad] Loaded %s from FASTA file\n", h->target_name[b->core.tid]);
- } else {
- fprintf(stderr, "[depad] ERROR: Missing %s embedded reference sequence (and no FASTA file)\n", h->target_name[b->core.tid]);
- return -1;
- }
- unpad_seq(b, &q);
- if (bam_cigar_op(cigar[0]) == BAM_CSOFT_CLIP) {
- write_cigar(cigar2, n2, m2, cigar[0]);
- } else if (bam_cigar_op(cigar[0]) == BAM_CHARD_CLIP) {
- write_cigar(cigar2, n2, m2, cigar[0]);
- if (b->core.n_cigar > 2 && bam_cigar_op(cigar[1]) == BAM_CSOFT_CLIP) {
- write_cigar(cigar2, n2, m2, cigar[1]);
- }
- }
- /* Determine CIGAR operator for each base in the aligned read */
- for (i = 0, k = b->core.pos; i < q.l; ++i, ++k)
- q.s[i] = q.s[i]? (r.s[k]? BAM_CMATCH : BAM_CINS) : (r.s[k]? BAM_CDEL : BAM_CPAD);
- /* Include any pads if starts with an insert */
- if (q.s[0] == BAM_CINS) {
- for (k = 0; k+1 < b->core.pos && !r.s[b->core.pos - k - 1]; ++k);
- if (k) write_cigar(cigar2, n2, m2, bam_cigar_gen(k, BAM_CPAD));
- }
- /* Count consecutive CIGAR operators to turn into a CIGAR string */
- for (i = k = 1, op = q.s[0]; i < q.l; ++i) {
- if (op != q.s[i]) {
- write_cigar(cigar2, n2, m2, bam_cigar_gen(k, op));
- op = q.s[i]; k = 1;
- } else ++k;
- }
- write_cigar(cigar2, n2, m2, bam_cigar_gen(k, op));
- if (bam_cigar_op(cigar[b->core.n_cigar-1]) == BAM_CSOFT_CLIP) {
- write_cigar(cigar2, n2, m2, cigar[b->core.n_cigar-1]);
- } else if (bam_cigar_op(cigar[b->core.n_cigar-1]) == BAM_CHARD_CLIP) {
- if (b->core.n_cigar > 2 && bam_cigar_op(cigar[b->core.n_cigar-2]) == BAM_CSOFT_CLIP) {
- write_cigar(cigar2, n2, m2, cigar[b->core.n_cigar-2]);
- }
- write_cigar(cigar2, n2, m2, cigar[b->core.n_cigar-1]);
- }
- /* Remove redundant P operators between M/X/=/D operators, e.g. 5M2P10M -> 15M */
- int pre_op, post_op;
- for (i = 2; i < n2; ++i)
- if (bam_cigar_op(cigar2[i-1]) == BAM_CPAD) {
- pre_op = bam_cigar_op(cigar2[i-2]);
- post_op = bam_cigar_op(cigar2[i]);
- /* Note don't need to check for X/= as code above will use M only */
- if ((pre_op == BAM_CMATCH || pre_op == BAM_CDEL) && (post_op == BAM_CMATCH || post_op == BAM_CDEL)) {
- /* This is a redundant P operator */
- cigar2[i-1] = 0; // i.e. 0M
- /* If had same operator either side, combine them in post_op */
- if (pre_op == post_op) {
- /* If CIGAR M, could treat as simple integers since BAM_CMATCH is zero*/
- cigar2[i] = bam_cigar_gen(bam_cigar_oplen(cigar2[i-2]) + bam_cigar_oplen(cigar2[i]), post_op);
- cigar2[i-2] = 0; // i.e. 0M
- }
- }
- }
- /* Remove the zero'd operators (0M) */
- for (i = k = 0; i < n2; ++i)
- if (cigar2[i]) cigar2[k++] = cigar2[i];
- n2 = k;
- replace_cigar(b, n2, cigar2);
- b->core.pos = posmap[b->core.pos];
- if (b->core.mtid < 0 || b->core.mpos < 0) {
- /* Nice case, no mate to worry about*/
- // fprintf(stderr, "[depad] Read '%s' mate not mapped\n", bam1_qname(b));
- /* TODO - Warning if FLAG says mate should be mapped? */
- /* Clean up funny input where mate position is given but mate reference is missing: */
- b->core.mtid = -1;
- b->core.mpos = -1;
- } else if (b->core.mtid == b->core.tid) {
- /* Nice case, same reference */
- // fprintf(stderr, "[depad] Read '%s' mate mapped to same ref\n", bam1_qname(b));
- b->core.mpos = posmap[b->core.mpos];
- } else {
- /* Nasty case, Must load alternative posmap */
- // fprintf(stderr, "[depad] Loading reference '%s' temporarily\n", h->target_name[b->core.mtid]);
- if (!fai) {
- fprintf(stderr, "[depad] ERROR: Needed reference %s sequence for mate (and no FASTA file)\n", h->target_name[b->core.mtid]);
- return -1;
- }
- /* Temporarily load the other reference sequence */
- if (load_unpadded_ref(fai, h->target_name[b->core.mtid], h->target_len[b->core.mtid], &r)) {
- fprintf(stderr, "[depad] ERROR: Failed to load '%s' from reference FASTA\n", h->target_name[b->core.mtid]);
- return -1;
- }
- posmap = update_posmap(posmap, r);
- b->core.mpos = posmap[b->core.mpos];
- /* Restore the reference and posmap*/
- if (load_unpadded_ref(fai, h->target_name[b->core.tid], h->target_len[b->core.tid], &r)) {
- fprintf(stderr, "[depad] ERROR: Failed to load '%s' from reference FASTA\n", h->target_name[b->core.tid]);
- return -1;
- }
- posmap = update_posmap(posmap, r);
- }
- }
- samwrite(out, b);
- }
- if (read_ret < -1) {
- fprintf(stderr, "[depad] truncated file.\n");
- ret = 1;
- }
- free(r.s); free(q.s); free(posmap);
- bam_destroy1(b);
- return ret;
-}
-
-bam_header_t * fix_header(bam_header_t *old, faidx_t *fai)
-{
- int i = 0, unpadded_len = 0;
- bam_header_t *header = 0 ;
-
- header = bam_header_dup(old);
- for (i = 0; i < old->n_targets; ++i) {
- unpadded_len = get_unpadded_len(fai, old->target_name[i], old->target_len[i]);
- if (unpadded_len < 0) {
- fprintf(stderr, "[depad] ERROR getting unpadded length of '%s', padded length %i\n", old->target_name[i], old->target_len[i]);
- } else {
- header->target_len[i] = unpadded_len;
- //fprintf(stderr, "[depad] Recalculating '%s' length %i -> %i\n", old->target_name[i], old->target_len[i], header->target_len[i]);
- }
- }
- /* Duplicating the header allocated new buffer for header string */
- /* After modifying the @SQ lines it will only get smaller, since */
- /* the LN entries will be the same or shorter, and we'll remove */
- /* any MD entries (MD5 checksums). */
- assert(strlen(old->text) == strlen(header->text));
- assert (0==strcmp(old->text, header->text));
- const char *text;
- text = old->text;
- header->text[0] = '\0'; /* Resuse the allocated buffer */
- char * newtext = header->text;
- char * end=NULL;
- while (text[0]=='@') {
- end = strchr(text, '\n');
- assert(end != 0);
- if (text[1]=='S' && text[2]=='Q' && text[3]=='\t') {
- /* TODO - edit the @SQ line here to remove MD and fix LN. */
- /* For now just remove the @SQ line, and samtools will */
- /* automatically generate a minimal replacement with LN. */
- /* However, that discards any other tags like AS, SP, UR. */
- //fprintf(stderr, "[depad] Removing @SQ line\n");
- } else {
- /* Copy this line to the new header */
- strncat(newtext, text, end - text + 1);
- }
- text = end + 1;
- }
- assert (text[0]=='\0');
- /* Check we didn't overflow the buffer */
- assert (strlen(header->text) <= strlen(old->text));
- if (strlen(header->text) < header->l_text) {
- //fprintf(stderr, "[depad] Reallocating header buffer\n");
- assert (newtext == header->text);
- newtext = malloc(strlen(header->text) + 1);
- strcpy(newtext, header->text);
- free(header->text);
- header->text = newtext;
- header->l_text = strlen(newtext);
- }
- //fprintf(stderr, "[depad] Here is the new header (pending @SQ lines),\n\n%s\n(end)\n", header->text);
- return header;
-}
-
-static int usage(int is_long_help);
-
-int main_pad2unpad(int argc, char *argv[])
-{
- samfile_t *in = 0, *out = 0;
- bam_header_t *h = 0;
- faidx_t *fai = 0;
- int c, is_bamin = 1, compress_level = -1, is_bamout = 1, is_long_help = 0;
- char in_mode[5], out_mode[5], *fn_out = 0, *fn_list = 0, *fn_ref = 0;
- int ret=0;
-
- /* parse command-line options */
- strcpy(in_mode, "r"); strcpy(out_mode, "w");
- while ((c = getopt(argc, argv, "Sso:u1T:?")) >= 0) {
- switch (c) {
- case 'S': is_bamin = 0; break;
- case 's': assert(compress_level == -1); is_bamout = 0; break;
- case 'o': fn_out = strdup(optarg); break;
- case 'u': assert(is_bamout == 1); compress_level = 0; break;
- case '1': assert(is_bamout == 1); compress_level = 1; break;
- case 'T': fn_ref = strdup(optarg); break;
- case '?': is_long_help = 1; break;
- default: return usage(is_long_help);
- }
- }
- if (argc == optind) return usage(is_long_help);
-
- if (is_bamin) strcat(in_mode, "b");
- if (is_bamout) strcat(out_mode, "b");
- strcat(out_mode, "h");
- if (compress_level >= 0) {
- char tmp[2];
- tmp[0] = compress_level + '0'; tmp[1] = '\0';
- strcat(out_mode, tmp);
- }
-
- // Load FASTA reference (also needed for SAM -> BAM if missing header)
- if (fn_ref) {
- fn_list = samfaipath(fn_ref);
- fai = fai_load(fn_ref);
- }
- // open file handlers
- if ((in = samopen(argv[optind], in_mode, fn_list)) == 0) {
- fprintf(stderr, "[depad] failed to open \"%s\" for reading.\n", argv[optind]);
- ret = 1;
- goto depad_end;
- }
- if (in->header == 0) {
- fprintf(stderr, "[depad] failed to read the header from \"%s\".\n", argv[optind]);
- ret = 1;
- goto depad_end;
- }
- if (in->header->text == 0 || in->header->l_text == 0) {
- fprintf(stderr, "[depad] Warning - failed to read any header text from \"%s\".\n", argv[optind]);
- assert (0 == in->header->l_text);
- assert (0 == in->header->text);
- }
- if (fn_ref) {
- h = fix_header(in->header, fai);
- } else {
- fprintf(stderr, "[depad] Warning - reference lengths will not be corrected without FASTA reference\n");
- h = in->header;
- }
- if ((out = samopen(fn_out? fn_out : "-", out_mode, h)) == 0) {
- fprintf(stderr, "[depad] failed to open \"%s\" for writing.\n", fn_out? fn_out : "standard output");
- ret = 1;
- goto depad_end;
- }
-
- // Do the depad
- ret = bam_pad2unpad(in, out, fai);
-
-depad_end:
- // close files, free and return
- if (fai) fai_destroy(fai);
- if (h != in->header) bam_header_destroy(h);
- samclose(in);
- samclose(out);
- free(fn_list); free(fn_out);
- return ret;
-}
-
-static int usage(int is_long_help)
-{
- fprintf(stderr, "\n");
- fprintf(stderr, "Usage: samtools depad <in.bam>\n\n");
- fprintf(stderr, "Options: -s output is SAM (default is BAM)\n");
- fprintf(stderr, " -S input is SAM (default is BAM)\n");
- fprintf(stderr, " -u uncompressed BAM output (can't use with -s)\n");
- fprintf(stderr, " -1 fast compression BAM output (can't use with -s)\n");
- fprintf(stderr, " -T FILE reference sequence file [null]\n");
- fprintf(stderr, " -o FILE output file name [stdout]\n");
- fprintf(stderr, " -? longer help\n");
- fprintf(stderr, "\n");
- if (is_long_help)
- fprintf(stderr, "Notes:\n\
-\n\
- 1. Requires embedded reference sequences (before the reads for that reference),\n\
- with the future aim to also support a FASTA padded reference sequence file.\n\
-\n\
- 2. The input padded alignment read's CIGAR strings must not use P or I operators.\n\
-\n");
- return 1;
-}
diff --git a/sam/phase.c b/sam/phase.c
deleted file mode 100644
index ef4eff9..0000000
--- a/sam/phase.c
+++ /dev/null
@@ -1,687 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <stdint.h>
-#include <math.h>
-#include <zlib.h>
-#include "bam.h"
-#include "errmod.h"
-
-#include "kseq.h"
-KSTREAM_INIT(gzFile, gzread, 16384)
-
-#define MAX_VARS 256
-#define FLIP_PENALTY 2
-#define FLIP_THRES 4
-#define MASK_THRES 3
-
-#define FLAG_FIX_CHIMERA 0x1
-#define FLAG_LIST_EXCL 0x4
-#define FLAG_DROP_AMBI 0x8
-
-typedef struct {
- // configurations, initialized in the main function
- int flag, k, min_baseQ, min_varLOD, max_depth;
- // other global variables
- int vpos_shift;
- bamFile fp;
- char *pre;
- bamFile out[3];
- // alignment queue
- int n, m;
- bam1_t **b;
-} phaseg_t;
-
-typedef struct {
- int8_t seq[MAX_VARS]; // TODO: change to dynamic memory allocation!
- int vpos, beg, end;
- uint32_t vlen:16, single:1, flip:1, phase:1, phased:1, ambig:1;
- uint32_t in:16, out:16; // in-phase and out-phase
-} frag_t, *frag_p;
-
-#define rseq_lt(a,b) ((a)->vpos < (b)->vpos)
-
-#include "khash.h"
-KHASH_SET_INIT_INT64(set64)
-KHASH_MAP_INIT_INT64(64, frag_t)
-
-typedef khash_t(64) nseq_t;
-
-#include "ksort.h"
-KSORT_INIT(rseq, frag_p, rseq_lt)
-
-static char nt16_nt4_table[] = { 4, 0, 1, 4, 2, 4, 4, 4, 3, 4, 4, 4, 4, 4, 4, 4 };
-
-static inline uint64_t X31_hash_string(const char *s)
-{
- uint64_t h = *s;
- if (h) for (++s ; *s; ++s) h = (h << 5) - h + *s;
- return h;
-}
-
-static void count1(int l, const uint8_t *seq, int *cnt)
-{
- int i, j, n_ambi;
- uint32_t z, x;
- if (seq[l-1] == 0) return; // do nothing is the last base is ambiguous
- for (i = n_ambi = 0; i < l; ++i) // collect ambiguous bases
- if (seq[i] == 0) ++n_ambi;
- if (l - n_ambi <= 1) return; // only one SNP
- for (x = 0; x < 1u<<n_ambi; ++x) { // count
- for (i = j = 0, z = 0; i < l; ++i) {
- int c;
- if (seq[i]) c = seq[i] - 1;
- else {
- c = x>>j&1;
- ++j;
- }
- z = z<<1 | c;
- }
- ++cnt[z];
- }
-}
-
-static int **count_all(int l, int vpos, nseq_t *hash)
-{
- khint_t k;
- int i, j, **cnt;
- uint8_t *seq;
- seq = calloc(l, 1);
- cnt = calloc(vpos, sizeof(void*));
- for (i = 0; i < vpos; ++i) cnt[i] = calloc(1<<l, sizeof(int));
- for (k = 0; k < kh_end(hash); ++k) {
- if (kh_exist(hash, k)) {
- frag_t *f = &kh_val(hash, k);
- if (f->vpos >= vpos || f->single) continue; // out of region; or singleton
- if (f->vlen == 1) { // such reads should be flagged as deleted previously if everything is right
- f->single = 1;
- continue;
- }
- for (j = 1; j < f->vlen; ++j) {
- for (i = 0; i < l; ++i)
- seq[i] = j < l - 1 - i? 0 : f->seq[j - (l - 1 - i)];
- count1(l, seq, cnt[f->vpos + j]);
- }
- }
- }
- free(seq);
- return cnt;
-}
-
-// phasing
-static int8_t *dynaprog(int l, int vpos, int **w)
-{
- int *f[2], *curr, *prev, max, i;
- int8_t **b, *h = 0;
- uint32_t x, z = 1u<<(l-1), mask = (1u<<l) - 1;
- f[0] = calloc(z, sizeof(int));
- f[1] = calloc(z, sizeof(int));
- b = calloc(vpos, sizeof(void*));
- prev = f[0]; curr = f[1];
- // fill the backtrack matrix
- for (i = 0; i < vpos; ++i) {
- int *wi = w[i], *tmp;
- int8_t *bi;
- bi = b[i] = calloc(z, 1);
- /* In the following, x is the current state, which is the
- * lexicographically smaller local haplotype. xc is the complement of
- * x, or the larger local haplotype; y0 and y1 are the two predecessors
- * of x. */
- for (x = 0; x < z; ++x) { // x0 is the smaller
- uint32_t y0, y1, xc;
- int c0, c1;
- xc = ~x&mask; y0 = x>>1; y1 = xc>>1;
- c0 = prev[y0] + wi[x] + wi[xc];
- c1 = prev[y1] + wi[x] + wi[xc];
- if (c0 > c1) bi[x] = 0, curr[x] = c0;
- else bi[x] = 1, curr[x] = c1;
- }
- tmp = prev; prev = curr; curr = tmp; // swap
- }
- { // backtrack
- uint32_t max_x = 0;
- int which = 0;
- h = calloc(vpos, 1);
- for (x = 0, max = 0, max_x = 0; x < z; ++x)
- if (prev[x] > max) max = prev[x], max_x = x;
- for (i = vpos - 1, x = max_x; i >= 0; --i) {
- h[i] = which? (~x&1) : (x&1);
- which = b[i][x]? !which : which;
- x = b[i][x]? (~x&mask)>>1 : x>>1;
- }
- }
- // free
- for (i = 0; i < vpos; ++i) free(b[i]);
- free(f[0]); free(f[1]); free(b);
- return h;
-}
-
-// phase each fragment
-static uint64_t *fragphase(int vpos, const int8_t *path, nseq_t *hash, int flip)
-{
- khint_t k;
- uint64_t *pcnt;
- uint32_t *left, *rght, max;
- left = rght = 0; max = 0;
- pcnt = calloc(vpos, 8);
- for (k = 0; k < kh_end(hash); ++k) {
- if (kh_exist(hash, k)) {
- int i, c[2];
- frag_t *f = &kh_val(hash, k);
- if (f->vpos >= vpos) continue;
- // get the phase
- c[0] = c[1] = 0;
- for (i = 0; i < f->vlen; ++i) {
- if (f->seq[i] == 0) continue;
- ++c[f->seq[i] == path[f->vpos + i] + 1? 0 : 1];
- }
- f->phase = c[0] > c[1]? 0 : 1;
- f->in = c[f->phase]; f->out = c[1 - f->phase];
- f->phased = f->in == f->out? 0 : 1;
- f->ambig = (f->in && f->out && f->out < 3 && f->in <= f->out + 1)? 1 : 0;
- // fix chimera
- f->flip = 0;
- if (flip && c[0] >= 3 && c[1] >= 3) {
- int sum[2], m, mi, md;
- if (f->vlen > max) { // enlarge the array
- max = f->vlen;
- kroundup32(max);
- left = realloc(left, max * 4);
- rght = realloc(rght, max * 4);
- }
- for (i = 0, sum[0] = sum[1] = 0; i < f->vlen; ++i) { // get left counts
- if (f->seq[i]) {
- int c = f->phase? 2 - f->seq[i] : f->seq[i] - 1;
- ++sum[c == path[f->vpos + i]? 0 : 1];
- }
- left[i] = sum[1]<<16 | sum[0];
- }
- for (i = f->vlen - 1, sum[0] = sum[1] = 0; i >= 0; --i) { // get right counts
- if (f->seq[i]) {
- int c = f->phase? 2 - f->seq[i] : f->seq[i] - 1;
- ++sum[c == path[f->vpos + i]? 0 : 1];
- }
- rght[i] = sum[1]<<16 | sum[0];
- }
- // find the best flip point
- for (i = m = 0, mi = -1, md = -1; i < f->vlen - 1; ++i) {
- int a[2];
- a[0] = (left[i]&0xffff) + (rght[i+1]>>16&0xffff) - (rght[i+1]&0xffff) * FLIP_PENALTY;
- a[1] = (left[i]>>16&0xffff) + (rght[i+1]&0xffff) - (rght[i+1]>>16&0xffff) * FLIP_PENALTY;
- if (a[0] > a[1]) {
- if (a[0] > m) m = a[0], md = 0, mi = i;
- } else {
- if (a[1] > m) m = a[1], md = 1, mi = i;
- }
- }
- if (m - c[0] >= FLIP_THRES && m - c[1] >= FLIP_THRES) { // then flip
- f->flip = 1;
- if (md == 0) { // flip the tail
- for (i = mi + 1; i < f->vlen; ++i)
- if (f->seq[i] == 1) f->seq[i] = 2;
- else if (f->seq[i] == 2) f->seq[i] = 1;
- } else { // flip the head
- for (i = 0; i <= mi; ++i)
- if (f->seq[i] == 1) f->seq[i] = 2;
- else if (f->seq[i] == 2) f->seq[i] = 1;
- }
- }
- }
- // update pcnt[]
- if (!f->single) {
- for (i = 0; i < f->vlen; ++i) {
- int c;
- if (f->seq[i] == 0) continue;
- c = f->phase? 2 - f->seq[i] : f->seq[i] - 1;
- if (c == path[f->vpos + i]) {
- if (f->phase == 0) ++pcnt[f->vpos + i];
- else pcnt[f->vpos + i] += 1ull<<32;
- } else {
- if (f->phase == 0) pcnt[f->vpos + i] += 1<<16;
- else pcnt[f->vpos + i] += 1ull<<48;
- }
- }
- }
- }
- }
- free(left); free(rght);
- return pcnt;
-}
-
-static uint64_t *genmask(int vpos, const uint64_t *pcnt, int *_n)
-{
- int i, max = 0, max_i = -1, m = 0, n = 0, beg = 0, score = 0;
- uint64_t *list = 0;
- for (i = 0; i < vpos; ++i) {
- uint64_t x = pcnt[i];
- int c[4], pre = score, s;
- c[0] = x&0xffff; c[1] = x>>16&0xffff; c[2] = x>>32&0xffff; c[3] = x>>48&0xffff;
- s = (c[1] + c[3] == 0)? -(c[0] + c[2]) : (c[1] + c[3] - 1);
- if (c[3] > c[2]) s += c[3] - c[2];
- if (c[1] > c[0]) s += c[1] - c[0];
- score += s;
- if (score < 0) score = 0;
- if (pre == 0 && score > 0) beg = i; // change from zero to non-zero
- if ((i == vpos - 1 || score == 0) && max >= MASK_THRES) {
- if (n == m) {
- m = m? m<<1 : 4;
- list = realloc(list, m * 8);
- }
- list[n++] = (uint64_t)beg<<32 | max_i;
- i = max_i; // reset i to max_i
- score = 0;
- } else if (score > max) max = score, max_i = i;
- if (score == 0) max = 0;
- }
- *_n = n;
- return list;
-}
-
-// trim heading and tailing ambiguous bases; mark deleted and remove sequence
-static int clean_seqs(int vpos, nseq_t *hash)
-{
- khint_t k;
- int ret = 0;
- for (k = 0; k < kh_end(hash); ++k) {
- if (kh_exist(hash, k)) {
- frag_t *f = &kh_val(hash, k);
- int beg, end, i;
- if (f->vpos >= vpos) {
- ret = 1;
- continue;
- }
- for (i = 0; i < f->vlen; ++i)
- if (f->seq[i] != 0) break;
- beg = i;
- for (i = f->vlen - 1; i >= 0; --i)
- if (f->seq[i] != 0) break;
- end = i + 1;
- if (end - beg <= 0) kh_del(64, hash, k);
- else {
- if (beg != 0) memmove(f->seq, f->seq + beg, end - beg);
- f->vpos += beg; f->vlen = end - beg;
- f->single = f->vlen == 1? 1 : 0;
- }
- }
- }
- return ret;
-}
-
-static void dump_aln(phaseg_t *g, int min_pos, const nseq_t *hash)
-{
- int i, is_flip, drop_ambi;
- drop_ambi = g->flag & FLAG_DROP_AMBI;
- is_flip = (drand48() < 0.5);
- for (i = 0; i < g->n; ++i) {
- int end, which;
- uint64_t key;
- khint_t k;
- bam1_t *b = g->b[i];
- key = X31_hash_string(bam1_qname(b));
- end = bam_calend(&b->core, bam1_cigar(b));
- if (end > min_pos) break;
- k = kh_get(64, hash, key);
- if (k == kh_end(hash)) which = 3;
- else {
- frag_t *f = &kh_val(hash, k);
- if (f->ambig) which = drop_ambi? 2 : 3;
- else if (f->phased && f->flip) which = 2;
- else if (f->phased == 0) which = 3;
- else { // phased and not flipped
- char c = 'Y';
- which = f->phase;
- bam_aux_append(b, "ZP", 'A', 1, (uint8_t*)&c);
- }
- if (which < 2 && is_flip) which = 1 - which; // increase the randomness
- }
- if (which == 3) which = (drand48() < 0.5);
- bam_write1(g->out[which], b);
- bam_destroy1(b);
- g->b[i] = 0;
- }
- memmove(g->b, g->b + i, (g->n - i) * sizeof(void*));
- g->n -= i;
-}
-
-static int phase(phaseg_t *g, const char *chr, int vpos, uint64_t *cns, nseq_t *hash)
-{
- int i, j, n_seqs = kh_size(hash), n_masked = 0, min_pos;
- khint_t k;
- frag_t **seqs;
- int8_t *path, *sitemask;
- uint64_t *pcnt, *regmask;
-
- if (vpos == 0) return 0;
- i = clean_seqs(vpos, hash); // i is true if hash has an element with its vpos >= vpos
- min_pos = i? cns[vpos]>>32 : 0x7fffffff;
- if (vpos == 1) {
- printf("PS\t%s\t%d\t%d\n", chr, (int)(cns[0]>>32) + 1, (int)(cns[0]>>32) + 1);
- printf("M0\t%s\t%d\t%d\t%c\t%c\t%d\t0\t0\t0\t0\n//\n", chr, (int)(cns[0]>>32) + 1, (int)(cns[0]>>32) + 1,
- "ACGTX"[cns[0]&3], "ACGTX"[cns[0]>>16&3], g->vpos_shift + 1);
- for (k = 0; k < kh_end(hash); ++k) {
- if (kh_exist(hash, k)) {
- frag_t *f = &kh_val(hash, k);
- if (f->vpos) continue;
- f->flip = 0;
- if (f->seq[0] == 0) f->phased = 0;
- else f->phased = 1, f->phase = f->seq[0] - 1;
- }
- }
- dump_aln(g, min_pos, hash);
- ++g->vpos_shift;
- return 1;
- }
- { // phase
- int **cnt;
- uint64_t *mask;
- printf("PS\t%s\t%d\t%d\n", chr, (int)(cns[0]>>32) + 1, (int)(cns[vpos-1]>>32) + 1);
- sitemask = calloc(vpos, 1);
- cnt = count_all(g->k, vpos, hash);
- path = dynaprog(g->k, vpos, cnt);
- for (i = 0; i < vpos; ++i) free(cnt[i]);
- free(cnt);
- pcnt = fragphase(vpos, path, hash, 0); // do not fix chimeras when masking
- mask = genmask(vpos, pcnt, &n_masked);
- regmask = calloc(n_masked, 8);
- for (i = 0; i < n_masked; ++i) {
- regmask[i] = cns[mask[i]>>32]>>32<<32 | cns[(uint32_t)mask[i]]>>32;
- for (j = mask[i]>>32; j <= (int32_t)mask[i]; ++j)
- sitemask[j] = 1;
- }
- free(mask);
- if (g->flag & FLAG_FIX_CHIMERA) {
- free(pcnt);
- pcnt = fragphase(vpos, path, hash, 1);
- }
- }
- for (i = 0; i < n_masked; ++i)
- printf("FL\t%s\t%d\t%d\n", chr, (int)(regmask[i]>>32) + 1, (int)regmask[i] + 1);
- for (i = 0; i < vpos; ++i) {
- uint64_t x = pcnt[i];
- int8_t c[2];
- c[0] = (cns[i]&0xffff)>>2 == 0? 4 : (cns[i]&3);
- c[1] = (cns[i]>>16&0xffff)>>2 == 0? 4 : (cns[i]>>16&3);
- printf("M%d\t%s\t%d\t%d\t%c\t%c\t%d\t%d\t%d\t%d\t%d\n", sitemask[i]+1, chr, (int)(cns[0]>>32) + 1, (int)(cns[i]>>32) + 1, "ACGTX"[c[path[i]]], "ACGTX"[c[1-path[i]]],
- i + g->vpos_shift + 1, (int)(x&0xffff), (int)(x>>16&0xffff), (int)(x>>32&0xffff), (int)(x>>48&0xffff));
- }
- free(path); free(pcnt); free(regmask); free(sitemask);
- seqs = calloc(n_seqs, sizeof(void*));
- for (k = 0, i = 0; k < kh_end(hash); ++k)
- if (kh_exist(hash, k) && kh_val(hash, k).vpos < vpos && !kh_val(hash, k).single)
- seqs[i++] = &kh_val(hash, k);
- n_seqs = i;
- ks_introsort_rseq(n_seqs, seqs);
- for (i = 0; i < n_seqs; ++i) {
- frag_t *f = seqs[i];
- printf("EV\t0\t%s\t%d\t40\t%dM\t*\t0\t0\t", chr, f->vpos + 1 + g->vpos_shift, f->vlen);
- for (j = 0; j < f->vlen; ++j) {
- uint32_t c = cns[f->vpos + j];
- if (f->seq[j] == 0) putchar('N');
- else putchar("ACGT"[f->seq[j] == 1? (c&3) : (c>>16&3)]);
- }
- printf("\t*\tYP:i:%d\tYF:i:%d\tYI:i:%d\tYO:i:%d\tYS:i:%d\n", f->phase, f->flip, f->in, f->out, f->beg+1);
- }
- free(seqs);
- printf("//\n");
- fflush(stdout);
- g->vpos_shift += vpos;
- dump_aln(g, min_pos, hash);
- return vpos;
-}
-
-static void update_vpos(int vpos, nseq_t *hash)
-{
- khint_t k;
- for (k = 0; k < kh_end(hash); ++k) {
- if (kh_exist(hash, k)) {
- frag_t *f = &kh_val(hash, k);
- if (f->vpos < vpos) kh_del(64, hash, k); // TODO: if frag_t::seq is allocated dynamically, free it
- else f->vpos -= vpos;
- }
- }
-}
-
-static nseq_t *shrink_hash(nseq_t *hash) // TODO: to implement
-{
- return hash;
-}
-
-static int readaln(void *data, bam1_t *b)
-{
- phaseg_t *g = (phaseg_t*)data;
- int ret;
- ret = bam_read1(g->fp, b);
- if (ret < 0) return ret;
- if (!(b->core.flag & (BAM_FUNMAP|BAM_FSECONDARY|BAM_FQCFAIL|BAM_FDUP)) && g->pre) {
- if (g->n == g->m) {
- g->m = g->m? g->m<<1 : 16;
- g->b = realloc(g->b, g->m * sizeof(void*));
- }
- g->b[g->n++] = bam_dup1(b);
- }
- return ret;
-}
-
-static khash_t(set64) *loadpos(const char *fn, bam_header_t *h)
-{
- gzFile fp;
- kstream_t *ks;
- int ret, dret;
- kstring_t *str;
- khash_t(set64) *hash;
-
- hash = kh_init(set64);
- str = calloc(1, sizeof(kstring_t));
- fp = strcmp(fn, "-")? gzopen(fn, "r") : gzdopen(fileno(stdin), "r");
- ks = ks_init(fp);
- while (ks_getuntil(ks, 0, str, &dret) >= 0) {
- int tid = bam_get_tid(h, str->s);
- if (tid >= 0 && dret != '\n') {
- if (ks_getuntil(ks, 0, str, &dret) >= 0) {
- uint64_t x = (uint64_t)tid<<32 | (atoi(str->s) - 1);
- kh_put(set64, hash, x, &ret);
- } else break;
- }
- if (dret != '\n') while ((dret = ks_getc(ks)) > 0 && dret != '\n');
- if (dret < 0) break;
- }
- ks_destroy(ks);
- gzclose(fp);
- free(str->s); free(str);
- return hash;
-}
-
-static int gl2cns(float q[16])
-{
- int i, j, min_ij;
- float min, min2;
- min = min2 = 1e30; min_ij = -1;
- for (i = 0; i < 4; ++i) {
- for (j = i; j < 4; ++j) {
- if (q[i<<2|j] < min) min_ij = i<<2|j, min2 = min, min = q[i<<2|j];
- else if (q[i<<2|j] < min2) min2 = q[i<<2|j];
- }
- }
- return (min_ij>>2&3) == (min_ij&3)? 0 : 1<<18 | (min_ij>>2&3)<<16 | (min_ij&3) | (int)(min2 - min + .499) << 2;
-}
-
-int main_phase(int argc, char *argv[])
-{
- extern void bam_init_header_hash(bam_header_t *header);
- int c, tid, pos, vpos = 0, n, lasttid = -1, max_vpos = 0;
- const bam_pileup1_t *plp;
- bam_plp_t iter;
- bam_header_t *h;
- nseq_t *seqs;
- uint64_t *cns = 0;
- phaseg_t g;
- char *fn_list = 0;
- khash_t(set64) *set = 0;
- errmod_t *em;
- uint16_t *bases;
-
- memset(&g, 0, sizeof(phaseg_t));
- g.flag = FLAG_FIX_CHIMERA;
- g.min_varLOD = 37; g.k = 13; g.min_baseQ = 13; g.max_depth = 256;
- while ((c = getopt(argc, argv, "Q:eFq:k:b:l:D:A:")) >= 0) {
- switch (c) {
- case 'D': g.max_depth = atoi(optarg); break;
- case 'q': g.min_varLOD = atoi(optarg); break;
- case 'Q': g.min_baseQ = atoi(optarg); break;
- case 'k': g.k = atoi(optarg); break;
- case 'F': g.flag &= ~FLAG_FIX_CHIMERA; break;
- case 'e': g.flag |= FLAG_LIST_EXCL; break;
- case 'A': g.flag |= FLAG_DROP_AMBI; break;
- case 'b': g.pre = strdup(optarg); break;
- case 'l': fn_list = strdup(optarg); break;
- }
- }
- if (argc == optind) {
- fprintf(stderr, "\n");
- fprintf(stderr, "Usage: samtools phase [options] <in.bam>\n\n");
- fprintf(stderr, "Options: -k INT block length [%d]\n", g.k);
- fprintf(stderr, " -b STR prefix of BAMs to output [null]\n");
- fprintf(stderr, " -q INT min het phred-LOD [%d]\n", g.min_varLOD);
- fprintf(stderr, " -Q INT min base quality in het calling [%d]\n", g.min_baseQ);
- fprintf(stderr, " -D INT max read depth [%d]\n", g.max_depth);
-// fprintf(stderr, " -l FILE list of sites to phase [null]\n");
- fprintf(stderr, " -F do not attempt to fix chimeras\n");
- fprintf(stderr, " -A drop reads with ambiguous phase\n");
-// fprintf(stderr, " -e do not discover SNPs (effective with -l)\n");
- fprintf(stderr, "\n");
- return 1;
- }
- g.fp = strcmp(argv[optind], "-")? bam_open(argv[optind], "r") : bam_dopen(fileno(stdin), "r");
- h = bam_header_read(g.fp);
- if (fn_list) { // read the list of sites to phase
- bam_init_header_hash(h);
- set = loadpos(fn_list, h);
- free(fn_list);
- } else g.flag &= ~FLAG_LIST_EXCL;
- if (g.pre) { // open BAMs to write
- char *s = malloc(strlen(g.pre) + 20);
- strcpy(s, g.pre); strcat(s, ".0.bam"); g.out[0] = bam_open(s, "w");
- strcpy(s, g.pre); strcat(s, ".1.bam"); g.out[1] = bam_open(s, "w");
- strcpy(s, g.pre); strcat(s, ".chimera.bam"); g.out[2] = bam_open(s, "w");
- for (c = 0; c <= 2; ++c) bam_header_write(g.out[c], h);
- free(s);
- }
-
- iter = bam_plp_init(readaln, &g);
- g.vpos_shift = 0;
- seqs = kh_init(64);
- em = errmod_init(1. - 0.83);
- bases = calloc(g.max_depth, 2);
- printf("CC\n");
- printf("CC\tDescriptions:\nCC\n");
- printf("CC\t CC comments\n");
- printf("CC\t PS start of a phase set\n");
- printf("CC\t FL filtered region\n");
- printf("CC\t M[012] markers; 0 for singletons, 1 for phased and 2 for filtered\n");
- printf("CC\t EV supporting reads; SAM format\n");
- printf("CC\t // end of a phase set\nCC\n");
- printf("CC\tFormats of PS, FL and M[012] lines (1-based coordinates):\nCC\n");
- printf("CC\t PS chr phaseSetStart phaseSetEnd\n");
- printf("CC\t FL chr filterStart filterEnd\n");
- printf("CC\t M? chr PS pos allele0 allele1 hetIndex #supports0 #errors0 #supp1 #err1\n");
- printf("CC\nCC\n");
- fflush(stdout);
- while ((plp = bam_plp_auto(iter, &tid, &pos, &n)) != 0) {
- int i, k, c, tmp, dophase = 1, in_set = 0;
- float q[16];
- if (tid < 0) break;
- if (tid != lasttid) { // change of chromosome
- g.vpos_shift = 0;
- if (lasttid >= 0) {
- seqs = shrink_hash(seqs);
- phase(&g, h->target_name[lasttid], vpos, cns, seqs);
- update_vpos(0x7fffffff, seqs);
- }
- lasttid = tid;
- vpos = 0;
- }
- if (set && kh_get(set64, set, (uint64_t)tid<<32 | pos) != kh_end(set)) in_set = 1;
- if (n > g.max_depth) continue; // do not proceed if the depth is too high
- // fill the bases array and check if there is a variant
- for (i = k = 0; i < n; ++i) {
- const bam_pileup1_t *p = plp + i;
- uint8_t *seq;
- int q, baseQ, b;
- if (p->is_del || p->is_refskip) continue;
- baseQ = bam1_qual(p->b)[p->qpos];
- if (baseQ < g.min_baseQ) continue;
- seq = bam1_seq(p->b);
- b = bam_nt16_nt4_table[bam1_seqi(seq, p->qpos)];
- if (b > 3) continue;
- q = baseQ < p->b->core.qual? baseQ : p->b->core.qual;
- if (q < 4) q = 4;
- if (q > 63) q = 63;
- bases[k++] = q<<5 | (int)bam1_strand(p->b)<<4 | b;
- }
- if (k == 0) continue;
- errmod_cal(em, k, 4, bases, q); // compute genotype likelihood
- c = gl2cns(q); // get the consensus
- // tell if to proceed
- if (set && (g.flag&FLAG_LIST_EXCL) && !in_set) continue; // not in the list
- if (!in_set && (c&0xffff)>>2 < g.min_varLOD) continue; // not a variant
- // add the variant
- if (vpos == max_vpos) {
- max_vpos = max_vpos? max_vpos<<1 : 128;
- cns = realloc(cns, max_vpos * 8);
- }
- cns[vpos] = (uint64_t)pos<<32 | c;
- for (i = 0; i < n; ++i) {
- const bam_pileup1_t *p = plp + i;
- uint64_t key;
- khint_t k;
- uint8_t *seq = bam1_seq(p->b);
- frag_t *f;
- if (p->is_del || p->is_refskip) continue;
- if (p->b->core.qual == 0) continue;
- // get the base code
- c = nt16_nt4_table[(int)bam1_seqi(seq, p->qpos)];
- if (c == (cns[vpos]&3)) c = 1;
- else if (c == (cns[vpos]>>16&3)) c = 2;
- else c = 0;
- // write to seqs
- key = X31_hash_string(bam1_qname(p->b));
- k = kh_put(64, seqs, key, &tmp);
- f = &kh_val(seqs, k);
- if (tmp == 0) { // present in the hash table
- if (vpos - f->vpos + 1 < MAX_VARS) {
- f->vlen = vpos - f->vpos + 1;
- f->seq[f->vlen-1] = c;
- f->end = bam_calend(&p->b->core, bam1_cigar(p->b));
- }
- dophase = 0;
- } else { // absent
- memset(f->seq, 0, MAX_VARS);
- f->beg = p->b->core.pos;
- f->end = bam_calend(&p->b->core, bam1_cigar(p->b));
- f->vpos = vpos, f->vlen = 1, f->seq[0] = c, f->single = f->phased = f->flip = f->ambig = 0;
- }
- }
- if (dophase) {
- seqs = shrink_hash(seqs);
- phase(&g, h->target_name[tid], vpos, cns, seqs);
- update_vpos(vpos, seqs);
- cns[0] = cns[vpos];
- vpos = 0;
- }
- ++vpos;
- }
- if (tid >= 0) phase(&g, h->target_name[tid], vpos, cns, seqs);
- bam_header_destroy(h);
- bam_plp_destroy(iter);
- bam_close(g.fp);
- kh_destroy(64, seqs);
- kh_destroy(set64, set);
- free(cns);
- errmod_destroy(em);
- free(bases);
- if (g.pre) {
- for (c = 0; c <= 2; ++c) bam_close(g.out[c]);
- free(g.pre); free(g.b);
- }
- return 0;
-}
diff --git a/sam/razf.c b/sam/razf.c
deleted file mode 100644
index e7499f9..0000000
--- a/sam/razf.c
+++ /dev/null
@@ -1,853 +0,0 @@
-/*
- * RAZF : Random Access compressed(Z) File
- * Version: 1.0
- * Release Date: 2008-10-27
- *
- * Copyright 2008, Jue Ruan <ruanjue at gmail.com>, Heng Li <lh3 at sanger.ac.uk>
- *
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#ifndef _NO_RAZF
-
-#include <fcntl.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include "razf.h"
-
-
-#if ZLIB_VERNUM < 0x1221
-struct _gz_header_s {
- int text;
- uLong time;
- int xflags;
- int os;
- Bytef *extra;
- uInt extra_len;
- uInt extra_max;
- Bytef *name;
- uInt name_max;
- Bytef *comment;
- uInt comm_max;
- int hcrc;
- int done;
-};
-#warning "zlib < 1.2.2.1; RAZF writing is disabled."
-#endif
-
-#define DEF_MEM_LEVEL 8
-
-static inline uint32_t byte_swap_4(uint32_t v){
- v = ((v & 0x0000FFFFU) << 16) | (v >> 16);
- return ((v & 0x00FF00FFU) << 8) | ((v & 0xFF00FF00U) >> 8);
-}
-
-static inline uint64_t byte_swap_8(uint64_t v){
- v = ((v & 0x00000000FFFFFFFFLLU) << 32) | (v >> 32);
- v = ((v & 0x0000FFFF0000FFFFLLU) << 16) | ((v & 0xFFFF0000FFFF0000LLU) >> 16);
- return ((v & 0x00FF00FF00FF00FFLLU) << 8) | ((v & 0xFF00FF00FF00FF00LLU) >> 8);
-}
-
-static inline int is_big_endian(){
- int x = 0x01;
- char *c = (char*)&x;
- return (c[0] != 0x01);
-}
-
-#ifndef _RZ_READONLY
-static void add_zindex(RAZF *rz, int64_t in, int64_t out){
- if(rz->index->size == rz->index->cap){
- rz->index->cap = rz->index->cap * 1.5 + 2;
- rz->index->cell_offsets = realloc(rz->index->cell_offsets, sizeof(int) * rz->index->cap);
- rz->index->bin_offsets = realloc(rz->index->bin_offsets, sizeof(int64_t) * (rz->index->cap/RZ_BIN_SIZE + 1));
- }
- if(rz->index->size % RZ_BIN_SIZE == 0) rz->index->bin_offsets[rz->index->size / RZ_BIN_SIZE] = out;
- rz->index->cell_offsets[rz->index->size] = out - rz->index->bin_offsets[rz->index->size / RZ_BIN_SIZE];
- rz->index->size ++;
-}
-
-static void save_zindex(RAZF *rz, int fd){
- int32_t i, v32;
- int is_be;
- is_be = is_big_endian();
- if(is_be) write(fd, &rz->index->size, sizeof(int));
- else {
- v32 = byte_swap_4((uint32_t)rz->index->size);
- write(fd, &v32, sizeof(uint32_t));
- }
- v32 = rz->index->size / RZ_BIN_SIZE + 1;
- if(!is_be){
- for(i=0;i<v32;i++) rz->index->bin_offsets[i] = byte_swap_8((uint64_t)rz->index->bin_offsets[i]);
- for(i=0;i<rz->index->size;i++) rz->index->cell_offsets[i] = byte_swap_4((uint32_t)rz->index->cell_offsets[i]);
- }
- write(fd, rz->index->bin_offsets, sizeof(int64_t) * v32);
- write(fd, rz->index->cell_offsets, sizeof(int32_t) * rz->index->size);
-}
-#endif
-
-#ifdef _USE_KNETFILE
-static void load_zindex(RAZF *rz, knetFile *fp){
-#else
-static void load_zindex(RAZF *rz, int fd){
-#endif
- int32_t i, v32;
- int is_be;
- if(!rz->load_index) return;
- if(rz->index == NULL) rz->index = malloc(sizeof(ZBlockIndex));
- is_be = is_big_endian();
-#ifdef _USE_KNETFILE
- knet_read(fp, &rz->index->size, sizeof(int));
-#else
- read(fd, &rz->index->size, sizeof(int));
-#endif
- if(!is_be) rz->index->size = byte_swap_4((uint32_t)rz->index->size);
- rz->index->cap = rz->index->size;
- v32 = rz->index->size / RZ_BIN_SIZE + 1;
- rz->index->bin_offsets = malloc(sizeof(int64_t) * v32);
-#ifdef _USE_KNETFILE
- knet_read(fp, rz->index->bin_offsets, sizeof(int64_t) * v32);
-#else
- read(fd, rz->index->bin_offsets, sizeof(int64_t) * v32);
-#endif
- rz->index->cell_offsets = malloc(sizeof(int) * rz->index->size);
-#ifdef _USE_KNETFILE
- knet_read(fp, rz->index->cell_offsets, sizeof(int) * rz->index->size);
-#else
- read(fd, rz->index->cell_offsets, sizeof(int) * rz->index->size);
-#endif
- if(!is_be){
- for(i=0;i<v32;i++) rz->index->bin_offsets[i] = byte_swap_8((uint64_t)rz->index->bin_offsets[i]);
- for(i=0;i<rz->index->size;i++) rz->index->cell_offsets[i] = byte_swap_4((uint32_t)rz->index->cell_offsets[i]);
- }
-}
-
-#ifdef _RZ_READONLY
-static RAZF* razf_open_w(int fd)
-{
- fprintf(stderr, "[razf_open_w] Writing is not available with zlib ver < 1.2.2.1\n");
- return 0;
-}
-#else
-static RAZF* razf_open_w(int fd){
- RAZF *rz;
-#ifdef _WIN32
- setmode(fd, O_BINARY);
-#endif
- rz = calloc(1, sizeof(RAZF));
- rz->mode = 'w';
-#ifdef _USE_KNETFILE
- rz->x.fpw = fd;
-#else
- rz->filedes = fd;
-#endif
- rz->stream = calloc(sizeof(z_stream), 1);
- rz->inbuf = malloc(RZ_BUFFER_SIZE);
- rz->outbuf = malloc(RZ_BUFFER_SIZE);
- rz->index = calloc(sizeof(ZBlockIndex), 1);
- deflateInit2(rz->stream, RZ_COMPRESS_LEVEL, Z_DEFLATED, WINDOW_BITS + 16, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY);
- rz->stream->avail_out = RZ_BUFFER_SIZE;
- rz->stream->next_out = rz->outbuf;
- rz->header = calloc(sizeof(gz_header), 1);
- rz->header->os = 0x03; //Unix
- rz->header->text = 0;
- rz->header->time = 0;
- rz->header->extra = malloc(7);
- strncpy((char*)rz->header->extra, "RAZF", 4);
- rz->header->extra[4] = 1; // obsolete field
- // block size = RZ_BLOCK_SIZE, Big-Endian
- rz->header->extra[5] = RZ_BLOCK_SIZE >> 8;
- rz->header->extra[6] = RZ_BLOCK_SIZE & 0xFF;
- rz->header->extra_len = 7;
- rz->header->name = rz->header->comment = 0;
- rz->header->hcrc = 0;
- deflateSetHeader(rz->stream, rz->header);
- rz->block_pos = rz->block_off = 0;
- return rz;
-}
-
-static void _razf_write(RAZF* rz, const void *data, int size){
- int tout;
- rz->stream->avail_in = size;
- rz->stream->next_in = (void*)data;
- while(1){
- tout = rz->stream->avail_out;
- deflate(rz->stream, Z_NO_FLUSH);
- rz->out += tout - rz->stream->avail_out;
- if(rz->stream->avail_out) break;
-#ifdef _USE_KNETFILE
- write(rz->x.fpw, rz->outbuf, RZ_BUFFER_SIZE - rz->stream->avail_out);
-#else
- write(rz->filedes, rz->outbuf, RZ_BUFFER_SIZE - rz->stream->avail_out);
-#endif
- rz->stream->avail_out = RZ_BUFFER_SIZE;
- rz->stream->next_out = rz->outbuf;
- if(rz->stream->avail_in == 0) break;
- };
- rz->in += size - rz->stream->avail_in;
- rz->block_off += size - rz->stream->avail_in;
-}
-
-static void razf_flush(RAZF *rz){
- uint32_t tout;
- if(rz->buf_len){
- _razf_write(rz, rz->inbuf, rz->buf_len);
- rz->buf_off = rz->buf_len = 0;
- }
- if(rz->stream->avail_out){
-#ifdef _USE_KNETFILE
- write(rz->x.fpw, rz->outbuf, RZ_BUFFER_SIZE - rz->stream->avail_out);
-#else
- write(rz->filedes, rz->outbuf, RZ_BUFFER_SIZE - rz->stream->avail_out);
-#endif
- rz->stream->avail_out = RZ_BUFFER_SIZE;
- rz->stream->next_out = rz->outbuf;
- }
- while(1){
- tout = rz->stream->avail_out;
- deflate(rz->stream, Z_FULL_FLUSH);
- rz->out += tout - rz->stream->avail_out;
- if(rz->stream->avail_out == 0){
-#ifdef _USE_KNETFILE
- write(rz->x.fpw, rz->outbuf, RZ_BUFFER_SIZE - rz->stream->avail_out);
-#else
- write(rz->filedes, rz->outbuf, RZ_BUFFER_SIZE - rz->stream->avail_out);
-#endif
- rz->stream->avail_out = RZ_BUFFER_SIZE;
- rz->stream->next_out = rz->outbuf;
- } else break;
- }
- rz->block_pos = rz->out;
- rz->block_off = 0;
-}
-
-static void razf_end_flush(RAZF *rz){
- uint32_t tout;
- if(rz->buf_len){
- _razf_write(rz, rz->inbuf, rz->buf_len);
- rz->buf_off = rz->buf_len = 0;
- }
- while(1){
- tout = rz->stream->avail_out;
- deflate(rz->stream, Z_FINISH);
- rz->out += tout - rz->stream->avail_out;
- if(rz->stream->avail_out < RZ_BUFFER_SIZE){
-#ifdef _USE_KNETFILE
- write(rz->x.fpw, rz->outbuf, RZ_BUFFER_SIZE - rz->stream->avail_out);
-#else
- write(rz->filedes, rz->outbuf, RZ_BUFFER_SIZE - rz->stream->avail_out);
-#endif
- rz->stream->avail_out = RZ_BUFFER_SIZE;
- rz->stream->next_out = rz->outbuf;
- } else break;
- }
-}
-
-static void _razf_buffered_write(RAZF *rz, const void *data, int size){
- int i, n;
- while(1){
- if(rz->buf_len == RZ_BUFFER_SIZE){
- _razf_write(rz, rz->inbuf, rz->buf_len);
- rz->buf_len = 0;
- }
- if(size + rz->buf_len < RZ_BUFFER_SIZE){
- for(i=0;i<size;i++) ((char*)rz->inbuf + rz->buf_len)[i] = ((char*)data)[i];
- rz->buf_len += size;
- return;
- } else {
- n = RZ_BUFFER_SIZE - rz->buf_len;
- for(i=0;i<n;i++) ((char*)rz->inbuf + rz->buf_len)[i] = ((char*)data)[i];
- size -= n;
- data += n;
- rz->buf_len += n;
- }
- }
-}
-
-int razf_write(RAZF* rz, const void *data, int size){
- int ori_size, n;
- int64_t next_block;
- ori_size = size;
- next_block = ((rz->in / RZ_BLOCK_SIZE) + 1) * RZ_BLOCK_SIZE;
- while(rz->in + rz->buf_len + size >= next_block){
- n = next_block - rz->in - rz->buf_len;
- _razf_buffered_write(rz, data, n);
- data += n;
- size -= n;
- razf_flush(rz);
- add_zindex(rz, rz->in, rz->out);
- next_block = ((rz->in / RZ_BLOCK_SIZE) + 1) * RZ_BLOCK_SIZE;
- }
- _razf_buffered_write(rz, data, size);
- return ori_size;
-}
-#endif
-
-/* gzip flag byte */
-#define ASCII_FLAG 0x01 /* bit 0 set: file probably ascii text */
-#define HEAD_CRC 0x02 /* bit 1 set: header CRC present */
-#define EXTRA_FIELD 0x04 /* bit 2 set: extra field present */
-#define ORIG_NAME 0x08 /* bit 3 set: original file name present */
-#define COMMENT 0x10 /* bit 4 set: file comment present */
-#define RESERVED 0xE0 /* bits 5..7: reserved */
-
-static int _read_gz_header(unsigned char *data, int size, int *extra_off, int *extra_len){
- int method, flags, n, len;
- if(size < 2) return 0;
- if(data[0] != 0x1f || data[1] != 0x8b) return 0;
- if(size < 4) return 0;
- method = data[2];
- flags = data[3];
- if(method != Z_DEFLATED || (flags & RESERVED)) return 0;
- n = 4 + 6; // Skip 6 bytes
- *extra_off = n + 2;
- *extra_len = 0;
- if(flags & EXTRA_FIELD){
- if(size < n + 2) return 0;
- len = ((int)data[n + 1] << 8) | data[n];
- n += 2;
- *extra_off = n;
- while(len){
- if(n >= size) return 0;
- n ++;
- len --;
- }
- *extra_len = n - (*extra_off);
- }
- if(flags & ORIG_NAME) while(n < size && data[n++]);
- if(flags & COMMENT) while(n < size && data[n++]);
- if(flags & HEAD_CRC){
- if(n + 2 > size) return 0;
- n += 2;
- }
- return n;
-}
-
-#ifdef _USE_KNETFILE
-static RAZF* razf_open_r(knetFile *fp, int _load_index){
-#else
-static RAZF* razf_open_r(int fd, int _load_index){
-#endif
- RAZF *rz;
- int ext_off, ext_len;
- int n, is_be, ret;
- int64_t end;
- unsigned char c[] = "RAZF";
- rz = calloc(1, sizeof(RAZF));
- rz->mode = 'r';
-#ifdef _USE_KNETFILE
- rz->x.fpr = fp;
-#else
-#ifdef _WIN32
- setmode(fd, O_BINARY);
-#endif
- rz->filedes = fd;
-#endif
- rz->stream = calloc(sizeof(z_stream), 1);
- rz->inbuf = malloc(RZ_BUFFER_SIZE);
- rz->outbuf = malloc(RZ_BUFFER_SIZE);
- rz->end = rz->src_end = 0x7FFFFFFFFFFFFFFFLL;
-#ifdef _USE_KNETFILE
- n = knet_read(rz->x.fpr, rz->inbuf, RZ_BUFFER_SIZE);
-#else
- n = read(rz->filedes, rz->inbuf, RZ_BUFFER_SIZE);
-#endif
- ret = _read_gz_header(rz->inbuf, n, &ext_off, &ext_len);
- if(ret == 0){
- PLAIN_FILE:
- rz->in = n;
- rz->file_type = FILE_TYPE_PLAIN;
- memcpy(rz->outbuf, rz->inbuf, n);
- rz->buf_len = n;
- free(rz->stream);
- rz->stream = NULL;
- return rz;
- }
- rz->header_size = ret;
- ret = inflateInit2(rz->stream, -WINDOW_BITS);
- if(ret != Z_OK){ inflateEnd(rz->stream); goto PLAIN_FILE;}
- rz->stream->avail_in = n - rz->header_size;
- rz->stream->next_in = rz->inbuf + rz->header_size;
- rz->stream->avail_out = RZ_BUFFER_SIZE;
- rz->stream->next_out = rz->outbuf;
- rz->file_type = FILE_TYPE_GZ;
- rz->in = rz->header_size;
- rz->block_pos = rz->header_size;
- rz->next_block_pos = rz->header_size;
- rz->block_off = 0;
- if(ext_len < 7 || memcmp(rz->inbuf + ext_off, c, 4) != 0) return rz;
- if(((((unsigned char*)rz->inbuf)[ext_off + 5] << 8) | ((unsigned char*)rz->inbuf)[ext_off + 6]) != RZ_BLOCK_SIZE){
- fprintf(stderr, " -- WARNING: RZ_BLOCK_SIZE is not %d, treat source as gz file. in %s -- %s:%d --\n", RZ_BLOCK_SIZE, __FUNCTION__, __FILE__, __LINE__);
- return rz;
- }
- rz->load_index = _load_index;
- rz->file_type = FILE_TYPE_RZ;
-#ifdef _USE_KNETFILE
- if(knet_seek(fp, -16, SEEK_END) == -1){
-#else
- if(lseek(fd, -16, SEEK_END) == -1){
-#endif
- UNSEEKABLE:
- rz->seekable = 0;
- rz->index = NULL;
- rz->src_end = rz->end = 0x7FFFFFFFFFFFFFFFLL;
- } else {
- is_be = is_big_endian();
- rz->seekable = 1;
-#ifdef _USE_KNETFILE
- knet_read(fp, &end, sizeof(int64_t));
-#else
- read(fd, &end, sizeof(int64_t));
-#endif
- if(!is_be) rz->src_end = (int64_t)byte_swap_8((uint64_t)end);
- else rz->src_end = end;
-
-#ifdef _USE_KNETFILE
- knet_read(fp, &end, sizeof(int64_t));
-#else
- read(fd, &end, sizeof(int64_t));
-#endif
- if(!is_be) rz->end = (int64_t)byte_swap_8((uint64_t)end);
- else rz->end = end;
- if(n > rz->end){
- rz->stream->avail_in -= n - rz->end;
- n = rz->end;
- }
- if(rz->end > rz->src_end){
-#ifdef _USE_KNETFILE
- knet_seek(fp, rz->in, SEEK_SET);
-#else
- lseek(fd, rz->in, SEEK_SET);
-#endif
- goto UNSEEKABLE;
- }
-#ifdef _USE_KNETFILE
- knet_seek(fp, rz->end, SEEK_SET);
- if(knet_tell(fp) != rz->end){
- knet_seek(fp, rz->in, SEEK_SET);
-#else
- if(lseek(fd, rz->end, SEEK_SET) != rz->end){
- lseek(fd, rz->in, SEEK_SET);
-#endif
- goto UNSEEKABLE;
- }
-#ifdef _USE_KNETFILE
- load_zindex(rz, fp);
- knet_seek(fp, n, SEEK_SET);
-#else
- load_zindex(rz, fd);
- lseek(fd, n, SEEK_SET);
-#endif
- }
- return rz;
-}
-
-#ifdef _USE_KNETFILE
-RAZF* razf_dopen(int fd, const char *mode){
- if (strstr(mode, "r")) fprintf(stderr,"[razf_dopen] implement me\n");
- else if(strstr(mode, "w")) return razf_open_w(fd);
- return NULL;
-}
-
-RAZF* razf_dopen2(int fd, const char *mode)
-{
- fprintf(stderr,"[razf_dopen2] implement me\n");
- return NULL;
-}
-#else
-RAZF* razf_dopen(int fd, const char *mode){
- if(strstr(mode, "r")) return razf_open_r(fd, 1);
- else if(strstr(mode, "w")) return razf_open_w(fd);
- else return NULL;
-}
-
-RAZF* razf_dopen2(int fd, const char *mode)
-{
- if(strstr(mode, "r")) return razf_open_r(fd, 0);
- else if(strstr(mode, "w")) return razf_open_w(fd);
- else return NULL;
-}
-#endif
-
-static inline RAZF* _razf_open(const char *filename, const char *mode, int _load_index){
- int fd;
- RAZF *rz;
- if(strstr(mode, "r")){
-#ifdef _USE_KNETFILE
- knetFile *fd = knet_open(filename, "r");
- if (fd == 0) {
- fprintf(stderr, "[_razf_open] fail to open %s\n", filename);
- return NULL;
- }
-#else
-#ifdef _WIN32
- fd = open(filename, O_RDONLY | O_BINARY);
-#else
- fd = open(filename, O_RDONLY);
-#endif
-#endif
- if(fd < 0) return NULL;
- rz = razf_open_r(fd, _load_index);
- } else if(strstr(mode, "w")){
-#ifdef _WIN32
- fd = open(filename, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY, 0666);
-#else
- fd = open(filename, O_WRONLY | O_CREAT | O_TRUNC, 0666);
-#endif
- if(fd < 0) return NULL;
- rz = razf_open_w(fd);
- } else return NULL;
- return rz;
-}
-
-RAZF* razf_open(const char *filename, const char *mode){
- return _razf_open(filename, mode, 1);
-}
-
-RAZF* razf_open2(const char *filename, const char *mode){
- return _razf_open(filename, mode, 0);
-}
-
-int razf_get_data_size(RAZF *rz, int64_t *u_size, int64_t *c_size){
- int64_t n;
- if(rz->mode != 'r' && rz->mode != 'R') return 0;
- switch(rz->file_type){
- case FILE_TYPE_PLAIN:
- if(rz->end == 0x7fffffffffffffffLL){
-#ifdef _USE_KNETFILE
- if(knet_seek(rz->x.fpr, 0, SEEK_CUR) == -1) return 0;
- n = knet_tell(rz->x.fpr);
- knet_seek(rz->x.fpr, 0, SEEK_END);
- rz->end = knet_tell(rz->x.fpr);
- knet_seek(rz->x.fpr, n, SEEK_SET);
-#else
- if((n = lseek(rz->filedes, 0, SEEK_CUR)) == -1) return 0;
- rz->end = lseek(rz->filedes, 0, SEEK_END);
- lseek(rz->filedes, n, SEEK_SET);
-#endif
- }
- *u_size = *c_size = rz->end;
- return 1;
- case FILE_TYPE_GZ:
- return 0;
- case FILE_TYPE_RZ:
- if(rz->src_end == rz->end) return 0;
- *u_size = rz->src_end;
- *c_size = rz->end;
- return 1;
- default:
- return 0;
- }
-}
-
-static int _razf_read(RAZF* rz, void *data, int size){
- int ret, tin;
- if(rz->z_eof || rz->z_err) return 0;
- if (rz->file_type == FILE_TYPE_PLAIN) {
-#ifdef _USE_KNETFILE
- ret = knet_read(rz->x.fpr, data, size);
-#else
- ret = read(rz->filedes, data, size);
-#endif
- if (ret == 0) rz->z_eof = 1;
- return ret;
- }
- rz->stream->avail_out = size;
- rz->stream->next_out = data;
- while(rz->stream->avail_out){
- if(rz->stream->avail_in == 0){
- if(rz->in >= rz->end){ rz->z_eof = 1; break; }
- if(rz->end - rz->in < RZ_BUFFER_SIZE){
-#ifdef _USE_KNETFILE
- rz->stream->avail_in = knet_read(rz->x.fpr, rz->inbuf, rz->end -rz->in);
-#else
- rz->stream->avail_in = read(rz->filedes, rz->inbuf, rz->end -rz->in);
-#endif
- } else {
-#ifdef _USE_KNETFILE
- rz->stream->avail_in = knet_read(rz->x.fpr, rz->inbuf, RZ_BUFFER_SIZE);
-#else
- rz->stream->avail_in = read(rz->filedes, rz->inbuf, RZ_BUFFER_SIZE);
-#endif
- }
- if(rz->stream->avail_in == 0){
- rz->z_eof = 1;
- break;
- }
- rz->stream->next_in = rz->inbuf;
- }
- tin = rz->stream->avail_in;
- ret = inflate(rz->stream, Z_BLOCK);
- rz->in += tin - rz->stream->avail_in;
- if(ret == Z_NEED_DICT || ret == Z_MEM_ERROR || ret == Z_DATA_ERROR){
- fprintf(stderr, "[_razf_read] inflate error: %d %s (at %s:%d)\n", ret, rz->stream->msg ? rz->stream->msg : "", __FILE__, __LINE__);
- rz->z_err = 1;
- break;
- }
- if(ret == Z_STREAM_END){
- rz->z_eof = 1;
- break;
- }
- if ((rz->stream->data_type&128) && !(rz->stream->data_type&64)){
- rz->buf_flush = 1;
- rz->next_block_pos = rz->in;
- break;
- }
- }
- return size - rz->stream->avail_out;
-}
-
-int razf_read(RAZF *rz, void *data, int size){
- int ori_size, i;
- ori_size = size;
- while(size > 0){
- if(rz->buf_len){
- if(size < rz->buf_len){
- for(i=0;i<size;i++) ((char*)data)[i] = ((char*)rz->outbuf + rz->buf_off)[i];
- rz->buf_off += size;
- rz->buf_len -= size;
- data += size;
- rz->block_off += size;
- size = 0;
- break;
- } else {
- for(i=0;i<rz->buf_len;i++) ((char*)data)[i] = ((char*)rz->outbuf + rz->buf_off)[i];
- data += rz->buf_len;
- size -= rz->buf_len;
- rz->block_off += rz->buf_len;
- rz->buf_off = 0;
- rz->buf_len = 0;
- if(rz->buf_flush){
- rz->block_pos = rz->next_block_pos;
- rz->block_off = 0;
- rz->buf_flush = 0;
- }
- }
- } else if(rz->buf_flush){
- rz->block_pos = rz->next_block_pos;
- rz->block_off = 0;
- rz->buf_flush = 0;
- }
- if(rz->buf_flush) continue;
- rz->buf_len = _razf_read(rz, rz->outbuf, RZ_BUFFER_SIZE);
- if(rz->z_eof && rz->buf_len == 0) break;
- }
- rz->out += ori_size - size;
- return ori_size - size;
-}
-
-int razf_skip(RAZF* rz, int size){
- int ori_size;
- ori_size = size;
- while(size > 0){
- if(rz->buf_len){
- if(size < rz->buf_len){
- rz->buf_off += size;
- rz->buf_len -= size;
- rz->block_off += size;
- size = 0;
- break;
- } else {
- size -= rz->buf_len;
- rz->buf_off = 0;
- rz->buf_len = 0;
- rz->block_off += rz->buf_len;
- if(rz->buf_flush){
- rz->block_pos = rz->next_block_pos;
- rz->block_off = 0;
- rz->buf_flush = 0;
- }
- }
- } else if(rz->buf_flush){
- rz->block_pos = rz->next_block_pos;
- rz->block_off = 0;
- rz->buf_flush = 0;
- }
- if(rz->buf_flush) continue;
- rz->buf_len = _razf_read(rz, rz->outbuf, RZ_BUFFER_SIZE);
- if(rz->z_eof || rz->z_err) break;
- }
- rz->out += ori_size - size;
- return ori_size - size;
-}
-
-static void _razf_reset_read(RAZF *rz, int64_t in, int64_t out){
-#ifdef _USE_KNETFILE
- knet_seek(rz->x.fpr, in, SEEK_SET);
-#else
- lseek(rz->filedes, in, SEEK_SET);
-#endif
- rz->in = in;
- rz->out = out;
- rz->block_pos = in;
- rz->next_block_pos = in;
- rz->block_off = 0;
- rz->buf_flush = 0;
- rz->z_eof = rz->z_err = 0;
- inflateReset(rz->stream);
- rz->stream->avail_in = 0;
- rz->buf_off = rz->buf_len = 0;
-}
-
-int64_t razf_jump(RAZF *rz, int64_t block_start, int block_offset){
- int64_t pos;
- rz->z_eof = 0;
- if(rz->file_type == FILE_TYPE_PLAIN){
- rz->buf_off = rz->buf_len = 0;
- pos = block_start + block_offset;
-#ifdef _USE_KNETFILE
- knet_seek(rz->x.fpr, pos, SEEK_SET);
- pos = knet_tell(rz->x.fpr);
-#else
- pos = lseek(rz->filedes, pos, SEEK_SET);
-#endif
- rz->out = rz->in = pos;
- return pos;
- }
- if(block_start == rz->block_pos && block_offset >= rz->block_off) {
- block_offset -= rz->block_off;
- goto SKIP; // Needn't reset inflate
- }
- if(block_start == 0) block_start = rz->header_size; // Automaticly revist wrong block_start
- _razf_reset_read(rz, block_start, 0);
- SKIP:
- if(block_offset) razf_skip(rz, block_offset);
- return rz->block_off;
-}
-
-int64_t razf_seek(RAZF* rz, int64_t pos, int where){
- int64_t idx;
- int64_t seek_pos, new_out;
- rz->z_eof = 0;
- if (where == SEEK_CUR) pos += rz->out;
- else if (where == SEEK_END) pos += rz->src_end;
- if(rz->file_type == FILE_TYPE_PLAIN){
-#ifdef _USE_KNETFILE
- knet_seek(rz->x.fpr, pos, SEEK_SET);
- seek_pos = knet_tell(rz->x.fpr);
-#else
- seek_pos = lseek(rz->filedes, pos, SEEK_SET);
-#endif
- rz->buf_off = rz->buf_len = 0;
- rz->out = rz->in = seek_pos;
- return seek_pos;
- } else if(rz->file_type == FILE_TYPE_GZ){
- if(pos >= rz->out) goto SKIP;
- return rz->out;
- }
- if(pos == rz->out) return pos;
- if(pos > rz->src_end) return rz->out;
- if(!rz->seekable || !rz->load_index){
- if(pos >= rz->out) goto SKIP;
- }
- idx = pos / RZ_BLOCK_SIZE - 1;
- seek_pos = (idx < 0)? rz->header_size:(rz->index->cell_offsets[idx] + rz->index->bin_offsets[idx / RZ_BIN_SIZE]);
- new_out = (idx + 1) * RZ_BLOCK_SIZE;
- if(pos > rz->out && new_out <= rz->out) goto SKIP;
- _razf_reset_read(rz, seek_pos, new_out);
- SKIP:
- razf_skip(rz, (int)(pos - rz->out));
- return rz->out;
-}
-
-uint64_t razf_tell2(RAZF *rz)
-{
- /*
- if (rz->load_index) {
- int64_t idx, seek_pos;
- idx = rz->out / RZ_BLOCK_SIZE - 1;
- seek_pos = (idx < 0)? rz->header_size:(rz->index->cell_offsets[idx] + rz->index->bin_offsets[idx / RZ_BIN_SIZE]);
- if (seek_pos != rz->block_pos || rz->out%RZ_BLOCK_SIZE != rz->block_off)
- fprintf(stderr, "[razf_tell2] inconsistent block offset: (%lld, %lld) != (%lld, %lld)\n",
- (long long)seek_pos, (long long)rz->out%RZ_BLOCK_SIZE, (long long)rz->block_pos, (long long) rz->block_off);
- }
- */
- return (uint64_t)rz->block_pos<<16 | (rz->block_off&0xffff);
-}
-
-int64_t razf_seek2(RAZF *rz, uint64_t voffset, int where)
-{
- if (where != SEEK_SET) return -1;
- return razf_jump(rz, voffset>>16, voffset&0xffff);
-}
-
-void razf_close(RAZF *rz){
- if(rz->mode == 'w'){
-#ifndef _RZ_READONLY
- razf_end_flush(rz);
- deflateEnd(rz->stream);
-#ifdef _USE_KNETFILE
- save_zindex(rz, rz->x.fpw);
- if(is_big_endian()){
- write(rz->x.fpw, &rz->in, sizeof(int64_t));
- write(rz->x.fpw, &rz->out, sizeof(int64_t));
- } else {
- uint64_t v64 = byte_swap_8((uint64_t)rz->in);
- write(rz->x.fpw, &v64, sizeof(int64_t));
- v64 = byte_swap_8((uint64_t)rz->out);
- write(rz->x.fpw, &v64, sizeof(int64_t));
- }
-#else
- save_zindex(rz, rz->filedes);
- if(is_big_endian()){
- write(rz->filedes, &rz->in, sizeof(int64_t));
- write(rz->filedes, &rz->out, sizeof(int64_t));
- } else {
- uint64_t v64 = byte_swap_8((uint64_t)rz->in);
- write(rz->filedes, &v64, sizeof(int64_t));
- v64 = byte_swap_8((uint64_t)rz->out);
- write(rz->filedes, &v64, sizeof(int64_t));
- }
-#endif
-#endif
- } else if(rz->mode == 'r'){
- if(rz->stream) inflateEnd(rz->stream);
- }
- if(rz->inbuf) free(rz->inbuf);
- if(rz->outbuf) free(rz->outbuf);
- if(rz->header){
- free(rz->header->extra);
- free(rz->header->name);
- free(rz->header->comment);
- free(rz->header);
- }
- if(rz->index){
- free(rz->index->bin_offsets);
- free(rz->index->cell_offsets);
- free(rz->index);
- }
- free(rz->stream);
-#ifdef _USE_KNETFILE
- if (rz->mode == 'r')
- knet_close(rz->x.fpr);
- if (rz->mode == 'w')
- close(rz->x.fpw);
-#else
- close(rz->filedes);
-#endif
- free(rz);
-}
-
-#endif
diff --git a/sam/razf.h b/sam/razf.h
deleted file mode 100644
index 60a0c96..0000000
--- a/sam/razf.h
+++ /dev/null
@@ -1,134 +0,0 @@
- /*-
- * RAZF : Random Access compressed(Z) File
- * Version: 1.0
- * Release Date: 2008-10-27
- *
- * Copyright 2008, Jue Ruan <ruanjue at gmail.com>, Heng Li <lh3 at sanger.ac.uk>
- *
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-
-#ifndef __RAZF_RJ_H
-#define __RAZF_RJ_H
-
-#include <stdint.h>
-#include <stdio.h>
-#include "zlib.h"
-
-#ifdef _USE_KNETFILE
-#include "knetfile.h"
-#endif
-
-#if ZLIB_VERNUM < 0x1221
-#define _RZ_READONLY
-struct _gz_header_s;
-typedef struct _gz_header_s _gz_header;
-#define gz_header _gz_header
-#endif
-
-#define WINDOW_BITS 15
-
-#ifndef RZ_BLOCK_SIZE
-#define RZ_BLOCK_SIZE (1<<WINDOW_BITS)
-#endif
-
-#ifndef RZ_BUFFER_SIZE
-#define RZ_BUFFER_SIZE 4096
-#endif
-
-#ifndef RZ_COMPRESS_LEVEL
-#define RZ_COMPRESS_LEVEL 6
-#endif
-
-#define RZ_BIN_SIZE ((1LLU << 32) / RZ_BLOCK_SIZE)
-
-typedef struct {
- uint32_t *cell_offsets; // i
- int64_t *bin_offsets; // i / BIN_SIZE
- int size;
- int cap;
-} ZBlockIndex;
-/* When storing index, output bytes in Big-Endian everywhere */
-
-#define FILE_TYPE_RZ 1
-#define FILE_TYPE_PLAIN 2
-#define FILE_TYPE_GZ 3
-
-typedef struct RandomAccessZFile {
- char mode; /* 'w' : write mode; 'r' : read mode */
- int file_type;
- /* plain file or rz file, razf_read support plain file as input too, in this case, razf_read work as buffered fread */
-#ifdef _USE_KNETFILE
- union {
- knetFile *fpr;
- int fpw;
- } x;
-#else
- int filedes; /* the file descriptor */
-#endif
- z_stream *stream;
- ZBlockIndex *index;
- int64_t in, out, end, src_end;
- /* in: n bytes total in; out: n bytes total out; */
- /* end: the end of all data blocks, while the start of index; src_end: the true end position in uncompressed file */
- int buf_flush; // buffer should be flush, suspend inflate util buffer is empty
- int64_t block_pos, block_off, next_block_pos;
- /* block_pos: the start postiion of current block in compressed file */
- /* block_off: tell how many bytes have been read from current block */
- void *inbuf, *outbuf;
- int header_size;
- gz_header *header;
- /* header is used to transfer inflate_state->mode from HEAD to TYPE after call inflateReset */
- int buf_off, buf_len;
- int z_err, z_eof;
- int seekable;
- /* Indice where the source is seekable */
- int load_index;
- /* set has_index to 0 in mode 'w', then index will be discarded */
-} RAZF;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
- RAZF* razf_dopen(int data_fd, const char *mode);
- RAZF *razf_open(const char *fn, const char *mode);
- int razf_write(RAZF* rz, const void *data, int size);
- int razf_read(RAZF* rz, void *data, int size);
- int64_t razf_seek(RAZF* rz, int64_t pos, int where);
- void razf_close(RAZF* rz);
-
-#define razf_tell(rz) ((rz)->out)
-
- RAZF* razf_open2(const char *filename, const char *mode);
- RAZF* razf_dopen2(int fd, const char *mode);
- uint64_t razf_tell2(RAZF *rz);
- int64_t razf_seek2(RAZF *rz, uint64_t voffset, int where);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/sam/razip.c b/sam/razip.c
deleted file mode 100644
index 825e732..0000000
--- a/sam/razip.c
+++ /dev/null
@@ -1,141 +0,0 @@
-#include <stdio.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <errno.h>
-#include <stdlib.h>
-#include <string.h>
-#include "razf.h"
-
-#define WINDOW_SIZE 4096
-
-static int razf_main_usage()
-{
- printf("\n");
- printf("Usage: razip [options] [file] ...\n\n");
- printf("Options: -c write on standard output, keep original files unchanged\n");
- printf(" -d decompress\n");
- printf(" -l list compressed file contents\n");
- printf(" -b INT decompress at INT position in the uncompressed file\n");
- printf(" -s INT decompress INT bytes in the uncompressed file\n");
- printf(" -h give this help\n");
- printf("\n");
- return 0;
-}
-
-static int write_open(const char *fn, int is_forced)
-{
- int fd = -1;
- char c;
- if (!is_forced) {
- if ((fd = open(fn, O_WRONLY | O_CREAT | O_TRUNC | O_EXCL, 0666)) < 0 && errno == EEXIST) {
- printf("razip: %s already exists; do you wish to overwrite (y or n)? ", fn);
- scanf("%c", &c);
- if (c != 'Y' && c != 'y') {
- printf("razip: not overwritten\n");
- exit(1);
- }
- }
- }
- if (fd < 0) {
- if ((fd = open(fn, O_WRONLY | O_CREAT | O_TRUNC, 0666)) < 0) {
- fprintf(stderr, "razip: %s: Fail to write\n", fn);
- exit(1);
- }
- }
- return fd;
-}
-
-int main(int argc, char **argv)
-{
- int c, compress, pstdout, is_forced;
- RAZF *rz;
- void *buffer;
- long start, end, size;
-
- compress = 1; pstdout = 0; start = 0; size = -1; end = -1; is_forced = 0;
- while((c = getopt(argc, argv, "cdlhfb:s:")) >= 0){
- switch(c){
- case 'h': return razf_main_usage();
- case 'd': compress = 0; break;
- case 'c': pstdout = 1; break;
- case 'l': compress = 2; break;
- case 'b': start = atol(optarg); break;
- case 's': size = atol(optarg); break;
- case 'f': is_forced = 1; break;
- }
- }
- if (size >= 0) end = start + size;
- if(end >= 0 && end < start){
- fprintf(stderr, " -- Illegal region: [%ld, %ld] --\n", start, end);
- return 1;
- }
- if(compress == 1){
- int f_src, f_dst = -1;
- if(argc > optind){
- if((f_src = open(argv[optind], O_RDONLY)) < 0){
- fprintf(stderr, " -- Cannot open file: %s --\n", argv[optind]);
- return 1;
- }
- if(pstdout){
- f_dst = fileno(stdout);
- } else {
- char *name = malloc(sizeof(strlen(argv[optind]) + 5));
- strcpy(name, argv[optind]);
- strcat(name, ".rz");
- f_dst = write_open(name, is_forced);
- if (f_dst < 0) return 1;
- free(name);
- }
- } else if(pstdout){
- f_src = fileno(stdin);
- f_dst = fileno(stdout);
- } else return razf_main_usage();
- rz = razf_dopen(f_dst, "w");
- buffer = malloc(WINDOW_SIZE);
- while((c = read(f_src, buffer, WINDOW_SIZE)) > 0) razf_write(rz, buffer, c);
- razf_close(rz); // f_dst will be closed here
- if (argc > optind && !pstdout) unlink(argv[optind]);
- free(buffer);
- close(f_src);
- return 0;
- } else {
- if(argc <= optind) return razf_main_usage();
- if(compress == 2){
- rz = razf_open(argv[optind], "r");
- if(rz->file_type == FILE_TYPE_RZ) {
- printf("%20s%20s%7s %s\n", "compressed", "uncompressed", "ratio", "name");
- printf("%20lld%20lld%6.1f%% %s\n", (long long)rz->end, (long long)rz->src_end, rz->end * 100.0f / rz->src_end,
- argv[optind]);
- } else fprintf(stdout, "%s is not a regular rz file\n", argv[optind]);
- } else {
- int f_dst;
- if (argc > optind && !pstdout) {
- char *name;
- if (strstr(argv[optind], ".rz") - argv[optind] != strlen(argv[optind]) - 3) {
- printf("razip: %s: unknown suffix -- ignored\n", argv[optind]);
- return 1;
- }
- name = strdup(argv[optind]);
- name[strlen(name) - 3] = '\0';
- f_dst = write_open(name, is_forced);
- free(name);
- } else f_dst = fileno(stdout);
- rz = razf_open(argv[optind], "r");
- buffer = malloc(WINDOW_SIZE);
- razf_seek(rz, start, SEEK_SET);
- while(1){
- if(end < 0) c = razf_read(rz, buffer, WINDOW_SIZE);
- else c = razf_read(rz, buffer, (end - start > WINDOW_SIZE)? WINDOW_SIZE:(end - start));
- if(c <= 0) break;
- start += c;
- write(f_dst, buffer, c);
- if(end >= 0 && start >= end) break;
- }
- free(buffer);
- if (!pstdout) unlink(argv[optind]);
- }
- razf_close(rz);
- return 0;
- }
-}
-
diff --git a/sam/sam.c b/sam/sam.c
deleted file mode 100644
index fa11df6..0000000
--- a/sam/sam.c
+++ /dev/null
@@ -1,186 +0,0 @@
-#include <string.h>
-#include <unistd.h>
-#include "faidx.h"
-#include "sam.h"
-
-#define TYPE_BAM 1
-#define TYPE_READ 2
-
-bam_header_t *bam_header_dup(const bam_header_t *h0)
-{
- bam_header_t *h;
- int i;
- h = bam_header_init();
- *h = *h0;
- h->hash = h->dict = h->rg2lib = 0;
- h->text = (char*)calloc(h->l_text + 1, 1);
- memcpy(h->text, h0->text, h->l_text);
- h->target_len = (uint32_t*)calloc(h->n_targets, 4);
- h->target_name = (char**)calloc(h->n_targets, sizeof(void*));
- for (i = 0; i < h->n_targets; ++i) {
- h->target_len[i] = h0->target_len[i];
- h->target_name[i] = strdup(h0->target_name[i]);
- }
- return h;
-}
-static void append_header_text(bam_header_t *header, char* text, int len)
-{
- int x = header->l_text + 1;
- int y = header->l_text + len + 1; // 1 byte null
- if (text == 0) return;
- kroundup32(x);
- kroundup32(y);
- if (x < y) header->text = (char*)realloc(header->text, y);
- strncpy(header->text + header->l_text, text, len); // we cannot use strcpy() here.
- header->l_text += len;
- header->text[header->l_text] = 0;
-}
-
-int samthreads(samfile_t *fp, int n_threads, int n_sub_blks)
-{
- if (!(fp->type&1) || (fp->type&2)) return -1;
- bgzf_mt(fp->x.bam, n_threads, n_sub_blks);
- return 0;
-}
-
-samfile_t *samopen(const char *fn, const char *mode, const void *aux)
-{
- samfile_t *fp;
- fp = (samfile_t*)calloc(1, sizeof(samfile_t));
- if (strchr(mode, 'r')) { // read
- fp->type |= TYPE_READ;
- if (strchr(mode, 'b')) { // binary
- fp->type |= TYPE_BAM;
- fp->x.bam = strcmp(fn, "-")? bam_open(fn, "r") : bam_dopen(fileno(stdin), "r");
- if (fp->x.bam == 0) goto open_err_ret;
- fp->header = bam_header_read(fp->x.bam);
- } else { // text
- fp->x.tamr = sam_open(fn);
- if (fp->x.tamr == 0) goto open_err_ret;
- fp->header = sam_header_read(fp->x.tamr);
- if (fp->header->n_targets == 0) { // no @SQ fields
- if (aux) { // check if aux is present
- bam_header_t *textheader = fp->header;
- fp->header = sam_header_read2((const char*)aux);
- if (fp->header == 0) goto open_err_ret;
- append_header_text(fp->header, textheader->text, textheader->l_text);
- bam_header_destroy(textheader);
- }
- if (fp->header->n_targets == 0 && bam_verbose >= 1)
- fprintf(stderr, "[samopen] no @SQ lines in the header.\n");
- } else if (bam_verbose >= 2) fprintf(stderr, "[samopen] SAM header is present: %d sequences.\n", fp->header->n_targets);
- }
- } else if (strchr(mode, 'w')) { // write
- fp->header = bam_header_dup((const bam_header_t*)aux);
- if (strchr(mode, 'b')) { // binary
- char bmode[3];
- int i, compress_level = -1;
- for (i = 0; mode[i]; ++i) if (mode[i] >= '0' && mode[i] <= '9') break;
- if (mode[i]) compress_level = mode[i] - '0';
- if (strchr(mode, 'u')) compress_level = 0;
- bmode[0] = 'w'; bmode[1] = compress_level < 0? 0 : compress_level + '0'; bmode[2] = 0;
- fp->type |= TYPE_BAM;
- fp->x.bam = strcmp(fn, "-")? bam_open(fn, bmode) : bam_dopen(fileno(stdout), bmode);
- if (fp->x.bam == 0) goto open_err_ret;
- bam_header_write(fp->x.bam, fp->header);
- } else { // text
- // open file
- fp->x.tamw = strcmp(fn, "-")? fopen(fn, "w") : stdout;
- if (fp->x.tamw == 0) goto open_err_ret;
- if (strchr(mode, 'X')) fp->type |= BAM_OFSTR<<2;
- else if (strchr(mode, 'x')) fp->type |= BAM_OFHEX<<2;
- else fp->type |= BAM_OFDEC<<2;
- // write header
- if (strchr(mode, 'h')) {
- int i;
- bam_header_t *alt;
- // parse the header text
- alt = bam_header_init();
- alt->l_text = fp->header->l_text; alt->text = fp->header->text;
- sam_header_parse(alt);
- alt->l_text = 0; alt->text = 0;
- // check if there are @SQ lines in the header
- fwrite(fp->header->text, 1, fp->header->l_text, fp->x.tamw); // FIXME: better to skip the trailing NULL
- if (alt->n_targets) { // then write the header text without dumping ->target_{name,len}
- if (alt->n_targets != fp->header->n_targets && bam_verbose >= 1)
- fprintf(stderr, "[samopen] inconsistent number of target sequences. Output the text header.\n");
- } else { // then dump ->target_{name,len}
- for (i = 0; i < fp->header->n_targets; ++i)
- fprintf(fp->x.tamw, "@SQ\tSN:%s\tLN:%d\n", fp->header->target_name[i], fp->header->target_len[i]);
- }
- bam_header_destroy(alt);
- }
- }
- }
- return fp;
-
-open_err_ret:
- free(fp);
- return 0;
-}
-
-void samclose(samfile_t *fp)
-{
- if (fp == 0) return;
- if (fp->header) bam_header_destroy(fp->header);
- if (fp->type & TYPE_BAM) bam_close(fp->x.bam);
- else if (fp->type & TYPE_READ) sam_close(fp->x.tamr);
- else fclose(fp->x.tamw);
- free(fp);
-}
-
-int samread(samfile_t *fp, bam1_t *b)
-{
- if (fp == 0 || !(fp->type & TYPE_READ)) return -1; // not open for reading
- if (fp->type & TYPE_BAM) return bam_read1(fp->x.bam, b);
- else return sam_read1(fp->x.tamr, fp->header, b);
-}
-
-int samwrite(samfile_t *fp, const bam1_t *b)
-{
- if (fp == 0 || (fp->type & TYPE_READ)) return -1; // not open for writing
- if (fp->type & TYPE_BAM) return bam_write1(fp->x.bam, b);
- else {
- char *s = bam_format1_core(fp->header, b, fp->type>>2&3);
- int l = strlen(s);
- fputs(s, fp->x.tamw); fputc('\n', fp->x.tamw);
- free(s);
- return l + 1;
- }
-}
-
-int sampileup(samfile_t *fp, int mask, bam_pileup_f func, void *func_data)
-{
- bam_plbuf_t *buf;
- int ret;
- bam1_t *b;
- b = bam_init1();
- buf = bam_plbuf_init(func, func_data);
- bam_plbuf_set_mask(buf, mask);
- while ((ret = samread(fp, b)) >= 0)
- bam_plbuf_push(b, buf);
- bam_plbuf_push(0, buf);
- bam_plbuf_destroy(buf);
- bam_destroy1(b);
- return 0;
-}
-
-char *samfaipath(const char *fn_ref)
-{
- char *fn_list = 0;
- if (fn_ref == 0) return 0;
- fn_list = calloc(strlen(fn_ref) + 5, 1);
- strcat(strcpy(fn_list, fn_ref), ".fai");
- if (access(fn_list, R_OK) == -1) { // fn_list is unreadable
- if (access(fn_ref, R_OK) == -1) {
- fprintf(stderr, "[samfaipath] fail to read file %s.\n", fn_ref);
- } else {
- if (bam_verbose >= 3) fprintf(stderr, "[samfaipath] build FASTA index...\n");
- if (fai_build(fn_ref) == -1) {
- fprintf(stderr, "[samfaipath] fail to build FASTA index.\n");
- free(fn_list); fn_list = 0;
- }
- }
- }
- return fn_list;
-}
diff --git a/sam/sam.h b/sam/sam.h
deleted file mode 100644
index 0495501..0000000
--- a/sam/sam.h
+++ /dev/null
@@ -1,99 +0,0 @@
-#ifndef BAM_SAM_H
-#define BAM_SAM_H
-
-#include "bam.h"
-
-/*!
- @header
-
- This file provides higher level of I/O routines and unifies the APIs
- for SAM and BAM formats. These APIs are more convenient and
- recommended.
-
- @copyright Genome Research Ltd.
- */
-
-/*! @typedef
- @abstract SAM/BAM file handler
- @field type type of the handler; bit 1 for BAM, 2 for reading and bit 3-4 for flag format
- @field bam BAM file handler; valid if (type&1) == 1
- @field tamr SAM file handler for reading; valid if type == 2
- @field tamw SAM file handler for writing; valid if type == 0
- @field header header struct
- */
-typedef struct {
- int type;
- union {
- tamFile tamr;
- bamFile bam;
- FILE *tamw;
- } x;
- bam_header_t *header;
-} samfile_t;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
- /*!
- @abstract Open a SAM/BAM file
-
- @param fn SAM/BAM file name; "-" is recognized as stdin (for
- reading) or stdout (for writing).
-
- @param mode open mode /[rw](b?)(u?)(h?)([xX]?)/: 'r' for reading,
- 'w' for writing, 'b' for BAM I/O, 'u' for uncompressed BAM output,
- 'h' for outputing header in SAM, 'x' for HEX flag and 'X' for
- string flag. If 'b' present, it must immediately follow 'r' or
- 'w'. Valid modes are "r", "w", "wh", "wx", "whx", "wX", "whX",
- "rb", "wb" and "wbu" exclusively.
-
- @param aux auxiliary data; if mode[0]=='w', aux points to
- bam_header_t; if strcmp(mode, "rb")!=0 and @SQ header lines in SAM
- are absent, aux points the file name of the list of the reference;
- aux is not used otherwise. If @SQ header lines are present in SAM,
- aux is not used, either.
-
- @return SAM/BAM file handler
- */
- samfile_t *samopen(const char *fn, const char *mode, const void *aux);
-
- /*!
- @abstract Close a SAM/BAM handler
- @param fp file handler to be closed
- */
- void samclose(samfile_t *fp);
-
- /*!
- @abstract Read one alignment
- @param fp file handler
- @param b alignment
- @return bytes read
- */
- int samread(samfile_t *fp, bam1_t *b);
-
- /*!
- @abstract Write one alignment
- @param fp file handler
- @param b alignment
- @return bytes written
- */
- int samwrite(samfile_t *fp, const bam1_t *b);
-
- /*!
- @abstract Get the pileup for a whole alignment file
- @param fp file handler
- @param mask mask transferred to bam_plbuf_set_mask()
- @param func user defined function called in the pileup process
- #param data user provided data for func()
- */
- int sampileup(samfile_t *fp, int mask, bam_pileup_f func, void *data);
-
- char *samfaipath(const char *fn_ref);
- int samthreads(samfile_t *fp, int n_threads, int n_sub_blks);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/sam/sam_header.c b/sam/sam_header.c
deleted file mode 100644
index 88b6a1c..0000000
--- a/sam/sam_header.c
+++ /dev/null
@@ -1,810 +0,0 @@
-#include "sam_header.h"
-#include <stdio.h>
-#include <string.h>
-#include <ctype.h>
-#include <stdlib.h>
-#include <stdarg.h>
-
-#include "khash.h"
-KHASH_MAP_INIT_STR(str, const char *)
-
-struct _HeaderList
-{
- struct _HeaderList *last; // Hack: Used and maintained only by list_append_to_end. Maintained in the root node only.
- struct _HeaderList *next;
- void *data;
-};
-typedef struct _HeaderList list_t;
-typedef list_t HeaderDict;
-
-typedef struct
-{
- char key[2];
- char *value;
-}
-HeaderTag;
-
-typedef struct
-{
- char type[2];
- list_t *tags;
-}
-HeaderLine;
-
-const char *o_hd_tags[] = {"SO","GO",NULL};
-const char *r_hd_tags[] = {"VN",NULL};
-
-const char *o_sq_tags[] = {"AS","M5","UR","SP",NULL};
-const char *r_sq_tags[] = {"SN","LN",NULL};
-const char *u_sq_tags[] = {"SN",NULL};
-
-const char *o_rg_tags[] = {"CN","DS","DT","FO","KS","LB","PG","PI","PL","PU","SM",NULL};
-const char *r_rg_tags[] = {"ID",NULL};
-const char *u_rg_tags[] = {"ID",NULL};
-
-const char *o_pg_tags[] = {"VN","CL",NULL};
-const char *r_pg_tags[] = {"ID",NULL};
-
-const char *types[] = {"HD","SQ","RG","PG","CO",NULL};
-const char **optional_tags[] = {o_hd_tags,o_sq_tags,o_rg_tags,o_pg_tags,NULL,NULL};
-const char **required_tags[] = {r_hd_tags,r_sq_tags,r_rg_tags,r_pg_tags,NULL,NULL};
-const char **unique_tags[] = {NULL, u_sq_tags,u_rg_tags,NULL,NULL,NULL};
-
-
-static void debug(const char *format, ...)
-{
- va_list ap;
- va_start(ap, format);
- vfprintf(stderr, format, ap);
- va_end(ap);
-}
-
-#if 0
-// Replaced by list_append_to_end
-static list_t *list_prepend(list_t *root, void *data)
-{
- list_t *l = malloc(sizeof(list_t));
- l->next = root;
- l->data = data;
- return l;
-}
-#endif
-
-// Relies on the root->last being correct. Do not use with the other list_*
-// routines unless they are fixed to modify root->last as well.
-static list_t *list_append_to_end(list_t *root, void *data)
-{
- list_t *l = malloc(sizeof(list_t));
- l->last = l;
- l->next = NULL;
- l->data = data;
-
- if ( !root )
- return l;
-
- root->last->next = l;
- root->last = l;
- return root;
-}
-
-static list_t *list_append(list_t *root, void *data)
-{
- list_t *l = root;
- while (l && l->next)
- l = l->next;
- if ( l )
- {
- l->next = malloc(sizeof(list_t));
- l = l->next;
- }
- else
- {
- l = malloc(sizeof(list_t));
- root = l;
- }
- l->data = data;
- l->next = NULL;
- return root;
-}
-
-static void list_free(list_t *root)
-{
- list_t *l = root;
- while (root)
- {
- l = root;
- root = root->next;
- free(l);
- }
-}
-
-
-
-// Look for a tag "XY" in a predefined const char *[] array.
-static int tag_exists(const char *tag, const char **tags)
-{
- int itag=0;
- if ( !tags ) return -1;
- while ( tags[itag] )
- {
- if ( tags[itag][0]==tag[0] && tags[itag][1]==tag[1] ) return itag;
- itag++;
- }
- return -1;
-}
-
-
-
-// Mimics the behaviour of getline, except it returns pointer to the next chunk of the text
-// or NULL if everything has been read. The lineptr should be freed by the caller. The
-// newline character is stripped.
-static const char *nextline(char **lineptr, size_t *n, const char *text)
-{
- int len;
- const char *to = text;
-
- if ( !*to ) return NULL;
-
- while ( *to && *to!='\n' && *to!='\r' ) to++;
- len = to - text + 1;
-
- if ( *to )
- {
- // Advance the pointer for the next call
- if ( *to=='\n' ) to++;
- else if ( *to=='\r' && *(to+1)=='\n' ) to+=2;
- }
- if ( !len )
- return to;
-
- if ( !*lineptr )
- {
- *lineptr = malloc(len);
- *n = len;
- }
- else if ( *n<len )
- {
- *lineptr = realloc(*lineptr, len);
- *n = len;
- }
- if ( !*lineptr ) {
- debug("[nextline] Insufficient memory!\n");
- return 0;
- }
-
- memcpy(*lineptr,text,len);
- (*lineptr)[len-1] = 0;
-
- return to;
-}
-
-// name points to "XY", value_from points to the first character of the value string and
-// value_to points to the last character of the value string.
-static HeaderTag *new_tag(const char *name, const char *value_from, const char *value_to)
-{
- HeaderTag *tag = malloc(sizeof(HeaderTag));
- int len = value_to-value_from+1;
-
- tag->key[0] = name[0];
- tag->key[1] = name[1];
- tag->value = malloc(len+1);
- memcpy(tag->value,value_from,len+1);
- tag->value[len] = 0;
- return tag;
-}
-
-static HeaderTag *header_line_has_tag(HeaderLine *hline, const char *key)
-{
- list_t *tags = hline->tags;
- while (tags)
- {
- HeaderTag *tag = tags->data;
- if ( tag->key[0]==key[0] && tag->key[1]==key[1] ) return tag;
- tags = tags->next;
- }
- return NULL;
-}
-
-
-// Return codes:
-// 0 .. different types or unique tags differ or conflicting tags, cannot be merged
-// 1 .. all tags identical -> no need to merge, drop one
-// 2 .. the unique tags match and there are some conflicting tags (same tag, different value) -> error, cannot be merged nor duplicated
-// 3 .. there are some missing complementary tags and no unique conflict -> can be merged into a single line
-static int sam_header_compare_lines(HeaderLine *hline1, HeaderLine *hline2)
-{
- HeaderTag *t1, *t2;
-
- if ( hline1->type[0]!=hline2->type[0] || hline1->type[1]!=hline2->type[1] )
- return 0;
-
- int itype = tag_exists(hline1->type,types);
- if ( itype==-1 ) {
- debug("[sam_header_compare_lines] Unknown type [%c%c]\n", hline1->type[0],hline1->type[1]);
- return -1; // FIXME (lh3): error; I do not know how this will be handled in Petr's code
- }
-
- if ( unique_tags[itype] )
- {
- t1 = header_line_has_tag(hline1,unique_tags[itype][0]);
- t2 = header_line_has_tag(hline2,unique_tags[itype][0]);
- if ( !t1 || !t2 ) // this should never happen, the unique tags are required
- return 2;
-
- if ( strcmp(t1->value,t2->value) )
- return 0; // the unique tags differ, cannot be merged
- }
- if ( !required_tags[itype] && !optional_tags[itype] )
- {
- t1 = hline1->tags->data;
- t2 = hline2->tags->data;
- if ( !strcmp(t1->value,t2->value) ) return 1; // identical comments
- return 0;
- }
-
- int missing=0, itag=0;
- while ( required_tags[itype] && required_tags[itype][itag] )
- {
- t1 = header_line_has_tag(hline1,required_tags[itype][itag]);
- t2 = header_line_has_tag(hline2,required_tags[itype][itag]);
- if ( !t1 && !t2 )
- return 2; // this should never happen
- else if ( !t1 || !t2 )
- missing = 1; // there is some tag missing in one of the hlines
- else if ( strcmp(t1->value,t2->value) )
- {
- if ( unique_tags[itype] )
- return 2; // the lines have a matching unique tag but have a conflicting tag
-
- return 0; // the lines contain conflicting tags, cannot be merged
- }
- itag++;
- }
- itag = 0;
- while ( optional_tags[itype] && optional_tags[itype][itag] )
- {
- t1 = header_line_has_tag(hline1,optional_tags[itype][itag]);
- t2 = header_line_has_tag(hline2,optional_tags[itype][itag]);
- if ( !t1 && !t2 )
- {
- itag++;
- continue;
- }
- if ( !t1 || !t2 )
- missing = 1; // there is some tag missing in one of the hlines
- else if ( strcmp(t1->value,t2->value) )
- {
- if ( unique_tags[itype] )
- return 2; // the lines have a matching unique tag but have a conflicting tag
-
- return 0; // the lines contain conflicting tags, cannot be merged
- }
- itag++;
- }
- if ( missing ) return 3; // there are some missing complementary tags with no conflicts, can be merged
- return 1;
-}
-
-
-static HeaderLine *sam_header_line_clone(const HeaderLine *hline)
-{
- list_t *tags;
- HeaderLine *out = malloc(sizeof(HeaderLine));
- out->type[0] = hline->type[0];
- out->type[1] = hline->type[1];
- out->tags = NULL;
-
- tags = hline->tags;
- while (tags)
- {
- HeaderTag *old = tags->data;
-
- HeaderTag *new = malloc(sizeof(HeaderTag));
- new->key[0] = old->key[0];
- new->key[1] = old->key[1];
- new->value = strdup(old->value);
- out->tags = list_append(out->tags, new);
-
- tags = tags->next;
- }
- return out;
-}
-
-static int sam_header_line_merge_with(HeaderLine *out_hline, const HeaderLine *tmpl_hline)
-{
- list_t *tmpl_tags;
-
- if ( out_hline->type[0]!=tmpl_hline->type[0] || out_hline->type[1]!=tmpl_hline->type[1] )
- return 0;
-
- tmpl_tags = tmpl_hline->tags;
- while (tmpl_tags)
- {
- HeaderTag *tmpl_tag = tmpl_tags->data;
- HeaderTag *out_tag = header_line_has_tag(out_hline, tmpl_tag->key);
- if ( !out_tag )
- {
- HeaderTag *tag = malloc(sizeof(HeaderTag));
- tag->key[0] = tmpl_tag->key[0];
- tag->key[1] = tmpl_tag->key[1];
- tag->value = strdup(tmpl_tag->value);
- out_hline->tags = list_append(out_hline->tags,tag);
- }
- tmpl_tags = tmpl_tags->next;
- }
- return 1;
-}
-
-
-static HeaderLine *sam_header_line_parse(const char *headerLine)
-{
- HeaderLine *hline;
- HeaderTag *tag;
- const char *from, *to;
- from = headerLine;
-
- if ( *from != '@' ) {
- debug("[sam_header_line_parse] expected '@', got [%s]\n", headerLine);
- return 0;
- }
- to = ++from;
-
- while (*to && *to!='\t') to++;
- if ( to-from != 2 ) {
- debug("[sam_header_line_parse] expected '@XY', got [%s]\nHint: The header tags must be tab-separated.\n", headerLine);
- return 0;
- }
-
- hline = malloc(sizeof(HeaderLine));
- hline->type[0] = from[0];
- hline->type[1] = from[1];
- hline->tags = NULL;
-
- int itype = tag_exists(hline->type, types);
-
- from = to;
- while (*to && *to=='\t') to++;
- if ( to-from != 1 ) {
- debug("[sam_header_line_parse] multiple tabs on line [%s] (%d)\n", headerLine,(int)(to-from));
- free(hline);
- return 0;
- }
- from = to;
- while (*from)
- {
- while (*to && *to!='\t') to++;
-
- if ( !required_tags[itype] && !optional_tags[itype] )
- {
- // CO is a special case, it can contain anything, including tabs
- if ( *to ) { to++; continue; }
- tag = new_tag(" ",from,to-1);
- }
- else
- tag = new_tag(from,from+3,to-1);
-
- if ( header_line_has_tag(hline,tag->key) )
- debug("The tag '%c%c' present (at least) twice on line [%s]\n", tag->key[0],tag->key[1], headerLine);
- hline->tags = list_append(hline->tags, tag);
-
- from = to;
- while (*to && *to=='\t') to++;
- if ( *to && to-from != 1 ) {
- debug("[sam_header_line_parse] multiple tabs on line [%s] (%d)\n", headerLine,(int)(to-from));
- return 0;
- }
-
- from = to;
- }
- return hline;
-}
-
-
-// Must be of an existing type, all tags must be recognised and all required tags must be present
-static int sam_header_line_validate(HeaderLine *hline)
-{
- list_t *tags;
- HeaderTag *tag;
- int itype, itag;
-
- // Is the type correct?
- itype = tag_exists(hline->type, types);
- if ( itype==-1 )
- {
- debug("The type [%c%c] not recognised.\n", hline->type[0],hline->type[1]);
- return 0;
- }
-
- // Has all required tags?
- itag = 0;
- while ( required_tags[itype] && required_tags[itype][itag] )
- {
- if ( !header_line_has_tag(hline,required_tags[itype][itag]) )
- {
- debug("The tag [%c%c] required for [%c%c] not present.\n", required_tags[itype][itag][0],required_tags[itype][itag][1],
- hline->type[0],hline->type[1]);
- return 0;
- }
- itag++;
- }
-
- // Are all tags recognised?
- tags = hline->tags;
- while ( tags )
- {
- tag = tags->data;
- if ( !tag_exists(tag->key,required_tags[itype]) && !tag_exists(tag->key,optional_tags[itype]) )
- {
- // Lower case tags are user-defined values.
- if( !(islower(tag->key[0]) || islower(tag->key[1])) )
- {
- // Neither is lower case, but tag was not recognized.
- debug("Unknown tag [%c%c] for [%c%c].\n", tag->key[0],tag->key[1], hline->type[0],hline->type[1]);
- // return 0; // Even unknown tags are allowed - for forward compatibility with new attributes
- }
- // else - allow user defined tag
- }
- tags = tags->next;
- }
-
- return 1;
-}
-
-
-static void print_header_line(FILE *fp, HeaderLine *hline)
-{
- list_t *tags = hline->tags;
- HeaderTag *tag;
-
- fprintf(fp, "@%c%c", hline->type[0],hline->type[1]);
- while (tags)
- {
- tag = tags->data;
-
- fprintf(fp, "\t");
- if ( tag->key[0]!=' ' || tag->key[1]!=' ' )
- fprintf(fp, "%c%c:", tag->key[0],tag->key[1]);
- fprintf(fp, "%s", tag->value);
-
- tags = tags->next;
- }
- fprintf(fp,"\n");
-}
-
-
-static void sam_header_line_free(HeaderLine *hline)
-{
- list_t *tags = hline->tags;
- while (tags)
- {
- HeaderTag *tag = tags->data;
- free(tag->value);
- free(tag);
- tags = tags->next;
- }
- list_free(hline->tags);
- free(hline);
-}
-
-void sam_header_free(void *_header)
-{
- HeaderDict *header = (HeaderDict*)_header;
- list_t *hlines = header;
- while (hlines)
- {
- sam_header_line_free(hlines->data);
- hlines = hlines->next;
- }
- list_free(header);
-}
-
-HeaderDict *sam_header_clone(const HeaderDict *dict)
-{
- HeaderDict *out = NULL;
- while (dict)
- {
- HeaderLine *hline = dict->data;
- out = list_append(out, sam_header_line_clone(hline));
- dict = dict->next;
- }
- return out;
-}
-
-// Returns a newly allocated string
-char *sam_header_write(const void *_header)
-{
- const HeaderDict *header = (const HeaderDict*)_header;
- char *out = NULL;
- int len=0, nout=0;
- const list_t *hlines;
-
- // Calculate the length of the string to allocate
- hlines = header;
- while (hlines)
- {
- len += 4; // @XY and \n
-
- HeaderLine *hline = hlines->data;
- list_t *tags = hline->tags;
- while (tags)
- {
- HeaderTag *tag = tags->data;
- len += strlen(tag->value) + 1; // \t
- if ( tag->key[0]!=' ' || tag->key[1]!=' ' )
- len += strlen(tag->value) + 3; // XY:
- tags = tags->next;
- }
- hlines = hlines->next;
- }
-
- nout = 0;
- out = malloc(len+1);
- hlines = header;
- while (hlines)
- {
- HeaderLine *hline = hlines->data;
-
- nout += sprintf(out+nout,"@%c%c",hline->type[0],hline->type[1]);
-
- list_t *tags = hline->tags;
- while (tags)
- {
- HeaderTag *tag = tags->data;
- nout += sprintf(out+nout,"\t");
- if ( tag->key[0]!=' ' || tag->key[1]!=' ' )
- nout += sprintf(out+nout,"%c%c:", tag->key[0],tag->key[1]);
- nout += sprintf(out+nout,"%s", tag->value);
- tags = tags->next;
- }
- hlines = hlines->next;
- nout += sprintf(out+nout,"\n");
- }
- out[len] = 0;
- return out;
-}
-
-void *sam_header_parse2(const char *headerText)
-{
- list_t *hlines = NULL;
- HeaderLine *hline;
- const char *text;
- char *buf=NULL;
- size_t nbuf = 0;
- int tovalidate = 0;
-
- if ( !headerText )
- return 0;
-
- text = headerText;
- while ( (text=nextline(&buf, &nbuf, text)) )
- {
- hline = sam_header_line_parse(buf);
- if ( hline && (!tovalidate || sam_header_line_validate(hline)) )
- // With too many (~250,000) reference sequences the header parsing was too slow with list_append.
- hlines = list_append_to_end(hlines, hline);
- else
- {
- if (hline) sam_header_line_free(hline);
- sam_header_free(hlines);
- if ( buf ) free(buf);
- return NULL;
- }
- }
- if ( buf ) free(buf);
-
- return hlines;
-}
-
-void *sam_header2tbl(const void *_dict, char type[2], char key_tag[2], char value_tag[2])
-{
- const HeaderDict *dict = (const HeaderDict*)_dict;
- const list_t *l = dict;
- khash_t(str) *tbl = kh_init(str);
- khiter_t k;
- int ret;
-
- if (_dict == 0) return tbl; // return an empty (not null) hash table
- while (l)
- {
- HeaderLine *hline = l->data;
- if ( hline->type[0]!=type[0] || hline->type[1]!=type[1] )
- {
- l = l->next;
- continue;
- }
-
- HeaderTag *key, *value;
- key = header_line_has_tag(hline,key_tag);
- value = header_line_has_tag(hline,value_tag);
- if ( !key || !value )
- {
- l = l->next;
- continue;
- }
-
- k = kh_get(str, tbl, key->value);
- if ( k != kh_end(tbl) )
- debug("[sam_header_lookup_table] They key %s not unique.\n", key->value);
- k = kh_put(str, tbl, key->value, &ret);
- kh_value(tbl, k) = value->value;
-
- l = l->next;
- }
- return tbl;
-}
-
-char **sam_header2list(const void *_dict, char type[2], char key_tag[2], int *_n)
-{
- const HeaderDict *dict = (const HeaderDict*)_dict;
- const list_t *l = dict;
- int max, n;
- char **ret;
-
- ret = 0; *_n = max = n = 0;
- while (l)
- {
- HeaderLine *hline = l->data;
- if ( hline->type[0]!=type[0] || hline->type[1]!=type[1] )
- {
- l = l->next;
- continue;
- }
-
- HeaderTag *key;
- key = header_line_has_tag(hline,key_tag);
- if ( !key )
- {
- l = l->next;
- continue;
- }
-
- if (n == max) {
- max = max? max<<1 : 4;
- ret = realloc(ret, max * sizeof(void*));
- }
- ret[n++] = key->value;
-
- l = l->next;
- }
- *_n = n;
- return ret;
-}
-
-void *sam_header2key_val(void *iter, const char type[2], const char key_tag[2], const char value_tag[2], const char **_key, const char **_value)
-{
- list_t *l = iter;
- if ( !l ) return NULL;
-
- while (l)
- {
- HeaderLine *hline = l->data;
- if ( hline->type[0]!=type[0] || hline->type[1]!=type[1] )
- {
- l = l->next;
- continue;
- }
-
- HeaderTag *key, *value;
- key = header_line_has_tag(hline,key_tag);
- value = header_line_has_tag(hline,value_tag);
- if ( !key && !value )
- {
- l = l->next;
- continue;
- }
-
- *_key = key->value;
- *_value = value->value;
- return l->next;
- }
- return l;
-}
-
-const char *sam_tbl_get(void *h, const char *key)
-{
- khash_t(str) *tbl = (khash_t(str)*)h;
- khint_t k;
- k = kh_get(str, tbl, key);
- return k == kh_end(tbl)? 0 : kh_val(tbl, k);
-}
-
-int sam_tbl_size(void *h)
-{
- khash_t(str) *tbl = (khash_t(str)*)h;
- return h? kh_size(tbl) : 0;
-}
-
-void sam_tbl_destroy(void *h)
-{
- khash_t(str) *tbl = (khash_t(str)*)h;
- kh_destroy(str, tbl);
-}
-
-void *sam_header_merge(int n, const void **_dicts)
-{
- const HeaderDict **dicts = (const HeaderDict**)_dicts;
- HeaderDict *out_dict;
- int idict, status;
-
- if ( n<2 ) return NULL;
-
- out_dict = sam_header_clone(dicts[0]);
-
- for (idict=1; idict<n; idict++)
- {
- const list_t *tmpl_hlines = dicts[idict];
-
- while ( tmpl_hlines )
- {
- list_t *out_hlines = out_dict;
- int inserted = 0;
- while ( out_hlines )
- {
- status = sam_header_compare_lines(tmpl_hlines->data, out_hlines->data);
- if ( status==0 )
- {
- out_hlines = out_hlines->next;
- continue;
- }
-
- if ( status==2 )
- {
- print_header_line(stderr,tmpl_hlines->data);
- print_header_line(stderr,out_hlines->data);
- debug("Conflicting lines, cannot merge the headers.\n");
- return 0;
- }
- if ( status==3 )
- sam_header_line_merge_with(out_hlines->data, tmpl_hlines->data);
-
- inserted = 1;
- break;
- }
- if ( !inserted )
- out_dict = list_append(out_dict, sam_header_line_clone(tmpl_hlines->data));
-
- tmpl_hlines = tmpl_hlines->next;
- }
- }
-
- return out_dict;
-}
-
-char **sam_header2tbl_n(const void *dict, const char type[2], const char *tags[], int *n)
-{
- int nout = 0;
- char **out = NULL;
-
- *n = 0;
- list_t *l = (list_t *)dict;
- if ( !l ) return NULL;
-
- int i, ntags = 0;
- while ( tags[ntags] ) ntags++;
-
- while (l)
- {
- HeaderLine *hline = l->data;
- if ( hline->type[0]!=type[0] || hline->type[1]!=type[1] )
- {
- l = l->next;
- continue;
- }
- out = (char**) realloc(out, sizeof(char*)*(nout+1)*ntags);
- for (i=0; i<ntags; i++)
- {
- HeaderTag *key = header_line_has_tag(hline, tags[i]);
- if ( !key )
- {
- out[nout*ntags+i] = NULL;
- continue;
- }
- out[nout*ntags+i] = key->value;
- }
- nout++;
- l = l->next;
- }
- *n = nout;
- return out;
-}
-
diff --git a/sam/sam_header.h b/sam/sam_header.h
deleted file mode 100644
index 4b0cb03..0000000
--- a/sam/sam_header.h
+++ /dev/null
@@ -1,48 +0,0 @@
-#ifndef __SAM_HEADER_H__
-#define __SAM_HEADER_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
- void *sam_header_parse2(const char *headerText);
- void *sam_header_merge(int n, const void **dicts);
- void sam_header_free(void *header);
- char *sam_header_write(const void *headerDict); // returns a newly allocated string
-
- /*
- // Usage example
- const char *key, *val;
- void *iter = sam_header_parse2(bam->header->text);
- while ( iter = sam_header_key_val(iter, "RG","ID","SM" &key,&val) ) printf("%s\t%s\n", key,val);
- */
- void *sam_header2key_val(void *iter, const char type[2], const char key_tag[2], const char value_tag[2], const char **key, const char **value);
- char **sam_header2list(const void *_dict, char type[2], char key_tag[2], int *_n);
-
- /*
- // Usage example
- int i, j, n;
- const char *tags[] = {"SN","LN","UR","M5",NULL};
- void *dict = sam_header_parse2(bam->header->text);
- char **tbl = sam_header2tbl_n(h->dict, "SQ", tags, &n);
- for (i=0; i<n; i++)
- {
- for (j=0; j<4; j++)
- if ( tbl[4*i+j] ) printf("\t%s", tbl[4*i+j]);
- else printf("-");
- printf("\n");
- }
- if (tbl) free(tbl);
- */
- char **sam_header2tbl_n(const void *dict, const char type[2], const char *tags[], int *n);
-
- void *sam_header2tbl(const void *dict, char type[2], char key_tag[2], char value_tag[2]);
- const char *sam_tbl_get(void *h, const char *key);
- int sam_tbl_size(void *h);
- void sam_tbl_destroy(void *h);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/sam/sam_view.c b/sam/sam_view.c
deleted file mode 100644
index 7f3fdab..0000000
--- a/sam/sam_view.c
+++ /dev/null
@@ -1,441 +0,0 @@
-#include <stdlib.h>
-#include <string.h>
-#include <stdio.h>
-#include <unistd.h>
-#include <math.h>
-#include <inttypes.h>
-#include "sam_header.h"
-#include "sam.h"
-#include "faidx.h"
-#include "kstring.h"
-#include "khash.h"
-KHASH_SET_INIT_STR(rg)
-
-// When counting records instead of printing them,
-// data passed to the bam_fetch callback is encapsulated in this struct.
-typedef struct {
- bam_header_t *header;
- int64_t *count; // int does overflow for very big BAMs
-} count_func_data_t;
-
-typedef khash_t(rg) *rghash_t;
-
-// FIXME: we'd better use no global variables...
-static rghash_t g_rghash = 0;
-static int g_min_mapQ = 0, g_flag_on = 0, g_flag_off = 0, g_qual_scale = 0, g_min_qlen = 0;
-static uint32_t g_subsam_seed = 0;
-static double g_subsam_frac = -1.;
-static char *g_library, *g_rg;
-static void *g_bed;
-
-void *bed_read(const char *fn);
-void bed_destroy(void *_h);
-int bed_overlap(const void *_h, const char *chr, int beg, int end);
-
-static int process_aln(const bam_header_t *h, bam1_t *b)
-{
- if (g_qual_scale > 1) {
- int i;
- uint8_t *qual = bam1_qual(b);
- for (i = 0; i < b->core.l_qseq; ++i) {
- int c = qual[i] * g_qual_scale;
- qual[i] = c < 93? c : 93;
- }
- }
- if (g_min_qlen > 0) {
- int k, qlen = 0;
- uint32_t *cigar = bam1_cigar(b);
- for (k = 0; k < b->core.n_cigar; ++k)
- if ((bam_cigar_type(bam_cigar_op(cigar[k]))&1) || bam_cigar_op(cigar[k]) == BAM_CHARD_CLIP)
- qlen += bam_cigar_oplen(cigar[k]);
- if (qlen < g_min_qlen) return 1;
- }
- if (b->core.qual < g_min_mapQ || ((b->core.flag & g_flag_on) != g_flag_on) || (b->core.flag & g_flag_off))
- return 1;
- if (g_bed && b->core.tid >= 0 && !bed_overlap(g_bed, h->target_name[b->core.tid], b->core.pos, bam_calend(&b->core, bam1_cigar(b))))
- return 1;
- if (g_subsam_frac > 0.) {
- uint32_t k = __ac_X31_hash_string(bam1_qname(b)) + g_subsam_seed;
- if ((double)(k&0xffffff) / 0x1000000 >= g_subsam_frac) return 1;
- }
- if (g_rg || g_rghash) {
- uint8_t *s = bam_aux_get(b, "RG");
- if (s) {
- if (g_rg) return (strcmp(g_rg, (char*)(s + 1)) == 0)? 0 : 1;
- if (g_rghash) {
- khint_t k = kh_get(rg, g_rghash, (char*)(s + 1));
- return (k != kh_end(g_rghash))? 0 : 1;
- }
- }
- }
- if (g_library) {
- const char *p = bam_get_library((bam_header_t*)h, b);
- return (p && strcmp(p, g_library) == 0)? 0 : 1;
- }
- return 0;
-}
-
-static char *drop_rg(char *hdtxt, rghash_t h, int *len)
-{
- char *p = hdtxt, *q, *r, *s;
- kstring_t str;
- memset(&str, 0, sizeof(kstring_t));
- while (1) {
- int toprint = 0;
- q = strchr(p, '\n');
- if (q == 0) q = p + strlen(p);
- if (q - p < 3) break; // the line is too short; then stop
- if (strncmp(p, "@RG\t", 4) == 0) {
- int c;
- khint_t k;
- if ((r = strstr(p, "\tID:")) != 0) {
- r += 4;
- for (s = r; *s != '\0' && *s != '\n' && *s != '\t'; ++s);
- c = *s; *s = '\0';
- k = kh_get(rg, h, r);
- *s = c;
- if (k != kh_end(h)) toprint = 1;
- }
- } else toprint = 1;
- if (toprint) {
- kputsn(p, q - p, &str); kputc('\n', &str);
- }
- p = q + 1;
- }
- *len = str.l;
- return str.s;
-}
-
-// callback function for bam_fetch() that prints nonskipped records
-static int view_func(const bam1_t *b, void *data)
-{
- if (!process_aln(((samfile_t*)data)->header, (bam1_t*)b))
- samwrite((samfile_t*)data, b);
- return 0;
-}
-
-// callback function for bam_fetch() that counts nonskipped records
-static int count_func(const bam1_t *b, void *data)
-{
- if (!process_aln(((count_func_data_t*)data)->header, (bam1_t*)b)) {
- (*((count_func_data_t*)data)->count)++;
- }
- return 0;
-}
-
-static int usage(int is_long_help);
-
-int main_samview(int argc, char *argv[])
-{
- int c, is_header = 0, is_header_only = 0, is_bamin = 1, ret = 0, compress_level = -1, is_bamout = 0, is_count = 0;
- int of_type = BAM_OFDEC, is_long_help = 0, n_threads = 0;
- int64_t count = 0;
- samfile_t *in = 0, *out = 0;
- char in_mode[5], out_mode[5], *fn_out = 0, *fn_list = 0, *fn_ref = 0, *fn_rg = 0, *q;
-
- /* parse command-line options */
- strcpy(in_mode, "r"); strcpy(out_mode, "w");
- while ((c = getopt(argc, argv, "SbBct:h1Ho:q:f:F:ul:r:xX?T:R:L:s:Q:@:m:")) >= 0) {
- switch (c) {
- case 's':
- if ((g_subsam_seed = strtol(optarg, &q, 10)) != 0) {
- srand(g_subsam_seed);
- g_subsam_seed = rand();
- }
- g_subsam_frac = strtod(q, &q);
- break;
- case 'm': g_min_qlen = atoi(optarg); break;
- case 'c': is_count = 1; break;
- case 'S': is_bamin = 0; break;
- case 'b': is_bamout = 1; break;
- case 't': fn_list = strdup(optarg); is_bamin = 0; break;
- case 'h': is_header = 1; break;
- case 'H': is_header_only = 1; break;
- case 'o': fn_out = strdup(optarg); break;
- case 'f': g_flag_on = strtol(optarg, 0, 0); break;
- case 'F': g_flag_off = strtol(optarg, 0, 0); break;
- case 'q': g_min_mapQ = atoi(optarg); break;
- case 'u': compress_level = 0; break;
- case '1': compress_level = 1; break;
- case 'l': g_library = strdup(optarg); break;
- case 'L': g_bed = bed_read(optarg); break;
- case 'r': g_rg = strdup(optarg); break;
- case 'R': fn_rg = strdup(optarg); break;
- case 'x': of_type = BAM_OFHEX; break;
- case 'X': of_type = BAM_OFSTR; break;
- case '?': is_long_help = 1; break;
- case 'T': fn_ref = strdup(optarg); is_bamin = 0; break;
- case 'B': bam_no_B = 1; break;
- case 'Q': g_qual_scale = atoi(optarg); break;
- case '@': n_threads = strtol(optarg, 0, 0); break;
- default: return usage(is_long_help);
- }
- }
- if (compress_level >= 0) is_bamout = 1;
- if (is_header_only) is_header = 1;
- if (is_bamout) strcat(out_mode, "b");
- else {
- if (of_type == BAM_OFHEX) strcat(out_mode, "x");
- else if (of_type == BAM_OFSTR) strcat(out_mode, "X");
- }
- if (is_bamin) strcat(in_mode, "b");
- if (is_header) strcat(out_mode, "h");
- if (compress_level >= 0) {
- char tmp[2];
- tmp[0] = compress_level + '0'; tmp[1] = '\0';
- strcat(out_mode, tmp);
- }
- if (argc == optind) return usage(is_long_help); // potential memory leak...
-
- // read the list of read groups
- if (fn_rg) {
- FILE *fp_rg;
- char buf[1024];
- int ret;
- g_rghash = kh_init(rg);
- fp_rg = fopen(fn_rg, "r");
- while (!feof(fp_rg) && fscanf(fp_rg, "%s", buf) > 0) // this is not a good style, but bear me...
- kh_put(rg, g_rghash, strdup(buf), &ret); // we'd better check duplicates...
- fclose(fp_rg);
- }
-
- // generate the fn_list if necessary
- if (fn_list == 0 && fn_ref) fn_list = samfaipath(fn_ref);
- // open file handlers
- if ((in = samopen(argv[optind], in_mode, fn_list)) == 0) {
- fprintf(stderr, "[main_samview] fail to open \"%s\" for reading.\n", argv[optind]);
- ret = 1;
- goto view_end;
- }
- if (in->header == 0) {
- fprintf(stderr, "[main_samview] fail to read the header from \"%s\".\n", argv[optind]);
- ret = 1;
- goto view_end;
- }
- if (g_rghash) { // FIXME: I do not know what "bam_header_t::n_text" is for...
- char *tmp;
- int l;
- tmp = drop_rg(in->header->text, g_rghash, &l);
- free(in->header->text);
- in->header->text = tmp;
- in->header->l_text = l;
- }
- if (!is_count && (out = samopen(fn_out? fn_out : "-", out_mode, in->header)) == 0) {
- fprintf(stderr, "[main_samview] fail to open \"%s\" for writing.\n", fn_out? fn_out : "standard output");
- ret = 1;
- goto view_end;
- }
- if (n_threads > 1) samthreads(out, n_threads, 256);
- if (is_header_only) goto view_end; // no need to print alignments
-
- if (argc == optind + 1) { // convert/print the entire file
- bam1_t *b = bam_init1();
- int r;
- while ((r = samread(in, b)) >= 0) { // read one alignment from `in'
- if (!process_aln(in->header, b)) {
- if (!is_count) samwrite(out, b); // write the alignment to `out'
- count++;
- }
- }
- if (r < -1) {
- fprintf(stderr, "[main_samview] truncated file.\n");
- ret = 1;
- }
- bam_destroy1(b);
- } else { // retrieve alignments in specified regions
- int i;
- bam_index_t *idx = 0;
- if (is_bamin) idx = bam_index_load(argv[optind]); // load BAM index
- if (idx == 0) { // index is unavailable
- fprintf(stderr, "[main_samview] random alignment retrieval only works for indexed BAM files.\n");
- ret = 1;
- goto view_end;
- }
- for (i = optind + 1; i < argc; ++i) {
- int tid, beg, end, result;
- bam_parse_region(in->header, argv[i], &tid, &beg, &end); // parse a region in the format like `chr2:100-200'
- if (tid < 0) { // reference name is not found
- fprintf(stderr, "[main_samview] region \"%s\" specifies an unknown reference name. Continue anyway.\n", argv[i]);
- continue;
- }
- // fetch alignments
- if (is_count) {
- count_func_data_t count_data = { in->header, &count };
- result = bam_fetch(in->x.bam, idx, tid, beg, end, &count_data, count_func);
- } else
- result = bam_fetch(in->x.bam, idx, tid, beg, end, out, view_func);
- if (result < 0) {
- fprintf(stderr, "[main_samview] retrieval of region \"%s\" failed due to truncated file or corrupt BAM index file\n", argv[i]);
- ret = 1;
- break;
- }
- }
- bam_index_destroy(idx); // destroy the BAM index
- }
-
-view_end:
- if (is_count && ret == 0)
- printf("%" PRId64 "\n", count);
-
- // close files, free and return
- free(fn_list); free(fn_ref); free(fn_out); free(g_library); free(g_rg); free(fn_rg);
- if (g_bed) bed_destroy(g_bed);
- if (g_rghash) {
- khint_t k;
- for (k = 0; k < kh_end(g_rghash); ++k)
- if (kh_exist(g_rghash, k)) free((char*)kh_key(g_rghash, k));
- kh_destroy(rg, g_rghash);
- }
- samclose(in);
- if (!is_count)
- samclose(out);
- return ret;
-}
-
-static int usage(int is_long_help)
-{
- fprintf(stderr, "\n");
- fprintf(stderr, "Usage: samtools view [options] <in.bam>|<in.sam> [region1 [...]]\n\n");
- fprintf(stderr, "Options: -b output BAM\n");
- fprintf(stderr, " -h print header for the SAM output\n");
- fprintf(stderr, " -H print header only (no alignments)\n");
- fprintf(stderr, " -S input is SAM\n");
- fprintf(stderr, " -u uncompressed BAM output (force -b)\n");
- fprintf(stderr, " -1 fast compression (force -b)\n");
- fprintf(stderr, " -x output FLAG in HEX (samtools-C specific)\n");
- fprintf(stderr, " -X output FLAG in string (samtools-C specific)\n");
- fprintf(stderr, " -c print only the count of matching records\n");
- fprintf(stderr, " -B collapse the backward CIGAR operation\n");
- fprintf(stderr, " -@ INT number of BAM compression threads [0]\n");
- fprintf(stderr, " -L FILE output alignments overlapping the input BED FILE [null]\n");
- fprintf(stderr, " -t FILE list of reference names and lengths (force -S) [null]\n");
- fprintf(stderr, " -T FILE reference sequence file (force -S) [null]\n");
- fprintf(stderr, " -o FILE output file name [stdout]\n");
- fprintf(stderr, " -R FILE list of read groups to be outputted [null]\n");
- fprintf(stderr, " -f INT required flag, 0 for unset [0]\n");
- fprintf(stderr, " -F INT filtering flag, 0 for unset [0]\n");
- fprintf(stderr, " -q INT minimum mapping quality [0]\n");
- fprintf(stderr, " -l STR only output reads in library STR [null]\n");
- fprintf(stderr, " -r STR only output reads in read group STR [null]\n");
- fprintf(stderr, " -s FLOAT fraction of templates to subsample; integer part as seed [-1]\n");
- fprintf(stderr, " -? longer help\n");
- fprintf(stderr, "\n");
- if (is_long_help)
- fprintf(stderr, "Notes:\n\
-\n\
- 1. By default, this command assumes the file on the command line is in\n\
- the BAM format and it prints the alignments in SAM. If `-t' is\n\
- applied, the input file is assumed to be in the SAM format. The\n\
- file supplied with `-t' is SPACE/TAB delimited with the first two\n\
- fields of each line consisting of the reference name and the\n\
- corresponding sequence length. The `.fai' file generated by `faidx'\n\
- can be used here. This file may be empty if reads are unaligned.\n\
-\n\
- 2. SAM->BAM conversion: `samtools view -bT ref.fa in.sam.gz'.\n\
-\n\
- 3. BAM->SAM conversion: `samtools view in.bam'.\n\
-\n\
- 4. A region should be presented in one of the following formats:\n\
- `chr1', `chr2:1,000' and `chr3:1000-2,000'. When a region is\n\
- specified, the input alignment file must be an indexed BAM file.\n\
-\n\
- 5. Option `-u' is preferred over `-b' when the output is piped to\n\
- another samtools command.\n\
-\n\
- 6. In a string FLAG, each character represents one bit with\n\
- p=0x1 (paired), P=0x2 (properly paired), u=0x4 (unmapped),\n\
- U=0x8 (mate unmapped), r=0x10 (reverse), R=0x20 (mate reverse)\n\
- 1=0x40 (first), 2=0x80 (second), s=0x100 (not primary), \n\
- f=0x200 (failure) and d=0x400 (duplicate). Note that `-x' and\n\
- `-X' are samtools-C specific. Picard and older samtools do not\n\
- support HEX or string flags.\n\
-\n");
- return 1;
-}
-
-int main_import(int argc, char *argv[])
-{
- int argc2, ret;
- char **argv2;
- if (argc != 4) {
- fprintf(stderr, "Usage: bamtk import <in.ref_list> <in.sam> <out.bam>\n");
- return 1;
- }
- argc2 = 6;
- argv2 = calloc(6, sizeof(char*));
- argv2[0] = "import", argv2[1] = "-o", argv2[2] = argv[3], argv2[3] = "-bt", argv2[4] = argv[1], argv2[5] = argv[2];
- ret = main_samview(argc2, argv2);
- free(argv2);
- return ret;
-}
-
-int8_t seq_comp_table[16] = { 0, 8, 4, 12, 2, 10, 9, 14, 1, 6, 5, 13, 3, 11, 7, 15 };
-
-int main_bam2fq(int argc, char *argv[])
-{
- bamFile fp;
- bam_header_t *h;
- bam1_t *b;
- int8_t *buf;
- int max_buf, c, no12 = 0;
- while ((c = getopt(argc, argv, "n")) > 0)
- if (c == 'n') no12 = 1;
- if (argc == 1) {
- fprintf(stderr, "Usage: samtools bam2fq <in.bam>\n");
- return 1;
- }
- fp = strcmp(argv[optind], "-")? bam_open(argv[optind], "r") : bam_dopen(fileno(stdin), "r");
- if (fp == 0) return 1;
- h = bam_header_read(fp);
- b = bam_init1();
- buf = 0;
- max_buf = 0;
- while (bam_read1(fp, b) >= 0) {
- int i, qlen = b->core.l_qseq;
- uint8_t *seq;
- putchar('@'); fputs(bam1_qname(b), stdout);
- if (no12) putchar('\n');
- else {
- if ((b->core.flag & 0x40) && !(b->core.flag & 0x80)) puts("/1");
- else if ((b->core.flag & 0x80) && !(b->core.flag & 0x40)) puts("/2");
- else putchar('\n');
- }
- if (max_buf < qlen + 1) {
- max_buf = qlen + 1;
- kroundup32(max_buf);
- buf = realloc(buf, max_buf);
- }
- buf[qlen] = 0;
- seq = bam1_seq(b);
- for (i = 0; i < qlen; ++i)
- buf[i] = bam1_seqi(seq, i);
- if (b->core.flag & 16) { // reverse complement
- for (i = 0; i < qlen>>1; ++i) {
- int8_t t = seq_comp_table[buf[qlen - 1 - i]];
- buf[qlen - 1 - i] = seq_comp_table[buf[i]];
- buf[i] = t;
- }
- if (qlen&1) buf[i] = seq_comp_table[buf[i]];
- }
- for (i = 0; i < qlen; ++i)
- buf[i] = bam_nt16_rev_table[buf[i]];
- puts((char*)buf);
- puts("+");
- seq = bam1_qual(b);
- for (i = 0; i < qlen; ++i)
- buf[i] = 33 + seq[i];
- if (b->core.flag & 16) { // reverse
- for (i = 0; i < qlen>>1; ++i) {
- int8_t t = buf[qlen - 1 - i];
- buf[qlen - 1 - i] = buf[i];
- buf[i] = t;
- }
- }
- puts((char*)buf);
- }
- free(buf);
- bam_destroy1(b);
- bam_header_destroy(h);
- bam_close(fp);
- return 0;
-}
diff --git a/sam/sample.c b/sam/sample.c
deleted file mode 100644
index 830b9d1..0000000
--- a/sam/sample.c
+++ /dev/null
@@ -1,107 +0,0 @@
-#include <stdlib.h>
-#include <string.h>
-#include "sample.h"
-#include "khash.h"
-KHASH_MAP_INIT_STR(sm, int)
-
-bam_sample_t *bam_smpl_init(void)
-{
- bam_sample_t *s;
- s = calloc(1, sizeof(bam_sample_t));
- s->rg2smid = kh_init(sm);
- s->sm2id = kh_init(sm);
- return s;
-}
-
-void bam_smpl_destroy(bam_sample_t *sm)
-{
- int i;
- khint_t k;
- khash_t(sm) *rg2smid = (khash_t(sm)*)sm->rg2smid;
- if (sm == 0) return;
- for (i = 0; i < sm->n; ++i) free(sm->smpl[i]);
- free(sm->smpl);
- for (k = kh_begin(rg2smid); k != kh_end(rg2smid); ++k)
- if (kh_exist(rg2smid, k)) free((char*)kh_key(rg2smid, k));
- kh_destroy(sm, sm->rg2smid);
- kh_destroy(sm, sm->sm2id);
- free(sm);
-}
-
-static void add_pair(bam_sample_t *sm, khash_t(sm) *sm2id, const char *key, const char *val)
-{
- khint_t k_rg, k_sm;
- int ret;
- khash_t(sm) *rg2smid = (khash_t(sm)*)sm->rg2smid;
- k_rg = kh_get(sm, rg2smid, key);
- if (k_rg != kh_end(rg2smid)) return; // duplicated @RG-ID
- k_rg = kh_put(sm, rg2smid, strdup(key), &ret);
- k_sm = kh_get(sm, sm2id, val);
- if (k_sm == kh_end(sm2id)) { // absent
- if (sm->n == sm->m) {
- sm->m = sm->m? sm->m<<1 : 1;
- sm->smpl = realloc(sm->smpl, sizeof(void*) * sm->m);
- }
- sm->smpl[sm->n] = strdup(val);
- k_sm = kh_put(sm, sm2id, sm->smpl[sm->n], &ret);
- kh_val(sm2id, k_sm) = sm->n++;
- }
- kh_val(rg2smid, k_rg) = kh_val(sm2id, k_sm);
-}
-
-int bam_smpl_add(bam_sample_t *sm, const char *fn, const char *txt)
-{
- const char *p = txt, *q, *r;
- kstring_t buf, first_sm;
- int n = 0;
- khash_t(sm) *sm2id = (khash_t(sm)*)sm->sm2id;
- if (txt == 0) {
- add_pair(sm, sm2id, fn, fn);
- return 0;
- }
- memset(&buf, 0, sizeof(kstring_t));
- memset(&first_sm, 0, sizeof(kstring_t));
- while ((q = strstr(p, "@RG")) != 0) {
- p = q + 3;
- r = q = 0;
- if ((q = strstr(p, "\tID:")) != 0) q += 4;
- if ((r = strstr(p, "\tSM:")) != 0) r += 4;
- if (r && q) {
- char *u, *v;
- int oq, or;
- for (u = (char*)q; *u && *u != '\t' && *u != '\n'; ++u);
- for (v = (char*)r; *v && *v != '\t' && *v != '\n'; ++v);
- oq = *u; or = *v; *u = *v = '\0';
- buf.l = 0; kputs(fn, &buf); kputc('/', &buf); kputs(q, &buf);
- add_pair(sm, sm2id, buf.s, r);
- if ( !first_sm.s )
- kputs(r,&first_sm);
- *u = oq; *v = or;
- } else break;
- p = q > r? q : r;
- ++n;
- }
- if (n == 0) add_pair(sm, sm2id, fn, fn);
- // If there is only one RG tag present in the header and reads are not annotated, don't refuse to work but
- // use the tag instead.
- else if ( n==1 && first_sm.s )
- add_pair(sm,sm2id,fn,first_sm.s);
- if ( first_sm.s )
- free(first_sm.s);
-
-// add_pair(sm, sm2id, fn, fn);
- free(buf.s);
- return 0;
-}
-
-int bam_smpl_rg2smid(const bam_sample_t *sm, const char *fn, const char *rg, kstring_t *str)
-{
- khint_t k;
- khash_t(sm) *rg2smid = (khash_t(sm)*)sm->rg2smid;
- if (rg) {
- str->l = 0;
- kputs(fn, str); kputc('/', str); kputs(rg, str);
- k = kh_get(sm, rg2smid, str->s);
- } else k = kh_get(sm, rg2smid, fn);
- return k == kh_end(rg2smid)? -1 : kh_val(rg2smid, k);
-}
diff --git a/sam/sample.h b/sam/sample.h
deleted file mode 100644
index 85fe499..0000000
--- a/sam/sample.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef BAM_SAMPLE_H
-#define BAM_SAMPLE_H
-
-#include "kstring.h"
-
-typedef struct {
- int n, m;
- char **smpl;
- void *rg2smid, *sm2id;
-} bam_sample_t;
-
-bam_sample_t *bam_smpl_init(void);
-int bam_smpl_add(bam_sample_t *sm, const char *abs, const char *txt);
-int bam_smpl_rg2smid(const bam_sample_t *sm, const char *fn, const char *rg, kstring_t *str);
-void bam_smpl_destroy(bam_sample_t *sm);
-
-#endif
diff --git a/sam/samtools.1 b/sam/samtools.1
deleted file mode 100644
index 5923abd..0000000
--- a/sam/samtools.1
+++ /dev/null
@@ -1,1066 +0,0 @@
-.TH samtools 1 "15 March 2013" "samtools-0.1.19" "Bioinformatics tools"
-.SH NAME
-.PP
-samtools - Utilities for the Sequence Alignment/Map (SAM) format
-
-bcftools - Utilities for the Binary Call Format (BCF) and VCF
-.SH SYNOPSIS
-.PP
-samtools view -bt ref_list.txt -o aln.bam aln.sam.gz
-.PP
-samtools sort aln.bam aln.sorted
-.PP
-samtools index aln.sorted.bam
-.PP
-samtools idxstats aln.sorted.bam
-.PP
-samtools view aln.sorted.bam chr2:20,100,000-20,200,000
-.PP
-samtools merge out.bam in1.bam in2.bam in3.bam
-.PP
-samtools faidx ref.fasta
-.PP
-samtools pileup -vcf ref.fasta aln.sorted.bam
-.PP
-samtools mpileup -C50 -gf ref.fasta -r chr3:1,000-2,000 in1.bam in2.bam
-.PP
-samtools tview aln.sorted.bam ref.fasta
-.PP
-bcftools index in.bcf
-.PP
-bcftools view in.bcf chr2:100-200 > out.vcf
-.PP
-bcftools view -Nvm0.99 in.bcf > out.vcf 2> out.afs
-
-.SH DESCRIPTION
-.PP
-Samtools is a set of utilities that manipulate alignments in the BAM
-format. It imports from and exports to the SAM (Sequence Alignment/Map)
-format, does sorting, merging and indexing, and allows to retrieve reads
-in any regions swiftly.
-
-Samtools is designed to work on a stream. It regards an input file `-'
-as the standard input (stdin) and an output file `-' as the standard
-output (stdout). Several commands can thus be combined with Unix
-pipes. Samtools always output warning and error messages to the standard
-error output (stderr).
-
-Samtools is also able to open a BAM (not SAM) file on a remote FTP or
-HTTP server if the BAM file name starts with `ftp://' or `http://'.
-Samtools checks the current working directory for the index file and
-will download the index upon absence. Samtools does not retrieve the
-entire alignment file unless it is asked to do so.
-
-.SH SAMTOOLS COMMANDS AND OPTIONS
-
-.TP 10
-.B view
-samtools view [-bchuHS] [-t in.refList] [-o output] [-f reqFlag] [-F
-skipFlag] [-q minMapQ] [-l library] [-r readGroup] [-R rgFile] <in.bam>|<in.sam> [region1 [...]]
-
-Extract/print all or sub alignments in SAM or BAM format. If no region
-is specified, all the alignments will be printed; otherwise only
-alignments overlapping the specified regions will be output. An
-alignment may be given multiple times if it is overlapping several
-regions. A region can be presented, for example, in the following
-format: `chr2' (the whole chr2), `chr2:1000000' (region starting from
-1,000,000bp) or `chr2:1,000,000-2,000,000' (region between 1,000,000 and
-2,000,000bp including the end points). The coordinate is 1-based.
-
-.B OPTIONS:
-.RS
-.TP 10
-.B -b
-Output in the BAM format.
-.TP
-.BI -f \ INT
-Only output alignments with all bits in INT present in the FLAG
-field. INT can be in hex in the format of /^0x[0-9A-F]+/ [0]
-.TP
-.BI -F \ INT
-Skip alignments with bits present in INT [0]
-.TP
-.B -h
-Include the header in the output.
-.TP
-.B -H
-Output the header only.
-.TP
-.BI -l \ STR
-Only output reads in library STR [null]
-.TP
-.BI -o \ FILE
-Output file [stdout]
-.TP
-.BI -q \ INT
-Skip alignments with MAPQ smaller than INT [0]
-.TP
-.BI -r \ STR
-Only output reads in read group STR [null]
-.TP
-.BI -R \ FILE
-Output reads in read groups listed in
-.I FILE
-[null]
-.TP
-.BI -s \ FLOAT
-Fraction of templates/pairs to subsample; the integer part is treated as the
-seed for the random number generator [-1]
-.TP
-.B -S
-Input is in SAM. If @SQ header lines are absent, the
-.B `-t'
-option is required.
-.TP
-.B -c
-Instead of printing the alignments, only count them and print the
-total number. All filter options, such as
-.B `-f',
-.B `-F'
-and
-.B `-q'
-, are taken into account.
-.TP
-.BI -t \ FILE
-This file is TAB-delimited. Each line must contain the reference name
-and the length of the reference, one line for each distinct reference;
-additional fields are ignored. This file also defines the order of the
-reference sequences in sorting. If you run `samtools faidx <ref.fa>',
-the resultant index file
-.I <ref.fa>.fai
-can be used as this
-.I <in.ref_list>
-file.
-.TP
-.B -u
-Output uncompressed BAM. This option saves time spent on
-compression/decomprssion and is thus preferred when the output is piped
-to another samtools command.
-.RE
-
-.TP
-.B tview
-samtools tview
-.RB [ \-p
-.IR chr:pos ]
-.RB [ \-s
-.IR STR ]
-.RB [ \-d
-.IR display ]
-.RI <in.sorted.bam>
-.RI [ref.fasta]
-
-Text alignment viewer (based on the ncurses library). In the viewer,
-press `?' for help and press `g' to check the alignment start from a
-region in the format like `chr10:10,000,000' or `=10,000,000' when
-viewing the same reference sequence.
-
-.B Options:
-.RS
-.TP 14
-.BI -d \ display
-Output as (H)tml or (C)urses or (T)ext
-.TP
-.BI -p \ chr:pos
-Go directly to this position
-.TP
-.BI -s \ STR
-Display only reads from this sample or read group
-.RE
-
-.TP
-.B mpileup
-samtools mpileup
-.RB [ \-EBugp ]
-.RB [ \-C
-.IR capQcoef ]
-.RB [ \-r
-.IR reg ]
-.RB [ \-f
-.IR in.fa ]
-.RB [ \-l
-.IR list ]
-.RB [ \-M
-.IR capMapQ ]
-.RB [ \-Q
-.IR minBaseQ ]
-.RB [ \-q
-.IR minMapQ ]
-.I in.bam
-.RI [ in2.bam
-.RI [ ... ]]
-
-Generate BCF or pileup for one or multiple BAM files. Alignment records
-are grouped by sample identifiers in @RG header lines. If sample
-identifiers are absent, each input file is regarded as one sample.
-
-In the pileup format (without
-.BR -u or -g ),
-each
-line represents a genomic position, consisting of chromosome name,
-coordinate, reference base, read bases, read qualities and alignment
-mapping qualities. Information on match, mismatch, indel, strand,
-mapping quality and start and end of a read are all encoded at the read
-base column. At this column, a dot stands for a match to the reference
-base on the forward strand, a comma for a match on the reverse strand,
-a '>' or '<' for a reference skip, `ACGTN' for a mismatch on the forward
-strand and `acgtn' for a mismatch on the reverse strand. A pattern
-`\\+[0-9]+[ACGTNacgtn]+' indicates there is an insertion between this
-reference position and the next reference position. The length of the
-insertion is given by the integer in the pattern, followed by the
-inserted sequence. Similarly, a pattern `-[0-9]+[ACGTNacgtn]+'
-represents a deletion from the reference. The deleted bases will be
-presented as `*' in the following lines. Also at the read base column, a
-symbol `^' marks the start of a read. The ASCII of the character
-following `^' minus 33 gives the mapping quality. A symbol `$' marks the
-end of a read segment.
-
-.B Input Options:
-.RS
-.TP 10
-.B -6
-Assume the quality is in the Illumina 1.3+ encoding.
-.B -A
-Do not skip anomalous read pairs in variant calling.
-.TP
-.B -B
-Disable probabilistic realignment for the computation of base alignment
-quality (BAQ). BAQ is the Phred-scaled probability of a read base being
-misaligned. Applying this option greatly helps to reduce false SNPs
-caused by misalignments.
-.TP
-.BI -b \ FILE
-List of input BAM files, one file per line [null]
-.TP
-.BI -C \ INT
-Coefficient for downgrading mapping quality for reads containing
-excessive mismatches. Given a read with a phred-scaled probability q of
-being generated from the mapped position, the new mapping quality is
-about sqrt((INT-q)/INT)*INT. A zero value disables this
-functionality; if enabled, the recommended value for BWA is 50. [0]
-.TP
-.BI -d \ INT
-At a position, read maximally
-.I INT
-reads per input BAM. [250]
-.TP
-.B -E
-Extended BAQ computation. This option helps sensitivity especially for MNPs, but may hurt
-specificity a little bit.
-.TP
-.BI -f \ FILE
-The
-.BR faidx -indexed
-reference file in the FASTA format. The file can be optionally compressed by
-.BR razip .
-[null]
-.TP
-.BI -l \ FILE
-BED or position list file containing a list of regions or sites where pileup or BCF should be generated [null]
-.TP
-.BI -q \ INT
-Minimum mapping quality for an alignment to be used [0]
-.TP
-.BI -Q \ INT
-Minimum base quality for a base to be considered [13]
-.TP
-.BI -r \ STR
-Only generate pileup in region
-.I STR
-[all sites]
-.TP
-.B Output Options:
-
-.TP
-.B -D
-Output per-sample read depth
-.TP
-.B -g
-Compute genotype likelihoods and output them in the binary call format (BCF).
-.TP
-.B -S
-Output per-sample Phred-scaled strand bias P-value
-.TP
-.B -u
-Similar to
-.B -g
-except that the output is uncompressed BCF, which is preferred for piping.
-
-.TP
-.B Options for Genotype Likelihood Computation (for -g or -u):
-
-.TP
-.BI -e \ INT
-Phred-scaled gap extension sequencing error probability. Reducing
-.I INT
-leads to longer indels. [20]
-.TP
-.BI -h \ INT
-Coefficient for modeling homopolymer errors. Given an
-.IR l -long
-homopolymer
-run, the sequencing error of an indel of size
-.I s
-is modeled as
-.IR INT * s / l .
-[100]
-.TP
-.B -I
-Do not perform INDEL calling
-.TP
-.BI -L \ INT
-Skip INDEL calling if the average per-sample depth is above
-.IR INT .
-[250]
-.TP
-.BI -o \ INT
-Phred-scaled gap open sequencing error probability. Reducing
-.I INT
-leads to more indel calls. [40]
-.TP
-.BI -p
-Apply -m and -F thresholds per sample to increase sensitivity of calling.
-By default both options are applied to reads pooled from all samples.
-.TP
-.BI -P \ STR
-Comma dilimited list of platforms (determined by
-.BR @RG-PL )
-from which indel candidates are obtained. It is recommended to collect
-indel candidates from sequencing technologies that have low indel error
-rate such as ILLUMINA. [all]
-.RE
-
-.TP
-.B reheader
-samtools reheader <in.header.sam> <in.bam>
-
-Replace the header in
-.I in.bam
-with the header in
-.I in.header.sam.
-This command is much faster than replacing the header with a
-BAM->SAM->BAM conversion.
-
-.TP
-.B cat
-samtools cat [-h header.sam] [-o out.bam] <in1.bam> <in2.bam> [ ... ]
-
-Concatenate BAMs. The sequence dictionary of each input BAM must be identical,
-although this command does not check this. This command uses a similar trick
-to
-.B reheader
-which enables fast BAM concatenation.
-
-.TP
-.B sort
-samtools sort [-nof] [-m maxMem] <in.bam> <out.prefix>
-
-Sort alignments by leftmost coordinates. File
-.I <out.prefix>.bam
-will be created. This command may also create temporary files
-.I <out.prefix>.%d.bam
-when the whole alignment cannot be fitted into memory (controlled by
-option -m).
-
-.B OPTIONS:
-.RS
-.TP 8
-.B -o
-Output the final alignment to the standard output.
-.TP
-.B -n
-Sort by read names rather than by chromosomal coordinates
-.TP
-.B -f
-Use
-.I <out.prefix>
-as the full output path and do not append
-.I .bam
-suffix.
-.TP
-.BI -m \ INT
-Approximately the maximum required memory. [500000000]
-.RE
-
-.TP
-.B merge
-samtools merge [-nur1f] [-h inh.sam] [-R reg] <out.bam> <in1.bam> <in2.bam> [...]
-
-Merge multiple sorted alignments.
-The header reference lists of all the input BAM files, and the @SQ headers of
-.IR inh.sam ,
-if any, must all refer to the same set of reference sequences.
-The header reference list and (unless overridden by
-.BR -h )
-`@' headers of
-.I in1.bam
-will be copied to
-.IR out.bam ,
-and the headers of other files will be ignored.
-
-.B OPTIONS:
-.RS
-.TP 8
-.B -1
-Use zlib compression level 1 to comrpess the output
-.TP
-.B -f
-Force to overwrite the output file if present.
-.TP 8
-.BI -h \ FILE
-Use the lines of
-.I FILE
-as `@' headers to be copied to
-.IR out.bam ,
-replacing any header lines that would otherwise be copied from
-.IR in1.bam .
-.RI ( FILE
-is actually in SAM format, though any alignment records it may contain
-are ignored.)
-.TP
-.B -n
-The input alignments are sorted by read names rather than by chromosomal
-coordinates
-.TP
-.BI -R \ STR
-Merge files in the specified region indicated by
-.I STR
-[null]
-.TP
-.B -r
-Attach an RG tag to each alignment. The tag value is inferred from file names.
-.TP
-.B -u
-Uncompressed BAM output
-.RE
-
-.TP
-.B index
-samtools index <aln.bam>
-
-Index sorted alignment for fast random access. Index file
-.I <aln.bam>.bai
-will be created.
-
-.TP
-.B idxstats
-samtools idxstats <aln.bam>
-
-Retrieve and print stats in the index file. The output is TAB delimited
-with each line consisting of reference sequence name, sequence length, #
-mapped reads and # unmapped reads.
-
-.TP
-.B faidx
-samtools faidx <ref.fasta> [region1 [...]]
-
-Index reference sequence in the FASTA format or extract subsequence from
-indexed reference sequence. If no region is specified,
-.B faidx
-will index the file and create
-.I <ref.fasta>.fai
-on the disk. If regions are speficified, the subsequences will be
-retrieved and printed to stdout in the FASTA format. The input file can
-be compressed in the
-.B RAZF
-format.
-
-.TP
-.B fixmate
-samtools fixmate <in.nameSrt.bam> <out.bam>
-
-Fill in mate coordinates, ISIZE and mate related flags from a
-name-sorted alignment.
-
-.TP
-.B rmdup
-samtools rmdup [-sS] <input.srt.bam> <out.bam>
-
-Remove potential PCR duplicates: if multiple read pairs have identical
-external coordinates, only retain the pair with highest mapping quality.
-In the paired-end mode, this command
-.B ONLY
-works with FR orientation and requires ISIZE is correctly set. It does
-not work for unpaired reads (e.g. two ends mapped to different
-chromosomes or orphan reads).
-
-.B OPTIONS:
-.RS
-.TP 8
-.B -s
-Remove duplicate for single-end reads. By default, the command works for
-paired-end reads only.
-.TP 8
-.B -S
-Treat paired-end reads and single-end reads.
-.RE
-
-.TP
-.B calmd
-samtools calmd [-EeubSr] [-C capQcoef] <aln.bam> <ref.fasta>
-
-Generate the MD tag. If the MD tag is already present, this command will
-give a warning if the MD tag generated is different from the existing
-tag. Output SAM by default.
-
-.B OPTIONS:
-.RS
-.TP 8
-.B -A
-When used jointly with
-.B -r
-this option overwrites the original base quality.
-.TP 8
-.B -e
-Convert a the read base to = if it is identical to the aligned reference
-base. Indel caller does not support the = bases at the moment.
-.TP
-.B -u
-Output uncompressed BAM
-.TP
-.B -b
-Output compressed BAM
-.TP
-.B -S
-The input is SAM with header lines
-.TP
-.BI -C \ INT
-Coefficient to cap mapping quality of poorly mapped reads. See the
-.B pileup
-command for details. [0]
-.TP
-.B -r
-Compute the BQ tag (without -A) or cap base quality by BAQ (with -A).
-.TP
-.B -E
-Extended BAQ calculation. This option trades specificity for sensitivity, though the
-effect is minor.
-.RE
-
-.TP
-.B targetcut
-samtools targetcut [-Q minBaseQ] [-i inPenalty] [-0 em0] [-1 em1] [-2 em2] [-f ref] <in.bam>
-
-This command identifies target regions by examining the continuity of read depth, computes
-haploid consensus sequences of targets and outputs a SAM with each sequence corresponding
-to a target. When option
-.B -f
-is in use, BAQ will be applied. This command is
-.B only
-designed for cutting fosmid clones from fosmid pool sequencing [Ref. Kitzman et al. (2010)].
-.RE
-
-.TP
-.B phase
-samtools phase [-AF] [-k len] [-b prefix] [-q minLOD] [-Q minBaseQ] <in.bam>
-
-Call and phase heterozygous SNPs.
-.B OPTIONS:
-.RS
-.TP 8
-.B -A
-Drop reads with ambiguous phase.
-.TP 8
-.BI -b \ STR
-Prefix of BAM output. When this option is in use, phase-0 reads will be saved in file
-.BR STR .0.bam
-and phase-1 reads in
-.BR STR .1.bam.
-Phase unknown reads will be randomly allocated to one of the two files. Chimeric reads
-with switch errors will be saved in
-.BR STR .chimeric.bam.
-[null]
-.TP
-.B -F
-Do not attempt to fix chimeric reads.
-.TP
-.BI -k \ INT
-Maximum length for local phasing. [13]
-.TP
-.BI -q \ INT
-Minimum Phred-scaled LOD to call a heterozygote. [40]
-.TP
-.BI -Q \ INT
-Minimum base quality to be used in het calling. [13]
-.RE
-
-.SH BCFTOOLS COMMANDS AND OPTIONS
-
-.TP 10
-.B view
-.B bcftools view
-.RB [ \-AbFGNQSucgv ]
-.RB [ \-D
-.IR seqDict ]
-.RB [ \-l
-.IR listLoci ]
-.RB [ \-s
-.IR listSample ]
-.RB [ \-i
-.IR gapSNPratio ]
-.RB [ \-t
-.IR mutRate ]
-.RB [ \-p
-.IR varThres ]
-.RB [ \-m
-.IR varThres ]
-.RB [ \-P
-.IR prior ]
-.RB [ \-1
-.IR nGroup1 ]
-.RB [ \-d
-.IR minFrac ]
-.RB [ \-U
-.IR nPerm ]
-.RB [ \-X
-.IR permThres ]
-.RB [ \-T
-.IR trioType ]
-.I in.bcf
-.RI [ region ]
-
-Convert between BCF and VCF, call variant candidates and estimate allele
-frequencies.
-
-.RS
-.TP
-.B Input/Output Options:
-.TP 10
-.B -A
-Retain all possible alternate alleles at variant sites. By default, the view
-command discards unlikely alleles.
-.TP 10
-.B -b
-Output in the BCF format. The default is VCF.
-.TP
-.BI -D \ FILE
-Sequence dictionary (list of chromosome names) for VCF->BCF conversion [null]
-.TP
-.B -F
-Indicate PL is generated by r921 or before (ordering is different).
-.TP
-.B -G
-Suppress all individual genotype information.
-.TP
-.BI -l \ FILE
-List of sites at which information are outputted [all sites]
-.TP
-.B -N
-Skip sites where the REF field is not A/C/G/T
-.TP
-.B -Q
-Output the QCALL likelihood format
-.TP
-.BI -s \ FILE
-List of samples to use. The first column in the input gives the sample names
-and the second gives the ploidy, which can only be 1 or 2. When the 2nd column
-is absent, the sample ploidy is assumed to be 2. In the output, the ordering of
-samples will be identical to the one in
-.IR FILE .
-[null]
-.TP
-.B -S
-The input is VCF instead of BCF.
-.TP
-.B -u
-Uncompressed BCF output (force -b).
-.TP
-.B Consensus/Variant Calling Options:
-.TP 10
-.B -c
-Call variants using Bayesian inference. This option automatically invokes option
-.BR -e .
-.TP
-.BI -d \ FLOAT
-When
-.B -v
-is in use, skip loci where the fraction of samples covered by reads is below FLOAT. [0]
-.TP
-.B -e
-Perform max-likelihood inference only, including estimating the site allele frequency,
-testing Hardy-Weinberg equlibrium and testing associations with LRT.
-.TP
-.B -g
-Call per-sample genotypes at variant sites (force -c)
-.TP
-.BI -i \ FLOAT
-Ratio of INDEL-to-SNP mutation rate [0.15]
-.TP
-.BI -m \ FLOAT
-New model for improved multiallelic and rare-variant calling. Another
-ALT allele is accepted if P(chi^2) of LRT exceeds the FLOAT threshold. The
-parameter seems robust and the actual value usually does not affect the results
-much; a good value to use is 0.99. This is the recommended calling method. [0]
-.TP
-.BI -p \ FLOAT
-A site is considered to be a variant if P(ref|D)<FLOAT [0.5]
-.TP
-.BI -P \ STR
-Prior or initial allele frequency spectrum. If STR can be
-.IR full ,
-.IR cond2 ,
-.I flat
-or the file consisting of error output from a previous variant calling
-run.
-.TP
-.BI -t \ FLOAT
-Scaled muttion rate for variant calling [0.001]
-.TP
-.BI -T \ STR
-Enable pair/trio calling. For trio calling, option
-.B -s
-is usually needed to be applied to configure the trio members and their ordering.
-In the file supplied to the option
-.BR -s ,
-the first sample must be the child, the second the father and the third the mother.
-The valid values of
-.I STR
-are `pair', `trioauto', `trioxd' and `trioxs', where `pair' calls differences between two input samples, and `trioxd' (`trioxs') specifies that the input
-is from the X chromosome non-PAR regions and the child is a female (male). [null]
-.TP
-.B -v
-Output variant sites only (force -c)
-.TP
-.B Contrast Calling and Association Test Options:
-.TP
-.BI -1 \ INT
-Number of group-1 samples. This option is used for dividing the samples into
-two groups for contrast SNP calling or association test.
-When this option is in use, the following VCF INFO will be outputted:
-PC2, PCHI2 and QCHI2. [0]
-.TP
-.BI -U \ INT
-Number of permutations for association test (effective only with
-.BR -1 )
-[0]
-.TP
-.BI -X \ FLOAT
-Only perform permutations for P(chi^2)<FLOAT (effective only with
-.BR -U )
-[0.01]
-.RE
-
-.TP
-.B index
-.B bcftools index
-.I in.bcf
-
-Index sorted BCF for random access.
-.RE
-
-.TP
-.B cat
-.B bcftools cat
-.I in1.bcf
-.RI [ "in2.bcf " [ ... "]]]"
-
-Concatenate BCF files. The input files are required to be sorted and
-have identical samples appearing in the same order.
-.RE
-.SH SAM FORMAT
-
-Sequence Alignment/Map (SAM) format is TAB-delimited. Apart from the header lines, which are started
-with the `@' symbol, each alignment line consists of:
-
-.TS
-center box;
-cb | cb | cb
-n | l | l .
-Col Field Description
-_
-1 QNAME Query template/pair NAME
-2 FLAG bitwise FLAG
-3 RNAME Reference sequence NAME
-4 POS 1-based leftmost POSition/coordinate of clipped sequence
-5 MAPQ MAPping Quality (Phred-scaled)
-6 CIAGR extended CIGAR string
-7 MRNM Mate Reference sequence NaMe (`=' if same as RNAME)
-8 MPOS 1-based Mate POSistion
-9 TLEN inferred Template LENgth (insert size)
-10 SEQ query SEQuence on the same strand as the reference
-11 QUAL query QUALity (ASCII-33 gives the Phred base quality)
-12+ OPT variable OPTional fields in the format TAG:VTYPE:VALUE
-.TE
-
-.PP
-Each bit in the FLAG field is defined as:
-
-.TS
-center box;
-cb | cb | cb
-l | c | l .
-Flag Chr Description
-_
-0x0001 p the read is paired in sequencing
-0x0002 P the read is mapped in a proper pair
-0x0004 u the query sequence itself is unmapped
-0x0008 U the mate is unmapped
-0x0010 r strand of the query (1 for reverse)
-0x0020 R strand of the mate
-0x0040 1 the read is the first read in a pair
-0x0080 2 the read is the second read in a pair
-0x0100 s the alignment is not primary
-0x0200 f the read fails platform/vendor quality checks
-0x0400 d the read is either a PCR or an optical duplicate
-.TE
-
-where the second column gives the string representation of the FLAG field.
-
-.SH VCF FORMAT
-
-The Variant Call Format (VCF) is a TAB-delimited format with each data line consists of the following fields:
-.TS
-center box;
-cb | cb | cb
-n | l | l .
-Col Field Description
-_
-1 CHROM CHROMosome name
-2 POS the left-most POSition of the variant
-3 ID unique variant IDentifier
-4 REF the REFerence allele
-5 ALT the ALTernate allele(s), separated by comma
-6 QUAL variant/reference QUALity
-7 FILTER FILTers applied
-8 INFO INFOrmation related to the variant, separated by semi-colon
-9 FORMAT FORMAT of the genotype fields, separated by colon (optional)
-10+ SAMPLE SAMPLE genotypes and per-sample information (optional)
-.TE
-
-.PP
-The following table gives the
-.B INFO
-tags used by samtools and bcftools.
-
-.TS
-center box;
-cb | cb | cb
-l | l | l .
-Tag Format Description
-_
-AF1 double Max-likelihood estimate of the site allele frequency (AF) of the first ALT allele
-DP int Raw read depth (without quality filtering)
-DP4 int[4] # high-quality reference forward bases, ref reverse, alternate for and alt rev bases
-FQ int Consensus quality. Positive: sample genotypes different; negative: otherwise
-MQ int Root-Mean-Square mapping quality of covering reads
-PC2 int[2] Phred probability of AF in group1 samples being larger (,smaller) than in group2
-PCHI2 double Posterior weighted chi^2 P-value between group1 and group2 samples
-PV4 double[4] P-value for strand bias, baseQ bias, mapQ bias and tail distance bias
-QCHI2 int Phred-scaled PCHI2
-RP int # permutations yielding a smaller PCHI2
-CLR int Phred log ratio of genotype likelihoods with and without the trio/pair constraint
-UGT string Most probable genotype configuration without the trio constraint
-CGT string Most probable configuration with the trio constraint
-VDB float Tests variant positions within reads. Intended for filtering RNA-seq artifacts around splice sites
-RPB float Mann-Whitney rank-sum test for tail distance bias
-HWE float Hardy-Weinberg equilibrium test, Wigginton et al., PMID: 15789306
-.TE
-
-.SH EXAMPLES
-.IP o 2
-Import SAM to BAM when
-.B @SQ
-lines are present in the header:
-
- samtools view -bS aln.sam > aln.bam
-
-If
-.B @SQ
-lines are absent:
-
- samtools faidx ref.fa
- samtools view -bt ref.fa.fai aln.sam > aln.bam
-
-where
-.I ref.fa.fai
-is generated automatically by the
-.B faidx
-command.
-
-.IP o 2
-Attach the
-.B RG
-tag while merging sorted alignments:
-
- perl -e 'print "@RG\\tID:ga\\tSM:hs\\tLB:ga\\tPL:Illumina\\n at RG\\tID:454\\tSM:hs\\tLB:454\\tPL:454\\n"' > rg.txt
- samtools merge -rh rg.txt merged.bam ga.bam 454.bam
-
-The value in a
-.B RG
-tag is determined by the file name the read is coming from. In this
-example, in the
-.IR merged.bam ,
-reads from
-.I ga.bam
-will be attached
-.IR RG:Z:ga ,
-while reads from
-.I 454.bam
-will be attached
-.IR RG:Z:454 .
-
-.IP o 2
-Call SNPs and short INDELs for one diploid individual:
-
- samtools mpileup -ugf ref.fa aln.bam | bcftools view -bvcg - > var.raw.bcf
- bcftools view var.raw.bcf | vcfutils.pl varFilter -D 100 > var.flt.vcf
-
-The
-.B -D
-option of varFilter controls the maximum read depth, which should be
-adjusted to about twice the average read depth. One may consider to add
-.B -C50
-to
-.B mpileup
-if mapping quality is overestimated for reads containing excessive
-mismatches. Applying this option usually helps
-.B BWA-short
-but may not other mappers.
-
-.IP o 2
-Generate the consensus sequence for one diploid individual:
-
- samtools mpileup -uf ref.fa aln.bam | bcftools view -cg - | vcfutils.pl vcf2fq > cns.fq
-
-.IP o 2
-Call somatic mutations from a pair of samples:
-
- samtools mpileup -DSuf ref.fa aln.bam | bcftools view -bvcgT pair - > var.bcf
-
-In the output INFO field,
-.I CLR
-gives the Phred-log ratio between the likelihood by treating the
-two samples independently, and the likelihood by requiring the genotype to be identical.
-This
-.I CLR
-is effectively a score measuring the confidence of somatic calls. The higher the better.
-
-.IP o 2
-Call de novo and somatic mutations from a family trio:
-
- samtools mpileup -DSuf ref.fa aln.bam | bcftools view -bvcgT pair -s samples.txt - > var.bcf
-
-File
-.I samples.txt
-should consist of three lines specifying the member and order of samples (in the order of child-father-mother).
-Similarly,
-.I CLR
-gives the Phred-log likelihood ratio with and without the trio constraint.
-.I UGT
-shows the most likely genotype configuration without the trio constraint, and
-.I CGT
-gives the most likely genotype configuration satisfying the trio constraint.
-
-.IP o 2
-Phase one individual:
-
- samtools calmd -AEur aln.bam ref.fa | samtools phase -b prefix - > phase.out
-
-The
-.B calmd
-command is used to reduce false heterozygotes around INDELs.
-
-.IP o 2
-Call SNPs and short indels for multiple diploid individuals:
-
- samtools mpileup -P ILLUMINA -ugf ref.fa *.bam | bcftools view -bcvg - > var.raw.bcf
- bcftools view var.raw.bcf | vcfutils.pl varFilter -D 2000 > var.flt.vcf
-
-Individuals are identified from the
-.B SM
-tags in the
-.B @RG
-header lines. Individuals can be pooled in one alignment file; one
-individual can also be separated into multiple files. The
-.B -P
-option specifies that indel candidates should be collected only from
-read groups with the
-.B @RG-PL
-tag set to
-.IR ILLUMINA .
-Collecting indel candidates from reads sequenced by an indel-prone
-technology may affect the performance of indel calling.
-
-Note that there is a new calling model which can be invoked by
-
- bcftools view -m0.99 ...
-
-which fixes some severe limitations of the default method.
-
-For filtering, best results seem to be achieved by first applying the
-.IR SnpGap
-filter and then applying some machine learning approach
-
- vcf-annotate -f SnpGap=n
- vcf filter ...
-
-Both can be found in the
-.B vcftools
-and
-.B htslib
-package (links below).
-
-.IP o 2
-Derive the allele frequency spectrum (AFS) on a list of sites from multiple individuals:
-
- samtools mpileup -Igf ref.fa *.bam > all.bcf
- bcftools view -bl sites.list all.bcf > sites.bcf
- bcftools view -cGP cond2 sites.bcf > /dev/null 2> sites.1.afs
- bcftools view -cGP sites.1.afs sites.bcf > /dev/null 2> sites.2.afs
- bcftools view -cGP sites.2.afs sites.bcf > /dev/null 2> sites.3.afs
- ......
-
-where
-.I sites.list
-contains the list of sites with each line consisting of the reference
-sequence name and position. The following
-.B bcftools
-commands estimate AFS by EM.
-
-.IP o 2
-Dump BAQ applied alignment for other SNP callers:
-
- samtools calmd -bAr aln.bam > aln.baq.bam
-
-It adds and corrects the
-.B NM
-and
-.B MD
-tags at the same time. The
-.B calmd
-command also comes with the
-.B -C
-option, the same as the one in
-.B pileup
-and
-.BR mpileup .
-Apply if it helps.
-
-.SH LIMITATIONS
-.PP
-.IP o 2
-Unaligned words used in bam_import.c, bam_endian.h, bam.c and bam_aux.c.
-.IP o 2
-Samtools paired-end rmdup does not work for unpaired reads (e.g. orphan
-reads or ends mapped to different chromosomes). If this is a concern,
-please use Picard's MarkDuplicate which correctly handles these cases,
-although a little slower.
-
-.SH AUTHOR
-.PP
-Heng Li from the Sanger Institute wrote the C version of samtools. Bob
-Handsaker from the Broad Institute implemented the BGZF library and Jue
-Ruan from Beijing Genomics Institute wrote the RAZF library. John
-Marshall and Petr Danecek contribute to the source code and various
-people from the 1000 Genomes Project have contributed to the SAM format
-specification.
-
-.SH SEE ALSO
-.PP
-Samtools website: <http://samtools.sourceforge.net>
-.br
-Samtools latest source: <https://github.com/samtools/samtools>
-.br
-VCFtools website with stable link to VCF specification: <http://vcftools.sourceforge.net>
-.br
-HTSlib website: <https://github.com/samtools/htslib>
diff --git a/sam/win32/._xcurses.h b/sam/win32/._xcurses.h
deleted file mode 100644
index 94286bb..0000000
Binary files a/sam/win32/._xcurses.h and /dev/null differ
diff --git a/sam/win32/._zconf.h b/sam/win32/._zconf.h
deleted file mode 100644
index 94286bb..0000000
Binary files a/sam/win32/._zconf.h and /dev/null differ
diff --git a/sam/win32/._zlib.h b/sam/win32/._zlib.h
deleted file mode 100644
index 94286bb..0000000
Binary files a/sam/win32/._zlib.h and /dev/null differ
diff --git a/sam/win32/xcurses.h b/sam/win32/xcurses.h
deleted file mode 100644
index 6f3ce19..0000000
--- a/sam/win32/xcurses.h
+++ /dev/null
@@ -1,1377 +0,0 @@
-/* Public Domain Curses */
-
-/* $Id: curses.h,v 1.295 2008/07/15 17:13:25 wmcbrine Exp $ */
-
-/*----------------------------------------------------------------------*
- * PDCurses *
- *----------------------------------------------------------------------*/
-
-#ifndef __PDCURSES__
-#define __PDCURSES__ 1
-
-/*man-start**************************************************************
-
-PDCurses definitions list: (Only define those needed)
-
- XCURSES True if compiling for X11.
- PDC_RGB True if you want to use RGB color definitions
- (Red = 1, Green = 2, Blue = 4) instead of BGR.
- PDC_WIDE True if building wide-character support.
- PDC_DLL_BUILD True if building a Win32 DLL.
- NCURSES_MOUSE_VERSION Use the ncurses mouse API instead
- of PDCurses' traditional mouse API.
-
-PDCurses portable platform definitions list:
-
- PDC_BUILD Defines API build version.
- PDCURSES Enables access to PDCurses-only routines.
- XOPEN Always true.
- SYSVcurses True if you are compiling for SYSV portability.
- BSDcurses True if you are compiling for BSD portability.
-
-**man-end****************************************************************/
-
-#define PDC_BUILD 3401
-#define PDCURSES 1 /* PDCurses-only routines */
-#define XOPEN 1 /* X/Open Curses routines */
-#define SYSVcurses 1 /* System V Curses routines */
-#define BSDcurses 1 /* BSD Curses routines */
-#define CHTYPE_LONG 1 /* size of chtype; long */
-
-/*----------------------------------------------------------------------*/
-
-#include <stdarg.h>
-#include <stddef.h>
-#include <stdio.h> /* Required by X/Open usage below */
-
-#ifdef PDC_WIDE
-# include <wchar.h>
-#endif
-
-#if defined(__cplusplus) || defined(__cplusplus__) || defined(__CPLUSPLUS)
-extern "C"
-{
-# define bool _bool
-#endif
-
-/*----------------------------------------------------------------------
- *
- * PDCurses Manifest Constants
- *
- */
-
-#ifndef FALSE
-# define FALSE 0
-#endif
-#ifndef TRUE
-# define TRUE 1
-#endif
-#ifndef NULL
-# define NULL (void *)0
-#endif
-#ifndef ERR
-# define ERR (-1)
-#endif
-#ifndef OK
-# define OK 0
-#endif
-
-/*----------------------------------------------------------------------
- *
- * PDCurses Type Declarations
- *
- */
-
-typedef unsigned char bool; /* PDCurses Boolean type */
-
-#ifdef CHTYPE_LONG
-# if _LP64
-typedef unsigned int chtype;
-# else
-typedef unsigned long chtype; /* 16-bit attr + 16-bit char */
-# endif
-#else
-typedef unsigned short chtype; /* 8-bit attr + 8-bit char */
-#endif
-
-#ifdef PDC_WIDE
-typedef chtype cchar_t;
-#endif
-
-typedef chtype attr_t;
-
-/*----------------------------------------------------------------------
- *
- * PDCurses Mouse Interface -- SYSVR4, with extensions
- *
- */
-
-typedef struct
-{
- int x; /* absolute column, 0 based, measured in characters */
- int y; /* absolute row, 0 based, measured in characters */
- short button[3]; /* state of each button */
- int changes; /* flags indicating what has changed with the mouse */
-} MOUSE_STATUS;
-
-#define BUTTON_RELEASED 0x0000
-#define BUTTON_PRESSED 0x0001
-#define BUTTON_CLICKED 0x0002
-#define BUTTON_DOUBLE_CLICKED 0x0003
-#define BUTTON_TRIPLE_CLICKED 0x0004
-#define BUTTON_MOVED 0x0005 /* PDCurses */
-#define WHEEL_SCROLLED 0x0006 /* PDCurses */
-#define BUTTON_ACTION_MASK 0x0007 /* PDCurses */
-
-#define PDC_BUTTON_SHIFT 0x0008 /* PDCurses */
-#define PDC_BUTTON_CONTROL 0x0010 /* PDCurses */
-#define PDC_BUTTON_ALT 0x0020 /* PDCurses */
-#define BUTTON_MODIFIER_MASK 0x0038 /* PDCurses */
-
-#define MOUSE_X_POS (Mouse_status.x)
-#define MOUSE_Y_POS (Mouse_status.y)
-
-/*
- * Bits associated with the .changes field:
- * 3 2 1 0
- * 210987654321098765432109876543210
- * 1 <- button 1 has changed
- * 10 <- button 2 has changed
- * 100 <- button 3 has changed
- * 1000 <- mouse has moved
- * 10000 <- mouse position report
- * 100000 <- mouse wheel up
- * 1000000 <- mouse wheel down
- */
-
-#define PDC_MOUSE_MOVED 0x0008
-#define PDC_MOUSE_POSITION 0x0010
-#define PDC_MOUSE_WHEEL_UP 0x0020
-#define PDC_MOUSE_WHEEL_DOWN 0x0040
-
-#define A_BUTTON_CHANGED (Mouse_status.changes & 7)
-#define MOUSE_MOVED (Mouse_status.changes & PDC_MOUSE_MOVED)
-#define MOUSE_POS_REPORT (Mouse_status.changes & PDC_MOUSE_POSITION)
-#define BUTTON_CHANGED(x) (Mouse_status.changes & (1 << ((x) - 1)))
-#define BUTTON_STATUS(x) (Mouse_status.button[(x) - 1])
-#define MOUSE_WHEEL_UP (Mouse_status.changes & PDC_MOUSE_WHEEL_UP)
-#define MOUSE_WHEEL_DOWN (Mouse_status.changes & PDC_MOUSE_WHEEL_DOWN)
-
-/* mouse bit-masks */
-
-#define BUTTON1_RELEASED 0x00000001L
-#define BUTTON1_PRESSED 0x00000002L
-#define BUTTON1_CLICKED 0x00000004L
-#define BUTTON1_DOUBLE_CLICKED 0x00000008L
-#define BUTTON1_TRIPLE_CLICKED 0x00000010L
-#define BUTTON1_MOVED 0x00000010L /* PDCurses */
-
-#define BUTTON2_RELEASED 0x00000020L
-#define BUTTON2_PRESSED 0x00000040L
-#define BUTTON2_CLICKED 0x00000080L
-#define BUTTON2_DOUBLE_CLICKED 0x00000100L
-#define BUTTON2_TRIPLE_CLICKED 0x00000200L
-#define BUTTON2_MOVED 0x00000200L /* PDCurses */
-
-#define BUTTON3_RELEASED 0x00000400L
-#define BUTTON3_PRESSED 0x00000800L
-#define BUTTON3_CLICKED 0x00001000L
-#define BUTTON3_DOUBLE_CLICKED 0x00002000L
-#define BUTTON3_TRIPLE_CLICKED 0x00004000L
-#define BUTTON3_MOVED 0x00004000L /* PDCurses */
-
-/* For the ncurses-compatible functions only, BUTTON4_PRESSED and
- BUTTON5_PRESSED are returned for mouse scroll wheel up and down;
- otherwise PDCurses doesn't support buttons 4 and 5 */
-
-#define BUTTON4_RELEASED 0x00008000L
-#define BUTTON4_PRESSED 0x00010000L
-#define BUTTON4_CLICKED 0x00020000L
-#define BUTTON4_DOUBLE_CLICKED 0x00040000L
-#define BUTTON4_TRIPLE_CLICKED 0x00080000L
-
-#define BUTTON5_RELEASED 0x00100000L
-#define BUTTON5_PRESSED 0x00200000L
-#define BUTTON5_CLICKED 0x00400000L
-#define BUTTON5_DOUBLE_CLICKED 0x00800000L
-#define BUTTON5_TRIPLE_CLICKED 0x01000000L
-
-#define MOUSE_WHEEL_SCROLL 0x02000000L /* PDCurses */
-#define BUTTON_MODIFIER_SHIFT 0x04000000L /* PDCurses */
-#define BUTTON_MODIFIER_CONTROL 0x08000000L /* PDCurses */
-#define BUTTON_MODIFIER_ALT 0x10000000L /* PDCurses */
-
-#define ALL_MOUSE_EVENTS 0x1fffffffL
-#define REPORT_MOUSE_POSITION 0x20000000L
-
-/* ncurses mouse interface */
-
-typedef unsigned long mmask_t;
-
-typedef struct
-{
- short id; /* unused, always 0 */
- int x, y, z; /* x, y same as MOUSE_STATUS; z unused */
- mmask_t bstate; /* equivalent to changes + button[], but
- in the same format as used for mousemask() */
-} MEVENT;
-
-#ifdef NCURSES_MOUSE_VERSION
-# define BUTTON_SHIFT BUTTON_MODIFIER_SHIFT
-# define BUTTON_CONTROL BUTTON_MODIFIER_CONTROL
-# define BUTTON_CTRL BUTTON_MODIFIER_CONTROL
-# define BUTTON_ALT BUTTON_MODIFIER_ALT
-#else
-# define BUTTON_SHIFT PDC_BUTTON_SHIFT
-# define BUTTON_CONTROL PDC_BUTTON_CONTROL
-# define BUTTON_ALT PDC_BUTTON_ALT
-#endif
-
-/*----------------------------------------------------------------------
- *
- * PDCurses Structure Definitions
- *
- */
-
-typedef struct _win /* definition of a window */
-{
- int _cury; /* current pseudo-cursor */
- int _curx;
- int _maxy; /* max window coordinates */
- int _maxx;
- int _begy; /* origin on screen */
- int _begx;
- int _flags; /* window properties */
- chtype _attrs; /* standard attributes and colors */
- chtype _bkgd; /* background, normally blank */
- bool _clear; /* causes clear at next refresh */
- bool _leaveit; /* leaves cursor where it is */
- bool _scroll; /* allows window scrolling */
- bool _nodelay; /* input character wait flag */
- bool _immed; /* immediate update flag */
- bool _sync; /* synchronise window ancestors */
- bool _use_keypad; /* flags keypad key mode active */
- chtype **_y; /* pointer to line pointer array */
- int *_firstch; /* first changed character in line */
- int *_lastch; /* last changed character in line */
- int _tmarg; /* top of scrolling region */
- int _bmarg; /* bottom of scrolling region */
- int _delayms; /* milliseconds of delay for getch() */
- int _parx, _pary; /* coords relative to parent (0,0) */
- struct _win *_parent; /* subwin's pointer to parent win */
-} WINDOW;
-
-/* Avoid using the SCREEN struct directly -- use the corresponding
- functions if possible. This struct may eventually be made private. */
-
-typedef struct
-{
- bool alive; /* if initscr() called, and not endwin() */
- bool autocr; /* if cr -> lf */
- bool cbreak; /* if terminal unbuffered */
- bool echo; /* if terminal echo */
- bool raw_inp; /* raw input mode (v. cooked input) */
- bool raw_out; /* raw output mode (7 v. 8 bits) */
- bool audible; /* FALSE if the bell is visual */
- bool mono; /* TRUE if current screen is mono */
- bool resized; /* TRUE if TERM has been resized */
- bool orig_attr; /* TRUE if we have the original colors */
- short orig_fore; /* original screen foreground color */
- short orig_back; /* original screen foreground color */
- int cursrow; /* position of physical cursor */
- int curscol; /* position of physical cursor */
- int visibility; /* visibility of cursor */
- int orig_cursor; /* original cursor size */
- int lines; /* new value for LINES */
- int cols; /* new value for COLS */
- unsigned long _trap_mbe; /* trap these mouse button events */
- unsigned long _map_mbe_to_key; /* map mouse buttons to slk */
- int mouse_wait; /* time to wait (in ms) for a
- button release after a press, in
- order to count it as a click */
- int slklines; /* lines in use by slk_init() */
- WINDOW *slk_winptr; /* window for slk */
- int linesrippedoff; /* lines ripped off via ripoffline() */
- int linesrippedoffontop; /* lines ripped off on
- top via ripoffline() */
- int delaytenths; /* 1/10ths second to wait block
- getch() for */
- bool _preserve; /* TRUE if screen background
- to be preserved */
- int _restore; /* specifies if screen background
- to be restored, and how */
- bool save_key_modifiers; /* TRUE if each key modifiers saved
- with each key press */
- bool return_key_modifiers; /* TRUE if modifier keys are
- returned as "real" keys */
- bool key_code; /* TRUE if last key is a special key;
- used internally by get_wch() */
-#ifdef XCURSES
- int XcurscrSize; /* size of Xcurscr shared memory block */
- bool sb_on;
- int sb_viewport_y;
- int sb_viewport_x;
- int sb_total_y;
- int sb_total_x;
- int sb_cur_y;
- int sb_cur_x;
-#endif
- short line_color; /* color of line attributes - default -1 */
-} SCREEN;
-
-/*----------------------------------------------------------------------
- *
- * PDCurses External Variables
- *
- */
-
-#ifdef PDC_DLL_BUILD
-# ifdef CURSES_LIBRARY
-# define PDCEX __declspec(dllexport) extern
-# else
-# define PDCEX __declspec(dllimport)
-# endif
-#else
-# define PDCEX extern
-#endif
-
-PDCEX int LINES; /* terminal height */
-PDCEX int COLS; /* terminal width */
-PDCEX WINDOW *stdscr; /* the default screen window */
-PDCEX WINDOW *curscr; /* the current screen image */
-PDCEX SCREEN *SP; /* curses variables */
-PDCEX MOUSE_STATUS Mouse_status;
-PDCEX int COLORS;
-PDCEX int COLOR_PAIRS;
-PDCEX int TABSIZE;
-PDCEX chtype acs_map[]; /* alternate character set map */
-PDCEX char ttytype[]; /* terminal name/description */
-
-/*man-start**************************************************************
-
-PDCurses Text Attributes
-========================
-
-Originally, PDCurses used a short (16 bits) for its chtype. To include
-color, a number of things had to be sacrificed from the strict Unix and
-System V support. The main problem was fitting all character attributes
-and color into an unsigned char (all 8 bits!).
-
-Today, PDCurses by default uses a long (32 bits) for its chtype, as in
-System V. The short chtype is still available, by undefining CHTYPE_LONG
-and rebuilding the library.
-
-The following is the structure of a win->_attrs chtype:
-
-short form:
-
--------------------------------------------------
-|15|14|13|12|11|10| 9| 8| 7| 6| 5| 4| 3| 2| 1| 0|
--------------------------------------------------
- color number | attrs | character eg 'a'
-
-The available non-color attributes are bold, reverse and blink. Others
-have no effect. The high order char is an index into an array of
-physical colors (defined in color.c) -- 32 foreground/background color
-pairs (5 bits) plus 3 bits for other attributes.
-
-long form:
-
-----------------------------------------------------------------------------
-|31|30|29|28|27|26|25|24|23|22|21|20|19|18|17|16|15|14|13|12|..| 3| 2| 1| 0|
-----------------------------------------------------------------------------
- color number | modifiers | character eg 'a'
-
-The available non-color attributes are bold, underline, invisible,
-right-line, left-line, protect, reverse and blink. 256 color pairs (8
-bits), 8 bits for other attributes, and 16 bits for character data.
-
-**man-end****************************************************************/
-
-/*** Video attribute macros ***/
-
-#define A_NORMAL (chtype)0
-
-#ifdef CHTYPE_LONG
-# define A_ALTCHARSET (chtype)0x00010000
-# define A_RIGHTLINE (chtype)0x00020000
-# define A_LEFTLINE (chtype)0x00040000
-# define A_INVIS (chtype)0x00080000
-# define A_UNDERLINE (chtype)0x00100000
-# define A_REVERSE (chtype)0x00200000
-# define A_BLINK (chtype)0x00400000
-# define A_BOLD (chtype)0x00800000
-
-# define A_ATTRIBUTES (chtype)0xffff0000
-# define A_CHARTEXT (chtype)0x0000ffff
-# define A_COLOR (chtype)0xff000000
-
-# define A_ITALIC A_INVIS
-# define A_PROTECT (A_UNDERLINE | A_LEFTLINE | A_RIGHTLINE)
-
-# define PDC_ATTR_SHIFT 19
-# define PDC_COLOR_SHIFT 24
-#else
-# define A_BOLD (chtype)0x0100 /* X/Open */
-# define A_REVERSE (chtype)0x0200 /* X/Open */
-# define A_BLINK (chtype)0x0400 /* X/Open */
-
-# define A_ATTRIBUTES (chtype)0xff00 /* X/Open */
-# define A_CHARTEXT (chtype)0x00ff /* X/Open */
-# define A_COLOR (chtype)0xf800 /* System V */
-
-# define A_ALTCHARSET A_NORMAL /* X/Open */
-# define A_PROTECT A_NORMAL /* X/Open */
-# define A_UNDERLINE A_NORMAL /* X/Open */
-
-# define A_LEFTLINE A_NORMAL
-# define A_RIGHTLINE A_NORMAL
-# define A_ITALIC A_NORMAL
-# define A_INVIS A_NORMAL
-
-# define PDC_ATTR_SHIFT 8
-# define PDC_COLOR_SHIFT 11
-#endif
-
-#define A_STANDOUT (A_REVERSE | A_BOLD) /* X/Open */
-#define A_DIM A_NORMAL
-
-#define CHR_MSK A_CHARTEXT /* Obsolete */
-#define ATR_MSK A_ATTRIBUTES /* Obsolete */
-#define ATR_NRM A_NORMAL /* Obsolete */
-
-/* For use with attr_t -- X/Open says, "these shall be distinct", so
- this is a non-conforming implementation. */
-
-#define WA_ALTCHARSET A_ALTCHARSET
-#define WA_BLINK A_BLINK
-#define WA_BOLD A_BOLD
-#define WA_DIM A_DIM
-#define WA_INVIS A_INVIS
-#define WA_LEFT A_LEFTLINE
-#define WA_PROTECT A_PROTECT
-#define WA_REVERSE A_REVERSE
-#define WA_RIGHT A_RIGHTLINE
-#define WA_STANDOUT A_STANDOUT
-#define WA_UNDERLINE A_UNDERLINE
-
-#define WA_HORIZONTAL A_NORMAL
-#define WA_LOW A_NORMAL
-#define WA_TOP A_NORMAL
-#define WA_VERTICAL A_NORMAL
-
-/*** Alternate character set macros ***/
-
-/* 'w' = 32-bit chtype; acs_map[] index | A_ALTCHARSET
- 'n' = 16-bit chtype; it gets the fallback set because no bit is
- available for A_ALTCHARSET */
-
-#ifdef CHTYPE_LONG
-# define ACS_PICK(w, n) ((chtype)w | A_ALTCHARSET)
-#else
-# define ACS_PICK(w, n) ((chtype)n)
-#endif
-
-/* VT100-compatible symbols -- box chars */
-
-#define ACS_ULCORNER ACS_PICK('l', '+')
-#define ACS_LLCORNER ACS_PICK('m', '+')
-#define ACS_URCORNER ACS_PICK('k', '+')
-#define ACS_LRCORNER ACS_PICK('j', '+')
-#define ACS_RTEE ACS_PICK('u', '+')
-#define ACS_LTEE ACS_PICK('t', '+')
-#define ACS_BTEE ACS_PICK('v', '+')
-#define ACS_TTEE ACS_PICK('w', '+')
-#define ACS_HLINE ACS_PICK('q', '-')
-#define ACS_VLINE ACS_PICK('x', '|')
-#define ACS_PLUS ACS_PICK('n', '+')
-
-/* VT100-compatible symbols -- other */
-
-#define ACS_S1 ACS_PICK('o', '-')
-#define ACS_S9 ACS_PICK('s', '_')
-#define ACS_DIAMOND ACS_PICK('`', '+')
-#define ACS_CKBOARD ACS_PICK('a', ':')
-#define ACS_DEGREE ACS_PICK('f', '\'')
-#define ACS_PLMINUS ACS_PICK('g', '#')
-#define ACS_BULLET ACS_PICK('~', 'o')
-
-/* Teletype 5410v1 symbols -- these are defined in SysV curses, but
- are not well-supported by most terminals. Stick to VT100 characters
- for optimum portability. */
-
-#define ACS_LARROW ACS_PICK(',', '<')
-#define ACS_RARROW ACS_PICK('+', '>')
-#define ACS_DARROW ACS_PICK('.', 'v')
-#define ACS_UARROW ACS_PICK('-', '^')
-#define ACS_BOARD ACS_PICK('h', '#')
-#define ACS_LANTERN ACS_PICK('i', '*')
-#define ACS_BLOCK ACS_PICK('0', '#')
-
-/* That goes double for these -- undocumented SysV symbols. Don't use
- them. */
-
-#define ACS_S3 ACS_PICK('p', '-')
-#define ACS_S7 ACS_PICK('r', '-')
-#define ACS_LEQUAL ACS_PICK('y', '<')
-#define ACS_GEQUAL ACS_PICK('z', '>')
-#define ACS_PI ACS_PICK('{', 'n')
-#define ACS_NEQUAL ACS_PICK('|', '+')
-#define ACS_STERLING ACS_PICK('}', 'L')
-
-/* Box char aliases */
-
-#define ACS_BSSB ACS_ULCORNER
-#define ACS_SSBB ACS_LLCORNER
-#define ACS_BBSS ACS_URCORNER
-#define ACS_SBBS ACS_LRCORNER
-#define ACS_SBSS ACS_RTEE
-#define ACS_SSSB ACS_LTEE
-#define ACS_SSBS ACS_BTEE
-#define ACS_BSSS ACS_TTEE
-#define ACS_BSBS ACS_HLINE
-#define ACS_SBSB ACS_VLINE
-#define ACS_SSSS ACS_PLUS
-
-/* cchar_t aliases */
-
-#ifdef PDC_WIDE
-# define WACS_ULCORNER (&(acs_map['l']))
-# define WACS_LLCORNER (&(acs_map['m']))
-# define WACS_URCORNER (&(acs_map['k']))
-# define WACS_LRCORNER (&(acs_map['j']))
-# define WACS_RTEE (&(acs_map['u']))
-# define WACS_LTEE (&(acs_map['t']))
-# define WACS_BTEE (&(acs_map['v']))
-# define WACS_TTEE (&(acs_map['w']))
-# define WACS_HLINE (&(acs_map['q']))
-# define WACS_VLINE (&(acs_map['x']))
-# define WACS_PLUS (&(acs_map['n']))
-
-# define WACS_S1 (&(acs_map['o']))
-# define WACS_S9 (&(acs_map['s']))
-# define WACS_DIAMOND (&(acs_map['`']))
-# define WACS_CKBOARD (&(acs_map['a']))
-# define WACS_DEGREE (&(acs_map['f']))
-# define WACS_PLMINUS (&(acs_map['g']))
-# define WACS_BULLET (&(acs_map['~']))
-
-# define WACS_LARROW (&(acs_map[',']))
-# define WACS_RARROW (&(acs_map['+']))
-# define WACS_DARROW (&(acs_map['.']))
-# define WACS_UARROW (&(acs_map['-']))
-# define WACS_BOARD (&(acs_map['h']))
-# define WACS_LANTERN (&(acs_map['i']))
-# define WACS_BLOCK (&(acs_map['0']))
-
-# define WACS_S3 (&(acs_map['p']))
-# define WACS_S7 (&(acs_map['r']))
-# define WACS_LEQUAL (&(acs_map['y']))
-# define WACS_GEQUAL (&(acs_map['z']))
-# define WACS_PI (&(acs_map['{']))
-# define WACS_NEQUAL (&(acs_map['|']))
-# define WACS_STERLING (&(acs_map['}']))
-
-# define WACS_BSSB WACS_ULCORNER
-# define WACS_SSBB WACS_LLCORNER
-# define WACS_BBSS WACS_URCORNER
-# define WACS_SBBS WACS_LRCORNER
-# define WACS_SBSS WACS_RTEE
-# define WACS_SSSB WACS_LTEE
-# define WACS_SSBS WACS_BTEE
-# define WACS_BSSS WACS_TTEE
-# define WACS_BSBS WACS_HLINE
-# define WACS_SBSB WACS_VLINE
-# define WACS_SSSS WACS_PLUS
-#endif
-
-/*** Color macros ***/
-
-#define COLOR_BLACK 0
-
-#ifdef PDC_RGB /* RGB */
-# define COLOR_RED 1
-# define COLOR_GREEN 2
-# define COLOR_BLUE 4
-#else /* BGR */
-# define COLOR_BLUE 1
-# define COLOR_GREEN 2
-# define COLOR_RED 4
-#endif
-
-#define COLOR_CYAN (COLOR_BLUE | COLOR_GREEN)
-#define COLOR_MAGENTA (COLOR_RED | COLOR_BLUE)
-#define COLOR_YELLOW (COLOR_RED | COLOR_GREEN)
-
-#define COLOR_WHITE 7
-
-/*----------------------------------------------------------------------
- *
- * Function and Keypad Key Definitions.
- * Many are just for compatibility.
- *
- */
-
-#define KEY_CODE_YES 0x100 /* If get_wch() gives a key code */
-
-#define KEY_BREAK 0x101 /* Not on PC KBD */
-#define KEY_DOWN 0x102 /* Down arrow key */
-#define KEY_UP 0x103 /* Up arrow key */
-#define KEY_LEFT 0x104 /* Left arrow key */
-#define KEY_RIGHT 0x105 /* Right arrow key */
-#define KEY_HOME 0x106 /* home key */
-#define KEY_BACKSPACE 0x107 /* not on pc */
-#define KEY_F0 0x108 /* function keys; 64 reserved */
-
-#define KEY_DL 0x148 /* delete line */
-#define KEY_IL 0x149 /* insert line */
-#define KEY_DC 0x14a /* delete character */
-#define KEY_IC 0x14b /* insert char or enter ins mode */
-#define KEY_EIC 0x14c /* exit insert char mode */
-#define KEY_CLEAR 0x14d /* clear screen */
-#define KEY_EOS 0x14e /* clear to end of screen */
-#define KEY_EOL 0x14f /* clear to end of line */
-#define KEY_SF 0x150 /* scroll 1 line forward */
-#define KEY_SR 0x151 /* scroll 1 line back (reverse) */
-#define KEY_NPAGE 0x152 /* next page */
-#define KEY_PPAGE 0x153 /* previous page */
-#define KEY_STAB 0x154 /* set tab */
-#define KEY_CTAB 0x155 /* clear tab */
-#define KEY_CATAB 0x156 /* clear all tabs */
-#define KEY_ENTER 0x157 /* enter or send (unreliable) */
-#define KEY_SRESET 0x158 /* soft/reset (partial/unreliable) */
-#define KEY_RESET 0x159 /* reset/hard reset (unreliable) */
-#define KEY_PRINT 0x15a /* print/copy */
-#define KEY_LL 0x15b /* home down/bottom (lower left) */
-#define KEY_ABORT 0x15c /* abort/terminate key (any) */
-#define KEY_SHELP 0x15d /* short help */
-#define KEY_LHELP 0x15e /* long help */
-#define KEY_BTAB 0x15f /* Back tab key */
-#define KEY_BEG 0x160 /* beg(inning) key */
-#define KEY_CANCEL 0x161 /* cancel key */
-#define KEY_CLOSE 0x162 /* close key */
-#define KEY_COMMAND 0x163 /* cmd (command) key */
-#define KEY_COPY 0x164 /* copy key */
-#define KEY_CREATE 0x165 /* create key */
-#define KEY_END 0x166 /* end key */
-#define KEY_EXIT 0x167 /* exit key */
-#define KEY_FIND 0x168 /* find key */
-#define KEY_HELP 0x169 /* help key */
-#define KEY_MARK 0x16a /* mark key */
-#define KEY_MESSAGE 0x16b /* message key */
-#define KEY_MOVE 0x16c /* move key */
-#define KEY_NEXT 0x16d /* next object key */
-#define KEY_OPEN 0x16e /* open key */
-#define KEY_OPTIONS 0x16f /* options key */
-#define KEY_PREVIOUS 0x170 /* previous object key */
-#define KEY_REDO 0x171 /* redo key */
-#define KEY_REFERENCE 0x172 /* ref(erence) key */
-#define KEY_REFRESH 0x173 /* refresh key */
-#define KEY_REPLACE 0x174 /* replace key */
-#define KEY_RESTART 0x175 /* restart key */
-#define KEY_RESUME 0x176 /* resume key */
-#define KEY_SAVE 0x177 /* save key */
-#define KEY_SBEG 0x178 /* shifted beginning key */
-#define KEY_SCANCEL 0x179 /* shifted cancel key */
-#define KEY_SCOMMAND 0x17a /* shifted command key */
-#define KEY_SCOPY 0x17b /* shifted copy key */
-#define KEY_SCREATE 0x17c /* shifted create key */
-#define KEY_SDC 0x17d /* shifted delete char key */
-#define KEY_SDL 0x17e /* shifted delete line key */
-#define KEY_SELECT 0x17f /* select key */
-#define KEY_SEND 0x180 /* shifted end key */
-#define KEY_SEOL 0x181 /* shifted clear line key */
-#define KEY_SEXIT 0x182 /* shifted exit key */
-#define KEY_SFIND 0x183 /* shifted find key */
-#define KEY_SHOME 0x184 /* shifted home key */
-#define KEY_SIC 0x185 /* shifted input key */
-
-#define KEY_SLEFT 0x187 /* shifted left arrow key */
-#define KEY_SMESSAGE 0x188 /* shifted message key */
-#define KEY_SMOVE 0x189 /* shifted move key */
-#define KEY_SNEXT 0x18a /* shifted next key */
-#define KEY_SOPTIONS 0x18b /* shifted options key */
-#define KEY_SPREVIOUS 0x18c /* shifted prev key */
-#define KEY_SPRINT 0x18d /* shifted print key */
-#define KEY_SREDO 0x18e /* shifted redo key */
-#define KEY_SREPLACE 0x18f /* shifted replace key */
-#define KEY_SRIGHT 0x190 /* shifted right arrow */
-#define KEY_SRSUME 0x191 /* shifted resume key */
-#define KEY_SSAVE 0x192 /* shifted save key */
-#define KEY_SSUSPEND 0x193 /* shifted suspend key */
-#define KEY_SUNDO 0x194 /* shifted undo key */
-#define KEY_SUSPEND 0x195 /* suspend key */
-#define KEY_UNDO 0x196 /* undo key */
-
-/* PDCurses-specific key definitions -- PC only */
-
-#define ALT_0 0x197
-#define ALT_1 0x198
-#define ALT_2 0x199
-#define ALT_3 0x19a
-#define ALT_4 0x19b
-#define ALT_5 0x19c
-#define ALT_6 0x19d
-#define ALT_7 0x19e
-#define ALT_8 0x19f
-#define ALT_9 0x1a0
-#define ALT_A 0x1a1
-#define ALT_B 0x1a2
-#define ALT_C 0x1a3
-#define ALT_D 0x1a4
-#define ALT_E 0x1a5
-#define ALT_F 0x1a6
-#define ALT_G 0x1a7
-#define ALT_H 0x1a8
-#define ALT_I 0x1a9
-#define ALT_J 0x1aa
-#define ALT_K 0x1ab
-#define ALT_L 0x1ac
-#define ALT_M 0x1ad
-#define ALT_N 0x1ae
-#define ALT_O 0x1af
-#define ALT_P 0x1b0
-#define ALT_Q 0x1b1
-#define ALT_R 0x1b2
-#define ALT_S 0x1b3
-#define ALT_T 0x1b4
-#define ALT_U 0x1b5
-#define ALT_V 0x1b6
-#define ALT_W 0x1b7
-#define ALT_X 0x1b8
-#define ALT_Y 0x1b9
-#define ALT_Z 0x1ba
-
-#define CTL_LEFT 0x1bb /* Control-Left-Arrow */
-#define CTL_RIGHT 0x1bc
-#define CTL_PGUP 0x1bd
-#define CTL_PGDN 0x1be
-#define CTL_HOME 0x1bf
-#define CTL_END 0x1c0
-
-#define KEY_A1 0x1c1 /* upper left on Virtual keypad */
-#define KEY_A2 0x1c2 /* upper middle on Virt. keypad */
-#define KEY_A3 0x1c3 /* upper right on Vir. keypad */
-#define KEY_B1 0x1c4 /* middle left on Virt. keypad */
-#define KEY_B2 0x1c5 /* center on Virt. keypad */
-#define KEY_B3 0x1c6 /* middle right on Vir. keypad */
-#define KEY_C1 0x1c7 /* lower left on Virt. keypad */
-#define KEY_C2 0x1c8 /* lower middle on Virt. keypad */
-#define KEY_C3 0x1c9 /* lower right on Vir. keypad */
-
-#define PADSLASH 0x1ca /* slash on keypad */
-#define PADENTER 0x1cb /* enter on keypad */
-#define CTL_PADENTER 0x1cc /* ctl-enter on keypad */
-#define ALT_PADENTER 0x1cd /* alt-enter on keypad */
-#define PADSTOP 0x1ce /* stop on keypad */
-#define PADSTAR 0x1cf /* star on keypad */
-#define PADMINUS 0x1d0 /* minus on keypad */
-#define PADPLUS 0x1d1 /* plus on keypad */
-#define CTL_PADSTOP 0x1d2 /* ctl-stop on keypad */
-#define CTL_PADCENTER 0x1d3 /* ctl-enter on keypad */
-#define CTL_PADPLUS 0x1d4 /* ctl-plus on keypad */
-#define CTL_PADMINUS 0x1d5 /* ctl-minus on keypad */
-#define CTL_PADSLASH 0x1d6 /* ctl-slash on keypad */
-#define CTL_PADSTAR 0x1d7 /* ctl-star on keypad */
-#define ALT_PADPLUS 0x1d8 /* alt-plus on keypad */
-#define ALT_PADMINUS 0x1d9 /* alt-minus on keypad */
-#define ALT_PADSLASH 0x1da /* alt-slash on keypad */
-#define ALT_PADSTAR 0x1db /* alt-star on keypad */
-#define ALT_PADSTOP 0x1dc /* alt-stop on keypad */
-#define CTL_INS 0x1dd /* ctl-insert */
-#define ALT_DEL 0x1de /* alt-delete */
-#define ALT_INS 0x1df /* alt-insert */
-#define CTL_UP 0x1e0 /* ctl-up arrow */
-#define CTL_DOWN 0x1e1 /* ctl-down arrow */
-#define CTL_TAB 0x1e2 /* ctl-tab */
-#define ALT_TAB 0x1e3
-#define ALT_MINUS 0x1e4
-#define ALT_EQUAL 0x1e5
-#define ALT_HOME 0x1e6
-#define ALT_PGUP 0x1e7
-#define ALT_PGDN 0x1e8
-#define ALT_END 0x1e9
-#define ALT_UP 0x1ea /* alt-up arrow */
-#define ALT_DOWN 0x1eb /* alt-down arrow */
-#define ALT_RIGHT 0x1ec /* alt-right arrow */
-#define ALT_LEFT 0x1ed /* alt-left arrow */
-#define ALT_ENTER 0x1ee /* alt-enter */
-#define ALT_ESC 0x1ef /* alt-escape */
-#define ALT_BQUOTE 0x1f0 /* alt-back quote */
-#define ALT_LBRACKET 0x1f1 /* alt-left bracket */
-#define ALT_RBRACKET 0x1f2 /* alt-right bracket */
-#define ALT_SEMICOLON 0x1f3 /* alt-semi-colon */
-#define ALT_FQUOTE 0x1f4 /* alt-forward quote */
-#define ALT_COMMA 0x1f5 /* alt-comma */
-#define ALT_STOP 0x1f6 /* alt-stop */
-#define ALT_FSLASH 0x1f7 /* alt-forward slash */
-#define ALT_BKSP 0x1f8 /* alt-backspace */
-#define CTL_BKSP 0x1f9 /* ctl-backspace */
-#define PAD0 0x1fa /* keypad 0 */
-
-#define CTL_PAD0 0x1fb /* ctl-keypad 0 */
-#define CTL_PAD1 0x1fc
-#define CTL_PAD2 0x1fd
-#define CTL_PAD3 0x1fe
-#define CTL_PAD4 0x1ff
-#define CTL_PAD5 0x200
-#define CTL_PAD6 0x201
-#define CTL_PAD7 0x202
-#define CTL_PAD8 0x203
-#define CTL_PAD9 0x204
-
-#define ALT_PAD0 0x205 /* alt-keypad 0 */
-#define ALT_PAD1 0x206
-#define ALT_PAD2 0x207
-#define ALT_PAD3 0x208
-#define ALT_PAD4 0x209
-#define ALT_PAD5 0x20a
-#define ALT_PAD6 0x20b
-#define ALT_PAD7 0x20c
-#define ALT_PAD8 0x20d
-#define ALT_PAD9 0x20e
-
-#define CTL_DEL 0x20f /* clt-delete */
-#define ALT_BSLASH 0x210 /* alt-back slash */
-#define CTL_ENTER 0x211 /* ctl-enter */
-
-#define SHF_PADENTER 0x212 /* shift-enter on keypad */
-#define SHF_PADSLASH 0x213 /* shift-slash on keypad */
-#define SHF_PADSTAR 0x214 /* shift-star on keypad */
-#define SHF_PADPLUS 0x215 /* shift-plus on keypad */
-#define SHF_PADMINUS 0x216 /* shift-minus on keypad */
-#define SHF_UP 0x217 /* shift-up on keypad */
-#define SHF_DOWN 0x218 /* shift-down on keypad */
-#define SHF_IC 0x219 /* shift-insert on keypad */
-#define SHF_DC 0x21a /* shift-delete on keypad */
-
-#define KEY_MOUSE 0x21b /* "mouse" key */
-#define KEY_SHIFT_L 0x21c /* Left-shift */
-#define KEY_SHIFT_R 0x21d /* Right-shift */
-#define KEY_CONTROL_L 0x21e /* Left-control */
-#define KEY_CONTROL_R 0x21f /* Right-control */
-#define KEY_ALT_L 0x220 /* Left-alt */
-#define KEY_ALT_R 0x221 /* Right-alt */
-#define KEY_RESIZE 0x222 /* Window resize */
-#define KEY_SUP 0x223 /* Shifted up arrow */
-#define KEY_SDOWN 0x224 /* Shifted down arrow */
-
-#define KEY_MIN KEY_BREAK /* Minimum curses key value */
-#define KEY_MAX KEY_SDOWN /* Maximum curses key */
-
-#define KEY_F(n) (KEY_F0 + (n))
-
-/*----------------------------------------------------------------------
- *
- * PDCurses Function Declarations
- *
- */
-
-/* Standard */
-
-int addch(const chtype);
-int addchnstr(const chtype *, int);
-int addchstr(const chtype *);
-int addnstr(const char *, int);
-int addstr(const char *);
-int attroff(chtype);
-int attron(chtype);
-int attrset(chtype);
-int attr_get(attr_t *, short *, void *);
-int attr_off(attr_t, void *);
-int attr_on(attr_t, void *);
-int attr_set(attr_t, short, void *);
-int baudrate(void);
-int beep(void);
-int bkgd(chtype);
-void bkgdset(chtype);
-int border(chtype, chtype, chtype, chtype, chtype, chtype, chtype, chtype);
-int box(WINDOW *, chtype, chtype);
-bool can_change_color(void);
-int cbreak(void);
-int chgat(int, attr_t, short, const void *);
-int clearok(WINDOW *, bool);
-int clear(void);
-int clrtobot(void);
-int clrtoeol(void);
-int color_content(short, short *, short *, short *);
-int color_set(short, void *);
-int copywin(const WINDOW *, WINDOW *, int, int, int, int, int, int, int);
-int curs_set(int);
-int def_prog_mode(void);
-int def_shell_mode(void);
-int delay_output(int);
-int delch(void);
-int deleteln(void);
-void delscreen(SCREEN *);
-int delwin(WINDOW *);
-WINDOW *derwin(WINDOW *, int, int, int, int);
-int doupdate(void);
-WINDOW *dupwin(WINDOW *);
-int echochar(const chtype);
-int echo(void);
-int endwin(void);
-char erasechar(void);
-int erase(void);
-void filter(void);
-int flash(void);
-int flushinp(void);
-chtype getbkgd(WINDOW *);
-int getnstr(char *, int);
-int getstr(char *);
-WINDOW *getwin(FILE *);
-int halfdelay(int);
-bool has_colors(void);
-bool has_ic(void);
-bool has_il(void);
-int hline(chtype, int);
-void idcok(WINDOW *, bool);
-int idlok(WINDOW *, bool);
-void immedok(WINDOW *, bool);
-int inchnstr(chtype *, int);
-int inchstr(chtype *);
-chtype inch(void);
-int init_color(short, short, short, short);
-int init_pair(short, short, short);
-WINDOW *initscr(void);
-int innstr(char *, int);
-int insch(chtype);
-int insdelln(int);
-int insertln(void);
-int insnstr(const char *, int);
-int insstr(const char *);
-int instr(char *);
-int intrflush(WINDOW *, bool);
-bool isendwin(void);
-bool is_linetouched(WINDOW *, int);
-bool is_wintouched(WINDOW *);
-char *keyname(int);
-int keypad(WINDOW *, bool);
-char killchar(void);
-int leaveok(WINDOW *, bool);
-char *longname(void);
-int meta(WINDOW *, bool);
-int move(int, int);
-int mvaddch(int, int, const chtype);
-int mvaddchnstr(int, int, const chtype *, int);
-int mvaddchstr(int, int, const chtype *);
-int mvaddnstr(int, int, const char *, int);
-int mvaddstr(int, int, const char *);
-int mvchgat(int, int, int, attr_t, short, const void *);
-int mvcur(int, int, int, int);
-int mvdelch(int, int);
-int mvderwin(WINDOW *, int, int);
-int mvgetch(int, int);
-int mvgetnstr(int, int, char *, int);
-int mvgetstr(int, int, char *);
-int mvhline(int, int, chtype, int);
-chtype mvinch(int, int);
-int mvinchnstr(int, int, chtype *, int);
-int mvinchstr(int, int, chtype *);
-int mvinnstr(int, int, char *, int);
-int mvinsch(int, int, chtype);
-int mvinsnstr(int, int, const char *, int);
-int mvinsstr(int, int, const char *);
-int mvinstr(int, int, char *);
-int mvprintw(int, int, const char *, ...);
-int mvscanw(int, int, const char *, ...);
-int mvvline(int, int, chtype, int);
-int mvwaddchnstr(WINDOW *, int, int, const chtype *, int);
-int mvwaddchstr(WINDOW *, int, int, const chtype *);
-int mvwaddch(WINDOW *, int, int, const chtype);
-int mvwaddnstr(WINDOW *, int, int, const char *, int);
-int mvwaddstr(WINDOW *, int, int, const char *);
-int mvwchgat(WINDOW *, int, int, int, attr_t, short, const void *);
-int mvwdelch(WINDOW *, int, int);
-int mvwgetch(WINDOW *, int, int);
-int mvwgetnstr(WINDOW *, int, int, char *, int);
-int mvwgetstr(WINDOW *, int, int, char *);
-int mvwhline(WINDOW *, int, int, chtype, int);
-int mvwinchnstr(WINDOW *, int, int, chtype *, int);
-int mvwinchstr(WINDOW *, int, int, chtype *);
-chtype mvwinch(WINDOW *, int, int);
-int mvwinnstr(WINDOW *, int, int, char *, int);
-int mvwinsch(WINDOW *, int, int, chtype);
-int mvwinsnstr(WINDOW *, int, int, const char *, int);
-int mvwinsstr(WINDOW *, int, int, const char *);
-int mvwinstr(WINDOW *, int, int, char *);
-int mvwin(WINDOW *, int, int);
-int mvwprintw(WINDOW *, int, int, const char *, ...);
-int mvwscanw(WINDOW *, int, int, const char *, ...);
-int mvwvline(WINDOW *, int, int, chtype, int);
-int napms(int);
-WINDOW *newpad(int, int);
-SCREEN *newterm(const char *, FILE *, FILE *);
-WINDOW *newwin(int, int, int, int);
-int nl(void);
-int nocbreak(void);
-int nodelay(WINDOW *, bool);
-int noecho(void);
-int nonl(void);
-void noqiflush(void);
-int noraw(void);
-int notimeout(WINDOW *, bool);
-int overlay(const WINDOW *, WINDOW *);
-int overwrite(const WINDOW *, WINDOW *);
-int pair_content(short, short *, short *);
-int pechochar(WINDOW *, chtype);
-int pnoutrefresh(WINDOW *, int, int, int, int, int, int);
-int prefresh(WINDOW *, int, int, int, int, int, int);
-int printw(const char *, ...);
-int putwin(WINDOW *, FILE *);
-void qiflush(void);
-int raw(void);
-int redrawwin(WINDOW *);
-int refresh(void);
-int reset_prog_mode(void);
-int reset_shell_mode(void);
-int resetty(void);
-int ripoffline(int, int (*)(WINDOW *, int));
-int savetty(void);
-int scanw(const char *, ...);
-int scr_dump(const char *);
-int scr_init(const char *);
-int scr_restore(const char *);
-int scr_set(const char *);
-int scrl(int);
-int scroll(WINDOW *);
-int scrollok(WINDOW *, bool);
-SCREEN *set_term(SCREEN *);
-int setscrreg(int, int);
-int slk_attroff(const chtype);
-int slk_attr_off(const attr_t, void *);
-int slk_attron(const chtype);
-int slk_attr_on(const attr_t, void *);
-int slk_attrset(const chtype);
-int slk_attr_set(const attr_t, short, void *);
-int slk_clear(void);
-int slk_color(short);
-int slk_init(int);
-char *slk_label(int);
-int slk_noutrefresh(void);
-int slk_refresh(void);
-int slk_restore(void);
-int slk_set(int, const char *, int);
-int slk_touch(void);
-int standend(void);
-int standout(void);
-int start_color(void);
-WINDOW *subpad(WINDOW *, int, int, int, int);
-WINDOW *subwin(WINDOW *, int, int, int, int);
-int syncok(WINDOW *, bool);
-chtype termattrs(void);
-attr_t term_attrs(void);
-char *termname(void);
-void timeout(int);
-int touchline(WINDOW *, int, int);
-int touchwin(WINDOW *);
-int typeahead(int);
-int untouchwin(WINDOW *);
-void use_env(bool);
-int vidattr(chtype);
-int vid_attr(attr_t, short, void *);
-int vidputs(chtype, int (*)(int));
-int vid_puts(attr_t, short, void *, int (*)(int));
-int vline(chtype, int);
-int vw_printw(WINDOW *, const char *, va_list);
-int vwprintw(WINDOW *, const char *, va_list);
-int vw_scanw(WINDOW *, const char *, va_list);
-int vwscanw(WINDOW *, const char *, va_list);
-int waddchnstr(WINDOW *, const chtype *, int);
-int waddchstr(WINDOW *, const chtype *);
-int waddch(WINDOW *, const chtype);
-int waddnstr(WINDOW *, const char *, int);
-int waddstr(WINDOW *, const char *);
-int wattroff(WINDOW *, chtype);
-int wattron(WINDOW *, chtype);
-int wattrset(WINDOW *, chtype);
-int wattr_get(WINDOW *, attr_t *, short *, void *);
-int wattr_off(WINDOW *, attr_t, void *);
-int wattr_on(WINDOW *, attr_t, void *);
-int wattr_set(WINDOW *, attr_t, short, void *);
-void wbkgdset(WINDOW *, chtype);
-int wbkgd(WINDOW *, chtype);
-int wborder(WINDOW *, chtype, chtype, chtype, chtype,
- chtype, chtype, chtype, chtype);
-int wchgat(WINDOW *, int, attr_t, short, const void *);
-int wclear(WINDOW *);
-int wclrtobot(WINDOW *);
-int wclrtoeol(WINDOW *);
-int wcolor_set(WINDOW *, short, void *);
-void wcursyncup(WINDOW *);
-int wdelch(WINDOW *);
-int wdeleteln(WINDOW *);
-int wechochar(WINDOW *, const chtype);
-int werase(WINDOW *);
-int wgetch(WINDOW *);
-int wgetnstr(WINDOW *, char *, int);
-int wgetstr(WINDOW *, char *);
-int whline(WINDOW *, chtype, int);
-int winchnstr(WINDOW *, chtype *, int);
-int winchstr(WINDOW *, chtype *);
-chtype winch(WINDOW *);
-int winnstr(WINDOW *, char *, int);
-int winsch(WINDOW *, chtype);
-int winsdelln(WINDOW *, int);
-int winsertln(WINDOW *);
-int winsnstr(WINDOW *, const char *, int);
-int winsstr(WINDOW *, const char *);
-int winstr(WINDOW *, char *);
-int wmove(WINDOW *, int, int);
-int wnoutrefresh(WINDOW *);
-int wprintw(WINDOW *, const char *, ...);
-int wredrawln(WINDOW *, int, int);
-int wrefresh(WINDOW *);
-int wscanw(WINDOW *, const char *, ...);
-int wscrl(WINDOW *, int);
-int wsetscrreg(WINDOW *, int, int);
-int wstandend(WINDOW *);
-int wstandout(WINDOW *);
-void wsyncdown(WINDOW *);
-void wsyncup(WINDOW *);
-void wtimeout(WINDOW *, int);
-int wtouchln(WINDOW *, int, int, int);
-int wvline(WINDOW *, chtype, int);
-
-/* Wide-character functions */
-
-#ifdef PDC_WIDE
-int addnwstr(const wchar_t *, int);
-int addwstr(const wchar_t *);
-int add_wch(const cchar_t *);
-int add_wchnstr(const cchar_t *, int);
-int add_wchstr(const cchar_t *);
-int border_set(const cchar_t *, const cchar_t *, const cchar_t *,
- const cchar_t *, const cchar_t *, const cchar_t *,
- const cchar_t *, const cchar_t *);
-int box_set(WINDOW *, const cchar_t *, const cchar_t *);
-int echo_wchar(const cchar_t *);
-int erasewchar(wchar_t *);
-int getbkgrnd(cchar_t *);
-int getcchar(const cchar_t *, wchar_t *, attr_t *, short *, void *);
-int getn_wstr(wint_t *, int);
-int get_wch(wint_t *);
-int get_wstr(wint_t *);
-int hline_set(const cchar_t *, int);
-int innwstr(wchar_t *, int);
-int ins_nwstr(const wchar_t *, int);
-int ins_wch(const cchar_t *);
-int ins_wstr(const wchar_t *);
-int inwstr(wchar_t *);
-int in_wch(cchar_t *);
-int in_wchnstr(cchar_t *, int);
-int in_wchstr(cchar_t *);
-char *key_name(wchar_t);
-int killwchar(wchar_t *);
-int mvaddnwstr(int, int, const wchar_t *, int);
-int mvaddwstr(int, int, const wchar_t *);
-int mvadd_wch(int, int, const cchar_t *);
-int mvadd_wchnstr(int, int, const cchar_t *, int);
-int mvadd_wchstr(int, int, const cchar_t *);
-int mvgetn_wstr(int, int, wint_t *, int);
-int mvget_wch(int, int, wint_t *);
-int mvget_wstr(int, int, wint_t *);
-int mvhline_set(int, int, const cchar_t *, int);
-int mvinnwstr(int, int, wchar_t *, int);
-int mvins_nwstr(int, int, const wchar_t *, int);
-int mvins_wch(int, int, const cchar_t *);
-int mvins_wstr(int, int, const wchar_t *);
-int mvinwstr(int, int, wchar_t *);
-int mvin_wch(int, int, cchar_t *);
-int mvin_wchnstr(int, int, cchar_t *, int);
-int mvin_wchstr(int, int, cchar_t *);
-int mvvline_set(int, int, const cchar_t *, int);
-int mvwaddnwstr(WINDOW *, int, int, const wchar_t *, int);
-int mvwaddwstr(WINDOW *, int, int, const wchar_t *);
-int mvwadd_wch(WINDOW *, int, int, const cchar_t *);
-int mvwadd_wchnstr(WINDOW *, int, int, const cchar_t *, int);
-int mvwadd_wchstr(WINDOW *, int, int, const cchar_t *);
-int mvwgetn_wstr(WINDOW *, int, int, wint_t *, int);
-int mvwget_wch(WINDOW *, int, int, wint_t *);
-int mvwget_wstr(WINDOW *, int, int, wint_t *);
-int mvwhline_set(WINDOW *, int, int, const cchar_t *, int);
-int mvwinnwstr(WINDOW *, int, int, wchar_t *, int);
-int mvwins_nwstr(WINDOW *, int, int, const wchar_t *, int);
-int mvwins_wch(WINDOW *, int, int, const cchar_t *);
-int mvwins_wstr(WINDOW *, int, int, const wchar_t *);
-int mvwin_wch(WINDOW *, int, int, cchar_t *);
-int mvwin_wchnstr(WINDOW *, int, int, cchar_t *, int);
-int mvwin_wchstr(WINDOW *, int, int, cchar_t *);
-int mvwinwstr(WINDOW *, int, int, wchar_t *);
-int mvwvline_set(WINDOW *, int, int, const cchar_t *, int);
-int pecho_wchar(WINDOW *, const cchar_t*);
-int setcchar(cchar_t*, const wchar_t*, const attr_t, short, const void*);
-int slk_wset(int, const wchar_t *, int);
-int unget_wch(const wchar_t);
-int vline_set(const cchar_t *, int);
-int waddnwstr(WINDOW *, const wchar_t *, int);
-int waddwstr(WINDOW *, const wchar_t *);
-int wadd_wch(WINDOW *, const cchar_t *);
-int wadd_wchnstr(WINDOW *, const cchar_t *, int);
-int wadd_wchstr(WINDOW *, const cchar_t *);
-int wbkgrnd(WINDOW *, const cchar_t *);
-void wbkgrndset(WINDOW *, const cchar_t *);
-int wborder_set(WINDOW *, const cchar_t *, const cchar_t *,
- const cchar_t *, const cchar_t *, const cchar_t *,
- const cchar_t *, const cchar_t *, const cchar_t *);
-int wecho_wchar(WINDOW *, const cchar_t *);
-int wgetbkgrnd(WINDOW *, cchar_t *);
-int wgetn_wstr(WINDOW *, wint_t *, int);
-int wget_wch(WINDOW *, wint_t *);
-int wget_wstr(WINDOW *, wint_t *);
-int whline_set(WINDOW *, const cchar_t *, int);
-int winnwstr(WINDOW *, wchar_t *, int);
-int wins_nwstr(WINDOW *, const wchar_t *, int);
-int wins_wch(WINDOW *, const cchar_t *);
-int wins_wstr(WINDOW *, const wchar_t *);
-int winwstr(WINDOW *, wchar_t *);
-int win_wch(WINDOW *, cchar_t *);
-int win_wchnstr(WINDOW *, cchar_t *, int);
-int win_wchstr(WINDOW *, cchar_t *);
-wchar_t *wunctrl(cchar_t *);
-int wvline_set(WINDOW *, const cchar_t *, int);
-#endif
-
-/* Quasi-standard */
-
-chtype getattrs(WINDOW *);
-int getbegx(WINDOW *);
-int getbegy(WINDOW *);
-int getmaxx(WINDOW *);
-int getmaxy(WINDOW *);
-int getparx(WINDOW *);
-int getpary(WINDOW *);
-int getcurx(WINDOW *);
-int getcury(WINDOW *);
-void traceoff(void);
-void traceon(void);
-char *unctrl(chtype);
-
-int crmode(void);
-int nocrmode(void);
-int draino(int);
-int resetterm(void);
-int fixterm(void);
-int saveterm(void);
-int setsyx(int, int);
-
-int mouse_set(unsigned long);
-int mouse_on(unsigned long);
-int mouse_off(unsigned long);
-int request_mouse_pos(void);
-int map_button(unsigned long);
-void wmouse_position(WINDOW *, int *, int *);
-unsigned long getmouse(void);
-unsigned long getbmap(void);
-
-/* ncurses */
-
-int assume_default_colors(int, int);
-const char *curses_version(void);
-bool has_key(int);
-int use_default_colors(void);
-int wresize(WINDOW *, int, int);
-
-int mouseinterval(int);
-mmask_t mousemask(mmask_t, mmask_t *);
-bool mouse_trafo(int *, int *, bool);
-int nc_getmouse(MEVENT *);
-int ungetmouse(MEVENT *);
-bool wenclose(const WINDOW *, int, int);
-bool wmouse_trafo(const WINDOW *, int *, int *, bool);
-
-/* PDCurses */
-
-int addrawch(chtype);
-int insrawch(chtype);
-bool is_termresized(void);
-int mvaddrawch(int, int, chtype);
-int mvdeleteln(int, int);
-int mvinsertln(int, int);
-int mvinsrawch(int, int, chtype);
-int mvwaddrawch(WINDOW *, int, int, chtype);
-int mvwdeleteln(WINDOW *, int, int);
-int mvwinsertln(WINDOW *, int, int);
-int mvwinsrawch(WINDOW *, int, int, chtype);
-int raw_output(bool);
-int resize_term(int, int);
-WINDOW *resize_window(WINDOW *, int, int);
-int waddrawch(WINDOW *, chtype);
-int winsrawch(WINDOW *, chtype);
-char wordchar(void);
-
-#ifdef PDC_WIDE
-wchar_t *slk_wlabel(int);
-#endif
-
-void PDC_debug(const char *, ...);
-int PDC_ungetch(int);
-int PDC_set_blink(bool);
-int PDC_set_line_color(short);
-void PDC_set_title(const char *);
-
-int PDC_clearclipboard(void);
-int PDC_freeclipboard(char *);
-int PDC_getclipboard(char **, long *);
-int PDC_setclipboard(const char *, long);
-
-unsigned long PDC_get_input_fd(void);
-unsigned long PDC_get_key_modifiers(void);
-int PDC_return_key_modifiers(bool);
-int PDC_save_key_modifiers(bool);
-
-#ifdef XCURSES
-WINDOW *Xinitscr(int, char **);
-void XCursesExit(void);
-int sb_init(void);
-int sb_set_horz(int, int, int);
-int sb_set_vert(int, int, int);
-int sb_get_horz(int *, int *, int *);
-int sb_get_vert(int *, int *, int *);
-int sb_refresh(void);
-#endif
-
-/*** Functions defined as macros ***/
-
-/* getch() and ungetch() conflict with some DOS libraries */
-
-#define getch() wgetch(stdscr)
-#define ungetch(ch) PDC_ungetch(ch)
-
-#define COLOR_PAIR(n) (((chtype)(n) << PDC_COLOR_SHIFT) & A_COLOR)
-#define PAIR_NUMBER(n) (((n) & A_COLOR) >> PDC_COLOR_SHIFT)
-
-/* These will _only_ work as macros */
-
-#define getbegyx(w, y, x) (y = getbegy(w), x = getbegx(w))
-#define getmaxyx(w, y, x) (y = getmaxy(w), x = getmaxx(w))
-#define getparyx(w, y, x) (y = getpary(w), x = getparx(w))
-#define getyx(w, y, x) (y = getcury(w), x = getcurx(w))
-
-#define getsyx(y, x) { if (curscr->_leaveit) (y)=(x)=-1; \
- else getyx(curscr,(y),(x)); }
-
-#ifdef NCURSES_MOUSE_VERSION
-# define getmouse(x) nc_getmouse(x)
-#endif
-
-/* return codes from PDC_getclipboard() and PDC_setclipboard() calls */
-
-#define PDC_CLIP_SUCCESS 0
-#define PDC_CLIP_ACCESS_ERROR 1
-#define PDC_CLIP_EMPTY 2
-#define PDC_CLIP_MEMORY_ERROR 3
-
-/* PDCurses key modifier masks */
-
-#define PDC_KEY_MODIFIER_SHIFT 1
-#define PDC_KEY_MODIFIER_CONTROL 2
-#define PDC_KEY_MODIFIER_ALT 4
-#define PDC_KEY_MODIFIER_NUMLOCK 8
-
-#if defined(__cplusplus) || defined(__cplusplus__) || defined(__CPLUSPLUS)
-# undef bool
-}
-#endif
-
-#endif /* __PDCURSES__ */
diff --git a/sam/win32/zconf.h b/sam/win32/zconf.h
deleted file mode 100644
index 03a9431..0000000
--- a/sam/win32/zconf.h
+++ /dev/null
@@ -1,332 +0,0 @@
-/* zconf.h -- configuration of the zlib compression library
- * Copyright (C) 1995-2005 Jean-loup Gailly.
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* @(#) $Id$ */
-
-#ifndef ZCONF_H
-#define ZCONF_H
-
-/*
- * If you *really* need a unique prefix for all types and library functions,
- * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
- */
-#ifdef Z_PREFIX
-# define deflateInit_ z_deflateInit_
-# define deflate z_deflate
-# define deflateEnd z_deflateEnd
-# define inflateInit_ z_inflateInit_
-# define inflate z_inflate
-# define inflateEnd z_inflateEnd
-# define deflateInit2_ z_deflateInit2_
-# define deflateSetDictionary z_deflateSetDictionary
-# define deflateCopy z_deflateCopy
-# define deflateReset z_deflateReset
-# define deflateParams z_deflateParams
-# define deflateBound z_deflateBound
-# define deflatePrime z_deflatePrime
-# define inflateInit2_ z_inflateInit2_
-# define inflateSetDictionary z_inflateSetDictionary
-# define inflateSync z_inflateSync
-# define inflateSyncPoint z_inflateSyncPoint
-# define inflateCopy z_inflateCopy
-# define inflateReset z_inflateReset
-# define inflateBack z_inflateBack
-# define inflateBackEnd z_inflateBackEnd
-# define compress z_compress
-# define compress2 z_compress2
-# define compressBound z_compressBound
-# define uncompress z_uncompress
-# define adler32 z_adler32
-# define crc32 z_crc32
-# define get_crc_table z_get_crc_table
-# define zError z_zError
-
-# define alloc_func z_alloc_func
-# define free_func z_free_func
-# define in_func z_in_func
-# define out_func z_out_func
-# define Byte z_Byte
-# define uInt z_uInt
-# define uLong z_uLong
-# define Bytef z_Bytef
-# define charf z_charf
-# define intf z_intf
-# define uIntf z_uIntf
-# define uLongf z_uLongf
-# define voidpf z_voidpf
-# define voidp z_voidp
-#endif
-
-#if defined(__MSDOS__) && !defined(MSDOS)
-# define MSDOS
-#endif
-#if (defined(OS_2) || defined(__OS2__)) && !defined(OS2)
-# define OS2
-#endif
-#if defined(_WINDOWS) && !defined(WINDOWS)
-# define WINDOWS
-#endif
-#if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__)
-# ifndef WIN32
-# define WIN32
-# endif
-#endif
-#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32)
-# if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__)
-# ifndef SYS16BIT
-# define SYS16BIT
-# endif
-# endif
-#endif
-
-/*
- * Compile with -DMAXSEG_64K if the alloc function cannot allocate more
- * than 64k bytes at a time (needed on systems with 16-bit int).
- */
-#ifdef SYS16BIT
-# define MAXSEG_64K
-#endif
-#ifdef MSDOS
-# define UNALIGNED_OK
-#endif
-
-#ifdef __STDC_VERSION__
-# ifndef STDC
-# define STDC
-# endif
-# if __STDC_VERSION__ >= 199901L
-# ifndef STDC99
-# define STDC99
-# endif
-# endif
-#endif
-#if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus))
-# define STDC
-#endif
-#if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__))
-# define STDC
-#endif
-#if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32))
-# define STDC
-#endif
-#if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__))
-# define STDC
-#endif
-
-#if defined(__OS400__) && !defined(STDC) /* iSeries (formerly AS/400). */
-# define STDC
-#endif
-
-#ifndef STDC
-# ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */
-# define const /* note: need a more gentle solution here */
-# endif
-#endif
-
-/* Some Mac compilers merge all .h files incorrectly: */
-#if defined(__MWERKS__)||defined(applec)||defined(THINK_C)||defined(__SC__)
-# define NO_DUMMY_DECL
-#endif
-
-/* Maximum value for memLevel in deflateInit2 */
-#ifndef MAX_MEM_LEVEL
-# ifdef MAXSEG_64K
-# define MAX_MEM_LEVEL 8
-# else
-# define MAX_MEM_LEVEL 9
-# endif
-#endif
-
-/* Maximum value for windowBits in deflateInit2 and inflateInit2.
- * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files
- * created by gzip. (Files created by minigzip can still be extracted by
- * gzip.)
- */
-#ifndef MAX_WBITS
-# define MAX_WBITS 15 /* 32K LZ77 window */
-#endif
-
-/* The memory requirements for deflate are (in bytes):
- (1 << (windowBits+2)) + (1 << (memLevel+9))
- that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values)
- plus a few kilobytes for small objects. For example, if you want to reduce
- the default memory requirements from 256K to 128K, compile with
- make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7"
- Of course this will generally degrade compression (there's no free lunch).
-
- The memory requirements for inflate are (in bytes) 1 << windowBits
- that is, 32K for windowBits=15 (default value) plus a few kilobytes
- for small objects.
-*/
-
- /* Type declarations */
-
-#ifndef OF /* function prototypes */
-# ifdef STDC
-# define OF(args) args
-# else
-# define OF(args) ()
-# endif
-#endif
-
-/* The following definitions for FAR are needed only for MSDOS mixed
- * model programming (small or medium model with some far allocations).
- * This was tested only with MSC; for other MSDOS compilers you may have
- * to define NO_MEMCPY in zutil.h. If you don't need the mixed model,
- * just define FAR to be empty.
- */
-#ifdef SYS16BIT
-# if defined(M_I86SM) || defined(M_I86MM)
- /* MSC small or medium model */
-# define SMALL_MEDIUM
-# ifdef _MSC_VER
-# define FAR _far
-# else
-# define FAR far
-# endif
-# endif
-# if (defined(__SMALL__) || defined(__MEDIUM__))
- /* Turbo C small or medium model */
-# define SMALL_MEDIUM
-# ifdef __BORLANDC__
-# define FAR _far
-# else
-# define FAR far
-# endif
-# endif
-#endif
-
-#if defined(WINDOWS) || defined(WIN32)
- /* If building or using zlib as a DLL, define ZLIB_DLL.
- * This is not mandatory, but it offers a little performance increase.
- */
-# ifdef ZLIB_DLL
-# if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500))
-# ifdef ZLIB_INTERNAL
-# define ZEXTERN extern __declspec(dllexport)
-# else
-# define ZEXTERN extern __declspec(dllimport)
-# endif
-# endif
-# endif /* ZLIB_DLL */
- /* If building or using zlib with the WINAPI/WINAPIV calling convention,
- * define ZLIB_WINAPI.
- * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI.
- */
-# ifdef ZLIB_WINAPI
-# ifdef FAR
-# undef FAR
-# endif
-# include <windows.h>
- /* No need for _export, use ZLIB.DEF instead. */
- /* For complete Windows compatibility, use WINAPI, not __stdcall. */
-# define ZEXPORT WINAPI
-# ifdef WIN32
-# define ZEXPORTVA WINAPIV
-# else
-# define ZEXPORTVA FAR CDECL
-# endif
-# endif
-#endif
-
-#if defined (__BEOS__)
-# ifdef ZLIB_DLL
-# ifdef ZLIB_INTERNAL
-# define ZEXPORT __declspec(dllexport)
-# define ZEXPORTVA __declspec(dllexport)
-# else
-# define ZEXPORT __declspec(dllimport)
-# define ZEXPORTVA __declspec(dllimport)
-# endif
-# endif
-#endif
-
-#ifndef ZEXTERN
-# define ZEXTERN extern
-#endif
-#ifndef ZEXPORT
-# define ZEXPORT
-#endif
-#ifndef ZEXPORTVA
-# define ZEXPORTVA
-#endif
-
-#ifndef FAR
-# define FAR
-#endif
-
-#if !defined(__MACTYPES__)
-typedef unsigned char Byte; /* 8 bits */
-#endif
-typedef unsigned int uInt; /* 16 bits or more */
-typedef unsigned long uLong; /* 32 bits or more */
-
-#ifdef SMALL_MEDIUM
- /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */
-# define Bytef Byte FAR
-#else
- typedef Byte FAR Bytef;
-#endif
-typedef char FAR charf;
-typedef int FAR intf;
-typedef uInt FAR uIntf;
-typedef uLong FAR uLongf;
-
-#ifdef STDC
- typedef void const *voidpc;
- typedef void FAR *voidpf;
- typedef void *voidp;
-#else
- typedef Byte const *voidpc;
- typedef Byte FAR *voidpf;
- typedef Byte *voidp;
-#endif
-
-#if 0 /* HAVE_UNISTD_H -- this line is updated by ./configure */
-# include <sys/types.h> /* for off_t */
-# include <unistd.h> /* for SEEK_* and off_t */
-# ifdef VMS
-# include <unixio.h> /* for off_t */
-# endif
-# define z_off_t off_t
-#endif
-#ifndef SEEK_SET
-# define SEEK_SET 0 /* Seek from beginning of file. */
-# define SEEK_CUR 1 /* Seek from current position. */
-# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */
-#endif
-#ifndef z_off_t
-# define z_off_t long
-#endif
-
-#if defined(__OS400__)
-# define NO_vsnprintf
-#endif
-
-#if defined(__MVS__)
-# define NO_vsnprintf
-# ifdef FAR
-# undef FAR
-# endif
-#endif
-
-/* MVS linker does not support external names larger than 8 bytes */
-#if defined(__MVS__)
-# pragma map(deflateInit_,"DEIN")
-# pragma map(deflateInit2_,"DEIN2")
-# pragma map(deflateEnd,"DEEND")
-# pragma map(deflateBound,"DEBND")
-# pragma map(inflateInit_,"ININ")
-# pragma map(inflateInit2_,"ININ2")
-# pragma map(inflateEnd,"INEND")
-# pragma map(inflateSync,"INSY")
-# pragma map(inflateSetDictionary,"INSEDI")
-# pragma map(compressBound,"CMBND")
-# pragma map(inflate_table,"INTABL")
-# pragma map(inflate_fast,"INFA")
-# pragma map(inflate_copyright,"INCOPY")
-#endif
-
-#endif /* ZCONF_H */
diff --git a/sam/win32/zlib.h b/sam/win32/zlib.h
deleted file mode 100644
index 0228179..0000000
--- a/sam/win32/zlib.h
+++ /dev/null
@@ -1,1357 +0,0 @@
-/* zlib.h -- interface of the 'zlib' general purpose compression library
- version 1.2.3, July 18th, 2005
-
- Copyright (C) 1995-2005 Jean-loup Gailly and Mark Adler
-
- This software is provided 'as-is', without any express or implied
- warranty. In no event will the authors be held liable for any damages
- arising from the use of this software.
-
- Permission is granted to anyone to use this software for any purpose,
- including commercial applications, and to alter it and redistribute it
- freely, subject to the following restrictions:
-
- 1. The origin of this software must not be misrepresented; you must not
- claim that you wrote the original software. If you use this software
- in a product, an acknowledgment in the product documentation would be
- appreciated but is not required.
- 2. Altered source versions must be plainly marked as such, and must not be
- misrepresented as being the original software.
- 3. This notice may not be removed or altered from any source distribution.
-
- Jean-loup Gailly Mark Adler
- jloup at gzip.org madler at alumni.caltech.edu
-
-
- The data format used by the zlib library is described by RFCs (Request for
- Comments) 1950 to 1952 in the files http://www.ietf.org/rfc/rfc1950.txt
- (zlib format), rfc1951.txt (deflate format) and rfc1952.txt (gzip format).
-*/
-
-#ifndef ZLIB_H
-#define ZLIB_H
-
-#include "zconf.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define ZLIB_VERSION "1.2.3"
-#define ZLIB_VERNUM 0x1230
-
-/*
- The 'zlib' compression library provides in-memory compression and
- decompression functions, including integrity checks of the uncompressed
- data. This version of the library supports only one compression method
- (deflation) but other algorithms will be added later and will have the same
- stream interface.
-
- Compression can be done in a single step if the buffers are large
- enough (for example if an input file is mmap'ed), or can be done by
- repeated calls of the compression function. In the latter case, the
- application must provide more input and/or consume the output
- (providing more output space) before each call.
-
- The compressed data format used by default by the in-memory functions is
- the zlib format, which is a zlib wrapper documented in RFC 1950, wrapped
- around a deflate stream, which is itself documented in RFC 1951.
-
- The library also supports reading and writing files in gzip (.gz) format
- with an interface similar to that of stdio using the functions that start
- with "gz". The gzip format is different from the zlib format. gzip is a
- gzip wrapper, documented in RFC 1952, wrapped around a deflate stream.
-
- This library can optionally read and write gzip streams in memory as well.
-
- The zlib format was designed to be compact and fast for use in memory
- and on communications channels. The gzip format was designed for single-
- file compression on file systems, has a larger header than zlib to maintain
- directory information, and uses a different, slower check method than zlib.
-
- The library does not install any signal handler. The decoder checks
- the consistency of the compressed data, so the library should never
- crash even in case of corrupted input.
-*/
-
-typedef voidpf (*alloc_func) OF((voidpf opaque, uInt items, uInt size));
-typedef void (*free_func) OF((voidpf opaque, voidpf address));
-
-struct internal_state;
-
-typedef struct z_stream_s {
- Bytef *next_in; /* next input byte */
- uInt avail_in; /* number of bytes available at next_in */
- uLong total_in; /* total nb of input bytes read so far */
-
- Bytef *next_out; /* next output byte should be put there */
- uInt avail_out; /* remaining free space at next_out */
- uLong total_out; /* total nb of bytes output so far */
-
- char *msg; /* last error message, NULL if no error */
- struct internal_state FAR *state; /* not visible by applications */
-
- alloc_func zalloc; /* used to allocate the internal state */
- free_func zfree; /* used to free the internal state */
- voidpf opaque; /* private data object passed to zalloc and zfree */
-
- int data_type; /* best guess about the data type: binary or text */
- uLong adler; /* adler32 value of the uncompressed data */
- uLong reserved; /* reserved for future use */
-} z_stream;
-
-typedef z_stream FAR *z_streamp;
-
-/*
- gzip header information passed to and from zlib routines. See RFC 1952
- for more details on the meanings of these fields.
-*/
-typedef struct gz_header_s {
- int text; /* true if compressed data believed to be text */
- uLong time; /* modification time */
- int xflags; /* extra flags (not used when writing a gzip file) */
- int os; /* operating system */
- Bytef *extra; /* pointer to extra field or Z_NULL if none */
- uInt extra_len; /* extra field length (valid if extra != Z_NULL) */
- uInt extra_max; /* space at extra (only when reading header) */
- Bytef *name; /* pointer to zero-terminated file name or Z_NULL */
- uInt name_max; /* space at name (only when reading header) */
- Bytef *comment; /* pointer to zero-terminated comment or Z_NULL */
- uInt comm_max; /* space at comment (only when reading header) */
- int hcrc; /* true if there was or will be a header crc */
- int done; /* true when done reading gzip header (not used
- when writing a gzip file) */
-} gz_header;
-
-typedef gz_header FAR *gz_headerp;
-
-/*
- The application must update next_in and avail_in when avail_in has
- dropped to zero. It must update next_out and avail_out when avail_out
- has dropped to zero. The application must initialize zalloc, zfree and
- opaque before calling the init function. All other fields are set by the
- compression library and must not be updated by the application.
-
- The opaque value provided by the application will be passed as the first
- parameter for calls of zalloc and zfree. This can be useful for custom
- memory management. The compression library attaches no meaning to the
- opaque value.
-
- zalloc must return Z_NULL if there is not enough memory for the object.
- If zlib is used in a multi-threaded application, zalloc and zfree must be
- thread safe.
-
- On 16-bit systems, the functions zalloc and zfree must be able to allocate
- exactly 65536 bytes, but will not be required to allocate more than this
- if the symbol MAXSEG_64K is defined (see zconf.h). WARNING: On MSDOS,
- pointers returned by zalloc for objects of exactly 65536 bytes *must*
- have their offset normalized to zero. The default allocation function
- provided by this library ensures this (see zutil.c). To reduce memory
- requirements and avoid any allocation of 64K objects, at the expense of
- compression ratio, compile the library with -DMAX_WBITS=14 (see zconf.h).
-
- The fields total_in and total_out can be used for statistics or
- progress reports. After compression, total_in holds the total size of
- the uncompressed data and may be saved for use in the decompressor
- (particularly if the decompressor wants to decompress everything in
- a single step).
-*/
-
- /* constants */
-
-#define Z_NO_FLUSH 0
-#define Z_PARTIAL_FLUSH 1 /* will be removed, use Z_SYNC_FLUSH instead */
-#define Z_SYNC_FLUSH 2
-#define Z_FULL_FLUSH 3
-#define Z_FINISH 4
-#define Z_BLOCK 5
-/* Allowed flush values; see deflate() and inflate() below for details */
-
-#define Z_OK 0
-#define Z_STREAM_END 1
-#define Z_NEED_DICT 2
-#define Z_ERRNO (-1)
-#define Z_STREAM_ERROR (-2)
-#define Z_DATA_ERROR (-3)
-#define Z_MEM_ERROR (-4)
-#define Z_BUF_ERROR (-5)
-#define Z_VERSION_ERROR (-6)
-/* Return codes for the compression/decompression functions. Negative
- * values are errors, positive values are used for special but normal events.
- */
-
-#define Z_NO_COMPRESSION 0
-#define Z_BEST_SPEED 1
-#define Z_BEST_COMPRESSION 9
-#define Z_DEFAULT_COMPRESSION (-1)
-/* compression levels */
-
-#define Z_FILTERED 1
-#define Z_HUFFMAN_ONLY 2
-#define Z_RLE 3
-#define Z_FIXED 4
-#define Z_DEFAULT_STRATEGY 0
-/* compression strategy; see deflateInit2() below for details */
-
-#define Z_BINARY 0
-#define Z_TEXT 1
-#define Z_ASCII Z_TEXT /* for compatibility with 1.2.2 and earlier */
-#define Z_UNKNOWN 2
-/* Possible values of the data_type field (though see inflate()) */
-
-#define Z_DEFLATED 8
-/* The deflate compression method (the only one supported in this version) */
-
-#define Z_NULL 0 /* for initializing zalloc, zfree, opaque */
-
-#define zlib_version zlibVersion()
-/* for compatibility with versions < 1.0.2 */
-
- /* basic functions */
-
-ZEXTERN const char * ZEXPORT zlibVersion OF((void));
-/* The application can compare zlibVersion and ZLIB_VERSION for consistency.
- If the first character differs, the library code actually used is
- not compatible with the zlib.h header file used by the application.
- This check is automatically made by deflateInit and inflateInit.
- */
-
-/*
-ZEXTERN int ZEXPORT deflateInit OF((z_streamp strm, int level));
-
- Initializes the internal stream state for compression. The fields
- zalloc, zfree and opaque must be initialized before by the caller.
- If zalloc and zfree are set to Z_NULL, deflateInit updates them to
- use default allocation functions.
-
- The compression level must be Z_DEFAULT_COMPRESSION, or between 0 and 9:
- 1 gives best speed, 9 gives best compression, 0 gives no compression at
- all (the input data is simply copied a block at a time).
- Z_DEFAULT_COMPRESSION requests a default compromise between speed and
- compression (currently equivalent to level 6).
-
- deflateInit returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_STREAM_ERROR if level is not a valid compression level,
- Z_VERSION_ERROR if the zlib library version (zlib_version) is incompatible
- with the version assumed by the caller (ZLIB_VERSION).
- msg is set to null if there is no error message. deflateInit does not
- perform any compression: this will be done by deflate().
-*/
-
-
-ZEXTERN int ZEXPORT deflate OF((z_streamp strm, int flush));
-/*
- deflate compresses as much data as possible, and stops when the input
- buffer becomes empty or the output buffer becomes full. It may introduce some
- output latency (reading input without producing any output) except when
- forced to flush.
-
- The detailed semantics are as follows. deflate performs one or both of the
- following actions:
-
- - Compress more input starting at next_in and update next_in and avail_in
- accordingly. If not all input can be processed (because there is not
- enough room in the output buffer), next_in and avail_in are updated and
- processing will resume at this point for the next call of deflate().
-
- - Provide more output starting at next_out and update next_out and avail_out
- accordingly. This action is forced if the parameter flush is non zero.
- Forcing flush frequently degrades the compression ratio, so this parameter
- should be set only when necessary (in interactive applications).
- Some output may be provided even if flush is not set.
-
- Before the call of deflate(), the application should ensure that at least
- one of the actions is possible, by providing more input and/or consuming
- more output, and updating avail_in or avail_out accordingly; avail_out
- should never be zero before the call. The application can consume the
- compressed output when it wants, for example when the output buffer is full
- (avail_out == 0), or after each call of deflate(). If deflate returns Z_OK
- and with zero avail_out, it must be called again after making room in the
- output buffer because there might be more output pending.
-
- Normally the parameter flush is set to Z_NO_FLUSH, which allows deflate to
- decide how much data to accumualte before producing output, in order to
- maximize compression.
-
- If the parameter flush is set to Z_SYNC_FLUSH, all pending output is
- flushed to the output buffer and the output is aligned on a byte boundary, so
- that the decompressor can get all input data available so far. (In particular
- avail_in is zero after the call if enough output space has been provided
- before the call.) Flushing may degrade compression for some compression
- algorithms and so it should be used only when necessary.
-
- If flush is set to Z_FULL_FLUSH, all output is flushed as with
- Z_SYNC_FLUSH, and the compression state is reset so that decompression can
- restart from this point if previous compressed data has been damaged or if
- random access is desired. Using Z_FULL_FLUSH too often can seriously degrade
- compression.
-
- If deflate returns with avail_out == 0, this function must be called again
- with the same value of the flush parameter and more output space (updated
- avail_out), until the flush is complete (deflate returns with non-zero
- avail_out). In the case of a Z_FULL_FLUSH or Z_SYNC_FLUSH, make sure that
- avail_out is greater than six to avoid repeated flush markers due to
- avail_out == 0 on return.
-
- If the parameter flush is set to Z_FINISH, pending input is processed,
- pending output is flushed and deflate returns with Z_STREAM_END if there
- was enough output space; if deflate returns with Z_OK, this function must be
- called again with Z_FINISH and more output space (updated avail_out) but no
- more input data, until it returns with Z_STREAM_END or an error. After
- deflate has returned Z_STREAM_END, the only possible operations on the
- stream are deflateReset or deflateEnd.
-
- Z_FINISH can be used immediately after deflateInit if all the compression
- is to be done in a single step. In this case, avail_out must be at least
- the value returned by deflateBound (see below). If deflate does not return
- Z_STREAM_END, then it must be called again as described above.
-
- deflate() sets strm->adler to the adler32 checksum of all input read
- so far (that is, total_in bytes).
-
- deflate() may update strm->data_type if it can make a good guess about
- the input data type (Z_BINARY or Z_TEXT). In doubt, the data is considered
- binary. This field is only for information purposes and does not affect
- the compression algorithm in any manner.
-
- deflate() returns Z_OK if some progress has been made (more input
- processed or more output produced), Z_STREAM_END if all input has been
- consumed and all output has been produced (only when flush is set to
- Z_FINISH), Z_STREAM_ERROR if the stream state was inconsistent (for example
- if next_in or next_out was NULL), Z_BUF_ERROR if no progress is possible
- (for example avail_in or avail_out was zero). Note that Z_BUF_ERROR is not
- fatal, and deflate() can be called again with more input and more output
- space to continue compressing.
-*/
-
-
-ZEXTERN int ZEXPORT deflateEnd OF((z_streamp strm));
-/*
- All dynamically allocated data structures for this stream are freed.
- This function discards any unprocessed input and does not flush any
- pending output.
-
- deflateEnd returns Z_OK if success, Z_STREAM_ERROR if the
- stream state was inconsistent, Z_DATA_ERROR if the stream was freed
- prematurely (some input or output was discarded). In the error case,
- msg may be set but then points to a static string (which must not be
- deallocated).
-*/
-
-
-/*
-ZEXTERN int ZEXPORT inflateInit OF((z_streamp strm));
-
- Initializes the internal stream state for decompression. The fields
- next_in, avail_in, zalloc, zfree and opaque must be initialized before by
- the caller. If next_in is not Z_NULL and avail_in is large enough (the exact
- value depends on the compression method), inflateInit determines the
- compression method from the zlib header and allocates all data structures
- accordingly; otherwise the allocation will be deferred to the first call of
- inflate. If zalloc and zfree are set to Z_NULL, inflateInit updates them to
- use default allocation functions.
-
- inflateInit returns Z_OK if success, Z_MEM_ERROR if there was not enough
- memory, Z_VERSION_ERROR if the zlib library version is incompatible with the
- version assumed by the caller. msg is set to null if there is no error
- message. inflateInit does not perform any decompression apart from reading
- the zlib header if present: this will be done by inflate(). (So next_in and
- avail_in may be modified, but next_out and avail_out are unchanged.)
-*/
-
-
-ZEXTERN int ZEXPORT inflate OF((z_streamp strm, int flush));
-/*
- inflate decompresses as much data as possible, and stops when the input
- buffer becomes empty or the output buffer becomes full. It may introduce
- some output latency (reading input without producing any output) except when
- forced to flush.
-
- The detailed semantics are as follows. inflate performs one or both of the
- following actions:
-
- - Decompress more input starting at next_in and update next_in and avail_in
- accordingly. If not all input can be processed (because there is not
- enough room in the output buffer), next_in is updated and processing
- will resume at this point for the next call of inflate().
-
- - Provide more output starting at next_out and update next_out and avail_out
- accordingly. inflate() provides as much output as possible, until there
- is no more input data or no more space in the output buffer (see below
- about the flush parameter).
-
- Before the call of inflate(), the application should ensure that at least
- one of the actions is possible, by providing more input and/or consuming
- more output, and updating the next_* and avail_* values accordingly.
- The application can consume the uncompressed output when it wants, for
- example when the output buffer is full (avail_out == 0), or after each
- call of inflate(). If inflate returns Z_OK and with zero avail_out, it
- must be called again after making room in the output buffer because there
- might be more output pending.
-
- The flush parameter of inflate() can be Z_NO_FLUSH, Z_SYNC_FLUSH,
- Z_FINISH, or Z_BLOCK. Z_SYNC_FLUSH requests that inflate() flush as much
- output as possible to the output buffer. Z_BLOCK requests that inflate() stop
- if and when it gets to the next deflate block boundary. When decoding the
- zlib or gzip format, this will cause inflate() to return immediately after
- the header and before the first block. When doing a raw inflate, inflate()
- will go ahead and process the first block, and will return when it gets to
- the end of that block, or when it runs out of data.
-
- The Z_BLOCK option assists in appending to or combining deflate streams.
- Also to assist in this, on return inflate() will set strm->data_type to the
- number of unused bits in the last byte taken from strm->next_in, plus 64
- if inflate() is currently decoding the last block in the deflate stream,
- plus 128 if inflate() returned immediately after decoding an end-of-block
- code or decoding the complete header up to just before the first byte of the
- deflate stream. The end-of-block will not be indicated until all of the
- uncompressed data from that block has been written to strm->next_out. The
- number of unused bits may in general be greater than seven, except when
- bit 7 of data_type is set, in which case the number of unused bits will be
- less than eight.
-
- inflate() should normally be called until it returns Z_STREAM_END or an
- error. However if all decompression is to be performed in a single step
- (a single call of inflate), the parameter flush should be set to
- Z_FINISH. In this case all pending input is processed and all pending
- output is flushed; avail_out must be large enough to hold all the
- uncompressed data. (The size of the uncompressed data may have been saved
- by the compressor for this purpose.) The next operation on this stream must
- be inflateEnd to deallocate the decompression state. The use of Z_FINISH
- is never required, but can be used to inform inflate that a faster approach
- may be used for the single inflate() call.
-
- In this implementation, inflate() always flushes as much output as
- possible to the output buffer, and always uses the faster approach on the
- first call. So the only effect of the flush parameter in this implementation
- is on the return value of inflate(), as noted below, or when it returns early
- because Z_BLOCK is used.
-
- If a preset dictionary is needed after this call (see inflateSetDictionary
- below), inflate sets strm->adler to the adler32 checksum of the dictionary
- chosen by the compressor and returns Z_NEED_DICT; otherwise it sets
- strm->adler to the adler32 checksum of all output produced so far (that is,
- total_out bytes) and returns Z_OK, Z_STREAM_END or an error code as described
- below. At the end of the stream, inflate() checks that its computed adler32
- checksum is equal to that saved by the compressor and returns Z_STREAM_END
- only if the checksum is correct.
-
- inflate() will decompress and check either zlib-wrapped or gzip-wrapped
- deflate data. The header type is detected automatically. Any information
- contained in the gzip header is not retained, so applications that need that
- information should instead use raw inflate, see inflateInit2() below, or
- inflateBack() and perform their own processing of the gzip header and
- trailer.
-
- inflate() returns Z_OK if some progress has been made (more input processed
- or more output produced), Z_STREAM_END if the end of the compressed data has
- been reached and all uncompressed output has been produced, Z_NEED_DICT if a
- preset dictionary is needed at this point, Z_DATA_ERROR if the input data was
- corrupted (input stream not conforming to the zlib format or incorrect check
- value), Z_STREAM_ERROR if the stream structure was inconsistent (for example
- if next_in or next_out was NULL), Z_MEM_ERROR if there was not enough memory,
- Z_BUF_ERROR if no progress is possible or if there was not enough room in the
- output buffer when Z_FINISH is used. Note that Z_BUF_ERROR is not fatal, and
- inflate() can be called again with more input and more output space to
- continue decompressing. If Z_DATA_ERROR is returned, the application may then
- call inflateSync() to look for a good compression block if a partial recovery
- of the data is desired.
-*/
-
-
-ZEXTERN int ZEXPORT inflateEnd OF((z_streamp strm));
-/*
- All dynamically allocated data structures for this stream are freed.
- This function discards any unprocessed input and does not flush any
- pending output.
-
- inflateEnd returns Z_OK if success, Z_STREAM_ERROR if the stream state
- was inconsistent. In the error case, msg may be set but then points to a
- static string (which must not be deallocated).
-*/
-
- /* Advanced functions */
-
-/*
- The following functions are needed only in some special applications.
-*/
-
-/*
-ZEXTERN int ZEXPORT deflateInit2 OF((z_streamp strm,
- int level,
- int method,
- int windowBits,
- int memLevel,
- int strategy));
-
- This is another version of deflateInit with more compression options. The
- fields next_in, zalloc, zfree and opaque must be initialized before by
- the caller.
-
- The method parameter is the compression method. It must be Z_DEFLATED in
- this version of the library.
-
- The windowBits parameter is the base two logarithm of the window size
- (the size of the history buffer). It should be in the range 8..15 for this
- version of the library. Larger values of this parameter result in better
- compression at the expense of memory usage. The default value is 15 if
- deflateInit is used instead.
-
- windowBits can also be -8..-15 for raw deflate. In this case, -windowBits
- determines the window size. deflate() will then generate raw deflate data
- with no zlib header or trailer, and will not compute an adler32 check value.
-
- windowBits can also be greater than 15 for optional gzip encoding. Add
- 16 to windowBits to write a simple gzip header and trailer around the
- compressed data instead of a zlib wrapper. The gzip header will have no
- file name, no extra data, no comment, no modification time (set to zero),
- no header crc, and the operating system will be set to 255 (unknown). If a
- gzip stream is being written, strm->adler is a crc32 instead of an adler32.
-
- The memLevel parameter specifies how much memory should be allocated
- for the internal compression state. memLevel=1 uses minimum memory but
- is slow and reduces compression ratio; memLevel=9 uses maximum memory
- for optimal speed. The default value is 8. See zconf.h for total memory
- usage as a function of windowBits and memLevel.
-
- The strategy parameter is used to tune the compression algorithm. Use the
- value Z_DEFAULT_STRATEGY for normal data, Z_FILTERED for data produced by a
- filter (or predictor), Z_HUFFMAN_ONLY to force Huffman encoding only (no
- string match), or Z_RLE to limit match distances to one (run-length
- encoding). Filtered data consists mostly of small values with a somewhat
- random distribution. In this case, the compression algorithm is tuned to
- compress them better. The effect of Z_FILTERED is to force more Huffman
- coding and less string matching; it is somewhat intermediate between
- Z_DEFAULT and Z_HUFFMAN_ONLY. Z_RLE is designed to be almost as fast as
- Z_HUFFMAN_ONLY, but give better compression for PNG image data. The strategy
- parameter only affects the compression ratio but not the correctness of the
- compressed output even if it is not set appropriately. Z_FIXED prevents the
- use of dynamic Huffman codes, allowing for a simpler decoder for special
- applications.
-
- deflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
- memory, Z_STREAM_ERROR if a parameter is invalid (such as an invalid
- method). msg is set to null if there is no error message. deflateInit2 does
- not perform any compression: this will be done by deflate().
-*/
-
-ZEXTERN int ZEXPORT deflateSetDictionary OF((z_streamp strm,
- const Bytef *dictionary,
- uInt dictLength));
-/*
- Initializes the compression dictionary from the given byte sequence
- without producing any compressed output. This function must be called
- immediately after deflateInit, deflateInit2 or deflateReset, before any
- call of deflate. The compressor and decompressor must use exactly the same
- dictionary (see inflateSetDictionary).
-
- The dictionary should consist of strings (byte sequences) that are likely
- to be encountered later in the data to be compressed, with the most commonly
- used strings preferably put towards the end of the dictionary. Using a
- dictionary is most useful when the data to be compressed is short and can be
- predicted with good accuracy; the data can then be compressed better than
- with the default empty dictionary.
-
- Depending on the size of the compression data structures selected by
- deflateInit or deflateInit2, a part of the dictionary may in effect be
- discarded, for example if the dictionary is larger than the window size in
- deflate or deflate2. Thus the strings most likely to be useful should be
- put at the end of the dictionary, not at the front. In addition, the
- current implementation of deflate will use at most the window size minus
- 262 bytes of the provided dictionary.
-
- Upon return of this function, strm->adler is set to the adler32 value
- of the dictionary; the decompressor may later use this value to determine
- which dictionary has been used by the compressor. (The adler32 value
- applies to the whole dictionary even if only a subset of the dictionary is
- actually used by the compressor.) If a raw deflate was requested, then the
- adler32 value is not computed and strm->adler is not set.
-
- deflateSetDictionary returns Z_OK if success, or Z_STREAM_ERROR if a
- parameter is invalid (such as NULL dictionary) or the stream state is
- inconsistent (for example if deflate has already been called for this stream
- or if the compression method is bsort). deflateSetDictionary does not
- perform any compression: this will be done by deflate().
-*/
-
-ZEXTERN int ZEXPORT deflateCopy OF((z_streamp dest,
- z_streamp source));
-/*
- Sets the destination stream as a complete copy of the source stream.
-
- This function can be useful when several compression strategies will be
- tried, for example when there are several ways of pre-processing the input
- data with a filter. The streams that will be discarded should then be freed
- by calling deflateEnd. Note that deflateCopy duplicates the internal
- compression state which can be quite large, so this strategy is slow and
- can consume lots of memory.
-
- deflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_STREAM_ERROR if the source stream state was inconsistent
- (such as zalloc being NULL). msg is left unchanged in both source and
- destination.
-*/
-
-ZEXTERN int ZEXPORT deflateReset OF((z_streamp strm));
-/*
- This function is equivalent to deflateEnd followed by deflateInit,
- but does not free and reallocate all the internal compression state.
- The stream will keep the same compression level and any other attributes
- that may have been set by deflateInit2.
-
- deflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source
- stream state was inconsistent (such as zalloc or state being NULL).
-*/
-
-ZEXTERN int ZEXPORT deflateParams OF((z_streamp strm,
- int level,
- int strategy));
-/*
- Dynamically update the compression level and compression strategy. The
- interpretation of level and strategy is as in deflateInit2. This can be
- used to switch between compression and straight copy of the input data, or
- to switch to a different kind of input data requiring a different
- strategy. If the compression level is changed, the input available so far
- is compressed with the old level (and may be flushed); the new level will
- take effect only at the next call of deflate().
-
- Before the call of deflateParams, the stream state must be set as for
- a call of deflate(), since the currently available input may have to
- be compressed and flushed. In particular, strm->avail_out must be non-zero.
-
- deflateParams returns Z_OK if success, Z_STREAM_ERROR if the source
- stream state was inconsistent or if a parameter was invalid, Z_BUF_ERROR
- if strm->avail_out was zero.
-*/
-
-ZEXTERN int ZEXPORT deflateTune OF((z_streamp strm,
- int good_length,
- int max_lazy,
- int nice_length,
- int max_chain));
-/*
- Fine tune deflate's internal compression parameters. This should only be
- used by someone who understands the algorithm used by zlib's deflate for
- searching for the best matching string, and even then only by the most
- fanatic optimizer trying to squeeze out the last compressed bit for their
- specific input data. Read the deflate.c source code for the meaning of the
- max_lazy, good_length, nice_length, and max_chain parameters.
-
- deflateTune() can be called after deflateInit() or deflateInit2(), and
- returns Z_OK on success, or Z_STREAM_ERROR for an invalid deflate stream.
- */
-
-ZEXTERN uLong ZEXPORT deflateBound OF((z_streamp strm,
- uLong sourceLen));
-/*
- deflateBound() returns an upper bound on the compressed size after
- deflation of sourceLen bytes. It must be called after deflateInit()
- or deflateInit2(). This would be used to allocate an output buffer
- for deflation in a single pass, and so would be called before deflate().
-*/
-
-ZEXTERN int ZEXPORT deflatePrime OF((z_streamp strm,
- int bits,
- int value));
-/*
- deflatePrime() inserts bits in the deflate output stream. The intent
- is that this function is used to start off the deflate output with the
- bits leftover from a previous deflate stream when appending to it. As such,
- this function can only be used for raw deflate, and must be used before the
- first deflate() call after a deflateInit2() or deflateReset(). bits must be
- less than or equal to 16, and that many of the least significant bits of
- value will be inserted in the output.
-
- deflatePrime returns Z_OK if success, or Z_STREAM_ERROR if the source
- stream state was inconsistent.
-*/
-
-ZEXTERN int ZEXPORT deflateSetHeader OF((z_streamp strm,
- gz_headerp head));
-/*
- deflateSetHeader() provides gzip header information for when a gzip
- stream is requested by deflateInit2(). deflateSetHeader() may be called
- after deflateInit2() or deflateReset() and before the first call of
- deflate(). The text, time, os, extra field, name, and comment information
- in the provided gz_header structure are written to the gzip header (xflag is
- ignored -- the extra flags are set according to the compression level). The
- caller must assure that, if not Z_NULL, name and comment are terminated with
- a zero byte, and that if extra is not Z_NULL, that extra_len bytes are
- available there. If hcrc is true, a gzip header crc is included. Note that
- the current versions of the command-line version of gzip (up through version
- 1.3.x) do not support header crc's, and will report that it is a "multi-part
- gzip file" and give up.
-
- If deflateSetHeader is not used, the default gzip header has text false,
- the time set to zero, and os set to 255, with no extra, name, or comment
- fields. The gzip header is returned to the default state by deflateReset().
-
- deflateSetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source
- stream state was inconsistent.
-*/
-
-/*
-ZEXTERN int ZEXPORT inflateInit2 OF((z_streamp strm,
- int windowBits));
-
- This is another version of inflateInit with an extra parameter. The
- fields next_in, avail_in, zalloc, zfree and opaque must be initialized
- before by the caller.
-
- The windowBits parameter is the base two logarithm of the maximum window
- size (the size of the history buffer). It should be in the range 8..15 for
- this version of the library. The default value is 15 if inflateInit is used
- instead. windowBits must be greater than or equal to the windowBits value
- provided to deflateInit2() while compressing, or it must be equal to 15 if
- deflateInit2() was not used. If a compressed stream with a larger window
- size is given as input, inflate() will return with the error code
- Z_DATA_ERROR instead of trying to allocate a larger window.
-
- windowBits can also be -8..-15 for raw inflate. In this case, -windowBits
- determines the window size. inflate() will then process raw deflate data,
- not looking for a zlib or gzip header, not generating a check value, and not
- looking for any check values for comparison at the end of the stream. This
- is for use with other formats that use the deflate compressed data format
- such as zip. Those formats provide their own check values. If a custom
- format is developed using the raw deflate format for compressed data, it is
- recommended that a check value such as an adler32 or a crc32 be applied to
- the uncompressed data as is done in the zlib, gzip, and zip formats. For
- most applications, the zlib format should be used as is. Note that comments
- above on the use in deflateInit2() applies to the magnitude of windowBits.
-
- windowBits can also be greater than 15 for optional gzip decoding. Add
- 32 to windowBits to enable zlib and gzip decoding with automatic header
- detection, or add 16 to decode only the gzip format (the zlib format will
- return a Z_DATA_ERROR). If a gzip stream is being decoded, strm->adler is
- a crc32 instead of an adler32.
-
- inflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
- memory, Z_STREAM_ERROR if a parameter is invalid (such as a null strm). msg
- is set to null if there is no error message. inflateInit2 does not perform
- any decompression apart from reading the zlib header if present: this will
- be done by inflate(). (So next_in and avail_in may be modified, but next_out
- and avail_out are unchanged.)
-*/
-
-ZEXTERN int ZEXPORT inflateSetDictionary OF((z_streamp strm,
- const Bytef *dictionary,
- uInt dictLength));
-/*
- Initializes the decompression dictionary from the given uncompressed byte
- sequence. This function must be called immediately after a call of inflate,
- if that call returned Z_NEED_DICT. The dictionary chosen by the compressor
- can be determined from the adler32 value returned by that call of inflate.
- The compressor and decompressor must use exactly the same dictionary (see
- deflateSetDictionary). For raw inflate, this function can be called
- immediately after inflateInit2() or inflateReset() and before any call of
- inflate() to set the dictionary. The application must insure that the
- dictionary that was used for compression is provided.
-
- inflateSetDictionary returns Z_OK if success, Z_STREAM_ERROR if a
- parameter is invalid (such as NULL dictionary) or the stream state is
- inconsistent, Z_DATA_ERROR if the given dictionary doesn't match the
- expected one (incorrect adler32 value). inflateSetDictionary does not
- perform any decompression: this will be done by subsequent calls of
- inflate().
-*/
-
-ZEXTERN int ZEXPORT inflateSync OF((z_streamp strm));
-/*
- Skips invalid compressed data until a full flush point (see above the
- description of deflate with Z_FULL_FLUSH) can be found, or until all
- available input is skipped. No output is provided.
-
- inflateSync returns Z_OK if a full flush point has been found, Z_BUF_ERROR
- if no more input was provided, Z_DATA_ERROR if no flush point has been found,
- or Z_STREAM_ERROR if the stream structure was inconsistent. In the success
- case, the application may save the current current value of total_in which
- indicates where valid compressed data was found. In the error case, the
- application may repeatedly call inflateSync, providing more input each time,
- until success or end of the input data.
-*/
-
-ZEXTERN int ZEXPORT inflateCopy OF((z_streamp dest,
- z_streamp source));
-/*
- Sets the destination stream as a complete copy of the source stream.
-
- This function can be useful when randomly accessing a large stream. The
- first pass through the stream can periodically record the inflate state,
- allowing restarting inflate at those points when randomly accessing the
- stream.
-
- inflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_STREAM_ERROR if the source stream state was inconsistent
- (such as zalloc being NULL). msg is left unchanged in both source and
- destination.
-*/
-
-ZEXTERN int ZEXPORT inflateReset OF((z_streamp strm));
-/*
- This function is equivalent to inflateEnd followed by inflateInit,
- but does not free and reallocate all the internal decompression state.
- The stream will keep attributes that may have been set by inflateInit2.
-
- inflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source
- stream state was inconsistent (such as zalloc or state being NULL).
-*/
-
-ZEXTERN int ZEXPORT inflatePrime OF((z_streamp strm,
- int bits,
- int value));
-/*
- This function inserts bits in the inflate input stream. The intent is
- that this function is used to start inflating at a bit position in the
- middle of a byte. The provided bits will be used before any bytes are used
- from next_in. This function should only be used with raw inflate, and
- should be used before the first inflate() call after inflateInit2() or
- inflateReset(). bits must be less than or equal to 16, and that many of the
- least significant bits of value will be inserted in the input.
-
- inflatePrime returns Z_OK if success, or Z_STREAM_ERROR if the source
- stream state was inconsistent.
-*/
-
-ZEXTERN int ZEXPORT inflateGetHeader OF((z_streamp strm,
- gz_headerp head));
-/*
- inflateGetHeader() requests that gzip header information be stored in the
- provided gz_header structure. inflateGetHeader() may be called after
- inflateInit2() or inflateReset(), and before the first call of inflate().
- As inflate() processes the gzip stream, head->done is zero until the header
- is completed, at which time head->done is set to one. If a zlib stream is
- being decoded, then head->done is set to -1 to indicate that there will be
- no gzip header information forthcoming. Note that Z_BLOCK can be used to
- force inflate() to return immediately after header processing is complete
- and before any actual data is decompressed.
-
- The text, time, xflags, and os fields are filled in with the gzip header
- contents. hcrc is set to true if there is a header CRC. (The header CRC
- was valid if done is set to one.) If extra is not Z_NULL, then extra_max
- contains the maximum number of bytes to write to extra. Once done is true,
- extra_len contains the actual extra field length, and extra contains the
- extra field, or that field truncated if extra_max is less than extra_len.
- If name is not Z_NULL, then up to name_max characters are written there,
- terminated with a zero unless the length is greater than name_max. If
- comment is not Z_NULL, then up to comm_max characters are written there,
- terminated with a zero unless the length is greater than comm_max. When
- any of extra, name, or comment are not Z_NULL and the respective field is
- not present in the header, then that field is set to Z_NULL to signal its
- absence. This allows the use of deflateSetHeader() with the returned
- structure to duplicate the header. However if those fields are set to
- allocated memory, then the application will need to save those pointers
- elsewhere so that they can be eventually freed.
-
- If inflateGetHeader is not used, then the header information is simply
- discarded. The header is always checked for validity, including the header
- CRC if present. inflateReset() will reset the process to discard the header
- information. The application would need to call inflateGetHeader() again to
- retrieve the header from the next gzip stream.
-
- inflateGetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source
- stream state was inconsistent.
-*/
-
-/*
-ZEXTERN int ZEXPORT inflateBackInit OF((z_streamp strm, int windowBits,
- unsigned char FAR *window));
-
- Initialize the internal stream state for decompression using inflateBack()
- calls. The fields zalloc, zfree and opaque in strm must be initialized
- before the call. If zalloc and zfree are Z_NULL, then the default library-
- derived memory allocation routines are used. windowBits is the base two
- logarithm of the window size, in the range 8..15. window is a caller
- supplied buffer of that size. Except for special applications where it is
- assured that deflate was used with small window sizes, windowBits must be 15
- and a 32K byte window must be supplied to be able to decompress general
- deflate streams.
-
- See inflateBack() for the usage of these routines.
-
- inflateBackInit will return Z_OK on success, Z_STREAM_ERROR if any of
- the paramaters are invalid, Z_MEM_ERROR if the internal state could not
- be allocated, or Z_VERSION_ERROR if the version of the library does not
- match the version of the header file.
-*/
-
-typedef unsigned (*in_func) OF((void FAR *, unsigned char FAR * FAR *));
-typedef int (*out_func) OF((void FAR *, unsigned char FAR *, unsigned));
-
-ZEXTERN int ZEXPORT inflateBack OF((z_streamp strm,
- in_func in, void FAR *in_desc,
- out_func out, void FAR *out_desc));
-/*
- inflateBack() does a raw inflate with a single call using a call-back
- interface for input and output. This is more efficient than inflate() for
- file i/o applications in that it avoids copying between the output and the
- sliding window by simply making the window itself the output buffer. This
- function trusts the application to not change the output buffer passed by
- the output function, at least until inflateBack() returns.
-
- inflateBackInit() must be called first to allocate the internal state
- and to initialize the state with the user-provided window buffer.
- inflateBack() may then be used multiple times to inflate a complete, raw
- deflate stream with each call. inflateBackEnd() is then called to free
- the allocated state.
-
- A raw deflate stream is one with no zlib or gzip header or trailer.
- This routine would normally be used in a utility that reads zip or gzip
- files and writes out uncompressed files. The utility would decode the
- header and process the trailer on its own, hence this routine expects
- only the raw deflate stream to decompress. This is different from the
- normal behavior of inflate(), which expects either a zlib or gzip header and
- trailer around the deflate stream.
-
- inflateBack() uses two subroutines supplied by the caller that are then
- called by inflateBack() for input and output. inflateBack() calls those
- routines until it reads a complete deflate stream and writes out all of the
- uncompressed data, or until it encounters an error. The function's
- parameters and return types are defined above in the in_func and out_func
- typedefs. inflateBack() will call in(in_desc, &buf) which should return the
- number of bytes of provided input, and a pointer to that input in buf. If
- there is no input available, in() must return zero--buf is ignored in that
- case--and inflateBack() will return a buffer error. inflateBack() will call
- out(out_desc, buf, len) to write the uncompressed data buf[0..len-1]. out()
- should return zero on success, or non-zero on failure. If out() returns
- non-zero, inflateBack() will return with an error. Neither in() nor out()
- are permitted to change the contents of the window provided to
- inflateBackInit(), which is also the buffer that out() uses to write from.
- The length written by out() will be at most the window size. Any non-zero
- amount of input may be provided by in().
-
- For convenience, inflateBack() can be provided input on the first call by
- setting strm->next_in and strm->avail_in. If that input is exhausted, then
- in() will be called. Therefore strm->next_in must be initialized before
- calling inflateBack(). If strm->next_in is Z_NULL, then in() will be called
- immediately for input. If strm->next_in is not Z_NULL, then strm->avail_in
- must also be initialized, and then if strm->avail_in is not zero, input will
- initially be taken from strm->next_in[0 .. strm->avail_in - 1].
-
- The in_desc and out_desc parameters of inflateBack() is passed as the
- first parameter of in() and out() respectively when they are called. These
- descriptors can be optionally used to pass any information that the caller-
- supplied in() and out() functions need to do their job.
-
- On return, inflateBack() will set strm->next_in and strm->avail_in to
- pass back any unused input that was provided by the last in() call. The
- return values of inflateBack() can be Z_STREAM_END on success, Z_BUF_ERROR
- if in() or out() returned an error, Z_DATA_ERROR if there was a format
- error in the deflate stream (in which case strm->msg is set to indicate the
- nature of the error), or Z_STREAM_ERROR if the stream was not properly
- initialized. In the case of Z_BUF_ERROR, an input or output error can be
- distinguished using strm->next_in which will be Z_NULL only if in() returned
- an error. If strm->next is not Z_NULL, then the Z_BUF_ERROR was due to
- out() returning non-zero. (in() will always be called before out(), so
- strm->next_in is assured to be defined if out() returns non-zero.) Note
- that inflateBack() cannot return Z_OK.
-*/
-
-ZEXTERN int ZEXPORT inflateBackEnd OF((z_streamp strm));
-/*
- All memory allocated by inflateBackInit() is freed.
-
- inflateBackEnd() returns Z_OK on success, or Z_STREAM_ERROR if the stream
- state was inconsistent.
-*/
-
-ZEXTERN uLong ZEXPORT zlibCompileFlags OF((void));
-/* Return flags indicating compile-time options.
-
- Type sizes, two bits each, 00 = 16 bits, 01 = 32, 10 = 64, 11 = other:
- 1.0: size of uInt
- 3.2: size of uLong
- 5.4: size of voidpf (pointer)
- 7.6: size of z_off_t
-
- Compiler, assembler, and debug options:
- 8: DEBUG
- 9: ASMV or ASMINF -- use ASM code
- 10: ZLIB_WINAPI -- exported functions use the WINAPI calling convention
- 11: 0 (reserved)
-
- One-time table building (smaller code, but not thread-safe if true):
- 12: BUILDFIXED -- build static block decoding tables when needed
- 13: DYNAMIC_CRC_TABLE -- build CRC calculation tables when needed
- 14,15: 0 (reserved)
-
- Library content (indicates missing functionality):
- 16: NO_GZCOMPRESS -- gz* functions cannot compress (to avoid linking
- deflate code when not needed)
- 17: NO_GZIP -- deflate can't write gzip streams, and inflate can't detect
- and decode gzip streams (to avoid linking crc code)
- 18-19: 0 (reserved)
-
- Operation variations (changes in library functionality):
- 20: PKZIP_BUG_WORKAROUND -- slightly more permissive inflate
- 21: FASTEST -- deflate algorithm with only one, lowest compression level
- 22,23: 0 (reserved)
-
- The sprintf variant used by gzprintf (zero is best):
- 24: 0 = vs*, 1 = s* -- 1 means limited to 20 arguments after the format
- 25: 0 = *nprintf, 1 = *printf -- 1 means gzprintf() not secure!
- 26: 0 = returns value, 1 = void -- 1 means inferred string length returned
-
- Remainder:
- 27-31: 0 (reserved)
- */
-
-
- /* utility functions */
-
-/*
- The following utility functions are implemented on top of the
- basic stream-oriented functions. To simplify the interface, some
- default options are assumed (compression level and memory usage,
- standard memory allocation functions). The source code of these
- utility functions can easily be modified if you need special options.
-*/
-
-ZEXTERN int ZEXPORT compress OF((Bytef *dest, uLongf *destLen,
- const Bytef *source, uLong sourceLen));
-/*
- Compresses the source buffer into the destination buffer. sourceLen is
- the byte length of the source buffer. Upon entry, destLen is the total
- size of the destination buffer, which must be at least the value returned
- by compressBound(sourceLen). Upon exit, destLen is the actual size of the
- compressed buffer.
- This function can be used to compress a whole file at once if the
- input file is mmap'ed.
- compress returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_BUF_ERROR if there was not enough room in the output
- buffer.
-*/
-
-ZEXTERN int ZEXPORT compress2 OF((Bytef *dest, uLongf *destLen,
- const Bytef *source, uLong sourceLen,
- int level));
-/*
- Compresses the source buffer into the destination buffer. The level
- parameter has the same meaning as in deflateInit. sourceLen is the byte
- length of the source buffer. Upon entry, destLen is the total size of the
- destination buffer, which must be at least the value returned by
- compressBound(sourceLen). Upon exit, destLen is the actual size of the
- compressed buffer.
-
- compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
- memory, Z_BUF_ERROR if there was not enough room in the output buffer,
- Z_STREAM_ERROR if the level parameter is invalid.
-*/
-
-ZEXTERN uLong ZEXPORT compressBound OF((uLong sourceLen));
-/*
- compressBound() returns an upper bound on the compressed size after
- compress() or compress2() on sourceLen bytes. It would be used before
- a compress() or compress2() call to allocate the destination buffer.
-*/
-
-ZEXTERN int ZEXPORT uncompress OF((Bytef *dest, uLongf *destLen,
- const Bytef *source, uLong sourceLen));
-/*
- Decompresses the source buffer into the destination buffer. sourceLen is
- the byte length of the source buffer. Upon entry, destLen is the total
- size of the destination buffer, which must be large enough to hold the
- entire uncompressed data. (The size of the uncompressed data must have
- been saved previously by the compressor and transmitted to the decompressor
- by some mechanism outside the scope of this compression library.)
- Upon exit, destLen is the actual size of the compressed buffer.
- This function can be used to decompress a whole file at once if the
- input file is mmap'ed.
-
- uncompress returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_BUF_ERROR if there was not enough room in the output
- buffer, or Z_DATA_ERROR if the input data was corrupted or incomplete.
-*/
-
-
-typedef voidp gzFile;
-
-ZEXTERN gzFile ZEXPORT gzopen OF((const char *path, const char *mode));
-/*
- Opens a gzip (.gz) file for reading or writing. The mode parameter
- is as in fopen ("rb" or "wb") but can also include a compression level
- ("wb9") or a strategy: 'f' for filtered data as in "wb6f", 'h' for
- Huffman only compression as in "wb1h", or 'R' for run-length encoding
- as in "wb1R". (See the description of deflateInit2 for more information
- about the strategy parameter.)
-
- gzopen can be used to read a file which is not in gzip format; in this
- case gzread will directly read from the file without decompression.
-
- gzopen returns NULL if the file could not be opened or if there was
- insufficient memory to allocate the (de)compression state; errno
- can be checked to distinguish the two cases (if errno is zero, the
- zlib error is Z_MEM_ERROR). */
-
-ZEXTERN gzFile ZEXPORT gzdopen OF((int fd, const char *mode));
-/*
- gzdopen() associates a gzFile with the file descriptor fd. File
- descriptors are obtained from calls like open, dup, creat, pipe or
- fileno (in the file has been previously opened with fopen).
- The mode parameter is as in gzopen.
- The next call of gzclose on the returned gzFile will also close the
- file descriptor fd, just like fclose(fdopen(fd), mode) closes the file
- descriptor fd. If you want to keep fd open, use gzdopen(dup(fd), mode).
- gzdopen returns NULL if there was insufficient memory to allocate
- the (de)compression state.
-*/
-
-ZEXTERN int ZEXPORT gzsetparams OF((gzFile file, int level, int strategy));
-/*
- Dynamically update the compression level or strategy. See the description
- of deflateInit2 for the meaning of these parameters.
- gzsetparams returns Z_OK if success, or Z_STREAM_ERROR if the file was not
- opened for writing.
-*/
-
-ZEXTERN int ZEXPORT gzread OF((gzFile file, voidp buf, unsigned len));
-/*
- Reads the given number of uncompressed bytes from the compressed file.
- If the input file was not in gzip format, gzread copies the given number
- of bytes into the buffer.
- gzread returns the number of uncompressed bytes actually read (0 for
- end of file, -1 for error). */
-
-ZEXTERN int ZEXPORT gzwrite OF((gzFile file,
- voidpc buf, unsigned len));
-/*
- Writes the given number of uncompressed bytes into the compressed file.
- gzwrite returns the number of uncompressed bytes actually written
- (0 in case of error).
-*/
-
-ZEXTERN int ZEXPORTVA gzprintf OF((gzFile file, const char *format, ...));
-/*
- Converts, formats, and writes the args to the compressed file under
- control of the format string, as in fprintf. gzprintf returns the number of
- uncompressed bytes actually written (0 in case of error). The number of
- uncompressed bytes written is limited to 4095. The caller should assure that
- this limit is not exceeded. If it is exceeded, then gzprintf() will return
- return an error (0) with nothing written. In this case, there may also be a
- buffer overflow with unpredictable consequences, which is possible only if
- zlib was compiled with the insecure functions sprintf() or vsprintf()
- because the secure snprintf() or vsnprintf() functions were not available.
-*/
-
-ZEXTERN int ZEXPORT gzputs OF((gzFile file, const char *s));
-/*
- Writes the given null-terminated string to the compressed file, excluding
- the terminating null character.
- gzputs returns the number of characters written, or -1 in case of error.
-*/
-
-ZEXTERN char * ZEXPORT gzgets OF((gzFile file, char *buf, int len));
-/*
- Reads bytes from the compressed file until len-1 characters are read, or
- a newline character is read and transferred to buf, or an end-of-file
- condition is encountered. The string is then terminated with a null
- character.
- gzgets returns buf, or Z_NULL in case of error.
-*/
-
-ZEXTERN int ZEXPORT gzputc OF((gzFile file, int c));
-/*
- Writes c, converted to an unsigned char, into the compressed file.
- gzputc returns the value that was written, or -1 in case of error.
-*/
-
-ZEXTERN int ZEXPORT gzgetc OF((gzFile file));
-/*
- Reads one byte from the compressed file. gzgetc returns this byte
- or -1 in case of end of file or error.
-*/
-
-ZEXTERN int ZEXPORT gzungetc OF((int c, gzFile file));
-/*
- Push one character back onto the stream to be read again later.
- Only one character of push-back is allowed. gzungetc() returns the
- character pushed, or -1 on failure. gzungetc() will fail if a
- character has been pushed but not read yet, or if c is -1. The pushed
- character will be discarded if the stream is repositioned with gzseek()
- or gzrewind().
-*/
-
-ZEXTERN int ZEXPORT gzflush OF((gzFile file, int flush));
-/*
- Flushes all pending output into the compressed file. The parameter
- flush is as in the deflate() function. The return value is the zlib
- error number (see function gzerror below). gzflush returns Z_OK if
- the flush parameter is Z_FINISH and all output could be flushed.
- gzflush should be called only when strictly necessary because it can
- degrade compression.
-*/
-
-ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile file,
- z_off_t offset, int whence));
-/*
- Sets the starting position for the next gzread or gzwrite on the
- given compressed file. The offset represents a number of bytes in the
- uncompressed data stream. The whence parameter is defined as in lseek(2);
- the value SEEK_END is not supported.
- If the file is opened for reading, this function is emulated but can be
- extremely slow. If the file is opened for writing, only forward seeks are
- supported; gzseek then compresses a sequence of zeroes up to the new
- starting position.
-
- gzseek returns the resulting offset location as measured in bytes from
- the beginning of the uncompressed stream, or -1 in case of error, in
- particular if the file is opened for writing and the new starting position
- would be before the current position.
-*/
-
-ZEXTERN int ZEXPORT gzrewind OF((gzFile file));
-/*
- Rewinds the given file. This function is supported only for reading.
-
- gzrewind(file) is equivalent to (int)gzseek(file, 0L, SEEK_SET)
-*/
-
-ZEXTERN z_off_t ZEXPORT gztell OF((gzFile file));
-/*
- Returns the starting position for the next gzread or gzwrite on the
- given compressed file. This position represents a number of bytes in the
- uncompressed data stream.
-
- gztell(file) is equivalent to gzseek(file, 0L, SEEK_CUR)
-*/
-
-ZEXTERN int ZEXPORT gzeof OF((gzFile file));
-/*
- Returns 1 when EOF has previously been detected reading the given
- input stream, otherwise zero.
-*/
-
-ZEXTERN int ZEXPORT gzdirect OF((gzFile file));
-/*
- Returns 1 if file is being read directly without decompression, otherwise
- zero.
-*/
-
-ZEXTERN int ZEXPORT gzclose OF((gzFile file));
-/*
- Flushes all pending output if necessary, closes the compressed file
- and deallocates all the (de)compression state. The return value is the zlib
- error number (see function gzerror below).
-*/
-
-ZEXTERN const char * ZEXPORT gzerror OF((gzFile file, int *errnum));
-/*
- Returns the error message for the last error which occurred on the
- given compressed file. errnum is set to zlib error number. If an
- error occurred in the file system and not in the compression library,
- errnum is set to Z_ERRNO and the application may consult errno
- to get the exact error code.
-*/
-
-ZEXTERN void ZEXPORT gzclearerr OF((gzFile file));
-/*
- Clears the error and end-of-file flags for file. This is analogous to the
- clearerr() function in stdio. This is useful for continuing to read a gzip
- file that is being written concurrently.
-*/
-
- /* checksum functions */
-
-/*
- These functions are not related to compression but are exported
- anyway because they might be useful in applications using the
- compression library.
-*/
-
-ZEXTERN uLong ZEXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len));
-/*
- Update a running Adler-32 checksum with the bytes buf[0..len-1] and
- return the updated checksum. If buf is NULL, this function returns
- the required initial value for the checksum.
- An Adler-32 checksum is almost as reliable as a CRC32 but can be computed
- much faster. Usage example:
-
- uLong adler = adler32(0L, Z_NULL, 0);
-
- while (read_buffer(buffer, length) != EOF) {
- adler = adler32(adler, buffer, length);
- }
- if (adler != original_adler) error();
-*/
-
-ZEXTERN uLong ZEXPORT adler32_combine OF((uLong adler1, uLong adler2,
- z_off_t len2));
-/*
- Combine two Adler-32 checksums into one. For two sequences of bytes, seq1
- and seq2 with lengths len1 and len2, Adler-32 checksums were calculated for
- each, adler1 and adler2. adler32_combine() returns the Adler-32 checksum of
- seq1 and seq2 concatenated, requiring only adler1, adler2, and len2.
-*/
-
-ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len));
-/*
- Update a running CRC-32 with the bytes buf[0..len-1] and return the
- updated CRC-32. If buf is NULL, this function returns the required initial
- value for the for the crc. Pre- and post-conditioning (one's complement) is
- performed within this function so it shouldn't be done by the application.
- Usage example:
-
- uLong crc = crc32(0L, Z_NULL, 0);
-
- while (read_buffer(buffer, length) != EOF) {
- crc = crc32(crc, buffer, length);
- }
- if (crc != original_crc) error();
-*/
-
-ZEXTERN uLong ZEXPORT crc32_combine OF((uLong crc1, uLong crc2, z_off_t len2));
-
-/*
- Combine two CRC-32 check values into one. For two sequences of bytes,
- seq1 and seq2 with lengths len1 and len2, CRC-32 check values were
- calculated for each, crc1 and crc2. crc32_combine() returns the CRC-32
- check value of seq1 and seq2 concatenated, requiring only crc1, crc2, and
- len2.
-*/
-
-
- /* various hacks, don't look :) */
-
-/* deflateInit and inflateInit are macros to allow checking the zlib version
- * and the compiler's view of z_stream:
- */
-ZEXTERN int ZEXPORT deflateInit_ OF((z_streamp strm, int level,
- const char *version, int stream_size));
-ZEXTERN int ZEXPORT inflateInit_ OF((z_streamp strm,
- const char *version, int stream_size));
-ZEXTERN int ZEXPORT deflateInit2_ OF((z_streamp strm, int level, int method,
- int windowBits, int memLevel,
- int strategy, const char *version,
- int stream_size));
-ZEXTERN int ZEXPORT inflateInit2_ OF((z_streamp strm, int windowBits,
- const char *version, int stream_size));
-ZEXTERN int ZEXPORT inflateBackInit_ OF((z_streamp strm, int windowBits,
- unsigned char FAR *window,
- const char *version,
- int stream_size));
-#define deflateInit(strm, level) \
- deflateInit_((strm), (level), ZLIB_VERSION, sizeof(z_stream))
-#define inflateInit(strm) \
- inflateInit_((strm), ZLIB_VERSION, sizeof(z_stream))
-#define deflateInit2(strm, level, method, windowBits, memLevel, strategy) \
- deflateInit2_((strm),(level),(method),(windowBits),(memLevel),\
- (strategy), ZLIB_VERSION, sizeof(z_stream))
-#define inflateInit2(strm, windowBits) \
- inflateInit2_((strm), (windowBits), ZLIB_VERSION, sizeof(z_stream))
-#define inflateBackInit(strm, windowBits, window) \
- inflateBackInit_((strm), (windowBits), (window), \
- ZLIB_VERSION, sizeof(z_stream))
-
-
-#if !defined(ZUTIL_H) && !defined(NO_DUMMY_DECL)
- struct internal_state {int dummy;}; /* hack for buggy compilers */
-#endif
-
-ZEXTERN const char * ZEXPORT zError OF((int));
-ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp z));
-ZEXTERN const uLongf * ZEXPORT get_crc_table OF((void));
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* ZLIB_H */
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/rsem.git
More information about the debian-med-commit
mailing list